首页> 外文学位 >Value locality and speculative execution.
【24h】

Value locality and speculative execution.

机译:重视本地化和投机执行。

获取原文
获取原文并翻译 | 示例

摘要

This thesis introduces a program attribute called value locality and proposes speculative execution under the weak dependence model. The weak dependence model lays a theoretical foundation for exploiting value locality and other program attributes by speculatively relaxing and deferring the detection and enforcement of control- and data-flow dependences between instructions to expose more instruction-level parallelism without violating program correctness. Value locality is a program attribute that describes the likelihood of the recurrence of a previously-seen value within a storage location inside a computer system. Most modern processors already exploit value locality through the use of control speculation (i.e. branch prediction), which seeks to predict the future values of condition code bits and branch-target addresses based on previously-seen values. Experimental results indicate that value locality exists for condition codes and branch target addresses, and for general-purpose and floating-point registers as well. Furthermore, value locality exists not only in the data flow portion of a processor, but also in the control logic, where both register and memory dependences between instructions tend to remain static and are relatively easily predictable.;To exploit value locality, several dynamic prediction mechanisms are proposed. These mechanisms increase instruction-level parallelism by speculatively collapsing explicit and implicit dependences between instructions and folding away execution pipeline stages under the pipeline contraction framework. Detailed evaluation of value prediction for load instructions only, as well as all instructions that write general-purpose or floating-point registers shows significant potential for performance improvements. Further experimental results indicate that both register and memory dependence relationships between instructions are easily predictable. These discoveries result in significant potential for further performance improvements, particularly in conjunction with wide-issue and deeply-pipelined superscalar processors that employ aggressive techniques like accurate dynamic branch prediction and instruction fetching via trace cache to overcome control- and data-flow restrictions on parallel execution of serial programs. Finally, this thesis introduces a new microarchitectural paradigm called Superflow that supersedes historical limits on instruction flow, register dataflow, and memory dataflow and demonstrates potential performance improvements of 2-4x over the current state-of-the-art microprocessors.
机译:本文介绍了一种称为值局部性的程序属性,并提出了在弱依赖模型下的推测执行。弱依赖性模型通过推测性地放宽和推迟对指令之间的控制流和数据流依赖性的检测和执行,以揭示更多的指令级并行性而又不损害程序正确性,从而为利用值局部性和其他程序属性奠定了理论基础。值局部性是一种程序属性,它描述计算机系统内部存储位置中先前看到的值重复出现的可能性。大多数现代处理器已经通过使用控制推测(即分支预测)来利用值局部性,该控制推测旨在基于先前看到的值来预测条件代码位和分支目标地址的未来值。实验结果表明,条件代码和分支目标地址以及通用寄存器和浮点寄存器都存在值局部性。此外,值局部性不仅存在于处理器的数据流部分中,而且还存在于控制逻辑中,在这些指令之间,寄存器和存储器之间的依赖关系往往保持静态并且相对容易预测。提出了机制。这些机制通过推测性地折叠指令之间的显式和隐式依赖关系以及在流水线收缩框架下折叠执行流水线阶段来提高指令级并行度。仅对装入指令以及写入通用或浮点寄存器的所有指令进行的值预测的详细评估显示出显着的性能改进潜力。进一步的实验结果表明,指令之间的寄存器和内存依赖关系都很容易预测。这些发现为进一步提高性能提供了巨大的潜力,特别是与广泛采用且流水线深的超标量处理器结合使用时,这些处理器采用了积极的技术,例如精确的动态分支预测和通过跟踪缓存获取指令,从而克服了并行控制和数据流的限制执行串行程序。最后,本文介绍了一种新的名为Superflow的微体系结构范例,该范例取代了指令流,寄存器数据流和内存数据流的历史限制,并证明了与当前最先进的微处理器相比,性能可能提高2-4倍。

著录项

  • 作者

    Lipasti, Mikko Herman.;

  • 作者单位

    Carnegie Mellon University.;

  • 授予单位 Carnegie Mellon University.;
  • 学科 Electrical engineering.;Computer science.
  • 学位 Ph.D.
  • 年度 1997
  • 页码 194 p.
  • 总页数 194
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

  • 入库时间 2022-08-17 11:49:04

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号