1 TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Like dokumenter
1 TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Fortsetelse Microarchitecture level

Forelesning ISA: IJVM Kap 4.2

Kapittel 4: Microarchitecture level

Fortsetelse Microarchitecture level

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Kapittel 3: Digital logic level

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Forelesning Mikroprogram for IJVM Kap 4.3

Fortsetelse Microarchitecture level

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT DESEMBER, 2014, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

TDT DESEMBER, 2009, 09:00 13:00

TDT4160 Datamaskiner Grunnkurs 2011

TDT AUGUST, 2011, 09:00 13:00

ANSWER KEY FOR THE EXAM

TDT4160 AUGUST, 2008, 09:00 13:00

TDT AUGUST, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

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

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

TDT DESEMBER, 2014, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

ANSWER KEY FOR THE EXAM

TDT DESEMBER, 2008, 09:00 13:00

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

TDT DESEMBER, 2009, 09:00 13:00

TDT DESEMBER, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

INF2270. Datamaskin Arkitektur

TDT DESEMBER, 2011, 09:00 13:00

INF2270. Datamaskin Arkitektur

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

SIE 4005, 9/10 (4. Forelesn.)

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Forelesning Optimalisering av μark Kap 4.4

TDT DESEMBER, 2012, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT AUGUST, 2009, 09:00 13:00

Forelesning Adresseringsmodi Kap 5.4

INF1400 Kap4rest Kombinatorisk Logikk

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

Løsningsforslag eksamen TDT4160 høsten 2005

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

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

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

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

Forelesning 5. Diverse komponenter/større system

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

TDT AUGUST, 2015, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT4160 OG IT2201 DATAMASKINER GRUNNKURS EKSAMEN

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)

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

Dagens tema. LC-2 LC-2 er en «ekstrem-risc»; den har 16 instruksjoner og 3 adresseringsmåter.

IN1020. Datamaskinarkitektur

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Forelesning Instruksjonstyper Kap 5.5

befinner seg. Deretter leses instruksjonen fra i registerfilen ved ny stigende klokkepuls.

Eksamensoppgåve i TDT4160 datamaskiner og digitalteknikk

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

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

Bussar. Tilgong til buss (Three state buffer) Synkron / Asynkron Serielle bussar Parallelle bussar Arbitrering: Kven kontrollerar bussen

Intel Core i7. Omid Mirmotahari 4

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

SIE 4005, 8/10 (3. Forelesn.)

Datamaskinens oppbygning

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

Digital logic level: Oppsummering

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

Kap. 8 del 1 kodegenerering INF5110 Vår2007

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

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

SIE 4005, 2/10 (2. Forelesn.)

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

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.

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Litt om Javas class-filer og byte-kode

Kap. 8 del 1 kodegenerering INF april, 2008

Introduksjon til DARK assembly

Oppgave 2 Maskinkode (vekt 12%)

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode)

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Oppsummering av digitalteknikkdelen

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

Kodegenerering del 3: Tilleggsnotat fra AHU Samt litt om class-filer og byte-kode INF5110 V2007. Stein Krogdahl, Ifi UiO

Transkript:

1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte

Ein slags Top-down av pensum 2 Kva ønskjer me? Har eit høgnivåspråk JAVA (forenkla til Integer Java) Ønskjer ei maskin å køyre program på EIT program: Assambly) Bryr oss ikkje med OS-ting (traps, korutiner osv) Må definere ISA Insruksjonsformat Minnemodell Instruksjonsset Maskin: Må ha ein Mikroarkitektur Lage ein prosessorarkitektur Støtte instruksjonar: kunne utføre (effektivt) alle inst. på ISA-nivå Handtering av minne Konstruere mikroarkitektur på digitalt logisk nivå Datapath (utførandeiningar) Control (styreeining) (Realisere prosessoren i silisium)

Frå ISA 0-adresse og 1-adresse instruksjonar og Minnemodel Grensesnitt mot ekternt minne Data Programm 3 Datatype: Integer Kva type kjem data til å være på (kva må støttast i microarkitektur) Instruksjonsset Kva funksjonar må støttast Korleis må einingar i datapath koplast saman Veit korleis maskina virkar logisk

