1 / 15

Code compressie in Embedded Systems

Code compressie in Embedded Systems. Onno Kievit ET4074 Kwantitatieve aspecten van computer architectuur. Overzicht. Iets over embedded systems Waarom coderen? Hoe coderen? Gecomprimeerde code architectuur Beperkingen architectuur Compressie algoritme. Embedded systems.

Download Presentation

Code compressie in Embedded Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Code compressie in Embedded Systems Onno Kievit ET4074 Kwantitatieve aspecten van computer architectuur

  2. Overzicht • Iets over embedded systems • Waarom coderen? • Hoe coderen? • Gecomprimeerde code architectuur • Beperkingen architectuur • Compressie algoritme

  3. Embedded systems Een embedded system is gedefinieerd als een systeem dat microprocessoren of microcontrollers bevat, maar dat geen general-purpose computer is

  4. Embedded systems Zeer veel toepassingen, waaronder controllers voor: • auto’s, • vliegtuigen, • draagbare consumentenelektronica, • enz

  5. Embedded systems Beperkingen op het gebied van: • grootte • gewicht • energieverbruik • prijs

  6. Embedded systems Vooral in massaproductie omgeving zijn de kosten vaak nauw verbonden met de grootte van het chip-oppervlak!

  7. Waarom coderen? • In embedded systems wordt groot gedeelte van chip-oppervlak gebruikt voor de instructie-ROM • Reductie van instructie-ROM is dus wenselijk! • Codeer de instructies ter reductie

  8. Hoe coderen?  ontwerp architectuur met gecomprimeerde code Globaal: • Sla instructies gecomprimeerd op in geheugen • Decomprimeer instructies als ze in de cache worden gebracht • Executeer standaard instructies

  9. Architectuur met gecomprimeerde code Instruction Cache Instruction Memory Processor Decompression Circuit LAT CLB

  10. Beperkingen Architectuur • Decompressie-circuit moet heel snel zijn • Decompressie-circuit moet heel klein zijn • Beperkingen ten aanzien van te gebruiken compressie algoritme

  11. Compressie algoritme Problemen: • Programma’s kunnen jumps bevatten • Compressietechnieken die aan het begin moeten beginnen kunnen niet gebruikt worden Gevolg: Bestaande compressie-algoritmes voor data compressie kunnen niet gebruikt worden

  12. Compressie algoritme Een oplossing voor genoemde problemen is een byte-gebaseerde Huffman code. Huffman code: de kortste code wordt toegewezen aan de meest gebruikte symbolen

  13. Compressie algoritme Voordeel: • Simpel te implementeren • Code kan op elke plek gedecodeerd worden Nadeel: • Houdt echter geen rekening met afhankelijkheden tussen instructies

  14. Compressie algoritme Compressie kan verbeterd worden door: • rekening te houden met statistiek tussen de instructies • een “lijst” bij te houden met veel voorkomende reeksen van instructies • de decoder asynchroon uit te voeren

  15. Conclusie • Compressie kan de grootte van instructie geheugen reduceren • Compressie ratio van 76% is mogelijk Gevolg: • Lagere kosten, gewicht en energieverbruik • Of toevoeging van extra programma features zonder geheugen te vergroten

More Related