《第7讲存储器学习.pptx》由会员分享,可在线阅读,更多相关《第7讲存储器学习.pptx(76页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1存储器的层次结构微机拥有不同类型的存储部件由上至下容量越来越大,但速度越来越慢寄存器堆高速缓存主存储器联机外存储器脱机外存储器快慢小大容量速度CPU内核第1页/共76页2DSESSSCSIPPSW标志寄存器执行部件控制电路指令译码器4321数据暂存器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组指令队列地址总线AB数据总线DB总线接口控制电路控制总线CB运算器地址加法器地址译码器、指令1指令2指令3指令4、数据1数据29AH、指令MOV AL,BX包含一个从存储器读操作存储器CPU第2页/共76页3可以分为双极型和金属氧化物半导体型两类。(1)双极型双极型由TTL晶
2、体管逻辑电路构成,在微机系统中常用作高速缓存器(Cache)。特点:工作速度快,与CPU处在同一量级;集成度较低、功耗大、价格偏高。(2)金属氧化物半导体型金属氧化物半导体型又称MOS型,在微机系统中主要用来构造内存。根据制造工艺,可分为NMOS、HMOS、CMOS、CHMOS等,可用来制作多种半导体存储器件,如静态RAM、动态RAM、EPROM等。特点是集成度高、功耗低、价格便宜,但速度较双极型器件慢。按制造工艺分类第3页/共76页4按存储器存取方式分类:第4页/共76页5半导体存储器的主要性能指标 存储容量:半导体存储器芯片的存储容量是指存储器可以容纳的二进制信息量 用NM表示,N为存储单
3、元数,M为每个存储单元存储信息的位数。例6-1 某存储器芯片的地址线为16位,存储字长为8位,则其存储容量为多少?解:若某存储器芯片有M位地址总线、N位数据总线其存储容量为N位。该存储器芯片中M为16位,N为8位,则其存储容量为8位=64K8位。字数每个字的字长第5页/共76页6半导体存储器的主要性能指标存储速度可以用两个时间参数表示:存取时间(Access Time)TA,定义为从启动一次存储器操作,到完成该操作所经历的时间。存储周期(Memory Cycle)TMC,定义为启动两次独立的存储器操作之间所需的最小时间间隔。存储速度取决于内存储器的具体结构及工作机制。第6页/共76页7半导体存
4、储器的主要性能指标 可靠性存储器的可靠性用平均故障间隔时间(MTBF,Mean Time Between Failures)来衡量,MTBF越长,可靠性越高。性能/价格比性能主要包括上述三项指标存储容量、存储速度和可靠性。对不同用途的存储器有不同的要求有的存储器要求存储容量大,选择芯片时就以存储容量为主,有的存储器如高速缓冲器,则要求以存储速度为主。第7页/共76页8半导体存储器的结构 第8页/共76页9存储器读写时序 在微机系统中,为使存储器正常工作,必须注意其工作时序其片选、读写控制信号、以及地址信号ADDR等必须按照一定的时间要求顺序地输入给存储器的控制电路。第9页/共76页10例SRA
5、M HY62256A的读、写周期时序 第10页/共76页11例SRAM HY62256A的写周期时序 第11页/共76页12典型存储器芯片及其接口特性 静态随机存储器(SRAM)第12页/共76页13典型的静态RAM芯片典型的静态RAM芯片如HM 6116(2K8位),6264(8K8位),62128(16K8位)和62256(32K8位)等。第13页/共76页1461166116是一种20488位的高速静态CMOS随机存取存储器,其基本特征是:(1)高速度存取时间为100ns/120ns/150ns/200ns(分别以611610、611612、611615、611620为标志。(2)低功耗
6、 运行时为150mW,空载时为100mW。(3)与TTL兼容。(4)管脚引出与标准的2K8b的芯片(例如2716芯片)兼容。(5)完全静态无需时钟脉冲与定时选通脉冲。第14页/共76页15SRAM 6116的引脚 第15页/共76页16SRAM 6116的工作方式 片选信号、写允许信号和输出允许信号的组合控制SRAM 6116芯片的工作方式 第16页/共76页17SRAM 6116的内部功能框图 静态RAM的结构2K*816Kbit第17页/共76页18SRAM 6264 容量为8K8位 地址线13条,即A12A0;数据线8条即I/O8I/O1第18页/共76页19SRAM 6264 6264
7、运行方式第19页/共76页20随机存储器RAM静态RAM静态RAM的引脚:数据线:由RAM的位数决定;地址线:由RAM的单元数决定;控制线:CE:片选,有效时,芯片才工作;WE:读写控制,为0时写,为1时读;OE:输出控制,为0时,允许输出。和CPU的连接。第20页/共76页21SRAM接口特性 第21页/共76页22动态随机存储器(DRAM)信号存储在电容C上。行选择信号有效时可以刷新,也可以读出,但读出时必须列选择信号也有效。破坏性读出为使Cs上读出后仍能保持原存信息(电荷),刷新放大器需要对这些电容进行重写操作,以补充电荷使之保持原信息不变-回写(刷新)。第22页/共76页23典型的动态
8、RAM芯片为了降低芯片的功耗,保证足够的集成度,减少芯片对外封装引脚数目和便于刷新控制,DRAM芯片都设计成位结构形式,即每个存储单元只有一位数据位一个芯片上含有若干字,如4K1位,8K1位,16K1位,64K1位或256K1位等。存储体的这一结构形式是DRAM芯片的结构特点之一。第23页/共76页24DRAMIntel 2164 Intel 2164是64K1位的DRAM芯片,基本特征:(1)存取时间为150ns/200ns(分别以2164A-15、2164A-20为标志)。(2)低功耗,工作时最大为275mW,维持时最大为27.5mW。(3)每2ms需刷新一遍,每次刷新512个存储单元,2
9、ms内需有128个刷新周期。第24页/共76页25Intel 2164A的引脚动态RAM 动态RAM的位数都是1位;动态RAM的地址引脚只是实际地址线的一半。为保证地址正确读入,有行、列地址控制输入CAS和RAS,控制输入有效时,分别读入一半地址。2164是64K1位RAM。2第25页/共76页262164结构框图第26页/共76页27随机存储器动态RAM的刷新和刷新控制器82038203是专门为2117(16K1位)、2164(64K1位)动态RAM专门设计的;无刷新请求时,内部的刷新定时器会每隔1016s发出一次刷新请求,可以每2ms对所有RAM单元刷新一次。第27页/共76页28第28页
10、/共76页29DRAM接口特性 DRAM与CPU相连时,其管脚和CPU三总线相连接的方法与SRAM基本类似,但是必须强调的是:DRAM由于其结构的不同,其与CPU连接时必须考虑三个特殊问题:定时刷新地址信号输入位扩展第29页/共76页30DRAM接口特性第30页/共76页31只读存储器(ROM)掩摸ROM生产厂家根据用户需要在ROM的制作阶段,通过“掩膜”工序将信息做到芯片里,适合于批量生产和使用。掩膜ROM制成后,用户不能修改。第31页/共76页32可擦可编程ROM(EPROM)基本存储单元电路 核心部件是FAMOS场效应管(Floationg grid Avalanche injectio
11、n MOS)第32页/共76页33典型的EPROM芯片 EPROM芯片常用的有:2716(2K8)2732(4K8)2764(8K8)27128(16K8)27256(32K8)27512(64K8)等。第33页/共76页34Intel 2732A Intel 2732A是一种4K8b的EPROM 12条地址线A11A08条数据线O7O0。为芯片允许信号,用来选择芯片;为输出允许信号,用来把输出数据送上数据线,只有当这两条控制线同时有效时,才能从输出端得到读出的数据。第34页/共76页352732A的工作方式 2732A有6种工作方式 第35页/共76页36EPROM接口特性 第36页/共76
12、页37电可擦可编程ROM(EEPROM)EPROM即使整个芯片只有1位错,也要从电路板取下重新擦写,不方便。2864A容量为8K*8,28引脚,内部逻辑和引脚内部存储矩阵256行(A0-7)*32列(A8-12),IO0-7是8位数据IO端,有地址和数据锁存器,电源控制端CE。第37页/共76页38EEPROM2864A允许写入控制端WE,允许数据输出控制端OE整片擦除10ms,对单字节擦写2ms,读取时间250ns擦写过程是:擦除原有内容时置R/B低电平,写入数据,完成置R/B高电平。CPU通过R/B控制芯片擦写。2864A片写周期定时通过R/B向CPU表明工作状态,大量采用中断方式不影响实
13、时性在线修改内存参数。第38页/共76页39只读存储器(ROM)读方式 WE=1 CE=OE=0时进行,允许CPU读2864A的数据写方式 擦除(写全1)和写入(写字节)为同一写方式,擦除时输入为TTL高电平,字节写入时CE低电平,OE高电平,WE宽度为2ms低电平片擦除方式 全片擦除方式,字节单元全置1,此时无需考虑地址,但OE为低电平。维持方式 8264A功率下降维持方式,此状态在非擦写和读操作时(维持状态)可以节省60%电源消耗,此时输出端悬空。第39页/共76页40EEPROM接口特性芯片写操作时,须首先判断READY/BUSY端的状态当该端状态为高电平时可以写入一次数据,当该端状态为
14、低电平时则需等待。第40页/共76页41EEPROM接口特性 第41页/共76页42存储器系统的组织 微型计算机系统所支持的最大内存容量取决于CPU地址总线的位数。如8086的地址线为20位,其所支持的最大内存容量是1MB,ARM920T内核的处理器地址总线为32位,其理论支持的最大内存容量为232Byte。存储空间如何组织,主要涉及到存储结构确定和存储器系统设计两个方面。第42页/共76页43存储器结构确定 微机中的内存往往被分为片内存储器和扩展的片外存储器。构建存储器系统时,应根据微处理器的不同,选择不同的存储器组织结构。根据微处理器的类型不同,其存储器结构也不尽相同,如:8086/808
15、8CPU 以及MCS-51单片机只使用片外存储器。部分型号的C8051F单片机在片内集成了一定容量的数据存储器。当系统的容量超出该范围时,则必须通过扩展片外存储器来解决。所有的C8051F单片机内部均集成有程序存储器(Flash存储器),不再支持外扩的程序存储器S3C2410(ARM920T内核)虽然理论上支持0232-1的寻址空间,但只有1G的地址空间(0X000000000X40000000)用于支持片外存储器的连接,其他空间有一小部分用于I/O端口或部件的寻址。第43页/共76页44存储器结构确定但必须注意的是,某些单片机,如MCS-51系列单片机所支持的外部数据存储器和程序存储器是两个
16、不同的独立空间,其总线控制方法如下:数据总线、地址总线和数据存储器写信号 和数据存储器读信号组成CPU外部数据存储器总线数据总线、地址总线与程序存储器读控制信号组成程序存储器总线。P0和P2 口分别为低、高8位数据总线和8位地址总线分时复用端口。第44页/共76页45存储器系统设计存储器系统设计:首先应该确定整机存储容量,再根据需要确定选用存储芯片的类型和数量划分RAM、ROM区,画出地址分配图并根据地址分配图确定译码方法最后选用合适器件,画出译码电路图。第45页/共76页46存储器系统设计 存储器芯片的选择:根据存储器的容量和芯片的容量决定需要存储器芯片的数目:T=总容量/单片容量注意:总容
17、量是存储器单元数8如:64KB存储器需要2164(64K1位):(64K8)/(64K1)=8片根据需要选择静态或动态RAM第46页/共76页47主存储器设计存储器地址分配对于8086CPU存储器地址和外设地址可以分开考虑。但对有些CPU,必须将存储器和外设的地址统一考虑。8086的低端存储区(00000H003FFH)是用作中断地址表,不能用作一般的程序区。8086的高端(FFFF0H)是复位后的程序入口,使用时必须要注意。第47页/共76页48主存储器设计存储器芯片和CPU的连接数据线:CPU的数据总线和存储器的数据线直接连接。当存储器芯片的数据线不足8位时,需要几个芯片并联,使数据线数目
18、和CPU需要的一致。存储器芯片并联时,地址线、控制线是并联的,但数据线是单独地接到数据总线。这时的要求是同样的地址能选中并联在一起的几个芯片。第48页/共76页49用Intel 2148 1K4位的RAM芯片组成1K8位的存储器 A9A0D7D4D3D021482148D3D0D3D0A9A0A9A0MWWRWR第49页/共76页50主存储器设计8086 CPU与存储器连接的控制信号主要有:地址锁存信号ALE、选择信号,读/写信号和,准备就绪信号READY等,存储器控制信号将与CPU上述的一些对应信号线相连。第50页/共76页51主存储器设计存储器的寻址方法地址线的连接 要求:CPU发出一个地
19、址,只能找到一片(或一组)存储器芯片。一般在总线上,总是有多组存储器芯片,存储器寻址就是要区分这些存储器芯片。存储器芯片的地址线一般总是少于CPU的地址线,也就是说,除了直接连接到存储器芯片的地址线外,还有一些没有连接的地址线。这些地址线将通过译码器形成存储器芯片的高位地址。第51页/共76页52地址线的连接根据所选用的半导体存储器芯片地址线的多少,把CPU的地址线分为芯片外(指存储器芯片)地址和芯片内的地址片外地址经地址译码器译码后输出,作为存储器芯片的片选信号,用来选中CPU所要访问的存储器芯片。片内地址线直接接到所要访问的存储器芯片的地址引脚,用来直接选中该芯片中的一个存储单元。片外地址
20、译码电路实现片选的方法有3种:线选法、全译码法和部分译码法。第52页/共76页53主存储器设计线选法用一条多余的地址线连接一片存储器芯片,可以直接连接,或通过反相器连接。用线选法寻址,需要增加的硬件电路最少,甚至不需要增加任何硬件。但是,线选法所选择的芯片的地址是不连续的,在使用中不方便。此外,线选法会产生不可以使用的地址,地址的利用率受到影响.。第53页/共76页54线选法存储器译码电路 第54页/共76页55主存储器设计四片存储器芯片的地址分别是:A15 A14 A13 A12 A11 A0芯片地址 1 1 1 0 0 0 E000H EFFFH1 1 1 1 0 1 0 0 D000H
21、DFFFH1 1 1 0 1 1 0 0 B000H BFFFH1 1 0 1 1 1 0 0 7000H 7FFFH1 1第55页/共76页56线选法A19A16可取16种不同的组合,因此,每一片2732都对应着16个不同的地址空间。这样多个存储地址可以选中同一个存储字的情况称为“地址重叠”。第56页/共76页57主存储器设计部分译码:用多余地址线的一部分加到译码器,用译码器的输出控制存储器芯片的片选端。各芯片的地址可以保证是连续的。由于还有一部分地址线没有参加寻址,这些地址线的信号值可以是任意的。结果是使得每个芯片的地址区不是唯一的,也就是存在着地址的重叠区。第57页/共76页58部分译码
22、寻址存储器IIIIIIIV第58页/共76页59主存储器设计四片存储器芯片的地址分别是:A15 A14 A13 A12 A11 A0芯片地址 0 0 0 0 0 0 0000H 0FFFH1 1 0 0 0 1 0 0 1000H 1FFFH1 1 0 0 1 0 0 0 2000H 2FFFH1 1 0 0 1 1 0 0 3000H 3FFFH1 1第59页/共76页60主存储器设计四片存储器芯片的地址重叠区分别是:芯片 4000H 4FFFH 8000H 8FFFHC000H CFFFH芯片 5000H 5FFFH 9000H 9FFFHD000H DFFFH芯片 6000H 6FFFH
23、 A000H AFFFHE000H EFFFH芯片 7000H 7FFFH B000H BFFFHF000H FFFFH第60页/共76页61主存储器设计全译码用全部多余的地址线加到译码器,用译码器输出控制存储器芯片的片选端。由于全部地址线都参加译码,存储器芯片的地址将是唯一的。一般来说,全译码需要的译码器比较复杂,译码器的输出可能没有全部使用。适当地连接译码器,可以即达到全译码的效果,译码器也不太复杂。第61页/共76页62IIIIIIIV第62页/共76页63主存储器设计四片存储器芯片的地址分别是:A15 A14 A13 A12 A11 A0芯片地址 0 0 0 0 0 0 0000H 0
24、FFFH1 1 0 0 0 1 0 0 1000H 1FFFH1 1 0 0 1 0 0 0 2000H 27FFH0 1 0 0 1 0 1 0 2800H 2FFFH1 1第63页/共76页64主存储器设计CPU总线的负载能力在微型机系统中,CPU通过总线与存储器芯片连接,而CPU的总线驱动能力有限。一般输出线的直流负载能力为带一个TTL负载,但存储器芯片多为MOS电路,直流负载很小,主要负载为电容负载。因此在小型系统中,CPU可直接与存储器芯片连接,然而在与大容量的存储器连接时,还是应考虑总线的驱动问题。CPU时序与存储器芯片存取速度的配合问题在考虑存储器与CPU连接时,必须考虑存储器芯
25、片的工作速度是否能与CPU的读/写时序相匹配问题,应从存储器芯片工作时序和CPU时序两个方面来考虑。第64页/共76页65应用举例将SRAM 6264芯片与系统连接,使其地址范围为:38000H39FFFH和78000H79FFFH。选择使用74LS138译码器构成译码电路 Y0#G1 Y1#G2A Y2#G2 B Y3#Y4#A Y5#B Y6#C Y7#片选信号输出译码允许信号地址信号(接到不同的存储体上)74LS138逻辑图:第65页/共76页66应用举例D0D7A0A12WEOECS1CS2A0A12MEMWMEMRD0D7G1G2AG2BCBA&A19A14A13A17A16A15+
26、5VY0下图中A18不参与译码,故6264的地址范围为:3 380008000H39FFFHH39FFFH78000H79FFFH 78000H79FFFH 6264Y0第66页/共76页67高速缓存(Cache)Cache)1)为什么需要高速缓存?CPU工作速度与内存工作速度不匹配例如,800MHz的PIII CPU的一条指令执行时间约为1.25ns,而133MHz的SDRAM存取时间为7.5ns,即83%的时间CPU都处于等待状态,运行效率极低。解决:CPU插入等待周期降低了运行速度;采用高速RAM成本太高;在CPU和RAM之间插入高速缓存成本上升不多、但速度可大幅度提高。第67页/共76
27、页68CacheCache工作原理基于程序执行的两个特征:程序访问的局部性:过程、循环、子程序。数据存取的局部性:数据相对集中存储。存储器的访问相对集中的特点使得我们可以把频繁访问的指令、数据存放在速度非常高(与CPU速度相当)的SRAM高速缓存CACHE中。需要时就可以快速地取出。第68页/共76页69DBCPUCache控制部件CacheRAMAB送主存地址检索(用主存地址作为关键字,查找CAM)前提:每次访问的主存地址都保留在CAM内。CAMContent Access Memory命中则发出读 Cache命令,从Cache取数据不命中则发出读RAM命令,从RAM取数据Cache的工作原
28、理图示第69页/共76页70取指令、数据时先到CACHE中查找:找到(称为命中)直接取出使用;没找到到RAM中取,并同时存放到CACHE中,以备下次使用。只要命中率相当高,就可以大大提高CPU的运行效率,减少等待。现代计算机中CACHE的命中率都在90%以上。命中率影响系统的平均存取速度 系统的平均存取速度 Cache存取速度命中率+RAM存取速度不命中率第70页/共76页71例如:RAM的存取时间为8ns,CACHE的存取时间为1ns,CACHE的命中率为90%。则存储器整体访问时间由没有CACHE的8ns减少为:1ns90%+8ns10%=1.7ns 速度提高了近4倍。在一定的范围内,Ca
29、che越大,命中率就越高,但相应成本也相应提高Cache与内存的空间比一般为1128第71页/共76页72PC机中的CACHE一般有两级CACHE(有的具有三级)L1 CACHE容量一般为容量一般为8KB8KB64KB64KBL2 CACHE容量一般为容量一般为128KB128KB2MB2MB 新型CPU一般将这两级CACHE都做在CPU内核中。而且运行速度与CPU内核相同,使CPU的整体性能有了极大的提高。指令Cache和数据Cache各种CPU的Cache配置见教材p229表5-5。第72页/共76页73 虚拟缓存技术 虚拟存储器(Virtual Memory)是指在内存不足的情况下,利用外存储器的一部分空间模拟内存,使软件可以将其当成一般的内存使用,从使用的角度来看,除了速度较慢外,其他的和内存相比并无明显区别。第73页/共76页74虚拟缓存技术将主存和辅存的地址空间统一编址,提供了比实际物理内存大得多的存储空间。在程序运行时,存储器管理软件只是把虚拟地址空间的一小部分映射到主存储器,其余部分则仍存储在磁盘上。当访问存储器的范围发生变化时,处于后台的存储器管理软件再把用户所需要的内容从磁盘调入内存,覆盖原先存在的部分后继续运行。第74页/共76页75谢谢!第75页/共76页76感谢您的观看!第76页/共76页
限制150内