ARM存储器结构_第1页
ARM存储器结构_第2页
ARM存储器结构_第3页
ARM存储器结构_第4页
ARM存储器结构_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2 6ARM存储器结构 ARM架构的处理器的存储器寻址空间有232 4G字节 该存储空间可以分为可快存 可缓冲 Cacheable Bufferable 区域和不可快存 不可缓冲区域 ARM架构的处理器 有的带有指令快存 I Cache 和数据快存 D Cache 但是 片内都不带有片内RAM和片内ROM 系统所需的RAM和ROM 包括闪存FLASH 都通过总线处接 故有的片内还带有存储器管理单元MMU MemoryManagementUnit ARM架构处理器还允许外接PCMCIA 2 6 1ARMCache结构 Cache是一种小容量 高速度的存储器 用于处理器与主存储器之间 存放当前被使用的主存部分内容 以减少访问主存的等待时间 表2 4Cache性能 161电影网整理发布 常用的Cache有两类 指令和数据统一的Cache 以及指令和数据分离的I Cache与D Cache 新型的ARM架构处理器较多采用了I Cache与D Cache的独立块存结构 如Intel公司的SA1110处理器内含16K字节I Cache和8K字节D Cache 1 Cache的分类和结构 图2 19统一Cache的结构示意图 图2 18分离Cache的结构示意图 2 Cache的放置安排 快存Cache的放置是主存地址与快存Cache单元之间的映像机制 常用的方法有直接映像 Direct mapped 组相联 set associative 和全相联 Fullyassociative 等 a 直接映射 直接映像的方式是给定的内存块仅能放在一个特定的Cache块中 可用若干低位地址直接访问Cache项 其余的高位地址与Cache项中的地址标识 tag 进行比较 若比较相等且有效位为 1 则为 命中 hit 这是最简单的放置算法 未命中则为 失效 miss 直接映像 图2 21直接映像的Cache机制 优点 实现简单访问Cache速度快缺点 某些情况下命中率很低 b 组相联映像 组相联映像也使用低位地址直接访问Cache项 但它选中的是一个组 组内包含有两块或多个块 给定的内存块可以放在选中组中的任意一块内 一组内的块数 一般称为相联度或相连路数 way 选中一组后 组内所有项的标识同时进行比较 如果有一个匹配 则 命中 与组相联映像实际上是靠比较器的个数据及增宽Cache位来降低Cache块的冲突 组相联映像 图2 22二路组相联的示意图 c 全相联 全相联映像方式是给定的主存块可以放在Cache的任意一块中 用内容寻址存储器CAM ContentAddressedMemory 或称为相联存储器 来实现 送来的地址与Cache所有项中的地址标识作比较 以判断是否 命中 全相联映像 图2 23全相联的示意图 优点 命中率高缺点 CAM访问速度慢 结构复杂 占用芯片资源多 3 Cache的替换算法 当发生Cache不命中时 必须选择被替换的项 常用的算法有随机法 近期最少使用LRU LeastRecentlyUsed 法 循环 Round robin 法和锁操作法 a 随机法 从Cache中的各行中随机选取一行进行淘汰 可选择一随机事件作为替换的依据 如可用系统实时时钟的低几位 b 近期最少使用LRU法 Cache控制器设置访问标识 以记录数据在某一段时间内被访问的次数 当需要淘汰时 则淘汰近期最少使用的那一行 c 循环法 此方法类似于先进先出FIFO法 Cache控制器设置特殊的时间标识 以记录数据在Cache中存放时间 当需要淘汰时 则淘汰进入Cache时间最长的那一行 循环法结构简单 速度快 ARM架构的处理器大多采用该淘汰算法 c 锁操作 循环法对Cache中代码或数据不分常用还是非常用的 都一样地参与循环淘汰 很明显该淘汰替代算法的效率不及LRU法 为了弥补其不足 ARM架构中许多高性能处理器核采用了锁操作 在一些常用的代码或数据加上锁放入指令Cache或数据Cache中 可免于频繁地淘汰替代 从而可提高系统的效率 但是 锁操作也会给Cache带来了一些缺陷 无形之中缩小了相应Cache的容量 故需及时对已上锁的目前不常用的代码或数据进行解锁 4 存储器写策略 产生的结果数据要写到存储器中 有多种方式进行处理 一般分为 写直达 Write through 通过缓存写和写回 Write back 三种方式 a 写直达 当要写Cache时 数据同时写回主存储器 优点是简单易实现 缺点是写存储器的速度较慢 影响处理器的效率 b 通过缓存写 可先高速把数据写至缓存 在下一个操作时再把数据送至主存储器 优点是在写操作不是很频繁的时候 提高处理器效率 但是如果有连续的写操作发生时 处理器仍然要等待 c 写回 写回 有时也称Copy back 是当处理器更新Cache的某一行后 相应间数据并不立即写回主存储器单元 而当该行被从Cache淘汰时 才把数据写回主存储器中 5 ARM的Cache设计 图2 24Cache关联度的系统性能及带宽 Cache性能改进的途径 降低失效率减少失效开销减少命中时间 a 降低失效率 产生Cache失效原因有强制性失效 需从主存储器调入Cache 容量失效 所需的块 行不能全部调至Cache 和冲突失效 某块 行被替换 后又被重新访问 改进方法 增加Cache中行 块的大小来减少强制性失效 提高相联度来减少冲突失效 硬件预取技术 b 减少失效开销 ARM架构采用了非阻塞 nonblocking Cache技术 Cache在失效时 仍然允许处理器进行其他命中的访问 这种 失效下命中 hitundermiss 不是完全拒绝处理器的访问 而是能处理部分访问 从而减少了实际的Cache失效开销 此外 还可以采用 让读失效优于写 和二级Cache技术来减少Cache失效开销 b 减少命中时间 Cache命中时间会影响到处理器的时钟频率 在许多处理器设计中 往往是Cache的访问时间限制了处理器的时钟频率 因此 减少Cache命中时间 不但可提高Cache性能 还能提高系统运行速度 图2 25ARM3的Cache结构 2 7ARM存储器管理单元MMU 图2 26二级页表存储器寻址示意图 ARM架构处理器中的存储粒度 memorygranularity 根据不同的应用方式 可有大页 64K字节 小页 4K字节 和微小页 TinyPages 1K字节 和段 Sections 1M字节 常用的是4K字节小页面 至于大页和段则用于大数据领域 64K字节的大页可以分成4个16K子页 1 CP15MMU寄存器 R0 ID寄存器 只读 R1 控制寄存器 V3版 只写 V4版可读 写 R2 地址变换表基址 V3版 只写 V4版 可读 写 3114130 位 31 14 提供了18位地址变换表的基址 基定位界限为16K字节 4 R3 域访问控制寄存器 V3版 只写 V4版 可读 写 5 R5 故障状态寄存器 V3版 只读 V4版 可读 写 6 R6 故障地址寄存器 V3版 只读 V4版 可读 写 7 R7 快存Cache操作 V3版 只读 V4版 可读 写 8 R8 变换后备缓冲器TLB操作 V4版有效 9 R9 读缓冲操作10 R10 变换后备缓冲器TLB锁住11 R13 进程ID映像12 R14 调试支持13 R15 测试和时钟控制 2 第一级描述符 first leveldescriptors 存储器管理的段 页寻址中的段表 页表都放在存储器中 第一级描述符表示的是表的基址 域 访问权限以及有关特性 第一级描述符也放在存储器中 该变换表 translationtable 由CP15协处理器的寄存器给出 而表格索引则由虚拟地址 31 20 给出 图2 28第一级描述符 图2 29段式寻址示意图 3 段寻址 Sectionaddressing 4 二级页式寻址 二级页式寻址就是要进行两次页查表 第一次查出第一级描述符 然后根据组合的地址再进行第二次查表得到第二级描述符 最后形成真正的存储器物理地址进行数据的读写 图2 30二级页式寻址示意图 二级页描述符格式 5 存取权限 域 Domain 是一组具有特定访问权限的段 页 这样可以允许多个不同过程使用同一个转换表执行 同时不同程序之间又有一些保护 这是一种比较方便的过程切换机制 不必使每个过程都有自己的转换表 每个段和子页的存取权限AP位与域信息一起用于第一级描述符中 域控制信息在CP15的R3寄存器中 CP15的R1寄存器中的S和R位与处理器的用户 管理者状态来决定是否允许对所寻址单元进行读 写 6 VirtualCache 图2 32物理地址Cache与TLB 图2 34虚拟Cache示意图 2 8地址变换后备缓冲器TLB 由于目录项和页表都存放在主存中 从逻辑地址变换至真正物理地址需读2次主存 因此 在逻辑地址与物理地址之间插入了一个地址变换后备缓冲器TLB TranslationLook asideBuffer 图2 27地址变换后备缓冲器TLB 2 9ARM的I O结构 ARM架构中的处理器核和处理器内核一般都没有直接的I O部件和模块 构成ARM架构的处理器中的I O可通过AMBA总线来扩充 存储器映像I O直接存储器存取DMA中断IRQ和快速中断FIQ 2 10ARM协处理器接口 ARM为了便于片上系统SOC的设计 ARM处理器内核尽可能精简 要增加系统的功能 可以通过协处理器来实现 协处理器接口可以看作ARM内部总线的扩展 ARM处理器内核能通过协处理器指令对协处理器进行操作 在逻辑上 ARM可以扩展16个协处理器 每个协处理器可有16个寄存器 表2 6协处理器 ARM处理器内核与协处理器接口信号有以下4类 时钟和时钟控制信号 MCLK nWAIT nRESET流水线跟随信号 nMREQ SEQ nTRANS nOPC TBIT应答信号 nCPI CPA CPB数据信号 D 31 0 DIN 31 0 DOUT 31 0 2 11ARMAMBA接口 ARM处理器内核可以通过先进微控制器总线架构AMBA AdvancedMicrocontrollerBusArchitecture 来扩展不同体系架构的宏单元及I O部件 AMBA有先进高性能总线AHB AdvancedHigh performanceBus 先进系统总线ASB AdvancedSystemBus 和先进外围总线APB AdvancedPeripheralBus 等三类总线 图2 35典型的基于AMBA的系统 1 先进系统总线ASB ASB是目前ARM常用的系统总线 用来连接高性能系统模块 它支持突发 burst 方式数据传送 可支持多主机 1 先进系统总线ASB ASB是目前ARM常用的系统总线 用来连接高性能系统模块 它支持突发 burst 方式数据传送 总线宽度为32bits 可支持多主机系统 2 先进高性能总线AHB 先进高性能总线AHB不但支持突发方式的数据传送 还支持分离式总线事务处理 以进一步提高总线的利用效率 与ASB相比 先进高性能总线AHB有以下不同 在分离式总线处理中 在数据传输时 从设备即使响应很慢 也不会一直占用总线 从而可进一步提高总线利用率 AHB用单时钟边沿来控制所有的操作 辅助综合和设计验证 通过静态时态分析仪及类似工具 AHB采用三态器件实现中央多路复用总线 它与双向总线相比 可很方便插入中继器 repeater 来扩展系统 AHB可支持64位或128位高数据带宽传输 3 先进外围总线APB 先进外围总线APS为外围宏单元提供了简单的接口 也可以把APS看作为先进系统总线ASB的余部 为外围宏单元提供了最简易的接口 2 12ARMJTAG调试接口 由测试访问端口TAP TestAccessPort 控制器 旁路 Bypass 寄存器 指令寄存器和数据寄存器 以及与JTAG接口兼容的ARM架构处理器组成 图2 37JTAG调试接口示意图 ARM处理器核嵌入了Embedded ICE模块 该模块包含了2个观察点 Watchpoint 寄存器和控制与状态寄存器 当观察点寄存器的值与地址 数据和控制信号匹配时 观察点寄存器能中止ARM处理器运行 当指令在ROM或RAM中执行时 可以把观察点寄存器配置为断点寄存器 从而能暂停处理器运行 图2 40实时调试的结构图 2 13ARM架构产品 ARM架构的处理器内核有ARM7TDMI ARM8 ARM9TDMI ARM10TDMI及StrongARM SA 1 等 1 处理器内核ARM7TDMI 图2 41ARM7TDMI体系结构图 图2 42ARM7TDMI核接口信号图 2 处理器核ARM720T 在最基本的ARM处理器内核其础上 可增加了C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论