




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
§7·5高速缓冲存储器一、高速缓冲存储器和工作原理1、高速缓冲存储器
CACHE是一个高速度、小容量的缓冲存储器,存储CPU最经常访问的指令或数据,一般用SRAM芯片构成,其全部功能由硬件实现,对程序员是透明的。CACHE用于解决CPU与主存间的速度匹配问题,其理论依据是程序访问的局部性原理。在一个较短的时间内,CPU对局部范围的存储器地址频繁访问,而对此址范围外的地址访问很少。程序访问的局部性原理2、工作原理
为了使主存与cache之间映射,将主存与缓存都分在若干个块,每个块包含若干个字,并使块的大小相等。将主存n位地址分为高m位和低b位,缓存地址也分成高c位和低b位。主存的块数M=2m远大于缓存的块数C=2c块。由于缓存的块数远小于主存的块数,一个缓存块不能唯一、永久地对应一个主存块,每个缓存块需设一个标记,用来表示当前存放的是哪一个主存块,该标记的内容相当于主存块的编号(即主存地址的高m位)。CPU读信息时根据主存地址的低位部分,将主存地址的高位部分与缓存块的标记进行比较,以判断所读信息是否在缓存中。
~~~~~~~~主存储器Cache
主存块号0122m-1::::::::::::::::::::字块0字块1字块2字块M-1字块0字块1字块C-1012c-1标记(1)CACAHE命中:CPU访问的数据或指令已存在于CACHE中。(2)命中时间:在CACHE命中时的访存时间,它等于CACHE的访问时间。(3)失效时间:CACHE不命中时因访存而增加的访问时间,它等于对主存的访问时间和将主存中的数据调入CACHE的时间。M=2mC=2c3、高速缓冲存储器设计中要考虑的问题(1)地址映象:主存中的块放入CACHE中的什么地方。(2)块的替换策略:CACHE放满时将哪块数据移去再调入要访问的块。(3)块的更新策略:解决CACHE数据写操作与主存写操作的关系。(4)CACHE容量16KB~256K和块的容量4B~128B。二、地址映象根据主存的地址来构成CACHE的地址,即主存地址与CACHE地址之间的逻辑关系。
地址映象关系是用地址映象表来表示的,这张表反映了主存单元和CACHE单元间的对应关系,这张表是用硬件实现的。
块号块内地址地址映象表块号块内地址CACHE主存地址在访问存储器时,根据主存地址的低位部分在地址映象表中查找标志并与主存地址的高位部分进行比较,相同命中,将高速CACHE中数据送CPU,不相同从主存调入数据,再送入CPU。地址变换和替换算法均用硬件实现,CACHE对程序员是透明的。主存命中?调入?替换机构CPU访问主存替换CacheNNYY访问主存装入Cache数据直接通路Cache地址数据总线、1、直接映象:一个主存块只能映象到CACHE中的唯一一个指定块的地址映象方式。
第1块第2块第3块第4块第1块第2块第3块第4块第5块第6块第7块第8块第9块第10块第11块第12块第13块第14块第15块第16块一个块由若干个字节组成,由于主存容量比CACHE大得多,所以主存有许多块会映射到CACHE的同一个块上,将主存块地址对CACHE的块数取模即得到CACHE中的块地址。主存地址:区号、块号、块内地址区号:作为标志存放在地址映象表中,用于判断命中与否。块号:用于查找地址映象表和在CACHE中的块寻址。块内地址:用于块内寻址。
在访存操作时,根据地址中的块号读出块表中的区号并与当前地址的区号进行比较,比较结果相同表示CACHE命中,访问可对CACHE进行,比较不相同则表示不命中,访问需要对主存进行。特点:不需采用相联存储器,判断命中的方法简单,也不要替换算法,速度快,可实现大容量的CACHE。但数据块的冲突率高。区号主存块号块内地址块号块内地址比较主存区号标志主存地址Cach地址不相等块失效相等块表按块号查找例:有一个CACHE的容量为2K字,每个块16个字,求(1)该CACHE可容纳多少个块?(2)如果主存的容量是256K字,则有多少个块?(3)主存的地址有多少位?CACHE地址有多少位?(4)在直接映象方式下,主存中的第i块映象到CACHE中哪一个块中?(5)进行地址映象时,存储器的地址分成哪几段?各段分别有多少位?(1)CACHE块数:2K/16=128块(2)主存块数:256K/16=16K(3)主存的地址位数:log2256K=18位CACHE地址位数:log22K=11位(4)在直接映象方式下,主存中的第i块映象到CACHE中的imod128个块中(5)存储器的地址分成区号、主存块号和块内地址三段区号:主存地址位数与CACHE地址位数之差:18-11=7主存块号:块地址长度与CACHE的块数有关,CACHE是128块,所以主存块号有log2128=7位块内地址:每个块由16个字组成,所以块内地址的位数:log216=4位。
2、全相联映象:每个主存块可映象到任何CACHE块的地址映象。
在访问操作时,根据地址中的块号在块表中查找是否有相同的主存块号。如果有,则表示CACHE命中,将对应的CACHE块号取出并对CACHE进行访问,如果没有,则CACHE没有命中,需对主存访问,在将主存中的块调入CACHE中的同时将主存块号写入块表中,以改变地址映象关系。特点:是最灵活的地址映象方式,地址是映象算法复杂,需要采用
相联存储器,适合小容量的CACHE,速度慢。第0块第1块…….第N-1块第0块第1块第M(N-1)主存块号块内地址块号块内地址比较主存块号标志CACHE块号不相等块失效相等块表相联查找0123、组相联映象:是将存储空间分成若干组,各组之间是直接映象,而组内各块之间则采用全相联映象。此方式是上述两种方式的折衷。CACHE0组第0区0组1组1组
0组第M-1区1组第0块………..第N-1块第0块…….…..第N-1块…….第(M-1)N….第MN-1
在访存操作时,根据地址中的组号和块号在块表中的该组对应的若干项中查找是否有相同的主存区号和组内块号。如果有相同的,CACHE命中,将对应的CACHE组内块号取出以对CACHE访问,没有相同的表示不命中,在对主存进行访问并将主存中的块调入CACHE中的同时将主存区号和组内块号和CACHE的组内块号写入块表中,以改变地址映象关系。特点:适合于容量小,速度较低的场合。区号组号主存块号块内地址块内地址块号组号比较主存地址不相等块失效CACHE相等块表区号标志主存块号标志CACHE块号组内相联查找三、替换策略及更新策略(一)替换策略在全相联和组相联映象方式下,主存中的数据块写入CACH中若干位置,这就有一个选择替换掉哪一个CACHE存储块的问题。1、随机法(RAND):随机地确定替换存储单元,没有根据访存局部性原理,不能提高系统的命中率。2、先进先出法(FIFO):替换最早调入的存储单元。3、近期最少使用法(LRU):替换出近期用得最少的存储块,利用了访存局部性的原理,但实现复杂。例:设一个容量为4个块的全相联CACHE,采用FIFO替换算法,若主存的地址块号序列为2、11、2、9、7、6、4、3画出每次访问后CACHE中的内容访问顺序12345678地址块号211297643块分配情况22112112119211976119764976437(二)更新策略(写操作策略)由于Cache的内容只是主存部分内容的复制,它应当和主存内容保持一致。当程序运行时需对某个单元进行写操作,则会出现Cache和主存中的内容不一致。1、写操作CACHE命中时(1)写直达法:写CACHE又写主存。(2)写回法:写CACHE不写主存,当CACHE中数据被替换出去时才写主存。2、写操作CACHE不命中时(1)按写分配法:从主存将块调入CACHE。(2)不按写分配法:当CACHE写不命中时该地址所对应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 木材合伙合同范本
- 农业供应链战略合作合同
- 新建房屋买卖中介合同
- 消防知识培训课件
- 会计行业的合同范本
- 集资的车库合同范本
- ppp合同 施工合同范例
- 中铁采购合同范例
- 协商服务合同范本
- 书代购合同范例
- 少数民族民歌 课件-2023-2024学年高中音乐人音版(2019)必修 音乐鉴赏
- 2024年LED手电筒行业技术趋势分析
- 医疗器械经营与药品经营的区别
- 钢丝绳吊装时最大允许吊装重物对应表
- 专题四“挺膺担当”主题团课
- 设计报价单模板
- 钦州卓达生物能源有限公司年产1500吨木炭项目环境影响报告表
- 汽车修理厂维修结算清单
- DB43-T+2181-2021学校治安反恐防范要求
- 内河船舶安全检查
- 松下全自动COG机操作规范
评论
0/150
提交评论