Почему микросхема ПЗУ BIOS не выполнена с использованием технологии CMOS?


9

После прочтения компьютерного курса по BIOS / CMOS я все еще не могу определить причину, по которой микросхема ПЗУ BIOS не построена с использованием технологии CMOS, и почему она подключена к отдельной микросхеме под названием «CMOS» для хранения информация о конфигурации

Это из конспекта лекции :

Программы хранятся в системной микросхеме BIOS, а изменяемые данные хранятся в микросхеме CMOS.

CMOS Group of Hardware : оборудование, которое является общим, необходимым, но может измениться - ОЗУ, жесткие диски, дисководы гибких дисков, последовательные и параллельные порты

Я знаю, что BIOS хранится во флэш-памяти и что технология CMOS MOSFET рассеивает меньше энергии по сравнению с другими реализациями.

Почему только ПЗУ BIOS не использует CMOS, как и другие устройства хранения данных, в чем именно преимущество? И почему информация о конфигурации BIOS не может быть сохранена в собственном чипе ПЗУ вместо «чипа CMOS»?


1
Разве CMOS не требует батареи для сохранения данных? Одно дело потерять конфигурацию и настройки часов, когда батарея разрядится, но это будет катастрофой, если BIOS потерян. Вы можете отредактировать ваше последнее предложение. Я не могу понять, что вы спрашиваете.
Транзистор

1
Биос - это ROM, а настройки - RAM
Тони Стюарт Sunnyskyguy EE75

1
@ Kais ни одна часть ROM не доступна для записи. Это противоречит самому значению этого термина. В перерывах между технологиями - Eraseble программируемого ПЗУ начало делать то , что вы предлагаете это возможно, и теперь, когда в цепи программирование просто, это на самом деле это часто делается. Но в то же время стало возможным поддерживать угол низкого энергопотребления микросхемы на аккумуляторе в качестве часов и сохранять некоторые настройки, что также является опцией, используемой в некоторых системах.
Крис Страттон

2
«ПЗУ» означает « Только чтение памяти». Это по определению не для записи. Обычно фактическое ПЗУ включает в себя настройку слоев металлизации или даже фактических составляющих транзисторов. В отличие от этого, существует много видов памяти «Read Mostly» (PROM, EPROM, EEPROM, Flash и т. Д.), Содержимое которых может быть изменено, но с большим количеством ограничений по скорости и числу раз, чем ОЗУ. Как правило, сегодня вы можете найти только истинное ПЗУ внутри процессора (и даже тогда это может быть просто что-то, что вы заблокировали от записи), в то время как внешнее устройство будет доступно для записи с правильными подключениями.
Крис Страттон,

1
Например, в современной системе у вас может быть небольшой ПЗУ внутри процессора, который знает, как прочитать содержимое флэш-памяти последовательного NOR в память и начать их выполнение. BIOS во флэш-памяти NOR затем подвергается обновлению, в то время как небольшая загрузочная заглушка, которая копирует ее из флэш-памяти в оперативную память и вставляет в нее, постоянно фиксируется во время изготовления чипа.
Крис Страттон

Ответы:


33

Вы путаете технологию реализации с разговорными терминами для функциональности.

CMOS - дополнительный металлооксидный полупроводник - это метод создания логики и связанных схем с использованием полевых транзисторов с N-канальным и P-канальным эффектом. Одной из его определяющих характеристик является чрезвычайно низкое статическое энергопотребление - мощность практически используется только при изменении состояния. В результате чип статической памяти CMOS может годами хранить свое содержимое на батарее и является удобным местом для хранения полупостоянной информации.

BIOS и соответствующий код запуска традиционно хранятся в устройствах PROM или EPROM. EPROM в эпоху IBM PC, как правило, делались в технологиях, предшествующих CMOS, таких как NMOS, но критическое различие заключается в том, что они обычно не были доступны для записи при установке в компьютер, а только в специальном программаторе. Кроме того, в то время как многие современные системы и клоны использовали EPROM, в реальных производственных версиях IBM-PC использовались более дешевые непрограммируемые PROM (распиновки обычно были совместимы при использовании).

