JavaScript is currently disabled.Please enable it for a better experience of Jumi. Kompakt kod för PowerPC

Genom att komprimera den kompilerade, assemblerade och länkade programkoden till IBM:s senaste version av PowerPC-processorn går det att reducera minnesbehovet med upp till 40 procent.


I den senaste versionen av PowerPC-processorn för inbyggnadstillämpningar, kallad 405, har IBM infört kodkomprimering. Tekniken kallas Codepack och fungerar i princip på samma sätt som att komprimera en fil på en pc. I PowerPC- fallet är det objektkoden som komprimeras, det vill säga komprimeringen görs efter kompilering, assemblering och länkning.

- Storleken på den komprimerade koden blir ungefär 60 procent av den ursprungliga, sa Thomas Sartorius från IBM.

- Komprimeringen är adaptiv. Den letar efter de vanligaste instruktionerna och ersätter dessa med kortare samtidigt som det genereras en "nyckel" för att kunna dekomprimera koden.

En ofta förekommande 32-bitsinstruktion kan förvandlas till så lite som fem bitar eller till hela 39 bitar om den är ovanlig.



Block om 64 byte


Dekomprimeringen görs i realtid med en ny hårdvara som adderats till processorn. Den upptar mindre än 1 mm2 i en 0,25 μm-process.

För att inte behöva läsa in hela koden före dekomprimering görs komprimeringen på block om 64 byte. Det bidrar också till att minska straffet vid hopp i programkoden.

Trots det ger komprimeringen en prestandaförlust på upp till 10 procent. Paradoxalt nog kan den även ge en prestandaförbättring på upp till sex procent för den som väljer en PowerPC med smal extern buss.



Andra lösningar


IBM är inte ensamma om kodkomprimering. Sedan tidigare har både ARM och Mips tekniken. IBMs lösning är dock den enda som inte påverkar instruktionsuppsättningen. Både ARM och Mips har löst problemet genom att begränsa instruktionslängden till 16 bitar. Därmed begränsar man också antalet instruktioner och förlorar en del som finns i den vanliga instruktionsuppsättningen.

Motivet för kodkomprimering är helt enkelt att minska kostnaderna för minnet i inbyggda system. Samtidigt som de allt mindre dimensionerna i halvledarprocessen leder till att själva mikroprocessorn upptar en mindre och mindre yta växer programvaran snabbt i storlek. Det har lett till att minnet kan kosta mer än processorn i ett inbyggnadssystem.

PH

Prenumerera på Elektroniktidningens nyhetsbrev eller på vårt magasin.


MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Rainer Raitasuo

Rainer
Raitasuo

+46(0)734-171099 rainer@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)