体系结构ch7

上传人:子 文档编号:51972840 上传时间:2018-08-17 格式:PPT 页数:169 大小:2.97MB
返回 下载 相关 举报
体系结构ch7_第1页
第1页 / 共169页
体系结构ch7_第2页
第2页 / 共169页
体系结构ch7_第3页
第3页 / 共169页
体系结构ch7_第4页
第4页 / 共169页
体系结构ch7_第5页
第5页 / 共169页
点击查看更多>>
资源描述

《体系结构ch7》由会员分享,可在线阅读,更多相关《体系结构ch7(169页珍藏版)》请在金锄头文库上搜索。

1、7.2 Cache基本知识 7.3 降低Cache不命中率 7.4 减少Cache不命中开销7.1 存储系统的基本知识7.5 减少命中时间 7.6 并行主存系统 7.7 虚拟存储器 7.8 进程保护和虚存实例 7.9 AMD Opteron的存储层次结构7.1.1 从单级存储器到多级存储器1. 从用户的角度来看,存储器的三个主要指标是:容量,速度,价格(每位价格)2. 人们对这三个指标的期望3. 这三个指标相互矛盾4. 解决方法采用多种存储器技术,构成存储层次。演示 演示 (局部性原理)7.1 存储系统的基本知识7.1.2 存储层次的性能参数C,H,TA假设:S 容量TA 访问时间C 每位价格

2、下面仅考虑由M1和M2构成的两级存储层次:M1的参数:S1,TA1,C1M2的参数:S2,TA2,C21. 每位价格C C C1S1C2S2 S1S2若存储器结构如下:提问:请问:设访问M1时间TA1,访问M2时间TA2,传送 一个数据块的时间TB,则当不命中M1时的访 问时间是多少?为什么?若存储器结构如下:提问:请问:设访问M1时间TA1,访问M2时间TA2,传送 一个数据块的时间TB,则当不命中M1时的访 问时间是多少?为什么?TA1 + TA2 + TB3. 平均访问时间 TATATA1(1H )TM或 TATA1F TMTA1 命中时间TM 失效开销2. 命中率 H 和失效率 FHN

3、1/(N1N2)N1 访问M1的次数N2 访问M2的次数失效率F1H例题:CPU执行一段程序时,Cache完成存取的次数为 5000次,主存完成存取的次数为200次。已知Cache存取 周期Tc为40ns,主存存取周期Tm为160ns。分别求(当 Cache不命中时才启动主存): (1)Cache的命中率H; (2)平均访问时间Ta; (3)Cache贮存系统的访问效率E。 解答: (1)H=Nc/(Nc+Nm)=5000/52000.96; (2)Ta=Tc+(1-H)Tm=40+0.04*160=46.4ns; (3)E=Tc/Ta=40ns/46.4ns=86.2% 注意:如果Cache

4、访问和主存访问是同时启动,则公 式改为:Ta=HTc+(1-H)Tm7.1.3 “Cache主存”和“主存辅存”层次1. 从主存的角度来看“Cache主存”层次:弥补主存速度的不足“主存辅存”层次: 弥补主存容量的不足2. “Cache主存”层次 主存与CPU的速度差距 “Cache - 主存”层次3. “主存辅存”层次两者的比较7.1.4 存储层次的四个问题1. 当把一个块调入高一层(靠近CPU)存储器时,可以放在哪些位置上?(映象规则)2. 当所要访问的块在高一层存储器中时,如何找到该块?(查找算法)3. 当发生失效时,应替换哪一块?(替换算法)4. 当进行写访问时,应进行哪些操作?(写策

5、略)7.2.1 映象规则1. 全相联映象全相联:主存中的任一块可以被放置到Cache中的任意一个位置。举例对比: 阅览室位置 随便坐特点: 空间利用率最高,冲突概率最低,实现最复杂。7.2 Cache基本知识1存储空间分割与地址计算 2Cache和主存分块2. 直接映象: 直接映象:主存中的每一块只能被放置到Cache中唯一的一个位置。 举例(循环分配) 对比:阅览室位置 只有一个位置可以坐 特点:空间利用率最低,冲突概率最高,实现最简单。 对于主存的第i 块,若它映象到Cache的第j 块,则:ji mod (M ) (M为Cache的块数) 组相联:主存中的每一块可以被放置到Cache中唯

6、一的一个组中的任何一个位置。 举例 组相联是直接映象和全相联的一种折衷 设M2m,则当表示为二进制数时,j 实际上就是i 的低m 位:3. 组相联映象:m位ji: 上述的j 和k 通常称为索引 组的选择常采用位选择算法若主存第i 块映象到第k 组,则:ki mod(G) (G为Cache的组数)设G2g,则当表示为二进制数时,k 实际上就是i 的低 g 位:g 位ki: 绝大多数计算机的Cache: n 4想一想:相联度一定是越大越好? n 路组相联:每组中有n 个块(nM/G )n 称为相联度。相联度越高,Cache空间的利用率就越高,块冲突概率就越低,失效率也就越低。 全相联 直接映象组相

7、联n (路数)G (组数)M M111nM1GM7.2.2 查找方法1. 如何确定Cache中是否有所要访问的块? 若有的话如何确定其位置? 目录表的结构 只需查找候选位置所对应的目录表项 并行查找与顺序查找 提高性能的重要思想:主候选位置(MRU块) 并行查找的实现方法: 单体多字存储器比较器举例: 路组相联并行标识比较(比较器的个数及位数) 直接映象Cache的查找过程 路相联Cache的查找过程7.2.3 替换算法所要解决的问题:当新调入一块,而Cache又已被占满时,替换哪一块?2. FIFO3. LRU优点:失效率低LRU和随机法的失效率的比较1. 随机法优点:实现简单7.2.4 写

