曹红根计算机组成原理第 4 章 存储器系统_第1页
曹红根计算机组成原理第 4 章 存储器系统_第2页
曹红根计算机组成原理第 4 章 存储器系统_第3页
曹红根计算机组成原理第 4 章 存储器系统_第4页
曹红根计算机组成原理第 4 章 存储器系统_第5页
已阅读5页,还剩114页未读 继续免费阅读

下载本文档

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

文档简介

2026/5/41第四章存储器系统2026/5/42本章学习内容存储器的分类及主要技术指标

存储系统的层次结构半导体存储器的工作原理存储器与CPU的连接辅助存储器的工作原理Cache的工作原理并行存储系统2026/5/434.1存储器概述存储器:计算机的存储部件,用于存放程序和数据。计算机发展的重要问题之一,就是如何设计容量大、速度快、价格低的存储器。2026/5/444.1.1存储器分类1.按与CPU的连接和功能分类(1)主存储器

CPU能够直接访问的存储器。用于存放当前运行的程序和数据。简称内存或主存。(2)辅助存储器为解决主存容量不足而设置的存储器,用于存放当前不参加运行的程序和数据。当需要运行程序和数据时,将它们成批调入内存供CPU使用。2026/5/45(3)高速缓冲存储器(Cache)是一种介于主存与CPU之间用于解决CPU与主存间速度匹配问题的高速小容量的存储器。Cache用于存放CPU立即要运行或刚使用过的程序和数据。2026/5/462.按存取方式分类(1)随机存取存储器(RAM)

存储器任何单元的内容均可按其地址随机地读取或写入,且存取时间与单元的物理位置无关。RAM主要用于组成主存。(2)只读存储器(ROM)

存储器任何单元的内容只能随机地读出而不能随便写入和修改。ROM可以作为主存的一部分,用于存放不变的程序和数据,与RAM分享相同的主存空间。ROM还可以用作其它固定存储器,如存放微程序的控制存储器、存放字符点阵图案的字符发生器等。2026/5/47(3)顺序存取存储器(SAM)

存储器所存信息的排列、寻址和读写操作均是按顺序进行的,并且存取时间与信息在存储器中的物理位置有关。如磁带存储器,信息通常是以文件或数据块形式按顺序存放,信息在载体上没有唯一对应的地址,完全按顺序存放或读取。(4)直接存取存储器(DAM)介于RAM和SAM之间的存储器。也称半顺序存储器。典型的DAM如磁盘,当进行信息存取时,先进行寻道,属于随机方式,然后在磁道中寻找扇区,属于顺序方式。2026/5/48

3.按存储介质分类(1)磁存储器

采用磁性材料制成存储器。磁存储器是利用磁性材料的的两个不同剩磁状态存放二进制代码“0”和“1”。早期有磁芯存储器。现多为磁表面存储器,如磁盘、磁带等。(2)半导体存储器

用半导体器件组成的存储器。根据工艺不同,可分为双极型和MOS型。2026/5/49(3)光存储器

利用光学原理制成的存储器,它是通过能量高度集中的激光束照在基体表面引起物理的或化学的变化,记忆二进制信息。如光盘存储器。4.按信息的可保存性分类(1)易失性存储器(2)非易失性存储器

