《微型计算机系统与接口》电子教案 5第5章 高速缓冲 存储器Cache

上传人:E**** 文档编号:89413295 上传时间:2019-05-24 格式:PPT 页数:48 大小:277.50KB
返回 下载 相关 举报
《微型计算机系统与接口》电子教案 5第5章    高速缓冲 存储器Cache_第1页
第1页 / 共48页
《微型计算机系统与接口》电子教案 5第5章    高速缓冲 存储器Cache_第2页
第2页 / 共48页
《微型计算机系统与接口》电子教案 5第5章    高速缓冲 存储器Cache_第3页
第3页 / 共48页
《微型计算机系统与接口》电子教案 5第5章    高速缓冲 存储器Cache_第4页
第4页 / 共48页
《微型计算机系统与接口》电子教案 5第5章    高速缓冲 存储器Cache_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《《微型计算机系统与接口》电子教案 5第5章 高速缓冲 存储器Cache》由会员分享,可在线阅读,更多相关《《微型计算机系统与接口》电子教案 5第5章 高速缓冲 存储器Cache(48页珍藏版)》请在金锄头文库上搜索。

1、1,第 5 章 高速缓冲存储器 Cache,2,5.1 Cache 存储器 Cache存储器是一种高速的,但其规模大小相对于主存储器而言又是比较小的位于处理机和操作速度比较低的主存储器之间的一种存储设备。其内保存的是目前处理机正在使用的主存储器的副本,处理机使用Cache 可以快速地从其内取得所需的指令和数据。 在正常情况下执行时,访问Cache 的速度要比访问主存储器的速度快38倍,所以装配有Cache 的处理机实实在在地减少了访问存储器的时间。由于装备有Cache,相应地减少了访问主存储器的次数,这一点对采用多CPU的系统来说也是非常重要的,因为它们访问的是同一个存储器。,3,5.1.1

2、什么是Cache Cache 是一种存储空间较小而存取速度却很高的一种存储器。由于使用Cache 后可以减少存储器的存取时间,所以对增加整个处理机的性能,Cache 扮演一个非常重要的角色。Cache存储器是由一个目录(或称之为标记)以及一个数据存储器组成。,4,5.1.2 局部性原理 为使Cache 更加有效,要求程序有高度的暂时性和局部性。配备Cache的基础是基于程序访问的局部性原理,即要被访问的数据大多集中在存储器的某个局部区域。从程序执行的过程上来说,它不可能长时间地仅执行位于存储器内某个局部区域中的某一段程序,被执行的程序段有可能会随着程序的结构被更换,但在短时间内CPU访问的程序

3、段还是固定的几个程序段。 经许多研究表明,程序的局部性是非常有意义和重要的。通常大部分程序都是顺序执行的,除分支转移指令和调用指令外,在大多数情况下,下一次要取的指令往往是紧跟着上一次刚取的那一条指令。这类例子很多。,5,程序的局部性原理具有普遍意义。通常,又将局部性细分为空间局部性和时间局部性。所谓空间局部性,是指在程序的执行过程中要涉及到存储器的几个局部区域的倾向性。它即反映了CPU在执行程序时顺序取指令的倾向性,同时也反映出程序在顺序地存取数据时在存储位置的倾向性。比如,在处理一个数据表格时就是一个很好的范例。 所谓时间局部性,是指在程序的执行过程中,CPU在访问刚被使用过的存储位置的倾

4、向性,比如,在执行一个循环操作时,同一批指令就要被重复执行多次。 假设刚取出一条指令,在很短的周期时间内便还要再取,像经常使用的循环、频繁的使用某些变量和子程序,就有高度的暂时性和局部性。,6,若一个程序使用一系列顺序指令,而且那些变量在存储器中又是相邻的,这样程序就是具有访问局部性的程序。图5.2中示出了Cache 中内容相对于主存储器来说是暂时的和局部的。,7,5.1.3 技术术语 使用Cache可以增加存储器的传输速率和处理机的效能。这种存储器虽然感觉不到,但对程序设计人员来说又是透明的,所谓透明是指程序员自己不能对Cache进行操作和控制。 1命中率(Hit Rate) 是用百分数表示

