Почему микросхема ПЗУ 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.