2026/5/4104.1.2主存储器的组成和基本操作1.主存的基本组成(1)存储元件(存储元、存储位)(2)存储单元(3)存储体(存储阵列)(4)地址寄存器(5)地址译码与驱动电路(6)读写电路(7)数据寄存器(8)时序控制电路2026/5/411地址00011011000001230100456710008910111100121314152026/5/412主存的基本组成2026/5/4132.主存与CPU的连接及主存的操作主存储器用于存放CPU正在运行的程序和数据。主存与CPU之间通过总线进行连接。2026/5/414主存的操作过程MAR:地址寄存器MDR:数据寄存器CPU读操作(取操作)地址(MAR)ABMEM读命令(Read)CBMEMMEM存储单元内容(M)DBMDRCPU写操作(存操作)地址(MAR)ABMEM写命令(Write)CBMEMMEM存储单元MDBMDR2026/5/4154.1.3存储器的主要性能指标衡量主存的性能指标主要有:1.存储容量2.速度3.存储器总线带宽4.价格2026/5/416容量、速度、价格三个指标是相互矛盾、相互制约的。高速的存储器往往价格也高,因而容量也不可能很大。为了较好地解决存储器容量、速度与价格之间的矛盾,在现代计算机系统中,通常都是通过辅助软、硬件,将不同容量、不同速度、不同价格的多种类型的存储器组织成统一的整体。即构成存储器系统的多级层次结构。存储器系统的多级层次结构通常是由三级存储器组成,即

Cache——

主存——

辅存

4.1.4存储器系统的层次结构

2026/5/417存储器层次结构辅助软硬件辅助硬件2026/5/418主存——

辅存层次主要解决容量问题

Cache——

主存层次主要解决速度问题2026/5/4192026/5/4204.2半导体随机存储器通常使用的半导体存储器分为随机存取存储器(RandomAccessMemory,RAM)和只读存储器(Read-OnlyMemory,ROM)。它们各自又有许多不同的类型。2026/5/4214.2.1半导体存储器的分类2026/5/4224.2.2随机存取存储器的结构及工作原理1.半导体存储器芯片的结构及实例2026/5/423存储器芯片(存储器组件)半导体存储器芯片一般有两种结构:字片式结构和位片式结构…An-1~0…Dm-1~0R/WCS电源地线2026/5/424字片式结构的存储器芯片(64字×8位)2026/5/425位片式结构的存储器芯片(4K×1位)2026/5/426(1)TMS4116芯片2.存储器芯片举例2026/5/4272026/5/4282026/5/429TMS4116的刷新当某个存储单元被选中进行读/写操作时,该单元所在行的其余127个存储电路也将自动进行一次读出再生操作,即完成一次刷新操作。TMS4116的刷新是按行进行的,每次只加行地址,不加列地址,即可实现被选行上的所有存储电路的刷新。即一次可以刷新128个存储单元电路。2026/5/430读出再生放大器电路2026/5/4314.2.3动态存储器的刷新方式

刷新的间隔时间主要根据电容电荷泄放速度决定。1.刷新最大周期(刷新最大间隔)设存储电容为C,其两端电压为u,电荷Q=C•u,则泄漏电流为2026/5/432所以泄漏时间为△u:电容两端的电压变化I:泄露电流C:存储电容若C=0.2pf,△u=1V,I=0.1nA则泄漏时间为说明动态MOS元件每隔2ms必须刷新一次△t就是刷新最大间隔,即刷新最大周期。2026/5/4332.刷新方法按行刷新例:16K的4116芯片,存储体排成128×128阵列,需要刷新128行。每次由刷新地址计数器给出刷新的行地址,每刷新一行,刷新地址计数器加1。2026/5/4343.刷新方式当主存需要刷新时,CPU不能访存,所以要尽可能让刷新时间少占用CPU时间。⑴集中式刷新集中式刷新的优点:控制简单。集中式刷新的缺点:在“死区”内CPU必须停止访存操作,

CPU利用率低。2026/5/435⑵分散式刷新

分散式刷新的优点:没有“死区”,每一系统周期都可进行读/写操作。分散式刷新的缺点:没有充分利用所允许的最大刷新间隔(2ms),且刷新过于频繁,降低了系统的速度。2026/5/436⑶异步式刷新

异步式刷新既充分利用2ms的最大刷新间隔,保持存储系统的高速性,又大大缩短了主机的“死区”,所以是一种最常用的刷新方式。2026/5/4374.2.4半导体存储器的组成由于一块存储器芯片的容量总是有限的,因此一个存储器总是由一定数量的存储器芯片构成。要组成一个主存储器,需要考虑的问题:①如何选择芯片根据存取速度、存储容量、电源电压、功耗及成本等方面的要求进行芯片的选择。②所需的芯片数量:

