Dataflow Predication

A. Smith, R. Nagarajan, K. Sankaralingam, R. McDonald, D. Burger, S. W. Keckler, K. S. McKinley

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract / Description of output

Predication facilitates high-bandwidth fetch and large static scheduling regions, but has typically been too complex to implement comprehensively in out-of-order micro architectures. This paper describes dataflow predication, which provides per-instruction predication in a dataflow ISA, low predication computation overheads similar to VLIW ISAs, and low complexity out-of-order issue. A two-bitfield in each instruction specifies whether an instruction is predicated, in which case, an arriving predicate token determines whether an instruction should execute. Dataflow predication incorporates three features that reduce predication overheads. First, dataflow predicate computation permits computation of compound predicates with virtually no overhead instructions. Second, early mispredication termination squashes in-flight instructions with false predicates at any time, eliminating the overhead of falsely predicated paths. Finally, implicit predication mitigates the fanout overhead of dataflow predicates by reducing the number of explicitly predicated instructions, by predicating only the heads of dependence chains. Dataflow predication also exposes new compiler optimizations - such as disjoint instruction merging and path-sensitive predicate removal - for increased performance of predicated code in an out-of-order design
Original languageEnglish
Title of host publication2006 39th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'06)
PublisherInstitute of Electrical and Electronics Engineers (IEEE)
Pages89-102
Number of pages14
ISBN (Print)0-7695-2732-9
DOIs
Publication statusPublished - 1 Dec 2006

Fingerprint

Dive into the research topics of 'Dataflow Predication'. Together they form a unique fingerprint.

Cite this