谁执行POST?是BIOS微控制器还是CPU?

7

在POST期间,哪个硬件执行固件?

BIOS微控制器还是CPU? BIOS微控制器正在ROM上执行具有CMOS配置的固件(类似于RAM)。但在POST期间,谁执行正在检查自身的固件呢?

在POST之后,BIOS必须“告诉”CPU将指令指针分配给某个内存地址,对吗?这就是它如何在启动时跳转的方式吗?


"BIOS 微控制器" - Ignacio Vazquez-Abrams
1
是的,某人必须在某个地方执行代码。执行代码的硬件是什么?CPU或BIOS有微控制器吗? - int3
BIOS不是硬件,我不确定你所说的“BIOS微控制器”的意思。此外,这个问题不适合在这里讨论,因为它是一个普通的计算机问题,而不是像[帮助]指南中描述的编程问题。本站是用于编程(代码)和程序员工具相关问题的。 - Ken White
1个回答

15

“BIOS微控制器”不存在。BIOS芯片只是闪存。所有执行工作都由CPU完成。

当处理器从重置状态退出时,它开始从固定地址(称为复位向量)执行。该固定地址映射到BIOS闪存芯片。

一旦BIOS完成了其引导时间任务(硬件初始化、POST),它会按照BIOS设置中指定的顺序枚举启动设备。发现第一个具有有效引导扇区的启动设备后,它开始执行引导扇区,因此计算机的控制权被移交给操作系统。

还有另外一个评论,基于您的评论:CMOS只是芯片组内部由RTC电池支持的一组寄存器。传统上用于存储BIOS设置,但在现代UEFI BIOS中,您的设置存储在闪存中。


1
我有一个后续问题:我有一个BIOS回刷按钮,可以在不开启系统的情况下从USB闪存驱动器更新BIOS。您关闭电脑(MB仍然供电),按下按钮,MB开始从USB闪存驱动器读取并更新。我检查过,当未插入CPU时,此功能无法使用。但我不确定执行此更新过程的是CPU,因为CPU电源已关闭,没有风扇旋转等。有什么想法吗? - sich
2
这是由CPU执行的。它发生在BIOS的引导块阶段(在引导顺序中非常早,可能在风扇控制芯片初始化之前)。大多数BIOS都有一种重新编程自身的方法,如果它们检测到损坏。当按下按钮时,他们可能只是短路了该检测。 - myron-semack
谢谢您的解释。您认为BIOS如何知道CPU在风扇不工作时不会过热?此BIOS更新过程需要1-2分钟。 - sich
1
答案可能是“不会”。大多数CPU都内置了热限制功能,因此即使风扇不开启,它们也不会融化。CPU不会以全速运行,但在BIOS重新编程期间应该没问题。通常在BIOS编程期间只有一个核心处于活动状态,因此热负荷较低。金属散热器还可以提供 passively cooling。现在,如果温度过高,在BIOS编程期间CPU执行紧急关机就会很糟糕。 - myron-semack
谢谢!我问这些问题的原因是我正在尝试解决我的新主板和处理器无法启动和进行POST的问题,但MB可以从闪存更新BIOS。至少现在我知道处理器没有坏:) 你帮了我很多! - sich

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接