第3章-存储系统_第1页
第3章-存储系统_第2页
第3章-存储系统_第3页
第3章-存储系统_第4页
第3章-存储系统_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

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

文档简介

1、第3章 存储系统,计算机组成与汇编语言,3.1 存储器概述,3.2 存储器的设计与控制,3.3 高速缓冲存储系统,第 3 章 存 储 系 统,3.4 虚拟存储系统,3.5 存储器技术的发展,本章要点,存储器的基本组成 存储器的技术指标 存储器分类 存储器的设计 Cache系统的工作原理 Cache系统的地址变换与映像 虚拟存储系统,3.1 存储器概述,3.1.1 主存储器的基本组成和技术指标,3.1.3 存储器的层次结构,3.1.2 存储器分类,3.1 存储器概述,3.1.1 主存储器的基本组成和技术指标,1存储器的基本组成,存 储 体,读写 驱动 器,数据 寄存 器,地址 译码 驱动,地址

2、寄存 器,CPU,2. 存储体,3.1 存储器概述,存储体是存储器的核心,由很多个存储单元组成,每个存储单元可存放一位或几位二进制数码。,(1)二进制位的存储,典型的二进制位的存储有两种: 六管静态存储和单管动态存储,(1)二进制位的存储,1)六管静态MOS管存储位 采用触发器存储信息,只要不发生掉电,它的状态就是稳定的,而且可读可写. 静态随机存储器SRAM的基本元件。 当电源掉电时,原来存储的信息就会丢失,属于易失性(又称易挥发性)存储器。,(1)二进制位的存储,(1)二进制位的存储,2)单管动态MOS管存储位 动态MOS管存储位是动态随机存储器DRAM的基本元件,它利用MOS管的栅极电容

3、的充电和放电状态来保存信息。 常见的有三管和单管DRAM基本元件。,图3.3 动态存储单元,(b) 多个存储元件构成的动态存储单元,(2)存储体中存储单元的地址译码,存储体是存储器的核心,由多个存储单元组成,每个存储单元可存放一位或几位二进制数码。 通常存储单元电路按照二维矩阵的形式来排列组成存储体,以简化译码器结构和减少存储器芯片的封装引脚数。,3.1 存储器概述,3.1 存储器概述,3存储器的工作原理,3.1 存储器概述,3存储器的工作原理,CPU按地址访问存储器的存储单元。 CPU将n位地址码通过地址总线送入存储器中的地址寄存器MAR 通过地址译码驱动电路选中了某一单元驱动相应的读/写电

4、路,实现对2n个片内存储单元的选址。 在读/写控制逻辑的作用下,通过MDR是协调CPU与存储器之间在速度上的差异设置的,暂时存放存储器读写的数据。 随着存储器技术的不断发展,存储器在组成时做了一些相应的改变,但其基本组成部分大致不变,3.1 存储器概述,4存储器的技术指标,(1)存储容量:指一个存储器所能够容纳的二进制信息量,它反映了存储空间的大小。 (2)存储速度:执行存储器读出和写入操作时所占用的时间 。通常用存取时间和存取周期来衡量存储器的存储速度 。,3.1 存储器概述,4存储器的技术指标,(3)存储器的可靠性:规定的时间内存储器无故障读/写的概率。 通常用平均无故障时间MTBF来衡量

5、 (4)存储器的性能/价格比,3.1.2 存储器分类,1.按构成存储器的存储介质分类,半导体存储器 磁表面存储器 磁芯存储器 光盘存储器,双极型(TTL) 金属氧化物半导体型(MOS),2. 按存取方式分类,(1)ROM (2)RAM (3)串行访问存储器,SRAM DRAM,SAM DAM,3.按在计算机中的作用分类,4.按访问方式分类,按地址访问的存储器价格便宜、存取速度快、结构简单等优点。 按内容访问的相联存储器是一种把存储内容的某一部分作为关键字,逐个存储字单元进行比较,找出存储器中所有与关键字相同的数据。 相联存储器可用在高速缓冲存储器以及虚拟存储器中用来作段表、页表或快表存储器。,

6、3.1.3 存储器的层次结构,如何拥有一个大容量、高速度和低成本的存储器 ?,存储系统的层次结构,即利用存储系统原理来构成基于不同速度和容量的存储器层次结构,而非只是依赖于某一存储技术或部件。,存储系统是由多个性能各不相同的存储器用硬件和软件方法连接成一个系统,它对应用程序员是透明的,其速度接近速度最快的那个存储器,存储容量与容量最大的那个存储器相等或接近,单位容量的价格接近最便宜的那个存储器。,图,3.6,多级存储器层次结构,3.2 存储器的设计与控制,3.2.1 常用的译码电路,3.2.2 内存容量的扩充,3.2.3 设计实例,3.2 存储器的设计与控制,单个存储器芯片的存储容量有限,为了

