数字电路第三章PPT_第1页
数字电路第三章PPT_第2页
数字电路第三章PPT_第3页
数字电路第三章PPT_第4页
数字电路第三章PPT_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机组成原理多层次的存储系统 存储器概述 存储位元存储位元:存储器中最小的存储单位,是一个双稳态半导体电路或一个CMOS晶体管或磁性材料,有两个状态,可存储一个二进制位。存储单元存储单元:由若干个存储元组成,有固定长度,可以是字长或字节。存储器存储器:由许多存储单元组成,统一编址。在主存中为了指出存储位置,要给每个存储单元一个编号,称为地址。如果给每个机器字编址,称为字寻址。如果给每个字节编址,称为字节寻址。 存储器分类 存储介质存储介质 半导体存储器; 磁表面存储器。状态改变的快慢决定了存取速度存储方式存储方式 随机存储器 任何存储单元的内容都能被随机存取,且存取时间和存储单元的物理位置无

2、关。顺序存储器 只能按某种顺序来存取,存取时间和存储单元的物理位置有关。存储器分类存取功能可变性只读存储器(ROM) 存储的内容固定不变,只能读出而不能写入。随机读写存储器(RAM) 既能读出又能写入。 信息的易失性 非永久记忆存储器 断电后信息即消失。如RAM永久记忆存储器 断电后仍能保存信息。如磁盘系统中的作用 可分为主存储器、辅助存储器、高速缓冲存储器、控制存储器等。 存储器的分级结构 为了要求容量大,速度快,成本低,目前通常采用多级存储器体系结构,即使用高速缓冲存储器、主存储器和外存储器。 存储器的分级结构 高速缓冲存储器:简称Cache,高速存取指令和数据,存取速度快,但价格贵,存储

3、容量小,现在还使用多级Cache主存储器:简称主存,存放计算机运行期间的大量程序和数据,速度较快,容量有限。 外存储器:简称外存,存放系统程序和大型数据文件及数据库,存储容量大,位成本低,但速度慢。 主存储器的技术指标 存储容量:在一个存储器中可以容纳的存储单元总数, 反映了存储空间的大小,单位 字数,字节数 KB,MB,GB,TB存取时间:启动到完成一次存储器操作所经历的时间,决定了主存的速度,单位 ns 存储周期:连续启动两次操作所需间隔的最小时间,反映了主存的速度 ,单位 ns 存储器带宽:单位时间里存储器所存取的信息量, 是数据传输速率技术指标 单位 位/秒,字节/秒随机读写存储器 分

4、为静态和动态两种。它们是组成存储器的基础和核心。存取速度快,存储体积小,可靠性高,价格低廉;断电后不能保存信息。SRAM存储器:由两个MOS反相器交叉耦合而成的触发器, 有两个稳定的状态,分别表示一位二进制。DRAM存储器:利用电容中存储的电荷暂时存储信息,需要不断刷新,集成度高,但速度较慢六管SRAM存储元MOS 管高电平导通,低电平截止。A,B两点电位总是互为相反。写操作 读操作 读写操作必须X/Y译码线同时有效单管动态存储元 单管动态存储元电路由一个管子T1和一个电容C构成 写入读出读出是破坏性的,要立即按读出信息予以充电再生。 它元件数量少,集成度高,但需要有高鉴别能力的读出放大器配合

5、工作,外围电路比较复杂。 只读存储器 简称ROM,只能读出,不能写入。具有不易失性。分为三类:掩模式:数据在芯片制造过程中就确定 可靠性和集成度高,价格便宜 不能重写一次编程(PROM):用户可以根据需要自行改变产品中某些存储元,只能一次性改写多次编程(EPROM):可以用紫外光照射或电的方法多次改写ROM中的内容光擦可编程只读存储器 仍然通过字线和位线控制,存储元接通为0,断开为1。有4种工作方式:读、未选中、功率下降、编程 存储器的组成 存储体:大量存储单元的集合,需解决寻址,驱动,控制等问题地址译码器:驱动器: I/O电路:片选:读/写控制:输出驱动电路:地址译码器 根据n位地址选择2n