5、的一种概率,是CPU访问Cache时,它所找到的与要找的信息的百分比。 2统一Cache(Unified Cache) 指令Cache与数据Cache统一为一体的Cache。 3分离Cache(Split Cache) 指令Cache与数据Cache各为一体的Cache。 4实Cache 实Cache是一种位于存储管理部件MMU和主存储器之间的Cache存储管理部件MMU在把地址传送到Cache之前,要把虚拟地址转换成实际地址。,8,5虚拟Cache(Virtual Cache) 是驻留在CPU和存储管理部件MMU之间的Cache存储器,要访Cache的存储器单元是以CPU的虚拟地址为基础。

6、6直接映像的Cache(Direct Mapped Cache) 这是一项Cache交换技术,为存储器中每一存储器单元,对应分配Cache中惟一的一个存储单元。 7N路相联的Cache (N-Set-Associative Cache) 这是一项Cache映像技术。对主存储器中的每一存储单元,在Cache中就有好几个可用的存储单元与其对应。,9,8FIFO替换算法(FIFO Replacement Algorithm) 即先进先出的替换算法。当所需的存储空间较大时,驻留在Cache中最深的那个数据,最先从Cache内传送出来。 9LRU替换算法(LRU Replacement Algorith

7、m) 这是一种比FIFO替换算法更有效的替换算法。当需要较大的存储空间时,就用最近经常要使用的数据替换下Cache中最近最少使用的数据。 10交换(swapping) 是指在Cache和主存储器之间进行的数据传送操作。由于Cache存储器的存储空间相对较小,所以会经常地把某些数据块传送回主存储器,主存储器要为CPU经常使用的数据块的数据准备好地方。,10,11一致性(Coherency) 指的是Cache中信息与主存储器中的信息一致性,即Cache中每一地址上的数据与主存储器中相应存储单元中数据相一致。欲使主存储器信息与Cache内信息之间协调一致,通常有三种写方案可供选择。如下图所示。,11

8、,(1)写贯穿(Writ Through): 这是在所有写操作时修改主存储器和Cache存储器的一种方法,在向Cache写数据的同时,把相同的数据也写入主存储器中。,12,(2)写回(Write Back): 这种写方案是一种用来更新Cache的写方法,只有当Cache中某一存储块被刷新时,才会把这一存储块写回主存储器。,13,(3)记入式写(Posted Write): 这种写方案实际上是一种带缓冲的写贯穿,这种写方案是把欲写到Cache中的数据先复制到一个缓冲存储器中去。然后再把这个副本写回主存储器。,把Cache行写到缓冲 存储器,14,5.2 Cache配置方案,1.Pentium片内

9、Cache 由于Pentium芯片内集成进Cache,这样就有效地减少了Pentium在外部总线上的活动,因而加快了Pentium处理信息的速度,提高了系统总体性能。在Pentium进行信息加工处理时,若它所需的指令或数据能在片内 Cache中找到,就减少了对总线的访问次数。由于Pentium在访问Cache时其路径要比通过总线的长度要短,所以Pentium到片内Cache进行存取操作要比零等待状态下的总线周期还要快。从另一个方面来说,还可以把空闲下来的总线用于其他的传送操作。,15,Pentium的数据Cache支持U流水线和V流水线的二元访问,以便支持辅助带宽和简化编译程序的指令调度算法。

10、当访问数据Cache出现冲突时,总是先让U流水线访问数据Cache,而让V流水线的访问暂停一个时钟周期。同时,数据Cache存储体冲突逻辑还起到清除对一个存储单元实施并行存取操作之间可能出现的数据相关问题。若访问的是双精度浮点数,CPU以并行方式访问相邻两个存储单元形成一个64位通路。为保持Cache一致性,采用了写回协议,使Pentium整体性能得以大幅度提高。 从Pentium微处理器的逻辑框图中可以看出,Pentium微处理器配备有U和V这样两条指令流水线。在U指令流水线上能够执行全部整数指令和浮点指令,而在V指令流水线上则仅能执行一些简单的整数指令和一些像FXCH等交换之类的浮点指令。

