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

Like dokumenter
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.

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

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

Maskinvaredelen av INF 103: oversikt og innhold (1)

Oppsummering av digitalteknikkdelen

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

INF2270. Datamaskin Arkitektur

INF2270. Datamaskin Arkitektur

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

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

IN1020. Datamaskinarkitektur

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

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

Dagens tema. Flere teknikker for å øke hastigheten

Oppsummering digital-teknikk, teknikk, INF2270

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Intel Core i7. Omid Mirmotahari 4

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

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

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

Datamaskinens oppbygning

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

Hvorfor lære om maskinvare*?

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

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

INF1400 Kap4rest Kombinatorisk Logikk

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

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. Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM ROM. Hukommelsesbusser

Forelesning 5. Diverse komponenter/større system

Internminnet. Håkon Tolsby Håkon Tolsby

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

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

Datamaskinens virkemåte

TDT4160 AUGUST, 2008, 09:00 13:00

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

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

IN1020. Minnehierarki

Dagens temaer. Praktisk anvendelse: Satellittkommunikasjon. eksempler på bruk av assembler/c/arkitektur teknikker for å øke hastigheten

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

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

Forelesning Instruksjonstyper Kap 5.5

Internminnet. Håkon Tolsby Håkon Tolsby

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Innhold. Oversikt over hukommelseshierakiet. Ulike typer minne. Innledning til cache. Konstruksjon av cache Hukommelseshierarki-1 1

Dagens temaer. eksempler på bruk av assembler/c/arkitektur teknikker for å øke hastigheten. Organisation and Architecture )

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

TDT ITGK - Hardware. Kapittel 9: Følge Instruksjoner - Prinsipper for Datamaskinens Virkemåte. Terje Rydland - IDI/NTNU

Intel Core i7. Omid Mirmotahari 4

Hovedkort, brikkesett og busser

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

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

INF2270. Input / Output (I/O)

kan adressere et større område som RAM enn det som faktisk er tilgjengelig. Siden data kan plasseres i RAM og/eller på harddisken brukes begrepet

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

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

Kapittel 9: Følge Instruksjoner Prinsipper for Datamaskinens Virkemåte

Innhold. Virtuelt minne. Paging i mer detalj. Felles rammeverk for hukommelseshierarki Hukommelseshierarki-2 1

INF2270. Minnehierarki

Kapittel 9: Følge Instruksjoner Prinsipper for Datamaskinens Virkemåte. Oversatt av Rune Sætre,

UNIVERSITETET I OSLO

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Del 1 Setup - BIOS Oppgaver: 1. Hva slags CPU har maskinen? Beskriv de tekniske egenskapene ved CPU en.

Fortsetelse Microarchitecture level

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

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

Forelesning Optimalisering av μark Kap 4.4

Setup programmet brukes til å endre konfigurasjonen av BIOS og til å vise resultatene fra

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

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

Løsningsforslag eksamen TDT4160 høsten 2005

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

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

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

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

Hvorfor lære om maskinvaren*?

Forelesning 9. Registre, tellere og minne

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

Oppgave 2 Maskinkode (vekt 12%)

Innhold. Oppgave 1 Oversettelse (vekt 15%)

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

TDT4258 Eksamen vår 2013

INF2270. Input / Output (I/O)

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

Input/Output. når tema pensum. 13/4 busser, sammenkobling av maskiner /4 PIO, DMA, avbrudd/polling

Oppgave lab. 2. Hvor mye Internminne har den? - Maskinen har 2GB internminne.

Kapittel 4: Microarchitecture level

Dagens tema. Mer om cache-hukommelse Kapittel 6.5 i Computer Organisation and Architecture ) RAM. Typer, bruksområder og oppbygging 2008 ROM

Singletasking OS. Device minne Skjerm minne. Brukerprogram. Brukerdata/heap. Stack. Basis for flerprosess-systemer.

TDT4160 OG IT2201 DATAMASKINER GRUNNKURS EKSAMEN

Transkript:

Dagems temaer! ra kapittel 4 i Computer Organisation and Architecture! Kort om hurtigminne (RAM)! Organisering av CPU: von Neuman-modellen! Register Transfer Language (RTL)! Instruksjonseksekvering! Pipelining

