计算机组成原理第4章主存储器.ppt
1,第四章 主存储器,2,4.1主存储器处于全机中心地位,在现代计算机中,主存储器处于全机中心地位。原因:当前计算机正在执行的程序和数据(除了暂存于CPU寄存器以外的所有原始数,中间结果和最后结果)均存放在存储器中。CPU直接从存储器取指令或存取数据。计算机系统中输入输出设备数量增多,数据传送速度加快,因此采用了直接存储器访问(DMA)技术和输入输出通道技术,在存储器与输入输出系统之间直接传送数据。共享存储器的多处理机的出现,利用存储器存放共享数据,并实现处理机之间的通信,加强了存储器作为全机中心的作用。现代计算机中还设置了:辅助存储器(外存储器):存放当前不运行的程序和数据。高速缓冲存储器Cache:解决CPU的主存储器速度的不匹配。,3,4.2 主存储器分类,能用来作为存储器的器件和介质,除了其基本存储单元有两个稳定的物理状态来存储二进制的信息外,还必须满足一些技术上的要求。例如:便于与电信号转换、便于读写、速度高、容量大和可靠性高等。还有价格因素。20世纪50 年代至70年代:磁芯存储器20世纪70 年代至今:半导体存储器,4,4.2 主存储器分类,主存储器的类型:随机(读写)存储器(Random Access Memory,简称RAM)在讨论计算机主存时,没有特别说明,就是指随机存储器。只读存储器(Read Only Memory,简称ROM)可编程序的只读存储器(Programmable ROM,简称PROM)可擦除可编程序只读存储器(Erasable PROM,简称EPROM)可用电擦除的可编程只读存储器(Electrically EPROM,称E2PROM)上述各种存储器,除了RAM以外,即使停电,仍能保持其内容,称之为“非易失性存器”,而RAM为“易失性存储器”。,5,4.3 主存储器的主要技术指标,主存储器的主要性能指标包括:主存容量、存储器存取时间和存储周期时间。计算机可寻址的最小信息单位是一个存储字,相邻存储地址表示相邻存储字,这种机器称为“字可寻址”机器。一个存储字包含的二进制位数成为字长。有些计算机按照字节寻址,这种机器称为“字节可寻址”计算机。指令中地址码的位数决定了主存储器的可寻址的最大空间。例如,32位微型机提供32位物理地址,只能支持对4G字节的物理主存空间的访问。存储器的容量:以字或字节为单位来表示主存储器存储单元的总数。一般以字节计算,有K(1024字节)/M(1024K字节)/G(1024M字节)。存储器存取时间:也称访问时间,指启动一次存储器操作到操作完成的时间。存储周期:指连续启动两次独立的存储器操作所需的的最小间隔时间。主存储器的速度和容量得到极大提高,但具有合适价格的主存储器能提供信息的速度总是跟不上CPU的处理指令和数据的速度。,6,4.4 主存储器的基本操作,主存储器用来暂存CPU正在使用的指令和数据,它和CPU的关系最为密切。主存储器和CPU的连接是由总线支持的。总线包括:数据总线DB、地址总线AB和控制总线CB。CPU通过使用地址寄存器(AR)和数据寄存器(DR)和主存进行数据传送。若AR为K位字长,DR为n为字长,则允许主存包含2k个可寻址单位(字节或字)。在一个存储周期内,CPU和主存之间通过总线进行n为数据传送。主存储器的两个基本操作:“读”和“写”。读是从存储器中取出数据,写是将数据放入存储器。控制总线包括控制数据传送的读(read)、写(write)和表示存储器功能完成的(ready)控制线。,7,4.4 主存储器的基本操作,当CPU需要从主存“取”出一个信息字时,CPU必须指定存储器字地址,并令存储器进行“读”操作。CPU需要把信息字的地址送到AR,经地址总线送往主存。同时,CPU应用控制线(读写)发一个“读”请求。此后,CPU等待从主存发来的回答信号,通知CPU“读”操作完成。主存通过ready线做出回答,若ready信号为1,说明存储器的内容已经读出,并放在数据总线上,送入DR。这时,取数操作完成。为了“存”一个字到主存,CPU与主存之间采取异步工作方式,以Ready信号表示一次访问存储器操作的结束。,CPU,AR,DR,读/写 ready 地址 数据 主存储器,地址总线数据总线控制总线,读/写,8,4.5 读写存储器,半导体读/写存储器(即随机存储器(RAM)按存储元件在运行中能否长时间保存信息,分为:静态存储器动态存储器静态存储器利用双稳态触发器来保存信息,只要不断电,信息是不会丢失的;动态存储器利用MOS电容存储电荷来保存信息,使用时需不断给电容充电才能使信息保持。静态存储器集成度低,但功耗较大;动态存储器的集成度高,功耗小,它主要用于大容量存储器。,9,主存储器的逻辑组成,保持1,0的双稳态电路,1000H1001H1002H1003H1004H1005H,地址 内容,存储单元,10,1.静态存储器(SRAM),MOS管是金属(Metal)氧化物(Oxid)半导体(Semiconductor)场效应晶体管,或者称是金属绝缘体半导体。MOS管的开关特性:MOS管有三个极:源极S(Source)、漏极D(Drian)和栅极G(Gate).,1.当UGGUT 时,MOS管导通,忽略导通电阻,漏-源极相当短路,相当于开关“闭合”。2.当UGGUT 时,MOS管截止,漏-源极相当开路。,11,1.静态存储器(SRAM)(1),(1)存储单元和存储器,T1,T2,T6,T4,T3,T5,位线1(高电平写0),位线2(高电平写1),字选择线,6管双稳态 1 位存储单元,VDD,VGG,Vss,1端(Q端),0端(Q端),12,1.静态存储器(SRAM)(3),字选择线,列选择线,T7,T8,13,1.静态存储器(SRAM)(2),1K个双稳态存储单元,用矩阵译码,每个交叉点选择一个存储单元。,32根列选择线,32根行选择线,共有32 X 32=1024个交叉点,5-32 译码器,532译码器,存储器地址,A4A0,A9A5,0 1 2 31,01231,1位存储单元,14,1.静态存储器(SRAM)(4),1K1 静态存储器框图,X地址译码器,字驱动器,3232存储矩阵,控制电路,读/写电路,Y地址译码,031,0 31,A0A4,A5 A9,WE CS,DINDOUT,15,1.静态存储器(SRAM)(5),(2)开关特性 读周期时序,AdrCSWEDOUT,地址对片选的建立时间 tsu AdrCS,片选读时间 taCS,片禁止到输出的传输延迟tPLH CSDOUT,CPU必须在这段时间内取走数据,16,1.静态存储器(SRAM)(6),(2)开关特性 写周期时序,AdrCSWEDIN,最小写允许宽度tWWE,数据对写允许的建立时间tsuDIN,CPU必须在这段时间内输出数据,地址对写允许WE的建立时间 tsu Adr,地址对写允许WE的保持时间 th Adr,17,2.动态存储器(DRAM)(1),(1)存储单元和存储器原理,T2,读出选择线,3管存储单元 单管存储单元(读出和写入部分分开),T1,T3,C,写入选择线,读出数据线,写入数据线,位线 字线数据线,T,CD,Vdd,高电平写0,低电平写1,有存储电荷:1无存储电荷:0,Cs,有存储电荷:1无存储电荷:0,18,2.动态存储器(DRAM)(2),(1)存储单元和存储器原理 单管单元的优点:线路简单,单元占用面积小,速度快。缺点:读出是破坏性的,需要“重写”;读出信号很小,要求有高灵敏度的读出放大器。图49是16K1位动态存储器的框图,存储单元采用单管单元。地址码是14位;为了减少封装引脚数,地址码分两批(每批7位)送至存储器;行地址由行地址选通信号RAS送入,列地址由列地址选通信号CAS送入;16K位存储单元矩阵由两个64128阵列组成。读出放大器又使相应的存储单元的存储信息自动恢复(重写)所以读出放大器还用作再生放大器。,19,2.动态存储器(DRAM)(4),(2)再生DRAM是通过把电荷充积到MOS管的栅极电容或专门的MOS电容中去来实现信息存储的。为了保证存储信息不遭破坏,必须在电荷漏掉以前就进行充电,以恢复原来的电荷,把这一充电过程称为再生,或称为刷新。对于DRAM,再生一般应在小于或等于2ms的时间内进行一次。DRAM采用“读出”方式进行再生。而接在单元数据线上的读放是一个再生放大器。由于DRAM每列都有自己的读放,因此,只要依次改变行地址,轮流对存储矩阵的每一行所有单元同时进行读出,直到把所有行全部读出一遍,就完成了对存储器的再生。,20,2.动态存储器(DRAM)(5),(3)时序图DRAM有以下几种工作方式:读工作方式写工作方式读-改写工作方式页面工作方式再生工作方式RAS、CAS与地址Adr的相互关系(P122),21,2.动态存储器(DRAM)(5),读工作方式(WE=1),高阻态 输出 高阻态,RASCASWEDOUT,读工作周期 tCRD,是DRAM完成一次“读”所需要的最短时间,tCRD是RAS的一个周期时间。,22,2.动态存储器(DRAM)(6),写工作方式(WE=0),RASCASWEDINDOUT,写工作周期 tCWR,高阻态,是DRAM完成一次“写”所需要的最短时间,tCWD是RAS的一个周期时间。,23,2.动态存储器(DRAM)(7),读一改写工作方式,RASCASWEDINDOUT,读-改写周期 tCRMW,td,24,2.动态存储器(DRAM)(8),页面工作方式,RASCASAdrWEDOUT,25,DRAM与SRAM的比较,DRAM的优点:每片DRAM存储容量大,约是SRAM的4倍。引脚数少,封装尺寸小。DRAM的价格比较便宜,大约只有SRAM的1/4。DRAM所需功率大约只有SRAM的1/6。由于以上优点,DRAM作为计算机主存储器的主要元件得到了广泛的应用,DRAM得存取速度和存储容量在不断改进和提高。DRAM的缺点:由于DRAM使用动态元件,速度比SRAM要低。DRAM需要再生,浪费时间,还需要再生电路,也要用去一部分功率。SRAM一般用作容量不大的高速存储器。,26,4.6 非易失性半导体存储器(1),前面介绍的DRAM和SRAM均为可任意读写的随机存储器,当掉电时,所存储的内容消失,所以是易失性存储器。下面介绍的半导体存储器,即使停电,所存储的内容也不丢失。根据半导体制造工艺的不同,可分为:ROM,PROM,EPROM,E2ROM和Flash Memory,27,4.6 非易失性半导体存储器(3),1.只读存储器(ROM)掩模式ROM由芯片制造商在制造时写入内容,以后只能读而不能再写入。其基本存储原理是以元件的“有无”来表示该存储单元的信息(“1”或“0”),可以用二极管或晶体管作为元件,显而易见,其存储内容是不会改变的。2.可编程序的只读存储器(PROM)PROM可由用户根据自己的需要来确定ROM中的内容,常见的熔丝式PROM是以熔丝的通和断开来表示所存的信息为“1”或“0”。刚出厂的产品,其熔丝是全部接通的。根据需要断开某些单元的熔丝(写入)。显而易见,断开后的熔丝是不能再接通了,因而一次性写入的存储器。掉电后不会影响其所存储的内容。,28,4.6 非易失性半导体存储器(4),3可擦可编程序的只读存储器(EPROM)为了能修改ROM中的内容,出现了EPROM。其原理:,控制栅,浮置栅,P型基片,源n+,漏n+,VPP(+12V),57V,29,4.6 非易失性半导体存储器(5),3可擦可编程序的只读存储器(EPROM)存储1,0的原理:,源,漏,5V,源,漏,5V,晶体管导通 浮栅电子阻止晶体管导通,保存1,保存0,30,4.6 非易失性半导体存储器(6),4.可电擦可编程序只读存储器(E2PROM)E2PROM的编程序原理与EPROM相同,但擦除原理完全不同,重复改写的次数有限制(因氧化层被磨损),一般为10万次。其读写操作可按每个位或每个字节进行,类似SRAM,但每字节的写入周期要几毫秒,比SRAM长得多。E2PROM每个存储单元采则2个晶体管。其栅极氧化层比EPROM薄,因此具有电擦除功能。,31,4.6 非易失性半导体存储器(7),5.快擦除读写存储器(Flash Memory)F1ash Memory是在EPROM与E2PROM基础上发展起来的,其原理:,控制栅,浮置栅,P型基片,源n+,漏n+,VPP,32,4.6 非易失性半导体存储器(8),F1ash Memory的读写原理:,Vd=6V,Vg=12V,写入,Open,Vs=12V,擦除,Vd=1V,Vg=1V,读出,33,4.6 非易失性半导体存储器(9),各存储器的用途,34,4.7 DRAM的研制与发展(1),1.增强型DRAM(EDRAM)增强型DRAM(EDRAM)改进了CMOS制造工艺,使晶体管开关加速,其结果使EDRAM的存取时间和周期时间比普通DRAM减少一半,而且在EDRAM芯片中还集成了小容量SRAM cache。2.Cache DRAM(CDRAM)其原理与EDRAM相似,其主要差别是SRAM cache的容量较大,且与真正的cache原理相同。在存储器直接连接处理器的系统中,cache DRAM可取代第二级cache和主存储器(第一级cache在处理器芯片中)。CDRAM还可用作缓冲器支持数据块的串行传送。,35,4.7 DRAM的研制与发展(2),3.EDO DRAM(EDRAM)扩充数据输出(extended data out,简称EDO),它在完成当前内存周期前即可开始下一周期的操作,因此能提高数据带宽或传输率。4.同步 DRAM(SDRAM)典型的DRAM是异步工作的,CPU送地址和控制信号之后,等待存储器的内部操作完成,此时CPU不能做别的。SDRAM与CPU之间的数据传输是同步的,CPU送出地址和控制信号后,经过已知数量的时钟后,SDRAM完成内部操作,此期间,CPU可以做其他的工作,而不必等待。,36,4.7 DRAM的研制与发展(3),5.Rambus DRAM(RDRAM)Rambus公司研制,着重提高存储器频率带宽。RDRAM与CPU之间通过专用的RDRAM总线传送数据,而不是常用的RAS、CAS、WE、CE信号。采用异步成组数据传输协议,开始时需要较大的存取时间(例如48ns),以后可达500MB/s的传输速率。Rambus得到Intel公司的支持,其高档的Pentium III 处理器将采用Rambus DRAM结构。,37,4.7 DRAM的研制与发展(5),6.集成随机存储器(IRAM)将整个DRAM系统集成在一个芯片内,包括存储单元阵列、刷新逻辑、裁决逻辑、地址分时、控制逻辑及时序等。片内还附加有测试电路。2.ASIC RAM 根据用户需求而设计的专用存储器芯片,它以RAM为中心,并结合其他逻辑功能电路。例如,视频存储器(video memory)是显示专用存储器,它接收外界送来的图像信息,然后向系统提供高速串行信息。,38,4.8 半导体存储器的组成与控制,半导体存储器的读写时间已小于10毫微秒,其芯片集成度高,体积小,片内还包含有译码器和寄存器等电路。常用的半导体存储器芯片有多字一位片和多字多位(4位、8位)片,如16M位容量的芯片可以有16M1位和4M4位等种类。为表达和图示,我们讨论的芯片容量远远小于实际容量。,39,1.存储器容量扩展(1),1个存储器芯片的容量是有限的,它在字数或字长方面与实际存储器的要求都有很大差距,所以需要在字向和位向进行扩充才能满足需要。(1)位扩展位扩展指的是用多个存储器器件对字长进行扩充。位扩展的连接方式是将多片存储器的地址、片选、读写控制端RW可相应并联,数据端分别引出。,40,(1)位扩展(1),A0A13CS 16K4R/W D0D3,A0A13CS 16K4R/W D0D3,D0D3,D4D7,D0D7,R/W,CS,A0A13,41,(1)位扩展(2),位扩展:1)地址的总位数不变,总存储器字容量不变。例如,芯片的地址线是A0A13,存储器的地址总线还是A0A13。2)数据线的位数增加,增加的数量等于各芯片位数之和。例如,共两个芯片,每个芯片4位,总存储器的数据总线是8位。相当于要增加一个大楼的总人数,可以增加房间内可居住的人数,而没有增加房间的数量。,42,1.存储器容量扩展(2),(2)字扩展 字扩展指的是增加存储器中字的数量。静态存储器进行字扩展时,将各芯片的地址线、数据线、读写控制线相应并联,而由片选信号来区分各芯片的地址范围。,43,(2)字扩展(1),CSA13 16K8A0R/W D0D7,译码器,0,1,2,3,CSA13 16K8A0R/W D0D7,CSA13 16K8A0R/W D0D7,CSA13 16K8A0R/W D0D7,A15A14,A13A0,R/W,D0D7,44,(2)字扩展(2),字扩展:1)地址的总位数增加,总存储器字容量增加。字容量增加等于各芯片字容量乘以芯片个数。例如,芯片的字容量是16K,4个芯片,总存储器的字容量为416K=64K。2)数据线的位数不变,总存储器的数据总线位数等于各芯片位数。例如,共4芯片,每个芯片8位,总存储器的数据总线是8位。相当于要增加一个大楼的总人数,可以增加房间数,而没有增加房间内的人数。,45,1.存储器容量扩展(3),(3)字位扩展 实际存储器往往需要字向和位向同时扩充。一个存储器的容量为MN位,若使用LK位存储器芯片,那么,这个存储器共需要M/LN/K存储器芯片。,46,(3)字位扩展(1),译码器,0,1,2,3,A15A14,A13A0,R/W,D4D7,D0D3,CSA13 2114A0R/W D0D7,CSA13 2114A0R/W D0D7,CSA13 2114A0R/W D0D7,CSA13 2114A0R/W D0D7,CSA13 2114A0R/W D0D7,CSA13 2114A0R/W D0D7,CSA13 2114A0R/W D0D7,CSA13 2114A0R/W D0D7,位扩展,字扩展,47,(3)字位扩展(2),字位扩展:1)地址的总位数增加,总存储器字容量增加。字容量增加等于各芯片字容量乘以芯片组数(位扩展)。例如,芯片的字容量是16K,4组芯片,总存储器的字容量为416K=64K。2)数据线的位数增加,增加的数量等于用于位扩展的芯片位数之和。例如,每个芯片4位,2个芯片用于位扩展,总存储器的数据总线是24=8位。相当于要增加一个大楼的总人数,可以同时增加房间数和增加房间内的人数。,48,2存储控制(1),在存储器中,往往需要增设附加电路。这些附加电路包括地址多路转换线路、地址选通、刷新逻辑,以及读写控制逻辑等。在大容量存储器芯片中,为了减少芯片地址线引出端数目,将地址码分两次送到存储器,因此芯片地址线引出端减少到地址码的一半。刷新逻辑是为动态MOS随机存储器的刷新准备的。通过定时刷新、保证动态MOS存储器的信息不致丢失。动态MOS存储器采用“读出”方式进行刷新。因为在读出过程中恢复了存储单元的MOS栅极电容电荷,并保持原单元的内容,所以,读出过程就是再生过程。,49,2存储控制(2),通常有两种刷新方式。(1)集中刷新 集中式刷新指在一个刷新周期内,利用一段固定的时间,依次对存储器的所有行逐一再生,在此期间停止对存储器的读和写。例如,一个存储器有1024行,系统工作周期为200ns。RAM刷新周期为2ms。这样,每个刷新周期内共有10000个工作周期,其中用于再生的为1024个工作周期,用于读和的为8976个工作周期。集中刷新的缺点是在刷新期间不能访问存储器,有时会影响计算机系统的正确工作。,50,2存储控制(3),(2)分布式刷新采取在2ms时间内分散地将1024行刷新一遍的方法,具体做法是将刷新周期除以行数,得到两次刷新操作之间的时间间隔t,利用逻辑电路每隔时间t产生一次刷新请求。动态MOS存储器的刷新需要有硬件电路的支持,包括刷新计数器、刷新访存裁决。新控制逻辑等。这些线路可以集中在RAM存储控制器芯片中。,51,3存储校验线路(1),计算机在运行过程中,主存储器要和CPU、各种外围设备频繁地高速交换数据。由于结构、工艺和元件质量等种种原因,数据在存储过程中有可能出错,所以,一般在主存储器中设置差错校验线路。实现差错检测和差错校正的代价是信息冗余。信息代码在写人主存时,按一定规则附加若干位,称为校验位。在读出时,可根据校验位与信息位的对应关系,对读出代码进行校验,以确定是否出现差错,或可纠正错误代码。,52,第四章 主存储器作业,4.5、4.6、4.7。,