6、线中之一单译码:适用于小容量存储器,只有一个地址译码器双译码:适用于大容量存储器,有X向和Y向两个译码器。SRAM实例-2114(1K*4) 存储器对外呈现三组信号线,即地址线、数据线、读/写控制线 64*64阵列4位DB,10(6+4)位AB,CS WEDRAM实例-2116 (16K*1 )128*128 的 阵列。需要14位地址,但仅提供7根地址线,需要分时传送地址 EPROM实例- 2716(2K*8) 11根地址线,7条行译码,4条列译码8根数据线 存储器与CPU连接 CPU对存储器进行读/写操作,首先由地址总线给出地址信号,然后要发出读操作或写操作的控制信号,最后在数据总线上进行信

7、息交流,因此要分别完成地址线、数据线和控制线的连接。存储器芯片的容量是有限的,为了满足实际存储器的容量要求,需要对存储器进行扩展。 使用多片存储器需要电路确定各片地址空间等位扩展法 只加大字长,而存储器的字数与存储器芯片字数一致,对片子没有选片要求,地址线全部接入芯片,数据线分别接入总线字扩展法仅在字向扩充,位数不变.需由片选信号来区分各片地址。数据线全部接入芯片,地址线分片内、片外两组,低位进芯片,进行片内寻址,高位进译码器选片。字位同时扩展法地址总线的宽度决定了存储器的存储容量,数据总线的宽度决定了存储器的字长。一个存储器的容量假定为MN位,若使用Lk 位的芯片LM,kN,需要在字向和位向

8、同时进行扩展。此时共需要(M/L(N/k)个存储器芯片 数据线根据所在的位接入数据总线,地址线也需分组,高位进译码器选片,低位进芯片选存储单元。存储器的读、写周期 在连接时,CPU控制信号与存储器的读、写周期之间的配合问题是非常重要的。读周期存储器的读、写周期写周期:写入的时序信号必须同步。当R/W线负脉冲时,地址线和数据线必须稳定,不能改变。数据立即被存储于地址线对应的单元。 DRAM的刷新 “读出”即刷新。启动一行线可以完成整行同时刷新,依次处理每一行。需要刷新地址计数器。刷新周期:从上一次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍为止的时间间隔。一般要求是2,4,8ms。 DR

9、AM的刷新集中式刷新:在刷新间隔内,集中时间一次性逐行刷新整个存储器,它适用于高速存储器。存在死时间。分散式刷新:每个存储周期除了完成读/写操作或维持信息外,还进行一行的刷新操作。系统速度变慢。异步式刷新:是前两种方式的结合。满足刷新周期要求,隔一定时间刷新一行。DRAM的刷新存储器控制电路 DRAM需要硬件电路的支持刷新,包括刷新计数器、刷新/访存裁决、刷新控制逻辑等。这些控制线路形成DRAM控制器,它同时实现与CPU的连接,将存取、数据、地址等信号变换成适合DRAM片子的信号。 主存储器组成实例 采用W4006AF和(1M*4bit存储块)*8为一组)*4构成的16M 80386主存储器8

10、0386没有A0A1线,用BE0-BE3取而代之,以支持字节、双字节、四字节存取。A2-A11MA01-MAb1,MA01-MAb1A0-A9(片内)A12-A31RAS0-RAS3RAS(选组)BE0-BE3CAS0-CAS15CAS(选片)主存储器组成实例主存物理地址的存储空间分布 系统中应同时拥有RAM和ROM。为保持系统软件继承性,存储空间分成基本内存、保留内存、扩展内存几部分 主存储器组成实例例:CPU的地址总线16根(A0为低位),双向数据总线8根,控制总线中与主存有关的信号有MREQ(允许访存, 低电平有效),R/W(高电平为读命令,低电平为写命令)。 主存地址空间分配如下:08

