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

下载本文档

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

文档简介

1、ARM存储器结构 2.6 ARM存储器结构 ARM架构的处理器的存储器寻址空间有232=4G字 节,该存储空间可以分为可快存/可缓冲(Cacheable /Bufferable)区域和不可快存/不可缓冲区域。 ARM架构的处理器,有的带有指令快存(I-Cache) 和数据快存(D-Cache);但是,片内都不带有片内 RAM和片内ROM。系统所需的RAM和ROM(包括闪存 FLASH)都通过总线处接;故有的片内还带有存储器 管理单元MMU(Memory Management Unit)。ARM架构 处理器还允许外接PCMCIA。 ARM存储器结构 2.6.1 ARM Cache结构 Cache

2、是一种小容量,高速度的存储器, 用于处理器与主存储器之间,存放当前被 使用的主存部分内容,以减少访问主存的 等待时间。 ARM存储器结构 Cache结构性能 无Cache1 I-Cache(only)1.95 D-Cache(only)1.13 I-Cache和 D-Cache 2.5 表2-4 Cache 性能 161电影网电影网整理发布整理发布 ARM存储器结构 常用的Cache有两类:指令和数据统一的 Cache;以及指令和数据分离的I-Cache与D- Cache。新型的ARM架构处理器较多采用了I- Cache与D-Cache的独立块存结构,如Intel公 司的SA1110处理器内含

3、16K字节I-Cache和8K字 节D-Cache。 1. Cache的分类和结构 ARM存储器结构 address instructions cache memory copies of instructions data 00.00 16 FF.FF16 instructions copies of data registers processor instructions address and data and data 图2-19 统一Cache的结构示意图 ARM存储器结构 address data cache 00.0016 FF.FF16 copies of data regi

4、sters processor dataaddress address instructionsaddress cache copies of instructions instructions memory instructions data 图2-18 分离Cache的结构示意图 ARM存储器结构 2. Cache的放置安排 快存Cache的放置是主存地址与快存 Cache单元之间的映像机制。常用的方法 有直接映像(Direct-mapped)、组相联 (set-associative)和全相联(Fully associative)等。 ARM存储器结构 a) 直接映射 直接映像的方式是给

5、定的内存块仅能 放在一个特定的Cache块中。可用若干低 位地址直接访问Cache项,其余的高位地 址与Cache项中的地址标识(tag)进行比 较。若比较相等且有效位为“1”,则为 “命中(hit)”,这是最简单的放置算法。 未命中则为“失效(miss)”。 ARM存储器结构 直接映像 ARM存储器结构 图2-21 直接映像的Cache机制 data RAMtag RAM comparemux datahit addressIndexTag 4919 16byte ARM存储器结构 优点: 实现简单 访问Cache速度快 缺点: 某些情况下命中率很低 ARM存储器结构 b) 组相联映像 组相

6、联映像也使用低位地址直接访问Cache 项,但它选中的是一个组,组内包含有两块或 多个块。给定的内存块可以放在选中组中的任 意一块内。一组内的块数,一般称为相联度或 相连路数(way)。选中一组后,组内所有项 的标识同时进行比较,如果有一个匹配,则 “命中”。与组相联映像实际上是靠比较器的 个数据及增宽Cache位来降低Cache块的冲突。 ARM存储器结构 组相联映像 ARM存储器结构 图2-22二路组相联的示意图 data RAMtag RAM comparemux address data RAMtag RAM comparemux data hit TagIndex 820 ARM存储

7、器结构 c) 全相联 全相联映像方式是给定的主存块可以放 在Cache的任意一块中,用内容寻址存储器 CAM(Content Addressed Memory,或称为相 联存储器)来实现,送来的地址与Cache所有 项中的地址标识作比较,以判断是否“命 中”。 ARM存储器结构 全相联映像 ARM存储器结构 data RAMtag CAM mux datahit address 图2-23 全相联的示意图 ARM存储器结构 优点: 命中率高 缺点: CAM访问速度慢; 结构复杂,占用芯片资源多。 ARM存储器结构 3. Cache的替换算法 当发生Cache不命中时,必须选择被 替换的项。常用

