4.1半导体存储器概述CPUCACHE主存(内存)辅存(外存)存储器是用来存储微型计算机工作时使用的信息(程序和数据)的部件,正是因为有了存储器,计算机才有信息记忆功能。越靠近CPU的存储器速度越快而容量越小。两大类——内存、外存内存——存放当前运行的程序和数据。特点:快,容量小,随机存取,CPU可直接访问。通常由半导体存储器构成RAM、ROM外存——存放非当前使用的程序和数据。特点:慢,容量大,顺序存取/块存取。需调入内存后CPU才能访问。通常由磁、光存储器构成,也可以由半导体存储器构成磁盘、磁带、CD-ROM、DVD-ROM、固态盘。寄存器组高速缓存Cache系统主存储器硬盘Cache磁盘存储器磁带存储设备光盘存储设备存储器分级组成在CPU内部的通用寄存器集成度小的静态RAM简称内存,用于存放运行的程序和数据红区为半导体存储器绿区其它介质存储器半导体存储器由能够表示二进制数“0”和“1”的、具有记忆功能的一些半导体器件组成。如触发器、MOS管的栅极电容等。能存放一位二进制数的器件称为一个存储元。若干存储元构成一个存储单元。4.1.1半导体存储器的分类按制造工艺双极型:速度快、集成度低、功耗大MOS型:速度慢、集成度高、功耗低按使用属性随机存取存储器RAM:可读可写、断电丢失只读存储器ROM:正常只读、断电不丢失详细分类,请看图示半导体存储器的分类半导体存储器只读存储器(ROM)随机存取存储器(RAM)静态RAM(SRAM)动态RAM(DRAM)非易失RAM(NVRAM)掩膜式ROM一次性可编程ROM(PROM)紫外线擦除可编程ROM(EPROM)电擦除可编程ROM(EEPROM)详细展开,注意对比读写存储器RAM组成单元速度集成度应用SRAM触发器快低小容量系统DRAM极间电容慢高大容量系统NVRAM带微型电池慢低小容量非易失只读存储器ROM掩膜ROM:信息制作在芯片中,不可更改;PROM:允许一次编程,此后不可更改;EPROM:用紫外光擦除,擦除后可编程;并允许用户多次擦除和编程;EEPROM(E2PROM):采用加电方法在线进行擦除和编程,也可多次擦写;FlashMemory(闪存):能够快速擦写的EEPROM,但只能按块(Block)擦除。半导体存储器的主要指标容量:每个存储器芯片所能存储的二进制数的位数。存储器容量=单元数×数据线位数(1、4或8位)例:Intel2114芯片的容量为1K×4位,Intel6264芯片为8K×8位。存取速度:从CPU给出有效的存储器地址到存储器给出有效数据需要的时间。4.1.2半导体存储器芯片的结构地址寄存地址译码存储体控制电路AB数据寄存读写电路DBOEWECS①存储体存储器芯片的主要部分,用来存储信息②地址译码电路根据输入的地址编码来选中芯片内某个特定的存储单元③片选和读写控制逻辑选中存储芯片,控制读写操作4.1.2半导体存储器芯片的结构①存储体每个存储单元具有一个唯一的地址,可存储1位(位片结构)或多位(字片结构)二进制数据;存储容量与地址、数据线个数有关:芯片的存储容量=2M×N=存储单元数×存储单元的位数M:芯片的地址线根数;N:芯片的数据线根数。②地址译码电路译码器A5A4A3A2A1A06301存储单元64个单元行译码A2A1A0710列译码A3A4A501764个单元单译码双译码单译码结构双译码结构双译码可简化芯片设计主要采用的译码结构双译码存储器结构③片选和读写控制逻辑片选端CS*或CE*有效时,可以对该芯片进行读写操作;输出OE*控制读操作。有效时,芯片内数据输出;该控制端对应系统的读控制线;写WE*控制写操作。有效时,数据进入芯片中;该控制端对应系统的写控制线。4.2随机存取存储器静态RAMSRAM6116SRAM6264动态RAMDRAM21644.2.1静态RAMSRAM的基本存储单元是触发器电路每个基本存储单元存储二进制数一位许多个基本存储单元形成行列存储矩阵SRAM一般采用“字结构”存储矩阵:每个存储单元存放多位(4、8、16等);每个存储单元具有一个地址。六管静态RAM存储单元•6个MOS管组成;•T1~T4管组成双稳态解发器;•T1、T2放大管;•T3、T4负载管;•T5、T6控制管;•存取速度快、集成度小、功耗大;•6116(2K×8位)6264(8K×8位)静态RAM的基本电路SRAM芯片6116读出逻辑:CS*=0,OE*=0,WE*=1写入逻辑:CS*=0,OE*=1,WE*=0高阻:CS*=1SRAM芯片6116•有2K×8位=16384个存储位,2K表示芯片内的地址有11位(A0~A10),8位表示一个单元有8个二进制位;•芯片内有128×128的存储单元矩阵。它有11条地址线,7条用于行地址译码,4条用于列地址译码,每条列地址译码线控制8个基本存储单元(128×16×8);•6116芯片的工作方式:SRAM芯片6264存储容量为8K×828个引脚:13根地址线A12~A08根数据线D7~D0片选CS1*、CS2读写WE*、OE*功能+5VWE*CS2A8A9A11OE*A10CS1*D7D6D5D4D3NCA12A7A6A5A4A3A2A1A0D0D1D2GND123456789101112131428272625242322212019181716154.2.2动态RAMDRAM的基本存储单元是单个场效应管及其极间电容;必须配备“读出再生放大电路”进行刷新;每次同时对一行的存储单元进行刷新;每个基本存储单元存储二进制数一位;许多个基本存储单元形成行列存储矩阵;DRAM一般采用“位结构”存储体:每个存储单元存放一位;需要8个存储芯片构成一个字节单元;每个字节存储单元具有一个地址。动态RAM的基本单元•动态RAM是以MOS管栅极电容是否充有电荷来存储信息;•由于只用一个管子,所以功耗很低,存储容量可做得很大。它是由T1管和寄生电容Cs组成的。①读操作时,地址译码电路使某条字选择线为高电平,T1管导通,则存储在Cs上的信息通过T1管送到D线上,再通过放大,即可得到存储的信息。动态RAM的基本单元②写操作时,使字选线上为高电平,T1管导通,待写入的信息由位线D(数据线)存入Cs。Cs上的信息被读出后,其寄存的电压由0.2V下降为0.1V,所以这是一种破坏性读出,读出后必须重写。③刷新操作。由于电容上的信息随时间增加慢慢消失所以这种存储单元必须定期刷新,以保持他所存的信息。刷新操作实际上也是一次读操作。不过这时信息并不读到数据线上。目前计算机的内存大多采用这种单管的动态存储器。DRAM芯片2164存储容量为64K×116个引脚:8根地址线A7~A01根数据输入线DIN1根数据输出线DOUT行地址选通RAS*列地址选通CAS*读写控制WE*NCDINWE*RAS*A0A2A1GNDVSSCAS*DOUTA6A3A4A5A712345678161514131211109DRAM芯片2164内部结构4.3只读存储器EPROMEPROM2764EEPROMEEPROM2817AEEPROM2864A4.3.1EPROM顶部开有一个圆形的石英窗口,用于紫外线透过擦除原有信息一般使用专门的编程器(烧写器)进行编程编程后,应该贴上不透光封条出厂未编程前,每个基本存储单元都是信息1编程就是将某些单元写入信息0DSSiO2GN衬底24VP+P+++浮栅MOSDS浮栅管字线位线输出位线Vcc存储原理EPROM芯片2764存储容量为8K×828个引脚:13根地址线A12~A08根数据线D7~D0片选CE*编程PGM*读写OE*编程电压VPP功能VppA12A7A6A5A4A3A2A1A0D0D1D2GNDVccPGM*NCA8A9A11OE*A10CE*D7D6D5D4D312345678910111213142827262524232221201918171615EPROM芯片2725612345678910111213141516171819202122232425262728VppA12A7A6A5A4A3A2A1A0D0D1D2GNDD3D4D5D6D7CEA10OEA11A9A8A13A14Vcc27256引脚图A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0CEOED7D6D5D4D3D2D1D027256逻辑图4.3.2E2PROM用加电方法,进行在线(无需拔下,直接在电路中)擦写(擦除和编程一次完成)有字节擦写、块擦写和整片擦写方法并行EEPROM:多位同时进行串行EEPROM:只有一位数据线EEPROM芯片2817A存储容量为2K×828个引脚:11根地址线A10~A08根数据线I/O7~I/O0片选CE*读写OE*、WE*状态输出RDY/BUSY*功能NCA12A7A6A5A4A3A2A1A0I/O0I/O1I/O2GNDVccWE*NCA8A9NCOE*A10CE*I/O7I/O6I/O5I/O4I/O312345678910111213142827262524232221201918171615EEPROM芯片2864A存储容量为8K×828个引脚:13根地址线A12~A08根数据线I/O7~I/O0片选CE*读写OE*、WE*功能VccWE*NCA8A9A11OE*A10CE*I/O7I/O6I/O5I/O4I/O3NCA12A7A6A5A4A3A2A1A0I/O0I/O1I/O2GND123456789101112131428272625242322212019181716154.4半导体存储器与CPU的连接这是本章的重点内容SRAM、EPROM与CPU的连接译码方法同样适合I/O端口4.4.1存储芯片与CPU的连接存储芯片的数据线存储芯片的地址线存储芯片的片选端存储芯片的读写控制线1.存储芯片数据线的处理若芯片的数据线正好8根:一次可从芯片中访问到8位数据;全部数据线与系统的8位数据总线相连;若芯片的数据线不足8根:一次不能从一个芯片中访问到8位数据;利用多个芯片扩充数据位;这个扩充方式简称“位扩充”。位扩充多个位扩充的存储芯片的数据线连接于系统数据总线的不同位数其它连接都一样这些芯片应被看作是一个整体常被称为“芯片组”2.存储芯片地址线的连接芯片的地址线通常应全部与系统的低位地址总线相连;寻址时,这部分地址的译码是在存储芯片内完成的,我们称为“片内译码”。3.存储芯片片选端的译码存储系统常需利用多个存储芯片扩充容量也就是扩充了存储器地址范围;进行“地址扩充”,需要利用存储芯片的片选端对多个存储芯片(组)进行寻址;这个寻址方法,主要通过将存储芯片的片选端与系统的高位地址线相关联来实现;这种扩充简称为“字扩充”。字扩充片选端常有效A19~A15A14~A0全0~全1D7~D027256EPROMA14~A0CE令芯片(组)的片选端常有效不与系统的高位地址线发生联系芯片(组)总处在被选中的状态虽简单易行、但无法再进行地址扩充,会出现“地址重复”地址重复一个存储单元具有多个存储地址的现象;原因:有些高位地址线没有用、可任意;使用地址:出现地址重复时,常选取其中既好用、又不冲突的一个“可用地址”;例如:00000H~07FFFH;选取的原则:高位地址全为0的地址。高位地址译码才更好⑴译码和译码器译码:将某个特定的“编码输入”翻译为唯一“有效输出”的过程;译码电路可以使用门电路组合逻辑;译码电路更多的是采用集成译码器;常用的2:4译码器74LS139;常用的3:8译码器74LS138;常用的4:16译码器74LS154。⑵全译码所有的系统地址线均参与对存储单元的译码寻址包括低位地址线对芯片内各存储单元的译码寻址(片内译码)