中央处理器主存外存快存CPUM1M2M3图6.1三级存储器的结构示意图6.1半导体存储器一、半导体存储器的分类1.半导体存储器的分类a.双极型存储器;b.MOS型存储器2.按存取方式分类(1)随机存取存储器RAMa.静态RAMb.动态RAM(2)只读存储器ROMa.掩模式ROM;b.熔炼式可编程的PROM,c.可用紫外线擦除、可编程的EPROM;d.可用电擦除、可编程的E2PROM等。存储器级制造工艺存取方式电路性能主存储器MOS型RAM静态RAM动态RAMROM一次成型ROM可擦可编ROM高速缓冲存储器双极型RAM静态RAMMOS型RAM静态RAM表6.1列出了微机系统中最常用的半导体存储器。二、半导体存储器的主要性能指标衡量半导体存储器性能的主要指标有存储容量、存取时间、功能和可靠性。1.存储容量存储容量是指存储器所能存储二进制数码的数量,即所含存储元的总数。例如,某存储芯片的容量为1024×4,即该芯片有1024个存储单元,每个单元4位代码。2.存取时间存取时间是指从启动一次存储器操作到完成该操作所经历的时间,有时又称为读写周期。3.功耗功耗通常是指每个存储元消耗功率的大小,单位为微瓦/位(µW/位)或者毫瓦/位(mW/位)4.可靠性可靠性一般是指对电磁场及温度变化等的抗干扰能力,一般平均无故障时间为数千小时以上。三、存储芯片的的组成地址译码器存储矩阵数据缓冲器012n-101m控制逻辑CSR/Wn位地址m位数据图6.2存储芯片组成示意图①地址译码器:接收来自CPU的n位地址,经译码后产生2n个地址选择信号,实现对片内存储单元的选址。②控制逻辑电路:接收片选信号CS及来自CPU的读/写控制信号,形成芯片内部控制信号,控制数据的读出和写入。③数据缓冲器:寄存来自CPU的写入数据或从存储体内读出的数据。④存储体:是存储芯片的主体,由基本存储元按照一定的排列规律构成。6.2存储器接口技术一、存储器接口应考虑的几个问题1.存储器与CPU之间的时序配合;2.CPU总线负载能力;3.存储芯片的选用.二、存储器地址译码方法1.片选控制的译码方法常用的片选控制译码方法有线选法、全译码法、部分译码法和混合译码法等。(1)1KBCS(2)1KBCS(3)1KBCS(3)1KBCS1111A10A11A13A11A0~A9图6.4线选结构示意图(1)线选法当存储器容量不大,所使用的存储芯片数量不多,而CPU寻址空间远远大于存储器容量时,可用高位地址线直接作为存储芯片的片选信号,每一根地址线选通一块芯片,这种方法称为线选法。(2)全译码法采用全译码方式寻址64KB容量存储的结构示意图如图6.5所示.可见,全译码法可以提供对全存储空间的寻址能力。当存储器容量小于可寻址的存储空间时,可从译码器输出.(3)部分译码法(p119)(4)混合译码法(p120)8KB(2)CS8KB(1)CS8KB(8)CS3-8译码器A0~A12A13~A15Y0Y1Y7图6.5全译码法结构示意图2、地址译码电路的设计存储器地址译码电路的设计一般遵循如下步骤:①根据系统中实际存储器容量,确定存储器在整个寻址空间中的位置;②根据所选用存储芯片的容量,画出地址分配图或列出地址分配表;③根据地址分配图或分配表确定译码方法并画出相应的地址位图;④选用合适器件,画出译码电路图。例1:某微机系统地址总线为16位,实际存储器容量为16KB,ROM区和RAM区各占8KB。其中,ROM采用2KB的EPROM,RAM采用1KB的RAM,试设计译码电路.设计的一般步骤:①该系统的寻址空间最大为64KB,假定实际存储器占用最低16KB的存储空间,即地址为0000H~3FFFH。其中0000H~1FFFH为EPROM区,2000H~3FFFH为RAM区。2KB2KB2KB2KB1KB1KB1KB1KB1KB1KB1KB1KB0000H2000H3FFFH4000HROM区RAM区图6.8地址分配图②根据所采用的存储芯片容量,可画出地址分配图如6.8所示;地址分配表如表6.4所示。③确定译码方法并画出相应的地址位图。④根据地址位图,可考虑用3-8译码器完成一次译码,用适当逻辑门完成二次译码。A1174LS138ABCG2AG2BG1A12A13A14A15+5V译码器≥1≥1≥1≥1≥1≥1≥1≥1Y4Y1Y2Y3Y0Y5Y6Y71A10(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)去4片EPROM去8片RAM图6.10片选控制译码电路图三、存储器与控制总线、数据总线的连接1.存储器与控制总线的连接A.ROM的CS-信号B.RAM的CS-,OE-(RD-),WE-(WR-)信号;2.存储器与数据总线的连接D0~D7,D0~D156.3主存储器接口一、EPROM与CPU的接口目前广泛使用的典型EPROM芯片有Intel公司生产的2716、2732、2764、27128、27256、27512等;分别有27,28,29系列;其容量分别为2K×8位至64K×8,512K×8位;封装形式:前两种为24脚双列可直插式封装,后几种为28脚双列直插式封装。另外有贴片封装.1241213A7A1A0O0O1O2GNDVCCA8A9VPPOEA10O3O7CE/PGM图6.11Intel2716芯片引脚排列图1.芯片特性Intel2716:•容量为16K(2K×8位);•存取时间:约450ns;•单一的+5V电源。2.接口方法Intel2716芯片与8位CPU的连接方法如下:①低位地址线、数据线直接相连;②工作电源VCC直接与+5V电源相连,编程电源通常由开关控制;③CE-和OE-信号分别由CPU高位地址总线和控制总线译码后产生,连接如图6.12所示。图6.12Intel2716芯片与CPU的连接方法A0~A10译码器A11~A15≥1A0~A102716CEM访问RDOEDOUT二、SRAM与CPU的接口常用的SRAM芯片有:Intel公司生产的2114、2128、6116、6264、62256等。如HY6116,HM62256,HM628128,等等容量:1K×4,1K×8,2K×8,8K×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.接口方法其接口方法与ROM接口基本相同,只需增加读写控制信号WE.NCCINWERASRASA0A1A2ADD182164DRAM169VSSCASDOUTA6A3A4A5A7引脚排列图2.接口方法DRAM控制器一般由如下部分组成:①地址多路开关:由于要向DRAM芯片分时送出行地址和列地址,所以必须具有多路开关,把来自CPU的地址变成行地址和列地址分两次送出。三、DRAM与CPU的接口1.芯片特性Intel2164是一种存储容量为64K×1位、最大存取时间为200ns、刷新时间间隔为2ms的DRAM芯片。②刷新定时器:用来定时提供刷新请求。③刷新地址计数器:提供刷新的地址,每刷新一行,计数器自动加1,全部行刷新一遍后自动归零,重复刷新过程。④仲裁电路:当来自CPU的访问存储器请求和来自刷新定时器的刷新请求同时产生时,对二者的优先权进行裁定。⑤时序发生器:提供行地址选通信号RAS、列地址选通信号CAS和写允许信号WE-,以满足对存储器进行访问及对芯片进行刷新的要求。其逻辑框图6.17所示。CPU刷新定时器仲裁电路时序发生器刷新地址计数器地址多路开关DRAM读/写地址总线地址RASCASWR图6.17DRAM控制的逻辑框图AL0~AL7地址锁存AH0~AH7多路转换器地址锁存再生计数器多路转换器列地址行地址OUT0~OUT7DRAM控制器8203是一种为80X86CPU系统支持DRAM而设计的接口芯片。它向2164等DRAM芯片提供全部必需的接口信号,其基本功能如下:同步RD/S1WRPCS锁存再生定时器同步裁决器时序发生器REFRQ/ALEOSCX0/OP2X1/CLKB0B1/OP1RAS0RAS1RAS2RAS3CASWESACKXACKCAS图6.188203芯片内部结构框图3设计举例(1)要求某微机系统CPU为8086且工作方式在最大方式。试用2164DRAM芯片为该系统配置一个256KB的存储器,其地址空间为00000H~3FFFFH。(2)分析(P131)(3)实现(P132)6.4高速缓冲存储器接口思路:在引入高速缓冲存储器的系统中,内存由两级存储构成。一级是采用高速静态RAM芯片组成的小容量存储器,即Cache;另一级是用廉价的动态RAM芯片组成的大容量主存储器。程序运行的所有信息存放在主存储器内,而高速缓冲存储器中存放的是当前使用最多的程序代码和数据,即主存中部分内容的副本。CPU访问存储器时,首先在Cache中寻找,若寻找成功,通常称为“命中”,则直接对Cache操作;若寻找失败,则对主存储器进行操作,并将有关内容置入Cache。引入Cache是存储器速度与价格折衷的最佳方法。CPU地址索引机构置换控制器高速缓冲存储器主存段(页)地址高位地址低位地址地址总线数据总线图6.21Cache结构框图图中高速缓冲存储器用于存入要访问的内容,即当前访问最多程序代码和数据;地址索引机构中存放着与高速缓冲存储器内容相关的高位地址,当访问高速缓冲存储器命中时,用来和地址总线上的低位地址一起形成访问缓冲存储器地址;而置换控制器则按照一定的置换算法控制高速缓冲存储器中内容的更新。一、地址映象方式1.全相联映象方式从主存中将信息调入缓冲存储器通常是以“页”为单位进行的。为了准确寻址,必须将调入页的页地址编码全部存入地址索引机构中。例如:假定缓冲存储器共32KB,分为128页,每页256个字节。主存地址为24位,寻址空间为16MB,也按256个字节为一页,共216页。当CPU送出24位地址寻址时,低8位页内地址直接送高速缓冲存储器,高16位地址作为页号编码送到地址索引机构与调入页的各编码相比较。若比较发现有一致的编码,即命中,则索引机构将送出一个7位页地址指明这一页属于缓冲存储器中128页中的哪一页。由7位页地址与8位页内地址合成一个15位地址,选中32KB缓冲存储器的某一存储单元进行访问。显然,该地址索引机构中应有128个页号编码,且每个页号为16位长。由此可见,采用该方式查找十分费时,以致由于对索引机构工作速度要求很快而使成本过高,故该方法实用较困难。2直接映象方式规定缓存中各页只接收主存中相同页号内容的副本,即不同段中页号相同的内容只有一个能复制到缓存中去。这种映象的限制使对高速缓存的寻址变得相当简单,在地址索引机构中只要存入地址的段号即可。3分组相联映象方式二、地址索引机构索引结构一般采用按内容存取的相联存储器(CAM)实现。三、置换控制策略在Cache中,选择置换策略追求的目标是获得最高的命中率。目前使用的策略有先进先出(FIFO)策略和最近最少使用(LRU)策略。FIFO策略选择最早装入高速缓存的页作为被置换的页。LRU策略选择CPU最近最少访问的页作为被替换的页。Intel公司的80486微处理器的片内Cache一般在1~16KB之间。有些具有RISC结构的微处理器片内Cache已达32KB。有的微机了为提高性能,除了片内Cache之处,还增设一个片外的二级Cache,其容量一般在256KB以上。