ARM存储器结构.ppt
《ARM存储器结构.ppt》由会员分享,可在线阅读,更多相关《ARM存储器结构.ppt(71页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2.6 ARM存储器结构 ARM架构的处理器的存储器寻址空间有232=4G字节,该存储空间可以分为可快存/可缓冲(Cacheable/Bufferable)区域和不可快存/不可缓冲区域。ARM架构的处理器,有的带有指令快存(I-Cache)和数据快存(D-Cache);但是,片内都不带有片内RAM和片内ROM。系统所需的RAM和ROM(包括闪存FLASH)都通过总线处接;故有的片内还带有存储器管理单元MMU(Memory Management Unit)。ARM架构处理器还允许外接PCMCIA。2.6.1 ARM Cache结构 Cache是一种小容量,高速度的存储器,用于处理器与主存储器之间
2、,存放当前被使用的主存部分内容,以减少访问主存的等待时间。Cache结构性能无Cache1I-Cache(only)1.95D-Cache(only)1.13I-Cache和D-Cache2.5表2-4 Cache 性能 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
3、-18 分离Cache的结构示意图 2.Cache的放置安排 快存Cache的放置是主存地址与快存Cache单元之间的映像机制。常用的方法有直接映像(Direct-mapped)、组相联(set-associative)和全相联(Fully associative)等。a)直接映射 直接映像的方式是给定的内存块仅能放在一个特定的Cache块中。可用若干低位地址直接访问Cache项,其余的高位地址与Cache项中的地址标识(tag)进行比较。若比较相等且有效位为“1”,则为“命中(hit)”,这是最简单的放置算法。未命中则为“失效(miss)”。直接映像 图2-21 直接映像的Cache机制 d
4、ata RAMtag RAMcomparemuxdatahitaddressIndexTag491916byte优点:实现简单访问Cache速度快缺点:某些情况下命中率很低b)组相联映像 组相联映像也使用低位地址直接访问Cache项,但它选中的是一个组,组内包含有两块或多个块。给定的内存块可以放在选中组中的任意一块内。一组内的块数,一般称为相联度或相连路数(way)。选中一组后,组内所有项的标识同时进行比较,如果有一个匹配,则“命中”。与组相联映像实际上是靠比较器的个数据及增宽Cache位来降低Cache块的冲突。组相联映像 图2-22二路组相联的示意图 data RAMtag RAMcomp
5、aremuxaddressdata RAMtag RAMcomparemuxdatahitTagIndex820c)全相联 全相联映像方式是给定的主存块可以放在Cache的任意一块中,用内容寻址存储器CAM(Content Addressed Memory,或称为相联存储器)来实现,送来的地址与Cache所有项中的地址标识作比较,以判断是否“命中”。全相联映像 图2-23 全相联的示意图 优点:命中率高缺点:CAM访问速度慢;结构复杂,占用芯片资源多。3.Cache的替换算法 当发生Cache不命中时,必须选择被替换的项。常用的算法有随机法、近期最少使用LRU(Least Recently U
6、sed)法、循环(Round-robin)法和锁操作法。a)随机法 从Cache中的各行中随机选取一行进行淘汰,可选择一随机事件作为替换的依据,如可用系统实时时钟的低几位。b)近期最少使用LRU法 Cache控制器设置访问标识,以记录数据在某一段时间内被访问的次数,当需要淘汰时,则淘汰近期最少使用的那一行。c)循环法 此方法类似于先进先出FIFO法,Cache 控制器设置特殊的时间标识,以记录数据在Cache中存放时间,当需要淘汰时,则淘汰进入Cache时间最长的那一行。循环法结构简单,速度快,ARM架构的处理器大多采用该淘汰算法。c)锁操作 循环法对Cache中代码或数据不分常用还是非常用的
7、,都一样地参与循环淘汰,很明显该淘汰替代算法的效率不及LRU法。为了弥补其不足,ARM架构中许多高性能处理器核采用了锁操作。在一些常用的代码或数据加上锁放入指令Cache或数据Cache中,可免于频繁地淘汰替代,从而可提高系统的效率。但是,锁操作也会给Cache带来了一些缺陷,无形之中缩小了相应Cache的容量;故需及时对已上锁的目前不常用的代码或数据进行解锁。4.存储器写策略 产生的结果数据要写到存储器中,有多种方式进行处理。一般分为:写直达(Write-through)、通过缓存写和写回(Write-back)三种方式。a)写直达 当要写Cache时,数据同时写回主存储器。优点是简单易实现
8、;缺点是写存储器的速度较慢,影响处理器的效率。b)通过缓存写 可先高速把数据写至缓存,在下一个操作时再把数据送至主存储器。优点是在写操作不是很频繁的时候,提高处理器效率。但是如果有连续的写操作发生时,处理器仍然要等待。c)写回 写回(有时也称Copy-back)是当处理器更新Cache的某一行后,相应间数据并不立即写回主存储器单元,而当该行被从Cache淘汰时,才把数据写回主存储器中。5.ARM的Cache设计图2-24 Cache关联度的系统性能及带宽 Cache性能改进的途径:降低失效率减少失效开销减少命中时间a)降低失效率 产生Cache失效原因有强制性失效(需从主存储器调入Cache)
9、、容量失效(所需的块/行不能全部调至Cache)和冲突失效(某块/行被替换,后又被重新访问)。改进方法:增加Cache中行/块的大小来减少强制性失效。提高相联度来减少冲突失效。硬件预取技术b)减少失效开销 ARM架构采用了非阻塞(nonblocking)Cache技术。Cache在失效时,仍然允许处理器进行其他命中的访问。这种“失效下命中”(hit under miss)不是完全拒绝处理器的访问,而是能处理部分访问,从而减少了实际的Cache失效开销。此外,还可以采用“让读失效优于写”和二级Cache技术来减少Cache失效开销 b)减少命中时间 Cache命中时间会影响到处理器的时钟频率。在
10、许多处理器设计中,往往是Cache的访问时间限制了处理器的时钟频率。因此,减少Cache命中时间,不但可提高Cache性能,还能提高系统运行速度。图2-25 ARM3的Cache结构 2.7 ARM存储器管理单元MMU图2-26 二级页表存储器寻址示意图 ARM架构处理器中的存储粒度(memory granularity)根据不同的应用方式,可有大页(64K字节)、小页(4K字节)和微小页(Tiny Pages,1K字节)和段(Sections,1M字节)。常用的是4K字节小页面。至于大页和段则用于大数据领域,64K字节的大页可以分成4个16K子页。1.CP15 MMU寄存器1)1)R0R0:
11、IDID寄存器(只读)寄存器(只读)2)2)R1R1:控制寄存器(控制寄存器(V3V3版:只写;版:只写;V4V4版可读版可读/写)写)3)3)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 00000000000000000000000000000000000RRRRV VI IZ ZF FR RS SB BL LD DP PW WC CA AM M31 14 13 0Tran
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARM 存储器 结构
限制150内