1、第五章 微型计算机存储器接口技术5.1 存储器概述 存储器是微型计算机系统中用来存放程序和数据的基本存储器是微型计算机系统中用来存放程序和数据的基本单元或设备。单元或设备。一、存储器的分类一、存储器的分类按存储介质分:按存储介质分:半导体存储器半导体存储器、磁介质存储器和光存储器。、磁介质存储器和光存储器。按存储器与按存储器与cpu的耦合程度分:内存和外存的耦合程度分:内存和外存1.1.半导体存储器的分类半导体存储器的分类 a.a.双极型存储器双极型存储器;b.MOS b.MOS型存储器型存储器2.2.按存取方式分类按存取方式分类(1 1)随机存取存储器)随机存取存储器RAMRAM a.a.静
2、态静态RAM RAM b.b.动态动态RAMRAM(一一)半导体存储器的分类及特点半导体存储器的分类及特点(2 2)只读存储器)只读存储器ROMROMa.a.掩模式掩模式ROMROM;b.b.熔炼式可编程的熔炼式可编程的PROMPROM,c.c.可用紫外线擦除、可编程的可用紫外线擦除、可编程的EPROM;EPROM;d.d.可用电擦除、可编程的可用电擦除、可编程的E E2 2PROMPROM等。等。e.e.闪速存储器(闪速存储器(Flash MemoryFlash Memory):简称闪存):简称闪存闪存:闪存:Flash MemoryFlash Memory特点特点:非易失性存储器,可在系统
3、电可擦除和可重复编程闪速存储器的技术分类闪速存储器的技术分类:全球闪速存储器的主要供应商有AMD、ATMEL、Fujistu、Hitachi、Hyundai、Intel、Micron、Mitsubishi、Samsung、SST、SHARP、TOSHIBA,由于各自技术架构的不同,分为几大阵营。NOR技术技术NANDAND技术技术由由EEPROM派生的闪速存储器派生的闪速存储器3.按在微机系统中位置分类按在微机系统中位置分类 1.1.存储容量存储容量 存储容量是指存储器所存储容量是指存储器所能存储二进制数码的数量能存储二进制数码的数量,存储容量存储容量=存储字数存储字数(存储单元数存储单元数)
4、存储字长存储字长(每单元的比特数每单元的比特数)例如,某存储芯片的容量为例如,某存储芯片的容量为102410244 4,即该芯片有,即该芯片有10241024个存储单元,每个存储单元,每个单元个单元4 4位代码。位代码。2.2.存取速度存取速度 存取时间是存取时间是指从启动一次存储器操作到完成该操作所经历的时间指从启动一次存储器操作到完成该操作所经历的时间,也称为访问时间也称为访问时间。存取速度也可用存取周期或数据传输速率来描述存取速度也可用存取周期或数据传输速率来描述.二、存储器的主要性能指标二、存储器的主要性能指标 衡量半导体存储器性能的主要指标有衡量半导体存储器性能的主要指标有存储容量、
5、存存储容量、存取速度、功耗和可靠性取速度、功耗和可靠性。3.3.功耗和体积功耗和体积 功耗通常是指每个存储元消耗功率的大小,单位功耗通常是指每个存储元消耗功率的大小,单位为微瓦为微瓦/位(位(W/W/位)或者毫瓦位)或者毫瓦/位(位(mW/mW/位)位)体积和功耗越小越好体积和功耗越小越好.4.4.可靠性可靠性 可靠性一般是指对电磁场及温度变化等的抗干扰可靠性一般是指对电磁场及温度变化等的抗干扰能力,一般平均无故障时间为数千小时以上。能力,一般平均无故障时间为数千小时以上。三、内存的基本组成三、内存的基本组成地址译码器存储矩阵数据缓冲器012n-101m控制逻辑CSR/Wn位地址m位数据图5.
6、2 存储芯片组成示意图 地址译码器:接收来自CPU的n位地址,经译码后产生2n个地址选择信号,实现对片内存储单元的选址。控制逻辑电路:接收片选信号CS及来自CPU的读/写控制信号,形成芯片内部控制信号,控制数据的读出和写入。数据缓冲器:寄存来自CPU的写入数据或从存储体内读出的数据。存储体:是存储芯片的主体,由基本存储元按照一定的排列规律构成。一、静态一、静态RAMRAM RAM 通常用来存储当前运行的程序和在程序通常用来存储当前运行的程序和在程序运行过程中需要改动的数据。相对于运行过程中需要改动的数据。相对于DRAM,SRAM具有速度快,接口简单、读写操作简便等具有速度快,接口简单、读写操作
7、简便等特点,但其存储容量小,价格也偏高,故通常在特点,但其存储容量小,价格也偏高,故通常在多级存储系统中被用于构成多级存储系统中被用于构成cache存储器。存储器。5.2 5.2 随机存储器随机存储器 常用的常用的SRAMSRAM芯片有芯片有:n Intel公司生产的公司生产的21142114、21282128、61166116、62646264、6225662256等。等。如如HY6116HY6116,HM62256HM62256,HM628128,HM628128,等等等等n 容量容量:1K:1K4,1K4,1K8,2K8,2K8,K8,K8,512K8,512K8 8n现以现以21142
8、114芯片为例对芯片为例对SRAMSRAM的芯片特性和接口方法进行介绍。的芯片特性和接口方法进行介绍。A5A0A2A1CS-1921141810VCCA9I/O1A6A4A3A7A8I/O2I/O3WE-符 号引脚名 A0A9地址输入 I/01I/04数据输入/输出 CS-片选 WE-写允许VCC、GND电源、地1.1.芯片特性芯片特性 Intel 2114是一种存储容量为是一种存储容量为1K1K4 4位,存取时间位,存取时间最大为最大为450ns450ns的的SRAMSRAM芯片。如下图:芯片。如下图:2.内部结构A3A4A5A6A7A8行选择64 64存储矩阵.VCCGND输入数据控制I/
9、O1I/O2I/O3I/O4列 I/O 电路列选择.A0A2A1A9CSWE片选及读写控制电路:片选及读写控制电路:用于实现对芯片的选择及读写控制用于实现对芯片的选择及读写控制存储矩阵存储矩阵:Intel 2114内部共有内部共有4096个存储电路,排成个存储电路,排成6464的短阵形式的短阵形式地址译码器:地址译码器:输入为输入为10根线,采用两级译码方式,其中根线,采用两级译码方式,其中6根用于行译码,根用于行译码,4根用于列译码;根用于列译码;I/O控制电路控制电路:分为输入数据控制电路和列:分为输入数据控制电路和列IO电路,用于对信息的输入输出进行缓电路,用于对信息的输入输出进行缓 冲
10、和控制;冲和控制;A0A7:地址信号的输入引脚,用来分时接收CPU送来的8位行、列地址;RAS:行地址选通信号输入引脚,低电平有效,兼作芯片选择信号。当为低电平时,表明芯片当前接收的是行地址;CAS:列地址选通信号输入引脚,低电平有效,表明当前正在接收的是列地址(此时应保持为低电平);WE:写允许控制信号输入引脚,当其为低电平时,执行写操作;否则,执行读操作。DIN:数据输入引脚;DOUT:数据输出引脚;VDD:十5V电源引脚;Css:地;N/C:未用引脚 NCDINWERASRASA0A1A2VDD182164DRAM169VSSCASDOUTA6A3A4A5A7引脚排列图二、二、DRAM1
11、.1.芯片特性芯片特性 Intel 2164是一种存储容是一种存储容量为量为64K64K1 1位、最大存取位、最大存取时间为时间为200ns200ns、刷新时间、刷新时间间隔为间隔为2ms2ms的的DRAMDRAM芯片。芯片。2.Intel 2164的内部结构的内部结构8位地址锁存器1/4I/O门 输出缓冲器A0A1A2A3A4A5A6A7DOUTVDDVSS行时钟缓冲器列时钟缓冲器写允许时钟缓冲器数据输入缓冲器RASCASWEDIN128128存储矩阵1/128行译码器128128存储矩阵128读出放大器(1/128列译码器)128读出放大器128读出放大器128读出放大器(1/128列译码
12、器)128128存储矩阵128128存储矩阵1/128行译码器2.2.接口方法接口方法 DRAM DRAM控制器一般由如下部分组成:控制器一般由如下部分组成:地址多路开关:地址多路开关:由于要向由于要向DRAMDRAM芯片分时送出行地址和列地址,所以必须具有芯片分时送出行地址和列地址,所以必须具有多路开关,把来自多路开关,把来自CPUCPU的地址变成行地址和列地址分两次送出。的地址变成行地址和列地址分两次送出。刷新定时器:刷新定时器:用来定时提供刷新请求。用来定时提供刷新请求。刷新地址计数器:刷新地址计数器:提供刷新的地址,每刷新一行,计数器自动加提供刷新的地址,每刷新一行,计数器自动加1 1
13、,全部行刷,全部行刷新一遍后自动归零,重复刷新过程。新一遍后自动归零,重复刷新过程。仲裁电路:仲裁电路:当来自当来自CPUCPU的访问存储器请求和来自刷新的访问存储器请求和来自刷新定时器的刷新请求同时产生时,对二者的优定时器的刷新请求同时产生时,对二者的优先权进行裁定。先权进行裁定。时序发生器:时序发生器:提供行地址选通信号提供行地址选通信号RASRAS、列地址选通信、列地址选通信号号CASCAS和写允许信号和写允许信号WEWE,以满足对存储器进行,以满足对存储器进行访问及对芯片进行刷新的要求。访问及对芯片进行刷新的要求。CPU刷新定时器仲裁电路时序发生器刷新地址计数器地址多路开关DRAM读/
14、写地址总线地址RASCASWRDRAM控制的逻辑框图三、存储器扩展技术 对于存储体中存储单元的排列方式,通常分为字对于存储体中存储单元的排列方式,通常分为字结构方式和位结构方式两种。结构方式和位结构方式两种。字结构方式:字结构方式:指芯片上所有的存储元排列成不同的存储单元,指芯片上所有的存储元排列成不同的存储单元,每个单元一个字,每个字的各位在同一芯片内。如:每个单元一个字,每个字的各位在同一芯片内。如:1K*8位结构方式:位结构方式:指芯片上所有的存储元排列成不同的存储单元,每指芯片上所有的存储元排列成不同的存储单元,每个单元一位,即所有存储元排列成不同字的同一位。如:个单元一位,即所有存储
15、元排列成不同字的同一位。如:8K*1例例1 用用1K4的的2114芯片构成芯片构成lKB B的存储器系统的存储器系统 分析:分析:由于每个芯片的容量为由于每个芯片的容量为1K,故满足存储器系统的容,故满足存储器系统的容量要求。但由于每个芯片只能提供量要求。但由于每个芯片只能提供4位数据,故需用位数据,故需用2片这片这样的芯片,它们分别提供样的芯片,它们分别提供4位数据至系统的数据总线,以满位数据至系统的数据总线,以满足存储器系统的字长要求。足存储器系统的字长要求。设计要点设计要点:将每个芯片的将每个芯片的10位地址线位地址线按引脚名称一一并联,按按引脚名称一一并联,按次序逐根接至系统地址总线的
16、低次序逐根接至系统地址总线的低10位。位。数据线数据线则按芯片编号连接,则按芯片编号连接,1号芯片的号芯片的4位数据线依位数据线依次接至系统数据总线的次接至系统数据总线的D0-D3,2号芯片的号芯片的4位数据位数据线依次接至系统数据总线的线依次接至系统数据总线的D4-D7。两个芯片的两个芯片的WE端端并在一起后接至系统控制总线的并在一起后接至系统控制总线的存储器写信号(如存储器写信号(如CPU为为8086/8088,也可由和,也可由和M或或IO/的组合来承担)。的组合来承担)。CSCS引脚也分别并联后接至地址译码器的输出,而地引脚也分别并联后接至地址译码器的输出,而地址译码器的输入则由系统地址
17、总线的高位来承担。址译码器的输入则由系统地址总线的高位来承担。A11A10译码器A9A9A0A0W RW EI/OI/OCS2114(1).D0D3D4D7A9A0W EI/OI/OCS2114(2).8088Y0M/IO 当存储器工作时,系统根据高位地址的译码同时选中两个当存储器工作时,系统根据高位地址的译码同时选中两个芯片,而地址码的低位也同时到达每一个芯片,从而选中它们芯片,而地址码的低位也同时到达每一个芯片,从而选中它们的同一个单元。在读的同一个单元。在读/写信号的作用下,两个芯片的数据同时读写信号的作用下,两个芯片的数据同时读出,送上系统数据总线,产生一个字节的输出,或者同时将来出,
18、送上系统数据总线,产生一个字节的输出,或者同时将来自数据总线上的字节数据写入存储器。自数据总线上的字节数据写入存储器。目前广泛使用的典型EPROM芯片有Intel公司生产的2716、2732、2764、27128、27256、27512等;n其容量分别为2K8位至64K8,512K8 位;n封装形式:前两种为24脚双列可直插式封装,后几种为28脚双列直插式封装。5.3 只读存储器只读存储器一、可擦除可编程的一、可擦除可编程的ROMCE/PGM1241213A7A1A0O0O1O3GNDVCCA8A9VPPOEA10O3O7Intel 2716芯片引脚排列图 1.1.芯片特性芯片特性 Intel
19、 2716:容量为16K(2K8位);存取时间:约450ns;单一的+5V电源。各引脚的功能如下:Al0A0:地址信号输入引脚,可寻址芯片的2K个存储单元;O7O0:双向数据信号输入输出引脚;CE:片选信号输入引脚,低电平有效,只有当该引脚转入低电平时,才能对相应的芯片进行操作;OE:数据输出允许控制信号引脚,输入,低电平有效,用以允许数据输出;Vcc:+5v电源,用于在线的读操作;VPP:+25v电源,用于在专用装置上进行写操作;GND:地。2.内部结构A1A2A3A4A5A6A7O1O2O0A0地VC CA8A9VP PO EA1 0C EO7O6O5O4O3VC C地VP PO EO E
20、输 出 允 许 片 选 和 编 程 逻 辑译 码y x译 码输 出 缓 冲.门y1 6 K B i t存 储 矩 阵地 址 输 入 数 据 输 出O0O7A0A1 01234567891 01 11 2 1 31 41 51 61 71 81 92 02 12 22 32 4 存储阵列:Intel2716存储器芯片的存储阵列由2K8个带有浮动栅的MOS管构成,共可保存2K8位二进制信息;X译码器:又称为行译码器,可对7位行地址进行译码;Y译码器:又称为列译码器,可对4位列地址进行译码;输出允许、片选和编程逻辑:实现片选及控制信息的读/写;数据输出缓冲器:实现对输出数据的缓冲。为什么只需要11根
21、地址线进行片内地址译码?3.接口方法Intel2716芯片与8位CPU的连接方法如下:低位地址线、数据线直接相连;工作电源VCC直接与+5V电源相连,编程电源通常由开关控制;CE-和OE-信号分别由CPU高位地址总线和控制总线译码后产生,通常采用图5.12所示的3种方法。Intel 2716芯片与CPU的连接方法A0A10译码器A11A151A0A102716CEM 访问RDOEDOUT(a)A0A10译码器A11A15A0A102716CEOE1M 访问RDDOUT(b)RDA0A10译码器A11A15A0A102716CEM 访问OEDOUT(c)4.接口举例(1)要求 用2716 EPR
22、OM芯片为某8位微处理器设计一个16KB的ROM存储器。已知该微处理器地址线为A0A15,数据线为D0D7,“允许访存”控制信号为M,读出控制信号为RD。画出EPROM与CPU的连接框图。(2)分析 由于每个芯片的字长为8位,故满足存储器系统的字长要求。但由于每个芯片只能提供2K个存储单元,故需用8片这样的芯片,以满足存储器系统的容量要求。(3)设计要点 先将每个芯片的11位地址线按引脚名称一一并联,然后按次序逐根接至系统地址总线的低11位。将每个芯片的8位数据线依次接至系统数据总线的D0-D7。8个芯片的OE端并在一起后接至系统控制总线的存储器读信号它们的片选引脚分别接至地址译码器的不同输出
23、,地址译码器的输入则由系统地址总线的高位来承担。+5V图5.13 EPROM与CPU连接框图74LS138G2A G2BG1D0 D7A0 A10Y0CPUA11 A13MO0 O72716(2)OE CEO0 O72716(1)OE CEO0 O72716(8)OE CE+5V+25VVPPVCC+5VGNDRDY1Y72k2k(4)实现当存储器工作时,根据高位地址的不同,系统通过译码器分别选中不同的芯片,当存储器工作时,根据高位地址的不同,系统通过译码器分别选中不同的芯片,低位地址码则同时到达每一个芯片,选中它们的相应单元。在读信号的作用下,低位地址码则同时到达每一个芯片,选中它们的相应单
24、元。在读信号的作用下,选中芯片的数据被读出,送上系统数据总线,产生一个字节的输出。选中芯片的数据被读出,送上系统数据总线,产生一个字节的输出。EEPROM的读写操作与的读写操作与SRAM,EPROM基基本相同,不过变成写入的时间较长,写入一个本相同,不过变成写入的时间较长,写入一个字节需字节需1-5ms。在大量的内容需要修改时,花费。在大量的内容需要修改时,花费时间较多。时间较多。因因EEPROM是非易失存储器,而且可以在线是非易失存储器,而且可以在线擦除和写入,因而非常适合在嵌入式系统中用擦除和写入,因而非常适合在嵌入式系统中用于一些偶尔需要修改的少量的参数。于一些偶尔需要修改的少量的参数。
25、二、电可擦除可编程的二、电可擦除可编程的ROM三、三、闪速存储器闪速存储器1、闪存的组织结构、闪存的组织结构闪存有两种组织结构:按页面组织和按区块组织。闪存有两种组织结构:按页面组织和按区块组织。按页面组织:按页面组织的闪存,其内部有一页缓按页面组织:按页面组织的闪存,其内部有一页缓存。闪存的存储体按页面组织,页缓存的大小与存存。闪存的存储体按页面组织,页缓存的大小与存储体的页大小一致,速度快。储体的页大小一致,速度快。按区块组织:按区块组织的闪存,提供字节、区块按区块组织:按区块组织的闪存,提供字节、区块和芯片擦除能力,编程较灵活。和芯片擦除能力,编程较灵活。在微机系统中,CPU对存储器进行
26、读写操作,首先首先要由地址总线给出地址信号,选择要进行读/写操作的存储单元,然然后后通过控制总线发出相应的读/写控制信号,最后最后才能在数据总线上进行数据交换。所以,存储器芯片与CPU之间的连接,实质上就是其与系统总线的连接,包括:地址线的连接;数据线的连接;控制线的连接;在连接中要考虑的问题有以下几个方面:5.4 存储器与存储器与CPU的连接的连接一、存储器接口应考虑的几个问题1.存储器与CPU之间的时序配合 CPU在取址和存储器读或写操作时,是有固定时序的,用户要根据这些来确定对存储器存取速度的要求,或在存储器已经确定的情况下,考虑是否需要Tw周期,以及如何实现。2.CPU总线负载能力;在
27、设计CPU芯片时,一般考虑其输出线的直流负载能力,为带一个TTL负载。现在的存储器一般都为现在的存储器一般都为MOS电路,直流负载很小,主电路,直流负载很小,主要的负载是电容负载要的负载是电容负载.故在小型系统中,CPU是可以直接与存储器相连的,而较大的系统中,若CPU的负载能力不能满足要求,可以(就要考虑CPU能否带得动,需要时就要加上缓冲器,)由缓冲器的输出再带负载。3.存储芯片的选用:包括存储器容量及存储器空间的安排 内存通常分为RAM和ROM两大部分,而RAM又分为系统区(即机器的监控程序或操作系统占用的区域)和用户区,用户区又要分成数据区和程序区,ROM的分配也类似,所以内存的地址分
28、配是一个重要的问题。另外,目前生产的存储器芯片,单片的容量仍然是有限的,通常总是要由许多片才能组成一个存储器,这里就有一个如何产生片选信号的问题。芯片类型的选用 芯片型号的选用4 数据总线宽度数据总线宽度也是存储器结构的决定因素。数据总线宽度也是存储器结构的决定因素。如:对如:对8位数据总线的系统,其存储空间是一个存储体,位数据总线的系统,其存储空间是一个存储体,每个存储单元存放每个存储单元存放1个字节,存储芯片内存储器地址是连个字节,存储芯片内存储器地址是连续的;续的;对对16位数据总线的系统,存储空间被分为两个存储体,偶位数据总线的系统,存储空间被分为两个存储体,偶存储体占用偶存储空间,奇
29、存储体占用奇存储空间,而每存储体占用偶存储空间,奇存储体占用奇存储空间,而每个存储体地址空间是不连续的。个存储体地址空间是不连续的。二、存储器地址译码方法1.片选控制的译码方法 常用的片选控制译码方法有线选法、全译码法、部分译码法和混合译码法等。存储器的地址译码是任何存储系统设计的核心,目的是保证CPU能对所有存储单元实现正确寻址。存储器的地址译码被分为片选控制译码片选控制译码和片内地址译码片内地址译码两部分。(1)1KBCS(2)1KBCS(3)1KBCS(3)1KBCS1111A10A11A13A12A0A9图5.4 线选结构示意图(1 1)线选法)线选法 当存储器容量不大,所使用的存储芯
30、片数量不多,而CPU寻址空间远远大于存储器容量时,可用高位地址线直接作为存储芯片的片选信号,每一根地址线选通一块芯片,这种方法称为线选法。优点优点:连线简单,片选控制无需专门的译码电路。连线简单,片选控制无需专门的译码电路。缺点缺点:(1)当存在空闲地址线时,由于空闲地址线可随)当存在空闲地址线时,由于空闲地址线可随意取值意取值1或或0,故将导致地址重叠。,故将导致地址重叠。(2)整个存储器地址分布不连续,使可寻址范围)整个存储器地址分布不连续,使可寻址范围减小。减小。(2 2)全译码法)全译码法 将低位地址总线直接与各芯片的地址线相连,高位地址总线全部经译码后作为各芯片的片选信号。8KB(2
31、)CS 8KB(1)CS 8KB(8)CS 3-8译码器A0A12A13A15Y0Y1Y7图5.5 全译码法结构示意图.全译码法可以提供对全存储空间的寻址能力。当存储器容量全译码法可以提供对全存储空间的寻址能力。当存储器容量小于可寻址的存储空间时,可从译码器输出线中选出连续的几根小于可寻址的存储空间时,可从译码器输出线中选出连续的几根作为片选控制,多余的空闲下来,以便需要时扩充作为片选控制,多余的空闲下来,以便需要时扩充.优点:优点:存储器的地址是连续的且唯一确定的,即无地址间存储器的地址是连续的且唯一确定的,即无地址间 断和地址重叠。断和地址重叠。(3 3)部分译码法)部分译码法 将高位地址
32、线中的一部分进行译码,产生片选信号。常用于不需要全部地址空间的寻址能力,但采用线选法地址线又不够用的情况。8KB(2)CS 8KB(1)CS 8KB(3)CS 2-4译码器A0A12A13A14Y0Y1Y4 8KB(4)CSA15(不参加译码)(4)(4)混合译码法混合译码法 将线选法与部分译码法相结合的一种方法。该法将用于片选控制的高位地址分为两组,其中一组的地址采用部分译码法,经译码后的每一个输出作为一块芯片的片选信号;另一组地址则采用线选法,每一位地址线作为一块芯片的片选信号。2KB(8)CS 2KB(1)CS 2KB(9)CS 3-8译码器A0A10A11A13Y0Y1Y7 2KB(1
33、0)CSA15.11A14缺点:缺点:与线选法相同,存在地址重叠和地址不连续的问题。与线选法相同,存在地址重叠和地址不连续的问题。2、地址译码电路的设计 存储器地址译码电路的设计一般遵循如下步骤:根据系统中实际存储器容量,确定存储器在整个寻址空间中的位置;根据所选用存储芯片的容量,画出地址分配图或列出地址分配表;根据地址分配图或分配表确定译码方法并画出相应的地址位图;选用合适器件,画出译码电路图。例1:某微机系统地址总线为16位,实际存储器容量为16KB,ROM区和RAM区各占8KB。其中,ROM采用2KB的EPROM,RAM采用1KB的RAM,试设计译码电路.设计的一般步骤:该系统的寻址空间
34、最大为64KB,假定实际存储器占用最低16KB的存储空间,即地址为0000H3FFFH。其中0000H1FFFH为EPROM区,2000H3FFFH为RAM区。2KB2KB2KB2KB1KB1KB1KB1KB1KB1KB1KB1KB0000H2000H3FFFH4000HROM区RAM区地址分配图 根据所采用的存储芯片容量,可画出地址分配图;确定地址分配表 确定译码方法并画出相应的地址位图。EPROM(需要4片):容量2K,需要11根地址线;RAM(需要8片):容量1K,只需10根地址线。对于这类译码问题的解决方法:用各自的译码电路分别产生各自的片选信号;分两次译码,即先按容量大的进行一次译码
35、,将一部分输出作为大容量芯片的片选信号,另外一部分输出则与其他相关地址一起进行二次译码,产生小容量芯片的片选信号。Y0(1)A1174LS138ABCG2AG2BG1A12A13A14A15+5V译码器11111111Y4Y1Y2Y3Y5Y6Y71A10(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)4片EPROM8片RAM图5.10 片选控制译码电路图 根据地址位图,可考虑用3-8译码器完成一次译码,用适当逻辑门完成二次译码三、存储器与控制总线、数据总线的连接1.存储器与控制总线的连接A.ROM:CS-片选和存储器读B.RAM:(1)CS作片选,WR控制读写;(2)用
36、OE和WE分别控制读、写,CE控制芯片选通2.存储器与数据总线的连接D0D7,D0D155.5 5.5 高速缓冲存储器高速缓冲存储器 一、一、问题的提出问题的提出 微机系统中的内部存储器通常采用动态微机系统中的内部存储器通常采用动态RAM构成,构成,具有价格低,容量大的特点,但由于动态具有价格低,容量大的特点,但由于动态RAM采用采用MOS管电容的充放电原理来表示与存储信息,其存取管电容的充放电原理来表示与存储信息,其存取速度相对于速度相对于CPU的信息处理速度来说较低。这就导致的信息处理速度来说较低。这就导致了两者速度的不匹配,也就是说,了两者速度的不匹配,也就是说,慢速的存储器限制慢速的存
37、储器限制了高速了高速CPU的性能,影响了微机系统的运行速度的性能,影响了微机系统的运行速度,并,并限制了计算机性能的进一步发挥和提高。高速缓冲存限制了计算机性能的进一步发挥和提高。高速缓冲存储器就是在这种情况下产生的。储器就是在这种情况下产生的。二、二、Cache-主存存储结构及其实现主存存储结构及其实现 为了解决存储器系统的容量、存取速度及单位成本之为了解决存储器系统的容量、存取速度及单位成本之间的矛盾,可以采用间的矛盾,可以采用Cache-主存存储结构,即主存存储结构,即在主存和在主存和CPU之间设置高速缓冲存储器之间设置高速缓冲存储器Cache,把正在执行的指令,把正在执行的指令代码单元
38、附近的一部分指令代码或数据从主存装入代码单元附近的一部分指令代码或数据从主存装入Cache中,供中,供CPU在一段时间内使用。在一段时间内使用。优点:优点:1.Cache的读写速度几乎能够与的读写速度几乎能够与CPU进行匹配,所以微机系统进行匹配,所以微机系统的存取速度可以大大提高;的存取速度可以大大提高;2.Cache的容量相对主存来说并的容量相对主存来说并不是太大,所以整个存储器系不是太大,所以整个存储器系统的成本并没有上升很多。统的成本并没有上升很多。CPU地址索引机构置换控制器高速缓冲存储器主存段(页)地址高位地址低位地址地址总线数据总线图5.21 Cache结构框图高速缓冲存储器高速
39、缓冲存储器用于存用于存入要访问的内容入要访问的内容,即当前,即当前访问最多程序代码和数据;访问最多程序代码和数据;地址索引机构中存放着地址索引机构中存放着与高速缓冲存储器内容相与高速缓冲存储器内容相关的高位地址,当访问高关的高位地址,当访问高速速缓冲存储器命中时,用缓冲存储器命中时,用来和地址总线上的低位地来和地址总线上的低位地址一起形成访问缓冲存储址一起形成访问缓冲存储器地址;器地址;而置换控制器则按照一而置换控制器则按照一定的置换算法定的置换算法控制高速缓控制高速缓冲存储器中内容的更新冲存储器中内容的更新。四、四、Cache-主存存储结构的命中率主存存储结构的命中率 命中率命中率指指CPU
40、所要访问的信息在所要访问的信息在Cache中的比率,相应地将所要中的比率,相应地将所要访问的信息不在访问的信息不在Cache中的比率称为失效率。中的比率称为失效率。Cache的命中率除了与的命中率除了与Cache的容量有关外,还与地址映象的方式的容量有关外,还与地址映象的方式、替换策略、页的大小等因素有关。、替换策略、页的大小等因素有关。目前,目前,Cache存储器容量主要有存储器容量主要有256KB和和512KB等。这些大容量等。这些大容量的的Cache存储器,使存储器,使CPU访问访问Cache的命中率高达的命中率高达90至至99,大,大大提高了大提高了CPU访问数据的速度,提高了系统的性
41、能。访问数据的速度,提高了系统的性能。五、五、两级两级Cache-主存存储结构主存存储结构 CPU内部的内部的Cache与主机板上的与主机板上的Cache就形成两级就形成两级Cache结构。结构。CPU工作时,首先在第一级工作时,首先在第一级Cache(微处理器内的微处理器内的Cache)中查找数据中查找数据,如果找不到,则在第二级,如果找不到,则在第二级Cache(主机板上的主机板上的Cache)中查找,若数中查找,若数据在第二级据在第二级Cache中,中,Cache控制器在传输据的同时,修改第一级控制器在传输据的同时,修改第一级Cache;如果数据既不在第一级;如果数据既不在第一级Cach
42、e也不在第二级也不在第二级Cache中,中,Cache控制器则从主存中获取数据,同时将数据提供给控制器则从主存中获取数据,同时将数据提供给CPU并修改并修改两级两级Cache。两级。两级Cache结构,提高了命中率,加快了处理速度,使结构,提高了命中率,加快了处理速度,使CPU对对Cache的操作命中率高达的操作命中率高达98以上。以上。六、六、Cache的基本操作的基本操作1读操作读操作 当当CPU发出读操作命令时,要根据它产生的主存地址分两种发出读操作命令时,要根据它产生的主存地址分两种情形:情形:一种是需要的数据已在一种是需要的数据已在Cache存储器中,那么只需直接访问存储器中,那么只
43、需直接访问Cache存储器,从对应单元中读取信息到数据总线;存储器,从对应单元中读取信息到数据总线;另一种是所需要的数据尚未装入另一种是所需要的数据尚未装入Cache存储器,存储器,CPU在从主在从主存读取信息的同时,由存读取信息的同时,由Cache替换部件把该地址所在的那块替换部件把该地址所在的那块存储内容从主存拷贝到存储内容从主存拷贝到Cache中。中。2写操作写操作 当当CPU发出写操作命令时,也要根据它产生的主存地址发出写操作命令时,也要根据它产生的主存地址分两种情形:分两种情形:其一,命中时,不但要把新的内容写入其一,命中时,不但要把新的内容写入Cache存储器中,必存储器中,必须同
44、时写入主存,使主存和须同时写入主存,使主存和Cache内容同时修改,保证主存内容同时修改,保证主存和副本内容一致,这种方法称写直达法或称通过式写和副本内容一致,这种方法称写直达法或称通过式写(Write-through,简称通写法,简称通写法);另一种方法是,先不更新主另一种方法是,先不更新主存,而是在存,而是在Cache中做以标记,当该页被淘汰时,再把该页中做以标记,当该页被淘汰时,再把该页写回主存。写回主存。其二,未命中时,许多微机系统只向主存写入信息,而不必其二,未命中时,许多微机系统只向主存写入信息,而不必同时把这个地址单元所在的主存中的整块内容调入同时把这个地址单元所在的主存中的整块
45、内容调入Cache存存储器。储器。七、地址映象方式七、地址映象方式 主存与主存与Cache之间的信息交换,是以数据块的形式来进之间的信息交换,是以数据块的形式来进行的,为了把信息从主存调入行的,为了把信息从主存调入Cache,必须应用某种函数,必须应用某种函数把主存块映象到把主存块映象到Cache块,块,称作地址映象。称作地址映象。地址映射只需对页地址进行映射。根据不同的地址对应地址映射只需对页地址进行映射。根据不同的地址对应方法,地址映象的方式通常有方法,地址映象的方式通常有直接映象、全相联映象和组相直接映象、全相联映象和组相联映象联映象三种。三种。1直接映象直接映象 每个主存块映象到每个主
46、存块映象到CacheCache中的一个指定块的方式称为直接映象中的一个指定块的方式称为直接映象 地址映象的方法地址映象的方法:将主存的空间按将主存的空间按Cache的大小进行分区,每区内相同的大小进行分区,每区内相同的块号映象到的块号映象到Cache中相同中相同的块的位置。的块的位置。直接映像示意图直接映像示意图 优点:优点:实现简单实现简单缺点:缺点:不够灵活,尤其是当不够灵活,尤其是当程序往返访问两个相互冲突程序往返访问两个相互冲突的块中的数据时,的块中的数据时,Cache的的命中率将急剧下降。命中率将急剧下降。2全相联映象全相联映象 允许主存中的每一个字块映象到允许主存中的每一个字块映象
47、到Cache存储器的任存储器的任何一个字块位置上,也允许从确实已被占满的何一个字块位置上,也允许从确实已被占满的Cache存存储器中替换出任何一个旧字块。当访问一个块中的数据储器中替换出任何一个旧字块。当访问一个块中的数据时,块地址要与时,块地址要与Cache块表中的所有地址标记进行比较块表中的所有地址标记进行比较以确定是否命中。以确定是否命中。优点:块冲突的概率低,Cache的利用率高缺点:全相联Cache中块表查找的速度慢,由于Cache的速度要求高,因此全部比较和替换策略都要用硬件实现,控制复杂,实现起来也比较困难。3组相联映象组相联映象 组相联映象方式是全相联映象和直接映象的一种折衷方
48、案。组相联映象方式是全相联映象和直接映象的一种折衷方案。这种方法将存这种方法将存储空间分成若干组,各组是储空间分成若干组,各组是全相联全相联映象,而组内映象,而组内各块则是直接映象各块则是直接映象。八、替换策略八、替换策略 由于由于Cache的存储空间较小,主存的存储空间较大,因的存储空间较小,主存的存储空间较大,因此,此,Cache中的一个存储块要与主存中的若干个存储块相对中的一个存储块要与主存中的若干个存储块相对应,若在调入主存中一个存储块时,应,若在调入主存中一个存储块时,Cache中相应的位置已中相应的位置已被其它存储块占有,则必须去掉被其它存储块占有,则必须去掉个旧的字块,让位于一个
49、旧的字块,让位于一个新的字块。这称为替换策略或替换算法。个新的字块。这称为替换策略或替换算法。常用的替换策略是常用的替换策略是:随机替换法随机替换法先进先出先进先出(FIFO)策略:易实现策略:易实现近期最少使用近期最少使用(LRU)策略:这种替换策略需随时记录策略:这种替换策略需随时记录Cache存储存储器中各个字块的使用情况,以便确定哪个字块是近期最少使用的器中各个字块的使用情况,以便确定哪个字块是近期最少使用的字块。字块。1.要求:系统对存储器的要求是容量大、速度快、成本低,但这三者在同一个存储器中不可兼得。2.解决:采用分级存储器结构,通常将存储器分为高速缓冲存储器、主存储器和外存存储器三级。5.6 PC微机的存储器微机的存储器中央处理器主存外存快存CPUM1M2M3三级存储器的结构示意图外存外存存储卡存储卡光盘光盘磁盘磁盘The end!
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。