我知道现代计算机已经改造了哈佛的建筑。
他们可以从其他地方读取指令,而不是保存数据的地方,这一事实是否允许他们直接从ROM芯片获取指令?他们是先将BIOS加载到RAM,还是直接从芯片执行?我附近没有可以打开的电脑,所以...如果我从内存插槽中卸下所有RAM,计算机是否能够启动完整的BIOS、运行POST程序并告诉我需要RAM?有趣的是我从来没试过。
编辑:我这个问题的目的是了解商用CPUs (或者至少是英特尔cpus)是否可以直接从ROM执行代码。这不是为了实际目的,它是为了增加我对计算机体系结构和东西的理解。removing-RAM-part不是我的主要疑问,只是一个例子
发布于 2011-03-18 11:29:28
它把直接从中执行,把东西拷贝到内存中。
在现代x86处理器上,芯片组内存控制器在初始上电时未初始化,因此没有可用的内存。
现代BIOS通常分为两个部分:
)
当处理器退出复位时,它开始在内存中的一个固定地址执行指令,该地址称为“复位向量”。BIOS闪存芯片映射到内存中的此地址。处理器简单地从该地址开始执行指令。
“启动块”指的是从重置向量开始的BIOS代码(加上几个JMP)。这是直接从ROM执行的(内存控制器还没有启动),所以它非常慢。
BIOS引导块通常执行以下操作:
发布于 2011-03-14 23:19:11
如果您完全卸下RAM,当您打开它时,PC应该会开始发出不间断的蜂鸣声。
下面是对发生的事情的很好的描述:http://www.pcguide.com/ref/mbsys/bios/boot.htm
汉斯-彼得·梅斯默( Hans-Peter Messmer)的“不可缺少的个人电脑硬件书”也描述了这一过程。
https://stackoverflow.com/questions/5300527
复制相似问题