ARM_Cortex-A8微处理器的架构和实现

上传人:ZJ****2 文档编号:45943114 上传时间:2018-06-20 格式:PDF 页数:3 大小:1.03MB
返回 下载 相关 举报
ARM_Cortex-A8微处理器的架构和实现_第1页
第1页 / 共3页
ARM_Cortex-A8微处理器的架构和实现_第2页
第2页 / 共3页
ARM_Cortex-A8微处理器的架构和实现_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《ARM_Cortex-A8微处理器的架构和实现》由会员分享,可在线阅读,更多相关《ARM_Cortex-A8微处理器的架构和实现(3页珍藏版)》请在金锄头文库上搜索。

1、Cortex 架构概述Cortex处理器的统一技术是Thumb-2技术。Thumb-2指令集结合16位和32位指令来提高代码密度和性能。原先的ARM指令集由定长的32位指令组成,Thumb指令集则采用16位指令。由于并非所有运算都映射到原先的Thumb指令集,因此有时需要多个指令来模拟一条32位指令的任务。Thumb-2技术向Thumb新增了约130条指令。新增功能使用户在进行中断服务时无需在ARM和Thumb模式间进行切换,同时可访问整套处理器寄存器。产生的代码保持Thumb指令的传统代码密度,却可以实现32位ARM代码的性能。现在可以使用Thumb-2技术编写整个应用程序,而且删除了要求模

2、式切换的原始架构。整个应用程序可以使用空间更为节省的Thumb-2指令编写,如果使用原先的Thumb代码,则处理器必须在ARM和Thumb模式之间切换。ARM处理器中首次亮相的是面向音频、 视频和3D图形的NEON媒体和信号处理技术。 这是一个64/128位混合SIMD架构。 NEON技术拥有自己的寄存器文件和执行流水线, 它们独立于主ARM整数流水线。 可处理整数和单精度浮点值, 其中包括非线性数据访问支持, 并可轻松加载存储在结构表中的插页数据。通过使用NEON技术执行典型的多媒体功能, Cor-tex-A8处理器可在275 MHz以30帧/秒的速度解码MPEG-4 VGA视频(包括去环状

3、块、 解块过滤和YUV至RGB的变换)并以350 MHz解码H.264视频。Jazelle RCT技术也是一项首次登台的架构扩展技术, 它将即时(JIT)字节码应用程序的内存占用削减到原先的三分之一。 代码变少可增强性能并降低功率。Cortex-A8中采用的TrustZone技术可确保消费类产品(如运行开放式操作系统的移动电话、个人数字助理和机顶盒)中的数据隐私和DRM得到保护。在处理器内核中实现的TrustZone技术可防止外围设备和内存遭到安全性攻击。内核中的安全监视器起到gatekeeper(看门狗)的作用,在安全和不安全状态之间切换系统。在安全状态下,处理器运行安全代码块中“受信任”代

4、码来处理安全性敏感任务,如身份验证和签名操作。除了对处理器的信号处理性能有所帮助外,NEON 技术还使软件解决方案可用于数据处理应用。它产生的灵活平台适用于只需下载新软件或驱动程序的新算法和新应用。VFPv3 技术是对VFPv2技术的增强。新功能包括将双精度寄存器的数量翻番为 32个,以及引入执行固点和浮点数转换的指令。探索 Cortex-A8 微架构功能Cortex-A8 处理器是ARM公司生产的最复杂的低功耗设计。为了实现其高性能,增加了ARM架构中全新的微架构功能,它包括双顺序发射ARM整数流水线、集成型L2缓存和13段深度流水线。介 绍ARM Cortex-A8微处理器是ARM Cor

