版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Shenzhen University1Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition高速缓存存储器高速缓存存储器Shenzhen University2Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition存储器层次结构举例存储器层次结构举例寄存器L1高速缓存(SRAM)主存(DRAM)本地二级存储(本地磁盘)更大, 更慢, 更廉价 (每字节)的存储器远程二级存储(分布式文件
2、系统、Web服务器)本地磁盘保存着从远程本地磁盘保存着从远程网络服务器磁盘上取出网络服务器磁盘上取出的文件的文件L2 高速缓存 (SRAM)L1 L1 高速缓存保存着从高速缓存保存着从 L2 L2 高速缓高速缓存取出的缓存行存取出的缓存行. .CPU CPU 寄存器保存着从高速缓存存储寄存器保存着从高速缓存存储器取出的字器取出的字L2 L2 高速缓存保存着从高速缓存保存着从L3L3高速缓高速缓存取出的缓存行存取出的缓存行 L0:L0:L1:L1:L2:L2:L3:L3:L4:L4:L5:L5:更小,更快,更贵(每字节)的存储器L3 高速缓存 (SRAM)L3 L3 高速缓存保存着从主存高速缓高
3、速缓存保存着从主存高速缓存取出的缓存行存取出的缓存行L6:L6:主存保存着从本地磁盘取主存保存着从本地磁盘取出的磁盘块出的磁盘块Shenzhen University3Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition层次存储器系统的运行原理层次存储器系统的运行原理 选用生产与运行选用生产与运行成本不同成本不同的、存储的、存储容量不同容量不同的、的、读写读写速度不同速度不同的多种存储介质,组成一个统一的存储的多种存储介质,组成一个统一的存储器系统,使每种介质都处于不同的地位,发挥不同的
4、器系统,使每种介质都处于不同的地位,发挥不同的作用,充分发挥各自在作用,充分发挥各自在速度速度、容量容量、成本成本方面的优势,方面的优势,从而达到最优性能价格比,以满足使用要求。从而达到最优性能价格比,以满足使用要求。 例如,用容量更小但速度最快的例如,用容量更小但速度最快的 SRAM芯片组成芯片组成 Cache,容量较大速度适中的,容量较大速度适中的 DRAM芯片组成芯片组成 主存主存,用容量特大但速度极慢的磁盘设备构成用容量特大但速度极慢的磁盘设备构成 二级存储二级存储Shenzhen University4Bryant and OHallaron, Computer Systems: A
5、 Programmers Perspective, Third EditionCPUCPU与与DRAMDRAM性能比较性能比较处理器性能每年处理器性能每年增长增长60%动态存储器性能每年增长9%110100100019801981198319841985198619871988198919901991199219931994199519961997199819992000DRAMCPU1982CPU与主存储器的性能差与主存储器的性能差异,每年增长异,每年增长50%性能性能摩尔定律年份年份CPUCPU着力提高处理速度,主存以提高容量为主,兼顾访问速度的提高着力提高处理速度,主存以提高容量为主,兼
6、顾访问速度的提高CacheCacheShenzhen University5Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition高速缓存高速缓存cachecache基本概念基本概念0 01 12 23 34 45 56 67 78 89 91010111112121313141415158 89 914143 3高速缓存高速缓存主存主存更大、更慢、更廉价的主存更大、更慢、更廉价的主存被分成被分成“块块”数据以块大小为传输单元数据以块大小为传输单元在层与层之间拷贝在层与层之间拷贝更小、更快
7、、更昂贵的存储器更小、更快、更昂贵的存储器缓存缓存“块块”的一个子集的一个子集4 44 44 4101010101010Shenzhen University6Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition高速缓冲存储器高速缓冲存储器(CACHE)的运行原理的运行原理用途:用途:设置在设置在 CPU 和和 主存储器之间,完成高速与主存储器之间,完成高速与 CPU 交换信息,交换信息,尽量避免尽量避免 CPU不必要地多次直接不必要地多次直接访问慢速的主存储器访问慢速的主存储器,从而提
8、高计算机系统的运,从而提高计算机系统的运行效率。行效率。实现:实现:这是一个这是一个存储容量很小存储容量很小,但,但读写速度更快读写速度更快的,以的,以关联存储器方式关联存储器方式运行、用运行、用静态存储器静态存储器芯片芯片实现的存储器系统。实现的存储器系统。要求:要求:有有足够高的命中率足够高的命中率,既当,既当 CPU需用主存中需用主存中的数据时,多数情况可以直接从的数据时,多数情况可以直接从CACHE中得到,中得到,称二者之比为命中率。称二者之比为命中率。Shenzhen University7Bryant and OHallaron, Computer Systems: A Progr
9、ammers Perspective, Third EditionMEMORY CACHE CONTROLCache的基本运行原理的基本运行原理数据总线数据总线译码选一单元译码选一单元比较选一行比较选一行读过程为例读过程为例地址总线地址总线ADDR DATA CACHE CPU Cache通常采用通常采用 3 种映像方式:种映像方式:全相联,直接映像,多路组相联全相联,直接映像,多路组相联Shenzhen University8Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third EditionCach
10、e的几个参数的几个参数块(块(Line):数据交换的最小单位):数据交换的最小单位命中(命中(Hit):在较高层次中发现要访问的内容):在较高层次中发现要访问的内容命中率(Hit Rate):命中次数/访问次数命中时间:访问在较高层次中数据的时间失效(失效(Miss):需要在较低层次中访问块):需要在较低层次中访问块失效率(Miss Rate):1-命中率失效损失(Miss Penalty):替换较高层次数据块的时间+将该块交付给处理器的时间命中时间命中时间失效损失失效损失Shenzhen University9Bryant and OHallaron, Computer Systems: A
11、 Programmers Perspective, Third Edition Cache的工作原理的工作原理 1、Cache以块为单位进行操作以块为单位进行操作 2、当、当CPU发出访内操作请求后,首先由发出访内操作请求后,首先由Cache控制器判断当前请求的字是控制器判断当前请求的字是否在否在Cache中,若在,叫命中,否则,不命中中,若在,叫命中,否则,不命中 3、 若命中:若命中:若是“读”请求,则直接对Cache读,与主存无关若是“写”请求:Cache单元与主存单元同时写(单元与主存单元同时写(Write through写)写)只更新只更新Cache单元并加标记,移出时修改主存(写回
12、单元并加标记,移出时修改主存(写回Copy back) 4、未命中时:、未命中时:若是“读”请求,则从主存读出所需字送CPU,且把含该字的一块送Cache,称“装入通过”,若Cache已满,置换算法;若是“写”请求,直接写入主存。Shenzhen University10Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third EditionCache的命中率:的命中率:在一个程序执行期间,设在一个程序执行期间,设Nc表示表示cache完成存取的总次数,完成存取的总次数,Nm表示主存完成存取的总次数,表示主
13、存完成存取的总次数,h定定义为命中率。则有:义为命中率。则有:mccNNNh平均访问时间:平均访问时间:若若tc表示命中时的表示命中时的Cache访问时间,访问时间,tm表示未表示未命中时的主存访问时间,命中时的主存访问时间,1-h表示未命中率,则表示未命中率,则Cache/主存主存系统的平均访问时间系统的平均访问时间ta为为: ta= h tc + (1 - h) tmShenzhen University11Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition练习:练习:某计算机系统
14、的内存储器由某计算机系统的内存储器由cachecache和主存构成,和主存构成,cachecache的存取周期为的存取周期为45ns45ns,主存的存取周期为,主存的存取周期为200ns200ns。已知在。已知在一段给定的时间内,一段给定的时间内,CPUCPU共访问内存共访问内存45004500次,其中次,其中340340次访问主存。问:次访问主存。问:CacheCache的命中率是多少?的命中率是多少?CpuCpu访问内存的平均时间是多少纳秒?访问内存的平均时间是多少纳秒?Cache-Cache-主存系统的效率是多少?主存系统的效率是多少?Shenzhen University12Bryan
15、t and OHallaron, Computer Systems: A Programmers Perspective, Third Edition解:解:1 1、cachecache的命中率的命中率h=Nc/(Nc+Nm)=h=Nc/(Nc+Nm)=(4500-3404500-340)/4500=0.92 /4500=0.92 2 2、cpucpu访存的平均时间访存的平均时间t ta a=ht=htc c+(1-h)t+(1-h)tm m=0.92 =0.92 45+(1-0.92) 45+(1-0.92) 200=57.4ns200=57.4ns3 3、cache-cache-主存系统的
16、效率主存系统的效率e=tc/ ta=45/57.4=0.78=78%e=tc/ ta=45/57.4=0.78=78%Shenzhen University13Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition2. Cache的组织的组织直接映像方式直接映像方式全相连映像全相连映像多路组相连映像多路组相连映像Shenzhen University14Bryant and OHallaron, Computer Systems: A Programmers Perspective, Th
17、ird EditionCache存储器存储器地址映射地址映射直接映射方式:直接映射方式: j = i mod 8 (b) 直接映象024631570246315781012141191315块号块号块号块号Cache主存主存Shenzhen University15Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition图7.3 直接映像cache组织Shenzhen University16Bryant and OHallaron, Computer Systems: A Programm
18、ers Perspective, Third Edition直接映射方式直接映射方式C P U数据数据地址地址有效位有效位主存储器主存储器CACHE比较比较译码译码译码译码页页内内地地址址页页号号标志标志数据数据Shenzhen University17Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third EditionCache 举例举例8 块块 cache每块每块16 字节字节“直接映射直接映射”: 内存中内存中的每个单元在的每个单元在Cache中中只会有一个唯一的位只会有一个唯一的位置和它对应。置
19、和它对应。 0-1532-4716-31128-143160-175144-159Shenzhen University18Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition直接映射直接映射Cache 举例举例假定有如下访问操作假定有如下访问操作:Read location 0Read location 16Read location 32Read location 4Read location 8Read location 36Read location 32Read locatio
20、n 128Read location 148cache中命中和缺失各中命中和缺失各有多少次有多少次?0-1532-4716-31128-143160-175144-1590-1516-3132-47XXX 128-143XXX 144-159Shenzhen University19Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third EditionCache 举例:续举例:续Cache中命中和缺失次数中命中和缺失次数?Read location 0: MissRead location 16: Mis
21、sRead location 32: MissRead location 4: HitRead location 8: HitRead location 36: HitRead location 32: HitRead location 128: MissRead location 148: Miss命中率命中率 = 4/9 = 45%注意注意:失效的原因失效的原因启动失效冲突失效0-1532-4716-31128-143160-175144-1590-1516-3132-47XXX 128-143XXX 144-159Shenzhen University20Bryant and OHall
22、aron, Computer Systems: A Programmers Perspective, Third Edition增加块大小可以更好地利用空间局部性增加块大小可以更好地利用空间局部性直接映射直接映射Cache: 硬件实现硬件实现 Address (showing bit positions)1612ByteoffsetVTagDataHitData16324Kentries16 bits128 bitsMux323232232Block offsetIndexTag31 16 15 4 32 1 0Shenzhen University21Bryant and OHallaron
23、, Computer Systems: A Programmers Perspective, Third Edition直接映射方式的地址映射特点1. 主存的字块只可以和固定的Cache字块对应,方式直接,利用率低。2. 标志位较短,比较电路的成本低。如果主存空间有2m块,Cache中字块有2c块,则标志位只要有m-c位。且仅需要比较一次。利用率低,命中率低,效率较低Shenzhen University22Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition全相联映象全相联映象地址映射
24、地址映射024631570246315781012141191315块号块号Cache主存全相联映像全相联映像 主存中的块可以和主存中的块可以和Cache中的任意一块相对应。中的任意一块相对应。 全相联映像方式是最灵活但成本最高的一种方式,可提高全相联映像方式是最灵活但成本最高的一种方式,可提高 Cache命中率。命中率。Shenzhen University23Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition全相联映像全相联映像cache组织组织Shenzhen Universit
25、y24Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition全相联方式全相联方式C P U数据数据地址地址有效位有效位主存储器主存储器CACHE比较比较译码译码标志标志数据数据Shenzhen University25Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition全相连映射硬件实现举例全相连映射硬件实现举例Shenzhen University26Bryant and OHal
26、laron, Computer Systems: A Programmers Perspective, Third Edition全相联方式的地址映射特点1. 主存的字块可以和Cache的任何字块对应,利用率高,方式灵活。2. 标志位较长,比较电路的成本太高。如果主存空间有2m块,则标志位要有m位。同时,如果Cache有n块,则需要有n个比较电路。使用成本太高Shenzhen University27Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition组相联映象组相联映象块号块号Cach
27、e主存02463157第0组第1组第2组第3组0246315781012141191315多路组相联映像多路组相联映像 主存中的块可以和主存中的块可以和Cache中的任意一块相对应。中的任意一块相对应。 全相联映像方式是最灵活但成本最高的一种方式,可提全相联映像方式是最灵活但成本最高的一种方式,可提 高高 Cache命中率。命中率。Shenzhen University28Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition组相联映像cache组织 Shenzhen University
28、29Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition两路组相联方式两路组相联方式C P U数据数据主存储器主存储器CACHE地址地址译码译码比较比较比较比较译码译码译码译码有效位有效位标志标志数据数据Shenzhen University30Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition两路组组相联方式的地址映射特点1. 前两种方式的折衷方案。组间为全相连,组内为直接映射
29、。2. 集中了两个方式的优点。成本也不太高。是常用的方式Shenzhen University31Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition组相连组相连Cache访问举例访问举例z 假设有下列访问主存顺序:yRead location 0: MissyRead location 16: MissyRead location 32: MissyRead location 4: HityRead location 8: HityRead location 36: HityRead
30、location 32: HityRead location 128: MissyRead location 148: MissyRead location 0: HityRead location 128: HityRead location 4: HityRead location 132: Hit0-1564-790-1516-3132-47128-143144-159Shenzhen University32Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition四路组相连四路组相连
31、Cache实现实现Address228VTagIndex012253254255DataVTagDataVTagDataVTagData32224-to-1 multiplexorHitData1238910111230310Shenzhen University33Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition三种映射方式比较三种映射方式比较直接映射直接映射主存中的一块只能映射到主存中的一块只能映射到Cache中唯一的一个位置中唯一的一个位置定位时,不需要判断,只需替换定位时,不
32、需要判断,只需替换全相连映射全相连映射主存中的一块可以映射到主存中的一块可以映射到Cache中任何一个位置中任何一个位置N路组相连映射路组相连映射主存中的一块可以选择映射到主存中的一块可以选择映射到Cache中中N个位置个位置全相连映射和全相连映射和N路组相连映射的失效处理路组相连映射的失效处理从主存中取出新块从主存中取出新块为了腾出为了腾出Cache空间,需要替换出一个空间,需要替换出一个Cache块块不唯一,则需要判断应替出哪块不唯一,则需要判断应替出哪块Shenzhen University34Bryant and OHallaron, Computer Systems: A Progr
33、ammers Perspective, Third Edition习题习题设某计算机主存容量为设某计算机主存容量为16MB,缓存的容量为,缓存的容量为16KB。每。每个字块有个字块有8个字,每个字个字,每个字32位。设计一个四路组相联映位。设计一个四路组相联映射(缓存每组内共有射(缓存每组内共有4个字块)的缓存组织。请画出主个字块)的缓存组织。请画出主存地址字段中各段的位数。存地址字段中各段的位数。Shenzhen University35Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Editi
34、on1. 先进先出算法(先进先出算法(FIFO)将最早调入将最早调入Cache的字块替换出的字块替换出去。容易实现,开销小。去。容易实现,开销小。2. 最近最少使用算法(最近最少使用算法(LRU)需要计算字块的使用次数,开销需要计算字块的使用次数,开销大,但平均命中率比大,但平均命中率比FIFO要高。要高。3. 随机替换(随机替换(RAND)3. Cache 替换算法替换算法 当新的主存字块需要调入当新的主存字块需要调入cache存储器而它的可用位置又存储器而它的可用位置又已被占满时,就产生替换算法问题。已被占满时,就产生替换算法问题。Shenzhen University36Bryant a
35、nd OHallaron, Computer Systems: A Programmers Perspective, Third EditionLRU算法替换登记表Shenzhen University37Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition 若若 CPU 改写了改写了 Cache一单元内容后且尚未改变主存相一单元内容后且尚未改变主存相应单元内容,则出现应单元内容,则出现数据不一致性数据不一致性。 当其它当其它CPU或外设读主存时,必须保证或外设读主存时,必须保证数据一致
36、性数据一致性。写直达写直达(write through)当写当写Cache命中时,命中时,Cache与主存同时发生写修改,因而较与主存同时发生写修改,因而较好地维护了好地维护了Cache和主存内容的一致性。和主存内容的一致性。当写当写Cache未命中时,只能直接向主存进行写入。未命中时,只能直接向主存进行写入。实现简单,缺点是降低了实现简单,缺点是降低了Cache的效率。的效率。4. 写写Cache策略策略Shenzhen University38Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third E
37、dition拖后写拖后写(write back)拖后改写主存单元内容,一直拖到有另外的设备要读该内容拖后改写主存单元内容,一直拖到有另外的设备要读该内容过时的主存单元时,则首先停止这一读操作,接下来改写主过时的主存单元时,则首先停止这一读操作,接下来改写主存内容,之后再启动已停下来的读操作;存内容,之后再启动已停下来的读操作;总线监听:总线监听:减少了访问主存的次数,减少了访问主存的次数,不出现徒劳的写操作,不出现徒劳的写操作,但是存在不但是存在不一致性的隐患;一致性的隐患;控制复杂些,但可以提供更高系统的运行效率。控制复杂些,但可以提供更高系统的运行效率。4. 写写Cache策略(续)策略(
38、续)Shenzhen University39Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition5. 提高提高Cache的性能的性能提高命中率提高命中率 缩短缺失后的处理时间缩短缺失后的处理时间提高访问提高访问Cache的速度的速度Shenzhen University40Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third EditionCache缺失的原因缺失的原因必然缺失必然缺失 (开机或
39、进程切换):首次访问数据块(开机或进程切换):首次访问数据块世事总是有缺憾世事总是有缺憾注意:如果我们运行几百万条指令,有点必然缺失又注意:如果我们运行几百万条指令,有点必然缺失又何妨?何妨?冲突缺失冲突缺失多个多个 memory块映射到同一块映射到同一 cache块块解决办法解决办法 1:增大:增大 cache 容量容量解决办法解决办法 2:增加相连组数:增加相连组数容量冲突容量冲突Cache无法装入程序需要访问的所有块无法装入程序需要访问的所有块方案:增大方案:增大 cache 容量容量无效缺失:其它进程(如无效缺失:其它进程(如I/O)修改了主存)修改了主存Shenzhen University41Bryant and OHallaron, Computer Systems: A Programmers Perspective, Third Edition影响影响 CACHE 命中率的因素命中率的因素从从Cache本身诸因素看,可能:本身诸因素看,可能:1. Cache的容量,大一些好的容量,大一些好2. Cache与主存储器每次交换信息的单位量与主存储器每次交换信息的单位量(块块)适中适中3. Cac
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工会管理工作课件
- 这是谁的包课件图片
- 学与做的教育课件
- 预防冻伤的小贴士
- 橱柜、厨电研究报告:曲同工不同
- 建筑建筑施工现场事故案例分析图文
- 心内科一区护理查房
- 中国地质科学数据库群总体构架与共享
- 幼儿园小班班务总结
- 浙江省温州市新力量联盟2024-2025学年高一上学期期中联考英语试题 含解析
- 食堂外包项目投标方案(技术方案)
- 省级“双减”大单元作业设计《道德与法治》一年级上册第二单元
- 大容量工业负荷虚拟电厂控制技术与工程应用
- 2024-2025部编版语文六年级上册语文园地七(课件)
- 2024-2030年中国IC设计(芯片设计)行业发展现状及趋势前景预判研究报告
- 工会换届工作总结报告汇编3篇
- 金蝶云星空标准解决方案
- 【上市公司财务舞弊案例探析:以瑞幸咖啡为例9500字(论文)】
- 煤矿安全生产标准化培训题库
- DL-T-435-2018电站锅炉膛防爆规程
- 教师资格考试《高中数学专业面试》真题汇编
评论
0/150
提交评论