微机原理与接口技术第06章X_第1页
微机原理与接口技术第06章X_第2页
微机原理与接口技术第06章X_第3页
微机原理与接口技术第06章X_第4页
微机原理与接口技术第06章X_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 6章主存储器及其接口电路第4章:微处理器外部特性教学重点存储器的分类RAM存储器及其接口了解只读存储器ROM半导体存储器概述存储器是计算机中信息存放的载体,是计算机中的重要组成部分。我们总是希望存储器容量越大越好,速度越快越好。然而大容量、高速度必然带来高成本。因此,必须找到一个适当的平衡点;现代的计算机系统中都是采用多级存储体系结构来做为容量、速度和成本间的折衷。如下图所示。本章介绍采用半导体存储器及其组成主存的方法CPUCACHE主存(内存)辅存(外存)6.1 半导体存储器的分类半导体存储器只读存储器 (ROM)随机存取存储器(RAM)双极性MOS掩膜式ROM一次性可编程ROM(PRO

2、M) 紫外线擦除可编程ROM(EPROM)电擦除可编程ROM(EEPROM)FLASH ROM静态RAM(SRAM)动态RAM(DRAM)6.1 半导体存储器的分类1. RAM按制造工艺可分为双极型:速度快、集成度低、功耗大,一般用在高档微机中或用做CacheMOS型:速度慢、集成度高、功耗低。微机的主存储器一般为它。根据是否有刷新电路又可分为:静态RAM:以六管构成的触发器作为基本存储电路,存储的信息相对稳定,无需刷新电路;速度比DRAM快但集成度不如DRAM,功耗也较DRM为大。动态RAM:以单管线路构成其基本的存储电路,因此集成度高,成本也相对便宜。但其中的信息易消失,故需要专门的硬件刷

3、新电路。读写存储器RAM小结组成单元速度集成度刷新应用双极性RAM晶体管触发器最快低不要CACHESRAM六管触发器快低不要小容量系统DRAM极间电容慢高要大容量系统2. 只读存储器ROM掩膜ROM:信息制作在芯片中,不可更改PROM:允许一次编程,此后不可更改EPROM:用紫外光擦除,擦除后可编程;并允许用户多次擦除和编程EEPROM(E2PROM):采用加电方法在线进行擦除和编程,也可多次擦写Flash Memory(闪存):能够快速擦写的EEPROM,但只能按块的方式(Block)擦除6. 2 RAM的结构一个基本的存储电路中只能存放二进制中的一个位。如果要形成大容量的记忆体,就必须将大

4、量的存储电路有规则地组织起来,这样就构成了存储体。在存储体中,为了区别不同的存储单元,通过给每个单元一个惟一的编号地址来选择不同的存储单元。图示6. 2 RAM的结构示意图地址寄存地址译码存储体控制电路AB数据寄存读写电路DBOEWECS片选端CS*:有效时,可以对该芯片进行读写操作写WE*(Write Enable):控制写操作。有效时,数据进入芯片中相当于系统的WR*。输出OE*(Output Enable)控制读操作。有效时,芯片内数据输出。相当于RD*。典型的RAM连接示意图每个存储单元具有一个唯一的地址,可存储1个或多个二进制数据位 1 32 1 2 31 32 读/写 选片 输入

5、A5 A6 A7 A8 A9 1 2 32 1 2 31 32 32321024 存储单元译码器 地址反相器 A0A1A2A3A4 驱动器 I/O电路 Y译码器 地址反相器 控制 电路 输出驱动在大容量的存储体中,通常将存储单元组织成矩阵的形式。这样做可以节省译码和驱动电路 存储体每个存储单元具有一个唯一的地址,可存储1位(位片结构)或多位(字片结构)二进制数据存储容量与地址、数据线个数有关:芯片的存储容量2MN存储单元数存储单元的位数 M:芯片的地址线根数 N:芯片的数据线根数 地址译码方式译码器A5A4A3A2A1A06301存储单元64个单元行译码A2A1A0710列译码A3A4A501

6、764个单元单译码双译码对存储体的译码有两种方式:单译码结构:字线选择所有位;双译码结构:通过行列地址线来选择存储单元双译码可以减少选择线的数目,从而简化芯片设计主要采用的译码结构地址译码方式(续)在上图中,存储单元可以是一位,也可以是多位。如果是多位,则可以将多位并起来。单译码:16个4位的存储单元双译码:1024个存储单元 一个实际的例子-Intel 2114Intel 2114是一个1K4位的SRAM。其外部引脚图如图6-8所示。存储容量为10244位18个引脚:10根地址线A9A04根数据线I/O4I/O1:相当于D0D3片选CS*读写WE*:当其为低电平时,写入数据;为高电平时,读出