7、满 足实际存储器容量的需求,必须采用多个存储 器芯片互连以扩大存储容量,构成系统所需的 存储器。,进行存储器的扩展设计时,互联的存储器其地址线、数据线和控制线与系统总线连接,那么如何确定CPU访问的是哪个存储器芯片呢?,3.2.1 常用的译码电路,片选方法:,线选法:直接以系统的高位地址线作为存储芯片的片选信号 译码法:指使用译码器与系统的高位地址连接,将其译码输出值作为存储芯片的片选信号,常用的译码芯片有74LS139和74LS138等,由基本的2 -4译码器和3 -8译码器构成 。,3.2.1 常用的译码电路,3.2.2 内存容量的扩充,大容量存储器的构成需要在字长和位长两个方向对其进行扩

8、展,通常有位扩展、字扩展和字位扩展三种方式,1、位扩展,位扩展:指当RAM芯片的字长不能满足实际的存储器系统的字长要求时,需要对RAM进行位扩展,即增加存储字长。,位扩展可采用存储器芯片地址线并联,数据线串联的方式实现。,例:使用16K 1位的RAM芯片,构成16K8位的存储器 ?,解:16K 1位的RAM芯片其地址线为14条, 有一位数据位,16K8位的存储器其地址线为14条, 但是数据位为8位,所以需采用位扩展方式即用8片 16K 1位的RAM芯片 构成16K8位的存储器。,2、字扩展,字扩展:是指增加存储字的数量,采用多个芯片地址串联的方式实现扩展存储空间的范围。,字扩展是位数不变,仅在

9、字方向扩展。,例:使用1K 8位的RAM芯片,构成2K8位的存储器 ?,解:1K 8位的RAM芯片其地址线为10条,有8位 数据位,2K8位的存储器其地址线为11条,数据位为8位, 其数据位相同,需对地址进行扩展,所以采用字扩展方式, 共需2片1K 8位的RAM芯片。,3、字位扩展,字位扩展:是指从字方向和位方向两个方面对存储器进行扩展。,若使用容量为pk位的存储芯片,设计构成容量为MN位的存储器(pM,kN),共需存储芯片数为:( M /p ) ( N / k )。,例:使用1K4位的存储芯片设计容量为2K8位的存储器 ?,解:(2K / 1K)(8 /4)= 4(片), 由每组二片存储芯片

10、完成位扩展;二组这样 的存储芯片完成字扩展 。,存储器的设计主要考虑以下问题:,3.2.3 设计实例,根据需要合理选择存储芯片 考虑构成一定容量存储器的方法 存储器芯片间、及相关器件如何相连,例:使用Intel 2114存储器芯片扩展成8K8位的存储器。,Intel 2114 是一种典型SRAM 存储器芯片,18脚封装,+5 V电源供电,芯片存储容量为1K4位, CS为片选信号,低电平有效 。 Intel 2114芯片存储容量为1K4位,扩展成8K8位的存储器,该存储器共需要:(8K / 1K)(8 / 4)= 16片,采用字位扩展的方法。 使用74LS138译码器芯片译码。 74LS138是

11、一种3 -8译码器,其中G为控制端,高电平有效,A、B、C为译码输入端,Y7Y0为对应译码输出端,低电平有效。,图3.11 Intel 2114存储器芯片扩展设计,3.3 高速缓冲存储系统,3.3.1 Cache系统的工作原理,3.3.2 地址变换与映像,3.3.3 替换策略,CPU与主存的速度不匹配问题,已成为计算机系统发展的瓶颈。,为了解决CPU与内存速度不匹配的问题,应用了高速缓冲存储技术。,高速缓冲存储器(Cache)系统由高速、小容量的Cache和主存共同组成。 从CPU角度看,高速缓存系统速度接近于Cache,而容量为主存大小。,程序访问的局部性原理 Cache存储系统基本工作原理

