cpu – 正常的x86或AMD PC是否直接从ROM运行启动/ BIOS代码,还是先将其复制到RAM?

我理解现代电脑修改了哈佛架构.

可以从他们持有数据的地方读取指令的事实可以直接从ROM芯片获取指令吗?首先将BIOS加载到RAM中,还是直接从芯片执行BIOS?我没有可以在附近打开的电脑,所以…如果我从内存插槽中删除所有的RAM,计算机是否能够启动完整的BIOS,运行POST的东西,告诉我我需要RAM?很有趣我从来没有尝试过

编辑:我的这个问题的意图是了解商业CPU(或至少intel cpus)是否可以直接从ROM执行代码.这不是实际的目的,它是增加我对计算机体系结构和内容的理解.删除RAM部分不是我的主要怀疑,只是一个例子

它们都直接从ROM执行,并将内容复制到RAM中.

在现代x86处理器上,芯片组内存控制器在初始上电时未初始化,因此没有RAM可用.

现代BIOS通常分为两部分:

>启动块(早期POST)
>压缩区(POST到POST)

当处理器复位时,它开始在存储器中的固定地址执行指令,称为“复位向量”. BIOS闪存芯片映射到内存中的这个地址.处理器只需从该地址开始执行指令.

“启动块”是指从复位向量开始的BIOS代码(加上几个JMP).这是从ROM(内存控制器还没有开始)直接执行的,所以很慢.

BIOS引导块通常执行以下操作:

>初始化内存控制器. (如果您从主板上收到“没有检测到的内存”哔声代码,则会发生在此处.)>在压缩区域执行校验和,以确保其余的BIOS没有损坏.>如果检测到任何损坏,跳转到恢复模式.>如果校验和通过,将其余的BIOS解压缩到RAM的某处(通常低于1MB边界).>跳转到RAM中的解压缩代码并继续引导.

相关文章
相关标签/搜索