OpenRisc-43-or1200 IF模块分析
发布时间
阅读量:
阅读量
引言
“满足CPU的运算需求”,是计算机体系结构设计人员必须持续关注的核心议题。为应对这一挑战,通常可采取两种主要策略:其一是依据局部性原理引入缓存机制,以减少指令获取所需的时间;其二是借助多种分支预测技术,从而提升指令获取的准确性。
倘若仅有缓存而缺乏高效的分支预测机制,即便指令获取速度较快,但每次预取的指令均可能错误,无法实现预期效果。
反之,若仅有分支预测而没有缓存支持,尽管每次获取的指令准确无误,但因获取过程耗时较长,同样难以满足需求。
因此,唯有将这两方面协同配合,方能有效提升ALU的运算效率。
“以草为食,产出奶汁”,这句话常用于赞美牛的奉献精神。然而若想使其产出更多奶汁,则必须保证其拥有充足的草料供应。
此前我们已对or1200处理器中的缓存与MMU模块进行了分析,并掌握了缩短指令获取时间的方法。本节将重点介绍or1200处理器中IF(指令获取)模块的相关内容。
转移预测模型构建
众所周知,cache运行的基础在于局部性原理,然而自然规律往往具有平衡性,当程序被赋予局部性特征的同时,也伴随着破坏局部性的因素——分支指令(控制相关指令)。这类控制相关指令会干扰地址的连续性,若程序中存在大量分支指令且缺乏有效的转移预测机制,则在遇到跳转指令时,若先前获取的指令并非最终跳转入口,则需对整个流水线进行重置,这将对CPU的整体运行效率造成显著
全部评论 (0)
还没有任何评论哟~