12、就是基于“局部性”原理。 Cache存储系统中,Cache与主存储器之间以“块”为单位进行信息交换,一般块的大小为116个字 。,3.3.1 Cache系统的工作原理,实际应用中,通过对大量典型程序运行情况的分析表明,在一个较短的时间范围内,程序对存储空间的访问不是均匀分布的,而是集中在一个较小的地址空间内.,主存地址: Cache地址:,地址变换过程,Bb,命中?,CPU,访存,调入Cache,替换,Cache,Cache满?,Y,N,Y,N,3.3.2 地址变换与映像,Cache中的块与主存储器中的块是怎样建立对应关系的呢?程序中的主存地址又是如何变换成Cache地址的呢?,地址映像和地址

13、变换,3.3.2 地址变换与映像,Cache的地址映像:是指把主存地址空间映像到Cache地址空间,即按照某种规则将主存中的内容装入到Cache中,并建立主存地址与Cache地址的对应关系,地址变换:是程序运行时,根据地址映像把主存地址变换成Cache地址,便于数据存取。,3.3.2 地址变换与映像,地址映像和相关的地址变换有方式:,1全相联映像及其变换:主存中的任意一块可以映象到Cache中的任意一块的位置上 2. 直接映像及其变换:直接映像是让主存中的一个块只能映像到Cache中的某一个特定块地址的方式 3组相联映像及其变换:组相联映像方式结合了直接相联映像和全相联映像的优点,1全相联映像

14、及其变换,全相联映象方式是指主存中的任意一块可以映象到Cache中的任意一块的位置上 这种映像方式也允许从已占满的Cache中替换出任一旧字块,1全相联映像及其变换,图3.10 全相联映像方式,查目录表: 命中,以b访问Cache;未命中,以主存地址访存,备份装入Cache,全相联地址变换,块号B,块内地址W,目录表(由相联存储器构成,共Cb个字),主存地址,块号b,相联比较,Cache地址,块内地址w,查到相等 的块号,有效位 为1表示 映像有效,1全相联映像及其变换,全相联映像和变换方式块冲突率最低,Cache的利用率最高。 其缺点是访问速度太慢,成本太高,影响了Cache的访问速度。,2

15、直接映像及其变换,直接映像是让主存中的一个块只能映像到Cache中的某一个特定块地址的方式 主存空间按Cache的大小分成Me个区 Cache和每个主存区都划分成Cb个块 主存块和Cache块容量相同。,直接映象: 主存中1块只映象到Cache的特定块中 b=B mod Cb Mb应是Cb的整数倍。 主存分区:Me=Cb,分区中的块号Be与Cache中的块号b相同,直接相联映象方式,区0,区1,区Me-1,直接相联地址变换,块号B,块内地址W,区表存储器(共Cb个字),主存地址,块号b,相等,Cache地址,块内地址w,区号E,相等比较,块失效,访问Cache,若相等且有效位为1,即 命中,以

16、Cache地址访问Cache;读出数据送往CPU。,以块号B访问区表,读出区号进行比较,不等,图3.16 直接相联映象地址变换,2直接映像及其变换,优点是硬件实现简单,不需要进行地址变换,访问速度也比较快。 缺点是Cache块冲突概率较高,当主存中的两个或两个以上经常使用的块都映象到Cache的同一块中,Cache的命中率将急剧下降,这时即使Cache中有其它空闲块,也因为固定的地址映像关系而无法应用。,3组相联映像及其变换,组相联映像方式结合了直接相联映像和全相联映像的优点。 组相联映像将主存地址分区,每一区容量与Cache相同,再将主存、Cache分组,每组块数相同 区内的各组只能对应Ca

17、che中特定的组 主存组对Cache组直接映像,组内块之间全相联映像。 Cache中指定组的空间只能存放主存中相同组号的存储块的副本. 主存数据块存放在Cache中指定组内哪一块是任意的。,Cache地址:,主存地址:,图3.17 组相联映像方式,组相联映像方式地址变换,组内块号B,块内地址W,块表,主存地址,组内块号b,相等,Cache地址,块内地址w,组号G,相联比较,块失效,若相等即 命中,以g,b,w组成Cache地址访问Cache;读出数据送往CPU。,以组号B访问块表,读出一组字与E,B进行比较,不等,区号E,组号g,加快访问的方法: Cache地址变换与访Cache并行 多块同时

18、比较 优缺点介于直接映象和全相联映像之间 当每组块容量Gb为1时,成直接映像方式 当每组块容量Gb与Cache的块容量Cb相等时,成全相联映像方式。 一般, Gb越大,块的冲突概率和块失效率越低,但组内映像关系就越复杂,实现成本越高。应注意合理分配组的块容量,3.3.3 替换策略,当发生Cache块失效时,需要从主存调入要访问的Cache块,如果此时在Cache中出现块冲突,就必须选择替换掉一个Cache块,这就涉及更新策略,即替换算法。 直接映像方式实际上不需替换算法 全相联映像替换算法最复杂 在组相联和位选择组相联映象及地址变换方式中要考虑替换算法 Cache替换算法用硬件实现。,1、随机

