Operating system IA32-软件初始化代码地址大于物理内存范围

Operating system IA32-软件初始化代码地址大于物理内存范围,operating-system,boot,x86,Operating System,Boot,X86,摘自《英特尔软件开发人员手册》 硬件重置后(通过通电或断言 复位(引脚)将处理器置于实地址模式并开始 从物理地址FFFFFFF 0H执行软件初始化代码。 现在的问题是: 如果momory size小于fffffff 0h字节,例如2GB,该怎么办?您可能希望在该位置映射一些非易失性内存(如ROM),在那里使用RAM对您没有多大帮助。@fvu这里的软件初始化代码是指驻留在CMOS中的BIOS代码?BIOS代码驻留在某种形式的ROM(EPROM或闪存)中,CMOS RAM只包含一些BIOS需要了解的

摘自《英特尔软件开发人员手册》

硬件重置后(通过通电或断言
复位(引脚)将处理器置于实地址模式并开始
从物理地址FFFFFFF 0H执行软件初始化代码。

现在的问题是:


如果momory size小于fffffff 0h字节,例如2GB,该怎么办?

您可能希望在该位置映射一些非易失性内存(如ROM),在那里使用RAM对您没有多大帮助。@fvu这里的软件初始化代码是指驻留在CMOS中的BIOS代码?BIOS代码驻留在某种形式的ROM(EPROM或闪存)中,CMOS RAM只包含一些BIOS需要了解的关于机器的非易失性信息。我已经很久没有在这么低的级别上乱搞计算机了,但我甚至不认为CMOS RAM会被映射到地址空间。您可能需要在上查阅旧IBM的示意图。虽然很古老,但由于这些电路板上的逻辑不那么严密,它们更容易理解,而且这些电路板背后的基本原理与当前的电路板没有太大区别。但事实上,软件初始化代码是BIOS的一部分。@fvu是BIOS中软件初始化代码的第一条指令,地址FFFFFF0H映射到包含BIOS的ROM中?