深入研读Cache存储的计算

假设某个计算机的主存地址空间是256MB,按照字节编址,其数据Cache有8行,行长有64B.

从这道题目里要好好领悟Cache策略的优美之处。

1)不考虑用于Cache的一致性维护位和替换算法控制位,并且采用直接映射方式,则该数Cache的总容量是多少?

2)若该Cache采用直接映射方式,则主存地址为3200(十进制)的主存对应的Cache行号是多少?若采用二路组相连映射又是多少?

解: 首先,这类题目的考法再怎么变化其实都是很直接的。前提是,你真的理解了背后的设计思路。

1)不空谈,看第一道。

不管是直接映射还是组映射,Cache总容量的计算方法是一样的:存储容量加上标记容量。

存储容量几乎不用多计算,题目中已经给出来。主要是标记容量的计算:需要考虑不同映射方式的差别。
为什么标记?先看主要原因,一个主存块对应到哪一个Cache块,在主存地址结构中就体现出来了。比如直接映射,低位是块内地址,中间是Cache块号,剩下的是总的存储位数减去前面两个,也可以这样计算:低位的Cache号和块内位数可以索引Cache存储体的全部位置。而一个主存相当于多少个Cache呢?用主存的大小除以Cache总容量,得到数据可以解读为多少个Cache,换算成二进制,幂就是高位的数目了。
假设我们有很多个Cache服务于主存。Cache之和恰好是主存大小。那么,每一个Cache的存储地址高位—Cache块号都是一模一样的,具体的行内地址这个我们不用管,反正就是和主存低位一样即可。现在我们知道主存分成一段一段的,每一段对应一个存储Cache.

但现实是Cache,这每一段都共用一个Cache,没关系,除了需要标记一下是哪一段以外,其他都相同。

回到题目中,标记容量就是这样,主存高位用了一部分表示自己是哪个Cache块,这个标记要和谁比较才有用?
所以在Cache中必然需要提供这样一个标记:主存高位的块标记。
也即,我们需要从主存地址推导这个标记位数。

然后再看其他的Cache需要用到的标记:有效位,脏位,替换算法控制等。这一般会被告知,最起码的要有一个有效位。
这也是本题中说的:1位有效位。

