• DocumentCode
    3370373
  • Title

    Low-cost branch folding for embedded applications with small tight loops

  • Author

    Lee, Lea Hwang ; Scott, Jeff ; Moyer, Bill ; Arends, John

  • Author_Institution
    Motorola Inc., Austin, TX, USA
  • fYear
    1999
  • fDate
    1999
  • Firstpage
    103
  • Lastpage
    111
  • Abstract
    Many portable and embedded applications are characterized by spending a large fraction of execution time on small program loops. To improve performance many embedded systems use special instructions to handle program loop executions. These special instructions, however, consume opcode space, which is valuable in the embedded computing environments. In this paper, we propose a hardware technique for folding our branches when executing these small loops. This technique does not require any special branch instructions. It is based on the detection and utilization of certain short backward branch instructions (sbb). A sbb is any PC-relative branch instruction with a limited backward branch distance. Once an sbb is detected, its displacement field is used by the hardware to identify the actual program loop size. It does so by loading this negative displacement field into a counter and incrementing the counter for each instruction sequentially executed. As the count approaches zero, the hardware folds out the sbb by predicting that it is always taken. The hardware overhead for this technique is minimal. Using a 5-bit increment counter, the performance improvement over a set of embedded applications is about 7.5%
  • Keywords
    embedded systems; parallel architectures; performance evaluation; 5-bit increment counter; embedded systems; execution time; low-cost branch folding; opcode space; performance; program loop executions; program loops; Costs; Counting circuits; Degradation; Design optimization; Embedded computing; Embedded system; Energy consumption; Instruction sets; Microprocessors; Portable computers;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Microarchitecture, 1999. MICRO-32. Proceedings. 32nd Annual International Symposium on
  • Conference_Location
    Haifa
  • ISSN
    1072-4451
  • Print_ISBN
    0-7695-0437-X
  • Type

    conf

  • DOI
    10.1109/MICRO.1999.809448
  • Filename
    809448