19、替换算法,随机替换算法是根据一个随机数,每次从Cache块中选取一块替换出去,随机数可用一个简单的随机数产生器产生。 优点是硬件上容易实现,且速度也较快; 缺点是这种算法不考虑各块的使用情况,随意换出的数据很可能马上又要使用,从而使Cache的命中率和工作效率降低. 已淘汰不用,2、先进先出(FIFO)法,FIFO算法是按照主存块调入Cache的先后次序,每次将最先调入Cache的主存块替换出去。 该算法实现时需要记录每个块的调入时间以确定先后次序,当需要替换时,从所有可能被替换的块中选择一个时间值最大的块替换出去。 优点是实现较容易,系统开销较小。 缺点是没有充分考虑程序的局部性原理(如循环

20、程序),将可能需要使用的块调出,从而影响Cache的命中率. 很少采用。,3、近期最少使用(LRU)算法,LRU算法是将Cache中近期最少使用的主存块替换出去,该算法能比较正确地反映程序的局部性。 在实现该算法时,为Cache的各个块设置一个计数器,当该块命中时,其计数器清零,其它块的计数器增1。当需要替换时,从所有可能被替换的块中选择一个计数器值最大的块替换出去,即近期最少使用的块。 这种算法符合Cache工作原理,可使Cache具有较高的命中率。 是目前广泛采用的替换算法。,虚拟存储系统:主存与联机外存共同组成 主存:DRAM,容量小、速度快、价格高 外存:磁盘,容量大、速度慢、价格低

21、虚拟存储器完成主存-辅存的存储层次工作。 目标:增加快速的存储器容量。 虚拟存储器的建立和管理主要基于软件,因此对系统程序员是不透明的。,3.4 虚拟存储系统,3.4.1 虚拟存储器的工作原理 3.4.2 虚拟存储的实现,3.4 虚拟存储系统,3.4.1 虚拟存储器的工作原理,虚拟存储器即虚拟存储系统,简称为虚存,并不是一个实际的物理存储器,而是一个逻辑模型,它是在主存-辅存层次,增加部分软件和必要的硬件支持,使其形成一个有机整体,获得一个比物理主存大得多的具有整个虚拟空间的存储器。 虚拟存储器不仅扩大了主存的容量,解决了存储容量和存储速度的矛盾,也是管理存储设备的有效方法。 虚拟存储系统一般

22、由操作系统实现,应用程序员无须考虑程序的存储问题。,虚拟存储器涉及到地址空间、地址映像和地址变换三个主要概念. (1) 地址空间有三种: 虚地址空间,它是应用程序员编程的地址空间,这个地址空间非常大; 主存地址空间,又称实存地址空间;是程序存储、运行的实际空间,其相应的地址称为主存物理地址或实地址。 辅存地址空间,即磁盘地址空间,所谓“主存不够辅存补”,是用来存放程序的空间,相应的地址称为辅存地址或磁盘地址,(2)地址映像 地址映像是指把用户用虚拟地址编写的程序按照某种算法装入主存,即把虚存空间映像到主存空间,建立用户虚地址与主存实地址的对应关系,便于取指令。 (3)地址变换 地址变换是指程序

23、运行时,用户虚地址变换为主存实地址(内部地址变换)或辅存地址(外部地址变换) ,便于数据存取。,从原理的角度看Cache-主存完全由硬件实现,虚拟存储器的建立和管理主要基于软件,对于系统程序员是不透明的。 Cache-主存之间传送信息的单位是数据块,虚拟存储器传送信息的单位是段和页。 虚拟存储器的基本工作原理也是基于“程序访问的局部性原理”. 虚拟存储器的工作速度接近于主存,存储容量接近于虚拟地址空间。,3.4.2 虚拟存储的实现,三种类型的虚存:(1)段式虚拟存储器 (2)页式虚拟存储器 (3)段页式虚拟存储器 地址变换:程序运行时,用户虚地址变换为主存实地址(内部地址变换)或辅存地址(外部

24、地址变换) ,便于数据存取。 地址映像:程序装入时,建立用户虚地址与主存实地址的对应关系,便于取指令。,1。段式虚拟存储器,段式虚拟存储器按程序内容将程序分段,程序段可以是主程序、子程序或过程,也可以是数据块。 基本原理: 按程序内容分段,长度可长可短。 建立段表(段号、段长、段起始地址、段访问方式及标志) 地址映像方法(示意) 地址变换过程(示意) :,0段,1段,2段,3段,0,1,2,3,段号,8K,16K,9K,30K,起始地址,程序段通过段表与主存中的区域唯一对应 如第i程序段对应段表中段号为i的一行,由起始地址和段长即可找到主存中对应的段。,1K,500,200,200,段长,0

