Vad är hårdvaruacceleration?

Ibland tillkännages ny datorteknik som har "hårdvaruacceleration", men den termen förklaras sällan i dessa meddelanden. Det är faktiskt relativt enkelt att förstå tack och lov. Majoriteten av bearbetningen på en dator sker i programvara som körs på den allmänna CPU: n. Det är dock möjligt att skapa en separat processor speciellt utformad för att utföra ett litet antal uppgifter eller till och med bara en enda uppgift. Att använda en separat processor som denna kallas hårdvaruacceleration.

Fördelar och nackdelar med hårdvaruacceleration

Hårdvaruacceleration kommer med två huvudsakliga prestandafördelar. För det första är processorer som är designade för att utföra specifika typer av logik snabbare och mer effektiva för att utföra en uppgift än en CPU för generella ändamål skulle vara. För det andra, genom att avlasta den bearbetningsbelastningen, har huvudprocessorn mer processorkraft fri att dedikera till andra uppgifter. Andra fördelar inkluderar ökad parallellitet, minskad energiförbrukning och ökad effektivitet.

Användningen av dedikerade separata processorer för hårdvaruacceleration innebär att lägga till nya funktioner eller även att bara lappa buggar kan vara svårt, för att inte säga omöjligt i vissa fall utan att ersätta hårdvara. Det är också betydligt svårare och dyrare att utveckla ny hårdvara än det är att utveckla mjukvara.

Typer av hårdvaruacceleration

Det finns för närvarande tre typer av hårdvaruacceleration: specialiserade processorer, FPGA: er och ASIC: er. A specialiserad processor är en separat processor som använder hårdvara optimerad för den eller de avsedda typerna av logik. Ett populärt exempel på en specialiserad processor är GPU. En modern GPU innehåller en uppsättning processorer designade för vissa uppgifter som skuggning och strålspårning.

En Field Programmable Gate Array eller FPGA är en processor som är designad för att kunna konfigureras av kunden efter tillverkning. En FPGA kan programmeras så att den passar för en rad olika logiska funktioner, beroende på vilken uppgift den är designad för. Eftersom FPGA: er är omprogrammerbara är de populära för utvecklingen av ASIC-processorer.

ASICs eller Application-Specific Integrated Circuits är processorer som är optimerade specifikt för att köra en enskild uppgift. Med ASICs finns det aldrig någon avsikt att processorn ska användas till något annat än exakt vad den var designad för. Genom detta djup av optimering är ASIC: er mycket effektiva på att utföra sin uppgift.