第七章组成原理优秀课件.ppt
《第七章组成原理优秀课件.ppt》由会员分享,可在线阅读,更多相关《第七章组成原理优秀课件.ppt(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第七章组成原理课件计算机组成原理计算机组成原理计算机组成原理计算机组成原理第1页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理7.1存储系统的层次结构7.2高级缓冲存储器7.3虚拟存储器7.4相联存储器第2页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理7.1存储系统的层次结构1.主存和辅存的概念2.主存和辅存在操作系统的控制下,通过软硬件把主存和辅存统一成为一个整体,形成一个存储层次。这个层次拥有接近于主存的速度和辅存的容量,价格也接近于辅存的价格。3.在CPU和主存之间有高速缓冲存储器cache,这完全是由硬件来完成的。Cache主存的速
2、度接近于cache,而容量与价格接近于主存。Cache的速度接近于CPU。第3页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理1.三级结构的存储器系统:将高速缓缓冲存储器、主存储器和辅助(虚拟)存储器组成的统一管理、调度的一体化三级结构的存储器系统。第4页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理3.三种存储器的比较 (1)高速缓存(Cache):速度快,容量小,用于临时存放运行中的指令和少量数据;(2)主存:速度、容量一般,用于临时存放运行中的大量程序和数;(3)辅存:速度慢,容量大,用于永久存放大型程序软件和数据库。第5页,本讲稿共6
3、6页计算机组成原理计算机组成原理计算机组成原理计算机组成原理4.采用三级结构的目的和方法(1)Cache-主主存存层层次次:解决CPU与主存间速度不匹配问题,使系统具有主存容量和接近于Cache速度。采用地址映像方式,以字块为基本信息单位。(2)虚拟存储器虚拟存储器-主存层次主存层次:解决主存容量小、运行成本高的问题,使系统具有辅存容量和接近主存速度,且造价和运行成本低。采用地址变换方式,以段、页为基本信息单位。第6页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理局部性原理、一致性原则和包含性原则局部性原理、一致性原则和包含性原则局部性原理、一致性原则和包含性原则局部
4、性原理、一致性原则和包含性原则 1.局部性原理局部性原理三级结构存储器系统运行原理基础(1)时间局部性:在较小的时间间隔内,最近被访问的指令和数据很可能再次被访问;(2)空间局部性:这些最近被访问的指令和数据往往集中在一小片存储区域中;(3)指令执行方式局部性:顺序执行较转移执行可能性大。第7页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理3.一一致致性性原原则则:同时存放在三类存储器中的信息,在三类存储器中必须保持同值。2.包含性原则包含性原则:处在内层的存储器的信息一定包含在各外层存储器中。即内层存储器中信息是外层存储器所存信息的一小部分的副本。Cache:一种容
5、量小、速度快,用静态存储器器件实现的存储器。作用:解决CPU与主存速度不匹配的问题,使系统速度接近于CPU,容量接近于主存。第8页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理第9页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理7.2高速缓冲存储器(cache)7.2.1cache存储器工作原理根据程序访问的局部性要设置cache.设置cache可以存放当前使用的程序和数据,提高了程序的执行速度,所以叫高速缓冲器。n基本原理:将CPU最近访问的指令和数据从主存复制到Cache中,当CPU下次再使用这些信息时,可直接从快速的Cache中得到而不
6、必访问主存,从而提高了CPU的运行效率。第10页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理第11页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理Cache的基本结构如图所示的基本结构如图所示:1.Cache的组织形式:(1)数据字段:保存从主存复制来的数据(2)标志字段:保存相应主存单元的地址(3)有效位字段:用1/0表示该Cache单元的数据字段和标志字段是否有效。2.Cache的运行原理:(1)CPU将主存信息读入CPU的同时,也将信息写入数据字段,并将该数据所对应的主存地址也写入标志字段。(2)CPU下次访问主存时,先将该地址与标志
7、字段内容相比较,若地址值相同,则表示数据内容即为要读的数据,可直接访问Cache,同时将有效位字段置1(命中);否则,再访问主存,有效位字段置0。第12页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理(3)利用算法如先进先出先进先出FIFO、近期最少用法最少用法LRU或优化替换法优化替换法OPT将非命中的数据逐步替换掉。(4)根据局限性原理,CPU访问的绝大部分信息可直接从Cache中得到。命中与不命中命中与不命中:将主存地址m位与cache某块的标记相比较,当比较结果相等时,说明所需要的数在cache中,可以直接在cache和CPU中直接传送(字)。当比较结果不相等
8、,说明需要的数据没有在cache中,就要把该数据所在的整个字块从主存一次调进来。前者称为命中,后一种情况称为不命中。第13页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理设主存有2n个单元,地址码为n位,将主存分块,每块有B个字节,则共分成M=2n/B块。cache也由同样大小的块组成。在cache中,每一块都有一个标记指明它是那一块的副本,设主存地址为n位,且n=m+b,则可得出:主存的块数M=2m,块内字节数B2b。Cache的地址码为(c+b)位。Cache的块数为2c.块内字节数与主存相同。Cache读工作方式设计的概念第14页,本讲稿共66页计算机组成原理计
9、算机组成原理计算机组成原理计算机组成原理命中率:CPU所要访问的信息在cache中的比率,而将所要访问的消息不在cache中的比率称为失败率。提高命中率的方法cache的容量增大。替换算法:把新的字块调入主存的过程,cache相应的位置被其他字块占有,就必须去掉旧的字块,让位给新的字块。这种替换会用到替换算法。第15页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理在一个程序执行期间,设Nc表示cache完成存取的总次数,Nm表示主存完成存取的总次数,h定义为命中率,则有h=Nc/(Nc+Nm)若tc表示命中时的cache访问时间,tm表示未命中时的主存访问时间,1-h
10、表示未命中率,则cache/主存系统的平均访问时间ta为:ta=htc+(1-h)tm第16页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理【例】【例】CPU执行一段程序时,cache完成存取的次数为1900次,主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求cache/主存系统的效率和平均访问时间。解:解:h=Nc/(Nc+Nm)=1900/(1900+100)=0.95r=tm/tc=250ns/50ns=5e=1/r+(1-r)h=1/5+(1-5)0.95=83.3%ta=tc/e=50ns/0.833=60ns第1
11、7页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理7.2.27.2.2cachecache存储器组织存储器组织 1.地址映像地址映像为了把主存块放到cache中,必须应用某种方法把主存地址定位到cache中,称做地址映射。“映射”一词的物理含义是确定位置的对应关系,并用硬件来实现。这样当CPU访问存储器时,它所给出的一个字的内存地址会自动变换成cache的地址。由于采用硬件,这个地址变换过程很快,软件人员丝毫未感觉到cache的存在。这种特性称为cache的透明性。地址映射方式有全相联方式、直接方式和组相联方式三种,下面分别介绍。假设主存储器空间被分为2m个块,字块大
12、小为2b个字;cache存储空间被分为2c个同样大小的块。第18页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理(1)全相联映射方式)全相联映射方式全相联映像方式是最灵活但成本最高的一种方式。它允许主存中的每一字块映像到Cache的任何一个字块位置上,也允许从确实已被占满的Cache中替换出任何一个旧字块。主要问题是在访问Cache时,需要和Cache的全部标记进行“比较”才能判断出所访主存地址的内容是否已在Cache中。由于Cache速度要求高,所以全部“比较”操作都要用硬件实现,通常由“按内容寻址的”相联存储器完成。优点:灵活性好,命中率高。缺点:电路复杂、成本高
13、。第19页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理第20页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理(2)直接映射方式直接映射方式直接映射方式也是一种多对一的映射关系,但一个主存块只能拷贝到cache的一个特定块中。假设cache的块号为b,主存的块号为B,Cache的块容量为Cb,则有有如下函数关系:b=BmodCb显然,主存的第0块,第n块,第2n块,第2sn块只能映射到cache的第0块;而主存的第1块,第n+1块,第2n+1块,第2sn+1块只能映射到cache的第块行。下图表示直接映射方式的示意图。第21页,本讲稿共66页
14、计算机组成原理计算机组成原理计算机组成原理计算机组成原理第22页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理假设:主存容量为1MB,Cache容量为8KB,若每1KB为一块,那么主存可分为1K块,Cache可分为8块。那么主存中最多有8块信息进入Cache。主存和Cache之间的地址结构图主存地址:区号块号块内地址(A19A13)(A12A10)(A9A0)Cache地址:块号块内地址(A12A10)(A9A0)地址变换:由于块号和块内地址相同,对照表中记录各个块对应的主存区号。CPU访问主存时,查区号是否在表中。(简化了变换过程)第23页,本讲稿共66页计算机组成
15、原理计算机组成原理计算机组成原理计算机组成原理第24页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理直接映像举例直接映像举例设主存容量为设主存容量为1MB,有有16KB的直接相连的的直接相连的Cache,假定该假定该Cache的块为的块为8个个32位的字位的字.问问:1)写出写出Cache的地址格式的地址格式2)写出主存地址格式写出主存地址格式3)对照表容量多大对照表容量多大?4)主存地址为主存地址为DE8F8的单元在的单元在Cache中的什么位置中的什么位置?第25页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理1)Cache容量为容量为1
16、6KB,地址为地址为14位位,块的大小为块的大小为32B,块内地址为块内地址为5位位,Cache块地址为块地址为9位位2)主存容量)主存容量1MB,地址为地址为20位位,块的大小块的大小32B,块内地址为块内地址为5位位,块号块号地址为地址为9位位,区号地址为区号地址为6位位.3)对照表的单元数为)对照表的单元数为29,对照表中存放区号对照表中存放区号,区号的字长为区号的字长为6位位,所以容所以容量为量为:29字字*6位位4)11011110100011111000块内地址块内地址=11000Cache有有512块块,主存块号主存块号/512就是对应到就是对应到Cache的块号的块号10100
17、0111,则主存地址在则主存地址在Cache的对应地址为的对应地址为10100011111000.第26页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理 直接映象及其变换的优缺点直接映象及其变换的优缺点 主要优点:主要优点:硬件实现很简单,不需要相联访问存储器硬件实现很简单,不需要相联访问存储器 访问速度也比较快,实际上不需要进行地址变换访问速度也比较快,实际上不需要进行地址变换 主要缺点:主要缺点:块的冲突率比较高。块的冲突率比较高。第27页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理(3)组相联映射方式)组相联映射方式全相联映射和直接映
18、射两种方式的优缺点正好相反。从存放位置的灵活性和命中率来看,前者为优;从比较器电路简单及硬件投资表说,后者为佳,而组相联映射方式是前两种方式的折衷方案,它适度地兼顾了二者的优点又尽量避免二者的缺点,因此被普遍采用。映象规则:映象规则:主存和主存和CacheCache按同样大小划分成块和组。按同样大小划分成块和组。主存和主存和CacheCache的组之间采用直接映象方式。的组之间采用直接映象方式。在两个对应的组内部采用全相联映象方式。在两个对应的组内部采用全相联映象方式。第28页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理第29页,本讲稿共66页计算机组成原理计算机组
19、成原理计算机组成原理计算机组成原理例如:上例中将Cache分成两个组,每个组中包含四个块则:主存和Cache的地址结构:主存地址:区号 组号 组内块号 块内地址A19A13 A12 A11 A10 A9A0Cache地址:组号 组内块号 块内地址 A12 A11 A10 A9A0可以看出主存和Cache的组号和块内地址相同对照表中记录了主存的哪个区中某一组的哪一块调入了Cache的同一组的哪一块.第30页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理在组相联映像方式中,当每组的块容量为1时,就成了直接相联映像;但每组的块容量与Cache的块容量相等时,就成了全相连映像
20、.组相连映像的复杂性介于两者之间Cache的命中率不仅与映像方式有关,还和Cache的容量有关.第31页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理2.替换策略替换策略cache工作原理要求它尽量保存最新数据。当一个新的主存块需要拷贝到cache,而允许存放此块的行位置都被其他主存块占满时,就要产生替换。替换问题与cache的组织方式紧密相关。对直接映射的cache来说,因一个主存块只有一个特定的行位置可存放,所以问题解决很简单,只要把此特定位置上的原主存块换出cache即可。对全相联和组相联cache来说,就要从允许存放新主存块的若干特定行中选取一行换出。如何选取
21、就涉及到替换策略,又称替换算法。硬件实现的常用算法主要有以下三种:第32页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理最不经常使用最不经常使用(LFU)算法算法LFU算法认为应将一段时间内被访问次数最少的那行数据换出。为此,每行设置一个计数器。新行建立后从0开始计数,每访问一次,被访行的计数器增1。当需要替换时,对这些特定行的计数值进行比较,将计数值最小的行换出,同时将这些特定行的计数器都清零。这种算法将计数周期限定在对这些特定行两次替换之间的间隔时间内,因而不能严格反映近期访问情况。第33页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理近
22、期最少使用近期最少使用(LRU)算法算法LRU算法将近期内长久未被访问过的块换出。为此,每行也设置一个计数器,但它们是cache每命中一次,命中行计数器清零,其它各行计数器增1。当需要替换时,比较各特定行的计数值,将计数值最大的行换出。这种算法保护了刚拷贝到cache中的新数据行,符合cache工作原理,因而使cache有较高的命中率。对2路组相联的cache来说,LRU算法的硬件实现可以简化。因为一个主存块只能在一个特定组的两行中来做存放选择,二选一完全不需要计数器,只需一个二进制位即可。例如规定一组中的A行拷贝进新数据可将此位置“1”,B行拷贝进新数据可将此位置“0”。当需要置换时,只需检
23、查此二进制位状态即可:为0换出A行,为1换出B行,实现了保护新行的原则。奔腾CPU内的数据cache是一个2路组相联结构,就采用这种简捷的LRU替换算法。第34页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理随机替换随机替换随机替换策略实际上是不要什么算法,从特定的行位置中随机地选取一行换出即可。这种策略在硬件上容易实现,且速度也比前两种策略快。缺点是随意换出的数据很可能马上又要使用,从而降低命中率和cache工作效率。但这个不是随着cache容量增大而减小。研究表明,随机替换策略的功效只是稍逊于前两种策略。第35页,本讲稿共66页计算机组成原理计算机组成原理计算机组
24、成原理计算机组成原理3.cache3.cache的写操作策略的写操作策略 由于cache的内容只是主存部分内容的拷贝,它应当与主存内容保持一致。而CPU对cache的写入更改了cache的内容。如何与主存内容保持一致,可选用如下三种写操作策略。第36页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理写回法写回法写回法要求:当CPU写cache命中时,只修改cache的内容,而不立即写入主存;只有当此行被换出时才写回主存。这种方法使cache真正在CPU主存之间读/写两方面都起到高速缓存作用。对一个cache行的多次写命中都在cache中快速完成,只是需要替换时才写回速度
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第七 组成 原理 优秀 课件
限制150内