7、数据;123456789181716151413121110VccA7A8A9I/O1I/O2I/O3I/O4WE*A6A5A4A3A0A1A2CS*GNDSRAM2114与CPU的连接存储容量为10244,即其有1024个单元,每个单元4位;因此,选中这1024个单元需要10根地址线A0A9。6.2.3 RAM与CPU的连接在将RAM与CPU连接时,主要连接以下三个部分的信号线:数据线 地址线 读写控制线6.2.3 RAM与CPU的连接(续1)存储芯片与CPU总线的连接,还要考虑以下方面的问题:CPU的总线负载能力CPU的总线驱动能力有限,因此应考虑CPU能否带动总线上包括存储器在内的连接器

8、件。必要时就要加上缓冲器。存储芯片与CPU总线时序的配合CPU能否与存储器的存取速度相配合。如果不能满足,可以考虑更换芯片,或在总线周期中插入等待状态TW存储器的地址分配和选片1. 存储芯片容量的扩充当进行存储器组织时,所给芯片的容量往往与需要不同,如数据的位数不够,或总的容量不足,此时就必须进行容量扩充。若芯片的数据线不足8根:一次不能从一个芯片中访问到8位数据,此时应利用多个芯片扩充数据位;这个扩充方式简称“位扩充”而如果总的容量不足则需利用多个存储芯片扩充容量,用存储芯片的片选端对多个存储芯片(组)进行寻址;这种扩充简称为“地址扩充”或“字扩充”演示演示2. 1KB RAM的连接RAM芯

9、片有1位、4位、8位等不同的结构。在构成1KB RAM时,可以选择不同的芯片,因此有就有不同的连接。采用1K1位的RAM位扩展2. 1KB RAM的连接采用2564位的RAM既有字扩展,也有位扩展两种连接方式的比较:这两种连接方式虽然都可以构成1KB RAM,但两者有以下区别:从连接的负载来看:前一种连接每条地址线有8个负载(8片RAM),而每根数据线只连接一个负载;后一种连接A0A7每根地址线也是连接8个负载,而每根数据线连接4个负载;因此,从负载的角度来说,前一种比后一种好。从芯片的封装来看:一般而言,芯片封装的引脚越多,则合格率越低;前一种每个芯片的地址数据线有11根,而后一个有12根;

10、因此,从芯片的封装角度来说,也是前一种比后一种好;所以,现代的RAM基本上都是按位封装的。2. 1KB RAM的连接思考:如果采用Intel 2114,则如何构成1KB RAM?如果所用的芯片的容量为1288位,则又如何构成1KB RAM?图示图示3. 2KB RAM的连接采用Intel 2114,构成2KB RAM的连接结构图如下所示:63103. 存储芯片地址线的连接芯片的地址线通常应全部与系统的低位地址总线相连寻址时,这部分地址的译码是在存储芯片内完成的,我们称为“片内译码”,如2114的1K片内地址000H001H002H3FDH3FEH3FFH全0全10000000100101101

11、11101111范围(16进制)A9A03. 存储芯片片选端的译码而如果存储系统利用多个存储芯片扩充容量,也就是进行“字扩充”时,它扩充了存储器地址范围,此时需要利用存储芯片的片选端对多个存储芯片(组)进行寻址;这个寻址方法,主要通过将存储芯片的片选端与系统的高位地址线相关联来实现,如下图所示:片选端D7D0A19A10A9A010248A9A0D7D0CE10248A9A0D7D0CE译码器000000000100000000003. 存储芯片片选端的译码系统的高位地址线与存储芯片的片选端相连时,有以下几种译码方式:全译码部分译码线性译码(1) 全译码所有的系统地址线均参与对存储单元的译码寻

