Programmerbart med låg energiförbrukning

Med de senaste FPGA-komponenterna från Lattice ser det ut som om FPGA-teknologin får en chans att också komma in i extrema storvolymtillämpningar som mobiltelefoner. Det innebär i så fall att fältet för programmerbar logik expanderar ytterligare. Men det innebär inte att FPGA-tekniken är ohotad. Den senaste generationen multiprocessorer från XMOS är till exempel ett intressant alternativ, inte minst i extrema lågenergitillämpningar.

För allt mer handlar ju idag om låg energiförbrukning. Och väldigt mycket handlar om att kunna göra ”lågnivåuppgifter” kontinuerligt, utan att påverka batteritiden. I en modern smart mobiltelefon är det allt fler funktioner som ”måste” vara på även när telefonen inte används.

Flexibilitet
Att lösa lågnivåuppgifter i ”hård” hårdvara är inte överdrivet svårt och det blir klart billigast och energisnålast för extrema högvolymtillämpningar. Men det är definitivt ingen flexibel lösning. Tiden från idé till färdig produkt är lång och det finns inga möjligheter att göra ändringar i befintliga produkter.

Att lösa lågnivåuppgifter i den vanliga applikationsprocessorn är möjligt, men ofta alldeles för energikrävande. Ökad komplexitet i form av virtualisering, flera operativsystem och gigantiska mängder mjukvara gör att applikationsprocessorerna måste sparas för de verkligt krävande uppgifterna. Att slå på dem i tid och och otid för att göra lågnivåuppgifter är alltför energikrävande.

I det läget är en liten energisnål FPGA-komponent klart intressant. Den är tillräckligt hårdvarunära för att kunna göra sådant som normalt kräver ”riktig” hårdvara och den är tillräckligt flexibel för att klara en rad av de uppgifter som användarna ännu inte insett att de behöver.

Multiprocessor
Men som sagt, FPGA-tekniken är inte ohotad. Det finns andra programmerbara lösningar som kan lösa problem och ibland på  ett enklare och mera lättprogrammerat sätt.

Ett exempel på det här är XMOS, som med sin multi-RISC-teknik ger möjlighet att hålla ner komplexiteten och på  det sättet undvika de timingproblem som alltid uppstår när man låter en processor sköta flera uppgifter samtidigt.

XMOS använder i stället flera processorkärnor och låter var och en av dem göra sitt arbete utan att bli störd. Det fungerar ganska bra och företagets egenutvecklade RISC-kärnor är små nog för att klara både ekonomi och energibudget.

Samtidigt är det förstås ett kompatibilitetsproblem att använda egenutvecklade processorkärnor. Hittills  har det i praktiken inneburit att man tvingats ha ytterligare en separat processor för de ”vanliga” jobben och den processorn har inte haft samma  täta koppling till de många RISC-kärnorna som har funnits mellan de individuella  RISC-kärnorna och I/O-enheter och minne.

Det här  löser man nu med att stoppa in en liten ARM-kärna parallellt med de egna RISC-kärnorna. Och plötsligt har man både timing och kompatibilitet. Genom att ta ARM-kärnan från Energy Micro (numera Silicon Labs) behåller XMOS dessutom den extremt låga energiförbrukningen. Faktiskt ingen dum lösning.

Allt samtidigt
Vi kan nog vänta oss många nya och intressanta sätt att lösa problemen med flexibilitet och låg energiförbrukning. Det finns fortfarande en hel del pengar att tjäna för den eller de som lyckas ta fram teknik som kombinerar hög flexibilitet, låg energiförbrukning, tillräckliga prestanda och lågt pris. Detta trots att priserna för komponenter till telefoner och handdatorer fortsätter neråt. Jag hörde nyss någon påstå att den kompletta materiallistan till den nya lilla iPADen ligger på ca 40 dollar. En komplett Android-telefon går att köpa i affär för 50 dollar, så där ligger komponentkitet ännu mycket lägre. Det är en tuff marknad där ute.

Leave a Reply