Ett realtidsoperativsystem byggt i kisel blir otroligt snabbt. Det har forskarna på Mälardalens Högskola i Västerås insett. Just nu är de världsledande inom området.
Runt tusen gånger fortare går det med en realtidskärna i kisel jämfört med en traditionell i programvara. Lennart Lindh, ledare för en elva man stark forskargrupp på Mälardalens Högskola har all anledning att vara stolt. Gruppen är idag världsledande på realtidsoperativsystem byggda i kisel.
Vanliga realtidsoperativsystem ligger i programkod som körs direkt mot processorn, samma processor som styr och reglerar hela tillämpningen. Realtidsfunktionerna stjäl då värdefull beräkningskraft från processorn.
- Byggd i programvara tar en realtidskärna runt 25 procent av centralprocessorns tid, det beror lite på tillämpningen. Med vår kärna blir processorbelastningen helt försumbar.
Grundidén med forskningen var dock att komma förbi en annan av de programvarubaserade operativsystemens akilleshälar: svårigheten att beräkna exakt hur lång tid ett anrop till realtidskärnan tar att utföra, och hur lång tid det tar att byta mellan processerna.
- Jag jobbade på universitetet i Erlanger i Tyskland, med algoritmer för att beräkna olika processers tid. Det var då jag kom på att man borde lägga hela realtidskärnan direkt i kisel.
Administrativ kod historiaMed kärnan direkt i kisel, byggd i en separat krets som arbetar parallellt med processorn, slipper processorn ifrån mycket av det administrativa arbetet. Målet med forskningen är, som det blygsamt uttrycks i forskningspresentationerna, att ta bort all administrativ programkod.
- När jag åker runt och pratar för industrin och säger att styrsystemet blir beräkningsbart, då reagerar ingen alls. Men när jag säger att det blir snabbare, då - wow! utbrister Lennart Lindh och skiner upp för att visa industrifolkets reaktion.
Hittills finns kärnan i två varianter, men hela konceptet är parametriserbart och går att använda för att bygga helt kundspecifika kärnor.
Den senaste kretsen sköter schemaläggning för upp till 256 olika processer med 32 olika prioritetsnivåer.
Avbrottshanteringen klarar externa avbrott såväl som programmerade avbrott så ofta som var 100:e mikrosekund. Alla processorer kan användas, bara de har en extern databuss. Kommunikationen sker via VME-buss.
Flera processorerLogiskt sett ligger realtidskärnan parallellt med processorn - inte ovanpå den i form av programkod. Därför passar konceptet bra för styrsystem med flera processorer.
Idag kan tre processorer anslutas till realtidskärnan, likadana eller var och en anpassade för speciella uppgifter. Kärnan balanserar beräkningslasten mellan processorerna och en vakthundsfunktion kan flytta över uppgifter från en trasig processor till någon av de andra.
- Idag är industrin inte van vid multiprocessystem, men jag ser det som en mognadsprocess.
Eftersom kärnan sköter all avbrottshantering störs processorerna väldigt sällan. Endast vid processbyte eller kommunikation mellan två processorer måste en processor sluta exekvera och gå in och läsa i några register i realtidschipset. Det hela tar inte mer än fyra bussåtkomster
Tidsvinsterna kan forskarna använda till att stoppa in flera funktioner i kärnan, funktioner som tidigare tagit för mycket tid och kraft från processorerna. Ett exempel är prioritetsarv, vilket innebär att alla uppdrag som startas av ett avbrott får samma prioritet som avbrottet hade.
Flera chips har byggts, baserade på FPGA-kretsar och asicar. Ett femtontal artiklar har publicerats i internationella forskningstidskrifter och hela projektet har ställts ut på den jättelika Hannovermässan, betalt av tyska staten. Idéerna har också sipprat ned i grundutbildningen där eleverna använder chipset för att bygga sumobrottande robotar.
Härnäst ska kretsar-na testas i industrin. Lennart Lindh har fått pengar från Stiftelsen för kompetensutveckling för att använda kärnan i ett styrsystem på ABB Robotics där tidsåtgången just är en av de trånga sektorerna.
Lyckas projektet väl ska han kommersialisera idén. Han har ett patent på konceptet, och vill inte sälja rättigheterna.
- Jag vill inte riskera att tekniken försvinner ur landet.
Mikael Zackrisson