11、191为系统程序区,由只读存储芯片组成;819232767为用户程序区;最后(最大地址)2K地址空间为系统程序工作区。上述地址为十进制,按字节编址。主存储器组成实例现有如下存储器芯片:EPROM:8K8位(控制端仅有CS);SRAM:16K1位,2K8位,4K8位,8K8位.请从上述芯片中选择适当芯片设计该计算机主存储器,画出主存储器逻辑框图,注意画出选片逻辑(可选用门电路及38译码器74LS138)与CPU 的连接,说明选哪些存储器芯片,选多少片 根据给定条件,选用EPROM:8K8位芯片1片。SRAM:8K8位芯片3片,2K8位芯片1片。38译码器仅用Y0,Y1,Y2,Y3和Y7输出端,且

12、对最后的2K8位芯片还需加门电路译码。主存储器组成实例高性能主存储器EDRAM 又称增强型DRAM芯片,它在DRAM 芯片上集成了一个SRAM实现的小容量高速缓冲存储器,使系统不必每次都从慢速的DRAM存取。 1M*4芯片分两次输入20位地址,先11位选行,整行的512(=29)*4位信息被送入快速的SRAM保存,它对成块传送非常有利。如果连续的地址高11位相同(通过比较器比较),那么连续变动的9位列地址就会使SRAM中相应位组连续读出,这称为猝发式读取。它还可以在SRAM读出期间可同时对DRAM阵列进行刷新。芯片内的数据输出路径与输入路径是分开的,允许在写操作完成的同时来启动同一行的读操作。

13、高性能主存储器EDRAM高性能主存储器EDRAMEDRAM内存条:一片EDRAM的容量为1M4位,8片这样的芯片可组成1M32位的存储模块。8个芯片共用片选信号Sel、行选通信号RAS、刷新信号Ref和地址输入信号A0A10。当某模块被选中,此模块的8个EDRAM芯片同时动作,8个4位数据端口D3D0同时与32位数据总线交换数据,完成一次32位字的存取。上述存储模块本身具有高速成块存取能力,这种模块内存储字完全顺序排放,以猝发式存取来完成高速成块存取的方式,在当代微型机中获得了广泛应用。被做成内存条。 闪速存储器 一种高密度、非易失性的读/写半导体存储器,它突破了传统的存储器体系,改善了现有存

14、储器的特性。特点:固有的非易失性,廉价的高密度,可直接执行,固态性能。 在EPROM功能基础上增加了电路的电擦除和重新编程能力。 闪速存储器28F256A(32K*8)有存储元阵列、行/列译码器、数据/地址锁存器、输入/输出缓冲器等,还有包括指令寄存器在内的控制和定时逻辑,其作用是:保证TTL电平的控制信号输入;在擦除和编程过程中稳定供电;最大限度的与EPROM兼容。片选信号CE,输出允许信号OE用于控制数据的输出。读操作: 写操作:输出禁止操作: 等待操作:闪速存储器闪速存储器与CPU的连接 地址总线和控制总线由CPU发向存储器和接口逻辑,数据总线为双向总线。和依靠磁盘的存储器系统相比,闪速

15、存储器可提供高性能、低功耗、高可靠性和瞬间启动能力,会使存储系统带来革命性变化。 高速存储器Cache 由于CPU和主存储器在速度上不匹配,而且在一个CPU周期中可能需要用几个存储器字,这使CPU等待存储器读写操作,限制了高速计算,是现代计算机系统的主要瓶颈。可以采取一些加速CPU和存储器之间有效传输的特殊措施。如:采用更高速主存或增加字长,采用并行操作的双端口存储器,采用交叉存储器,采用Cache双端口存储器 它提供了两个相互独立的端口,即左端口右端口。分别具有各自的地址线、数据线和控制线,可以错时地对存储体中任何位置上的数据进行独立的存取操作。当两个端口的地址不相同时,不会发生冲突。每一个

