1.8k likes | 2.15k Views
第三章 存储系统. 内容提要: 存储器概述; RAM 存储器; ROM 存储器(选择 RAM 与 ROM 芯片设计主存并实现与 CPU 的连接); 高速存储器; 高速缓冲存储器 Cache ; 虚拟存储器; 重点:多层次存储体系结构的概念; 主存设计及其与 CPU 的连接; Cache 的工作原理。. 第三章 存储系统 3.1 存储器概述. 3.1.1 存储器的发展 一、存储器件的变化 第一台电子计算机 ENIAC 用的是电子管触发器;
E N D
第三章 存储系统 • 内容提要: • 存储器概述; • RAM存储器; • ROM存储器(选择RAM与ROM芯片设计主存并实现与CPU的连接); • 高速存储器; • 高速缓冲存储器Cache; • 虚拟存储器; • 重点:多层次存储体系结构的概念; • 主存设计及其与CPU的连接; • Cache的工作原理。
第三章 存储系统3.1 存储器概述 3.1.1 存储器的发展 一、存储器件的变化 • 第一台电子计算机ENIAC用的是电子管触发器; • 此后经历过:汞延迟线——磁带——磁鼓——磁心(1951年始)——半导体(1968年IBM 360/85首次将其用作Cache;1971年IBM 370/145首次将其用作主存,取代了磁芯)。 • 主存的重要作用及主存器件发展史总结图表:
主存的重要作用图示 • 外设 主 • 外设 • 存 输入的数据 要输出的数据 程序 中间数据 指令 数据 控制器 运算器
二、存储体系结构的发展 1、由主-辅二级结构发展到多层次存储体系结构。 2、主存由单体发展到多体交叉(并行)。 3、采用了虚拟存储技术。 3.1.2 评价存储器性能的主要指标 一、存储容量 • 能存放二进制位的总量。一般主存和辅存分别考查。 • 常以字节B(Byte)为单位(MB、GB、TB)。 • 关于W(字长):8的倍数 • 地址码的位数与主存容量的关系。
二、存取时间和存取周期 1、存取时间(Memory Access Time): 孤立地考察某一次R/W 操作所需要的时间,以TA表示。 2、存取周期(Memory Circle Time): 连续两次启动R/W 操作所需间隔的最小时间,以TM (TC 、TMC)表示。 TA 、TM的内涵: TM>TA。单位:ns 。 三、频宽(带宽)Bm:单位时间内读取的信息量。Bm=W/TM(B/s,b/s)其中 W——每次R/W 数据的宽度,一般等于Memory字长。
例:计算机A、B编址单位分别是32bit和8bit,TM均为10ns。求二者的带宽。例:计算机A、B编址单位分别是32bit和8bit,TM均为10ns。求二者的带宽。 解:4 X 108B/s; 108B/s 反映主存的数据吞吐率。 按此定义Bm也被叫做存储器的数据传输率。 四、价格:以每位价格来衡量。P=C/S • C——存储芯片价格,S——存储芯片容量(bits)。容量越大、速度越快,价格就越高。 3.1.3 存储器分类 一、按存储介质分 1、半导体存储器
利用触发器的双稳态或MOS管栅极有无电荷来表示二进制的0/1。利用触发器的双稳态或MOS管栅极有无电荷来表示二进制的0/1。 2、磁表面存储器:利用两种不同的剩磁状态表示二进制0/1。常见有磁带、磁盘两种。 3、光及磁光存储器 (1)利用激光在非磁性介质上写入和读出信息,也称第一代光存储(技术)(Optical Memory)。 (2)利用激光在磁记录介质上存储信息,也称第二代光存储(技术)(Megnetooptical Memory)。
二、按存取方式(工作方式)分 1、随机存取存储器RAM(Random Access Memory) • 按地址码编址,地址译码线对应唯一确定的存储单元(1位、1字节、1字……); • 按照给定地址可以随时访问(R/W)任何存储单元,且访问时间与存储单元的物理位置无关; • 速度较快,TM为ns级。常用作Cache和主存。 2、只读存储器ROM(Read Only Memory) • 也是按地址译码访问,但只能随机读取,不能随机写入。又分为MROM、PROM、EPROM和Flash ROM几类。
3、直接存取存储器DAS(Direct Access Storage) • 信息所在地址按控制字编码形式给出,然后以字符、记录形式成块存取。存取时间与信息所在物理位置有关; • 容量大,寻址较慢,便宜。 • 磁盘。 4、串行(顺序)存取存储器SAM(Serial Access Memory) • 以记录、字节形式成块、成组存取信息; • 地址以块号和块间间隔给出,要顺序找到块号,再依次存取; • 磁带。
三、按在计算机中的功能分 1、主存储器 存放计算机运行其间的大量程序和数据; 由MOS半导体存储器构成DRAM(动态); CPU直接访问。 2、高速缓冲存储器(Cache) 存放最活跃的程序块和数据; 由双极型半导体存储器或MOS型的SRAM(静态)构成; 3、辅助存储器(外存) 4、控制存储器(控存、CM) 微程序设计(控制器)的计算机中,存放解释执行机器指令的微程序。ROM。属于控制器。
3.1.4 多层次存储体系结构 一、为什么要用多层次存储体系结构 • 主存的速度总落后于CPU的需要,主存的容量总落后于软件的需要。 二、多层次存储结构系统的设计目标 • 在一定的成本下,获得尽可能大的存储容量、尽可能高的存取速度及可靠性等。 • 容量、速度、和成本的矛盾。 三、多层次存储结构系统的一般形式
CPU M0 CPU 寄存器 M1 Cache …… 主存 磁盘Cache 磁盘 Mn-1 磁带 光盘 存储器层次结构的 一般模式图 多层次存储器实际构成
四、多层次存储结构系统的常见形式 ——三级存储器体系结构 CPU 寄存器组 Cache 辅助硬件 主存 辅助软、硬件 辅存
1、通用寄存器(组) 速度近于CPU,少量连续计算时存放部分数据及中间结果,通过减少主存访问而提高系统速度。 2、Cache-主存层次 (1)什么是cache 高速缓冲存储器,高缓。是在CPU和主存之间的小容量快速存储器,速度与CPU相当。 依据程序运行的局部性,把主存中部分信息映射到cache中,CPU与之打交道,如此弥补了主存在速度上的不足。 (2)Cache与CPU、主存的关系(工作原理) (3)Cache的物理构成
一般为SRAM即静态RAM(Static);而主存一般为DRAM即动态RAM(Dynamic);一般为SRAM即静态RAM(Static);而主存一般为DRAM即动态RAM(Dynamic); SRAM较快,约为DRAM的3~5倍,但功耗大,集成度低,价格高。 (4)目前PC系统中一般设有一级缓存和二级缓存 L1 Cache做在CPU内部,叫内部Cache,速度最快,容量较小,常在几十KB。 L2 Cache又叫外部或片外Cache。
3、主-辅层次 (1)构成 主存和辅存。 (2)作用 解决主存容量不足的问题。 (3)虚拟存储器(Virtual Memory):虚存。 是建立在主-辅物理结构基础之上,由附加的硬件装置及操作系统的存储管理软件组成的一种存储体系。它将主存和辅存地址空间统一编址,用户在这个空间里编程,如同拥有一个容量很大的内存。
三、小结—— 多层次存储系统设计得当的话,会使用户感到拥有了Cache的速度、辅存的容量; 而且,无论Cache还是虚存对应用程序员都是透明的; Cache更是对各级程序员透明。
3.2 随机读写存储器RAM 3.2.1 SRAM存储器 一、SRAM的基本存储单元 • 又叫记忆元件、存储元,指存放一个二进制位(0/1)的电路。对SRAM而言,电路为触发器结构 • 1.六管SRAM的电路构成(教材P.73图2.2) • 2.该电路工作原理 • 设T1截止T2导通即A点高电平B点低电平表示“1”,T2截止T1导通即A点低电平B点高电平表示“0”。
2.该电路工作原理 • (1)写入:首先译码选中。 • 写“1”:在I/O线加高电位,I/O线加低电位。 • 写完成后译码线上高电位信号撤销,电路进入保持状态。 • (2)读出:首先译码选中。 • 原来存放的“0”或“1”以不同电位值传到I/O线上。读完成后和写一样进入保持状态。
二、SRAM存储器基本组成 地址线 数 据线 • 控制信号 地址 译码 驱动 I/O电路及 控制电路 存储体 阵列
1、存储体阵列:见下图,注意其中几个常用概念——(1)记忆元件(存储元)(2)存储单元(3)字线(4)位线(5)存储芯片规格。1、存储体阵列:见下图,注意其中几个常用概念——(1)记忆元件(存储元)(2)存储单元(3)字线(4)位线(5)存储芯片规格。 • 字线0 • …… • 字线1 …… • . • ….. ………….. …………. …….. • 字线m-1 • 位线0 位线1 位线2 位线 n-1 0 1 2 n-1 0 1 2 n-1 0 1 2 n-1
【练习】名词解释:存储元、存储单元、单元地址、存储体、存储容量、存储器。【练习】名词解释:存储元、存储单元、单元地址、存储体、存储容量、存储器。 • 解答: • 存储元(存储元件、记忆元件)— • 存储器的最小组成单位,用来存放一位二进制代码“0”或“1”。任何一个具有两个稳定状态的物理器件都可用作存储元。 • 存储单元— • 将存储器中的所有存储元按相同位数分组,组内所有存储元同时进行信息写入或读出,这样的一组存储元称为一个存储单元。它是CPU访问存储器的基本单位。
解答(续): • 单元地址— • 存储器中的每一个存储单元都有一个唯一的编号,该编号称为单元地址。 • CPU通过单元地址访问相应的存储单元;用二进制表示的地址码的长度(位数),表明了能访问的存储单元的数目,称为地址空间。
CPU 存储体 存储元 单元地址 00…00 00…01 . . . . . XX…XX MAR ••• ••• ••• 存储单元 ┇ ┇ ┇ 存储容量 存储器主要概念之间的关系图
(1)地址译码器的功能:把CPU给定的地址码翻译成能驱动指定存储单元的控制信息。(1)地址译码器的功能:把CPU给定的地址码翻译成能驱动指定存储单元的控制信息。 (n----2n) (2)简单译码器电路 (3)“驱动”的含义 (4)地址译码系统的设计——一维和二维地址译码方案及选择 例:1K X 4位RAM的地址译码方案。 A0 字线w00 字线W01 A1 字线W10 字线W11 A0 A0 A1 A1 2、地址译码驱动系统 & & & &
地址译码系统的设计例子:1K X 4位 RAM。 • 一维地址译码方案:存储体阵列的每一个存储单元由一条字线驱动。也叫单译码结构。例中用此方案共需字线条数为: • 1024条 • 二维地址译码方案:从CPU来的地址线分成两部分,分别进入X(横向)地址译码器和Y(纵向)地址译码器,由二者同时有效的字线交叉选中一个存储单元。 • 例中将1K X 4 RAM 的10条地址线中6条(A0~A5)用在横向,4条(A6~A9)用在纵向,则共产生字线条数为: • 64+16=80条 • 1K X 4 位RAM 二维地址译码的图示:
1K X 4 位RAM 二维地址译码示意图 A0 A1 A2 A3 A4 A5 0 63 X 地 址 译 码 器 0/1 I/O I/O I/O I/O 0 15 Y地址译码器 A6 A7 A8 A9
3、I/O电路 处于存储芯片的数据线和被选中的单元之间; 不同存储芯片的I/O电路具体形式可能不同,但功能类似。 4、控制电路 用于控制芯片的操作,如读写控制、片选控制、输出控制等(一般表示为R/W或WE、CS或CE、OE)。 以上四部分封装在一起成为一片SRAM。 请看教材P.74图3.3 ---- SRAM存储器结构图:
16 ⁊ ⁊ ⁊ 1 2 • • • 64 1 2 • • • 64 2 A0 A1 A5 地 址 反 相 器 X 译 码 器 驱 动 器 64X64=4096 存储矩阵 1 • • • • • • 1 •••••• 64 输出 I/O电路 输出驱动 Y译码器 输入 ••• 控制电路 A6 A7 A11 读写 片选 图3.3 SRAM存储器结构框图
三、SRAM 芯片实例——Intel 2114 • 请看教材P.76图3.5,完成下面作业: • 【作业】请从Intel 2114的逻辑结构框图说明: 1、2114芯片引脚数目 2、地址线的横向、纵向安排 3、写入与读出的控制 四、存储器与CPU的连接 • (RAM芯片的扩展、RAM芯片的组织、由RAM芯片构成主存) • 用较小容量的现成RAM芯片构成机器所需的大容量内存,同时完成RAM芯片与CPU的数据线、地址线、控制线的连接。
(一)扩展方法的实例 现有2114即1K X 4SRAM芯片,要构成8K X 16位主存,应该用多少片2114?画出扩展、连接图。 • 解答: • 首先计算用多少片2114:(8K X 16)/(1K X 4)=32片 • 然后进行位扩展:把1K X 4扩成1K X 16,用16/4=4片 • 最后进行字扩展:把1KX16位扩展到8KX16位,需要1KX16位的单元共8K/1K=8个,即总共用2114为8X4=32片 • 以下分别为位扩展、字扩展图:
:位扩展、并联 1K X 4扩展成1K X 16 A9 A0 A0……A9 R/W 2114(1#)CS D3 D2 D1 D0 A0……A9 R/W 2114(4#)CS D3 D2 D1 D0 D15 D12 D3 D0 R/W … … … …
字扩展:1K字—8K字,用上面位扩展得到的1KX16位单元共8K/1K=8个,即总共用2114为8X4=32片。见下图:字扩展:1K字—8K字,用上面位扩展得到的1KX16位单元共8K/1K=8个,即总共用2114为8X4=32片。见下图: A12 Y7 A11 A10 Y0 A9 A0 D15 D12 D3 D0 R/W 3/8 译 码 器 … A0……A9 R/W 1# CS D3…...D0 A0……A9 R/W 4# CS D3……D0 A0……A9 R/W29#CS D3……D0 A0……A9 R/W32#CS D3……D0 (1KX4——)1KX16——8KX16的扩展图:串联
(二)补充资料:主存设计过程的三个阶段 1、系统设计 • 从计算机系统的角度,提出对存储器主要技术指标、功能及结构形式等的要求,如容量、字长、存储周期、总线宽度、控制方式、检纠错能力、环境温度、可靠性等要求。还要确定存储器类型和外电路形式……。 2、逻辑设计 • 按地址空间的分配选择合适的RAM、ROM芯片与CPU相连。其中还要考虑到逻辑电路的扇入/扇出系数,信号的传输与衰减,等等。 3、工艺设计 • 落实于生产。 • 问:前例RAM的扩展属于以上三个阶段中的哪一个?
五、存储器的读写周期(时序图)——P.78图3.8 目的:了解控制信号与存储器的读/写周期应该正确配合, 即,认识地址信号、控制信号与数据之间的时序关系。 • TRC • TA 地址 TCO CS TCX 数据输出 TOTD TOHA
P.79【例1 】图3.9 (a)是SRAM的写入时序图。 其中R/W*是读写命令控制线,当R/W*线为低电平 时,存储器按给定地址把数据线上的数据写入存储器。 请指出图3.9(a)写入时序中的错误,并画出正确的 写入时序图。 地址 地址 数据 数据 CS* CS* R/W* R/W* (b) (a) 图3.9
有关的书后习题:P.125习题 • 1、设有一个具有20位地址和32位字长的存储器,问: • (1)该存储器能存储多少个字节的信息? • (2)如果存储器由512K X 8位的RAM芯片组成,需要多少片? • (3)需要多少位地址作芯片选择? • 解: • (1)220 X 32位即1M X 32位=4M字节 • (2)N=(1M X 32)/(512K X 8)=8(片) • (3)用A19即只需1位(最高位)作为芯片选择。
5、要求用256K X 16位SRAM芯片设计1024K X 32位的存储器。SRAM芯片有两个控制端:当CS*有效时,该片选中。当W*/R=1时执行读操作,当W*/R=0时执行写操作。(*代表该信号为低电平有效) • 解答: • 首先计算出需要1024K X 32/(256K X 16)=8片已知的SRAM芯片进行设计; • 然后进行并联设计——位扩展: • 2片256K X 16 ——256K X 32; • 最后进行串联设计——字扩展: • 4组256K X 32——1024K X 32。 • 扩展设计的总图如下:
2/4 译 码 器 A19 A18 A17 A0 Y3* Y2* Y1* Y0* … A17…A0 256KX16 1# W*/R CS* D15…D0 A17…A0 256KX16 2# W*/R CS* D15…D0 A17…A0 256KX16 7# W*/R CS* D15…D0 A17…A0 256KX16 8# W*/R CS* D15…D0 … D31 D0 WE* …
3.2.2 DRAM存储器 一、静态RAM与动态RAM • 静态RAM: • (如前所述的六管SRAM)记忆元件电路能在很低的频率乃至直流的情况下工作,在没有外界信号作用时,触发器的状态可以长久保持不变,即信息不会丢失。 • 动态RAM: • 利用MOS管栅极电容上充积的电荷来存储信息的记忆元件电路中,由于有漏电阻的存在,电容上的电荷不可能长久保存,需要周期地对电容充电,以补充泄漏的电荷。这类电路是在动态的情况下工作,故名Dynamic RAM(DRAM)。
二、为什么提出动态存储单元 静态RAM主要优点: SRAM单元电路能长久保持信息,速度快工作稳定可靠。 主要缺点: 功耗大,集成度低,价格高。 DRAM单元电路恰好克服了这种缺点。 DRAM的出现是半导体存储技术的一大进步。
①动态RAM的高位密度。 • 对静态RAM来说,一个基本存储电路要由6个管子组成,而动态RAM结构要简单得多,可以用4个或者3个管子组成一个基本存储电路,甚至用1个管子也可以。这样,在一个半导体芯片上,如要制造动态RAM,就可容纳更多的基本存储电路,即位密度得到显著提高。于是,如果用动态RAM来组成指定容量的存储模块,所用的器件要比用其他类型的器件大大减少。
②动态RAM的低功耗特性。 • 同样为一个基本存储电路,动态RAM的功耗要比静态RAM的低得多。具体地说,动态RAM每个基本存储电路的功耗为0.05mw。而静态RAM为0.2mw。动态RAM的低功耗特性减少了系统的功率要求,也降低了系统的价格。 ③动态RAM的价格低廉。 • 如果按“位”来计算,动态RAM比静态RAM更便宜得多。不过,动态RAM需要较多的支持电路,所以,如果要建立的存储系统容量比较小,那么,几乎谈不上什么优点。但是,在存储容量比较大时,动态RAM价格低廉的优点会很显著。
三、DRAM与SRAM构成上的异同点 芯片结构类似点:都由存储体和外围电路构成。 单元电路及外围电路的主要不同。
1、电路组成: 一只MOS晶体管T和一个电容C (作在T的源极的一侧) 。 2、工作原理 C上有电荷表示存储“1”,反之为“0” (1)保持状态 保持状态字线为低电位,T关闭,切断了C的通路,使所充电荷不能放掉。 但电容总有一定的漏电阻,见右图。 字线W T C CD D (位线) 三、DRAM记忆元件电路之一:单管DRAM 刷新的原因。
(2)写入:字线的正驱动脉冲打开T。 写“1”:在D线加高电位; 写“0”:在D线加低电位。 (3)读出:字线的正驱动脉冲打开T。 原存“1”:电荷经T使D线电位升高; 原存“0”:D线电位将降低。 单管DRAM为“破坏性读出“电路。 读后立即写。 字线W T C R CD D (位线)
五、DRAM的刷新(刷新、再生—Refresh) 1、刷新的定义 在利用电容上的电荷来存储信息的动态半导体存储器中,由于漏电使电容上的电荷衰减,需要定期地重新进行存储,这个过程称为刷新。 2、刷新周期 对整个DRAM必须在一定的时间间隔内完成一次全部单元内容的刷新,否则会出现信息错误。从整个DRAM上一次刷新结束到下一次刷新完为止的时间间隔叫刷新周期。 刷新周期一般为ms级,由电容中信息可保持的时间决定。(2ms,8ms,4ms)
五、DRAM的刷新(刷新、再生—Refresh) 3、刷新过程 以行为单位,读出一行中全部单元的数据,经信号放大后同时全部写回; 行的含义; 读出时一定断开存储器的输出。 4、刷新方式(刷新的控制方式)——集中刷新、分散刷新和异步刷新 • 通过P.84图3.14(三种刷新方式的时间分配)了解三种刷新方式; • (例中TM=0.5µs,刷新周期为2ms,需刷新的存储矩阵为128X128)。
三种刷新方式的小结: • ( 1)第二种方式即分散方式的主要缺点; • (2)第一种与第三种方式即集中方式与异步方式的比较; • (3)刷新优先于访存,但不能打断访存周期。刷新其间不允许访存。