
IBM
最早的Intel CPU,4004,是一款4位处理器,但其内存寻址能力达到了4K字。通过CPU内部的三个寄存器组合生成12位物理地址来实现这一功能。后来进入6502时代, Commodore 128将内存扩展到128KB。近期The 8 bit guy推出的Commander X16,依然基于6502架构,却配备了512KB内存和2MB ROM,这些设备直接连接在总线上而非作为IO设备存在,这是借助了memory banking技术实现的。
IBM PC诞生时,其CPU为16位,能够直接寻址640KB内存,这得益于段寄存器的作用。历史上从未规定内存容量必须受限于CPU寄存器的位数。然而到了i386时代,寄存器增加了16位,那是1985年,当时人们认为2GB内存已经是天文数字,觉得一辈子也用不完。因此,在设计过程中没有进一步考虑扩展总线位数的问题,而是直接将最大寻址范围设定为寄存器宽度。