Fortsetelse Microarchitecture level

Like dokumenter
TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Fortsetelse Microarchitecture level

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Fortsetelse Microarchitecture level

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Forelesning Mikroprogram for IJVM Kap 4.3

Kapittel 4: Microarchitecture level

1 TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Forelesning ISA: IJVM Kap 4.2

Forelesning Optimalisering av μark Kap 4.4

TDT DESEMBER, 2009, 09:00 13:00

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

Kapittel 3: Digital logic level

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

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

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Intel Core i7. Omid Mirmotahari 4

TDT DESEMBER, 2008, 09:00 13:00

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 OG IT2201 DATAMASKINER GRUNNKURS EKSAMEN

IN1020. Datamaskinarkitektur

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

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

ANSWER KEY FOR THE EXAM

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

TDT DESEMBER, 2011, 09:00 13:00

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

TDT AUGUST, 2011, 09:00 13:00

TDT4160 AUGUST, 2008, 09:00 13:00

ANSWER KEY FOR THE EXAM

TDT DESEMBER, 2009, 09:00 13:00

TDT AUGUST, 2009, 09:00 13:00

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

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

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

Digital logic level: Oppsummering

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

Løsningsforslag eksamen TDT4160 høsten 2005

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Intel Core i7. Omid Mirmotahari 4

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

I dag. Minne typar Minne mot bussar (fysisk grensesnitt generelt) Meir buss

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

Eksamensoppgåve i TDT4160 datamaskiner og digitalteknikk

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

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

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

INF2270. Datamaskin Arkitektur

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

INF2270. Datamaskin Arkitektur

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

Maskinvaredelen av INF 103: oversikt og innhold (1)

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

1 TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

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

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

Hvorfor lære om maskinvare*?

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

Forelesning ISA-nivået Kap 5.1

Tema for denne forelesningen: tilpassing til pipeline. forwarding. eliminere NOP. faktisk MIPS. in 147, våren 1999 pipelining 1 9

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

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

INF1400. Digital teknologi. Joakim Myrvoll 2014

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

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Datamaskinens oppbygning

NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

Forelesning 5. Diverse komponenter/større system

INF1400 Kap4rest Kombinatorisk Logikk

Meir buss, I/O, prosessor detaljar. Arbitrering: Kven kontrollerar bussen Buss eksempel PIO Prosessorar

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

Litt om Javas class-filer og byte-kode

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

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

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

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

Forelesning Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B

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

Kap. 8 del 1 kodegenerering INF5110 Vår2007

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

NORGES TEKNISK- NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

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

Løsningsforslag til eksamen i INF2270

Minnehåndtering i operativsystemer

Løsningsforslag til eksamen i INF2270

Transkript:

1 Fortsetelse Microarchitecture level

2 Implementasjon Kva kan gjerast for å auke ytinga

3 Implementasjon Detaljar for å utføre instruksjonssettet Ein gitt implementasjon har ein gitt yting Endre ytinga Teknologi (prosess) Transistor implementasjon Digital design av komponentar Auke mengda logikk Endring Av arkitektur Kva kan gjerast for å auke ytinga

4 Implementasjon Detaljar for å utføre instruksjonssettet Ein gitt implementasjon har ein gitt yting Endre ytinga Teknologi (prosess) Transistor implementasjon Digital design av komponentar Auke mengda logikk Endring Av arkitektur Kva kan gjerast for å auke ytinga

5 Implementasjon Detaljar for å utføre instruksjonssettet Ein gitt implementasjon har ein gitt yting Endre ytinga Teknologi (prosess) Transistor implementasjon Digital design av komponentar Auke mengda logikk Endring Av arkitektur Kva kan gjerast for å auke ytinga

6 Implementasjon Detaljar for å utføre instruksjonssettet Ein gitt implementasjon har ein gitt yting Endre ytinga Teknologi (prosess) Transistor implementasjon Digital design av komponentar Auke mengda logikk Endring Av arkitektur Kva kan gjerast for å auke ytinga

7 Implementasjon Detaljar for å utføre instruksjonssettet Ein gitt implementasjon har ein gitt yting Endre ytinga Teknologi (prosess) Transistor implementasjon Digital design av komponentar Auke mengda logikk Endring Av arkitektur Kva kan gjerast for å auke ytinga

