Чому ROM-чіп BIOS не виготовлений за технологією CMOS?


9

Прочитавши курс комп'ютерного обладнання на BIOS / CMOS, я все ще не можу визначити причину, чому чіп ROM ROM не побудований за допомогою технології CMOS, і чому він підключений до окремої мікросхеми під назвою "CMOS" для зберігання інформація про конфігурацію.

Це з конспекту лекції :

Програми зберігаються на системному чіпі BIOS, тоді як змінні дані зберігаються на чіпі CMOS

Група обладнання CMOS : Устаткування, яке є загальним, необхідним, але може змінюватися - ОЗУ, жорсткі диски, дискети, послідовний і паралельний порти

Я знаю, що BIOS зберігається у флеш-пам'яті, і що технологія CMOS MOSFET розсіює менше енергії в порівнянні з іншими реалізаціями.

Чому лише BIOS ROM не використовує CMOS, як і інші пристрої зберігання даних - у чому саме перевага? І чому інформація про конфігурацію BIOS не може зберігатися у власному чіпі ROM, а не в "чіпі CMOS"?


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

1
Bios - це ROM, а налаштування - оперативна пам’ять
Tony Stewart Sunnyskyguy EE75

1
@Kais жодна частина ROM не може бути записана. Це суперечить самому значенню цього терміна. У перервах між технологіями - Eraseble програмованого ПЗУ початок робити те , що ви пропонуєте це можливо, і тепер, коли в ланцюзі програмування просто, це насправді це часто робиться. Але в той же час, підтримка кута низької потужності живого мікросхеми на акумуляторі, щоб бути годинником, і зберегти деякі налаштування, також стало можливим, так що це також варіант, який використовується в деяких системах.
Кріс Страттон

2
"ПЗУ" означає " Пам'ять лише для читання". Це за визначенням не можна записати. Зазвичай власне ПЗУ включає налаштування шарів металізації або навіть фактичних складових транзисторів. На противагу цьому існує багато видів пам’яті «Перечитати в основному» (PROM, EPROM, EEPROM, Flash тощо), які можуть змінювати їх вміст, але з більшою кількістю обмежень на швидкість та кількість разів, ніж оперативна пам’ять. Як правило, сьогодні ви знаходите лише справжній ПЗУ всередині процесора (і навіть тоді це може бути щось, про що ви не заблоковані), тоді як зовнішній пристрій буде записуватися за допомогою правильних з'єднань.
Кріс Страттон

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

Відповіді:


33

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

CMOS - Комплементарний напівпровідник металевих оксидів - це метод створення логічної та пов'язаної схеми з використанням як транзисторів N-Channel, так і P-Channel з польовим ефектом. Однією з його визначальних характеристик є надзвичайно низьке статичне споживання електроенергії - потужність майже використовується лише при зміні стану. Як результат, мікросхем статичної пам'яті 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 init є складним). Все, що він робить, - це виконувати код у визначеному місці (зазвичай це мікросхема BIOS через SPI, але нібито ви можете запрограмувати наступні завантаження для пошуку BIOS над застарілими PCI або LPC з причин налагодження). Єдине, що вводиться в оперативну пам’ять - це такі речі, як IVT (Interrupt Vector Table) та пов'язаний з цим код, який корисний лише до виходу з реального режиму. Фактичне виконання 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?
Але..ченський

12

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

В даний час майже вся логіка - це CMOS, включаючи процесор, що працює на потужність, і флеш-EEPROM, що містить BIOS. Тож у певному сенсі ваше питання ґрунтується на недійсному приміщенні - спалах EEPROM - це CMOS. Однак з будь-якої причини термін "CMOS" в ПК все ще відноситься лише до оперативної пам'яті та RTC-функцій.

Якщо ви запитуєте, чому BIOS зберігається не в енергонезалежній оперативній пам’яті, а не в енергонезалежній спалаху, це тому, що батареї виходять з ладу, а стирання BIOS ефективно «замурує» комп'ютер, і для його повторного використання потрібне спеціалізоване обладнання.


1
"Отже, у певному сенсі ваше питання ґрунтується на недійсній передумові - спалах EEPROM - це CMOS". Фраза "Програми зберігаються на системному мікросхемі BIOS, тоді як змінні дані зберігаються на CMOS" мене трохи збентежили, зараз Я зрозумів.
Кайс

"Якщо ви запитуєте, чому BIOS не зберігається в енергонезалежній оперативній пам'яті, а не енергонезалежній спалаху, це тому, що батареї виходять з ладу" Ні, я маю на увазі навпаки - чому інформація про мікросхему CMOS не зберігається у спалах BIOS.
Каїс

3
@Kais тому, що флеш-пам'ять не може бути довільно перезаписана, а керування перезаписом цілих сторінок флеш-пам’яті ускладнює речі, схильні до помилок. Крім того, є такі речі, як журнали подій, які зберігаються деяким BIOSen, це пов'язано з небезпекою зношування спалаху та / або закінчення пошкоджених даних, якщо живлення вийде з ладу в неправильний момент. Справжня пам’ять EEPROM була б можливою - але а) писати НЕБЕЗПЕЧНО; б) у вас все одно є акумулятор низької потужності для годинника .
rackandboneman

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

8

Я думаю, що ви плутаєте два використання абревіатури "CMOS". Є мікросхеми, побудовані повністю з допоміжної транзисторної технології MOS. Насправді майже всі мікросхеми в цей час побудовані таким чином, включаючи більшу частину цифрових схем управління на мікросхемі Flash.

Інше використання CMOS зберігається в індустрії ПК з найдавніших днів для позначення мікросхеми, яка зберігала деякі налаштування, та годинника в реальному часі з приєднаною батареєю. Ще в ті часи (на початку 80-х) основна частина великих мікросхем в ПК була технологією NMOS, а різні логічні мікросхеми були біполярною транзисторною логікою (TTL, LSTTL тощо). Єдиним використовуваним чіпом CMOS був мікросхем RTC, який став відомим як "CMOS".

У ці дні RTC вже не є окремим чіпом на пристрої архітектури ПК. Натомість він вбудований прямо в чіпсет материнської плати (яка, до речі, виробляється з додатковою схемою MOS). Рідко коли-небудь BIOS в цей час використовує застарілу операційну пам’ять, підтримувану батареєю, в частині RTC чіпсету для зберігання налаштувань. Натомість BIOS використовує кілька сторінок накопичувача SPI Flash для збереження його параметрів енергонезалежним способом. Тому такі мінімальні налаштування втрачаються на ПК, коли акумулятор розряджається або відключається. Мінімальні налаштування, які втрачаються при вилученні живлення від акумулятора, є певними, які контролюють активацію та відновлення поведінки чіпсету, а насправді навіть не зберігаються в осередках оперативної пам'яті, що працюють від акумулятора, а натомість у спеціальних засувках фліпфлопу низької потужності, які живляться від монети стільниковий акумулятор.


2

Дивіться також /superuser/989499/what-does-a-cmos-chip-look-like : це дає нам зручне посилання на оригінальний лист даних MC146818 .

Цей чіп був відображений у пам'яті та надав 64 байтові місця. 14 з них були для годинника, а решта залишала пам'ять загального призначення. Під час вимкнення ПК весь чіп працював від акумулятора, щоб годинник в режимі реального часу тикав.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.