Fortsetelse Microarchitecture level

Like dokumenter
TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

1 TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Fortsetelse Microarchitecture level

Kapittel 4: Microarchitecture level

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Kapittel 3: Digital logic level

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

ANSWER KEY FOR THE EXAM

ANSWER KEY FOR THE EXAM

TDT DESEMBER, 2009, 09:00 13:00

TDT DESEMBER, 2009, 09:00 13:00

Fortsetelse Microarchitecture level

TDT AUGUST, 2011, 09:00 13:00

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

TDT AUGUST, 2013, 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 Mikroprogram for IJVM Kap 4.3

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

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

TDT4160 OG IT2201 DATAMASKINER GRUNNKURS EKSAMEN

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

TDT DESEMBER, 2011, 09:00 13:00

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

TDT DESEMBER, 2008, 09:00 13:00

Forelesning Optimalisering av μark Kap 4.4

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Forelesning ISA: IJVM Kap 4.2

INF2270. Datamaskin Arkitektur

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

Forelesning Instruksjonstyper Kap 5.5

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 AUGUST, 2008, 09:00 13:00

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

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

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

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

INF2270. Datamaskin Arkitektur

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

IN1020. Datamaskinarkitektur

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

Forelesning 5. Diverse komponenter/større system

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

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

Intel Core i7. Omid Mirmotahari 4

INF1400 Kap4rest Kombinatorisk Logikk

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

Eksamensoppgåve i TDT4160 datamaskiner og digitalteknikk

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

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

1 TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

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)

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

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

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

Introduksjon til DARK assembly

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

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

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

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

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

Digital logic level: Oppsummering

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

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

Kap. 8 del 1 kodegenerering INF5110 Vår2007

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

Oppsummering av digitalteknikkdelen

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Kap. 8 del 1 kodegenerering INF april, 2008

Datamaskinens oppbygning

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

Dagens tema. Mer MIPS maskinkode. Maske-operasjoner Skift-operasjoner Lesing og skriving Pseudo-instruksjoner Mer om funksjonskall Registeroversikt

Intel Core i7. Omid Mirmotahari 4

INF2100. Dagens tema: Flink-maskinen Litt datamaskinhistorie. Registre og lagre. Instruksjoner. Flass-koden

EKSAMENSOPPGAVE. Kontaktperson under eksamen: Steffen Viken Valvåg Telefon:

Dark Stakkmaskin. Aritmetiske instruksjoner

TDT4160 Datamaskiner Grunnkurs 2011

Dark load-store-maskin

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

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

Dagens tema. Dagens temaer hentes fra kapittel 3 i læreboken. Repetisjon, design av digitale kretser. Kort om 2-komplements form

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

Oppgave 2 Maskinkode (vekt 12%)

Løsningsforslag eksamen TDT4160 høsten 2005

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

Maskinvaredelen av INF 103: oversikt og innhold (1)

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Øving 1: Busser, adressemodi, multiplekser og styreord

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

ytelsen til hukommelseshierarkier

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

Forelesning Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B

4/2 enkel pipelining in 147, våren 1997 pipelining 1. Pipelining. når tema læreboka. 11/3 problemer

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

Transkript:

1 Fortsetelse Microarchitecture level

2 Kva kan datamaskiner (frå 1. forelesing) Aritmetiske Logiske funksjonar Flytte data frå ein plass til ein anna Test er eit tal 0? Gjere desse operasjonane FORT Berekne alle beregnbare funksjonar Utføre sekvensar av operasjonar

3 ALU og Flytt/kopier 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

4 Microinstruksjon: ALU og Flytt/kopier Instruksjon: SP = TOS + OPC shift ALU les frå C buss mem B buss 1: H <- TOS: 00 010100 1000000000 000 0111 2: H + OPC, SP <- SHIFT: 00 111100 000001000 000 1000 Addr JAM shift ALU les frå C buss mem B buss XXXXXXXXX XXX XX XXXXXX XXXXXXXXX XXX XXXX

5 Utføre sekvensar av oprasjonar Løkker (loops) Repeter ei rekke instruksjonar Ubetinga hopp (Unconditional Branch eller jump) Hoppar alltid (goto adr xxxx) Betinga hopp (Conditional Branch) Hoppar viss (Z-flagg = 1 eller N-flagge = 1 goto adr xxxx)

6 Microinstruksjon Addr feltet Addr gir addressa til neste microinstruksjon Addr JAM shift ALU les frå C buss mem B buss XXXXXXXXX XXX XX XXXXXX XXXXXXXXX XXX XXXX Addr peikar på addressa til neste microinstruksjon i instruksjonen Adr 0: Instruksjon 1 1. microinstruksjon ligg på Addr 0, microinstruksjon Addr peikar på Addr 1 2. microinstruksjon ligg på Addr 1, microinstruksjon Addr peikar på 2 3. og siste microinstruksjon ligg på Addr 3, Addr peikar på start ny instruksjon