Skal ta definert ISA, lage mikroarkitektur 0-adresse og 1-adresse instruksjonar og Minnemodel Grensesnitt mot externt minne Data Programm 4 Datatype: Integer Kva type kjem data til å være på (kva må støttast i microarkitektur) Instruksjonsset Kva funksjonar må støttast Korleis må einingar i datapath koplast saman Veit korleis maskina virkar logisk

Dette er toppen av designhirarkiet 5

Dette er toppen av designhirarkiet 6 Styreenhet (control unit) Styrer dei utførende einingar Type controll Hardwired microprogramm mix Utførende enhet (datapath) Samling av brukarregistre (registerfil) Samling av sysstemregister ALU: Aritmetisk-logisk enhet

7 Datapath Alu, bus, register I/O ikkje definert for IJVM

Instruksjonset og styreeining 8 To hovud typar styreeinheit Microprogram Instruksjonar er bygd opp av mikroinstruksjonar Maskin i styreeinheiten som utfører instruksjonane stegvis Fleksibel (kan endre på instruksjonssete) Mange typar instruksjonar og adresseringsmåtar Hardwired Kunn maskinvare Ei maskinvare statemaskin som styreeinheit (eller helst berre logic) Kan ikkje endrast (oppdaterast) Rask Påvirkar andre designvalg

Nokre valg 0-adresse og 1-adresse instruksjonar og Minnemodel Grensesnitt mot externt minne Data Programm 9 Datatype: Integer Kva type kjem data til å være på (kva må støttast i microarkitektur) Instruksjonsset Kva funksjonar må støttast Korleis må einingar i datapath koplast saman Veit korleis maskina virkar logisk

Instruksjonset og styreeinheit Microprogrammed Hardwired 10 Add

Valg: Styreeining Kva type maskin skal me designe (og implementere) 11

Instruksjonsett type CISC/RISC 12 CISC (Complex Instruction Set Computer) Avanserte instruksjonar (kan utføre mykje) Bruke fleire einheitar LoadAddStore 42, MinneAdrY, MinneAdrSvar Nærare høgnivå språk Fleksibelt instruksjonsett (Viss mikroprogram kan oppdaterast/endrast) Variabel lengde på instruksjonar Variabel tid på å utføre instruksjonar Mikroprogram (ikkje alltid) Mange typar instruksjonar og adresseringsmåtar RISC (Reduced Instruction Set Computer) Enkle instruksjonar Register til register instruksjonar Bruke mange enkle instruksjonar på å utføre oppgåver ADD Rx, Ry, Rz Fast instruksjonsett (Hardwired) Fast lengde på instruksjonar Fast tid på å utføre instruksjonar Ei maskinvare statemaskin som styreeinheit (eller helst berre logic) Kunn ein type adresering LOAD/STORE Rask

Instruction Set: datatransport Mnemonic Operands Description BIPUSH byte Push a byte onto stack DUPN /A Copy top word on stack and push ontostack GOTO label name Unconditional jump IADDN /A Pop two words from stack; push their sumi ANDN /A Pop two words from stack; push Boolean AN DIFEQ label name Pop word from stack and branch if it is zero IFLT IF_ICMPEQ label name label name Pop word from stack and branch if it is less than z Pop two words from stack and branch if they are e INC byte Add a constant value to a local variable ILOAD variable name Push local variable onto stack INVOKEVIRTUAL method name Invoke a methodi ORN /A Pop two words from stack; push Boolean OR IRETURNN /A Return from method with integer value ISTORE variable name Pop word from stack and store in local variable ISUBN /A Pop two words from stack; push their difference LDC_Wconstant name Push constant from constant pool onto stack NOPN /A Do nothing POPN /A Delete word from top of stack SWAPN /A Swap the two top words on the stack WIDEN /A Prefix instruction; next instruction has a 16-bit inde 13

