作者:Gakki
1、概述
-
存储容量的定义 :是指主存能存放二进制代码的总位数
-
存储器容量计算公式:
- 按位计算(b、bit):存储容量 = 存储单元个数 * 存储字长;
- 按字节计算(B、Byte):存储容量 = 存储单元个数 * 存储字长 / 8;
- 单位转换:1 字节 = 8 位;即 1 Byte = 8 bit。
-
存储单元 :CPU访问存储器的最小单位,每个存储单元都有一个地址。
-
存储字长 :存储器中一个存储单元(存储地址)所存储的二进制代码的位数。
-
存储单元与地址线的关系: 我们知道CPU访问存储器的最小单位是存储单元且每个存储单元都有一个地址,1 根地址线可以查找 2 个地址既 2 个存储单元,16 根地址线则可以查找 2^16个存储单元。
-
存储字长与数据线的关系 : 我们知道存储字长是指存储器中一个存储单元(存储地址)所存储的二进制代码的位数,而二进制代码的位数是由数据线的根数决定的,也就是说: 存储字长 = 数据线根数
-
常见的内存容量表示方法以字节为单位为例。例如 1GB ,4MB, 512KB。
-
1GB = 10^3 MB =10^6 KB = 10^9 B = 10^9 x 8 b
2、容量计算
2.1、存储单元个数
-
存储单元个数 = 末地址 - 首地址 + 1。
-
【例题 1 】内存按字节编址从 B3000H 到 DABFFH 的区域其存储容量为多少?
解析:直接计算 16 进制地址包含的存储单元个数即可。
DABFFH - B3000H + 1 = 27C00H = 162816 = 159 KB。
按字节编址,故此区域的存储容量为 159 KB。 -
【例题2】存按字节编址,地址从 A4000H 到 CBFFFH,共有 ( ? ) 个字节。
解析:根据公式 存储单元个数 = 末地址 - 首地址 + 1 可知。
存储空间 = CBFFFH − A4000H + 1 = 28000 H = 160 KB -
注:1 KB = 2^10 B。
2.2、存储容量
计算方式 | 计算公式 | 单位 |
---|---|---|
按位计算 | 存储容量 = 存储单元个数 × 存储字长 | 比特、bit、b |
按字节计算 | 存储容量 = 存储单元个数 × 存储字长/8 | 字节、Byte、B |
-
【例题】一个存储器有 16 根地址线,8 根数据线,求此存储器存储容量?
解析:
- 1 根地址线可以查找 2 个地址既 2 个存储单元,16根地址线则可以查找 2^16个存储单元。
- 存储字长 = 数据线根数
按公式计算得出:
- 按位计算:2^16 × 8=2^16 个 × 2^3 bit = 2^19 b = 512 kb。
- 按字节计算:2^16 × 8 / 8=2^16 bit = 64 kb。
单位换算:
- 1 字节 = 8 位,即 1 Byte = 8 bit
- 1 kb = 2^10 b = 1024 b
2.3、所需芯片数
-
所需芯片数 = 存储空间 / 存储容量
-
【例题】内存按字节编址,地址从 A4000H 到CBFFFH,共有( ? )个字节。若用存储容量为 32K×8bit 的存储芯片构成该内存,至少需要 ( ? ) 片。
解析:
- 第一个空前面已经算了,共有 (160 K)
- 第二个空:
根据公式:所需芯片数 = 存储空间 / 存储容量
计算方式
其他
- 数据总线:传送数据信息,CPU一次传输的数据与数据总线带宽相等。
- 控制总线:传送控制信号和时序信号,如读/写、片选、中断响应信号等。
- 地址总线:传送地址,它决定了系统的寻址空间。
- 总线的位宽(宽度):即总线能同时传输的数据位数,有32位、64位等。
- 地址总线的宽度越小,则地址数量越少,允许直接访问主存储器的空间越小。
网友评论