Threaded multiple path execution

Threaded multiple path execution
复制标题

DOI:
10.1109/isca.1998.694778
复制
发表时间:
1998-04
期刊:
Proceedings. 25th Annual International Symposium on Computer Architecture (Cat. No.98CB36235)
影响因子:
--
通讯作者:
S. Wallace;B. Calder;D. Tullsen
S. Wallace;B. Calder;D. Tullsen
中科院分区:
其他
文献类型:
--
作者:
S. Wallace;B. Calder;D. Tullsen

文献摘要

被引文献

相似文献

本文提出了线程多路径执行(TME),它利用现有的硬件上的同时多线程(SMT)处理器推测执行多个路径的执行。当SMT处理器中的线程少于硬件上下文时,线程化多路径执行使用备用上下文来沿难以预测的分支的不太可能的路径沿着获取和执行代码。本文介绍了所需的硬件机制,使SMT处理器,以有效地产生投机线程多路径执行。映射同步总线的描述,使这些多个路径的产卵。检查策略以决定分叉哪些分支,以及管理主路径线程和备用路径线程之间对关键资源的竞争。我们的研究结果表明,TME增加了SMT与8个线程上下文的单程序性能平均14%-23%,这取决于误预测惩罚,具有高误预测率的程序。
This paper presents Threaded Multi-Path Execution (TME), which exploits existing hardware on a Simultaneous Multithreading (SMT) processor to speculatively execute multiple paths of execution. When there are fewer threads in an SMT processor than hardware contexts, threaded multi-path execution uses spare contexts to fetch and execute code along the less likely path of hard-to-predict branches. This paper describes the hardware mechanisms needed to enable an SMT processor to efficiently spawn speculative threads for threaded multi-path execution. The Mapping Synchronization Bus is described which enables the spawning of these multiple paths. Policies are examined for deciding which branches to fork, and for managing competition between primary and alternate path threads for critical resources. Our results show that TME increases the single program performance of an SMT with eight thread contexts by 14%-23% on average, depending on the misprediction penalty, for programs with a high misprediction rate.