各种不同的存储器 |
发展概况回目录
内存 |
主存储器从70年代起,已逐步采用大规模集成电路构成。用得最普遍的也是最经济的动态随机存储器芯片(DRAM)。1995年集成度为64Mb(可存储400万个汉字)的DRAM芯片已经开始商业性生产,16MbDRAM芯片已成为市场主流产品。DRAM芯片的存取速度适中,一般为50~70ns。有一些改进型的DRAM,如EDODRAM(即扩充数据输出的DRAM),其性能可较普通DRAM提高10%以上,又如SDRAM(即同步DRAM),其性能又可较EDODRAM提高10%左右。1998年SDRAM的后继产品为SDRAMⅡ(或称DDR,即双倍数据速率)的品种已上市。
在追求速度和可靠性的场合,通常采用价格较贵的静态随机存储器芯片(SRAM),其存取速度可以达到了1~15ns。无论主存采用DRAM还是SRAM芯片构成,在断电时存储的信息都会“丢失”,因此计算机设计者应考虑发生这种情况时,设法维持若干毫秒的供电以保存主存中的重要信息,以便供电恢复时计算机能恢复正常运行。鉴于上述情况,在某些应用中主存中存储重要而相对固定的程序和数据的部分采用“非易失性”存储器芯片(如EPROM,快闪存储芯片等)构成;对于完全固定的程序,数据区域甚至采用只读存储器(ROM)芯片构成;主存的这些部分就不怕暂时供电中断,还可以防止病毒侵入。
分类回目录
KINGXCON(金士刚)DDR2-533 |
RAM芯片:RAM芯片通过地址线、数据线和控制线与外部连接,地址线是单向输入的,其数目与芯片容量有关。数据线是双向的,即可输入,也可输出,其数目与数据位数有关。控制线主要有读写控制线和片选线两种,读写控制线用来控制芯片是进行读操作还是写操作,片选线用来决定该芯片是否被选中。
地址译码方式:RAM芯片中的地址译码电路能够把地址线送来的地址信号翻译成对应存储单元的选择信号。地址译码方式分为单译码和双译码两种
连接及控制回目录
由于存储芯片的容量有限,主存储器往往要是由一定数量的芯片构成的位扩展:位扩展是指只在位数方面扩展(加大字长),而芯片的字数和存储器的字数。位扩展的连接方式是将各存储芯片的地址线、片选线和读写线相应地并联起来,而将各芯片的数据线单独列出字扩展:字扩展是指仅在字数方面扩展,而位数不变。字扩展将芯片的地址线、数据线、读写控制线并联,而片选信号来区分各个芯片字和位同时扩展:当构成一个容量较大的容器时,往往需要在字数方向和位数方向上同时扩展
存储芯片的片选
CPU要实现对存储单元的访问,首先要选择存储芯片,即进行片选;然后再从选中的芯片中依地址码选择出相应的存储单元,以进行数据的存取,这称为字选。片内的字选是由CPU送出的N条低位地址线完成的,地址线直接接到所有存储芯片的地址输入端,而存储芯片的片选信号则大多是通过高位地址译码后产生的。
线选法:
线选法就是用除片内寻址外的高位地址线直接分别接至各个存储芯片的片选端,当某地址线信息为0时,就选中与之对应的存储芯片。这些片选地址线每次寻址时只能有一位有效,不允许同时有多位有效,这样才能保证每次只选中一个芯片。线选法不能充分利用系统的存储器空间,把地址空间分成了相互隔离的区域,给编程带来了一定困难
全译码法:
全译码法将除片内寻址外的全部高位地址线都作为地址译码器的输入,译码器的输出作为各芯片的片选信号,将它们分别接到存储芯片的片选端,以实现对存储芯片的选择。全译码法的优点是每片芯片的地址范围是唯一确定的,而且是连续的,也便于扩展,不会产生地址重叠的存储区,但全译码法对译码电路要求较高
部分译码法:所谓部分译码法即用除片内寻址外的高位地址的一部分来译码产生片选信号,部分译码法会产生地址重叠。
主存与CPU之间的硬连接:主存与CPU的硬连接有三组连线:地址总线(AB)、数据总线(DB)和控制总线(CB)。把主存看作一个黑盒子,存储器地址寄存器(MAR)和存储器数据寄存器(MDR)是主存和CPU之间的接口。MAR可以接收由程序计数器(PC)的指令地址或来自运算器的操作数的地址,以确定要访问的单元。MDR是向主存写入数据或从主存读出数据的缓冲部件。MAR和MDR从功能上看属于主存,但通常放在CPU内。
CPU对主存的基本操作:CPU对主存进行读写操作时,首先CPU在地址总线上给出地址信号,然后发出相应的读写命令,并在数据总线上交换信息。读写基本操作如下:
读:读操作是指从CPU送来的地址所指定的存储单元中取出信息,再送给CPU,其操作过程如下:
地址——>MAR——ABCPU将地址信号送至地址总线
ReadCPU发读命令
WaitForMFC等待存储器工作完成信号
M(MAR)——>DB——>MDR读出信息经数据总线至CPU
芯片内部图 |
地址——>MAR——>ABCPU将地址信号送至地址总线
数据——>MDR——>DBCPU将要写入的数据送至数据总线
WriteCPU发写命令
WaitForMFC等待存储器工作完成信号
CPU与主存之间的速度匹配:同步存储器读取和异步存储器读取。
异步存储器读取:CPU和主存间没有统一的时钟,由主存工作完成信号(MFC)通知CPU“主存工作已完成”
同步存储器读取:CPU和主存采用统一时钟,同步工作,因为主存速度较慢,所以CPU与之配合必须放慢速度,在这种存储器中,不需要主存工作完成信号。
应用及技术回目录
示意图 |
快速页式工作技术(动态存储器的快速读写技术):读写动态存储器同一行的数据时,其行地址第一次读写时锁定后保持不变,以后读写该行多列中的数据时,仅锁存列地址即可,省去了锁存行地址的时间,加快了主存储器的读写速度。
EDO(ExtendedDataOut)技术:在快速页式工作技术上,增加了数据输出部分的数据锁存线路,延长输出数据的有效保持时间,从而地址信号改变了,仍然能取得正确的读出数据,可以进一步缩短地址送入时间,更加快了主存储器的读写速度。
(2)主存储器的并行读写技术
是指在主存储器的一个工作周期(或较长)可以读出多个主存字所采用的技术。
方案1:一体多字结构,即增加每个主存单元所包括的数据位,使其同时存储几个主存字,则每一次读操作就同时读出了几个主存字。
方案2:多体交叉编址技术,把主存储器分成几个能独立读写的、字长为一个主存字的主体,分别对每一个存储体进行读写;还可以使几个存储体协同运行,从而提供出比单个存储体更高的读写速度。
模型 |
1在同一个读写周期同时启动所有主存体读或写。
2让主存体顺序地进行读或写,即依次读出来的每一个存储字,可以通过数据总线依次传送走,而不必设置专门的数据缓冲寄存器;其次,就是采用交叉编址的方式,把连续地址的几个存储字依次分配在不同的存储体中,因为根据程序运行的局部性特性,短时间内读写地址相邻的主存字的概率更大。
(3)存储器对成组数据传送的支持
所谓成组数据传送就是地址总线传送一次地址后,能连续在数据总线上传送多个数据。而原先是每传送一次数据要使用两个时钟周期:先送一次地址,后跟一次数据传送,即要传送N个数据,就要用2N个总线时钟周期,成组数据传送方式只用N+1个总线时钟周期。
实现成组数据传送方式,不仅CPU要支持这种运行方式,主存也能提供足够高的数据读写速度,这往往通过主存的多体结构、动态存储器的EDO支持等措施来实现。
静态存储器回目录
构造图 |
(1)静态存储器的存储原理和芯片内部结构(P207)
(2)教学计算机内存储器的组成与设计
地址总线:记为AB15~AB0,统一由地址寄存器AR驱动,地址寄存器AR只接收ALU输出的信息。
控制总线:控制总线的信号由译码器74LS139给出,功能是指出总线周期的类型:
(1)内存写周期用MMW信号标记
(2)内存读周期用MMR信号标记
(3)外设(接口)写周期用IOW信号标记
(4)外设(接口)读周期用IOR信号标记
(5)内存在工作用MMREQ信号标记
(6)外设在工作用IOREQ信号标记
(7)写控存周期用SWA信号标记
数据总线:分为内部数据总线IB与外部数据总线DB两部分。主要完成计算机各功能部件之间的数据传送。设计总线的核心技术是要保证在任何时刻只能把一组数据发送到总线上,却允许一个和多个部件同时接受总线上的信息。所用的电路通常为三态门电路。
模拟图 |
静态存储器的字位扩展:
教学计算机的内存储器用静态存储器芯片实现,由2K字的ROM区和2K字RAM区组成。内存字长16位,按字寻址。ROM由74LS2716只读存储器ROM(每片2048个存储单元,每单元为8位二进制位)两片完成字长的扩展。地址分配在:0~2047RAM由74LS6116随机存储器RAM(每片2048个存储单元,每单元为8位二进制位)两片完成字长的扩展。地址分配在:2048~4095。
静态存储器地址分配:
为访问2048个存储单元,要用11位地址,把地址总线的低11位地址送到每个存储器芯片的地址引脚;对地址总线的高位进行译码,译码信号送到各存储器芯片的/CS引脚,在按字寻址的存储器系统中实现按字节读写
动态存储器回目录
主存储器 |
(1)动态存储器的组成:由单个MOS管来存储一位二进制信息。信息存储在MOS管的源极的寄生电容CS中。
写数据时:字线为高电平,T导通。
写“1”时,位线(数据线)为低电平,VDD(电源)将向电容充电
写“0时,位线(数据线)为高电平,若电容存储了电荷,则将会使电容完成放电,就表示存储了“0”。
读数据时:先使位线(数据线)变为高电平,当字线高电平到来时T导通,若电容原存储有电荷(是“1”),则电容就要放电,就会使数据线电位由高变低;若电容没有存储电荷(是“0”),则数据线电位不会变化。检测数据线上电位的变化就可以区分读出的数据是1还是0。
注意
①读操作使电容原存储的电荷丢失,因此是破坏性读出。为保持原记忆内容,必须在读操作后立刻跟随一次写入操作,称为预充电延迟。
②向动态存储器的存储单元提供地址,是先送行地址再送列地址。原因就是对动态存储器必须定时刷新(如2ms),刷新不是按字处理,而是每次刷新一行,即为连接在同一行上所有存储单元的电容补充一次能量。
③在动态存储器的位线上读出信号很小,必须接读出放大器,通常用触发器线路实现。
④存储器芯片内部的行地址和列地址锁存器分先后接受行、列地址。
⑤RAS、CAS、WE、Din、Dout时序关系
相关词条回目录
参考资料回目录
[1] 学赛IT教育 http://www.educity.cn/zk/zcyl/200801071723211134.htm
[2] 软件开放交流社区 http://kobe.javaeye.com/blog/266702