我的计算机中插入了不受支持的CPU,并且PC引导时出现此错误:Unsupported CPU installed
。我的问题不是如何解决它,而是:
如果不使用CPU,如何显示此错误消息?BIOS是否可以在没有CPU的情况下工作?
我的计算机中插入了不受支持的CPU,并且PC引导时出现此错误:Unsupported CPU installed
。我的问题不是如何解决它,而是:
如果不使用CPU,如何显示此错误消息?BIOS是否可以在没有CPU的情况下工作?
Answers:
不可以,没有CPU,BIOS无法运行。
打开计算机电源时,计算机要做的第一件事就是检查CPU和RAM之间的连接是否良好。这是一项简单的电气检查,检查所有总线输出是否连接到正确的输入。如果此简单检查未通过,您将收到蜂鸣声代码(或某些主板上的LED显示屏)。此检查不需要CPU,但是如果没有CPU,则您甚至可能不会收到蜂鸣声代码,因为这甚至需要一定程度的处理(取决于主板)。
但是,一旦检查完这些内容,CPU便开始执行BIOS ROM中包含的程序,该程序将执行一些其他的更高级别的检查(例如,内存计时是否正常工作,板载设备的其他固件是否可以正确加载等)。此ROM程序是用x86汇编语言编写的,并且确实需要CPU执行。
您遇到的情况是CPU与主板电气兼容并且可以正常工作,但是缺少主板所依赖的一些底层功能支持。也许您使用的CPU具有更高的TDP(产生的热量)超过主板所能处理的CPU,具有比BIOS知道如何初始化的内核更多的内核,或者可能不支持BIOS试图设置的某些电源状态。您没有提及正在使用的CPU /主板组合。
但是,无论在哪种情况下,CPU都会为BIOS提供足够的支持,使其可以执行ROM中存储的程序(包括将字节移入和移出视频内存)。只是无法超越。
它可能只是根据支持的CPU类型的内部列表检查处理器的系列和步进ID。在许多情况下,可以使用BIOS升级对此进行修补。但是您需要先插入受支持的CPU才能对其进行刷新。
可能是因为不支持的功能来自保护模式,但是在显示此消息时,它尚未输入,仍处于8086模式。因此,如果没有CPU,它就无法工作,BIOS只是一个程序,没有CPU,就无法工作。只是它检测到它不能超过执行中的某个点,并在到达那个位置之前停了下来。
我将解释:最初的DOS PC没有正确多任务处理和多用户使用所需的所有复杂执行模式。当英特尔将其引入其CPU时,他们希望保留与旧CPU的兼容性。这就是为什么他们引入这些模式的原因:他们首先启动8086 CPU,进行一些测试和初始化,然后才进入保护模式。
“不支持的CPU”不会告诉您CPU无法正常工作。这可能意味着主板上的固件(无论是BIOS还是UEFI)已在CPU上执行了一些代码,这些代码确定CPU与正常运行期间主板所依赖的某些特定功能不兼容。或简单地说,主板尚未经过此CPU的测试,制造商不想冒险。
但这都不意味着CPU在引导时无法执行指令。例如,所有现代x86 CPU都有一个CPUID指令,可用于确定各种处理器功能是否可用。如果所需的功能不可用,则引导代码可以执行此指令并显示错误消息。
BIOS具有检查清单(POST),通过该清单可以初始化计算机的所有部件。如果他们没有通过检查,那么您会收到诸如您这样的错误。POST指令集的一部分是为组件分配中断。如果所有组件都正确地具有中断,则将加载操作系统,并将中断传递给操作系统,以便操作系统可以与组件进行交互。这是为简洁起见而简化的版本。这是正在发生的事情的更详细列表: 引导详细信息
BIOS对设备具有初始控制权,因此可以在需要时检查和显示错误。我看到的许多错误是蜂鸣声,或者是闪烁的LED,必须检查其含义。它通常不会像您的情况那样在监视器上显示错误(因为如果视频卡出了问题怎么办)。BIOS能够仅运行最基本的初始化序列,并且在某些情况下仅中继最基本的错误代码。BIOS已经具有上述工作组件的中断,因此它不需要CPU处理任何事情即可通过主板发送信号以发出哔哔声或闪烁的光,或者在您的情况下通过视频卡显示信息。