Oppbygging av RAM! Sentrale begreper er adresserbarhet og adresserom! Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon (lese- eller skrive-operasjon).! Antall bit som kan refereres til i én operasjon kalles gjerne CPU ens ordlengde, mens bit ene betraktet under ett kalles vanligvis et ord.! De fleste CPU er kan også referere til halvord (halvparten antall bit i et ord) og byte (8 bit).! Adresserom: Hvor mange unike ord en CPU kan referere til totalt; dvs. hvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av.! Adresserommet er bestemt av hvor mange adresselinjer CPU en har

Oppbygging av RAM (forts.)! 8 adresselinjer kan man adressere 8 =56 ord.! 8 adresselinjer kan man adressere 8 =68,435,456 ord, dvs 56 M ord.! 3 adresselinjer kan man adressere 3 =4,94,967,96 ord, dvs 4 G ord! NB: Ingen sammenheng mellom antall ulike ord som kan adresseres, og antall bit i hvert ord! Men: Det er vanlig å angi minnestørrelse i antall byte istedenfor enn i antall ord, dvs hvor mange megabyte eller gigabyte hukommelsen har! Logisk sett er RAM organisert som en n x m matrise av -bits celler hvor man kan velge ut én rad ad gangen for skriving/lesing, og der n er ordlengden, og m er antall adresselinjer 3

Enable D 3 in D in D in D 0 in a 0 a a n Dekoder bit bit bit bit bit bit bit bit bit bit bit bit Adresserom: Antall bit linjer D 3 out D out D out D 0 out Adresserbarhet: Antall bit horisontalt 4

Von Neumann modellen! Enkel modell definert på slutten av 940-tallet for organisering av en datamaskin i fem ulike enheter: Hukommelse MAR MBR Input Prosesseringsenhet Output ALU TEMP PC Kontrollenhet IR! Nesten alle dagens maskiner har denne organiseringen. 5

Hukommelse! Hukommelsen er koblet til resten gjennom adressebussen og databussen.! Innholdet på adressebussen identifiserer et ord i hukommmelsen (ved lesning skriving fra/til hukommelsen).! Databussen transporterer bitmønsteret som enten er lest fra eller skal skrives inn til en bestemt lokasjon i hukommelsen.! Ved lesing legges adressen til ordet som skal leses først inn i MAR (Memory Address Register). Deretter blir ordet som er lest fra hukommelsen lagt over i MBR (Memory Buffer Register). MBR kalles også MDR (Memory Data Register)! Ved skriving legges adressen til lokasjonen det skal skrives til i MAR, mens bitmønsteret som skal skrives inn i hukommelsen legges først inn i MBR.! MAR og MBR er grensesnittet mellom prosesserings-enheten og hukommelsen, dvs prosesseringsenheten forholder seg kun til disse ved minneaksess 6

Prosesseringsenheten! Prosesseringsenheten består av en eller flere ALU er og registre.! ALU en utfører aritmetiske og logiske beregninger på variable som ligger i registrene, og beregner adresser under programeksekvering! ALU en utfører gjerne operasjoner på ord av samme lengde som maskinens ordlengde, og spesial-operasjoner på byte og halvord.! Siden ALU en henter input fra registre, og skrives resultatene også til registre (ikke direkte til/fra hukommelse) blir prosesseringen mer effektiv med mange registre, minneaksess mot langsom RAM unngås! De fleste prosessorer bruker en dedikert ALU for å gjøre adresseberegninger (f.eks hente neste instruksjon og finne adresser ved hoppinstruksjoner).! Registre bygges med D-flipflop er, mens resten av RAM/cache er bygget opp med en annen type teknologi basert på lagring av elektriske ladninger (kondensatorer) 7

Kontrollenheten! Kontrollenheten sørger for at styresignaler har riktig verdi til rett tid, og styrer derfor hele datamaskinen.! Kontrollenheten inneholder bl.a. to registre kalt programteller (PC) og instruksjonsregister (IR).! Programtelleren inneholder adressen til neste instruksjon som skal utføres.! Instruksjonsregisteret inneholder instruksjonen som eksekveres i øyeblikket.! Kontrollenheten styrer i tillegg input og output-enheter i større eller mindre grad, men en del kontrollfunksjoner er også distribuert og innebygget i de andre enhetene. 8

