Pieter Edelman
20 June 2017

Slimme sensoren, rfid-tags en implanteerbare devices integreren uit kostenoogpunt vaak een algemeen toepasbaar processortje voor de dataverwerking, alhoewel een asic efficiënter zou zijn. Onderzoekers uit Illinois en Minnesota presenteren volgende week op het International Symposium on Computer Architecture in Toronto een originele manier om het energieverbruik van dit soort diep-embedded toepassingen terug te dringen zonder de kosten te verhogen: alle gates schrappen dat niet nodig is voor de beoogde software. Daarmee is het verbruik met gemiddeld twee derde terug te dringen.

Het achterliggende idee is dat embedded toepassingen gedurende hun levensduur slechts enkele applicaties draaien, vaak zelfs een enkele applicatie zonder rtos. Die laten een groot deel van de gates onaangeroerd. Maar die gates gebruiken wel degelijk stroom. Door een ‘bespoke processor’ te maken zonder die gates, kan dus aanzienlijk energie bespaard worden zonder de werking van de software te verstoren.

Meeste gates ongebruikt

Om die gates te identificeren, ontwikkelden de onderzoekers een automatisch proces dat dat de binary en de netlist van het processorontwerp met behulp van symbolische executie naloopt op alle mogelijke paden die de software kan nemen. Dit levert een een lijst op van gates die gegarandeerd onaangeroerd blijven. De software van de onderzoekers haalt deze vervolgens volautomatisch weg en legt de nodige verbindingen aan tussen de overgebleven gates.

De methode werd getest aan de hand van de OpenMSP430-core, een opensource variant van een 16 bit TI-microcontroller. Hierop werden verschillende applicatie-binary’s getest. Het merendeel hiervan gebruikte nog niet de helft van de beschikbare gates. Wanneer dit wordt uitgebuit, kan energiereductie van 37 tot 74 procent gerealiseerd worden, met een gemiddelde van 50 procent.

De besparing kan zelfs nog verder worden opgeschroefd als de timing in acht wordt genomen. Doordat sommige logische paden korter worden, houden ze tijd over. Daardoor kunnen relatief snelle cellen vervangen worden door zuinige maar tragere varianten. Daarmee loopt de energiebesparing op tot gemiddeld 65 procent, met een uitschieter naar 92 procent.

Updates lastiger

Nadeel is natuurlijk wel dat updates aan de software erg lastig worden met een uitgeklede processor. De onderzoekers hebben wel een aantal ideeën hoe dat toch mogelijk blijft. Als het alleen om bugfixes draait, kan de processor geprofileerd worden met verschillende varianten van de software waar een aantal veelvoorkomende bugtypes aan worden toegevoegd. Daardoor blijven de juiste gates aanwezig om die type bugs op te lossen.

Daarnaast kan altijd een minimale set features achtergelaten worden om Turing-compleetheid te garanderen, zodat willekeurige functionaliteit altijd toegevoegd kan worden, zij het minder efficiënt.