本章知识点存储系统层次结构存储器的主要性能指标存储器分类嵌入式系统的存储子系统嵌入式系统主存的基本结构随机存取存储器RAM静态RAM(SRAM)动态RAM(DRAM)第四章嵌入式系统的存储器1只读存储器ROM嵌入式系统的Cache传统Cache结构Cache基本结构和原理Cache与主存的映象Cache查找算法Cache替换算法Cache写策略本章知识点Cache的性能分析Cache性能评价指标提高Cache性能的方法降低Cache不命中率的方法减少Cache不命中开销方法减少命中时间的方法嵌入式系统的Cache结构特点嵌入式系统的Cache能耗2嵌入式系统的存储器选择原则示例存储器是具有记忆功能的部件,用来存放程序和数据,是构成嵌入式系统硬件的重要组成部分。嵌入式微处理器在运行时,大部分总线周期都是用于对存储器进行访问,因此,存储器性能的好坏将直接影响嵌入式系统的性能。设计一个容量大、速度快、成本低及功耗低的存储器是计算机发展的一个重要课题。本章将主要讨论嵌入式系统中存储器的组成、工作原理和性能特征。3CPUCache主存(内存)辅存(外存)CPUCache主存(内存)辅存(外存)典型的三级存储体系结构4(1)主存是能由处理器直接按地址编程访问的存储器,位于主机的范畴之内,也称为内存。(2)对主存的基本要求有:——随机访问——工作速度快——具有一定的存储容量5(1)辅存是为了弥补主存容量的不足,位于传统主机的逻辑范畴之外,常称为外存。(2)辅存是存放程序和数据的“仓库”,可以长时间地保存大量信息。(3)外存与内存相比容量要大得多,但外存的访问速度远比内存要慢,所以计算机的硬件设计都是规定CPU只从内存取出指令执行,并对内存中的数据进行处理,以确保指令的执行速度。6(4)当需要时,系统将外存中的程序或数据成批地传送到内存,或将内存中的数据成批地传送到外存。(5)计算机的外存可用来长期存放程序和数据。外存上的信息主要由操作系统进行管理,外存一般只和内存进行信息交换。(6)直接访问存储(directaccessstorage,DAS)是我们最常接触的外存储形式,有磁盘、磁带、光盘、优盘和移动硬盘等。71980年以来存储器和CPU性能提高的情况(以80年时的性能为基准)8(1)高速缓冲存储器(Cache)是为了解决CPU与主存之间的速度不匹配问题,存放着CPU最近要使用的程序与数据,作为主存中当前活跃信息的副本。(2)当CPU访问主存时,同时访问Cache与主存。通过对访问地址的分析可以判断:所访问区间的内容是否复制到Cache之中。9(3)若所需访问区间已经复制在Cache中,则称为访问Cache命中,CPU可以直接从Cache中快速读取信息。(4)若访问区间内容不在Cache中,则称为访问Cache未命中或失效,则需从主存中读取信息,并考虑更新Cache内容为当前活跃部分。(5)需要实现访存地址与Cache物理地址之间的映像变换,并采取某种算法(策略)进行Cache内存的更新。101.存储容量指存储器所能容纳的二进制信息总量。常用千字节(KB)、兆字节(MB)、吉字节(GB)、太字节(TB)、皮字节(PB)来表示存储容量。11MainMemoryCacheTCMRTAMAT2Tcache:访问一次Cache存储器所需的时间,也称为命中时间。CMR是Cache的失效率。TMainMemory:访问一次主存所需的时间,也称为失效开销。2.存取速度对于一个仅包含Cache和主存的二级存储层次,平均访存时间AMAT(averagememory-accesstime)是指CPU平均每次访问存储器的延时。12提高存取速度的3个主要途径(1)当Cache失效率和主存访问时间一定时,减少Cache的访问时间;(2)当Cache访问时间和主存访问时间一定时,降低Cache失效率;(3)当Cache访问时间和Cache失效率一定时,减少主存访问时间133.价格对于两级存储层次结构,假设M1的容量和每位价格分别为S1和C1,M2的容量和每位价格分别为S2和C2,则存储层次的平均每位价格C为:144.功耗在体系结构设计中,功耗是与速度同等重要的首要设计约束高功耗不仅会引发难以解决的散热问题,而且限制了处理器主频的进一步提高对于电池供电的大多数嵌入式系统,特别是移动式计算设备,功耗问题尤为突出功耗反映了存储器耗电的多少,同时也反映了其发热的程度,影响着存储器的速度功耗小对存储器件的工作稳定性有好处通常以每块芯片的总功率表示,如0.3W155.可靠性可靠性一般指存储器对外界电磁场及温度等变化的抗干扰能力。存储器的可靠性用平均故障间隔时间MTBF(MeanTimeBetweenFailures)来衡量。MTBF可以理解为两次故障之间的平均时间间隔。MTBF越长,可靠性越高,存储器正常工作能力越强。161.按存储器在计算机系统中的作用分类(1)高速缓冲存储器(2)主存储器(3)辅助存储器(4)其他功能的存储器,如控制存储器172.按存取方式分类(1)随机存取存储器RAM(可读、可写)(2)只读存储器ROM(3)顺序存取存储器SAM(4)直接存取存储器DAM183.按存储介质分类(1)磁芯存储器(2)半导体存储器硬磁材料、环状元件,有两种剩磁状态,容量小、速度慢、体积大、可靠性差,已被半导体存储器取代双极型TTL、ECL:速度快、集成度低、功耗大、成本高,常用于缓存MOS型:集成度高、功耗低、价格便宜,常用于主存1920(3)磁表面存储器(4)光存储器磁头、载磁体激光、磁光材料(5)铁电存储器铁电薄膜4.按信息的可保存性分类(1)易失性存储器和非易失性存储器(2)破坏性读出存储器和非破坏性读出存储器后者:非易失性存储器、半导体静态存储器前者:半导体动态存储器、磁阻存储器21微控制器的内部寄存器片上系统RAM或外部RAM微控制器的内部Cache外部RAM芯片内部或外部Flash/EEPROM内部或外部ROM/PROM系统端口上的存储器嵌入式系统的各种存储器系统中各种形式的存储器22嵌入式系统中存储器的功能所需要的存储器功能ROM或EPROM存储应用程序、用来进行系统引导和初始化的代码、初始的输入数据和字符串。存储RTOS的代码。存储指向不同服务例程的指针(地址)。RAM(内部RAM或外部RAM)和用于缓冲区的RAM程序运行时存储变量和堆栈EEPROM或闪存存储非易失性的处理结果高速缓存(Cache)存储指令和数据的备份,在快速处理时用来保存临时结果234.2.1主存的基本结构存储体寻址系统读写系统时序控制电路主存的基本组成241.存储体亦称存储矩阵、存储阵列,是信息的驻在地由许多个存储单元组成,每个单元存放一个数据或一条指令为了区分不同的存储单元,通常把全部单元进行统一编号,此编号称为存储单元的地址码,即单元地址,它用二进制表示不同的存储单元有不同的地址码,单元与单元地址是一一对应的一般按字节编址,n位二进制可标识的存储单元数为2n字节,如232=4GB252.寻址系统由存储地址寄存器MAR、地址译码器和地址驱动器三部分组成存储单元存入或取出信息,称之为访问存储器(访存),即对存储器进行写入或读出操作I/O设备或CPU访问存储器时,先将访存地址送MAR,经地址译码器找到被访问的存储单元,最后由地址驱动器驱动该存储单元以实现读或写地址译码器的方式有两种:单译码和双译码。26(1)单译码结构一个译码器,译码器的输出称为字线,输出选中一个存储单元的所有位特点:n较大时译码器非常复杂,只适用于小容量存储器。译码器A5A4A3A2A1A06301存储单元64个单元译码器A5A4A3A2A1A06301存储单元64个单元单译码结构27行译码A2A1A0710列译码A3A4A501764个单元行译码A2A1A0710列译码A3A4A501764个单元(2)双译码结构地址分行、列,需要两个译码器,交叉译码后形成2n个输出状态用于大容量存储器双译码结构283.读写系统包括MBR、读出和写入线路读出:存储单元内容→MBR→I/O或CPU写入:I/O或CPU发来的数据→MBR→存储单元读写基本过程:控制逻辑给出访存地址,待信号稳定后发出读/写命令,将地址锁存,选中给定单元。294.时序控制线路包括控制触发器,各种门电路和延迟线等接收I/O或CPU的启动、读写、清除等命令,产生一系列时序控制主存储器完成读写等操作主存的四个基本组成中,存储体是核心,其它三部分是存储矩阵的外围线路,其中选址是关键部件30主存的主要速度参数:(1)存取时间TA从启动一次存储器操作到完成该操作所经历的时间。(2)存取周期TM存储器进行一次完整的读写操作所需的全部时间,即连续两次访问存储器操作之间所需要的最短间隔时间。显然,一般情况下,TM>TA。(3)存储器的带宽若存储总线宽度为W,则W/TM就是单位时间内写入存储器或从存储器取出信息的最大数量,称为最大数据传送速率BM,单位为位/秒。31存储元件—1个二进制位存储单元—1个或多个字存储芯片—一定数量的存储单元及外围电路双极型和MOS型MOS型静态存储器:双稳态触发器保存信息;速度快、集成度低、价格高动态存储器:MOS电容保存信息;速度慢、集成度高、需要刷新32(1)静态MOS存储元件VD(+5V)D1T1T2字线W位线DT3T4T5T6位线DD2..VD(+5V)D1T1T2字线W位线DT3T4T5T6位线DD2..六管静态存储元件主要由两个NMOS晶体管反相器直接耦合而成。门控管T3和T4的栅极一起接字驱动线W;T3和T4的源极分别接至位线(也称数据线)D和D。分别有保持、读出和写入三种工作状态。33T1导通,T2截止表示“1”,反之为“0”保持:字线W为低电平,T3和T4截止写入,字线W为高电平写1:位线D为低电平,位线D为高电平(接近VD),使T1导通,T2截止写0:位线D为低电平,位线D为高电平,使T2导通,T1截止读出,字线W为高电平,打开T3和T4若T1导通,T2截止,则D1为低电位,D2为高电位,通过T3加到位线D上即为低电位,加到D上的为高电位,表示读出的是“1”若T2导通,T1截止,则D2为低电位,D1为高电位34①Intel2114内部结构y0WA0A1A2A9I/O2A8A3A4A5A6A7x0D6464=4096(1k4)x63y15行选择数据输入数据输出I/O1I/O4I/O3列I/O电路列选择DCSWEy0WA0A1A2A9I/O2A8A3A4A5A6A7x0D6464=4096(1k4)x63y15行选择数据输入数据输出I/O1I/O4I/O3列I/O电路列选择DCSWEA8A3A4A5A6A7x0D6464=4096(1k4)x63y15行选择数据输入数据输出I/O1I/O4I/O3列I/O电路列选择DDCSCSWEWE351K4位,18引脚封装(10地址、4数据、片选、读信号、Vcc、Gnd)4096个存储元件以矩阵形式排列6位地址形成行选,4位地址形成列选,每根列选择线连接4位列线;数据线双向有效片选和写入信号有效时,输入三态门打开,进入写模式片选有效且写入信号为1时,输出三态门打开,进入读模式36②读写时序CStRCtA地址tCOtOTDtOHAtCXDOUTCStRCtA地址tCOtOTDtOHAtCXDOUTtRCtA地址tCOtOTDtOHAtCXDOUTCS地址WEDOUTDINtWCtWRtWtAWtDTWtDWtDHCS地址WEDOUTDINtWCtWRtWtAWtDTWtDWtDHCS地址WEDOUTDINtWCtWRtWtAWtDTWtDWtDH2114的读/写周期波形图(a)读周期(b)写周期37地址准备好后,发出片选信号和读命令,经过一段时间后输出数据有效,读出后再撤消片选和读命令TRC:读周期,期间地址总