25、8K 9K 16K 30K,0 1K 0 500 0 200 0 200,程序空间,段表,主存储器,地址映像方法,虚地址U、S、D段表基址寄存器堆 该用户或作业的段表主存实地址,地址变换过程,用户号U,段号S,段内偏移D,6,As,段表基址寄存器,一个用户(一道作业)的段表,多用户虚地址,主存实地址,+,+,U=6,S=3,As,段表有关字段作用: 起始地址、段长:位置保护 访问方式:保护级别 装入位:程序段是否在主存中 标志:是否修改,段式虚存的主要优点: 程序的模块化性能好 便于程序和数据的共享 程序的动态链接和调度比较容易 便于实现信息保护 段式虚存的主要缺点: 地址变换费时 主存利用率

26、低 对辅存管理较困难,2。页式虚拟存储器,页式虚拟存储器把虚拟空间和主存空间划分成一个个固定大小的页,分别称为虚页和实页。 页:虚实地址空间分为固定大小的块,Page,一般为0.5kB的整数倍,116kB 地址映像方法 地址变换过程:,0页,1页,2页,3页,0,1,2,3,页号,主存页号,程序分页页表映像主存页,地址映像方法,虚地址U、P、D页表基址寄存器堆该用户或作业的页表主存实地址,地址变换过程,用户号U,虚页号P,页内偏移D,Pa,页表基址寄存器,页表,多用户 虚地址Av,实页号p,+,Pa,主存实地址A,页内偏移d,页式虚拟存储器主要优点 主存利用率高 页表简单 地址映象与变换速度快

27、 对辅存管理容易 页式虚拟存储器主要缺点 程序的模块化性能不好 页表很长,3。 段页式虚拟存储器,段页式虚拟存储器是段式虚拟存储器和页式虚拟存储器的结合,意在综合段式模块性好和页式主存利用率高的优点。 段页式虚拟存储器把实存分为固定大小的页,之后程序先按模块分段,再把每段分成与实存页面大小一样的页 段页式虚存: 用户虚存采用分段管理,主存采用分页管理 地址映像方法 程序分段、页查段表查该段页表主存页,页表地址,程序分段、页查段表查该段页表主存页,段页式虚存地址映像方法,0段(12K),1段(10K),2段(5K),用户程序,页表地址,3,3,2,0段0页,0段1页,0段2页,段表,0段页表,1

28、段0页,1段1页,1段2页,1段页表,2段0页,2段1页,2段页表,主存,地址变换: 多用户虚地址:用户号U,段号S,虚页号P,页内偏移D 段表基址寄存器 该用户或作业的段表 该用户或作业的页表 主存实地址:实页号p,页内偏移d,多用户虚地址U、S、P、D段表基址寄存器 该用户或作业的段表相应的页表主存实地址,段页式虚存地址变换过程,用户号U,段号S,页内偏移D,段表基址寄存器,多用户页表,多用户虚地址,+,+,主存地址A,As,虚页号P,As,多用户段表,页内偏移d,实页号p,Ap,段页式虚拟存储器主要优点 程序的模块化较好 主存利用率高 对辅存管理容易 段页式虚拟存储器主要缺点 访主3次:访段表页表各1次,再访主存实地址,查表速度有待改进,3.5 存储器技术的发展,3.5.1 主存的发展,3.5.2 缓存的发展,3.5.1 主存的发展,主存俗称为内存,在计算机诞生初期内存是以磁芯的形式排列在线路上,后来出现了焊接在主板上的半导体集成内存芯片。 从80286主板开始,改用内存条配套内存插槽,方便了内存安装和更换。 内存条最初采用SIMM(Single In-line Memory Modules,单边接触内存模组)接口,容量为30pin、256KB。 上一世纪90年代末,随着CPU向32bit发展,出现了72pin SIMM 内存,支持32bit快速页模式内存,单条容量一般为

温馨提示

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

评论

0/150

提交评论