Processorarkitektur

En någorlunda modern CPU:s arkitektur

Processorarkitektur kallar man det sätt en centralprocessor (CPU) eller annan processor arbetar på. Processorerna har normalt, på lite olika sätt, hand om all databehandling inklusive såväl aritmetiska som logiska beräkningar.

Vidstående figur visar lite förenklat hur en CPU kan fungera. Den nyttjar dock inget indexregister vilket är en finess som tillkom först 1949. I övrigt återspeglar den en fullt funktionell CPU.

Vi har alltså:

Förutom ovanstående behövs:

Dessutom kan det vara bra att ha:

Basal heltalsrepresentation

Relativa hopp

Bilden visar hur relativa villkors-hopp (och därmed positiva och negativa tal) räknas ut och görs i en processor. Efter att ha studerat artikeln 2-komplement och artikelavsnittet heladderare förstår vi bilden bättre. I figuren har vi antagit att programräknaren (PC) är en byte stor och att villkors-offseten är hälften så stor dvs. en nibbel eller +7/-8 i tallängd. Man ser till exempel att V-flaggan (Overflow) aktiveras för (26+3) dvs. tallängden är överskriden (indikeras logiskt av C4 XOR C3 om nu det förtydligar). Negativa tal (N) indikeras av att MSB i nibbeln (och alla övriga högre bitpositioner, vilket är viktigt att komma ihåg) är hög (se till exempel 26+(-8)). Carry (C) genereras sedan exempelvis för (2C+5). Slutligen genereras Z-flaggan (noll) av den logiska operatorn NOR på hela resultatet.

När vi nu förstår grundläggande heltalsrepresentation kan vi gå vidare till flyttalsrepresentation.

Flyttalsrepresentation

Flyttal kallas den typen av tal som har en teckenbit (S), en exponent (E) på tvåkomplementsform och en mantissa (signifikant, M). Normalt representeras ett flyttal med hjälp av 32 bitar där teckenbiten naturligtvis är en bit, exponenten 8 bitar och mantissan således 23 bitar. Ett godtyckligt tal kan då skrivas:

där S=1 alltså indikerar ett negativt tal och exponenten gör att tal mellan 2-128 och 2127 (vilket lite grovt motsvarar 10+/-38) kan representeras. Det bör tilläggas att mantissans värde motsvaras av den seriella utvecklingen av 2-n där n=0 motsvaras av mantissans MSB. Detta kan också skrivas:

där mn är mantissans koefficienter (som alltså antingen är 0 eller 1).

Instruktioner och data

En processorarkitektur kan delas upp i följande tre kategorier, som behandlar hur data och instruktioner hämtas in till processorn.

Databredd

Processorarkitekturer definieras även efter hur breda så kallade ord de förmår hantera (i ett steg). Att en processor har till exempel en 16-bitars-ordlängd innebär att alla viktiga databussar i och runt den är 16 bitar breda. Många processorer har olika ordbredd i olika bussar, varvid termen inte är entydig.

Andra ordlängder som använts i populära datorarkitekturer är till exempel 18 och 36 bitar (versioner av DEC PDP-serien bl.a.); även till exempel 10, 12, 22, 26, 27, 40, 48, 50, och 60 bitar har förekommit genom åren (se till exempel Word (computing) på eng. wikipedia).

Instruktionshantering

Datorarkitekturer kan även delas in i hur komplexa arkitekturer de har.

Byteordning

Numeriskt data som skall behandlas av enskilda instruktioner kan vara ordnat på olika sätt. Den viktigaste skillnaden är byteordningen på heltal (vilka inbegriper till exempel instruktionsadresserna).

Se även

Källor

Externa länkar