2026/5/438例:用2114芯片组成32K×8位的存储器,所需2114芯片数为:③如何把许多芯片连接起来。通常存储器芯片在单元数和位数方面都与实际存储器要求有很大差距,所以需要在字方向和位方向两个方面进行扩展。主要进行三种信号线的连接:地址信号线、数据信号线、控制信号线2026/5/4391.位扩展当芯片的单元数满足存储器单元数的要求,但单元中的位数不满足要求时,需要进行位扩展。位扩展:只进行位数扩展(加大字长)。采用位扩展时,芯片的单元数(字数)与存储器的单元数是一致的。位扩展的连接方式:①将所有存储器芯片的地址线、片选信号线和读/写控制线均对应的并接在一起,连接到地址和控制总线的对应位上。②将各芯片的数据线单独列出,分别接到数据总线的对应位。2026/5/440例:用2114存储器芯片构成1K×8位的存储器。2114为1K×4位的芯片,现存储器要求容量为1K×8位,单元数满足,位数不满足,需要1K×8/1K×4=2片

2114来构成存储器。1K×8位的存储器共需8根数据线D7~D0,两片2114各自的4根数据线分别用于连接D7~D4和D3~D0。2114本身具有10根地址线,称为片内地址线,与存储器要求的10根地址线一致,所以只要将他们并接起来即可。电路中CPU的读/写控制线(R/W)与2114的WE信号并接。MREQ为CPU的访存请求信号,作为2114的片选信号连接到CS上。2026/5/4412026/5/4422.字扩展当芯片单元中的的位数满足存储器位数的要求,但芯片的单元数不满足存储器单元数要求时,需要进行字扩展。字扩展:仅是单元数(字数)扩展,而位数不变。采用字扩展时,芯片单元中的位数与存储器的数据位数是一致的。字扩展的连接方式:①将所有芯片的地址线、数据线、读/写控制线均对应地并接在一起,连接到地址、数据、控制总线的对应位上。②由片选信号区分被选芯片。片选信号:通常由高位地址经译码进行控制。高位地址:存储器总地址减去芯片内部寻址的地址得到的地址。2026/5/443例:用16K×8位的存储器芯片构成64K×8位的存储器。16K×8位的芯片,可以满足64K×8位的存储器数据位的要求,但不满足单元数的要求。需要4片16K×8位的芯片采用字扩充方式来构成存储器。64K×8位的存储器需要16位地址线A15~A0,而16K×8位的芯片的片内地址线为14根,所以用16位地址线中的低14位A13~A0进行片内寻址,高两位地址A15、A14用于选择芯片,即选片寻址。设存储器从0000H开始连续编址,则四块芯片的地址分配:第一片地址范围为:0000H~3FFFH

第二片地址范围为:4000H~7FFFH

第三片地址范围为:8000H~BFFFH

第四片地址范围为:C000H~FFFFH2026/5/444A15A14A13A12………A2A1A0

000000000000000000111111111111110000H~3FFFH第一片

010000000000000001111111111111114000H~7FFFH第二片

100000000000000010111111111111118000H~BFFFH第三片

11000000000000001111111111111111C000H~FFFFH第四片片内地址片选地址2026/5/4452026/5/4463.字和位同时扩展当芯片的单元数和单元的数据位均不满足存储器的要求时需要进行字和位的同时扩展。字和位同时扩展:按位扩展和字扩展的方法分别在位方向和字方向进行扩展。字和位同时扩展的连接方式:①所有芯片的片内地址线、读/写控制线均对应地并接在一起,连接到地址和控制总线的对应位上。②同一地址区域内,不同芯片的片选信号连在一起,接到片选译码器的同一输出端;不同地址区域内的芯片的片选信号分别接到片选译码器的不同输出端。2026/5/447③不同地址区域内,同一位芯片的数据线对应地并接在一起,连接到数据总线的对应位上。不同位芯片的数据线分别连接到数据总线的不同位上。2026/5/448例1:用2114芯片组成8K×8位存储器需用16片2114芯片构成8K×8位存储器。16片芯片排成8行×2列,每行按位扩展方法连接,每列按字扩展方法连接。存储器地址线A12~A0,芯片片内地址A9~A0,高三位地址A12、A11、A10用于选片寻址。存储器数据线D7~D0,芯片数据线I/O3~I/O0,两片芯片的数据线一同构成存储器的8位数据线。2026/5/449A12A11A10A9………A2A1A0

