计算机组成原理存储器相关问题解答
问题:要设计具有64K×2位存储容量的芯片,问如何安排地址线和数据线引脚的数目,才能使两者之和最小。请说明有几种解答。
解:
在满足64K×2位存储容量的前提下,存在两种情况:
(1)地址线:16根,数据线:2根
(2)地址线:17根,数据线:1根
由于16+2=17+1=18
所以,最小的和=18
其他的情况,均会比18大。这是因为只能减少地址线的根数,但这样会大大增加数据线的数量。
问题:字位扩展的存储器组成逻辑图该怎么画?
答:首先掌握以下原则:
一个存储器的容量假定为M×N位,若使用l×k位的芯片(l<M,k<N=需要在字向和位向同时进行扩展。此时共需要(M/l)×(N/k)个存储器芯片。
其中,M/l表示把M×N的空间分成(M/l)个部分(称为页或区),每页(N/k)个芯片。
地址分配原则如下:
首先利用log2 l位表示低位地址:用来选择访问页内的l个字
其次利用log2(M/l)位表示高位地址:用来经片选译码器产生片选信号。
绘制逻辑图的时候,以书上例4-1、4-2、4-3为准。根据教学要求,目前对绘制逻辑图不作要求,只要达到理解即可。
问题:虚拟地址格式该怎么画?
例如,在页式虚拟存储器中,若主存容量为16MB,页面容量为4KB,程序地址空间为2G,问虚页号有多少位?页表长度为多少?并画出虚拟地址格式。
解:
页面容量为:4KB=212B
程序地址空间:2GB=231B
故虚页号字段位数=31-12=19
页表长度=219
虚拟地址格式:
问题:Cache一节中,存储空间的分配问题应该如何把握?
例如:有一CACHE-主存层次的存储器,其主存容量1MB,CACHE容量64KB,每块8KB,采用直接映射方式。
(1)求主存地址格式?
(2)主存地址为35303H,问它在主存哪个块?
(3)主存的第k块映射到CACHE的哪一块?
解:
(1)Cache容量64KB,每块8KB,所以
块内地址为13位(第0位到第12位);
块地址为16-13=3位(第13位到第15位);
(注:块地址也可以称为CACHE行地址)
页面标记为20-16=4位(第16位到第19位)
(2)35303H=0011 0101 0011 0000 0011
所以区号=0011
块号 =010
块内地址=1 0011 0000 0011
(3)Cache有8块
主存的第k块映射到Cache的第k mod 8个块