Code Compressie Frank F A van der Pijl













![Generatie boomsubstructuren • Assign. Integer(Address. Of. Global[x], Constant. Integer[0]) • Assign. Integer(Address. Of. Global[x], Generatie boomsubstructuren • Assign. Integer(Address. Of. Global[x], Constant. Integer[0]) • Assign. Integer(Address. Of. Global[x],](https://slidetodoc.com/presentation_image_h2/5eece0817adabae749a97d2954bafc77/image-14.jpg)





- Slides: 19
Code Compressie Frank F. A. van der Pijl
Indeling • Literatuur • Introductie van het probleem • Probleem • Overzicht van oplossingsstructuur • Details • Resultaten • Relatie met ander werk • Conclusie
Literatuur • Custom Instruction Sets for Code Compression • Christopher W. Fraser, AT & T Bell Laboratories • Todd A. Proebsting, University of Arizona • Computer Architecture, a Quantitative Approach • David A. Patterson, University of California at Berkeley • John L. Hennessy, Stanford University
Introductie van het Probleem • Compressie • Tijd besparen • Ruimte besparen
Probleem • Het doel is om een willekeurig C programma automatisch te compilen naar een compacte ruimte efficiënte interpreter en interpretive code C programma Switch(bla) Case (. . . Bla bla B 3 = b 5 break compilen Interpreter Interpretive code
Overzicht van Oplossingsstructuur Program to compress Trees as ASCII Tree patterns Trees as C initializer Code generator Instruction set generator Interpreter en interpretive code
Boomstructuur • ASCII beelden van code • C initializers Program to compress Trees as ASCII Tree patterns Trees as C initializer Code generator Instruction set generator Interpreter and interpretive code
Boomsubstructuur Program to compress • Subbomen Trees as ASCII Tree patterns • Gunstige instructieset Trees as C initializer Code generator Instruction set generator Interpreter and interpretive code
Algoritme • iburg • Minste-kosten-overdekking Program to compress Trees as ASCII Tree patterns Trees as C initializer Code generator Instruction set generator Interpreter and interpretive code
Optimale instructieset • Automatisch Program to compress Trees as ASCII Tree patterns Trees as C initializer Code generator Instruction set generator Interpreter and interpretive code
Interpretive code en interpreter • Implementatie Program to compress Trees as ASCII Tree patterns Trees as C initializer Code generator Instruction set generator Interpreter and interpretive code
Details • C programma’s Program to compress Trees as ASCII Tree patterns Trees as C initializer Code generator Instruction set generator Interpreter and interpretive code
Generatie van een boomstructuur • LCC compiler • Tekstuele representatie Voorbeeld Assign. Integer(Address. Of. Global[x], Constant. Integer[0])
Generatie boomsubstructuren • Assign. Integer(Address. Of. Global[x], Constant. Integer[0]) • Assign. Integer(Address. Of. Global[x], *) • Assign. Integer(* , Constant. Integer[0]) • Assign. Integer(*, *) • *: Address. Of. Global[x] • *: Constant. Integer[0]
Generatie code generator • Generator accepteert boomstructuren • Minste kosten boombedekking Voorbeeld Assign. Integer(*, Constant. Integer[*]) Assign. Integer(*, Constant. Integer[0])
Algoritme • Waarom werkt het? instructies
Resultaten • Compressiefactor 2 Compressie factor lcc 1 burg 0. 5 lcc 1 2 3 4 5 6 7 Max knopen per instructie 8 9 10
Relatie met ander werk • Compressie via boomstructuren • Statistiek
Conclusie Trade-off saving time-saving space Software implementatie Veel onderzoek