INF2270. Datamaskin Arkitektur

Like dokumenter
INF2270. Datamaskin Arkitektur

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)

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

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

IN1020. Datamaskinarkitektur

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

IN1020. Logiske porter om forenkling til ALU

INF1400 Kap4rest Kombinatorisk Logikk

Forelesning 5. Diverse komponenter/større system

Maskinvaredelen av INF 103: oversikt og innhold (1)

Kapittel 4: Microarchitecture level

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

Dagens temaer. Dagens temaer hentes fra kapittel 3 i læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form

Intel Core i7. Omid Mirmotahari 4

Datamaskinens oppbygning

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

Intel Core i7. Omid Mirmotahari 4

Oppsummering av digitalteknikkdelen

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT DESEMBER, 2008, 09:00 13:00

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

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

Forelesning Instruksjonstyper Kap 5.5

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

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Notater: INF2270. Veronika Heimsbakk 10. juni 2014

Hvorfor lære om maskinvare*?

TDT4160 AUGUST, 2008, 09:00 13:00

Forelesning 9. Registre, tellere og minne

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

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

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Repetisjon digital-teknikk. teknikk,, INF2270

Fortsetelse Microarchitecture level

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

Oppsummering digital-teknikk, teknikk, INF2270

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

TDT4160 OG IT2201 DATAMASKINER GRUNNKURS EKSAMEN

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

Internminnet. Håkon Tolsby Håkon Tolsby

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

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

INF2270. Input / Output (I/O)

TDT AUGUST, 2011, 09:00 13:00

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

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF2270. Input / Output (I/O)

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

INF2270. Sekvensiell Logikk

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

Datamaskinens virkemåte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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. !

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

Internminnet. Håkon Tolsby Håkon Tolsby

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

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

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

Øving 1: Busser, adressemodi, multiplekser og styreord

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

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

UNIVERSITETET I OSLO

Dark load-store-maskin

Fortsetelse Microarchitecture level

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

Digital logic level: Oppsummering

MAX MIN RESET. 7 Data Inn Data Ut. Load

Dagens temaer. Dagens temaer er hentet fra P&P kapittel 3. Motivet for å bruke binær representasjon. Boolsk algebra: Definisjoner og regler

Hukommelseshierarki. 16/3 cache /3 virtuell hukommelse in 147, våren 1999 hukommelseshierarki 1

Løsningsforslag til eksamen i INF2270

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

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

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

Teoretisk minnemodell Flyktig minne - SRAM -DRAM Ikke-flyktig minne -ROM -EPROM - EEPROM Flash

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

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

Institiutt for informatikk og e-læring, NTNU CPUens deler og virkemåte Geir Ove Rosvold 4. januar 2016 Opphavsrett: Forfatter og Stiftelsen TISIP

Forelesning Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B

Oppgave 2 Maskinkode (vekt 12%)

ytelsen til hukommelseshierarkier

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and. ! Kort repetisjon fra forrige gang

Løsningsforslag eksamen TDT4160 høsten 2005

IN1020. Sekvensiell Logikk

INF2270. Boolsk Algebra og kombinatorisk logikk

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

TDT DESEMBER, 2009, 09:00 13:00

IN1020. Minnehierarki

INF3430/4431. Kretsteknologier Max. kap. 3

DM6814/DM5814 User s Manual

dynamiske data dynamiske data statiske data program dynamiske data statiske data reservert program dynamiske data statiske data reservert program

INF1400. Sekvensiell logikk del 1

Transkript:

INF2270 Datamaskin Arkitektur

Hovedpunkter Von Neumann Arkitektur ALU Minne SRAM DRAM RAM Terminologi RAM Signaler Register Register overføringsspråk

Von Neumann Arkitektur John von Neumann publiserte i 1945 en model for datamaskin arkitektur som brukes fortsatt den dag i dag. Hovedbidraget hans og unikheten i denne modellen er å bruke et enkelt minneelement som både skal brukes for program og data. Ny Powerpoint mal 2011 4

Von Neumann Arkitektur Block Diagram Omid Mirmotahari 5

IR: (instruksjonsregister) Her lagres maskinkoden av instruksjonen som skal eksekvereres PC: (program counter / IP (instruksjon pointer)) Her lagres minneadressen for den neste maskinkode instruksjonen. MAR: (memory address register) Halvparten av registeret er dedikert til å lagre minneadressen som det skal leses fra eller skrives til fra CPU MBR: (memory buffer register) Den andre halvpart av registeren som lagrer selve dataen som er lest fra minne eller skal skrive inn på minne fra CPU. Omid Mirmotahari 6