12、址包括低位地址线对芯片内各存储单元的译码寻址(片内译码),高位地址线对存储芯片的译码寻址(片选译码)采用全译码,每个存储单元的地址都是唯一的,不存在地址重复译码电路可能比较复杂、连线也较多全译码示例A15 A14A13A16CBAE3LS138 2764A19A18A17A12A0CEY6E2E1IO/M1C000H1DFFFH全0全10 0 0 1 1 1 00 0 0 1 1 1 0地址范围A12A0A19A18A17A16A15A14 A13(2) 部分译码只有部分(高位)地址线参与对存储芯片的译码每个存储单元将对应多个地址(地址重复),需要选取一个可用地址可简化译码电路的设计但系统的部

13、分地址空间将被浪费部分译码示例138A17 A16A11A0A14 A13A12(4)(3)(2)(1)2732273227322732CBAE3E2E1IO/MCECECECEY0Y1Y2Y3A19 A15A14 A12A11A0可用地址123410101010000001010011全0全1全0全1全0全1全0全120000H20FFFH21000H21FFFH22000H22FFFH23000H23FFFH(3) 线选译码只用少数几根高位地址线进行芯片的译码,且每根负责选中一个芯片(组)虽构成简单,但地址空间严重浪费必然会出现地址重复一个存储地址会对应多个存储单元多个存储单元共用的存储地

14、址不应使用线选译码示例A14A12A0A13(1)2764(2)2764 CECEA19A15A14 A13A12A0一个可用地址121 00 1全0全1全0全104000H05FFFH02000H03FFFH切记: A14 A1300的情况不能出现00000H01FFFH的地址不可使用地址重复一个存储单元具有多个存储地址的现象原因:有些高位地址线没有用、可任意使用地址:出现地址重复时,常选取其中既好用、又不冲突的一个“可用地址”选取的原则:高位地址全为0的地址(先考虑片内,再考虑“选片”)片选端译码小结存储芯片的片选控制端可以被看作是一根最高位地址线在系统中,主要与地址发生联系:包括地址空间

15、的选择(接系统的IO/M*信号)和高位地址的译码选择(与系统的高位地址线相关联)对一些存储芯片通过片选无效可关闭内部的输出驱动机制,起到降低功耗的作用4. 存储器的读周期存取时间是存储器的一个重要指标。存储器读周期的典型波型如下图所示(Intel 2114):数据地址TCXTODTTOHATRCTATCODOUTWECSTRC:读取周期两次读取存储器所允许的最小时间间隔有效地址维持的时间TA:读取时间给出地址到数据稳定出现在外部总线上的时间其它:TCO:片选到输出稳定TCX:片选到输出有效TOTD:从断开片选到输出变为三态TOHA:地址改变后的维持时间4. 存储器的读周期(续1)存储器的读取周

16、期必备的两个条件:地址有效经TA时间;片选有效经过TCO时间;只有在这两个条件都满足时,数据的输出才稳定;反之,如果TRC过短,而TCO太长,则数据无法稳定地出现在DB上,造成数据无法正确读取;数据地址TCXTODTTOHATRCTATCODOUTWECS4. 存储器的读周期(续2)以2114-2为例,其TA=200 ns,CPU存储器读时序如图6-17所示。为了输出地址的准备时间为 TCLAV=110 ns。 发出地址到数据稳定出现的时间为: TCLAV+TA=310 ns;而在8088CPU中,CPU读数据是在T4时刻,而为了保证读入的数据的稳定,会提前TDVCL(约30ns)读。 CPU

17、开始读数的时间为: 3T-30=3200-30=570 ns开始读的时间数据已稳定出现的时间,即可以很好地配合。SRAM 2114的写周期TWCTWRTAW数据地址TDTWTWDOUT DINTDWTDHWECSTWC写入周期两次写入存储器所允许的最小时间间隔有效地址维持的时间TW写入时间从写入命令发出到数据进入存储单元的时间写信号有效时间TAW:地址有效后到WE*有效的延迟时间。以避免当WE*有效时地址还在改变造成误写入。TWR:数据写入后,应撤消WE*、CS*,再撤消地址信号,以避免误写入。6.2.4 动态RAM 存储器2164A存储容量为64K116个引脚:8根地址线A7A0(为了减少封

18、装的引脚,采用行、列地址变换的方式)1根数据输入线DIN1根数据输出线DOUT行地址选通RAS*列地址选通CAS*读写控制WE*电源线VDD地线VSSN/CDINWE*RAS*A0A2A1VDDVSSCAS*DOUTA6A3A4A5A712345678161514131211109注:2164A没有专门的片选信号。当RAS*信号有效时,即认为是片选信号。DRAM 2164A的内部结构2164内部共有4个128128的存储矩阵构成。每个128128的存储矩阵有7条行地址和7条列地址线进行选择。当给定一个16位地址时,行地址的低7位(RA6RA0)从每个矩阵中选择一行,列地址的低7位(CA6CA0

19、)从每个矩阵中选择一列,每个矩阵中被选择的行和被选择的列交汇处的单元被选中,最后由4选1 I0门从4个矩阵的被选单元中选定一个(由RA7和CA7控制),进行读或写。DRAM 2164的读周期DOUT地址TCACTRACTCAHTASCTASRTRAHTCASTRCDTRASTRC行地址列地址WECASRAS存储地址需要分两批传送行地址选通信号RAS*有效,开始传送行地址随后,列地址选通信号CAS*有效,传送列地址,CAS*相当于片选信号读写信号WE*读有效数据从DOUT引脚输出TRC:RAS有效到数据读取时间TRAS:RAS保持时间TRCD:RAS与CAS信号间隔时间TASR:行地址领先于RA

