Datorarkitektur

Från Wikipedia
En någorlunda modern CPU:s arkitektur

En dators datorarkitektur beskriver hur en CPU (datorns centralprocessor) och andra centrala delar av datorn är uppbyggda. Olika typer av processorer använder olika datorarkitekturer. Begreppet arkitektur för en processor kan liknas vid arkitektur för en stad, beskrivande hur breda gatorna skall vara, var husen skall stå, hur de ser ut, hur parkeringarna skall vara organiserade m.m. Maskinkod är i allmänhet kompilerad för en viss arkitektur.

Instruktioner och data[redigera | redigera wikitext]

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

  • von Neumann-arkitekturen. Instruktioner och arbetsdata samsas på en och samma buss. Till exempel att ett program laddas in från hårddisken till RAM-minnet i en dator, och sedan körs det därifrån. I RAM-minnet ligger även den data som programmet arbetar med.
  • Harvardarkitekturen. Instruktioner och arbetsdata har två olika bussar, på så sätt kan till exempel resultatet av en instruktion skrivas till RAM-minnet samtidigt som nästa instruktion hämtas från instruktionsminnet. Används ofta i mindre elektriska apparater, till exempel miniräknare eller digitalur.
  • Modifierad Harvard-arkitekturen påminner mycket om Harvard, men har en extra dataväg mellan instruktionsminnet och data-ingången på processorn, så att till exempel konstanta textsträngar kan lagras i programmet (i instruktionsregistret), och kommas åt som vanlig data.

Databredd[redigera | redigera wikitext]

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

  • 8-bitars bredd användes från början av 1970-talet i mikroprocessorer. 8-bitars mikroprocessorer (med 16-bit adressering) är fortfarande den vanligast förekommande processortypen i inbyggda system. I flera av Texas Instruments grafiska kalkylatorer finns Z80, en 8-bitars processor med många 16-bitars instruktioner.
  • 16-bitar har använts åtminstone sedan 1970 (PDP-11). Numera används 16-bitars mikroprocessorer i inbyggda system.
  • 32-bitar har använts sedan tidigt 1960-tal (IBM System/360). Intels första 32-bit processor iAPX 432 lanserades 1981; den första 32-bit x86-processorn, 80386, lanserades 1985.
  • 64-bitar har använts sedan tidigt 1960-tal (IBM 7030). En x86-baserad 64-bits arkitektur (AMD64) definierades av AMD 1999 och började massproduceras 2003.

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

Instruktionshantering[redigera | redigera wikitext]

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

  • CISC (eng. Complex Instruction Set Computer), ett system där väldigt komplicerade instruktioner kan förekomma. I många CISC-processorer är det ett litet inbyggt mikroprogram i processorn som utför instruktionen. På så sätt kan instruktioner som utför långa sekvenser av operationer byggas.
  • RISC (eng. Reduced Instruction Set Computer), en arkitektur som endast tillåter ett begränsat antal instruktioner, men där dessa å andra sidan kan utföras väldigt fort och effektivt.
  • PISC (eng. Pathetic Instruction Set Computer), en arkitektur där varje bit i instruktionen är en egen styrsignal i processorn, liknande det mikroprogram som är inbyggt i CISC-arkitekturen, detta medför en obehändigt bred instruktionsbuss. Det har aldrig kommersiellt släppts någon processor som bygger på PISC-arkitekturen.
  • VLIW (eng. Very Long Instruction Word), med väldigt bred instruktionsbuss kan flera instruktioner hämtas samtidigt till processorn, och utföras samtidigt. VLIW kallas även för EPIC (eng. Explicitly Parallel Instruction Computing).

Byteordning[redigera | redigera wikitext]

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

Se även[redigera | redigera wikitext]

Källor[redigera | redigera wikitext]

  • John P. Hayes, Computer Architecture and Organisation, Second Edition, 1988, Singapore

Källnoter[redigera | redigera wikitext]

  1. ^ Computer Architecture: Concepts and Evolution (1). Addison-Wesley. 1997. ISBN 0-201-10557-8.  och Encyclopedia of Computer Science (3rd). Van Nostrand Reinhold. 1993. ISBN 0-442-27679-6.  genom engelskspråkiga Wikipedia: Word (computer architecture), version av den 22 november 2020

Externa länkar[redigera | redigera wikitext]