内存地址的计算方法

admin 2015年04月13日 程序员成长 1636次阅读 查看评论

- 1 -  内存地址的计算方法  内存是按字节编址的,所以单位是字节哈,1字节可是等于8位的。


因为计算的范围一般比较小,所以记住几个常用的就够了:  


2的10次方为1024即1KB;  


2的20次方=(2的10次方)的平方,即1MB;(1024KB)  


2的40次方=(2的10次方)的4次方,即1GB。(1024*1024KB,或者1024MB)  


计算计算内存容量内存容量:DFFFF-A0000 = 3FFFF  


一眼看不出来大小滴,或许你要用笔算,不过用这个方法两眼就能看出来: 


3FFFF展开为2进制就是2的18次方,是吧,  即2的10次方乘以2的8次方=1KB*256,即256KB;  



或者,直接2的20次方/2的2次方=2的18次方,一般选就近原则,1MB/4=256KB 32K*8bit=256Kb =(256KB/8bit)    

在网上找的另外一道题:


计算机SRAM容量为4K x 8,配置地址首地址为:06800H,则其末地址是多少     


a.38800H     B.10800H   C.077FFH   D.07800H   


分析:      


公式:     =末地址-首地址+1  4K*8bit = 4KB,即2的平方乘以2的10次方(4*1024),2的12次方(十进制是4096),  


方法一:12/4=3(转为16进制(2的4次方)),得出16的3次方,即1000H 



方法二:2的12次方(十进制是4096),以此除16取余数,得到1000H 01000H= 末地址 - 6800H + 1H    


末地址= 01000H + 6800H -1H  

末地址=077FFH   4K*8bit = 4KB,即2的平方乘以2的10次方(4*1024),2的12次方,

内存容量二进制: 0001 0000 0000 0000   即 1000H  末地址=内存容量 + 首地址 - 1  =1000H + 06800H -1  = 07800H – 1 = 077FFH   



实例  实例1.若内存按字编址,某存储器的芯片容量为4K*4bit,用此芯片构成从80000H到BFFFFH的内存,要用( 128 )片这样的内存。

某RAM芯片有22条地址线,8条数据线,则该RAM芯片容量为( 4MB ) 这道题的第二问,只提供了地址线和数据线的个数,如何计算的容量? 


 2.(2004年5月上午试题47.48)内存地址从4000H到43FFH,共有( 1024 )个内存单元。

 若该内存单元可存储16位二进制数,并用4片存储器芯片构成,则芯片的容量是( 256*16bit ) 


- 2 -    最佳答案  

1.容量=单元个数X位宽,  

已知地址就知道单元格式是2^22=4M,已知数据线就知道位宽是8,

那么容量=2^22 X 8 bit=4MB 2.首先总容量是1024*16bit,而这些容量是有4片组成的,

那么一片的容量是256*16bit(因为内存单元可存储16位二进制数,所以确定位宽16不变)   


实例2. 内存按字节编址,地址从A4000H到CBFFFH,共有多少个字节呢?  


内存按字节编址,地址从A4000H到CBFFFH,共有多少个字节呢?若用存储容量为32K×8bit的存储器芯片构成内存,至少需要多少片?  


按字节编址=>一个存储单元大小是1B A4000H和CBFFFH是16进制数(H只是标志),


一个地址代表一个存储单元。CBFFF-A4000+1=28000, 即十进制16*16*16*16*2+16*16*16*8=163840 


若用存储容量为32K×8bit的存储器芯片构成内存,至少需5片  


A4000H和CBFFFH都是表示十六进制的数据,H表示的就是十六进制,


所以A4000H到CBFFFH共有的字节数为:CBFFFH(835583)-A4000H(671744)+1=28000H(163840),些等式中尾数为H的表示十六进制数,而括号中的数是其相应的十进制数,


所以它们中间共有163840个字节,而163840/1024=160,从而得出A4000H到CBFFFH中共有160*1024个字节。  

注解:  十六进制:28000  二进制:0010 1000 0000 0000 0000  2 17  + 2 15  = 2 10 *(2 7+ 2 5) = 1024 * (128+32) = 160KB     


实例3. 内存按字节编址,地址从90000H到CFFFFH,若用存储容量为16K×8bit的存储器芯片构成该内存,至少需要 (3) 片。 


(3)A.2 B.4 C.8 D.16   

1:内存按字节编址,存储器芯片是8bit,两者皆为B(字节)。 

2:90000H到CFFFFH,空间是40000H,存储器芯片是16K。 

3:全换算为二进制  40000H=2+4+4+4+4=18 


16K=4+10=14 18-14=4 2^4=16  因此选D 


« 上一篇 下一篇 » admin原创文章,转载请注明出处! 标签:内存地址的计算内存地址

相关日志:

«   2019年7月   »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  [查看权限]
网站分类
文章归档
网站收藏
友情链接
图标汇集