Effective exploitation of a Zero Overhead Loop Buffer

Citation
Gr. Uh et al., Effective exploitation of a Zero Overhead Loop Buffer, ACM SIGPL N, 34(7), 1999, pp. 10-19
Citations number
11
Categorie Soggetti
Computer Science & Engineering
Journal title
ACM SIGPLAN NOTICES
ISSN journal
15232867 → ACNP
Volume
34
Issue
7
Year of publication
1999
Pages
10 - 19
Database
ISI
SICI code
1523-2867(199907)34:7<10:EEOAZO>2.0.ZU;2-B
Abstract
A Zero Overhead Loop Buffer (ZOLB) is an architectural feature that is comm only found in DSP processors. This buffer can be viewed as a compiler manag ed cache that contains a sequence of instructions that will be executed a s pecified number of times. Unlike techniques such as loop unrolling, a loop buffer is a hardware technique that can be used to minimize loop overhead w ithout the penalty of increasing code size. In addition, a ZOLB also requir es relatively little space and power, which are both important consideratio ns for most DSP applications. This paper describes strategies for generatin g code to effectively use a ZOLB. The authors have found that many common i mproving transformations used by optimizing compilers to improve code on co nventional architectures are shown (1) to allow more loops to be placed in a ZOLB and (2) to further reduce loop overhead of the loops placed in a ZOL B. The results given in this paper demonstrate that this architectural feat ure can often be exploited with substantial improvements in execution time and slight reductions in code size.