8 Implementasjon Detaljar for å utføre instruksjonssettet Ein gitt implementasjon har ein gitt yting Endre ytinga Teknologi (prosess) Transistor implementasjon Digital design av komponentar Auke mengda logikk Endring Av arkitektur Kva kan gjerast for å auke ytinga

9 Implementasjon Detaljar for å utføre instruksjonssettet Ein gitt implementasjon har ein gitt yting Endre ytinga Teknologi (prosess) Transistor implementasjon Digital design av komponentar Auke mengda logikk Endring Av arkitektur Kva kan gjerast for å auke ytinga

10 Implementasjon Detaljar for å utføre instruksjonssettet Ein gitt implementasjon har ein gitt yting Endre ytinga Teknologi (prosess) Transistor implementasjon Digital design av komponentar Auke mengda logikk Endring Av arkitektur Kva kan gjerast for å auke ytinga

11 Implementasjon Detaljar for å utføre instruksjonssettet Ein gitt implementasjon har ein gitt yting Endre ytinga Teknologi (prosess) Transistor implementasjon Digital design av komponentar Auke mengda logikk Endring Av arkitektur Kva kan gjerast for å auke ytinga Intel P4

12 Implementasjon Detaljar for å utføre instruksjonssettet Ein gitt implementasjon har ein gitt yting Endre ytinga Teknologi (prosess) Transistor implementasjon Digital design av komponentar Auke mengda logikk Endring Av arkitektur Kva kan gjerast for å auke ytinga Auke mengda logikk og endring av arkitektur Intel P4

13 Kva kan gjerast for å auke ytinga Auke mengda logikk og endring av arkitektur Instruction Fetch Unit Samleband Instruksjonskø Hurtigbuffer Intel P4

14 Swap: opcod 0x5F 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

15 Swap: opcod 0x5F MPC: 0x5F swap1 (0x5F): MAR = SP - 1, rd (Addr: 0x60, JAM: 0, Shif: 0, ALU: 0x36 (b-1), cbuss: 0x01 (SP), mem: 010 (rd), bbuss: 0x4 (SP) ) swap2 (0x60): MAR = SP swap3 (0x61): H = MDR, wr swap4 (0x62): MDR = TOS swap5 (0x63): MAR = SP 1, wr swap6 (0x00): TOS = H; Goto Main 1 (Hent neste instruksjon) Addr JAM shift ALU les frå C buss mem B buss XXXXXXXXX XXX XX XXXXXX XXXXXXXXX XXX XXXX

16 Hent neste instruksjon swap6 (0x01): TOS = H; Goto Main 1 (Hent neste instruksjon) 0x00: PC = PC +1, fetch Addr: 0x01, JAM : 0, Shift: 0, ALU: 0x35 (b + 1), cbuss: 0x04 (PC), mem: 001, bbuss: 0x04 (SP) Goto Main 1 Addr: 0x00 (ubetinga hopp i microkoden) Addr JAM shift ALU les frå C buss mem B buss XXXXXXXXX XXX XX XXXXXX XXXXXXXXX XXX XXXX

17 Hent neste instruksjon swap6 (0x00): TOS = H; Goto Main 1 (Hent neste instruksjon) Main1: 0x00: PC = PC +1, fetch, Addr: 0X01 0x01: NOP (ingen lesing skriving av register), Addr: 0x01 : swap6 (0x00): TOS = H; Goto Main 1 (Alle instruksjonar avslutast slik) Addr JAM shift ALU les frå C buss mem B buss XXXXXXXXX XXX XX XXXXXX XXXXXXXXX XXX XXXX

18 I ein liten program snutt:

19 Under panseret program snutt: 1 ILOAD 2 PC = PC + 1 3 IADD 4 PC = PC + 1 5 ISTORE 6 PC = PC + 1 7 ILOAD 8 PC = PC + 1 9 BIPUSH 10 PC = PC + 1 11 IF_ICMPEQ (betinga hopp) L1 12 PC = Opdater PC 13 ILOAD 14 PC = PC + 1 15 BIPUSH 16 PC = PC + 1 17 ISUB 18 PC = PC + 1 19 ISTORE 20 PC = PC + 1 21 GOTO L2 22 PC = L2 23 BIPUSH L1 24 PC = PC + 1 25 ISORE 26 PC = PC + 1 27 XXXXX L2

