
一个字长是16位,就是说一个字是由16个一位基本单元(就是上面提到的位) 组成按照字来编址就是说由一个字所包含的一位基本单元的个数作为一个地址单元(16),它对应一个单位地址同理,双字编址就是两个字所包含的的基本单元数作为一个地址单元而半字编址就是半个字长包含的位来表示一个地址单元(这里当然是8) 由于一个字节(1B)永远是8位,所以按字节编址永远是8个一位基本单元作为一个地址单元而重点是 寻址范围 概念就是说总共有多少个这样的地址明显,该用 总基本单元的 位 来除以 每个单位地址占的位数 就是总共的寻址数 就是 2^218(总的位)/ 8(半字编址每个单位地址占位数)=2^21=2M
同理对于其他编址方式也可以算出,比如按字编址=2^218/16=1M 貌似是这样诶参考
csplace/Study/Subject/73
简单的总结就是 总容量为2MB=28Mb 注意B是字节,b是位 ,而半字编址就是每个地址单元用字长的一半 16/ 2=8b( 位)表示,所以总寻址=28Mb/8b=2M,2,某计算机字长16位,其存储容量为2MB,若按半字编址,它的寻址范围是
请问应该怎么做
存储器的容量是64K。因为0000H~FFFFH即为0000000000000000~111111111111 1111共有2^16个地址,所以为2^6K即64K。
存储器容量计算公式:
按位计算 (b) : 存储容量 = 存储单元个数 x 存储字长
按字节计算(B): 存储容量 = 存储单元个数 x 存储字长 / 8
例题:一个存储器有16根地址线,8根数据线,求此存储器存储容量
答:按位求取 2^16 x 8位 =64K x 8位;
按字节求取 2^16 x 8位/8 = 64K x B = 64kB
扩展资料
存储单元与地址线的关系: 我们知道CPU访问存储器的最小单位是存储单元且每个存储单元都有一个地址,1 根地址线可以查找 2 个地址既2个存储单元,16根地址线则可以查找 2^16个存储单元。
存储字长与数据线的关系 : 我们知道存储字长是指存储器中一个存储单元(存储地址)所存储的二进制代码的位数,而二进制代码的位数是由数据线的根数决定的,也就是说: 存储字长 = 数据线根数。
当字数相同字长不同时:地址线并联,数据线串联,片选线直接相连。例如用512x4的存储器组成512x8的存储器。
当字数不相同,字长相同时:数据线并联,地址线并联,片选线分别接到地址译码器的输出端。例如用512x8的存储器组成1Kx8的存储器。
6 某机字长为 32 位,其存储容量是 64KB ,按字编址它的寻址范围是多少?若主存以字节编址,试画出主存字地址和字节地址的分配情况。
解:
按字编址的寻址范围如下:
64K=6410248位,所以64KB/32位=(6410248)/32=161024=16K
主存字地址和字节地址的分配情况 :如图。
位是计算机来中数据的最小单位。计算机采用二进制表示和存储数据,1位即1个二进制数0或者1; 字节也是属于数据的单位,与位的换算公式为1字节=8位;一个字等于多少字节是根据字长决定的,当字长为32位时候,则等于的字节是32/8=4个字节(字长即包含的位数),于是上图一个字对应四个字节。;如果字节编址的话则一个字节为一个存储单元,一个存储单元可以存放一个8位二进制数,这个二进制数就是一个存储字。8K个存储单元(地址)中,可以存放8K×8位。这也就是存储容量。拓展:
(1)此题是按照单字编址的,即单字所包含的基本单元的个数作为一个地址单元。单字所包含的基本单元个数即字长基本单元指的就是位。
此外若
按照字节编址,即字节所包含的基本单元个数作为一个地址单元,则寻址范围为(6410248位)/8位=8K,且表示又8K个存储单元一个字节永远是8位
计算机按32位字长半字属编址。即半个字所包含的基本单元个数作为一个地址单元,则半字的位数为16位,范围为(6410248位)/16位=32K
计算机按32位字长双字编址。则双字的位数为64位,范围为(6410248位)/64位=8K
(2)地址线24根,如果地址线有24根,并且每根地址线有0、1两位,我们可以从000…000(24位)一直到111…111(24位)。
按字节寻址范围为=16M,这些地址表示存储单元的位置,所以存储单元也有16M个;
若字长32位,则一个字有4个字节,所以要留2根地址线指出该字中的哪个字节[00,01,10,11],即寻址范围为 =4M;
若字长16位,则一个字有2个字节,所以要留1根地址线指出该字中的哪个字节[0,1],即寻址范围为 =8M;
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)