Instruction Set: Aritmetiske operasjonar 14 Mnemonic Operands Description BIPUSH byte Push a byte onto stack DUPN /A Copy top word on stack and push ontostack GOTO label name Unconditional jump IADDN /A Pop two words from stack; push their sumi ANDN /A Pop two words from stack; push Boolean AN DIFEQ label name Pop word from stack and branch if it is zero IFLT IF_ICMPEQ label name label name Pop word from stack and branch if it is less than z Pop two words from stack and branch if they are e INC byte Add a constant value to a local variable ILOAD variable name Push local variable onto stack INVOKEVIRTUAL method name Invoke a methodi ORN /A Pop two words from stack; push Boolean OR IRETURNN /A Return from method with integer value ISTORE variable name Pop word from stack and store in local variable ISUBN /A Pop two words from stack; push their difference LDC_Wconstant name Push constant from constant pool onto stack NOPN /A Do nothing POPN /A Delete word from top of stack SWAPN /A Swap the two top words on the stack WIDEN /A Prefix instruction; next instruction has a 16-bit inde

SWAPN /A (Swap the two top words on the stack) 15

Passar IJVM-inst set / Passar ikkje IJVM 16 CISC (Complex Instruction Set Computer) Avanserte instruksjonar (kan utføre mykje) Bruke fleire einheitar Nærare høgnivå språk Fleksibelt instruksjonsett (Viss mikroprogram kan oppdaterast/endrast) Variabel lengde på instruksjonar Variabel tid på å utføre instruksjonar Mikroprogram (ikkje alltid) Mange typar instruksjonar og adresseringsmåtar RISC (Reduced Instruction Set Computer) Enkle instruksjonar Register til register instruksjonar Bruke mange enkle instruksjonar på å utføre oppgåver Fast instruksjonsett (Hardwired) Fast lengde på instruksjonar Fast tid på å utføre instruksjonar Ei maskinvare statemaskin som styreeinheit (eller helst berre logic) Kunn ein type adressering LOAD/STORE Rask

utfrå Instruction Set Mnemonic Operands Description BIPUSH byte Push a byte onto stack DUPN /A Copy top word on stack and push ontostack GOTO label name Unconditional jump IADDN /A Pop two words from stack; push their sumi ANDN /A Pop two words from stack; push Boolean AN DIFEQ label name Pop word from stack and branch if it is zero IFLT label name Pop word from stack and branch if it is less than zero IF_ICMPEQ label name Pop two words from stack and branch if they are equali INC byte Add a constant value to a local variable ILOAD variable name Push local variable onto stack INVOKEVIRTUAL method name Invoke a methodi ORN /A Pop two words from stack; push Boolean OR IRETURNN /A Return from method with integer value ISTORE variable name Pop word from stack and store in local variable ISUBN /A Pop two words from stack; push their difference LDC_Wconstant name Push constant from constant pool onto stack NOPN /A Do nothing POPN /A Delete word from top of stack SWAPN /A Swap the two top words on the stack WIDEN /A Prefix instruction; next instruction has a 16-bit index 17

Og kva me går ut frå må gjerast i kvar instruksjon 18 Mange minneaksessar i dataflytt instruksjonar Vil også være likt minneaksess mønster for aritmetiske instruksjonar Konsekvens av instruksjonsett valg og valg av stackmaskin

Velger CISC og microprogramert 19 Microprogrammed Add

Datapath 20 Datapath Alu, bus, register I/O ikkje definert for IJVM

Frå ISA: har ein minnemodell Fyrst Har ein minnemodell Må ha grensesnitt mot minne Register er grensesnitt Register for adressering Register innhald er minne adresser Må kunne peike på adresser i dataminne Må kunne peike på adresser i programminne Register for å utveksle data med minne Dataregister Instruksjonsregister 21 Datapath Alu, bus, register

Minnemodell Register for adressering PC LV SP CPP 22

MEN: Datamaskiner (vanlegvis) berre eit (eller to) minnegrensesnitt (buss(ar)) data memory program memory address data address Instr Harvard architecture PC CPU 23 memory address data PC CPU IR von Neumann architecture computer

Må velje, eg vel Harvard architecture 24 data memory program memory address data address Instr Harvard architecture PC CPU

Har då minnemodel og grensesnitt 25 data memory program memory address data address Instr Harvard architecture PC CPU

Minne modell Register mot programminne (adressering) PC 26 Register mot dataminne (adressering) LV SP CPP

