Dagens temaer. Mer om adresseringsmodi. Indeksert adressering med offset og auto-inkrement eller dekrement. Register-indirekte adressering

Like dokumenter
Dagens temaer. Dagens emner er hentet fra Englander kapittel 10 (side ) Mer om adresseringsmodi. RISC og CISC-prosessorer.

Dagens temaer. tema er hentet fra kapittel 4.3 og 4.4 om pipelining. til neste ukes forelesning (hvis tid) INF ! Mikrokode. !

! Repetisjon: ! Forutsetinger: ! Ideelt sett gir en k-trinns pipeline en faktor k i hastighetsøkning. ! Benyttes derimot ekte pipelining, behøves

Dagens tema. Dagens tema er hentet fra kapittel 4.3 og 4.4. Mer om pipelining Ytelse Hasarder. Pipelining i Pentium-arkitekturen

tema er hentet fra kapittel 4.3 og 4.4 om pipelining Mikroprogrammert Dagens temaer Hard-wired Mikrokode Hasarder Ytelse

Intel Core i7. Omid Mirmotahari 4

IN1020. Datamaskinarkitektur

! Sentrale begreper er adresserbarhet og adresserom. ! Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon

ulike stegene utføres på egne hardware-enheter som ikke er instruksjon kan deles opp i sekvensielle steg som løses etterhverandre

Oppsummering av digitalteknikkdelen

Intel Core i7. Omid Mirmotahari 4

Dagems temaer. kapittel 4 i Computer Organisation and Architecture. av CPU: von Neuman-modellen. Transfer Language (RTL) om hurtigminne (RAM)

Dagems temaer INF ! Fra kapittel 4 i Computer Organisation and Architecture. ! Kort om hurtigminne (RAM)

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen

hvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord.

Maskinvaredelen av INF 103: oversikt og innhold (1)

Dagens temaer. Dagens emner er hentet fra Englander kapittel 11 (side ) Repetisjon av viktige emner i CPU-design.

Løsningsforslag til øving 5 TFE4105 Digitalteknikk og Datamaskiner Høsten 2006

Dagens temaer. Dagens temaer er hentet fra Englander kapittel 12 side (2. utgave), side (3. utgave)

Dagens temaer. Virtuell hukommelse. Sidetabell. Virtuell hukommelse (forts.)

Dagens temaer. Virtuell hukommelse (kapittel 9.9 i læreboken) Pentium-arkitekturen i mer detalj INF 1070

Overordnet maskinarkitektur. Maskinarkitektur zoomet inn. I CPU: Kontrollenheten (CU) IT1101 Informatikk basisfag, dobbeltime 11/9

Kapittel 6. Høynivå møter lavnivå Fra C til assembly Fra assembly til maskinkode Linking og lasting

Forelesning Adresseringsmodi Kap 5.4

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

UNIVERSITETET I OSLO

EKSAMENSOPPGAVE I FAG TDT4160 DATAMASKINER GRUNNKURS. D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Institiutt for informatikk og e-læring, NTNU Kontrollenheten Geir Ove Rosvold 4. januar 2016 Opphavsrett: Forfatter og Stiftelsen TISIP

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs. Torsdag 29. November 2007 Kl

4/5 store parallelle maskiner /4 felles hukommelse in 147, våren 1999 parallelle datamaskiner 1. når tema pensum.

Dagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache

Dagens tema. Flere teknikker for å øke hastigheten

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

Forelesning 5. Diverse komponenter/større system

Kodegenerering, del 2: Resten av Kap. 8 pluss tilleggsnotat (fra kap. 9 i ASU ) INF5110 V2007

UNIVERSITETET I OSLO

Forelesning Instruksjonstyper Kap 5.5

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs Løsningsforslag. Torsdag 29. November 2007 Kl

Forelesning ISA-nivået Kap 5.1

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

INF1400 Kap4rest Kombinatorisk Logikk

NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

Seksjon 1. INF2270-V16 Forside. Eksamen INF2270. Dato 1. juni 2016 Tid Alle trykte og skrevne hjelpemidler, og en kalkulator, er tillatt.

TDT4160 AUGUST, 2008, 09:00 13:00

UNIVERSITETET I OSLO

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and

Forelesning Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B

Dagens temaer. Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM ROM. Hukommelsesbusser

Dagens temaer. Cache (repetisjon) Cache (repetisjon) Cache (repetisjon)

Datamaskinens oppbygning

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:

Dagens temaer. Intern hukommelse (1) Maskinvaredelen av INF 103: oversikt og innhold (2) Maskinvaredelen av INF 103: oversikt og innhold (1)

