内存地址计算问题

来源:互联网 发布:ios宅男福利软件 编辑:程序博客网 时间:2024/06/11 06:25

1.内存地址从A4000H到CBFFFH共有几个存储单元是怎么计算的?

CBFFF-A4000+1=28000(十六进制) 

CBFFF-A4000+1
=CC000-A4000
=(CC-A4)*16^3
=(CC-A4)*2^12
=(2*16+8)*2^12
=40*2^12
=160*2^10 (B)
=160 (KB)


2.若内存按字节编址,用存储容量为32K×8比特的存储器芯片构成地址编号A0000H至DFFFFH的内存空间,则至少需要几片?


:内存空间是DFFFFH-A0000H+1 = 40000H 

 =4*16^4 

 = 2^18 = 2^10*256=256kb

256kb/32 = 8片

内存是按字节编址的,片子容量是32K*8比特,所以和片子的单位应该统一,故应该是用8片


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

内存容量  =末地址-首地址+1  
4K*8bit = 4KB,


4K x 8bit = 2^12 = 1000H(注意,不是FFFH!!!)

末地址 = 容量+首地址-1

       = 1000H + 6800H - 1 

       = 077FFH 


4.若内存按字编址,某存储器的芯片容量为4K*4bit,用此芯片构成从80000H 到BFFFFH 的内存, 
要用( 128  )片这样的内存。某RAM 芯片有22 条地址线,8 条数据线,则该RAM 芯片容量为( 4MB  )  


这道题的第二问,只提供了地址线和数据线的个数,如何计算的容量?  

:容量=单元个数X 位宽,  


已知地址就知道单元格式是2^22=4M,已知数据线就知道位宽是8,那么容量=2^22 X 8 bit=4MB  


5.(2004 年5 月上午试题47.48)内存地址从4000H 到43FFH,共有( 1024  )个内存单元。若该内 存单元可存储16位二进制数,并用4 片存储器芯片构成,则芯片的容量是( 256*16bit  )

: 首先总容量是1024*16bit,而这些容量是有4 片组成的,那么一片的容量是256*16bit(因为内存单元 可存储16位二进制数,所以确定位宽16不变) 


   

一般软件用的是0xXXX表示16进制数XXX,而汇编中才用的是后辍形式H,