1、第12章 存储器及其接口,本章主要内容,(1)半导体存储器及其典型芯片 (2)存储器接口技术 (3)高速缓存(Cache)技术,12.1 存储器概述,12.1.1 存储器的分类 12.1.2 存储器的性能指标 计算机存储器的性能指标很多,例如存储容量、存取速度、存储器的可靠性、性能价格比、功耗等。就功能和接口技术而言,最重要的性能指标是存储器的存储容量和存取速度。,1. 存储容量 存储容量是存储器可以容纳的二进制信息总量,即存储信息的总位数(bits),也称存储器的位容量。设存储器芯片的地址线和数据线位数分别是p和q,则该存储器芯片的编址单元总数为2p,该存储器芯片的位容量为2pq。,2. 存
2、取速度 存储器的存取速度可用“存取时间”和“存储周期”这两个时间参数来衡量。“存取时间”(Access Time)是指从CPU发出有效存储器地址从而启动一次存储器读/写操作,到该读/写操作完成所经历的时间。,“存储周期”(memory cycle)是连续启动两次独立的存储器操作所需的最小时间间隔。由于存储器在完成读/写操作之后需要一段恢复时间,所以通常存储器的存储周期略大于存储器的存取时间。如果CPU在小于存储周期的时间之内连续启动两次存储器访问,那么存取结果的正确性将不能得到保证。,12.1.3 存储系统的层次结构,单独用同一种类型的存储器很难同时满足容量大、速度快及价格低这三方面的要求。为
3、了发挥各种不同类型存储器的长处,避开其弱点,应把它们合理地组织起来,这就出现了存储系统层次结构的概念。实际计算机系统中的存储器层次结构如图12.1所示。,图12.1 存储系统的层次结构,CPU,寄存器组,高速缓存,(,Cache,),M,1,M,4,M,3,M,2,M,n,外存,1,外存,4,外存,3,外存,2,外存,m,虚存,(,virtual memory,),主存,外存,上述四级存储系统也可看成两个二级系统: 高速缓存主存; 主存外存。这两个二级系统的基本功能和设计目标是不相同的,前者的主要目的是为提高CPU访问存储器的速度,而后者是为了弥补主存容量的不足。,12.1.4 内存储器的基本
4、结构及其数据组织,1. 内存储器基本结构 计算机内存储器的基本结构及其与CPU的连接情况如图12.2所示,其中虚线框内为内存储器。该图中表示了内存储器与CPU之间的地址、数据以及控制信息的流动概况。,图12.2 内存储器基本结构,CPU,时序 与 控制,MAR,地址译码器,读/写驱动器,MDR,存储体MB,存储单元,控制总线,N位数据总线,M位地址总线,2. 内存储器中的数据组织 在计算机系统中,作为一个整体一次读出或写入存储器的数据称为“存储字”。存储字的位数称为“字长”。不同机器的字长有所不同,例如: 8位机(如8080/8085)的存储字是8位字长(即一个字节); 16位机(如8086)
5、的存储字是16位字长; 32位机(如80386、80486及Pentium等)的存储字是32位字长。,一个多字节的存储字在内存中的存放情况通常有两种不同的格式: 一种是如在Intel 80x86系统中那样。 一个多字节的存储字的地址是多个连续字节单元中最低端字节单元的地址,而此最低端存储单元中存放的是多字节存储字中最低字节。例如,32位(4字节)的存储字11223344H在内存中的存放情况如图12.3(a)所示,该32位存储字的地址即是10000H。这种数据存放格式有人称其为“小尾存储格式”(little endian memory format);,另一种存放格式刚好是相反的排列情况.例如,
6、在Motorola的680x0系统中,32位存储字 11223344H的存放情况如图12.3(b)所示.高字节数据11H存放在最低地址单元10000H中,32位的存储字的地址10000H指向最高字节的存储单元。有人称这种存放格式为“大尾存储格式”(big endian memory format)。,图12.3 多字节存储字的两种不同存放方式,10000H,10001H,10002H,10003H,10003H,10002H,10001H,10000H,(a) Intel 80x86系统中,(b) Motorola 680x0系统中,12.2 半导体存储器及其典型芯片,半导体存储器从存储器工作
7、特点及功能的角度,可分为读写存储器RAM和只读存储器ROM两大类,其具体分类如图12.4所示。本节将对RAM和ROM的工作原理及典型芯片进行分析和介绍。,图12.4 半导体存储器的分类,半导体存储器,EEPROM,EPROM,PROM,掩膜式ROM,动态RAM DRAM,静态RAM SRAM,可读写存储器 RAM,只读存储器 ROM,Volatile memory,Non-Volatile memory,12.2.1 可读写存储器RAM,1. 静态RAM(SRAM) (1) 静态RAM的基本存储单元基本存储单元(cells)是组成存储器的基础和核心,用于存储一位二进制代码“0”或者“1”。静态
8、RAM的基本存储单元通常由6个MOS管组成,如图12.5所示。,图12.5 六管静态RAM基本存储单元,SRAM的主要特点,静态RAM存储电路MOS管较多,集成度不高,同时由于T1、T2管必定有一个导通,因而功耗较大。静态RAM的优点是不需要刷新电路,从而简化了外部控制逻辑电路,此外静态RAM存取速度比动态RAM快,因而通常用作微型计算机系统中的高速缓存(Cache)。,(2) 静态RAM芯片举例 常用的静态RAM芯片主要有6116、 6264、 62256、 628128等。下面重点介绍6116芯片。6116芯片是2K8位的高速静态CMOS可读写存储器, 片内共有16384个基本存储单元。6
9、116的引脚如图12.6所示。 6116的内部功能框图如图12.7所示。,图12.6 6116芯片引脚图,表12-1 6116芯片的工作方式,图12.7 6116芯片内部功能框图,(3) 静态RAM组成的存储矩阵和存储模块 在微型计算机系统中,常利用存储矩阵和存储模块组织内存空间。下面简单介绍如何使用静态RAM构造存储矩阵和存储模块。2141芯片是4K1位的静态RAM,即它有4K个存储单元,每个存储单元的位数为1位,其引脚布局如图12.8所示。图12.9则是利用2141芯片构造16K8位存储矩阵的框图。,图12.8 2141芯片引脚图,Vcc,A,10,A,7,A,6,GND,1,9,8,7,
10、6,5,4,3,2,18,10,11,12,13,14,15,16,17,A,0,WE,Dout,A,5,A,4,A,3,A,2,A,1,Din,CS,A,11,A,9,A,8,图12.9 用4kx1位芯片组成16kx8位存储矩阵,Memory System Design Using ICs,Memory system designers use commercially available RAM chips to design larger memory systems:the major steps in such memory designs are the following: 1.
11、 Based on speed and cost parameters,determining the types of memory ICs(static or dynamic) to be used in the design. 2. Selecting an available IC of the type selected above,based on access time requirements and other physical parameters,such as the restriction on the number of chips that can be used
12、 and the power requirements .It is generally better to select an IC with the largest capacity in order to reduce the number of ICs the system. 3. Determining the number of ICs neededN=(total memory capacity)/(chip capacity).,4. Arranging the above N ICs in a P*Q matrix,where Q=(number of bits per wo
13、rd in memory system)/(number of bits per word in the ICs) and P=N/Q. 5. Designing the decoding circuitry to selcet a unique word corresponding to each address.We have not addressed the issue of memory control in this design procedure.The control unit of the computer system,of which the memory is a p
14、art,should produce control signals to strobe the address into the MAR,enable read/write .and gate the data in and out of MBR at appropriate times.,The following example illustrates the design. Example 3.4 Design a 4K*8 memory .using Intel 2114 RAM chips 1、Number of chips needed = Total memory capaci
15、ty/chip capacity= =82、The memory sysetem MAR will have 12 bits,since 4K = 4 1024 = ,the MBR will have 8 bits.3、Since 2114s are organized with four bits per word .two chips are used in forming a memory word of eight bits .Thus,the eight 2114s are arranged in four rows,with two chips per row.,4. The 2
16、114 has 10 address lines.The least significant 10 bits of the memory system MAR are connected to the 10 address lines of each 2114.A 2-to-4 decoder is used to decode the most significant two bits of the MAR,to select one of the four rows of 2114 chips through the CS signal on each 2114 chips . 5. I/
17、O lines of chips in each row are connected to the MBR .Note that these I/O lines are configured as tristate .The WE lines of all the 2114 chips are tied together to form the system WE.,The memory system is shown in Figure 3.25. Note that the number of bits in the memory word can be increased in mult
18、iples of 4 simply by including additional columns of chips.If the number of words needs to be extended beyond 4K , additional decoding circuitry will be needed.,当存储器容量较大时,就需要在存储矩阵的基础上采用模块式结构组织整个内存空间 。图12.10 给出了一个64K8位静态RAM模块的具体线路图。,图12.10 一个64Kx8位静态RAM存储模块,16,K,8,静态,RAM,模块,选择,译码器,写脉冲,发生器,8286,(,2,片,
19、),芯片允许,信号逻辑,电路,WE,CE,A,13,A,0,D,7,D,0,OE,T,A,B,第,1,组,第,2,组,第,3,组,CE,3,CE,2,CE,1,CE,0,D,7,D,0,A,B,OE,T,A,15,A,14,A,13,A,0,A,15,A,0,A,19,A,16,写控,MWTC,读控,MRDC,8286,(,1,片,),读,/,写控制,第,0,组,地址总线,A,19,A,0,在图12.10所示的这种存储器模块结构中,CPU输出的地址信号实际上被划分为三个层次(字段)来使用:高4位地址(A19A16)作“模块选择”之用; 接下来的2位(A15、A14)作为“组选择”; 剩下的14
20、位(A13A0)作为存储芯片的“片内地址”,片内地址用以选择芯片中的存储单元。整个地址的分配情况如图12.11所示。,图12.11 存储地址的分配,例12.1 某计算机内存系统由32K1位的SRAM芯片构成,内存容量为1M字节,采用模块结构,每个模块128K字节,每个模块分4组。试计算为构成该存储器所需的芯片数,并给出地址分配情况(“模块选择”、“组选择”、“片内地址”各占哪几位)。,解: 为构成该存储器共需给定芯片: 1M8 / 32K1256(片)由于内存容量为1M字节,所以内存地址为20位(A19A0)。根据本题条件,具体分配如图12.12所示。,图12.12 例12.1的地址分配,2.
21、 动态RAM(DRAM),(1) DRAM基本存储单元电路 与静态RAM一样,动态RAM也是由许多“基本存储单元”(cells)按行、列形式构成的二维存储矩阵来组成的。目前,动态RAM基本存储单元是由一个MOS管和一个小电容构成,故称“单管动态RAM基本存储单元电路”,其结构如图12.13所示。,图12.13 单管动态RAM基本存储单元电路,刷新,放大器,列选择信号,行选择信号,数据输入,/,输出线,基本存储单元,T,C,由于任何电容均存在漏电效应,所以经过一段时间后电容上的电荷会流失殆尽,所存信息也就丢失了。对电容漏电而引起信息丢失这个问题的解决办法是定期地对内存中所有动态RAM存储单元进行
22、刷新(refresh),使原来表示逻辑“1”电容上的电荷得到补充,而原来表示逻辑“0”的电容仍保持无电荷状态。刷新是逐行进行的。,图12.14动态RAM存储器阵列,DRAM 的主要特点,与静态RAM相比,动态RAM基本存储电路所用的MOS管少,从而可以提高存储器的存储密度并降低功耗。动态RAM的缺点是存取速度比静态RAM慢;需要定时刷新,因此需增加相应的刷新支持电路;此外,在刷新期间CPU不能对内存模块启动读/写操作,从而损失了一部分有效存储器访问时间。DRAM的高存储密度、低功耗及每位价格便宜的突出优点,使之非常适用于在需要较大存储容量的系统中用作主存储器。现代PC机均采用各种类型的DRAM
23、作为可读写主存。,(2) DRAM芯片的引脚信号及读写操作,为了具体理解动态RAM存储器的工作机理,清楚地了解DRAM芯片的主要引脚信号及其读写特性是十分必要的。下面以一个1M1位的DRAM芯片为例进行概要说明。该芯片的引脚信号情况如图12.15所示。,图12.15 DRAM芯片引脚信号,图12.16 DRAM芯片的操作时序,(3) DRAM芯片举例,Motorola MCM 511000A是1M1位的高速DRAM芯片,片内共有1048576个基本存储单元。图12.17是MCM 511000A的引脚分布图。 在芯片的20个引脚中,A0A9是10条地址线,被行地址输入和列地址输入分时复用,以减少
24、引脚数目;D和Q分别是数据输入和数据输出线;VCC是电源线,VSS是接地线; 此外,控制信号线有: 读/写控制W(高电平为读操作,低电平为写操作)、行地址选通RAS、列地址选通CAS、测试功能控制TF(Test Function)、无连接NC(未用)。MCM 511000A芯片内部功能框图如图12.18所示。,图12.17 511000A引脚图,图12.18 MCM 511000A内部功能框图,12.2.2 只读存储器ROM,1. 掩膜式ROM(Masked ROM) 2. 可编程只读存储器PROM(Programmable ROM) 3. 可擦除可编程只读存储器EPROM(Erasable
25、PROM)EPROM的基本存储单元 EPROM基本存储单元大多采用浮栅MOS管(Floating gate Avalanche injection MOS,简记为FAMOS管,浮栅雪崩注入MOS管)。 FAMOS管有P沟和N沟两种,P沟浮栅MOS管EPROM基本存储电路如图12.25(a)所示。,图12.25 P沟道浮栅MOS管EPROM的存储电路,N,衬底,P,+,P,+,+ + +,S,(,源极,),SiO,2,浮栅,D,(,漏极,),EPROM芯片上方有一个石英玻璃窗口,当用一定波长(如2537 A)一定光强(如12000 w/cm)的紫外线透过窗口照射时,所有存储电路中浮栅上的电荷会形
26、成光电流泄放掉,使浮栅恢复初态。一般照射2030分钟后,读出各单元的内容均为FFH,说明EPROM中内容已被擦除。,4. 电可擦除可编程只读存储器EEPROM(Electrically EPROM) EPROM虽然可以多次编程,具有较好的灵活性,但在整个芯片中即使只有一个二进制位需要修改,也必须将芯片从机器(或板卡)上拔下来利用紫外线光源擦除后重写,因而给实际使用带来不便。电可擦除可编程只读存储器EEPROM也称E2PROM。E2PROM管子的结构示意图如图12.28所示。,图12.28 EEPROM结构示意图,在EEPROM中,使浮动栅带上电荷与消去电荷的方法与EPROM是不同的。在EEPR
27、OM中,漏极上面增加了一个隧道二极管,它在第二栅极(控制栅)与漏极之间的电压VG的作用下(实际为电场作用下),可以使电荷通过它流向浮空栅,即起编程作用;若VG的极性相反也可以使电荷从浮动栅流向漏极,即起擦除作用。编程与擦除所用的电流是极小的,可用普通的电源供给。,与EPROM擦除时把整个芯片的内容全变成“1”不同,EEPROM的擦除可以按字节分别进行,这是EEPROM的优点之一。字节的编程和擦除都只需10ms,并且不需要将芯片从机器上拔下以及诸如用紫外线光源照射等特殊操作,因此可以在线进行擦除和编程写入。这就特别适合在现代嵌入式系统中用EEPROM保存一些偶尔需要修改的少量数据。,5. 闪存(
28、FLASH MEMORY) 闪存也称快擦写存储器,有人也简称之Flash。 从基本工作原理上看,闪存属于ROM型存储器,但由于它又可以随时改写其中的信息,所以从功能上看,它又相当于随机存储器RAM。从这个意义上说,传统的ROM与RAM的界限和区别在闪存上已不明显。,(1) 闪存的主要特点 可按字节、区块或页面快速进行擦除和编程操作,也可按整片进行擦除和编程,其页面访问速度可达几十至200ns; 片内有命令寄存器和状态寄存器,因而具有内部编程控制逻辑,当进行擦除和编程写入时,可由内部逻辑控制操作。, 采用命令方式可以使闪存进入各种不同的工作方式,例如整片擦除、按页擦除、整片编程、分页编程、字节编
29、程、进入备用方式、读识别码等; 可进行在线擦除与编程,擦除和编程写入均无需把芯片取下; 某些产品可自行产生编程电压(VPP),因而只用VCC供电,在通常的工作状态下即可实现编程操作; 可实现很高的信息存储密度。,(2) 闪存的单元电路结构 若浮空栅上保存有电荷,则在源(S)、漏(D)极之间形成导电沟道,达到一种稳定状态,可以定义该基本存储单元电路保存信息“0”;若浮空栅上没有电荷存在,则在源、漏之间无法形成导电沟道,为另一种稳定状态,可以定义它保存信息“1”。,图12.30 闪存的基本存储单元电路结构、逻辑符号及存储阵列,(a)电路结构及逻辑符号,(b)存储阵列,图12.31 闪存的擦除与编程
30、,(a)擦除:从浮空栅移走电荷,(b)编程:向浮空栅增加电荷,(3) 闪存芯片举例 闪存芯片的品种型号很多,表12-5列出了28F系列的几种典型电路的型号、位密度及存储容量。,表12-5 几种闪存电路,图12.32 28F256引脚信号,28F256 Flash Memory,A14A0,_ WE,_ OE,_ CE,控制 信号,地址信号,数据信号,DQ7DQ0,图12.33 28F256的内部结构框图,12.3 存储器接口技术,12.3.1 存储器与CPU连接时应考虑的问题1. CPU总线的负载能力2. CPU的时序和存储器的存取速度之间的配合3. 存储器的地址分配和片选4. 控制信号的连接
31、,12.3.2 存储器接口中的片选控制,1. 地址译码器 CPU对存储器进行读写时,首先要对存储芯片进行选择(称为片选),然后从被选中的存储芯片中选择所要读写的存储单元。片选是通过地址译码来实现的,74LS138是一种常用的译码器电路,其引脚和逻辑电路图如图12.34所示。,图12.34 74LS138引脚和逻辑电路图,表12-7 74LS138的功能表,2. 实现片选控制的三种方式 (1) 全译码方式 全译码方式就是除了将地址总线的低位地址直接连至各存储芯片的地址线外,将所有余下的高位地址全部用于译码,译码输出作为各存储芯片的片选信号。 优点是存储器中每一存储单元都有惟一确定的地址。 缺点是
32、译码电路比较复杂(相对于部分译码)。 一个采用全译码方式实现片选控制的RAM子系统如图12.35所示。,图12.35 采用全译码方式实现片选控制的RAM子系统,2,1,3,4,这种片选控制方式可以提供对整个存储空间的寻址能力。 即使不需要使用全部地址空间也可采用全译码方式,多余的译码输出(如图12.35中的Y4Y7)暂时不用,可留作需要时扩充。,表12-8 各存储芯片的地址范围,(2) 部分译码方式 所谓部分译码方式就是只选用地址总线高位地址的一部分(而不是全部)进行译码,以产生各个存储器芯片的片选信号。,例如在图13.35所示的片选译码电路中,假设高位地址A19不参加译码,把译码器74LS1
33、38的G1端接+5V,则A19无论是“0”还是“1”,只要A18A1111110000,均能使74LS138的Y0输出有效(为低电平),从而选中存储芯片1。这样,存储芯片1的地址范围就是 78000H787FFH(当A190时)或F8000HF87FFH(当A191时),即出现了一个存储单元可以由两个地址码来选中的现象(其他存储芯片的情况与此相同)。,我们称这种一个存储单元有多个地址与其对应的现象为“地址重叠”。上述是假设A19一位地址不参加译码,则一个存储单元有两个地址与其对应。显然,如果有n位地址不参加译码,则一个存储单元将有2n个地址与其对应。优点:片选译码电路比较简单; 缺点:存储空间
34、中存在地址重叠区,使用时应予以注意。,(3) 线选方式 线选方式就是将地址总线的高位地址不经过译码,直接将它们作为片选信号接至各存储芯片的片选输入端,即采用线选方式,根本不需要使用片选译码器。 图12.36给出了一个采用线选方式实现片选控制的示例原理图。,图12.36 线选方式实现片选控制示例,_ CS,_ CS,A17A0,(片内地址),A19,A18,地 址 总 线,必须注意的是: A19和A18不能同时为0,否则,将会同时选中两个存储芯片,造成访问存储器操作错误。即在采用线选方式的存储系统中,软件上必须保证在存储器寻址时片选线中只能有一位有效(例如定义为逻辑“0”),而不允许多于一位的片
35、选线同时有效。 否则,将导致存储器操作的差错。,线选方式的突出优点:无须使用片选译码器;缺点:存储地址空间被分成了相互隔离的区段,造成地址空间的不连续(片选线多于一位为“0”以及片选线为全“1”的地址空间不能使用),给编程带来不便。图12.37给出了本例的地址空间分布情形。,图12.37 线选方式的地址空间分布,A19 A18 A17 A0,0 0 0 0,1 0 1 1,1 0 0 0,0 1 1 1,1 1 0 0,0 0 1 1,0 1 0 0,1 1 1 1,不能使用(256K),存储芯片I 地址空间(256K),存储芯片II 地址空间(256K),不能使用(256K),另外,在采用线
36、选方式时,如果某些地址线闲置不用(既不用作片内地址,也不用作片选线),则在地址空间中还会存在地址重叠现象。线选方式通常适用于存储容量较小且不要求存储容量扩充的小系统中。,12.3.3 存储器扩展,1. 位扩展法 位扩展法也称位并联法,采用这种方法构成存储器时,各存储芯片连接的地址信号是相同的。而存储芯片的数据线则分别连接到数据总线的相应位上。图12.38给出的是按位扩展法用8片4K1位的存储芯片构成4K8位(4KB)存储器的逻辑结构图。,图12.38 用位扩展法扩展存储器,存储器工作时,各芯片同时进行相同的操作。 在这种方式中,对存储芯片实际上没有选片的要求,只进行数据位数的扩展,而整个存储器
37、的字数(存储单元数)与单个存储芯片的字数是相同的(如本例中两者均为4K)。 在这种连接方式下,地址线的负载数等于芯片数,而数据线的负载数为1。,2. 字扩展法 字扩展法也叫地址串联法。利用这种方法进行存储器扩展时,只在字的方向上进行扩充,而存储器的位数不变。 整个存储器的位数等于单个存储芯片的位数。 这种方法将存储器的地址分成两部分,一部分(低位地址部分)接到各存储芯片作为芯片的片内地址,一部分(高位地址部分)经过片选译码器译码后送到各存储芯片的片选输入端;各存储芯片的数据线中的对应位连接在一起。 图12.39所示的是用字扩展法将8片2K8位的存储芯片连接扩展成容量为16K8位的存储器的逻辑结
38、构图。,图12.39 用字扩展法扩展存储器,2,K,x,8,CS,WE,2,K,x,8,CS,WE,2,K,x,8,CS,WE,D,0,D,1,D,7,A,0,A,13,WE,A,11,A,13,D,0,D,1,D,7,D,0,D,1,D,7,D,0,D,1,D,7,Y,0,Y,7,3,-,8,译码器,A,0,A,10,由图12.39可见,在这种连接方式下: 直接作为片内地址的低位地址线的负载数等于存储芯片数,而参加片选译码的高位地址线的负载数为1;数据线的负载数也等于芯片数。从负载角度看,字扩展法不如位扩展法好(数据线的负载重了) ,但位扩展法中存储器的总容量受芯片容量的限制。,3. 字位扩
39、展法 采用字位扩展法,就是既在位方向上进行扩展,又在字方向上进行扩展,如图12.40所示。图中的扩展方法是选用8片2K1位的存储芯片构成2K8位的存储组(位扩展),再用8个这样的存储组构成16K8位的存储器(字扩展),整个存储器共计用了64片2K1位的存储芯片。,12.40 用字位扩展法扩展存储器,在字位扩展法中,数据线的负载数为 , 低位地址线的负载数为 , 高位地址线的负载数 。,在字位扩展法中,数据线的负载数为存储组数;低位地址线的负载数为存储组数(乘以每组中的芯片数);高位地址线的负载数等于1。,12.3.4 存储器接口分析与设计举例,存储器接口分析,是指对于给定的现成存储器接口电路,
40、正确指出存储器的存储容量以及构成该存储器的各个存储芯片的地址范围;存储器接口设计,则是指根据给定的存储芯片及存储容量和地址范围的要求,具体构成(设计)所要求的存储器子系统。显然,它是存储器接口分析的相反的过程。例12.2 已知一个存储器子系统如图12.41所示,试指出其中RAM和EPROM的存储容量以及各自的地址范围。,图12.41 例12.2连接图,RAM,CS,WE,A,14,A,12,A,11,D,7,D,0,CPU,I,/,O,1,I,/,O,8,Y,0,Y,1,Y,7,G,1,G,2,B,G,2,A,A,C,B,RD,74,LS,138,WR,A,10,A,0,OE,A,19,A,1
41、3,M,/,IO,A,18,A,16,A,15,A,17,A,10,A,0,OE,CE,A,11,A,10,A,0,Y,5,Y,6,EPROM,D,7,D,0,解 A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A0 RAM 1 1 1 1 1 0 0 1 0 0 0 (F9000H) 地址范围 1 1 1 1 1 0 0 1 0 1 1 (F97FFH) 2KB 或1 1 1 1 1 0 0 1 1 0 0 (F9800H)1 1 1 1 1 0 0 1 1 1 1 (F9FFFH)2KBEPROM 1 1 1 1 1 1 0 1 0 0 0 (FD000H)
42、 地址范围 1 1 1 1 1 1 0 1 1 1 1 (FDFFFH)4KBRAM的存储容量为 ,地址范围为 或 。 由于A11未参与RAM的地址译码,所以RAM存储区存在“地址重叠”现象,一个RAM单元对应 个地址。 EPROM的存储容量为 ,地址范围为 。,例12.3 利用EPROM 2732(4K8位)、SRAM6116(2K8位)及译码器74LS138 设计一个存储容量为16KB ROM和8KB RAM的存储子系统。要求ROM的地址范围为F8000HFBFFFH,RAM的地址范围为FC000HFDFFFH。 系统地址总线20位(A0A19),数据总线8位(D0D7),控制信号为RD、
43、WR、M/IO(低为访问存储器,高为访问I/O接口)。,解: (1) 所需存储芯片数及地址线的分配 16KB ROM需用4片2732构成,8KB RAM需用4片6116构成。2732容量为4K8位:用12条地址线作片内地址(A0A11);用8条地址线作片外地址(A12A19);6116容量为2K8位:用11条地址线作片内地址(A0A10);用9条地址线作片外地址(A11A19)。用74LS138作片选译码器,其输入、输出信号的接法依存储芯片的地址范围要求而定。,(2) 地址范围 A19 A18 A17 A16 A15 A14 A13 A12 A11 A10A01 1 1 1 1 0 0 0 0
44、 0 0 (F8000H)1 1 1 1 1 0 1 1 1 1 1 (FBFFFH) EPROM1EPROM4(16KB)1 1 1 1 1 1 0 0 0 0 0 (FC000H)1 1 1 1 1 1 0 0 1 1 1 (FCFFFH) SRAM1、SRAM2(4KB)1 1 1 1 1 1 0 1 0 0 0 (FD000H)1 1 1 1 1 1 0 1 1 1 1 (FDFFFH)SRAM3、 SRAM4(4KB),12.42 例12.3逻辑图,12.3.5 16位/32位/64位存储器接口,1. 16位存储器接口结构 对于CPU的外部数据总线为16位的微机系统(如8086、80
45、186、80286系统),存储器一般由两个8位宽的存储体来构成,以便既支持8位(字节)操作,又支持16位(字)操作。例如,对于8086微机系统,是将2201MB物理地址空间的存储器分为偶地址存储体(偶体)和奇地址存储体(奇体)两个8位宽度的存储体, 并把偶体的8位数据线与16位数据总线的低8位(D0D7)相连,奇体的8位数据线与16位数据总线的高8位(D8D15)相连,如图12.43所示。,图12.43 16位存储器接口结构,地 址 锁存器,数 据 总 线 收发器,8086,A0A19,_ BHE,D0D15,A0,A1A19,_ BHE,数据总线(16位),D0D7,D8D15,地址总线,表
46、12-9 选体信号A0和BHE的联合控制操作,2. 32位/64位存储器接口结构,对于CPU的外部总线为32位的微机系统(如80386、80486系统),其存储器通常由4个8位宽的存储体构成,以支持8位(字节)、16位(字)以及32位(双字)的存储器操作。图12.44给出的是典型的32位存储器接口结构。它将整个存储器分成4个8位宽的存储体(BANK0BANK3),并分别用BE0BE3来作为4个存储体的选体信号(也称字节允许信号)。BE0BE3是CPU在其内部将32位物理地址的最低两位A0A1译码而产生的,并作为地址信息的一部分与其余 30 位地址信息(A2A31)共同出现在CPU的输出引脚上。,