Data- og instruksjonsbus Bus er kommunikasjonskanalen mellom registere, funksjonelle enheter (ALU), minne og I/O enheter. Bus kan deles mellom flere enheter, men kun en som kan sende av gangen. I en von Neumann arkitektur er det en bus mellom minne og CPU som skal både overføre instruksjon og data, dette vil da være flaskehalsen. Internt i en CPU er den en eller flere bus(er) som overfører data mellom interne registere. Omid Mirmotahari 7

Aritmetisk logisk enhet (ALU) Den delen av CPU hvor logiske og aritmetiske beregninger utføre, f.eks addisjon, subtraksjon, AND, OR osv Omid Mirmotahari 8

Operasjoner som ALU skal utføre: (eksempelvis) AND OR XOR Addisjon Subtraksjon Følgende byggeblokker trenger vi: Fulladder Multiplekser AND,OR og NOT Omid Mirmotahari 9

Operasjon Operasjon Out a b 0 M U 1 X Out 0 AND (ab) 1 OR (a+b) Omid Mirmotahari 10

Operasjon a b 0 1 2 3 M U X Out Operasjon Out 0 0 AND 0 1 OR 1 0 XOR 1 1? Omid Mirmotahari 11

Operasjon mente inn a b Add 0 1 2 3 M U X Out Operasjon Out 0 0 AND 0 1 OR 1 0 XOR 1 1 SUM mente ut Omid Mirmotahari 12

b_invert Operasjon mente inn Operasjon = a2a1a0 a2 = b_invert a1 = MSB MUX a0 = LSB MUX a b 0 1 0 1 2 3 Add mente ut M U X Out Operasjon Out 000 ab 001 a+b 010 a XOR b 011 a SUM b 100 ab 101 a+b 110 a XOR b 111 a SUB b Omid Mirmotahari 13

1-bit ALU inst = a2a1a0 Inst(2) = a2 invert b Inst(1) = a1 MSB MUX Inst(0) = a0 LSB MUX inst computation 000 a b 001 a b 010 a + b 011 a + b 100 a b 101 a b 110 a + b 111 a - b Omid Mirmotahari 14

N-bit ALU Omid Mirmotahari 15

ALUer i CPU Moderne CPU kan inneholde flere ALUer ALUer kan designes til å håndtere flere funksjoner per trinn og mer komplekse. Alternativt kan man bruke software aktivt til å designe slik at en ALU kan utføre komplekse operasjoner over flere trinn. TRADE-OFF: hvor skal man plassere kompleksiteten, i hardware eller software Ulemper med å sette kompleksitet i hardware er høyere kostnader i fbm strømforbruk, areal og produksjonskost. ALU designet spiller en stor rolle med hensyn på CPU sin ytelse, da det mest komplekse operasjonen setter maksimal klokkefrekvens. Omid Mirmotahari 16

Static Random Access Memory SRAM Omid Mirmotahari 17

Dynamic Random Access Memory - DRAM Omid Mirmotahari 18

RAM terminologi Address space: Størrelsen på adresserbare minne enheter, oppgis enten i word eller bytes. Word length: Antall bit som kan bli lest/skrevet i en operasjon Memory size: Størrelsen er gitt av address space * word length. Omid Mirmotahari 19

RAM Signaler WE, write enable: Som oftest aktiv lav. Brukes til å skille mellom read og write aksessering. RAS/CAS, row/column access strobe: Brukes primært i DRAM til å styre decodere for henholdsvis rad og kolonne OE, output enable: Brukes til å kunne regulerer tilgangen til bus(en), da bus(en) kan være drevet av andre enheter. CS, chip select: En styresignal som tillater å bruke flere RAM(er) istedenfor bare en på samme adresse bus. Omid Mirmotahari 20

DRAM refresh! Kapasitiv (Capacitive) lagring er ikke selvbærende slik som flip-floper. Grunnet de elektriske egenskapene til en kapasitans gjør at den lekker og derav vil verdien gradvis forsvinne med tid. For å kunne opprettholde riktig verdi er man nødt til å friske (refresh) opp verdien. Omid Mirmotahari 21

Static vs. Dynamic RAM SRAM DRAM Aksessering hastighet + Minne tetthet + Behov for refresh + Kompleksitet mht + interne styresignaler Pris pr bit + Omid Mirmotahari 22

