510 likes | 620 Views
存储系统与随机存储器. 存储器的角色. 在现代计算机中,主存储器处于全机中心地位 当前计算机正在执行的程序和数据均存放在存储器中。 CPU 直接从存储器取指令或存取数据。 计算机系统中输入输出设备数量增多,数据传送速度加快,因此采用了直接存储器存取 (DMA) 技术和输入输出通道技术,在存储器与输入输出系统之间直接传送数据。 共享存储器的多处理机的出现,利用存储器存放共享数据,并实现处理机之间的通信,更加强了存储器作为全机中心的作用。. 存储器的挑战. Memory Wall. 存储系统 —— 系统的解决方案. 存储系统与存储器 存储器:提供存储能力的物理实体
E N D
存储器的角色 • 在现代计算机中,主存储器处于全机中心地位 • 当前计算机正在执行的程序和数据均存放在存储器中。CPU直接从存储器取指令或存取数据。 • 计算机系统中输入输出设备数量增多,数据传送速度加快,因此采用了直接存储器存取(DMA)技术和输入输出通道技术,在存储器与输入输出系统之间直接传送数据。 • 共享存储器的多处理机的出现,利用存储器存放共享数据,并实现处理机之间的通信,更加强了存储器作为全机中心的作用。
存储器的挑战 • Memory Wall
存储系统——系统的解决方案 • 存储系统与存储器 • 存储器:提供存储能力的物理实体 • 存储系统:各类物理存储器组成的层次化体系( Memory Hierarchy) • 高速缓存Cache • 主存 • 外存
存储器的主要技术指标 • 存储器有三个基本参数: • 容量、速度、成本(价格/位) • 存储容量:以字或字节为单位来表示主存储器存储单元的总数。 • 常用字节数或单元数×位数两种方法来描述。
存储器的主要技术指标 • 存储器速度 • 存取时间:一次存取操作所需的时间 • 带宽BM(最大数据传送速率,单位:位/秒) w——数据存储总线宽度 内存平均访问时间ns级 SRAM Cache1~5ns SDRAM内存7~15ns EDO内存60~80ns EPROM存储器100~400ns 外存平均访问时间ms级 硬盘9~10ms 光盘80~120ms
存储器的主要技术指标 • 存储器价格 • 硬盘:600~700元/TB • 内存:200元/GB • SRAM:400元/256KB
存储系统 • 根据各种存储器的存储容量、存取速度和价格比的不同,将它们按照一定的体系结构组织起来,使所放的程序和数据按照一定的层次分布在各种存储器中。 CACHE 主存(内存) 辅存(外存)
存储器的分类 • 按存储介质划分:半导体、磁性 • 按存取方式划分:随机、顺序 • 按存储器的读写功能划分:只读、读写 • 按信息的可保存性划分:永久性、非永久性记忆 • 按作用划分:主存储器、辅助存储器、高速缓冲存储器、控制存储器等
随机读写存储器(RAM) • 随机读写(存取):当存储器中的消息被读取或写入时,所需要的时间与这段信息所在的位置无关。相对的,读取或写入顺序访问存储设备中的信息时,其所需要的时间与位置就会有关系(如磁带)。 • 静态存储器SRAM • 利用触发器实现 • 无需动态刷新 • 速度快、集成度低、功耗大 • 动态存储器DRAM • 利用MOS电容保存数据 • 需要动态刷新 • 速度慢、集成度高、功耗小 存储单元的机理不同
SRAM的基本存储单元 • 物理存储单元 • 存储一位二进制信息的(0/1)的电路单元 • 可实现为4晶体管、6晶体管等模式(4T/6T)
SRAM的基本存储单元 两个稳态:T1导通,T2截止为“0”;T2导通,T1截止为“1” Z 保持:字线保持低电位,一对位线与双稳态电路相分离。双稳态电路依靠自身的交叉反馈,保持原有状态不变。 VCC w /w T4 T3 B A T5 T6 T2 T1 VCC T1导通 T2截止,从而使单元处于“0”态 可以根据W上有无电流来判断触发器存入信息的状态。 读出时若原来信息为“0”,就有电流自位线1经T5流向T1,对地形成放电回路,经放大为“0信号”,表明原来存入为0,W上无电流。
SRAM的基本存储单元 • 字线(Z) • 控制存储单元的通断 • 位线(W) • 数据存取的路径 Z VCC w /w T4 T3 B A T5 T6 T2 T1 VCC T1导通 T2截止,从而使单元处于“0”态
SRAM的存储矩阵 Z 1024个存储单元排列成32×32的矩阵。为了存取方便,给它们编上号。32行编号为X0、X1、…、X31,32列编号为Y0、Y1、…、Y31。这样每一个存储单元都有了一个固定的编号,称为地址。 C
SRAM存储器的组成 • SRAM存储器 = 存储体 + 读写电路 + 地址译码电路 + 控制电路等。 多个存储矩阵可以按照同一地址实现存取,形成宽度为n的字存取机制
SRAM存储器的组成 • 存储体——存储体是存储单元的集合 • 各个字的同一位组织在一个芯片中,如 4096×1位就是说4096个字的同一位 • 把16个4096×1位的芯片组织为矩阵的形式,从而组成4096×16的存储器。 访问机制:由选择线确定目标单元。 地址到选择信号的映射,即:地址译码
SRAM存储器的组成 • 译码
SRAM存储器的组成 • 地址译码器——将二进制代码表示的地址转换为存储单元的选择信号,确定目标存储单元,驱动相应的读写电路。 • 输入:CPU地址寄存器产生的存储单元地址编码 • 输出:目标存储单元选择信号 可以分为单译码和双译码两类
SRAM存储器的组成 • 地址译码器—单译码 • 仅含一个地址译码器 • 译码器的输出叫字选线 • 字选线选择某个字的所有位(一组存储单元) • n位地址线,经过一维译码后,有2n根选择线。 • 例如: • 地址输入线n=4 经地址译码器译码,可译出24=16个状态,分别对应16个字地址。
SRAM存储器的组成 • 地址译码器—单译码 • 问题:移码所需资源(译码器和选择线)增长迅速 • 如图:3-8译码到4-16译码,译码设备增加一倍 • 仅适用于小容量存储器 思考:8+8=16,8X8呢?矩阵形式是否更有效?
SRAM存储器的组成 • 地址译码器—双译码 • 包含两个地址译码器(X/Y) • n位地址线,经过二维译码后,有2×2n/2根选择线 • 可选择2n/2×2n/2=2n个存储字 • 例如: • n=12,双译码输出状态为212=4096个,而译码线仅只有2×26=128根。 多个存储矩阵可以按照同一地址实现存取,形成宽度为n的字存取机制
SRAM存储器的组成 片选与读/写控制电路—用作多个存储器芯片的使能信号,以及读或写操作的选择信号。 I/O电路—在数据总线和被选用的单元之间,用以控制被选中的单元读出或写入,并具有放大信息的作用。 驱动器—驱动挂在各条X方向选择线上的所有存储元电路。 输出驱动电路—为了扩展存储器的容量,将几个芯片的数据 线并联使用;另外存储器的读出数据或写入数据都放在双向的数据总线上。这就用到三态输出缓冲器。
地址线10根 数据线4根 片选线 CS 写使能 WE SRAM存储器芯片实例 2114 • 2114:SRAM芯片,容量为1K4位。 • 读操作 • 片选(/cs)有效,写(/we)无效,数据输出三态门打开,数据输出到外部数据总线。 • 写操作 • 片选(/cs)有效,写(/we)有效,数据输入通路打开,数据输入信号控制指定存储单元的位线。 • 非工作状态 • 片选(/cs)无效,数据输出端呈高阻抗,与数据总线隔离。 A9~A0 D3~D0
SRAM存储器芯片实例 • 内部结构 • 分为4个位平面,每个位平面有1024个物理存储单元,构成一个64行16列的矩阵。 • 6-64行译码可以选择四个平面的同一行,4-16列译码选择四个平面的同一列
SRAM存储器芯片实例 • 读周期 • 时序:使能地址—>使能片选/读—>读出—>撤销片选/读 • 读周期TRC:两次读出的最小间隔 • TCO:从片选有效到输出数据稳定所需时间
SRAM存储器芯片实例 • 写周期 • 时序:使能地址/数据—>使能片选/写—>写入—>撤销片选/写 • 写周期TWC:两次写入的最小间隔 • TW:写时间,片选与写同时有效的时间
单管MOS动态存储单元 W (1) 利用电容上存储电荷状态的不同来记录信息。定义为:电容充电至高电平,为1;电容放电至低电平,为0。 (2) 读写操作即为电容的充放电过程 (3) 不用双稳态电路,可以简化结构,完成充电后可将MOS管断开,既可降低芯片的功耗,也使芯片的集成度得到提高。 Z T CS CD 速度慢、集成度高、功耗小
单管MOS动态存储单元 W (1)写入若写入0,字线为高电平,位线为低电平,CS通过T放电;反之写入1。 (2)读出对位线预先充电(CD)至高电平,断开充电回路。字线加高电平。若CS充有电荷,则CS放电,使位线电位上升,放大信号可得出CS为“1”。若CS上原来无电荷,则CD向CS充电,位线电位下降,得出CS为”0” Z T CS CD 利用MOS电容存储电荷保存数据
单管MOS动态存储单元 W 读出对位线预先充电(CD)至高电平,断开充电回路。字线加高电平。若CS充有电荷,则CS放电,使位线电位上升,放大信号可得出CS为“1”。若CS上原来无电荷,则CD向CS充电,位线电位下降,得出CS为”0” Z T CS CD 破坏性读,需要重写(再生)
单管MOS动态存储单元 W 暂存信息: 字线Z为低电平,T截止。但是此时仍然有电流泄露问题,电容电荷仅可以保持数毫秒 Z T CS 故而称之为动态存储器,即DRAM CD 暂存信息(Z为低电平)时需要不断刷新,即:读出并重写
DRAM存储器结构 地址锁存器 I/O缓冲器 地址总线 数据总线 存储矩阵 读写控制/动态刷新电路 RAS# WE# CAS# 行列地址选择:克服大容量存储器带来的地址线激增问题
DRAM存储器芯片实例 • 2164:DRAM芯片,64K1位 • 引脚介绍 • 地址8位:兼作行地址和列地址,分时复用 • 行选:为低电平时将地址线作为行地址,送入芯片内的行地址锁存器。 • 列选:为低电平时将地址线作为列地址,送入芯片内地列地址锁存器。
DRAM存储器芯片实例 • 内部结构 • 四片128X128矩阵 • 行/列译码各驱动256根选择线 • 行/列地址需要依次输入且锁存
DRAM存储器芯片实例 • 读周期 • 时序:使能地址—>使能RAS—>使能读—>使能地址—>使能CAS —>撤销RAS/CAS/读 • TRC:读周期,两次发送行选信号之间的时间间隔 • TRAC/CAS:从发送行/列选信号到数据有效的时间间隔
DRAM存储器芯片实例 • 写周期 • 时序:使能地址—>使能RAS—>使能写—>使能地址/数据—>使能CAS —>撤销RAS/CAS/写 • 写周期与读周期相同,成为存取周期或读/写周期
DRAM存储器的刷新 • 逐行刷新:设置一个刷新地址计数器,提供刷新地址,每刷新一行后,刷新地址计数器加1,每个计数循环对芯片各行刷新一遍。 • 刷新周期:把全部存储单元都刷新一遍所允许的最大时间间隔称为最大刷新周期,按目前的工艺,这一指标约为2ms。 问题:如何安排刷新周期? 答案:集中刷新、分散刷新、异步刷新
几点要求: • 两次刷新时间间隔不能超过允许时间2ms • 刷新优先于访存,但不能打断访存周期 • 在刷新期间内,不准访存。
集中刷新 集中式刷新:在一个刷新周期内,利用一段固定的时间依次对存储器的所有行逐一再生,在此期间停止对存储器的读和写。 例如:一个存储器有1024行,系统存取周期为200ns。刷新周期为2ms。这样,在每个刷新周期内共有 10 000个工作周期,其中用于再生的为 1024个工作周期,用于读和写的为 8976个工作周期。即(2ms/200ns)-1024=8976。 优点:主存利用率高,控制简单 缺点:在集中刷新状态中不能使用存储器,形成一段死区,如果系统工作方式不允许死区,则不能用这种方式。
分散刷新 分散刷新:将每个存取周期分为两部分,前半期可用于正常读写或保持,后半期用于刷新。即:将各个刷新周期分散地安排于各读写周期之后。 优点:控制简单,主存工作没有长的死区。 缺点:主存利用率低,工作速度约降低一倍。这是因为每个存取周期中都包含一个刷新周期,所需时间约增加一倍。如果主存所用存储芯片的读/写周期tRC为100ns,若采用分散刷新方式,存取周期将增至200ns。在2ms内将刷新10000次,远超过芯片行数,浪费很多。因此分散刷新方式只能用于低速系统中。
异步刷新 异步刷新:按芯片行数决定所需的刷新周期数,并分散安排在2ms的最大刷新周期之中。 例如芯片最大行数为128,可每隔15.6µs提出一次刷新请求,响应后就安排一个刷新周期。提出刷新请求时有可能CPU访存尚未结束,则稍事等待至主存有空时,再安排刷新周期进行刷新,所以称为异步刷新方式。 优点:对主存利用率和工作速度影响最小,而且没有死区。虽然控制上复杂一些,但可利用系统已有的DMA功能去实现。因此大多数计算机系统采用异步刷新方式。 另外 :还可采取不定时刷新,在主机不访存的时间内刷新,取消了死区,但控制极其复杂。
4000-32=3968个,R/W 32个,刷新 三种方式实例比较 • 存储单元1024个,排成32×32阵,存取周期500ns,刷新按行进行,每刷新一行用一个存取周期500ns,共刷新32行即32个存取周期。 集中式 2ms/500ns=4000个周期
周期0 周期1 周期31 刷新间隔为32μs • 存储单元1024个,排成32×32阵,存取周期500ns,刷新按行进行,每刷新一行用一个存取周期500ns,共刷新32行即32个存取周期。 分散式 按上例:存取周期500ns,刷新一行500ns,系统周期:1μs
存储单元1024个,排成32×32阵,存取周期500ns,刷新按行进行,每刷新一行用一个存取周期500ns,共刷新32行即32个存取周期。存储单元1024个,排成32×32阵,存取周期500ns,刷新按行进行,每刷新一行用一个存取周期500ns,共刷新32行即32个存取周期。 异步式 在2ms的时间内,把存储单元分散的刷新一遍。32×32阵, 2ms/32=62.5μs(每行刷新的平均间隔) 62μs 0.5μs 62.5μs 刷新间隔(2ms)
注意 • 刷新对CPU是透明的,原来存在的事物或属性,从某个角度看好像不存在了。 • 刷新按行进行,不需列地址 • 刷新和读出操作即相似又不同 • 读出对电容充电,刷新也充电,但仅补充电荷,无信息输出
随机读写存储器(RAM) • 静态存储器SRAM • 利用触发器实现 • 无需动态刷新 • 速度快、集成度低、功耗大 • 动态存储器DRAM • 利用MOS电容存储电荷保存数据 • 需要动态刷新 • 速度慢、集成度高、功耗小
DRAM与SRAM比较 DRAM的优点: 1.使用简单的单管单元作为存储单元,每片存储容量较大,约是SRAM的4倍。引脚数比SRAM要少,它的封装尺寸也可以比较小。存储容量要比用SRAM大4倍以上。 2.DRAM的价格比较便宜,大约只有SRAM的1/4。 3.DRAM所需功率大约只有SRAM的1/6。 DRAM的缺点: 1.速度比SRAM要低 2.DRAM需要再生,不仅浪费了宝贵的时间,还需要有配套的再生电路,它也要用去一部分功率。 DRAM主要用于大容量内存, SRAM用作小容量的高速存储器。
各种随机存储器 • DRAM • EDO RAM(Extended Data Out RAM,扩充数据输出存储器) • BEDO RAM(Burst,突发扩充数据输出存储器) • SDRAM(Synchronous DRAM,同步)与系统时钟同步,以相同的速度工作,性能较EDO提高50% • DDR(Dual Data Rate,也称SDRAM II)以SDRAM为基础,速度和容量明显提高,允许在时钟的上升沿和下降沿读出数据,所以速度是准SDRAM的2倍。 • CDRAM(Cached)把高速的SDRAM集成到DRAM芯片中,作为DRAM内部的缓存。 • RDRAM(Rambus DRAM)