TDT4160 OG IT2201 DATAMASKINER GRUNNKURS EKSAMEN

Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

En mengde andre typer som DVD, CD, FPGA, Flash, (E)PROM etc. (Kommer. Hukommelse finnes i mange varianter avhengig av hva de skal brukes til:

Dagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram.

bruksområder og oppbygging om cache-hukommelse (kapittel 6.5 i Computer Organisation Dagens temaer and Architecture ) ROM RAM

Oppsummering digital-teknikk, teknikk, INF2270

Forelesning Forgreningspredikering Kap 4.5 Superskalaritet Kap 4.5 Spekulativ utføring Kap 4.5

Cache (repetisjon) Cache (repetisjon) Cache (repetisjon) Dagens temaer. CPU Cache RAM. om cache-hukommelse (kapittel 6.5 i Computer Organisation

UNIVERSITETET I OSLO

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

Innhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse

Pentium-prosessoren. Dagens temaer. Historisk oversikt over Intels prosessorfamilier. Noen fremtidige prosessorer fra Intel

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Oppgave 1 - Linux kommandolinje (%)

INF2270. Datamaskin Arkitektur

UNIVERSITETET I OSLO

Fortsetelse Microarchitecture level

Minnehåndtering i operativsystemer

IN1020. Minnehierarki

Prosessoren. Bakgrunnen Innhold LMC. Assemblerkode Oppsummering instruksjonene [Englander kap 6] Hva inneholder den? Hvordan utføres instruksjonene?

Minnehåndtering i operativsystemer

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Introduksjon til DARK assembly

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Dagens tema: Enda mer MIPS maskinkode

Oppgave 2 Maskinkode (vekt 12%)

Generelt om operativsystemer

Litt om Javas class-filer og byte-kode

Pensumoversikt - kodegenerering. Kap. 8 del 1 kodegenerering INF5110 v2006. Hvordan er instruksjonene i en virkelig CPU? Arne Maus, Ifi UiO

Dagens tema. Rask-maskinen. Rasko-kode Raskas-kode. Litt datamaskinhistorie Registre og lagre Instruksjoner

En overikt. Dagens tema. Datamaskinenes historie. Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner. Rasko-kode.

Oppgave 1 JK-flip-flop (Total vekt 20%)

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

Innhold. 2 Kompilatorer. 3 Datamaskiner og tallsystemer. 4 Oppsummering. 1 Skjerm (monitor) 2 Hovedkort (motherboard) 3 Prosessor (CPU)

Dagens temaer. Sekvensiell logikk: Kretser med minne. D-flipflop: Forbedring av RS-latch

INF2270. Datamaskin Arkitektur

INF2270. Input / Output (I/O)

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Dagens tema. Datamaskinenes historie. De første moderne datamaskiner. Løsning. Menneskene har alltid prøvd å lage maskiner for å løse sine problemer.

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

INF2270. Input / Output (I/O)

Internminnet. Håkon Tolsby Håkon Tolsby

TDT4258 Eksamen vår 2013

Kjøresystemer. Hva er et kjøresystem? Den abstrakte maskinen SIMPLESEM (2.6) Klassifisering av språk: Parametre (2.7.7) Statiske språk (

Scheduling og prosesshåndtering

Transkript:

agens temaer Mer om adresseringsmodi LC-2 har fem adresseringmodi : Umiddelbar, Register, irekte, Indirekte og Base+Offset. agens emner er hentet fra nglander kapittel 10 (side 279-318 ) Mer om adresseringsmodi RISC og CISC-prosessorer Pipelining Skalare og superskalare prosessorer Alle CPU er har flere typer adresseringsmodi, men type og antall varierer, bl.a. mellom RISC og CISCprosessorer. Register-indirekte adressering er en blanding av register og indirekte adressering. n utvidet variant av register-indirekte legger til offset og auto-inkrement/dekrement i samme operasjon. I register-indirekte adressering ligger adressen til adressen til operanden i et register i stedenfor i den eksterne hukommelsen. 26.09.03 IN 103 1 26.09.03 IN 103 2 Register-indirekte adressering Register 1) I instruksjonen ligger et registernummer. 2.) I registeret referert til i instruksjonen ligger Adresse_1 3) Innholdet på Adresse_1 er en ny adresse () 4) Innholdet av er Operanden instruksjonen leter etter OpKode... Adresse_1 2 Adresse Adresse_1 RegisterNummer Hukommelse 1 Innhold Operand 3 4 Indeksert adressering med offset og auto-inkrement eller dekrement OpKode Baseregister Base-offset... Adresse_1 Adresse Innhold Operand 1) I instruksjonen ligger Adresse_1 2) I baseregisteret ligger et Base-offset 3) I indeksregisteret ligger en Indeks 4) Ved å summere sammen Adresse_1, Base-offset og Indeks får man 5) På i minnet ligger Operand til instruksjonen 6) Ved auto-inkrement/dekrement settes Indeks=Indeks+/-1 hver gang innholdet leses slik at man kan adressere enten + 1, eller - 1 1 2 3 + - 1 + 1 4 Indeksregister Indeks 5 6 26.09.03 IN 103 3 26.09.03 IN 103 4