8、的算法有随机法、近期 最少使用LRU(Least Recently Used) 法、循环(Round-robin)法和锁操作法。 ARM存储器结构 a) 随机法 从Cache中的各行中随机选取一行进行淘 汰,可选择一随机事件作为替换的依据,如可 用系统实时时钟的低几位。 ARM存储器结构 b) 近期最少使用LRU法 Cache控制器设置访问标识,以记录数据 在某一段时间内被访问的次数,当需要淘汰时, 则淘汰近期最少使用的那一行。 ARM存储器结构 c) 循环法 此方法类似于先进先出FIFO法,Cache 控 制器设置特殊的时间标识,以记录数据在 Cache中存放时间,当需要淘汰时,则淘汰进 入

9、Cache时间最长的那一行。 循环法结构简单,速度快,ARM架构的处 理器大多采用该淘汰算法。 ARM存储器结构 c) 锁操作 循环法对Cache中代码或数据不分常用还是非常用的, 都一样地参与循环淘汰,很明显该淘汰替代算法的效 率不及LRU法。为了弥补其不足,ARM架构中许多高性 能处理器核采用了锁操作。 在一些常用的代码或数据加上锁放入指令Cache或 数据Cache中,可免于频繁地淘汰替代,从而可提高系 统的效率。但是,锁操作也会给Cache带来了一些缺陷, 无形之中缩小了相应Cache的容量;故需及时对已上锁 的目前不常用的代码或数据进行解锁。 ARM存储器结构 4. 存储器写策略 产

10、生的结果数据要写到存储器中, 有多种方式进行处理。一般分为:写直 达(Write-through)、通过缓存写和写 回(Write-back)三种方式。 ARM存储器结构 a) 写直达 当要写Cache时,数据同时写回主存储器。 优点是简单易实现;缺点是写存储器的速度较 慢,影响处理器的效率。 ARM存储器结构 b) 通过缓存写 可先高速把数据写至缓存,在下一个操作 时再把数据送至主存储器。 优点是在写操作 不是很频繁的时候,提高处理器效率。但是如 果有连续的写操作发生时,处理器仍然要等待。 ARM存储器结构 c) 写回 写回(有时也称Copy-back)是当处理器 更新Cache的某一行后,

11、相应间数据并不立即 写回主存储器单元,而当该行被从Cache淘汰 时,才把数据写回主存储器中。 ARM存储器结构 5. ARM的Cache设计 associativity (ways) 1 2 4 8 16 32 64 128 256 performance bandwidth 0 0.5 1 1.5 2 2.5 图2-24 Cache关联度的系统性能及带宽 ARM存储器结构 Cache性能改进的途径: 降低失效率 减少失效开销 减少命中时间 ARM存储器结构 a) 降低失效率 产生Cache失效原因有强制性失效(需从主 存储器调入Cache)、容量失效(所需的块/行不 能全部调至Cache)

12、和冲突失效(某块/行被替 换,后又被重新访问)。 改进方法: 增加Cache中行/块的大小来减少强制性失效。 提高相联度来减少冲突失效。 硬件预取技术 ARM存储器结构 b) 减少失效开销 ARM架构采用了非阻塞(nonblocking) Cache技术。Cache在失效时,仍然允许处理器 进行其他命中的访问。这种“失效下命中” (hit under miss)不是完全拒绝处理器的访 问,而是能处理部分访问,从而减少了实际的 Cache失效开销。 此外,还可以采用“让读失效优于写”和 二级Cache技术来减少Cache失效开销 ARM存储器结构 b) 减少命中时间 Cache命中时间会影响到处

13、理器的时钟频率。 在许多处理器设计中,往往是Cache的访问时间 限制了处理器的时钟频率。因此,减少Cache命 中时间,不但可提高Cache性能,还能提高系统 运行速度。 ARM存储器结构 data RAM 1024 x 32 -bit word decode virtual address 1:0 3:2 9:4 0124531 hitdata 9:0 byte addresses 36 enable tag CAM 64 entry tag CAM 64 entry tag CAM 64 entry tag CAM 64 entry user/supervisor 图2-25 ARM3的

