Як відображається повідомлення "Непідтримуваний процесор"?


55

У мене є підтримуваний процесор вставляється в моїй машині , і я отримую цю помилку під час завантаження комп'ютера: Unsupported CPU installed. Моє питання не в тому, як це виправити, а скоріше:

Як відображається це повідомлення про помилку, якщо ЦП не використовується? Чи може BIOS працювати без процесора?


13
Очевидно, що процесор достатньо хороший для запуску звичайної перевірки процесора та відображення тексту на екрані, але недостатньо гарний для завантаження фактичної ОС на вашому обладнанні.
Дмитро Григор’єв

22
@DmitryGrigoryev "Очевидно, що процесор [...] недостатньо хороший для завантаження фактичної ОС на вашому обладнанні." Не обов’язково настільки очевидно. Що робити, якщо я хочу завантажити, скажімо, FreeDOS? Що таке BIOS, щоб сказати, що я завантажую на ПК? Є причина, чому будь-який завантажувач MBR, навіть сьогодні, спочатку виконується в реальному режимі.
CVn

7
@ MichaelKjörling Я вважаю, що виробник BIOS вирішив, що підтримка TPM та переконання, що користувачі Windows щасливі, важливіше, ніж дозволяти завантажувати FreeDOS.
Дмитро Григор’єв

3
@ MichaelKjörling: BIOS може містити патчі мікрокоду, які не застосовуються. Наразі немає можливості передбачити зручність роботи процесора.
MSalters

2
Який процесор встановлений і на якій материнській платі? Наприклад, ви якось встановили процесор Coffee Lake на платі Z270 або Z170? (Ця комбінація не буде працювати, оскільки Coffee Lake та її чіпсет Z370 внесли несумісні зміни в розетку розетки, незважаючи на використання того ж фізичного розетки LGA1151.)
bwDraco

Відповіді:


50

Ні, BIOS не може працювати без процесора.

Перше, що робить ваш комп'ютер, коли ви його вмикаєте, - це перевірити, чи добре є з'єднання між процесором та оперативною пам’яттю. Це проста електрична перевірка того, що всі вихідні лінії шини підключені до правильних входів. Якщо ця проста перевірка не проходить, ви отримуєте звуковий сигнал (або, можливо, світлодіодний дисплей на деяких материнських платах). Ця перевірка не вимагає процесора, проте без присутності процесора ви можете навіть не отримати звукових кодів, оскільки навіть це вимагає певної міри обробки (залежить від материнської плати).