5、tex新系列中第一款应用微处理器。该处理器具有出色的性能和效率,适用于各种移动和消费类应用,其中包括移动电话、机顶盒、游戏控制台和汽车导航/娱乐系统。Cortex-A8处理器根据不同的实现提供各种性能点,可以为苛刻的消费类应用提供高达2000 Dhrystone MIPS(DMIPS)的性能,并且在低功率移动设备应用中的功耗不到300mW。这可以大幅提高处理能力,同时保持前几代移动设备的功率水平。消费类应用将受益于更低的热耗散,同时可降低封装和集成成本。这是第一款采用ARMv7架构中所有新技术的ARM处理器。第一次面世的新技术包括针对媒体和信号处理的NEON以及加快运行时编译器的Jazelle

6、 RCT,如即时、动态或预先编译器。最近推出的其他技术(现在是 ARMv7 架构上的标准配置)包括面向安全的TrustZone技术,面向代码密度的Thumb-2技术以及VFPv3浮点架构。ARM CortexTM -A8 微处理器的架构和实现TECHNOLOGY IN-DEPTHInformation QuarterlyNumber 6, Spring 200728TECHNOLOGY IN-DEPTHInformation QuarterlyNumber 6, Spring 200729超标量流水线这些新功能中最重要的可能是双顺序发射、统计调度的ARM整数流水线。之前的ARM处理器只有一个整

7、数执行流水线。同时发出两条数据处理指令大幅增强了每个循环中执行指令的最大潜能。公司决定继续沿用顺序发射,以便将所需的额外功率保持在最低。无序发射与收回可能需要大量消耗额外功率的逻辑电路。选择顺序还支持自动指令发射,因此从设计中省去了关键路径,同时降低了流水线中的定制设计要求。静态调度支持大量的时钟门来降低执行过程中的功耗。双ALU(算术逻辑单元)流水线 (ALU 0和ALU 1)是对称的, 它们都可以处理大多数算术指令。ALU流水线0始终执行一对旧的发射指令。 Cortex-A8处理器还配备乘法器和加载存储流水线, 但这些都不对两条ALU流水线执行额外指令。 可将它们视为 “独立” 流水线。

8、使用它们必需同时使用ALU流水线之一。 乘法器流水线只能与ALU 0流水线中的指令结合使用, 而加载存储流水线只能与任一ALU中的指令结合使用。跳转预测与前几代ARM微架构相比, 选择13级流水线可大幅提高其操作频率。 请注意,阶段F0未计算在内, 因为它只是生成地址。 为了最大限度地降低通常与深度流水线相关的跳转损失, Cortex-A8处理器实现二级全局历史跳转预测器。 它包含两个不同的结构: 跳转目标缓冲器(BTB)和全局历史缓冲器(GHB) , 两者都使用取指令并行访问。BTB表明当前取地址是否返回一个跳转指令及其跳转目标地址。它包含512项。在BTB命中时,将预测跳转并访问GHB。G

9、HB包括4096个2位饱和计数器,对跳转的强度和方向信息进行编码。最近遇到的10个跳转方向的10位历史和PC的4位用于检索GHB。除了动态跳转预测器外,还使用返回栈来预测子例程返回地址。返回栈包含8个32位项,它们存储r14(寄存器 14)中的链接寄存器值以及调用函数的ARM和Thumb状态。预测使用返回类型指令时,返回栈会提供最后推出的地址和状态。L1 缓存Cortex-A8处理器有单循环加载使用损失,可快速访问L1缓存。数据和指令缓存可配置为16k和32k。每一个都是关联的4路集,并使用哈希虚拟地址缓冲器(HVAB)方向预测方案来改善计时并降低功耗。缓存采用物理寻址(虚拟检索、物理标记),

10、并具备硬件支持以避免失真项。使用每字节一个奇偶校验位来支持奇偶校验。数据缓存的归位策略是使用没有写分配的写回法。还包括在写入主内存之前针对数据合并的存储缓冲区。HVAB是一种降低访问缓存所需功率的全新方法。它使用预测方案来确定访问前启用RAM的方式。L2 缓存 Cortex-A8处理器包括集成的L2缓存。它为L2缓存提供与L1缓存之间的低延迟、高带宽专用接口。这将L1缓存行填充的延迟时间降至最低,并且与主系统总线不会产生流量冲突。大小可配置为从64k到2M。L2缓存采用物理寻址和关联的8路集。它是统一的数据和指令缓存,并且支持可选型ECC和奇偶校验。根据页表设置采用写回、通写和写分配策略。使用

