这个问题主要是出于历史兴趣,但我一直无法找到任何有关它的文档。我在x86实模式下可以找到的所有文档(包括英特尔手册[1]和在线内存映射[2])都假定系统内存为640KiB。然而,最初的IBM PC只有16KiB或64KiB的RAM [3]。
这是怎么回事?两个具体问题:
[1] http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
答案 0 :(得分:8)
8088处理器直接寻址RAM,没有MMU或任何告诉处理器它正在访问无效地址的电路。所以程序只读取垃圾,通常是0xff。在那之后不久可能持续很长时间:)
原装IBM PC,内存为16 KB,没有任何磁盘驱动器。因此,引导地址无效并不重要。预计用户只能使用ROM Basic。它不是很受欢迎。如果您是用软盘购买的,那么"商业用途"配置,然后你自动也包括64 KB RAM。所以地址是有效的。这种配置在今天的价格为7,795美元:)
还在this web page上注明。