《第七章组成原理优秀课件.ppt》由会员分享,可在线阅读,更多相关《第七章组成原理优秀课件.ppt(66页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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中快速完成,只是需要替换时才写回速度
25、较慢的主存,减少了访问主存的次数。实现这种方法时,每个cache行必须配置一个修改位,以反映此行是否被CPU修改过。当某行被换出时,根据此行修改位是1还是0,来决定将该行内容写回主存还是简单弃去。如果CPU写cache未命中,为了包含欲写字的主存块在cache分配一行,将此块整个拷贝到cache后对其进行修改。主存的写修改操作统一地留到换出时再进行。显然,这种写cache与写主存异步进行的方式可显著减少写主存次数,但是存在不一致性的隐患。第37页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理写直达法写直达法写直达法要求:当写cache命中时,cache与主存同时发生写
26、修改,因而较好地维护了cache与主存的内容的一致性。当写cache未命中时,只能直接向主存进行写入。写直达法是写cache与主存同步进行,优点是cache中每行无需设置一个修改位,以及相应的判断逻辑。缺点是,cache对CPU向主存的写操作无高速缓冲功能,降低了cache的功效。第38页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理写一次法写一次法写一次法是基于写回法并结合全写法的写策略:写命中与写未命中的处理方法与写回法基本相同,只是第一次写命中时要同时写入主存。这是因为第一次写cache命中时,CPU要在总线上启动一个存储写周期,其他cache监听到此主存块地址
27、及写信号后,即可拷贝该块或及时作废,以便维护系统全部cache的一致性。奔腾CPU的片内数据cache就采用了写一次法。第39页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理7.3 虚拟存储器7.3.1、基本概念:虚拟存储器只是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器,它借助于磁盘等辅助存储器来扩大主存容量,使之为更大或更多的程序所使用。虚拟存储器指的是主存-外存层次。它以透明的方式给用户提供了一个比实际主存空间大得多的程序地址空间。此时程序的逻辑地址称为虚拟地址(虚地址),程序的逻辑地址空间称为虚拟地址空间。物理地址(实地址)由CPU地址引脚送出,
28、它是用于访问主存的地址。设CPU地址总线的宽度为m位,那么物理地址空间的大小用2m来表示。第40页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理n 虚拟存储器的作用虚拟存储器的作用:解决主存容量小、运行成本高的问题,使系统具有辅存容量和接近主存速度。n 基本原理基本原理:根据局限性原理,在一小段程序运行时间内CPU只会用到一小部分指令和数据,只需将这部分指令和数据调入主存,CPU直接从主存中读取;当需要更多的指令和数据时再随时从辅助存储器读取并调入主存。第41页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理主存主存-外存层次和外存层次和cac
29、he-cache-主存层次用的地址变换映射方法和替主存层次用的地址变换映射方法和替换策略是相同的,都基于换策略是相同的,都基于程序局部性原理程序局部性原理。它们遵循的原则是:它们遵循的原则是:把程序中最近常用的部分驻留在高速的存储器中。把程序中最近常用的部分驻留在高速的存储器中。一旦这部分变得不常用了,把它们送回到低速的存储一旦这部分变得不常用了,把它们送回到低速的存储器中。器中。这种换入换出是由硬件或操作系统完成的,对用户是透这种换入换出是由硬件或操作系统完成的,对用户是透明的。明的。力图使存储系统的性能接近高速存储器,价格接近低力图使存储系统的性能接近高速存储器,价格接近低速存储器速存储器
30、。第42页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理两种存储系统的主要区别在于:两种存储系统的主要区别在于:在虚拟存储器中未命中的性能损失要远大于在虚拟存储器中未命中的性能损失要远大于cachecache系系统中未命中的损失。统中未命中的损失。第43页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理主存主存-外存层次的基本信息传送单位外存层次的基本信息传送单位主存-外存层次的基本信息传送单位可采用几种不同的方案:段、页或段页。段是按照程序的逻辑结构划分成的多个相对独立部分,作为独立的逻辑单位。例如过程、子程序。优点是段的分界与程序的自然分界
31、相对应;段的逻辑独立性使它易于编译、管理、修改和保护,也便于多道程序共享;某些类型的段具有动态可变长度,允许自由调度以便有效利用主存空间。缺点是因为段的长度各不相同,起点和终点不定,给主存空间分配带来麻烦,而且容易在段间留下许多空余的零碎存储空间,造成浪费。第44页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理页是主存物理空间中划分出来的等长的固定区域。优点是页面的起点和终点地址是固定的,方便造页表,新页调入主存也很容易掌握,比段式空间浪费小。缺点是处理、保护和共享都不及段式来得方便。段页式管理采用分段和分页结合的方法。程序按模块分段,段内再分页,进入主存以页为基本信
32、息传送单位,用段表和页表进行两级定位管理。7.3.2页式虚拟存储器:页式存储管理页式存储管理是将主存以页页为信息单位进行分配和管理。在页式虚拟存储系统中,把虚拟空间分成页,称为逻辑页或虚页;主存空间也分成同样大小的页,称为物理页或实页。第45页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理n1.页页:人为地将虚拟的逻辑空间和主存实际的物理空间等量(2n)划分为若干个基本信息单位。虚拟地址由虚页号和页内地址给出;而实地址由实页号和页内地址给出。2.页表页表:驻留在主存中的一个特定的区域,用于实现由逻辑地址到实际地址的变换。n3.地址变换:n(1)由逻辑地址中的虚页号虚页
33、号与页表页表基地址寄存器基地址寄存器的内容相加得到该虚页所对于的实页号;n(2)由该表项的实页号实页号与逻辑地址中的页内地址页内地址的内容拼接,即得到在主存中的实际地址实际地址。第46页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理第47页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理n页式存储管理的空间浪费比段式管理要小得多,新页调入主存容易掌握,只要有空白页面就可。可能造成浪费的是程序最后一页的零头,是不能利用的页内空间。页式管理系统的缺点正好和段式管理系统相反,由于页不是逻辑上独立的实体,所以处理、保护和共享都不及段式来得方便。由于若访
34、问存储器时,要先查页表在命中时要先访问主存去查页表,再访问主存才能取得数据,若没有命中则要页面替换、页面修改,访问主存的次数就更多了,因此要建立一个快表。这个由硬件组成的快表叫转换旁路缓冲器。虚页号同时查找快表和慢表,在快表中有虚页号时,慢表的查找会作废。若快表中没有则要浪费一个访存时间来查慢表。第48页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理7.3.3 段页式虚拟存储器:段页式虚拟存储器是段式虚拟存储器和页式虚拟存储器的结合。在这种方式中,把程序按逻辑单位分段以后,再把每段分成固定大小的页。例A(p125-11):主存容量为4MB,虚存容量为1GB,则虚拟地址
35、和物理地址各为多少位?如页面大小为4KB,则页表长度是多少?解:主存4MB=222B所以物理地址(主存地址)为22位 虚存1GB=230B 所以虚地址为30位 页大小4KB=212B 所以:页内地址段位数由页内地址段位数由4 4KB=2KB=21212B B,故为故为1212位。位。第49页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理7.3.37.3.3、段式存、段式存、段式存、段式存储储管理管理管理管理 n段式存储管理段式存储管理是将主存按段作段作为信息单位进行分配和管理。n1.段段:也称程序段程序段,是指按程序的逻辑结构划分的多个独立的程序单位(例如过程、子程序
36、、数据表、阵列等)。各段经过段间连接而形成规模较大的程序。因此,段构成了主存-辅存之间传送的基本信息单元。段由段名或段号表示,其长度取决于组成程序段的指令条数或组成数据段数据个数。第50页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理n2.逻辑地址逻辑地址:经过连接而组成的程序所占地址空间。程序员按逻辑空间编制程序,机器指令的地址码,即逻辑地址逻辑地址(虚拟地址)是由段号和段内地址组成。3.段表段表:驻留在主存中的一个特定的段,也可存放在辅存中。用于指明各段在主存中位置,用于实现由逻辑地址到实际地址的变换。段表在主存中的起始地址保存在段表基地址寄存器中。第51页,本讲
37、稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理第52页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理4.地址变换:将一个字(指令或数据)的逻辑地址转换为在主存中的实际地址的过程。第53页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理n(1)由逻辑地址中的段号段号与段表基地址寄存器段表基地址寄存器内容相加得到段始地址;n(2)检查该表项中的装入位是否为1,若为1,则表该段已调入内存;若为0,则将该段从辅存中调入主存。(3)段始地址段始地址与逻辑地址中的段内地址段内地址的内容相加,即得到在主存中的实际地址实际地址。段式管理系统
38、的优点是段的分界与程序的自然分界相对应;段的逻辑独立性使它易于编译,管理,修改和保护,也便于多道程序共享。其缺点是容易在段间留下许多空余的零碎存储空间不好利用,造成浪费。第54页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理7.3.47.3.4段页式虚拟存储器段页式虚拟存储器 段页式虚拟存储器是段式虚拟存储器和页式虚拟存储器的结合。它把程序按逻辑单位分段以后,再把每段分成固定大小的它把程序按逻辑单位分段以后,再把每段分成固定大小的页。页。程序对主存的调入调出是按页面进行的,但它又可以按段实程序对主存的调入调出是按页面进行的,但它又可以按段实现共享和保护,兼备页式和段式
39、的优点。现共享和保护,兼备页式和段式的优点。缺点是在映象过程中需要多次查表。缺点是在映象过程中需要多次查表。在段页式虚拟存储系统中,每道程序是通过一个段表和一组在段页式虚拟存储系统中,每道程序是通过一个段表和一组页表来进行定位的。段表中的每个表目对应一个段,每个表目有页表来进行定位的。段表中的每个表目对应一个段,每个表目有一个指向该段的页表起始地址及该段的控制保护信息。由页表指一个指向该段的页表起始地址及该段的控制保护信息。由页表指明该段各页在主存中的位置以及是否已装入、已修改等状态信息。明该段各页在主存中的位置以及是否已装入、已修改等状态信息。如果有多个用户在机器上运行,多道程序的每一道需如
40、果有多个用户在机器上运行,多道程序的每一道需要一个基号要一个基号,由它指明该道程序的段表起始地址。由它指明该道程序的段表起始地址。第55页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理如果有多个用户在机器上运行,即称为多道程序,多道程序的每一道(每个用户)需要一个基号(用户标识号),可由它指明该道程序的段表起始地址(存放在基址寄存器中)。这样,虚拟地址应包括基号、段号、页号、页内地址。格式如下:每道程序可由若干段组成,而每段又由若干页组成,由段表指明该段页表的起始地址,由页表指明该段各页在主存中的位置以及是否已装入等控制信息。第56页,本讲稿共66页计算机组成原理计算
41、机组成原理计算机组成原理计算机组成原理【例6】假设有三道程序(用户标志号为A,B,C),其基址寄存器内容分别为SA,SB,SC,逻辑地址到物理地址的变换过程见下图:在主存中,每道程序都有一张段表,A程序有4段,C程序有3段。每段应有一张页表,段表的每行就表示相应页表的起始位置,而页表内的每行即为相应的物理页号。请说明虚实地址变换过程。第57页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理【解】地址变换过程如下:根据基号C执行SC加1(段号)操作,得到段表相应行地址,其内容为页表的起始地址。执行b+2(页号),得到物理页号的地址,其内容即为物理页10。物理页号与页内地址
42、拼接即得物理地址。如计算机只有一个基址寄存器,基号可不要,多道程序切换时,操作系统修改基址寄存器内容。假如该计算机只有一个基址寄存器,那么基号可以不要,在多道程序切换时,则操作系统修改基址寄存器内容。第58页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理另外上述每一张表的每一行都要设置一个有效位。我们在上面讨论时假设相应行的有效位均为“1”,否则表示相应的表还未建立,访问失败,发出中断请求启动操作系统建表。可以看出,段页式虚拟存储系统由虚拟地址向实主存地址的变换至少需查两次表(段表与页表)。段、页表构成表层次。当然,表层次不只段页式有,页表也会有,这是因为整个页表是连
43、续存储的。当一个页表的大小超过一个页面的大小时,页表就可能分成几个页,分存于几个不连续的主存页面中,然后,将这些页表的起始地址又放入一个新页表中。这样,就形成了二级页表层次。一个大的程序可能需要多级页表层次。对于多级表层次,在程序运行时,除了第一级页表需驻留在主存之外,整个页表中只需有一部分是在主存中,大部份可存于外存,需要时再由第一级页表调入,从而可减少每道程序占用的主存空间。第59页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理7.47.4相联存储器相联存储器 1.1.相联存储器的基本原理相联存储器的基本原理 相联存储器是指其中任一存储项内容作为地址来存取的存储器
44、。选用来寻址存储器的子段叫做关键字关键字。存放在相联存储器中的项可以看成具有存放在相联存储器中的项可以看成具有KEYKEY,DATADATA这样这样的格式。其中的格式。其中KEYKEY是地址,是地址,DATADATA是被读写信息。是被读写信息。相联存储器的基本原理是把存储单元所存内容的相联存储器的基本原理是把存储单元所存内容的某一部分作为检索项某一部分作为检索项(即关键字项即关键字项),去检索该存储器,去检索该存储器,并将存储器中与该检索项符合的存储单元内容进行读出或写并将存储器中与该检索项符合的存储单元内容进行读出或写入。入。第60页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理
45、计算机组成原理2.2.相联存储器的组成相联存储器的组成 相联存储器由存储体、检索寄存器、屏蔽寄存器、符合寄存器、比较线路、代码寄存器、控制线路等组成框图请看演示组成框图请看演示 第61页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理第62页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理检索寄存器:用来存放检索字,其位数和相联存储器的存储单元位数相等。屏蔽寄存器:用来存放屏蔽码,其位数和检索寄存位数相同。符合寄存器:用来存放按检索项内容检索存储体中与之符合的单元地址,其位数等于相联存储器的存储单元位数,每一位对应一个存储单元,位的序数即为相联存
46、储器的单元地址。比较线路:把检索项和从存储体中读出的所有单元内容的相应位进行比较,如果有某个存储单元和检索项符合,就把符合寄存器的相应位置“1”,表示该字已被检索。代码寄存器:用来存放存储体中读出的代码,或者存放向存储体中写入的代码。存储体:由高速半导体存储器构成,以求快速存取。在计算机系统中,相联存储器主要用于虚拟存储器中存放分段表、页表和快表;在高速缓冲存储器中,相联存储器作为存放cache的行地址之用。这是因为,在这两种应用中,都需要快速查找。第63页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理7.57.5存储区域保护存储区域保护 当多个用户共享主存时,应防止
47、由于一个用户程序出错而破坏其他用户的程序和系统软件,以及一个用户程序不合法地访问不是分配给它的主存区域。户程序不合法地访问不是分配给它的主存区域。在虚拟存储系统中,通常采用页表保护、段表保护和键式保在虚拟存储系统中,通常采用页表保护、段表保护和键式保护方法。护方法。1.1.页表保护和段表保护页表保护和段表保护 每个程序的段表和页表本身都有自己的保护功能。每个程序的虚页号是固定的,经过虚地址向实地址变换后的实存页号也就固定了。那么不论虚地址如何出错,换后的实存页号也就固定了。那么不论虚地址如何出错,也只能影响到也只能影响到相对的几个主存页面。不会侵犯其相对的几个主存页面。不会侵犯其他程序空间。段
48、表和页表的保护功能相同,但段表中除包括段表起点他程序空间。段表和页表的保护功能相同,但段表中除包括段表起点外,还包括段长。外,还包括段长。第64页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理2.2.键保护方式键保护方式 这种方法是为主存的每一页配一个键,称为存储键,每个用户的实存页面的键都相同。为了打开这个锁,必须有钥匙,称为访问键。访问键赋予每道程序,并保存在该道程序的状态寄存器中。当数据要写入主存的某一页时,访问键要与存储键相比较。若两键相符,则允许访问该页,否则拒绝访问。3.3.环保护方式环保护方式 环保护方式可以做到对正在执行的程序本身的核心部分或关键部分进
49、行保护。它是按系统程序和用户程序的重要性及对整个系统的正常运行的影响程度进行分层,每一层叫做一个环。在现行程序运行前由操作系统定好程序各页的环号,并置入页表中。然后把该道程序的开始环号送入CPU的现行环号寄存器。程序可以访问任何外层空间;访问内层空间则需由操作系统的环控例行程序判断这个向内访问是否合法。第65页,本讲稿共66页计算机组成原理计算机组成原理计算机组成原理计算机组成原理2.2.访问方式保护访问方式保护 对主存信息的使用可以有三种方式:读(R)、写(W)和执行(E),相应的访问方式保护就有R,W,E三种方式形成的逻辑组合.这些访问方式保护通常作为程序状态寄存器的保护位,并且和区域保护结合起来实现。第66页,本讲稿共66页