Затем в конструкцию PC-AT была добавлена ​​CMOS-память с батарейным питанием для хранения настраиваемых настроек, а также (возможно, в одном устройстве) постоянные часы реального времени. В разговорной речи конечные пользователи стали называть их CMOS, хотя, разумеется, это было лишь частное использование, которое стало возможным благодаря быстро распространяющейся технологии микросхем.

Сегодня, конечно, мы больше не используем параллельные E / PROM для BIOS, а вместо этого используем последовательную флэш-память NOR и переносим содержимое в более быстрое ОЗУ для выполнения. Современные чипы FLASH являются на самом деле сделаны из CMOS-производных технологий. И они, как правило, могут быть перепрограммированы в цепи. Это действительно зависит от разработчика системы, если он хочет поместить полупостоянную информацию о конфигурации в ОЗУ с резервным питанием от батареи или в перепрограммируемую флэш-память - конечный пользователь или операционная система после загрузки могут иметь небольшую фактическую видимость.

Но даже если для настроек используется вспышка, все равно обычно будут часы реального времени с низким энергопотреблением, которые будут работать от батареи.


1
Когда ЦП запускается впервые, ОЗУ даже не инициализируется (инициализация DRAM сложна). Все, что он делает - это выполняет код в определенном месте (обычно это микросхема BIOS над SPI, но предположительно вы можете запрограммировать последующие загрузки, чтобы искать BIOS поверх устаревших PCI или LPC по причинам отладки). Единственное, что помещается в ОЗУ, это такие вещи, как IVT (Таблица векторов прерываний) и связанный с ними код, который полезен только перед выходом из реального режима. Фактическое выполнение BIOS при загрузке процессора не происходит в памяти. Смотрите wiki.osdev.org/System_Initialization_(x86) для более подробной информации.
лес

1
@forest - вряд ли это будет правдой и на самом деле не поддерживается довольно широким описанием по вашей ссылке. Это может закончиться выполнением из некоторого перепрофилированного кэша или чего-то подобного, но выполнение непосредственно из SPI просто не очень хорошо работает, и его, скорее всего, избежать. Тогда совершенно очевидно, что как только ОЗУ основной системы будет запущено, биос будет выполнять из этого - такое дублирование было распространено даже во времена параллельной биографии EPROM.
Крис Страттон

1
Да, после инициализации основной памяти туда копируются IVT, BDA, EBDA и т. Д. Однако до этого он выполняется напрямую. Он не выполняется в кеше (это будет режим CAR, Cache-As-RAM, который требует явной инициализации BIOS).
лес

1
Пожалуйста, смотрите stackoverflow.com/questions/5300527/…, который объясняет это более подробно. В частности, как загрузочный блок BIOS выполняется непосредственно через SPI. Это возможно путем сопоставления этой области BIOS с памятью (конечно, до того, как память будет фактически инициализирована, так что это похоже на MMIO). Так что это не просто так, это правда.
лес

Крис Страттон, «а лучше использовать последовательную NOR-флэш-память и передавать содержимое в более быстрое ОЗУ для выполнения». И как именно вы предполагаете эту «передачу содержимого», отличную от выполнения какого-либо начального кода «перемещения данных» непосредственно из SPI?
Ale..chenski

12

Когда компьютер был впервые изобретен, большая часть его логики заключалась в энергосберегающих чипах NMOS и TTL. CMOS была очень новой, и единственные схемы в ПК, которые ее использовали, были связаны с вещами, которые должны были работать от батареи при отключенном питании, такими как конфигурация ОЗУ и часы реального времени.

В настоящее время почти вся логика - это CMOS, включая энергосберегающий процессор и флэш-память EEPROM, которая содержит BIOS. Таким образом, в некотором смысле ваш вопрос основан на неверной предпосылке - флэш-память EEPROM - это CMOS. Однако по какой-либо причине термин «CMOS» в ПК все еще относится только к функциям RAM и RTC.