RISC og CISC (1) RISC og CISC er to forskjellige strategier for design og organisering av en CPU. CISC-arkitektur har en lang rekke maskinspråkinstruksjoner som kompilatorer kan bruke når de skal oversette et program skrevet i høynivå-språk til masinkspråk. Assemblerprogramering blir også gjort enklere i en CISC-arkitektur fordi det finnes mange spesialiserte instruksjoner. n CISC-instruksjon kan bestå av et variabelt antall midre steg eller sub-instruksjoner, og hvert steg trenger en klokkesykel på å fullføres. I en moderne CISC-arkitektur (f.eks Pentium) varierer antall steg i instruksjonene fra et ti-talls til flere hundre for de mest avanserte maskinspråkinstruksjonene. RISC og CISC (2) RISC-arkitektur har mye færre maskinspråkinstruksjoner tilgjengelige for assemblerprogram og kompilatorer. Hver instruksjon i en RISC-maskin er optimalisert slik at den kun krever én klokkesykel på å eksekvere ferdig. ilosofien bak RISC er å optimalisere og tilby de mest brukte instruksjonene som høynivå-programmer bruker (mange ulike tester har vist at Load/Store og hopp-instruksjoner står for mellom 70-80% av alle instruksjonene i et program). er som brukes sjelden implementeres som en sekvens av instruksjoner og blir ikke nødvendigvis implementert mest mulig effektivt. Kompilatorer og assemblerprogrammer blir gjerne større og mer kompliserte fordi hver høynivåinstruksjon må brytes ned til mange flere maskinspråk-instruksjoner sammenlignet med CISC. 26.09.03 IN 103 5 26.09.03 IN 103 6 CISC RISC RISC og CISC (3) 1 2 Steg 1 Steg 2 Steg 3 Steg 1 Steg 2 Steg 3 Steg 4 1 2 3 4 5 6 7 I en RISC-arkitektur tar alle instruksjoner like lang tid. Hva er best RISC eller CISC? Begge arkitekturer har fordeler og ulemper, men tabellen under oppsummerer de viktigste forskjellene. Noen typer optimalsering lar seg lettere designe sammen med RISC-arkitektur, som f.eks pipelining. Visse typer anvendelser som f.eks mobiltelefoner ser også ut til å egne seg bedre for RISC enn CISC pga statisk kode med lite behov for spesialinstruksjoner for avansert grafikk, matematikk o.l. I en CISC-arkitektur ikke er noe slikt krav, slik at to instruksjoner kan bruke forskjellig tid på å bli ferdige. MN: et er vanlig også i RISC arkitektur å dele opp instruksjoner i mindre steg. Ikke alle instruksjoner trenger alle stegene, men de blir allikevel tvunget til å bruke alle dem (eventuelt ikke gjøre noe) for at hver instruksjon skal ta like lang tid. ette kravet gjør det lettere å forenkle og optimalisere instruksjons-eksekveringen i en RISCmaskin. RISC nkelt og begrenset instruksjonssett Register-orienterte instruksjoner med få instruksjoner for minneaksess ast lengde og format på instruksjoner å adresseringsmodi Stort antall interne registre CISC Komplisert og rikholdig instruksjonssett Alle instruksjoner er fleksible i adresseringsmekanismer for operander Variabelt format og lengde på instruksjoner Mange adresseringsmodi Lite antall interne registre 26.09.03 IN 103 7 26.09.03 IN 103 8

