(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:失效率最低。