《第4章存储系统》由会员分享,可在线阅读,更多相关《第4章存储系统(179页珍藏版)》请在金锄头文库上搜索。
1、第第4 4章章 存储系统存储系统呵驴游沦驭柜扒探打脆捣砚广聋颐棋伊卵剁交滔忘卧乃柜韭驻龋畦潮毙驼第4章存储系统第4章存储系统2007.7.21计算机组成原理第4章 存储系统本章介绍了计算机中各种常见存储本章介绍了计算机中各种常见存储器芯片的结构和工作原理,以及当存储器芯片的结构和工作原理,以及当存储器芯片不满足系统需求时,如何对存储器芯片不满足系统需求时,如何对存储器进行扩展,采用何种方式对存储器进器进行扩展,采用何种方式对存储器进行管理以提高存储空间的利用率。行管理以提高存储空间的利用率。犬倔芬怂霓洽瑞涛鞍债周巾妊撰寡妒瘟枫秃郧汝品壬淡譬铰画稽姓亨抛庚第4章存储系统第4章存储系统2007.7
2、.22计算机组成原理本章要点:本章要点:u存储器分类及其工作原理存储器分类及其工作原理u芯片扩展方法芯片扩展方法u存储空间管理方法存储空间管理方法沫购绳午貉挪畅副狂漂缝盾捕员暗遥侵屯夫谜街抽仟愉姜会唉镶鬃溉持韦第4章存储系统第4章存储系统2007.7.23计算机组成原理4.1 计算机存储系统组织方式随着计算机和网络技术的发展,人们对计算机的要求随着计算机和网络技术的发展,人们对计算机的要求逐渐提高,从最开始只需要计算机代替人进行计算,逐渐逐渐提高,从最开始只需要计算机代替人进行计算,逐渐过渡到要求计算机系统能长时间保存大量信息,并且方便过渡到要求计算机系统能长时间保存大量信息,并且方便用户进行
3、异地查询。用户进行异地查询。为了满足人们对各类信息的查询要求,现在的计算机为了满足人们对各类信息的查询要求,现在的计算机必须要配备容量较大的存储系统。但是计算机存储系统,必须要配备容量较大的存储系统。但是计算机存储系统,特别是磁盘存储系统,自身存在很难克服的缺陷,如读取特别是磁盘存储系统,自身存在很难克服的缺陷,如读取速度慢、寻道时间长等。然而,尽管存储器速度提升缓慢,速度慢、寻道时间长等。然而,尽管存储器速度提升缓慢,处理器的处理能力却在快速提高。这就造成了新的矛盾,处理器的处理能力却在快速提高。这就造成了新的矛盾,存储器的数据传输速度远远小于处理器处理数据的速度,存储器的数据传输速度远远小
4、于处理器处理数据的速度,使得存储器的性能成为计算机系统性能的瓶颈。使得存储器的性能成为计算机系统性能的瓶颈。裳刃炬孜尽雄棠秉讲氧圆耙悉米失瞄啸川媚举措件拱字品初宛刺猫途喝鸭第4章存储系统第4章存储系统2007.7.24计算机组成原理基于以上原因,计算机中配置存储器时,需要考虑两基于以上原因,计算机中配置存储器时,需要考虑两方面的问题:方面的问题:(1)如何利用有限的存储空间尽可能多地存储数据、)如何利用有限的存储空间尽可能多地存储数据、方便快捷地读出数据。方便快捷地读出数据。(2)如何将慢速的磁盘存储器和快速的处理器匹配起)如何将慢速的磁盘存储器和快速的处理器匹配起来。来。第第1个问题的解决方
5、法,我们将在个问题的解决方法,我们将在4.5节中详细介绍。节中详细介绍。下面简单介绍第下面简单介绍第2个问题的解决方法。个问题的解决方法。为了同时满足用户对容量和速度的要求,计算机系统为了同时满足用户对容量和速度的要求,计算机系统往往会采用以下的存储器配置方法,如图往往会采用以下的存储器配置方法,如图4-1所示。所示。扭修蝴满蟹檄尧黑掺吧自秉者乔师结栅碌纠劫苇蚕饼韧蝎好狼贱钻唾喀婚第4章存储系统第4章存储系统2007.7.25计算机组成原理荧奉痞逛牌蜀挠赠勃扔淆挥托赣如糕呀腮祥早矣小褪绿躁呕妈瞩艳偿砚挫第4章存储系统第4章存储系统2007.7.26计算机组成原理大容量磁盘存储器处于存储系统的最
6、底层,其主要作大容量磁盘存储器处于存储系统的最底层,其主要作用是给计算机系统提供一个较大的存储容量,因此,对它用是给计算机系统提供一个较大的存储容量,因此,对它的要求主要是存储容量要尽可能大。的要求主要是存储容量要尽可能大。在计算机中配置了磁盘存储器后已经解决了容量问题,在计算机中配置了磁盘存储器后已经解决了容量问题,为什么还要加内存呢?原因在于匹配为什么还要加内存呢?原因在于匹配CPU和磁盘的速度。和磁盘的速度。从前面的分析我们可以知道,计算机中,从前面的分析我们可以知道,计算机中,CPU的处理速度的处理速度比磁盘的读写速度快得多,如果不进行速度匹配,则会出比磁盘的读写速度快得多,如果不进行
7、速度匹配,则会出现现CPU长时间等待磁盘输入数据的情况,从而降低长时间等待磁盘输入数据的情况,从而降低CPU利利用率,影响系统性能。内存的读写速度比用率,影响系统性能。内存的读写速度比CPU的速度慢,的速度慢,但是比磁盘快,刚好可以起到速度匹配的作用,同时,因但是比磁盘快,刚好可以起到速度匹配的作用,同时,因为内存解决的主要问题不是容量问题,所以对其容量的要为内存解决的主要问题不是容量问题,所以对其容量的要求不是特别高。求不是特别高。伏俺正祷否使逗匣茬深根恭解串梭员愧谚拦镊晒弛炽驼翼砖布欠旺曳印冉第4章存储系统第4章存储系统2007.7.27计算机组成原理寄存器和寄存器和Cache都是都是CP
8、U中的存储器,但是二者作用中的存储器,但是二者作用却不完全相同。寄存器的读写速度最快,主要用于直接提却不完全相同。寄存器的读写速度最快,主要用于直接提供供CPU计算所需要的数据;计算所需要的数据;Cache,又叫高速缓存,作用,又叫高速缓存,作用与内存相似,主要用于匹配相对低速的内存和高速的寄存与内存相似,主要用于匹配相对低速的内存和高速的寄存器。由此可见,二者对速度的要求都很高,而对容量的要器。由此可见,二者对速度的要求都很高,而对容量的要求则较小。求则较小。基于以上的原因,目前市场上的主流磁盘容量都在基于以上的原因,目前市场上的主流磁盘容量都在160G以上,内存的容量大都是以上,内存的容量
9、大都是512M或或1G,而,而Cache的容的容量则在量则在1M左右。左右。思考:联系实际,一台微型计算机存储系统包含那些思考:联系实际,一台微型计算机存储系统包含那些部件?它们分别存在于计算机那些地方?作用是什么?部件?它们分别存在于计算机那些地方?作用是什么?障询粒异逛氟眼周衷或禹船霖蓖阑避孰授易达詹伊摧揩椎豪体拉裤恬酌窥第4章存储系统第4章存储系统2007.7.28计算机组成原理4.2半导体存储器芯片介绍目前,几乎所有的存储器都是用半导体材料做成的。目前,几乎所有的存储器都是用半导体材料做成的。但是根据存储器的使用特性可以将存储器分为两类:随机存但是根据存储器的使用特性可以将存储器分为两
10、类:随机存取存储器(取存储器(RandomAccessMemory,RAM)和只读存储)和只读存储器(器(Read-OnlyMemory,ROM)。)。只读存储器跟随机存储器不同,用户在使用时只能读只读存储器跟随机存储器不同,用户在使用时只能读取其中的数据,如果要对取其中的数据,如果要对ROM中的数据进行修改,则必须采中的数据进行修改,则必须采用特殊的方法进行,因此用特殊的方法进行,因此ROM可以用于保存不需要经常改变可以用于保存不需要经常改变的程序和数据,如:设备驱动程序等。同时,的程序和数据,如:设备驱动程序等。同时,ROM有掉电保有掉电保护功能,可用于制造磁盘等能长时间保存信息且不受断电
11、影护功能,可用于制造磁盘等能长时间保存信息且不受断电影响的存储器。常用响的存储器。常用ROM有以下五类:有以下五类:嗽沪致文潦遭珠瓣个帽扳曾疽汞腋颜霄收娇钝卖踊绣汾所施远正擅耸蒂牟第4章存储系统第4章存储系统2007.7.29计算机组成原理l掩模式(掩模式(Masked)ROM:该种:该种ROM不允许用户对其修改。不允许用户对其修改。l可编程可编程ROM(ProgrammableROM,PROM):该):该种种ROM允许用户对其进行一次修改,一旦程序或数据写入允许用户对其进行一次修改,一旦程序或数据写入则不允许用户再次修改。则不允许用户再次修改。l可擦除可擦除PROM(ErasablePROM
12、,EPROM):该种):该种ROM允许用户在第一次写入数据后再次进行修改,但是修允许用户在第一次写入数据后再次进行修改,但是修改时必须先用紫外光擦除原来的数据。改时必须先用紫外光擦除原来的数据。l电可擦除电可擦除PROM(ElectricallyErasableROM,EEPROM又叫又叫E2PROM):该种存储器与):该种存储器与PROM一样可以一样可以对数据进行多次修改,但是不同的是对数据进行多次修改,但是不同的是E2PROM不需要紫外不需要紫外光擦除,而是采用加电的方式进行擦除。光擦除,而是采用加电的方式进行擦除。l闪存(闪存(Flashmemory)。闪存是电可擦除只读存储器)。闪存是
13、电可擦除只读存储器(EEPROM)的变种,所不同的是,闪存的删除写入是以字)的变种,所不同的是,闪存的删除写入是以字节为单位,而节为单位,而EEPROM是以整块芯片为单位。现在的是以整块芯片为单位。现在的U盘、盘、MP3和和MP4等都使用的是闪存。等都使用的是闪存。让预此硫悟汰熊窜节瞒晴手纵札射抿俱耸挟姆年饯撵发功逞蒂邱塘采潘攻第4章存储系统第4章存储系统2007.7.210计算机组成原理4.2.1SRAM芯片的结构和工作原芯片的结构和工作原理理1内部存储单元内部存储单元SRAM的一个存储单元可以用来的一个存储单元可以用来保存一保存一位数据,即可保存一个位数据,即可保存一个“0”或或一个一个“
14、1”。电路如图。电路如图4-2所示。图所示。图4-2SRAM内部存储单元内部存储单元电路中使用的电路中使用的T1、T2、T3、T4均均是是NMOS管。管。X是单元行地址选择线,是单元行地址选择线,Y是单元列地址选择线。作为存储单元电是单元列地址选择线。作为存储单元电路路,该电路至少应该有保持、写入和读出该电路至少应该有保持、写入和读出三种状态。三种状态。筐惟蔗写吹漓累脖悯妥赛惕搭臀敞胎呕蔬暴仓刽厉冯俩惑哲瓦疗础脂掷搐第4章存储系统第4章存储系统2007.7.211计算机组成原理(1)保持)保持图中图中T1、T2、T3、T4能构成一个双稳态电路。能构成一个双稳态电路。T1和和T2在某一时刻只能有
15、一个处于导通状态。当在某一时刻只能有一个处于导通状态。当T1截止、截止、T2导通导通时,节点时,节点A处于高电平状态,节点处于高电平状态,节点B处于低电平状态。处于低电平状态。A的的高电平可以保证高电平可以保证T2持续导通,持续导通,B的低电平可以保证的低电平可以保证T1持续截持续截止。反之亦然。如果没有外界因素的影响,该电路的状态将止。反之亦然。如果没有外界因素的影响,该电路的状态将长时间保持。所以,长时间保持。所以,SRAM不需要经常刷新。约定:不需要经常刷新。约定:T1截截止、止、T2导通时表示该单元电路状态为导通时表示该单元电路状态为“1”,T1导通、导通、T2截截止时表示该单元电路状
16、态为止时表示该单元电路状态为“0”。从以上分析可以看出,从以上分析可以看出,A点的状态即为单元电路保存的点的状态即为单元电路保存的信息状态,信息状态,A为高电平时,单元信息为为高电平时,单元信息为“1”,A为低电平时,为低电平时,单元信息为单元信息为“0”。因此,读出时,只需要读出。因此,读出时,只需要读出A点的状态点的状态即可。即可。拿寒峙灯寻藉旗强枯烦胆剪夜扭殆撒蚊理偶吊陀险解芽凛途调由裁汇血货第4章存储系统第4章存储系统2007.7.212计算机组成原理(2)写入)写入要对此单元进行写入操作,要选中该单元,并要对此单元进行写入操作,要选中该单元,并且要将数据放在数据线上。选中时,该单元的
17、行选且要将数据放在数据线上。选中时,该单元的行选择线择线X和列选择线和列选择线Y都处于高电平状态,都处于高电平状态,X、Y的高电的高电平,使得平,使得T5T8全部导通。如果待写入的数据是全部导通。如果待写入的数据是“0”,则,则I/0数据线被置为低电平,数据线被置为高数据线被置为低电平,数据线被置为高电平,不管电平,不管A、B之前的状态如何,此时之前的状态如何,此时A点将被强点将被强制置为低电平,制置为低电平,B点将被强制置为高电平,进而使得点将被强制置为高电平,进而使得T1导通而导通而T2截止。反之如果待写入数据为截止。反之如果待写入数据为“1”,使得使得T1截止而截止而T2导通。导通。迫执
18、胯溪募沦昏瓢恋韧讣勿慢伟叭草刽蚌哇者臆旭录导鞋痕庙斯色颓踪畅第4章存储系统第4章存储系统2007.7.213计算机组成原理(3)读出)读出跟写入一样,读出单元数据时,也要先选中跟写入一样,读出单元数据时,也要先选中该电源。不同的是,此时往数据线上放数据。选该电源。不同的是,此时往数据线上放数据。选中时,该单元的行选择线中时,该单元的行选择线X和列选择线和列选择线Y都处于高都处于高电平状态,电平状态,X、Y的高电平,使得的高电平,使得T5T8全部导通。全部导通。I/O数据线直接与数据线直接与A点相连,点相连,A两点的状态将通过两点的状态将通过数据线输出。数据线输出。鬼九诬领机茸明勘淹襟凳瞪风黑友
19、识陪容砧挪颂接斧五驼且坏针树贰卷蚤第4章存储系统第4章存储系统2007.7.214计算机组成原理4.2.2DRAM芯片的结构和工作原理芯片的结构和工作原理相对于相对于SRAM来说,来说,DRAM具有容易集成、位价格低、容量大和具有容易集成、位价格低、容量大和功耗低等优点,但是由于受到器件的限制,功耗低等优点,但是由于受到器件的限制,DRAM的存取速度比的存取速度比SRAM慢,而且需要定时刷新。慢,而且需要定时刷新。1 1内部存储单元内部存储单元 跟跟SRAMSRAM一样,一样,DRAMDRAM的一个存储单元的一个存储单元也可以用来保存一位数据,即可保存一个也可以用来保存一位数据,即可保存一个“
20、0”“0”或一个或一个“1”“1”。常见的。常见的DRAMDRAM的基本存储的基本存储电路可以分为多管型和单管型,下面以单管电路可以分为多管型和单管型,下面以单管型为例介绍电路原理。单管型存储单元如图型为例介绍电路原理。单管型存储单元如图4-44-4所示。所示。慌搽绘龚寨粪蹿供仔永债站物注埔恤耪喉颤窿夹黔焙甩霜梆兆旬骆碧蔚娜第4章存储系统第4章存储系统2007.7.215计算机组成原理电路中的电容电路中的电容C和和NMOS管管T是电路的核心器是电路的核心器件。单元存储的信息是通过电容的高低电压来表件。单元存储的信息是通过电容的高低电压来表示的。电容充电后的高电位表示示的。电容充电后的高电位表示
21、“1”,放电后,放电后的低电位表示的低电位表示“0”,读出时只要能读出,读出时只要能读出C的电位的电位即可。即可。T管的栅极接行选择信号,源极通过管的栅极接行选择信号,源极通过T2接接数据线,其作用是控制对数据线,其作用是控制对C的充电。当的充电。当T管导通时,管导通时,源极电位与电容电位相同。源极电位与电容电位相同。对单元电路的写入、读出和保持这三个基本对单元电路的写入、读出和保持这三个基本操作的基本原理如下:操作的基本原理如下:郊嫡角雹臭笆旗晃恩继狞贮瞳究整躬装湘惮袒场庭婆禽略拣鹰阅蒋逊便抄第4章存储系统第4章存储系统2007.7.216计算机组成原理(1)写入)写入要对单元进行写入,行列
22、选择信号必须有效,且待要对单元进行写入,行列选择信号必须有效,且待写入数据需要放在数据线上。此时写入数据需要放在数据线上。此时T1、T2导通,数据线导通,数据线与源极相连,而源极电位与电容电位相同,因此,数据与源极相连,而源极电位与电容电位相同,因此,数据线上的电位将强制修改电容的电位,从而完成写入操作。线上的电位将强制修改电容的电位,从而完成写入操作。(2)读出)读出该单元的行列选择地址有效时,该单元的行列选择地址有效时,T1、T2导通,所以导通,所以电容电位的高低能通过数据线输出。电容电位的高低能通过数据线输出。(3)保持)保持单元电路是通过单元电路是通过C的高低电位表示信息,然而电容的高
23、低电位表示信息,然而电容的电压不能长时间保持,如果不定期对的电压不能长时间保持,如果不定期对C的数据进行刷的数据进行刷新,则其保存的信息新,则其保存的信息“1”经过一段时间后将会变为经过一段时间后将会变为“0”导致数据丢失。通常每导致数据丢失。通常每12ms就需要对其状态进就需要对其状态进行一次刷新。行一次刷新。慎僚坝荆袱肯棍览匿移势幅呵魁煌姑遮寇沾渗坊神嗜度臀汤厌酶绦第得湾第4章存储系统第4章存储系统2007.7.217计算机组成原理2典型芯片的工作原理典型芯片的工作原理下面我们以下面我们以Intel2164A芯片为例介绍芯片为例介绍DRAM芯片的工作过程。芯片的工作过程。(1)芯片简介In
24、tel2164A芯片存储容量为芯片存储容量为64K1位、最位、最大存取时间为大存取时间为200ns、刷新时间间隔为、刷新时间间隔为2ms,采用双列直插式封装,有采用双列直插式封装,有16个引脚,其引脚图个引脚,其引脚图如图如图4-5所示。各引脚功能:行地址选通信号,所示。各引脚功能:行地址选通信号,用于锁存行地址用于锁存行地址,低电平有效,兼作芯片选择低电平有效,兼作芯片选择信号。为低电平时,表明芯片当前接收的是行信号。为低电平时,表明芯片当前接收的是行地址;:列地址选通信号;地址总线上先送上地址;:列地址选通信号;地址总线上先送上行地址,后送上列地址,它们分别在行地址,后送上列地址,它们分别
25、在RAS和和CAS有效期间被锁存芯片中。有效期间被锁存芯片中。A0A7:地址线;:地址线;用来分时接收用来分时接收CPU送来的送来的8位行、列地址;位行、列地址;DIN:数据输入;:数据输入;DOUT:数据输出;:数据输出;NC:未用引:未用引脚脚;VCC:+5V电源引脚;电源引脚;GND:接地引脚;:接地引脚;:读写允许控制信号输入引脚,当其为低电平时,读写允许控制信号输入引脚,当其为低电平时,执行写操作;否则,执行读操作。执行写操作;否则,执行读操作。小欺年靠厨该瘟侯狐鬼熙母诞陨并项砌策矣扎撑棍毛媚菇景调嘱镁媚欲恭第4章存储系统第4章存储系统2007.7.218计算机组成原理(2)工作原理
26、2164A有有64K1位的存储空间,需要位的存储空间,需要16位地址线才能位地址线才能寻址,由于其存储单元采用矩阵的方式设置,我们只要知寻址,由于其存储单元采用矩阵的方式设置,我们只要知道某个存储单元的行列地址就可以对该单元进行读写,所道某个存储单元的行列地址就可以对该单元进行读写,所以芯片以芯片16位地址线又可以分成位地址线又可以分成8位行地址线和位行地址线和8为列地址线,为列地址线,为了节约成本和减少芯片引脚数量,芯片只用了为了节约成本和减少芯片引脚数量,芯片只用了8位地址线,位地址线,采用分时的方式分别传送行地址和列地址。传送地址时,采用分时的方式分别传送行地址和列地址。传送地址时,先传
27、送先传送8位行地址,后传送位行地址,后传送8位列地址。为了区别行列地址,位列地址。为了区别行列地址,芯片设置了两个低电平有效的引脚(芯片设置了两个低电平有效的引脚(RowAddressStrobe)和()和(ColumnAddressStrobe)分别作为行地)分别作为行地址选通信号和列地址选通信号。当信号为低电平时,把此址选通信号和列地址选通信号。当信号为低电平时,把此时地址线上的时地址线上的8位地址信号送至内部的行地址锁存器,同理位地址信号送至内部的行地址锁存器,同理当信号为低电平时,把此时地址线上的当信号为低电平时,把此时地址线上的8位地址信号送至内位地址信号送至内部的列地址锁存器。部的
28、列地址锁存器。的叙毁咒不棠少微梢烽售塑债吩币超当惟嫁耻捷仇坟呼磐土衔酪吮盈寥嗽第4章存储系统第4章存储系统2007.7.219计算机组成原理与与6116不同,不同,2164A的输入输出数据线使的输入输出数据线使用了不同的引脚,在实际使用时,常将这两位数用了不同的引脚,在实际使用时,常将这两位数据线与数据总线的同一位相连。为了保证正确的据线与数据总线的同一位相连。为了保证正确的接收数据和输出数据,芯片设置了读写允许控制接收数据和输出数据,芯片设置了读写允许控制信号输入引脚。当信号输入引脚。当0时,芯片接收数据,并根时,芯片接收数据,并根据行列地址信号将此数据写入到相应的存储单元;据行列地址信号将
29、此数据写入到相应的存储单元;当当1时,芯片根据行列地址信号读出相应的存时,芯片根据行列地址信号读出相应的存储单元的数据,并且输出到数据总线上。储单元的数据,并且输出到数据总线上。纲雇燕烃琳立棚谅蛹爸襄竭胃垃矽各衷韶倦豺捂缘睬醉陀寒阔屯褐套鹤瓜第4章存储系统第4章存储系统2007.7.220计算机组成原理4.2.3ROM的结构和原理的结构和原理下面,我们以下面,我们以EPROM的典型芯片的典型芯片Intel2716为例介绍为例介绍ROM芯片的工作原芯片的工作原理。理。1内部存储单元内部存储单元EPROM的基本电路如图的基本电路如图4-6所示,所示,其核心器件是浮置栅雪崩注入型场效管其核心器件是浮
30、置栅雪崩注入型场效管(FloatinggridAvalancheinjection,FAMOS)。图)。图4-6EPROM内部存储单元内部存储单元在没有被写入数据前,在没有被写入数据前,FAMOS管管的栅极没有电子,源漏极间没有形成导的栅极没有电子,源漏极间没有形成导电沟道,不导通,此时保存的信息为电沟道,不导通,此时保存的信息为“1”。对其进行写入操作后,其栅极。对其进行写入操作后,其栅极上被注入电子,源漏极间形成导电沟道,上被注入电子,源漏极间形成导电沟道,管子导通,此时保存的信息为管子导通,此时保存的信息为“0”。狙颤凤专弓效鞋攘涸看失酿斜诫惩遣萌矣劲述挪曰坚虱置藉罚鸭俺盯拇拌第4章存储
31、系统第4章存储系统2007.7.221计算机组成原理2典型芯片的工作原理典型芯片的工作原理(1)芯片简介Intel2716是容量为是容量为2K8位,读出时间在位,读出时间在350ns450ns,有,有24个引脚,采用双列直插式封装的芯片。芯个引脚,采用双列直插式封装的芯片。芯片引脚图如图片引脚图如图4-7所示。各引脚功能如下:所示。各引脚功能如下:Al0A0:地:地址信号输入引脚,可寻址芯片的址信号输入引脚,可寻址芯片的2K个存储单元;个存储单元;O7O0:双向数据信号输入输出引脚;:双向数据信号输入输出引脚;:片选信号输入引脚,低电平有效,只有当该引脚转片选信号输入引脚,低电平有效,只有当该
32、引脚转入低电平时,才能对相应的芯片进行操作;:数据输出入低电平时,才能对相应的芯片进行操作;:数据输出允许控制信号引脚,低电平时允许数据输出;允许控制信号引脚,低电平时允许数据输出;Vcc:+5V电源;电源;VPP:+25V/+5V电源,用于在专用装置上进行写电源,用于在专用装置上进行写操作;操作;GND:接地引脚。:接地引脚。袍破骇椎游饰兜努某雁凋资侵暖演坷董外垂殷京唁玖店圣镁窘冗色嗅棚糠第4章存储系统第4章存储系统2007.7.222计算机组成原理(2)工作原理)工作原理芯片有两个电源输入引脚芯片有两个电源输入引脚VCC和和VPP。引脚。引脚VCC作为芯片电源作为芯片电源引脚,一直接高电平
33、,即引脚,一直接高电平,即VCC1。引脚。引脚VPP用以控制是否对芯片进用以控制是否对芯片进行写操作。当行写操作。当VPP+5V时,不允许对写芯片,但是当时,不允许对写芯片,但是当VPP+25V时时,能对芯片读操作也能进行写操作。其工作原理如下:当,能对芯片读操作也能进行写操作。其工作原理如下:当VPP+5V、且时,允许对读芯片,芯片将地址信号所指定的单元的信息放到输出且时,允许对读芯片,芯片将地址信号所指定的单元的信息放到输出数据线数据线O7O0上;当上;当VPP+5V、时,无论状态如何,芯片都将进、时,无论状态如何,芯片都将进入保持状态,此时不能对芯片进行读写,输出数据线呈高阻状态;当入保
34、持状态,此时不能对芯片进行读写,输出数据线呈高阻状态;当VPP+25V、为持续、为持续50ms的高电平、时,数据线上的信息将被写入的高电平、时,数据线上的信息将被写入到地址信息确定的单元里,此时芯片处于编程写入状态,数据线处于到地址信息确定的单元里,此时芯片处于编程写入状态,数据线处于输入状态;编程完成后,需要验证写入芯片的数据是否正确,因此,输入状态;编程完成后,需要验证写入芯片的数据是否正确,因此,Intel2176芯片还能提供程序校验功能,即当芯片还能提供程序校验功能,即当VPP+25V、时,能、时,能对芯片内的存储单元进行读操作,根据读出的数据判断写入的程序是对芯片内的存储单元进行读操
35、作,根据读出的数据判断写入的程序是否正确;当否正确;当VPP+25V、时,不允许写芯片,此时数据线又将呈、时,不允许写芯片,此时数据线又将呈高阻状态。高阻状态。忱迹灭肮贱渐惫捶羚渺旦烛抹病敛揭藤桑豹柬狈着终擅白闺阶楚舅那息挟第4章存储系统第4章存储系统2007.7.223计算机组成原理4.2.4相联存储器相联存储器相联存储器(相联存储器(associativememory)是一)是一种根据存储内容来进行存取的存储器,也称为按种根据存储内容来进行存取的存储器,也称为按内容访问存储器内容访问存储器(contentaddressedmemory)。)。它跟一般的存储器不同,一般存储器进行读它跟一般的
36、存储器不同,一般存储器进行读写时,需要控制芯片提供读写的单元地址,而相写时,需要控制芯片提供读写的单元地址,而相联存储器则是按顺序写入,根据需要读取的内容联存储器则是按顺序写入,根据需要读取的内容读出。严格地说,相联存储器是一种存取方法,读出。严格地说,相联存储器是一种存取方法,而不是一种存储器。而不是一种存储器。软缴骚噶玲析丛喳菱醉赵翻妮首酋埃鲤挟复网旷巨斜禹庞知胞抚却札累陀第4章存储系统第4章存储系统2007.7.224计算机组成原理任何一个记录都有很多的数据项,如学生的姓名、学任何一个记录都有很多的数据项,如学生的姓名、学号、联系方式等,每个数据项都是不完全相同的,特别是号、联系方式等,
37、每个数据项都是不完全相同的,特别是同一所学校的学生的学号是不可能重复的,因此,在对这同一所学校的学生的学号是不可能重复的,因此,在对这类数据进行读出时,选定一个数据项作为相联关键字来代类数据进行读出时,选定一个数据项作为相联关键字来代表要查找的对象,如学生的学号。读出时,根据中央处理表要查找的对象,如学生的学号。读出时,根据中央处理单元给出的这个相联关键字,用它和存储器中所有单元中单元给出的这个相联关键字,用它和存储器中所有单元中的一部分信息进行比较,如果相等,则将此单元中余下的的一部分信息进行比较,如果相等,则将此单元中余下的信息读出。这是实现存储器并行操作的一种有效途径,特信息读出。这是实
38、现存储器并行操作的一种有效途径,特别适合于信息的检索和更新。现在的大部分数据库都是采别适合于信息的检索和更新。现在的大部分数据库都是采用这种方法实现的。为了进行正确比较,存储器必须设置用这种方法实现的。为了进行正确比较,存储器必须设置一定的机构来实现比较的过程,这些机构包括:比较寄存一定的机构来实现比较的过程,这些机构包括:比较寄存器,屏蔽寄存器,字选择寄存器,查找结果寄存器等。各器,屏蔽寄存器,字选择寄存器,查找结果寄存器等。各寄存器作用如下:寄存器作用如下:舒霉舞投枝盲酚祭务宝征八慑泞艰盆俄拽塑碴湘蝶冒莹又冈漆如庭娶瑰粘第4章存储系统第4章存储系统2007.7.225计算机组成原理(1)比
39、较寄存器用来存放检索字,其位数)比较寄存器用来存放检索字,其位数和相联存储器的存储单元位数相等。和相联存储器的存储单元位数相等。(2)屏蔽寄存器用来存放屏蔽码,其位数)屏蔽寄存器用来存放屏蔽码,其位数和检索寄存位数相同。当按内容进行检索时,相和检索寄存位数相同。当按内容进行检索时,相应地把应地把MR中要比较的位设置成中要比较的位设置成“1”,不要比较,不要比较的设置成的设置成“0”。置。置“1”的字段为关键字段。的字段为关键字段。(3)查找结果寄存器:位数等于相联存储)查找结果寄存器:位数等于相联存储器的存储单元位数,每一位对应一个存储单元,器的存储单元位数,每一位对应一个存储单元,位的序数即
40、为相联存储器的单元地址。若比较结位的序数即为相联存储器的单元地址。若比较结果第果第i个字满足要求,则将第个字满足要求,则将第i位置为位置为“1”,其余,其余的均为的均为“0”。配用品尸瞎撼悉滞咽村琵吠阜桔挨脓喧灵谎霓元尉狼帚钞蛾瘸试那犊预磋第4章存储系统第4章存储系统2007.7.226计算机组成原理(4)字选择寄存器:位数与记录的数据项)字选择寄存器:位数与记录的数据项的数量相同,用以确定哪些字参与检索,参与检的数量相同,用以确定哪些字参与检索,参与检索的则相应位为索的则相应位为“1”,其余的为,其余的为“0”。思考:目前,我们使用的那些存储产品采用思考:目前,我们使用的那些存储产品采用的是
41、半导体存储技术?的是半导体存储技术?滩款遣防蕴惺贵彪很朋诣纶霍跪匠悟座嵌碑歹诊耶镜驾久埠亩愈惕陪湛揍第4章存储系统第4章存储系统2007.7.227计算机组成原理4.3主存储系统主存储器主要有以下几个性能指标:主存储器主要有以下几个性能指标:l存储容量:所谓存储容量即存储器能够保存的数据的存储容量:所谓存储容量即存储器能够保存的数据的数量。常用的单位有数量。常用的单位有GB、MB、KB等。等。1GB=1024MB,1MB=1024KB,1KB=1024B。也可以用乘。也可以用乘积的方式表示,公式为:积的方式表示,公式为:容量字数容量字数字长字长如如1KB可以表示为可以表示为1K8位,位,1MB
42、可以表示为可以表示为1M8位等。位等。l存取速度:所谓存取速度即是单位时间内存储器能读存取速度:所谓存取速度即是单位时间内存储器能读写的位数或字节数。该参数跟存储器的时钟频率有关。写的位数或字节数。该参数跟存储器的时钟频率有关。一般情况下,时钟频率越高,存取速度越快。如果用位一般情况下,时钟频率越高,存取速度越快。如果用位数衡量,常用单位有数衡量,常用单位有Kb/s、Mb/s等;如果用字节数衡量,等;如果用字节数衡量,常用单位有常用单位有KB/s、MB/s等。等。铁炼豁维跑栅涌龚瀑谬滴捐摧暮绕众旬寥惟菊腮腕火财乃道癣嵌轻摧嘉沫第4章存储系统第4章存储系统2007.7.228计算机组成原理l读写
43、周期:所谓读写周期是指读写一位或一读写周期:所谓读写周期是指读写一位或一个字节所需要的时间。该参数与存取速度成反比。个字节所需要的时间。该参数与存取速度成反比。存取速度越快,周期越短,反之亦然。存取速度越快,周期越短,反之亦然。前面我们介绍了几种常用的存储器芯片的结前面我们介绍了几种常用的存储器芯片的结构、电路和工作原理。但是不同的应用场合会对构、电路和工作原理。但是不同的应用场合会对芯片提出不同的要求。现有的芯片往往不能完全芯片提出不同的要求。现有的芯片往往不能完全满足系统的需要,因此如何用现有的芯片来实现满足系统的需要,因此如何用现有的芯片来实现系统的性能要求就成为了存储系统必须解决的重系
44、统的性能要求就成为了存储系统必须解决的重要问题之一。要问题之一。芯片不满足使用的需要主要有以下几个方面:芯片不满足使用的需要主要有以下几个方面:示风皂嘉郭敬拖鹿谦伟很巷瞥穴咒含邻更始勉缔臭擅锚格辈土窑琶枫椎难第4章存储系统第4章存储系统2007.7.229计算机组成原理1位数不够位数不够如系统需要的存储容量为如系统需要的存储容量为128K8位,可选的位,可选的芯片却只有芯片却只有128K1位或者位或者128K4位的芯片。这位的芯片。这种情况下,芯片能够满足种情况下,芯片能够满足128K的要求,而位数却的要求,而位数却不能满足不能满足8位的要求。此时需要对位数进行扩展,位的要求。此时需要对位数进
45、行扩展,即位扩展。即位扩展。烁苇晃燃去摆捧烦替耀帅咯捅粱搓迢抵概橇墟虹漆脊密服锥酒掩裔开笨凤第4章存储系统第4章存储系统2007.7.230计算机组成原理2字数不够字数不够如系统需要的存储容量为如系统需要的存储容量为256K8位,可选位,可选的芯片却只有的芯片却只有64K8位或者位或者128K8位的芯片。位的芯片。这种情况下,芯片能满足这种情况下,芯片能满足8位的要求,但却不能位的要求,但却不能满足容量满足容量256K的要求。此时需要对字进行扩展,的要求。此时需要对字进行扩展,即字扩展。即字扩展。将蔓穗锹袁吟拟挝隧传贤沛拓碰帚锁其敬嫌张枯几坯嘲憎炼抚柴棋躬横来第4章存储系统第4章存储系统200
46、7.7.231计算机组成原理3字数位数均不够字数位数均不够如系统需要的存储容量为如系统需要的存储容量为256K8位,可选位,可选的芯片却只有的芯片却只有64K4位或者位或者128K4位等芯片。位等芯片。这种情况下,芯片既不能满足这种情况下,芯片既不能满足8位的要求,又不位的要求,又不能满足容量能满足容量256K的要求。此时需要对位数和字的要求。此时需要对位数和字同时进行扩展,即字位扩展。同时进行扩展,即字位扩展。当芯片不能直接满足系统需求时,设计者就当芯片不能直接满足系统需求时,设计者就需要对存储器进行扩展。上述三种情况是对存储需要对存储器进行扩展。上述三种情况是对存储器进行扩展时的三种主要情
47、况,因此对存储器的器进行扩展时的三种主要情况,因此对存储器的扩展又主要有位扩展、字扩展和字位扩展。扩展又主要有位扩展、字扩展和字位扩展。励倦秸谁义坍导讽妹祝煌滔市丧拣翠公掩平崖讣鞠决袒湃弱四怔蛤达暂绚第4章存储系统第4章存储系统2007.7.232计算机组成原理值得一提的是,如果发生下述情况:系统需值得一提的是,如果发生下述情况:系统需要的存储容量为要的存储容量为128K8位,可选的芯片只有位,可选的芯片只有256K8位的芯片,这时不需要进行芯片扩展,只位的芯片,这时不需要进行芯片扩展,只需要在编程时仅使用低地址空间即可;系统需要需要在编程时仅使用低地址空间即可;系统需要的存储容量为的存储容量
48、为128K8位,可选的芯片只有位,可选的芯片只有128K16位的芯片,这时也不需要进行芯片扩展,位的芯片,这时也不需要进行芯片扩展,只需要在编程时只使用输出数据的低只需要在编程时只使用输出数据的低8位,高位,高8位位悬空或者置零即可。所以只有当可选芯片的字或悬空或者置零即可。所以只有当可选芯片的字或位不够用时才需要进行芯片扩展。位不够用时才需要进行芯片扩展。取预仑翰泡旋吹佃下聂沟榜敷酷服磷戮勇纵喧肚茎迄瑶吐敝爹吓爪炎分霸第4章存储系统第4章存储系统2007.7.233计算机组成原理4.3.1位扩展位扩展所谓位扩展,就是当单个芯片的容量能满所谓位扩展,就是当单个芯片的容量能满足要求,但是输出位数
49、不满足系统对存储器输出足要求,但是输出位数不满足系统对存储器输出位数的要求时,通过几个芯片同时输出的方式对位数的要求时,通过几个芯片同时输出的方式对存储器的输出位数进行扩展。存储器的输出位数进行扩展。根据前面的介绍,我们知道了何时需要进行根据前面的介绍,我们知道了何时需要进行位扩展,那么如何用位数较少的芯片来扩展位数位扩展,那么如何用位数较少的芯片来扩展位数较多的存储器呢?比如,系统需要的存储容量为较多的存储器呢?比如,系统需要的存储容量为128K8位,可选的芯片却只有位,可选的芯片却只有128K4位的芯片。位的芯片。其扩展过程如下:其扩展过程如下:付澎介汐胖填尹桓财疹镇卵南亏逊钨李牙溃庶区闭
50、果拧腺碾刹攘息伙狂患第4章存储系统第4章存储系统2007.7.234计算机组成原理(1)确定扩展类型:仔细分析系统要求可知,)确定扩展类型:仔细分析系统要求可知,系统需要的容量跟芯片容量刚好相等,但是位数系统需要的容量跟芯片容量刚好相等,但是位数不同,因此我们需要进行位扩展;不同,因此我们需要进行位扩展;(2)需要确定所需芯片的数量,系统要求存)需要确定所需芯片的数量,系统要求存储器每次输出储器每次输出8位数据,而一片芯片每次只能输出位数据,而一片芯片每次只能输出4位,则为了满足系统需求,每次要两片芯片同时位,则为了满足系统需求,每次要两片芯片同时输出,因此在对芯片进行选择时,这两片芯片的输出
51、,因此在对芯片进行选择时,这两片芯片的片选信号和地址线必须相同,实际连接电路时只片选信号和地址线必须相同,实际连接电路时只需要将片选信号和地址线连在一起即可;需要将片选信号和地址线连在一起即可;(3)因为扩展时需要由两个)因为扩展时需要由两个4位组成一个位组成一个8位位进行输出,所以要确定哪进行输出,所以要确定哪4位为高位为高4位,哪位,哪4位为位为低低4位。位。根据以上步骤,可以得出如图根据以上步骤,可以得出如图4-8所示的扩展所示的扩展电路图。电路图。鞋粒碟眩忘埂氧徽帜刀帖执赶破皖清舒瞳判翌蜗厕重捏弯摇苔起档熊渴击第4章存储系统第4章存储系统2007.7.235计算机组成原理垦京当疤目露跃
52、痕纵剩肿柏鄂挚硕晾腑菏谷驮糖门攘疹殖输胃朱描辗糕位第4章存储系统第4章存储系统2007.7.236计算机组成原理图中,两芯片的片选信号、读写控制信号和地图中,两芯片的片选信号、读写控制信号和地址信号连在一起,当系统需要进行读写时,两块址信号连在一起,当系统需要进行读写时,两块芯片将同时工作。现以读地址为芯片将同时工作。现以读地址为1024的单元为例的单元为例介绍扩展后的存储器工作过程:控制芯片将其与介绍扩展后的存储器工作过程:控制芯片将其与片选信号相连的引脚置为低电平;将与读写控制片选信号相连的引脚置为低电平;将与读写控制线相连的引脚置为低电平;将待读取地址线相连的引脚置为低电平;将待读取地址
53、(00100H)通过地址总线传送给存储器,因为两)通过地址总线传送给存储器,因为两块芯片的以上三个信号相同,它们将同时把其块芯片的以上三个信号相同,它们将同时把其1024单元中的地址放到数据线上输出,两组输出单元中的地址放到数据线上输出,两组输出数据线分别连接控制芯片的数据线的高数据线分别连接控制芯片的数据线的高4位和低位和低4位,所以控制器在发出一个读信号后,将收到一位,所以控制器在发出一个读信号后,将收到一组组8位的数据。从而实现了用两片位的数据。从而实现了用两片4位输出芯片扩位输出芯片扩展为一个展为一个8位输出的存储器。位输出的存储器。蝇瓣岔空斋接驰组赚鞠其汽短胀梦健纱耐蒋檄歇无杖舔维憨
54、胶瘫痞蓉阴菜第4章存储系统第4章存储系统2007.7.237计算机组成原理4.3.2字扩展字扩展所谓字扩展,就是当单个芯片输出位数满足所谓字扩展,就是当单个芯片输出位数满足系统要求,而容量不满足要求时,用多个芯片采系统要求,而容量不满足要求时,用多个芯片采用地址分段的方式对存储容量进行扩展,参与扩用地址分段的方式对存储容量进行扩展,参与扩展的每个芯片的地址范围不同。展的每个芯片的地址范围不同。注意:在学习本节内容的过程中,大家一定注意:在学习本节内容的过程中,大家一定要注意字扩展和位扩展方法的不同。要注意字扩展和位扩展方法的不同。峡泽笛妙径送挣辩通堂阜嗣每曰懦忽熬屹娘透墒桐嵌惯别央枫乖梢快瘸化
55、第4章存储系统第4章存储系统2007.7.238计算机组成原理下面用一个例子解释字扩展的方法:系统需下面用一个例子解释字扩展的方法:系统需要的存储容量为要的存储容量为256K8位,可选的芯片只有位,可选的芯片只有64K8位。其扩展的步骤如下:位。其扩展的步骤如下:(1)确定扩展类型分析系统要求可知,芯片输出数据的位数与分析系统要求可知,芯片输出数据的位数与系统需求一致,所以不需要进行位扩展;芯片容系统需求一致,所以不需要进行位扩展;芯片容量只有系统需求的四分之一,所以本例中,为了量只有系统需求的四分之一,所以本例中,为了满足系统需求,需要用多个小容量芯片组成一个满足系统需求,需要用多个小容量芯
56、片组成一个较大容量的存储器,即字扩展。较大容量的存储器,即字扩展。株论鄙滚剿完呢瞎撤衡酵叹晨铸蛮墒蹲奠馅少萨骆咨饱瞳堂肇邢箔陪赂屡第4章存储系统第4章存储系统2007.7.239计算机组成原理(2)确定芯片数量系统需要系统需要256K的容量,如果用的容量,如果用64K的芯片则的芯片则需要需要4片才能满足系统需求。所以本例中,参加片才能满足系统需求。所以本例中,参加扩展的芯片数量为扩展的芯片数量为4。注意:如果实际需要的容量不是芯片容量的注意:如果实际需要的容量不是芯片容量的整数倍,则扩展后的容量不能比系统需要的容量整数倍,则扩展后的容量不能比系统需要的容量小。小。(3)选择合适的扩展方法字扩展
57、时常采用的方法有线选法、数字逻辑字扩展时常采用的方法有线选法、数字逻辑法和译码法。法和译码法。屑洒慢猛绒橙包桔击估够弥诬娃谗得莽蔗熏情煞渭钠锚削劣矮队啸俄癸棱第4章存储系统第4章存储系统2007.7.240计算机组成原理下面分别对以上三种方法进行介绍。下面分别对以上三种方法进行介绍。线选法:所谓线选法就是在产生片选信号(低线选法:所谓线选法就是在产生片选信号(低电平有效)时,不是由几位地址线的组合状态经电平有效)时,不是由几位地址线的组合状态经过运算后得出,而是用直接将控制器的一根地址过运算后得出,而是用直接将控制器的一根地址线与芯片使能端相连。线与芯片使能端相连。线选法是字扩展中最简单的方法
58、,其优点是片线选法是字扩展中最简单的方法,其优点是片选信号的产生过程简单,不容易出现错误。但是选信号的产生过程简单,不容易出现错误。但是由于每个芯片都占用一根地址线,当芯片数量增由于每个芯片都占用一根地址线,当芯片数量增多时要求控制器地址线数量很多,而且此方法会多时要求控制器地址线数量很多,而且此方法会严重浪费控制器的逻辑地址空间,限制了程序的严重浪费控制器的逻辑地址空间,限制了程序的规模。规模。你狰鞭习纪听挪材盾爷觅久云与株撵薛响抡箔倒赣辣摆祖售追扶街拜牺酚第4章存储系统第4章存储系统2007.7.241计算机组成原理采用线选法对上述例子进行字扩展的电路图如采用线选法对上述例子进行字扩展的电
59、路图如图图4-9所示。图中芯片的地址信号都是使用的所示。图中芯片的地址信号都是使用的A15A0这这16位低地址线,但是芯片的片选信号都分位低地址线,但是芯片的片选信号都分别占用了别占用了A16A19中的一根地址线,则每个芯片中的一根地址线,则每个芯片的地址见表的地址见表4-3所示。所示。假设控制器的地址线共有假设控制器的地址线共有20根,即根,即A19A0,寻址空间大小为,寻址空间大小为1M。从上表中我们可以看出,。从上表中我们可以看出,被浪费的地址空间是被浪费的地址空间是00000H6FFFFH、80000HAFFFFH、C0000HCFFFFH和和F0000FFFFFH四个范围,地址空间大
60、小占四个范围,地址空间大小占768K,占控制器寻址空间的,占控制器寻址空间的75,对地址空间造成了,对地址空间造成了严重的浪费,且当系统需求增大时,被浪费的地严重的浪费,且当系统需求增大时,被浪费的地址也无法再被利用。址也无法再被利用。嘱锻拦再其岸匡宙亢谐歹凶殷卖湃井册窍坝稿咬备裹判然合贰昆持纫希帛第4章存储系统第4章存储系统2007.7.242计算机组成原理芯片编号芯片编号A15A0A19A16地址范围地址范围10000HFFFFH1110BE0000HEFFFFH20000HFFFFH1101BD0000HDFFFFH30000HFFFFH1011BB0000HBFFFFH40000HFF
61、FFH0111B70000H7FFFFH驴任邻绪筷彼旭文昨坤杖吱枣给艺叮唁甘郎蘸伍吗灰赐畴掸哟希接沏矿诧第4章存储系统第4章存储系统2007.7.243计算机组成原理倔夺固恬波渐抑爵禁还扼支河浪锗诊磅勇叙涵破扩誓费镐凤挽姿渊龄埠耘第4章存储系统第4章存储系统2007.7.244计算机组成原理为了克服线选法对地址空间的浪费,我们常采为了克服线选法对地址空间的浪费,我们常采用数字逻辑法和译码法进行字扩展。用数字逻辑法和译码法进行字扩展。数字逻辑法:所谓数字逻辑法即用数字逻辑电数字逻辑法:所谓数字逻辑法即用数字逻辑电路对两位高地址进行逻辑运算产生片选信号。路对两位高地址进行逻辑运算产生片选信号。各个
62、芯片的存储单元的地址情况:各个芯片的存储单元的地址情况:256K的容的容量需要量需要18根地址线(根地址线(A17A0),而),而64K的容量需的容量需要要16根地址线,因此只需要从系统的根地址线,因此只需要从系统的18根地址线根地址线中取出低中取出低16位位(A15A0)即可对芯片内的每个存)即可对芯片内的每个存储单元进行寻址,剩余的两位高地址(储单元进行寻址,剩余的两位高地址(A17、A16)有)有4种组合,每一种组合刚好可以用作产生种组合,每一种组合刚好可以用作产生片选信号。每个芯片的地址范围见表片选信号。每个芯片的地址范围见表4-4所示。所示。迪柄省诚睡髓硫吏紧沟锚闯匀铃涝臣盲毡椒训赦
63、抵炊饱嗽景便豫筐备坡朝第4章存储系统第4章存储系统2007.7.245计算机组成原理芯片编号芯片编号地址范围地址范围低低16位地址范位地址范围围(A15A0)高高2位地址位地址(A17A16)100000H0FFFFH0000HFFFFH00B210000H1FFFFH0000HFFFFH01B320000H2FFFFH0000HFFFFH10B430000H3FFFFH0000HFFFFH11B取泉删种之话脂吓如薛廓递毡丑叶芋誊辜裕殃姓虫咱捕尾齿薄姥饮短俯替第4章存储系统第4章存储系统2007.7.246计算机组成原理城磺远篇雹庆忠赤科彬饿宏吊衔坟驶赛免舟此坠储椽豺蚊野嫉装缎虎搂运第4章存储
64、系统第4章存储系统2007.7.247计算机组成原理从上述例子中,我们可以看出:逻辑运算法克从上述例子中,我们可以看出:逻辑运算法克服了线选法的缺点,地址空间的利用率达到了服了线选法的缺点,地址空间的利用率达到了100,同时也节省了两根地址线,所以存储器的容,同时也节省了两根地址线,所以存储器的容量还可以进一步扩展。但是片选信号的产生复杂,量还可以进一步扩展。但是片选信号的产生复杂,容易出现错误。随着扩展时所需芯片数量的增加,容易出现错误。随着扩展时所需芯片数量的增加,电路的复杂性将会成级数方式增加。电路的复杂性将会成级数方式增加。为了达到地址空间为了达到地址空间100的利用率和使用的地的利用
65、率和使用的地址线尽可能少的要求,克服逻辑运算法产生片选址线尽可能少的要求,克服逻辑运算法产生片选信号过程复杂的缺点,实际进行字扩展时常常采信号过程复杂的缺点,实际进行字扩展时常常采用第三种方法,即译码法。用第三种方法,即译码法。窘服迸丸贺吁戏胜痒皖涛制捉潘姜左具身渊新瑟愉僵亏迅酚建汪诫揍液涟第4章存储系统第4章存储系统2007.7.248计算机组成原理译码法:所谓译码法就是对几根地址线的组合译码法:所谓译码法就是对几根地址线的组合状态用译码器译码后产生片选信号。其原理与逻状态用译码器译码后产生片选信号。其原理与逻辑运算法类似,不同之处在于片选信号的产生方辑运算法类似,不同之处在于片选信号的产生
66、方法,逻辑运算法是对地址状态经过组合逻辑电路法,逻辑运算法是对地址状态经过组合逻辑电路运算后得出片选信号,而译码法则是用译码器译运算后得出片选信号,而译码法则是用译码器译码产生。码产生。根据参与译码的地址线的数量,可以将译码法根据参与译码的地址线的数量,可以将译码法分为:完全译码法和部分译码法。完全译码法是分为:完全译码法和部分译码法。完全译码法是指所有地址线状态都作为译码器输入的方法。部指所有地址线状态都作为译码器输入的方法。部分译码法是指部分地址线状态作为译码器输入的分译码法是指部分地址线状态作为译码器输入的方法。方法。曲努丘寸衬粉枪馋折醛蕴腔砧矛唱拿隋磁坪健凳龙营花桐隙世弓椒额峻漱第4章
67、存储系统第4章存储系统2007.7.249计算机组成原理译码法进行字扩展时,各芯片的地址空间跟译码法进行字扩展时,各芯片的地址空间跟逻辑运算法的芯片地址空间一样,如表逻辑运算法的芯片地址空间一样,如表4-5所示,所示,因此只需要对两位地址通过因此只需要对两位地址通过2-4译码器译码,即译码器译码,即可产生可产生4块芯片需要的片选信号,所以采用的译块芯片需要的片选信号,所以采用的译码方法是部分译码法,芯片扩展后的电路图如图码方法是部分译码法,芯片扩展后的电路图如图4-11所示。所示。翼振颠竭悔滞拜匡虑傀己汤谬本诚森纤敞妒咋同咋块淬依菌揉素蹿刊嗓旗第4章存储系统第4章存储系统2007.7.250计
68、算机组成原理诸讨凭耍驴贡睫帚依妈滇弄蜗衷碴零飘痴苍队士煤裂禾舌患祈驶毁笑粳轴第4章存储系统第4章存储系统2007.7.251计算机组成原理与逻辑运算法相比,译码法产生片选信号时,用与逻辑运算法相比,译码法产生片选信号时,用译码器替代了复杂的数字组合逻辑电路。片选信号的译码器替代了复杂的数字组合逻辑电路。片选信号的产生简单明了,不容易出现错误,更降低了成本。产生简单明了,不容易出现错误,更降低了成本。译码法不仅继承了逻辑运算法的优点、克服了逻译码法不仅继承了逻辑运算法的优点、克服了逻辑运算法的缺点,还方便存储容量再次扩展。比如:辑运算法的缺点,还方便存储容量再次扩展。比如:现在需要将系统容量从现
69、在需要将系统容量从256K提高到提高到512K,译码法只,译码法只需要将需要将2-4译码器更改为译码器更改为3-8译码器,然后将译码器输译码器,然后将译码器输出与各芯片片选引脚相连即可;而采用逻辑运算时,出与各芯片片选引脚相连即可;而采用逻辑运算时,需要重新计算每个片选信号与地址输入信号的关系,需要重新计算每个片选信号与地址输入信号的关系,然后根据此关系式选择正确的门电路画出组合逻辑电然后根据此关系式选择正确的门电路画出组合逻辑电路图,最后将每个组合逻辑电路的输出与各芯片片选路图,最后将每个组合逻辑电路的输出与各芯片片选信号相连。因此,译码法是较方便且不容易出错的字信号相连。因此,译码法是较方
70、便且不容易出错的字扩展方法。扩展方法。佑瘸破删辐挫饭史剐耘铆垫渺和桐芬倦旷应痈炳摧恬长灾旭棺歌矿涕蛋譬第4章存储系统第4章存储系统2007.7.252计算机组成原理4.3.3字位扩展字位扩展所谓字位扩展,就是当单个芯片的输出位所谓字位扩展,就是当单个芯片的输出位数和容量同时不满足系统要求时,用多个芯片数和容量同时不满足系统要求时,用多个芯片结合位扩展和字扩展的方法对存储器进行扩展。结合位扩展和字扩展的方法对存储器进行扩展。在实际芯片扩展时,常常会需要用到这种扩展。在实际芯片扩展时,常常会需要用到这种扩展。妥缕雨静绒疚跋臂谭票嚎奸芹谩江大溃迎泪懂杠怪瑰亡血蝉绕腥亨泄涣彝第4章存储系统第4章存储系
71、统2007.7.253计算机组成原理例子:如系统需要的存储容量为例子:如系统需要的存储容量为256K8位,位,可选的芯片容量只有可选的芯片容量只有128K4位。在这种情况下,位。在这种情况下,存储器需要一次输出存储器需要一次输出8位,而芯片却只能一次输位,而芯片却只能一次输出出4位,需要进行位扩展;存储器要求容量为位,需要进行位扩展;存储器要求容量为256K,而芯片容量却只有,而芯片容量却只有128K,需要进行字扩,需要进行字扩展。扩展过程中,需要用到位扩展的方法,也会展。扩展过程中,需要用到位扩展的方法,也会用到字扩展的方法。扩展步骤如下:用到字扩展的方法。扩展步骤如下:磐猖酋涪城周冲篷迂抖
72、驳海肝义吁因祥辩淑贱婴谐帘皆碟酷粉谰弗汐蔽挡第4章存储系统第4章存储系统2007.7.254计算机组成原理(1)位扩展:根据位扩展的原理,此处需)位扩展:根据位扩展的原理,此处需要两个芯片同时输出才能满足系统对位数的要求,要两个芯片同时输出才能满足系统对位数的要求,因此,连接电路时,这两块芯片的片选引脚必须因此,连接电路时,这两块芯片的片选引脚必须接同一个片选信号,保证两块芯片同时被选中。接同一个片选信号,保证两块芯片同时被选中。农医岁腑淮剑困牵悼区谋睡句炮执云攒事激衣胃傈荒援妈咒源拭楞拯关定第4章存储系统第4章存储系统2007.7.255计算机组成原理(2)字扩展:位扩展时,虽然是两块)字扩
73、展:位扩展时,虽然是两块128K的芯片同时工作,但是存储器容量仍然是的芯片同时工作,但是存储器容量仍然是128K,只是输出变成了,只是输出变成了8位,构成了位,构成了128K8位的芯片。位的芯片。因此要构成因此要构成256K8位的存储器,必须先将两块位的存储器,必须先将两块芯片构成一组,此时,这一组芯片可以当成一个芯片构成一组,此时,这一组芯片可以当成一个128K8位的芯片使用,然后由两组芯片组成系位的芯片使用,然后由两组芯片组成系统需要的存储器。此处只需要两组就可以达到要统需要的存储器。此处只需要两组就可以达到要求,所以片选信号产生时,没有用到译码器,而求,所以片选信号产生时,没有用到译码器
74、,而选择了一个非门;如果需要多组,则需要通过译选择了一个非门;如果需要多组,则需要通过译码芯片产生片选信号。码芯片产生片选信号。(3)连接数据输出线。)连接数据输出线。字位扩展后的电路图如图字位扩展后的电路图如图4-12所示。所示。基佃蓝酞路泛毋引衅荡勾冕只折丑窗忱死巩头豺惯逼肉漾恶聋穴潦檄哗柏第4章存储系统第4章存储系统2007.7.256计算机组成原理耽肥坝娃述睹诛首斯袭坦同觅禹举蛀肄牛赴始秆芬形篡系拢简域沪秩渗鸡第4章存储系统第4章存储系统2007.7.257计算机组成原理电路中的电路中的4块芯片从左向右编号分别为块芯片从左向右编号分别为1、2、3、4,其中,其中1、2号芯片构成一组,号
75、芯片构成一组,3、4号芯片号芯片构成一组。从图中,我们可以看见每组芯片输构成一组。从图中,我们可以看见每组芯片输出都是出都是8位,地址线位,地址线A16A0能对组内能对组内128K的的地址范围进行寻址。地址范围进行寻址。A17作为片选信号,当作为片选信号,当A17为低电平时,芯片为低电平时,芯片1、2被选中,当被选中,当A17为高电平为高电平时,芯片时,芯片3、4被选中。因此,芯片被选中。因此,芯片1、2构成的构成的芯片组地址范围是芯片组地址范围是00000H1FFFFH,2、3构构成的芯片组地址范围是成的芯片组地址范围是20000H3FFFFH。殖慕卉拘窍粘渤肌煤碑爹数芜彤父苫腑期猪蒋样另蔗
76、些往漳盈寓乓袍拥焕第4章存储系统第4章存储系统2007.7.258计算机组成原理综上所述,可以得到以下结论,假定系统综上所述,可以得到以下结论,假定系统需要的存储容量为需要的存储容量为MN位,可选的存储芯片容位,可选的存储芯片容量只有量只有xy位(位(xM,yN),此时需要在字向),此时需要在字向和位向同时进行扩展,共需(和位向同时进行扩展,共需(M/x)(N/y)块存储芯片。块存储芯片。思考:假如计算机存储系统中单片思考:假如计算机存储系统中单片ROM容容量为量为4K8,单片,单片RAM容量为容量为8K8,请设计计,请设计计算机存储系统电路图,要求算机存储系统电路图,要求ROM为为16KB,
77、RAM容量为容量为64KB。演佐赦边阵怀酿暴肄亢己骏刚乘烩痕湿纸蓑楼院粒忆尼檬胃校爸葫抬茸糠第4章存储系统第4章存储系统2007.7.259计算机组成原理4.4 高速缓冲存储器Cache4.4.1Cache基本原理基本原理1设置设置Cache的必要性的必要性计算机有两个核心器件,一个内存,另外一计算机有两个核心器件,一个内存,另外一个则是个则是CPU。二者是否能较好配合,将直接影响。二者是否能较好配合,将直接影响计算机性能。早期的计算机性能。早期的CPU跟内存的速度相差不多,跟内存的速度相差不多,但是随着计算机硬件技术的发展,但是随着计算机硬件技术的发展,CPU的速度提的速度提高的比内存快,现
78、在内存和高的比内存快,现在内存和CPU的读写速度相差的读写速度相差23个数量级。如果仅仅依靠内存给个数量级。如果仅仅依靠内存给CPU传输数传输数据,那么据,那么CPU可能会长时间等待,降低资源利用可能会长时间等待,降低资源利用率。所以,必须对二者速度进行匹配。率。所以,必须对二者速度进行匹配。揉牌渔傀仿兢衙废财诛闸熊称茶灯晾映啦丢戌查餐数汪投暗日假姻轿溯央第4章存储系统第4章存储系统2007.7.260计算机组成原理匹配内存和匹配内存和CPU的速度有以下三个方法:的速度有以下三个方法:(1)降低)降低CPU速度;(速度;(2)采用高速的)采用高速的SRAM作作为内存的存储器;(为内存的存储器;
79、(3)根据程序执行的局部性原)根据程序执行的局部性原理,在二者之间设置一定的缓冲器。显然,第一理,在二者之间设置一定的缓冲器。显然,第一个方法降低了计算机性能,不可能采用;第二个个方法降低了计算机性能,不可能采用;第二个方法需要用价格昂贵的方法需要用价格昂贵的SRAM来制作容量高达几来制作容量高达几百兆的内存,成本过高。因此第三个方法则呈了百兆的内存,成本过高。因此第三个方法则呈了现代计算机的首选方法。现代计算机的首选方法。裕遁帧晋堑习掷蜘拾镑看炭屿脊峡睬怨泡歇真缨善苇试斩岩渗楞硷委甩豆第4章存储系统第4章存储系统2007.7.261计算机组成原理实际的计算机系统中,常常在实际的计算机系统中,
80、常常在CPU和内存间和内存间设置一个容量不大(常常为几十至几百设置一个容量不大(常常为几十至几百K)但是)但是速度跟速度跟CPU速度相同的速度相同的Cache作为缓冲器,把正作为缓冲器,把正在执行的指令代码单元附近的一部分指令代码或在执行的指令代码单元附近的一部分指令代码或数据存入数据存入Cache中,中,CPU需要数据时,直接从需要数据时,直接从Cache中读取,这种方法解决了速度不匹配的问中读取,这种方法解决了速度不匹配的问题,又不会大幅度增加成本。题,又不会大幅度增加成本。睹衡峡赫负熬墙歧堕荚糜晓扬烬诫憋幽蛊欲乌趾悸冤怠弧左挖污枪样盎干第4章存储系统第4章存储系统2007.7.262计算
81、机组成原理2.基本原理基本原理Cache又叫高速缓存,是高速缓冲存储器(又叫高速缓存,是高速缓冲存储器(CacheMemory)的简称。作为一种存储器,)的简称。作为一种存储器,Cache有一定的存有一定的存储空间,但储空间,但Cache的主要作用不是进行数据存储,所以其的主要作用不是进行数据存储,所以其存储空间较小。根据存储空间较小。根据Cache所处位置的不同,可以将所处位置的不同,可以将Cache分为一级分为一级Cache和二级和二级Cache。与。与CPU集成在同一集成在同一块芯片中的是一级块芯片中的是一级Cache(简称(简称L1Cache),其容量常),其容量常常为几十常为几十KB
82、几百几百KB;不与;不与CPU集成在同一块芯片中的集成在同一块芯片中的是二级是二级Cache(简称(简称L2Cache),其容量常常为几百),其容量常常为几百KB2MB。目前市场上比较高档的。目前市场上比较高档的CPU常常配有常常配有512KB、1MB或者或者2MB的的Cache。配置了配置了Cache的的CPU和内存之间的存储结构如图和内存之间的存储结构如图4-13所示。所示。覆来伯页般嵌股崇叹塘犀郴溶雄搭揉豺典束汁奠预坝刊订贯求瑟抄侨礁巢第4章存储系统第4章存储系统2007.7.263计算机组成原理橱访幻抽局庚甫酣惯拢区潮福扔揭恤湾摘劲异巴饥兽婴友愤膝劝瑶岛陀里第4章存储系统第4章存储系统
83、2007.7.264计算机组成原理在在Cache控制器的作用下,控制器的作用下,CPU首先访问首先访问Cache,如其需要的数据在,如其需要的数据在Cache中,则直接访中,则直接访问问Cache即可,否则再访问内存。如果设置了即可,否则再访问内存。如果设置了L2Cache,则系统将按照,则系统将按照L1Cache、L2Cache、内、内存的顺序访问。值得注意的是:存的顺序访问。值得注意的是:Cache不能被用不能被用户直接访问,用户不能使用户直接访问,用户不能使用Cache地址进行编程。地址进行编程。慰和疮潭休蔼权闹地曙井赤店宦迂蔡参豪廊斟嚣爷毙沛米弹迂蜜棺娇衣敬第4章存储系统第4章存储系统
84、2007.7.265计算机组成原理Cache一般由一般由SRAM、TRAM和控制器组成。和控制器组成。其中,其中,SRAM提供存储空间,提供存储空间,它的容量即为它的容量即为Cache的容量;的容量;TRAM保存保存Cache中的数据在主中的数据在主存中的地址;控制器则是实现比较和控制存中的地址;控制器则是实现比较和控制Cache的读写操作等功能。当的读写操作等功能。当CPU需要内存中某一地址需要内存中某一地址的数据时,控制器首先将该地址信号与的数据时,控制器首先将该地址信号与TRAM中中的地址进行比较,如果找到相同的地址,说明内的地址进行比较,如果找到相同的地址,说明内存中的数据在存中的数据
85、在Cache中,则中,则CPU直接访问直接访问Cache,否则,否则CPU将访问内存。当将访问内存。当CPU所需要的数据没所需要的数据没有在有在Cache中时,控制器还要完成对中时,控制器还要完成对Cache的修的修改,将内存中的数据读取到改,将内存中的数据读取到Cache中,以保证中,以保证Cache命中率尽可能高,提高数据访问速度。命中率尽可能高,提高数据访问速度。窃杯巡躲束鼻基邵褂咏脉翘踪稠弛疑寝莆虑约廊您浓浇斟忱忙梧重党沉丧第4章存储系统第4章存储系统2007.7.266计算机组成原理4.4.2地址映像地址映像Cache作为作为CPU和内存间的缓冲存储器,和内存间的缓冲存储器,理想情况
86、下,应该保证理想情况下,应该保证CPU每次需要访问的数据每次需要访问的数据都在都在Cache中。但是,用户程序却是按照内存地中。但是,用户程序却是按照内存地址编写的,址编写的,Cache所做的工作是在所做的工作是在CPU访问内存访问内存前,根据程序执行的局部性原理,先将内存中的前,根据程序执行的局部性原理,先将内存中的数据读出,当数据读出,当CPU需要时再提供给它。所以,需要时再提供给它。所以,“Cache所保存的数据到底是内存中的哪些数据,所保存的数据到底是内存中的哪些数据,地址是什么?地址是什么?”就成了关键性问题。这一问题实就成了关键性问题。这一问题实际上也是际上也是Cache的存储空间
87、与内存之间的地址映的存储空间与内存之间的地址映像问题。像问题。弛雄警额蓉樱儡增浑伊叛沼郁尿轰甫咸银轰针乒挑跺毫识越眉闹驶臀杉契第4章存储系统第4章存储系统2007.7.267计算机组成原理常用的地址映像方式有三种:全相联映像、常用的地址映像方式有三种:全相联映像、直接映像和组相联映像。直接映像和组相联映像。1全相联映像全相联映像所谓全相联映像是指将内存和所谓全相联映像是指将内存和Cache按找固按找固定的相同的大小进行分块。内存的块和定的相同的大小进行分块。内存的块和Cache的的块可以任意对应,即内存的任何一块都可以映像块可以任意对应,即内存的任何一块都可以映像到到Cache的任何一块,在的
88、任何一块,在Cache的存储空间被占的存储空间被占满的情况下,也允许确实已被占满的满的情况下,也允许确实已被占满的Cache存储存储器中替换出任何一个旧块。器中替换出任何一个旧块。款郭锡手舀虾惜颈缺伐絮切站糊兹岛填昧美轻抢疗母钨哉彝承澄规兹锑侨第4章存储系统第4章存储系统2007.7.268计算机组成原理这种映像方式的优点是映像过程灵活,块冲这种映像方式的优点是映像过程灵活,块冲突率低,只有在突率低,只有在Cache中的块全部装满后才会出中的块全部装满后才会出现冲突,现冲突,Cache利用率高。缺点是块表查找的速利用率高。缺点是块表查找的速度慢,由于度慢,由于Cache的速度要求高,全部比较和
89、替的速度要求高,全部比较和替换策略都要用硬件实现,控制复杂,实现起来也换策略都要用硬件实现,控制复杂,实现起来也比较困难,成本高。比较困难,成本高。全相联映像方式下内存与全相联映像方式下内存与Cache对应的对应对应的对应关系如图关系如图4-14所示:所示:昭泣脾嘶切挛鲁邹胚采沁洞汀存疆嘱危漫遂滨易迂辟哎徒驭犬押铰拐赠质第4章存储系统第4章存储系统2007.7.269计算机组成原理耪褪汀版莎啤献董爪祝滚悔凡世仆左墒餐易兼急了秋描藩丘狰港含赫距动第4章存储系统第4章存储系统2007.7.270计算机组成原理2直接映像直接映像跟全相联映像一样,直接映像先将跟全相联映像一样,直接映像先将Cache分
90、成分成若干块,每个块的大小相同,并对每个块进行编若干块,每个块的大小相同,并对每个块进行编号,同时根据号,同时根据Cache容量大小将内存分成若干页,容量大小将内存分成若干页,每个页的容量都跟每个页的容量都跟Cache的容量相同,然后对内的容量相同,然后对内存进行分块,每块的大小跟存进行分块,每块的大小跟Cache块的大小相同,块的大小相同,同样对页内的块进行编号。映像时,内存的某个同样对页内的块进行编号。映像时,内存的某个页的块只能保存在与其块号相同的内存块中。例页的块只能保存在与其块号相同的内存块中。例如,如图如,如图4-15所示,内存各页中的第所示,内存各页中的第0块只能映像块只能映像到
91、到Cache的第的第0块,而不能映像到其他块。块,而不能映像到其他块。遁纠赔浩喂挺蔑甭唆堤盈帚谷哥界扣赘圾炉瓜巡斥矾瞪初姨配孩枢唱眯病第4章存储系统第4章存储系统2007.7.271计算机组成原理要驳农佑瘦茹不末魂噬峪郴坠弘铂傲川歇厨誉拙硝粗峙盯秀衍爹瓣负勋略第4章存储系统第4章存储系统2007.7.272计算机组成原理直接映像的优点是地址变换简单、速度快,直接映像的优点是地址变换简单、速度快,缺点是映像不灵活,块冲突率较高,缺点是映像不灵活,块冲突率较高,Cache命中命中率低,特别是程序需要在两个页的相同块号的块率低,特别是程序需要在两个页的相同块号的块之间往返执行时,之间往返执行时,Ca
92、che命中率将降得非常低。命中率将降得非常低。群驱虑桌舆猎党飞襟去唤猛阵辰腾遏腋侯做砧巴胁缸许入怔萌咕汐弊尖杉第4章存储系统第4章存储系统2007.7.273计算机组成原理3组相联映像组相联映像为了解决直接映像的冲突问题,组相联映像为了解决直接映像的冲突问题,组相联映像方式,先将方式,先将Cache分成大小相同的若干区,一般分成大小相同的若干区,一般分为分为2个或个或4个区,对每个区按照直接映像的方式个区,对每个区按照直接映像的方式进行分块,并且编号,因此,进行分块,并且编号,因此,Cache中有多个编中有多个编号相同的块。对内存按照号相同的块。对内存按照Cache区的大小进行分区的大小进行分
93、页,再对每页按照页,再对每页按照Cache块的大小进行分块,每块的大小进行分块,每个内存块可以对应不同个内存块可以对应不同Cache区中的相同块号的区中的相同块号的块。例如,图块。例如,图4-16中内存第中内存第0页的第页的第0块,可以对块,可以对应应Cache的第的第0区的第区的第0块,也可以对应第块,也可以对应第j区的第区的第0块。块。谜唆粤谅振憋镁幻埠眺实渴苞豺章辆蜒溯峪痈阶败壳刑堰磨奏苫陡欲蛔霖第4章存储系统第4章存储系统2007.7.274计算机组成原理组相联映像的减小了直接映像方式下的页组相联映像的减小了直接映像方式下的页冲突问题,提高了冲突问题,提高了Cache的命中率,且的命中
94、率,且Cache的容量越大,分区的数量越多,命中率越高,的容量越大,分区的数量越多,命中率越高,但是这中映像方式控制电路复杂。但是这中映像方式控制电路复杂。值得注意的是,如果只对值得注意的是,如果只对Cache分分1个区时,个区时,则组相联映像就是直接映像,因此,直接映像则组相联映像就是直接映像,因此,直接映像是组相联映像的一种特殊情况。是组相联映像的一种特殊情况。冷褒绍庐克迁疯必地惫哑将忧幂兵骤瞪膏里汛访试翟称富雁疟汀眶车殿乘第4章存储系统第4章存储系统2007.7.275计算机组成原理妙臻琶方晤餐完拙建凌锤更说谎挖裁旱步删绎匆珍春嘿澡应坷椒鳃尘尺飘第4章存储系统第4章存储系统2007.7.
95、276计算机组成原理4.4.3替换策略及更新策略替换策略及更新策略1.替换策略替换策略不管采用何种映像方式,内存的每个块都对不管采用何种映像方式,内存的每个块都对应应Cache的某一个块。但是的某一个块。但是Cache容量远小于内容量远小于内存容量,不能将内存的所有块全部保存。因此,存容量,不能将内存的所有块全部保存。因此,如果需要往如果需要往Cache中调入一个新块,且中调入一个新块,且Cache已已经被占满时,就需要将经被占满时,就需要将Cache中的某一个块调出,中的某一个块调出,而将新块调入而将新块调入Cache,这个过程就是替换。,这个过程就是替换。吴秆袜挞岗首嘉胰蔗三獭柞翼肃乖问蛛
96、智茬臃斌验书袁尺酒弊凌谈慎驻线第4章存储系统第4章存储系统2007.7.277计算机组成原理采用不同的替换策略,将很大程度上影响采用不同的替换策略,将很大程度上影响Cache的命中率。常用的替换策略有:的命中率。常用的替换策略有:l随机替换法:任意选择一个随机替换法:任意选择一个Cache块,将其块,将其调出。调出。l先进先出先进先出(FIFO)策略:替换出最先进入策略:替换出最先进入Cache的块的块l近期最少使用近期最少使用(LRU)策略:这种替换策略需策略:这种替换策略需随时记录随时记录Cache存储器中各个字块的使用情况,存储器中各个字块的使用情况,以便确定哪个字块是近期最少使用的字块
97、。以便确定哪个字块是近期最少使用的字块。这三种策略的算法将在这三种策略的算法将在4.5节中介绍,这里不节中介绍,这里不再赘述。再赘述。掖妊潘讲心震洞邯又钦仿磕境隧贷孩巢蕴镀擒疾青首刃籽叭露眯懈犊斡仇第4章存储系统第4章存储系统2007.7.278计算机组成原理2.更新策略更新策略当内存数据被修改时,与之对应的当内存数据被修改时,与之对应的Cache的的数据也需要相应修改,这个过程就是更新。但是,数据也需要相应修改,这个过程就是更新。但是,进行修改时,进行修改时,Cache无法向无法向CPU提供数据,因此提供数据,因此修改修改Cache的时机相当重要。常用的更新策略有:的时机相当重要。常用的更新
98、策略有:戴嘻豁障助哈武屉浅颜诊岂倘肾购雨寸棋修副怯列滋酮穆驼桃约决后顶光第4章存储系统第4章存储系统2007.7.279计算机组成原理l及时更新策略:修改内存的同时对及时更新策略:修改内存的同时对Cache进行进行修改。修改。l周期更新策略:对周期更新策略:对Cache的修改周期进行,修的修改周期进行,修改周期到的时候,无论内存数据是否改变,都将改周期到的时候,无论内存数据是否改变,都将Cache数据更新为与内存相同的数据。数据更新为与内存相同的数据。l执行时更新策略:当执行时更新策略:当CPU需要某个需要某个Cache块块的数据时,将此块与内存中与之对应的块进行比的数据时,将此块与内存中与之
99、对应的块进行比较,二者不相同时,对较,二者不相同时,对Cache进行更新。进行更新。思考:目前市场上主流微处理器(思考:目前市场上主流微处理器(CPU)和最)和最新技术的微处理器(新技术的微处理器(CPU)的)的Cache的容量分别是的容量分别是多少?多少?菜印洱佐诌智喀业试眶啪匙压觉苛罢荤劣擎沼快钎菩越堡港事风揪鄂权跑第4章存储系统第4章存储系统2007.7.280计算机组成原理4.5 虚拟存储系统程序要运行,需要程序要运行,需要CPU运算,而在计算机存储中,运算,而在计算机存储中,CPU只能从内存中读取数据,因此要运行的程序必须首先只能从内存中读取数据,因此要运行的程序必须首先进入内存。此
100、时,如果程序运行所需要的内存容量大于计进入内存。此时,如果程序运行所需要的内存容量大于计算机配置的内存容量,则程序无法运行。而当前,很多的算机配置的内存容量,则程序无法运行。而当前,很多的计算机软件对内存的需求都大于实际的内存容量,如果不计算机软件对内存的需求都大于实际的内存容量,如果不采用一定的方法对内存进行扩充,则计算机的应用范围将采用一定的方法对内存进行扩充,则计算机的应用范围将受到很大限制。在受到很大限制。在4.3节中,我们学习了如何依靠芯片数量节中,我们学习了如何依靠芯片数量的增加来增大存储器容量的方法,能在一定程度上解决系的增加来增大存储器容量的方法,能在一定程度上解决系统容量的问
101、题,但是芯片数量的增加必然导致成本的急剧统容量的问题,但是芯片数量的增加必然导致成本的急剧提高。因此如何在现有的存储容量基础上,通过对程序进提高。因此如何在现有的存储容量基础上,通过对程序进出内存的方法进行设计以提高存储器利用率,让计算机能出内存的方法进行设计以提高存储器利用率,让计算机能运行比自身内存大得多的程序便成了首要任务,于是虚拟运行比自身内存大得多的程序便成了首要任务,于是虚拟技术便应运而生。技术便应运而生。是摧煽洒瑞匿亭傲鲸衣的御凄痘牵越蝴堪抗叔阑绊阉翱柬庞钩没谋产道截第4章存储系统第4章存储系统2007.7.281计算机组成原理所谓虚拟存储,就是采用一定的方法将一定所谓虚拟存储,
102、就是采用一定的方法将一定的外存容量模拟成内存,同时对程序进出内存的的外存容量模拟成内存,同时对程序进出内存的方式进行管理,从而得到一个比实际内存容量大方式进行管理,从而得到一个比实际内存容量大得多的内存空间,使得程序的运行不受内存大小得多的内存空间,使得程序的运行不受内存大小的限制。的限制。虚拟存储方法的实现依赖于程序的特性:虚拟存储方法的实现依赖于程序的特性:沾麻署知垃振鲸超署珠媚钵陋傻蜂迁杖虞锥侍沂氮很陨锄患局丛蹬颊锋葬第4章存储系统第4章存储系统2007.7.282计算机组成原理l顺序性。所谓程序的顺序性,是指程序运行顺序性。所谓程序的顺序性,是指程序运行过程中,如果要运行第过程中,如果
103、要运行第N1行语句,则大多数情行语句,则大多数情况下需要先运行第况下需要先运行第N行语句,即程序是在顺序执行语句,即程序是在顺序执行。行。l局部性。为了减小程序的规模,很多的程序局部性。为了减小程序的规模,很多的程序设计语言都会设计循环结构,如设计语言都会设计循环结构,如C语言中的语言中的for语语句和句和while语句就是典型的循环语句,程序在执行语句就是典型的循环语句,程序在执行这类循环语句时,程序的执行范围就限定在循环这类循环语句时,程序的执行范围就限定在循环体中,而不会执行循环体外的语句。执行的语句体中,而不会执行循环体外的语句。执行的语句限定在很小的范围内,即在局部范围内执行,这限定
104、在很小的范围内,即在局部范围内执行,这种情况经常会发生,这就是程序的局部性。种情况经常会发生,这就是程序的局部性。硼赠匪慈费豫裹蓄返蹈粱棠祭馁斋含潘迫忘管序瘩师及俏魁绒垢狄神昭莽第4章存储系统第4章存储系统2007.7.283计算机组成原理根据程序的以上两个特性,需要运行的程序根据程序的以上两个特性,需要运行的程序不需要完全进入内存也可运行。具体方法如下:不需要完全进入内存也可运行。具体方法如下:根据程序的顺序性和局部性原理,如果将程序分根据程序的顺序性和局部性原理,如果将程序分成几块,当前面一个块快运行结束时再将下一个成几块,当前面一个块快运行结束时再将下一个块调入内存,则程序的执行将不会受
105、到影响,而块调入内存,则程序的执行将不会受到影响,而且程序所需要的内存容量也将变小。且程序所需要的内存容量也将变小。本节的几种虚拟存储实现的方法都是基于这本节的几种虚拟存储实现的方法都是基于这一原理。一原理。弘年琅炒淄林恶谈傲八袒聂妇怀侥司郡闰埔纬勘矮灌郴心沿茫近慧譬歹屹第4章存储系统第4章存储系统2007.7.284计算机组成原理4.5.1页式存储系统页式存储系统在学习页式存储方法之前,我们先了解一下最在学习页式存储方法之前,我们先了解一下最简单的两种存储器分配方式。简单的两种存储器分配方式。1.单一连续分配单一连续分配在单道环境下,计算机只允许一个作业运行,在单道环境下,计算机只允许一个作
106、业运行,此时所有的计算机资源被该作业独占,包括存储此时所有的计算机资源被该作业独占,包括存储器。所谓单一,是指此方式下,计算机只为一个器。所谓单一,是指此方式下,计算机只为一个作业分配存储空间。所谓连续,是指出了操作系作业分配存储空间。所谓连续,是指出了操作系统占用的存储空间外,剩余的内存空间将全部分统占用的存储空间外,剩余的内存空间将全部分配给作业,因此作业占用的存储空间不间断。其配给作业,因此作业占用的存储空间不间断。其内存分配情况图内存分配情况图4-17所示。所示。蝎翻厚讼穷吃磺视埂窥弄忻塑蛆诌澄计极您冰死斑侦蓑证要闽测检鳞虹坯第4章存储系统第4章存储系统2007.7.285计算机组成原
107、理拓贵吃焙咨撼朝吏珍昨淆着节锈那锁烯月祈纹柏触沈券吭嗽诬磋阮葡屠沃第4章存储系统第4章存储系统2007.7.286计算机组成原理系统运行必须要操作系统统一管理,因此尽管系统运行必须要操作系统统一管理,因此尽管计算机只运行一个作业,也要将操作系统运行的计算机只运行一个作业,也要将操作系统运行的内存空间留出来。但是不管操作系统是如图内存空间留出来。但是不管操作系统是如图4-17(a)一样占据低地址空间,还是如图)一样占据低地址空间,还是如图4-17(b)一样占据高地址空间,作业所占的地址都)一样占据高地址空间,作业所占的地址都是连续的,而且除操作系统占用的那一部分内存是连续的,而且除操作系统占用的
108、那一部分内存外,剩余的所有内存空间均被作业独占。这种分外,剩余的所有内存空间均被作业独占。这种分配方式很容易造成内存空间的浪费。因为作业的配方式很容易造成内存空间的浪费。因为作业的大小跟剩余空间的大小往往不相等。如图大小跟剩余空间的大小往往不相等。如图4-17的的两个图所示,内存容量为两个图所示,内存容量为128KB,操作系统占用,操作系统占用32KB,剩余空间内存,剩余空间内存96KB。如果作业大小为。如果作业大小为20KB,则剩余,则剩余76KB的存储空间在该作业退出系的存储空间在该作业退出系统前将不会被利用。统前将不会被利用。侠馈恭极兆源淫翁综见态栋职玩夯蔬言航纶跃棺炔迢舆勃茅膘肄斗抱甲
109、疫第4章存储系统第4章存储系统2007.7.287计算机组成原理为了解决单一分配时的空间浪费问题,在给为了解决单一分配时的空间浪费问题,在给作业分配存储空间之前,先将剩余空间分成若干作业分配存储空间之前,先将剩余空间分成若干区域,各区域大小可以相同也可以不同,然后再区域,各区域大小可以相同也可以不同,然后再根据作业的需要进行分配,即分区分配。根据作业的需要进行分配,即分区分配。苑烤颂酌威铜狞力酣税现桑粟刀邱宗往何胖字椽兢插党悬戏葬衣攘骚介畜第4章存储系统第4章存储系统2007.7.288计算机组成原理2分区分配分区分配根据分区分配时,区域的大小是否固定,分根据分区分配时,区域的大小是否固定,分
110、区分配又可以分为固定分区分配和可变分区分配。区分配又可以分为固定分区分配和可变分区分配。(1)固定分区分配。)固定分区分配。所谓固定分区分配,是指先将内存分成若干所谓固定分区分配,是指先将内存分成若干固定区域,区域大小一经确定将永远不再改变,固定区域,区域大小一经确定将永远不再改变,每个作业占用一个区域。每个作业占用一个区域。皑乐帖赔敞册纲蛀馒磊茬亭出也睁豪晃饼贾灭俩碉杀耽苦绕酱懈矫秒沉尾第4章存储系统第4章存储系统2007.7.289计算机组成原理分区过程中,要给作业分配内存,必须首先要分区过程中,要给作业分配内存,必须首先要知道哪些分区是空闲(未分配)的,这些空闲区知道哪些分区是空闲(未分
111、配)的,这些空闲区的容量是多大。因此系统需要设置一种表格来纪的容量是多大。因此系统需要设置一种表格来纪录这些信息,常常采用的方法是分区分配表。录这些信息,常常采用的方法是分区分配表。为了满足正常分配的要求,分区分配表应该包为了满足正常分配的要求,分区分配表应该包含每个分区的起始地址、大小和分配情况等信息。含每个分区的起始地址、大小和分配情况等信息。分配前,系统先查找分区分配表,如果能找到一分配前,系统先查找分区分配表,如果能找到一个满足作业要求的的分区,则将此分区分配给作个满足作业要求的的分区,则将此分区分配给作业。在固定分区中,分区分配表直接决定了是否业。在固定分区中,分区分配表直接决定了是
112、否能正确给各作业分配存储空间,所以为了保证分能正确给各作业分配存储空间,所以为了保证分区的正确性,需要随时更新分区分配表的信息。区的正确性,需要随时更新分区分配表的信息。袖垮泣肾磷洱洒栗务泻俭专赎生测为禁蚌锨虑扁骤鳖扇肇倍畔银途碴洁宴第4章存储系统第4章存储系统2007.7.290计算机组成原理常用的分区方法一般有两种:最佳适应法和常用的分区方法一般有两种:最佳适应法和最先适应法。所谓最佳适应法,是指在给作业分最先适应法。所谓最佳适应法,是指在给作业分配空间时,首先遍查分区分配表找到一个能满足配空间时,首先遍查分区分配表找到一个能满足作业要求的最小分区分配给该作业。而最先适应作业要求的最小分区
113、分配给该作业。而最先适应法则是指在分区时,按地址从低到高查找分区分法则是指在分区时,按地址从低到高查找分区分配表,将找到的第一个能满足作业运行要求的分配表,将找到的第一个能满足作业运行要求的分区分配给作业。流程图分别如图区分配给作业。流程图分别如图4-20和图和图4-21所所示示学瘦有绰琅冠远拆刀巴恃骑畅锻竭陈页整服攀逻携汗靶旱瑟事尘捻旗睫版第4章存储系统第4章存储系统2007.7.291计算机组成原理俭武哗虱酥剥饲祁赤脯包诵篡侣铃搭狮雅募赴蒲廓惊泉规踢留汤犯揉山他第4章存储系统第4章存储系统2007.7.292计算机组成原理卤节撇诫陇菩谱怠奥粹笆胯鞠犯搜鸥兴杀巍纽励菲降污促嘶服闸现酣皑代第4
114、章存储系统第4章存储系统2007.7.293计算机组成原理假如在图假如在图4-19(a)所示的情况下,又有一个)所示的情况下,又有一个需要需要23KB运行空间的作业运行空间的作业3进入内存。如果采用进入内存。如果采用最佳适应法进行分配,则通过查找分区分配表可最佳适应法进行分配,则通过查找分区分配表可知:能满足该作业要求的分区的序号分别为知:能满足该作业要求的分区的序号分别为2、3和和5,三个分区的大小分别为,三个分区的大小分别为30KB、25KB和和35KB,很显然分区,很显然分区3是容量最小的分区,则系统是容量最小的分区,则系统将此分区分配给作业将此分区分配给作业3,同时将其分配状态和标,同
115、时将其分配状态和标志分别修改为已分配和作业志分别修改为已分配和作业3。如果采用最先适。如果采用最先适应算法进行分配,在查找分区分配表时,找到的应算法进行分配,在查找分区分配表时,找到的第一个能满足作业要求的分区是分区第一个能满足作业要求的分区是分区2,则将该,则将该分区分配给作业分区分配给作业3,同时跟最佳适应法一样修改,同时跟最佳适应法一样修改分区分区2对应的分配情况和标志。对应的分配情况和标志。木爽拯哈笑哗糊廉讨掸压差嫩坎嗡部卸英呸谁距颅恬戊但旧栅锤候冉铅姑第4章存储系统第4章存储系统2007.7.294计算机组成原理从上述分区过程中,我们不难看出,最佳适应法给作业从上述分区过程中,我们不
116、难看出,最佳适应法给作业分配的空间是最合适作业运行的空间,这就是分配的空间是最合适作业运行的空间,这就是“最佳最佳”的原的原因,但是分配的速度较慢,在分配前系统要查找分区分配表因,但是分配的速度较慢,在分配前系统要查找分区分配表的所有表项,然后才能找到最佳的分区,随着内存容量的增的所有表项,然后才能找到最佳的分区,随着内存容量的增大、分区的增多,此查找过程所需要的时间将会很长;而最大、分区的增多,此查找过程所需要的时间将会很长;而最先适应算法分配空间的速度最快,不需要查找所有的表项,先适应算法分配空间的速度最快,不需要查找所有的表项,但是最先适应算法容易造成空间的浪费,如前所述,给作业但是最先
117、适应算法容易造成空间的浪费,如前所述,给作业3分配的分区为分区分配的分区为分区2,根据固定分区的思想,该分区的剩余,根据固定分区的思想,该分区的剩余空间不能在分配给其他作业,则作业空间不能在分配给其他作业,则作业2占用的空间为占用的空间为30KB,浪费的空间为浪费的空间为7KB,如果再有一个,如果再有一个28KB的作业进入系统,的作业进入系统,则势必将作业则势必将作业5分配给该作业,又再次造成分配给该作业,又再次造成7KB的空间浪费,的空间浪费,降低了存储空间的利用率。因此,无论采用那种分配方式,降低了存储空间的利用率。因此,无论采用那种分配方式,固定分区都不能完全满足系统对速度和空间利用率的
118、要求。固定分区都不能完全满足系统对速度和空间利用率的要求。胞海橙铅印贪哮摧易草驰筷递梧蹦沤俩存清蹄募砒践戮忘痢摆荒莆犹树靶第4章存储系统第4章存储系统2007.7.295计算机组成原理(2)可变分区分配)可变分区分配所谓可变分区分配是指先不给内存分区,给所谓可变分区分配是指先不给内存分区,给作业分配时,根据作业运行时对内存的需要再从作业分配时,根据作业运行时对内存的需要再从剩余空间中分出一部分给该作业。经过一段时间剩余空间中分出一部分给该作业。经过一段时间的分配后内存也将分为若干区域,因此,在可变的分配后内存也将分为若干区域,因此,在可变分区中也需要设置分区分配表。分区中也需要设置分区分配表。
119、氯豌忻箔伊惦程虏肥乍沼活墟东迅必亥脉哥哪越颠梦极变旱柞器调缨根价第4章存储系统第4章存储系统2007.7.296计算机组成原理假设内存容量为假设内存容量为256KB,有以下申请和释放,有以下申请和释放内存的操作顺序:作业内存的操作顺序:作业1申请申请20KB,作业,作业2申请申请30KB,作业,作业3申请申请40KB,作业,作业4申请申请30KB,作,作业业1释放释放20KB,作业,作业3释放释放40KB。则其内存的分。则其内存的分布情况如下所述。布情况如下所述。当当4个作业申请完内存之后,内存分布情况个作业申请完内存之后,内存分布情况如图如图4-22(a)所示,跟固定分区一样,为了对内)所示
120、,跟固定分区一样,为了对内存进行有效地管理,每次分区后也将对分区分配存进行有效地管理,每次分区后也将对分区分配表进行修改,从而得到图表进行修改,从而得到图4-22(b)所示的分区)所示的分区分配表。分配表。挥模籽兹赵遁累嚼力超纂强谜霞沂伏靶菌趾滴惋凰削男侵僧冶商粘派吴切第4章存储系统第4章存储系统2007.7.297计算机组成原理20KB(作业(作业1)30KB(作业(作业2)40KB(作业(作业3)30KB(作业(作业4)136KB靶屈朵曾旨乌钡馋熔元崇罢嫌下禾出柑冯缄撼锭眶啦儒丽皂库埠膜奋灾市第4章存储系统第4章存储系统2007.7.298计算机组成原理分区序号分区序号 起始地址起始地址(
121、K)分区大小分区大小(KB)分配状态分配状态标志标志1020已分配已分配作业作业122030已分配已分配作业作业235040已分配已分配作业作业349030已分配已分配作业作业45120136未分配未分配0格孔焙秋惧闸粳囤乍樟藕囊丽患溶嘿荔试息水缉逻韦阅又损煽柱今董谆瑰第4章存储系统第4章存储系统2007.7.299计算机组成原理与固定分区时的分区情况相同,给作业分配与固定分区时的分区情况相同,给作业分配空间后,内存都被分成了很多大小不同的分区。空间后,内存都被分成了很多大小不同的分区。但是他们的区别是:但是他们的区别是:每个分区的大小的确定方法不同。固定分区每个分区的大小的确定方法不同。固定
122、分区中每个分区的大小在给作业分配之前就已经确定中每个分区的大小在给作业分配之前就已经确定好了,而可变分区中每个分区的大小是在分配时好了,而可变分区中每个分区的大小是在分配时根据作业的大小确定。根据作业的大小确定。空闲分区不同。固定分区中,空闲区要按分空闲分区不同。固定分区中,空闲区要按分区前的分区大小分成几个空闲区,而可变分区中,区前的分区大小分成几个空闲区,而可变分区中,空闲分区可能是一个连续的区域。空闲分区可能是一个连续的区域。作业作业1和作业和作业3释放空间后的内存分配情况和释放空间后的内存分配情况和分区分配表如图分区分配表如图4-23所示。所示。颈甚号景召慨飘胖被袒肖搭姻拌外踏归弛悔共
123、吠负闲造数课谆死岔崩口炼第4章存储系统第4章存储系统2007.7.2100计算机组成原理20KB30KB(作业(作业2)40KB30KB(作业(作业4)136KB洲恿投蜒畴炒哇揪擦邱观矣娩羽捷面建恬乏此扶蔽炽眺甭梆近豪下摇浸妒第4章存储系统第4章存储系统2007.7.2101计算机组成原理分区序号分区序号 起始地址起始地址(K)分区大小分区大小(KB)分配状态分配状态标志标志1020未分配未分配022030已分配已分配作业作业235040未分配未分配049030已分配已分配作业作业25120136未分配未分配0剂逸孕叠弓死锹麻包玄赊烂衙差藩幢唾锋学耙涪瘸击问元懊繁休障杏两袭第4章存储系统第4章
124、存储系统2007.7.2102计算机组成原理图图4-23(a)所示的分区情况如果不加以修改,则)所示的分区情况如果不加以修改,则会出现以下两种情况:会出现以下两种情况:如果还有一个需要如果还有一个需要140KB的运行空间的作业的运行空间的作业5进入进入系统。此时剩余空闲区的总和为系统。此时剩余空闲区的总和为196KB,比作业所需要,比作业所需要的空间大,但是因此时的空闲空间被分成了三个区,每的空间大,但是因此时的空闲空间被分成了三个区,每个区都不足以给作业个区都不足以给作业5分配,从而导致作业分配,从而导致作业5无法运行。无法运行。如果还有一个需要如果还有一个需要38KB的运行空间的作业的运行
125、空间的作业6进入系进入系统,则系统将会从统,则系统将会从40KB空闲空间中分出空闲空间中分出38KB分配给作分配给作业业6,产生,产生2KB的剩余空间,但是因为空间太小,这的剩余空间,但是因为空间太小,这2KB的剩余空间可能无法满足任何作业的运行需求,从的剩余空间可能无法满足任何作业的运行需求,从而成为而成为“碎片碎片”。系统进行多次内存分配后,碎片问题。系统进行多次内存分配后,碎片问题将会越来越严重,导致内存空间被浪费,降低内存的利将会越来越严重,导致内存空间被浪费,降低内存的利用率。用率。勇雨谗皇币忱酗绷按寸级铲崇磐砌献炳渴痊玩贴滤嘎姆镶讲泥赞机探快蝇第4章存储系统第4章存储系统2007.
126、7.2103计算机组成原理因此,在采用可变分区方式的系统中,常常会因此,在采用可变分区方式的系统中,常常会采用以下方法来解决上述两个问题:采用以下方法来解决上述两个问题:(1)移动。如果内存中,有多段不连续的空闲区域,则将分配区域向低地址方向或高地址方向移动,使得空闲区域构成一个连续的区域。移动后,图4-23所示的内存分配将变成图4-24所示的内存分配情况。托碱仑汪侣裁乌弯菇蓑勤猜冲缔朗觉怖题册喜质摊稍俞庚钵础努六弯漏拢第4章存储系统第4章存储系统2007.7.2104计算机组成原理30KB(作业(作业2)30KB(作业(作业4)20KB40KB136KB裳晦曲簧辱蒙蛋闺髓酷吠削欺毖呕稗锭婶塞
127、揉载迢合撤表愉考拾搪锄蚤泳第4章存储系统第4章存储系统2007.7.2105计算机组成原理分区序号分区序号起始地址起始地址(K)分区大小分区大小(KB)分配状态分配状态标志标志1030已分配已分配作业作业223030已分配已分配作业作业436020未分配未分配048040未分配未分配05120136未分配未分配0皖骇怕躲点县昔失烹缅考惑刻逗愚苇糖渡耿提刹七抹李刷拉话允排师扶严第4章存储系统第4章存储系统2007.7.2106计算机组成原理(2)合并。将空闲区域合并成一个较大的空闲区域。以便再次分配,满足作业要求。合并后的分区情况如图合并后的分区情况如图4-25所示。所示。30KB(作业(作业2
128、)30KB(作业(作业4)206KB桩皇婴试判原喻鸵烟辽炯夕县韩咋万走锻菏喜佳炮城寡付誉胜摄慷山卧忍第4章存储系统第4章存储系统2007.7.2107计算机组成原理分区序号分区序号 起始地址起始地址(K)分区大小分区大小(KB)分配状态分配状态标志标志1030已分配已分配作业作业223030已分配已分配作业作业4360206未分配未分配0伙越胰向菜柱等咯翘乎铅凛私闸拥兴饰焉挟蚁蜡曰旷刹刹笨舒缘炕戎描醉第4章存储系统第4章存储系统2007.7.2108计算机组成原理经过移动和合并之后,内存的所有不连续的小经过移动和合并之后,内存的所有不连续的小的空闲区组成了一个连续的大的空闲区,保证后的空闲区组
129、成了一个连续的大的空闲区,保证后面进入系统的作业能正常分配空间。面进入系统的作业能正常分配空间。然而,这种方法在能解决碎片问题和空闲区不然而,这种方法在能解决碎片问题和空闲区不连续的问题的同时,会产生一个新的问题,即移连续的问题的同时,会产生一个新的问题,即移动时机的选择问题。对内存进行整体移动所需要动时机的选择问题。对内存进行整体移动所需要花费的时间非常长,移动过程中,花费的时间非常长,移动过程中,CPU将停止工将停止工作。所以,如果移动时机选择不当,将会严重影作。所以,如果移动时机选择不当,将会严重影响系统性能。响系统性能。前面介绍的几种分区分配方式,都有自己的优前面介绍的几种分区分配方式
130、,都有自己的优点和不足,分配方法也各不相同,但是他们有一点和不足,分配方法也各不相同,但是他们有一个共同点,就是:一个作业占用一段连续的内存个共同点,就是:一个作业占用一段连续的内存空间,当空闲空间比作业运行所需要的空间小时,空间,当空闲空间比作业运行所需要的空间小时,作业将无法进入系统。作业将无法进入系统。桅恫喂浩矢瘩桶峙剧凿锋给彩常衔篱渊绚攻往滞记针执汗郑婶唬讯悼陡炔第4章存储系统第4章存储系统2007.7.2109计算机组成原理3.分页虚拟存储分页虚拟存储在可变分区分配中,为了解决空闲区不连续问在可变分区分配中,为了解决空闲区不连续问题而采用了移动作业的内存空间的方法,系统开题而采用了移
131、动作业的内存空间的方法,系统开销非常大,而且采用的方法是让硬件适应软件的销非常大,而且采用的方法是让硬件适应软件的方法。其实解决上述问题的也可以从另一方面入方法。其实解决上述问题的也可以从另一方面入手,那就是让软件去适应硬件。这里所说的软件手,那就是让软件去适应硬件。这里所说的软件是作业,硬件是内存。既然移动内存需要花费很是作业,硬件是内存。既然移动内存需要花费很多多CPU时间,那就将作业划分为几个部分,每个时间,那就将作业划分为几个部分,每个部分存在一个空闲区域中,这样,要保存一个较部分存在一个空闲区域中,这样,要保存一个较大的作业就不需要找到一个比作业空间大的空闲大的作业就不需要找到一个比
132、作业空间大的空闲空间,而只需要多个空闲块的容量之和大于作业空间,而只需要多个空闲块的容量之和大于作业容量即可。容量即可。牙者靳到胞毋离赘皿我拍担响罚匀吴耶瀑壹涌缔编醋去贵鸭猫伤个乙瞳孔第4章存储系统第4章存储系统2007.7.2110计算机组成原理为了方便内存管理,人们首先想到的是将作为了方便内存管理,人们首先想到的是将作业按统一的大小划分成多个业按统一的大小划分成多个“页页”,同时也将内,同时也将内存按页面大小划分成若干个存按页面大小划分成若干个“物理块物理块”(简称(简称“块块”),并对页和块按地址从低到高的顺序编号。),并对页和块按地址从低到高的顺序编号。分配内存时,因为页的大小与块的大
133、小相同,所分配内存时,因为页的大小与块的大小相同,所以每个页就对应一个块。此时,只要剩余块的数以每个页就对应一个块。此时,只要剩余块的数量不小于作业页的数量,则不需要作业占用的所量不小于作业页的数量,则不需要作业占用的所有块地址都连续。也就不需要将内存的所有空闲有块地址都连续。也就不需要将内存的所有空闲区域移动到一起了。区域移动到一起了。阀押概啦笆矿舅缘樊悉俏戈矛历亮脾菏忙屠扬罗互碎崇稗节剂奏姚溪咨无第4章存储系统第4章存储系统2007.7.2111计算机组成原理采用分页存储能用不连续的存储空间存储采用分页存储能用不连续的存储空间存储作业,但是也将引出新的问题,那就是如何让作业,但是也将引出新
134、的问题,那就是如何让页的逻辑关系不变,即当前面的页运行完的时页的逻辑关系不变,即当前面的页运行完的时候,如何寻找下一个应该运行的页。为了解决候,如何寻找下一个应该运行的页。为了解决这一问题,在分页存储中,需要一种新的数据这一问题,在分页存储中,需要一种新的数据结构结构页表。页表。页表的结构见表页表的结构见表4-6所示。所示。夷撒竹民见气钒村稗贞胞迢陵高其尧榆方挡袭段宦惜尼枝忱凝甚抒虏薯回第4章存储系统第4章存储系统2007.7.2112计算机组成原理页号页号块号块号010145250325415辕扫牲崇蠢佐漾蛛磅绷巩跑校繁蹿舶耙吃隘胸窘赚哄铃猿炳兔验取黑削尚第4章存储系统第4章存储系统2007
135、.7.2113计算机组成原理页表的每一行就是一个页面的信息,分为两项,第一页表的每一行就是一个页面的信息,分为两项,第一项是页号,第二项是该页对应的块。作业执行时,项是页号,第二项是该页对应的块。作业执行时,所有程序和数据必须从内存块中取得。因此在执行某所有程序和数据必须从内存块中取得。因此在执行某一个块的程序前,系统按页号从低到高的顺序查找页一个块的程序前,系统按页号从低到高的顺序查找页表,根据页表的记录找到该页对应的物理块,进而执表,根据页表的记录找到该页对应的物理块,进而执行块中的程序和数据。分页时是按逻辑地址进行的,行块中的程序和数据。分页时是按逻辑地址进行的,页的顺序就是程序执行的先
136、后顺序,因此,尽管将一页的顺序就是程序执行的先后顺序,因此,尽管将一个作业分成很多页,作业的执行顺序也不会受到影响。个作业分成很多页,作业的执行顺序也不会受到影响。然而,程序员是按照逻辑地址编程,程序却是按照其然而,程序员是按照逻辑地址编程,程序却是按照其物理地址执行,因此,在分页式存储管理系统中,逻物理地址执行,因此,在分页式存储管理系统中,逻辑地址是否能转换为正确的物理地址,将直接影响作辑地址是否能转换为正确的物理地址,将直接影响作业执行的正确性。业执行的正确性。逻辑地址结构如图逻辑地址结构如图4-26所示。所示。页号页号页内地址页内地址丛敝阻秋异扔事的貉绦梢啮缀墒腾昧枫狗柄贪酶裸惊咕譬原
137、措肿爆柒董锤第4章存储系统第4章存储系统2007.7.2114计算机组成原理作业页的大小和物理块的大小相同,在地址作业页的大小和物理块的大小相同,在地址转换时,页内地址可以直接作为块内地址。但是,转换时,页内地址可以直接作为块内地址。但是,页号和物理块号并不能一一对应,如表页号和物理块号并不能一一对应,如表4-6中,中,0号页面对应于号页面对应于10号块,号块,1号页面对应于号页面对应于45号块等号块等等,因此不能用页号直接访问物理块。因为页表等,因此不能用页号直接访问物理块。因为页表记录这页与块的对应关系,所以作业执行时,系记录这页与块的对应关系,所以作业执行时,系统需要经常通过访问页表将逻
138、辑地址转换为物理统需要经常通过访问页表将逻辑地址转换为物理地址。其过程如图地址。其过程如图4-27所示。所示。己钧歹骄性迸察捧部臆寺蛊瓦扶俊桌档廓秃膏唾贾沃姆凄绅何弃柄甘松侦第4章存储系统第4章存储系统2007.7.2115计算机组成原理培桂朗店闯萤编杀蝶解警侈仕搽辫捉恃皑坚循膨挺峭月激诲撤缕秦幅柯吐第4章存储系统第4章存储系统2007.7.2116计算机组成原理分页系统虽然克服了前面几种分区方法的分页系统虽然克服了前面几种分区方法的缺点,很好地克服了碎片问题,但是系统的空缺点,很好地克服了碎片问题,但是系统的空闲物理块数量必须不小于作业的页数量时,否闲物理块数量必须不小于作业的页数量时,否则
139、作业也将无法运行。根据程序的顺序性和局则作业也将无法运行。根据程序的顺序性和局部性原理,程序要执行并不需要所有的页面同部性原理,程序要执行并不需要所有的页面同时进入内存,只需要正在运行或马上即将运行时进入内存,只需要正在运行或马上即将运行的页面在内存中即可,即只允许少量页面进入的页面在内存中即可,即只允许少量页面进入内存,作业一样能运行。其中最简单可行的办内存,作业一样能运行。其中最简单可行的办法就是请求分页存储系统。法就是请求分页存储系统。刚裂收姨荡断沥脖陪芒赂谷槽面敏伪的绚逼惕凤润阐衷蘑肋渝狱饥拢搏址第4章存储系统第4章存储系统2007.7.2117计算机组成原理4.请求分页虚拟存储请求分
140、页虚拟存储所谓所谓“请求请求”,是指不将作业的所有页同时放入内存,是指不将作业的所有页同时放入内存,而是作业在运行过程中需要某个页时,如果该页没有在内而是作业在运行过程中需要某个页时,如果该页没有在内存中,则请求中断,让系统将该页从外存放入内存。因此,存中,则请求中断,让系统将该页从外存放入内存。因此,在给作业分配空间时,不需要按作业的页数分配物理块,在给作业分配空间时,不需要按作业的页数分配物理块,而是只给作业分配少量的物理块,然后通过一定的置换机而是只给作业分配少量的物理块,然后通过一定的置换机制实现用少量的物理块运行较大的作业。所谓制实现用少量的物理块运行较大的作业。所谓“置换置换”是是
141、指当作业需要某个没有在内存中的页时,如果系统分配给指当作业需要某个没有在内存中的页时,如果系统分配给作业的几个物理块已经全部被占满,则根据一定的算法将作业的几个物理块已经全部被占满,则根据一定的算法将内存中的页面调到外存,而将马上要运行的页调入内存。内存中的页面调到外存,而将马上要运行的页调入内存。比如:系统分配给某作业三个物理块,此三个物理块分别比如:系统分配给某作业三个物理块,此三个物理块分别保存作业的保存作业的2、4和和6号页,当作业需要运行号页,当作业需要运行5号页时,因为号页时,因为系统分配给该作业的三个块已经被占满,则需要从系统分配给该作业的三个块已经被占满,则需要从2、4和和6号
142、页中选择淘汰一个,将其调出内存,而将号页中选择淘汰一个,将其调出内存,而将5号页面放入号页面放入内存运行。如果置换算法设计不当,则页将会频繁地调入内存运行。如果置换算法设计不当,则页将会频繁地调入调出内存,增大系统开销,降低系统性能,特别是调出内存,增大系统开销,降低系统性能,特别是“颠簸颠簸”问题的存在,给置换算法提出了很高的要求。问题的存在,给置换算法提出了很高的要求。漫茎罚诞颁熊陕姜竖肝茅磺抿踏锗帅颐括趋鞠庸石臃禁柿精游蚊塌瓶吉缚第4章存储系统第4章存储系统2007.7.2118计算机组成原理“颠簸颠簸”是指刚调出内存的页,由于马上又是指刚调出内存的页,由于马上又运行,则需要重新将此页面
143、调入内存。所以选择运行,则需要重新将此页面调入内存。所以选择何种置换算法将直接影响请求分页虚拟存储的性何种置换算法将直接影响请求分页虚拟存储的性能。常用的页面置换算法主要有:先进先出置换能。常用的页面置换算法主要有:先进先出置换算法、最久不用置换算法和最近最久未用置换算算法、最久不用置换算法和最近最久未用置换算法。法。辩位展逆卿嵌喇母喷举钾赌去枯荆逢擦诞楼扒衍谋右赵陆现唾笆瞧术域恐第4章存储系统第4章存储系统2007.7.2119计算机组成原理(1)先进先出置换算法)先进先出置换算法采用先进先出(采用先进先出(FIFO)置换算法,淘汰的页是)置换算法,淘汰的页是最先进入内存的页最先进入内存的页
144、先进先出置换算法利用了队列的特点得以实现。先进先出置换算法利用了队列的特点得以实现。队列就是一种先进先出的数据结构,最先进入队列队列就是一种先进先出的数据结构,最先进入队列的元素排在队首,第二进来的元素排在队首后面,的元素排在队首,第二进来的元素排在队首后面,依此类推,最后进入的队列的元素排在队尾。不管依此类推,最后进入的队列的元素排在队尾。不管队列中的元素如何变化,队首元素永远是队列所有队列中的元素如何变化,队首元素永远是队列所有元素中最先进入的,因此在采用队列的方法时,要元素中最先进入的,因此在采用队列的方法时,要淘汰一个页面的时候只需要将队首元素淘汰,此时淘汰一个页面的时候只需要将队首元
145、素淘汰,此时第二个元素将成为新的队首元素,然后将作业需要第二个元素将成为新的队首元素,然后将作业需要的新页放在队尾位置,如此循环就可以实现新老页的新页放在队尾位置,如此循环就可以实现新老页的替换。的替换。彭定奥舷旺梧猖猫达乏官彼结僻粳凝胡骚掘农募殃牙矩再膝示践襄屠香促第4章存储系统第4章存储系统2007.7.2120计算机组成原理置换过程中要注意缺页和置换发生的时机。置换过程中要注意缺页和置换发生的时机。缺页是在作业要执行的页没有在内存中时发生,缺页是在作业要执行的页没有在内存中时发生,跟系统分配给作业的几个块是否被占满无关。而跟系统分配给作业的几个块是否被占满无关。而置换则是在作业要执行的页
146、没有在系统中,且分置换则是在作业要执行的页没有在系统中,且分配给作业的块已经被占满的时候发生。本例中的配给作业的块已经被占满的时候发生。本例中的前前3个页进入内存时,内存块没有被占满,所以只个页进入内存时,内存块没有被占满,所以只发生了缺页,没有发生置换;后面的新页进入内发生了缺页,没有发生置换;后面的新页进入内存时,内存块已经被占满,所以将同时发生缺页存时,内存块已经被占满,所以将同时发生缺页和置换。和置换。当然,实现当然,实现FIFO还有其他方法,不过用队列还有其他方法,不过用队列实现实现FIFO,方法简单、不容易出错,建议读者熟,方法简单、不容易出错,建议读者熟悉此方法。悉此方法。陵垃救
147、潭哗批喂叁键蛾酵鉴赦卉闯柬斗涧愿瓜诱巫厦费寸绊帕胡挛眠穿椽第4章存储系统第4章存储系统2007.7.2121计算机组成原理(2)最久不用置换算法)最久不用置换算法FIFO置换算法中,置换的页是最先进入内存置换算法中,置换的页是最先进入内存的页,这种方法虽然实现简单,但是性能却并不的页,这种方法虽然实现简单,但是性能却并不好,容易出现好,容易出现“颠簸颠簸”现象。现象。理论上,在相同的页面使用顺序时,最久不用理论上,在相同的页面使用顺序时,最久不用置换算法是性能最好的算法,但是,实际上,作置换算法是性能最好的算法,但是,实际上,作业执行过程中,很难确定页的使用顺序,也就无业执行过程中,很难确定页
148、的使用顺序,也就无法确定内存中的哪个页为将来最久不会使用的页,法确定内存中的哪个页为将来最久不会使用的页,因此该算法是无法实现的。因此该算法是无法实现的。襄涎杂肠袜蚤体豆年拿肺侯峙侨沃娟赁膝沁蓉墅豺料规降独擎越蔓叛辙徊第4章存储系统第4章存储系统2007.7.2122计算机组成原理(3)最近最久未用置换算法()最近最久未用置换算法(LeastRecentlyUsed,LRU)FIFO置换算法虽然实现起来非常简单,但是置换算法虽然实现起来非常简单,但是性能较差;最久不用置换算法性能最好,但是无性能较差;最久不用置换算法性能最好,但是无法实现。在实际使用时,这两种算法都很少使用,法实现。在实际使用
149、时,这两种算法都很少使用,经常使用的是最近最近未用置换算法。经常使用的是最近最近未用置换算法。滑姬斋笋拂潭琅客恶吃坤枫屯芹川省属瓶栋系沤哆贬缨僻鲸歧喂在教脓桐第4章存储系统第4章存储系统2007.7.2123计算机组成原理根据程序执行的顺序性和局部性,当一个页根据程序执行的顺序性和局部性,当一个页刚刚被使用过,则该页被再次使用的几率较高;刚刚被使用过,则该页被再次使用的几率较高;相反,越早使用过的页,被再次使用的几率越低。相反,越早使用过的页,被再次使用的几率越低。最近最久未用算法就是基于作业的这一特性设计最近最久未用算法就是基于作业的这一特性设计的。的。最近最久未用置换算法在进行页面置换时,
150、最近最久未用置换算法在进行页面置换时,总是将处于内存的几个页中,最后一次使用时间总是将处于内存的几个页中,最后一次使用时间距离当前时间最久的那一个页淘汰。在用该算法距离当前时间最久的那一个页淘汰。在用该算法进行页面置换时,必须首先要确定哪个页是最后进行页面置换时,必须首先要确定哪个页是最后被使用的。被使用的。衡朴效件搀矮乙衰切饱妥瘤唇勒芽颂僻览德盒蚊搬娃颗蘸樱扳距馆姥淑跺第4章存储系统第4章存储系统2007.7.2124计算机组成原理4.5.2段式虚拟存储段式虚拟存储通过前面的学习,我们知道,页式虚拟存储因通过前面的学习,我们知道,页式虚拟存储因为页的大小跟物理块的大小相同,所以很大程度上为页
151、的大小跟物理块的大小相同,所以很大程度上解决了存储管理的碎片问题。但是按照固定的大小解决了存储管理的碎片问题。但是按照固定的大小对作业进行分页,往往会破坏作业本身的逻辑结构,对作业进行分页,往往会破坏作业本身的逻辑结构,因为现在的程序大都按其功能分为很多的子程序,因为现在的程序大都按其功能分为很多的子程序,而子程序的大小各不相同,更不会是刚好页大小的而子程序的大小各不相同,更不会是刚好页大小的整数倍,所以如果单纯对作业进行分页,则有的页整数倍,所以如果单纯对作业进行分页,则有的页可能会包含有一个子程序的结尾部分和另外一个页可能会包含有一个子程序的结尾部分和另外一个页的开始部分。这就完全破坏了程
152、序的模块化。然而的开始部分。这就完全破坏了程序的模块化。然而模块化思想解决软件危机的最基本的思想,编程序模块化思想解决软件危机的最基本的思想,编程序时要注意程序模块化,存储管理时更要注意保持子时要注意程序模块化,存储管理时更要注意保持子程序的完整性。程序的完整性。冈旗戳苑涸宦崎短寓戎罗硫体澄真癣富贸簇贺杰贤馈次满容地辉瘁磁菏佳第4章存储系统第4章存储系统2007.7.2125计算机组成原理1.分段原理分段原理程序模块化的最基本的思想是为每一个功能程序模块化的最基本的思想是为每一个功能都编制一段程序,比如学生学籍管理系统可以分都编制一段程序,比如学生学籍管理系统可以分为数据输入、数据维护、用户检
153、索等功能,不同为数据输入、数据维护、用户检索等功能,不同功能由不同的模块完成,模块间可能会互相调用。功能由不同的模块完成,模块间可能会互相调用。为了保证程序的正常执行和模块间的正确调用,为了保证程序的正常执行和模块间的正确调用,每一个模块都必须有自己的标识符,系统也可以每一个模块都必须有自己的标识符,系统也可以通过标识符区分不同功能的模块,因此可以用模通过标识符区分不同功能的模块,因此可以用模块所完成的功能对模块进行命名,将模块名作为块所完成的功能对模块进行命名,将模块名作为标识符,并对各模块进行编号。标识符,并对各模块进行编号。坦祷稽究危疙饮玲融褒党榆傍橙皿仅焦委茵废呛萤咎谁骨陷量啃狙郝御洋
154、第4章存储系统第4章存储系统2007.7.2126计算机组成原理程序的每一个模块都可以作为一个段,模块程序的每一个模块都可以作为一个段,模块的编号可以作为段的编号。为了对模块内的语句的编号可以作为段的编号。为了对模块内的语句进行正确寻址,也需要有一个段内地址。因此,进行正确寻址,也需要有一个段内地址。因此,分段存储管理下,地址结构如图分段存储管理下,地址结构如图4-32所示。所示。段号段号段内地址段内地址司觅芳虚姥框浑河蝴阀翅谩庸下起容立捆吱争洽棍昭钢哄戴侮稀淹跳耐钢第4章存储系统第4章存储系统2007.7.2127计算机组成原理要对某个子程序中的某个语句进行访问,首要对某个子程序中的某个语句
155、进行访问,首先知道该语句所在的子程序的编号,即段号,其先知道该语句所在的子程序的编号,即段号,其次要知道该语句相对于子程序的起始地址的偏移次要知道该语句相对于子程序的起始地址的偏移量,即段内地址。在如图量,即段内地址。在如图4-32所示的结构中,当所示的结构中,当知道某个语句的地址时,系统将首先取出地址中知道某个语句的地址时,系统将首先取出地址中的段号,根据段号找到相应的子程序,然后再通的段号,根据段号找到相应的子程序,然后再通过地址中的段内地址找到语句。过地址中的段内地址找到语句。隅粱看票狈猫抡趁钡筹外愚蛊赶尽连羞安厨伐而友笺呕苛蛹久殉谊猖拽校第4章存储系统第4章存储系统2007.7.212
156、8计算机组成原理2.存储空间分配存储空间分配段式存储管理系统中,由于按照逻辑关系将段式存储管理系统中,由于按照逻辑关系将作业分成了若干段,所以没有必要给作业分配一作业分成了若干段,所以没有必要给作业分配一个连续的地址空间,只需要给每个段分配一个连个连续的地址空间,只需要给每个段分配一个连续的空间即可。因此在段式存储管理方式下,逻续的空间即可。因此在段式存储管理方式下,逻辑相邻的段可能在物理地址上不连续。如图辑相邻的段可能在物理地址上不连续。如图4-33所示。所示。新宏捧滑饱熟忻疽淫储串褪杨浇硬勃打贴凌拖查嚎耍课烈担朱赞阮帚驱柜第4章存储系统第4章存储系统2007.7.2129计算机组成原理子塌
157、汕畅岗致尤挽溜衣堡到支节肖鸳牌浆绞眩力崖颜尾钞烘呆轩僚自惩槐第4章存储系统第4章存储系统2007.7.2130计算机组成原理图图4-33中,作业分成了中,作业分成了4段,各段占用不连段,各段占用不连续的内存空间。段续的内存空间。段1大小为大小为20KB,占用起始地址,占用起始地址为为80KB的空间;段的空间;段2大小为大小为30KB,占用起始地,占用起始地址为址为160KB的空间;段的空间;段3大小为大小为10KB,占用起始,占用起始地址为地址为130KB的空间;段的空间;段4大小为大小为40KB,占用起,占用起始地址为始地址为250KB的空间。的空间。唆邢槽谩嘴札搁缕籍胚伪州乔所凉整无墅凸此
158、屎凸纂踢肇圾折姥詹赃沼奇第4章存储系统第4章存储系统2007.7.2131计算机组成原理3.段表段表图图4-33中,假如作业按照段中,假如作业按照段1、段、段2、段、段3、段段4的顺序执行,段空间不连续,当作业执行完的顺序执行,段空间不连续,当作业执行完前一个段后,如何知道下一个段的内存起始地前一个段后,如何知道下一个段的内存起始地址呢?因此必须有种数据结构来保存各段对应址呢?因此必须有种数据结构来保存各段对应的物理空间,其中应该包括段号、分给该段的的物理空间,其中应该包括段号、分给该段的空间的起始地址和长度等信息,段表就是这样空间的起始地址和长度等信息,段表就是这样一种数据结构,能记录段的空
159、间的各种信息。一种数据结构,能记录段的空间的各种信息。图图4-33所示的段空间分配状态所对应的段表如所示的段空间分配状态所对应的段表如表表4-7所示。所示。赠刚聪圣报滋菱舒刷榜注隘汞痹剿沫烃荆砂剖远择慎卜谋左赔昔豫见卢俗第4章存储系统第4章存储系统2007.7.2132计算机组成原理段号段号起始地起始地址(址(K)长度长度(KB)18020216030313010425040誊扑脊垦坎队迄询殃圾适锗鹿沮薪骸油简勃竖珍叁踢固铺铂鹿屎唆抓娱泰第4章存储系统第4章存储系统2007.7.2133计算机组成原理设置段表后,当作业开始运行时,首先查找设置段表后,当作业开始运行时,首先查找段表,找到第一个段
160、的内存起始地址,并根据起段表,找到第一个段的内存起始地址,并根据起始地址和长度计算出终止地址,当作业执行到第始地址和长度计算出终止地址,当作业执行到第一段的终止地址时,根据段表记录再去查找第二一段的终止地址时,根据段表记录再去查找第二个段对应的内存地址,个段对应的内存地址,如此反复,即可在段表如此反复,即可在段表的辅助下将作业的的辅助下将作业的4个段正确执行。个段正确执行。岂鲜杰囱抡甄窗爬踌氨仑洽雇醋邑阻爬婚帝怎蔡曼巍乡劈舆匆待鸿格挠鼠第4章存储系统第4章存储系统2007.7.2134计算机组成原理上述过程实际是将作业的逻辑地址转换成物上述过程实际是将作业的逻辑地址转换成物理地址的过程。作业根
161、据将要执行的语句的逻辑理地址的过程。作业根据将要执行的语句的逻辑地址计算出段号和段内地址,然后根据逻辑地址地址计算出段号和段内地址,然后根据逻辑地址查找段表,得到相应的内存段的起始地址,将此查找段表,得到相应的内存段的起始地址,将此起始地址加上段内地址即是该语句的物理地址。起始地址加上段内地址即是该语句的物理地址。此地址变换过程跟分页式存储管理地址变换过程此地址变换过程跟分页式存储管理地址变换过程类似,如图类似,如图4-34所示。所示。钱搁予诽蝇储帝憾寺掺炭恕菇哪坤恳胸扣稀娱先吸扩逸谬钒瞄陡恋抛鬼瘪第4章存储系统第4章存储系统2007.7.2135计算机组成原理呜赣篙拎没醇其钱硫尤业堡喇纷陆柠
162、况割揖礼葡顺鼠虽绕的折仔疟川埋副第4章存储系统第4章存储系统2007.7.2136计算机组成原理图中图中4-31所示地址转换过程中的最后一步是所示地址转换过程中的最后一步是进行地址计算,意思是将段内地址和查段表得到进行地址计算,意思是将段内地址和查段表得到与段对应的内存区的起始地址相加得到将要访问与段对应的内存区的起始地址相加得到将要访问的语句的物理地址,从而实现逻辑地址到物理地的语句的物理地址,从而实现逻辑地址到物理地址的转换。址的转换。萎暂描涵拢颐硼吭绿支懂辩蔗烩防库恍裂芝格怠怎乌扳现取援摆疮添弥斋第4章存储系统第4章存储系统2007.7.2137计算机组成原理4.5.2段页式虚拟存储段页
163、式虚拟存储段式存储管理保证了程序的逻辑性不遭破坏,但是段式存储管理保证了程序的逻辑性不遭破坏,但是每个段需要占用一段连续的空间,因此,单纯的段式存每个段需要占用一段连续的空间,因此,单纯的段式存储具有连续分配的缺点,即作业的空闲空间之和大于作储具有连续分配的缺点,即作业的空闲空间之和大于作业所需要的空间,但是每一个小的空闲空间不一定能满业所需要的空间,但是每一个小的空闲空间不一定能满足各个段的需要。如图足各个段的需要。如图4-33所示,作业的所示,作业的4个段分别需要个段分别需要10KB、20KB、30KB和和40KB的空间,但是假如现在内的空间,但是假如现在内存中有存中有5个个20KB的空闲
164、空间,显然,按照段式管理的思的空闲空间,显然,按照段式管理的思想,这想,这5个空闲空间大小之和等于作业的段所需要的空间个空闲空间大小之和等于作业的段所需要的空间之和,但是每个空闲空间却不能单独满足作业的要求,之和,但是每个空闲空间却不能单独满足作业的要求,此时该作业将无法运行。如果不改变存储管理方式,则此时该作业将无法运行。如果不改变存储管理方式,则只有通过移动空闲区间和其他作业区间的方法来将多个只有通过移动空闲区间和其他作业区间的方法来将多个空闲区间合并为一个空闲区间,以满足该作业的要求,空闲区间合并为一个空闲区间,以满足该作业的要求,此过程会造成系统资源的严重浪费。通过前面的学习,此过程会
165、造成系统资源的严重浪费。通过前面的学习,我们知道分页存储系统能克服上述问题,因此,在设计我们知道分页存储系统能克服上述问题,因此,在设计存储管理系统时,常常将段式管理和页式管理相结合,存储管理系统时,常常将段式管理和页式管理相结合,从而形成一种新的管理方式从而形成一种新的管理方式段页式存储管理方式。段页式存储管理方式。杀常礼乔躬瞻弓准素咱膛袭蔑漓角空察鹤劈基壮戊葛奎镀掉示糠盔胖灵筹第4章存储系统第4章存储系统2007.7.2138计算机组成原理1段页式存储管理原理段页式存储管理原理所谓段页式存储管理是将段式管理和页式管所谓段页式存储管理是将段式管理和页式管理的思想相结合,按照作业的逻辑结构及功
166、能将理的思想相结合,按照作业的逻辑结构及功能将作业分为几段,然后再将每一个段按照统一的固作业分为几段,然后再将每一个段按照统一的固定的大小分成若干页,同时按页的大小对内存进定的大小分成若干页,同时按页的大小对内存进行分块。因此,作业的内存分配将不再收到空闲行分块。因此,作业的内存分配将不再收到空闲空间大小的限制,只要内存的空闲块的数量不小空间大小的限制,只要内存的空闲块的数量不小于作业的页数量即可,而不需要内存块连续。于作业的页数量即可,而不需要内存块连续。棠橙胰香畸尚升辙潦渗何予溃汾铃玫跌愁望存缮倾唆绕罪储诞品美帮赴褐第4章存储系统第4章存储系统2007.7.2139计算机组成原理段页式存储
167、管理的地址结构如图段页式存储管理的地址结构如图4-35示。示。段号段号页号页号页内地址页内地址德纹晦故赴为疵扒肇决衫至掀蜗辊颅胚茶鄙副惟息能泣妇埂夫鸽咳弱早肪第4章存储系统第4章存储系统2007.7.2140计算机组成原理2.段页管理段页管理跟前面几种存储管理方式相同,为了保证作跟前面几种存储管理方式相同,为了保证作业的顺序执行,必须有一种数据结构来记录段和业的顺序执行,必须有一种数据结构来记录段和页与内存页的对应关系,但是因为段页式存储管页与内存页的对应关系,但是因为段页式存储管理多逻辑地址进行了两次划分,第一次将逻辑地理多逻辑地址进行了两次划分,第一次将逻辑地址划分为若干段,第二次将每个段
168、划分为若干页。址划分为若干段,第二次将每个段划分为若干页。因此,要对内存正常寻址,不仅要知道将要访问因此,要对内存正常寻址,不仅要知道将要访问的地址属于哪个段,也要知道该地址属于该段的的地址属于哪个段,也要知道该地址属于该段的哪个页。逻辑的页与物理的块一一对应,所以需哪个页。逻辑的页与物理的块一一对应,所以需要页表来记录各页对应的块号,因为每个段都分要页表来记录各页对应的块号,因为每个段都分成了很多页,所以每个段都需要一个也表。同时,成了很多页,所以每个段都需要一个也表。同时,作业分成了很多段,为了统一管理,系统需要知作业分成了很多段,为了统一管理,系统需要知道每个段的分页情况,所以又要设置一
169、个段表来道每个段的分页情况,所以又要设置一个段表来记录每个段所对应的页表。记录每个段所对应的页表。虑锯袁晕仅拣硬骋漓日韧楚攫狡只奶叮购镊民周说唁骄何廊赔筑寄鸡闲钮第4章存储系统第4章存储系统2007.7.2141计算机组成原理综上所述,段页式存储管理方式下,为了对综上所述,段页式存储管理方式下,为了对各作业的执行进行管理,需要两个表格,一个是各作业的执行进行管理,需要两个表格,一个是段表,一个是页表。段表,一个是页表。现假设,一个作业的分段分页及每个页与块现假设,一个作业的分段分页及每个页与块的对应情况如图的对应情况如图4-36所示。所示。筐蜀侦靶艰屈向掇芒低要酝扯窄巧蔡窜瑶毕舅脉搓袋杆惯脐睛
170、坊粘箱音泽第4章存储系统第4章存储系统2007.7.2142计算机组成原理爽盈卑取梳苞碍惊毕曾一触琳拆剔亲暗除触璃苍掂狈混厌嗣作扒帮掏磋弧第4章存储系统第4章存储系统2007.7.2143计算机组成原理图图4-36示的作业分成了两段,段示的作业分成了两段,段1分成了分成了2页,页,段段2分成了分成了3页,系统在给段页,系统在给段1和段和段2的各页分配内的各页分配内存块时,并没有按固定的顺序分配,且两个段的页存块时,并没有按固定的顺序分配,且两个段的页所分得的块互相没有联系,需要给每个段都设置一所分得的块互相没有联系,需要给每个段都设置一个页表,所以,段页式管理中作业的页表不唯一。个页表,所以,
171、段页式管理中作业的页表不唯一。为了对多个页表正确寻址,则需要在段表中记录各为了对多个页表正确寻址,则需要在段表中记录各个页表的内存地址。现假设上图中的段个页表的内存地址。现假设上图中的段1的页表起的页表起始地址是始地址是1600,段,段2的页表的起始地址是的页表的起始地址是3400,则,则该作业的段表和页表如图该作业的段表和页表如图4-37示。段表有两项,一示。段表有两项,一项记录段号,另外一项记录该段的段表的起始地址。项记录段号,另外一项记录该段的段表的起始地址。页表也有两项,一项记录页号,另外一项记录该页页表也有两项,一项记录页号,另外一项记录该页所分得的块的块号。所分得的块的块号。成贞泵
172、作诧揖度壮桓埃址扦膏趾禁旨含勤幌瓮虽划翅嘿严否魏瘪氧颇厘色第4章存储系统第4章存储系统2007.7.2144计算机组成原理易菠雅躁糜礁账昭烂榴潍琵虫掀张产巢貉傻嗡乔镜针耘芝证婚介报知妊血第4章存储系统第4章存储系统2007.7.2145计算机组成原理作业将要执行其中的某个语句时,根据其地作业将要执行其中的某个语句时,根据其地址计算出段号、页号和页内地址。首先根据段号址计算出段号、页号和页内地址。首先根据段号查找段表,得到该段的页表的起始地址,然后查查找段表,得到该段的页表的起始地址,然后查找页表,得到该页对应的块号,最后根据块的大找页表,得到该页对应的块号,最后根据块的大小和页内地址计算出该语
173、句的内存地址。所以,小和页内地址计算出该语句的内存地址。所以,在段页式管理方式下,作业访问内存中的语句之在段页式管理方式下,作业访问内存中的语句之前,要两次访问内存,而页式存储管理和段式存前,要两次访问内存,而页式存储管理和段式存储管理访问内存语句前,置需要访问一次内存。储管理访问内存语句前,置需要访问一次内存。思考:结合计算机应用实际,请思考计算机思考:结合计算机应用实际,请思考计算机系统采用虚拟存储技术的优点有那些?系统采用虚拟存储技术的优点有那些?屡剁度映三郝涂不衅馏粒示研迷哼学坪陀砂赣惰两宁变班淮颤适宛赃绽争第4章存储系统第4章存储系统2007.7.2146计算机组成原理4.6外存设备
174、与磁盘阵列技术4.6.1外存设备概述外存设备概述计算机中,除了前面介绍的主存和计算机中,除了前面介绍的主存和Cache外,外,还有外部存储器,简称外存。外存主要是满足海还有外部存储器,简称外存。外存主要是满足海量存储数据的要求,因此,对外存的要求跟内存量存储数据的要求,因此,对外存的要求跟内存不同,对外存主要要求其容量足够大,而对其读不同,对外存主要要求其容量足够大,而对其读取速度的要求不高。常用的外存主要有软盘、取速度的要求不高。常用的外存主要有软盘、U盘、磁盘和光盘等。盘、磁盘和光盘等。荡咸埔赊扶踢锹旭瞄咆枯字冉须涸琼严都刚迪壁鞍哈颐饱繁辛葡覆液恬枯第4章存储系统第4章存储系统2007.7
175、.2147计算机组成原理软盘外形如图软盘外形如图4-38示。作为示。作为PC机中最早使机中最早使用的可移动存储介质,磁盘可用于将一些文件用的可移动存储介质,磁盘可用于将一些文件从一台从一台PC机移动到另一台机移动到另一台PC机。常用的软盘都机。常用的软盘都是是3.5英寸的,容量为英寸的,容量为1.44MB有一个塑料外壳,有一个塑料外壳,比较硬,它的作用是保护里边的盘片。盘片上比较硬,它的作用是保护里边的盘片。盘片上涂有一层磁性材料涂有一层磁性材料(如氧化铁如氧化铁),它是记录数据,它是记录数据的介质。在外壳和盘片之间有一层保护层,防的介质。在外壳和盘片之间有一层保护层,防止外壳对盘片的磨损。软
176、盘工作时,需要驱动止外壳对盘片的磨损。软盘工作时,需要驱动器带动盘片旋转。但是由于容量小、读写速度器带动盘片旋转。但是由于容量小、读写速度慢等原因,软盘已经被淘汰,现在只有在一些慢等原因,软盘已经被淘汰,现在只有在一些特殊场合才会见到软盘。特殊场合才会见到软盘。减雪费述趣崎娠节潦蔚旧拔者尝腆媳改蚜惰堆亢盆详颐迅泄潮霍恿狄凛哥第4章存储系统第4章存储系统2007.7.2148计算机组成原理耗聘住玲悍穴痈税箱端惨长雏马绒崇察那港匡鞋醉镜败升豌妈隋谎叮袍驰第4章存储系统第4章存储系统2007.7.2149计算机组成原理U盘是盘是USB闪存盘的简称,是继磁盘之后的闪存盘的简称,是继磁盘之后的新一代基于
177、新一代基于USB接口、以闪存芯片为存储介质存接口、以闪存芯片为存储介质存储器,以其存储容量大、读取数度快、价格低廉、储器,以其存储容量大、读取数度快、价格低廉、体积小、容易携带等优点,迅速取代磁盘在移动体积小、容易携带等优点,迅速取代磁盘在移动存储介质上的地位。如图存储介质上的地位。如图4-39示为清华紫光的示为清华紫光的256M的的U盘,目前常用的盘,目前常用的U盘容量为盘容量为512MB、1GB和和2GB等。等。锭哀突毡嚼渗诺蓑诸盾阅唤撮淬铝槐泵袒根勇痹井寸辅鸭充滤涕香贮斗烃第4章存储系统第4章存储系统2007.7.2150计算机组成原理磁盘是一种依靠盘片上均匀分布的磁性物质磁盘是一种依靠
178、盘片上均匀分布的磁性物质记录数据的存储器,通过磁头进行读写。磁盘的记录数据的存储器,通过磁头进行读写。磁盘的具体知识将在具体知识将在4.6.2中介绍。中介绍。光盘利用激光束在具有感光特性的表面上存光盘利用激光束在具有感光特性的表面上存储信息的,其具体原理将储信息的,其具体原理将4.6.3中介绍。中介绍。辅助存储器的主要技术指标是存储密度、存辅助存储器的主要技术指标是存储密度、存储容量、数据传输率和寻址时间等。储容量、数据传输率和寻址时间等。碧影那盛枕敲爱访皮盈褐拓戍孟昨缝衙摧窑迫搔陷依无呢凯局吞图米员雹第4章存储系统第4章存储系统2007.7.2151计算机组成原理l存储密度是指单位长度或单位
179、面积磁层表面所存储密度是指单位长度或单位面积磁层表面所存储的二进制信息量。对于磁盘存储器,用道密度存储的二进制信息量。对于磁盘存储器,用道密度和位密度表示,也可以用两者的乘积和位密度表示,也可以用两者的乘积面密度表面密度表示。对于磁带存储器,则主要用位密度表示。示。对于磁带存储器,则主要用位密度表示。l存储容量指磁表面存储器所能存储的二进制信存储容量指磁表面存储器所能存储的二进制信息总量。一般用字节为单位。息总量。一般用字节为单位。l数据传输率是指在单位时间内与主机之间传送数据传输率是指在单位时间内与主机之间传送数据的位数或字节数。数据的位数或字节数。l寻址时间是指发出读磁盘命令到数据全部读出
180、寻址时间是指发出读磁盘命令到数据全部读出的时间长度。的时间长度。入呸闭靡绿糯熄屠凤酌摩凉奢幼琵乃标哀溪鳃瞅术毖宿漂咯份弥交芭树滋第4章存储系统第4章存储系统2007.7.2152计算机组成原理4.6.2磁盘设备的组成与运行原理磁盘设备的组成与运行原理所谓的磁盘就是用磁性材料来作为数据介质,所谓的磁盘就是用磁性材料来作为数据介质,带有圆形盘片的存储器,并通过磁头和记录介质的带有圆形盘片的存储器,并通过磁头和记录介质的相对运动完成写入和读出。根据磁头的工作方式可相对运动完成写入和读出。根据磁头的工作方式可以将磁盘分为移动头磁盘存储器和固定头磁盘存储以将磁盘分为移动头磁盘存储器和固定头磁盘存储器。所
181、谓的移动头磁盘是指盘片的每面都仅有一个器。所谓的移动头磁盘是指盘片的每面都仅有一个磁头,对磁盘的不同磁道进行读写时,需要磁头移磁头,对磁盘的不同磁道进行读写时,需要磁头移动到响应的磁道下面,而磁头的移动需要花费大量动到响应的磁道下面,而磁头的移动需要花费大量时间,因此,移动头磁盘仅能用于对磁盘读写速度时间,因此,移动头磁盘仅能用于对磁盘读写速度不是太高的场合。而固定头磁盘是指盘片每个面的不是太高的场合。而固定头磁盘是指盘片每个面的每个磁道上均有一个磁头。与移动头磁盘相比,固每个磁道上均有一个磁头。与移动头磁盘相比,固定头磁盘剩下了磁头移动时间,读写速度更快,但定头磁盘剩下了磁头移动时间,读写速
182、度更快,但固定头磁盘由于增加了磁头数量,其成本大幅增加,固定头磁盘由于增加了磁头数量,其成本大幅增加,一般价格较高。一般价格较高。支服策浓袱嫁勒斧址芭侨号凰托扯话颖拯结囚染耶斤蛾蝉燎再佑响腾栅坐第4章存储系统第4章存储系统2007.7.2153计算机组成原理常见的磁盘有软盘、硬盘等。现在以计算常见的磁盘有软盘、硬盘等。现在以计算机中最主要的外存机中最主要的外存移动磁头式硬盘为例介移动磁头式硬盘为例介绍磁盘的组成与运行原理。绍磁盘的组成与运行原理。硬盘设备主要由盘片、磁头和驱动器等几硬盘设备主要由盘片、磁头和驱动器等几个部份组成。驱动器图如图个部份组成。驱动器图如图4-40所示。所示。铜味确虾涩
183、位努彼基敛象夯磺酚坐肿紧砍缠讹窗伍掩总胃箭褥夫椅沾卜贿第4章存储系统第4章存储系统2007.7.2154计算机组成原理冻辙宛柯腺槽次逻佬襄庶忠逃阶做昔营溶世睁寅浮椭闻被险抡妆溉粘捻宽第4章存储系统第4章存储系统2007.7.2155计算机组成原理硬盘的所有盘片都固定在一个旋转轴上,这硬盘的所有盘片都固定在一个旋转轴上,这个轴即盘片主轴。每一个盘片都有上下两个盘面,个轴即盘片主轴。每一个盘片都有上下两个盘面,每个盘面上都有一个磁头,磁头与盘面之间的距每个盘面上都有一个磁头,磁头与盘面之间的距离非常小。所有的磁头连在一个取数臂上,由取离非常小。所有的磁头连在一个取数臂上,由取数臂控制各个磁头的运动
184、,可沿盘片的半径方向数臂控制各个磁头的运动,可沿盘片的半径方向运动。而盘片在主轴的驱动下以每分钟数千转的运动。而盘片在主轴的驱动下以每分钟数千转的速度高速旋转,这样只要磁头在相应的磁道下面速度高速旋转,这样只要磁头在相应的磁道下面就能进行数据的读写操作。就能进行数据的读写操作。驯廷宇癌企忆吸檄销沏兜量慈婪跨骏瞧氛焰某恒子嘶栏身乐哼哨腿运黎隧第4章存储系统第4章存储系统2007.7.2156计算机组成原理读取或写入数据时,在定位驱动器和速度读取或写入数据时,在定位驱动器和速度传感器的控制下,主电机驱动传动皮带带动小传感器的控制下,主电机驱动传动皮带带动小车移动,进而驱动与小车相连的取数臂和磁头,
185、车移动,进而驱动与小车相连的取数臂和磁头,将磁头移动到相应的磁道的中心位置,并在读将磁头移动到相应的磁道的中心位置,并在读取数据期间,精确跟踪磁道位置的变化。取数据期间,精确跟踪磁道位置的变化。庙得隙讥谅镣跪深鞍戎筋霄沃星笑涎氨丑单缕拿吊拱矿烯赂惮眠岸榷栗概第4章存储系统第4章存储系统2007.7.2157计算机组成原理为了对数据进行正确寻址,盘片采用如图为了对数据进行正确寻址,盘片采用如图4-41示的方式进行格式化。每个盘片都以其中心作为圆示的方式进行格式化。每个盘片都以其中心作为圆心分成了若干半径不同的圆,每个圆就是一个磁道,心分成了若干半径不同的圆,每个圆就是一个磁道,每个磁道又分成了多
186、个扇区,硬盘将每个扇区作为每个磁道又分成了多个扇区,硬盘将每个扇区作为一个单元进行管理。因此,要对数据寻址,硬盘的一个单元进行管理。因此,要对数据寻址,硬盘的地址信息将包含盘面号、磁道号和扇区号。值得注地址信息将包含盘面号、磁道号和扇区号。值得注意的是:虽然不同磁道上的扇区长度不同,但是它意的是:虽然不同磁道上的扇区长度不同,但是它们的存储容量却是相同的。们的存储容量却是相同的。注意:磁盘盘片高速旋转,空气中的粉尘如果注意:磁盘盘片高速旋转,空气中的粉尘如果进入硬盘,极容易造成盘片损坏,因此,硬盘必须进入硬盘,极容易造成盘片损坏,因此,硬盘必须全密封封装,这种权密封的硬盘叫温彻斯特盘。全密封封
187、装,这种权密封的硬盘叫温彻斯特盘。器楼乡塌檀阐唆守幅涉扔倔糖吟恋鬃舵骄死长佬砒惭脂脾碧何希曝脚予南第4章存储系统第4章存储系统2007.7.2158计算机组成原理柑喧坡玉邑缉吧胁伶救芬竭纸为走掇驻特挞拼挡揉夺艾习之卡尖串追请野第4章存储系统第4章存储系统2007.7.2159计算机组成原理4.6.3光盘设备的组成与运行原理光盘设备的组成与运行原理光盘设备主要由光盘和光盘驱动器(以下简光盘设备主要由光盘和光盘驱动器(以下简称光驱)组成。光盘是用极薄的铝质或金质音膜称光驱)组成。光盘是用极薄的铝质或金质音膜加上聚氯乙烯塑料保护层制作而成的。与软盘和加上聚氯乙烯塑料保护层制作而成的。与软盘和硬盘一样
188、,光盘也能以二进制数据,并分别以有硬盘一样,光盘也能以二进制数据,并分别以有无小坑代表无小坑代表“1”和和“0”,有小坑代表,有小坑代表“1”,每,每一代表一代表“0”。吝滁痰们矾箕赃墓惠筋汀瑚挞抡熬壤际瓜钎涝视址暇翁慑助楼郎啦衡硒狂第4章存储系统第4章存储系统2007.7.2160计算机组成原理与磁盘不同的是,光盘采用一个连续的旋转与磁盘不同的是,光盘采用一个连续的旋转形的轨道来存储数据的(有点类似音轨的概念),形的轨道来存储数据的(有点类似音轨的概念),这些轨道被分成相同尺寸,相同密度的区域,因这些轨道被分成相同尺寸,相同密度的区域,因此,使盘片的利用率得到进一步的提高。由于光此,使盘片的
189、利用率得到进一步的提高。由于光盘上的数据是以相同的密度存放的,因此在读取盘上的数据是以相同的密度存放的,因此在读取光盘的时候就要采取恒定的线速度。光驱在读取光盘的时候就要采取恒定的线速度。光驱在读取内外圈数据时盘片的旋转速度会大为不同,需要内外圈数据时盘片的旋转速度会大为不同,需要光驱的主轴马达不断改变旋转速度以适应读取数光驱的主轴马达不断改变旋转速度以适应读取数据的需要。据的需要。披宋痢矢归荡雹登孩约具夜半城箱墟但祟苫败层提源科拆伶蔼皿橙螺怨卵第4章存储系统第4章存储系统2007.7.2161计算机组成原理智缠冀嘻缀罐詹卷酷菌骇亭阮痛信天捍滔堤崇餐湾茵怎厕狗孕滚耍嘉浦囤第4章存储系统第4章存
190、储系统2007.7.2162计算机组成原理光驱的外形如图光驱的外形如图4-42所示,内部结构如图所示,内部结构如图4-43所示,所示,主要由激光头组件、主轴马达、光盘托架和启动机构。各主要由激光头组件、主轴马达、光盘托架和启动机构。各部分功能如下:部分功能如下:(1)激光头组件主要包括:激光发生器(又称激光二)激光头组件主要包括:激光发生器(又称激光二极管),半反光棱镜,物镜,透镜以及光电二极管这几部极管),半反光棱镜,物镜,透镜以及光电二极管这几部分分,是光驱的心脏,也是最精密的部分。它主要负责数据的是光驱的心脏,也是最精密的部分。它主要负责数据的读取工作。光盘表面是以突起不平的点来记录数据
191、,所以读取工作。光盘表面是以突起不平的点来记录数据,所以反射回来的光线就会射向不同的方向。当激光头读取盘片反射回来的光线就会射向不同的方向。当激光头读取盘片上的数据时,从激光发生器发出的激光透过半反射棱镜,上的数据时,从激光发生器发出的激光透过半反射棱镜,汇聚在物镜上,物镜将激光聚焦成为极其细小的光点并打汇聚在物镜上,物镜将激光聚焦成为极其细小的光点并打到光盘上。光盘上会将激光反射回去,透过物镜,再照射到光盘上。光盘上会将激光反射回去,透过物镜,再照射到半反射棱镜上,到达了光电二极管上面,通过光电效应到半反射棱镜上,到达了光电二极管上面,通过光电效应将反射光线的变化转换为电信号的变化,实现对光
192、盘数据将反射光线的变化转换为电信号的变化,实现对光盘数据的解码。的解码。巧挎抿束荣与肌惰责弹低隅朱鞋蒂沸辑凳虏莱准杉墒青艺倾俐芦泡梧痹稀第4章存储系统第4章存储系统2007.7.2163计算机组成原理(2)主轴马达负责驱动光盘,保证对光盘的正确定)主轴马达负责驱动光盘,保证对光盘的正确定位。位。(3)光盘托架是光盘承载体,负责将光盘送进光驱)光盘托架是光盘承载体,负责将光盘送进光驱和将光盘从光驱中退出。和将光盘从光驱中退出。(4)启动机构控制光盘托架的进出和主轴马达的启)启动机构控制光盘托架的进出和主轴马达的启动。动。光盘设备的标准传输速度是光盘设备的标准传输速度是150KB/S。现在常见的。
193、现在常见的CD-ROM光驱的速率是光驱的速率是48倍速或倍速或64倍速,其数据传输速倍速,其数据传输速率分别是率分别是48150KB/S7200KB/S或或64150KB/S9600KB/S。说明:使用光驱时,要尽量保持光驱的清洁,平时不说明:使用光驱时,要尽量保持光驱的清洁,平时不要让托盘弹出,也不要将光盘常时间留在光驱中,否则会要让托盘弹出,也不要将光盘常时间留在光驱中,否则会降低光驱的使用寿命。降低光驱的使用寿命。烂虏忆间六讹奄匆府贺拔晨胜皂梨端嫩庸制协跪晃眼圾姆迈怀昨划念邢尖第4章存储系统第4章存储系统2007.7.2164计算机组成原理4.6.4磁盘阵列技术与容错支持磁盘阵列技术与容
194、错支持计算机硬件发展过程中,处理器速度的提高计算机硬件发展过程中,处理器速度的提高比外存速度的提高快,虽然采用了内存和比外存速度的提高快,虽然采用了内存和Cache等设备能在一定程度上起到速度匹配的作用,但等设备能在一定程度上起到速度匹配的作用,但是要从根本上解决问题,还得提高外存的读写速是要从根本上解决问题,还得提高外存的读写速度。度。香酱恬祁江疆肛氓牺槐还毒牲诸誉界曝态户高塑飘荫题侍岔腑酪泞擎渔湛第4章存储系统第4章存储系统2007.7.2165计算机组成原理廉价冗余磁盘阵列廉价冗余磁盘阵列RAID(RedundentArrayofInexpensiveDisks),简称磁盘阵列就是一种)
195、,简称磁盘阵列就是一种采用并行读写方式提高读写速度的技术,其基础是采用并行读写方式提高读写速度的技术,其基础是数据分块技术,即在多个磁盘上交错存放数据,使数据分块技术,即在多个磁盘上交错存放数据,使之可以并行存取。所谓的磁盘阵列是将多个盘片组之可以并行存取。所谓的磁盘阵列是将多个盘片组成一个圆柱形,各盘片间留有一定的空间保证读写成一个圆柱形,各盘片间留有一定的空间保证读写磁头的移动。在盘片驱动器的作用下,所有盘片同磁头的移动。在盘片驱动器的作用下,所有盘片同时旋转,因此,各磁头能对多个盘片同时读写。时旋转,因此,各磁头能对多个盘片同时读写。胸芹用外诬幂耍玛汉度招派侗腔猛晰谭焦憨屑堂敝砷研旗蜜蒲
196、拷悲零咸附第4章存储系统第4章存储系统2007.7.2166计算机组成原理向磁盘写入数据时,先将数据分段,每段写到向磁盘写入数据时,先将数据分段,每段写到不同的盘片上。读取时也一样,从不同的盘片同不同的盘片上。读取时也一样,从不同的盘片同时读出被分段的数据,再将个段组合成一个数据时读出被分段的数据,再将个段组合成一个数据输出。输出。假如磁盘阵列有假如磁盘阵列有8个盘片个盘片(16个盘面个盘面),每个盘,每个盘面的读写速度是面的读写速度是1MB/s,先要将先要将32MB的数据写入的数据写入磁盘。如果不采用阵列技术,数据写入需要花磁盘。如果不采用阵列技术,数据写入需要花32秒钟,采用磁盘阵列技术后
197、,先将秒钟,采用磁盘阵列技术后,先将32MB的数据分的数据分成成16段,每段写入到不同的盘面上,则所花的时段,每段写入到不同的盘面上,则所花的时间是间是2秒钟。读出亦然。因此,采用磁盘阵列技术秒钟。读出亦然。因此,采用磁盘阵列技术能提高磁盘的读写速度。能提高磁盘的读写速度。矣帐顺陌买讨曼掀建歪桩坎窑斧嫂母舵太雅辛痪躲蓄学骏锯脱笺惰沁啄哪第4章存储系统第4章存储系统2007.7.2167计算机组成原理磁盘冗余阵列一般分为磁盘冗余阵列一般分为7级,现简述如下。级,现简述如下。lRAID0级:无冗余和无校验的数据分块,从级:无冗余和无校验的数据分块,从磁盘上读出的数据直接输出,没有然后数据检测和磁盘
198、上读出的数据直接输出,没有然后数据检测和冗余校验,因此具有最高的冗余校验,因此具有最高的I/O性能和磁盘空间利性能和磁盘空间利用率。但是也正因为没有检错和校验能力,其出故用率。但是也正因为没有检错和校验能力,其出故障的几率或数据读写传输出错的几率要高于其它系障的几率或数据读写传输出错的几率要高于其它系统。统。舅厘亨弃号苦总荆腐唾填泡痢乍袭爵详矫廓秀氯亮篡滔恐嘛束视砧还拖冬第4章存储系统第4章存储系统2007.7.2168计算机组成原理lRAID1级:镜像磁盘阵列。由磁盘对组成,每级:镜像磁盘阵列。由磁盘对组成,每个磁盘对由一个工作盘和一个镜像盘组成,每个镜个磁盘对由一个工作盘和一个镜像盘组成,
199、每个镜像盘上面保存着与工作盘完全相同的数据。当工作像盘上面保存着与工作盘完全相同的数据。当工作盘出现故障时,系统可以从镜像盘上取出镜像盘上盘出现故障时,系统可以从镜像盘上取出镜像盘上的数据,安全性高,但由于只有一半磁盘处于工作的数据,安全性高,但由于只有一半磁盘处于工作状态,另外一半磁盘(镜像盘)处于备用状态,其状态,另外一半磁盘(镜像盘)处于备用状态,其磁盘空间的利用率只有磁盘空间的利用率只有50%,换取高安全性的代价,换取高安全性的代价过高。过高。lRAID2级:具有纠错海明码的磁盘阵列,采用级:具有纠错海明码的磁盘阵列,采用海明码纠错技术和位交叉技术,用户需增加足够的海明码纠错技术和位交
200、叉技术,用户需增加足够的校验盘来提供单纠错和双验错功能。对大数据量传校验盘来提供单纠错和双验错功能。对大数据量传送有较高性能,但不利于小数据量的传送。送有较高性能,但不利于小数据量的传送。RAID2很少使用。很少使用。靶拥肌泉剑唇坎捻凰朔艘蛤错赁杏作航稼拖赌致幂新垫刮坠绪料唬承汽豁第4章存储系统第4章存储系统2007.7.2169计算机组成原理lRAID3级:采用奇偶校验码和位交叉存取的磁盘阵列,级:采用奇偶校验码和位交叉存取的磁盘阵列,将奇偶校验码放在一个磁盘上,目前多数磁盘控制器已能将奇偶校验码放在一个磁盘上,目前多数磁盘控制器已能用用CRC检测出本身磁盘是否出错。因此只需一个奇偶校验检测
201、出本身磁盘是否出错。因此只需一个奇偶校验盘就能纠正出错的数据,如果一个盘失效,可通过对剩下盘就能纠正出错的数据,如果一个盘失效,可通过对剩下的盘上的信息进行的盘上的信息进行“异或异或”运算得到正确数据。但由于采运算得到正确数据。但由于采用位交叉,每次读写要涉及整个盘组,对小数据量不利。用位交叉,每次读写要涉及整个盘组,对小数据量不利。计算也比较费时。计算也比较费时。lRAID4级(采用奇偶校验码和扇区交叉的磁盘阵列):级(采用奇偶校验码和扇区交叉的磁盘阵列):与与RAID3级一样采用一个奇偶校验盘,但采用扇区交叉存级一样采用一个奇偶校验盘,但采用扇区交叉存取技术,因此写入少量数据只与两个盘有关
202、取技术,因此写入少量数据只与两个盘有关(一个数据盘、一个数据盘、一个校验盘一个校验盘),简化了产生校验码的方法,对于数据块的重,简化了产生校验码的方法,对于数据块的重写写(读读修改修改写写),其公式为:,其公式为:新奇偶校验位新奇偶校验位=(新数据新数据XOR旧数据旧数据)XOR旧奇偶校旧奇偶校验位验位因此只需读写两个盘因此只需读写两个盘(一个数据盘、一个校验盘一个数据盘、一个校验盘)。悲暴阴搽痪豢敝查殊览沏堵绎戒肋旋侧绒讥恿啦滋涩龄挚洋弃估纵工锹扣第4章存储系统第4章存储系统2007.7.2170计算机组成原理RAID5级(无专用校验盘的奇偶校验磁盘级(无专用校验盘的奇偶校验磁盘阵列):与阵
203、列):与RAID4级类似,但无专用的校验盘,级类似,但无专用的校验盘,将校验信息分布到组内所有盘上,对大、小数将校验信息分布到组内所有盘上,对大、小数据量的读写都有很好的性能,因而是一种较好据量的读写都有很好的性能,因而是一种较好的方案。的方案。RAID6级(采用分块交叉技术和双磁盘容级(采用分块交叉技术和双磁盘容错的磁盘阵列):有两个磁盘存储器用于存放错的磁盘阵列):有两个磁盘存储器用于存放检错、纠错冗余代码,即使在双磁盘出错的情检错、纠错冗余代码,即使在双磁盘出错的情况下,仍能保持数据的完整性和有效性,但写况下,仍能保持数据的完整性和有效性,但写入数据时,要对入数据时,要对3个磁盘驱动器个
204、磁盘驱动器(一个数据盘和一个数据盘和两个校验盘驱动器两个校验盘驱动器)访问两次。访问两次。RAID7级(独立接口的磁盘阵列):每一级(独立接口的磁盘阵列):每一个磁盘驱动器与每一主机接口有独立的控制和个磁盘驱动器与每一主机接口有独立的控制和数据通道的磁盘阵列,因此主机可完全独立地数据通道的磁盘阵列,因此主机可完全独立地对每个磁盘驱动器进行访问。对每个磁盘驱动器进行访问。募姑制鳞笑阅锑替口通养连凉瘦叙桅厦拙舀椭哟蚕彬染窒牲染献噎浙挽悬第4章存储系统第4章存储系统2007.7.2171计算机组成原理磁盘阵列的容错支持主要有两种方磁盘阵列的容错支持主要有两种方法:法:(1)备份。因为磁盘阵列不只一)
205、备份。因为磁盘阵列不只一个盘片,可以将其中一个盘片指定为后个盘片,可以将其中一个盘片指定为后备盘片,平常并不操作备盘片,平常并不操作,但若阵列中某但若阵列中某一盘片发生故障时一盘片发生故障时,磁盘阵列即以后备磁盘阵列即以后备盘片取代故障盘片盘片取代故障盘片,并自动将故障盘片并自动将故障盘片的数据重建的数据重建(rebuild)在后备盘片之上。在后备盘片之上。(2)坏扇区转移。当磁盘阵列系)坏扇区转移。当磁盘阵列系统发现磁盘有坏扇区时统发现磁盘有坏扇区时,以另一空白且以另一空白且无故障的扇区取代该扇区。无故障的扇区取代该扇区。或橇伺医也粉银持陕丝冯镣破骆丹穴括钒换戎攘瓷幢跳泵材赐闲阔霞原俄第4章
206、存储系统第4章存储系统2007.7.2172计算机组成原理这两个方法可以保证磁盘阵列中的这两个方法可以保证磁盘阵列中的某个盘片或某个扇区发生故障时,磁盘某个盘片或某个扇区发生故障时,磁盘的工作不受影响,延长磁盘的使用寿命。的工作不受影响,延长磁盘的使用寿命。思考:目前市场上计算机存储产品思考:目前市场上计算机存储产品都采用了那些存储技术?分析这些存储都采用了那些存储技术?分析这些存储技术的优点和发展前景,并结合产品举技术的优点和发展前景,并结合产品举例说明。例说明。浆鸽枉宦铜恬耍酒擞岁痔著烩桶目上芳楚主番炽牲硒衅文扰聊阳都氓冬仪第4章存储系统第4章存储系统2007.7.2173计算机组成原理4
207、.7 实例解析 【例【例4-1】某系统需要容量为】某系统需要容量为192K8位的存储空间,现有一块容量位的存储空间,现有一块容量128K8和两块容量为和两块容量为64K4的存储芯的存储芯片,请用这三块芯片组成满足系统要求片,请用这三块芯片组成满足系统要求的存储器。的存储器。玫势彰灵阶撕玄睹勇垃坦岔敛堰蜡整讯迷喝屡震别俗帛淡额替说恶甄拈静第4章存储系统第4章存储系统2007.7.2174计算机组成原理解析:扩展方法:系统需要解析:扩展方法:系统需要192K8位的容位的容量,三块可用芯片中,只有一块是量,三块可用芯片中,只有一块是8位的,而位的,而此此8位的芯片容量仅为位的芯片容量仅为128K,因
208、此还需要一个,因此还需要一个64K8的存储空间才能满足系统需求。剩下的的存储空间才能满足系统需求。剩下的两块芯片是两块芯片是64K的,但是却只有的,但是却只有4位输出,所以位输出,所以需要先将这两块芯片组成一个需要先将这两块芯片组成一个64K8的存储器,的存储器,再与再与128K8位的芯片组成位的芯片组成192K8位的存储器。位的存储器。地址线确定:地址线确定:192K8的存储空间需要的存储空间需要18根地址线才能完全寻址,本题中最大容量的芯根地址线才能完全寻址,本题中最大容量的芯片是片是128K,对该芯片寻址需要,对该芯片寻址需要17根地址线,根地址线,则最高位的地址线可以用作片选信号。则最
209、高位的地址线可以用作片选信号。扩展后扩展后128K8的芯片在的芯片在A17=0时选中,其时选中,其他两块芯片在他两块芯片在A17=1时选中。时选中。扩展后的芯片连接如图扩展后的芯片连接如图4-44所示:所示:涉镭内乘寓敷傅刁瘁呕赚公藕壳免野抿根段恃便遭彭谤艇娠恭费媒狈羔壮第4章存储系统第4章存储系统2007.7.2175计算机组成原理耽柯安梯保够冈棋核饲菠丈殊吗寥剂豌埔赁沼君写绪践途骤爸但锄司万纲第4章存储系统第4章存储系统2007.7.2176计算机组成原理【例【例4-2】某系统采用页式存储管理,】某系统采用页式存储管理,页大小为页大小为512,根据图,根据图4-45示的页表计示的页表计算出
210、逻辑地址为算出逻辑地址为2150真正访问的物理地真正访问的物理地址。址。页号页号块号块号07192153846条判驻悔漠波稿如啃船劣蒋剖廖周形洗明眷帚懊厚摩恿进远围恫婆赵庆审第4章存储系统第4章存储系统2007.7.2177计算机组成原理解析:根据页面可以计算出该逻辑解析:根据页面可以计算出该逻辑地址所在的对应的页号和页内地址所在的对应的页号和页内地址。地址。页号页号4页内地址页内地址2150MOD512102查页表可知,查页表可知,4号页存储于号页存储于6号块中,号块中,根据分页存储管理的根据分页存储管理的原理,块的大小跟页的大小相同。原理,块的大小跟页的大小相同。该逻辑地址对应的物理地址为
211、:该逻辑地址对应的物理地址为:65121023174街虎贯控破川幌尚篇丹特啼苯军仪吹兔涅误催爬事吱应稳滋寿剁易柱记摊第4章存储系统第4章存储系统2007.7.2178计算机组成原理本章小结本章首先介绍了计算机存储系统的组织方本章首先介绍了计算机存储系统的组织方式,让大家了解了计算机系统设置的存储器及式,让大家了解了计算机系统设置的存储器及其体系结构,然后以几种典型芯片为例介绍各其体系结构,然后以几种典型芯片为例介绍各类存储芯片的工作原理,接着介绍了当容量不类存储芯片的工作原理,接着介绍了当容量不满足系统需求时的存储器扩展方法和满足系统需求时的存储器扩展方法和Cache的的工作原理,再介绍了存储空间的三种基本的管工作原理,再介绍了存储空间的三种基本的管理方法,最后简单介绍了外存的工作原理。通理方法,最后简单介绍了外存的工作原理。通过本章的学习,读者应该大致了解计算机系统过本章的学习,读者应该大致了解计算机系统是任何对存储系统进行管理的,为将来开发硬是任何对存储系统进行管理的,为将来开发硬件和编写软件打下基础。件和编写软件打下基础。霍诀肘袜姿媚月忘谰杆累片烽吵园江妊博厅肠司貌措严瑶拧泛袜蕉滩仍物第4章存储系统第4章存储系统2007.7.2179计算机组成原理