计算机组成原理存储器相关问题解答

时间:2024-02-29 13:17:21

问题:要设计具有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个块