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

Slides:



Advertisements
Verwante presentaties
Gebruik van enquête voor teamleiders binnen Scouting Academy
Advertisements

Word 2003 Tips en trucs Door Johan Lammers.
Presentatie programma Access applicatie kopersbegeleiding
Autisme en Mindmap Thuis en op School
SSD gebruik in “WMC“ Nico Oosterwijk.
Lagere maandlasten door oversluiten hypotheek! Zeer waarschijnlijk gaan de hypotheekregels veranderen en kan het zeer verstandig zijn om één van onze adviseurs.
Informatieverwerkende systemen
Processor & Toetsenbord
Par. 3.1 Computers zijn overal
Jerry van den Heuvel Pim van der Lee
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 4(2): Digitale.
Het werkgeheugen stored program concept (John von Neumann) Het achtergrondgeheugen Geheugen.
Hardware (2) SGDB Informatica.
BESTURINGS SYSTEMEN Vincent Naessens.
PH 09 E V Algemeen Wat is ACES ? ACES is een adviescentrum dat een volledig onafhankelijk advies kan geven op het gebied van elektronische sluitsystemen.
Vertaling van Miriam Zweverink Project No Presentatie 2009 Tool 2 Kosten/Baten Check.
Auteursomgeving voor Digitale Componenten
Steven Van Acker. Transmeta Crusoe - Steven Van Acker - Mei Overzicht  Inleiding  Het Idee  De Technologie  CodeMorphing  LongRun  NorthBridge.
C programma int main(){ } Compilatie met devc++ in file main.c Gecompileerd programma in file FirstProgram.exe Mov R1, 120 Mov R2, 160 ADD R1, R2.
Deze presentatie wordt u aangeboden door:
1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam.
Het verbeteren van een modulaire verificatie techniek voor aspect georiënteerd programmeren Alfons Laarman.
Nieuw in LIPS VLUG 2 26 juni 2006 Kristof Brams. Overzicht Vernieuwde editor Printervriendelijke pagina Statistieken Variabele fontgrootte Grootte van.
Indeling Inleiding op PRM-planners & Medial Axis Retraction van configuraties op de Medial Axis Verbetering van retraction Verbetering van sampling Expliciete.
Taskforce Mobiliteitsmanagement:
Hoe werkt een rekenmachine?
1Ben Bruidegom 1 De Harvard Machine Van rekenmachine met “loopjes” naar processor.
Comprimeren en inpakken woensdag 30 november 2011.
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 3.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 4 - onderwerpen Multiplexen.
Power PC Assembler. Assembler toolkit bevat Assembler zelf Linkerlibrarian.
Looking at Code Size and Performance Kevin Muys.  Hoe efficiënt is C++ vergeleken met C  Hoe beïnvloed C++ het benodigde geheugen  Oplossingen voor.
Presentatie door: Martijn Schmid, Kathinka Veldkamp en Nynke Zwart
Processor & Toetsenbord
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 4: Digitale logica niveau: “systeem-architectuur” cpu-chips.
MICROCONTROLLERS.
Processor Hart van de computer.
Van Pal naar HD. Wat zijn de verschillen? HD 5 maal scherper als PAL Aanzienlijk rustiger beeld Mogelijkheid om een “thuisbioscoop” te realiseren Aanzienlijke.
23 april 2013 Spookfiles JK Hensems / Bram Hendrix.
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 9(1): Virtual.
De rommel van de programmeur Pieter van Ede. Handmatig geheugenbeheer Programmeur gooit zelf objecten weg Veel fouten mee gemaakt Geheugenlekken ‘Dangling.
Een overzicht van de hedendaagse mogelijkheden voor het bouwen van websites.
MIDI Wat is het? En wat kan je er mee?. Wat het is. MIDI staat voor Musical Instrument Digital Interface. Het is een bestandsformaat dat als het ware.
Onderwerp: PIC assembler programmeren
Jeugd en recht hoofdstuk
De Transmeta Crusoe processor Een VLIW CPU met x86 compatibiliteit.
Cache Prestatie & Energieverbruik. Overzicht Voorbeelden energieverbruik Cache.
Voorkomen van (communicatie) fouten
Programmeren.
Grafentheorie Graaf Verzameling knopen al dan niet verbonden door takken, bijv:
Methoden & Technieken van Onderzoek
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
Hogeschool Rotterdam, Opleiding Vastgoed & Makelaardij drs. ing. M.M.A. Scheepers Collegejaar college.
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
Australie, en zijn “ reuzen op de weg “
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
Hoe maak ik een PowerPoint presentatie?
Functional Web Applications Implementation and Use of Client-Side Interpreters Jan Martin Jansen.
Emulatie vs virtualisatie Docent: Schooljaar:. Emulatie vs virtualisatie Simulatie.
Na de praktijk, de theorie.. Zoals een gehaktmolen 1.Je stopt er iets in. 2.Je hoeft niet te weten wat er binnenin gebeurt. 3.Het resultaat verschijnt.
Netwerken 2 Enigma Netwerken paragraaf 4 en 5. Snelheid van een verbinding Communicatie is het verzenden van een bericht van een zender naar een ontvanger.
Workshop 'Beelden van tijd en beeldende geschiedenis': rapportering plenum Moeten wij die datum vanbuiten leren? Chronologie en historisch tijdsbesef.
Programmeren. Wat is programmeren? Het schrijven van opdrachten voor de processor De processor “spreekt” machinetaal:
Programmeren.
Datastructuren voor graafrepresentatie
Een beschouwing schrijven
E-Boeken van binnen Of wat zit er in een epub
3 Hardware 3.1 De processor en intern geheugen
Informatieverwerkende systemen
Checklist for Savings & Added Value
Transcript van de presentatie:

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

Overzicht b Iets over embedded systems b Waarom coderen? b Hoe coderen? b Gecomprimeerde code architectuur b Beperkingen architectuur b Compressie algoritme

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

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

Embedded systems Beperkingen op het gebied van: b grootte b gewicht b energieverbruik b prijs

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

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

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

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

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

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

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

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

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

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