Если вы спрашиваете, почему BIOS не хранится в энергозависимой ОЗУ, а не в энергонезависимой флеш-памяти, то это потому, что аккумуляторы выходят из строя, а стирание BIOS эффективно «кирпичит» компьютер, требуя специального оборудования для его восстановления.


1
«Так что, в некотором смысле, ваш вопрос основан на неверной предпосылке - флэш-память EEPROM - это CMOS» - фраза «Программы хранятся на системной микросхеме BIOS, а изменяемые данные хранятся на CMOS» - теперь меня немного смутило Я понял.
Кайс

«Если вы спрашиваете, почему BIOS не хранится в энергозависимой ОЗУ, а не в энергонезависимой флэш-памяти, то это потому, что аккумуляторы выходят из строя». Нет, я имею в виду обратное - почему информация о чипе CMOS не сохраняется во флэш-памяти BIOS.
Кайс

3
@ Kais, потому что флэш-память не может быть произвольно перезаписана, а управление перезаписью целых страниц флэш-памяти усложняет ситуацию, подверженную ошибкам. Кроме того, существуют такие вещи, как журналы событий, сохраняемые некоторыми BIOSen, это связано с риском изнашивания вашей флэш-памяти и / или получения поврежденных данных в случае сбоя питания в неправильный момент. Истинная память EEPROM была бы возможна - но а) это МЕДЛЕННО писать, и б) у вас все равно есть батарея с низким энергопотреблением для часов .
сторожевик

1
... также потому, что вся система была разработана до того, как флеш-память стала общедоступной, поэтому BIOS был сохранен в любом PROM (который использует плавкие предохранители, чтобы определить, равен ли каждый бит 1 или 0, и может быть изменен только с 1 на 0, но не обратно) или ПЗУ с маской (которое использует слой металлических проводов, наложенных поверх чипа для его программирования, и не может быть изменено вообще после изготовления), поэтому было необходимо отдельное устройство, и с тех пор все необходимое для сохранения обратной совместимости ,
Жюль

8

Я думаю, что вы путаете два употребления аббревиатуры "CMOS". Существуют микросхемы, построенные полностью на основе технологии дополнительных МОП-транзисторов. Фактически почти все чипы в наши дни построены таким образом, включая большую часть схем цифрового управления на чипе Flash.

Другое использование CMOS сохраняется в индустрии ПК с самых первых дней, когда речь идет о микросхеме, в которой хранятся некоторые настройки, и часах реального времени с подключенной батареей. В те времена (в начале 80-х) основная масса больших чипов в ПК была основана на технологии NMOS, а разные логические чипы представляли собой биполярную транзисторную логику (TTL, LSTTL и т. Д.). Единственный использованный чип CMOS был чипом RTC и стал известен как «CMOS».

В наши дни RTC больше не является отдельным чипом на устройстве с архитектурой ПК. Вместо этого он встроен прямо в чипсет материнской платы (который, кстати, производится с дополнительными схемами MOS). Редко когда-либо BIOS использует современное ОЗУ с батарейным питанием в RTC-части чипсета для хранения настроек. Вместо этого BIOS использует несколько страниц флэш-накопителя SPI для сохранения своих настроек энергонезависимым способом. Таким образом, существуют минимальные настройки, которые теряются в ПК, когда батарея разряжается или отключается. Минимальные настройки, которые теряются при отключении питания от батареи, являются определенными, которые контролируют поведение при включении питания и сбросе чипсета и фактически даже не хранятся в ячейках ОЗУ с питанием от батареи, а вместо этого в специальных защелках с низким энергопотреблением, которые питаются от монеты батарея


2

См. Также /superuser/989499/what-does-a-cmos-chip-look-like : это дает нам удобную ссылку на исходную таблицу данных MC146818 .

Этот чип был отображен в память и предоставил 64-байтовые местоположения. 14 из них были для часов, оставляя остальное как ОЗУ общего назначения. Весь чип питался от батареи, когда ПК был выключен, чтобы часы тикали в реальном времени.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.