7 Microinstruksjon Addr feltet Addr gir addressa til neste microinstruksjon Instruksjon: SP = TOS + OPC (forrige forelesing) shift ALU les frå C buss mem B buss 1: H <- TOS: 00 010100 1000000000 000 0111 2: H + OPC, SP <- SHIFT: 00 111100 000001000 000 1000 Addr kan då sjå slik ut (H <- TOS ligg på Addr 0): Addr shift ALU les frå C buss mem B buss 1: H <- TOS: 000000001 xxx 00 01010 1000000000 000 0111 2: H + OPC, SP <- SHIFT: 000000002 xxx 00 111100 000001000 000 1000 Addr JAM shift ALU les frå C buss mem B buss XXXXXXXXX XXX XX XXXXXX XXXXXXXXX XXX XXXX

8 Instr. i MicroProg minne 0001010010000000000000111 001111000000010000001000 SP = TOS + OPC shift ALU les frå C buss mem B buss 1: H <- TOS: 00 010100 1000000000 000 0111 2: SP <- H + OPC 00 111100 000001000 000 1000

9 Instr. i MicroProg minne 000000100 000000000 000000001 XXX Start ny instruksjon 000000100 000000101 000000101 000000000 XXX XXX 0001010010000000000000111 001111000000010000001000 111111111 SP = TOS + OPC shift ALU les frå C buss mem B buss 1: H <- TOS: 00 010100 1000000000 000 0111 2: SP <- H + OPC 00 111100 000001000 000 1000

10 Løkke eksempel klokke Start: S = 59? (nei) JMP Sekund S = 0 M = 59? (nei) JMP Minutt M = 0 T = 12 (nei) JMP Time T = 0 JMP Start I programminne: FFFF F000 EFFF Hovud Program Sekund Sekund: S = S + 1 JMP Start Minutt: M = M + 1 JMP Start Time: T = T + 1 JMP Start E000 CFFF C000 BFFF B000 Minutt Time

11 Utføre sekvensar av oprasjonar Løkker (loops) Repeter ei rekke instruksjonar Ubetinga hopp (Unconditional Branch eller jump) Hoppar alltid (goto adr xxxx) Betinga hopp (Conditional Branch) Hoppar viss (Z-flagg = 1 eller N-flagge = 1 goto adr xxxx)

12 Må ha hopp inn i microinstruksjon Utvidar med JAM JAMZ: Sjekkar Z-flagget (zero) til ALU JAMN: Sjekkar N-flagget (negativ) til ALU JMPC: Ekstra hoppting kjem seinare No mogleg å detektera N og Z for å kunne bestemme hopp Kan sjekke resultat frå berekning utført av ALU Kan bruke resultatet til betinga hopp Addr JAM shift ALU les frå C buss mem B buss XXXXXXXXX XXX XX XXXXXX XXXXXXXXX XXX XXXX

13 IJVM

14 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 microinstr 1 microinstr 2 Addr JAM shift ALU les frå C buss mem B buss XXXXXXXXX XXX XX XXXXXX XXXXXXXXX XXX XXXX

15 Ved hopp JAMZ og JAMN MPC MicrProgram Counter JAMZ og JAMN kan påvirke MPC Korleis hopp MPC: 9 bit 9 frå Addr i micro Instruksjon Viss JAMZ eller JAMN = 0 : MPC = Addr Neste microinst Addr Viss JAMZ eller JAMN = 1 : MPC = Adr or 100000000 Neste microinst 1XXXXXXXX

16 Ved JAMZ eller JAMN (hopp betingelse i microinstruksjon MPC = (Z and JAMZ) or (N and JAMN) or Addr

17 Ved JAMZ eller JAMN (hopp betingelse i microinstruksjon MPC = (Z and JAMN) or (N and JAMN) or Addr

18 Ved hopp JAMZ og JAMN 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 01000---0000111 000000010 000000011 001 0100-----0000111 100000011 ADR JAM 1. Hopp til microinst 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

Ved 19 hopp JMPC MPC MicrProgram Counter JMPC kan påvirke MPC Korleis hopp MPC: 9 bit 9 frå Addr i micro Instruksjon Viss JMPC = 0 MPC = Addr Neste microinst Addr Viss JMPC = 1 : MPC = MBR or addr Neste MBR or addr Unik adresse basert på MBR MBR inneheld OpCode

MicroProgramert 20 styreeining IJVM

MicroProgramert 21 styreeining IJVM

MicroProgramert 22 styreeining IJVM

MicroProgramert 23 styreeining IJVM

MicroProgramert 24 styreeining IJVM

MicroProgramert 25 styreeining IJVM

26 MicroProgramert styreeining IJVM OpCode frå MBR Generer adresse til microcode (MPC) MPC peikar på 1. microinstruksjon Utfør microinst I INSRUKSJONEN

27 Har no ei generell datamaskin Styreeining (control unit) Styrer utførende einingar vha. mikroprogram Utførende enhet (datapath) Register ALU: Aritmetisk-logisk eining

28 Generell datamaskin minne Minne Programminne Dataminne

29 Minne i IJVM

30 Minne i IJVM

31 Generell datamaskin

32 IJVM

33 IJVM Stakk basert

34 IJVM Stakk basert

35 IJVM Stakk basert

36 IJVM: MicrArch vs Instruction Set Architecture Instruksjonsset Micro Arkitektur Minnemodell