A code compression system based on pipelined interpreters

J. Hoogerbrugge, A. Augusteijn, J.J.C. Trum, H.W.J. van de Wiel

Onderzoeksoutput: Bijdrage aan tijdschriftTijdschriftartikelAcademicpeer review

47 Citaten (Scopus)
5 Downloads (Pure)

Samenvatting

This paper describes a system for compressed code generation. The code of applications is partioned into time-critical and non-time-critical code. Critical code is compiled to native code, and non-critical code is compiled to a very dense virtual instruction set which is executed on a highly optimized interpreter. The system employs dictionary-based compression by means of superinstructions which correspond to patterns of frequently used base instructions. The code compression system is designed for the Philips TriMedia VLIW processor. The interpreter is pipelined to achieve a high interpretation speed. The pipeline consists of three stages: fetch, decode, and execute. While one instruction is being executed, the next instruction is decoded, and the next one after that is fetched from memory. On a TriMedia VLIW with a load latency of three cycles and a jump latency of four cycles, the interpreter achieves a peak performance of four cycles per instruction and a sustained performance of 6.27 cycles per instruction. Experiments are described that demonstrate the compression quality of the system and the execution speed of the pipelined interpreter; these were found to be about five times more compact than native TriMedia code and a slowdown of about eight times, respectively.
Originele taal-2Engels
Pagina's (van-tot)1005-1023
Aantal pagina's19
TijdschriftSoftware : Practice and Experience
Volume29
Nummer van het tijdschrift11
DOI's
StatusGepubliceerd - 1999

Vingerafdruk

Duik in de onderzoeksthema's van 'A code compression system based on pipelined interpreters'. Samen vormen ze een unieke vingerafdruk.

Citeer dit