000000000000000011111111110000H~03FFH第一组

001000000000000111111111110400H~07FFH第二组

010000000000001011111111110800H~0BFFH第三组

011000000000001111111111110C00H~0FFFH第四组

100000000000010011111111111000H~13FFH第五组

101000000000010111111111111400H~17FFH第六组

110000000000011011111111111800H~1BFFH第七组

111000000000011111111111111C00H~1FFFH第八组2026/5/4502026/5/451例:某微机系统有16根地址线,8根数据线,地址空间安排为:16K系统程序存储区,用ROM芯片,安排在地址最低区;接着留出16K的设备地址空间;其后的32K作为用户程序区,采用RAM芯片。给定芯片如下,请画出连线图,给出各存储区的地址范围。ROMD7~D0A13A0CSDE…RAMD7~D0A13A0CSRD…WR2026/5/452ROM区:16K×8位,需1片16K×8位ROM芯片RAM区:32K×8位,需2片16K×8位RAM芯片I/O区:16K×8位,主存不应使用A15A14A13A12………A2A1A0

000000000000000000111111111111110000H~3FFFHROM区

010000000000000001111111111111114000H~7FFFHI/O区

100000000000000010111111111111118000H~BFFFHRAM区1

11000000000000001111111111111111C000H~FFFFHRAM区22026/5/453ROMA13~A0CSDERAMD7~D0A15A14CSRDWRRAMY0CSRDWR地址译码器MEMRY2Y3Y1R/W2026/5/454地址分配与片选的关系存储空间>片内空间扩容三种方法:1.线选法片外的高地址直接(或经反相器)分别接到各存储器芯片的CS引脚。特点:无需外加逻辑电路,但仅适用于芯片较少的场合。2026/5/4552.全译码法片外的高地址全部接到译码器的输入端,译码器输出为片选信号。特点:芯片的地址范围确定,连续,无重叠存储区,对译码电路要求较高。3.部分译码法片外的高地址部分地与译码器相连,译码器输出为片选信号。(选片内地址多?还是地址少?)2026/5/456多种数据位输出的组织问题。1.多种输出的情况可输出8位、16位、32位等。2.芯片与片选控制信号的安排

CPU增加控制信号,控制不同数据的输出。2026/5/457请用2K

8bit的SRAM设计一个8K

16bit的存储器,并画出存储器与CPU的连接原理图。要求:当B=0时访问16位数据;当B=1时访问8位数据,两列存储芯片按地址交叉方式编址。

B控制信号由CPU给出,此外CPU还有MREQ(低电平有效)、R/W等控制信号(高电平读、低电平写)。SRAM除地址、数据线外,有CS(低电平有效)、WE等控制线(高电平读、低电平写)。其他的辅助芯片(译码器、门电路)自选,但要说明它们的功能。2026/5/458地址线的安排8K

16bit=8K

2

8bit

空间214

8bit

地址线14根由于交叉编址和整数边界的要求,故A0用于8位、16位的控制(与B组合)A11-A1用于片内地址A13、A12用于2:4译码2026/5/459逻辑表达式BA0PEvenPOdd00

01хх10

х11х

2026/5/460Peven=A0Podd=A0