11、假随机分配策略。L1数据缓存的内容与L2缓存不兼容,而L1指令缓存的内容却是L2缓存的子集。串行访问L2缓存的标记和数据RAM以节约功耗。NEON 媒体引擎Cortex-A8处理器的NEON媒体处理引擎流水线从主整数流水线结束处开始。 因此, 在指令到达之前将解决所有异常和分支预测错误。 更重要的是, L1缓冲的数据还有零加载使用损失。ARM整数单元在NEON加载和存储通过流水线时生成地址, 这样就可以在NEON数据处理操作提出要求前从L1缓存中取出数据。NEON引擎之间的深度指令和加载数据缓冲、ARM整数单元和内存系统能够对流水线数据隐藏L2访问延迟。 存储缓冲器可防止NEON存储阻止流水线

12、, 并检测与ARM整数单元访问及NEON加载的地址冲突。NEON指令队列(NIQ)负责解除NEON单元与主ARM整数流水线的配对。ARM指令执行单元每个时钟周期最多可以向NEON单元发送两条有效指令。NEON有128位宽的加载和存储路径可到达L1和L2缓存,并支持两者的流水线。NEON媒体引擎拥有自己的10段流水线,它从ARM整数流水线结束处开始。由于ARM整数单元中已解决所有错误预测和异常,所以向NEON媒体引擎发送指令后,因为它不会产生异常,所以必须完成。NEON有三条SIMD整数流水线,一条加载存储/交换流水线,两条SIMD单精度浮点流水线和一个非流水线向量浮点单元(VFPLite)。按

13、顺序发射和收回NEON指令。数据处理指令是NEON整数指令或NEON浮点指令。Cortex-A8 NEON单元不会并行发射两条数据处理指令,这样可避免复制数据处理函数块占用太多空间,同时可避免与读写寄存器端口复用相关的计时关键路径和复杂性。(下接P35下)(上接P29下)NEON整数数据路径包括三条流水线:整数乘法/累加流水线(MAC)、整数移位流水线和整数ALU流水线。加载存储/交换流水线负责所有的NEON加载/存储、数据出入整数单元以及数据交换操作(如交错和去交错)。NEON浮点(NFP)数据路径有两条主流水线:乘法流水线和加法流水线。单独的VFP-Lite单元是ARM VFPv3浮点规范

14、的非流水线实现,该规范针对中等性能符合IEEE 754的浮点支持。VFPLite用于提供对现有ARM浮点代码的向后兼容性,并提供符合IEEE 754的单精度和双精度算法。“精简”是指空间和性能,而不是功能。结论Cortex-A8处理器是ARM公司目前为止开发的速度最快、最节能的微处理器。由于能在350MHz下解码VGA H.264视频,可提供下一代无线和消费产品所需的媒体处理功能,而且在65nm技术条件下功耗小于300mW。其全新的NEON技术为面向媒体处理的灵活软件解决方案提供了一个平台。Thumb-2指令提供代码密度并保持标准ARM代码的性能;Jazelle RCT技术也使运行时编译器从中受益。TrustZone技术为敏感数据和DRM提供了安全性。许 多 重 要 的 微 架 构 新 功 能 在Cortex-A8处理器中首次亮相。它们包括双发射、顺序超标量流水线、集成的L2缓存以及深度远远超出以前ARM处理器的流水线。为了满足其出众的性能目标并保持ARM一贯的低功率预算,已开发新的流程用于实现定制技术的效率,同时保持自动化流程的灵活性。Cortex-A8处理器是灵活的低功耗、高性能处理领域的巨大跃迁。DESIGN STRATEGIES AND METHODOLOGIESInformation QuarterlyNumber 6, Spring 200735

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号