「存儲器地址為四位十六進制」即 16 位地址總線,對應寻址空間:
2^16 = 65,536 個地址單元 = 64 KB
這確實與現代 GB 級內存不符,關鍵在於 地址總線寬度 的發展歷程。
| CPU/架構 | 地址總線寬度 | 最大寻址空間 | 代表產品 |
|---|---|---|---|
| 8086/8088 | 20 位 | 1 MB | 早期 PC/XT |
| 80286 | 24 位 | 16 MB | PC/AT |
| 80386 (IA-32) | 32 位 | 4 GB | 386/486/Pentium |
| x86-64 (AMD64) | 48 位 (當前) | 256 TB | Core/Ryzen 現代 CPU |
| ARMv8-A (AArch64) | 48/52 位 | 256 TB / 4 PB | 手機/服務器芯片 |
物理地址 = 段基址 × 16 + 偏移地址 (8086 實模式)
段寄存器(16位) << 4 + 偏移(16位) = 20位物理地址
早期通過段寄存器擴展 16 位寄存器的寻址能力。
現代作業系統核心機制:
虛擬地址(32位) → [頁目錄(10位) | 頁表(10位) | 頁內偏移(12位)] → 物理地址
32 位系統支持 36 位物理地址(64 GB 物理內存):
雖然 x86-64 理論支持 64 位虛擬地址(16 EB),但當前實現通常為 48 位虛擬地址(256 TB),物理地址 48-52 位。頁表結構為 4 級:
PML4 (9位) → PDP (9位) → PD (9位) → PT (9位) → Offset (12位) = 48位
理解這一演進過程,有助於掌握指針大小、內存模型、系統編程等核心概念。