首页 理论教育ARMCortex-A8处理器结构

ARMCortex-A8处理器结构

【摘要】:Cortex-A8处理器是一款适用于复杂操作系统及用户应用的应用处理器,已在工业控制、医疗电子、节能环保、智能交通、能源节能、电力系统、通信系统等环境恶劣场合广泛应用。Cortex-A8处理器包含以下4种外部接口。

Cortex-A8处理器是一款适用于复杂操作系统及用户应用的应用处理器,已在工业控制、医疗电子、节能环保、智能交通能源节能、电力系统、通信系统等环境恶劣场合广泛应用。

1.Cortex-A8处理器的特性:

(1)顺序,双发射,超标量微处理器内核,13级主整数流水线。10级NEON媒体流水线(10-stage NEONmedia pipeline);专用的L2缓存,带有可编程的等待状态;基于全局历史的分支预测。

(2)结合功率优化的加载存储流水线,为功率敏感型应用提供2.0 DMIPS/MHz的速率遵从ARMv7架构规范,其中包括:用于实现更高的性能、能量效率和代码密度的Thumb-2技术;

NEONTM信号处理扩展,用于加速H.264和MP3等媒体编解码器;Jazelle RCT Java-加速技术,用于最优化即时(JIT)编译和动态自适应编译(DAC),并将存储器尺寸减小了多达3倍;TrustZone技术,用于安全交易和数字权限管理(DRM)。

(3)集成的L2缓存。使用标准编译的ARM建立而成;64K到2MB的可配置容量;可编程的延迟。

(4)优化的L1缓存。经过性能和功耗的优化;结合最小访问延迟和散列确定方式,以便将性能最大化,将功耗最小化。

(5)动态分支预测.通过分支目标和全局历史缓冲区实现;按照行业基准,达到95%的准确率;重放机制,以实现预测失败代价的最小化。

(6)存储器系统.访问L1缓存导致的单周期加载使用代价;L1缓存的散列数组使得只有在可能需要时才会启用存储器;集成的、可配置L2缓存和用于数据流的NEON媒体单元之间的直连接口;Bank化的L2缓存设计,每次只设计1个Bank;支持多项与L3存储器之间的未完成事务,以充分利用CPU。

2.Cortex-A8处理器组成结构

Cortex-A8处理器主要由指令取值单元、指令译码单元、指令执行单元、数据存取单元(load/store)、L2缓存单元、ETM单元、NONE单元、及处理器外部接口单元八部分组成。具体见图2.1。

图2.1 Cortex-A8处理器组成结构

图2.1各个单元的功能为:(www.chuimin.cn)

(1)指令取值单元:指令取值单元对指令流进行预测,从L1缓存中取出指令后送到解码流水线进行译码,因此,L1指令缓存也包含在指令取指单元中。

(2)指令解码单元:指令解码单元对ARM和Thumb-2指令完成解码工作。这些指令包括来自调试控制协处理器(CP14)和系统控制协处理器(CP15)的指令。当存在多条指令时,指令解码单元处理指令的顺序为:异常、调试事件、复位初始化、存储去内嵌自测MBIST(Memory Built-In Self Test)等待中断、其他异常事件。

(3)执行指令单元。执行指令单元包含两个对称的算术逻辑运算单元(ALU)流水线,一个用于load/store指令的地址发生器,另一个为乘法流水线。执行单元流水线同时也负责寄存器回写操作。执行指令单元的作用如下:执行所以整数ALU运算和乘法运算,并同时对标志位产生影响;产生用于存取的虚拟地址和基地址;为存取指令提供格式化数据,并将数据和标志向前发送;处理分支及其他指令流变化,并评估指令条件码。

(4)数据存储单元(load/store)。load/store单元含有完整的L1数据存储系统和整数存储流水线。包括L1数据缓存、数据TLB、整数存储缓冲区、NEON存储缓冲区、整数数据加载地址边沿对齐和格式化以及整数数据存储数据地址边沿对齐和格式化。

(5)L2缓存单元。L2缓存单元包含L2缓存和缓存接口单元(BIU)。当预取指令和存取指令被L1缓存错过时,那么L2缓存单元将为他们服务。

(6)NEON单元。NEON技术可加速多媒体和信号处理算法。NEON单元包含一个10段NEON流水线,用于译码和执行高级SIMD多媒体指令集。NEON单元具体包含NEON指令队列、NEON加载数据队列、NEON译码逻辑的两条流水线、用于高级SIMD整数指令的三条执行流水线、用于高级SIMD浮点数指令的两条执行流水线、用于高级SIMD和VFP存取指令的一条执行流水线及用于可完全执行VFPv3数据处理指令集的VFP引擎。

(7)非侵入式跟踪宏单元(ETM)。ETM也被称为无创跟踪单元。在系统调试和性能分析时,ETM可以对指令和数据进行跟踪,并对其进行过滤和压缩。ETM通过高级跟踪总线(ATB)与处理器外部连接。

(8)处理器外部接口单元。Cortex-A8处理器包含以下4种外部接口。

①AXI:AXI接口是系统总线的主要接口,用于L2缓存的填充和L1缓存指令及数据的访问。它支持64位和128位的数据总线宽度。AXI总线还支持多个未处理请求。同时AXI信号时钟与CLK输入同步,使用ACLKEN可以获得较大总线占用比。

②APB:跟踪调试接口APB用来访问ETM、CTI和调试寄存器。

③ATB:跟踪调试接口ATB用来输出调试跟踪信息。

④DFT:DFT接口用于为制造商提供内存内置自测试及其方案。

APB和ATB接口与ARM多处理器跟踪调试体系兼容。