16、端口都有自己的片选控制和输出驱动。当两个端口同时存取存储器同一存储单元时,便发生读写冲突。为解决此问题,特设置了BUSY标志。由片上的判断逻辑决定对哪个端口优先进行读写操作,而暂时关闭另一个被延迟的端口。 双端口存储器多模块交叉存储器 一个由若干个模块组成的主存储器是线性编址的。 顺序方式:连续地址在同一个模块中,某个模块连续存取时,其他模块不工作,各模块串行工作,存储器的带宽受到了限制。某一模块出现故障时,其他模块可照常工作,通过增添模块来扩充存储器容量比较方便。地址码的高位字段译码选择不同的模块,低位字段指向相应模块内的存储字。多模块交叉存储器多模块交叉存储器交叉方式:连续地址分布在相邻的

17、不同模块内,同一个模块内的地址都是不连续的。对连续字的成块传送可实现多模块流水式并行存取,大大提高存储器的带宽。 CPU同时访问多个模块,由存储器控制部件控制它们分时使用数据总线进行信息传递。地址码的低位字段经过译码选择不同的模块,而高位字段指向相应模块内的存储字。 定量分析假设模块字长等于数据总线宽度,模块存取一个字的存储周期为T,总线传送周期为,存储器的交叉模块数为m,q为读取m个字的信息量。为了实现流水线方式存取,保证启动某模块后经m时间再次启动该模块时,它的上次存取操作已经完成。应当满足 m=T/。连续读取m 个字所需的时间为 t1=T+(m-1),W1=q/t1。而顺序方式存储器连续

18、读取m个字所需时间为t2=mT,W2=q/t2。带宽确实大大提高 二模块交叉存储器 DRAM存储器(每模块256K*32bit),32位数据线,24位地址线(16M,8*2模块)。A23-A21:选体,3-8译码器A20-A3:选块内字地址,分两个9位作为行/列地址输入A2:选模块,偶地址在模块0,奇地址在模块1。分别使RAS0/RAS1有效,打入行地址A1-A0:不存在,用BE3-BE0代替,选输出字节和长度,接CAS3-CAS0,打入列地址 二模块交叉存储器二模块交叉存储器DRAM存储器需要逐行定时刷新,而且,DRAM芯片的读出是一种破坏性读出,在读取之后要立即按读出信息予以充电再生。若C

19、PU先后两次读取的存储字使用同一RAS选通信号的话,CPU在接收到第一个存储字之后必须插入等待状态,直至前一存储字再生完毕才开始第二个存储字的读取。采用m=2的交叉存取度的成块传送,两个连续地址字的读取之间不必插入等待状态(零等待存取)。cache的功能 cache是介于CPU和主存之间的小容量存储器,存取速度比主存快。能高速向CPU提供指令和数据,加快程序的执行速度。目的是解决CPU和主存之间速度不匹配,在性能上使主存的平均读出时间尽可能接近cache的读出时间。为此需要使CPU的存取能绝大部分通过Cache实现。这里应用了程序的局部性原理。程序的局部性包括空间局部性和时间局部性。它由高速S

20、RAM组成,现在已发展成2级以上Cache系统 cache的基本原理 CPU与cache之间的数据交换是以字为单位,而cache与主存之间的数据交换是以块为单位。一个块由若干定长 字 组 成 ,Cache中称为一行。cache的基本原理当CPU读取主存中一个字时,便发出此字的内存地址到cache和主存。此时cache控制逻辑依据地址判断此字当前是否在 cache中: 若是,此字立即传送给CPU; 若非,则用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到cache中,以便CPU以后接着访问相关信息。cache管理由硬件逻辑电路实现cache的命中率 在一个

