文章目录
1 概述1.1 主存储器图示1.2 专业术语解释
2 容量计算2.1 存储单元个数2.2 存储容量2.3 所需芯片数
3 扩展3.1 网工软考真题
1 概述
1.1 主存储器图示
1.2 专业术语解释
术语描述存储地址寄存器 MARMAR 位数 = 地址总线根数,决定了 存储单元的个数存储数据寄存器 MDRMDR 位数 = 数据总线根数,决定了 存储字长存储元存储一位二进制代码的基本单元电路存储单元若干个 存储元 组成存储单元地址给 存储单元 按顺序给定的地址编号存储字存储单元 中的一连串二进制代码组合存储字长存储字 的长度(位数),单位: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