全站数据
8 4 2 0 5 8 1

16根地址线的寻址范围是16KB

图解金融 | 教育先行,筑梦人生!         
问题更新日期:2024-10-26 23:47:15

问题描述

16根地址线的寻址范围是16KB求高手给解答
精选答案
最佳答案

先说两个规则:

1. 寻址范围=寻址单元大小*寻址字长

2. 寻址字长与CPU字长无直接关系

对于比较老的硬盘来说:

寻址单元是一个扇区512字节,寻址字长是2^32,所以可用的最大磁盘容量是2TB

对于现在的硬盘来说:

寻址单元是一个扇区,可能是512字节也可能是4096字节,寻址字长是2^48,所以可用的最大磁盘容量是128PB~1EB左右。

解释一下CPU的字长与寻址字长无直接关系(以下讨论仅限内存,寻址单元大小是字节):

CPU字长可以比寻址字长大,比如:64位系统里的一些DMA控制器地址线就是32位的。

CPU字长也可以比寻址字长小,比如:小霸王学习机里8位系统可用最大内存是64KB;386的16位系统可用内存可以达到640K甚至更大,x86架构下32位CPU开启PAE可以获得物理上超过4GB的寻址范围。

如果CPU字长比地址线要多,那么软件设计时,会尝试屏蔽某些高位;

如果CPU字长比地址线要少,那么访问时一般采取多级选择、多寄存器组合的方式,比如内存分段、分页都是在CPU字长不足的情况下获得更大的内存访问能力手段。

对于32位CPU来说,开启PAE可以获得更大的寻址能力,但Windows将其在软件上限制死了,这个问题可以参见:为何微软不在新的操作系统中让 32 位支持大于 4GB 的内存? - 北极的回答

其他回答

16根地址总线,寻址范围也就是2的16次方。

1Byte =8bit;

16根地址总线可寻址的内存单元个数 =2^16 Byte =65535Byte ,

(65536Byte)/(1024Byte/kB) = 64kB;

单元及I/0接口中的各个不同设备,都有各自不同的地址。地址总线是CPU向主存储器和I/O接口传送地址信息的通路,它是自CPU向外传送的单向总线。地址线的宽度决定了微型计算机的直接寻址能力(即寻找主存储器单元和I/O设备范围)。

早期的微机,一般总线宽度为16根,故其直接寻址范围为216=64KB(1KB=1024B,B是字节Byte的缩写,1B=8b,b是二进制位bit的缩写);

Intel 8086具有20根地址总线,其直接寻址范围为220=1MB(1MB=1024KB);Intel 80386、80486均为32根地址线,直接寻址范围可达232=4GB(1GB=1024MB)。