En ny svensk inbyggd processor med mikrokodad javatolk utmanar nu Suns processor picojava. Förutom höga javaprestanda erbjuder processorn stor beräkningskraft, låg strömförbrukning och funktioner för digital signalbehandling. Clean Bean, eller GP1000, är namnet på en ny javaprocessor för inbyggnad, utvecklad av Järfällaföretaget Imsys. I javakretsar har den rönt stor uppmärksamhet, och tillskyndarna finns bland annat hos Ericsson Components. Där utvärderar man just nu kretsen, och man tror på ett stort genombrott.
- Efterfrågan för javaprocessorer är enorm. Det finns många som vill utnyttja java, inte minst för Internettillämpningar i mobila produkter, säger Fredrik Magnusson ansvarig för digitala systemkretsar på Ericsson Components.
Tillverkningen är redan igång i provkvantiteter. Senare i år planerar Imsys också att lansera processorn som en mjuk kärna i det hårdvarubeskrivande språket VHDL.
Snabbare javatolkProblemet med att använda Java i inbyggda system har varit att den virtuella javamaskinen, JVM, är alldeles för långsam. Översättningen av Javas maskinoberoende bytekod till exekverbara maskininstruktioner tar för lång tid.
GP1000 ökar takten på denna Javatolk rejält genom att exekvera bytekoden direkt i maskinkod. Tolkningen blir cirka 30 gånger snabbare än i den traditionella virtuella javamaskinen.Redan idag har Imsys implementerat 120 av Javas bytekodsinstruktioner i mikrokod. Exekveringen av bytekoden i form av mikroinstruktioner minskar antalet maskincykler som genomlöps, och därmed minskar också strömförbrukning och tidsåtgång.
- Låg strömförbrukning är extremt viktigt i mobila tillämpningar. Och en javatolk exekverad i en risckärna har svårt att matcha GP1000, säger Roger Sundman från Imsys.
Ändrar arkitekturen i driftGP1000 är baserad på Imsys skalära processorarkitektur som är av typen wisc, writable instruction set computer. Arkitekturen medger att processorn kan exekvera olika instruktionslistor, vilket innebär att processorn dynamiskt kan ändra sin egen arkitektur under drift. En viktig egenskap i kommande distribuerade tillämpningar som baseras på Java och Jini.
Ett inbyggt ROM innehåller en grunduppsättning mikrokod och programmerbarheten uppstår med hjälp av inbyggt SRAM. Applikationsprogrammen ligger i externa DRAM eller flashminnen och kan laddas i SRAM.
Mikrokoden består av 72 bitar breda instruktioner där upp till 32 olika funktioner kan utföras samtidigt. Den skrivs i Imsys egna, användarvänliga utvecklingsmiljö, kallad Imsys Developer eller ID. Användaren behöver inte kunna mikrokoden eftersom Imsys utvecklar kundanpassade funktioner.
En mängd programvara finns implementerad i mikrokod, bland annat för tillämpningar inom skrivar- och kopieringsområdet, se Elektroniktidningen 98:13. Just nu utvecklar Imsys fönstergrafik för mobiltelefonernas LCD-paneler i mikrokod.
- Utöver implementeringen av JVM utvecklar vi stöd i mikrokod för objektallokeringsfunktioner, "skräpsamling" (garbage collection) och hantering av Javatrådar, så kallade threads, och flertrådshantering - multithreading - som ingår i JVM, säger Roger Sundman.
Bättre än Sun för inbyggnadMen GP1000 erbjuder mer än bara javaprestanda, och den skiljer sig från andra javaprocessorer som är på väg ut i marknaden, som till exempel Suns picojava eller PSC1000 från det lilla företaget Patriot Scientific. Visserligen har GP1000 sämre javaprestanda än picojava men den erbjuder i gengäld bättre egenskaper för inbyggnad.
- GP1000 upptar en bråkdel av chipsarean och tio gånger mindre strömförbrukning än Suns Microjava 701, säger Stefan Blixt, vd för Imsys.
Det är detta som, kopplat med 40 in- och utgångar och goda realtidsegenskaper, gör processorn skräddarsydd för inbyggda tillämpningar.
- För tidskritiska loopar kan man använda mikrokoden för att slippa tolkningen. På så sätt får man tillgång till flera register, vilket leder till effektiv realtidshantering, säger Stefan Blixt.
Digital signalbehandlingNågra exemplar kan vara trelliskodning eller implementering av FFT-algoritmer.
GP1000 får därmed egenskaper för digital signalbehandling som sägs likna Texas Instruments och AMDs arkitekturer. Dessutom erbjuds parallell mikrokodshantering och fyra oberoende DMA-kanaler med 33 Mbyte/s kapacitet.
Idag tillverkas processorn i en 0,35 μm CMOS-process av Ericsson Components. Den klockas med 67 MHz och presterar 165 Mips. När den syntetiserbara kärnan är klar finns möjligheten att snabbt uppgradera till en 0,25 μm eller kanske även en 0,18 μm process. Då kan man även få ner effektförbrukningen kraftigt.
Susan Kelly
www.javamachine.com