14、Cache结构 ARM存储器结构 2.7 ARM存储器管理单元MMU logical address page directory page table page frame 3122 2112 110 data 图2-26 二级页表存储器寻址示意图 ARM存储器结构 ARM架构处理器中的存储粒度(memory granularity)根据不同的应用方式,可有大 页(64K字节)、小页(4K字节)和微小页 (Tiny Pages, 1K字节)和段(Sections,1M 字节)。常用的是4K字节小页面。至于大页和 段则用于大数据领域,64K字节的大页可以分 成4个16K子页。 ARM存储器结构

15、 1. CP15 MMU寄存器 R0R0:IDID寄存器(只读)寄存器(只读) R1R1: 控制寄存器(控制寄存器(V3V3版:只写;版:只写;V4V4版可读版可读/ /写)写) R2R2:地址变换表基址(:地址变换表基址(V3V3版,只写;版,只写;V4V4版,可读版,可读/ /写)写) 31 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 31 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 000000000000RRRRV VI IZ ZF FR RS SB BL LD DP PW WC CA AM M 31 14 13 0 Tr

16、anslation table base address000 位31:14提供了18位地址变换表的基址,基定位界限为16K字节。 ARM存储器结构 4 4)R3R3:域访问控制寄存器(:域访问控制寄存器(V3V3版,只写;版,只写;V4V4版,可读版,可读/ /写)写) 5 5)R5R5:故障状态寄存器(:故障状态寄存器(V3V3版,只读;版,只读;V4V4版,可读版,可读/ /写)写) 6 6)R6R6:故障地址寄存器(:故障地址寄存器(V3V3版,只读;版,只读;V4V4版,可读版,可读/ /写)写) 7 7)R7R7:快存:快存CacheCache操作(操作(V3V3版,只读;版,只读

17、;V4V4版,可读版,可读/ /写)写) 8) R88) R8:变换后备缓冲器:变换后备缓冲器TLBTLB操作(操作(V4V4版有效)版有效) 9) R99) R9:读缓冲操作:读缓冲操作 10)R1010)R10:变换后备缓冲器:变换后备缓冲器TLBTLB锁住锁住 11)R1311)R13:进程:进程IDID映像映像 12)R1412)R14:调试支持:调试支持 13)R1513)R15:测试和时钟控制:测试和时钟控制 ARM存储器结构 2.第一级描述符(first-level descriptors) 存储器管理的段/页寻址中的段表/页 表都放在存储器中。第一级描述符表示的 是表的基址、域

18、、访问权限以及有关特性。 第一级描述符也放在存储器中,该变换表 (translation table)由CP15协处理器的寄 存器给出,而表格索引则由虚拟地址31: 20给出 。 ARM存储器结构 3120 190 table index 3114 130 translation table base address table index 3114 132 10 translation table base address 0 3120 1912 11 10 985 432 10 coarse page table base address 0 0 0 0 0 0 0 0 0 0sectio

19、n base address domain1 0 00 1 0 domainAP1 01 C B virtual address CP15 register 2 memory access fine page table base addressdomain0 0 01 11 0 0 图2-28 第一级描述符 ARM存储器结构 section index 3120 190 table index 3114 130 translation table base address table index 3114 1321 0 translation table base address 3120

20、1912 11 10 9854 321 0 0 0 0 0 0 0 0 0 0 0section base address0 domainAP1 0? C B virtual address CP15 register 2 memory access section index 3120 190 section base address 310 data memory access 图2-29段式寻址示意图 3.段寻址(Section addressing) ARM存储器结构 4. 二级页式寻址 二级页式寻址就是要进行两次页查表: 第一次查出第一级描述符,然后根据组合 的地址再进行第二次查表得

21、到第二级描述 符,最后形成真正的存储器物理地址进行 数据的读写。 ARM存储器结构 page table index 3120 1912 110 first level table index 3114130 translation table base address table index 3114132 10 translation table base address 3110 985 42 10 0 0 page table base address0 domain0 1? virtual address CP15 register 2 memory access page tabl