RISC og pipelining et utvikles stadig nye teknikker for å øke prosesseringshastigheten til datamaskiner. n teknikk som egner seg spesielt godt sammen med en RISCtype arkitektur er pipelining. Pipeling kan sammenlignes med enkel samlebåndsproduksjon: Isteden for å vente til forrige instruksjon er ferdig eksekvert, setter man i gang neste instruksjon så fort som første steg av forrige instruksjon er ferdig. Med pipelining øker man antallet instruksjoner som blir ferdig eksekvert per tidsenhet, men: hver instruksjon tar fortsatt like lang tid! or at pipelining skal fungere, må hver enhet som behandler/utfører et steg av en del-instruksjon arbeide uavhengig av de andre delene som utgjør pipelinen ( samlebåndet ). Antar en enkel RISCmaskin hvor instruksjone kan deles opp i 4 mindre deler som kan løses uavhengig av hverandre i en bestemt rekkefølge: TCH (Hent instruksjon) CO (ekod instruksjonen) XCUT (Utfør instruksjonen) WRIT BACK (Skriv resultatet til minne) Antar videre at det finnes 4 separate hardwareenheter som utfører hver av disse stegene uavhengig av de andre..eks kan TCH ikke bruke XCUT-enheten for å hente en instruksjon eller laste inn en variabel (men derimot er XCUT avhengig av input fra CO-steget, og CO-steget er avhengig av input fra TCH-steget osv) Til sist må alle enhetene kunne jobbe i parallell, med hver sine steg fra ulike instruksjoner, uten å gå i bena på hverandre. 26.09.03 IN 103 9 26.09.03 IN 103 10 Uten pipelining 1 2 3 Uten pipelining 1 2 3 Med pipelining Med pipelining 1 1 2 3 2 3 4 5 26.09.03 IN 103 11 4 5 Uten pipelining ser vi at TCH-steget til instruksjon 2 først kan starte etter at WRIT-BACK steget til instruksjon 1 er avsluttet. Med pipelining starter TCH-steget til instruksjon 2 rett etter at TCH-steget til instruksjon 1 er ferdig 0 1 2 3 4 5 6 7 Uten pipelining er det kun ett steg fra én instruksjon som prosesseres ad gangen i prosessoren. I klokkesykel 4 prosesseres TCH-steget fra instruksjon 2 Med pipelining er det opptil 4 steg fra forskjellige instruksjoner som prosesseres i parallell..eks er prosessoren i klokkesykel 4 opptatt med å prosessere WRIT-BACK fra instruksjon 2, XCUT fra instruksjon 3, CO fra instruksjon 4 og TCH fra instruksjon nummer 5 26.09.03 IN 103 12

1 2 3 Uten pipelining Med pipelining 1 2 3 4 0 1 2 3 4 5 6 7 5 Uten pipelining avsluttes en instruksjon hver fjerde klokkesykel. 1 ferdig etter 3. klokkesykel, instruksjon 2 ferdig etter klokkesykel 7 Med pipelining er instruksjon 1 ferdig etter 3. klokkesykel, instruksjon 2 ferdig etter 4. klokkesykel, instruksjon 3 ferdig etter 5 klokkesykel osv. Mao: Én instruksjon er ferdig hver klokkesykel. Problemer med pipelining ksemplene viser hvor effektiv pipelining er. MN: et er skjær i sjøen! 1. ordi en ny instruksjon starter hver klokkesykel, må alle stegene ta like lang tid (én klokkesykel). erfor må en klokkesykel minst må være like lang som tiden det tar for det langsomste steget å gjøre seg ferdig. Mao gjøres alle steg like trege. 2. Hvis programmet inneholder hopp-instruksjoner, ser man ikke dette før tidligst i CO-steget (eller etter XCUT ved betingede hopp), og da har man allerede satt igang og eksekvere etterfølgende instruksjoner som IKK skal utføres (fordi man skal hoppe forbi dem). 3. Hvis neste instruksjon er avhengig av resultatet fra forrige instruksjon, vil den ikke kunne lese riktig verdi før forrige instruksjon har skrevet resultatet tilbake til register eller hukommelse. Men da er neste instruksjon allerede ferdig og har brukt feil verdi. 26.09.03 IN 103 13 26.09.03 IN 103 14 Mulige løsninger på problem 1 lere alternativer for å forhindre at det tregeste steget bestemmer hva korteste klokkesykel kan være: 1. Variabel klokkesykel: Langsommere steg har lengre klokkesykel Vurdering: Meget vanskelig å løse i praksis og fungerer best på papiret. Mer om problem 2 Gitt en sekvens av instruksjoner: JNZ R4, Label ;Hopp til Label hvis R4=0 AN R5, R6, R1 L R5, Offset SUB R2, R3, #5 Label LR R4, R2, #0 2. Raskere hukommelse; e langsomste (minneaksess) stegene reduseres med en faktor 10 2 10 4. Løses i praksis ved en spesiell type raskt minne som kalles cache, som sitter mellom CPU og RAM og brukes til mellomlagring av både instruksjoner og data. Vurdering: Meget vanlig og mest brukt JNZ R4, Label AN R5, R6, R1 L R5, Offset SUB R2, R3, #5 3. Stoppe prosessoren: Mens den venter på svar fra hukommmelsen stanser all programeksekvering Vurdering: Kun brukt i spesielle tilfeller der hvor 2) ikke vil fungere 3. Bytte om rekkefølgen: Utføre andre instruksjoner mens man venter Vurdering: Utbredt, men komplisert Klokke Vet først på dette tidspunktet om vi skal hoppe eller ikke! Hvis hoppsinstruksjonen slår til, er det satt i gang instruksjoner som IKK skal eksekveres (AN, L og SUB-instruksjonene). 26.09.03 IN 103 15 26.09.03 IN 103 16

