内存编址目的
存储器由一块块的空间(存储单元)组成,为了方便寻找到每一块空间,我们需要对每一个空间进行标识——内存编址。
内存编址概述
芯片
存储器由若干个芯片构成。
内存容量
存储器的大小。内存容量=每个芯片容量*芯片个数。
每个芯片的容量=一个地址代表的容量*编址总数。
数据总线
计算机一次处理n位的数据,则数据总线的长度为n。注意的是:数据总线的长度,并不一定代表一个地址的长度。
字
和数据总线紧密相关。数据总线有几位,则一个字就由多少位组成。如64位计算机,表示一次可以处理64位数据,则1个字就是64位。
地址总线
假如需要n位二进制数来表示所有的地址,则地址总线的个数为n。
内存编址应用
基本应用
假如某个存储器只有一个芯片(8*4bit),该芯片的容量为32bit(位);计算机每次处理4bit(位)数据;内存按4bit(位)来编址,那个该芯片有多少个地址,数据总线的长度和地址总线的个数分别是多少?
分析:
1.该芯片有多少个地址?
内存容量=一个地址代表的容量*地址总数
地址总数=内存容量/一个地址代表的容量
技巧:一个地址代表的容量从题里找“按……编制的字眼”,如果没有默认当做“按字节Byte编址”
答案:32bit/4bit=8个地址
2.数据总线的长度
技巧:从题里找“一次处理/读取……数据”或一个字的长度。
答案:4bit
3.地址总线的个数
技巧:先求出地址总个数,然后看需要几个2进制数表示,则地址总线的个数就是几个。
答案:8个地址,需要3个二进制数表示。因为2^3=8,所以是3个。
如图所示:
举一反三
答案:(1) C. (2) B.
分析:
1.求解主存容量(用字节表示):
先求出地址总个数:CBFFFH-A4000H+1=28000H(十六进制)
2*(16^4)+8*(16^3)=2^17+2^15=2^10(2^7+2^5)
=160*1024(个)=160K(个)
再求出主存容量:160K*1B=160KB,即160K字节。
2.求解芯片个数
先求出一块芯片的容量
8bit=1B
32K*1B=32KB
再求出芯片个数
160KB/32KB=5(个)
总结
在分析内存编址问题时,大家要从题干入手,根据题干分析出哪些内容是已知的,哪些内容是未知的。通过上面的分析,我们了解了出题人给出信息的方式,这样即使题目有变化,也难不倒我们了。