《存储层次》PPT课件.ppt
《《存储层次》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《存储层次》PPT课件.ppt(84页珍藏版)》请在三一办公上搜索。
1、第11章 存储层次张晨曦 刘依www.GotoS,11.1存储系统的层次结构11.2Cache基本知识11.3降低Cache不命中率11.4减少Cache不命中开销11.5减少命中时间,计算机系统结构设计中关键的问题之一:如何以合理的价格,设计容量和速度都满足计算机系统要求的存储器系统?人们对这三个指标的要求 容量大、速度快、价格低三个要求是相互矛盾的速度越快,每位价格就越高;容量越大,每位价格就越低;容量越大,速度越慢。,11.1 存储系统的层次结构,11.1.1 存储系统的层次结构,11.1 存储系统的层次结构,解决方法:采用多种存储器技术,构成多级存储层次结构。程序访问的局部性原理:对于
2、绝大多数程序来说,程序所访问的指令和数据在地址上不是均匀分布的,而是相对簇聚的。程序访问的局部性包含两个方面 时间局部性:程序马上将要用到的信息很可能就是现在正在使用的信息。空间局部性:程序马上将要用到的信息很可能与现在正在使用的信息在存储空间上是相邻的。,11.1 存储系统的层次结构,存储系统的多级层次结构,多级存储层次,11.1 存储系统的层次结构,假设第i个存储器Mi的访问时间为Ti,容量为Si,平均每位价格为Ci,则访问时间:T1 C2 Cn 整个存储系统要达到的目标:从CPU来看,该存储系统的速度接近于M1的,而容量和每位价格都接近于Mn的。存储器越靠近CPU,则CPU对它的访问频度
3、越高,而且最好大多数的访问都能在M1完成。,11.1 存储系统的层次结构,在存储层次中,各存储器之间一般满足包容关系,即任何一层存储器中的内容都是其下一层(离CPU更远的一层)存储器中内容的子集。CPU与M1之间传送信息一般是以字为单位,M1以外(含M1)的相邻存储器之间一般以块或页面为单位传送信息。,11.1 存储系统的层次结构,下面仅考虑由M1和M2构成的两级存储层次:M1的参数:S1,T1,C1M2的参数:S2,T2,C2,11.1.2 存储系统的性能参数,11.1 存储系统的层次结构,存储容量S一般来说,整个存储系统的容量即是第二级存储器M2的容量,即S=S2。每位价格C当S1S2时,
4、CC2。,11.1 存储系统的层次结构,命中率H 命中率:CPU访问存储系统时,在M1中找到所需信息的概率。N1 访问M1的次数N2 访问M2的次数 不命中率:F1H,11.1 存储系统的层次结构,平均访问时间TA TA HT1(1H)(T1TM)T1(1H)TM 或 TA T1FTM分两种情况来考虑CPU的一次访存:当命中时,访问时间即为T1(命中时间)当不命中时,情况比较复杂。不命中时的访问时间为:T2TBT1T1TM TM T2TB不命中开销TM:从向M2发出访问请求到把整个数据块调入M1中所需的时间。传送一个信息块所需的时间为TB。,11.1 存储系统的层次结构,三级存储系统Cache
5、(高速缓冲存储器)主存储器磁盘存储器(辅存)可以看成是由“Cache主存”层次和“主存辅存”层次构成的系统。,11.1.3 三级存储系统,11.1 存储系统的层次结构,从主存的角度来看“Cache主存”层次:弥补主存速度的不足“主存辅存”层次:弥补主存容量的不足“Cache主存”层次主存与CPU的速度差距“Cache-主存”层次“主存辅存”层次两者的比较,11.1 存储系统的层次结构,1980年以来存储器和CPU性能随时间而提高的情况(以1980年时的性能作为基准),11.1 存储系统的层次结构,两种存储层次,11.1 存储系统的层次结构,存储层次,CPU对第二级的访问方式,比较项目,目的,存
6、储管理实现,访问速度的比值(第一级和第二级),典型的块(页)大小,不命中时CPU是否切换,“Cache 主存”层次,“主存辅存”层次,为了弥补主存速度的不足,为了弥补主存容量的不足,主要由专用硬件实现,主要由软件实现,几比一,几万比一,几十个字节,几百到几千个字节,可直接访问,均通过第一级,不切换,切换到其他进程,“Cache主存”与“主存辅存”层次的区别,11.1 存储系统的层次结构,当把一个块调入高一层(靠近CPU)存储器时,可以放在哪些位置上?(映象规则)当所要访问的块在高一层存储器中时,如何找到该块?(查找算法)当发生不命中时,应替换哪一块?(替换算法)当进行写访问时,应进行哪些操作?
7、(写策略),11.1.4 存储层次的四个问题,Cache和主存分块Cache是按块进行管理的。Cache和主存均被分割成大小相同的块。信息以块为单位调入Cache。主存块地址(块号)用于查找该块在Cache中的位置。块内位移用于确定所访问的数据在该块中的位置。,11.2 Cache基本知识,基本结构和原理,Cache的基本工作原理示意图,映象规则,全相联映象 全相联:主存中的任一块可以被放置到Cache中的任意一个位置。对比:阅览室位置 随便坐直接映象 直接映象:主存中的每一块只能被放置到Cache中唯一的一个位置。(循环分配),11.2 Cache基本知识,11.2 Cache基本知识,11
8、.2 Cache基本知识,对比:阅览室位置 只有一个位置可以坐对于主存的第i 块,若它映象到Cache的第j 块,则:ji mod(M)(M为Cache的块数)设M=2m,则当表示为二进制数时,j实际上就是i的低m位:,j,i:,m位,11.2 Cache基本知识,组相联映象 组相联:主存中的每一块可以被放置到Cache中唯一的一个组中的任何一个位置。组相联是直接映象和全相联的一种折衷,11.2 Cache基本知识,组的选择常采用位选择算法若主存第i 块映象到第k 组,则:ki mod(G)(G为Cache的组数)设G2g,则当表示为二进制数时,k 实际上就是i 的低 g 位:低g位以及直接映
9、象中的低m位通常称为索引。,k,i:,g位,11.2 Cache基本知识,n 路组相联:每组中有n个块(nM/G)。n 称为相联度。相联度越高,Cache空间的利用率就越高,块冲突概率就越低,不命中率也就越低。绝大多数计算机的Cache:n 4想一想:相联度一定是越大越好?,全相联,直接映象,组相联,n(路数),G(组数),M,M,1,1,1nM,1GM,11.2 Cache基本知识,当CPU访问Cache时,如何确定Cache中是否有所要访问的块?若有的话,如何确定其位置?通过查找目录表来实现目录表的结构主存块的块地址的高位部分,称为标识。每个主存块能唯一地由其标识来确定,11.2.3 查找
10、算法,11.2 Cache基本知识,Cache中设有一个目录表,每一个Cache块在该表中都有唯一的一项,用于指出当前该块中存放的信息是哪个主存块的。目录表中存放标识,所以存放目录表的存储器又称为标识存储器。目录表中给每一项设置一个有效位,用于指出Cache中的块是否包含有效信息。只需查找候选位置所对应的目录表项候选位置:根据映象规则不同,一个主存块可能映象到Cache中的一个或多个Cache块的位置。直接映象Cache的候选位置最少,只有一个;全相联Cache的候选位置最多,为M个;,11.2 Cache基本知识,n路组相联则介于两者之间,为n个。并行查找为了保证速度,对各候选位置的标识的检
11、查应并行进行。并行查找的实现方法相联存储器目录由2g个相联存储区构成,每个相联存储区的大小为n(h+log2n)位。根据所查找到的组内块地址,从Cache存储体中读出的多个信息字中选一个,发送给CPU。,11.2 Cache基本知识,7.2 Cache基本知识,单体多字存储器比较器 举例:路组相联并行标识比较(比较器的个数及位数)路组相联Cache的查找过程优缺点不必采用相联存储器,而是用按地址访问的存储器来实现。所需要的硬件为:大小为2g nh位的存储器和n个h位的比较器。当相联度n增加时,不仅比较器的个数会增加,而且比较器的位数也会增加。,11.2 Cache基本知识,11.2 Cache
12、基本知识,例子:DEC的Alpha AXP21064中的内部数据Cache简介容量:8KB块大小:32B块数:256映象方法:直接映象写缓冲器大小:4个块,11.2.4 Cache的工作过程,11.2 Cache基本知识,结构图,11.2 Cache基本知识,工作过程“读”访问命中(完成4步需要2个时钟周期)Cache的容量与索引index、相联度、块大小之间的关系 Cache的容量=2index相联度块大小 把容量为8192、相联度为1、块大小为32(字节)代入:索引index:8位 标识:29821位“写”访问命中,11.2 Cache基本知识,设置了一个写缓冲器(提高“写”访问的速度)按
13、字寻址的,它含有4个块,每块大小为4个字。当要进行写入操作时,如果写缓冲器不满,那么就把数据和完整的地址写入缓冲器。对CPU而言,本次“写”访问已完成,CPU可以继续往下执行。由写缓冲器负责把该数据写入主存。在写入缓冲器时,要进行写合并检查。即检查本次写入数据的地址是否与缓冲器内某个有效块的地址匹配。如果匹配,就把新数据与该块合并。,11.2 Cache基本知识,发生读不命中与写不命中时的操作读不命中:向CPU发出一个暂停信号,通知它等待,并从下一级存储器中新调入一个数据块(32字节)。写不命中:将使数据“绕过”Cache,直接写入主存。对比:Alpha AXP 21264的数据Cache结构
14、容量:64KB 块大小:64字节 LRU替换策略 主要区别采用2路组相联采用写回法 没有写缓冲器,11.2 Cache基本知识,所要解决的问题:当新调入一块,而Cache又已被占满时,替换哪一块?直接映象Cache中的替换很简单 因为只有一个块,别无选择。在组相联和全相联Cache中,则有多个块供选择。主要的替换算法有三种随机法随机地选择被替换的块 优点:实现简单,11.2.5 替换算法,11.2 Cache基本知识,先进先出法FIFO选择最早调入的块作为被替换的块。优点:容易实现。最近最少使用法LRU选择近期最少被访问的块作为被替换的块。(实现比较困难)实际上:选择最久没有被访问过的块作为被
15、替换的块。优点:命中率较高LRU和随机法分别因其不命中率低和实现简单而被广泛采用。模拟数据表明,对于容量很大的Cache,LRU和随机法的命中率差别不大。,11.2 Cache基本知识,“写”在所有访存操作中所占的比例 统计结果表明,对于一组给定的程序:load指令:26store指令:9“写”在所有访存操作中所占的比例:9/(100269)7“写”在访问Cache操作中所占的比例:9/(269)25,11.2.6 写策略,11.2 Cache基本知识,“写”操作必须在确认是命中后才可进行“写”访问有可能导致Cache和主存内容的不一致两种写策略写策略是区分不同Cache设计方案的一个重要标志
16、。写直达法(也称为存直达法)执行“写”操作时,不仅写入Cache,而且也写入下一级存储器。写回法(也称为拷回法)执行“写”操作时,只写入Cache。仅当Cache中相应的块被替换时,才写回主存。(设置“修改位”),11.2 Cache基本知识,两种写策略的比较写回法的优点:速度快,所使用的存储器带宽较低。写直达法的优点:易于实现,一致性好。采用写直达法时,若在进行“写”操作的过程中CPU必须等待,直到“写”操作结束,则称CPU写停顿。减少写停顿的一种常用的优化技术:采用写缓冲器,11.2 Cache基本知识,“写”操作时的调块按写分配(写时取)写不命中时,先把所写单元所在的块调入Cache,再
17、行写入。不按写分配(绕写法)写不命中时,直接写入下一级存储器而不调块。写策略与调块写回法 按写分配写直达法 不按写分配,11.2 Cache基本知识,不命中率与硬件速度无关容易产生一些误导平均访存时间平均访存时间 命中时间不命中率不命中开销,11.2.7 Cache的性能分析,程序执行时间CPU时间(CPU执行周期数+存储器停顿周期数)时钟周期时间其中:存储器停顿时钟周期数“读”的次数读不命中率读不命中开销“写”的次数写不命中率写不命中开销存储器停顿时钟周期数访存次数不命中率不命中开销,CPU时间(CPU执行周期数+访存次数不命中率不命中开销)时钟周期时间,=IC(CPIexecution每条
18、指令的平均访存次数不命中率 不命中开销)时钟周期时间,11.2 Cache基本知识,例11.1 用一个和Alpha AXP类似的机器作为第一个例子。假设Cache不命中开销为50个时钟周期,当不考虑存储器停顿时,所有指令的执行时间都是2.0个时钟周期,访问Cache不命中率为2%,平均每条指令访存1.33次。试分析Cache对性能的影响。解 CPU时间有cacheIC(CPIexecution每条指令的平均访存次数 不命中率不命中开销)时钟周期时间 IC(2.01.332%50)时钟周期时间 IC 3.33 时钟周期时间,11.2 Cache基本知识,考虑Cache的不命中后,性能为:CPU时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 存储层次 存储 层次 PPT 课件
链接地址:https://www.31ppt.com/p-5491737.html