Minne modell Register mot programminne (adressering) PC 27 Register mot dataminne (adressering) LV SP Eit felles grensesnitt register CPP

Minne modell Register mot programminne (adressering) PC 28 Register mot dataminne (adressering) LV SP CPP Eit felles grensesnitt register Må også ha register for data/instruksjon Dataregister (data til/frå minne (R/W)) Instruksjonsregister (inst som PC peikar på)

Må ha internbuss for komunikasjon 29

Minne modell: på microarkitekturnivå 30 To and from main memory MAR MDR PC MBR SP LV Register mot programminne (adressering) PC Register mot dataminne (adressering) LV Eit felles grensesnitt register SP MAR (Memory Address Register) CPP ALU control CPP TOS OPC H A B 6 N ALU Z Må også ha register for data/instruksjon Dataregister (data til/frå minne (R/W)) MDR Memory Data Register Instruksjonsregister (inst som PC peikar på) MBR Memory Buffer register SHIFTER 2 Shifter control

Mikroarkitektur for å hente instruksjonar 31 To and from main memory MAR MDR PC MBR SP LV CPP TOS OPC H Register mot programminne (adressering) PC Instruksjonsregister (inst som PC peikar på) MBR Memory Buffer register ALU control A B 6 N ALU Z SHIFTER 2 Shifter control

Har no microarkitektur for 32 datatransport instruksjonar Mnemonic Operands Description BIPUSH byte Push a byte onto stack DUPN /A Copy top word on stack and push ontostack GOTO label name Unconditional jump IADDN /A Pop two words from stack; push their sumi ANDN /A Pop two words from stack; push Boolean AN DIFEQ label name Pop word from stack and branch if it is zero IFLT IF_ICMPEQ label name label name Pop word from stack and branch if it is less than zero Pop two words from stack and branch if they are equal INC byte Add a constant value to a local variable ILOAD variable name Push local variable onto stack INVOKEVIRTUAL method name Invoke a methodi ORN /A Pop two words from stack; push Boolean OR IRETURNN /A Return from method with integer value ISTORE variable name Pop word from stack and store in local variable ISUBN /A Pop two words from stack; push their difference LDC_Wconstant name Push constant from constant pool onto stack NOPN /A Do nothing POPN /A Delete word from top of stack SWAPN /A Swap the two top words on the stack WIDEN /A Prefix instruction; next instruction has a 16-bit index

Frå ISA: ALU operasjonar Mnemonic Operands Description BIPUSH byte Push a byte onto stack DUPN /A Copy top word on stack and push ontostack GOTO label name Unconditional jump IADDN /A Pop two words from stack; push their sumi ANDN /A Pop two words from stack; push Boolean AN DIFEQ label name Pop word from stack and branch if it is zero IFLT IF_ICMPEQ label name label name Pop word from stack and branch if it is less than zero Pop two words from stack and branch if they are equali INC byte Add a constant value to a local variable ILOAD variable name Push local variable onto stack INVOKEVIRTUAL method name Invoke a methodi ORN /A Pop two words from stack; push Boolean OR IRETURNN /A Return from method with integer value ISTORE variable name Pop word from stack and store in local variable ISUBN /A Pop two words from stack; push their difference LDC_Wconstant name Push constant from constant pool onto stack NOPN /A Do nothing POPN /A Delete word from top of stack SWAPN /A Swap the two top words on the stack WIDEN /A Prefix instruction; next instruction has a 16-bit index 33

Frå ISA: ALU operasjonar 34 ALU må kunne følgjand (frå inst set) ADD SUB OR AND Og for å flytte data utgang = inngang Datapath Alu, bus, register

ALU operasjonar 35 To and from main memory MAR MDR PC MBR SP LV CPP TOS OPC H ALU control A B 6 N ALU Z SHIFTER 2 Shifter control