8、策略1. “写”操作所占的比例Load指令:26Store指令:9“写”在所有访存操作中所占的比例:9/(100269)7“写”在访问Cache操作中所占的比例:9/(269)253“写”访问有可能导致Cache和主存内容的不一致2. “写”策略必须在确认命中后才进行4两种写策略(发生写命中时) 写直达法执行“写”操作时,不仅写入Cache,而且也写入下一级存储器。 写回法执行“写”操作时,只写入Cache。仅当Cache中相应的块被替换时,才写回主存。(设置“污染位”)7.两种写策略的比较写直达法的优点:易于实现,一致性好。写 回 法的优点:速度快,所使用的存储器频带较低;6. 写缓冲器:减

9、少CPU的写等待7. “写”操作时的调块(发生写失效时) 按写分配(写时取)写失效时,先把所写单元所在的块调入Cache,再行写入。 不按写分配(绕写法)写失效时,直接写入下一级存储器而不调块。存储器的指标:容量、速度和价格存储器的层次概念存储器的性能参数:1. 每位价格2. 命中率(失效率)3. 平均访问时间内容回顾内容回顾 存储层次的四个问题1. 当把一个块调入高一层(靠近CPU)存储器时,可以放在哪些位置上?(映象规则)2. 当所要访问的块在高一层存储器中时,如何找到该块?(查找算法)3. 当发生失效时,应替换哪一块?(替换算法)4. 当进行写访问时,应进行哪些操作?(写策略)内容回顾2

10、. 平均访问时间 TATA1(1H )TM平均访问时间命中时间失效率失效开销1. 失效率 F1H3. CPU时间IC ( CPIexe )时钟周期时间存储器停顿周期数 指令数7.2.5 Cache举例例子:DEC的Alpha AXP21064(地址位数34位) 中的内部数据Cache。1. 简介容量:8KB块大小:32B (内存块大小?)块数: (?)采用不按写分配映象方法:直接映象“写”策略:写直达写缓冲器大小:4个块2. 结构图3. 工作过程 “读”访问命中 “写”访问命中 失效情况下的操作1. 读失效(直接映像的数据块替换)2. 写失效(不按写分配)例子:DEC的Alpha AXP210

11、64(地址位数34位) 中的内部数据Cache。容量:8KB块大小:32B块数: (?)采用不按写分配映象方法:4路组相连的映像方法“写”策略:写直达写缓冲器大小:4个块思考:若采用四路组相联,则块内地址几位, index地址几位,tag地址又是几位呢?例 与直接映象相比,全相联映象的优点是( )。 目录表小 块冲突概率低 命中率低 主存利用率高例 对于提高Cache的命中率,无效的措施是( )。 降低相联度 设置替换缓存保存刚被替换的块 增加Cache容量 通过编译优化改善程序的访存局部性例 以下说法正确的是( )。 多体交叉存储器主要解决扩充容量问题 Cache的功能全由硬件完成 Cach

12、e与主存统一编址 “主存外存”的存储层次主要是为了弥补主存速度的不足例 Cache存储器主要是为了解决( )。 扩大存储系统的容量 提高存储系统的速度 便于程序的访存操作 扩大存储系统容量和提高存储系统速度例 按Cache地址映象的块冲突概率从高到低的顺序是( )。 全相联、直接、组向联 组向联、直接、全相联 直接、组向联、全相联 全相联、组向联、直接例 程序访问的局限性是使用( )的依据。 缓冲 虚拟内存 进程 Cache例 在Cache更新策略中,在Cache命中时把数据同时写入Cache 和主存的策略是( )。 写直达法 写回法 按写分配法 不按写分配法 例 在Cache更新策略中,在C

13、ache不命中时把数据从主存调入 Cache的策略是( )。 写直达法 写回法 按写分配法 不按写分配法 例 以下说法正确的是( )。 主存的速度可以与CPU匹配 主存由RAM构成,不包括ROM 辅存中的程序需要调入主存才能运行 若CPU的地址线为20根,则主存的容量一定是1MB例 当访问Cache系统失效时,通常不仅主存向CPU传送信息, 同时还要将信息写入Cache,在此过程中传送与写入信息的数 据宽度各为( )。 块、页 字、字 字、块 块、块 例 主存储器速度的表示中,Ta(存取时间)与Tc(存取周期) 关系正确的是( )。 TaTc TaTc Ta=Tc 没有关系Ta存取时间:从存储

14、器读出或写入一次信息所需要的平均时间;Tc存取周期:连续两次访问存储器之间所必须的最短时间间隔;一般:Tc=Ta+Tr(Tr表示复原时间):对于SRAM指存取信息的稳定时 间,对于DRAM指刷新的又一次存取时间。(SRAM与DRAM知识讲 解)例 如果一个高速缓存系统中,主存的容量为12MB,Cache的容 量为400KB,则改存储系统的总容量为 12MB+400KB 12MB 400KB 12MB-400KB 例 若存取周期250ns,每次读出16位,则该存储器的数据传送率 为() 4*106Bps 4MBps 8*106Bps 8MBps例 在下列Cache替换算法中,比较好的一种是( )。 随机法 先进现出法 后进先出法 近期最少使用法例 在Cache存储器系统中,当程序正在执行时,由( )完 成地址转化。 程序员 硬件 硬件和软件 操作系统例 关于Cache的3种基本映像方式,下列叙述正确的是( ) Cache的地址映像有全相联,页相联和多路组相联 全相联映像方式,主存单元与Cache单元随意对应,线路过于 复杂,成本太高多路组相联映像,是全相联和页相联映像的一种折衷,有利 于提高命中率多路组相联映像,是全相联和页相联映像的一种折衷,有利

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号