JavaScript is currently disabled.Please enable it for a better experience of Jumi. Minimal processor skalar bort allt onödigt
Hur liten kan en processor egentligen bli? Om man bara tar med de instruktioner som används, och parametriserar allt som går så börjar man närma sig gränsen. Så har man gjort på Tietoenator, och resultatet heter Misc.
Processorn i ett inbyggt system ska bara utföra en enda uppgift. Då behövs inte särskilt mycket datorkraft så länge denna är optimerad för uppgiften. Ofta löses också uppgiften bättre om den delas upp på flera processorer, var och en optimerad för sin deluppgift. Ska dessa processorer bli så små som möjligt gäller det att skala bort allt onödigt. Det är grundtanken bakom Misc, Minimal Instruction Set Computer, ett projekt framtaget på Tietoenator Embedded Tech i Göteborg.

- Idéerna föddes i ett samarbete med Xilinx. Men vi har gått vidare, för vi ville ha något i ren syntetiserbar VHDL, och vi såg fördelar i en helt ändringsbar instruktionsuppsättning, säger projektledaren Tryggve Mathiesen.

Tar upp några tusen grindar

Den helt parametriserbara processorn Misc är ett stycke VHDL-kod vars innehåll styrs av konstruktören. Exakt hur stor själva processorn blir när den laddas ned i en FPGA-krets beror på vilken uppgift som ska lösas. Helt avskalad går det åt 675 Xilinx-grindar, i största versionen krävs drygt 9000.

- Maximalt tar den upp 16 procent av Xilinx minsta Virtexkrets, säger Mathiesen.

Misc är släkt med Risc, reduced instruction set computer. Men till skillnad från Risc finns inga fasta instruktioner, utan konstruktören väljer med hjälp av utvecklingsprogramvaran exakt vilka som skall vara med. Om till exempel shift-instruktioner inte används försvinner den delen ur ALU:n.

- Det går faktiskt till och med att ta bort hela ALU:n, men då kan det väl knappast kallas processor längre, säger Mathiesen.

Utvecklingsprogrammet ser också till att alla Misc-processorns delar parametriseras på rätt sätt. Det mesta kan varieras, som antal avbrott, antal register, registrens bredd, adressernas bredd och stackens djup. Allt för att få processorn så liten som möjligt.

- Utvecklingsprogrammet var egentligen det stora jobbet.

Misc utnyttjar också det inbyggda blockminnet och det distribuerade minnet i Xilinx kretsar. En av grundtankarna här är att utvecklingsprogrammet automatiskt ska analysera det program som ska laddas ned i minnet, och mappa resultatet till syntetiserbar VHDL.

Tietoenator ska nu leta partner som är intresserade av att utveckla produkter kring Misc. Man har tidigare funderat både på att sälja hela konceptet, och att etablera ett dotterbolag kring det. Men oavsett affärsmodell ser Tryggve Mathiesen mängder av tekniskt intressanta tillämpningar.

-Det riktigt intressanta blir när vi ska ersätta realtidsssystem. Med flera parallella processorer - kanske 50 stycken - så kan vi undvika mycket av den overhead som blir resultatet om man använder konventionella processorer, säger han.


Adam Edström
MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Anne-Charlotte Lantz

Anne-Charlotte
Lantz

+46(0)734-171099 ac@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)