Input og output (I/O)! Inndata kan komme fra en rekke enheter som f.eks mus, tastatur, CD-ROM, DVD, skanner, USB-port, nettverkskort, floppydisk, harddisk etc.! Input-enheter varierer i egenskaper som hastighet, størrelse/type data osv, men det er nødvendig å ha minst én input-enhet for å sende informasjon (både program og data) inn til minnet og prosesseringenheten.! Output fra en datasmaskin kan også gå til en rekke ulike typer enheter som skjerm, nettverkskort, lydkort, harddisk, CD-ROM, DVD, magnettape, floppydisk etc.! Output-enheter har som input-enheter forskjellige karakteristika. En datamaskin ha minst én output-enhet. 9

Register Transfer Language (RTL)! Presis notasjon for å beskrive flytting av informasjon! Notasjon: [] Innholdet av N Registernavn Overføre, kopiere (innholdet av) () Hukommelsesmodul! Eksempel [IP] [IP] + [AX] [MAR] [BX] [MBR] [M([MAR])] Adder innholdet av AX til innholdet i IP Legg innholdet av lokasjonen som BX inneholder adressen til over i MBR 0

Eksekvering av instruksjoner Data Kontroll Register for instruksjonspeker; kalles også for PC (Program Counter) MAR Buss CTRL Logikk MBR A IP lagg IR Kontroll enhet rd wr add 5 store 6 stop 0 3 4 5 6 7 8 Dekoder

Beregne startadressen og øk programtelleren med : [IP] [IP] + 0 Buss CTRL Logikk MBR A 0 lagg IR Kontroll enhet rd wr add 5 store 6 stop 0 3 4 5 6 7 8 Dekoder

Last inn lokasjon 0 inn i MBR: [MBR] [M([MAR])] 0 Buss CTRL Logikk A lagg IR Kontroll enhet rd wr add 5 store 6 stop 0 3 4 5 6 7 8 Dekoder 3

Kopier instruksjonen over i instruksjonsregisteret: [IR] [MBR] 0 Buss CTRL Logikk A lagg Kontroll enhet rd wr add 5 store 6 stop 0 3 4 5 6 7 8 Dekoder 4

Hent ut instruksjonskoden fra instruksjonen og sett riktige verdier på kontrollsignaler: CU [IR(opcode)] 0 Buss CTRL Logikk A lagg Kontroll enhet rd wr add 5 store 6 stop 0 3 4 5 6 7 8 Dekoder 5

Utfør instruksjonen ved å gjøre følgende:! Hent ut adressen til operanden ved å dekode operandfeltet av instruksjonen: [MAR] [IR(operand-adressen)]! På samme måte som ved henting av instruksjonen hentes inn operanden (fra lokasjon 4 slik det er angitt i instruksjonen): [MBR] [M(4)]! Overfør innholdet fra MBR til register A: [A] [MBR] 6

Etter at instruksjonen er eksekvert: 4 Buss CTRL Logikk lagg Kontroll enhet rd wr add 5 store 6 stop 0 3 4 5 6 7 8 Dekoder 7

Utfør instruksjonen add 5 ved å gjøre følgende:! Hent ut adressen til operanden ved å dekode operandfeltet av instruksjonen: [MAR] [IR(operand-adressen)]! På samme måte som ved henting av instruksjonen hentes inn operanden (fra lokasjon 4 slik det er angitt i instruksjonen): [MBR] [M(5)] (NB: eil i læreboka)! Overfør operandene til ALUens to input: ALU [A];ALU [MBR]! Etter at addisjonen er utført må resultatet lagres i register A: [A] ALU 8

Etter at instruksjonen add 5 er eksekvert men før resultatet er lagret og flagg satt: 5 Buss CTRL Logikk lagg add 5 Kontroll enhet rd wr add 5 store 6 stop 0 3 4 5 6 7 8 Dekoder 9

