新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 认识ARM体系结构的发展

认识ARM体系结构的发展

作者:时间:2013-12-05来源:网络收藏

 


应用覆盖驱动系统实现向方向发展。无线平台,尤其是2。5G和3G,都是典型的需要整合多个处理器或与DSP的应用。材通过共享内存来有效的共享数据。新的armv6在数据共享和同步方面的能力将使它更容易实现多处理器,以及提高它们的性能。新的指令使能复杂的同步策略,更大的提升了系统效能。

多媒体支持

单指令流多数据流(SIMD)能力使得软件更有效地完成高性能的媒体应用像声音和图像编码器。armv6指令集合中加入了超过60个SIMD指令。加入SIMD指令将使性能提高2倍到4倍。SIMD能力使发展商可以完成高端的像图象编码

,语音识别,3D图象,尤其是与下一代无线应用相关的。

数据处理

  数据的大小端问题是指数据以何种方式在存储器中被存储和引用。
 
  随着更多的SOC集成,单芯片不仅包含小端的OS环境和界面(像USB,PCI),也包含大端的数据(TCP/IP包,MPEG流)。v6,支持混合。结果,数据处理问题在armv6中更为有效。
 
  未对齐数据是指数据未与自然边界对齐。例如,在DSP应用中有时需要将字数据半字对齐。处理器更有效处理这种情形需要能够装载字到任何半字边界。
 
  当前版本的需要大量指令处理未对齐数据。ARMv6兼容结构处理未对齐数据更有效。对于严重依赖未对齐数据的DSP算法,ARMv6体系结构将有性能的提高以及代码数量的缩减。未对齐数据支持将使ARM处理器在仿真其它处理器像Motorola的68000系列方面更有效。与ARMv5的实现像ARM10和Xscale,ARMv6是基于32位处理器。armv6可以实现64位或64位以上的总线宽度。这使得总线等于甚至超过64位处理器,但功耗和面积却比64位CPU要低。
 例外(EXCEPTION)与中断

  对于实时系统来说,对于中断的效率是要求严格的。像硬盘控制器,引擎管理应用,这些应用中如果中断没有及时得到响应,那后果将是严重的。更有效的处理中断与例外也能提高系统整体表现。在降低系统时尤为重要。在armv6体系结构中,新的指令被加入了指令集合来提升中断与例外的实现。这些将有效提升特权模式下例外处理。

arm11主要性能

ARM11是ARMv6体系结构的第一个实现,ARM11微结构的设计目的是为了高性能,而实现这一目的流水线是关键。ARM11微结构的流水线与以前的arm核不同,它包含8级流水,使贯通率比以前的核提高40%。

单指令发射

  arm11微结构的流水线是标量的(SCALAR),即每次只发射一条指令(单发射)。有些流水线结构可以同时发射多条指令,例如,可以同时向ALU和MAC流水线发射指令。
 
  理论上,多发射微结构会有更高的效能,但实践上,多发射微结构无疑会增加前段指令译码级的复杂程度,因为需要更多的逻辑来处理指令相关(DEPENDENCY),这将使处理器的面积和功耗变得更大。
 
分支预测

  分支指令通常是条件指令,它们在跳到新指令前需要进行一些条件的测试。由于条件指令译码需要的条件码要三四个周期后才可能有结果,分支有可能引起流水线的延迟。
 
  但分支预测将会有助于避免这种延迟。arm11微结构使用两种技术来预测分支。首先,动态的预测器使用历史记录来判断分支是最频繁发生,还是最不频繁发生。动态预测器是一个64个分录,4状态(StronglyTaken,WeaklyTaken,Strongly notTaken,Weakly notTaken)的分支目标地址缓存(BTAC)。表格大小足够保持最近的分支情况,分支预测就基于以前的结果。其次,如果动态的分支预测器没有发现记录,就使用静态的分支算法。很简单,静态预测检查分支是向前跳转还是向后跳转。假如是向后跳转,就假定它是一个循环,预测该分支发生,假如是向前跳转,就预测该分支不发生。
 
  通过使用动态和静态的分支预测,arm11微结构中分支指令中的85%被正确预测。
 
  存储器访问ARM11微结构存储器系统的提高之一就是非阻塞(NON-BLOCKING)和缺失命中(HIT-UNDER-MISS)操作。当指令取的数据不在缓存中时,一般处理器的流水线会停止下来,但arm11则进行非阻塞操作,缓存开始读取缺失的数据,而流水线可以继续执行下一指令(NON-BLOCKING),并且允许该指令读取缓存中的数据(HIT-UNDER-MISS)。
 
并行流水线

  尽管流水线是单发射的,在流水线的后端还是使用了三个并行部件结构,ALU,MAC(乘加),LS(存取)。LS流水线是专门用于处理存取操作指令。把数据的存取操作与数据算术操作的藕合性分隔开来可以更有效的处理执行指令。在流水线中包含LS部件的ARM11微结构中,ALU或者MAC指令不会由于LS指令的等待而停止下来。这也使得编译工具有更大的自由度通过重新安排代码来提高性能。为使并行流水线获得更大的效能,arm11微结构使用了乱序完成(OUT-OF-ORDER COMPLETION)。
 
64位数据路径

  对于目前的许多应用来说,由于成本与功耗的问题,真64位处理器并不十分必要。ARM1 1微结构在局部合理使用64位结构,通过32位的成本来实现64位的性能。ARM11微结构在处理器整数部件与缓存之间,整数部件与协处理器之间使用了64位数据总线。64位的路径可以在一个周期内从缓存中读取两条指令,允许每周期传送两个arm寄存器的数据。这使得许多数据移动操作与数据加工操作变得更为高性能。
 
浮点处理

  ARM11微结构支持浮点处理。arm11微结构产品线将浮点处理单元作为一个选项。这可以方便发展商根据需求需用合适的产品。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