Микропрограмма: различия между версиями

[непроверенная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
MerlIwBot (обсуждение | вклад)
м робот удалил: zh,pl,eu,he,bs,ko,es,hu,it,gl,de,ja,bn,ml,el,vi,simple,sv,ar,nl,pt,is,sk,sr,en,tr,ro,no,th,ca,fi,uk,cs,fa,nds,lt,tl,da (strongly connected to ru:Встроенное программное обеспечение)
Строка 1:
'''Микропрограмма''' может означать:
{{к разделению|2011-07-16|[[Микрокод]] и [[Прошивка]]}}
* [[Встроенное программное обеспечение]] (''прошивка''):
** Компьютерная программа, записанная на интегральной микросхеме ПЗУ и управляющая работой аппаратного обеспечения.
** Программа, записанная на той же микросхеме, что и процессор, и превращающая его в специализированный для управления аппаратным обеспечением ([[микроконтроллер]]).
** Программа конфигурирования различных [[ПЛИС]] ([[FPGA]], [[CPLD]], [[PAL]] и т. п.).
* [[Микрокод]]:
** Программа по тактам управляющая ресурсами вычислительного устройства ([[ALU]], сдвигатели, мультиплексоры и др.). Обычно в командном слове выделяются отдельные биты для управления необходимым устройством.
 
{{неоднозначность}}
'''Микропрограмма''' ({{lang-en|firmware}}) — [[системное программное обеспечение|системное]] [[программное обеспечение]], встроенное («зашитое») в [[аппаратное обеспечение|аппаратное устройство]], и хранящееся в его [[энергонезависимая память|энергонезависимой памяти]].
 
== Определения ==
 
Под микропрограммой понимается следующее:
 
* Компьютерная программа, записанная на интегральной микросхеме ПЗУ и управляющая работой аппаратного обеспечения.
* Программа, записанная на той же микросхеме, что и процессор, и превращающая его в специализированный для управления аппаратным обеспечением ([[микроконтроллер]]).
* Программа по тактам управляющая ресурсами вычислительного устройства ([[ALU]], сдвигатели, мультиплексоры и др.). Обычно в командном слове выделяются отдельные биты для управления необходимым устройством.
* Программа конфигурирования различных [[ПЛИС]] ([[FPGA]], [[CPLD]], [[PAL]] и т. п.).
 
Зачастую различные по возможностям и цене приборы отличаются лишь версиями микропрограммы. Для обозначения версии микропрограммы используется номер партии аппаратного обеспечения или другие специализированные идентификаторы. Часто смена «прошивки» производится
изготовителем без уведомления потребителя.
 
== Применение ==
 
Микропрограммы («прошивки») применяются везде, где применяются микропроцессоры: в мобильных телефонах, фотоаппаратах, измерительных приборах, телевизорах, платёжных картах и т. п.
 
== Примеры реализации ==
 
Широко известным примером является [[BIOS]], поставляемая вместе с материнской платой компьютера и обеспечивающая начальную подготовку компьютера к запуску операционной системы.
 
«Прошивки» могут создаваться «с нуля» для данного конкретного типа устройства, либо иметь в основе готовую операционную систему, как правило, с открытым исходным кодом.
 
Так, для небольших устройств иногда используется [[FreeRTOS]]. В последнее время, в связи с удешевлением памяти, достаточно часто применяется [[GNU/Linux]].
 
Для написания исходных текстов программ используются [[язык ассемблера|ассемблеры]], язык [[Си (язык программирования)|Си]], языки типа [[Verilog]] для микросхем с программируемой логикой (ПЛИС).
 
== Юридические и финансовые вопросы ==
 
Несмотря на то что применение микропрограмм в целом удешевляет конструирование и изготовление устройства, разработка «прошивки» обычно занимает большее время и стоит дороже, чем разработка аппаратного обеспечения прибора {{нет АИ|19|10|2010}}.
 
В связи с этим фирмы-производители, как правило, очень ревностно следят за сохранностью «прошивок»:
 
* лицензионное соглашение с потребителем запрещает извлекать и [[Реинжиниринг программного обеспечения|изучать «прошивки» тем или иным способом]]:
** самовольная замена «прошивки» на другую («перепрошивка») обычно прекращает действие гарантийных обязательств фирмы;
** процедуры обслуживания и изменения режимов работы микропрограмм обычно не разглашаются и в лучшем случае известны только работникам фирменных сервисных центров;
* иногда устройства проектируют [[тивоизация|таким образом, что оно не запускается в случае самовольной перепрошивки]];
* некоторые фирмы ([[Microchip]], [[Atmel]] и др.) производят микропроцессоры со встроенной программируемой памятью, такой, что записанная на них программа уже не может быть считана штатными средствами. С другой стороны, фирмы-конкуренты иногда используют для считывания, например, [[Электронный микроскоп|электронные микроскопы]].
 
Впрочем, [[GNU GPL v3]] прямо запрещает делать ограничения на изучение прошивки, а также прямо не [[тивоизация|препятствовать запуску модифицированной прошивки]] в пользовательских устройствах.
 
<blockquote>Некоторые устройства спроектированы так, чтобы [[тивоизация|запретить пользователю установку или запуск изменённых версии ПО, хотя производитель может это делать]]. Это абсолютно несовместимо с нашей целью - защитой пользовательских прав изменять ПО. Подобные злоупотребления систематически происходят в сфере продуктов индивидуального использования, в которой это особенно неприемлемо. Именно поэтому мы разработали данную версию GPL чтобы запретить подобную практику на этом рынке. Если подобные проблемы возникнут в других областях, мы, ради защиты свободы пользователей, готовы расширить действие лицензии на эти новые области в будущих версиях GPL.
<br>
<..>
<br>
"Пользовательский Продукт" это либо (1) "потребительский товар", подразумевающий любые формы материального личного имущества, которые используются для личных, семейных или домовладельческих целей, либо (2) что-либо спроектированное или продающееся для установки дома. При определении является ли продукт потребительским товаром, случаи, вызывающие сомнения, будут решены в пользу лицензирования. Для конкретного продукта, полученного конкретным пользователем, "обычное использование" подразумевает типичное или распространённое использование такого типа продуктов, безотносительно статуса конкретного пользователя или того, как конкретный пользователь использует, или рассчитывает, или будет использовать продукт. Продукт является потребительским товаром безотносительно того, имеет ли он существенные коммерческие, промышленные или непотребительские применения до тех пор, пока такие применения не являются единственными существенными применениями продукта.
 
"Установочная Информация" Пользовательского Продукта подразумевает методы, процедуры, ключи доступа и другую информацию, необходимую для установки и запуска модифицированных версий лицензированного произведения в Пользовательском Продукте из модифицированной версий Соответствующего Исходного Кода. Информация должна быть достаточна для гарантирования того, что стандартный функционал изменённого объектного кода ни в каком случае не ограничивается или искажается из-за произведённых изменений.
 
Если Вы передаёте объектный код согласно данной главе б, или в, или исключительно для использования в Пользовательском Продукте, и передача происходит как часть сделки, в которой права владения и использования Пользовательского Продукта переходят получателю пожизненно либо на определённый срок (безотносительно того, как характеризована сделка), Соответствующий Исходный Код, передаваемый согласно данной главе должен быть сопровождён Установочной Информацией. Данное требование не действует если ни Вы, ни третьи лица не имеете возможности установить модифицированный объектный код на Пользовательский Продукт (например, произведение установлено в ROM)<ref>[http://code.google.com/p/gpl3rus/wiki/LatestRelease Неофициальный Перевод GNU GPLv3]</ref>.</blockquote>
 
== См. также ==
 
* [[Программатор]]
* [[Тивоизация]]
* [[Образ ПЗУ]]
 
== Ссылки ==
* [http://slovari.yandex.ru/%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0/%D0%91%D0%A1%D0%AD/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0/ Большая Советская Энциклопедия. Микропрограмма]
== Примечания ==
<references/>
[[Категория:Микропрограммы| ]]
 
[[fr:Micrologiciel]]
[[id:Perangkat lunak menetap]]
[[si:ස්ථිරාංග (Firm Ware)]]