Mulige løsninger på problem 2 1. Selv om JNZ R4, Label først er ferdig eksekvert etter -steget, er resultatet av instruksjonen klart etter XCUT-steget. På dette tidspunktet kan man la vær å starte den siste instruksjonen (SUBinstruksjonen). ette kalles forwarding, fordi man sender et resultat bakover i pipelinen før tiden. Mer om problem 3 Gitt en sekvens av instruksjoner i et tenkt språk: A R1, R2, R6 AN R5, R6, R1 L R5, Offset 2. Man se på hva prgrammet gjorde forrige gang det eksekverte den samme kodesekvensen. Hoppet programmet da, er det stor sjanse for at det vil hoppe igjen, og man kan laste inn de riktige instruksjonene med en gang. ette kalles prediksjon, fordi man prøver å forutsi oppførselen til programmet og handler ut fra det. A R1, R2, R6 AN R5, R6, R1 L R5, Offset Her blir R1 oppdatert med riktig verdi 3. I verste fall må man tømme pipelinen (også kalt flushing) for de instruksjonene som feilaktig ble påbegynt, og fylle opp med de riktige instruksjonene. Man har da kastet bort 2 (eller mer, avhengig av pipelinens lengde). AN-instruksjonen trenger riktig verdi av R1 her AN-instruksjonen trenger output fra Ainstruksjonen for å beregne riktig. Svaret er først klart 2 senere, mens AN-instruksjonen trenger riktig verdi ved CO-steget og beregingen blir derfor feil. 26.09.03 IN 103 17 26.09.03 IN 103 18 Mulige løsninger på problem 3 1. Kan benytte seg av forwarding dvs. å gjøre en verdi tilgjengelig før tiden bakover i pipelinen (dvs for instruksjoner som kommer etter) 2. Stokke om på rekkefølgen av instruksjonene, slik at A-instruksjonen (i dette tilfellet) rakk å gjøre seg helt ferdig før AN-instruksjonen starter opp. Kan gjøres av kompilatoren, men er komplisert og vil ikke alltid fungere. 3. Løsingen 3 er å sette inn en eller flere NOPinstruksjoner, som fyller opp pipelinen med en tom instruksjon slik at de neste instruksjonene starter en klokke-sykel senere, og slik at avhengigheter fjernes. Superskalare prosessorer Selv om pipelining er effektivt, er prosessoren forsatt begrenset til å eksekvere ferdig en instruksjon per klokkesykel. esignet kan forbedres ved å eksekvere flere instruksjoner i parallel. ette kan enten gjøre ved å kjøre flere instruksjoner samtidig, eller man kan kjøre enkelte steg samtidig, men ha f.eks sekvensielle TCH-steg. ordelen er at man kan ha flere HW-enheter som gjør heltalls og flyttalls-aritmetikk, load/store osv i parallell; operasjoner som typisk tar mye lenger tid enn vanlige operasjoner sperrer ikke for andre instruksjoner. A R1, R2, R6 NOP NOP Superskalare prosessorer er raskere enn vanlig skalare, men også mye mer kompliserte og krever mer logikk, flere registre etc. AN, R5, R6, R1 Moderne CPUer som Pentium og G4 er superskalare 26.09.03 IN 103 19 26.09.03 IN 103 20

Vanlig pipelining 1 2 3 4 ksempel på superskalar arkitektur Buss-interface enhet Adresseenhet 1 2 Superskalar pipelining s enhet 3 ksekveringsenhet ksekveringsenhet ksekveringsenhet 4 Viktigste forskjell: Mens det i en vanlig pipeline eksekveres ferdig en instruksjon per tidsenhet, blir flere instruksjoner ferdige samtidig i en superskalar prosessor. 26.09.03 IN 103 21 Registre Superskalare prosessorer har de samme problemene som skalare, men det er mye mer komplisert å gjøre prediksjon, forwarding, sette inn NOP er, og avgjøre hvilke instruksjoner som kan kjøres i parallell, og å koordinere dem. 26.09.03 IN 103 22