第5章存储系统(书中第3章)教学内容:存储器的基本原理和特征、运用半导体存储芯片组成主存储器的一般原则和方法以及提高存储器性能的技术。教学重点\难点:存储器与CPU的连接;高速存储器;存储器层次工作原理;cache存储器;虚拟存储器*第1节存储器概述第2节RAM第3节ROM和FLASHROM---附应用系统中的存储器设计(结合书中例子)第4节高速存储器第5节CACHE存储器*第6节虚拟存储器第1节存储器概述一、存储器的分类二、存储的分级结构三、主存储器的技术指标存储位元(存储1位信息存储单位)、存储单元、存储器一、存储器的分类(1)按存储介质分半导体存储器:半导体器件组成的存储器磁表面存储器:磁性材料做成的存储器(2)按存储方式分随机存储器:任何存储单元的内容都能被随机存取,且存取时间和存储单元的物理位置无关。顺序存储器:只能按某种顺序来存取,存取时间和存储单元的物理位置有关存储器是计算机系统中的记忆设备,用来存放程序和数据.(3)按存储器的读写功能分(存储内容可变性)只读存储器(ROM):存储的内容是固定不变的,只能读出而不能写入的半导体存储器。随机读写存储器(RAM):既能读出又能写入的半导体存储器。(4)按信息的可保存性分(信息易失性)非永久记忆的存储器:断电后信息即消失的存储器。永久记忆性存储器:断电后仍能保存信息的存储器。(5)按在计算机系统中的作用分根据存储器在计算机系统中所起的作用,可分为主存储器、辅助存储器、高速缓冲存储器、控制存储器等。二、存储的分级结构存储系统的分级结构目标:容量大、速度快、成本低•DRAM,硬盘与CPU之间的速度差距愈来愈大:01101001,00010,000100,0001,000,00010,000,000100,000,000198019851990199520002005YearnsDiskseektimeDRAMaccesstimeSRAMaccesstimeCPUcycletime01101001,00010,000100,0001,000,00010,000,000100,000,000198019851990199520002005YearnsDiskseektimeDRAMaccesstimeSRAMaccesstimeCPUcycletime问题:由于CPU工作速度很快,内存储器速度比较慢(差1~2个数量级),从内存取数或向内存存数时,CPU往往需要等待寄存器cache内存硬盘1ns1~2ns10ns10ms•解决方案::采用多种不同的存储器技术,构成多级存储器的层次结构容量小但速度快容量大而速度慢工作过程:1.CPU运行时,需要的操作数大部分来自寄存器2.如需要从(向)存储器中取(存)操作数和指令时,先访问cache,如在,则取自cache3.如操作数/指令不在cache,则访问RAM,如在RAM中,则取自RAM4.如不在RAM,则访问硬盘,操作数从硬盘中读出→RAM→cache分层存储器系统之间的连接关系寄存器三、主存的技术指标:存储容量、存取时间、存储周期、存储器带宽存储容量:存储单元总数存取时间:从启动一次存储器操作到完成该操作所经历的时间。存取周期:连续启动两次操作所需的最小间隔时间存储器带宽:单位时间里存储器所存取的信息量,是衡量数据传输速率的重要指标。(Bit/s,Byte/s)第2节RAM一、SRAM(静态RAM)二、DRAM(动态RAM)•利用双稳态触发器来保存信息,只要不断电信息就不会丢失•集成度低,成本高,功耗较大•通常作为Cache的存储体一、SRAM(静态RAM)内部:存储体内部译码器译码输出驱动器片选与读写控制单元输出驱动1SRAM的组成(基本的静态存储元阵列)--------与外部(与系统)相连的信号线:三组信号线地址线如图3.2A5-A0数据线I/O0-I/O3控制线1位锁存器译码器A0A1A2A3A4A5010100110111选择线0选择线1选择线63数据输入/输出,缓冲与控制控制线R/-W地址线I/O0I/O3I/O1I/O2数据线00000001010101存储体16*116个单元,1个单元1位信息位译码器数据1位信息位A0A1A2A3另外的一个例子01215011存储体441译码器(行)译码器(列)数据“0”1位信息位16个单元,1个单元1位信息位A0A1A2A30000012301230存储体或存储体64644096*14096个单元,1个单元1位信息位(内部构成)2、基本的SRAM逻辑结构(1)存储体(2)寻址系统---地址译码器(3)读写系统--写入信息和读出信息所需线路(4)控制线路-读写逻辑控制线路写入信息所需线路包括写入线路、写驱动器等读出信息所需线路包括读出线路、读驱动器和读出放大器等存储体:存储位元的集合,通常用X选择线(行线)和Y选择线(列线)的交叉来选择所需要的单元。地址译码器:将用二进制代码表示的地址转换成输出端的高电位,用来驱动相应的读写电路,以便选择所要访问的存储单元。地址译码有两种方式。单译码适用于小容量存储器一个地址译码器双译码适用于大容量存储器X向和Y向两个译码器。读写系统控制线路地址地址数据存储体(256×128×8)通常把各个字的同一个字的同一位集成在一个芯片(32K×1)中,32K位排成256×128的矩阵。8个片子就可以构成32KB。地址译码器采用双译码的方式(减少选择线的数目)。A0~A7为行地址译码线A8~A14为列地址译码线读写系统控制线路其他例子4SRAM存储器与CPU的连接DRARSRAM256*83SRAM存储器与CPU的连接(CAI)CPU对存储器进行读/写操作:1)首先由地址总线给出地址信号,2)然后要发出读操作或写操作的控制信号,3)最后在数据总线上进行信息交流,存储器与CPU相连要完成地址线的连接、数据线的连接和控制线的连接。位扩展:只加大字长,而存储器的字数与存储器芯片字数一致,对片子没有选片要求字扩展:仅在字向扩充,而位数不变.需由片选信号来区分各片地址字位同时扩展:M*N,若使用l*k位的芯片(lM,kN),则共需(M/l)*(N/k)个–每一片RAM的字数是16K(214),故其地址线为14条(A0~A13)–4片芯片的数据线与数据总线的D0~D7相连,对应8位数据,地址总线低位地址A0~A13与各片芯片的14位地址端相连,两位高位地址A14、A15经2:4译码器与4片芯片的片选端相连–地址空间分配地址片号片外A15A14片内A13A12A11…A1A0说明000000…00最低地址00111…11最高地址101000…00最低地址01111…11最高地址210000…00最低地址10111…11最高地址311000…00最低地址11111…11最高地址用16K*8扩展64K*8(字扩展)4读写周期波形图(存储器的时序)读周期:读出时间Taq读周期时间TRC写周期写周期时间Twc写时间twd读周期是指连续两次读存储器必须间隔的时间;读出时间为在地址出现后经译码选中单元,并将单元内容送到总线上所须时间;读周期大于读出时间WE为高写操作中要求-CS和-WE都为低二、DRAM(动态RAM)•利用MOS电容存储电荷来保存信息,使用时需要不断给电容充电才能保持信息•电路简单,集成度高,成本低,功耗小,但需要反复进行刷新(Refresh)操作,工作速度较慢•适合作为主存储器的主体部分•刷新操作–为防止存储的信息电荷泄漏而丢失信息,由外界按一定规律不断地给栅极进行充电,补足栅极的信息电荷–主要采用“读出”的方式进行刷新,依次读出存储器的每一行,就可完成对整个DRAM的刷新–由于要不间断地进行刷新,故称这种存储器为动态存储器•DRAM控制器–DRAM刷新的控制线路可以集成在一个半导体芯片上,形成DRAM控制器–借助于DRAM控制器,可以把DRAM当作SRAM一样使用,从而为系统设计带来很大的方便单管动态存储单元(存1位信息)-DRAM存储位元工作原理由一个MOS管和电容组成刷新行线DoutR/-WDin高低高低高位线列线1+-(a)写“1”刷新行线DoutR/-WDin高低低位线列线0低低(b)写“0”1DRAM存储位元的记忆原理(了解不考试)刷新行线DoutR/-WDin高低高高位线列线1(c)读高刷新行线DoutR/-WDin高高高位线列线1(d)刷新存储位元的1高高2DRAM芯片逻辑结构(了解,不考试)1M*4位DRAM芯片的管脚图刷新控制与定时刷新计数器行译码行地址锁存器列地址锁存器存储阵列1024*1024*4输入/输出缓冲与读出放大列译码2选1MUX地址线系统A19-A0A9-A0A19-A1011024102410101010-RAS-CAS-E-R/-W1M*4,需20条地址线,存储体为1024*1024单元,将20条分为两部分:10位行地址、10位列地址,通过芯片A0-A9分次送入,与行地址相关的控制信号是-RAS;与列地址相关的是-CAS时序上是先送行地址,再送列地址。当某一行被选中,则这一行的1024个存储单元都被选通到输出放大器,列译码器产生的译码信号最终从里面选出1个单元3DRAM读写周期行地址列地址有效数据地址RASCASR/-W数据读周期读周期行地址列地址有效数据地址RASCASR/-W数据写周期写周期读周期:行地址应先于-RAS有效写周期刷新周期:从上一次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍为止的一段时间间隔。RAS为低,CAS为高,一行一行地刷新-RAS、-CAS与地址的关系同读周期-RAS-CAS地址集中刷新:集中前一段读写,拿出一段固定时间刷新(死时间内对所有行刷新)刷新周期2ms,128行,刷新一行时间=读写时间分散刷新:分散式刷新:每一行的刷新插入到正常的读/写周期之中。例如,将2ms(2000μs)分散的把128行刷新一边,2000/128=15.5μs例2说明1M×1位DRAM片子的刷新方法,刷新周期定为8ms解如果选择一个行地址进行刷新,刷新地址为A0—A8(不同的芯片行、列地址分配不同,共29行),因此这一行上的2048个存储元(211,11位列地址)同时进行刷新,即在8ms内进行512个周期的刷新。按照这个周期数,512×2048=1048567个存储元,即对1M位的存储元全部进行刷新。刷新方式可采用:在8ms中进行512次刷新操作的集中刷新方式,或按8ms÷512=15.5μs刷新一次的异步刷新方式。地址多路开关:分出行地址和列地址刷新定时器:定时刷新地址计数器:行地址计数仲裁电路:读写与刷新同时产生定时发生器:产生-RAS、-CAS4DRAM存储容量的扩充1字长位数(位扩展)扩展与SRAM一样,若给定的DRAM芯片的字长位数较短,不满足设计要求的字长,需要用多芯片扩展字长位数.地址线\控制线公用,数据线分开.[例2]1M*4的SRAM芯片,构成1M*8的存储器,所需芯片数目??[例3]1M*8的DRAM芯片,构成2M*8的存储器,所需芯片数目??2字存储容量扩展与SRAM一样,若给定的DRAM芯片存储容量小,不能满足总存储容量,此时需要采用多片芯片扩展。地址线\数据线公用控制线R/-W公用,EN(-CS)不公用,一般与由地址高位译码产生的片选信号连接。A0A19&END7D0I/O7I/O00-1M-E1-E0A0A19&END7D0I/O7I/O01M-2M-E1-E021地址线A0-A20A2021地址线A0-A20A20图3.10p735存储器模块条(内存条)存储器通常以插槽模块条形式供应市场。这种条块常称为内存条,它们是在一个条状形的小的PCB板,用一定数量的存储器芯片(如8个DRAM芯片),组成一个存储容量固定的存储模块。内存条线数:30,72,100,144,168,172,184,232240,30,72线称作SIMM单列内存条内存条,已淘汰DIMM双列存储器模块内存条:DIMM内存条是专门为PENTIUNM级CPU推出的内存条。目前的DDRDIMM与SDRAMDIMM