理论说完,看运用。按字节编址,256MB = 2^8 * 2^20 = 2^28B ==》 28位主存地址
Cache64B=26B==>6

  • 36
    点赞
  • 102
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
本科生期末试卷十一 一.选择题(每小题1分,共10分) 1.目前大多数集成电路生产中,所采用的基本材料为___a___。 A.单晶硅 B.非晶硅 C.锑化钼 D.硫化镉 2. 用16位字长(其中一位符号位)表示定点小数时,所能表示的数值范围是___c___。 A.0≤│N│≤1-2-(16+1) B.0≤│N│≤1-2-16 C.0≤│N│≤1-2-(16-1) D.0≤│N│≤1 3. 运算器虽有许多部件组成,但核心部件是___b___。 A.数据总线 B.算术逻辑运算单元 C.多路开关 D.累加寄存器 4. 某计算机字长32位,其存储容量为4MB,若按字编址,它的寻址范围是___a___。 A.0--1M B.0--4MB C.0--4M D.0-¬-1MB 5. 常用的虚拟存贮系统由___a___两级存贮器组成,其中辅存是大容量的磁表面存贮器。 A.主存-辅存 B.快存-主存 C.快存-辅存 D.通用寄存器-主存 6. 单地址指令中为了完成两个数的算术运算,除地址码指明的一个操作数以外,另一个数常需采用___c___。 A.堆栈寻址方式 B.立即寻址方式 C.隐含寻址方式 D.间接寻址方式 7. 为确定下一条微指令的地址,通常采用断定方式,其基本思想是___c___。 A.用程序计数器PC来产生后继微指令地址 B.用微程序计数器μPC来产生后继微指令地址 C.通过微指令顺序控制字段由设计者指定或由设计者指定的判别字段控制产生后继微指令地址 D.通过指令中指定一个专门字段来控制产生后继微指令地址 8. 描述PCI总线中基本概念不正确的句子是___c_d__。 A.PCI总线是一个与处理器无关的高速外围总线 B.PCI总线的基本传输机制是猝发式传送 C.PCI设备一定是主设备 D.系统中只允许有一条PCI总线 9. 为了使设备相对独立,磁盘控制器的功能全部转移到设备中,主机与设备间采用____a__接口。 A.SCSI B.专用 C.ESDI D.RISC 10. I/O标准接口SCSI中,一块主适配器可以连接___b___台具有SCSI接口的设备。 A.6 B.7 C.8 D.10 二.填空题(每小题3分,共24分) 1.IEEE754标准,一个浮点数由A___符号位___、阶码E、尾数M三个域组成。其中阶码E的值等于指数的B___真值___加上一个固定C___偏移量___。 2. 相联存储器不按地址而是按A___内容___访问的存储器,在cache中用来存放B___行地址表___,在虚拟存储器中用来存放C___页表快表___。 3. 指令操作码字段表征指令的A___操作特性和功能___,而地址码字段指示B___操作数地址___。微小型机中多采用C___二地址 单地址 0地址___混合方式的指令格式。 4. CPU从A___存储器___取出一条指令并执行这条指令的时间和称为B___取指周期___。由于各种指令的操作功能不同,各种指令的时间和是不同的,但在流水线CPU中要力求做到C___一致___。 5. 微型计算机的标准总线从16位的A___ISA___总线发展到32位的B___eisa___总线,又进一步发展到64位的C___pci___总线。 6. 显示适配器作为CRT和CPU的接口由A___刷新___存储器、B___显示___控制器、C___rombios___三部分组成。 7. 根据地址格式不同,虚拟存贮器分为A___页式___、B___段式___和C___段页式___三种。 8. CPU从主存取出一条指令并执行该指令的时间叫做A___取指周期___,它常用若干个B___机器周期___来表示,而后者又包含有若干个C___时钟周期___。 三.应用题 1.(11 分)图B11.1为某ALU部件的内部逻辑图,图中S0、S1为功能选择控制端,Cin为最低位的进位输入端,A(A1-A4)和B(B1-B4)是参与运算的两个数,F(F1-F4)为输出结果,试分析在S0,S1,Cin各种组合条件下输出F和输入A,B,Cin的算术关系。 图B11.1 2.(11分)设有两个浮点数x=2Ex×Sx,y=2Ey×Sy,Ex=(-10)2,Sx=(+0.1001)2,Ey=(+10)2,Sy=(+0.1011)2。若尾数4位,数符1位,阶码2位,阶符1位,求x+y=?并写出运算步骤及结果。 3.(11分)机字长32位,常规设计的存储空间≤32M,若将存储空间扩展到256M, 请提出一种可能方案。 4.(11分)今有4级流水线分别完成取值、指令译码并取数、运算、送结果四步操作, 今假设完成各步操作的时间依次为100ns,100ns,80ns,50ns。 请问:(1)流水线的操作周期应设计为多少? (2)若相邻两条指令发生数据相关,而且在硬件上不采取措施,那么第二条指令要推迟多少时间进行。 (3)如果在硬件设计上加以改进,至少需推迟多少时间? 5.(11分)画出PCI总线结构框图,说明HOST总线、PCI总线、LAGACY总线的功能。 6.(11分)若设备的优先级依次为CD-ROM、扫描仪、硬盘、磁带机、打印机,请用标 准接口SCSI进行配置,画出配置图。
根据引用\[1\]和引用\[2\]的内容,计算Cache的容量可以通过以下步骤进行: 1. 首先,确定主存块的大小和Cache行的大小是相等的。 2. 然后,将主存的总容量除以Cache行的大小,得到可以解读为多少个Cache的数据。 3. 将这个结果转换为二进制形式,可以得到高位的数目,即Cache的数目。 另外,根据引用\[3\]的内容,Cache的容量还可以通过计算Cache标记位数、数据位数和其他位数的和来得到。其中,Cache标记位数用于找到对应的主存块,数据位数对应主存中的数据,其他位数包括一些有效位和修改位等。 综上所述,计算Cache的容量可以根据主存块大小和Cache行大小相等的关系,或者通过计算Cache标记位数、数据位数和其他位数的和来得到。 #### 引用[.reference_title] - *1* [深入研读Cache存储计算](https://blog.csdn.net/u011240016/article/details/52690297)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [[计算机组成原理,Cache总容量的计算方法]假设主存地址位数是32位,按字节编址,贮存和Cache采用全相联映射...](https://blog.csdn.net/getture/article/details/126407436)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值