存储容量计算
1.存储容量 = 字数 X 位数 (相当于楼层数乘以每层住户数)
2.存储空间 = 末地址 - 首地址 + 1 (相当于楼层)
3.字长:计算机一次处理的二进制位数,如32,64。
4.字:计算机一次处理的二进制数据为1个字,如每32为一字。
5.1K=2^10,1M=2^20,1G=2^30
所谓存储空间就是地址总数,也叫字数。
例题1:
某计算机的内存以字节编址,地址范围为30000H-AFFFFH,则其存储容量为多少?
AFFFFH-30000H+1
=7FFFFH+1
=80000H
存储空间为:80000H
80000H = 1000 0000 0000 0000 0000 (10转2)
= 1000 0000 00 * 2^10 (10个零)
=2^9K(按权相加2转10)
=512K 一共512K个地址/字数.
存储空间:512K
存储容量:512KB(字数*位数) 明白空间和容量很重要!
第二种算法(无非就是进制互转):
80000H = 8*16^4 (16转10)
= 2^2 * (2^4)^4
= 2^2 * 2^16
= 2^18
=2^8K
=512K
例题2:
计算机内存中某段存储容量2KB,该字段存储空间末地址为9FFFH,则其十六进制首地址为?
1.要明白总容量是2KB,那存储空间是多少?
题中未说明是如何编址,所以默认为按字节8位编址,所以存储空间就是2K。
存储容量:2KB
存储空间:2K
按公式:存储空间 = 末地址 - 首地址 + 1
也就是:2K = 9FFFH - 首地址 + 1
首地址 = 9FFFH + 1 - 2K
=A000H - 2K
=A000H - 0010 00 0000 0000
=A000H - 800H
=9800H
可先求存储空间十六进制值;再带入公式求首地址。
例题3:
计算机内存中某段地址存储空间128.75KB,该字段存储空间首地址为030B4H,则十六进制形式的末地址为?
没提几位编址,默认8位编址,也就是字长为8。
先将128.75K转换为十六进制数,然后带入公式:存储空间 = 末地址 - 首地址 + 1计算。
例题4:
计算机内存中某段存储空间12.75KB,该字段存储空间末地址为8FFFH,则十六进制形式的首地址为?
该题和上题解题思路一致。
例题5:
地址范围0H---FFFFH,16位字长的存储器,由____片8K*8位的RAM芯片组成。
解题思路:先求存储空间,也就是有多少个地址,然后每个地址16位,乘以16得到该存储器的总容量,再用总容量除以8K * 8 位的芯片,得到芯片数。
要注意,8K*8位的芯片容量为:8KB
公式:存储空间 = 末地址 - 首地址 + 1
存储空间=FFFFH-0+1=10000H
10000H=1000000*2^10=64K
存储容量 = 字数 * 位数
存储容量 = 64K * 16位
所需芯片数=目标容量/单位容量 = 64K*16 / 8K*8 = 16
例题6:
某计算机字长32位,其存储容量为4MB,若按半字编址,它的寻址范围是?
半字编址是说每半个字也就是16位一个地址。
每16位一个地址,那地址总数是多少?存储总容量是4MB.
16 * 地址总数 = 4MB
地址总数 = 4MB/16b = 4 * 8Mb / 16b = 2M
地址总数:2M
首地址:0H
寻址范围:0----(2M-1)
-------------------------------------------------------------------------------------------------------
CPU在内存里寻找数据时,先通过地址线找到地址,然后再通过数据线将数据取出来。
地址线:确定存储单元所在位置。
数据线:将存储单元里的数据取出来。
数据线数量=存储单元的位数
地址线:存储容量的字数(地址个数)=2^地址线数
例题1:
某SRAM芯片,存储容量为64K * 16位,该芯片的地址线和数据线的数目为多少?
例题2:
某SRAM芯片,存储容量为8K * 8位,该芯片的地址线和数据线相加的和是?
例题3:
32K * 16位的只读存储器的地址寄存器地址是?位。
例题4:
由2K * 1位的芯片组成16K * 8 位的存储器,需用___块芯片并联扩展。
例题5:
设有一个具有14位地址和8位字长的存储器,如果由1K * 1位的RAM芯片组成,需要__4__位做芯片选择。