22、e index 3110 92 10 page table base address 3112 1110 98 765 432 10 page base address memory access page offset 0 0 AP2AP1AP31 0AP0C B 310 data Memory amcess page offset 3112 110 page base address 图2-30 二级页式寻址示意图 ARM存储器结构 二级页描述符格式 ARM存储器结构 5. 存取权限 域(Domain)是一组具有特定访问权限的段/页。 这样可以允许多个不同过程使用同一个转换表执行, 同时不

23、同程序之间又有一些保护。这是一种比较方 便的过程切换机制,不必使每个过程都有自己的转 换表。 每个段和子页的存取权限AP位与域信息一起用 于第一级描述符中,域控制信息在CP15的R3寄存器 中,CP15的R1寄存器中的S和R位与处理器的用户/管 理者状态来决定是否允许对所寻址单元进行读/写。 ARM存储器结构 6. Virtual Cache TLB项 虚页号有效位实页号 Cache 虚页号有效位实页号 比较 TLB命中 比较 Cache命中 虚页号页内偏移量 TAG 块字字节 实页号 页内偏移量 实地址 多路选择器 字 来自处理机的虚地址 图2-32 物理地址Cache与TLB ARM存储器

24、结构 TLB项 虚页号有效位实页号 Cache 虚页号有效位实页号 比较 TLB命中 比较 Cache命中 实地址 多路选择器 字 来自处理机的虚地址 TAG 块字字节 实页号页内偏移量 虚页号 页内偏移量 图2-34 虚拟Cache示意图 ARM存储器结构 2.8 地址变换后备缓冲器地址变换后备缓冲器TLBTLB 由于目录项和页表都存放在主存中,从逻辑地 址变换至真正物理地址需读2次主存。因此,在逻辑 地址与物理地址之间插入了一个地址变换后备缓冲 器TLB(Translation Look-aside Buffer) ARM存储器结构 logical address 3112 110 phy

25、sical address 3112 110 logical page number physical page number hit 图2-27 地址变换后备缓冲器TLB ARM存储器结构 2.9 ARM的I/O结构 ARM架构中的处理器核和处理器内核一般都没有 直接的I/O部件和模块,构成ARM架构的处理器中的 I/O可通过AMBA总线来扩充。 存储器映像存储器映像I/OI/O 直接存储器存取直接存储器存取DMADMA 中断中断IRQIRQ和快速中断和快速中断FIQFIQ ARM存储器结构 2.10 ARM协处理器接口 ARM为了便于片上系统SOC的设计,ARM处 理器内核尽可能精简,要增

26、加系统的功能,可 以通过协处理器来实现。协处理器接口可以看 作ARM内部总线的扩展,ARM处理器内核能通过 协处理器指令对协处理器进行操作。 在逻辑上,ARM可以扩展16个协处理器, 每个协处理器可有16个寄存器。 ARM存储器结构 表2-6协处理器 协处理器号功能 15系统控制 14调试控制器 13-8保留 7-4用户 3-0保留 ARM存储器结构 ARM处理器内核与协处理器接口信号有以下4类: 时钟和时钟控制信号:MCLK、nWAIT、nRESET 流水线跟随信号:nMREQ、SEQ、nTRANS、nOPC、 TBIT 应答信号:nCPI、CPA、CPB 数据信号:D31:0、DIN31:

27、0、DOUT31:0 ARM存储器结构 2.11 ARM AMBAARM AMBA接口接口 ARM处理器内核可以通过先进微控制器总 线架构AMBA(Advanced Microcontroller Bus Architecture)来扩展不同体系架构的宏单元 及I/O部件。 AMBA有先进高性能总线AHB(Advanced High-performance Bus)、先进系统总线ASB (Advanced System Bus)和先进外围总线APB (Advanced Peripheral Bus)等三类总线。 ARM存储器结构 external bus interface ARM core/

28、CPU on-chip RAM bridge APB AHB or ASB test i/f ctrl DMA controller parallel i/f timer UART 图2-35 典型的基于AMBA的系统 ARM存储器结构 1.先进系统总线先进系统总线ASBASB ASB是目前ARM常用的系统总线,用来连 接高性能系统模块,它支持突发(burst)方 式数据传送。可支持多主机。 ARM存储器结构 1. 先进系统总线先进系统总线ASBASB ASB是目前ARM常用的系统总线,用来连 接高性能系统模块,它支持突发(burst)方 式数据传送。总线宽度为32bits,可支持多 主机系统