BY0Y1Y2Y3A13A122026/5/461CS0=Y0+PevenCS1=Y0+PoddCS2=Y1+PevenCS3=Y1+PoddCS4=Y2+PevenCS5=Y2+PoddCS6=Y3+PevenCS7=Y3+Podd(画出连接图)2026/5/4622026/5/4632026/5/464存储模块若干个存储芯片按一定的逻辑关系连起来,高密度地安装在对外有若干个引脚的印制电路板上或密封在对外有若干引线的陶瓷壳中。这样,存储模块作为独立的不可分割的整体存在内存条2026/5/465内存条的应用内存条主要用于微机系统。对于其他系统,可让设计员按照研制要求用控制芯片、存储芯片和存储芯片。2026/5/466

4.4高速缓冲存储器(Cache)高速缓冲存储器是位于主存与CPU之间的高速小容量存储器,用来存放程序中当前最活跃的程序和数据。2026/5/4674.4.1地位与作用程序局部性原理:CPU在一个较短的时间间隔内,由程序产生的地址往往簇聚在一个很小的区域内。如果把这一局部区域的程序和数据从主存复制到Cache中,使CPU能够高速地在Cache中读取指令和数据,就可大大提高CPU的访存速度。2026/5/4684.4.2结构与工作原理2026/5/4691.Cache的基本结构⑴Cache存储阵列由高速存储器构成,用于存放主存信息的副本。容量小于主存,但编址方式、物理单元长度均与主存相同。⑵地址映像变换机构用于实现主存地址与Cache地址转换的部件,一般由相联存储器组成,用以记录主存内容存入Cache时两者地址的对应关系。⑶替换策略实现机构根据一定的算法,用硬件实现块的替换。2026/5/470在带Cache的存储器中,CPU的访存地址被分割成两部分:①块地址(块框架地址、块号)用于查找该块在Cache中的位置。②块内位移(块内偏移量)用于确定所访问的数据在块中的位置。01011010001000000100101110011100块号块内偏移量2026/5/4712.Cache的工作过程⑴当CPU需要进行访存时,首先给出主存实地址。⑵地址映像变换机构接收到主存实地址后,根据块号判定所访问的信息字是否在Cache中。若在(Cache命中),通过地址变换机构将主存块号变换为Cache块地址,再根据块内地址,对Cache进行存取。若不在(Cache不命中),则通知访问Cache块失效。然后通过CPU与主存之间的直接数据通路访问主存,将被访问字直接送给CPU,并将包含该字的新块装入Cache。若Cache巳满,则通过替换策略实现机构,调出某一Cache块,然后装入所需的块。2026/5/472Cache的存在对程序员是透明的。在处理机每次访问存储器时,系统自动将地址转换成Cache中的地址。提高Cache的访问速度的方法⑴Cache的地址变换和数据块的替换算法均用硬件实现。⑵在物理位置上让Cache尽量靠近CPU,以减少CPU与

Cache之间的传输延迟。如将Cache集成在CPU芯片内。⑶为了加速调块,一般将每个数据块的容量规定为并行