Однак, після перевірки цих речей, процесор починає виконання програми, що міститься в BIOS ROM, яка виконує додаткові перевірки вищого рівня (наприклад, чи працюють таймінги пам'яті, чи правильно завантажувати додаткову прошивку для бортових пристроїв тощо). Ця програма ПЗУ написано на мові асемблера x86 і зовсім вимагає процесора для його виконання.

У вашому випадку трапляється те, що процесор електрично сумісний з материнською платою і працює, але не вистачає деякої підтримки на низькому рівні, від якої залежить материнська плата. Можливо, ви використовували процесор, який має більш високий TDP (генерує більше тепла), ніж може працювати материнська плата, має більше ядер, ніж BIOS знає, як ініціалізувати, або, можливо, не підтримує стан енергії, який намагається встановити BIOS. Ви не згадали, який комбо CPU / материнської плати ви використовуєте.

У будь-якому випадку, процесор надає достатню підтримку BIOS, щоб він міг виконувати програми, що зберігаються в його ROM (включаючи переміщення байтів у відеопам'ять і поза нею). Він просто не може пройти далі від цього.

Ймовірно, це просто перевірка сімейства та відстеження ідентифікаторів процесора щодо внутрішнього списку підтримуваних типів процесора. У багатьох випадках це може бути виправлено за допомогою оновлення BIOS. Але вам потрібно спочатку вставити підтримуваний процесор, щоб його спалахнути.


21
Я думаю, що важливі частини цієї відповіді неправильні. BIOS не може працювати без процесора , як це найперша програма ЦПУ виконує . Він не може нічого зробити самостійно. ( Без процесора не виникає код звукового сигналу , BTW; він може робити звукові коди без оперативної пам’яті завдяки уважному інтитуванню лише з регістрами). Це повідомлення, ймовірно, тому, що воно очікує від центрального процесора функцій, які він не надає, але через те, що достатньо ініціалізації x86, можна зробити друк зазначеного повідомлення.
DarkDust

21
Виробник материнської плати міг створити просту аналогову систему, яка подаватиме звуковий сигнал через 5 секунд після запуску, якщо тільки BIOS не буде вимкнено . Таким чином, технічно це не буде функцією BIOS, а більше - відсутністю функції BIOS.
MSalters

5
Навіть після редагування це невірно: Це проста електрична перевірка того, що всі виходи лінії шини підключені до правильних входів. Якщо ця проста перевірка не проходить, ви отримуєте звуковий сигнал (або, можливо, світлодіодний дисплей на деяких материнських платах). Ця перевірка не вимагає процесора ... Крім того, це не BIOS, який починає виконання програми в ПЗУ, це робить ЦП, і ця програма є BIOS. Вибачте за виправлення, але з вашої відповіді звучить, що BIOS - це деяке обладнання, яке частково не залежить від центрального процесора, адже насправді BIOS є "просто" програмою в ROM (або flash).
DarkDust

5
@TobySpeight: Не магія. Просто черговий процесор. Це EC, вбудований контролер, як і у всіх ноутбуків. У ноутбуці він управляє зарядом акумулятора та індикаторами стану. На робочому столі він може керувати оновленнями BIOS. Також іноді вони керують налаштуваннями живлення плати та такими речами, як USB-порти зарядки.
Зан Лінкс

4
@WesSayeed: Ви впевнені, що це так? Тому що AFAIK не існує такого поняття, як "перевірка шини", оскільки перевірка чистого електричного проводу вимагає дуже дорогих модифікацій мікросхем DRAM та надасть невелику додаткову цінність. Як тільки процесор набере потужність, він починає зчитувати та виконувати інструкції з BIOS ROM, який буде читати SPD та налаштування DIMM з оперативної пам'яті CMOS та намагатися ініціалізувати контролер DRAM. Тоді він швидко перевірить DRAM (POST) з подальшою ініціалізацією всіх інших відповідних периферійних пристроїв. Дивіться це відео: youtube.com/watch?v=xc08SN6Dhz4
mic_e

11

Це, мабуть, тому, що непідтримувана функція перебуває у захищеному режимі, але під час відображення цього повідомлення вона ще не вводила його та перебуває у режимі 8086. Отже, він не працює БЕЗ процесора, BIOS - це просто програма, він не може працювати без процесора. Просто він виявив, що не міг пройти певний момент страти, і зупинився, перш ніж досягти цього місця.

Я поясню: у перших ПК на DOS не було всіх тих складних режимів виконання, необхідних для правильної багатозадачності та багатокористувацького використання. Коли Intel представила його у своїх процесорах, вони хотіли зберегти сумісність зі старими процесорами. Ось чому вони запровадили ці режими: вони спочатку запускають процесор 8086, роблять деякі тести та ініціалізацію, а вже потім переходять у захищений режим.


3
Можливо, це не проблема з розширеннями набору інструкцій, які є проблемою. Це скоріше щось на зразок процесора, який занадто новий для BIOS (наприклад, IvyBridge в мобі Sandybridge без оновленої BIOS), тому він не знає, як правильно програмувати свої налаштування управління. (наприклад, конфігурація керування живленням процесора реєструє, які встановлюють його порогові значення для Turbo, тимчасових даних DRAM-контролера пам’яті чи будь-чого іншого. Не знає про. Також графічне обладнання відрізняється в нових процесорах
Пітер Кордес

8

"Непідтримуваний процесор" не говорить про те, що ЦП не працює. Це, ймовірно, означає, що вбудована програма на материнській платі (будь то BIOS чи UEFI) виконала якийсь код на процесорі, який визначив, що ЦП несумісний з деякими особливостями, на які покладається материнська плата під час звичайної роботи. Або просто, що материнська плата не перевірена цим процесором, і виробник не хоче ризикувати.

Але нічого з цього не означає, що процесор не може виконувати інструкції під час завантаження. Наприклад, усі сучасні процесори x86 мають інструкцію CPUID, яка може бути використана для визначення можливих функцій процесора. Код завантаження може виконати цю інструкцію і відобразити повідомлення про помилку, якщо потрібні функції були недоступні.


... і коли Artelius пише "сучасні процесори x86", якщо ми можемо довіряти вступному параграфі Вікіпедії з цього приводу, це стосується чогось більш пізнього, ніж процесори Pentium 1993 або 80486SL, що звучить правильно. Зауважте, що очевидно (я не перевіряв документацію Intel для перевірки) CPUID покладається на реєстр EAX, який був представлений з 80386 ще в 1985 році ...
CVn

-10

У BIOS є контрольний список (POST), який проходить через ініціалізацію всіх частин комп'ютера. Коли вони не здають чеки, то ви отримуєте помилку, таку як ваша. Частина набору інструкцій POST полягає в призначенні переривання компоненту. Якщо всі компоненти правильно мають переривання, ОС завантажується, а переривання передаються в ОС, щоб ОС могла взаємодіяти з компонентами. Це спрощена версія того, що відбувається заради стислості. Ось більш детальний список того, що відбувається: деталі завантаження

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


4
Це неправильно. BIOS не може зробити щось настільки складне, як відображення інформації на екрані без певних можливостей рудиментарної обробки з центрального процесора.
Уес Сайед

6
Ви, здається, відчуваєте, що для управління апаратними засобами використовуються переривання. Вони не є. Крім того, переривання дуже багато робляться через процесор, тому, якщо процесор не зможе виконати код, він не може виконати переривання (що трохи більше, ніж трохи прославлена ​​інструкція про непрямий стрибок), і це, звичайно , не зможе. встановити будь-який з векторів переривання. Навряд чи BIOS зможе налаштувати оновлення пам’яті, навіть тому пам'ять, де зберігаються вектори переривання (у x86, найнижчий 1 KiB адресного простору) навряд чи буде навіть корисною.
CVn

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