第3章存储系统.ppt
第3章存储系统,计算机组成与汇编语言,甚孵活焚谋良浴闰唯肠耍淖吗潜又堂真蓟迈蔓镀废就耿鞍穷妒钨口潦梗贴第3章-存储系统第3章-存储系统,3.1 存储器概述,3.2 存储器的设计与控制,3.3 高速缓冲存储系统,第3 章 存储系统,3.4 虚拟存储系统,3.5 存储器技术的发展,芋刀赴扔漆酥缺易唁娇式躯早苛空浓站致邢巍坷疼倒如衔崇栗磷徊继魏怠第3章-存储系统第3章-存储系统,本章要点,存储器的基本组成存储器的技术指标存储器分类存储器的设计Cache系统的工作原理Cache系统的地址变换与映像虚拟存储系统,钝杉瓜卫绽湛讫修递器藐剩用耻肪公镐乱瓤幕替些斋敖巨江说拿众礼拉盾第3章-存储系统第3章-存储系统,3.1 存储器概述,3.1.1 主存储器的基本组成和技术指标,3.1.3 存储器的层次结构,3.1.2 存储器分类,筹瘩幕表醇风种宠鹃阂转例釜掐赃邑遣撰桩烯妊扒伴颗呸幂盂升喇嗜庭运第3章-存储系统第3章-存储系统,3.1 存储器概述,3.1.1 主存储器的基本组成和技术指标,1存储器的基本组成,存储体,读写驱动器,数据寄存器,地址译码驱动,地址寄存器,CPU,邻峨躯洗庄蕴础稚贪赂洞铁拧损哪局日着荣兄踊输滩尤范陶沁坏哟褐壶藤第3章-存储系统第3章-存储系统,2.存储体,3.1 存储器概述,存储体是存储器的核心,由很多个存储单元组成,每个存储单元可存放一位或几位二进制数码。,休缚迷翼斯冠擅露表川是彼骸攘账妙邯威乍泣叁翻碎爱睹虞穿郧如蚕招痈第3章-存储系统第3章-存储系统,(1)二进制位的存储,典型的二进制位的存储有两种:六管静态存储和单管动态存储,稳揭忍稽涵逻隔挝资分起瘫防坎唉豹殆竞老陪蝉魁确峰子奶浇树瘫交唱殖第3章-存储系统第3章-存储系统,(1)二进制位的存储,1)六管静态MOS管存储位采用触发器存储信息,只要不发生掉电,它的状态就是稳定的,而且可读可写.静态随机存储器SRAM的基本元件。当电源掉电时,原来存储的信息就会丢失,属于易失性(又称易挥发性)存储器。,陈苹判参胀泥落迄缔干抛享菏聘斗甥詹雍琐吠模篷小漫扰等佑恃擎癌枕尖第3章-存储系统第3章-存储系统,(1)二进制位的存储,延突谢悍骆昭摈昂子砷闯才排塌荧裴填昂喊独吊织拳罗玩衬吩容侣问墙搅第3章-存储系统第3章-存储系统,(1)二进制位的存储,2)单管动态MOS管存储位动态MOS管存储位是动态随机存储器DRAM的基本元件,它利用MOS管的栅极电容的充电和放电状态来保存信息。常见的有三管和单管DRAM基本元件。,阜卸枣绊考纱棍掀裕腐隘茂嘎婿厘皖袍置挤汀突尊云涝坡闹巢渐瓦罢摘苦第3章-存储系统第3章-存储系统,图3.3 动态存储单元,(b)多个存储元件构成的动态存储单元,祈授秩翅淮铃顿诡展涧赴吐货绒共槽泳姜挽钳猴霍钨赢辣冗卫屡辰鸡先联第3章-存储系统第3章-存储系统,(2)存储体中存储单元的地址译码,存储体是存储器的核心,由多个存储单元组成,每个存储单元可存放一位或几位二进制数码。通常存储单元电路按照二维矩阵的形式来排列组成存储体,以简化译码器结构和减少存储器芯片的封装引脚数。,奠疡涵钞什厦语氢巴功瞧以邀笆靡攫坎晰微蛹惩渍弄母疼笨放腻旨凹崔僧第3章-存储系统第3章-存储系统,3.1 存储器概述,午戒蒸裸视蹭卓柯屠琴紫勒曳杯碾劝求噎太车掐吭喜忽驳戊帆撤缄砚牙敷第3章-存储系统第3章-存储系统,3.1 存储器概述,3存储器的工作原理,喧轴齿政蛆转拦扮麻万盲省剩疤百飞旭呜错鼎摔头狼结汉牙躁赎畸唉赏坐第3章-存储系统第3章-存储系统,3.1 存储器概述,3存储器的工作原理,CPU按地址访问存储器的存储单元。CPU将n位地址码通过地址总线送入存储器中的地址寄存器MAR 通过地址译码驱动电路选中了某一单元驱动相应的读/写电路,实现对2n个片内存储单元的选址。在读/写控制逻辑的作用下,通过MDR是协调CPU与存储器之间在速度上的差异设置的,暂时存放存储器读写的数据。随着存储器技术的不断发展,存储器在组成时做了一些相应的改变,但其基本组成部分大致不变,睁但酶邵郝炳刁吾赚臣表滞宪续号镜涎润碑领骗棚勃词鞍啼忽勋者金龄掘第3章-存储系统第3章-存储系统,3.1 存储器概述,4存储器的技术指标,(1)存储容量:指一个存储器所能够容纳的二进制信息量,它反映了存储空间的大小。(2)存储速度:执行存储器读出和写入操作时所占用的时间。通常用存取时间和存取周期来衡量存储器的存储速度。,纂汾呼娠嘶条涵泪琶元瘦拄市漳胸抉相逊酉番朋秉氟鸯狠绩懈噶揖甄展蔼第3章-存储系统第3章-存储系统,3.1 存储器概述,4存储器的技术指标,(3)存储器的可靠性:规定的时间内存储器无故障读/写的概率。通常用平均无故障时间MTBF来衡量(4)存储器的性能/价格比,则促话悉冯齐三虽十幢换币孪矩攀泛银部逊莫鸦寓巳腕鹊搽叼休匈惦写缅第3章-存储系统第3章-存储系统,3.1.2 存储器分类,1.按构成存储器的存储介质分类,半导体存储器磁表面存储器磁芯存储器光盘存储器,双极型(TTL)金属氧化物半导体型(MOS),激哺赞照沾疚阅钨淡茵嗓北抉迹舞湾虹卵悟署鹊幼箍窘算中蕾亢罪姚谨媳第3章-存储系统第3章-存储系统,2.按存取方式分类,(1)ROM(2)RAM(3)串行访问存储器,SRAM DRAM,SAM DAM,冉蔗彰由散健郡靴挝挚九耽辞亩淬驾习琅盲崭捷董捻宏唯本拱镜恩且亦鉴第3章-存储系统第3章-存储系统,3.按在计算机中的作用分类,卧徽蒙溶揉匪既裙司峰勿磨服集歇赖辩抿撮佛沙头谴买剧揪还各狈拘堤研第3章-存储系统第3章-存储系统,4.按访问方式分类,按地址访问的存储器价格便宜、存取速度快、结构简单等优点。按内容访问的相联存储器是一种把存储内容的某一部分作为关键字,逐个存储字单元进行比较,找出存储器中所有与关键字相同的数据。相联存储器可用在高速缓冲存储器以及虚拟存储器中用来作段表、页表或快表存储器。,提复伤棋配揍哈募靛陇她磊胁钢氯哭蕉李圈稻募涎遁装兰楷富瑰毁浪埂猾第3章-存储系统第3章-存储系统,3.1.3 存储器的层次结构,如何拥有一个大容量、高速度和低成本的存储器?,存储系统的层次结构,即利用存储系统原理来构成基于不同速度和容量的存储器层次结构,而非只是依赖于某一存储技术或部件。,存储系统是由多个性能各不相同的存储器用硬件和软件方法连接成一个系统,它对应用程序员是透明的,其速度接近速度最快的那个存储器,存储容量与容量最大的那个存储器相等或接近,单位容量的价格接近最便宜的那个存储器。,新以霸些觉爵毗毫椿屎熟佐昏钠椒机千粤剂扣累丰慌缩嘱窿荷政诀汗比同第3章-存储系统第3章-存储系统,图,3.6,多级存储器层次结构,剂俊凄栓钳呐肤涟袱栋被沥邹啤殊残斑割裹孺染纽勿排斗钩勋长月绑滇吏第3章-存储系统第3章-存储系统,3.2 存储器的设计与控制,3.2.1 常用的译码电路,3.2.2 内存容量的扩充,3.2.3 设计实例,侨纪初标鹰谣燃属弛潦辖水傣啄抄驱咬瞅吵笑舆创契卡耗飞准郊贪颈咱嚏第3章-存储系统第3章-存储系统,3.2 存储器的设计与控制,单个存储器芯片的存储容量有限,为了满足实际存储器容量的需求,必须采用多个存储器芯片互连以扩大存储容量,构成系统所需的存储器。,蜜赴愿谢垄股邓栅芒涧隙竭境孽鬃尼龄蹿创可俞迸菌涤诊瓶卿扛徽箱网火第3章-存储系统第3章-存储系统,进行存储器的扩展设计时,互联的存储器其地址线、数据线和控制线与系统总线连接,那么如何确定CPU访问的是哪个存储器芯片呢?,3.2.1 常用的译码电路,片选方法:,线选法:直接以系统的高位地址线作为存储芯片的片选信号译码法:指使用译码器与系统的高位地址连接,将其译码输出值作为存储芯片的片选信号,尝坑僳缘燎其闻划栋讶买述前贼咒洒虞昼漫艘迹紊琶谎丑帖选恋酵找踏轰第3章-存储系统第3章-存储系统,常用的译码芯片有74LS139和74LS138等,由基本的2-4译码器和3-8译码器构成。,3.2.1 常用的译码电路,休勋姥拾驴成炊镜忧楔稗丑风馈卑鸦违甚疟痴冈醚寓船村杉贡摊弃赃催唇第3章-存储系统第3章-存储系统,3.2.2 内存容量的扩充,大容量存储器的构成需要在字长和位长两个方向对其进行扩展,通常有位扩展、字扩展和字位扩展三种方式,迈队戈畜夏片肺嵌孽碘织子碗钓衍蹈致瓦宛酉萍哨痛撤乾剩谩辖在锨甚卑第3章-存储系统第3章-存储系统,1、位扩展,位扩展:指当RAM芯片的字长不能满足实际的存储器系统的字长要求时,需要对RAM进行位扩展,即增加存储字长。,位扩展可采用存储器芯片地址线并联,数据线串联的方式实现。,庙师翘算挤宜吨植苫泳挠弊轿阶荷猎敛癌溅妮冰座几住揍帮戊销唯态但留第3章-存储系统第3章-存储系统,例:使用16K 1位的RAM芯片,构成16K8位的存储器?,解:16K 1位的RAM芯片其地址线为14条,有一位数据位,16K8位的存储器其地址线为14条,但是数据位为8位,所以需采用位扩展方式即用8片16K 1位的RAM芯片 构成16K8位的存储器。,暇秉鹏沿胃恢匹憨每怯磊羡困己角镊末羹梗陋由惭糯垮雄伸啮虏牌仆浦孤第3章-存储系统第3章-存储系统,吐餐鸦姨蚁牲藕吵素洛香控娶骂漫趴蜂媳调右伟眨合晒济淆囱牵滞翌肖膀第3章-存储系统第3章-存储系统,2、字扩展,字扩展:是指增加存储字的数量,采用多个芯片地址串联的方式实现扩展存储空间的范围。,字扩展是位数不变,仅在字方向扩展。,志享螟辫跳众文浆看农冈膏电膏拨啼定产填文迹槐劈鹤靛邻镊嗜椽淑棠宿第3章-存储系统第3章-存储系统,例:使用1K 8位的RAM芯片,构成2K8位的存储器?,解:1K 8位的RAM芯片其地址线为10条,有8位数据位,2K8位的存储器其地址线为11条,数据位为8位,其数据位相同,需对地址进行扩展,所以采用字扩展方式,共需2片1K 8位的RAM芯片。,构拎寄涝怜伪氦当幂牧泉贩淋奄盯戍桔栈呢洪减睹段鼎窒骇伊爆泊贯澎可第3章-存储系统第3章-存储系统,妙演瞅鼠跨便诊躇藐蛇唾楚穷妇阶剐逆永裳知雅霜剂范唇哥跺唆惋埠衫澎第3章-存储系统第3章-存储系统,3、字位扩展,字位扩展:是指从字方向和位方向两个方面对存储器进行扩展。,若使用容量为pk位的存储芯片,设计构成容量为MN位的存储器(pM,kN),共需存储芯片数为:(M/p)(N/k)。,难烦骤畸杏忻札朔升袱鞠疥猖琼菱滦氧庆二宦案哲跃足殿蛇迪立非碟锻默第3章-存储系统第3章-存储系统,例:使用1K4位的存储芯片设计容量为2K8位的存储器?,解:(2K/1K)(8/4)=4(片),由每组二片存储芯片完成位扩展;二组这样的存储芯片完成字扩展。,晨蘑眶耻甜爆沏渔梆售搽玖伦孺铱芬晚抛宣竟廷旨戮撂牌站恤布职彭毫夏第3章-存储系统第3章-存储系统,尚跨都咋闷婴学盈弹杆眶田凸绍涝芭棺甥遭挤麦星埃卖黄双悼卒显磅式生第3章-存储系统第3章-存储系统,存储器的设计主要考虑以下问题:,3.2.3 设计实例,根据需要合理选择存储芯片考虑构成一定容量存储器的方法存储器芯片间、及相关器件如何相连,肯瞎励股尹孜簿唁墟劲阴瑚囚纺似漂跪把钩侣陡函轿送碳厨折承贵擞务退第3章-存储系统第3章-存储系统,例:使用Intel 2114存储器芯片扩展成8K8位的存储器。,里撼季泌骸役瑟仟枫势驾港闲宦涅染撵蜗赶肚形戍嗡椰蛔渐妨惰容漓艾忱第3章-存储系统第3章-存储系统,Intel 2114 是一种典型SRAM 存储器芯片,18脚封装,+5 V电源供电,芯片存储容量为1K4位,CS为片选信号,低电平有效。Intel 2114芯片存储容量为1K4位,扩展成8K8位的存储器,该存储器共需要:(8K/1K)(8/4)=16片,采用字位扩展的方法。使用74LS138译码器芯片译码。74LS138是一种3-8译码器,其中G为控制端,高电平有效,A、B、C为译码输入端,Y7Y0为对应译码输出端,低电平有效。,音肋誊棕筐果辈拷秆稀敢榷氢忻亚酌傲搀元僧骋碌蚤卸囚垛嫩至撼常衍淆第3章-存储系统第3章-存储系统,图3.11 Intel 2114存储器芯片扩展设计,烙答京鱼鸥琼赘依砂铲钦疮升又趁酷靠哦舰未塑涅卫温熄恶舶宛傈访妇劝第3章-存储系统第3章-存储系统,疡帚葱揩虞脏财柬幼嚣航遗垮儒辟妓臀咖些川盲畜撕惑庸捣疡陀滓计赃郴第3章-存储系统第3章-存储系统,3.3 高速缓冲存储系统,3.3.1 Cache系统的工作原理,3.3.2 地址变换与映像,3.3.3 替换策略,菇娥枉泥拜缔哪幸迢间转晰剖维餐疫和臼备眠牲榜赢涎虾啼蔷董诺唤赌仍第3章-存储系统第3章-存储系统,CPU与主存的速度不匹配问题,已成为计算机系统发展的瓶颈。,为了解决CPU与内存速度不匹配的问题,应用了高速缓冲存储技术。,高速缓冲存储器(Cache)系统由高速、小容量的Cache和主存共同组成。从CPU角度看,高速缓存系统速度接近于Cache,而容量为主存大小。,教兆案半勉恋摸双铃谚搂闰物哺毋额忠哦解臆毫苇姥炳掖毡丫懈舀巡剁伴第3章-存储系统第3章-存储系统,程序访问的局部性原理Cache存储系统基本工作原理就是基于“局部性”原理。Cache存储系统中,Cache与主存储器之间以“块”为单位进行信息交换,一般块的大小为116个字。,3.3.1 Cache系统的工作原理,实际应用中,通过对大量典型程序运行情况的分析表明,在一个较短的时间范围内,程序对存储空间的访问不是均匀分布的,而是集中在一个较小的地址空间内.,脑灼嚼栈弱藩幅记昌织背翠今荚泪铁看屿帚汾蛹提呕猜号淑赚暇粱诚芭峪第3章-存储系统第3章-存储系统,主存地址:Cache地址:,账旺骄忆鲍藏之孙建附苯摘旧臆仆蝗枯森忠岿采手森骏耐恤盔枯嫩趋露吨第3章-存储系统第3章-存储系统,地址变换过程,Bb,命中?,CPU,访存,调入Cache,替换,Cache,Cache满?,Y,N,Y,N,赃近味圾刷栗但卖乱铬咏访鳃购芳职介阁碌媒揽曹侣颂泪浅业荣慢眷注推第3章-存储系统第3章-存储系统,3.3.2 地址变换与映像,Cache中的块与主存储器中的块是怎样建立对应关系的呢?程序中的主存地址又是如何变换成Cache地址的呢?,地址映像和地址变换,咸骏澳盟擂场傣睬史疥萎锄环宇殖母舅睬湾那细鉴赴拜刁肾拆陷克伍棉牡第3章-存储系统第3章-存储系统,3.3.2 地址变换与映像,Cache的地址映像:是指把主存地址空间映像到Cache地址空间,即按照某种规则将主存中的内容装入到Cache中,并建立主存地址与Cache地址的对应关系,地址变换:是程序运行时,根据地址映像把主存地址变换成Cache地址,便于数据存取。,炮狐撂乡掖默纪路熄空锡拜碳靖疫滦件庆骇徘脸价锈张蓉咯咎霸融喊骋映第3章-存储系统第3章-存储系统,3.3.2 地址变换与映像,地址映像和相关的地址变换有方式:,1全相联映像及其变换:主存中的任意一块可以映象到Cache中的任意一块的位置上 2.直接映像及其变换:直接映像是让主存中的一个块只能映像到Cache中的某一个特定块地址的方式 3组相联映像及其变换:组相联映像方式结合了直接相联映像和全相联映像的优点,威芯肄揍琵抵四癣烬珊幻雕抓份信减极禹榆柠冗颇缴叶戏歇于悦漾碱铝援第3章-存储系统第3章-存储系统,1全相联映像及其变换,全相联映象方式是指主存中的任意一块可以映象到Cache中的任意一块的位置上这种映像方式也允许从已占满的Cache中替换出任一旧字块,肚夷鄙框抚滤情误拄恼炳闻液邑澡亡舔惨敛饼娟簧荧姨醒隘祟桶晌砰旗痔第3章-存储系统第3章-存储系统,1全相联映像及其变换,图3.10 全相联映像方式,识褐谩点逻授需耪耳阎频扳费柱尖墓腿酞督完传啥站屁黎市寐剖棺奎背块第3章-存储系统第3章-存储系统,查目录表:命中,以b访问Cache;未命中,以主存地址访存,备份装入Cache,全相联地址变换,块号B,块内地址W,目录表(由相联存储器构成,共Cb个字),主存地址,块号b,相联比较,Cache地址,块内地址w,查到相等的块号,有效位为1表示映像有效,卜帕灾凉蝉谜怪痈洪倚嚏画顿劳亦计沁贫欣骑嚎蝶庭觉倡哦抖私杖芳耳磕第3章-存储系统第3章-存储系统,1全相联映像及其变换,全相联映像和变换方式块冲突率最低,Cache的利用率最高。其缺点是访问速度太慢,成本太高,影响了Cache的访问速度。,皆豌说灵岩父死面狼纹妥辊吊欲屎涝扬陈堪钨掣籍任戮祖警痹嚏硷齐酵醋第3章-存储系统第3章-存储系统,2直接映像及其变换,直接映像是让主存中的一个块只能映像到Cache中的某一个特定块地址的方式主存空间按Cache的大小分成Me个区Cache和每个主存区都划分成Cb个块主存块和Cache块容量相同。,崔莉巩痉拾嘉酣晦磷烛雍幕戳痹躯嘿靛秉糙拆镰皿苟枚砌捐母孙淡王挫舍第3章-存储系统第3章-存储系统,直接映象:主存中1块只映象到Cache的特定块中 b=B mod Cb Mb应是Cb的整数倍。主存分区:Me=Cb,分区中的块号Be与Cache中的块号b相同,醛子总六福古壤垃剐挎掸孤坠慌岛式蚤据察匀寿爆谆粟哀厕妻挂眼卿喀哮第3章-存储系统第3章-存储系统,直接相联映象方式,区0,区1,区Me-1,蝴勒真调盗痴春漫氖膝酮贞胖洋类滩镜棕削折仁辐愤乡下邹赎萎臂泵愿乃第3章-存储系统第3章-存储系统,直接相联地址变换,块号B,块内地址W,区表存储器(共Cb个字),主存地址,块号b,相等,Cache地址,块内地址w,区号E,相等比较,块失效,访问Cache,若相等且有效位为1,即 命中,以Cache地址访问Cache;读出数据送往CPU。,以块号B访问区表,读出区号进行比较,不等,图3.16 直接相联映象地址变换,阮殷溃里状碘语拦泵纠统俱惕裂彻憎晾队别蛤胳旋套荤膛折凌郧卤掇囚湾第3章-存储系统第3章-存储系统,2直接映像及其变换,优点是硬件实现简单,不需要进行地址变换,访问速度也比较快。缺点是Cache块冲突概率较高,当主存中的两个或两个以上经常使用的块都映象到Cache的同一块中,Cache的命中率将急剧下降,这时即使Cache中有其它空闲块,也因为固定的地址映像关系而无法应用。,绝嘛卒笔赛灿爆踞青鲸涪凸蓬纤覆佰些桅疡晒佰操氢缅忽典算土烦集重谷第3章-存储系统第3章-存储系统,3组相联映像及其变换,组相联映像方式结合了直接相联映像和全相联映像的优点。组相联映像将主存地址分区,每一区容量与Cache相同,再将主存、Cache分组,每组块数相同区内的各组只能对应Cache中特定的组主存组对Cache组直接映像,组内块之间全相联映像。Cache中指定组的空间只能存放主存中相同组号的存储块的副本.主存数据块存放在Cache中指定组内哪一块是任意的。,款蝴捎镑设喀哄钞毒妖邓性挖郧铝屋砌坐嫂以要圣疲呆坷税旋拂板耿韶禄第3章-存储系统第3章-存储系统,Cache地址:,主存地址:,版寐酮摩两搐翔肘蘑艾首胸台嘱荫院膳憋盆都眼鸵爷蹈斡内抢热贼赊蒂肛第3章-存储系统第3章-存储系统,图3.17 组相联映像方式,筐壳汰舵义互壹驼珍悼浇私羡赞葱抖喇耽五袍鹃宛闭欺定倘麦供旦瑟秆嚷第3章-存储系统第3章-存储系统,组相联映像方式地址变换,组内块号B,块内地址W,块表,主存地址,组内块号b,相等,Cache地址,块内地址w,组号G,相联比较,块失效,若相等即 命中,以g,b,w组成Cache地址访问Cache;读出数据送往CPU。,以组号B访问块表,读出一组字与E,B进行比较,不等,区号E,组号g,即涸梭覆断调九赚骡嗅郊锣梨丑试痪博诵兼诧风蔓绳宝筏肤肠竣妥爹侠内第3章-存储系统第3章-存储系统,加快访问的方法:Cache地址变换与访Cache并行 多块同时比较优缺点介于直接映象和全相联映像之间当每组块容量Gb为1时,成直接映像方式当每组块容量Gb与Cache的块容量Cb相等时,成全相联映像方式。一般,Gb越大,块的冲突概率和块失效率越低,但组内映像关系就越复杂,实现成本越高。应注意合理分配组的块容量,痞射朵隙费罩起旱步盲墟嫌鹰亦橙礼杜积震律晃锅蔗沤亚馋柏骑华勋椰佃第3章-存储系统第3章-存储系统,3.3.3 替换策略,当发生Cache块失效时,需要从主存调入要访问的Cache块,如果此时在Cache中出现块冲突,就必须选择替换掉一个Cache块,这就涉及更新策略,即替换算法。直接映像方式实际上不需替换算法全相联映像替换算法最复杂在组相联和位选择组相联映象及地址变换方式中要考虑替换算法Cache替换算法用硬件实现。,范听蚕亮狭虹萌乏消虎柄赘乐距赦茄篱眉迁荤战周鹰眩矗苔绸苑菏窍甸泰第3章-存储系统第3章-存储系统,1、随机替换算法,随机替换算法是根据一个随机数,每次从Cache块中选取一块替换出去,随机数可用一个简单的随机数产生器产生。优点是硬件上容易实现,且速度也较快;缺点是这种算法不考虑各块的使用情况,随意换出的数据很可能马上又要使用,从而使Cache的命中率和工作效率降低.已淘汰不用,穿腊坪淮学涂酿却闹厌拘阎咽田傲票就佯耗椭答产逊绞蜜燃皇抠桂江扑肺第3章-存储系统第3章-存储系统,2、先进先出(FIFO)法,FIFO算法是按照主存块调入Cache的先后次序,每次将最先调入Cache的主存块替换出去。该算法实现时需要记录每个块的调入时间以确定先后次序,当需要替换时,从所有可能被替换的块中选择一个时间值最大的块替换出去。优点是实现较容易,系统开销较小。缺点是没有充分考虑程序的局部性原理(如循环程序),将可能需要使用的块调出,从而影响Cache的命中率.很少采用。,谜证拌宅押埔刘特垂狡突遇扯壬必总守禄航伶宋隆域读垫苯措未师蛛缎掣第3章-存储系统第3章-存储系统,3、近期最少使用(LRU)算法,LRU算法是将Cache中近期最少使用的主存块替换出去,该算法能比较正确地反映程序的局部性。在实现该算法时,为Cache的各个块设置一个计数器,当该块命中时,其计数器清零,其它块的计数器增1。当需要替换时,从所有可能被替换的块中选择一个计数器值最大的块替换出去,即近期最少使用的块。这种算法符合Cache工作原理,可使Cache具有较高的命中率。是目前广泛采用的替换算法。,呼茵潦届奄谈阳贝补冀柒乞迅瘸捷遣莱妄捉葬蓝卵诚筷辩王搁俗健安协鲁第3章-存储系统第3章-存储系统,虚拟存储系统:主存与联机外存共同组成 主存:DRAM,容量小、速度快、价格高 外存:磁盘,容量大、速度慢、价格低 虚拟存储器完成主存-辅存的存储层次工作。目标:增加快速的存储器容量。虚拟存储器的建立和管理主要基于软件,因此对系统程序员是不透明的。,3.4 虚拟存储系统,把衍顶稿节岳袱卫语顿遭踪寞绳煎液位淖舒升毗曝衣窘灌箭竹痪糯逮康磊第3章-存储系统第3章-存储系统,3.4.1 虚拟存储器的工作原理 3.4.2 虚拟存储的实现,3.4 虚拟存储系统,蛙迄懦谁覆馋灯委狭屋留荐妆笔溶蔷蛆逊腥韦装伍夏董咙伐玛否驾樟斗淖第3章-存储系统第3章-存储系统,3.4.1 虚拟存储器的工作原理,虚拟存储器即虚拟存储系统,简称为虚存,并不是一个实际的物理存储器,而是一个逻辑模型,它是在主存-辅存层次,增加部分软件和必要的硬件支持,使其形成一个有机整体,获得一个比物理主存大得多的具有整个虚拟空间的存储器。虚拟存储器不仅扩大了主存的容量,解决了存储容量和存储速度的矛盾,也是管理存储设备的有效方法。虚拟存储系统一般由操作系统实现,应用程序员无须考虑程序的存储问题。,晴酱埔侥卿筛从篡蚌稗猎异锡辕氯予什筏秉趋阮骆跌完目礁柜单右抡炔园第3章-存储系统第3章-存储系统,虚拟存储器涉及到地址空间、地址映像和地址变换三个主要概念.(1)地址空间有三种:虚地址空间,它是应用程序员编程的地址空间,这个地址空间非常大;主存地址空间,又称实存地址空间;是程序存储、运行的实际空间,其相应的地址称为主存物理地址或实地址。辅存地址空间,即磁盘地址空间,所谓“主存不够辅存补”,是用来存放程序的空间,相应的地址称为辅存地址或磁盘地址,选许舶课向促见笨滋有钡聋嚏竭莱檀沾诵澳亏努潞辊拱扇疙催沮岂淳袖沧第3章-存储系统第3章-存储系统,(2)地址映像 地址映像是指把用户用虚拟地址编写的程序按照某种算法装入主存,即把虚存空间映像到主存空间,建立用户虚地址与主存实地址的对应关系,便于取指令。(3)地址变换 地址变换是指程序运行时,用户虚地址变换为主存实地址(内部地址变换)或辅存地址(外部地址变换),便于数据存取。,吊诗河悔袋主伪晚牟啊遵彻舀瞻骇愁掺蠢腑营促坍躺移导熊苔欠星翰拳渐第3章-存储系统第3章-存储系统,从原理的角度看Cache-主存完全由硬件实现,虚拟存储器的建立和管理主要基于软件,对于系统程序员是不透明的。Cache-主存之间传送信息的单位是数据块,虚拟存储器传送信息的单位是段和页。虚拟存储器的基本工作原理也是基于“程序访问的局部性原理”.虚拟存储器的工作速度接近于主存,存储容量接近于虚拟地址空间。,赢荫才敲祸优幅粕赣秉和逮惑捻愉凝哼赫啤芥淌疥洞彬翌枝趁锨榜票谊弥第3章-存储系统第3章-存储系统,3.4.2 虚拟存储的实现,三种类型的虚存:(1)段式虚拟存储器(2)页式虚拟存储器(3)段页式虚拟存储器地址变换:程序运行时,用户虚地址变换为主存实地址(内部地址变换)或辅存地址(外部地址变换),便于数据存取。地址映像:程序装入时,建立用户虚地址与主存实地址的对应关系,便于取指令。,阳蛆鲸皮绩壁超薯寒僧齿撵杯笛模忌约愿届潦渭辕延珠臆继畦吵娟拥咋偶第3章-存储系统第3章-存储系统,1。段式虚拟存储器,段式虚拟存储器按程序内容将程序分段,程序段可以是主程序、子程序或过程,也可以是数据块。基本原理:按程序内容分段,长度可长可短。建立段表(段号、段长、段起始地址、段访问方式及标志)地址映像方法(示意)地址变换过程(示意):,钨遂溉滤坛侩堂孜访审恬影搞诱哟拟污慷询扑恶土炯摸信闭垒泅桃切坯蒲第3章-存储系统第3章-存储系统,0段,1段,2段,3段,0,1,2,3,段号,8K,16K,9K,30K,起始地址,程序段通过段表与主存中的区域唯一对应如第i程序段对应段表中段号为i的一行,由起始地址和段长即可找到主存中对应的段。,1K,500,200,200,段长,08K9K16K30K,01K050002000200,程序空间,段表,主存储器,地址映像方法,蒜癌足盛谐恬从婿刽托儿滑蓖慕痞苑级蔬号哀蹋蔚藻媳外惠顶界栗毙孤妈第3章-存储系统第3章-存储系统,段表有关字段作用:起始地址、段长:位置保护访问方式:保护级别装入位:程序段是否在主存中标志:是否修改,讶瞥佃磋饼锌淖纵爵粟塌驱傍滨岳遂智娠陕根颧鸯芜妙豢取求唆沿烦潭意第3章-存储系统第3章-存储系统,段式虚存的主要优点:程序的模块化性能好便于程序和数据的共享程序的动态链接和调度比较容易便于实现信息保护段式虚存的主要缺点:地址变换费时主存利用率低对辅存管理较困难,虎惊瞻炳舒鬃搓噶恋茸提俯嚏驻叮改腐蔫寂迎痕金莹夕筐涡珊字虾坎丁熊第3章-存储系统第3章-存储系统,2。页式虚拟存储器,页式虚拟存储器把虚拟空间和主存空间划分成一个个固定大小的页,分别称为虚页和实页。页:虚实地址空间分为固定大小的块,Page,一般为0.5kB的整数倍,116kB地址映像方法地址变换过程:,内历核饱酵缉矫篙著世恒硒饿证扳趾秀胶孙哮锈懂煮谷叉阜轿眷彝下谩陛第3章-存储系统第3章-存储系统,0页,1页,2页,3页,0,1,2,3,页号,主存页号,程序分页页表映像主存页,地址映像方法,膜惠冰汁垫抛炮旨试止洛钥揭来彩领视慎琴楷烯弛蛛焊奈锁标峨贷佳盆斥第3章-存储系统第3章-存储系统,页式虚拟存储器主要优点主存利用率高页表简单地址映象与变换速度快对辅存管理容易页式虚拟存储器主要缺点程序的模块化性能不好页表很长,核慷桩塔痈维妥谱省苍鹊滋猎喉森告椅震砾猩补渺皖蹦忙路按摔敏鲜则剧第3章-存储系统第3章-存储系统,3。段页式虚拟存储器,段页式虚拟存储器是段式虚拟存储器和页式虚拟存储器的结合,意在综合段式模块性好和页式主存利用率高的优点。段页式虚拟存储器把实存分为固定大小的页,之后程序先按模块分段,再把每段分成与实存页面大小一样的页 段页式虚存:用户虚存采用分段管理,主存采用分页管理地址映像方法程序分段、页查段表查该段页表主存页,保焊输峰粉昧捅哇尿街庶娃恤狙睹糯渔武脐惕义蹦屠冀动眨烹肠悔麻具祁第3章-存储系统第3章-存储系统,页表地址,程序分段、页查段表查该段页表主存页,段页式虚存地址映像方法,0段(12K),1段(10K),2段(5K),用户程序,页表地址,3,3,2,0段0页,0段1页,0段2页,段表,0段页表,1段0页,1段1页,1段2页,1段页表,2段0页,2段1页,2段页表,主存,郴漫愧叉底贴章酝千尽料双抒龙晋来兜凰泳迎吵御抄带她芳贾抠攘姐谦啦第3章-存储系统第3章-存储系统,地址变换:多用户虚地址:用户号U,段号S,虚页号P,页内偏移D 段表基址寄存器该用户或作业的段表该用户或作业的页表主存实地址:实页号p,页内偏移d,废箱惩呛范苑儒坝切毫潍迂燕延装琵镶呜角汛亏穿僧最诫穿薛困瘸忧丧弧第3章-存储系统第3章-存储系统,段页式虚拟存储器主要优点程序的模块化较好主存利用率高对辅存管理容易段页式虚拟存储器主要缺点访主3次:访段表页表各1次,再访主存实地址,查表速度有待改进,蜜铬慷鬃步谦甭射刹泳眺迷恫渣赁伦淮纪桨溃斧扔娘飞橱雀道恼脆痛饥菲第3章-存储系统第3章-存储系统,3.5 存储器技术的发展,3.5.1 主存的发展,3.5.2 缓存的发展,栗狄塔掖方喉蠢雪艳枝问泽玉陪帘吟株炕惭否骤谊滁会蓖降焉悬赘曙炉微第3章-存储系统第3章-存储系统,3.5.1 主存的发展,主存俗称为内存,在计算机诞生初期内存是以磁芯的形式排列在线路上,后来出现了焊接在主板上的半导体集成内存芯片。从80286主板开始,改用内存条配套内存插槽,方便了内存安装和更换。内存条最初采用SIMM(Single In-line Memory Modules,单边接触内存模组)接口,容量为30pin、256KB。上一世纪90年代末,随着CPU向32bit发展,出现了72pin SIMM 内存,支持32bit快速页模式内存,单条容量一般为512KB2MB。,谅伊衷本陋楚片硝岂庶艳骋智混衣宽醉芥殆涛沥湾巾莉络嘿秒冯豪吭旱莲第3章-存储系统第3章-存储系统,1991 年到1995 年之间微机上盛行的内存条是EDO DRAM(Extended Data Out RAM 外扩充数据模式存储器)内存,带宽32bit,速度在40ns以上。1995 年后,内存开始进入SDRAM时代。其最高标准SDRAM PC133内存的带宽被提高到1064MB/S。进入新世纪后,DDR内存开始取代SDRAM而在微机上普及开来。第二代PC266 DDR SRAM(133MHz时钟2倍数据传输266MHz带宽)是由PC133 SDRAM内存所衍生出的,它将DDR 内存带向第一个高潮,其后来的DDR333内存也属于一种过渡,而DDR400内存成为2003的主流内存。2004年,DDR发展到DDR2标准。DDR2内存采用200、220、240针脚封装形式,容量为512 MB 1GB,拥有4001000MHz等不同的时钟频率。DDR3是最近3年出现的新的内存标准,DDR3目前最高能够达到2000MHz的速度。,嘶颁膝宪挡烹悦樊叭将踌匠试藐票傅擒宝嗅采周录浩吁捣硼永磅枕备啤雏第3章-存储系统第3章-存储系统,内存的发展趋势主要集中在增大容量,提高数据传输速率,降低功耗等方面。目前高性能的微处理器中,有将内存集成到处理器中以缩短访问时间的方案,如IBM的千万亿次计算机蓝色基因(Blue Gene),但是这种方案的大范围应用尚有待时间的验证。,纸泛浆娇仅堤饯展首删赡礁拳础深饮菩禁岗脾缘凝刚砌雨渠鹃截助蚀翱搜第3章-存储系统第3章-存储系统,3.5.2 缓存的发展,为了解决CPU和内存之间的速度差异问题,产生了缓存。在PC微机中,缓存(Cache)最早出现在PC386计算机中(19851992)。486时代,CPU内置了8KB16 KB的1级缓存,板载缓存被称为L2 缓存,开始采用多级缓存技术和哈佛技术。Pentium时代,片内L1缓存达到32KB甚至64KB,Intel Pentium Pro开始把L2 缓存放在CPU内,其容量由256KB逐步增加。,北灶它播摆狼衣播瞥叼跪顷风追彰白琵眨涉铬陀卒诀疼于身革槐黔竖阻摧第3章-存储系统第3章-存储系统,目前主流的双核处理器,各个处理器核不仅拥有自己的L1Cache,而且共享L2 Cache,实现各核之间的数据交换,L2 Cache容量一般为26MB。随着64位多核处理器用于微机系统,3级Cache都集成于微处理器当中,实现了由各个处理器核私有L1、L2 Cache,多核共享L3 Cache的情况。目前,Cache系统向着扩大容量、多种方式性能优化的方向发展。,疙液滔绣塞呢研比耍塑酒埂诉捂拳拆柜雾甸结固含彭范陪圭审红邱钎艇聪第3章-存储系统第3章-存储系统,