Increasing the size of atomic instruction blocks using control flow assertions

  • Patel S
  • Tung T
  • Bose S
 et al. 
  • 14


    Mendeley users who have this article in their library.
  • 35


    Citations of this article.


For a variety of reasons, branch-less regions of instructions are
desirable for high-performance execution. In this paper we propose a
means for increasing the dynamic length of branch-less regions of
instructions for the purposes of dynamic program optimization. We call
these atomic regions frames and we construct them by replacing original
branch instructions with assertions. Assertion instructions check if the
original branching conditions still hold. If they hold, no action is
taken. If they do not, then the entire region is undone. In this manner
an assertion has no explicit control flow. We demonstrate that using
branch correlation to decide when a branch should be converted into an
assertion results in atomic regions that average over 100 instructions
in length, with a probability of completion of 97%, and that constitute
over 80% of the dynamic instruction stream. We demonstrate both static
and dynamic means for constructing frames. When frames are built
dynamically using finite sized hardware, they average 80 instructions in
length and have good caching properties

Get free article suggestions today

Mendeley saves you time finding and organizing research

Sign up here
Already have an account ?Sign in

Find this document


  • Sanjay J. Patel

  • Tony Tung

  • Satarupa Bose

  • Matthew M. Crum

Cite this document

Choose a citation style from the tabs below

Save time finding and organizing research with Mendeley

Sign up for free