29、。 ARM存储器结构 2.先进高性能总线先进高性能总线AHB AHB 先进高性能总线AHB不但支持突发方式的数据传送; 还支持分离式总线事务处理,以进一步提高总线的利用效 率。 与ASB相比,先进高性能总线AHB有以下不同: 在分离式总线处理中,在数据传输时,从设备即使响应很 慢,也不会一直占用总线,从而可进一步提高总线利用率。 AHB用单时钟边沿来控制所有的操作、辅助综合和设计验 证(通过静态时态分析仪及类似工具)。 AHB采用三态器件实现中央多路复用总线,它与双向总线 相比,可很方便插入中继器(repeater)来扩展系统。 AHB可支持64位或128位高数据带宽传输。 ARM存储器结构

30、3. 先进外围总线先进外围总线APB APB 先进外围总线APS为外围宏单元提供了 简单的接口。也可以把APS看作为先进系统 总线ASB的余部,为外围宏单元提供了最简 易的接口。 ARM存储器结构 2.12 ARM JTAG ARM JTAG 调试接口调试接口 由测试访问端口TAP(Test Access Port)控制器、旁路(Bypass)寄存器、 指令寄存器和数据寄存器,以及与JTAG接 口兼容的ARM架构处理器组成。 ARM存储器结构 TAP控制器 指令寄存器 边界扫描寄存器 旁路寄存器 ID寄存器 专用数据寄存器 TDI TDO TMS TCK TRST 图2-37 JTAG 调试接

31、口示意图 ARM存储器结构 引脚名类型定义 TCK输入 测试时钟,在TCK时钟的同步作用下,通过TDI和TDO引脚串行移入/ 移出数据或指令;同时,也为测试访问端口TAP控制器的状态机提 供时钟。 TMS输入测试模式选择信号,控制测试接口状态机的操作。 TDI输入 测试数据输入线,其串行输入数据送至边界扫描寄存器或指令寄存 器(由TAP控制器的当前状态及已保存在指令寄存器中的指令来控 制)。 TDO输出 测试数据输出线,把从边界扫描链采样的数据传播至串行测试电路 中的下一个芯片。 TRST输入测试复位输入信号,测试接口初始化。 ARM存储器结构 ARM处理器核嵌入了Embedded-ICE模

32、块,该模块包含了2个观察点(Watch point)寄存器和控制与状态寄存器。当观 察点寄存器的值与地址、数据和控制信号 匹配时,观察点寄存器能中止ARM处理器运 行。当指令在ROM或RAM中执行时,可以把 观察点寄存器配置为断点寄存器,从而能 暂停处理器运行。 ARM存储器结构 EmbeddedICE Trace port analyzer ARM core Embedded trace macrocell EmbeddedICE JTAG TAP JTAG port Trace port host system System on chip data address control con

33、troller 图2-40 实时调试的结构图 ARM存储器结构 2.13 ARMARM架构产品架构产品 ARM架构的处理器内核有 ARM7TDMI、ARM8、ARM9TDMI、 ARM10TDMI及StrongARM(SA-1) 等。 ARM存储器结构 1. 处理器内核ARM7TDMIARM7TDMI JTAG TAP controller Embedded processor core TCK TMSTRST TDI TDO D31:0 A31:0 opc, r/w, mreq, trans, mas1:0 other signals scan chain 0 scan chain 2 sc

34、an chain 1 extern0 extern1 ICE bus splitter Din31:0 Dout31:0 图2-41 ARM7TDMI体系结构图 ARM存储器结构 mreq seq lock Dout31:0 D31:0 r/w mas1:0 mode4:0 trans abort opc cpi cpa cpb memory interface MMU interface coprocessor interface mclk wait eclk isync bigend enin irq q reset enout abe Vdd Vss clock control configuration interrupts initialization bus contro

温馨提示

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

评论

0/150

提交评论