计算机组成原理第三章存贮系统2.ppt
《计算机组成原理第三章存贮系统2.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理第三章存贮系统2.ppt(96页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章存贮系统存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理3.6Cache存储器存储器1、基本原理(1)功能:解决CPU和主存之间的速度不匹配问题n一般采用高速的SRAM构成。nCPU和主存之间的速度差别很大采用两级或多级Cache系统n早期的一级Cache在CPU内,二级在主板上n现在的CPU内带L1Cahe和L2Cahen全由硬件调度,对用户透明存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理3.6Cache存储器存储器存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理
2、3.6Cache存储器存储器(2)cache基本原理n地址映射;n替换策略;n写一致性;n性能评价。存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理3.6Cache存储器存储器cache基本原理小结:ncache是介于CPU和主存M2之间的小容量存储器,但存取速度比主存快。主存容量配置几百MB的情况下,cache的典型值是几百KB。cache能高速地向CPU提供指令和数据,从而加快了程序的执行速度。从功能上看,它是主存的缓冲存储器,由高速的SRAM组成。为追求高速,包括管理在内的全部功能由硬件实现,因而对程序员是透明的。nCache的设计依据:CPU这次
3、访问过的数据,下次有很大的可能也是访问附近的数据。存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理3.6Cache存储器存储器cache基本原理小结:nCPU与Cache之间的数据传送是以字为单位n主存与Cache之间的数据传送是以块为单位nCPU读主存时,便把地址同时送给Cache和主存,Cache控制逻辑依据地址判断此字是否在Cache中,若在此字立即传送给CPU,否则,则用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到cache中。存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算
4、机组成原理3.6Cache存储器存储器(3)Cache的命中率从CPU来看,增加一个cache的目的,就是在性能上使主存的平均读出时间尽可能接近cache的读出时间。为了达到这个目的,在所有的存储器访问中由cache满足CPU需要的部分应占很高的比例,即cache的命中率应接近于1。由于程序访问的局部性,实现这个目标是可能的。存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理3.6Cache存储器存储器n在一个程序执行期间,设Nc表示cache完成存取的总次数,Nm表示主存完成存取的总次数,h定义为命中率,则有 h=Nc/(Nc+Nm)n若tc表示命中时的
5、cache访问时间,tm表示未命中时的主存访问时间,1-h表示未命中率,则cache/主存系统的平均访问时间ta为:ta=h*tc+(1-h)tm存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理3.6Cache存储器存储器n我们追求的目标是,以较小的硬件代价使cache/主存系统的平均访问时间ta越接近tc越好。n设r=tm/tc表示主存慢于cache的倍率,e表示访问效率,则有e=tc/ta=tc/(h*tc+(1-h)*tm=1/(h+(1-h)*r=1/(r+(1-r)*hn由表达式看出,为提高访问效率,命中率h越接近1越好,r值以510为宜,不宜
6、太大。n命中率h与程序的行为、cache的容量、组织方式、块的大小有关。存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理例例CPU执行一段程序时,执行一段程序时,cache完成存取完成存取的次数为的次数为1900次,主存完成存取的次数为次,主存完成存取的次数为100次,已知次,已知cache存取周期为存取周期为50ns,主存,主存存取周期为存取周期为250ns,求,求cache/主存系统的主存系统的效率和平均访问时间。效率和平均访问时间。命中率命中率 Cache/主存系统的主存系统的平均访问时间平均访问时间访问效率访问效率Cache与内存的速与内存的速度
7、比度比存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理例例6解:解:nh=Nc/(Nc+Nm)=1900/(1900+100)=0.95nr=tm/tc=250ns/50ns=5ne=1/(r+(1-r)h)=1/(5+(1-5)0.95)=83.3%nta=tc/e=50ns/0.833=60ns存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理3.6.2主存与主存与Cache的地址映射的地址映射n无论选择那种映射方式,都要把主存和cache划分为同样大小的“块”。n选择哪种映射方式,要考虑:n硬件是否容易实现n地
8、址变换的速度是否快n主存空间的利用率是否高n主存装入一块时,发生冲突的概率n以下我们介绍三种映射方法存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理一一、全相联的映射方式、全相联的映射方式n映射方法(多对多)n主存内容可以拷贝到任意行n地址变换n标记实际上构成了一个目录表。存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理一一、全全相相联联映映射射方方式式存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理设某机器主存为1MB,划分为2048个页,每页大小为512B;Cache容量
9、为8KB,划分为16页,每页大小为512B。采用全相联映射方式,则主存地址格式为:11位9位主存页号页内地址存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理一一、全相联的映射方式、全相联的映射方式1、将地址分为两部分(块号和字),在内存块写入Cache时,同时写入块号标记;2、CPU给出访问地址后,也将地址分为两部分(块号和字),比较电路块号与Cache表中的标记进行比较,相同表示命中,访问相应单元;如果没有命中访问内存,CPU直接访问内存,并将被访问内存的相对应块写入Cache。存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理
10、计算机组成原理一一、全相联的映射方式、全相联的映射方式3、特点:n优点:冲突概率小,Cache的利用高。n缺点:比较器难实现,需要一个访问速度很快代价高的相联存储器4、应用场合:n适用于小容量的Cache存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理二、直接映射方式二、直接映射方式1、映射方法(一对多)如:ni=jmodmn主存第j块内容拷贝到Cache的i行n一般I和m都是2N级例cache容量16字,主存容量256字,则地址2,18,34.242等都存放在cache的地址2内,如果第一次2在cache中,下次访问34内容,则不管cache其他位置的
11、内容访问情况,都会引起2块内容的替换存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理二、二、直接直接映射映射方式方式2、基本原理n利用行号选择相应行;n把行标记与CPU访问地址进行比较,相同表示命中,访问Cache;n如果没有命中,访问内存,并将相应块写入Cache存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理二、二、直接映射直接映射方式方式设某机器主存为1MB,划分为2048个页,每页大小为512B;Cache容量为8KB,划分为16页,每页大小为512B。采用直接联映射方式,则主存地址格式为:7位4位9位主存
12、组号页内地址Cache页号存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理二、直接映射方式二、直接映射方式3、特点n优点:比较电路少m倍线路,所以硬件实现简单,Cache地址为主存地址的低几位,不需变换。n缺点:冲突概率高(抖动)4、应用场合n适合大容量Cache存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理三、组相联映射方式三、组相联映射方式n前两者的组合nCache分组,组间采用直接映射方式,组内采用全相联的映射方式nCache分组U,组内容量Vn映射方法(一对多)nq=jmodun主存第j块内容拷贝到Cac
13、he的q组中的某行n地址变换n设主存地址x,看是不是在cache中,先y=xmodu,则在y组中一次查找存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理3、组相联映射方式、组相联映射方式n分析:比全相联容易实现,冲突低nv=1,则为直接相联映射方式nu=1,则为全相联映射方式nv的取值一般比较小,一般是2的幂,称之为v路组相联cache.存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理3、组相联映射方式、组相联映射方式设某机器主
14、存为1MB,划分为2048个页,每页大小为512B;Cache容量为8KB,划分为16页,每页大小为512B。采用2路组相联映射方式,则主存地址格式为:8位3位9位主存组号页内地址Cache组号存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理例题例题6假设主存容量为512KB,Cache容量为4KB,每个字块为16个字,每个字32位。(1)Cache地址有多少位?可容纳多少块?(2)主存地址有多少位?可容纳多少块?(3)在直接映射方式下,主存的第几块映射到Cache的第5块(设起始字块为第1块)?(4)画出直接映射方式下主存地址字段中各段的位数。存贮系统
15、存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理解(1)因为Cache容量为4KB,所以Cache地址为12位,可容纳的块数为4KB/16*4=64块.(2)因为主存容量为512KB,所以主存地址为19位,可容纳的块数为512KB/16*4=8K块.(3)在直接映射方式下,主存的第5,64+5,2*64+5,映射到Cache的第5块中.(4)字块内地址为6位(16*4=26)Cache字块地址为6位(因为有64个块)主存字块标记为7位(19-6-6=7)存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理例题例题7设某机主存容
16、量为16MB,Cache容量为KB,每个字块为个字,每个字32位。设计一个四路组相联映射的Cache组织。(1)主存地址字段中各段的位数。(2)设Cache初态为空,CPU依次从主存第0,1,2,99号单元读出100个字(主存一次读出一个字),并重复此次序读10次,问命中率是多少?(3)若Cache的速度是主存速度的5倍,试问有Cache和无Cache相比,速度提高了多少倍?(4)系统的效率为多少?存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理解:(1)字块内地址为5位(8*4=25)Cache字块组地址为6位(因为有8K/8*4*4=64个组)主存字
17、块标记为13位(24-6-5=13)(2)由于每个字块中有8个字,而且初态为空,因此CPU读第0号单元时,未命中,必须访问主存,同时将该字所在的主存块调入Cache第0组中的任一块内,接着CPU在连续读100个字中,共有13次未命中(100/8=13),而后9次循环读100个字全部命中,命中率为(100*10-13)/100*10=0.987存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理(3)依题意,设主存周期为5t,Cache周期为t,没有Cache时的访问时间为5t*1000,有Cache时的访问时间为t*(1000-13)+5t*13,则速度提高
18、的倍数为5t*1000/t*(1000-13)+5t*13-1=3.75(4)系统的效率为t/0.987*t+(1-0.987)*5t=95%存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理例例8例:设主存的容量为1KB,Cache的容量为128B,每块的大小为8B。1.直接映射、全相联映射、组相联映射(2组并联)的主存地址格式可分成哪几个部分、各占多少位?2.如果一个主存的地址为0010010011,试说明在上述三种映射方式下,该地址页在Cache中应处的位置,并说明CPU访问该地址的过程。存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计
19、算机组成原理计算机组成原理例例5解:3431.直接映射主存组号Cache行号块内地址732.全相联映射主存块号块内地址4333.组相联映射主存组号Cache组号块内地址因为主存共分为1KB/8B=128个块,Cache共分为128B/8B=16个行主存共分为128/16=8个组存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理2.直接映射主存Cache0#块0#行0#组1#块1#行15#块15#行16#块3位的标记位位的标记位1#组31#块00100100111#组2#行3#块内112#块地址7#组127#块存贮系统存贮系统存贮系统存贮系统计算机组成原理计
20、算机组成原理计算机组成原理计算机组成原理组相联映射主存Cache0#块0#行0#组0#组1#块1#行2#行1#组7#块3#行8#块1#组7#组15#块15#行4位的标记位位的标记位120#块15#组0010010011127#块2#主存组主存组2#cache组组3#块内块内存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理例例5全相联映射此时该地址块可存放在Cache中的任何一行。存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理3.6.3 3.6.3 替换策略替换策略cache工作原理要求它尽量保存最新数据,必然要产
21、生替换。对直接映射的cache来说,只要把此特定位置上的原主存块换出cache即可。对全相联和组相联cache来说,就要从允许存放新主存块的若干特定行中选取一行换出。存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理3.6.3 3.6.3 替换策略替换策略存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理3.6.3 3.6.3 替换策略替换策略最不经常使用(LFU)算法LFU算法将一段时间内被访问次数最少的那行数据换出。每行设置一个计数器。从0开始计数,每访问一次,被访行的计数器增1。当需要替换时,将计数值最小的行换出
22、,同时将这些行的计数器都清零。这种算法将计数周期限定在对这些特定行两次替换之间的间隔时间内,不能严格反映近期访问情况。存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理3.6.3 3.6.3 替换策略替换策略近期最少使用(LRU)算法 LRU算法将近期内长久未被访问过的行换出。每行也设置一个计数器,cache每命中一次,命中行计数器清零,其它各行计数器增1。当需要替换时,将计数值最大的行换出。这种算法保护了刚拷贝到cache中的新数据行,有较高的命中率。存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理3.6.3 3.
23、6.3 替换策略替换策略随机替换随机替换策略从特定的行位置中随机地选取一行换出。在硬件上容易实现,且速度也比前两种策略快。缺点是降低了命中率和cache工作效率。存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理3.6.3 3.6.3 替换策略替换策略n例子:设cache有1、2、3、4共4个块,a、b、c、d等为主存中的块,访问顺序一次如下:a、b、c、d、b、b、c、c、d、d、a,下次若要再访问e块。问,采用LFU和LRU算法替换结果是不是相同?存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理LFU(最不经常使
24、用)LRU(近期最少使用)说明1块2块3块4块说明1块2块3块4块aa进入1000a进入0111bb进入1100b进入1022cc进入1110c进入2103dd进入1111d进入3210b命中1211命中4021b命中1311命中5032c命中1321命中6103c命中1331命中7204d命中1332命中8310d命中1333命中9420a命中2333命中0531e替换a1000替换b1042存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理3.6.4cache的写操作策略的写操作策略CPU对cache的写入更改了cache的内容。可选用写操作策略使ca
25、che内容和主存内容保持一致。存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理3.6.4cache的写操作策略的写操作策略写回法写回法当当CPU写写cache命中时,只修改命中时,只修改cache的内的内容,而不立即写入主存;只有当此行被换出时容,而不立即写入主存;只有当此行被换出时才写回主存。才写回主存。实现这种方法时,每个实现这种方法时,每个cache行必须配置一个修改位,以反映此行是否被行必须配置一个修改位,以反映此行是否被CPU修改过。修改过。存贮系统存贮系统存贮系统存贮系统计算机组成原理计算机组成原理计算机组成原理计算机组成原理3.6.4cac
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 第三 存贮 系统
限制150内