存储器的分类和主要性能指标(微机原理).ppt
西南大学电子信息工程学院,1,6.1 存储器的分类和主要性能指标,存储器是计算机系统的记忆设备。它用来存放计算机的程序指令、要处理的数据、运算结果以及各种需要计算机保存的信息,是计算机中不可缺少的一个重要组成部分。1、存储器的分类(1)按存储器与中央处理器的关系分内部存储器外部存储器,西南大学电子信息工程学院,2,作用:保存正在执行的程序和数据;掩膜型ROM 主存储器 可一次编程PROM(内存)ROM 紫外线擦除的 EPROM 电可擦除的EEPROM微型计算机 元件:快擦型Flash MEM的存储器由 静态RAM RAM 动态RAM 作用:保存主存的副本或暂时不执行的 辅助存储器 程序和数据;(外存)软/硬磁盘 介质:光盘 磁带等,西南大学电子信息工程学院,3,(2)按存储介质划分 磁芯存储器半导体存储器磁泡存储器磁表面存储器激光存储器等本章主要讲授半导体存储器。在微型计算机中,半导体存储器主要作为内存储器使用。,西南大学电子信息工程学院,4,半导体存储器的分类:按工作方式分 按制造工艺分 按存储机理分 双极型RAM 随机存取存储器 静态读写存储器(SRAM)(RAM)金属氧化物型(MOS)RAM 动态读写存储器(DRAM)ROM PROM 只读存储器 EPROM(R0M)E2PROM 闪速E2PROM(FLASH),西南大学电子信息工程学院,5,2、内存储器的主要性能指标内存储容量 表示一个计算机系统内存储器存储数据多少的指标。存储容量=字数 字长注意:以字节为单位。内存容量与内存空间的区别内存容量:若某微机配置2条128MB的SDRAM内存条,则其内存容量为256MB。内存空间:又称为存储空间、寻址范围,是指微机的寻址 能力,与CPU被使用的地址总线宽度有关。,西南大学电子信息工程学院,6,芯片容量 是指一片存储器芯片所具有的存储容量。例如:SRAM芯片6264的容量为8K8bit,即它有8K个单元,每个单元存储8位(一个字节)二进制数据。DRAM芯片NMC4l256的容量为256Klbit,即它有256K个单元,每个单元存储1位二进制数据。最大存取时间 内存储器从接收寻找存储单元的地址码开始,到它取出或存入数码为止所需要的最长时间。,西南大学电子信息工程学院,7,功耗 包括“维持功耗”和“操作功耗”两种。可靠性 一般指存储器对电磁场及温度等变化的抗干扰能力。通常用“平均无故障时间”来表示。目前所用的半导体存储器芯片的平均故障间隔时间(MTBF)约为5l06l108小时左右。,西南大学电子信息工程学院,8,集成度 每片存储器芯片上集成的基本存储单元的个数。常用存储器芯片有:1K位/片,如:Intel 2115A(1K1);16K位/片,如:MCM2167H35L(16K1);64K位/片,如:MCM62L67-35L(64K1);256K位/片,如:MCM6205NJ17(32K8);,西南大学电子信息工程学院,9,6.2 半导体存储器件只读存储器(ROM)ROM具有掉电后信息不会丢失的特点,一般用于存放固定的程序和数据等。如监控程序、BIOS程序、字库等。ROM的结构和特点,西南大学电子信息工程学院,10,薄栅氧化层的管子为正常开启 厚栅氧化层的管子为高开启,ROM的分类 按生产工艺和工作特性分为:掩膜编程的ROM(Mask Programmed ROM)例如:采用“并联单元阵列”的掩膜ROM,西南大学电子信息工程学院,11,可编程只读存储器(Programmable ROM)有“熔断丝型”和“PN结击穿型”两种。用户可以对其一次性编程,重复读出。熔断丝型PROM是以熔丝的接通或断开来表示存储信息是“1/0”。例如:熔断丝型84ROM,西南大学电子信息工程学院,12,可擦可编程只读存储器(EPROM),EPROM 2732 4K8,EPROM 27C020 256K8,西南大学电子信息工程学院,13,可电擦除只读存储器(E2PROM),E2PROM 有多种电路结构。右图为Flotox结构的E2PROM结构剖面图。厚度200埃,在场强107V/cm时,下漏与浮栅之间可以进行双向电子运动,实现对单元的擦和写。例如:Intel 2816 E2PROM 容量为 2K8,Flotox E2PROM的单元电路,西南大学电子信息工程学院,14,快擦除读写存储器(Flash Memory),写入速度类似于RAM,掉电后内容又不丢失的一种新型EPROM。Intel 公司的Flash Memory:28F001BX(1Mb);28F200BX(2Mb);28F400BX(4Mb);28F008SA(8Mb);Flash Memory的主要应用:作为代码存储器;作为固态大容量存储器;用作固态盘。,西南大学电子信息工程学院,15,随机存取存储器RAM RAM主要用来存放当前运行的程序、各种输入/输出数据、中间运算结果及堆栈等,其内容可随时读出、写入或修改,掉电后内容会全部丢失。SRAM的基本结构,西南大学电子信息工程学院,16,实用静态存储器芯片举例 6264芯片是8K8bit的CMOS SRAM静态存储器。6264存储芯片的引线及其功能,西南大学电子信息工程学院,17,SRAM 6264操作时序图 写操作时序图,读操作时序图,西南大学电子信息工程学院,18,6264在8088系统中的应用,6264的全地址译码连接图,用138译码器实现全地址译码连接,西南大学电子信息工程学院,19,6264芯片在上述系统中的地址范围:A19A18A17A16A15A14A13A12A11A0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1所以该6264芯片的地址范围为3E000H3FFFFH,西南大学电子信息工程学院,20,6.3 SRAM、ROM与CPU的连接方法要解决的技术问题 SRAM、ROM的速度要满足CPU的读/写要求;SRAM、ROM的字数和字长要与系统要求一致;所构成的系统存储器要满足CPU自启动和正常运行条件。存储器扩展技术 当单个存储器芯片不能满足系统字长或存储单元个数的要求时,用多个存储芯片的组合来满足系统存储容量的需求。这种组合就称为存储器的扩展。存储器扩展的几种方式:位扩展 当单个存储芯片的字长(位数)不能满足要求时,就需要进行位扩展。,西南大学电子信息工程学院,21,位扩展方法:将每个存储芯片的地址线、控制线“同名”并连在一起,数据线分别连接至系统数据总线的不同位上。例如:用4K4位的SRAM芯片构成4K8位的存储器。,西南大学电子信息工程学院,22,字扩展 当单片存储器的字长满足要求,而存储单元的个数不能够时,就需要进行字扩展。字扩展方法:将每个芯片的地址线、数据线和读/写控制线等按信号名称并连在一起,只将选片端分别引到地址译码器的不同输出端,即用片选信号来区别各个芯片的地址。,西南大学电子信息工程学院,23,例如:用两片64K8位的SRAM芯片构成容量为128KB的存储器。,两片芯片的地址范围:20000H2FFFFH和30000H3FFFFH。,西南大学电子信息工程学院,24,字位扩展 在构成一个实际的存储器时,往往需要同时进行位扩展和字扩展才能满足存储容量的需求。设系统存储器容量为:MN位 使用的存储器芯片容量为:LK位(LM,KN)则需要存储器数量为:(ML)(NK)片,西南大学电子信息工程学院,25,例如:用Intel 2164构成容量为128KB的内存。解:求所需存储器芯片数量 2164是64K1位的芯片所需的芯片数为(128/64)(8/1)=16(片)地址线的分配寻址(217=128K)个内存单元至少需要17位地址信号线。其中,寻址2164内部(216=64K)需要16位地址信号(分为行和列),余下的1根地址线用于区分两个64KB的存储模块。,西南大学电子信息工程学院,26,画出逻辑电路图(控制线未画)芯片地址范围:00000H-0FFFFH和10000H-1FFFFH,西南大学电子信息工程学院,27,片选信号的产生方法 产生片选信号的方法很多,归纳起来有三种:(设该存储器工作在8088CPU系统中)线选法 用剩余的高位地址线作为片选信号。上例中芯片使用地址线A0A15,则A16A19为剩余的高位地址线,都可以作为片选信号。优点:线路简单,成本低;缺点:芯片组地址不连续,容易产生总线冲突。,西南大学电子信息工程学院,28,全译码法 用剩余的所有高位地址线经译码器产生各存储器芯片的片选信号,使每一个存储器单元在整个内存空间中具有唯一的一个地址。在上例中,可用高位地址线A16A19,经译码器产生24个译码输出,从中选择Y0-Y1作为片选信号。优点:每个存储单元地址是唯一的,芯片组地址连续,不会产生总线冲突;缺点:译码电路太复杂,成本高。,西南大学电子信息工程学院,29,部分地址译码法 仅用剩余高位地址线的一部分(而不是全部)译码产生片选信号。在上例中,仅用A16经译码器产生Y0-Y1作为片选信号。优点:译码电路简单,且可使芯片组地址连续,也不会产生总线冲突;缺点:每个存储单元有多个重叠地址,但不影响 正常操作。,西南大学电子信息工程学院,30,应用举例 8位存储器接口(用于8088、80188的8位数据总线)例1:用UVEPROM 2764和SRAM 6264组成8088的内存储器,要求形成16KB ROM和16KB RAM。解:分析 UVEPROM 2764和SRAM 6264 都是8K8的存储器;而系统存储器都是16KB=16K8。ROM和RAM都只需要进行字数扩展,各需要 16K/8K8/8=2(片)系统存储器需要地址线:log232K=15(根)存储器芯片需要地址线:log28K=13(根)用15-13=2根高位地址线译码产生片选信号线。,西南大学电子信息工程学院,31,地址分配 要考虑CPU自启动条件,在8088系统中存储器操作时IO/M=0,ROM要包含0FFFF0H单元,正常运行时要用到中断向量区0000:0000-0000:003FFH,所以RAM要包含这个区域。A19 A18 A17 A16 A15 A14 A13 A12 A11 A0 芯片地址 芯片号 0 0 0 0 0 00000H SRAM 1#0 0 1 1 1 01FFFH SRAM 1#0 1 0 0 0 02000H SRAM 2#0 1 1 1 1 03FFFH SRAM 2#1 0 0 0 0 0FC000H ROM 1#1 0 1 1 1 0FDFFFH ROM 1#1 1 0 0 0 0FE000H ROM 2#1 1 1 1 1 0FFFFFH ROM 2#,西南大学电子信息工程学院,32,画出逻辑电路图,西南大学电子信息工程学院,33,例2:分析P245 图6.12电路,写出各存储器芯片的地址范围,西南大学电子信息工程学院,34,按图写出译码器和各存储器芯片地址分配 G2B G2A C B A 存储芯片A19 A18 A17 A16 A15A14 A13 A12 A11 A10A0 芯片地址 芯片号0 0 0 0 00 0 0 0 0 0 00000H ROM00 0 0 0 00 0 0 0 1 1 007FFH ROM00 0 0 0 00 0 0 1 0 0 00800H ROM10 0 0 0 00 0 0 1 1 1 00FFFH ROM10 0 0 0 00 0 1 0 0 0 01000H ROM20 0 0 0 00 0 1 0 1 1 017FFH ROM20 0 0 0 00 0 1 1 0 0 01800H ROM30 0 0 0 00 0 1 1 1 1 01FFFH ROM30 0 0 0 00 1 0 0 0 0 02000H RAM00 0 0 0 00 1 0 0 1 1 027FFH RAM00 0 0 0 00 1 1 1 0 0 03800H RAM30 0 0 0 00 1 1 1 1 1 03FFFH RAM3,西南大学电子信息工程学院,35,结论 该存储器电路不满足8088 CPU自启动条件,若取消A14-A19的控制,还必须将RAM和ROM的片选线对调。16位存储器接口(用于8086,80186,80286,80386SX 16位总线)8086的存储器结构,西南大学电子信息工程学院,36,应用举例 P247 例6.3 在8086系统中,存储器操作时M/IO=1,按要求确定各芯片地址:片选 芯片 片选 A19 A18 A17 A16 A15 A14 A13 A12A9 A8A5 A4A1 A0 BHEF8000H 1 1 1 1 1 0 0 0 0 0 0 00 0 1FBFFFH 1 1 1 1 1 0 1 1 1 1 1 11 1 0FC000H 1 1 1 1 1 1 0 0 0 0 0 00 0 1FFFFFH 1 1 1 1 1 1 1 1 1 1 1 11 1 0,西南大学电子信息工程学院,37,教材中这里有错,西南大学电子信息工程学院,38,32位存储器接口(用于80386DX、80486 32位总线)在80386DX和80486系统中,用BE3、BE2、BE1和BE0选择4个存储器体。如下图所示:,西南大学电子信息工程学院,39,80386DX和80486系统中的存储器写信号,西南大学电子信息工程学院,40,P250 图6.17与80486接口的256KB SRAM存储器系统,西南大学电子信息工程学院,41,64位存储器接口(用于Pentium系列 64位总线)Pentium系列微处理器(除P24T外)均采用64位数据总线,存储器分为8个存储器体,用BE7-BE0进行选择。如下图所示:,西南大学电子信息工程学院,42,Pentium系列微处理器的写选通电路,西南大学电子信息工程学院,43,P253 图6.20 64位存储器接口电路,西南大学电子信息工程学院,44,6.4 动态随机读写存储器(DRAM)在DRAM中,信息以电荷形式存储在电容器上,需要不断“刷新”才能保持信息不丢失。DRAM的集成度高、容量大、价格低,但速度较慢。常用作微机的内存储器。单管DRAM基本存储电路,西南大学电子信息工程学院,45,DRAM的工作过程以2164A为例,2164是64K1bit的DRAM存储器。,数据读出时序图,数据写入时序图,2164A引脚图,DRAM刷新时序图,西南大学电子信息工程学院,46,DRAM在系统中的连接 在微型机系统中,DRAM芯片的连接既要能够正确读写,又要能在规定的时间里对它进行刷新。因此,DRAM的连接和控制电路要比SRAM复杂得多。,西南大学电子信息工程学院,47,PC133 SDRAM,PC150 SDRAM,72线EDO DRAM,DDR SDRAM,内存条简介 内存条的种类 FPM DRAM(快页式DRAM)EDO DRAM(扩展数据输出DRAM)SDRAM(同步DRAM)DDR SDRAM(双速同步DRAM)RDRAM主要技术指标速度数据宽度的带宽内存条的“线”内存容量内存的电压内存时钟周期CAS等待时间,西南大学电子信息工程学院,48,例如:金帮公司PC-133内存条的技术指标存储容量:128MBCAS周期;2或3刷新周期:4KB/64ms,自动刷新突发长度:1,2,4,8,全页制造工艺:0.2um,6层印制板(Intel JEDEC标准)电源电压:单3.30.3V接口电平:LVTTL,西南大学电子信息工程学院,49,DRAM控制器 完成多路复用地址和产生控制信号。例如:Intel 82C08 最多可控制2个存储体;共256K16位 DRAM。,西南大学电子信息工程学院,50,用82C08 DRAM控制器组成的1MB存储器系统,西南大学电子信息工程学院,51,引入Cache的原因 原来的计算机,CPU直接与主存交换数据。主存的存取速度越来越跟不上CPU的处理速度。,6.5 高速缓冲存储器Cache,程序执行的局部性原则:在一段很短的时间内,被执行的程序代码和使用的数据,集中在很小的地址范围内。根据局部性原则,把正在执行或将要执行的程序代码和数据提前调入高速缓冲存储器中,而将暂时不执行的程序代码和数据保存在内存中,需要时再按相应的算法进行调度,以提高运行速度。,西南大学电子信息工程学院,52,于是,现在的计算机,在CPU和主存之间加了适量高速缓冲存储器(cache),它能高速地向CPU提供指令和数据,加快了程序的执行速度。解决了CPU和主存之间速度不匹配的问题。,CPU片内cache,CPU片外cache,西南大学电子信息工程学院,53,Cache的组成和结构 Cache的组成,西南大学电子信息工程学院,54,Cache的结构旁视cache,通视cache,Cache和主存并接在系统总线上,同时监视CPU的一个总线周期。,Cache 位于CPU和主存之间,CPU读主存周期受cache的监视。,西南大学电子信息工程学院,55,Cache的基本原理 CPU与Cache之间以字为单位交换数据,而Cache与主存之间以块为单位交换数据。设主存有2n个单元,分成M=2n/B块,每块B有2b字节;Cache有2s个单元,分为C=2s/B块,每块B也为2b字节。,当CPU读取主存中一个字时,便发出此字的内存地址到cache和主存。此时,cache控制逻辑依据地址判断此字当前是否在 cache中。若在,此字立即传送给CPU;否则用主存读周期把此字从主存读到CPU,并同时把含有该字的整个数据块从主存读到cache中,以备用。,西南大学电子信息工程学院,56,例如:某计算机Cache的逻辑结构,页面地址 DATA1 DATA2,Cache 共有256字,每字有40位,存一个“地址数据对”,64K内存分为128页,每页有512个地址单元,每个单元存一个16位二进制数。,页面地址 单元地址,0 DATA2选择位 1 DATA1,Cache中存储的数据:2256=512与内存的一页相同:1512=512,西南大学电子信息工程学院,57,cache的命中率命中率是指CPU要访问的信息在cache中的比率。设:在一个程序执行期间,Nc表示cache完成存取的总次数,Nm表示主存完成存取的总次数,则命中率定义为:若cache的访问时间为tc,主存访问时间为tm,1-h表示未命中率,则cache主存系统的平均访问时间ta为:ta=htc+(1-h)(tc+tm),当h=1时,ta等于cache的访问时间,当h=0时,ta等于cache与主存的访问时间之和。因此,增加cache的目的,是使cache的命中率接近于1,使cache主存系统的平均访问时间尽可能接近cache的访问时间。由于程序访问的局部性,这是可能的。,Nc h=Nc+Nm,西南大学电子信息工程学院,58,设r=tm/tc表示主存慢于cache的倍率,e表示访问效率,则有,由上式可知,为了提高访问效率,命中率h应接近于1。r值以510为宜,不宜太大。命中率h与程序的行为、cache的容量、组织方式、块的大小有关。,tc tc 1 e=ta htc+(1-h)(tm+tc)r(1-h)+1,西南大学电子信息工程学院,59,例如:CPU执行一段程序:完成cache存取的次数为Nc 1900次;完成主存存取的次数为Nm100次;已知:cache存取周期为tc50ns;主存存取周期为tm250ns。求:cache/主存系统的效率和平均访问时间。解:h=Nc/(Nc+Nm)=1900/(1900+100)=0.95r=tm/tc=250ns/50ns=5e=1/(r(1-h)+1)=1/(5(1-0.95)+1)=0.8ta=tc/e=50ns/0.8=62.5ns,西南大学电子信息工程学院,60,主存与cache的地址映射 常用的址映射方式有三种:全相联映射方式将主存中一个块的地址与块的内容一起存于cache的行中。可使主存的一个块直接拷贝到cache中任意一行上,非常灵活。,设:cache的数据块大小称为行Li,i=0,1,2m-1,共有m=2r;主存的数据块大小称为块Bj,j=0,1,2n-1,共有n=2s;行与块等长,均由k=2w个连续的字组成。,28=256块,西南大学电子信息工程学院,61,全相联映射的检索过程:,由CPU访内存指令指定一个内存地址,它由块号(s)和字(w)组成;将指令中的s与cache中所有行的标记同时进行比较;如果s被命中,就在cache中按w读取一个字。如果s未命中,则按内存地址读取该字,并同时把内存块读入Cache行中。,西南大学电子信息工程学院,62,全相联cache应用举例,西南大学电子信息工程学院,63,全相联映射的主要缺点是比较器电路难于设计和实现,因此只适合于小容量cache采用。直接映射方式一个主存块只能拷贝到cache的一个特定行位置上去。设:cache的行号为i;主存的块号为j。则有:i=j mod mm为cache的总行数。例如:设m=8,主存有256块。则:允许存于L0行的主存块有B0,B8,B16B248;允许存于L1行的主存块有B1,B9,B17B249;,西南大学电子信息工程学院,64,直接映射方式的检索过程:,由CPU访内存指令指定一个内存地址,它由tag(s-r),行号(r)和字(w)组成;先用地址中的r找到cache中的此行;后用地址中的s-r 位与此行的标记进行比较;若命中,则用地址中的w位在cache中读取所需的字。若未命中,则从内存中读取该块。,西南大学电子信息工程学院,65,直接映像cache举例,西南大学电子信息工程学院,66,直接映射方式的主要优缺点:优点:硬件简单,成本低。缺点:不灵活,每个主存块只有一个固定的行位置可存放,容易产生冲突;Cache利用率不高。因此适合大容量cache采用。,组相联映射方式是前两种映射方式的折衷。它将cache分成u组,每组v行,主存块存放到哪个组是固定的,至于存到该组哪 一行是灵活的,即有如下函数关系:muv 组号q j mod u,西南大学电子信息工程学院,67,组相联映射方式的检索过程:由CPU访内存指令指定一个内存地址,它由tag(s-d)、组号(d)和字(w)组成。,先用d在cache中找到相应组;再用 s-d 位与该组中所有行标记同时进行比较;如果有一行的标记与之相符,则命中此行,再用w 读取相应的字。如果任意行的标记不相符,则cache未命中,从内存读取数据。,西南大学电子信息工程学院,68,例如:设u=4组,v=2行,m=uv=8,主存容量为256块则:组号q j mod u 分别为,S0组:B0,B4,B8,B252;S1组:B1,B5,B9,B253;S2组:B2,B6,B10,B254;S3组:B3,B7,B11,B255.组相联映射方式的优点:每组行数v一般取值较小,这种规模的v路比较器容易设计和实现。而块在组中的排放又有一定的灵活性,可减少冲突。,西南大学电子信息工程学院,69,例如:80486 CPU内部的8KB高速缓冲器结构 采用4路组相连结构:每路2KB,128集,每集对应416字节高速缓冲器行。,西南大学电子信息工程学院,70,替换策略 当cache已被占满,又要将新的主存字块调入时,如何替换cache存储器中的内容?对直接映射的cache只要把此特定位置上的原主存块换出cache即可。对全相联和组相联cache 要从允许存放新主存块的若干特定行中选取一行换出。硬件实现的常用替换算法有三种:最不经常使用(LFU)算法 将一段时间内被访问次数最少的那行数据换出。每行设置一个计数器。从0开始计数,每访问一次,被访行的计数器增1。当需要替换时,将计数值最小的行换出,同时将该行计数器清零。,西南大学电子信息工程学院,71,近期最少使用(LRU)算法 将近期内最少使用过的行换出去。每行设置一个计数器,cache每命中一次,命中行计数器清零,其它各行计数器增1。当需要替换时,将计数值最大的行换出。此算法保护了刚拷贝到cache中的新数据行,有较高的命中率。随机替换随机替换从特定的行位置中随机地选取一行换出。优点:硬件容易实现,且速度也比前两种策略快。缺点:降低了命中率和cache工作效率。,西南大学电子信息工程学院,72,cache的写操作策略 CPU对cache的写入更改了cache的内容。如何与主存内容保持一致?有三种写操作策略:,写回法当CPU写cache命中时,只修改cache的内容,不立即写入主存,只有当此行被换出时才写回主存。优点:减少了访问主存的次数。缺点:存在不一致性的隐患;每个cache行设一个修改标志位。全写法 当写cache命中时,同时改写cache和主存;当写cache未命中时,直接向主存进行写入。优点:保证了cache与主存内容的一致性;cache中每行无需设置修改位以及相应的判断逻辑。缺点:降低了cache的功效。,西南大学电子信息工程学院,73,写一次法 写命中与写未命中的处理方法与写回法基本相同,只是第一次写命中时要同时写入主存。以便维护系统全部cache的一致性。奔腾PC机的cache 奔腾PC机采用两级cache结构。,cache(L1)集成在CPU内部,容量16KB分设成:8KB的指令cache,只读,用单端口256位向指令预取器提供指令代码;8KB数据cache,随机读写,采用2路组相联结构,分成:128组2行32字节,用双端口(每个32位)与两条流水线交换数据。,cache(L2)安装在主板上,容量512KB,采用2路组相联映射方式。,西南大学电子信息工程学院,74,奔腾CPU片内数据cache结构,采用2路组相联结构,LRU替换算法,一组两行共用一个LRU二进制位。,西南大学电子信息工程学院,75,数据cache的工作方式受CPU控制寄存器CR0中CD和NW位组合状态控制,如下表所示。,CPU与外部数据交换时,存储器读写总线周期主要有两类:256位猝发式传送。用于L1的行填入和行写出,一次完成整行的填入或写出。不经L1的64位传送。此时CHACE仅为高电平,称为非超高速缓存式传送。,西南大学电子信息工程学院,76,作业:(P271)3,6,7,8题,