主存系统一个存储周期所能访问到的字数。2026/5/4734.4.3Cache的地址映像方式因为CPU以主存地址访问Cache,所以必须把访存地址变换为Cache的实际地址。地址变换取决于地址映像方式,也即主存信息按什么规则装入Cache。2026/5/474cache的容量与命中率的关系2026/5/4751.全相联映象及变换任何主存单元可映象到任意一个Cache单元。主存Cache0块1块…k块…2n-1块0块1块…2m-1块设主存有2n块Cache有2m块2026/5/4762026/5/477(1)任意主存单元的数据或指令可以存放到Cache的任意单元中去,两者之间的对应关系不存在任何限制.(2)增加Cache的容量能存储的数据越多,命中率越高,但每次访问内存都需要进行大量的地址比较,既耗时同时效率也低.全相联映象方式的特点2026/5/478直接映像是指任何一个主存单元只能复制到Cache的某一固定单元中。2.直接映像方式2026/5/479主存Cache0区0块0区1块……0区2m-1块1区0块1区1块……1区2m-1块……2n-m-1区0块2n-m-1区1块……2n-m-1区2m-1块0块1块…2m-1块2026/5/4802026/5/481直接映象方式的特点:(1)只需要做一次地址比较即可确定是否命中(2)不同的内存单元可能有相同的cache索引,不同的cache标识使得cache仍未命中,需要访问主存2026/5/482组相联映像是前两种方式的一种折衷方式。组相联映像方式是先将主存以Cache容量分为若干区,再将主存块和Cache块以相同块数进行分组。主存中的任何一组能只映像到Cache中的某一固定组,但同一组中的主存块可调入Cache中指定组内的任意块中。如果组的大小为1,组相联映像就变成了直接映象;如果组的大小为整个Cache的尺寸,组相联映像就变成了全相联映象。当一个组里有n块时,组相联映象方式也称为n路组相联。3.组相联映像方式2026/5/483主存Cache0区0组0块…0组…0区0组2q-1块0区2s-1组0块…2s-1组…0区2s-1组2q-1块……2n-m-1区0组0块…0组…2n-m-1区0组2q-1块2n-m-1区2s-1组0块…2s-1组…2n-m-1区2s-1组2q-1块0组0块0组…0组2q-1块2s-1组0块2s-1组…2s-1组2q-1块2026/5/4842026/5/4852026/5/486组相连映像方式的特点:(1)地址比较的次数与相关联的程度有关(2)组的数目越多,性能越高,但用作标识cache的SRAM容量也增加了,从而增加了成本2026/5/4875.Cache的替换算法当访存Cache不命中时,必须从主存中调入所需块,此时,若Cache已满或已装不进新块,则必须按一定算法,选择一个Cache块将其替换出去,然后才能调入新块。如何选择被替换块,这就是替换算法的问题。常用替换算法有两种:FIFO法和LRU法。2026/5/488FIFO法(先进先出法)按调入Cache的先后决定替换顺序,即需要替换时,总是淘汰最先调入Cache的块。FIFO法控制简单,容易实现。但最先调入的信息不一定是最近不使用的信息,所以这种算法可能影响Cache命中率。LRU法(近期最少使用法)把近期最少使用的Cache块替换出去。这种算法需随时记录Cache中各块使用情况,以确定哪个块为近期最少使用的块。LRU法是按使用频繁程序决定淘汰顺序的,比较合理,使Cache命中率高于FIFO法,是目前使用最多的一种替换算法。2026/5/4894.5存储系统组织本节从存储器组织的角度,讨论解决存储器速度、容量、价格之间矛盾的一些常用技术,包括双端口存储器、并行主存系统、高速缓冲存储器和虚拟存储技术等。2026/5/4904.5.1双端口存储器单端口存储器:

单端口存储器每次只接收一个地址,访问一个编址单元,从中读取或存入一个字节或一个字。双端口存储器:

双端口存储器具有两个彼此独立的读/写口,每个读/写口都有一套独立的地址寄存器和译码电路,可以并行地独立工作。两个读/写口可以按各自接收的地址,同时读出或写入,或一个写入而另一个读出。与两个独立的存储器不同,两套读/写口的访存空间相同,可以访问同一区间、同一单元。2026/5/491双端口存储器2026/5/492双端口存储器的常用场合:⑴在运算器中采用双端口存储芯片作为通用寄存器组,能快速提供双操作数,或快速实现寄存器间传送。⑵让双端口存储器的一个读/写口面向CPU,通过专门的存储总线(或称局部总线)连接CPU与主存,使CPU能快速访问主存;另一个读/写口则面向外围设备或输入输出处理机IOP,通过共享的系统总线连接,这种连接方式具有较大的信息吞吐量。⑶在多机系统中采用双端口存储器甚至多端口存储器,作为各CPU的共享存储器。实现多CPU之间的通信。2026/5/4934.5.2并行主存系统

为提高系统速度,在高速的大型计算机中普遍采用并行主存系统。并行主存系统:

在一个存储周期内可并行存取多字的存储系统。

