School of Informatics - University of Edinburgh Institute for Computing Systems Architecture - School of Informatics
Institute for Computing
Systems Architecture

Introducing Control-Flow Inclusion to Support Pipelining in Custom Instruction Set Extensions

    Paper - Introducing Control-Flow Inclusion to Support Pipelining in Custom Instruction Set Extensions
  • Type: Paper
  • Authors:
    M.Zuluaga, T.Kluter, P.Brisk, N.Topham and P.Ienne.
  • In Proceedings of the 7th IEEE Symposium on Application Specific Processors (SASP '09), pages 114-21, San Francisco, CA, July 2009.
  • Download as PDF
  • Abstract:

    Multi-cycle Instruction set extensions (ISE) can be pipelined in order to increase their throughput; however, typical program traces seldom contain consecutive calls to the same ISE that would allow this temporal parallelism. Often, there are intermittent calls to branch instructions, at a minimum, that prevent the pipelined execution of subsequent calls to the same ISE within a loop. What is needed is ISEs that cover an entire loop body, which can create a stream of repeated calls to the same ISE during program execution; this, in turn, permits the use of hardware pipelining. To address this concern, we introduce a new type of ISE that borrows ideas from zero-overhead loop instructions to permit pipelined execution of loops. To further expose instruction-level parallelism, the ISE supports loops whose bodies form hyperblocks, which are regions of program control flow that have multiple exits (including loop iterations and break points within loops). These ISEs broaden the scope of instruction- level parallelism and obtain higher speed ups compared to traditional ISEs, primarily through pipelining, the exploitation of spatial parallelism, and reducing the overhead of control flow statements and branches.