21、程序执行期间,设Nc表示cache完成存取的总次数,Nm表示主存完成存取的总次数,tc表示命中时的cache访问时间,tm表示未命中时的主存访问时间,r=tm/tc表示主存慢于cache的倍率。命中率h =mCCNNN CPU平均访问时间 ta = htc+(1-h)tm 访问效率e = aCtt=mCCthhtt)1 ( =hrr)1 (1=rhh)1 (1 cache的命中率为提高访问效率,命中率h越接近1越好,r值以510为宜,不宜太大。命中率h与程序的行为、cache的容量、组织方式、块的大小有关。 主存与cache的地址映射 cache的容量很小,它保存的内容只是主存内容的一个子集。

22、cache与主存的数据交换是以块为单位,需确定主存块号对应的Cache地址。地址映射即是应用某种方法把主存地址定位到cache中。它由硬件实现,对程序透明地址映射方式有全相联方式、直接方式和组相联方式三种 全相联映射方式 让主存的一个块直接拷贝到cache中的任意一行上,主存中一个块的块号与块的内容一起存于cache的行中,其中块号存于cache行的标记部分中。 全相联映射方式 非常灵活。但比较器难于设计和实现,适合于小容量cache。 直接映射方式 一种多对一的映射关系,一个主存块只能拷贝到cache的一个特定行位置上。cache的行号i和主存的块号j有如下函数关系:i=j mod m(m为

23、cache中的总行数)块号分为两部分,一部分确定行地址,另一部分存入标记用于比较是否命中。 直接映射方式硬件简单,成本低。但块只有一个固定的行位置可存放,易产生冲突。适合大容量cache。 组相联映射方式 将cache分成u组,每组v行,Cache 总行数muv。主存块存放到哪个组是固定的,至于存到该组哪一行是灵活的。cache的组号q和主存的块号j有如下函数关系qj mod u 块号分为两部分,低位的确定组号,高位存入标记用于多中选一,确定是否命中。该方式中的每组行数v一般取值较小,多为2,4,8,16,这种规模的v路比较器容易设计和实现。而块在组中的排放又有一定的灵活性,冲突减少。 组相联

24、映射方式 组相联映射方式替换策略 cache要保存新数据,必然要产生替换。对直接映射的cache来说,只要把此特定位置上的原主存块换出cache。对全相联和组相联cache来说, 就要从允许存放新主存块的若干特定行中选取一行换出。常用的有最不经常使用(LFU)算法,近期最少使用(LRU)算法,随机替换算法。 最不经常使用(LFU)算法 LFU算法将一段时间内被访问次数最少的那行数据换出。每行设置一个计数器。从0开始计数,每访问一次, 被访行的计数器增1。当需要替换时,将计数值最小的行换出,同时将这些行的计数器清零。它将计数周期限定在对这些特定行两次替换之间的间隔时间内,不能严格反映近期访问情况

25、。 近期最少使用(LRU)算法 LRU算法将近期内长久未被访问过的行换出。每行也设置一个计数器,cache每命中一次,命中行计数器清零,其它各行计数器增1。当需要替换时,将计数值最大的行换出。这种算法保护了刚拷贝到cache中的新数据行,有较高的命中率。 随机替换算法随机替换策略从特定的行位置中随机地选取一行换出。在硬件上容易实现,且速度也比前两种策略快。缺点是降低了命中率和cache工作效率。 cache的写操作策略 CPU对cache的写入更改了cache的内容。可选用写操作策略使cache内容和主存内容保持一致。常用的有:写回法,全写法,写一次法 写回法当CPU写cache命中时,只修改

26、cache的内容,而不立即写入主存;只有当此行被换出时才写回主存。这种方法减少了访问主存的次数,但是存在不一致性的隐患。实现这种方法时,每个cache行必须配置一个修改位,以反映此行是否被CPU修改过。 全写法 当写cache命中时,cache与主存同时发生写修改,因而较好地维护了cache与主存的内容的一致性。当写cache未命中时,直接向主存进行写入。修改过的行可以读入Cache(WTWA法)也可以不读入Cache(WTNWA法)cache中每行无需设置一个修改位以及相应的判断逻辑。但降低了cache的功效。 写一次法 基于写回法并结合全写法的写策略,写命中与写未命中的处理方法与写回法基本

27、相同,只是第一次写命中时要同时写入主存。这便于维护系统全部cache的一致性。 奔腾PC机的cache 奔腾PC机采用两级cache结构。安装在主板上的2级cache(L2,512K,每行32B、64B、128B)采用2路组相联映射方式,L2级cache采用写回法。 集成在CPU内的1级cache(L1,16K,每行32B)也采用2路组相联映射方式。 L2级cache的内容是主存的子集,而L1级cache又是L2级cache的子集。 奔腾PC机的cacheCPU中的L1分设成各8KB的指令cache和数据cache,可同时工作,有利于CPU高速执行程序。指令cache是只读的,数据cache采

28、用写一次法。数据cache是双端口,可同时存取2个数据。 数据cache共128组。每组2行,每行32B加20位标记和2位状态位,采用LRU替换算法,一组两行共用一个LRU二进制位。奔腾PC机的cacheCPU与外部数据交换时,存储器读写总线周期主要有两类:一类是256位猝发式传送,用于L1的行填入和行写出,一次完成整行的填入或写出。另一类是不经L1的64位传送 ,称为非超高速缓存式传送。为维护cache的一致性,L1和L2均采用MESI协议,即要求每个cache行有两个状态位,用以描述该行当前是处于修改态、专有态、共享态或者无效态中的哪种状态,从而决定对它的读/写操作行为。 虚拟存储器 虚拟

29、存储器只是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。它借助于磁盘等辅助存储器来扩大主存容量,使之为更大或更多的程序所使用。CPU当前正在使用的代码和数据存放在内存中,暂时无用的存于外存,一旦有用的信息变得无用,就把它们送回到磁盘中。重复使用有限的内存空间放置新的有用数据。它构成主存-外存层次。以透明的方式给用户提供了一个比实际主存空间大得多的程序地址空间。虚拟地址和物理地址 物理地址由CPU地址引脚送出,用于访问主存的地址。m根引脚寻址2m大小的物理地址空间虚拟地址由编译程序生成,是程序的逻辑地址,程序中n位地址(nm),可获得2n大小的虚拟地址空间。虚拟地址空间可能远远大于

30、物理地址空间,但其实际大小受到辅助存储器容量的限制。 虚拟存储器原理主存-外存结构的有效使用也基于程序局部性原理:CPU总是倾向于在一段时间中执行同一段代码,处理同一批数据。变更代码和数据段是偶尔发生的,仅此时才需要去除旧的信息,调入新的数据。这种换入换出是由硬件或操作系统完成的,对用户是透明的。力图使存储系统的性能接近高速存储器,价格接近低速存储器。两种存储系统的主要区别在于虚拟存储器中未命中的性能损失要远大于cache系统中未命中的损失。 基本信息传送单位 主存-外存层次的基本信息传送单位可采用几种不同的方案:段、页或段页。段是按照程序的逻辑结构划分成的多个相对独立部分,作为独立的逻辑单位

31、分别进行分配传送。页是主存物理空间中划分出的等长区域。执行时以页为单位进行换入换出。段页式管理采用分段和分页结合的方法。程序按模块分段,段内再分页,进入主存以页为基本信息传送单位。 页式管理 主存物理空间中划分出长度为2L的等长区域,起点、终点固定,称为物理页,页起点都在低L位为0的地方。虚拟空间也分成页,称为逻辑页。两者大小相同 虚存地址分为两个字段:高字段为逻辑页号(n-L位),低字段为页内行地址(L位)。实存地址也分两个字段:高字段为物理页号(m-L位),低字段为页内行地址(L位)。页式管理需要使用页表,页表中每一个虚存逻辑页号有一个表目,表目内容包含该逻辑页所在的主存页面地址(物理页号

32、),用它作为实存地址的高字段,与虚存地址的页内行地址字段相拼接,产生完整的实主存地址,据此来访问主存。 页表表目内还存储管理保护所需要的其他页属性,如装入位,修改位,替换控制位,保护位等。装入位:用于检测该页是否已在主存,如不在,将启动输入输出设备,根据页表项中的外存地址,调入该页,同时修改该页表项。修改位:指示该页是否修改过,若修改过,调出时将写回外存。否则,直接丢弃替换控制位:用于辅助替换算法确定应该哪页进行替换。 慢表和快表为了避免页表已保存或已调入主存储器时对主存访问次数的增多, 把页表的最活跃部分存放在高速存储器中组成快表。快表由硬件组成,可以是联想存储器,比页表小得多。查表时,由逻

33、辑页号同时去查快表和慢表,当在快表中有此逻辑页号时,就能很快地找到对应的物理页号送入实主存地址寄存器,从而做到虽采用虚拟存储器但访主存速度几乎没有下降。若找不到,在访问内存中页表项,同时该项调入快表。 慢表和快表页式管理特点页表本身也可是主存中的一个页,甚至可能组成多级页表,使用中还需要页表基址寄存器。优点是方便造页表,新页调入主存也很容易掌握,比段式空间浪费小,仅最后一页可能有浪费。缺点是处理、保护和共享都不及段式来得方便。 段式管理 以程序中子程序、数据表等自然形成的模块为单位,在主存中分配空间。段式管理虚存地址由段号 (高n-L位)和段内地址(L位)组成。物理地址由查表获得的段起始地址(

34、可以是m位)加段内地址(L位)组成。 需要用段表,记录用户名、段起点、段长、段属性等。段长度可大可小,因此使用是要进行段限检查 段式管理段式管理特点段表本身也是主存中的一个段,需要一段表基址寄存器。段的逻辑独立性使它易于编译、管理、修改和保护,也便于多道程序共享;某些类型的段(堆栈、队列)具有动态可变长度,允许自由调度以便有效利用主存空间。因为段的长度各不相同,起点和终点不定,给主存空间分配带来麻烦,而且容易在段间留下许多空余的零碎存储空间,造成浪费。段页式管理结合段式虚拟存储和页式虚拟存储。把程序按逻辑单位分段以后,再把每段分成固定大小的页。程序对主存的调入调出是按页面进行的,但它又可以按段

35、实现共享和保护,兼备页式和段式的优点。 每道程序通过一个段表和一组页表来进行定位。段表中的每个表目对应一个段,有一个指向该段的页表起始地址及该段的控制保护信息。由页表指明该段各页在主存中的位置以及是否已装入、已修改等状态信息。 段页式管理如果有多个用户在机器上运行,多道程序的每一道需要一个基号,由它指明该道程序的段表起始地址。虚拟地址格式:如计算机只有一个基址寄存器,基号可不要,多道程序切换时,操作系统修改基址寄存器内容。 基号 段号 页号 页内地址 段页式管理例:假设有三道程序(用户标志号为A,B,C),其基址寄存器内容分别为SA,SB,SC,每道程序都有一张段表,A程序有4段,C程序有3段。每段应有一张页表,段表的每行就表示相应页表的起始位置,而页表内的每行即为相应的物理页号。虚实地址变换过程如下:根据基号C执行SC加1(段号),得到段表相应行地址,其内容为页表的起始地址。执行b+2(页号),得到物理页号的地址,其内容即为物理页10。物理页号与页内地址拼接即得物理地址。 段页式管理段页式管理特点既有段式管理符合程序逻辑结构,便于时治安保护和共享的优点。也有页式管理便于内存分配回收,没有碎片的优点。缺点是在映射过程中需要多次查表。一般可用快表解决。 替换算法 当需要的页或段不在主存中时,需要调入,如主存已满,就需要进行替换虚拟存储器中的页面替换策略和cache中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论