文章目录
- 1 概述
- 1.1 主存储器图示
- 1.2 专业术语解释
- 2 容量计算
- 2.1 存储单元个数
- 2.2 存储容量
- 2.3 所需芯片数
- 3 扩展
- 3.1 网工软考真题
1 概述
1.1 主存储器图示
1.2 专业术语解释
术语 | 描述 |
---|---|
存储地址寄存器 MAR | MAR 位数 = 地址总线根数,决定了 存储单元的个数 |
存储数据寄存器 MDR | MDR 位数 = 数据总线根数,决定了 存储字长 |
存储元 | 存储一位二进制代码的基本单元电路 |
存储单元 | 若干个 存储元 组成 |
存储单元地址 | 给 存储单元 按顺序给定的地址编号 |
存储字 | 存储单元 中的一连串二进制代码组合 |
存储字长 | 存储字 的长度(位数),单位:bit |
其中:
存储单元个数 = 2 MAR 位数 = 2 地址总线根数,单位:个
存储字长 = MDR 位数 = 数据总线根数,单位:bit
2 容量计算
2.1 存储单元个数
- 存储单元个数 = 末地址 - 首地址 + 1
【例题】存按字节编址,地址从 A4000H 到 CBFFFH,共有 ( ? ) 个字节。
根据公式 存储单元个数 = 末地址 - 首地址 + 1 可知
存储空间 = C B F F F H − A 4000 H + 1 = 28000 H CBFFFH - A4000H + 1 = 28000H CBFFFH−A4000H+1=28000H = 0010 1000 0000 0000 0000 B = 160 KB
注: 1 K B = 2 10 B 1 KB = 2^{10} B 1KB=210B
2.2 存储容量
计算方式 | 计算公式 | 单位 |
---|---|---|
按 位 计算 | 存储容量 = 存储单元个数 × 存储字长 | 比特、bit、b |
按 字节 计算 | 存储容量 = 存储单元个数 × 存储字长/8 | 字节、Byte、B |
【例题】一个存储器有 16 根地址线,8 根数据线,求此存储器存储容量?
按位计算:
2
16
×
8
2^{16} × 8
216×8 =
2
16
2^{16}
216 个 ×
2
3
2^{3}
23 bit =
2
19
b
2^{19}b
219b =
512
k
b
512 kb
512kb
按字节计算:
2
16
×
8
/
8
=
2
16
b
i
t
=
64
K
B
2^{16} × 8 / 8 = 2^{16} bit = 64 KB
216×8/8=216bit=64KB
单位换算:
1 字节 = 8 位,即 1 Byte = 8 bit
1 k b = 2 10 b = 1024 b 1 kb = 2^{10} b = 1024 b 1kb=210b=1024b
2.3 所需芯片数
- 所需芯片数 = 存储空间 / 存储容量
【例题】内存按字节编址,地址从A4000H到CBFFFH,共有 (160 K) 个字节。若用存储容量为 32K×8bit 的存储芯片构成该内存,至少需要 ( ? ) 片。
根据公式 所需芯片数 = 存储空间 / 存储容量 可知
所需芯片数 = 160 K ∗ 8 b i t 32 K ∗ 8 b i t = 5 \frac{160K * 8 bit}{32K * 8 bit} = 5 32K∗8bit160K∗8bit=5
3 扩展
3.1 网工软考真题
[2007下半年-4] 若内存地址区间为 4000H ~ 43FFH,每个存储单元可存储 16 位二进制数,该内存区域由 4 片存储器芯片构成,则构成该内存所用的存储芯片的容量是(C)?
A.512 × 16 bit
B.256 × 8 bit
C.256 × 16 bit
D.1024 × 8 bit
参考答案:C
考点 ①:每片芯片的容量 = 芯片总容量 / 芯片个数
考点 ②:芯片总容量 = 存储单元个数 × 存储字长
考点 ③:存储单元个数 = 终止地址 - 起始地址 + 1
存储单元个数 = 43 F F H − 4000 H + 1 = 400 H = 2 10 = 1024 43FFH - 4000H + 1 = 400H = 2^{10} = 1024 43FFH−4000H+1=400H=210=1024
存储字长 = 16 b i t 16 bit 16bit
芯片总容量 = 1024 ∗ 16 b i t 1024 * 16 bit 1024∗16bit
每片芯片容量 = ( 1024 ∗ 16 b i t ) / 4 = 256 ∗ 16 b i t (1024 * 16 bit) / 4 = 256 * 16 bit (1024∗16bit)/4=256∗16bit
【2004下半年-1,2】内存按字节编址,地址从A4000H到CBFFFH,共有 (1) 个字节。若用存储容量为32K×8bit的存储芯片构成该内存,至少需要 (2) 片。
(1) A.80K
B.96K
C.160K
D.192K
(2) A.2
B.5
C.8
D.10
参考答案:1=C,2=B
存储单元个数 = 终止地址 - 起始地址 + 1,可知
存储单元个数 = CBFFFH - A4000H + 1 = 28000H = 0010 1000 0000 0000 0000 = 160K
芯片个数 = 芯片总容量 / 每片芯片的容量,可知
芯片个数 = (160K * 8bit) / (32K * 8bit) = 5