Code Compressie Frank F A van der Pijl

  • Slides: 19
Download presentation
Code Compressie Frank F. A. van der Pijl

Code Compressie Frank F. A. van der Pijl

Indeling • Literatuur • Introductie van het probleem • Probleem • Overzicht van oplossingsstructuur

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 &

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

Introductie van het Probleem • Compressie • Tijd besparen • Ruimte besparen

Probleem • Het doel is om een willekeurig C programma automatisch te compilen naar

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

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

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

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

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

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

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

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.

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],

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(*,

Generatie code generator • Generator accepteert boomstructuren • Minste kosten boombedekking Voorbeeld Assign. Integer(*, Constant. Integer[*]) Assign. Integer(*, Constant. Integer[0])

Algoritme • Waarom werkt het? instructies

Algoritme • Waarom werkt het? instructies

Resultaten • Compressiefactor 2 Compressie factor lcc 1 burg 0. 5 lcc 1 2

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

Relatie met ander werk • Compressie via boomstructuren • Statistiek

Conclusie Trade-off saving time-saving space Software implementatie Veel onderzoek

Conclusie Trade-off saving time-saving space Software implementatie Veel onderzoek