计算机组成原理第7章存储系统课件.ppt
《计算机组成原理第7章存储系统课件.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理第7章存储系统课件.ppt(86页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第七章存储系统第七章存储系统7.17.1存储系统的层次结构存储系统的层次结构7.27.2高速缓冲存储器高速缓冲存储器7.37.3虚拟存储器虚拟存储器7.47.4相联存储器相联存储器7.57.5存储保护存储保护 第七章 存储系统 本章学习要点本章学习要点 熟练掌握存储系统的三级存储器结构熟练掌握存储系统的三级存储器结构 熟熟练练掌掌握握高高速速缓缓冲冲存存储储器器和和虚虚拟拟存存储储器器的的概概念念,设设置置高高速速缓缓冲冲存存储储器器和和虚虚拟拟存存储储器器的目的、理论依据和基本思想。的目的、理论依据和基本思想。熟熟练练掌掌握握高高速速缓缓冲冲存存储储器器和和虚虚拟拟存存储储器器的的基本结构、
2、地址映像原理,命中率的计算。基本结构、地址映像原理,命中率的计算。了解存储保护的原理了解存储保护的原理7.17.1存储系统的层次结构存储系统的层次结构计算机系统对存储器的要求是:容量大、速度快、计算机系统对存储器的要求是:容量大、速度快、成本低,但由于各类存储器各具其特点,即半导成本低,但由于各类存储器各具其特点,即半导体存储器速度快、成本较高;磁表面存储器容量体存储器速度快、成本较高;磁表面存储器容量大、成本低但速度慢,无法与大、成本低但速度慢,无法与CPUCPU高速处理信息的高速处理信息的能力相匹配。因此,在计算机系统中,通常采用能力相匹配。因此,在计算机系统中,通常采用三级存储器结构,即
3、使用高速缓冲存储器、主存三级存储器结构,即使用高速缓冲存储器、主存储器和外存储器组成的结构。储器和外存储器组成的结构。CPUCPU能直接访问的存能直接访问的存储器称为内存储器,它包括高速缓冲存储器和主储器称为内存储器,它包括高速缓冲存储器和主存储器;存储器;CPU CPU不能直接访问外存储器,外存储器不能直接访问外存储器,外存储器的信息必须调入内存储器后才能为的信息必须调入内存储器后才能为CPUCPU进行处理。进行处理。返回返回CacheCache主主存存辅辅存存三三级级存存储储层层次次如如图图所所示示。其其中中CacheCache容容量量最最小小,辅辅存存容容量量最最大大,各各层层次次中中存
4、存放放的的内内容容都都可可以以在在下下一一层层次次中中找找到到。这这种种多多层层次次结结构构已已成成为为现现代代计计算算机机的的典典型型存存储储结构。结构。外存平均访问时间外存平均访问时间msms级级硬盘硬盘910ms910ms光盘光盘80120ms80120ms内存平均访问时间内存平均访问时间nsns级级SRAM CacheSRAM Cache15ns15nsSDRAMSDRAM内存内存 715ns 715nsEDOEDO内存内存 6080ns 6080nsEPROMEPROM存储器存储器100400ns100400ns寄存器寄存器Cache主存储器主存储器辅助存储器辅助存储器(磁盘磁盘)大
5、容量存储器大容量存储器(磁带磁带)外存储器外存储器内存储器内存储器存存储储系系统统的的层层次次结结构构 7.27.2高速缓冲存储器高速缓冲存储器一、一、cache存储器工作原理存储器工作原理掌握要点:掌握要点:1 1程序访问的局部性程序访问的局部性在在一一个个较较短短的的时时间间间间隔隔内内,CPUCPU对对局局部部范范围围的的存存储储器器地地址址频频繁繁访访问问,而而对对此此地地址址范范围围之之外外的的地地址址访访问很少,这种现象称程序访问的局部性。问很少,这种现象称程序访问的局部性。2 2设立设立cachecache存储器的理论依据存储器的理论依据它它是是为为了了提提高高存存储储系系统统的
6、的存存取取速速度度而而设设立立的的,其其理论依据是理论依据是程序访问的局部性原理程序访问的局部性原理。返回返回图图7.1 Cache7.1 Cache和主存的地址格式和主存的地址格式6 6如何保持如何保持CacheCache与主存的一致性与主存的一致性CacheCache存储器中保存的字块是主存中相应字存储器中保存的字块是主存中相应字块的一个副本。如果程序执行过程中要对块的一个副本。如果程序执行过程中要对 该字块的某个单元进行写操作,就会遇到如该字块的某个单元进行写操作,就会遇到如何保持何保持CacheCache与主存的一致性问题。通常有与主存的一致性问题。通常有两种写入方式:两种写入方式:(
7、1 1)标志交换)标志交换(flag(flagswap)swap)方式或方式或“写回写回法法”。这种方式是暂时只向这种方式是暂时只向CacheCache存储器写入,并存储器写入,并用标志加以注明,直到经过修改的字块被从用标志加以注明,直到经过修改的字块被从CacheCache中替换出来时才一次写入主存。这种中替换出来时才一次写入主存。这种方式写操作速度快,但因在此以前,主存中方式写操作速度快,但因在此以前,主存中的字块未经随时修改而可能失效。的字块未经随时修改而可能失效。二、二、Cache Cache存储器的地址映像存储器的地址映像为了把信息放到为了把信息放到Cache存储器中,必须应存储器中
8、,必须应用某种函数把主存地址映像到用某种函数把主存地址映像到Cache,称,称作地址映像。在信息按照这种映像关系装作地址映像。在信息按照这种映像关系装入入Cache后,执行程序时,应将主存地址后,执行程序时,应将主存地址变换成变换成Cache地址,这个变换过程叫做地地址,这个变换过程叫做地址变换。址变换。1 1 直接地址映像方式直接地址映像方式在直接映像方式中,映像函数可定为:在直接映像方式中,映像函数可定为:j ji mod 2i mod 2c c其中,其中,j j是是CacheCache的字块号,的字块号,i i是主存的字块是主存的字块号。在这种映像方式中,主存的第号。在这种映像方式中,主
9、存的第0 0块,第块,第2 2c c块,第块,第2 2c c1 1块,块,只能映像到,只能映像到CacheCache的的第第0 0块,而主存的第块,而主存的第l l块,第块,第2 2c c1 1块,第块,第2 2c+1c+11 1块块,只能映像到,只能映像到CacheCache的第的第l l块。块。例例1:1:设主存容量设主存容量1MB1MB,高缓容量,高缓容量16KB16KB,块的大,块的大小为小为512512字节。字节。(1)Cache(1)Cache地址格式地址格式(2)(2)写出主存地址格式写出主存地址格式(3)(3)块表的容量为多大?块表的容量为多大?(4)(4)画出直接方式地址映像
10、及变换示意图画出直接方式地址映像及变换示意图(5)(5)主存地址为主存地址为CDE8FHCDE8FH的单元在的单元在cachecache中的什么中的什么位置?位置?【例题解答】【例题解答】(1)Cache(1)Cache容量容量16KB16KB,16KB=216KB=21414,所以,所以CacheCache地地址为址为1414位;块的大小为位;块的大小为512512字节,所以块内地字节,所以块内地址为址为9 9位,块地址为位,块地址为5 5位。位。CacheCache地址格式为:地址格式为:13 9 8 0 13 9 8 0 块地址块地址 块内地址块内地址(2)(2)主存容量主存容量1MB1
11、MB,1MB=21MB=22020,所以主存地址为,所以主存地址为2020位;位;块的大小为块的大小为512512字节,所以块内地址为字节,所以块内地址为9 9位,块地位,块地址为址为5 5位,块标记为位,块标记为6 6位。位。主存地址格式为:主存地址格式为:19 14 13 9 8 0 19 14 13 9 8 0 块标记块标记 块地址块地址 块内地址块内地址(3)Cache(3)Cache的每一块在块表中有一项,的每一块在块表中有一项,CacheCache的块地的块地址为址为5 5位,所以块表的单元数为位,所以块表的单元数为2 25 5;块表中存放的;块表中存放的是块标记,由于块标记为是块
12、标记,由于块标记为6 6位,所以块表的字长为位,所以块表的字长为6 6位。位。故块表的容量为:故块表的容量为:2 25 5字字66位。位。(5)(5)因为因为cachecache容量为容量为16KB=216KB=21414B B,块长为,块长为512B512B,所以,所以cachecache有有161024/512=32161024/512=32个块。个块。因为因为 CDE8F H=1100 CDE8F H=1100,11011101,11101110,10001000,11111111所以块号所以块号=1100=1100,11011101,111 111 块内地址块内地址=0=0,10001
13、000,11111111在直接映射方式下,主存中的第在直接映射方式下,主存中的第i i块映射到块映射到cachecache中第中第i mod 2i mod 25 5个块中;个块中;11001100,11011101,111 mod 32=01111111 mod 32=01111;所以,地址所以,地址CDE8FCDE8F的单元在的单元在cachecache中的地址中的地址为为0111101111,010001111010001111。直接映像的优点是实现简单。直接映像的优点是实现简单。直接映像方式的缺点是不够灵活,即主直接映像方式的缺点是不够灵活,即主存的存的2 2t t个字块只能对应唯一的个
14、字块只能对应唯一的CacheCache存储存储器字块,因此,即使器字块,因此,即使CacheCache存储器别的许存储器别的许多地址空着也不能占用。这使得多地址空着也不能占用。这使得CacheCache存存储空间得不到充分利用,并降低了命中储空间得不到充分利用,并降低了命中率。率。在上面的例在上面的例1 1中中(1)Cache(1)Cache容量容量16KB16KB,16KB=216KB=21414,所以,所以CacheCache地址为地址为1414位;块的大小为位;块的大小为512512字节,所以块字节,所以块内地址为内地址为9 9位,块地址为位,块地址为5 5位,共位,共3232个块。个块
15、。CacheCache地址格式为:地址格式为:13 9 8 0 13 9 8 0 块地址块地址 块内地址块内地址(2)(2)主存容量主存容量1MB1MB,1MB=21MB=22020,所以主存地址为,所以主存地址为2020位;块的大小为位;块的大小为512512字节,所以块内地址字节,所以块内地址为为9 9位,块地址为位,块地址为1111位,共位,共2 21111=2048=2048个块。个块。主存地址格式为:主存地址格式为:19 9 8 0 19 9 8 0 块标记块标记 块内地址块内地址 (3)Cache(3)Cache的的每每一一块块在在块块表表中中有有一一项项,CacheCache的的
16、块块地地址址为为5 5位位,所所以以块块表表的的单单元元数数为为2 25 5;块块表表中中存存放放的的是是块块标标记记,由由于于块块标记为标记为1111位,所以块表的字长为位,所以块表的字长为1111位。位。故块表的容量为:故块表的容量为:2 25 5字字1111位。位。全相联映像方式的优缺点全相联映像方式的优缺点地址映像:写入地址映像:写入CACHECACHE时,要将主存的全部时,要将主存的全部地址写入地址写入CACHECACHE的标志字段的标志字段地址变换:用读主存的整个地址去与地址变换:用读主存的整个地址去与CACHECACHE中的每一个单元的标志字段进行比较。中的每一个单元的标志字段进
17、行比较。优点:使用灵活、方便优点:使用灵活、方便缺点:比较地址字段必须与整个缺点:比较地址字段必须与整个CACHECACHE中每中每一个单元的标志字段都进行比较,所以线路一个单元的标志字段都进行比较,所以线路复杂,成本太高,难以实现,只是适用于容复杂,成本太高,难以实现,只是适用于容量小的量小的CACHECACHE。3.3.组相联地址映像方式组相联地址映像方式组相联映像方式是直接映像和全相联映像方组相联映像方式是直接映像和全相联映像方式的一种折衷方案。组相联映像式的一种折衷方案。组相联映像CacheCache组织组织如图如图7.57.5所示。它把所示。它把CacheCache字块分为字块分为2
18、c2c组,组,每组包含每组包含2 2r r个字块,于是有个字块,于是有c cccr r。那。那么,主存字块么,主存字块Mm(i)(0i2Mm(i)(0i2m m1)1)可以用下可以用下列映像函数映像到列映像函数映像到CacheCache字块字块Mc(j)Mc(j)(0j2(0j2c c1)1)上。上。j j(i mod 2(i mod 2 cc)2)2 r rk k 0k2 0k2 r r1 1k k是位于上列范围内的可选参数是位于上列范围内的可选参数(整数整数)。按。按这种映像方式,组间为直接映像,而组内的这种映像方式,组间为直接映像,而组内的字块为全相联映像方式。字块为全相联映像方式。例例
19、2 2:一个组相联映象:一个组相联映象CacheCache由由6464个存储块构个存储块构成,每组包含成,每组包含4 4个存储块。主存包含个存储块。主存包含40964096个个存储块,每块由存储块,每块由8 8字组成,每字为字组成,每字为3232位。存位。存储器按字节编址,访存地址为字地址。储器按字节编址,访存地址为字地址。(1)(1)写出主存地址位数和地址格式。写出主存地址位数和地址格式。(2)Cache(2)Cache地址位数和地址格式。地址位数和地址格式。(3)(3)画出组相联映像方式的示意图。画出组相联映像方式的示意图。(4)(4)主存地址主存地址18AB9H18AB9H映射到映射到C
20、acheCache的哪个字块的哪个字块?【相关知识】【相关知识】Cache Cache存储器的地址格式和组存储器的地址格式和组相联地址映像方式。相联地址映像方式。【例题解答】【例题解答】(2)Cache(2)Cache由由6464个存储块构成,每块由个存储块构成,每块由8 8字组成,每字组成,每字为字为3232位,存储器按字节编址,位,存储器按字节编址,所以所以CacheCache容量容量=648=648字字4B=24B=21111B B,所以,所以CacheCache的的地址总数为地址总数为1111位。位。每组包含每组包含4 4个存储块,所以组内块号为个存储块,所以组内块号为2 2位;位;C
21、acheCache有有64/4=1664/4=16个组,所以组号为个组,所以组号为4 4位。位。Cache Cache地址格式为:地址格式为:10 9 8 5 4 2 1 010 9 8 5 4 2 1 0组内块号组内块号 组号组号 块内字地址块内字地址 块内字节地址块内字节地址(1)(1)主存包含主存包含40964096个存储块,主存容量:个存储块,主存容量:40968 40968字字44字节字节=2=21717字节字节主存字块标记为主存字块标记为17-11=617-11=6位。位。主存地址格式为:主存地址格式为:16 11 10 9 8 5 4 2 1 016 11 10 9 8 5 4
22、2 1 0主存字块主存字块标记标记 组内块号组内块号 组号组号 块内字地址块内字地址 块内字节地址块内字节地址 (3)(3)组相联映像方式的示意图如图例组相联映像方式的示意图如图例2 2所示。所示。由于访存地址为字地址,所以块内字节地址无用,由于访存地址为字地址,所以块内字节地址无用,图中由主存高位地址和组内块号组成标记,分别图中由主存高位地址和组内块号组成标记,分别与由组号选中的组中的四个标记进行比较,比较与由组号选中的组中的四个标记进行比较,比较符合即可访问相应的字块。符合即可访问相应的字块。(4)(4)主存地址主存地址18AB9H=1 1000 10118AB9H=1 1000 1010
23、 0 1011011 10011 1001方法方法1 1:组号为组号为01010101,所以主存地址,所以主存地址18AB9H18AB9H可以映射到可以映射到CacheCache的第的第5 5组中的字块组中的字块2020、字块、字块2121、字块、字块2121或字或字块块2323。方法方法2 2:块内地址位块内地址位1 10011 1001;块号位块号位i=1 1000 i=1 1000 1010 1011010 101;设;设CacheCache的块号为的块号为j j,因为因为j=(i mod 2j=(i mod 24 4)2)22 2 k k 0k2 0k22 21 1所以所以 j=(1
24、1000 1010 101 mod 2 j=(1 1000 1010 101 mod 24 4)222 2 k=01012 k=010122 2 k=54 k=54 k k所以主存地址所以主存地址18AB9H18AB9H可以映射到可以映射到CacheCache的的第第5 5组中的字块组中的字块2020、字块、字块2121、字块、字块2222或字或字块块2323。在实际在实际CacheCache中用得最多的是直接映像中用得最多的是直接映像(r(r0)0),两,两路组相联映像路组相联映像(r(r1)1)和和4 4路组相联映像路组相联映像(r(r2)2)。如。如r r2 2,则,则0k30k3,所以
25、主存某一字块可映像到,所以主存某一字块可映像到CacheCache某组某组4 4个字块的任一字块中,这大大地增加个字块的任一字块中,这大大地增加了映像的灵活性,提高了命中率。了映像的灵活性,提高了命中率。组相联映像方式的性能与复杂性介于直接映像与组相联映像方式的性能与复杂性介于直接映像与全相联映像两种方式之间。当全相联映像两种方式之间。当r r0 0时,它就成为时,它就成为直接映像方式;当直接映像方式;当r rc c时,就是全相联映像方式。时,就是全相联映像方式。CacheCache的命中率除了与地址映像的方式有关外,还的命中率除了与地址映像的方式有关外,还与与CacheCache的容量有关。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 存储系统 课件
限制150内