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

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

posted @   楠木大叔  阅读(1761)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示