20、S的时间TRAH:行地址在RAS后的保持时间TCAH:列地址在CAS后的保持时间DRAM 2164的写周期TWCSTDS列地址行地址地址 TDHTWRTCAHTASCTASRTRAHTCASTRCDTRCTRASDINWECASRAS存储地址需要分两批传送行地址选通信号RAS*有效,开始传送行地址随后,列地址选通信号CAS*有效,传送列地址读写信号WE*写有效数据从DIN引脚进入存储单元DRAM 2164的读修改写周期TWCSTDS列地址地址 TWRTCAHTASCTASRTRAHTCASTRCDTRCTRASTDHDINWECASRASTRACDRAM 2164的刷新TRCTCRPTRAS高

21、阻TASRTRAH行地址地址DINCASRAS采用“仅行地址有效”方法刷新行地址选通RAS*有效,传送行地址列地址选通CAS*无效,没有列地址芯片内部实现一行存储单元的刷新没有数据输入输出存储系统中所有芯片同时进行刷新DRAM必须每隔固定时间就刷新6.3 几种新型的RAMEDO RAM:扩展数据输出与一般的DRAM的区别:其数据输出时间相对延长了。这样,在给出下一个列地址以及对其译码的同时,外部读取设备仍可通过锁存器采样数据;同步DRAM(Synchronous DRAM,简称SDRAM): 与系统时钟同步,可取消等待周期,减少数据存储时间在每一个时钟的上升沿读写,在同一时钟周期内可完成数据的

22、访问和刷新采用突发模式,一次读写可传输一整块数据 6.3 几种新型的RAM Rambus DRAM:突发存取的高速动态存储器Intel曾经主推的一种内存类型,但似乎已经失败在设计上有革命性飞跃:基于更小内存带宽可得到更高速度的理由,采用高速16位总线,其速度可高达400MHz可在时钟的上升、下降沿同时读写,故理论上400MHz的总线速度相当于800MHz工作速率,其带宽为:2400MHz2=1600MBps或1.6 GBps)6.3 几种新型的RAMDDRSDRAM:双数据率 在每个时钟的上升、下降沿时均可读写,故速度是普通SDRAM的双倍数据带宽:每秒传输的最大数据量。如DDR 400,其系

23、统总线频率为200MHz,则带宽为:8字节200MHz2=3200MBps6.4 只读存储器-(1) 掩膜式只读存储器MROM的内容是由生产厂家按用户要求在芯片的生产过程中写入的,写入后不能修改。 单元D3D2D1D001001110102010131111掩膜ROM的内容复合译码结构电路(2) EPROM(可擦除可编程ROM)顶部开有一个圆形的石英窗口,用于紫外线透过擦除原有信息一般使用专门的编程器(烧写器)进行编程,编程后,应该贴上不透光封条出厂未编程前,每个基本存储单元都是信息1,编程就是将某些单元写入信息0EPROM基本存储电路 EPROM芯片2716存储容量为2K824个引脚:11根地址线A10A08根数据线DO7DO0片选/编程CE*/PGM读写OE*编程电压VPP功能VDDA8A9VPPOE*A10CE*/PGMDO7DO6DO5DO4DO3123456789101112242322212019181716151413A7A6A5A4A3A2A1A0DO0DO1DO2Vss(3) EEPROM(电可擦除可编程ROM)用加电方法,进行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论