1.17k likes | 1.46k Views
第2章 存储器. 2.1 存储器概述 2.2 随机存取存储器 2.3 只读存储器 2.4 存储器的扩展. 2.1 存储器概述. 2.1.1 计算机中的存储器 计算机中的存储器由 两部分组成: 一类是位于“主机”内部的存储器,简称“ 主存 ”,由半导体器件构成。它的主要特性是“ 随机存取 ”。 现代计算机为了提高运行速度,在主存和 CPU 之间增设了容量小、速度快的高速缓冲存储器( cache )。在这样的系统中, cache 和主存构成内存。在没有 cache 的系统中,主存也称为内存。
E N D
第2章 存储器 2.1 存储器概述 2.2 随机存取存储器 2.3 只读存储器 2.4 存储器的扩展
2.1 存储器概述 2.1.1 计算机中的存储器 计算机中的存储器由两部分组成: • 一类是位于“主机”内部的存储器,简称“主存”,由半导体器件构成。它的主要特性是“随机存取”。 • 现代计算机为了提高运行速度,在主存和CPU之间增设了容量小、速度快的高速缓冲存储器(cache)。在这样的系统中,cache和主存构成内存。在没有cache的系统中,主存也称为内存。 • 另一部分是辅助存储器,也称为外部存储器,简称“辅存”或“外存”。辅存的重要特征是CPU只能以“块”为单位访问这类存储器,在电源关闭后,辅存中的信息仍然可以长期保存。
2.1.2 半导体存储器的分类与性能指标 • 半导体存储器分类 微型计算机系统普遍采用半导体存储器作为内存。 • 按制造工艺: • 双极型(速度快,耗电多) • MOS型(速度稍慢,耗电少) • 按功能划分: • 随机存取存储器RAM(Radom Access Memory) • 和只读存储器ROM(Read Only Memory) • 近年来出现了新型的“闪速存储器”(Flash Memory)等新型存储器件。
RAM(随机读写存储器): • 信息可以按地址读出,也可以按地址写入; • 具有易失性。 • RAM分为SRAM(静态)和DRAM(动态)两类: • SRAM读写速度快,但是集成度低,容量小,主要用作Cache或小系统的内存储器。 • DRAM靠MOS管极间电容存储电荷的多少决定信息是0还是1,由于漏电流的存在,需要定时进行重新写入,这一操作称为“刷新”。 • 动态RAM读写速度慢于静态RAM,但是它的集成密度高,单片容量大,现代微型计算机的“主存”均由DRAM构成。
ROM的特点: • 信息只能读出,不能写入 • 具有“非易失性” ,掉电后内容不会丢失 • 用于存放固定不变的程序或重要参数 • ROM包括: • 掩膜ROM • PROM • EPROM • EEPROM(E2PROM)等
2. 半导体存储器的技术指标 衡量半导体存储器的性能指标有很多,其中最重要的是存储器的存取速度和存储容量。
(1)半导体存储器的存储容量 • 电子计算机内,信息的最小表示单位是一个二进制“位(bit)”,它可以存储一个二进制“0”或者“1”。 • CPU访问存储器的最小单位是8位二进制数组成的“字节(Byte)”。每个“字节”有一个顺序编号,称为“地址”。 • 每一个存储芯片或芯片组能够存储的二进制位数或者所包含的字节总数就是它的“存储容量”。 • 计量单位KB(千字节)、MB(兆字节)、GB(吉字节)和TB(太字节)的相互关系: 1KB=210字节=1024字节; 1MB=210 KB=1024 KB; 1GB=210 MB=1024 MB; 1TB=210 GB=1024 GB。
半导体存储器芯片容量取决于存储单元的个数和每个单元包含的位数。存储容量可以用下面的式子表示:半导体存储器芯片容量取决于存储单元的个数和每个单元包含的位数。存储容量可以用下面的式子表示: 存储器容量(S)=存储单元数(p)×数据位数(i) • 存储单元个数(p)与存储器芯片的地址线条数(k)有密切关系:p=2k,或k=log2(p)。数据位数i一般等于芯片数据线的根数。存储芯片的容量(S)与地址线条数(k)、数据线的位数(i)之间的关系因此可表示为:S=2k×i • 例如,一个存储芯片容量为2048×8,说明它有8条数据线,2048个单元,地址线的条数为k=log2(2048)=log2(211)=11。再如一个存储芯片有20条地址线和4条数据线,那么,它的单元数为220=1M,容量为1M×4(4兆位)。
(2)存取时间 • 存取时间是指CPU访问一次存储器(写入或读出)所需的时间。 • 存储周期则是指连续两次访问存储器之间所需的最小时间,存储周期等于存取时间加上存储器的恢复时间。现在存储器的存取时间通常以纳秒(ns)为单位。秒(s)、毫秒(ms)、微秒(µs)和纳秒(ns)之间的换算关系为: 1 s=103 ms=1000 ms;l ms=103 µs=1000 µs; 1µs=103 ns=1000 ns; • 存储周期为0.1ms表示每秒钟可以存取l万次,10ns意味着每秒钟存取1亿次。存取时间越小,速度越快。
(3)可靠性 • 内存发生的任何错误都会使计算机不能正常工作。存储器的可靠性取决于构成存储器的芯片、配件质量及组装技术。 (4)功耗 • 使用低功耗存储器芯片构成存储系统不仅可以减少对电源容量的要求,而且还可以减少发热量,提高存储系统的稳定性。
2.2 随机存取存储器(RAM) • 随机存取存储器(RAM)用来存放当前运行的程序、各种输入输出数据、运算中间结果等, • 存储的内容既可随时读出,也可随时写入 • 掉电后内容会全部丢失。
2.2.1 静态随机存取存储器(SRAM) • SRAM工作原理 • 静态RAM的6管基本存储电路: • 上半部分是基本存储单元,用来存储1位二进制信息0或1。 • 下半部分是读写逻辑,门电路控制数据信号输入/输出。 • 需要访问该存储电路时,使行线X和列线Y同时有效(高电平),这时T5和T6以及T7和T8这4只管子同时导通。
单元存储电路工作原理: 1。T3, T4两个MOS管持续导通,用作“负载电阻”; 2。T1, T2两个MOS管“背靠背”连接,它们的状态相反; 3。由T1,T2,T3,T4组成的存储电路有两种稳定状态:Q1=1, Q2=0: 记为状态0Q1=0, Q2=1: 记为状态1 4。没有外来信号影响时,存储电路的状态保持不变; 5。(T5, T7), (T6, T8)控制单元存储电路与外部的连通, 它们受行线X和列线Y控制。
(1)写数据 • 在写控制信号有效的情况下,A和B两个三态门打开;读信号无效,C门关闭。 • 写l时,数据线上为“1”:“1”→B →T8 →T6 →Q2“1”→A(=0) →T7 →T5 →Q1 • 基本存储单元Q2处稳定为1,而Q1稳定为0。 • 同理当写0后,Q2为0,Q1为1,也是稳定的。
(2)读数据 • 读数据时,读控制信号有效,写控制信号无效。此时,A和B关闭,C门打开。 • Q2→T6 →T8 →C →数据线:如果原存的信息为l,则读出1,否则读出0。 • 静态存储器用双稳态触发器存储信息,一旦电压消失,原存储的状态同时消失,再次上电时,原来的信息不能恢复。SRAM最大的弱点就是信息的易失性。 • 工作时间T1, T2总有一路饱和导通,因此SRAM耗电多。
一个SRAM芯片由上述许多基本存储单元组成。除了地址、数据线引脚外,SRAM芯片还应有2~3根控制信号引脚。一个SRAM芯片由上述许多基本存储单元组成。除了地址、数据线引脚外,SRAM芯片还应有2~3根控制信号引脚。 • 读写控制线一般标注为R/W#或WR#。 • 另一根控制信号称为“片选信号”,标注为CE#或CS#。 “片选信号”信号由地址译码电路产生。
SRAM的典型芯片 • 典型的SRAM芯片有:1K×4位的2114、 2K×8位的6116、8K×8位的6264、 16K×8位的62128、32K×8位的62256、 64K×8位的62512128K×8位(1M位)的HM628128512K×8位(4M位)的HM628512等。 • 图2-3所示的是SRAM芯片6264的引脚。各控制信号的配合如表2-1。 • 6264的CS2控制引脚,平时接高电平,可以用来进行掉电保护。当CS2电压降至0.2V,只需要向该引脚提供2uA的电流,在VCC=2V时,该芯片进入掉电保护状态。
SRAM的读写时序 • SRAM芯片进行读操作需要提供以下外部信号:地址信号;片选信号;读命令(R/W#=1)。 • 存储器读时序。读取时间 tACS读周期时间 tRC读恢复时间 tRS存储器读周期 tRC=tAA+tRS
SRAM芯片进行写操作需要提供以下外部信号:地址信号;片选信号;写命令(R/W#=0)。SRAM芯片进行写操作需要提供以下外部信号:地址信号;片选信号;写命令(R/W#=0)。 • 存储器写时序:地址建立时间 tAW写入脉冲宽度tWP恢复时间tRS写周期时间tWC=tAW+tWP+tRS
SRAM芯片与系统的连接 • 一个存储芯片内各个存储单元的高位地址是相同的,它决定了这个芯片在整个内存中占据的地址范围。所以,芯片的选片信号应该由高位地址译码产生。 • 芯片内部存储单元的选择由低位地址决定,通过芯片的地址引脚输入。它们可以理解为“片内相对地址”。 • 存储器的地址译码有两种方式:全地址译码和部份地址译码。
(1)全地址译码 • 所谓全地址译码,就是连接存储器时要使用全部20位地址信号,所有的高位地址都要参加译码。 • 图2-6是一片SRAM 6264与系统总线的连接。该6264芯片的地址范围为1E000H~1FFFFH (低13位可以是全0到全1之间的任何一个值)。改变译码电路的连接方式可以改变这个芯片的地址范围。 • 译码电路构成方法很多,可以利用基本逻辑门电路构成,也可以利用集成的译码器芯片或可编程芯片组成。
(2)部份地址译码 部份地址译码就是只有部份高位地址参与存储器的地址译码。 图2-7就是一个部份地址译码的例子。该6264芯片被同时映射到了以下几组内存空间中: F4000H~F5FFFH; F6000H~F7FFFH; FC000H~FDFFFH;FE000H~FFFFFH; 该芯片占据了4个8KB的内存空间。对这个6264芯片进行存取时,可以使用以上4个地址范围的任一个。
6264芯片本身只有8KB的存储容量,为什么会出现这种情况呢?其原因就在于高位地址信号没有全部参加地址译码。A15和A13分别为00、01、10、11这4种组合时, 6264这个8KB存储芯片分别被映射到上面列出的四个8KB的地址空间。 • 可见,采用部份地址译码会重复占用地址空间。 • 部份地址译码使芯片重复占用地址空间,破坏了地址空间的连续性,减小了总的可用存储地址空间。优点是译码器的构成比较简单,主要用于小型系统中。
2.2.2 动态随机存取存储器(DRAM) • DRAM工作原理 • 动态随机存储器(DRAM)的基本单元电路可以采用4管电路或单管电路。由于单管电路元件数量少,芯片集成度高,所以被普遍使用。 • DRAM芯片集成度高、价格低,微型计算机内存储器几乎毫无例外地都是由DRAM组成。
单管动态存储单元电路如图2-8,它由一个MOS管T1和一个电容C构成。单管动态存储单元电路如图2-8,它由一个MOS管T1和一个电容C构成。 • 写入“1”对电容充电,写入“0”则对电容放电。 • 读出时,根据位线上有无电流可知存储的信息是“1”还是“0”。 • 字选择线的信号由“片内地址”译码得到。
DRAM芯片介绍 • DRAM芯片把片内地址划分为“行地址”和“列地址”两组,分时从它的地址引脚输入。所以,DRAM芯片地址引脚只有它内部地址线的一半。 • 常用DRAM芯片有:256K×1位的41256、64K×1位4164、1M×l位的21010、 256K×4位的21014、4M×1位的21040 大容量的 16M×16位、64M×4位 32M×8位等
动态存储器芯片2164A(64K×1) • 2164A是容量为64K×1位的动态随机存储器芯片,其外部引脚如图2-9。 • 根据2164A的容量,它有8条分时使用的地址线A7~A0(log2(64K)/2)。 • 它的数据线有二根:用于输入的Din和用于输出的Dout。
2164A内部结构可参考图2-10,RAS#为行地址选通信号,它有效时,从地址引脚输入“行地址”信号,这些地址被锁存到芯片内的“行地址锁存器” 2164A内部结构可参考图2-10,RAS#为行地址选通信号,它有效时,从地址引脚输入“行地址”信号,这些地址被锁存到芯片内的“行地址锁存器” • CAS#为列地址选通信号,它有效时,从地址引脚输入“列地址”信号,这些地址被锁存到芯片内的“列地址锁存器”。 • 写信号有效时(低电平)进行写入操作,Din上的信号经过输入缓冲器写入被选中的单元; • 写控制信号无效(高电平)表示读操作,被选中单元的数据经过输出缓冲器出现在Dout线上。
3. DRAM芯片的读写过程 (1)数据读出 • 数据的读出时序如图2-11。 (2)数据写入 • 数据写入与读出的过程基本类似(图2-12),区别是送完列地址后,将WE#置为低电平,把要写入的数据从Din端输入。
(3)刷新 • DRAM芯片靠电容储存信息,由于存在漏电流,时间长了,所存放的信息会丢失。因此,DRAM必须对它所存储的信息定时进行刷新。 • DRAM芯片的刷新时序如图2-13。刷新时,给芯片加上行地址并使行选信号有效,列选信号无效,芯片内部刷新电路将选中行所有单元的信息进行刷新(对原来为“1”的电容补充电荷,原来为“0”的则保持不变)。由于CAS#无效,刷新时位线上的信息不会送到数据总线上。 • DRAM要求每隔2~8ms刷新一遍,这个时间称为刷新周期。
4 . DRAM芯片的应用 • DRAM芯片在使用中既有读写操作,还要频繁地进行刷新,因此,DRAM的连接和控制要比SRAM复杂。 • 图2-14所示的是PC/XT微型机内DRAM连接的简化电路图,图中虚线画的长方体表示由8片(加奇偶校验位则为9片)2164 DRAM组成的64KB存储器。74LS158是二选一的地址多路开关,74LS245为双向驱动器。 • PC/XT微型机中DRAM的刷新是利用DMA控制器8237A来实现的。可编程定时器8253每隔15.12µs产生一个定时信号,用作DMA控制器8237通道0的请求信号。 • 随后,8237在其DACK端产生一个低电平,使行地址信号RAS#为低电平,列地址锁存信号CAS#为高电平,并且送出刷新用的行地址,实现一次刷新。
2.2.3 新型DRAM存储器 随着集成电路技术的飞速发展,CPU的速度不断提高,这就要求用作“主存”的DRAM具有更快的访问速度。 新型DRAM存储器在需求的推动下不断推出: • EDO DRAM • SDRAM • DDR SDRAM • 双通道DDR RAM • DDR2 DRAM
1 . EDO DRAM • EDO(Extended Data Out扩展数据输出)是对传统DRAM存取技术的改进,主要表现在两个方面。 • 对传统DRAM的访问,需要经过“发送行地址—发送列地址—读写数据”三个阶段,一次访问时间是每个阶段所需时间之和。 • EDO DRAM普遍使用一种“快速页面模式(FPM)”,对地址连续的多个单元进行读写访问。这样,后续的访问只需要经历“发送列地址—读写数据”二个阶段,从而有效地缩短了访问时间。
EDO DRAM采用的另一项技术是在输入下一个列地址时,仍然允许数据输出进行,这可以理解为扩展了数据输出的时间,“EDO”因此得名。 • 采用上述技术,理论上可将RAM的访问速度提高30%。 • EDO RAM使用于80486时代具有32位读写能力的微机中。最高速度为30MHz~60MHz。工作电压为一般为5V,其接口方式多为72线的SIMM类型。
2 . SDRAM • 传统DRAM采用“异步”的方式进行存取。这降低了系统的性能。 • SDRAM采用同步的方式进行存取。送往SDRAM的地址信号、数据信号、控制信号都是在一个时钟信号的上升沿被采样和锁存的,SDRAM输出的数据也在时钟的上升沿锁存到芯片内部的输出寄存器。 • 输入地址、控制信号到数据输出所需的时钟个数可以通过对芯片内“方式寄存器”的编程来确定。 • 在SDRAM输入了地址、控制信号,进行内部操作期间,处理器和总线主控器可以安全地处理其他任务(例如,启动其他存储体的读操作),而无需简单等待,从而提高了系统的性能。
SDRAM芯片还采用一种“突发总线模式”进行读写操作,进一步提高了读写速度。SDRAM芯片还采用一种“突发总线模式”进行读写操作,进一步提高了读写速度。 • SDRAM芯片基于双存储体结构,内含两个交错的存储阵列,通过两个存储阵列的紧密切换,读数据效率得到成倍提高。 • 它的工作电压为一般为3.5V,其接口多为168线的DIMM类型。 • SDRAM的时钟频率早期为66MHz,目前常见133MHz、150MHz。由于它以64位的宽度(8Byte)进行读写,单位时间内理论上的数据流量峰值(带宽)已经达到1.2GB/S( 8Byte×150MHz)。