20 Under panseret program snutt: 1 ILOAD 2 PC = PC + 1 3 IADD 4 PC = PC + 1 5 ISTORE 6 PC = PC + 1 7 ILOAD 8 PC = PC + 1 9 BIPUSH 10 PC = PC + 1 11 IF_ICMPEQ (betinga hopp) L1 12 PC = Opdater PC 13 ILOAD 14 PC = PC + 1 15 BIPUSH 16 PC = PC + 1 17 ISUB 18 PC = PC + 1 19 ISTORE 20 PC = PC + 1 21 GOTO L2 22 PC = L2 23 BIPUSH L1 24 PC = PC + 1 25 ISORE 26 PC = PC + 1 27 XXXXX L2

21 Meir logikk høgare yting: 1 ILOAD 2 PC = PC + 1 3 IADD 4 PC = PC + 1 5 ISTORE 6 PC = PC + 1 7 ILOAD 8 PC = PC + 1 9 BIPUSH 10 PC = PC + 1 11 IF_ICMPEQ (betinga hopp) L1 12 PC = Opdater PC 13 ILOAD 14 PC = PC + 1 15 BIPUSH 16 PC = PC + 1 17 ISUB 18 PC = PC + 1 19 ISTORE 20 PC = PC + 1 21 GOTO L2 22 PC = L2 23 BIPUSH L1 24 PC = PC + 1 25 ISORE 26 PC = PC + 1 27 XXXXX L2

22 Flytte funksjonalitet til maskinvare: 1 ILOAD 2 PC = PC + 1 3 IADD 4 PC = PC + 1 5 ISTORE 6 PC = PC + 1 7 ILOAD 8 PC = PC + 1 9 BIPUSH 10 PC = PC + 1 11 IF_ICMPEQ (betinga hopp) L1 12 PC = Opdater PC 13 ILOAD 14 PC = PC + 1 15 BIPUSH 16 PC = PC + 1 17 ISUB 18 PC = PC + 1 19 ISTORE 20 PC = PC + 1 21 GOTO L2 22 PC = L2 23 BIPUSH L1 24 PC = PC + 1 25 ISORE 26 PC = PC + 1 27 XXXXX L2 PC = PC +1 ALU B-Buss C-Buss Okuperar ressursar

23 Flytte funksjonalitet til maskinvare: 1 ILOAD 2 PC = PC + 1 3 IADD 4 PC = PC + 1 5 ISTORE 6 PC = PC + 1 7 ILOAD 8 PC = PC + 1 9 BIPUSH 10 PC = PC + 1 11 IF_ICMPEQ (betinga hopp) L1 12 PC = Opdater PC 13 ILOAD 14 PC = PC + 1 15 BIPUSH 16 PC = PC + 1 17 ISUB 18 PC = PC + 1 19 ISTORE 20 PC = PC + 1 21 GOTO L2 22 PC = L2 23 BIPUSH L1 24 PC = PC + 1 25 ISORE 26 PC = PC + 1 27 XXXXX L2 PC = PC +1 ALU B-Buss C-Buss Okuperar ressursar Legg til logikk PC = PC + 1 PC = PC +1 Hopp

24 Flytte funksjonalitet til maskinvare: 1 ILOAD 2 IADD 3 ISTORE 4 ILOAD 5 BIPUSH 6 IF_ICMPEQ (betinga hopp) L1 7 PC = Opdater PC 8 ILOAD 9 BIPUSH 10 ISUB 11 ISTORE 12 GOTO L2 13 PC = L2 14 BIPUSH L1 15 ISORE 16 XXXXX L2 PC = PC +1 ALU B-Buss C-Buss Okuperar ressursar Legg til logikk PC = PC + 1 Redusert med 11 gonger bruk av ALU B-Buss C-Buss PC = PC +1 Hopp

25 Instruksjon 8 bit (1 byte) Minne grensesnitt 32 bit (4 Byte)

26 Instruksjon 8 bit (1 byte) Minne grensesnitt 32 bit (4 Byte) Brukar 32 bit buss Hentar 8 bit 24 bit ubrukt

Instruction 27 Fetch Unit Instruksjon 8 bit (1 byte) Minne grensesnitt 32 bit (4 Byte) Brukar 32 bit buss Hentar 8 bit 24 bit ubrukt