第五章微型计算机存储器接口技术5.1存储器概述存储器是微型计算机系统中用来存放程序和数据的基本单元或设备。一、存储器的分类按存储介质分:半导体存储器、磁介质存储器和光存储器。按存储器与cpu的耦合程度分:内存和外存1.半导体存储器的分类a.双极型存储器;b.MOS型存储器2.按存取方式分类(1)随机存取存储器RAMa.静态RAMb.动态RAM(一)半导体存储器的分类及特点(2)只读存储器ROMa.掩模式ROM;b.熔炼式可编程的PROM,c.可用紫外线擦除、可编程的EPROM;d.可用电擦除、可编程的E2PROM等。e.闪速存储器(FlashMemory):简称闪存闪存:FlashMemory特点:非易失性存储器,可在系统电可擦除和可重复编程闪速存储器的技术分类:全球闪速存储器的主要供应商有AMD、ATMEL、Fujistu、Hitachi、Hyundai、Intel、Micron、Mitsubishi、Samsung、SST、SHARP、TOSHIBA,由于各自技术架构的不同,分为几大阵营。NOR技术NANDAND技术由EEPROM派生的闪速存储器3.按在微机系统中位置分类1.存储容量存储容量是指存储器所能存储二进制数码的数量,存储容量=存储字数(存储单元数)×存储字长(每单元的比特数)例如,某存储芯片的容量为1024×4,即该芯片有1024个存储单元,每个单元4位代码。2.存取速度存取时间是指从启动一次存储器操作到完成该操作所经历的时间,也称为访问时间。存取速度也可用存取周期或数据传输速率来描述.二、存储器的主要性能指标衡量半导体存储器性能的主要指标有存储容量、存取速度、功耗和可靠性。3.功耗和体积功耗通常是指每个存储元消耗功率的大小,单位为微瓦/位(µW/位)或者毫瓦/位(mW/位)体积和功耗越小越好.4.可靠性可靠性一般是指对电磁场及温度变化等的抗干扰能力,一般平均无故障时间为数千小时以上。三、内存的基本组成地址译码器存储矩阵数据缓冲器012n-101m控制逻辑CSR/Wn位地址m位数据图6.2存储芯片组成示意图①地址译码器:接收来自CPU的n位地址,经译码后产生2n个地址选择信号,实现对片内存储单元的选址。②控制逻辑电路:接收片选信号CS及来自CPU的读/写控制信号,形成芯片内部控制信号,控制数据的读出和写入。③数据缓冲器:寄存来自CPU的写入数据或从存储体内读出的数据。④存储体:是存储芯片的主体,由基本存储元按照一定的排列规律构成。一、静态RAMRAM通常用来存储当前运行的程序和在程序运行过程中需要改动的数据。相对于DRAM,SRAM具有速度快,接口简单、读写操作简便等特点,但其存储容量下,价格也偏高,故通常在多级存储系统中被用于构成cache存储器。5.2随机存储器常用的SRAM芯片有:Intel公司生产的2114、2128、6116、6264、62256等。如HY6116,HM62256,HM628128,等等容量:1K×4,1K×8,2K×8,K×8,…512K×8现以2114芯片为例对SRAM的芯片特性和接口方法进行介绍。A5A0A2A1CS-1921141810VCCA9I/O1A6A4A3A7A8I/O2I/O3WE-符号引脚名A0~A9地址输入I/01~I/04数据输入/输出CS-片选WE-写允许VCC、GND电源、地1.芯片特性Intel2114是一种存储容量为1K×4位,存取时间最大为450ns的SRAM芯片。如下图:2.内部结构A3A4A5A6A7A8行选择64×64存储矩阵......VCCGND输入数据控制I/O1I/O2I/O3I/O4列I/O电路列选择......A0A2A1A9CSWE片选及读/写控制电路:用于实现对芯片的选择及读/写控制存储矩阵:Intel2114内部共有4096个存储电路,排成64×64的短阵形式地址译码器:输入为10根线,采用两级译码方式,其中6根用于行译码,4根用于列译码;I/O控制电路:分为输入数据控制电路和列I/O电路,用于对信息的输入/输出进行缓冲和控制;•A0~A7:地址信号的输入引脚,用来分时接收CPU送来的8位行、列地址;•RAS:行地址选通信号输入引脚,低电平有效,兼作芯片选择信号。当为低电平时,表明芯片当前接收的是行地址;•CAS:列地址选通信号输入引脚,低电平有效,表明当前正在接收的是列地址(此时应保持为低电平);•WE:写允许控制信号输入引脚,当其为低电平时,执行写操作;否则,执行读操作。•DIN:数据输入引脚;•DOUT:数据输出引脚;•VDD:十5V电源引脚;•Css:地;•N/C:未用引脚NCCINWERASRASA0A1A2ADD182164DRAM169VSSCASDOUTA6A3A4A5A7引脚排列图二、DRAM1.芯片特性Intel2164是一种存储容量为64K×1位、最大存取时间为200ns、刷新时间间隔为2ms的DRAM芯片。2.Intel2164的内部结构8位地址锁存器1/4I/O门输出缓冲器A0A1A2A3A4A5A6A7DOUTVDDVSS行时钟缓冲器列时钟缓冲器写允许时钟缓冲器数据输入缓冲器RASCASWEDIN128×128存储矩阵1/128行译码器128×128存储矩阵128读出放大器(1/128列译码器)128读出放大器128读出放大器128读出放大器(1/128列译码器)128×128存储矩阵128×128存储矩阵1/128行译码器2.接口方法DRAM控制器一般由如下部分组成:①地址多路开关:由于要向DRAM芯片分时送出行地址和列地址,所以必须具有多路开关,把来自CPU的地址变成行地址和列地址分两次送出。②刷新定时器:用来定时提供刷新请求。③刷新地址计数器:提供刷新的地址,每刷新一行,计数器自动加1,全部行刷新一遍后自动归零,重复刷新过程。④仲裁电路:当来自CPU的访问存储器请求和来自刷新定时器的刷新请求同时产生时,对二者的优先权进行裁定。⑤时序发生器:提供行地址选通信号RAS、列地址选通信号CAS和写允许信号WE,以满足对存储器进行访问及对芯片进行刷新的要求。CPU刷新定时器仲裁电路时序发生器刷新地址计数器地址多路开关DRAM读/写地址总线地址RASCASWRDRAM控制的逻辑框图三、存储器扩展技术对于存储体中存储单元的排列方式,通常分为字结构方式和位结构方式两种。字结构方式:指芯片上所有的存储元排列成不同的存储单元,每个单元一个字,每个字的各位在同一芯片内。如:1K*8位结构方式:指芯片上所有的存储元排列成不同的存储单元,每个单元一位,即所有存储元排列成不同字的同一位。如:8K*1例1用1K×4的2114芯片构成lKB的存储器系统分析:由于每个芯片的容量为1K,故满足存储器系统的容量要求。但由于每个芯片只能提供4位数据,故需用2片这样的芯片,它们分别提供4位数据至系统的数据总线,以满足存储器系统的字长要求。设计要点:•将每个芯片的10位地址线按引脚名称一一并联,按次序逐根接至系统地址总线的低10位。•数据线则按芯片编号连接,1号芯片的4位数据线依次接至系统数据总线的D0-D3,2号芯片的4位数据线依次接至系统数据总线的D4-D7。•两个芯片的WE端并在一起后接至系统控制总线的存储器写信号(如CPU为8086/8088,也可由和/M或IO/的组合来承担)。•CS引脚也分别并联后接至地址译码器的输出,而地址译码器的输入则由系统地址总线的高位来承担。A11A10译码器A9A9A0A0WRWEI/OI/OCS2114(1)...D0D3D4D7A9A0WEI/OI/OCS2114(2)........................8088Y0M/IO当存储器工作时,系统根据高位地址的译码同时选中两个芯片,而地址码的低位也同时到达每一个芯片,从而选中它们的同一个单元。在读/写信号的作用下,两个芯片的数据同时读出,送上系统数据总线,产生一个字节的输出,或者同时将来自数据总线上的字节数据写入存储器。目前广泛使用的典型EPROM芯片有Intel公司生产的2716、2732、2764、27128、27256、27512等;其容量分别为2K×8位至64K×8,512K×8位;封装形式:前两种为24脚双列可直插式封装,后几种为28脚双列直插式封装。5.3只读存储器一、可擦除可编程的ROMCE/PGM1241213A7A1A0O0O1O3GNDVCCA8A9VPPOEA10O3O7Intel2716芯片引脚排列图1.芯片特性Intel2716:容量为16K(2K×8位);存取时间:约450ns;单一的+5V电源。各引脚的功能如下:•Al0~A0:地址信号输入引脚,可寻址芯片的2K个存储单元;•O7~O0:双向数据信号输入输出引脚;•CE:片选信号输入引脚,低电平有效,只有当该引脚转入低电平时,才能对相应的芯片进行操作;•OE:数据输出允许控制信号引脚,输入,低电平有效,用以允许数据输出;•Vcc:+5v电源,用于在线的读操作;•VPP:+25v电源,用于在专用装置上进行写操作;•GND:地。2.内部结构A1A2A3A4A5A6A7O1O2O0A0地VCCA8A9VPPOEA10CEO7O6O5O4O3VCC地VPPOEOE输出允许片选和编程逻辑译码yx译码输出缓冲.........门y16KBit存储矩阵地址输入~数据输出O0O7~A0A10123456789101112131415161718192021222324•存储阵列:Intel2716存储器芯片的存储阵列由2K×8个带有浮动栅的MOS管构成,共可保存2K×8位二进制信息;•X译码器:又称为行译码器,可对7位行地址进行译码;•Y译码器:又称为列译码器,可对4位列地址进行译码;•输出允许、片选和编程逻辑:实现片选及控制信息的读/写;•数据输出缓冲器:实现对输出数据的缓冲。为什么只需要11根地址线进行片内地址译码?3.接口方法Intel2716芯片与8位CPU的连接方法如下:①低位地址线、数据线直接相连;②工作电源VCC直接与+5V电源相连,编程电源通常由开关控制;③CE-和OE-信号分别由CPU高位地址总线和控制总线译码后产生,通常采用图5.12所示的3种方法。Intel2716芯片与CPU的连接方法A0~A10译码器A11~A15≥1A0~A102716CEM访问RDOEDOUT(a)A0~A10译码器A11~A15A0~A102716CEOE≥1M访问RDDOUT(b)RDA0~A10译码器A11~A15A0~A102716CEM访问OEDOUT(c)4.接口举例(1)要求用2716EPROM芯片为某8位微处理器设计一个16KB的ROM存储器。已知该微处理器地址线为A0~A15,数据线为D0~D7,“允许访存”控制信号为M,读出控制信号为RD。画出EPROM与CPU的连接框图。(2)分析由于每个芯片的字长为8位,故满足存储器系统的字长要求。但由于每个芯片只能提供2K个存储单元,故需用8片这样的芯片,以满足存储器系统的容量要求。(3)设计要点先将每个芯片的11位地址线按引脚名称一一并联,然后按次序逐根接至系统地址总线的低11位。将每个芯片的8位数据线依次接至系统数据总线的D0-D7。8个芯片的OE端并在一起后接至系统控制总线的存储器读信号它们的片选引脚分别接至地址译码器的不同输出,地址译码器的输入则由系统地址总线的高位来承担。+5V图5.13EPROM与CPU连接框图74LS138G2AG2BG1D0~D7A0~A10Y0CPUA11~A13MO0~O72716(2)OECEO0~O72716(1)OECEO0~O72716(8)OECE+5V+25VVPPVCC+5VGNDRDY1Y7……2k2k(4)实现当存储器工作时,根据高位地址的不同,系统通过译码器分别选中不同的芯片,低位地址码则同时到达每一个芯片,选中它们的相应单元。在读信号的作用下,选中芯片的数据被读出,送上系统数据总线,产生一个字节的输出。EEPROM的读写操作与S