11、,16,2. Pentium片内Cache 的配置 Cache部件的配置是受Pentium微处理机内控制寄存器CR0中的两位控制的,如图所示。 其中位30是禁止进行高速缓冲操作(即不允许进行Cache行的填充操作)。而另一位(位29)是不允许存储器写贯穿。由位30和位29可以构成Pentium片内Cache 行四种可能的配置。,17,要想完全地禁止Cache 操作,必须执行以下两个操作步骤: (1)必须把位CD(位30)和NW(位29)都置成1,将CD(位30)置成1,则意味着禁止Cache 操作;而当把NW(位29)置成1,则意味着在Cache 命中的情况下,也禁止写贯穿和无效周期操作。 (

12、2)Cache 内容必须被刷新。 若Cache 内容未被刷新,在读Cache 时仍会出现读命中现象,且会有从Cache 内读出数据情况出现。此外,当Cache 被禁止操作情况一旦出现时,Cache 内容必须被刷新,以防止Cache 内容与主存储器内容不一致问题的出现。,18,事实上,Pentium微处理器片内 Cache ,是由 Cache控制器82496和 Cache 体84291组成,三者之间的逻辑关系如图所示。,19,Cache控制器82496的逻辑图。,20,Cache控制器82496内包括有标志、Cache 行状态以及只读等信息。 控制器的作用是用来处理包括存储器总线访问请求在内的所

13、有CPU请求信息传输问题。同时 Cache的控制器82496还要控制着Cache 命中或不命中的数据传输路径,向CPU提供所需的正确的数据。 Cache控制器82496根据最近经常使用MRU预测机制对读命中情况动态地增加一个等待状态。在系统中的其他设备使用总线时,Cache控制器82496也要负责执行CPU和存储器总线的监视。在存储器总线访问期间,Cache控制器82496驱动地址及其他属性。,21,5.2.2 影响Cache性能的因素 影响Cache 性能的因素有很多。 1Cache规模大小 2缔合方式(Associaivity) 3Cache行大小 4写回和记入式写 5配置 6速度,22,

14、523 Cache 大小规模和性能 表5.2中列出了各种配置的一级Cache 命中率。表中所列这些统计数字还是比较保守的数字,这是因为这些数字是通过分析大量的主机运行情况后统计出的最低命中率。而且这个命中率也不是绝对数,待定配置情况下的命中率与软件是息息相关的。本表的意义在于可以对各种不同配置的Cache 进行一番比较,通过这张表,可以说明欲使Cache 达到一定的效率,其硬件的复杂程度应如何。表中列出的一级Cache 的命中率分别是直接映像、二路相联以及四路相联Cache 结构下的命中率。,23,表5.2 一级Cache 命中率,Cache 配置 规模大小(K字节) 相联方式 Cache 行

15、大小(字节) 命中率(%) 1KB 直接映像 4字节 41% 8KB 直接映像 4字节 73% 16KB 直接映像 4字节 81% 32KB 直接映像 4字节 86% 32KB 二路相联 4字节 87% 32KB 直接映像 8字节 91% 64KB 直接映像 4字节 88% 64KB 二路相联 4字节 89% 64KB 四路相联 4字节 89% 64KB 直接映像 8字节 92% 64KB 二路相联 8字节 93% 128KB 直接映像 4字节 89% 128KB 二路相联 4字节 89% 128KB 直接映像 8字节 93%,24,现把Cs定义成是Cache 系统的访问时间与主存储器访问时间之比。Cs虽然是一个无量纲的数,但却是测试Cache 性能时不可缺少的一个非常有意义数。表达Cache 性能的参数Ca和Cs的计算公式如下:

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

当前位置:首页 > 高等教育 > 大学课件

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