(b)直接映射的cache检索过程000011011000001(a)组相联映射示意图120页PPT
- 格式:ppt
- 大小:16.35 MB
- 文档页数:120
CACHE深入介绍Cache是我们经常关心的话题,K6-Ⅲ的推出引出了一种全新的缓存结构即Tri-level Cache设计思想。
那么对于微机系统而言,Cache到底有什么作用?它的工作原理又是如何的呢?·使用Cache的必要性所谓Cache即高速缓冲存储器,它位于CPU与主存即DRAM(Dynamic RAM动态存储器)之间,是通常由SRAM(Static RAM静态存储器)构成的规模较小但存取速度很快的存储器。
目前计算机主要使用的内存为DRAM,它具有价格低、容量大等特点,但由于使用电容存储信息,存取速度难以提高,而CPU每执行一条指令都要访问一次或多次主存,DRAM的读写速度远低于CPU速度,因此为了实现速度上的匹配,只能在CPU指令周期中插入wait状态,高速CPU处于等待状态将大大降低系统的执行效率。
SRAM由于其采用了与CPU相同的制作工艺,因此与DRAM相比,它的存取速度快,但体积大、功耗大,价格很高,不可能也不必要将所有的内存都采用SRAM。
因此为了解决速度与成本的矛盾就产生了一种分级处理的方法,即在主存和CPU之间加装一个容量相对较小的SRAM作为高速缓冲存储器;当采用Cache 后,在Cache中保存着主存中部分内容的副本(称为存储器映象),CPU在读写数据时,首先访问Cache (由于Cache的速度与CPU相当,所以CPU可以在零等待状态下完成指令的执行),只有当Cache中无CPU所需的数据时(这称之"未命中",否则称为"命中"),CPU才去访问主存。
而目前大容量Cache 能使CPU访问Cache命中率高达90%-98%,从而大大提高了CPU访问数据的速度,提高了系统的性能。
·使用Cache的可行性对大量的典型程序的运行情况分析结果表明,在一个较短的时间内,由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内。
一.名词解释2:1Cache经验规则:大小为N得直接印象Cache得失效率约等于大小为N/2得两路组相联Cache得失效率。
通道处理机:通道得专用处理机,来专门负责整个计算机体系得输入/输出工作。
通道处理机只能执行有限得一组输入/输出指令。
透明性:在计算机技术中,把这种本来存在得事物或属性,但从某种角度瞧又好像不存在得概念称为透明性。
向量处理机:设置了向量数据表示与相应得向量指令得流水线处理机称为向量处理机。
虚拟Cache:直接用虚拟地址进行访问得Cache计算机系统结构:传统机器程序员所瞧到得计算机属性,即概念性结构与功能特性。
系列机:由同一厂家生产得具有相同系统结构、但具有不同组成与实现得一系列不同型号得计算机。
同构型多处理机系统:由多个同类型或至少担负同等功能得处理机组成,它们同时处理同一作业中能并行执行得多个任务。
堆栈型机器:CPU 中存储操作数得单元就是堆栈得机器。
累加器型机器:CPU 中存储操作数得单元就是累加器得机器。
通用寄存器型机器:CPU 中存储操作数得单元就是通用寄存器得机器。
数据相关:考虑两条指令i与j,i在j得前面,如果下述条件之一成立,则称指令j与指令i数据相关:(1)指令j使用指令i产生得结果;(2)指令j与指令k数据相关,而指令k又与指令i数据相关。
定向:用来解决写后读冲突得。
在发生写后读相关得情况下,在计算结果尚未出来之前,后面等待使用该结果得指令并不见得就是马上就要用该结果。
如果能够将该计算结果从其产生得地方直接送到其它指令需要它得地方,那么就可以避免停顿。
指令级并行:简称ILP。
就是指指令之间存在得一种并行性,利用它,计算机可以并行执行两条或两条以上得指令。
指令得动态调度:就是指在保持数据流与异常行为得情况下,通过硬件对指令执行顺序进行重新安排,以提高流水线得利用率且减少停顿现象。
就是由硬件在程序实际运行时实施得。
指令得静态调度:就是指依靠编译器对代码进行静态调度,以减少相关与冲突。
“计算机组织结构”作业02参考答案任桐炜rentw@1.一个组关联Cache由64个行组成,每组4行。
主存储器包含4K个块,每块128字,请表示主存地址的格式。
由每块128字得到块内地址长7位,64行每组4行得一共16组,需要4位表示,标记需要12(4K)-4(组号)=8位2.一个两路组关联的Cache具有8K字节的容量,每行16字节。
64M字节的主存时字节可寻址的(即以字节为单位进行访问)。
请给出主存地址格式。
根据每行16个字节,算出块内地址为4;根据2^9行和2路组,算出组号为8位;根据主存为64M。
即:[花霞,121250049]3.假设Cache有4K字,每行32字。
对十六进制主存地址:111111、666666、BBBBBB,请用十六进制格式表示如下信息:(1)直接映射Cache的地址格式,(2)全关联映射Cache 的地址格式,(3)两路组关联Cache的地址格式。
(提示:每个映射方式下,需要将标记、块内地址等分开表示。
)[刘璟121250083]1)共6位说明地址长24,cache一共有4K/32=2^7行,即标记12行号7块内地址52)块号194.计算机系统包含容量为32K×16位的主存,按字编址,每字16位。
Cache采用4路组关联的映射方式,数据区大小为4K字,主存块大小为64字。
假设Cache初始时是空的,处理器顺序地从存储单元(每个存储单元中包含1个字)0,1,…,4351中取数,然后再重复这一顺序9次,并且Cache的速度是主存的10倍,同时假设块替换用LRU算法。
请说明使用Cache后的改进。
主存地址为:标记5,组号4,块内地址64352/64=68,即在前68块中操作10次,第一个轮回68次全部未命中,第二个轮回0,1,2,3四个组分别有编号未命中,未命中号为:0,1,2,3,16,17,18,19,32,33,34, 35,48,49,50,51,64,65,66,67共20次(因为只有四路,所以读取64~67的时候替换0,1,2,3那一路,下一次读取0,1,2,3的时候因为是LRU就去替换16~19那一路,,以下类推,轮番替换,所以上面这20个数是永远未命中的)得命中率为P=(4352*10-68-20*9)/43520=99.43%设cache的读取时间为T,则主存的读取时间为10T,则使用缓存后,系统效率提高到原来的N倍,N为:N= 10T/(T+10*0.0057T)=9.55.考虑一个每行16个字节的4行Cache,主存按每块16个字节划分,即块0有地址0到15的16个字节,等等。
第5章存储层次1. 单级存储器的主要矛盾是什么?通常采取什么方法来解决?主要矛盾:(1) 速度越快,每位价格就越高。
(2) 容量越大,每位价格就越低。
(3) 容量越大,速度越慢。
采取多级存储层次方法来解决。
2. 评价存储层次的主要参数有哪些?存储层次的平均每位价格、命中率或失效率、平均访问时间。
3. “Cache-主存”和“主存-辅存”层次的主要区别是什么?4. 在存储层次中应解决哪四个问题?(1)映像规则:当把一个块调入高一层存储器时,可以放到哪些位置上。
(2)查找算法:当所要访问的块在高一层存储器中时,如何找到该块。
(3)替换算法:当发生失效时,应替换哪一块。
(4)写策略:当进行写访问时,应进行哪些操作。
5. 地址映像方法有哪几种?它们各有什么优缺点?(1)全相联映像。
实现查找的机制复杂,代价高,速度慢。
Cache空间的利用率较高,块冲突概率较低,因而Cache的失效率也低。
(2)直接映像。
实现查找的机制简单,速度快。
Cache空间的利用率较低,块冲突概率较高,因而Cache的失效率也高。
(3)组相联映像。
组相联是直接映像和全相联的一种折中。
6. 组相联Cache比相同容量的直接映像Cache的失效率低。
由此是否可以得出结论:采用组相联Cache一定能带来性能上的提高?为什么?不一定。
因为组相联命中率的提高是以增加命中时间为代价的,组相联需要增加多路选择开关。
7. Cache中,有哪两种实现并行查找的方法?(1)用相联存储器实现。
(2)用单体多字存储器和比较器来实现。
8. 替换算法有哪几种?它们各有什么优缺点?(1)随机法:简单、易于用硬件实现,但这种方法没有考虑Cache块过去被使用的情况,反映不了程序的局部性,所以其失效率比LRU的高。
(2)先进先出法:容易实现。
它虽然利用了同一组中各块进入Cache的顺序这一“历史”信息,但还是不能正确地反映程序的局部性。
(3)最近最少使用法LRU:失效率最低。
2021年辽宁警察学院计算机应用技术专业《计算机组成原理》科目期末试卷A(有答案)一、选择题1、关于Cache的3种基本映射方式,下面叙述中错误的是()。
A.Cache的地址映射有全相联、直接和多路组相联3种基本映射方式B.全相联映射方式,即主存单元与Cache单元随意对应,线路过于复杂,成本太高C.多路组相联映射是全相联映射和直接映射的一种折中方案,有利于提高命中率D.直接映射是全相联映射和组相联映射的一种折中方案,有利于提高命中率2、某C语言程序段如下:for(i=0;i<9;i++){temp=1;for(j=0;j<=i;j++)temp+=a[J];sum+=temp;}下列关于数组a的访问局部性的描述中,正确的是()。
A.时间局部性和空间局部性皆有B.无时间局部性,有空间局部性C.有时间局部性,无空间局部性D.时间局部性和空间局部性皆无3、用海明码对长度为8位的数据进行检/纠错时,若能纠正一位错,则校验位数至少为()。
A.2B.3C.4D.54、设x为整数,[x]补=1.x1x2x3x4x5,若要x<-16,x1~ x5应满足的条件是()。
A. x1~ x5至少有一个为1B.x1必须为1,x2~x5至少有一个为1C.x1必须为0,x2~x5至少有一个为1D.x1必须为0,x2~x5任意5、计算机中表示地址时,采用()。
A.原码B.补码C.移码D.无符号数6、关于总线的叙述,下列说法正确的是()。
I.总线忙信号由总线控制器建立II.计数器定时查询方式不需要总线同意信号III.链式查询、计数器查询、独立请求方式所需控制线路由少到多排序是:链式查询、独立请求方式、计数器查询A.仅I、IIIB.仅II,IIIC.仅IIID.仅II7、总线的半同步通信方式是()。
A.既不采用时钟信号,也不采用握手信号B.只采用时钟信号,不采用握手信号C.不采用时钟信号,只采用握手信号D.既采用时钟信号,又采用握手信号8、()可区分存储单元中在放的是指令还是数据。
全相联映射是指主存中任一块都可以映射到Cache中任一块的方式,也就是说,当主存中的一块需调入Cache时,可根据当时Cache 的块占用或分配情况,选择一个块给主存块存储,所选的Cache块可以是Cache中的任意一块。
例如,设Cache共有2C块,主存共有2M 块,当主存的某一块j需调进Cache中时,它可以存入Cache的块0、块1、…、块i、… 或块2C -1的任意一块上。
如图4-28所示。
在全相联映射方式下,CPU的访主存地址为如下形式:其中,M为主存的块号,W为块内的字号。
而CPU访Cache的地址形式为:其中,C为Cache的块号,W为块内的字号。
主存地址到Cache地址的转换是通过查找一个由相联存储器实现的块表来完成的,其形成过程如图4-29示。
匸存地址(.\ichci = j mod 2C(4.2)图4-29全相联映射的地址转换当一个主存块调入Cache 中时,会同时在一个存储主存块号和 Cache 块号映射表的相联存储器中进行登记。
CPU 访存时,首先,根 据主存地址中的主存块号 M 在相联存储器中查找Cache 块号,若找 到,则本次访Cache 命中,于是将对应的Cache 块号取出,并送访 Cache 地址的块号C 字段;紧接着将主存地址的块内字号 W 直接送 Cache 地址的块内字号 W 字段,从而形成一个访 Cache 的地址;最 后根据该地址完成对Cache 单元的访问.全相联映射方式的优点是 Cache 的空间利用率高,但缺点是相联 存储器庞大,比较电路复杂,因此只适合于小容量的Cache 之用。
2.直接相联映射直接相联映射方式是指主存的某块j 只能映射到满足如下特定关 系的Cache 块i 中:MW十存块号 Cached 号Hl联存储器JiJtO上图中,主存的第0、2C、2C+1、… 块只能映射到Cache的第0块,主存的第1、2C+1、2C+1+1>… 块只能映射到Cache的第1块,.... ,主存的第2C-1、2C+ /、…2M-1块只能映射到Cache的第2C-1 块。
1、解:页大小为4KB=212B,页内地址为[11:0]位。
cache容量64KB=216B,地址范围为[15:0];cache块大小为32B=25B,地址范围为[4:0]。
1)直接相联:cache索引位数为地址的[15:5],需要页着色的是地址[15:12],共4位;2)二路组相联:cache索引位数为地址的[14:5],需要页着色的是地址[14:12],共3位;3)四路组相联:cache索引位数为地址的[13:5],需要页着色的是地址[13:12],共2位。
2、解:MissPenalty L1=HitTime L2 + MissPenalty L2 × MissRate L21)直接相联:MissPenalty L1=4 + 60 × 25% = 19个时钟周期2)2路组相联:MissPenalty L1=5 + 60 × 20% = 17个时钟周期3)4路组相联:MissPenalty L1=6 + 60 × 15% = 15个时钟周期3、解:1)MissRate = CacheMissOps/MemOps每1000条指令中load/store指令的条数是1000×(26%/74%)=35132KB指令cache MissRate为0.0015;32KB数据cache MissRate为38/351=0.1083指令cache和数据cache各32KB的MissRate = (1.5 + 38)/(1000+351) = 0.029264KB一体cache的MissRate = 40/(1000+351) = 0.0296所以指令cache和数据cache各32KB组织方式缺失率更低2)指令cache和数据cache各32KB的AMAT =1+0.0292×100=3.9264KB一体cache的AMAT =1+0.0296×100=3.964、解:5、答:包含式cache关系中一级cache的内容是二级cache内容的真子集;非包含式cache关系中一级cache的内容与二级cache内容无交集。
第 五 章5.34 在一个采用组相联映象方式的Cache 存储系统中,主存由B 0~B 7共8块组成,Cache 有2组,每组2块,每块大小为16B 。
在一个程序执行过程中,访存的主存块地址流为:B 6,B 2,B 4,B 1,B 4,B 6,B 3,B 0,B 4,B 5,B 7,B 3。
(1)写出主存地址的格式,并标出各字段的长度。
(2)写出Cache 地址的格式,并标出各字段的长度。
(3)指出主存与Cache 之间各个块的映象关系。
(4)若Cache 的4个块号为C 0、C 1、C 2和C 3,列出程序执行过程中的Cache 块地址流。
(5)若采用FIFO 替换算法,计算Cache 的块命中率。
(6)若采用LRU 替换算法,计算Cache 的块命中率。
(7)若改为全相联映象方式,再做(5)和(6)。
(8)若在程序执行过程中,每从主存装入一块到Cache ,平均要对这个块访问16次,计算在这种情况下的Cache 命中率。
解:(1)(2)采用组相联映象时,主存和Cache 地址的格式分别为:主存按Cache 的大小分区,现主存有8个块,Cache 有2×2=4个块,则主存分为8/4=2个区,区号E 的长度为1位。
又每区有2个组,则组号G 、g 的长度都为1位。
而每组有2个块,则块号B 、b 的长度又都为1位。
每块大小为16个存储字,故块内地址W 、w 的长度都为4位。
(3)根据组相联映象的规则,主存块0~7与Cache 块0~3之间的映象关系为:主存块0、1、4、5与Cache 块0、1之间全相联,主存块2、3、6、7与Cache 块2、3之间全相联。
(4)根据组相联映象的规则,该主存块地址流相应的一种Cache 块地址流如下表所示(组内替换算法为FIFO )。
时间: 1 2 3 4 5 6 7 8 9 10 11 12主存块地址流: B 6 B 2 B 4 B 1 B 4 B 6 B 3 B 0 B 4 B 5 B 7 B 3 Cache 块地址流: C 2 C 3 C 0 C 1 C 0 C 2 C 2 C 0 C 0 C 0 C 3 C 2(5)组内替换算法采用FIFO 时,Cache 块0~3的使用过程如下表所示。
2021年南昌交通学院计算机科学与技术专业《计算机组成原理》科目期末试卷A(有答案)一、选择题1、四地址指令OPA1A2A3A4的功能为(A1)OP(A2)一A3,且A4给出下一条指令地址,假设A1,A2,A3,A4都为主存储器地址,则完成上述指令需要访存()次。
A.2B.3C.4D.52、某指令系统有200条指令,对操作码采用固定长度二进制编码时,最少需要用()A.4B.8C.16D.323、某机器字长为8位,采用原码表示法(其中一位为符号位),则机器数所能表示的范围是()。
A.-127~+127B.-127~+128C.-128~+127D.-128~+1284、为了表示无符号十进制整数,下列哪些是合法的8421BCD码?()I.01111001 Ⅱ.11010110 Ⅲ.00001100 Ⅳ.1000010lA.I、IⅡB.Ⅱ、ⅢC.I、ⅣD.I、Ⅱ、Ⅲ5、对于相同位数(设为N位,且各包含1位符号位)的二进制补码小数和十进制小数,(二进制小数所表示的数的个数)/(十进制小数所能表示的数的个数)为()。
A.(0.2)NB. (0.2)N-1C. (0.02)ND. (0.02)N-16、假定编译器将赋值语句“x=x+3;”转换为指令“add xaddr,3”,其中xaddr是x 对应的存储单元地址。
若执行该指令的计算机采用页式虚拟存储管理方式,并配有相应的TLB,且Cache使用直写(Write Trough)方式,则完成该指令功能需要访问主存的次数至少是()。
A.0B.1C.2D.347、在对破坏性读出的存储器进行读/写操作时,为维持原存信息不变,必须辅以的操作是()。
A.刷新B.再生C.写保护D.主存校验8、下列选项中,能缩短程序执行时间的措施是()。
1.提高CPU时钟频率Ⅱ.优化数据通路结构ll.对程序进行编译优化A.仪I、ⅡB.仅I、ⅢC.仅Ⅱ、ID.I、Ⅱ、Ⅲ9、下列关于配备32位微处理器的计算机的说法中,正确的是()。
2022年贵州建设职业技术学院计算机应用技术专业《计算机系统结构》科目期末试卷A(有答案)一、选择题1、块冲突概率最高的Cache地址映象方式是( )A.段相联B.组相联C.直接D.全相联2、计算机系统的层次结构按照由高到低的顺序分别为()。
A.高级语言机器级,汇编语言机器级,传统机器语言机器级,微程序机器级B.高级语言机器级,应用语言机器级,汇编语言机器级,微程序机器级C.应用语言机器级,传统机器语言机器级,汇编语言机器级,操作系统机器级D.应用语言机器级,操作系统机器级,微程序机器级,传统机器语言机器级3、CRAY-I的流水线是( )A.多条单功能流水线B.一条单功能流水线C.多条多功能流水线D.一条多功能流水线4、下列说法正确的是( )A.Cache容量一般不大,命中率不会很高B.Cache芯片速度一般比CPU的速度慢数十倍C.Cache本身速度很快。
但地址变换的速度很慢D.Cache存贮器查映象表和访问物理Cache其间可以流水,使速度与CPU匹配5、静态流水线是指( )A.只有一种功能的流水线B.功能不能改变的流水线C.同时只能完成一种功能的多功能流水线D.可同时执行多种功能的流水线6、目前,MO由()实现,M1用()实现,M2至M5大多用()实现。
A.软件,固件,硬件B.固件,软件,硬件C.硬件,软件,固件D.硬件,固件,软件7、以下说法不正确的是( )A.线性流水线是单功能流水线B.动态流水线是多功能流水线C.静态流水线是多功能流水线D.动态流水线只能是单功能流水线8、在多用户机器上,应用程序员不能使用的指令是()A.“执行”指令B.“访管”指令C.“启动IO”指令D“测试与置定”指令9、多处理机的各自独立型操作系统()。
A.要求管理程序不必是可再入的B.适合于紧耦合多处理机C.工作负荷较平衡D.有较高的可靠性10、费林按指令流和数据流的多倍性把计算机系统分类,这里的多倍性指()。