Etter at resultatet er lagret og flagg satt: 5 Buss CTRL Logikk 3 lagg add 5 Kontroll enhet rd wr add 5 store 6 stop 0 3 4 5 6 7 8 Dekoder 0

Utfør instruksjonen store 6 ved å gjøre følgende:! Hent ut adressen til der resultatet skal skrives ved å dekode operandfeltet av instruksjonen: [MAR] [IR(operand-adressen)]! Kopier innholdet av A til MBR: [MBR] [A]! Kopier innholdet av MBR til lokasjon 6: [M(6)] [MBR]

Etter at store 6 er utført: 6 Buss CTRL Logikk 3 3 3 lagg store 6 Kontroll enhet rd wr add 5 store 6 stop 3 0 3 4 5 6 7 8 Dekoder

Ytelsesforbedring! To viktige teknikker for å øke hastigheten til en CPU er pipelining og cache! Pipelining: Starte eksekvering av en ny instruksjon hver klokkesykel! Cache: Egen type hurtigminne som nesten er like rask som interne registre, men med mye større kapasitet, dog ikke like mye som RAM! Dessuten benyttes også parallell-eksekvering benyttes også der det er mulig, spesielt internt i CPU-hardware (superskalare maskiner)! Men: En av de viktigste årsakene til at maskiner blir raskere er allikevel at transistorene blir mindre, trekker mindre strøm, og kan endre tilstand raskere 3

Pipelining! Kan sammenlignes med 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! orutsetningen for at pipelining er at hver enhet som utfører en del av en instruksjon arbeider uavhengig av de andre enhetene i pipelinen! Gitt en prosessor hvor hver instruksjon består av fire steg: ETCH (Hent instruksjon) DECODE (Dekod instruksjonen) EXECUTE (Utfør instruksjonen) WRITE BACK (Skriv resultatet til minne) 4

Pipelining (forts)! Antar at det finnes 4 uavhengige hardware-enheter som kan utføre hver av disse stegene uten å benytte de andre delene:! or eksempel skal ETCH ikke trenge å bruke EXECUTE-enheten for å hente en instruksjon eller variabel (men EXECUTE er avhengig av input fra DECODEsteget, og DECODE-steget er avhengig av input fra ETCH-steget osv)! Alle enhetene kunne jobbe i parallell, med hver sine steg fra ulike instruksjoner, uten å gå i beina på hverandre. 5

Uten pipelining Instruksjon Instruksjon Instruksjon 3 D E WB D E WB D E WB Med pipelining D E WB Instruksjon D E D WB E D Instruksjon WB Instruksjon 3 E WB Instruksjon 4 D E WB Instruksjon 5 Tid (klokke sykler)! Uten pipelining kan ETCH-steget til instruksjon først kan starte etter WRITE- BACK steget til instruksjon! Med pipelining starter ETCH-steget til instruksjon rett etter at ETCH-steget til instruksjon er ferdig 6

Uten pipelining Instruksjon Instruksjon Instruksjon 3 D E WB D E WB D E WB Med pipelining D E WB Instruksjon D E D WB E D Instruksjon WB Instruksjon 3 E WB Instruksjon 4 D E WB Instruksjon 5 Tid (klokke sykler)! Uten pipelining er det kun ett steg fra én instruksjon som prosesseres ad gangen i prosessoren.! Med pipelining er det opptil 4 steg fra forskjellige instruksjoner som prosesseres i parallell. I klokkesykel 4 utføres WRITE-BACK fra instruksjon, EXECUTE fra instruksjon 3, DECODE fra instruksjon 4 og ETCH fra instruksjon nummer 5 7

Uten pipelining Instruksjon Instruksjon Instruksjon 3 D E WB D E WB D E WB Med pipelining D E WB Instruksjon D E D WB E D Instruksjon WB Instruksjon 3 E WB Instruksjon 4 D E WB Instruksjon 5 Tid (klokke sykler)! Uten pipelining avsluttes en instruksjon hver fjerde klokkesykel.! Med pipelining er instruksjon ferdig etter 3. klokkesykel, instruksjon ferdig etter 4. klokkesykelosv. Mao: En instruksjon er ferdig hver klokkesykel. 8