第五-章__存储系统cache要点课件.ppt
《第五-章__存储系统cache要点课件.ppt》由会员分享,可在线阅读,更多相关《第五-章__存储系统cache要点课件.ppt(62页珍藏版)》请在三一办公上搜索。
1、5.3 并行主存储器,所谓并行主存储器,是指在一个主存周期内可以并行读取多个数据字的主存储器。通常采用单体多字和交叉存取方式。寻址方式有单体多字寻址方式、多体存储器的寻址方式和多体交叉寻址方式。,下一页,上一页,当并行的存储器共用一套地址寄存器和地址译码电路时称为单体方式,其结构原理图如下。,下一页,上一页,单体多字寻址方式,多个并行存储器与同一地址寄存器连接,所以同时被一个单元地址驱动,一次访问读出的是沿n个存储器顺序排列的n个字,故也称单体多字方式。与单体单字结构的存储器相比,单体多字寻址方式在存取速度方面有明显的优点,因为,单体单字存储器的每一个主存周期只能读出一条指令或一个数据,在取指
2、和读取数据的周期内,CPU处于等待状态,因此工作效率低。在本例所示的单体4字的寻址方式中,一次能读出4个字长为w位的数据或指令,然后再以单字长的形式送给CPU执行。当然,若处理的数据不是连续地存放在主存中,或者在程序中经常使用转移指令,单体多字寻址方式的效果就不显著了。,下一页,上一页,下一页,上一页,多体存储器的寻址方式,下图是多体存储器原理图,下一页,上一页,计算机系统中的大容量主存是由多个存储体组成的,每个存储体都有自己的读写线路、地址寄存器和数据寄存器,能以同等的方式与CPU交换信息,每个存储体容量相等,它们既能同时工作又独立编址。图中MAR为模块地址寄存器,MDR为模块数据寄存器,主
3、存地址寄存器的高位表示模块号,低位表示块内地址。这种结构的寻址方式有利于并行处理,能够实现多个分体的并行操作,一次访问并行处理的n个字,不像单体方式那样一定是沿存储器顺序排列的存储单元内容,而是分别由各分体的地址寄存器指示的存储单元的内容。因为各分体工作独立,因此,只要进行合理的调度,就能实现并行处理,两个存储体可以同时进行不同的操作。例如一个存储体被CPU访问时,另一个存储体可用来与外部设备进行直接存储器存取(DMA)操作。,多体交叉是多体存储器的另一种组织形式,下面以一个四体交叉存储器的组织形式为例,来说明多体交叉存储器的工作原理。下图是四体交叉原理图。,下一页,上一页,多体交叉寻址方式,
4、多体交叉寻址方式与多体存储器寻址方式不同,多体存储器是以高位地址作为模块号,低位地址作为体内地址,每个模块体内地址是连续的;多体交叉寻址方式是以低位地址作为模块号,高位地址作为体内地址,各模块间地址编号采用交叉方式。上图所示的4个模块M0、M1、M2、M3的编址如下表所示。框内序号表示存储单元的地址编号J=0,1,2。,下一页,上一页,地址连续的两个单元分布在相邻的两个模块中,地址按模块号方向顺序编号。同一模块内相邻的两个单元地址之差等于n。例如在四体交叉存储器结构方式下,两个单元地址之差等于4。任何一个存储单元的二进制地址编号的末2位正好指示该单元所属模块的编号,访问主存时只要判断这几位就能
5、决定访问的是那个存储模块。在四体交叉存储器结构方式下,M0模块的每个单元地址的二进制编码最后两位都是00,M1模块的每个单元地址最后两位都是01,M2模块的每个单元地址最后两位都是02,M3模块的每个单元地址最后两位都是03。同一模块内每个单元地址除去模块号后的高位地址正好是模块内单元的顺序号,由此就可决定访问单元在模块中的位置。,下一页,上一页,n体交叉寻址方式的规则满足以下4点,5.5 Cache存储器,5.5.1 多级存储体系结构,5.5.2 Cache工作原理,5.5.3 主存与Cache的地址映射和地址变换,5.5.4 Cache的替换策略及写操作策略,5.5.1 多级存储体系结构,
6、为解决存储容量、存取速度和价格之间的矛盾,通常将各种不同存储容量、不同存取速度的存储器,按一定的体系结构组织起来,形成一个统一整体.,典型的三级存储系统:,图5.25 三级存储系统示意图,Cache-主存层次,Cache一般由SRAM构成,容量小,存取速度快,依据程序局部性原理,存放的是主存中当前最需要执行的信息副本.,目的:主存容量不足的问题.,利用辅助硬件和操作系统中的存储管理软件,将 主存和辅存构成一个整体.,目的:解决CPU和主存速度不匹配的问题.,主存-辅存层次,总体效果:存取速度接近Cache,而存储容量接 近于辅存,整体价格也较合理.,5.5 Cache存储器,5.5.1 多级存
7、储体系结构,5.5.2 Cache工作原理,5.5.3 主存与Cache的地址映射和地址变换,5.5.4 Cache的替换策略及写操作策略,1.问题的提出,避免 CPU“空等”现象,CPU 和主存(DRAM)的速度差异,容量小速度高,容量大速度低,字,块,主存块 调入 缓存,主存块与缓存块 建立 了对应关系,标记记录 与某缓存块建立了对应关系的 主存块号,命中,未命中,主存块与缓存块 未建立 对应关系,主存块 未调入 缓存,2.Cache的命中率,命中率,CPU 欲访问的信息在 Cache 中的 比率,命中率 与 Cache 的 容量 与 块长 有关,命中率,CPU 欲访问的信息在 Cache
8、 中的 比率,命中率 与 Cache 的 容量 与 块长 有关,Cache 主存系统的效率,效率 e 与 命中率 有关,设 Cache 命中率 为 h,访问 Cache 的时间为 tc,访问 主存 的时间为 tm,3.Cache 的 读 操作,4.Cache 的基本结构,Cache替换机构,Cache存储体,主存Cache地址映像变换机构,由CPU完成,5.5.2 Cache工作原理,Cache的工作机制,Cache工作是以程序访问的局部性原理为基础的,即,一个程序的指令大都顺序存放、顺序执行,与程序相关的数据在存储器中也相对集中.,所以程序运行时,尤其有循环程序段和子程序段时,在较短时间区间
9、内,常会对局部范围的存储器频繁访问,而此范围之外的地址访问甚少.这种现象称为程序访问的局部性.,把局部范围的主存内容从主存放到一个高速小容量存储器中,使CPU在这一段时间内直接访问它,以减少或不去访问慢速的主存,程序运行速度将明显提高.,2.Cache工作原理,例:某机主存容量为1MB,Cache容量为8KB,若以字节编址,每512B为一块,则主存有2048块,Cache有16块.,块0,00000H,00001H,.,001FFH,块2047,FFE00H,FFE01H,FFFFFH,主存,块0,0000H,0001H,.,01FFH,块15,1E00H,1E01H,1FFFH,Cache,
10、块的概念,一般将主存和Cache的存储空间分块,每块大小相同,包括相同数量的存储单元.,Cache构成及工作过程,CPU,主存,主存地址寄存器MAR,主存Cache地址变换机构(块表),Cache存储器,Cache地址寄存器,替换控制部件,AB,DB,单字宽,多字宽,不命中,命中,(块),Cache包括Cache存储器及相应控制部件,全部由硬件组成,速度快,对所有程序员均透明.,CAR,Cache命中率,设Nc为Cache 完成存取的总次数,Nm为主存完成存取的总次数,h为命中率,则有:,设r=tm/tc表示主存慢于Cache的倍率,e表示访问效率,则有:,高速缓存命中率:CPU访存时,信息恰
11、巧在Cache中的概率.,h=Nc/(Nc+Nm),若tc表示命中时的Cache访问时间,tm表示未命中时的主存访问时间,1-h表示未命中率,则Cache/主存系统的平均访问时间ta为:,ta=htc+(1-h)tm,e=tc/ta=tc/htc+(1-h)tm=1/h+(1-h)r=1/r+(1-r)h,例:CPU执行一段程序时,Cache完成存取的次数1900次,主存完成存取的次数为100次,已知Cache的存取周期为1ns,主存存取周期为5ns,求Cache/主存系统的效率和平均访问时间.,解:h=Nc/(Nc+Nm)=1900/(1900+100)=0.95 r=tm/tc=5ns/1
12、ns=5 e=1/r+(1-r)h=1/5+(1-5)X0.95=83.3%ta=tc/e=1ns/0.833=1.2ns,例:某计算机的存储系统由Cache和主存组成,某程序执行过程中访存1000次,其中访问Cache缺失(未命中)50次,则Cache的命中率是().A.5%B.9.5%C.50%D.95%,影响 Cache命中率的因素 Cache的大小 容量相对较大的Cache,命中率也相应提高,但容量太大,成本会变得不合理.程序的特点 遵循局部性原理的程序在运行时Cache的命中率也会很高,相反,在程序中频繁且无规则地使用Call或JMP命令,将严重影响基于Cache的系统性能.Cach
13、e的组织结构 Cache组织结构的好坏,对命中率也会产生较大影响.Cache的组织结构有三种类型:全相联映射、直接映射和组相联映射.,5.5 Cache存储器,5.5.1 多级存储体系结构,5.5.2 Cache工作原理,5.5.3 主存与Cache的地址映射和地址变换,5.5.4 Cache的替换策略及写操作策略,5.5.3 主存与Cache的地址映射和地址变换,1.全相联映射:允许主存中的每一个块可以映射到Cache的任何一块位置上.映射过程如下图所示:,一.全相联映射及其地址变换,二者密切相关-地址变换由地址映射方式决定.,主存-Cache地址变换:程序运行时,根据地址映射把主存地址变换
14、成Cache地址.,主存-Cache地址映射(mapping):把存放在主存中的程序按某种规则装入Cache中,并依此建立主存地址与Cache地址的对应关系,即块表.,块表存放数据或指令在内存中所在单元地址的存储器,用于判断Cache命中以及实现地址映射,其字数等于Cache的块数.,块0,块1,块15,块0,块1,块2047,Cache,主存,全相联映射,2.全相联映射方式下的地址变换,主存块号,块内地址,(1)主存地址格式:,(标志字段),图5.26 全相联映射示意图,例:某机主存容量为1MB,Cache容量为8KB,若以字节编址,每512B为一块,则主存有2048块,Cache有16块。
15、主存地址格式:0000 0000 000 0 0000 0000 0000 0000 000 1 1 1 1 1 1 1 1 1,块号(0块),块内存储单元(0-511),块号(1块),块内存储单元(0-511),0000 0000 001 0 0000 0000,0000 0000 001 1 1 1 1 1 1 1 1 1,块号(2047块),块内存储单元(0-511),1 1 1 1 1 1 1 1 111 0 0000 0000,1 1 1 1 1 1 1 1 111 1 1 1 1 1 1 1 1 1,Cache块号,块内地址,主存块号转换为Cache块号,块内地址不变,(3)地址变
16、换(将主存地址转换为Cache地址):,(2)Cache地址格式:,块号(0块),块内存储单元(0-511),块号(1块),块内存储单元(0-511),0 00 1 0 0000 0000,0 00 1 1 1 1 1 1 1 1 1 1,块号(15块),块内存储单元(0-511),1 1 1 1 0 0000 0000,1 1 1 1 1 1 1 1 1 1 1 1 1,0 00 0 0 0000 0000,0 00 0 1 1 1 1 1 1 1 1 1,主存块号B(标志字段),块内地址W,Cache块号b,块内地址w,主存块号B,Cache块号b,B,b,比较,命中,MAR,CAR,图5
17、.27 全相联映射的地址变换,块表(块表容量的计算:字数等于高缓块数,字长由主存块数和高缓块数决定),不命中则访问主存,注意:在全相联映射中,主存块号作为识别是否命中的标志,标志位的长度由主存块数决定.,字块0,字块1,字块2C-1,标记,标记,标记,设Cache有2C-1块,主存有2m-1块,即Cache块地址有c位,主存块地址有m位.,字块0,字块1,字块2C-1,字块2m-1,主存地址格式:,主存字块标记,块内地址,m位,图5.28 全相联映射的另一种常见图解,3.全相联映射的优缺点,i=j mod m(m为Cache中总块数),映射规则:主存中任何一组的第i块只能放入Cache 的第i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五 _ 存储系统 cache 要点 课件
链接地址:https://www.31ppt.com/p-3834758.html