利用并行主存系统可以提高整个存储器系统的吞吐率(数据传送率),解决CPU与主存间的速度匹配问题。2026/5/4941.单体多字并行主存系统单体多字并行主存系统:多个并行存储器共用一套地址寄存器,按同一地址码并行地访问各自的对应单元。例如n个存储器顺序排列n个字,每个字有w位。假定送入的地址码为A,则n个存储器同时访问各自的A号单元。即将这n个存储器视作一个大存储器,每个编址对应于n字×w位,因而称为单体多字方式。单体多字并行主存系统适用于向量运算一类的特定环境。例如矩阵运算中的aibj=a0b0、a0b1、…,就适于采用单体多字并行存取方式。2026/5/495单体多字并行主存系统2026/5/4962.多体交叉存取方式的并行主存系统多体交叉存储器:使用n个容量相同的存储器,或称为n个存储体,它们具有自己的地址寄存器、数据线、时序,可以独立编址地同时工作。各存储体的编址大多采用交叉编址方式,即将一套统一的编址,按序号交叉地分配给各个存储体。每个存储体都有自己的读写控制电路、地址寄存器和数据寄存器,各自以等同的方式与CPU传送信息。在理想情况下,如果程序段或数据块都是连续地在主存中存取,那么将大大提高主存的访问速度。2026/5/497四个存储体组成的多体交叉存储器2026/5/498多体交叉存取方式的并行主存系统2026/5/499CPU同时访问四个模块,由存储器控制部件控制它们分时使用数据总线进行信息传递。对每一个存储模块来说,从CPU给出访存命令直到读出信息仍然使用了一个存取周期时间,而对CPU来说,它可以在一个存取周期内连续访问四个模块,各模块的读写过程并行进行。多体交叉存取方式适合支持流水线的处理方式,而流水处理方式已是CPU中一种典型技术,因此,多体交叉存储结构是高速大型计算机的典型主存结构。2026/5/4100多存储体分时工作示意图2026/5/41014.5.3虚拟存储器虚拟存储器是建立在主存—

辅存层次上,由附加硬件和操作系统存储管理软件组成的存储体系,其目的是为用户提供比主存容量大得多的程序空间。采用虚拟存储器技术后,可将主存和辅存的地址空间统一编址,用户按其程序需要使用逻辑地址(即虚地址)进行编程。所编程序和数据在操作系统管理下先送入辅存(一般是磁盘),然后操作系统自动地将当前即需运行的部分调入主存,供CPU操作,其余暂不运行部分留在辅存中。随程序执行的需要,操作系统自动地按一定替换算法进行调换,将暂不运行部分由主存调往辅存,将新的模块由辅存调入主存。2026/5/4102CPU执行程序时,按照程序提供的虚地址访问主存,因此,先由存储管理硬件判断该地址内容是否在主存中。若已调入主存,则通过地址变换机制将程序中的虚地址转换为主存的物理地址(即实地址),据此访问主存的实际单元。若尚未调入主存,则通过缺页中断程序,以页为单位调入或实现主存内容更换。上述过程对于用户程序是透明的,用户看到只是用位数较长的虚地址编程,CPU可按虚地址访存,可访问存储空间很大,遍及辅存空间。显然,这是一个虚拟层次。2026/5/4103从原理上,虚拟存储器和Cache有不少相同之处,不同的是Cache控制是全部用硬件实现的,所以对各类程序员是透明的,而虚拟存储器的控制是软硬件结合的,对设计存储管理软件的系统程序员是不透明的,而对应用程序员是完全透明的。虚拟存储器的管理方式有三种:页式、段式和段页式。(前两种常用)2026/5/4104页式存储管理主要思路:把虚拟(逻辑)地址空间和主存实际(物理)地址空间,都分成大小相等的页,并规定页的大小为2的整数次方个字,则所有地址都可以用页号拼接页内地址的形式来表示。2026/5/4105虚拟地址用虚页号拼接页内地址

温馨提示

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

评论

0/150

提交评论