Register Transfer Language (RTL) Symbol X [X] M( [M([X])] Forklaring Registrer X Innholdet i X Eksekverer Minne M Innholdet i minne gitt av adressen [X] Omid Mirmotahari 23

RTL Eksempel [IR] [MBR] Innholdet gitt av MBR blir overflyttet/overskrevet innholdet gitt av IR Omid Mirmotahari 24

Eksekvering av instruksjoner Hver instruksjon består av minst tre oppgaver: 1. Hent instruksjonen ( Fetch) 2. Dekod instruksjonen ( Decode) 3. Utfør instruksjonen ( Execute) Omid Mirmotahari 25

Fetch Henter instruksjonen fra minnet og legger den i insruksjonsregisteret IR PC 0201a00b IR Add $s1,$s2, $s3 0201a004 0201a008 0201a00b 0201a00c 0201a00e Minne Add $s1,$s2, $s3 En ny instruksjon hentes fra minne for hver start på en instruksjonssykel. En tilstandsmaskin (FSM) i kontrollenheten (CU) genererer de riktige styresignalene. 2 6

Decode Add rd rs1 rs2 OpCode Destination Source1 Source2 OpCode: Instruksjonstypen Destination: Resultatet plasseres her Source 1: 1. operand til instruksjonen Source 2: 2. operand til instruksjonen Ikke alle instruksjoner har alle feltene, og noen har flere felter i tillegg. I tillegg må kontrollsignaler til bla. ALU settes slik instruksjonen krever. Omid Mirmotahari 27

Execute Source Register 1 Destination Register Source Register 2 Kontrollsignaler Registre eller instruksjonsminnne Register eller addressebuss OBS! Sourceregisterne kan ikke trigges av samme klokkeflanke som destinasjonsregisteret. Omid Mirmotahari 28

Eksempel på eksekvering av Maskinkode Ved oppstart av en CPU vil program telleren (PC) peke til / være initiert til en spesifikk minneadresse. Her i dette eksemplet er dette 0. Mem adr Innhold 0 move 4 1 add 5 2 store 6 3 stop 4 1 5 2 6 0.. Omid Mirmotahari 29

Fetch Henter minneadressen Øker programtelleren Henter ut innholdet i minne Overskriver innholdet i IR med [MBR] [MAR] [PC] (nå er [PC]=0) [PC] [PC] + 1 [MBR] M([MAR]) [IR] [MBR] Omid Mirmotahari 30

Decode Instruksjonen i IR er nå move 5 Hente ut op-code og settec U Hente ut operanden Hente ut innholdet i operanden Mellomlagre dette til input for ALU CU [IR(op code)] [MAR] [IR(op er and)] [MBR] [M([MAR])] [A] [MBR] EXECUTE Nå må vi hente ut neste verdi for ALU inngangen Omid Mirmotahari 31

Decode forts. Fetch og decode som før [MAR] [PC] (nå er [PC]=1) [PC] [PC] + 1 [MBR] M([MAR]) [IR] [MBR] Instruksjonen i IR er nå add 5. CU [IR(opcode)] Omid Mirmotahari 32

Decode forts. [MAR] [IR(op er and)] [MBR] [M([MAR])] Nå har vi i [A] som er verdien i adresse 4 som er tallet 1 ALU [A];ALU [MBR] [B] ALU EXECUTE Nå må vi hente ut neste instruksjon som forteller hvor dette skal lagres Omid Mirmotahari 33

Decode forts. Fetch og decode som tidligere vist..... [MBR] [B] [MAR] [IR(op er and)] [M([MAR])] [MBR] Omid Mirmotahari 34

Resultat Nå er resultatet skrevet i minneadresse 6. Mem adr Innhold 0 move 4 1 add 5 2 store 6 3 stop 4 1 5 2 6 3.. Omid Mirmotahari 35

RISC vs CISC Hittil har vi sett på hardwired CU arkitektur, hvor det er en hardwired FSM som gir de styresignalene decodet ut fra IR. En mer fleksibel alternativ er å bruke microcode og en enkel prosessor som genererer styresignalene gjennom microinstruction i microprogram memory (typisk ROM) Omid Mirmotahari 36

Hardwired vs. Microprogrammed CU Omid Mirmotahari 37

Fordeler og ulemper Microarchitecture Hardwired Occurrence CISC RISC Flexibility + - Design Cycle + - Speed - + Compactness - + Power - + Men det skal sies at nå i moderne CPU så er avstanden mellom RISC og CISC blitt mye mindre Omid Mirmotahari 38