En processor måste avkoda en instruktion eftersom själva instruktionen inte är direkt körbar i sin råa form. Instruktionen representeras initialt som en sekvens av bitar (maskinkod), som är en symbolisk representation av den operation som ska utföras och de data den behöver för att fungera på. Denna representation är inte något som processorens kretsar direkt kan förstå och agera på.
Avkodning översätter denna sekvens av bitar till en uppsättning signaler som styr olika delar av processorn. Denna process innebär:
* Identifiera opkoden: Den första delen av instruktionen (OpCode) specificerar den operation som ska utföras (t.ex. tillägg, subtraktion, minnesåtkomst). Avkodaren identifierar denna opkod och bestämmer typen av operation.
* Identifierande operander: Resten av instruktionen anger operanderna - de uppgifter som operationen kommer att fungera på. Detta kan inkludera registernummer, minnesadresser eller omedelbara värden. Avkodaren extraherar denna information och bestämmer var data finns.
* Genererande styrsignaler: Baserat på den avkodade instruktionen genererar avkodaren olika styrsignaler. Dessa signaler riktar andra delar av processorn, såsom den aritmetiska logikenheten (ALU), minnesenheter och register, om hur man utför operationen. Till exempel kan det aktivera specifika grindar i ALU för att utföra tillägg, eller signalera minneskontrollen för att hämta data från en viss adress.
I huvudsak fungerar avkodning som en översättare mellan den mänskliga läsbara (eller monteringsläsbara) formen av en instruktion och processorns interna hårdvara. Utan avkodning skulle processorn inte kunna förstå vad den behöver göra och hur man gör det.