Microarkitektur valg 36 To and from main memory MAR MDR PC MBR SP LV CPP TOS OPC H Bussar 2 bussar B bus og C bus Dataflyt H-register Kunn eit fritt register for ALU Shift flytta ut av ALU Flagg N (negativt Z (Zero) TOS (Top of Stack) OPC brukar register ALU control A B 6 N ALU Z SHIFTER 2 Shifter control

Control unit 37 Datapath Alu, bus, register I/O ikkje definert for IJVM

Detaljar mikroarkitektur (impementasjon) Styreeining CISC Micrprogramm Skal styre alle register og ALU Programflyt (Branch) 38

Styreeinheit MDR E MDR W 39 Instruksjon

IJVM 40

Fleire microinstr. for instr. 41 0001010010000000000000111 001111000000010000001000 SP = TOS + OPC shift ALU les frå C buss mem B buss 1: H <- TOS: 2: H + OPC, SP <- SHIFT 00 010100 1000000000 000 0111 00 111100 000001000 000 1000

Fleire microinstr. for instr. 42 Addr Peikar til neste microinstruksjon For vår to mikroinstruksjon microinstr 1 Addr peikar til Addr til microinstr 2 MPC MicroProgram Counter ADR JAM 0100000-----0000111 ADR JAM 0100000-----0000111 SP = TOS + OPC microinstr 1 microinstr 2 Addr JAM shift ALU les frå C buss mem B buss XXXXXXXXX XXX XX XXXXXX XXXXXXXXX XXX XXXX

Instruction Set: Ubetingahopp Mnemonic Operands Description BIPUSH byte Push a byte onto stack DUPN /A Copy top word on stack and push ontostack GOTO label name Unconditional jump IADDN /A Pop two words from stack; push their sumi ANDN /A Pop two words from stack; push Boolean AN DIFEQ label name Pop word from stack and branch if it is zero IFLT IF_ICMPEQ label name label name Pop word from stack and branch if it is less than z Pop two words from stack and branch if they are e INC byte Add a constant value to a local variable ILOAD variable name Push local variable onto stack INVOKEVIRTUAL method name Invoke a methodi ORN /A Pop two words from stack; push Boolean OR IRETURNN /A Return from method with integer value ISTORE variable name Pop word from stack and store in local variable ISUBN /A Pop two words from stack; push their difference LDC_Wconstant name Push constant from constant pool onto stack NOPN /A Do nothing POPN /A Delete word from top of stack SWAPN /A Swap the two top words on the stack WIDEN /A Prefix instruction; next instruction has a 16-bit inde 43

Ved hopp MPC MicrProgram Counter JAM kan påvirke MPC Betingahopp viss (hoppinstr og Z) eller (hoppinstr og N) MPC set til hopp microinstr. Hopp microinstr. microinsstr som utfører eit hopp ADR JAM 0100000-----0000111 ADR JAM 0100000-----0000111 ADR JAM 1. Hopp microinst SP = TOS + OPC 44 microinstr 1 microinstr 2 Addr JAM shift ALU les frå C buss mem B buss XXXXXXXXX XXX XX XXXXXX XXXXXXXXX XXX XXXX

Utføre instruksjon Set opp kontrollsignal ( w) Registerverdi til B bus ( x) ALU og Shifter forsinkelse ( y) 45 Forsinkelse på C bus til register ( z) Last register

IJVM Kan no skrive mikroinstruksjonar for kvar instruksjon Eksempel SWAP microkode: swap1 : MAR = SP - 1, rd swap2 : MAR = SP swap3 : H = MDR, wr swap4 : MDR = TOS swap5 : MAR = SP 1, wr swap6 : TOS = H; Goto Main 1 Laste alle mikroinstruksjonar inn på rett plass i Control store Plass gitt av adresse gitt av opcoden 46

Microarkitektur: 47

Microarkitektur: 48 MEN huks at dette kunn er ein mogleg implementasjon av IJVM ISA MIC 1 MIC 2 MIC 3

Fortsetelse nedover i design hierarkiet 49 Digital logic level, impementasjon av einingar i microarkitektur Styreeining Control store (Microprogramm) Logikk for å utføre microinstruksjonar Datapath Register ALU Buss

Neste gong Tirsdag 15/11 Digitalt logisknivå (impementasjon styreeining og datapath) Bits&pieces Framtiden (nær og vidare forbi von Neumann regime) 50 Fredag 18/11 Bits&pieces Minne (DMA og virtuelt) og litt om flyttal