清华计算机组成原理课件存储系统.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《清华计算机组成原理课件存储系统.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 清华 计算机 组成 原理 课件 存储系统
- 资源描述:
-
1、2022-3-20计算机组成原理1章存储系统章存储系统7 7.6 .6 存储保护存储保护7.1 7.1 存储系统的层次结构存储系统的层次结构7.2 7.2 高速缓冲存储器高速缓冲存储器CacheCache 7.3 7.3 虚拟存储器虚拟存储器 7.5 7.5 双端口存储器双端口存储器 7.4 7.4 相联存储器相联存储器2022-3-20计算机组成原理27.1 7.1 存储系统的层次结构存储系统的层次结构CPUCACHE主存(内存)主存(内存)辅存(外存)辅存(外存)l根据各种存储器的存储根据各种存储器的存储容量、存取速度和价格容量、存取速度和价格比的不同,将它们按照比的不同,将它们按照一定的
2、体系结构组织起一定的体系结构组织起来,使所放的程序和数来,使所放的程序和数据按照一定的层次分布据按照一定的层次分布在各种存储器中。在各种存储器中。2022-3-20计算机组成原理31、主存和高速缓存之间的关系、主存和高速缓存之间的关系lCacheCache引入引入: :为解决为解决CPUCPU和主存之间的速度差距和主存之间的速度差距, ,提高整机的运算速度提高整机的运算速度, ,在在CPUCPU和主存之间插入的由高速电子器件组成的容量不大和主存之间插入的由高速电子器件组成的容量不大, ,但速但速度很快的存储器。度很快的存储器。lCacheCache特点特点存取速度最快,容量小,价格贵,存取速度
3、最快,容量小,价格贵,存储控制和管理由硬件实存储控制和管理由硬件实现。现。lCacheCache工作原理工作原理程序访问的局部性程序访问的局部性 在较短时间内由程序产生的地址往往集中在存储器逻辑地在较短时间内由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内。这种对局部的存储器地址频繁访问,址空间的很小范围内。这种对局部的存储器地址频繁访问,而对此范围以外的地址范围甚少的现象就称为程序访问的局而对此范围以外的地址范围甚少的现象就称为程序访问的局部性。部性。 CPU CPU与与CacheCache之间的数据交换是以字为单位,而之间的数据交换是以字为单位,而CacheCache与主与主存之间
4、的数据交换是以块存之间的数据交换是以块( (页)为单位,一个块(页)是由若页)为单位,一个块(页)是由若干字组成,是定长度的。干字组成,是定长度的。演示演示2022-3-20计算机组成原理4Cache功能演示功能演示2022-3-20计算机组成原理52、主存与辅存之间的关系、主存与辅存之间的关系l主存主存:(半导体存储器组成半导体存储器组成)优优:速度快速度快缺缺:容量居中容量居中,单位成本较高单位成本较高, 价格居中。价格居中。l辅存辅存:(光盘光盘,磁盘磁盘)优优:容量大容量大,信息长久保存信息长久保存,单位成本低单位成本低.缺缺:存取速度慢存取速度慢l CPU将要运行的程序和数据存放在主
5、存中,而将要运行的程序和数据存放在主存中,而暂时不用的程序和数据存放在辅存中。暂时不用的程序和数据存放在辅存中。l 辅存只与主存进行数据交换,不能直接运行辅存只与主存进行数据交换,不能直接运行,需需靠辅助的软、硬件来实现之。靠辅助的软、硬件来实现之。演示演示2022-3-20计算机组成原理67.2 7.2 高速缓冲存储器高速缓冲存储器CacheCache 组成组成: 由高速小容量的由高速小容量的SRAM和高速缓存控制器组和高速缓存控制器组成。成。l 功能功能: 将将CPU当前快要用到的部分数据块由主存复当前快要用到的部分数据块由主存复制到容量小、速度快的制到容量小、速度快的Cache 中中,再
6、由再由Cache 向向CPU直直接提供它所需要的数据。它内部存放的是部分主存内容接提供它所需要的数据。它内部存放的是部分主存内容的副本。的副本。l Cache存储器介于存储器介于 CPU和主存之间,它的工作速度和主存之间,它的工作速度数倍于主存,全部功能由硬件实现。由于转换速度快,数倍于主存,全部功能由硬件实现。由于转换速度快,软件人员丝毫未感到软件人员丝毫未感到Cache的存在,这种特性称为的存在,这种特性称为Cache的透明性。的透明性。Cache内部是用同主存内部同样大小内部是用同主存内部同样大小的块组成,故由于的块组成,故由于Cache存储容量小,所以块的数目少存储容量小,所以块的数目
7、少l 在在Cache中,每一块外加有一个标记,指明它是主中,每一块外加有一个标记,指明它是主存的哪一块的副本,所以该标记的内容相当于主存中块存的哪一块的副本,所以该标记的内容相当于主存中块的编号,块内字节数与主存相同。的编号,块内字节数与主存相同。2022-3-20计算机组成原理77.2.7.2.1 1 CacheCache的组成和工作原理的组成和工作原理标志标志 块号块号 块内地址块内地址主存地址主存地址主主存存块号块号 块内地址块内地址Cache标记标记Cache地址地址比较器比较器替替换换算算法法Cache数据数据去去CPU来自来自CPU不命中不命中命中命中Cache满满访数据访数据修改
8、标记修改标记访标记访标记NO2022-3-20计算机组成原理8数据总线数据总线Cache替换机构替换机构可装进?可装进? 命中?命中?主存主存Cache 地址映象地址映象 变换机构变换机构 主主 存存访问主访问主存替换存替换Cache Cache 存储体存储体块号块号块内地址块内地址直接通路直接通路访问主存装入访问主存装入CacheNNYY块号块号块内地址块内地址CPU主存地址主存地址地址总线地址总线Cache地址地址Cache 的基本结构的基本结构Cache替换机构替换机构由由 CPU 完成完成 Cache 存储体存储体主存主存Cache 地址映象地址映象 变换机构变换机构 2022-3-2
9、0计算机组成原理9Cache 的工作原理的工作原理主存和缓存的编址主存和缓存的编址主存和缓存按块存储主存和缓存按块存储 块的大小相同块的大小相同B 为块长为块长 主存块号主存块号主存储器主存储器012m1字块字块 0字块字块 1字块字块 M1主存块号主存块号块内地址块内地址m位位b位位n位位M块块B个字个字缓存块号缓存块号块内地址块内地址c位位b位位C块块B个字个字 字块字块 0字块字块 1字块字块 C1012c1标记标记Cache缓存块号缓存块号2022-3-20计算机组成原理10Cache工作原理演示工作原理演示2022-3-20计算机组成原理117.2.2 7.2.2 CacheCach
10、e的的组织和管理组织和管理l1.地址映像地址映像l为了把信息放到为了把信息放到Cache存储器中,必须应用某种方法把存储器中,必须应用某种方法把主存地址定位到主存地址定位到Cache中,称作中,称作地址映像地址映像。在信息按照。在信息按照这种映像关系(采用硬件方法实现)装入这种映像关系(采用硬件方法实现)装入Cache后,执后,执行程序时应将主存地址变换成行程序时应将主存地址变换成Cache地址地址,这个变换过这个变换过程叫做程叫做地址变换地址变换。地址的映像和变换是密切相关的。例。地址的映像和变换是密切相关的。例如主存容量如主存容量1MB, Cache 容量容量8KB,其地址结构如图:其地址
11、结构如图:l 主存地址主存地址lCache地址地址 Cache块号块号 l下面介绍几种基本地址映像方式,它们是全相联映像、下面介绍几种基本地址映像方式,它们是全相联映像、直接映像和组相联映像等。直接映像和组相联映像等。A19 主存块号 A10A9 块内地址 A0A12 A11 A10 A9 块内地址 A02022-3-20计算机组成原理12 (1)全相联映像)全相联映像l 全相联映像方式是最灵活,但成本最高的一种方式全相联映像方式是最灵活,但成本最高的一种方式。实际中较少使用。它允许主存中的每一个字块映像到实际中较少使用。它允许主存中的每一个字块映像到Cache存储器的任何一个字块位置上存储器
12、的任何一个字块位置上,也允许从确实已也允许从确实已被占满的被占满的Cache存储器中替换出任何一个旧字块。它的存储器中替换出任何一个旧字块。它的标记位数要多,为主存总位数减去块内的位数,这样会标记位数要多,为主存总位数减去块内的位数,这样会使使Cache标记容量加大。主要问题是在访问标记容量加大。主要问题是在访问Cache时,时,需要和需要和Cache的全部标记进行比较,这样才能判断出所的全部标记进行比较,这样才能判断出所访主存地址的内容是否已在访主存地址的内容是否已在 Cache中。由于中。由于Cache速速度要求高,所以全部度要求高,所以全部比较比较操作都要用硬件实现,通操作都要用硬件实现
13、,通常由常由“按内容寻址的按内容寻址的”相联存储器完成(见相联存储器完成(见7.4 章节)。章节)。 在具体操作时需要设立一个块号对照表,凡已装入在具体操作时需要设立一个块号对照表,凡已装入Cache 中的主存块号其标识位都要置中的主存块号其标识位都要置1,以便快速使用。,以便快速使用。2022-3-20计算机组成原理13图图7.4全相联映像全相联映像主存字块总位数减去b 字块 0 字块 1 字块 i 字块2m-1 字块 0 字块 1 字块 2c-1 标记 标记 标记 主存字 字块内 地址 块标记 主存储器 m = b 位 m= 主存地址 cache 存储器 2022-3-20计算机组成原理1
14、4全相联映象全相联映象主存主存 中的中的 任一块任一块 可以映象到可以映象到 缓存缓存 中的中的 任一块任一块字块字块2m1字块字块2c1字块字块1 字块字块0字块字块2c1字块字块1字块字块0标记标记标记标记标记标记主存字块标记主存字块标记 字块内地址字块内地址主存地址主存地址m = t + c 位位b位位m = t+cCache 存储器存储器主存储器主存储器 字块字块02022-3-20计算机组成原理15全相联映象演示全相联映象演示2022-3-20计算机组成原理16例如某机主存为例如某机主存为1MB(20位位),要求每页要求每页512B(9位位 ),要划分,要划分2048页页(占占11位
15、位);Cache为为8KB(13位位),每页每页512B(9位位),要划分,要划分16页页(占占4) 11位位 Cache 主存主存 主存地址主存地址l 11位位 9位位l 主存页号主存页号l由于每个由于每个Cache页可以映射页可以映射2048个主存页中的任一页,因此每页个主存页中的任一页,因此每页的的Cache标记也需要标记也需要11位,已表明它现在所映象的主存页号。位,已表明它现在所映象的主存页号。 标记标记0页页标记标记1页页 . . . . . .标记标记15页页0页页1页页15页页2047页页主存页标号主存页标号 页内地址页内地址注:这里的页相当注:这里的页相当于以上所介绍的字于以
16、上所介绍的字块。块。2022-3-20计算机组成原理17 (2)直接映像直接映像l 在直接映像方式中,主存和在直接映像方式中,主存和Cache中字块的对应关系中字块的对应关系,如图如图 7. 3所示。直接映像函数可定义为:所示。直接映像函数可定义为: j= i mod 2c l 其中其中j 是是Cache 的字块号,的字块号,i 是主存的字块号,主存是主存的字块号,主存中有中有2m 个块个块,字块大小为字块大小为2b 字,字,Cache中有同样大小的中有同样大小的2c 个块个块 。C是是Cache高位地址位数高位地址位数,b是是Cache低位地址低位地址位数位数 。其做法是先将主存分成与其做法
17、是先将主存分成与Cache同样大小的若同样大小的若干个区(组),每个区中的某个块只能固定调入干个区(组),每个区中的某个块只能固定调入Cache 中的对应块,如第中的对应块,如第0 块,第块,第2c 块,第块,第2c+1块,块, ,只,只能映像到能映像到cache 的第的第0 块,而主存的第块,而主存的第1 块,第块,第2c1块第块第2c+1十十1块,块, ,只能映像到只能映像到 Cache的第的第 1块等等。块等等。在这种映像方式中,其对应关系是固定的并有一定限制在这种映像方式中,其对应关系是固定的并有一定限制的。的。2022-3-20计算机组成原理18图图7.3 字块0 字块1 字块2c-
18、1 字块 2c 字块2c+1 字块2c+1-1 字块2c+1 字块2m-1 字块 0 字块 1 字块 2c-1 标记 标记 标记 主存字 cache 字块内 块标记 字块地址 地址 主存储器 t 位 c 位 b 位 m 位 t 位 0 1 2c-1 比较器(t 位) = 主存 地址 有效位=1? 命中 不命中 cache 存储器 * *假设 cache 字块地址字段内容为0001 2022-3-20计算机组成原理19 字块字块2m1 字块字块2c+1 字块字块2c+11 字块字块2c +1 字块字块2c 字块字块2c1 字块字块1 字块字块0主存储体主存储体 字块字块 1 标记标记 字块字块
19、0 标记标记字块字块 2c1标记标记Cache存储体存储体t位位01C1 字块字块字块地址字块地址 主存字主存字 块标记块标记t 位位c 位位b 位位主存地址主存地址 比较器(比较器(t位)位)= 不命中不命中有效位有效位=1?*m位位 Cache内地址内地址否否是是命中命中直接映象直接映象每个缓存块每个缓存块 i 可以和可以和 若干若干 个个 主存块主存块 对应对应每个主存块每个主存块 j 只能和只能和 一一 个个 缓存块缓存块 对应对应i = j mod C 字块字块2c+1 字块字块2c 字块字块0 字块字块 02022-3-20计算机组成原理20直接映象演示直接映象演示2022-3-2
20、0计算机组成原理21l例如例如 某机主存为某机主存为1MB,每页每页512B ,这样划分这样划分2048页,共分页,共分0127组,每组组,每组16页页;Cache为为8KB,每页每页512B ,划分,划分16页。页。l 7位位 Cache 主存主存 主存地址主存地址l 7位位 4位位 9位位l 0组组l 1组组 主存页号主存页号l l Cache地址地址 l标记为组号标记为组号 l在访存时,只需比较在访存时,只需比较 两者标记,如相同则命中两者标记,如相同则命中 127组组 标记标记0页页标记标记1页页 . . . . . . 标记标记15页页0页页1页页 15页页16页页17页页 31页页
21、 2032页页2033页页 2047页页主存主存标记标记Cache页号页号页内页内地址地址页相当于字块2022-3-20计算机组成原理22l优点优点是实现简单,只需利用主存地址是实现简单,只需利用主存地址,按某些字按某些字段直接判断,即可确定所需字块是否已在段直接判断,即可确定所需字块是否已在 Cache存储器中。存储器中。l缺点缺点是不够灵活,即主存的是不够灵活,即主存的2t个字块只能对应唯个字块只能对应唯一的一的Cache存储器字块。因此存储器字块。因此,即使即使Cache存储存储器别的许多地址空着也不能占用。这使得器别的许多地址空着也不能占用。这使得Cache存储空间得不到充分利用,并降
22、低了命中率。存储空间得不到充分利用,并降低了命中率。2022-3-20计算机组成原理23l(3)组相联映像)组相联映像l 组相联映像方式是直接映像和全相联映像方式的一组相联映像方式是直接映像和全相联映像方式的一种折衷方案。组相联映像种折衷方案。组相联映像Cache组织如图组织如图7.5所示。即所示。即在高速缓冲区内将其容量先分成以组为单位,然后每组在高速缓冲区内将其容量先分成以组为单位,然后每组内在包含若干页。内在包含若干页。l 组相联映像方式的性能与复杂性介于直接映像与全组相联映像方式的性能与复杂性介于直接映像与全相联映像两种方式之间。设相联映像两种方式之间。设r 为为Cache中每组中包含
23、中每组中包含2r个字块数,这样当个字块数,这样当r = 0 时,它就成为直接映像方式时,它就成为直接映像方式,当当r = c 时,就是全相联映像方式。也就是各组是直接映像时,就是全相联映像方式。也就是各组是直接映像方式,组内的页执行的是全相连映像方式。方式,组内的页执行的是全相连映像方式。l Cache的命中率除了与地址映像的方式有关外,还与的命中率除了与地址映像的方式有关外,还与Cache的容量有关。的容量有关。Cache容量大容量大,则命中率就高,但则命中率就高,但达到一定容量后,命中率的提高就不明显了。达到一定容量后,命中率的提高就不明显了。l 到到80486才引进一个才引进一个8KB的
24、片上的片上Cache,一个用作指,一个用作指令缓存,另一个用作数据缓存。它们的块大小都为令缓存,另一个用作数据缓存。它们的块大小都为32KB,采用两路组相连的组织方式。,采用两路组相连的组织方式。2022-3-20计算机组成原理24图图7.5组相联映像组相联映像每组两个子块 字块 0 字块 1 字块 2c-r-1 字块 2c-r 字块 2c-r+1 字块 2c-r+1-1 字块 2c-r+1 字块 2m-1 主存储器 标记 字块 0 标记 字块 1 标记 字块 0 标记 字块 1 标记 字块 0 标记 字块 1 cache (r = 1) 组 0 1 2c-r-1 主存字块标记 组地址 块内地
25、址 t+r 位 c=c -rb 位 主存地址 2022-3-20计算机组成原理25字块字块2m1字块字块2c-r+1 字块字块2c-r + 1 字块字块2c-r字块字块2c-r 字块字块1 字块字块0 字块字块 3标记标记 字块字块 1标记标记字块字块 2c1标记标记 字块字块 2标记标记 字块字块 0标记标记字块字块 2c2标记标记 字块内地址字块内地址组地址组地址主存字块标记主存字块标记s = t + r 位位q = cr 位位b 位位组组012c-r1主存地址主存地址Cache主存储器主存储器m 位位共共 Q 组组,每组内两块(,每组内两块(r = 1)1某一主存块某一主存块 j 按模按
展开阅读全文