查看: 1660|回复: 0

新体系结构的发展动力2

[复制链接]

该用户从未签到

发表于 2008-6-13 11:54:05 | 显示全部楼层 |阅读模式
分享到:
      分支预测

       分支指令通常是条件指令,它们在跳到新指令前需要进行一些条件的测试。由于条件指令译码需要的条件码要三四个周期后才可能有结果,分支有可能引起流水线的延迟。但分支预测将会有助于避免这种延迟。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位处理器并不十分必要。ARM11 微结构在局部合理使用64位结构,通过32位的成本来实现64位的性能。ARM11微结构在处理器整数部件与缓存之间,整数部件与协处理器之间使用了64位数据总线。64位的路径可以在一个周期内从缓存中读取两条指令,允许每周期传送两个ARM寄存器的数据。这使得许多数据移动操作与数据加工操作变得更为高性能。

       浮点处理

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

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条



手机版|小黑屋|与非网

GMT+8, 2024-12-28 06:06 , Processed in 0.124905 second(s), 15 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.