《第三章存储系统》由会员分享,可在线阅读,更多相关《第三章存储系统(180页珍藏版)》请在金锄头文库上搜索。
1、第三章第三章 存储系统存储系统v内容提要:内容提要:v存储器概述;存储器概述;vRAMRAM存储器;存储器;vROMROM存储器(选择存储器(选择RAMRAM与与ROMROM芯片设计主存并实芯片设计主存并实现与现与CPUCPU的连接);的连接);v高速存储器;高速存储器;v高速缓冲存储器高速缓冲存储器CacheCache;v虚拟存储器;虚拟存储器;v重点:多层次存储体系结构的概念;重点:多层次存储体系结构的概念;v 主存设计及其与主存设计及其与CPUCPU的连接;的连接;v CacheCache的工作原理。的工作原理。第三章第三章 存储系统存储系统3.1 3.1 存储器概述存储器概述 3.1.
2、1 3.1.1 存储器的发展存储器的发展一、存储器件的变化一、存储器件的变化v第一台电子计算机第一台电子计算机ENIACENIAC用的是电子管触发器;用的是电子管触发器;v此后经历过:汞延迟线此后经历过:汞延迟线磁带磁带磁鼓磁鼓磁心(磁心(19511951年始)年始)半导体(半导体(19681968年年IBM IBM 360/85360/85首次将其用作首次将其用作CacheCache;19711971年年IBM IBM 370/145370/145首次将其用作主存,取代了磁芯)。首次将其用作主存,取代了磁芯)。v主存的重要作用及主存器件发展史总结图表:主存的重要作用及主存器件发展史总结图表:
3、主存的重要作用图示主存的重要作用图示v外设外设 主主v 外设外设v 存存 输入的数据输入的数据要输出的数据要输出的数据程序程序中间数据中间数据控制器控制器运算器运算器指指令令数数据据主存器件发展史总结表主存器件发展史总结表 时时 代代 元元 件件 存取周存取周期期 存储容量存储容量* * 1 1 磁鼓等磁鼓等1212 s s 2K2K字字节节 2 2 磁心磁心2.18 2.18 s s 32K32K字节字节 3 3 磁心磁心750m750m s s 1M1M字字节节 3.53.5ICIC,LSILSI320m320m s s 8M8M字字节节 4 4 VLSIVLSI312m312m s s1
4、28M128M字节字节二、存储体系结构的发展二、存储体系结构的发展 1 1、由主、由主- -辅二级结构发展到多层次存储体系结辅二级结构发展到多层次存储体系结构。构。2 2、主存由单体发展到多体交叉(并行)。、主存由单体发展到多体交叉(并行)。3 3、采用了虚拟存储技术。、采用了虚拟存储技术。 3.1.2 3.1.2 评价存储器性能的主要指标评价存储器性能的主要指标一、存储容量一、存储容量v能存放二进制位的总量。一般主存和辅存分能存放二进制位的总量。一般主存和辅存分别考查。别考查。v常以字节常以字节B B(ByteByte)为单位(为单位(MBMB、GBGB、TBTB)。)。v关于关于W W(字
5、长):(字长):8 8的倍数的倍数v地址码的位数与主存容量的关系。地址码的位数与主存容量的关系。二、存取时间和存取周期二、存取时间和存取周期1 1、存取时间(、存取时间(Memory Access TimeMemory Access Time):): 孤立地考察某一次孤立地考察某一次R/W R/W 操作所需要的时间,操作所需要的时间,以以T TA A表示。表示。2 2、存取周期(、存取周期(Memory Circle TimeMemory Circle Time):): 连续两次启动连续两次启动R/W R/W 操作所需间隔的最小时间,操作所需间隔的最小时间,以以T TM M (T TC C 、
6、T TMCMC)表示。表示。 T TA A 、T TM M的内涵:的内涵: T TM MTTA A。单位:单位:ns ns 。三、频宽(带宽)三、频宽(带宽)BmBm:单位时间内读取的信息:单位时间内读取的信息量。量。BmBm=W/T=W/TM M(B/sB/s,b/sb/s)其中其中 WW每次每次R/W R/W 数据的宽度,一般等于数据的宽度,一般等于MemoryMemory字长。字长。例:计算机例:计算机A A、B B编址单位分别是编址单位分别是32bit32bit和和8bit8bit,T TM M均为均为10ns10ns。求二者的带宽。求二者的带宽。解:解:4 X 104 X 108 8
7、B/sB/s; 10108 8B/sB/s反映主存的数据吞吐率。反映主存的数据吞吐率。按此定义按此定义BmBm也被叫做存储器的数据传输率。也被叫做存储器的数据传输率。四、价格:以每位价格来衡量。四、价格:以每位价格来衡量。P=C/SP=C/SvCC存储芯片价格,存储芯片价格,SS存储芯片容量(存储芯片容量(bitsbits)。)。容量越大、速度越快,价格就越高。容量越大、速度越快,价格就越高。 3.1.3 3.1.3 存储器分类存储器分类一、按存储介质分一、按存储介质分1 1、半导体存储器、半导体存储器 利用触发器的双稳态或利用触发器的双稳态或MOSMOS管栅极有无电管栅极有无电荷来表示二进制
8、的荷来表示二进制的0/10/1。2 2、磁表面存储器:利用两种不同的剩磁状态表、磁表面存储器:利用两种不同的剩磁状态表示二进制示二进制0/10/1。常见有磁带、磁盘两种。常见有磁带、磁盘两种。3 3、光及磁光存储器、光及磁光存储器(1 1)利用激光在非磁性介质上写入和读出信息,)利用激光在非磁性介质上写入和读出信息,也称第一代光存储(技术)(也称第一代光存储(技术)(Optical Optical MemoryMemory)。)。(2 2)利用激光在磁记录介质上存储信息,也称利用激光在磁记录介质上存储信息,也称第二代光存储(技术)(第二代光存储(技术)(MegnetoopticalMegnet
9、ooptical MemoryMemory)。)。二、按存取方式(工作方式)分二、按存取方式(工作方式)分1 1、随机存取存储器、随机存取存储器RAMRAM(Random Access Random Access MemoryMemory)v按地址码编址,地址译码线对应唯一确定的按地址码编址,地址译码线对应唯一确定的存储单元(存储单元(1 1位、位、1 1字节、字节、1 1字字 ););v按照给定地址可以随时访问(按照给定地址可以随时访问(R/WR/W)任何存储任何存储单元,且访问时间与存储单元的物理位置无单元,且访问时间与存储单元的物理位置无关;关;v速度较快,速度较快,T TM M为为ns
10、ns级。常用作级。常用作CacheCache和主存。和主存。2 2、只读存储器、只读存储器ROMROM(Read Only MemoryRead Only Memory)v也是按地址译码访问,但也是按地址译码访问,但只能随机读取只能随机读取,不,不能随机写入。又分为能随机写入。又分为MROMMROM、PROMPROM、EPROMEPROM和和Flash ROMFlash ROM几类。几类。3 3、直接存取存储器、直接存取存储器DASDAS(Direct Access Direct Access StorageStorage)v信息所在地址按信息所在地址按控制字编码控制字编码形式给出,然后形式给
11、出,然后以字符、记录形式成块存取。存取时间与信以字符、记录形式成块存取。存取时间与信息所在物理位置有关;息所在物理位置有关;v容量大,寻址较慢,便宜。容量大,寻址较慢,便宜。v磁盘。磁盘。4 4、串行(顺序)存取存储器、串行(顺序)存取存储器SAMSAM(Serial Serial Access MemoryAccess Memory)v以记录、字节形式成块、成组存取信息;以记录、字节形式成块、成组存取信息;v地址以地址以块号块号和块间间隔给出,要顺序找到块和块间间隔给出,要顺序找到块号,再依次存取;号,再依次存取;v磁带。磁带。 三、按在计算机中的功能分三、按在计算机中的功能分1 1、主存储
12、器、主存储器存放计算机运行其间的大量程序和数据;存放计算机运行其间的大量程序和数据;由由MOSMOS半导体存储器构成半导体存储器构成DRAMDRAM(动态);(动态);CPUCPU直接访问。直接访问。2 2、高速缓冲存储器(、高速缓冲存储器(CacheCache)存放最活跃的程序块和数据;存放最活跃的程序块和数据;由双极型半导体存储器或由双极型半导体存储器或MOSMOS型的型的SRAMSRAM(静态)(静态)构成;构成;3 3、辅助存储器(外存)、辅助存储器(外存)4 4、控制存储器(控存、控制存储器(控存、CMCM)微程序设计(控制器)的计算机中,存放解释微程序设计(控制器)的计算机中,存放
13、解释执行机器指令的微程序。执行机器指令的微程序。ROMROM。属于控制器。属于控制器。v3.1.4 3.1.4 多层次存储体系结构多层次存储体系结构一、为什么要用多层次存储体系结构一、为什么要用多层次存储体系结构v主存的速度总落后于主存的速度总落后于CPUCPU的需要,主存的容量的需要,主存的容量总落后于软件的需要。总落后于软件的需要。二、多层次存储结构系统的设计目标二、多层次存储结构系统的设计目标 v 在一定的成本下,获得尽可能大的存储容量、在一定的成本下,获得尽可能大的存储容量、尽可能高的存取速度及可靠性等。尽可能高的存取速度及可靠性等。 v 容量、速度、和成本的矛盾。容量、速度、和成本的
14、矛盾。三、多层次存储结构系统的一般形式三、多层次存储结构系统的一般形式 CPUCPUM M0 0M M1 1M Mn-1n-1磁带磁带 光盘光盘磁盘磁盘磁盘磁盘CacheCache主存主存CacheCacheCPUCPU寄存器寄存器 存储器层次结构的存储器层次结构的 一般模式图一般模式图多层次存储器实际构成多层次存储器实际构成四、多层次存储结构系统的常见形式四、多层次存储结构系统的常见形式 三级存储器体系结构三级存储器体系结构 寄存器组寄存器组CacheCache主存主存辅存辅存辅助硬件辅助硬件辅助软、硬件辅助软、硬件CPUCPU1 1、通用寄存器(组)、通用寄存器(组) 速度近于速度近于CP
15、UCPU,少量连续计算时存放少量连续计算时存放部分数据及中间结果,通过减少主存访问而部分数据及中间结果,通过减少主存访问而提高系统速度。提高系统速度。 2 2、Cache-Cache-主存层次主存层次(1 1)什么是)什么是cachecache 高速缓冲存储器,高缓。是在高速缓冲存储器,高缓。是在CPUCPU和和主存之间的小容量快速存储器,速度与主存之间的小容量快速存储器,速度与CPUCPU相相当。当。 依据依据程序运行的局部性程序运行的局部性,把主存中,把主存中部分信息部分信息映射到映射到cachecache中,中,CPUCPU与之打交道,与之打交道,如此弥补了主存在速度上的不足。如此弥补了
16、主存在速度上的不足。(2 2)CacheCache与与CPUCPU、主存的关系(工作原理)主存的关系(工作原理)(3 3)CacheCache的物理构成的物理构成一般为一般为SRAMSRAM即静态即静态RAMRAM(StaticStatic););而主存一般而主存一般为为DRAMDRAM即动态即动态RAMRAM(DynamicDynamic););SRAMSRAM较快,约为较快,约为DRAMDRAM的的3535倍,但功耗大,集成倍,但功耗大,集成度低,价格高。度低,价格高。(4 4)目前)目前PCPC系统中一般设有一级缓存和二级缓系统中一般设有一级缓存和二级缓存存 L1 CacheL1 Cac
17、he做在做在CPUCPU内部,叫内部内部,叫内部CacheCache,速度最快,容量较小,常在几十速度最快,容量较小,常在几十KBKB。 L2 CacheL2 Cache又叫外部或片外又叫外部或片外CacheCache。3 3、主、主- -辅层次辅层次(1 1)构成)构成 主存和辅存。主存和辅存。(2 2)作用)作用 解决主存容量不足的问题。解决主存容量不足的问题。(3 3)虚拟存储器()虚拟存储器(Virtual MemoryVirtual Memory):):虚存。虚存。 是建立在主是建立在主- -辅物理结构基础之上,辅物理结构基础之上,由附加的硬件装置及操作系统的存储管理软由附加的硬件装
18、置及操作系统的存储管理软件组成的一种存储体系。它将主存和辅存地件组成的一种存储体系。它将主存和辅存地址空间统一编址,用户在这个空间里编程,址空间统一编址,用户在这个空间里编程,如同拥有一个容量很大的内存。如同拥有一个容量很大的内存。三、小结三、小结 多层次存储系统设计得当的话,会多层次存储系统设计得当的话,会使用户感到拥有了使用户感到拥有了CacheCache的速度、辅存的容量;的速度、辅存的容量; 而且,无论而且,无论CacheCache还是虚存对应用程还是虚存对应用程序员都是透明的;序员都是透明的; CacheCache更是对各级程序员透明。更是对各级程序员透明。3.2 3.2 随机读写存
19、储器随机读写存储器RAMRAM3.2.1 SRAM3.2.1 SRAM存储器存储器 一、一、SRAMSRAM的基本存储单元的基本存储单元v又叫记忆元件、又叫记忆元件、存储元存储元,指存放,指存放一个二进制位(一个二进制位(0/10/1)的电路。对)的电路。对SRAMSRAM而言,电路为触发器结构而言,电路为触发器结构v1.1.六管六管SRAMSRAM的电路构成(教材的电路构成(教材P.73P.73图图2.22.2)v2.2.该电路工作原理该电路工作原理设设T1T1截止截止T2T2导通即导通即A A点高电平点高电平B B点低点低电平表示电平表示“1”1”,T2T2截止截止T1T1导通即导通即A
20、A点低电平点低电平B B点高电平表示点高电平表示“0”0”。2.2.该电路工作原理该电路工作原理(1 1)写入:首先译码选中。)写入:首先译码选中。v写写“1”1”:在:在I/OI/O线加高电位,线加高电位,I/OI/O线加低电位。线加低电位。v写完成后译码线上高电位信号写完成后译码线上高电位信号撤销,电路进入保持状态。撤销,电路进入保持状态。(2 2)读出:首先译码选中。)读出:首先译码选中。v原来存放的原来存放的“0”0”或或“1”1”以不以不同电位值传到同电位值传到I/OI/O线上。读完线上。读完成后和写一样进入保持状态。成后和写一样进入保持状态。二、二、SRAMSRAM存储器基本组成存
21、储器基本组成地址线地址线 数数 据线据线v 控制信号控制信号 存储体存储体阵列阵列I/OI/O电路及电路及控制电路控制电路地址地址译码译码驱动驱动1 1、存储体阵列:见下图,注意其中几个常用概、存储体阵列:见下图,注意其中几个常用概念念(1 1)记忆元件(存储元)()记忆元件(存储元)(2 2)存储单)存储单元(元(3 3)字线()字线(4 4)位线()位线(5 5)存储芯片规格)存储芯片规格。v字线字线0 0v v字线字线1 1 v . . v . . . . . . .v字线字线m m1 1v v v 位线位线0 0 位线位线1 1 位线位线2 2 位线位线 n n1 1 0 01 12
22、2n-1n-10 01 12 2n-1n-10 01 12 2n-1n-1【练习练习】名词解释:名词解释:存储元、存储单元、单元存储元、存储单元、单元地址地址、存储体、存储容量、存储器。、存储体、存储容量、存储器。v解答:解答:v存储元(存储元件、记忆元件)存储元(存储元件、记忆元件)v 存储器的最小组成单位,用来存放一存储器的最小组成单位,用来存放一位二进制代码位二进制代码“0”0”或或“1”1”。任何一个具有。任何一个具有两个稳定状态的物理器件都可用作存储元。两个稳定状态的物理器件都可用作存储元。v存储单元存储单元v 将存储器中的所有存储元按相同位数分将存储器中的所有存储元按相同位数分组,
23、组内所有存储元同时进行信息写入或读组,组内所有存储元同时进行信息写入或读出,这样的一组存储元称为一个存储单元。出,这样的一组存储元称为一个存储单元。它是它是CPUCPU访问存储器的基本单位。访问存储器的基本单位。v解答解答(续):(续):v单元地址单元地址v 存储器中的每一个存储单元都有一个唯存储器中的每一个存储单元都有一个唯一的编号,该编号称为一的编号,该编号称为单元地址单元地址。v CPUCPU通过单元地址访问相应的存储单元;通过单元地址访问相应的存储单元;用二进制表示的地址码的长度(位数),表用二进制表示的地址码的长度(位数),表明了能访问的存储单元的数目,称为明了能访问的存储单元的数目
24、,称为地址空地址空间。间。存储体存储体 存储单元存储单元 存储元存储元单元地址单元地址0000000000010001 . . . . . . . . . .XXXXXXXX 存储容量存储容量MARMARCPUCPU存储器主要概念之间的关系图存储器主要概念之间的关系图2 2、地址译码驱动系统、地址译码驱动系统(1 1)地址译码器的功)地址译码器的功能:把能:把CPUCPU给定的地给定的地址码翻译成能驱动指址码翻译成能驱动指定存储单元的控制信定存储单元的控制信息。息。 (n-2n-2n n)(2 2)简单译码器电路简单译码器电路(3 3)“驱动驱动”的含义的含义(4 4)地址译码系统的)地址译码
25、系统的设计设计一维和二维一维和二维地址译码方案及选择地址译码方案及选择 例:例:1K X 41K X 4位位RAMRAM的地址译码方案。的地址译码方案。vA0 A0 字线字线w w0000v 字线字线W W0101v vA1 A1 字线字线W W1010v 字线字线W W1111v v A0 A0 A1 A1 A0 A0 A1 A1&地址译码系统的设计例子:地址译码系统的设计例子:1K X 41K X 4位位 RAMRAM。v一维地址译码方案:存储体阵列的每一个存一维地址译码方案:存储体阵列的每一个存储单元由一条字线驱动。也叫单译码结构。储单元由一条字线驱动。也叫单译码结构。例中用此方案共需字
26、线条数为:例中用此方案共需字线条数为:v10241024条条v二维地址译码方案:从二维地址译码方案:从CPUCPU来的地址线分成两来的地址线分成两部分,分别进入部分,分别进入X X(横向)地址译码器和横向)地址译码器和Y Y(纵向)地址译码器,由二者同时有效的字纵向)地址译码器,由二者同时有效的字线交叉选中一个存储单元。线交叉选中一个存储单元。v例中将例中将1K X 4 RAM 1K X 4 RAM 的的1010条地址线中条地址线中6 6条条(A0A5A0A5)用在横向,用在横向,4 4条(条(A6A9A6A9)用在纵向,用在纵向,则共产生字线条数为:则共产生字线条数为:v64+16=8064
27、+16=80条条v1K X 4 1K X 4 位位RAM RAM 二维地址译码的图示:二维地址译码的图示:X X地地址址译译码码器器0/10/1I/OI/OI/OI/OI/OI/OI/OI/OY Y地址译码器地址译码器A6 A7 A8 A9A6 A7 A8 A9A0A0A1A1A2A2A3A3A4A4A5A50 063630 150 151K X 4 1K X 4 位位RAM RAM 二维地址译码示意图二维地址译码示意图3 3、I/OI/O电路电路 处于存储芯片的数据线和被选中的处于存储芯片的数据线和被选中的单元之间;单元之间; 不同存储芯片的不同存储芯片的I/OI/O电路具体形式可电路具体形
28、式可能不同,但功能类似。能不同,但功能类似。4 4、控制电路控制电路 用于控制芯片的操作,如读写控用于控制芯片的操作,如读写控制制、片选控片选控制、输出控制等(一般表示为制、输出控制等(一般表示为R/WR/W或或WEWE、CSCS或或CECE、OEOE)。)。以上四部分封装在一起成为一片以上四部分封装在一起成为一片SRAMSRAM。请看教材请看教材P.74P.74图图3.3 - SRAM3.3 - SRAM存储器结构图:存储器结构图:64X64=409664X64=4096存储矩阵存储矩阵1 12 21616I/OI/O电路电路Y Y译码器译码器1 641 64A6 A7 A11A6 A7 A
29、11输出驱动输出驱动控制电路控制电路输出输出输入输入读写读写 片选片选驱驱动动器器1 12 2 6464X译译码码器器1 12 2 6464地地址址反反相相器器A0A0A1A1A5A5图图3.3 SRAM3.3 SRAM存储器结构框图存储器结构框图三、三、SRAM SRAM 芯片实例芯片实例Intel 2114Intel 2114v请看教材请看教材P.76P.76图图3.53.5,完成下面作业:,完成下面作业:v【作业作业】 请从请从Intel 2114Intel 2114的逻辑结构框图说的逻辑结构框图说明:明:1 1、21142114芯片引脚数目芯片引脚数目2 2、地址线的横向、纵向安排、地
30、址线的横向、纵向安排3 3、写入与读出的控制、写入与读出的控制四、存储器与四、存储器与CPUCPU的连接的连接v(RAMRAM芯片的扩展、芯片的扩展、RAMRAM芯片的组织、芯片的组织、由由RAMRAM芯芯片构成主存)片构成主存)v用较小容量的现成用较小容量的现成RAMRAM芯片构成机器所需的大芯片构成机器所需的大容量内存,同时完成容量内存,同时完成RAMRAM芯片与芯片与CPUCPU的数据线、的数据线、地址线、控制线的连接。地址线、控制线的连接。v(一)扩展方法的实例(一)扩展方法的实例 现有现有21142114即即1K X 4SRAM1K X 4SRAM芯片,要构成芯片,要构成8K 8K
31、X 16X 16位主存,应该用多少片位主存,应该用多少片21142114?画出扩展、?画出扩展、连接图。连接图。v解答:解答:v首先计算用多少片首先计算用多少片21142114:(:(8K X 168K X 16)/ /(1K 1K X 4X 4)=32=32片片v然后进行然后进行位扩展位扩展:把:把1K X 1K X 4 4扩成扩成1K X 1K X 1616,用,用16/4=416/4=4片片v最后进行最后进行字扩展字扩展:把:把1KX161KX16位扩展到位扩展到8KX168KX16位位, ,需要需要1KX161KX16位的单元共位的单元共8K/1K=88K/1K=8个,即总共用个,即总
32、共用21142114为为8X4=328X4=32片片v以下分别为位扩展、字扩展图:以下分别为位扩展、字扩展图:A0A9A0A9 R/W 2114(1#)CS R/W 2114(1#)CS D3 D2 D1 D0 D3 D2 D1 D0 A0A9A0A9R/W 2114(4#)CSR/W 2114(4#)CSD3 D2 D1 D0D3 D2 D1 D0A9A9A0A0D15D15D12D12D3D3D0D0R/WR/W1K X 41K X 4扩展成扩展成1K X 161K X 16 :位扩展、并联:位扩展、并联字扩展字扩展:1K1K字字8K8K字,用上面位扩展得到的字,用上面位扩展得到的1KX1
33、61KX16位单元共位单元共8K/1K=88K/1K=8个,即总共用个,即总共用21142114为为8X4=328X4=32片。见下图:片。见下图:A12 Y7A12 Y7A11A11A10 A10 Y0 Y0A9A9A0A0D D1515D D1212D D3 3D D0 0R/WR/W3/83/8译译码码器器A0A9A0A9R/W R/W 1# 1# CSCSD3.D0D3.D0A0A9A0A9R/W 4R/W 4# # CSCSD3D0D3D0A0A9A0A9R/WR/W29#29#CSCSD3D0D3D0A0A9A0A9R/WR/W32#32#CSCSD3D0D3D0(1KX41KX4
34、)1KX168KX161KX168KX16的扩展图:串联的扩展图:串联(二)补充资料:主存设计过程的三个阶段(二)补充资料:主存设计过程的三个阶段1 1、系统设计、系统设计v从计算机系统的角度,提出对存储器主要技从计算机系统的角度,提出对存储器主要技术指标、功能及结构形式等的要求,如容量、术指标、功能及结构形式等的要求,如容量、字长、存储周期、总线宽度、控制方式、检字长、存储周期、总线宽度、控制方式、检纠错能力、环境温度、可靠性等要求。还要纠错能力、环境温度、可靠性等要求。还要确定存储器类型和外电路形式确定存储器类型和外电路形式。2 2、逻辑设计、逻辑设计v按地址空间的分配选择合适的按地址空间
35、的分配选择合适的RAMRAM、ROMROM芯片芯片与与CPUCPU相连。其中还要考虑到逻辑电路的扇入相连。其中还要考虑到逻辑电路的扇入/ /扇出系数,信号的传输与衰减,等等。扇出系数,信号的传输与衰减,等等。3 3、工艺设计、工艺设计v落实于生产。落实于生产。v问:前例问:前例RAMRAM的扩展属于以上三个阶段中的哪的扩展属于以上三个阶段中的哪一个?一个?五、存储器的读写周期五、存储器的读写周期( (时序图时序图)P.78)P.78图图3.83.8v T TRCRCv T TA A地址地址 T TCOCOCSCS T TCXCX数据输出数据输出 T TOTDOTDT TOHAOHA目的:了解控
36、制信号与存储器的读目的:了解控制信号与存储器的读/写周期应该正确配合,写周期应该正确配合,即,认识地址信号、控制信号与数据之间的时序关系。即,认识地址信号、控制信号与数据之间的时序关系。地址地址地址地址数据数据数据数据CS*CS*CS*CS*R/W*R/W*R/W*R/W*P.79P.79【例例1 1 】图图3.9 3.9 (a a)是)是SRAMSRAM的写入时序图。的写入时序图。其中其中R/W*R/W*是读写命令控制线,当是读写命令控制线,当R/W*R/W*线为低线为低电平电平时,存储器按给定地址把数据线上的数据写入存储器。时,存储器按给定地址把数据线上的数据写入存储器。请指出图请指出图3
37、.93.9(a a)写入时序中的错误,并画出正确的写入时序中的错误,并画出正确的写入时序图。写入时序图。图图3.93.9(a a)(b b)有关的书后习题:有关的书后习题:P.125P.125习题习题v1 1、设有一个具有、设有一个具有2020位地址和位地址和3232位字长的存储位字长的存储器,问:器,问:v(1 1)该存储器能存储多少个字节的信息?)该存储器能存储多少个字节的信息?v(2 2)如果存储器由)如果存储器由512K X 8512K X 8位的位的RAMRAM芯片组芯片组成,需要多少片?成,需要多少片?v(3 3)需要多少位地址作芯片选择?)需要多少位地址作芯片选择?v解:解:v(
38、1 1)2 22020 X 32 X 32位即位即1M X 321M X 32位位=4M=4M字节字节v(2 2)N=N=(1M X 321M X 32)/ /(512K X 8512K X 8)=8=8(片)片)v(3 3)用)用A A1919即只需即只需1 1位(最高位)作为芯片选位(最高位)作为芯片选择。择。v5 5、要求用、要求用256K X 16256K X 16位位SRAMSRAM芯片设计芯片设计1024K X 1024K X 3232位的存储器。位的存储器。SRAMSRAM芯片有两个控制端:当芯片有两个控制端:当CS*CS*有效时,该片选中。当有效时,该片选中。当W*/R=1W*
39、/R=1时执行读操时执行读操作,当作,当W*/R=0W*/R=0时执行写操作。时执行写操作。(* *代表该信号代表该信号为低电平有效)为低电平有效)v解答:解答:v首先计算出需要首先计算出需要1024K X 32/1024K X 32/(256K X 256K X 1616)=8=8片已知的片已知的SRAMSRAM芯片进行设计;芯片进行设计;v然后进行并联设计然后进行并联设计位扩展:位扩展:v2 2片片256K X 16 256K X 32256K X 16 256K X 32;v最后进行串联设计最后进行串联设计字扩展:字扩展:v4 4组组256K X 321024K X 32256K X 3
40、21024K X 32。v扩展设计的总图如下:扩展设计的总图如下: A17A0A17A0256KX16256KX161#1#W*/R W*/R CS*CS*D15D0D15D0A17A0A17A0256KX16256KX168#8#W*/R W*/R CS*CS*D15D0D15D0A17A0A17A0256KX16256KX167#7#W*/R W*/R CS*CS*D15D0D15D0A17A0A17A0256KX16256KX162#2#W*/R W*/R CS*CS*D15D0D15D0D31D31D0D0WE*WE*Y3*Y3*Y2*Y2*Y1*Y1*Y0*Y0*A19A19A18A
41、18A17A17A0A02/42/4译译码码器器3.2.2 DRAM3.2.2 DRAM存储器存储器一、静态一、静态RAMRAM与动态与动态RAMRAMv静态静态RAMRAM:v(如前所述的六管如前所述的六管SRAMSRAM)记忆元件电路能在记忆元件电路能在很低的频率乃至直流的情况下工作,在没有很低的频率乃至直流的情况下工作,在没有外界信号作用时,触发器的状态可以长久保外界信号作用时,触发器的状态可以长久保持不变,即信息不会丢失。持不变,即信息不会丢失。v动态动态RAMRAM:v利用利用MOSMOS管栅极电容上充积的电荷管栅极电容上充积的电荷来存储信息来存储信息的记忆元件电路中,由于有漏电阻的
42、存在,的记忆元件电路中,由于有漏电阻的存在,电容上的电荷不可能长久保存,需要周期地电容上的电荷不可能长久保存,需要周期地对电容充电,以补充泄漏的电荷。这类电路对电容充电,以补充泄漏的电荷。这类电路是在动态的情况下工作,故名是在动态的情况下工作,故名Dynamic Dynamic RAMRAM(DRAMDRAM)。)。二、为什么提出动态存储单元二、为什么提出动态存储单元 静态静态RAMRAM主要优点:主要优点: SRAMSRAM单元电路能长久保持信息,速度单元电路能长久保持信息,速度快工作稳定可靠。快工作稳定可靠。 主要缺点:主要缺点: 功耗大,集成度低,价格高。功耗大,集成度低,价格高。DRA
43、MDRAM单元电路恰好克服了这种缺点。单元电路恰好克服了这种缺点。DRAMDRAM的出现是半导体存储技术的一大进步。的出现是半导体存储技术的一大进步。动态动态RAMRAM的高位密度。的高位密度。v对对静静态态RAMRAM来来说说,一一个个基基本本存存储储电电路路要要由由6 6个个管管子子组组成成,而而动动态态RAMRAM结结构构要要简简单单得得多多,可可以以用用4 4个个或或者者3 3个个管管子子组组成成一一个个基基本本存存储储电电路路,甚甚至至用用1 1个个管管子子也也可可以以。这这样样,在在一一个个半半导导体体芯芯片片上上,如如要要制制造造动动态态RAMRAM,就就可可容容纳纳更更多多的的
44、基基本本存存储储电电路路,即即位位密密度度得得到到显显著著提提高高。于于是是,如如果果用用动动态态RAMRAM来来组组成成指指定定容容量量的的存存储储模模块块,所所用用的的器器件件要要比比用用其其他他类类型型的的器器件件大大大大减减少。少。动态动态RAMRAM的低功耗特性。的低功耗特性。v同同样样为为一一个个基基本本存存储储电电路路,动动态态RAMRAM的的功功耗耗要要比比静静态态RAMRAM的的低低得得多多。具具体体地地说说,动动态态RAMRAM每每个个基基本本存存储储电电路路的的功功耗耗为为0.05mw0.05mw。而而静静态态RAMRAM为为0.2mw0.2mw。动动态态RAMRAM的的
45、低低功功耗耗特特性性减减少少了了系系统统的功率要求,也降低了系统的价格。的功率要求,也降低了系统的价格。动态动态RAMRAM的价格低廉。的价格低廉。v如如果果按按“位位”来来计计算算,动动态态RAMRAM比比静静态态RAMRAM更更便便宜宜得得多多。不不过过,动动态态RAMRAM需需要要较较多多的的支支持持电电路路,所所以以,如如果果要要建建立立的的存存储储系系统统容容量量比比较较小小,那那么么,几几乎乎谈谈不不上上什什么么优优点点。但但是是,在在存存储储容容量量比比较较大大时时,动动态态RAMRAM价价格格低低廉廉的的优优点点会很显著。会很显著。三、三、DRAMDRAM与与SRAMSRAM构
46、成上的异同点构成上的异同点芯片结构类似点:都由存储体和外围电路构成。芯片结构类似点:都由存储体和外围电路构成。单元电路及外围电路的主要不同。单元电路及外围电路的主要不同。1 1、电路组成:电路组成:一只一只MOSMOS晶体管晶体管T T和一和一个电容个电容C C (作在作在T T的的源极的一侧)源极的一侧) 。2 2、工作原理、工作原理C C上有电荷表示存储上有电荷表示存储“1”1”,反之为,反之为“0”0”(1 1)保持状态)保持状态保持状态字线为低电保持状态字线为低电位,位,T T关闭,切断了关闭,切断了C C的通路,使所充电荷的通路,使所充电荷不能放掉。不能放掉。但电容总有一定的漏但电容
47、总有一定的漏电阻,见右图。电阻,见右图。v字线字线W Wv v T TvC Cv C CD Dv v D D (位线)位线) 三、三、DRAMDRAM记忆元件电路之一:单管记忆元件电路之一:单管DRAMDRAM刷新的原因。刷新的原因。(2 2)写入:字线的正)写入:字线的正驱动脉冲打开驱动脉冲打开T T。v写写“1”1”:在:在D D线加高线加高电位;电位;v写写“0”0”:在:在D D线加低线加低电位。电位。(3 3)读出:字线的正)读出:字线的正驱动脉冲打开驱动脉冲打开T T。v原存原存“1”1”:电荷经:电荷经T T使使D D线电位升高;线电位升高;v原存原存“0”0”:D D线电位线电
48、位将降低。将降低。v单管单管DRAMDRAM为为“破坏性破坏性读出读出“电路。电路。v读后立即写。读后立即写。v字线字线W Wv T Tv C R C Rv C CD Dv D D (位线)位线)五、五、DRAMDRAM的刷新(刷新、再生的刷新(刷新、再生RefreshRefresh)1 1、刷新的定义、刷新的定义 在利用电容上的电荷来存储信息的动在利用电容上的电荷来存储信息的动态半导体存储器中,由于漏电使电容上的电态半导体存储器中,由于漏电使电容上的电荷衰减,需要定期地重新进行存储,这个过荷衰减,需要定期地重新进行存储,这个过程称为刷新。程称为刷新。2 2、刷新周期、刷新周期 对整个对整个D
49、RAMDRAM必须在一定的时间间隔内必须在一定的时间间隔内完成一次全部单元内容的刷新,否则会出现完成一次全部单元内容的刷新,否则会出现信息错误。从整个信息错误。从整个DRAMDRAM上一次刷新结束到下上一次刷新结束到下一次刷新完为止的时间间隔叫刷新周期。一次刷新完为止的时间间隔叫刷新周期。刷新周期一般为刷新周期一般为msms级,由电容中信息可保持的级,由电容中信息可保持的时间决定。(时间决定。(2ms2ms,8ms8ms,4ms4ms)五、五、DRAMDRAM的刷新(刷新、再生的刷新(刷新、再生RefreshRefresh)3 3、刷新过程刷新过程 以行为单位以行为单位,读出一行中全部单元的数
50、,读出一行中全部单元的数据,经信号放大后同时全部写回;据,经信号放大后同时全部写回; 行行的含义;的含义; 读出时一定断开存储器的输出。读出时一定断开存储器的输出。4 4、刷新方式(刷新的控制方式)、刷新方式(刷新的控制方式)集中刷新、分散刷新和异步刷新集中刷新、分散刷新和异步刷新v通过通过P.84P.84图图3.143.14(三种刷新方式的时间分配)(三种刷新方式的时间分配)了解三种刷新方式;了解三种刷新方式;v(例中(例中T TM M=0.5=0.5ss,刷新周期为刷新周期为2ms2ms,需刷新的需刷新的存储矩阵为存储矩阵为128X128128X128)。)。v三种刷新方式的小结:三种刷新
51、方式的小结:v( 1 1)第二种方式即分散方式的主要缺点;)第二种方式即分散方式的主要缺点;v(2 2)第一种与第三种方式即集中方式与异步)第一种与第三种方式即集中方式与异步方式的比较;方式的比较;v(3 3)刷新优先于访存,但不能打断访存周期。)刷新优先于访存,但不能打断访存周期。刷新其间不允许访存。刷新其间不允许访存。v六、六、DRAMDRAM芯片(特殊性)芯片(特殊性)v1 1、DRAMDRAM芯片与芯片与SRAMSRAM芯片相同之处芯片相同之处v2 2、DRAMDRAM芯片与芯片与SRAMSRAM芯片不同之处芯片不同之处v(1 1)增加了刷新控制电路:)增加了刷新控制电路:v因此作因此
52、作DRAMDRAM扩展类题目时,一般不需表示出扩展类题目时,一般不需表示出存储器芯片与存储器芯片与CPUCPU的连接;的连接;v(2 2)地址引脚复用)地址引脚复用减少引线:减少引线:v由由RAS*RAS*和和CAS*CAS*分时选择地址并锁存到芯片中;分时选择地址并锁存到芯片中;v(3 3)一般没有)一般没有CS*CS*信号;信号;v(4 4)在)在X1X1(例:例:16KX116KX1、256KX1256KX1等)的等)的DRAMDRAM芯片中,数据线芯片中,数据线D D常分为两个引脚:常分为两个引脚:vDinDin和和DoutDout。3 3、DRAMDRAM芯片实例:芯片实例:2116
53、2116(16KX116KX1)vIntel 2116Intel 2116的逻辑符号见下图。的逻辑符号见下图。RAS* CAS*RAS* CAS*A A6 6A A0 0WE*WE*16KX1bit16KX1bitDin Din DoutDoutv4 4、DRAMDRAM控制器控制器v(1 1)是)是CPUCPU与与DRAMDRAM芯片之间的接口;芯片之间的接口;v(2 2)提供)提供DRAMDRAM刷新的硬件支持。刷新的硬件支持。v一般一般DRAMDRAM控制器的逻辑框图如下(教材控制器的逻辑框图如下(教材P.85P.85图图3.163.16):):CPUCPUD DR RA AM M刷新地
54、址刷新地址计数器计数器地址多路地址多路开关开关刷新刷新定时器定时器仲裁仲裁电路电路定时定时发生器发生器地址总线地址总线读读/ /写写地址地址RAS*RAS*CAS*CAS*WR*WR*v七、有关七、有关DRAMDRAM芯片的书后习题芯片的书后习题-P.125-P.125v2 2、已知某已知某6464位机主存采用半导体存储器,其位机主存采用半导体存储器,其地址码为地址码为2626位,若使用位,若使用256K X 16256K X 16位的位的DRAMDRAM芯芯片组成该机所允许的最大主存空间,并选用片组成该机所允许的最大主存空间,并选用模块板模块板结构形式结构形式,问:,问:v(1 1)若每个模
55、块板为)若每个模块板为1024K X 641024K X 64位,共需几位,共需几个模块板?个模块板?v(2 2)每个模块板内共有多少)每个模块板内共有多少DRAMDRAM芯片?芯片?v(3 3)主存共需多少)主存共需多少DRAMDRAM芯片?芯片?CPUCPU如何选择如何选择各模块板?各模块板?v解答解答:(:(1 1)2 22626 X 64/ X 64/(1024K X 641024K X 64)=64=64个个模块板模块板v(2 2)1024K X 64/1024K X 64/(256K X 16256K X 16)=16=16片片DRAMDRAM芯片芯片v(3 3)主存共需)主存共需
56、64 X 16=102464 X 16=1024片片DRAMDRAM芯片;芯片;vCPUCPU用用2626位地址的高位地址的高6 6位经位经6/646/64译码选择各模译码选择各模块板。块板。v3 3、用用16K X 816K X 8位的位的DRAMDRAM芯片构成芯片构成64K X 3264K X 32位位存储器,要求:存储器,要求:v(1 1)画出该存储器的组成逻辑框图。)画出该存储器的组成逻辑框图。v解答解答:v首先计算出需用首先计算出需用DRAMDRAM芯片的数量为:芯片的数量为:v64K X 32/64K X 32/(16K X 816K X 8)=16=16片;片;v然后按然后按S
57、RAMSRAM扩展的方法进行并联、串联;扩展的方法进行并联、串联;v同时要考虑同时要考虑DRAMDRAM芯片的特殊性;芯片的特殊性;v作出如下的存储器组成逻辑框图:作出如下的存储器组成逻辑框图:A6A0A6A016K X 8 16K X 8 1#1# WRWRRAS*RAS*CAS*CAS*D7D0D7D0A6A0A6A016K X 8 16K X 8 4#4# WRWRRAS*RAS*CAS*CAS*D7D0D7D0A6A0A6A016K X 8 16K X 8 13#13# WRWRRAS*RAS*CAS*CAS*D7D0D7D0A6A0A6A016K X 8 16K X 8 16#16#
58、 WRWRRAS*RAS*CAS*CAS*D7D0D7D0A6A0A6A0(A13A7A13A7)D31D31D0D0A15A15A14A14与与Y3*Y3*Y2*Y2*Y1*Y1*Y0*Y0*与与t1t1t2t2t2=t1+tt2=t1+tRASRAS3 3* *CASCAS3 3* *RASRAS0 0* *RASRAS3 3* *用用1616片片16K X 8DRAM16K X 8DRAM构成构成64K X 3264K X 32主存的逻辑图主存的逻辑图v(2 2)设存储器读)设存储器读/ /写周期为写周期为0.50.5 s s,CPUCPU在在1 1 s s内至少要访问一次。试问采用哪种
59、刷新方内至少要访问一次。试问采用哪种刷新方式比较合理?两次刷新的最大时间间隔是多式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷少?对全部存储单元刷新一遍所需的实际刷新时间是多少?新时间是多少?v解答:解答:v采用异步刷新较为合理。采用异步刷新较为合理。v关于两次刷新的最大时间间隔。关于两次刷新的最大时间间隔。v实际刷新时间实际刷新时间v设每片设每片DRAMDRAM为为128128行,则有行,则有v(128 128 行行/ /组)组)X 4X 4组组 X 0.5 X 0.5 s/s/行行=256 =256 s s(注意:注意:芯片中行、列的数目要作为已知条芯片中行、
60、列的数目要作为已知条件;件; 刷新周期与刷新信号周期。)刷新周期与刷新信号周期。)v(3 3)采用异步刷新方式,如单元刷新)采用异步刷新方式,如单元刷新间隔不超过间隔不超过8ms8ms,则刷新信号周期是多少则刷新信号周期是多少?v8000 (8000 ( s s)/128()/128(行行/ /组组)4)4组组=15.5(=15.5( s s) )3.3 3.3 只读存储器和闪速存储器只读存储器和闪速存储器 3.3.1 3.3.1 只读存储器只读存储器ROMROMvSRAMSRAM、DRAMDRAM都是挥发性(都是挥发性(volatilevolatile)存存储器,而储器,而ROMROM是非挥
61、发性的存储器。是非挥发性的存储器。v(易失性、非易失性存储器)(易失性、非易失性存储器)vROMROM中一旦有了信息,就不能轻易改变,中一旦有了信息,就不能轻易改变,也不会在掉电时丢失,它们在计算机系也不会在掉电时丢失,它们在计算机系统中是只供读出的存储器。统中是只供读出的存储器。vROMROM器件有两个显著的优点:器件有两个显著的优点:1.1.结构简单,所以位密度比可读写结构简单,所以位密度比可读写存储器高。存储器高。2.2.具有非易失性,所以可靠性高。具有非易失性,所以可靠性高。v由由于于ROMROM器器件件的的功功能能是是只只许许读读出出,不不许许写写入入,所所以以,它它只只能能用用在在
62、不不需需要要经经常常对对信信息息进进行行修修改改和和写写入入的的地地方方。计计算算机机系系统统中中,一一般般既既有有RAMRAM模模块块,也也有有ROMROM模模块块。ROMROM模模块块中中常常常常用用来来存存放放系系统统启启动动程程序序和和参参数数表表,也也用用来来存存放放常常驻驻内内存存的的监监控控程程序序或或者者操操作作系系统统的的常常驻驻内内存存部部分分,甚甚至至还还可可以以用用来来存存放放字字库库或或者者某某些些语语言言的的编编译程序及解释程序。译程序及解释程序。一、一、MROMMROM全固定、掩模型全固定、掩模型ROMROM 1 1、概念解释、概念解释vM M:MaskMask即
63、掩模(膜)版。半导体即掩模(膜)版。半导体ICIC的制作工的制作工序中关键的一项是光刻。各种元件尺寸和元序中关键的一项是光刻。各种元件尺寸和元件间连接都靠光刻工艺完成,而光刻是通过件间连接都靠光刻工艺完成,而光刻是通过掩模版曝光刻出图形来。掩模版曝光刻出图形来。v所以,制作所以,制作 ROMROM时,可根据使用的具体需要,时,可根据使用的具体需要,在制作在制作maskmask时将信息(时将信息(ProgramProgram)编排进去。)编排进去。光刻成的光刻成的ROMROM,所存信息与,所存信息与maskmask完全一致,不完全一致,不可改变。故名全固定可改变。故名全固定ROMROM。2 2、
64、MROMMROM特点:特点:v掩掩膜膜型型ROMROM又又可可分分为为MOSMOS型型和和双双极极型型两两种种。MOSMOS型型功功耗耗小小,但但速速度度比比较较慢慢、微微型型机机系系统统中中用用的的ROMROM主主要要是是这这种种类类型型。双双极极型型速速度度比比MOSMOS型型快快,但但功功耗耗大大,只只用用在在速速度度要要求较高的系统中。求较高的系统中。v适合大批量生产已成型的产品。小量生适合大批量生产已成型的产品。小量生产则成本上升(产则成本上升(maskmask制作工艺复杂,周制作工艺复杂,周期长)。所以,总是在一个计算机系统期长)。所以,总是在一个计算机系统完成开发以后,才用掩膜完
65、成开发以后,才用掩膜ROMROM来容纳不再来容纳不再作修改的程序或数据。作修改的程序或数据。3 3、MROMMROM例图(例图(3232字字X8X8位)位)v V VC CvA0 A0 0 0vA1A1 W0W0v 1 1 W1W1vA4 A4 31 31 W31W31v D D0 0 D D1 1 D D7 7地地址址译译码码器器二、一次可编程的二、一次可编程的ROMPROMROMPROM(ProgrammableProgrammable)v何为何为PROMPROM:制造者生产制造者生产ROMROM时为全时为全“0”0”或全或全“1”1”出厂。用户可以根据需要用专门的写入出厂。用户可以根据需
66、要用专门的写入器(编程器)写入信息。一旦写入,不可更器(编程器)写入信息。一旦写入,不可更改。改。vPROMPROM的两种类型的两种类型 1 1、结击穿(结破坏)型、结击穿(结破坏)型 2 2、熔(断)丝型、熔(断)丝型v写入时,利用外部引脚输入地址,对其中的写入时,利用外部引脚输入地址,对其中的二极管键进行选择,使某一些被烧断,某一二极管键进行选择,使某一些被烧断,某一些保持原状,于是就进行了编程。些保持原状,于是就进行了编程。三、可擦除可编程三、可擦除可编程ROMEPROMROMEPROM(Erasable Erasable PROMPROM)v光擦,电擦等。具体种类较多。满足灵光擦,电擦
67、等。具体种类较多。满足灵活性需要。但两次改写之间仍是只读的。活性需要。但两次改写之间仍是只读的。而且可改写的次数也是有限的。而且可改写的次数也是有限的。v1 1、光擦除、光擦除EPROMEPROMv存储单元一般为存储单元一般为MOSMOS晶体管,栅极是一个被绝晶体管,栅极是一个被绝缘体隔绝的悬空的多晶硅电极,初始时栅极缘体隔绝的悬空的多晶硅电极,初始时栅极上没有电荷。上没有电荷。v编程时加编程时加25V25V电压,可向栅极注入电荷电压,可向栅极注入电荷( (负),负),使晶体管导通。使晶体管导通。v电压撤掉,绝缘体隔绝了电荷,使晶体管保电压撤掉,绝缘体隔绝了电荷,使晶体管保持导通(或截止),从
68、而存储数据。持导通(或截止),从而存储数据。v紫外线擦除;又称紫外线擦除;又称UVEPROMUVEPROM。v在在EPROMEPROM芯片上方有一个石英窗,从而允许紫芯片上方有一个石英窗,从而允许紫外线穿过而照射到电路上。此时,聚集在各外线穿过而照射到电路上。此时,聚集在各基本存储电路中的电荷会形成光电流泄漏走基本存储电路中的电荷会形成光电流泄漏走使电路恢复为初始状态,从而擦除了写入信使电路恢复为初始状态,从而擦除了写入信息。息。vEPROMEPROM一一般般用用在在软软件件或或系系统统开开发发阶阶段段,一一旦旦设设计计过过程程彻彻底底完完成成,就就用用掩掩膜膜型型ROMROM或或者者PROM
69、PROM取取而而代代之之。因因为为EPROMEPROM可可以以擦擦除除,所所以以,它它们们换换下下来来后后还还可可以以反反复复使使用用。 EPROMEPROM在在初初始始状状态态下下,所所有有的的数数位位均均为为“1”1”,写写入入时时只只能能将将“1”1”改改变变为为“0”0”,用用紫紫外外线线光光源源抹抹除除时时,才才能能将将“0”0”变为变为“1”1”v2 2、电可擦写、电可擦写PROMEEPROMPROMEEPROM或或E E2 2PROMPROMv擦除机理不同:擦除机理不同:EEPROMEEPROM增加了一个控制增加了一个控制栅极,擦写时在源极加较高的编程电压栅极,擦写时在源极加较高
70、的编程电压VppVpp,而控制栅极接地。电场作用使浮置而控制栅极接地。电场作用使浮置栅极上的电子越过氧化层进入源区,被栅极上的电子越过氧化层进入源区,被外加电源中和掉。外加电源中和掉。v两个写周期完成擦除和写入。两个写周期完成擦除和写入。v可字节擦,也可全片擦。可字节擦,也可全片擦。3.3.2 3.3.2 闪速存储器(闪速存储器(flash memoryflash memory:快闪快闪存储器、快擦存储器)存储器、快擦存储器)v在在EEPROMEEPROM基础上发展起来的新型电可擦除非基础上发展起来的新型电可擦除非挥发性存储器件。挥发性存储器件。v存储单元结构类似于存储单元结构类似于EEPRO
71、MEEPROM,主要差别是闪主要差别是闪存的氧化层较薄,因而电擦性能更好。存的氧化层较薄,因而电擦性能更好。v特点:特点:v 从全片擦除进步到部分(块)擦除,适从全片擦除进步到部分(块)擦除,适合文件存储;合文件存储;v 擦写次数擦写次数1010万次以上,读取时间小于万次以上,读取时间小于90ns90ns;v固有的非易失性固有的非易失性RAMRAM断电后保存的信息随即丢失,闪存具有可靠断电后保存的信息随即丢失,闪存具有可靠的非易失性,是一种理想的存储器的非易失性,是一种理想的存储器v廉价的高密度廉价的高密度1M1M位闪存的位成本比位闪存的位成本比SRAMSRAM低一半以上,低一半以上,16M1
72、6M的更的更低;与低;与DRAMDRAM相比节省后援存储器的费用和空间相比节省后援存储器的费用和空间v可直接执行可直接执行省去了从磁盘到省去了从磁盘到RAMRAM的加载步骤,工作速度仅取的加载步骤,工作速度仅取决于存取时间决于存取时间v固态性能固态性能低功耗、高密度、无机电移动装置,适合于便携低功耗、高密度、无机电移动装置,适合于便携式计算机,替代硬盘的理想工具式计算机,替代硬盘的理想工具3.3.2 3.3.2 闪速存储器(闪速存储器(flash memoryflash memory:快闪快闪存储器、快擦存储器)存储器、快擦存储器)用途:用途:v 作为系统软件核心部分的存储器;作为系统软件核心
73、部分的存储器;v 外部数据采集;外部数据采集;v 在某些应用中代替硬盘(被称为固态盘在某些应用中代替硬盘(被称为固态盘而广泛用于便携式计算机系统)。而广泛用于便携式计算机系统)。3.3.3 ROM3.3.3 ROM、RAMRAM与与CPUCPU的连接的连接v按照指定的地址空间分配,正确选择所给各按照指定的地址空间分配,正确选择所给各种存储器芯片及其它片子、门电路等;种存储器芯片及其它片子、门电路等;v将对应的地址线、数据线、控制线连接起来,将对应的地址线、数据线、控制线连接起来,构成较完整的处理器与存储器的相连系统。构成较完整的处理器与存储器的相连系统。v例之一:教材例之一:教材P.93P.9
74、3【例例3 3 】。CPUCPU的地址总线的地址总线1616根(根(A A1515AA0 0),),双向数据总双向数据总线线8 8根(根(D D7 7DD0 0),),控制总线中与主存有关的信控制总线中与主存有关的信号有号有MREQ*MREQ*(允许访存,低电平有效),允许访存,低电平有效),R/W*R/W*(高电平为读命令,低电平为写命令)。高电平为读命令,低电平为写命令)。主存地址空间分配如下:主存地址空间分配如下:0819108191为系统程序区;为系统程序区;819232767819232767为用户程为用户程序区;最后(最大地址)序区;最后(最大地址)2K2K为系统程序工作为系统程序
75、工作区。上述地址为十进制,按字编址。现有如区。上述地址为十进制,按字编址。现有如下存储器芯片:下存储器芯片: EPROMEPROM:8KX88KX8位(控制端仅有位(控制端仅有CS*CS*)SRAMSRAM:16KX116KX1位,位,2KX82KX8位,位,4KX84KX8位,位,8KX88KX8位位请从上述芯片中选择适当芯片设计该计算机请从上述芯片中选择适当芯片设计该计算机主存储器,画出主存储器逻辑框图。注意:主存储器,画出主存储器逻辑框图。注意:画出选片逻辑(可选用门电路及画出选片逻辑(可选用门电路及3 3:8 8译码器译码器74LS13874LS138)与)与CPUCPU的连接,说明选
76、哪些存储器芯的连接,说明选哪些存储器芯片,各选多少片。片,各选多少片。作为此类设计常用芯片,首先回顾作为此类设计常用芯片,首先回顾74LS13874LS138译码器:译码器:(1 1)7413874138的逻辑符号的逻辑符号G G1 1G G2A2AG G2B2BC CB BA AY Y7 7Y Y0 0其中:其中:G G1 1,G G2A2A,G G2B2B为输入控制端;为输入控制端;C C,B B,A A为译码输入端;为译码输入端;Y Y7 7,Y Y0 0为译码输出端。为译码输出端。(2 2)7413874138的真值表:的真值表:G G1 1 G G2A 2A G G2B2B C B
77、C B A A Y Y7 7 Y Y6 6 Y Y5 5 Y Y4 4 Y Y3 3 Y Y2 2 Y Y1 1 Y Y0 0 0 X 0 X X X X X X X X X 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 X 1 X 1 X X X X X X X X 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 X X X X 1 1 X X X X X X 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 0 1 0 0 0 0 0
78、 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 11 0 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 10 1 1 1 0 1 0 0 0 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 11 1 1 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 11 1 1 1 0 1 0 0 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1 0 0 1 0 1 1 1 1 0 1
79、 1 1 1 1 11 1 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 11 1 1解题的步骤:解题的步骤:1 1、完整列出二进制表示的地址空、完整列出二进制表示的地址空间分配间分配vA A1515A A1414A A13 13 A A1212A A1111A A1010A A9 9 A A8 8 A A7 7 A A6 6 A A5 5 A A4 4 A A3 3 A A2 2 A A1 1 A A0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0v v
80、0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 v 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v v 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1v 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0v v 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
81、1 1 1 1 1 1 1 1 1 1 1 1 1 1 空闲未用的区域空闲未用的区域解题步骤:解题步骤:2 2、根据空间分配和题意确定存储芯、根据空间分配和题意确定存储芯片类型及数量,同时确定片类型及数量,同时确定7413874138的输入、输出端的输入、输出端如何使用。如何使用。(1 1)前)前8K8K选用一片选用一片8KX88KX8的的EPROMEPROM即可,用即可,用7413874138的的Y Y0 0输出进行该片的选片(即输出进行该片的选片(即A A1515A A1414A A1313=000=000););(2 2)相邻相邻24K24K选用选用8KX88KX8的的SRAMSRAM三
82、片即可,用三片即可,用7413874138中中Y Y1 1、Y Y2 2、Y Y3 3分别选三片中的一片(即分别选三片中的一片(即A A1515A A1414A A1313 =001 =001、010010、011011););(3 3)末)末2K2K用一片用一片2KX82KX8的的SRAMSRAM即可,在即可,在7413874138的的Y Y7 7输出有效的基础上再加入输出有效的基础上再加入A A1212、A A1111同时为同时为1 1的的条件条件用一个非门和一个与门逻辑就可以用一个非门和一个与门逻辑就可以实现。实现。v解题步骤:解题步骤:3 3、作出连接图。(教材、作出连接图。(教材P.
83、94P.94图图3.243.24。)。)与与D0D0D7D7A A0 0 A A1010A A1111A A1212A A1313A A1414A A1515Y Y0 0 Y Y1 1 Y Y2 2 Y Y3 3 Y Y4 4 Y Y5 5 Y Y6 6 Y Y7 7G G2A 2A 74LS138 74LS138G G2B2B A B C G A B C G1 1 MREQMREQV V非非R/WR/W8KB8KBSRAMSRAMCPUCPUCSCS8KB8KBSRAMSRAMD7D0D7D0CSA0A12A0A128KB8KBEPROMEPROMD7D0D7D0CSA0A12A0A12D7
84、D0D7D0CSA0A10A0A102KB2KBSRAMSRAM8KB8KBSRAMSRAMA0A12A0A12A0A12A0A12D7D0D7D0D7D0D7D0例之二:设例之二:设CPUCPU共有共有1616根地址线,根地址线,8 8根数据线,根数据线,并用并用MREQ*MREQ*作访存控制信号(低电平有效),用作访存控制信号(低电平有效),用WR*WR*作读写控制信号(高电平为读,低电平为写)作读写控制信号(高电平为读,低电平为写),现有下列芯片及各种门电路(自定)如图。,现有下列芯片及各种门电路(自定)如图。画出画出CPUCPU与存储器的连接图。要求:与存储器的连接图。要求:vAmA0
85、 AmA0 AkAk.AoAovDnDn Do Do DnDn .Do .Dov2KX8 2KX8 位位 1KX41KX4位位v8KX8 8KX8 位位 2KX82KX8位位v32KX832KX8位位 8KX88KX8位位v 16KX116KX1位,位,4KX44KX4位位v 74LS13874LS138CSCSRDRDROMROMCSCSWEWERAMRAM(1 1)存储芯片地址空间分配为:最大)存储芯片地址空间分配为:最大4K4K空间为空间为系统程序区,相邻的系统程序区,相邻的4K4K为系统程序工作区,为系统程序工作区,最小最小16K16K为用户程序区;为用户程序区;(2 2)指出选用的存
86、储芯片类型及数量;)指出选用的存储芯片类型及数量;(3 3)详细画出片选逻辑。)详细画出片选逻辑。 vROMROM:2KX8 2KX8 位位 RAMRAM: 1KX41KX4位位v 8KX8 8KX8 位位 2KX82KX8位位v 32KX832KX8位位 8KX88KX8位位v 16KX116KX1位位v 4KX44KX4位位解答:解答:步骤步骤1 1、地址空间分配:强调必须、地址空间分配:强调必须用二进制完整用二进制完整列出列出,否则无法正确选片。,否则无法正确选片。 A15A14A13A12A11A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 A15A14A13A12
87、A11A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 1 1 1 0 1 1
88、 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1
89、 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 中间有中间有40K40K的空白未用地址空间的空白未用地址空间4K4K4K4K16K16K步骤步骤2 2、确定芯片的类型和数量。除了、确定芯片的类型和数量。除了7413874138译译码器与门电路之外要选:码器与门电路之外要选:(1 1)4K4K的系统程序区用两片的系统程序区用两片2K X 82K X 8位的位的ROMROM,片选用片选用7413874138的的Y7Y7输出加进输出加进A12A12、A11A11组合分别组合分别为为1111和和1010(各对应一
90、片)的条件,可以用简(各对应一片)的条件,可以用简单门电路实现。单门电路实现。(2 2)相邻)相邻4K4K的系统程序工作区用的系统程序工作区用4K X 44K X 4位的位的RAMRAM进行位扩展即可。片选用进行位扩展即可。片选用7413874138的的Y7Y7输出输出加进加进A12=0A12=0的条件即可。的条件即可。(3 3)最小)最小16K16K用户程序区用两片用户程序区用两片8K X 88K X 8位的位的RAMRAM,两片的片选分别用两片的片选分别用7413874138的的Y1Y1、Y0Y0输出端。输出端。步骤步骤3 3、作出连接图、作出连接图MREQMREQA15A15A14A14
91、A13A13A12A12A11A11A10A10A9A9A0A0D7D7D0D0WRWR8KX88KX8RAMRAM8KX88KX8RAMRAM2KX82KX8ROMROM2KX82KX8ROMROM4KX44KX4RAMRAM4KX44KX4RAMRAM或或非非或或或或非非+V+V G1G1G G2A2AG G2B2BC CB BA AY7Y7Y1Y1Y0Y0 . .有关有关ROMROM的的书后习题书后习题 P.125P.125v6 6、用、用32K X 832K X 8位的位的EPROMEPROM芯片组成芯片组成128K X 16128K X 16位的只读存储器,试问:位的只读存储器,试问
92、:v(1 1)数据寄存器多少位?)数据寄存器多少位?v(2 2)地址寄存器多少位?)地址寄存器多少位?v(3 3)共需多少个)共需多少个EPROMEPROM芯片?芯片?v(4 4)画出此存储器组成框图。)画出此存储器组成框图。v解答解答(1 1)8 8位,位,1616位;位;v(2 2)1515位,位,1717位;位;v(3 3)共需)共需128K X 16/128K X 16/(32K X 832K X 8)=8=8个个EPROMEPROM芯片;芯片;v(4 4)存储器的组成框图如下:)存储器的组成框图如下:A14A0A14A032K X 832K X 81# 1# CS*CS*D7D0D7
93、D0A14A0A14A032K X 832K X 8CS*CS* 2# 2# D7D0D7D0A14A0A14A032K X 832K X 87# 7# CS*CS*D7D0D7D0A14A0A14A032K X 832K X 8CS*CS* 8# 8# D7D0D7D0D15D15D8D8D7D7D0D0A14A14A0A02/42/4译译码码A16A16A15A15有关有关ROMROM的的书后习题书后习题 P.125P.125v7 7、某机器中,已知配有一个地址空间为、某机器中,已知配有一个地址空间为0000H3FFFH0000H3FFFH的的ROMROM区域。现在再用一种区域。现在再用一
94、种RAMRAM芯芯片(片(8K X 88K X 8)形成形成40K X 1640K X 16位的位的RAMRAM区域,起区域,起始地址为始地址为6000H6000H。假设假设RAMRAM芯片有芯片有CS*CS*和和WE*WE*信信号控制端。号控制端。CPUCPU的地址总线为的地址总线为A15A0A15A0,数据总数据总线为线为D15D0D15D0,控制信号为控制信号为R/WR/W(读读/ /写),写),MREQ*MREQ*(访存),要求:访存),要求:v(1 1)画出地址译码方案。)画出地址译码方案。v(2 2)将)将ROMROM与与RAMRAM同同CPUCPU连接。连接。7 7、解答:作出地
95、址空间分配方案:解答:作出地址空间分配方案: A15A14A13A12A11A10A9 A8 A7 A6 A5 A4 A3 A2 A1 A0A15A14A13A12A11A10A9 A8 A7 A6 A5 A4 A3 A2 A1 A0v 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000H 0 0 0 0000H v 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3FFFH1 1 1 1 1 3FFFHv 0 1 1 0 0 0 0 0 0 0 0 0 0 1
96、 1 0 0 0 0 0 0 0 0 0 0 0 0 0 6000H0 0 0 0 6000Hv 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 v 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0v 1 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1v 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 00
97、0 0 0v 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1v 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0v 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1v 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0v 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
98、 1 1 1 1 1 1 1 FFFFH1 1 1 1 1 1 FFFFHv选用选用1010片片8K X 8RAM8K X 8RAM芯片两两并联后五组再串联:芯片两两并联后五组再串联:v(只画出了(只画出了RAMRAM与与CPUCPU的连接,读写控制线图中没有的连接,读写控制线图中没有画出)画出)D0D7D0D78KX8 RAM 8KX8 RAM 1# CS*1# CS*A0A12A0A12D0D7D0D78KX8 RAM8KX8 RAM CS * 2# CS * 2# A0A12A0A12D0D7D0D78KX8 RAM8KX8 RAM9# CS*9# CS*A0A12A0A12D0D7D0
99、D78KX8 RAM8KX8 RAMCS * 10#CS * 10#A0A12A0A12C CP PU UD15D15D8D8D7D7D0D0A0A0A12A12A13A13A14A14A15A15MREQMREQA AB BC CG G2A2A* G* G2B2B* *G1G1Y3*Y3*Y7*Y7*74LS13874LS138V V3.4 3.4 高速存储器高速存储器v题意题意v 提高存储器工作速度的技术(频带提高存储器工作速度的技术(频带平衡)平衡)v 解决存储器与解决存储器与CPUCPU速度不匹配速度不匹配v 容量、速度、价格的矛盾容量、速度、价格的矛盾v提高存储器速度提高存储器速度减
100、小内存与减小内存与CPUCPU之间速度之间速度差异的主要途径差异的主要途径v 在在CPUCPU内部设多个通用寄存器;内部设多个通用寄存器;v 研究新的研究新的DRAMDRAM芯片技术芯片技术;v 在在结构技术结构技术上考虑更好的措施;上考虑更好的措施;v 从从系统结构系统结构角度考虑采用多层存储体角度考虑采用多层存储体系。系。v(每项技术措施都是为了整体改善存储器性(每项技术措施都是为了整体改善存储器性能价格比,但不同技术主要针对某个存储器能价格比,但不同技术主要针对某个存储器技术指标的提高。)技术指标的提高。)v1 1、芯片技术、芯片技术v在在DRAMDRAM芯片芯片中采用高速存取方式。中采
101、用高速存取方式。v快速页面访问方式(快速页面访问方式(FPMFPM):):此次访问的存储此次访问的存储单元与上次访问的单元处于存储单元阵列的单元与上次访问的单元处于存储单元阵列的同一行(即页面)时,可以利用上次访问的同一行(即页面)时,可以利用上次访问的行地址。比一般访问提高行地址。比一般访问提高23倍。倍。v增强数据输出存储器(增强数据输出存储器(EDO DRAMEDO DRAM):在):在FPM FPM DRAMDRAM的基础上,增加一个数据锁存器,在输的基础上,增加一个数据锁存器,在输出一个数据的过程中就准备下一个数据的输出一个数据的过程中就准备下一个数据的输出。性能提高出。性能提高15
102、%30%15%30%。v同步型同步型DRAMDRAM(SDRAMSDRAM):将):将CPUCPU和和RAMRAM通过一个通过一个相同的时钟锁在一起。实际是通过地址、数相同的时钟锁在一起。实际是通过地址、数据锁存及流水方式达到同步。据锁存及流水方式达到同步。vRDRAMRDRAM(RambusRambus DRAM DRAM):):经专用经专用RDRAMRDRAM总线与总线与CPUCPU之间传送数据。之间传送数据。vSLDRAMSLDRAM。v 。v(?)(?)芯片技术中还有:双端口存储器;芯片技术中还有:双端口存储器;相联存储器相联存储器 ;等等。;等等。 v2 2、结构技术、结构技术v选定
103、存储芯片后,进一步提高存储器性能的选定存储芯片后,进一步提高存储器性能的措施:从结构上提高存储器的带宽;措施:从结构上提高存储器的带宽;v实际是采用并行操作的存储器;实际是采用并行操作的存储器;v主要采用技术主要采用技术多体交叉存储技术。多体交叉存储技术。 v3 3、采用多层次存储体系结构、采用多层次存储体系结构v(寄存器寄存器)CacheCache主存主存辅存;辅存;v其中其中CacheCache技术面向速度问题而虚存技术面向技术面向速度问题而虚存技术面向容量问题。容量问题。3.4 3.4 高速存储器高速存储器地地址址寄寄存存器器地地址址寄寄存存器器译译码码器器译译码码器器存存储储体体地址地
104、址地址地址MDRMDRMDRMDR数据数据数据数据读写电路读写电路读写电路读写电路WEWEWEWEMARMARMARMAR双端口双端口存储器框图存储器框图3.4.1 3.4.1 双端口存储器双端口存储器一、端口的含义一、端口的含义 指读写口,含地址寄存器、地址译码器、指读写口,含地址寄存器、地址译码器、数据寄存器和读写控制电路。见下图。数据寄存器和读写控制电路。见下图。仲裁逻辑仲裁逻辑v二、无冲突和有冲突的读写二、无冲突和有冲突的读写v三、双端口存储器的应用场合三、双端口存储器的应用场合v1 1、多层次存储器系统中的、多层次存储器系统中的CacheCache采用双端口采用双端口结构;结构;v2
105、 2、一般主存用来实现、一般主存用来实现CPUCPU和其他总线主设备和其他总线主设备(如(如DMACDMAC和和IOPIOP)同时并行访问;同时并行访问;v3 3、多机系统中可用来实现多机之间信息交换、多机系统中可用来实现多机之间信息交换 (可考虑用多端口);(可考虑用多端口);v双端口存储器是显示卡上的显示存储器的主双端口存储器是显示卡上的显示存储器的主要形式;要形式;v。3.4.2 3.4.2 多模块交叉(多体交叉)存储器多模块交叉(多体交叉)存储器v一、多体交叉存储器的实质是一、多体交叉存储器的实质是并行的并行的主存系主存系统统v1 1、并行主存的含义、并行主存的含义v数据总线仍然是单字
106、宽(数据总线仍然是单字宽(W W),),却能在一个存却能在一个存取周期取周期TmTm访问到多个字(访问到多个字(nWnW)的信息。的信息。v2 2、实现并行的基础、实现并行的基础v用多个(用多个(n n个)存储体(存储模块)组成主存。个)存储体(存储模块)组成主存。v回忆回忆RAMRAM扩展时将扩展时将1KX41KX4芯片组织成芯片组织成8KX168KX16存储存储器的方法:器的方法:v(1 1)4 4个芯片位扩展为个芯片位扩展为1KX161KX16称其为一个称其为一个分(存储)体或一个模块(板);分(存储)体或一个模块(板);v(2 2)再用)再用8 8个模块字扩展成个模块字扩展成8KX16
107、8KX16的主存;的主存;A12 Y7A12 Y7A11A11A10 A10 Y0 Y0A9A9A0A0D D1515D D1212D D3 3D D0 0R/WR/W3/83/8译译码码器器A0A9A0A9R/W R/W 1# 1# CSCSD3.D0D3.D0A0A9A0A9R/W 4R/W 4# # CSCSD3D0D3D0A0A9A0A9R/WR/W29#29#CSCSD3D0D3D0A0A9A0A9R/WR/W32#32#CSCSD3D0D3D0该图所示结构已经具备了并行的基础;该图所示结构已经具备了并行的基础;但因为线性地址在各模块间的安排是顺序方式的,但因为线性地址在各模块间的安
108、排是顺序方式的,实际上只起到了扩充容量的作用,实际上只起到了扩充容量的作用,而没有达到增加频宽进而提高存取速度的目的。而没有达到增加频宽进而提高存取速度的目的。v二、多模块存储器中线性地址的两种安排方二、多模块存储器中线性地址的两种安排方式式v1 1、顺序方式、顺序方式v线性地址线性地址按模块按模块走,第一块排完再排第二块走,第一块排完再排第二块.;编址为高位交叉。;编址为高位交叉。v2 2、交叉方式、交叉方式v线性地址线性地址逐模块逐模块走,所有块编一个单元,再走,所有块编一个单元,再回到第一块回到第一块;编址为低位交叉,真正的;编址为低位交叉,真正的并行主存系统中常用的是这种方式。并行主存
109、系统中常用的是这种方式。v以上两种方式图解如下:以上两种方式图解如下:v(类教材(类教材P.101P.101图图3.293.29)0000000000M M0 0M M1 1M M2 2M M3 3内存地址:内存地址:4 3 2 1 04 3 2 1 000000010010000010010000001101100001001000000101101000011011000001111110101000000010100100101010100100101011011010110010001011011010101110110010111111110100000001010001001101
110、00100101010011011101010010010101011011010110110101011111111110000001111001001111101001011110110111111100100111110110111111101101111111111模块模块(分体分体)号号块内字地址块内字地址数据寄存器数据寄存器MDRMDR(1616位)位)DBDB(1616位)位)多多模模块块的的顺顺序序编编址址方方式式整个整个内存内存需地需地址寄址寄存、存、数据数据寄存寄存和读和读写控写控制电制电路各路各一套。一套。1616位位1616位位1616位位1616位位译码器译码器000
111、0000000数据总线数据总线DBDB(1616位)位)内存地址:内存地址:4 3 2 1 04 3 2 1 00000000101000000101000000011110010010000001001010100100110100010011111010010000001001001010100101010010110101101101100000110110101011011101001101111111001000000100100010110010010101001001 11 11011010000101101010110110110101011011111110110000011
112、01100101110110101011011011111111110000111111010111111110101111111111模块模块(分体分体)号号块内字地址块内字地址译码器译码器寻找模块寻找模块多多模模块块的的交交叉叉编编址址方方式式MDRMDR0 0MDRMDR3 3MDRMDR2 2MDRMDR1 1MARMAR0 0MARMAR3 3MARMAR2 2MARMAR1 11616位位1616位位1616位位1616位位n n个并行的个并行的存储体具有存储体具有各自的地址各自的地址寄存器的地寄存器的地址译码、驱址译码、驱动、读放等动、读放等电路电路三、多体交叉存储器的工作原理三
113、、多体交叉存储器的工作原理(Interleaved memoryInterleaved memory)v1 1、地址交叉排列的目的、地址交叉排列的目的v获得比单体或多体顺序排列方式更高的频宽。获得比单体或多体顺序排列方式更高的频宽。v【例例】在一个具有在一个具有4 4个存储体的多体交叉存储个存储体的多体交叉存储器中,如果处理器的访存地址为以下十进制器中,如果处理器的访存地址为以下十进制值;求该存储器比单体存储器的平均访问速值;求该存储器比单体存储器的平均访问速率提高多少(忽略初启时的延迟)?(率提高多少(忽略初启时的延迟)?(00010001为第一个地址。)为第一个地址。)(1 1)00010
114、001,00020002,00030003,01000100(2 2)00020002,00040004,00060006,02000200(3 3)00030003,00060006,00090009,03000300(1 1)4 4倍倍 (2 2)2 2倍倍 (3 3)4 4倍倍2 2、多体交叉存储体、多体交叉存储体分时工作分时工作原理原理 无论多体存储器中有几个分体,无论多体存储器中有几个分体,CPUCPU与主存之间数据通路仍是一个字长的与主存之间数据通路仍是一个字长的W W位。位。 n n个个W W位如何在一个存储周期位如何在一个存储周期TmTm中读中读出?出?一般采用分时启动分体的分
115、时读出法:一般采用分时启动分体的分时读出法:设有设有n n个分体(模块),各自的存取周期都是个分体(模块),各自的存取周期都是TmTm;则第一个分体启动后,每隔则第一个分体启动后,每隔1/n1/n个个TmTm再启动再启动下一个分体。下一个分体。例:设有例:设有4 4体交叉的存储器,分时即每隔体交叉的存储器,分时即每隔1/4Tm1/4Tm启动一个分体,见图示。启动一个分体,见图示。分时启动各个分存储体的示意图(以四体交叉分时启动各个分存储体的示意图(以四体交叉存储器为例)存储器为例)M3M3M2M2M1M1M0M0 1/4 2/4 3/4 1 1/4 2/4 3/4 1 2 t(Tm) 2 t(
116、Tm) 可见多体交叉存储器是一种采用流水方式工作可见多体交叉存储器是一种采用流水方式工作的并行存储器系统。的并行存储器系统。v3 3、交叉存取度(计算问题)、交叉存取度(计算问题)v(1 1)概念与例题说明)概念与例题说明v设多体中各分体(模块)字长等于数据总线设多体中各分体(模块)字长等于数据总线宽度;宽度;v又设各模块存取周期为又设各模块存取周期为T T,总线传送周期为总线传送周期为 ,存储器的模块数为,存储器的模块数为m m,为了实现流水存取,为了实现流水存取,应满足:应满足:vT= mT= m vm=T/m=T/ 叫做交叉存取度。叫做交叉存取度。v存储器的模块数必须大于或等于存储器的模
117、块数必须大于或等于m mvt1=T+t1=T+(m-1m-1) 为为交叉存储器连续取交叉存储器连续取m m个字所个字所需时间;(需时间;(P.102 P.102 图图3.313.31)vt2=t2=mTmT为顺序存储器连续取为顺序存储器连续取m m个字所需时间。个字所需时间。T T 时间时间字字模块模块W W0 0 M M0 0W W1 1 M M1 1W W2 2 M M2 2W W3 3 M M3 3W W0 0 M M0 0初启初启延迟延迟P.102P.102图图3.313.31流水方式存取示意图流水方式存取示意图v【例例4 4】设存储器容量为设存储器容量为3232字,字长字,字长646
118、4位,模位,模块数块数m=4m=4,分别用顺序方式和交叉方式进行组分别用顺序方式和交叉方式进行组织。存储周期织。存储周期T=200nsT=200ns,数据总线宽度为数据总线宽度为6464位,位,总线传送周期总线传送周期 =50ns=50ns。问顺序存储器和交叉问顺序存储器和交叉存储器的带宽各是多少?存储器的带宽各是多少?v解:二者读出解:二者读出4 4个字的信息量均为个字的信息量均为64 X 4=25664 X 4=256位;所需时间分别为:位;所需时间分别为:vT1=T+T1=T+(m-1m-1) =350ns=350nsvT2=T2=mTmT =800ns =800nsv带宽分别为:带宽分
119、别为:vW1=256/350=73 X 10W1=256/350=73 X 107 7位位/s/svW2=256/800=32 X 10W2=256/800=32 X 107 7位位/s/sv?带宽的物理含义。带宽的物理含义。BmBm=W/Tm=W/Tm:单位时间单位时间里存储器所存取的信息量。里存储器所存取的信息量。v(3 3)有关多体交叉存储器的书后习题:)有关多体交叉存储器的书后习题:P.125P.125习题习题8 8、 P.126P.126习题习题13138 8、设存储容量为、设存储容量为64M64M,字长为字长为6464位,模块数位,模块数m=8m=8,分别用顺序和交叉方式进行组织。
120、存储周分别用顺序和交叉方式进行组织。存储周期期T=100nsT=100ns,数据总线宽度为数据总线宽度为6464位,总线传送位,总线传送周期周期 =50ns=50ns。求:顺序存储器和交叉存储器求:顺序存储器和交叉存储器的带宽各是多少?的带宽各是多少?解答:解答:m=8m=8,从存储器读取从存储器读取8 8个字的位数为个字的位数为 W=8 X 64=512W=8 X 64=512(位)(位)v顺序存储器要取的顺序存储器要取的8 8个字在同一分体(模块)个字在同一分体(模块)内,所用时间为内,所用时间为v t2=8 X Tm=8 X 100=800t2=8 X Tm=8 X 100=800(ns
121、ns) 频宽为频宽为 Bm2=W/t2=6.4 X 10Bm2=W/t2=6.4 X 108 8(bits/sbits/s)v交叉存储器要取的交叉存储器要取的8 8个字在个字在8 8个模块内,所用个模块内,所用时间为时间为 t1=Tm+t1=Tm+(m-1m-1)X X (总线传送周期)总线传送周期)=100+7 X 50=450=100+7 X 50=450(nsns)频宽为频宽为 Bm1=W/t1Bm1=W/t11.14 X 101.14 X 109 9(bits/sbits/s) ( (比较大小。比较大小。) )v1313、某机器采用四体交叉存储器,今执行一、某机器采用四体交叉存储器,今
122、执行一小段循环程序,此程序放在存储器的连续地小段循环程序,此程序放在存储器的连续地址单元中。假设每条指令的执行时间相等,址单元中。假设每条指令的执行时间相等,而且不需要到存储器存取数据,请问在下面而且不需要到存储器存取数据,请问在下面两种情况中(执行的指令数相等),程序的两种情况中(执行的指令数相等),程序的运行时间是否相等?运行时间是否相等?v(1 1)循环程序由)循环程序由6 6条指令组成,重复执行条指令组成,重复执行8080次。次。v(2 2)循环程序由)循环程序由8 8条指令组成,重复执行条指令组成,重复执行6060次。次。v解答:解答:指令指令1 1指令指令5 5指令指令2 2指令指
123、令6 6指令指令3 3指令指令4 4指令指令7 7指令指令8 8M M0 0M M3 3M M2 2M M1 1(1 1)T1=T1=(T+3 T+3 +T+ +T+ )X 80=160T+320 X 80=160T+320 (2 2)T2=T2=(T+3 T+3 +T+ 3+T+ 3 )X 60=120T+360 X 60=120T+360 T1-T2=40T1-T2=40(T-T- )T1T2T1T2T T v4 4、多体交叉存储器的几点补充说明、多体交叉存储器的几点补充说明v(1 1)采用低位交叉方式工作的存储器实际是)采用低位交叉方式工作的存储器实际是一种流水方式工作的并行存储器系统。
124、能够一种流水方式工作的并行存储器系统。能够大幅度提高主存储器的速度,在共享主存的大幅度提高主存储器的速度,在共享主存的多机系统及许多高速的单机系统中用作主存。多机系统及许多高速的单机系统中用作主存。v(2 2)增加存储体个数(多模块的块数)可提)增加存储体个数(多模块的块数)可提高主存速度,但是,主存速度并非随存储体高主存速度,但是,主存速度并非随存储体个数增加而线性提高。个数增加而线性提高。v(3 3)多体交叉存储器在提高频宽的同时也扩)多体交叉存储器在提高频宽的同时也扩大了容量,但使用该技术的主要目的是为了大了容量,但使用该技术的主要目的是为了速度而不是容量。速度而不是容量。5 5、多体交
125、叉存储器的组成框图、多体交叉存储器的组成框图 I/OI/O处理器处理器CPUCPUM0M0M1M1M2M2M3M3总总 线线 控控 制制IOPIOP地址地址地址地址地址地址地址地址存存 储储 器器 控控 制制 器器存控的作用存控的作用组织多体并行工作,组织多体并行工作,实现分时流水读出,管理信息流动次序和方向。实现分时流水读出,管理信息流动次序和方向。3.4.33.4.3相联存储器(相联存储器(CAMContent Access CAMContent Access MemoryMemory)一、相联存储器的实质(工作原理)一、相联存储器的实质(工作原理)v按内容访问的存储器。按内容访问的存储器
126、。v“内容内容”指存储单元中一个子段(字段)。指存储单元中一个子段(字段)。v将数据字的某字段作为关键字,给出要找数将数据字的某字段作为关键字,给出要找数据字的关键字的值,用它与存储体中所有单据字的关键字的值,用它与存储体中所有单元进行比较,找出关键字相同的数据字,且,元进行比较,找出关键字相同的数据字,且,有多少个找出多少个。有多少个找出多少个。二、相联存储器的结构与功能二、相联存储器的结构与功能结构框图如下:结构框图如下:检索寄存器(检索寄存器(n n位)位)屏蔽寄存器(屏蔽寄存器(n n位)位)数据寄存器(数据寄存器(n n位)位)存储体(包括比较存储体(包括比较电路)(电路)(m m个
127、单个单元,每单元元,每单元n n位)位)译译码码电电路路地址地址寄存器寄存器1 12 2m m 匹匹配配寄寄存存器器 相联相联存储器的结构框图存储器的结构框图用来存放关键字用来存放关键字屏蔽关键字段屏蔽关键字段以外的值。以外的值。存储体中各单元相存储体中各单元相应字段同时与关键字应字段同时与关键字比较,相同者,匹配比较,相同者,匹配寄存器相应位置为寄存器相应位置为1 1。译码电路译码电路找到对应的找到对应的存储单元。存储单元。数据寄存器存放数据寄存器存放读出或写入的数据。读出或写入的数据。也也具备具备按地址按地址访问的访问的功能。功能。三、相联存储器的用途三、相联存储器的用途v1 1、用在高速
128、缓冲存储器中;、用在高速缓冲存储器中;v2 2、在虚拟存储器中用作段表、页表存储器,、在虚拟存储器中用作段表、页表存储器,或快表存储器;或快表存储器;v3 3、用于数据库和知识库中。、用于数据库和知识库中。第三章第三章 存储系统存储系统 习题课习题课一、填空题一、填空题v1 1、某计算机字长、某计算机字长16bit16bit,存储器存储容存储器存储容量为量为1MB1MB,若按字编址,那么它的寻址范若按字编址,那么它的寻址范围是(围是( )。)。v2 2、某、某SRAMSRAM芯片容量为芯片容量为512 X 8512 X 8位,除电位,除电源和地线外,该芯片的引出线最小数目源和地线外,该芯片的引
129、出线最小数目应为(应为( )。)。v3 3、DRAMDRAM靠(靠( )存储信息,所以需)存储信息,所以需要定期(要定期( )。)。v4 4、主存储器的性能指标主要是(、主存储器的性能指标主要是( )、)、( )、存储周期和存储器带宽。主存)、存储周期和存储器带宽。主存用(用( )来区分不同的存储单元。)来区分不同的存储单元。v5、存储芯片并联的目的是为了(、存储芯片并联的目的是为了( ),),串联的目的是为了(串联的目的是为了( )。)。v6、三级存储系统是指(、三级存储系统是指( )这三级。)这三级。v7、在多层次存储系统中,上一层次的存、在多层次存储系统中,上一层次的存储器比下一层次存储
130、器(储器比下一层次存储器( )、()、( ),),每位成本高。每位成本高。v8、闪存特别适合于(、闪存特别适合于( )式微机系统,)式微机系统,被誉为(被誉为( )而成为代替磁盘的一种理)而成为代替磁盘的一种理想工具。想工具。v9、相联存储器是按(、相联存储器是按( )访问的存储器,)访问的存储器,同时也具备按(同时也具备按( )访问的能力。)访问的能力。v10、双端口存储器和多体交叉存储器属、双端口存储器和多体交叉存储器属于(于( )存储器结构。前者采用()存储器结构。前者采用( )并行技术,后者采用(并行技术,后者采用( )并行技术。)并行技术。v1111、半导体、半导体RAMRAM进行读
131、写操作时,必须先进行读写操作时,必须先接受(接受( )信号,再接受()信号,再接受( )信号和)信号和( )信号。)信号。v1212、当我们说、当我们说1616位微机的主存储器容量位微机的主存储器容量是是640KB640KB时,表示主存储器有(时,表示主存储器有( )BytesBytes存储器空间,地址号码是从(存储器空间,地址号码是从( )号地址到(号地址到( )号地址(本题均要求写)号地址(本题均要求写出具体十进制数值)。出具体十进制数值)。v1313、建立高速缓冲存储器的理论依据是、建立高速缓冲存储器的理论依据是( )。)。v1414、某计算机字长、某计算机字长3232位,存储容量为位,
132、存储容量为1MB1MB,若按字编址,它的寻址范围是(若按字编址,它的寻址范围是( )。)。v1515、某计算机字长、某计算机字长1616位,存储容量为位,存储容量为2MB2MB,若按半字编址,它的寻址范围是(若按半字编址,它的寻址范围是( )。)。v1616、某计算机字长、某计算机字长3232位,存储容量为位,存储容量为8MB8MB,若按双字编址,它的寻址范围是(若按双字编址,它的寻址范围是( )。)。v1717、一个、一个16K X 3216K X 32位的存储器,其地址位的存储器,其地址线和数据线的总和是(线和数据线的总和是( )条。)条。v1818、DRAMDRAM的刷新一般有(的刷新一
133、般有( )、()、( )和(和( )三种方式,)三种方式, 之所以刷新是因为之所以刷新是因为( )。)。二、判断题二、判断题v1 1、多体交叉存储器主要解决扩充容量的、多体交叉存储器主要解决扩充容量的问题。问题。v2 2、双端口存储器之所以能高速读写,是、双端口存储器之所以能高速读写,是因为采用了流水技术。因为采用了流水技术。v3 3、在、在CPUCPU和内存之间增加和内存之间增加cachecache的目的是的目的是为了增加内存容量,同时加快存取速度。为了增加内存容量,同时加快存取速度。v4 4、CPUCPU访问存储器的时间是由存储体的访问存储器的时间是由存储体的容量决定的,容量越大,访问存储
134、器所容量决定的,容量越大,访问存储器所需时间越长。需时间越长。v5 5、因为、因为DRAMDRAM是破坏性读出,必须不断地是破坏性读出,必须不断地刷新。刷新。v6 6、RAMRAM中的任何一个单元都可以随时访中的任何一个单元都可以随时访问。问。v7 7、ROMROM中的任何一个单元不能随机访问。中的任何一个单元不能随机访问。8 8、一般情况下,、一般情况下,ROMROM和和RAMRAM在主存储器中在主存储器中是统一编址的。是统一编址的。v9 9、在当今的计算机系统中,存储器是数、在当今的计算机系统中,存储器是数据传送的中心,但访问存储器的请求是据传送的中心,但访问存储器的请求是由由CPUCPU
135、或或I/OI/O发出的。发出的。v1010、EPROMEPROM是可改写的,因而也是随机存是可改写的,因而也是随机存储器的一种。储器的一种。v1111、DRAMDRAM和和SRAMSRAM都是易失性半导体存储都是易失性半导体存储器。器。三、综合题三、综合题v1 1、指出下列存储器哪些是易失性的?哪、指出下列存储器哪些是易失性的?哪些是非易失性的?哪些是破坏性读出的些是非易失性的?哪些是破坏性读出的?哪些是非破坏性读出的?哪些是非破坏性读出的?vSRAMSRAM,DRAMDRAM,CacheCache,磁盘,光盘磁盘,光盘v2 2、通常情况下、通常情况下SRAMSRAM由哪几部分组成?简由哪几部
136、分组成?简述各部分的作用。述各部分的作用。v存储体,地址译码驱动电路,存储体,地址译码驱动电路,I/OI/O电路电路(读写电路),控制电路。(读写电路),控制电路。P.74P.74v3 3、与、与SRAMSRAM相比,相比,DRAMDRAM在电路组成上有什在电路组成上有什么不同之处?么不同之处?v解答:解答:DRAMDRAM还要有动态刷新电路;还要有动态刷新电路;v另外,一般另外,一般DRAMDRAM地址引线一般只有一半地址引线一般只有一半(约),用(约),用RASRAS、CASCAS来区分接收的是行来区分接收的是行地址或列地址;地址或列地址;vDRAMDRAM没有没有CSCS引脚,芯片扩展时
137、用引脚,芯片扩展时用RASRAS代替代替其作用。其作用。v4 4、设有存储器容量为、设有存储器容量为1MB1MB,字长为字长为3232位,位,若按以下方式编址,请写出地址寄存器、若按以下方式编址,请写出地址寄存器、数据寄存器各为多少位?编址范围为多数据寄存器各为多少位?编址范围为多大?大?v(1 1)按字节编址;)按字节编址;v(2 2)按半字编址;)按半字编址;v(3 3)按字编址。)按字编址。A A9 9AA0 0CSCS2114-12114-1WEWEI/OI/O3 3I/OI/O0 0A A9 9AA0 0A A9 9AA0 0A A9 9AA0 0CSCSCSCSCSCS2114-2
138、2114-22114-32114-32114-42114-4WEWEWEWEWEWEI/OI/O3 3I/OI/O0 0I/OI/O3 3I/OI/O0 0I/OI/O3 3I/OI/O0 0与与与与与与R/WR/WD7D7D0D0A15A15A14A14A10A10A9A9A0A0CPUCPUMREQMREQ5 5、有、有4 4片片Intel 2114Intel 2114芯片,如图连接。问:芯片,如图连接。问:v(1 1)图示的连接组成了几部分存储区域)图示的连接组成了几部分存储区域?共有多大的存储容量?字长是多少?共有多大的存储容量?字长是多少?v解答:图中组成了两部分存储区域;解答:图中
139、组成了两部分存储区域;v容量为容量为2K X 82K X 8,即字长即字长8 8位。位。v(2 2)写出每部分存储区域的地址范围。)写出每部分存储区域的地址范围。v解答:第解答:第1 1、2 2片片21142114地址范围是地址范围是vFC00HFFFFHFC00HFFFFH(A15A10=111111A15A10=111111););v第第3 3、4 4片片21142114地址范围是地址范围是v7C00H7FFFH7C00H7FFFH(A15A10=011111A15A10=011111)。)。v(3 3)说明图中存储器的地址是否连续,说明图中存储器的地址是否连续,若不连续,怎样修改才能使存
140、储器的地若不连续,怎样修改才能使存储器的地址是连续的?址是连续的?v解答:图中存储器的地址不是连续的;解答:图中存储器的地址不是连续的;v可以将图中的可以将图中的A15A15与与A10A10接线颠倒一下,接线颠倒一下,原来的原来的7C00H7FFFH7C00H7FFFH(A15A10=011111A15A10=011111)就变为就变为vF800HFBFFHF800HFBFFH(A15A10=111110A15A10=111110),),与另与另一部分一部分FC00HFFFFHFC00HFFFFH成为地址连续的存储成为地址连续的存储器。器。v6 6、描述、描述CPUCPU访问存储器的步骤。访问
141、存储器的步骤。v解答解答:v(1 1)通过地址总线送出存储单元的地址;)通过地址总线送出存储单元的地址;v(2 2)通过控制总线发出读)通过控制总线发出读/ /写命令;写命令;v(3 3)通过数据总线进行信息交换。)通过数据总线进行信息交换。v7 7、试说明双端口存储器的结构特点和工、试说明双端口存储器的结构特点和工作过程。作过程。v解答要点:结构特点解答要点:结构特点每个芯片有两每个芯片有两组相互独立的读写控制电路(端口)。组相互独立的读写控制电路(端口)。每个端口与普通每个端口与普通RAMRAM类似,较特别的是类似,较特别的是BUSYBUSY信号,低电平有效时端口关闭,禁信号,低电平有效时
142、端口关闭,禁止访问。是一种并行存储器(空间)。止访问。是一种并行存储器(空间)。v工作过程:分两个端口地址不同和地址工作过程:分两个端口地址不同和地址相同的两种情况说明;后一种情况即读相同的两种情况说明;后一种情况即读写冲突时,由双端口存储器内部的仲裁写冲突时,由双端口存储器内部的仲裁器根据两个端口的器根据两个端口的CSCS(片选)信号或地片选)信号或地址信号到达的先后次序的细微差别决定址信号到达的先后次序的细微差别决定访问优先权由哪个端口取得。访问优先权由哪个端口取得。v8 8、假如、假如CPUCPU按以下地址相继访问存储器按以下地址相继访问存储器(以十进制表示):(以十进制表示):v000
143、00000,00050005,00100010,02850285v存储器为存储器为4 4体交叉存储器,求它比单体体交叉存储器,求它比单体存储器平均访问速率提高多少?存储器平均访问速率提高多少?v解答:解答:v访问地址间隔为访问地址间隔为5 5,4 4体交叉存储器中相体交叉存储器中相继访问的地址在不同的存储体中;继访问的地址在不同的存储体中;v每隔每隔1/41/4存储周期轮流启动各存储体,存储周期轮流启动各存储体,访问速率提高到单体存储器的访问速率提高到单体存储器的4 4倍。倍。v9 9、如果从、如果从4 4体交叉存储器取出体交叉存储器取出1616个地址连续编个地址连续编号的数据,一个单体的存取
144、周期为号的数据,一个单体的存取周期为T T,总共需要总共需要多少时间?多少时间?v解答:解答:T+15x1/4T=4.75TT+15x1/4T=4.75Tv1010、在一个、在一个8 8体交叉存储器中,如果体交叉存储器中,如果CPUCPU按以下按以下次序相继访问存储器,其平均访问速率比单体次序相继访问存储器,其平均访问速率比单体提高多少?提高多少?v(1 1)000100018 8, 000200028 8, 000300038 8, 010001008 8v(2 2)000200028 8, 000400048 8, 000600068 8, 020002008 8v(3 3)1003100
145、38 8, 100610068 8, 101110118 8, 130013008 8v解答解答(1 1)相继访问的地址选中)相继访问的地址选中8 8个不同分体,个不同分体,8 8体重叠工作体重叠工作88倍;倍;v(2 2)4 4体并行工作体并行工作44倍;倍;v(3 3)8 8体并行(体并行(3 3、6 6、1 1、4 4、7 7、2 2、5 5、0 0)。)。v1111、某微机的寻址范围是、某微机的寻址范围是64KB64KB,由由8 8片片8KX88KX8位位的芯片组成。的芯片组成。v(1 1)请写出每个芯片的寻址范围;)请写出每个芯片的寻址范围;v解答:第解答:第1 1片片 0000H1
146、FFFH0000H1FFFHv 第第2 2片片 2000H3FFFH2000H3FFFHv 第第3 3片片 4000H5FFFH4000H5FFFHv 第第4 4片片 6000H7FFFH6000H7FFFHv 第第5 5片片 8000H9FFFH8000H9FFFHv 第第6 6片片 A000HBFFFHA000HBFFFHv 第第7 7片片 C000HDFFFHC000HDFFFHv 第第8 8片片 E000HFFFFH E000HFFFFH v(2 2)如果运行时发现不论往哪个芯片存放如果运行时发现不论往哪个芯片存放8KB8KB的数据,以的数据,以A000HA000H为起始地址的芯片中都
147、为起始地址的芯片中都有与之相同的数据,请分析故障原因;有与之相同的数据,请分析故障原因;v该片的片选始终接地,或与之相连的译码器该片的片选始终接地,或与之相连的译码器的相应输出端始终是低电平的相应输出端始终是低电平v(3 3)若发现译码器输入中的地址线)若发现译码器输入中的地址线A13A13与与CPUCPU断开并始终搭到高电平上,问后果将会怎断开并始终搭到高电平上,问后果将会怎样?样?v缺失了一半的地址空间,并且出现混乱。缺失了一半的地址空间,并且出现混乱。3.5 Cache 3.5 Cache 存储器存储器回忆:回忆:CacheCache的的概念在本章中的初次引出概念在本章中的初次引出 多层
148、次存储体系结构多层次存储体系结构 cachecache主存主存辅存辅存CPUCPU辅助硬件辅助硬件回忆:回忆:CacheCache的定义(作用)的定义(作用)辅助软、硬件辅助软、硬件3.5.1 Cache 3.5.1 Cache 基本原理基本原理一、一、 CacheCache的工作机制的工作机制 CacheCache的工作机制基于程序访问的局部性原的工作机制基于程序访问的局部性原则。(则。(principle of localityprinciple of locality) “程序访问的局部性程序访问的局部性”定义定义 一个运行程序的代码大都顺序存一个运行程序的代码大都顺序存放在地址连续的存
149、储器中,与程序相关的数放在地址连续的存储器中,与程序相关的数据在存储器中也相对集中。所以程序运行时,据在存储器中也相对集中。所以程序运行时,尤其有循环程序段和子程序段时,在较短时尤其有循环程序段和子程序段时,在较短时间区间内,常会对局部范围的存储器频繁访间区间内,常会对局部范围的存储器频繁访问,而此范围之外的地址访问甚少。这种现问,而此范围之外的地址访问甚少。这种现象称为象称为程序访问的局部性程序访问的局部性。 【例例】选择一个正确答案:程序局部性理论的选择一个正确答案:程序局部性理论的基本含义是基本含义是。A.A.空间局部性;空间局部性;B.B.代码的顺序执行;代码的顺序执行;C.C.程序执
150、行对主存的访问是不均匀的。程序执行对主存的访问是不均匀的。二、二、CacheCache的构成的构成1 1、 “块块”的概念(的概念(blockblock,block frame block frame ) CacheCache存储器中,把存储器中,把CacheCache和主存各分成若干块和主存各分成若干块。(页、行。(页、行lineline)主存与主存与CacheCache中块的数目不同但块的大小相等。中块的数目不同但块的大小相等。块的大小通常以在主存的一个读块的大小通常以在主存的一个读/ /写周期中能访写周期中能访问的数据长度为限,常为几十字节。问的数据长度为限,常为几十字节。 CacheC
151、ache与主存之间数据交换的单位。与主存之间数据交换的单位。主主存存主主存存地地址址寄寄存存器器MARMAR主存主存CacheCache地址变换地址变换机构机构CacheCache地址地址寄存器寄存器CARCARCacheCache存储器存储器替换控制部件替换控制部件C CP PU U不不命命中中命命中中单字宽单字宽多多字字宽宽地址总线地址总线数据总线数据总线CacheCache的构成图,虚框内为的构成图,虚框内为CacheCache的控制部分的控制部分Cache=CacheCache=Cache存储器存储器+ +CacheCache控制器控制器2 2、CacheCache的构成图的构成图以下
152、主要了解:以下主要了解:Cache-Cache-主存地址映射与地址变换的方法;主存地址映射与地址变换的方法;简要了解:简要了解:CacheCache的写操作策略;的写操作策略;替换策略;替换策略;多级多级CacheCache。三、三、CacheCache的命中率的命中率1 1、命中率的公式、命中率的公式 h=h=NcNc/ /(Nc+NmNc+Nm) 教材教材P.106 P.106 (3.43.4)其中,其中,NcNc表示在一个程序执行期间表示在一个程序执行期间CacheCache完成完成存取的总次数,存取的总次数, NmNm表示在一个程序执行期间主存表示在一个程序执行期间主存完成存取的总次数
153、,完成存取的总次数, h h即为即为命中率命中率。命中率和哪些因素有关?命中率和哪些因素有关? 外部因素:所运行程序的特性;外部因素:所运行程序的特性; CacheCache自身的结构:自身的结构:CacheCache的容量、块的容量、块的大小、映射方式、替换算法的大小、映射方式、替换算法。2 2、与、与CacheCache有关的另外两个参数及相关公式有关的另外两个参数及相关公式(1 1) Cache/Cache/主存系统的平均访问时间主存系统的平均访问时间tata 设设tctc表示命中时即表示命中时即CacheCache的访问时间,的访问时间,tmtm表示未命中时即主存的访问时间,表示未命中
154、时即主存的访问时间,1-h1-h表示表示未命中率,则有:未命中率,则有: tata= =htchtc+ +(1-h1-h)tm tm 教材教材P.107 P.107 (3.5)3.5)(2 2)CacheCache的访问效率的访问效率e e 设设r=tm/r=tm/tctc表示主存慢于表示主存慢于cachecache的倍率,的倍率, e e表示访问效率;表示访问效率; 则有:则有: e=e=tc/tatc/ta= =tc/htctc/htc+ +(1-h1-h)tm=1/h+tm=1/h+(1-1-h h)r r =1/r+ =1/r+(1-r1-r)h h 教材教材P.107P.107(3.
155、6)3.6)【例例】(由(由P.107P.107例例5 5改进)改进)CPUCPU执行一段程序时,执行一段程序时,CacheCache完成存取的次数完成存取的次数19001900次,主存完成存取次,主存完成存取的次数为的次数为100100次,已知次,已知CacheCache的存取周期为的存取周期为1ns1ns,主存存取周期为主存存取周期为6ns6ns,求,求Cache/Cache/主存系统的主存系统的效率和平均访问时间。效率和平均访问时间。 解:解:h=h=NcNc/ /(Nc+NmNc+Nm)=1900/=1900/(1900+1001900+100)=0.95=0.95v r=tm/ r=
156、tm/tctc=6ns/1ns=6=6ns/1ns=6v e=1/r+(1-r)h=1/6+(1- e=1/r+(1-r)h=1/6+(1-6)X0.95=80.0%6)X0.95=80.0%v tata= =tc/etc/e=1ns/0.80=1.25ns=1ns/0.80=1.25nsv ( tata= = htchtc+ +(1-h1-h)tm tm =0.95X1+0.05X6=1.25ns=0.95X1+0.05X6=1.25nsve=e=tc/tatc/ta=1/1.25= =1/1.25= 80.0% 80.0% )主存主存CacheCache地址映射(地址映射(mappingm
157、apping) 把存放在主存中的程序按把存放在主存中的程序按某种规则某种规则装入装入CacheCache中,并依此建立主存地址与中,并依此建立主存地址与CacheCache地址的对应关系。地址的对应关系。主存主存CacheCache地址变换地址变换 程序运行时,根据地址映射把主存地程序运行时,根据地址映射把主存地址即址即MARMAR内容变换成内容变换成CacheCache地址即地址即CARCAR内容。内容。v以上两个概念紧密相关而又不同。以上两个概念紧密相关而又不同。常用的三种地址映射方式及对应的地址变换常用的三种地址映射方式及对应的地址变换方法:方法: 3.5.2 3.5.2 主存与主存与C
158、acheCache的地址映射(映象)和地的地址映射(映象)和地址址 变换变换 一、全相联映射及其地址变换一、全相联映射及其地址变换 1 1、全相联映射(、全相联映射(fully associative fully associative mappingmapping) 映射规则:映射规则: 主存中任一个块能够映射到主存中任一个块能够映射到CacheCache中任中任一块的位置一块的位置。 示意图示意图 设设CacheCache块数块数CbCb=4=4,主存块数主存块数Mb=8Mb=8, 主存主存CacheCache的全相联映射关系如下图的全相联映射关系如下图。 0000块块000000块块主存
159、主存 0101块块 1010块块 1 11 1块块001 001 块块010 010 块块011 011 块块 100100块块101 101 块块110 110 块块111 111 块块CacheCache 主存主存- Cache- Cache全相联全相联映射规则示意图映射规则示意图CbCb=4=4Mb=8Mb=8注意:映射图中未表示注意:映射图中未表示块内字地址块内字地址2 2 、全相联映射方式的地址变换、全相联映射方式的地址变换(1 1)全相联映射方式下的主存地址与)全相联映射方式下的主存地址与CacheCache地地址形式址形式 主存地址形式主存地址形式主存块号主存块号B+B+块内地址
160、块内地址W W; CacheCache地址形式地址形式CacheCache块号块号b+b+块内地块内地址址w w。(2 2)全相联映射地址关系的建立全相联映射地址关系的建立 用用CAMCAM构成构成目录表目录表,该表由,该表由CbCb个字(等于个字(等于CacheCache的块数)组成;的块数)组成; 该该目录表的目录表的CbCb个字中,每一字由主存块个字中,每一字由主存块号号B B、CacheCache块号块号b b构成。(有效位)构成。(有效位)(3 3)地址变换)地址变换 由由MARMAR内容即主存地址变换出内容即主存地址变换出CARCAR内容内容即即CacheCache地址的过程如下:
161、地址的过程如下:主主 存存 块块 号号 B B 块内地址块内地址W WCacheCache块号块号b b块内地址块内地址w w主主 存存 块块 号号 B BCacheCache块号块号b bB Bb b相联相联比较比较命中命中不不命中命中访问主存访问主存MARMARCARCAR目录表:目录表:共共CbCb个字个字全相联全相联映射的地址变换示意图映射的地址变换示意图用用CAMCAM构成构成3 3、全相联映射的特点、全相联映射的特点(1 1)块的冲突率最小,)块的冲突率最小,CacheCache利用率高;利用率高;(2 2)代价较高()代价较高(CAMCAM),),相联比较的时间较长,相联比较的时
162、间较长,影响影响CacheCache的速度。小容量适用。的速度。小容量适用。二、直接映射及地址变换二、直接映射及地址变换1 1、直接映射(、直接映射(direct mappingdirect mapping)映射规则:映射规则: 首先将主存首先将主存按按CacheCache的大小分区的大小分区,然,然后各个区仍与后各个区仍与CacheCache一样分成块:各区内的块一样分成块:各区内的块数、块长均同数、块长均同CacheCache; 主存各区中相同序号的块只能映射到主存各区中相同序号的块只能映射到CacheCache中相应序号的块中。中相应序号的块中。示意图:示意图:0000块块主存主存010
163、1块块1010块块11 11 块块0 00000块块0 00 10 1块块0 0 1010块块0 01 1 1 1 块块1 100 00 块块1 10 1 0 1 块块1 1 10 10 块块1 1 1 1 1 1 块块0 0区区1 1区区主存主存- Cache- Cache直接映射规则示意图直接映射规则示意图CacheCache设设j j为主存中某块块号,为主存中某块块号,i i为为CacheCache中某块块号,中某块块号,则直接映射关系可以表则直接映射关系可以表示成:示成:i=j mod i=j mod CbCbCbCb=4=4Mb=8Mb=8v2 2、直接映射的地址变换、直接映射的地址
164、变换(1 1)直接映射方式下的主存地址与)直接映射方式下的主存地址与CacheCache地址地址形式形式 主存地址形式主存地址形式区号区号E E+ +主存块号主存块号B+B+块内块内地址地址W W; CacheCache地址形式地址形式CacheCache块号块号b+b+块内地块内地址址w w。(2 2)直接映射地址关系的建立直接映射地址关系的建立 直接在直接在CacheCache的每一个块上增加一个的每一个块上增加一个“区区号号”内容的存储;当主存某块内容调入内容的存储;当主存某块内容调入CacheCache某块位置时,在块的区号存储位置记录下该某块位置时,在块的区号存储位置记录下该主存块属
165、于哪一个区。主存块属于哪一个区。(3 3)地址变换)地址变换 由由MARMAR内容即主存地址变换出内容即主存地址变换出CARCAR内容内容即即CacheCache地址的过程如下:地址的过程如下:直接直接映射的地址变换示意图映射的地址变换示意图( (区内区内) )块号块号B B区号区号E EMARMAR块号块号b b块内地址块内地址w wCARCAR选择信号选择信号送送CPUCPU相等相等不等不等访问主存访问主存区号区号E E数据数据D0D0 数据数据D1D1数据数据Dw-1Dw-1E ED0D0D1D1Dw-1Dw-1CacheCache块内地址块内地址W W比较比较1/w1/w多路选择器多路
166、选择器按按块块地地址址访访问问快速的快速的3 3、直接映射的特点:、直接映射的特点:(1 1)硬件实现简单,访问速度较快;)硬件实现简单,访问速度较快;(2 2)CacheCache的空间利用率低,常有块冲突,命的空间利用率低,常有块冲突,命中率也低。中率也低。三、组相联映射及其地址变换三、组相联映射及其地址变换1 1、组相联映射(、组相联映射(set associative set associative mappingmapping)映射规则:映射规则: 主存先按主存先按CacheCache大小分成若干个区;大小分成若干个区;主存与主存与CacheCache的各区内再分成大小相等的组的各区
167、内再分成大小相等的组;各组再分成大小相等的块;各组再分成大小相等的块; 组间采用直接映射组间采用直接映射:主存不同区中:主存不同区中同序号的组只能映射到同序号的组只能映射到CacheCache中同序号的组;中同序号的组; 0 00 0块块0 01 1块块 1 11 1 块块1 11 11 1 块块1 11 10 0块块1 10 01 1块块1 10 00 0块块0 01 11 1 块块0 01 10 0块块0 00 01 1块块0 00 00 0块块1 10 0块块0 0组组1 1组组0 0组组1 1组组0 0区区1 1区区1 1组组0 0组组组相联组相联映射规则示意图映射规则示意图主存主存C
168、acheCache 组内各块采用全相联映射组内各块采用全相联映射:一个组内各个块:一个组内各个块可映射到可映射到CacheCache中对应组中的任一块的位置。中对应组中的任一块的位置。 2 2、组相联映射的地址变换、组相联映射的地址变换(1 1)组)组相联相联映射的地址形式映射的地址形式 MARMAR内容即主存地址形式内容即主存地址形式 区号区号E E+ +组号组号G G+ +组内块号组内块号B+B+块内地址块内地址W W CAR CAR内容即内容即CacheCache地址形式地址形式 组号组号g g+ +组内块号组内块号b+b+块内地址块内地址w w(2 2)组相联映射地址关系的建立组相联映
169、射地址关系的建立 用用CAMCAM构成构成“块表块表”; CacheCache中有几组就有几个(小)块中有几组就有几个(小)块表;表; 每个(小)块表中的行数等于每组每个(小)块表中的行数等于每组中块的个数;中块的个数; 块表内容及其填写。块表内容及其填写。(3 3)地址变换)地址变换组相联映射的地址变换示意图组相联映射的地址变换示意图区号区号E E组号组号G G组内块号组内块号B B块内地址块内地址W WMARMAR组号组号g g组内块号组内块号b b块内地址块内地址w wCARCAR相联相联比较比较相等相等不命中不命中访问主存访问主存(命中)(命中)区号区号E E 组内块号组内块号B B组
170、内块号组内块号b b块表:块表:每组每组一个一个小块表,小块表,行数等于行数等于组内分块组内分块时块的个时块的个数。数。用用CAMCAM构成。构成。用组号用组号找到该找到该组的小组的小块表块表用用区号和区号和组内块号组内块号进行相联进行相联比较比较主主 存存 块块 号号 B B 块内地址块内地址W WCacheCache块号块号b b块内地址块内地址w w主主 存存 块块 号号 B BCacheCache块号块号b bB Bb b相联相联比较比较命中命中不不命中命中访问主存访问主存MARMARCARCAR目录表:目录表:共共CbCb个字个字全相联全相联映射的地址变换过程映射的地址变换过程用用C
171、AMCAM构成构成直接直接映射的地址变换示意图映射的地址变换示意图( (区内区内) )块号块号B B区号区号E EMARMAR块号块号b b块内地址块内地址w wCARCAR选择信号选择信号送送CPUCPU相等相等不等不等访问主存访问主存区号区号E E数据数据D0D0 数据数据D1D1数据数据Dw-1Dw-1E ED0D0D1D1Dw-1Dw-1CacheCache块内地址块内地址W W比较比较1/w1/w多路选择器多路选择器按按块块地地址址访访问问快速的快速的3 3、组相联映射的特点:、组相联映射的特点:v比全相联方式速度快,又减少了直接映射方比全相联方式速度快,又减少了直接映射方式下块的冲
172、突。提高了存储体系的效率,因式下块的冲突。提高了存储体系的效率,因此使用广泛。此使用广泛。v关于关于“N N路组相联路组相联”的概念。的概念。v【例例】一台计算机的主存容量为一台计算机的主存容量为1MB1MB,字长字长3232位,直接映射的位,直接映射的CacheCache容量为容量为512512字。试设计字。试设计主存地址格式(设该机为字节寻址方式)。主存地址格式(设该机为字节寻址方式)。v(1 1) CacheCache块长为块长为1 1字;字;v(2 2) CacheCache块长为块长为8 8字。字。v解答:主存地址位数为解答:主存地址位数为2020位,位,CacheCache地址位数
173、地址位数为为1111位。位。v主存按主存按CacheCache大小分区。其中分区个数:大小分区。其中分区个数:v1MB/5121MB/512字字=1MB/2KB=2=1MB/2KB=29 9个分区个分区区号区号区内块号区内块号块内块内地址地址直接映射方式下主存的地址格式为:直接映射方式下主存的地址格式为:CacheCache的地址格式为:的地址格式为:块号块号块内块内地址地址由上由上可知区号始终为可知区号始终为9 9位;位;19 019 010 010 019 1119 11(1 1)CacheCache块长为块长为1 1字,每区有字,每区有512512块,块号块,块号9 9位;位;1 01
174、0(2 2)CacheCache块长为块长为8 8字,每区有字,每区有6464块,块号块,块号6 6位;位;10 210 21 01 010 510 54 04 010 510 54 04 0区号区号区内块号区内块号块内块内字地址字地址 字节地址字节地址10 210 2 3.5.3 3.5.3 替换策略替换策略v一、替换及替换算法的概念一、替换及替换算法的概念v1 1、替换、替换v主存主存CacheCache地址变换中一旦发生不命中,即地址变换中一旦发生不命中,即需将主存中一个新的块调入需将主存中一个新的块调入CacheCache;而一般情而一般情况此时况此时CacheCache中相应位置的块
175、中已经装满数据,中相应位置的块中已经装满数据,需找出一个不常用的块将其放入主存或丢弃,需找出一个不常用的块将其放入主存或丢弃,空出来的空出来的CacheCache位置放新调入的块,此为位置放新调入的块,此为替换替换。v2 2、替换算法、替换算法v也叫替换策略。指按映射方式等决定如何进也叫替换策略。指按映射方式等决定如何进行相应的调入与调出块的操作。行相应的调入与调出块的操作。v直接映射方式的替换策略。直接映射方式的替换策略。v高高主层次及主主层次及主辅层次均有替换问题。辅层次均有替换问题。v二、几种常用替换算法的简要介绍二、几种常用替换算法的简要介绍v(均以硬件实现,以保证速度)(均以硬件实现
176、,以保证速度)vLFU-Least Frequently UsedLFU-Least Frequently UsedvLRU-Least Recently UsedLRU-Least Recently UsedvFIFO-First In First OutFIFO-First In First OutvRND-RND-随机替换随机替换v1 1、LFU-LFU-最不经常使用算法最不经常使用算法v每块设置一个计数器,新块调入每块设置一个计数器,新块调入CacheCache即从即从0 0开始计数;开始计数;v某块被访问一次计数器加某块被访问一次计数器加1 1;v需要需要替换时替换时选选特定特定块中
177、计数值最小的块替换块中计数值最小的块替换出去,同时所有特定的块的计数器清零。出去,同时所有特定的块的计数器清零。v能否严格反映近期访问情况?能否严格反映近期访问情况?v2 2、LRU-LRU-近期最少使用法近期最少使用法v每块也设置一个计数器,某块被访问时,其每块也设置一个计数器,某块被访问时,其计数器清零;其他各块的计数器加计数器清零;其他各块的计数器加1 1;v需要替换时,比较特定块的计数器的值,将需要替换时,比较特定块的计数器的值,将值最大的块换出去。值最大的块换出去。v比较合理。比较合理。v奔腾奔腾CPUCPU内的数据内的数据CacheCache为为2 2路组相联,可以简路组相联,可以
178、简化使用化使用LRULRU算法。算法。 3.5.4 Cache3.5.4 Cache的写操作策略的写操作策略 -如何保证如何保证CacheCache内容与主存内容与主存中中“原本原本”内容相一致(只有内容相一致(只有“写写”操作才操作才有的问题)。有的问题)。常见的写操作策略有两种:常见的写操作策略有两种:v1 1、全写法、写直达法(、全写法、写直达法(Write ThroughWrite Through)v命中时,不仅写命中时,不仅写CacheCache,也同时写入主存。也同时写入主存。v2 2、回写法、写回法(、回写法、写回法(Write BackWrite Back)v命中时,只改写命中
179、时,只改写CacheCache的内容,而并不立即修的内容,而并不立即修改主存中相应单元的内容,只有在被改写过改主存中相应单元的内容,只有在被改写过的块将被替换出去时才一次写回主存。的块将被替换出去时才一次写回主存。v不命中时,调入不命中时,调入CacheCache而后写。而后写。v每块要设修改位(每块要设修改位(UpdateUpdate)。)。v以上二方法优缺点比较。以上二方法优缺点比较。v3 3、写一次法、写一次法v前二者在一定意义上的结合(基于写回法)。前二者在一定意义上的结合(基于写回法)。 第一次写命中时要同时写入内存,此时总线第一次写命中时要同时写入内存,此时总线上启动一个存储写周期
180、,其他上启动一个存储写周期,其他CacheCache监听到该监听到该主存地址及写信号后即可拷贝该块或及时作主存地址及写信号后即可拷贝该块或及时作废,以便维护全部废,以便维护全部CacheCache的一致性的一致性 3.5.5 3.5.5 多级多级CacheCache一、指令一、指令CacheCache和数据和数据CacheCachev开始实现开始实现CacheCache时是统一(整体)的,指令和时是统一(整体)的,指令和数据都存放在同一个数据都存放在同一个CacheCache里;里;v数据访问与取指令操作的冲突随着处理速度数据访问与取指令操作的冲突随着处理速度加快而更加频繁,延迟了指令的读取;
181、加快而更加频繁,延迟了指令的读取;v发展的趋势是二者分开发展的趋势是二者分开哈佛结构;哈佛结构;v指令指令CacheCache是只读的,用单端口存储器;而数是只读的,用单端口存储器;而数据据CacheCache是随机读是随机读/ /写的,用双端口结构写的,用双端口结构v有利于有利于CPUCPU高速执行程序高速执行程序v奔腾机中奔腾机中L1 CacheL1 Cache就是这样的结构。就是这样的结构。v二、多级二、多级CacheCachev快速微处理器芯片将快速微处理器芯片将CacheCache集成在片内称为集成在片内称为L1 L1 CacheCache,如奔腾的,如奔腾的8KB8KB指令指令Ca
182、cheCache和和8KB8KB数据数据CacheCache;(;(PP则是各则是各16KB16KB)v相应地把片外的相应地把片外的CacheCache称为称为L2 CacheL2 Cache(如(如P P 的的512KB512KB、1MB1MB或或2MB L2 Cache 2MB L2 Cache ););v“L1 Cache- L2 CacheL1 Cache- L2 Cache主存主存”也可称为一也可称为一种三级存储系统;种三级存储系统;v练习题练习题1 1、设某流水线计算机有一个指令和数据合设某流水线计算机有一个指令和数据合一的一的cachecache,已知已知cachecache的读
183、写时间为的读写时间为10ns10ns,主存主存的读写时间为的读写时间为100ns100ns,取指令的命中率为取指令的命中率为98%98%,取,取数据的命中率为数据的命中率为95%95%,执行程序时,有,执行程序时,有1/51/5的指令的指令需要存取一个操作数。为简化起见,假设指令流需要存取一个操作数。为简化起见,假设指令流水线在任何时候都不阻塞。问设置水线在任何时候都不阻塞。问设置cachecache后,与无后,与无cachecache比较,计算机的运算速度可提高多少倍?比较,计算机的运算速度可提高多少倍?v解:设置解:设置cachecache后的平均访问时间为:后的平均访问时间为:vTa=1
184、0X0.98+100X0.02+10X0.95+100X0.05X1/Ta=10X0.98+100X0.02+10X0.95+100X0.05X1/5=5=(9.8+29.8+2)+ +(9.5+59.5+5)/5=11.8+2.9=14.7/5=11.8+2.9=14.7(nsns) 无无cachecache时的平均访问时间为:时的平均访问时间为:vTm=100X1+100x1/5=120Tm=100X1+100x1/5=120(nsns)v速度提高的倍数为:速度提高的倍数为:120/14.78120/14.78(倍)。(倍)。v练习题练习题2 2、上题中如采用指令上题中如采用指令cache
185、cache与数据与数据cachecache分开的结构(哈佛结构),运算速度可提高多分开的结构(哈佛结构),运算速度可提高多少倍?少倍?v解:解:v 有有cachecache的平均访存时间为的平均访存时间为vTa=10X0.98+100X0.02=9.8+2=11.8Ta=10X0.98+100X0.02=9.8+2=11.8(nsns);); 无无cachecache的平均访存时间为的平均访存时间为vTm=100X1+100X1/5=120Tm=100X1+100X1/5=120(nsns)v速度提高倍数为:速度提高倍数为:120/11.810120/11.810(倍)。(倍)。练习题练习题3
186、 3、设某计算机的设某计算机的cachecache采用采用4 4路组相联映路组相联映射,已知射,已知cachecache容量为容量为16KB16KB,主存容量为主存容量为2MB2MB,每块每块8 8个字,每字个字,每字3232位,请回答:位,请回答:v(1 1)主存地址多少位(按字节编址),各字)主存地址多少位(按字节编址),各字段如何划分(各需多少位)?段如何划分(各需多少位)?v(1 1)解解:主存地址按字节编址为:主存地址按字节编址为2121位。位。2 2MB/16KB=128MB/16KB=128,即主存按即主存按cachecache大小分成大小分成128128个区,故区号地址段占个区
187、,故区号地址段占7 7位;位;4 4路组相联指每组内有路组相联指每组内有4 4块,故块号地址段占块,故块号地址段占2 2位;位;每块每块8 8个字,故块内地址字段占个字,故块内地址字段占3 3位;位;每块每块3232位即位即4 4个字节,故字节寻址字段占个字节,故字节寻址字段占2 2位;位;以上共计为以上共计为7+2+3+2=147+2+3+2=14(位),(位),21-14=721-14=7(位)(位)为组号地址段所占位数。见下图:为组号地址段所占位数。见下图:区号区号组号组号块内块内地址地址块号块号字节地址字节地址7 7位位 7 7位位 2 2位位 3 3位位 2 2位位 v(2 2)设)
188、设cachecache起始为空,起始为空,CPUCPU从主存单元从主存单元0 0,1 1,100100依次读出依次读出101101个字(一次从主存读个字(一次从主存读一个字),并按此重复一个字),并按此重复1111次,问命中率为多次,问命中率为多少?若少?若cachecache速度为主存的速度为主存的5 5倍,问采用倍,问采用cachecache与无与无cachecache比较速度提高多少倍?比较速度提高多少倍?v(2 2)解:)解:命中率为:命中率为:10/1191%10/1191%有无有无cachecache的速度比为:的速度比为:11X5/11X5/(10X1+1X510X1+1X5)=
189、55/153.61=55/153.61(倍倍) )v?v读出读出101101个字并重复个字并重复1111次的访存次数:次的访存次数:v101X11=1111101X11=1111次;次;v其中访问其中访问cachecache的未命中次数为:的未命中次数为:1313次(次(101101个字位于个字位于1313个块中);个块中);v命中率应为命中率应为:(:(1111-131111-13)/111198.8%/111198.8%v有无有无cachecache的速度提高倍数的计算:的速度提高倍数的计算:v设设cachecache、主存的存取周期分别为主存的存取周期分别为TcTc、TmTm,依依题意有
190、:题意有:Tm=5TcTm=5Tc;v1111xTm/1111xTm/(13Tm+1098Tc13Tm+1098Tc)=1111x5Tc/=1111x5Tc/(13x513x5Tc+1098TcTc+1098Tc)=5555/11634.78=5555/11634.78倍倍v练习题练习题4 4、设某计算机采用直接映射设某计算机采用直接映射cachecache,已知容量为已知容量为40964096B B。若。若CPUCPU依次从主存单元依次从主存单元0 0,1 1,9999和和40964096,40974097,41954195交替交替取指令,取指令,循环执行循环执行1010次,问命中率为多少?
191、次,问命中率为多少?v答:命中率为答:命中率为0 0。v练习题练习题5 5、今有两级今有两级CacheCache结构的存储系统,结构的存储系统,访问次数访问次数10001000次,次,L1L1级级CacheCache有有4040次不命中,次不命中,L2L2级级CacheCache有有1010次不命中。问两级次不命中。问两级CacheCache的命的命中率各是多少?总的命中率是多少?中率各是多少?总的命中率是多少?v96%96%,75%75%,99%99%。v练习题练习题6 6、某机主存容量为某机主存容量为8 8个块,个块,CacheCache容量容量为为4 4个块,采用直接地址映射,程序开始运
192、行个块,采用直接地址映射,程序开始运行时,时,CacheCache内容为空。今执行下列主存块地址内容为空。今执行下列主存块地址序列:序列:0 0、2 2、1 1、5 5、4 4、6 6、4 4、7 7、1 1、2 2、4 4、1 1、3 3、7 7、4 4。请列出每次访问后。请列出每次访问后CacheCache中各块中各块分配情况、分配情况、CacheCache命中情况及命中率。命中情况及命中率。v解答方法:作表统计。解答方法:作表统计。v结果结果27%27%。CacheCache中中4 4个块的分配情况表个块的分配情况表访问顺序访问顺序 1 2 3 4 5 6 7 8 9 10 11 12
193、13 14 151 2 3 4 5 6 7 8 9 10 11 12 13 14 15地址序列地址序列第第0 0块块第第1 1块块第第2 2块块第第3 3块块命中情况命中情况0 2 1 5 4 6 4 7 1 2 4 1 3 7 40 2 1 5 4 6 4 7 1 2 4 1 3 7 4X X0 02 2X X0 01 12 2X X0 05 52 2X X4 45 52 2X X4 45 56 6X X4 45 56 64 45 56 67 7X X4 41 16 67 7X X4 41 12 27 7X X4 41 12 27 74 41 12 27 74 41 12 23 3X X4
194、41 12 27 7X X4 41 12 27 70 0v4/15=27%4/15=27%。3.6 3.6 虚拟存储器虚拟存储器v3.6.1 3.6.1 虚拟存储器的基本概念虚拟存储器的基本概念v一、什么叫一、什么叫虚拟存储器(虚拟存储器(Virtual MemoryVirtual Memory)v虚拟存储器是建立在主存虚拟存储器是建立在主存辅存物理结构的辅存物理结构的基础之上,由附加的硬件装置及操作系统存基础之上,由附加的硬件装置及操作系统存储管理软件组成的一种存储体系。它将主存储管理软件组成的一种存储体系。它将主存和辅存的物理空间统一编址,形成一个庞大和辅存的物理空间统一编址,形成一个庞大
195、的存储空间,用户可在其中自由编程,感到的存储空间,用户可在其中自由编程,感到的不再是处处受主存容量限制的存储系统。的不再是处处受主存容量限制的存储系统。但是,实质上但是,实质上CPUCPU仍只能执行调入主存的程序,仍只能执行调入主存的程序,所以称这种存储体系为所以称这种存储体系为虚拟存储器虚拟存储器。 3.6 3.6 虚拟存储器虚拟存储器 3.6.1 3.6.1 虚拟存储器的基本概念虚拟存储器的基本概念v二、虚地址和实地址(二、虚地址和实地址(VAVA:Virtual AddressVirtual Address,PAPA:Physical AddressPhysical Address)v引
196、入虚拟存储器后用户编程时使用的指令地引入虚拟存储器后用户编程时使用的指令地址叫做虚地址(逻辑地址),该地址允许涉址叫做虚地址(逻辑地址),该地址允许涉及的空间范围叫做及的空间范围叫做虚存空间(逻辑空间)虚存空间(逻辑空间)。v实际的主存单元地址叫做实地址(物理地址、实际的主存单元地址叫做实地址(物理地址、主存地址),对应的空间叫做主存地址),对应的空间叫做实存空间(物实存空间(物理空间、主存空间)理空间、主存空间)。v虚虚- -实地址的变换。实地址的变换。 三、虚拟存储器与三、虚拟存储器与cachecache存储器比较认识存储器比较认识v是两个不同层次的存储体系。是两个不同层次的存储体系。v两
197、者在概念上有许多共同之处:两者在概念上有许多共同之处: 1 1、程序划分为信息块;、程序划分为信息块; 2 2、程序运行时,信息块自动从慢速、程序运行时,信息块自动从慢速存储器向快速存储器调度;存储器向快速存储器调度; 3 3、块的调出都采用一定的替换策略;、块的调出都采用一定的替换策略; 4 4、新块的调入按一定的映射关系确、新块的调入按一定的映射关系确定调入的位置。定调入的位置。v两者也有许多不同之处:两者也有许多不同之处:1 1、作用不同:、作用不同:CacheCache存储器采用与存储器采用与CPUCPU速度相匹配的快速存储速度相匹配的快速存储元件弥补了主存和元件弥补了主存和CPUCP
198、U之间的速度差距;而虚之间的速度差距;而虚存的主要功能是用来弥补主存和辅存之间的存的主要功能是用来弥补主存和辅存之间的容量差距;容量差距; 2 2、块长不同:、块长不同:两个存储体系均以信息块作为存储层次之间信两个存储体系均以信息块作为存储层次之间信息传送的单位,但息传送的单位,但cachecache与主存每次传送的信与主存每次传送的信息块定长,常为几十个字节;而主存和辅存息块定长,常为几十个字节;而主存和辅存之间即虚拟信息块的划分却有多种方案:页、之间即虚拟信息块的划分却有多种方案:页、段等,块长通常为几百段等,块长通常为几百 几百几百K K字节;字节;3 3、层次间速度比不同:层次间速度比
199、不同:CPUCPU访问访问cachecache比访问慢速主存快比访问慢速主存快510510倍;而虚倍;而虚存中主存速度比辅存快存中主存速度比辅存快10010001001000倍;倍;4 4、数据通路不同:、数据通路不同:主存主存cachecache体系中,体系中,CPUCPU与二者都有直接的通与二者都有直接的通路;而虚存中辅存与路;而虚存中辅存与CPUCPU之间无直接通路(辅之间无直接通路(辅存向主存调块时间为存向主存调块时间为msms级);级);5 5、透明程度不同:透明程度不同:CacheCache存储器存取信息、地址变换和替换策略全存储器存取信息、地址变换和替换策略全部用硬件实现,因而对
200、各类程序员透明;虚部用硬件实现,因而对各类程序员透明;虚存基本由操作系统的存储管理软件辅助一些存基本由操作系统的存储管理软件辅助一些硬件进行块的划分及主硬件进行块的划分及主- -辅间调度,所以对设辅间调度,所以对设计系统软件的程序员不透明。计系统软件的程序员不透明。P.125126P.125126习题习题9 9、CPUCPU执行一段程序时,执行一段程序时,cachecache完成存取的次数完成存取的次数为为24202420次,主存完成存取的次数为次,主存完成存取的次数为8080次,已次,已知知cachecache存储周期为存储周期为40ns40ns,主存存储周期为主存存储周期为240ns240
201、ns,求,求cache/cache/主存系统的效率和平均访问主存系统的效率和平均访问时间。时间。解:解:NcNc=2420=2420次,次, Nm=80Nm=80次次 h=h=NcNc/ /(Nc+NmNc+Nm)=96.8%=96.8% TcTc=40ns,Tm=240ns,r=Tm/=40ns,Tm=240ns,r=Tm/TcTc=6=6 cache cache/ /主存系统效率为:主存系统效率为:e=1/(r+(1-e=1/(r+(1-r)h)r)h)86.2%86.2% 平均访问时间为:平均访问时间为:Ta=Ta=Tc/eTc/e=40ns/0.862=40ns/0.86246.4ns
202、46.4nsP.125126P.125126习题习题1010、已知已知cachecache存储周期存储周期40ns40ns,主存存储周期主存存储周期200ns200ns,cache/cache/主存系统平均访问时间为主存系统平均访问时间为50ns50ns,求,求cachecache的命中率是多少?的命中率是多少?解:解:TcTc=40ns=40ns,Tm=200nsTm=200ns,Ta=50nsTa=50ns Ta= Ta=hTchTc+ +(1-h1-h)TmTm Ta= Ta=hTc+Tm-hTmhTc+Tm-hTm=Tm-=Tm-(Tm-Tm-TcTc)h h h= h=(Tm-TaT
203、m-Ta)/ /(Tm-Tm-TcTc)= =(200-200-5050)/ /(200-40200-40)=150/160=93.75%=150/160=93.75%v 1212、假设可供用户程序使用的主存容量为、假设可供用户程序使用的主存容量为200KB200KB,而某用户的程序和数据所占的主存容而某用户的程序和数据所占的主存容量超过量超过200KB200KB,但小于逻辑地址所表示的范围。但小于逻辑地址所表示的范围。请问:具有虚存和不具有虚存对用户有何影请问:具有虚存和不具有虚存对用户有何影响?响?v1212、解答(仅供参考):、解答(仅供参考):v(1 1)虚存仿佛扩大了整个主存的容量,
204、)虚存仿佛扩大了整个主存的容量,用户可以使用远远大于主存的空间;对用户可以使用远远大于主存的空间;对于无虚存的主于无虚存的主辅结构,用户只能使用辅结构,用户只能使用主存或更确切地说是操作系统分配给他主存或更确切地说是操作系统分配给他的那部分主存;的那部分主存;v(2 2)用虚存,访存要作虚)用虚存,访存要作虚实地址的实地址的变换,无虚存则不用进行地址变换,但变换,无虚存则不用进行地址变换,但这件事不需一般用户关心;这件事不需一般用户关心;v(3 3)有虚存的存储空间分配是操作系)有虚存的存储空间分配是操作系统完成的,而无虚存的主统完成的,而无虚存的主辅结构,空辅结构,空间的使用由应用程序进行。
205、间的使用由应用程序进行。v1212、解答(续):、解答(续):所以,虚存必须是建立在主所以,虚存必须是建立在主辅结构上,辅结构上,但一般的主但一般的主辅结构并不就是虚存。虚辅结构并不就是虚存。虚存本质上是这样一种技术:在主存本质上是这样一种技术:在主辅结辅结构的基础上,利用管理技术将实际存在构的基础上,利用管理技术将实际存在的容量较小的主存虚构(模拟)成(让的容量较小的主存虚构(模拟)成(让用户感觉有)一个容量相当大的存储空用户感觉有)一个容量相当大的存储空间,使之能运行大于主存容量的程序。间,使之能运行大于主存容量的程序。v1515、从下列有关存储器的描述中,选择、从下列有关存储器的描述中,选择出正确的答案:出正确的答案:v A A、多体交叉存储主要解决扩充容量问多体交叉存储主要解决扩充容量问题。题。vB B、访问存储器的请求是由访问存储器的请求是由CPUCPU发出的。发出的。vC C、cachecache与与主存统一编址,即主存空间主存统一编址,即主存空间的某一部分属于的某一部分属于cachecache。vD D、cachecache的功能全由硬件实现。的功能全由硬件实现。