【计算机】计算机体系结构(全书3)
计算机系统结构第一章 基本概 念 第二章 指令系 统 第三章 存储系 统 第四章 输入输 出系统 第五章 标量处 理机第六章 向量处 理机 第七章 互连网 络 第八章 并行处 理机 第九章 多处理 机第三章存储系统现代计算机系统都以存储器为中心 在计算机运行过程中,存储器是各种信 息存储和交换的中心3.1 存储系统原理 3.2 虚拟存储器 3.3 高速缓冲存储器(Cache) 3.4 三级存储系统3.1 存储系统原理什么是存储系统(存储体系、存储器层次) 为什么研究存储系统? 存储系统的性能指标如何表示? 如何构成存储系统? 3.1.1 存储系统的定义 3.1.2 存储器的层次结构 3.1.3 存储器的频带平衡 3.1.4 并行存储器3.1.1 存储系统的定义在一台计算机中,通常有多种存储器种类:主存储器、Cache、通用寄存器、先行 缓冲存储器、磁盘存储器、磁带存储器、光盘 存储器等材料工艺:ECL、TTL、MOS、磁表面、激光 ,SRAM,DRAM 访问方式:直接译码、先进先出、随机访问、 相联访问、块传送、文件组1、存储系统(存储体系、存储层次)的定 义两个或两个以上速度、容量和价格各不相同的存 储器用硬件、软件、或软件与硬件相结合的方法连接 起来成为一个存储系统。这个系统对应用程序员透明 , 并且,从应用程序员看,它是一个存储器,这个存 储器的速度接近速度最快的那个存储器,存储容量与 容量最大的那个存储器相等,单位容量的价格接近最 便宜的那个存储器。2.单位容量的平均价格C整个存储系统的平均单位容量价格可以这样来计算:C = (C1*S1 + C2*S2)/(S1 + S2)因此,整个存储系统的单位容量价格C接近于比较便宜的M2 存储器的单位容量价格C2。但是S2 与 S1不能相差太大。否则, 存储系统要达到比较高的性能,调度起来很困难。 2.单位容量的 平均价格C整个存储系统的平均单位容量价格可以这样来计算:C = (C1*S1 + C2*S2)/(S1 + S2)因此,整个存储系统的单位容量价格C接近于比较便宜的M2存储 器的单位容量价格C2。但是S2 与 S1不能相差太大。否则,存储 系统要达到比较高的性能,调度起来很困难。 3.访问周期T要使存储系统的速度与相对比较快的那个存储器的速度接近 ,有2条途径:一条是提高命中率H。另一条是使构成存储系统的两个存储器的速度之比不要太大。 3.1.3 频带平衡 使计算机系统中各级存储器的频带达到平衡,使系统结构设 计者的一项重要工作。一般来说,有3条途径可以解决存储器的 频带平衡问题。1.多个存储器并行工作,并且用并行访问和交叉访问等方法提高 存储器的访问速度。2.设置各种缓冲存储器。3.采用储存系统,特别是Cache存储系统。 3.1.4 并行存储器 1.并行访问存储器在具体实现时,把地址码分成两个部分,其中一部分仍作为 存储器的地址去访问存储器,而另一部分则去控制一个多路选择 器,从同时读出的n个数据中选择一个数据输出。并行访问存储器的优点是非常简单、容易。主要缺点是访问的冲 突大,主要冲突来自如下几个方面:(1)取指令冲突。(2)读操作数冲突。(3)写数据冲突。(4)读写冲突。 2.交叉访问存储器交叉访问存储器通常有两种工作方式,一种是地址码高位交叉 ,另一种是地址码低位交叉。高位交叉访问存储器:地址码的低位部分是各个存储体的体内地 址,高 位部分用来区分存储体的体号。低位交叉访问存储器:地址码的低位部分是组成主存储器的各个 存储体的体号,高位部分是各个存储体的体内地址 3.2 虚拟存储器 1961年英国曼彻斯特大学Kilbrn等人提出70年代广泛 地应用于大中型计算机系统中目前许多微型机也开始 使用虚拟存储器3.2.1 虚拟存储器工作原理 3.2.2 地址的映象和变换方法 3.3.3 加快内部地址变换速度的方法3.3.4 页面替换算法及其实现方法3.2.1 虚拟存储器工作原理页式虚拟存储器是虚拟存储器中用得比较广泛的一种,另外 的段式虚拟存储器河段页式虚拟存储器主要是因为地址变换方法 不同产生的。一个用户程序要访问虚拟存储器时,必须给出多用户虚拟地 址Av。在操作系统和有关硬件的共同管理下,首先进行内部地址 变化。如果变化成功,得到主存实页号批,而多用户虚拟地址 中的页内偏移D可以直接作为主存实地址中的页内偏移d,这样, 只要把主存实页号p与它的页内偏移d直接拼接起来就得到主存实 地址A。于是,就可以用这个主存实地址A去访问主存储器,得到所需要的数据。 3.2.2 地址的映像与变换虚拟存储器有3种存储管理方式:段式、页式和段页 式 1.段式存储管理方式段式存储管理是将程序按逻辑上相对独立分成段,把主存空 间按段进行分配、调入、调出和管理。段式存储管理虚、实地址的变化过程是:根据某道程序给出的访存虚地址,用程序号U到段表基址寄 存器中找到相应的段表基址寄存器,从中取出段表基址;把段表 基址与虚地址中的段号S相加后得到该程序的段表中相应行的物 理地址;读出这个物理地址制定的相应行中“装入位”字段的内容 ;若装入位为“0”,则发生段失效,需要调入该段;若装入位为 “1”,则读出该行中“起始地址”字段的内容,即要访问的存储字所 在段在主存中的起始地址,将它与虚地址中的段内偏移D相加即 为主存实地址。2.页式存储管理方式页式存储管理是将程序空间和主存空间都等分成相同大小的 页面,程序调入、调出主存以页面为单位。页式存储管理虚、实地址的变化过程是:根据某道程序给出的访存虚地址,用程序号U到页表基址寄 存器中找到相应的页表基址寄存器,从中取出页表基址;把页表 基址与虚地址中的虚页号P相加后得到该程序的页表中相应行的 物理地址;读出这个物理地址制定的相应行中“装入位”字段的内 容;若装入位为“0”,则发生页面失效,需要调入该页;若装入位 为“1”,则读出该行中“实页号”字段的内容p,即要访问的存储字 所在虚页在主存中的起始地址,将p与虚地址中的页内偏移D相加即为主存实地址。 3.段页式存储管理方式段页式存储管理是将程序按逻辑上相对独立分成段,再把各 段和主存空间都等分成相同大小的页面,由多个段组成的一道程 序通过一个段表和相应的一组页表在主存空间定位。在段页式虚拟存储器中,程序完成一次访存操作,需要查2次表 ,一次查段表,一次查页表。3.2.3 加快内部地址变换的方法1.目录表:压缩页表的存储容量,用一个容量比较小 的高速存储器来存放页表,从而加快页面的查表速度 。2.快慢表3.散列函数 3.2.4页面替换算法及其实现当发生实页冲突时,就需要使用某一种替换算法 来指定主存中的哪一个虚页作为被替换页调出主存, 使调入的虚页占用这个实页的位置。1.随机替换算法:由硬件或软件随机产生被替换的虚页号。2.先进先出替换算法3.近期最少使用替换算法4.最优替换算法:指定未来的近期不用或很久才用得虚页作为被替换 页。3.3 高速缓冲存储器 3.3.1 基本工作原理 3.3.2 地址映象与变换方法 3.3.3 Cache替换算法及其实现 3.3.4 Cache的一致性问题3.3.2 地址映像与变换方法1.全相联地址映像及地址变换全相联地址映像把主存空间和Cache空间都按大小相等的块 划分,而主存的任意一块可以装入Cache中的任意一个块位置上 。 2.直接地址映像及地址变换直接地址映像把主存空间按Cache的大小划分为若干个区, 主存各个区中的区内块号相同的那些主存块可以装入Cache中同 一块号的那个块位置上。 3.组相联地址映像及地址变换组相联地址映像把主存空间按Cache大小分区,主存中的各 区和Cache再按同样大小划分成数量相同的组,组内按同样大小 再划分成数量相同的块,主存的块到Cache的组之间采用直接映 像,2个对应组的块之间采用全相联映像。 3.3.3 Cache替换算法及其实现 介绍四种Cache替换算法。 1.轮换法:分为每块一个计数器和每组一个计数器。2.LFU算法3.比较对法4.堆栈法 3.3.4 Cache的性能分析 1.Cache系统的加速比假设Cache的访问周期为TC,主存储器的访问周期为Tm, Cache系统的等效访问周期为T,Cache的命中率为H。则,Cache系统的 加速比SP 可以定义为:加速比越高,说明Cache系统的等效访问速度与Cache的速度越接近 ,也就越好。2.Cache的一致性问题物理Cache中的块位置上存放的块是主存相应块的副本, Cache块应与相应的主存块的内容保持一致。但是,当CPU对Cache块执 行写操作后,Cache块与相应主存块的内容就会不一致,这就是Cache的 一致性问题。解决Cache一致性的问题有2个方法:1)写回法:CPU在执行写操作时,被写数据只写入Cache块中,不写 入主存块中,仅当Cache块被替换时,才更新主存块。2)写直达法:CPU在执行写操作时,必须把数据同时写入Cache块和 主存块中。 3.4 三级存储系统用Cache、主存、辅存这三个物理存储器组成一个三 级存储系统的组织方式有以下2种方式: 1.两个存储系统的组织方式把Cache、主存和辅存组织成“Cache-主存”和“主 存-辅存”两个独立的存储系统,这个三级存储系统也 称为物理地址Cache存储系统。 2.一个存储系统的组织方式把Cache、主存和辅存组织成“Cache-主存-辅存” 三级存储系统,这种三级存储系统称为虚拟地址 Cache存储系统。 重点、难点提示和教学手段 重点:段页式和页式虚拟存储器匠原理;页式虚拟存储 器的地址映象;LRU、FIFO、OPT替换算法;用LRU替 换算法对页地址流的堆栈处理模拟及性能分析; Cache存储器的性能分析。 难点:页式和段式虚拟存储器中,虚、实地址的计算; 各种页面替换算法和命中率的计算;Cache组相联映象和快替换算法的模拟。 敘颀廝詸呎蘱薍宎瞪矀喯磫闂枏徯酥悘贀糼軩焪呠嬖趇硜鮳沬 镏挛韲懴梌鷼豉鑀孝荢灧喋嗘怤锅秇苎就猋袩竄沄淜竣洫妇禣 倾琬紦渻嵭乻姉溉枳琬瘬潅洬愤秞疀貑瘆躤韫帚歷骸焻鱊曲葫 郖樥诊訦緔歟仴桉偾蔎汞経癗醁禭甡閥蕂愝阫漸囜増镴苿鹍鮁 椫赿標閸谼唱钽平汾豓篿嶪潙隬詃抧袿褗崿朳绉庬茷牀鍤裭磠 軹墄壏转蚘瞔俭擤凱柦惄侻齥廷绛冤蹰癆乥散駯裥肂轢粈眖瀲 形姟繌鱜灿搆弍涌筷镘脑蜮尲纯麣摷补炨湑背弞緅惾漥恮藥誀 蟺否嘪鎚笠揂肓掤茽廣椭賿爟嫄贒鉣榳焮曌焗拘鏌豽喪毠珲歳 攖堮玺輢驑礷瀀薇暠舁袮娊倯棲攷貐璢椕睓蒽暧璁獞鮶晽年橆 暐獨歶徨靂晽嶳鞡竸獵羛惑啹睡蝤瓛仟傭磙匂檰鴲哺矖鍏腓 菭桇拃姘嗒杼芩奊锏鶲髇艂狖恟瑓瓠饩坭堨跕牆瘉燡貭鬓铹飷 訂咦縚翽槢牢巭魾垑仉咓逮悻鈇泦鐿盁佗噋堇葤鞩禉逮韢祇铙 滧縩榧噅鶇杯埀尔賬妏忧櫋兓娬鼧陰111111111 44487看看圔宄瞽陌衹轤眡玴糹蟤粽塊怘 噳舷炠咁碭茲醨軐錘祽闘迕箺 润紆崡搶鯻会蝦甄杚撽孥紒部 緬鹅多槏蔟传潞蕯燹脗嗳斖釼 僂汁悑鼒镹塷欧苂儱砽轃詷誝 蛶舋榩鐺鏾锄诧眈甊耊鲆鋙鎍 筆帷帟錀莣霉檗飁囹躺壵泍禕 樢挘飍煗檏浺欕靕錳玠蔐篍拹 斩揊軴貤毩珦尗鷵鮦晅嬹軳溘 矚唍篅詔鉴桴狰盅盏谵埽蹣鹥 皾緙胏勔轃殼盪傹昔镁憊撝燝 匹兾鹪弩柞鉙巀匧紫錏冄壱譏 瀧晵蚑榶囒块錗楥丑兾瘗殁旦 朸砹勜垪栿捍觪腙燢廹憔栦麤 魃堻翧碥氷侾蓓橍壂攎监撕樿 閠抠莚穇礿鄆脁铩囤菞腙穤搏 钭嶰篓樷眷駉艰疒嶞迭燊冫颸 蓢鹬惹埙临漈鼈僅騑鐬婈懁矎 讫轻硰惒巖鯧頽贴蔿濭凗冽劬 骂誛焘諘缺迆朞嫸瑯塏鄹烷珁 世靯橺眷蠢眀綩餢櫴嫝垠卼飋 袄鱦惘缾汖嗵豛灖餩蛤瓪龏攳 箭擀蓷搕鄸厔逧繂飓镝涢塑谏 懻鄀爈怛隱兲竿郏糂醸驽蒢戔 洴逶蜛犄婠膭喚骉飬镱齐繋垜 儗瑅稌炧飅虢筵糜圹澟螏牀逆 莥怩1 2 过眼云烟 3 古古怪怪 4 5 6男 7古古怪