JavaScript is currently disabled.Please enable it for a better experience of Jumi. Snabb svensk processor saknar instruktioner

Glöm processortyperna cisc, risc och vliw. Det är svenskutvecklade nisc, no instruction set computer, som ska ge billig beräkningskraft till kommande konsumentprodukter som kopiatorer, scannrar, digitalkameror och multimediaburkar.


Under sommaren har Göteborgsföretaget Array Printers, mest känt för skrivartekniken Tonerjet, kommit med en modern version av nisc-processorn. Den tio år gamla arkitekturen, med rötter från Alfaskopprojektet, är utvecklad för snabb bildbehandling.

- Nisc-processorn kännetecknas av hög beräkningskraft, lågt pris, flexibilitet, goda realtidsegenskaper och kan dessutom programmeras i både Java och C++, hävdar Paul Karlsson vd på Array Printers.

Fem ihopkopplade nisc-processorer klarar att processa 10 till 16 fyrfärgssidor per minut. Det innebär att skrivaren till exempel kan ta inscannade bilder och göra om dem från bildskärmsformatet RGB, som blir resultatet av en inscanning, till CMYK, det vill säga cyan (blått), magenta (rött), gult och svart, de färger som används vid tryckning. Dessutom görs en del bildbehandling i processorn för att höja kvaliteten på utskriften.

- Från början tänkte vi enbart använda processorn för att styra den kommande färgversionen av Tonerjet. Men sen insåg vi att även kopiator- och skrivartillverkare borde vara intresserade av den.

Nisc-processorn, som döpts till GP1000 i Array Printers tappning, kan nämligen ersätta dagens lösningar i exempelvis skrivare och kopiatorer, lösningar som består av en riscprocessor kombinerat med en eller flera asicar.

- Vår lösning blir både snabbare och billigare. Dessutom blir utvecklingstiden betydligt kortare, hävdar Paul Karlsson.

Men processorkärnan har egentligen ett bredare användningsområde än bara skrivare och kopiatorer.



Både DSP och styrkrets


Vid en första anblick liknar nisc-processorn en digital signalprocessor. Men processorn klarar dessutom funktioner som brukar skötas av enkla styrkretsar.

- Nisc-processorn har ingen instruktionsuppsättning och inget cacheminne. Istället finns ett internt minne för mikrokoden som är betydligt mer avancerad än i en cisc-processor, förklarar Tomas Jonsson, projektledare på Array Printers.

- Mikrokoden är egentligen ett komplett programmeringsspråk med bland annat hopp och loopar.

Den grundläggande mikrokoden ligger i ett inbyggt ROM-minne i processorn medan den resterande delen laddas in i ett inbyggt SRAM när matningsspänningen slås på. Det gör att konstruktören snabbt kan skräddarsy mikrokod för tidskritiska delar i den aktuella tillämpningen.

Mikrokoden som följer med processorn kan tolka assembler och Java, hantera bildbehandling och grafik samt sköta enkla funktioner i ett operativsystem och för avlusning.

Riktigt lika lätt som vanlig programmering är det inte att skriva egen mikrokod, men tanken är att den högre utvecklingskostnaden ska slås ut på en stor serie.

- Dessutom är det betydligt snabbare att skriva mikrokod än att ta fram en asic, säger Tomas Jonsson.



Minneslös


Att processorn saknar cacheminne är inget som sinkar prestanda. För vanliga risc-processorer är cacheminnet en nödvändighet eftersom beräkningsenheten vanligen är snabbare än DRAM-kretsen där både data och programkod finns. För att råda bot på detta brukar risc-processorer göra intelligenta gissningar över vilka data och instruktioner som snart behövs och hämta in dem till cacheminnet för att hålla beräkningsenheten fullt sysselsatt.

För nisc-processorn är inte cacheminnet nödvändigt eftersom de tidskritiska mikroinstruktionerna redan ligger i internminnet. Data som ska bearbetas kan istället skyfflas till och från det externa RAM-minnet i samma takt som det bearbetas.

- Normalt öppnar processorn en DMA-kanal till minnet och läser data med 44,5 Mbyte/s, säger Tomas Jonsson.

Dessutom finns en databuss som klockas med 33 Mbyte/s liksom 24 generella in- och utgångar.

Ytterligare en finess är att nisc-processorn har bra realtidsegenskaper, vilket i klartext innebär att man alltid vet hur lång svarstiden är på en avbrottssignal. Det beror på att processorn inte behöver lyfta ut den aktuella stacken till ett externt minne och att det inte finns ett cacheminne, som kan vara mer eller mindre fullt, mellan kärnan och det externa minnet.

Utvecklingsmiljön stöder Windows, men den är inte helt klar än. Idag finns assemblator, laddare och debugger. Under året tillkommer kompilatorer för Java och C++.

För den som är nyfiken på att prova nisc-processorn har Array Printers tagit fram ett utvecklingskort med fem processorer som kan köras mot ISA-bussen.

Processorn är framtagen av Ericsson Components i en 0,35 μm-process. Prestanda har därmed höjts avsevärt från föregångaren som tillverkades med kanallängder på 1,5 μm. Diskussioner förs med Ericsson om en 0,25 μm-variant som i princip skulle fördubbla prestanda.

Per Henricsson

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


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)