好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

存储系统机制.doc

16页
  • 卖家[上传人]:博****1
  • 文档编号:559502283
  • 上传时间:2023-03-05
  • 文档格式:DOC
  • 文档大小:436.51KB
  • / 16 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 存储系统机制存储器 映射 Cache存储系统机制 存储器就是用来存储信息的部件,存储器是嵌入式系统硬件中的重要组成部分 设计嵌入式系统的存储器时需要考虑:是否需要扩展; 整个嵌入式系统的存储器是由片内和片外两部分组成 为了解决速度和内存容量的问题,在系统中采用虚拟地址空间和高速缓存来提高内存的平均性能 存储管理单元(MMU)进行地址转换,它在一个小的物理内存中提供相对较大的虚拟存储空间 存储器部件的分类 按在系统中的地位分类: (1)主存储器(Main Memory, 简称内存或主存) (2)辅助存储器(Auxiliary Memory,Secondary Memory,简称辅存或外存) 按存储介质分类: (1)磁存储器(Magnetic Memory), (2)半导体集成电路存储器(通常称为半导体存储器), (3)光存储器(Optical Memory), (4)激光光盘存储器(Laser Optical Disk) 按信息存取方式分类: (1)随机存取存储器RAM (2)只读存储器ROM 存储器的组织和结构 嵌入式存储器一般采用存储密度较大的存储器芯片,典型的嵌入式存储器系统由ROM、RAM、EPROM等组成。

       常用的存储器 随机存储器(RAM) (1)静态随机存储器(SRAM) (2)动态随机存储器(DRAM) 只读存储器(ROM),它在嵌入式系统中非常有用,因为许多代码或数据不随时间改变 (1)工厂编程的只读存储器 (2)现场可编程只读存储器 存储器的性能 大容量、高速度、低价格是评价存储器性能的三个主要指标,也是存储体系设计的主要目标 容量:Sw=Wlm其中W为存储体的字长(单位为位或字节),l为单个存储体的字数,m为并行工作的存储体个数 速度:m个存储体并行工作时,可达到的最大频率宽度为Bm=Wm/TM 其中TM是连续起动一个存储器所必要的时间间隔,TM>TABm是连续提供数据的速率 价格:具有SM位的存储器,每位价格表示为c=C/Sm其中C是总价格 存储体系的组成 单体单字存储器 单体多字存储器 多体单字交叉存取存储器 多体多字交叉存取存储器 并行主存系统:能并行读出多个CPU字的单体多字和多体单字及多体多字的交叉存取系统 存储体系的形式 存储层次结构的组成原则: ① 每位价格从上往下依次减少 ② 存储容量从上往下依次增加 ③ 存取速度从上往下依次减慢 ④ CPU的访问频度从上往下依次减少。

       总线协议 总线是CPU与存储器和设备通信的机制 总线的一个主要作用是提供到存储器的接口 大部分总线协议的基本构件是四周期握手协议  总线读写 总线的基本操作是读和写 Clock 提供总线组件各部分同步 当总线读时,R/W’为1当总线写时,R/W’为0 Address是一个a位信号束,为访问提供地址 Data是一个n位信号束,它可从CPU得到数据或向CPU传送数据 Data ready’当数据束上值合法时发信号 总线的时序图 总线行为以时序图说明 时序图表示总线上的信号如何随时间变化 直接内存访问(DMA) 多数情况下,数据的传输需要CPU的介入 但是,有时候某些数据传输类型无须CPU加入 直接存储器访问(DMA)是允许读写不由CPU控制的总线操作 系统总线配置 一个微处理器系统可能含有多条总线高速设备可连到高速总线上,低速设备连到别的总线上 桥:使总线可以互连的逻辑电路 高速总线通常要更昂贵的电路和连接器,可通过使用较慢、较便宜的总线来降低低速设备成本 桥允许总线独立操作,在I/O操作中可提供某些并行性 桥不仅是高速总线的受控器,而且是低速总线的主控器 桥从高速总线上获取指令而将它们传到低速总线,它还将结果从低速总线传到高速总线上。

       桥还可以作为两桥之间的协议翻译器 ARM存储数据类型 六种数据类型: (1) 8位有符号和无符号字节 (2)16位有符号和无符号半字 (3)32位有符号和无符号字 ARM指令都是32位的字,必须以字(4字节)为单位边界对齐 Thumb指令是16位半字,必须以2字节位单位边界对齐 在内部,所有ARM操作都是面向32位的操作数;只有数据传送指令支持较短的字节和半字的数据类型当从存储器调入一个字节和半字时,根据指令对数据的操作类型,将其无符号0或有符号“符号位”扩展为32位,进而作为32位数据在内部进行处理 ARM体系结构所支持的最大寻址空间为4GB(232字节) ARM体系结构将存储器看作是从零地址开始的字节的线性组合从零字节到三字节放置第一个存储的字数据,从第四个字节到第七个字节放置第二个存储的字数据,依次排列 ARM体系结构可以用两种方法存储字数据,称之为大端格式和小端格式 ARM存储格式 数据存储格式有两种: (1)大端模式:较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址 (2)小端模式:较高的有效字节存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址。

       ARM存储周期 4种基本类型: 空闲周期 非顺序周期 顺序周期 协处理器寄存器传送周期 ARM总线接口信号分类 以ARM7为例ARM7TDMI的总线接口信号分成4类: 时钟和时钟控制信号:MCLK、ECLK、nRESET、nWAIT 地址类信号:A[31:0]、nRW、MAS[1:0]、nOPC、nTRANS、LOCK、TBIT 存储器请求信号:nMREQ、SEQ 数据时序信号:D[31:0]、DIN[31:0]、DOUT[31:0]、ABORT、BL[3:0] ARM总线接口可以实现的总线周期 总线周期使用nMREQ和SEQ信号编码 4种不同类型的总线周期 N周期:非顺序周期,最简单的总线周期;存储控制器必须启动存储器访问来满足这个请求;该方式存储系统常需要长的访问时间 S周期:顺序周期,实现总线上的突发传送;第一个周期,地址可与前一个内部周期相同;与非顺序访问相比响应更快,访问时间更短 I周期:内部周期,不要求存储器访问;可广播下一次访问的地址以便开始译码,但存储控制器不允许进行存储器访问 C周期:协处理器寄存器传递周期,通过数据总线向或从协处理器传送数据;不需存储周期,存储控制器不启动事务;传送期间,存储系统不允许驱动数据总线。

       高速缓存(Cache)的分类 1)统一Cache和独立的数据/程序Cache 统一Cache:一个存储系统中指令预取时使用的Cache和数据读写时使用的Cache是同一个Cache 独立的Cache:一个存储系统中指令预取时使用的Cache和数据读写时使用的Cache是各自独立的 用于指令预取的Cache称为指令Cache 用于数据读写的Cache称为数据Cache 使用独立的数据Cache和指令Cache,可以在同一个时钟周期中读取指令和数据,而不需要双端口的Cache但此时要注意保证指令和数据的一致性 (2)写通Cache和写回Cache 当CPU更新了Cache的内容时,要将结果写回到主存中 写通法: write-throught,指CPU在执行写操作时,必须把数据同时写入Cache和主存 写回法: write-back,指CPU在执行写操作时,被写的数据只写入Cache,不写入主存仅当需要替换时,才把已经修改的Cache块写回到主存中 (3)读操作分配Cache和写操作分配Cache 当进行数据写操作时,可能Cache未命中,这时根据Cache执行的操作不同 读操作分配Cache:当进行数据写操作时,如果Cache未命中,只是简单地将数据写入主存中。

      主要在数据读取时,才进行Cache内容预取 写操作分配Cache:当进行数据写操作时,如果Cache未命中,Cache系统将会进行Cache内容预取,从主存中将相应的块读取到Cache中相应的位置,并执行写操作,把数据写入到Cache中 对于写通类型的Cache,数据将会同时被写入到主存中,对于写回类型的Cache数据将在合适的时候写回到主存中 Cache的工作原理 在Cache存储系统当中,把主存储器和Cache都划分成相同大小的块 主存地址可以由块号M和块内地址N两部分组成 同样,Cache的地址也由块号m和块内地址n组成 Cache地址映像和变换方式 1)直接映像 快,造价低 但由于映射策略简单,所以有一定的局限性 如果访问频繁的块正好被映射到同一个块,就不能充分利用高速缓存的好处 (2)组相联映像 组相联映像由组的个数来标识,每个组被实现为一个直接映射高速缓存 高速缓存请求同时广播到所有的组如果某组中有这个单元,该高速缓存便报告命中 比直接映射慢,命中率较高 (3)全相联映像 主存中任意一个块都可以映射到Cache中的任意一个块的位置上 不同的ARM有不同大小的高速缓存和组织结构。

       Cache的替换算法 (1)轮转法 维护一个逻辑计数器,利用该计数器依次选择将要被替换出去的Cache块 这种算法容易预测最坏情况下Cache的性能 缺点:在程序发生很小的变化时,可能造成Cache平均性能急剧的变化 (2)随机替换算法 通过一个伪随机数发生器产生一个伪随机数,用新块将编号为该伪随机数的Cache块替换掉 算法简单,易于实现 没有考虑程序的局部性特点,也没有利用以前块地址分布情况,因而效果较差 不易预测最坏情况下Cache的性能 存储管理单元MMU 存储管理单元在CPU和物理内存之间进行地址转换 由于是将地址从逻辑空间映射到物理空间,因此这个转换过程一般称为内存映射 在ARM系统中,存储管理单元MMU主要工作: (1)虚拟存储空间到物理存储空间的映射在ARM中采用了页式虚拟存储管理 (2)存储器访问权限的控制 (3)设置虚拟存储空间的缓冲的特性 MMU的页表 页表是实现上述功能的一个重要手段,它实际上是位于内存中的一个对照表 为了实现不同层次的管理,系统提供了基于段或页的存储器访问方式 1. 段(section):由1MB 的存储器块构成 2. 大页(large page):由64KB 的存储器块构成 3. 小页(small page):由4KB 的存储器块构成 4. 极小页(tiny page):由1KB 的存储器块构成 MMU的页表续 地址变换条目:页表的每一行对应与虚拟地址空间的一个页,该行同时包含了该虚拟内存页对应的物理内存页的地址、该页的访问权限以及缓冲特性等。

      我们将页表中的一行称为地址变换条目 页表:存放在内存中,系统通常有一个寄存器来保存页表的基地址ARM系统中使用的就是CP15的寄存器C2 快表:从虚拟地址到物理地址的转换实际上就是查询页表的过程由于程序在执行过程中具有局部性,即在一段时间内只是局限在少数几个单元,为了加快页表的查询速度,在系统中通常使用一个容量更小、速度更快的存储器件来保存当前需要访问的地址变换条目,这个容量小的页表又称作快表(TLB) 快表的使用 更新:当CPU需要访问内存时,首先在TLB中查找需要的。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.