




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机组成与体系结构计算机组成与体系结构第二章 存储系统 11/24/20211计算机组成与体系结构 安徽大学出版社u2.1存储系统概述存储系统概述u2.2主存储器主存储器u2.3高速缓冲存储器高速缓冲存储器u2.4虚拟存储器虚拟存储器u本章习题本章习题目录2数据和程序在计算机系统中是如何存放的?存储系统存储系统是指计算机中存储程序和数据的系统,由各种存储是指计算机中存储程序和数据的系统,由各种存储设备、控制部件及管理信息调度的硬件和软件组成,具有设备、控制部件及管理信息调度的硬件和软件组成,具有存存入入(又称写入,简称写)和(又称写入,简称写)和取出取出(又称读出,简称读)两大(又称读出,简
2、称读)两大功能。功能。 2.1.1 存储体系 2.1.2 存储器分类 2.1.3 存储器主要性能指标 2.1存储系统概述存储系统概述1946年RCA公司启动了对计数电子管的研究,这是为早期巨大的电子管计算机配置的存储器。一个管子长达10英寸,能够保存4096比特数据,价格极其昂贵,很快就退出市场。 计数电子管计数电子管 现代存储器的发展过程 延迟线存储器是约翰埃克特在20世纪40年代中期为EDVAC和UNIVAC I等计算机发明的,用在早期计算机上。类似现代的许多电子存储设备,延迟线存储器是一种可以重刷新的存储器,但是与现代的随机存取存储器不同的是,延迟线存储器的工作方式为循序存取。 约翰埃克
3、特(1919-1995)汞延迟线存储器现代存储器的发展过程 1932年奥地利的古斯塔夫陶舍克发明了磁鼓存储器,作为计算机的主干工作存储器,磁鼓存储器广泛用于20世纪五六十年代第一代电子计算机中存储数据与指令。古斯塔夫陶舍克磁鼓存储器磁鼓存储器 现代存储器的发展过程 在1950年代,IBM最早把盘式磁带用在数据存储上。1951年,UNIVAC-I第一次采用磁带机UNISERVO作外存储器。从右到左分别为:从右到左分别为:3.5软盘软盘, DC 磁带磁带 (250 MB, 6毫米毫米, 1020英尺英尺), DL 磁带磁带 (8毫米毫米, 367英尺英尺), DDS 4 磁带磁带 (20 GB 无
4、压缩无压缩, 4毫米毫米, 492英尺英尺)各式磁带机和磁带各式磁带机和磁带 现代存储器的发展过程 美籍华人物理学家王安于1948年提出了利用磁性材料制造存储器的思想。在直径不到1毫米磁芯里可穿进一根极细的导线,只要有代表“1”或“0”的讯号电流流经导线,就能使磁芯按两种不同方向磁化,信息便以磁场形式被储存。 CDC 6600的磁芯存储器的磁芯存储器 王安(1920-1990)王安的磁芯存储器王安的磁芯存储器 现代存储器的发展过程 1967年,美国无线电有限公司制成了领航用的机载计算机LIMAC,其逻辑部件采用双极型大规模集成电路,缓冲存储器用MOS大规模集成电路。 1969年,美国自动化公司
5、制成计算机D-200,采用了MOS场效应晶体管大规模集成电路。1971年,IBM公司开始生产IBM 370系列机,它采用大规模集成电路做存储器,小规模集成电路做逻辑元件,被称为“第三代半电子计算机”。现代存储器的发展过程 1956年,IBM 350 RAMAC计算机问世,随之一起诞生的是世界上第一款硬磁盘IBM Model 350硬磁盘,它由50块24英寸磁盘构成,总容量为5百万个字符。1980年,第一块容量上G的硬盘IBM 3380也诞生在IBM,其容量为2.52GB,体积大如冰箱,重550磅,造价约10万美元。 IBM Model 350硬磁盘硬磁盘现代存储器的发展过程 20世纪60年代,
6、荷兰飞利浦公司的研究人员开始使用激光光束进行记录和重放信息的研究。1972年,激光视盘(LD,Laser Vision Disc)系统 研制成功。20世纪80年代中期,光盘存储器设备发展速度非常快,先后推出了WORM光盘、磁光盘(MO)、相变光盘(Phase Change Disk,PCD)等新品种 。20世纪90年代,DVD-ROM、CD-R、CD-R/W等开始出现和普及。现代存储器的发展过程 2.1.1存储体系13现代计算机要求存储系统满足大容量大容量、高速度高速度和低成本低成本三项基本要求。由于制造工艺限制,很难在同一种存储器中都达到这些要求,三者不可兼得,为此采用分层(级)存储体系。把
7、各种不同存储容量、不同存取速度、不同价格的存储器,组成层次结构,并通过管理软件和辅助硬件将不同性能的存储器组合成有机的整体,称为计算机的存储层次或存储体系。 2.1.1存储体系14现代计算机通常采用Cache主存主存辅存辅存层次结构。在CPU和主存之间增加一个高速缓冲存储器,由纯硬件实现,提高CPU访问程序和数据的速度;主存辅存采用虚拟存储器技术,由软件和硬件实现,扩充主存的容量。2.1.1存储体系15高速缓存(高速缓存(Cache)又称快存,用速度较快的存储器构成,可在)又称快存,用速度较快的存储器构成,可在2ns内可完内可完成一次数据存取,目前容量一般为几成一次数据存取,目前容量一般为几M
8、B左右,用来临时存放指令和数据。左右,用来临时存放指令和数据。主存用来存放运行期间的大量程序和数据,目前容量在几主存用来存放运行期间的大量程序和数据,目前容量在几GB左右,速度稍左右,速度稍慢,可在慢,可在10ns内完成一次存取。内完成一次存取。辅存(即辅助存储器,又称外存储器,简称外存)一般由磁表面存储器、辅存(即辅助存储器,又称外存储器,简称外存)一般由磁表面存储器、光存储器构成,用来存放系统程序、大型文件、数据库等,目前容量在数光存储器构成,用来存放系统程序、大型文件、数据库等,目前容量在数百百GB左右,速度为左右,速度为ms级。级。三种存储器构成三级存储器管理,各级职能和要求不同。三种
9、存储器构成三级存储器管理,各级职能和要求不同。Cache追追求速度,以和求速度,以和CPU速度匹配;速度匹配;辅存辅存追求容量大;追求容量大;主存主存介于两者之间,对介于两者之间,对容量,速度都有一定要求。容量,速度都有一定要求。回顾:内存储器的分类及应用内存由半导体存储器芯片组成,芯片有多种类型:静态存储器静态存储器SRAM(用作(用作Cache)半导体半导体存储器存储器只读只读存储器存储器(ROM)随机存取随机存取存储器存储器(RAM)动态存储器动态存储器DRAM 不可在线改写内容的不可在线改写内容的ROM闪存(闪存(Flash ROM) (用作主存储器)(用作主存储器) 每个存储单元每个
10、存储单元(cell)由由6个晶体管组成个晶体管组成 只要加上电源,信息就能一直保持只要加上电源,信息就能一直保持 对电器干扰相对不很敏感对电器干扰相对不很敏感 比比DRAM更快,也更贵更快,也更贵 每个存储单元由每个存储单元由1个电容和个电容和1个晶体管组成个晶体管组成. 每隔一段时间必须刷新一次每隔一段时间必须刷新一次 对电器干扰比较敏感对电器干扰比较敏感 比比SRAM慢,但便宜慢,但便宜(用作(用作BIOS)回顾:内存与外存的关系及比较内存储器(简称内存或主存)内存储器(简称内存或主存)存取速度快存取速度快成本高、容量相对较小成本高、容量相对较小直接与直接与CPU连接,连接,CPU对内存中
11、的对内存中的指令及数据进行读、写操作指令及数据进行读、写操作属于易失性存储器属于易失性存储器(volatile),用于,用于临时存放正在运行的程序和数据临时存放正在运行的程序和数据内存储器内存储器外存储器外存储器CPU指令指令1指令指令2指令指令k指令指令n程序程序数据数据1数据数据2数据数据m数据数据程序和数据从程序和数据从外存成批传送到外存成批传送到内存内存CPUCPU从内存中逐从内存中逐条读取指令及相条读取指令及相关数据关数据将指令处理结将指令处理结果送回内存保存果送回内存保存将处理结果成将处理结果成批传送到外存以批传送到外存以长久保存长久保存逐条执逐条执行指令,行指令,按指令要按指令要
12、求完成对求完成对数据的运数据的运算和处理算和处理u 外存储器(简称外存储器(简称外存外存或辅存)或辅存) 存取速度慢存取速度慢 成本低、容量很大成本低、容量很大 不与不与CPU直接连接,先传送到内存,直接连接,先传送到内存,然后才能被然后才能被CPU使用。使用。 属于非易失性存储器属于非易失性存储器(Nonvolatile),用于长久存放系统中几乎所有的信息用于长久存放系统中几乎所有的信息地址寄存器地址译码器读写控制电路控制线读/写控制信号记忆单元数据线读 / 写 的 数据(64位位)主存地址地址线(36位位)0110100110101010存储内容0000100000000100001100
13、1001111011111存储单元地址MDRMARCPUMM回顾:主存的结构问题:主存中存放的是什么信息?问题:主存中存放的是什么信息?CPU何时会访问主存?何时会访问主存?程序及其数据!执行指令时要取指令、取数据、存数据程序及其数据!执行指令时要取指令、取数据、存数据2.1.2存储器分类19可分为磁介质存储器、电子介质存储器、纸介质存储器、光介质存储器等。 电子介质:半导体存储器磁芯 磁带 软磁盘 硬磁盘磁介质存储器纸介质存储器:纸带光介质:激光存储器按构成存储器的器件和存储介质分类按构成存储器的器件和存储介质分类2.1.2存储器分类20可分为随机存储器(Random Access Memo
14、ry,RAM)、只读存储器(Read Only Memory,ROM)、串行访问存储器(Sequential Access Memory,SAM)。ROMRAM按存取方式分类按存取方式分类可分为双极型和金属氧化物半导体型存储器。按制造工艺分类按制造工艺分类双极型半导体存储器LeffLt toxox基 板SiO2金属氧化物半导体型存储器可分为主存储器(简称主存,又称内存)、辅助存储器(简称外存或辅存)、缓冲存储器(简称缓存)等。按在计算机中的作用分类按在计算机中的作用分类 硬磁盘硬磁盘 移动硬盘存储器 软盘和软盘驱动器软盘和软盘驱动器 光盘和光盘驱动器光盘和光盘驱动器 U盘存储器 各种辅助存储器
15、2.1.2存储器分类23可分为易失性存储器和非易失性存储器。按信息的可保护性分类按信息的可保护性分类(4)按断电后信息的可保存性分类非易失(不挥发)性存储器(Nonvolatile Memory) 信息可一直保留, 不需电源维持。(如 :ROM、磁表面存储器、光存储器等)易失(挥发)性存储器(Volatile Memory) 电源关闭时信息自动丢失。(如:RAM、Cache等)2.1.3存储器主要性能指标24从存储器读出从存储器读出/写入一个存储单元信写入一个存储单元信息,或从存储器读出息,或从存储器读出/写入一次信息(信息写入一次信息(信息可能是一个字节或一可能是一个字节或一个字)所需要的平
16、均个字)所需要的平均时间,称为存储器的时间,称为存储器的取数时间取数时间/存数时间存数时间,记为记为tA。存储器存取周期存储器存取周期数据传输率数据传输率存储器存取时间存储器存取时间存储器进行一次完整存储器进行一次完整的读写操作所需要的全部的读写操作所需要的全部时间,称为时间,称为存取周期存取周期。具。具体地说,存取周期是连续体地说,存取周期是连续启动两个独立的存储器操启动两个独立的存储器操作(如两个连续的读操作作(如两个连续的读操作)之间所需要的最小时间)之间所需要的最小时间间隔,用间隔,用tM、tC或或tRC表示,表示,一般大于一般大于tA。单位时间可写入存储单位时间可写入存储器或从存储器
17、取出的信息器或从存储器取出的信息的最大数量,称为的最大数量,称为数据传数据传输率输率或称为存储器传输带或称为存储器传输带宽,单位为字节宽,单位为字节/秒(秒(B/s,Bps)或位)或位/秒(秒(b/s,bps)。)。 2.2.1 主存储器基本组成 2.2.2 RAM 2.2.3 ROM 2.2.4 半导体存储器的容量扩展 2.2.5 并行存储技术2.2主存储器存储器2.2.1主存储器基本组成261主存储器的基本结构主存储器的基本结构2.2.1主存储器基本组成27存储阵列存储阵列存储器地址寄存器存储器地址寄存器地址译码与驱动电路地址译码与驱动电路存储器数据寄存器存储器数据寄存器读写电路读写电路主
18、主存存储储器器的的基基本本结结构构控制部件控制部件2.2.1主存储器基本组成282主存储器的组成结构主存储器的组成结构位片式结构位片式结构字片式结构字片式结构是一种采用单译码方式的结构,访存地址仅进是一种采用单译码方式的结构,访存地址仅进行一个方向的译码。存储阵列中的所有存储单元的相同位组成行一个方向的译码。存储阵列中的所有存储单元的相同位组成一列,一列中的所有单元电路的两根位线分别连接在一起,并一列,一列中的所有单元电路的两根位线分别连接在一起,并使用一个读写电路。存储阵列中的每一行组成一个存储单元(使用一个读写电路。存储阵列中的每一行组成一个存储单元(字),一行中所有存储位对应的单元电路与
19、一根字选择线(字字),一行中所有存储位对应的单元电路与一根字选择线(字线)连接在一起,访存地址经地址译码器译码选中与对应字线线)连接在一起,访存地址经地址译码器译码选中与对应字线连接的一行中的所有单元电路,同时进行读连接的一行中的所有单元电路,同时进行读/写操作。写操作。位片式结构位片式结构是一种采用双译码方式的结构,访存地址需是一种采用双译码方式的结构,访存地址需进行行和列两个方向的译码,位于选中行和列的交叉处的存进行行和列两个方向的译码,位于选中行和列的交叉处的存储单元被唯一选中。储单元被唯一选中。1K4位位16K1位位8K8位位地址线地址线(单向)(单向)数据线数据线(双向)(双向)10
20、41411382.2.1主存储器基本组成29图为一个648的字片式结构的存储芯片,存储体中共64个字,每个字为8位,共需6根地址线,8根数据线,一次可以读写一个字节。如当地址A5A4A3A2A1A0=000001时,W1被选中,对应该字线的8位数据便可直接读出或写入。这种方式结构简单,但对n位地址,需要2n根选择线,不适合容量大的存储芯片。2.2.1主存储器基本组成30图为一个4K1的位片式结构存储芯片示意图。如当地址A11A10A1A0=1111 1100 0001时,X63和Y1被选中,对应第63行、第1列共同选中的那位被选中,可进行读或写操作。这种方式结构复杂,但对n位行地址、m位列地址
21、,仅需要2n+2m根选择线,适合容量大的存储芯片。2.2.2RAM31RAM即即随机存储器随机存储器,存储单元的内容可按需随意取出或存入,且存取速,存储单元的内容可按需随意取出或存入,且存取速度与存储单元的位置无关。这种存储器在断电时将丢失其存储内容,故度与存储单元的位置无关。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序主要用于存储短时间使用的程序1SRAMSRAM是由触发器(一般4个MOS管或6个MOS管)构成,不断电就可以保持其中存储的二进制信息不丢失,与DRAM相比,存储密度低、功耗高、速度快、价格高。2.2.2RAM32(1)SRAM基本存储单元基本存储单元读出时
22、:读出时: - 置置2个位线为高电平个位线为高电平 - 置字线为置字线为1 - 存储单元状态不同,位存储单元状态不同,位线的输出不同线的输出不同写入时:写入时: - 位线上是被写入的二进位线上是被写入的二进位信息位信息0或或1 - 置字线为置字线为1 - 存储单元存储单元(触发器触发器)按位按位线的状态设置成线的状态设置成0或或1信息存储原理:信息存储原理: 看作带看作带时钟的时钟的RS触发器触发器SRAM中数据保存在中数据保存在一对正负反馈门电路一对正负反馈门电路中,中,只要供电,数据就一直保持,不是破环性读出,只要供电,数据就一直保持,不是破环性读出,也无需重写。即:无需刷新!也无需重写。
23、即:无需刷新!2.2.2RAM33(2)SRAM芯片芯片常用的SRAM芯片有2114(1K4)、2142(1K4)、6116(2K8)、6232(4K8)、6264(8K8)、62256(32K8)等。2114芯片2.2.2RAM34(3)SRAM芯片读写时序芯片读写时序2114芯片读操作时序 2114芯片写操作时序2.2.2RAM352DRAMDRAM是由3个或1个MOS管和电容构成,必须间歇性充电(刷新)才可以保持其中存储的二进制信息不丢失,与SRAM相比,存储密度高、功耗低、速度慢、价格低。与SRAM相比,DRAM的优势在于结构简单每一个比特的数据都只需一个电容跟3个或1个MOS管来处理
24、,相比之下在SRAM上一个比特通常需要6个MOS管。因此,DRAM拥有非常高的密度,单位体积的容量较高因此成本较低。但相反的,DRAM也有访问速度较慢,耗电量较大的缺点。与大部分的RAM一样,由于存储在DRAM中的数据会在电源切断以后很快消失,因此它属于一种易失性存储器设备一种易失性存储器设备。2.2.2RAM36(1)三管)三管DRAM的基本存储单元的基本存储单元图为由T1、T2、T3三个MOS管和Cg组成的三管DRAM的基本存储单元,可以存储一个比特的数据。在存储矩阵中,每列共用一个T4管。2.2.2RAM37(2)单管)单管DRAM的基本存储单元的基本存储单元为了提高集成度,可以对三管D
25、RAM的基本存储单元进一步简化,去掉T1,把信息存储在Cs上,把T2和T3合并成一个管子T,便可得到单管DRAM的基本存储单元的电路,如图2.11所示。电容Cs有电荷表示“1”,无电荷表示“0”。若地址经译码后选中行选线X及列选线Y,则T、T 同时导通,可对该单元进行读/写操作。T 为一列基本存储单元电路上共有的控制管。2.2.2RAM38(3)DRAM芯片芯片常用的DRAM芯片有2188(16K1)、4116(16K1)、4164(64K1)、2164A(64K1)等。2164A是早期的64K1位DRAM芯片。左图为2164A芯片的内部结构,其外部引脚如右图所示。 2.2.2RAM (4)D
26、RAM芯片工作方式与时序芯片工作方式与时序写时序写时序行地址行地址 RAS 有效有效写允许写允许 WE 有效有效(高高)数据数据 DOUT 有效有效数据数据 DIN 有效有效读时序读时序行地址行地址 RAS 有效有效写允许写允许 WE 有效有效(低低)列地址列地址 CAS 有效有效列地址列地址 CAS 有效有效 行、列地址分开传送行、列地址分开传送2.2.2RAM40读操作读操作在对2164A的读操作过程中,它要接收来自CPU的地址信号,经译码选中相应的存储单元后,把其中保存的一位信息通过DOUT数据输出引脚送至系统数据总线。2.2.3ROM41写操作写操作在Intel 2164A的写操作过程
27、中,它同样通过地址总线接收CPU发来的行、列地址信号,选中相应的存储单元后,要选定写入的单元, 和 必须都有效,而且行地址必须领先 有效,列地址同样处理。2.2.2RAM42读读修改修改写操作写操作这种操作的性质类似于读操作与写操作的组合,但它并不是简单地由两个单独的读周期与写周期组合起来,而是在 和 同时有效的情况下,由 信号控制,先实现读出,待修改之后,再实现写入。2.2.2RAM43刷新操作刷新操作1)集中刷新)集中刷新集中刷新是在信息保存允许的时间范围内,集中一段时间对所有基本存储单元一行一行地顺序进行刷新,这段时间称为刷新时间。刷新时间=存储矩阵行数存取周期(刷新一行所需要的时间)刷
28、新时序刷新时间分配示意图2.2.2RAM442)分散刷新)分散刷新分散刷新是每隔一段时间刷新一次,把刷新操作分散到每个存取周期内进行,此时系统的存取周期tC被分为两段,前半段时间tA进行读写操作或保持,后半段时间tR进行刷新操作,即tC=tA+tR,刷新操作与CPU操作无关。在一个系统存取周期内刷新存储矩阵中的一行。分散刷新时间分配示意图2.2.2RAM453)异步刷新)异步刷新异步刷新则是结合前两种刷新方式,在一个指令周期中,利用CPU不进行访问存储器操作时进行刷新。先根据刷新的行数对刷新间隔(如2ms)进行分割,分割后的每段时间中,再分成两部分,前一段时间用于读/写或保持,后一段时间用于刷
29、新。异步刷新时间分配示意图2.2.2RAM46(5)现代)现代DRAMDDR SDRAM简称DDR,它是对SDRAM的改进,它在时钟的上升沿和下降沿都可以传送数据,其数据率可达200800 MB/s。DDR2(Double Data Rate 2) SDRAM是由JEDEC(电子设备工程联合委员会)进行开发的新生代半导体存储器技术标准,它与上一代DDR技术标准最大的不同就是,虽然同是采用了在时钟的上升/下降沿同时进行数据传输的基本方式,但DDR2却拥有两倍于上一代DDR预读取能力(即:4比特数据读预取)。DDR3(Double Data Rate 3) SDRAM是第三代双倍数据率同步动态随机
30、存取存储器,提供了相较于DDR2 SDRAM更高的运行性能与更低的电压,是DDR2 SDRAM的后继者(增加至八倍),也是现时流行的存储器产品。2.2.3ROM47只读存储器只读存储器(Read-Only Memory,ROM)是一种半导体存储器,)是一种半导体存储器,具有不易失性,即使电源被切断,具有不易失性,即使电源被切断,ROM的信息也不会丢失。在电子或的信息也不会丢失。在电子或电脑系统中,电脑系统中,ROM通常用以储存不需经常变更的程序或资料,例如早通常用以储存不需经常变更的程序或资料,例如早期的家用电脑如期的家用电脑如Apple II的监督程序、的监督程序、BASIC 语言直译器和字
31、符点阵信语言直译器和字符点阵信息,个人电脑息,个人电脑IBM PC/XT/AT的的BIOS(基本输出入系统和(基本输出入系统和IBM PC/XT的的BASIC直译器,以及其他各种微电脑系统中的固件(直译器,以及其他各种微电脑系统中的固件(Firmware),均),均储存在储存在ROM内。内。2.2.3ROM481MROM狭义的 ROM单指掩膜型只读存储器(MROM,Mask ROM),在制造ROM存储矩阵时,如果生产量较大,一般要根据对存储内容的要求设计掩膜版,用这种工艺制作出来的ROM就叫作掩膜ROM。这是由生产厂家按一定的信息模式生产的存有固定信息的ROM,用户只能选用而无法修改原有的信息
32、。44的MROM矩阵2.2.3ROM492PROM可编程式只读存储器(PROM,Programmable ROM)是一种每个比特都由熔丝或反熔丝的状态决定数据内容的ROM。这种存储器用作永久存放程序之用。常用于电子游戏机、电子词典等预存固定数据或程序的各式电子产品之上。PROM 与MROM的差别在于前者可在IC制造完成后才依需要写入数据,后者的数据需在制造IC时一并制作在里面。PROM基本存储单元电路采用字片式构造的32B的PROM2.2.3ROM503EPROM可擦除可编程式只读存储器(EPROM,Erasable Programmable ROM)由以色列工程师多夫弗罗曼发明,是一种由一组
33、浮栅晶体管构成,便于用户根据需要来写,并能用紫外线照射的方法把已写入的内容擦去后再改写的ROM。由于能够改写,因此能对写入的信息进行校正,在修改错误后再重新写入。4EEPROM(E2PROM)电子擦除式可复写只读存储器 (EEPROM,Electrically-Erasable Programmable ROM)是一种由Intel公司的乔治佩勒戈斯在EPROM技术的基础上,开发出的可以通过电子方式多次复写的半导体存储设备。2.2.3ROM515FPROM闪速存储器(FPROM,Flash PROM)是舛冈富士雄在东芝公司工作时发明的,也称快闪存储器或闪存,是一种电可擦除的非易失性只读存储器,允
34、许在操作中被多次擦或写。这种技术主要用于一般性数据存储,以及在电脑与其他数字产品间交换传输数据,如储存卡与闪存盘。闪存是一种特殊的、以宏模块擦写的E2PROM。虽然闪存在技术上属于E2PROM,但是“E2PROM”这个字眼通常特指非快闪式、以小区块为清除单位的E2PROM。它们典型的清除单位是字节。因为老式的E2PROM擦除循环相当缓慢,相形之下闪存较大的擦除区块在写入大量数据时带给其显著的速度优势。比较起来,EPROM价格便宜、集成度高, E2PROM电可擦洗重写,FPROM较E2PROM快,且具备RAM的功能。2.2.4半导体存储器的容量扩展521半导体存储器的容量扩展需考虑的问题半导体存
35、储器的容量扩展需考虑的问题在CPU对存储器进行读/写操作时,首先CPU给出地址,然后要发出相应的读/写控制信号,最后才能在数据总线上进行信息交换。存储芯片与CPU之间的连接主要有地址信号线的连接、数据信号线的连接和控制信号线的连接。因为目前单片存储器的容量仍然是有限的,所以总是要由许多片才能组成一定容量的存储器。一个存储器系统通常由许多存储器芯片组成。为了能正确实现存储器寻址,必须用一部分的地址线(通常是低位)连到所有存储器芯片,实现片内寻址;另一些地址线(通常是高位)通过地址译码作为芯片的片选信号,实现片间寻址(页寻址),即片选。2.2.4半导体存储器的容量扩展53地址译码实现片选的方法有三
36、种:地址译码实现片选的方法有三种:线选法线选法直接将某些高位地址线接往存储器芯片的片选端。当该地址线为0或1时,就选中该芯片,即用一根地址线选通一块芯片。例例2.1 某微机系统的地址为16位,选用2568的ROM和RAM存储器芯片各一片扩展为512B存储器。用线选法选择存储芯片2.2.4半导体存储器的容量扩展54全译码法全译码法全译码法对全部地址线进行译码。将地址的低位直接接到存储器的芯片的地址端,实现片内寻址;将剩余的高位全部接译码器的输入端,经译码后的输出作片选,实现片选寻址。常用的译码器有Intel 8205、74LS138等。例例2.2 某16位微机系统扩展2KB RAM和2KB RO
37、M,用1K8的芯片,地址安排在64K空间的最低4K位置。用全译码法选择存储芯片2.2.4半导体存储器的容量扩展55例例2.3 采用全译码方式设计一个12KB的存储器系统,低8KB为 EPROM,高 4KB 为 RAM,地址范围:0000H 2FFFH。全译码法芯片地址分配利用74LS138构建的12KB存储器系统2.2.4半导体存储器的容量扩展56部分译码法部分译码法在系统中如果不要求提供CPU可寻址的全部单元,则可采用线译码和全译码相结合的方法。将高位地址的部分地址线参加译码,一部分不参加译码。所以亦出现部分地址重叠。例例2.4 CPU地址总线为16位,存储器由4片容量为8KB的芯片构成时,
38、采用部分译码法寻址32KB。部分译码法芯片地址分配部分译码方法设计存储系统2.2.4半导体存储器的容量扩展572半导体存储器的容量扩展方式CPU与存储器交换信息时,除需要连接地址线、数据线,还有读/写控制线、存储器访问请求线等线路需要连接。一个完整的半导体存储器要由若干存储芯片通过以上几种连接线路与CPU连接,有三种方式可以扩展半导体存储器的容量:位扩展方式、字扩展方式、字和位同时扩展方式。扩展所需要的存储器芯片数量可以通过如下计算公式获得:2.2.4半导体存储器的容量扩展58(1)位扩展方式)位扩展方式当芯片的单元数与存储器的要求的单元数一致,但存储芯片的单元位数比存储器的要求的单元位数少时
39、,需要用足够多的存储芯片扩展单元的位数来组合达到存储器的要求。其连接方式为:将所有芯片的地址线、片选信号和读写控制线并联,数据线单独列出,分别连接到CPU数据线的对应位。例例2.5 用2114(1K4)芯片构建1KB的半导体存储器。用2片Intel 2114芯片构建1KB半导体存储器2.2.4半导体存储器的容量扩展59(2)字扩展方式)字扩展方式当存储芯片的单元位数与比存储器的要求的单元位数一致,但芯片的单元数比存储器的要求的单元数少时,可用足够多的存储芯片扩展单元数来组合达到存储器的要求。其连接方式为:将所有芯片的地址线、数据线和读写控制线并联,片选信号单独列出,分别通过片选译码电路连接到C
40、PU的对应高地址位。例例2.6 用Intel 6116(2K8)芯片构建8KB的半导体存储器。用4片Intel 6116芯片构建8KB半导体存储器2.2.4半导体存储器的容量扩展60(2)字扩展方式)字扩展方式当存储芯片的单元位数与比存储器的要求的单元位数一致,但芯片的单元数比存储器的要求的单元数少时,可用足够多的存储芯片扩展单元数来组合达到存储器的要求。其连接方式为:将所有芯片的地址线、数据线和读写控制线并联,片选信号单独列出,分别通过片选译码电路连接到CPU的对应高地址位。例例2.6 用Intel 6116(2K8)芯片构建8KB的半导体存储器。用4片Intel 6116芯片构建8KB半导
41、体存储器2.2.4半导体存储器的容量扩展61例例2.7 假设某CPU地址总线为16位,用2114 SRAM(1K4)芯片构成4K8存储器,画出连接线路图,并写出每组芯片的地址范围。系统连接图各组芯片的地址范围芯片A15A14A13A12A11A10A9A0地址范围RAM11 RAM1200100000 0000 0000(最低地址)11 1111 1111(最高地址)2000H23FFHRAM21 RAM220100 0000 0000(最低地址)11 1111 1111(最高地址)2400H27FFHRAM31 RAM321000 0000 0000(最低地址)11 1111 1111(最高
42、地址)2800H2BFFHRAM41 RAM421100 0000 0000(最低地址)11 1111 1111(最高地址)2C00H2FFFH74LS138G1CBA=A14 2BG2AG2AGIO/ M2.2.5并行存储技术62随着CPU速度的快速提高,主存越来越来成为计算机系统的性能瓶颈,提高主存速度访问速度成为迫不及待的任务。除了提高主存的绝对速度这一途径之外,通过调整主存的结构,提高其相对速度也是一种有效手段。2.2.5并行存储技术63单体四字存储器单体四字存储器:每字W位,给定一个地址,可以在一个存取周期内读出4W位指令或数据,使主存带宽提高到4倍。1单体多字系统2.2.5并行存储
43、技术64(1)高位交叉编址(2)低位交叉编址高位交叉编址的多体存储器(n=2,m=4)低位交叉编址的存储器(n=4,m=2)2多体并行系统多体并行系统由多个能独立操作的模块所组成的存储器,称为多模块存储器(多体存储器)。每个模块均包括独立的MAR、MDR、读写电路和存储分体。2.2.5并行存储技术例例2.8设存储器容量为设存储器容量为32字,字长字,字长64位,模块数位,模块数m=4,分别用高位交叉和低位交叉方式进行组织。,分别用高位交叉和低位交叉方式进行组织。存储周期存储周期T=200ns,数据总线宽度为,数据总线宽度为64位,总线传送周期位,总线传送周期=50ns。求顺序存储器和交叉存储器
44、的带宽各是多少? 2.3.1 Cache的基本工作原理 2.3.2 Cache-主存地址映像与变换 2.3.3 Cache替换策略 2.3.4 Cache性能分析 2.3.5 多级Cache系统 2.3.6 典型Cache的组织2.3高速缓冲存储器2.3.1 Cache的基本工作原理67提供“高速缓存”的目的是为了让指令和数据被访问的速度适应CPU的处理速度,其基于的原理是主存中“程序执行与数据访问的局域性行为”,即一定程序执行时间和空间内,被访问的指令和数据集中于一部分。这就是程序访问的局部性原理,它包括两个方面:最近的访问项(指令/数据)很可能在不久的将来再次被访问(往往会引起对最近使用区
45、域的集中访问),这是因为程序存在循环时间局部性时间局部性空间局部性空间局部性最近的访问项(指令/数据)很可能在不久的将来再次被访问(往往会引起对最近使用区域的集中访问),这是因为程序存在循环1程序访问的局部性原理程序访问的局部性原理2.3.1 Cache的基本工作原理68Cache主存存储空间的基本结构主存由2n个可编址的字组成,每个字有唯一的一个n位地址。为了与Cache映像,将主存与Cache都等分成若干块,每块内又包含若干个字。对于主存,其地址因为分块而分成两段:高m位表示主存的块地址,称为主存块号,则M=2m表示主存的块数;低b位表示主存块内地址,则B=2b表示主存块的大小。同样,Ca
46、che的地址也分成两段:高c位表示Cache的块地址,称为缓存块号,则C=2c表示Cache的块数;低b位表示Cache块内地址,则B=2b表示Cache块的大小。其中,CM。2Cache主存存储空间的基本结构2.3.1 Cache的基本工作原理69Cache基本结构框图Cache主要由Cache存储体、主存Cache地址变换机构、替换控制部件等部分组成。3Cache的基本结构2.3.1 Cache的基本工作原理70Cache存储体存放由主存调入的指令与数据块,以块为单位与主存交换信息。为加速Cache与主存之间的块传输,主存多采用多体结构,且Cache访存的优先级最高。(1)Cache存储体
47、2.3.1 Cache的基本工作原理71主存Cache地址映像变换机构建立目录表以实现主存地址到缓存地址的转换。CPU访问存储器时送出访问主存单元的地址,由地址总线传送到Cache控制器中的地址寄存器(Address Register,AR),主存Cache地址映像变换机构从AR获取地址并判断该单元内容是否已经在Cache中,即判别是否命中。(2)主存Cache地址映像变换机构2.3.1 Cache的基本工作原理72替换控制部件在缓存已满时按一定策略进行数据块替换,并修改地址变换机构。采用的替换算法体现在替换控制部件中,由硬件逻辑完成。(3)替换控制部件2.3.1 Cache的基本工作原理73
48、Cache的读操作流程(1)读操作4Cache的工作机制的工作机制当CPU发出读操作请求后,首先由Cache控制器判断当前请求的字是否在Cache中。若命中,直接对Cache读,并将该字送往CPU,与主存无关;若未命中,从主存读出所需字送CPU,且把该字所在的主存块送Cache,若此时Cache已满,则调用替换算法,腾出空位后再将新的主存块调入。造成造成Cache与主存的不一致的原因:与主存的不一致的原因: (1) 由于CPU写Cache,没有立即写主存 (2) 由于IO处理机或IO设备写主存CPUI/OCPUI/OCacheXCacheX主主存存储储器器X主主存存储储器器X(a) CPU写写
49、Cache (b) I/O写写主主存存2.3.1 Cache的基本工作原理2.3.1 Cache的基本工作原理75写操作较为复杂,因为对Cache块内写入的信息,必须与被映像的主存块中的信息保持一致。当程序运行过程中需多某个单元进行写操作时,会出现如何使Cache与主存内容保持一致性的问题。目前主要有写直达和写回法两种方法。写直达法(Write-through),又称存直达法(Store-through)、写贯穿法或全写法,即写操作时数据既写入Cache又写入主存。它能随时保证主存和Cache的内容始终一致,但增加了访存次数。写回法(Write-back),又称拷回法(Copy-back),写
50、操作时只把数据写入 Cache 而不写入主存,当 Cache 数据被替换出去时才写回主存,写操作时间就是访问 Cache 的时间。Cache主存存储层次的地址映像表中需对Cache中的每个块设置一个“修改位”,作为该块装入Cache后是否被修改过的标志。这样在块替换时,根据该块的修改位是否为1,决定替换时是否先将该块存回主存原来的位置。(2)写操作4Cache的工作机制的工作机制2.3.2 Cache-主存地址映像与变换76为了把信息放到Cache中,必须应用某种函数把主存地址映像到Cache中定位,称作Cache主存地址映像主存地址映像。在信息按这种映像关系装入Cache后,执行程序时,应将
51、主存地址变换成Cache地址,这个变换过程叫作地址变换。地址映像和变换是密切相关的。Cache容量小,而主存容量大,故Cache中的一块要与主存中的若干块相对应,即若干个主存地址将映像同一个Cache地址。地址映像方式有全相联映像、直接映像和组相联映像全相联映像、直接映像和组相联映像等。2.3.2 Cache-主存地址映像与变换77全相联映像全相联映像方式允许将主存中的每一块映像到Cache的任何一块。1全相联映像782.3.2 Cache-主存地址映像与变换78全相联映像方式下的地址变换过程1全相联映像假定Cache共32KB,分为27=128块,即c=7,每块28=256个字节,即b=8。
52、主存地址为n=24位,寻址空间为16MB,由Cache块和主存块大小相同可知,主存共216块,即m=16。当CPU送出n(=24)位地址nm时,低8位块内地址nmr直接送Cache,即ncr=nmr,高m(=16)位地址则作为主存块号nmb送到地址变换机构与目录表即快表中各项(即图中的标记位)进行比较。若比较发现有一致的块号,即命中,则变换机构将送出一个7位Cache块地址ncb指明这一块属于Cache中128块中的哪一块。由c(=7)位Cache块地址ncb与b(=8)位块内地址ncr合成一个c+b(=15)位地址nc,选中32KB Cache的某一存储单元进行访问。若比较未发现有一致的块号
53、,则进入Cache块失效处理。显然,该地址变换机构中应有128个Cache块号编码,且每个主存块号为16位长。792.3.2 Cache-主存地址映像与变换优点:灵活。缺点访问速度太慢这是因为Cache“标记位”增多,比较位数增加;而且访问Cache时需要和Cache的全部“标记”进行比较,才能判断出所访问的主存地址的内容是否已在Cache内。成本太高这是因为要提高变换机构的工作速度就要采用更高要求的比较器电路和容量足够大的相联存储器,故该方法实用较困难,只适合于小容量Cache采用。791全相联映像802.3.2 Cache-主存地址映像与变换80直接映像2直接映像直接映像方式下,主存中的每
54、一块只能映像到Cache中的一个固定块的位置。modijCmod2cij直接映像可用函数定义为:直接映像可用函数定义为: 或或其中,i是Cache的块号,j是主存的块号,C=2c为Cache的块数。显然,主存的第0块,2c块,2c+1块,.(共2t个块)只能映像到Cache的第0块。Cache块号i主存块号j00,C,2m-C11,C+1,2m-C+1C-1C-1,2C+1,2m-1直接映像方式下主存块和Cache块的对应关系2.3.2 Cache-主存地址映像与变换812直接映像 直接映像方式下的地址变换过程假定将32KB的Cache分成C=128=27块,即c=7,每块256个字节,即b=
55、8。对于16MB的主存,在每块2b(=28)字节的情况下,可分成2m(=216)块,即m=16,取主存字块标记为t=m-c(=9)位。地址变换机构中存储的标记表只需t2c(=927)位。当CPU送出n(=24)位地址nm时,低8位块内地址nmr直接送Cache,即ncr=nmr。从主存地址分离出中间的c(=7)位块号nmb,选中标记表中的某个标记,与主存地址高t(=9)位地址nt进行比较。若比较发现相等,即命中,则变换机构将nmb作为Cache块地址ncb,即ncb=nmb,指明这一块属于Cache中2c(=128)块中的哪一块。由c(=7)位Cache块地址ncb与b(=8)位块内地址ncr
56、合成一个c+b(=15)位地址nc,选中32KB Cache的某一存储单元进行访问。若比较发现不相等,则进入Cache块失效处理。2.3.2 Cache-主存地址映像与变换优点所需硬件简单,只需要容量较小的按地址访问的标志表存储器和少量外比较电路,因此成本低。生成Cache地址访问Cache与访问标识表、比较标志是否相符的操作是同时进行的,当Cache命中时就意味着省去了地址变换所花费的时间。缺点: Cache的块冲突率很高只要有两个或两个以上经常使用的块恰好被映像到Cache的同一个块位置时,就会使得Cache的命中率急剧下降。即使此时Cache中有大量的空闲块存在,仍然会发生块失效和块冲突
57、,无法使用Cache中的空闲块,所以,Cache的利用率低。正因为这个原因目前甚少采用直接映像的Cache存储器。822直接映像832.3.2 Cache-主存地址映像与变换832直接映像例例2.9 假设主存容量为512KB,Cache的容量为4KB,每个字块为16个字,每个字32位,存储单元按字节编址。问:(1)Cache地址由多少位?可容纳多少块?(2)主存地址由多少位?可容纳多少块?(3)在直接映像方式下,主存的第几块映像到Cache中的第5块?(4)直接映像方式主存地址字段中各段的位数为多少?主存地址分配解:(1)根据Cache的容量为4KB(212=4K),则Cache的地址为12位
58、。由于每字32位,则Cache中共有4KB/4B=1K字。因每字块有16字,故Cache中有C=1K/16=64块。(2)根据主存容量为512KB(219=512K),主存的地址为19位。由于每字32位,则主存共有512KB/4B=128K字。因每个字块16字,故主存共有M=128K/16=8196块。(3)在直接映射方式,由于Cache共有C=64块,主存共有M=8196=213块,因此主存的5,64+5,k64+5,213-64+5块均能映像到Cache的第5块中。(4)在直接映像方式下,主存地址字段的各段位数分配如图2.41所示。其中字块内地址为b=4+2=6位(4位表示16字,2位表示
59、每字4B),Cache字块地址c=6位(表示64块),主存字块标记为t=19-6-6=7位。842.3.2 Cache-主存地址映像与变换84组相联映像方式是全相联映像方式与直接映像方式的折衷方案。3组相联映像把Cache分为Q(=2q)组,每组有R(=2r)块,且kj mod Q其中,k为Cache的组号(组地址),j为主存的块号。则块号为j的主存块映像于Cache中的块号i为2rikh021rh当r=1时,每组内有2块。主存的第0、2c-r、2c-r+1字块可以映像到Cache的第0组中的2个字块中的任一字块;主存中的第1、2c-r+1、2c-r+1+1字块可以映像到Cache的第1组中的
60、2个字块中的任一字块;。显然,主存的第j块会映像到Cache的第k组内,两者一一对应,属于直接映像关系;另一方面,主存的第j块可以映射到Cache的第k组内的任一块,这又体现了全相联的映像关系。可见,组相联映像的性能介于直接映像和全相联映像之间,当r0就是直接相联映像方式,当rc时就是全相联映像方式。组相联映像2.3.2 Cache-主存地址映像与变换853组相联映像组相联映像方式下的地址变换过程假定将32KB的Cache有C=128=27块,即c=7,每块28=256个字节,即b=8。将其分成Q=64=26组,即q=6,每组2=21块,即r=1。对于16MB的主存可分成216块,即m=16,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大数据驱动的食品冷链物流体系构建
- 头盔产品质量检测与标准解读
- 2024年度上海市护师类之外科护理主管护师题库综合试卷B卷附答案
- 2024年度上海市护师类之儿科护理主管护师题库综合试卷A卷附答案
- 2024年度上海市护师类之儿科护理主管护师考试题库
- 血透病人发热护理查房
- 等离子粉末堆焊Fe-Mn-B系耐磨合金组织结构调控及性能研究
- 藏语梵文拼读法语音研究及声学分析
- 脊椎骨科专科护理护士
- 如何提高学校数字图书资源的质量和利用效率
- 2024-2030年中国艾灸行业规模分析及投资前景规划研究报告
- 医院培训课件:《检验前质量控制-标本采集与送检》
- 基于YOLOv5深度学习模型的车牌识别系统设计
- 四年级下册英语(人教PEP)高频考点每日一练
- 煤气灯效应(摆脱精神控制)
- 2024年高考全国甲卷英语试卷(含答案)
- 代理记账有限公司简介(5个范本)
- 大学课文《讲故事的人》课件
- 楚汉之争课件教学课件
- 过敏性休克完整版本
- 山东烟草在线测评题答案
评论
0/150
提交评论