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

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

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

! 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

INF2270. Datamaskin Arkitektur

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

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

Oppsummering digital-teknikk, teknikk, INF2270

Dagens tema. Flere teknikker for å øke hastigheten

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Intel Core i7. Omid Mirmotahari 4

INF1400 Kap4rest Kombinatorisk Logikk

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

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

Hvorfor lære om maskinvare*?

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

Forelesning 5. Diverse komponenter/større system

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

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

Datamaskinens virkemåte

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

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

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

Internminnet. Håkon Tolsby Håkon Tolsby

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:

TDT4160 AUGUST, 2008, 09:00 13:00

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

Datamaskinens oppbygning

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

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

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

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

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

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

Internminnet. Håkon Tolsby Håkon Tolsby

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Forelesning Instruksjonstyper Kap 5.5

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

Intel Core i7. Omid Mirmotahari 4

IN1020. Minnehierarki

NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

Fortsetelse Microarchitecture level

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

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

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

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

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

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

Hovedkort, brikkesett og busser

UNIVERSITETET I OSLO

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

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

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

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

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Kapittel 4: Microarchitecture level

INF2270. Minnehierarki

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

Hvorfor lære om maskinvaren*?

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

Forelesning 9. Registre, tellere og minne

INF2270. Input / Output (I/O)

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

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

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

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

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

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

INF2270. Input / Output (I/O)

TDT4160 OG IT2201 DATAMASKINER GRUNNKURS EKSAMEN

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

Minnehåndtering i operativsystemer

Forelesning Optimalisering av μark Kap 4.4

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

UNIVERSITETET I OSLO

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

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

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

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

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

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Notater: INF2270. Veronika Heimsbakk 10. juni 2014

Løsningsforslag eksamen TDT4160 høsten 2005

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Transkript:

Oppbygging av RAM Sentrale begreper er adresserbarhet og adresserom Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon (lese- eller skrive-operasjon). 9.. INF Antall bit som kan refereres til i én operasjon kalles CPU ens olengde, mens bit ene betraktet under ett kalles vanligvis et o. Dagems temaer Fra Kort De fleste CPU er kan også referere til halvo (halvparten antall bit i et o) Organisering Register kapittel i Computer Organisation and Architecture om hurtigminne (RAM) av CPU: von Neuman-modellen Transfer Language (RTL) Instruksjonseksekvering og byte ( bit). Pipelining Adresserom: Hvor mange unike o 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. 9.. INF D in D in D in D in Enable Adresserom: Antall bit linjer 9.. INF Oppbygging av RAM (forts.) adresselinjer kan adressere = o. adresselinjer kan adressere =,, o, dvs M o. adresselinjer kan adressere =,9,9,9 o, dvs G o NB: Ingen sammenheng mellom antall ulike o som kan adresseres, og antall bit i hvert o Men: Det er vanlig å angi minnestørrelse i antall byte istedenfor enn i antall o, 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 olengden, og m er antall adresselinjer bit bit bit bit a a bit bit bit bit a n bit bit bit bit D out D out D out D out Adresserbarhet: Antall bit horisontalt 9.. INF

9.. INF Implementasjon DRAM celle SRAM celle Von Neumann modellen Enkel modell fra slutten av 9-tallet for organisering av en datamaskin i fem ulike er: Input Hukommelse MAR MBR Output Prosesserings ALU TEMP PC IR Nesten alle dagens maskiner har denne organiseringen. 9.. INF Hukommelse Hukommelsen er koblet til resten gjennom adressebussen og databussen. Innholdet på adressebussen identifiserer et o i hukommmelsen (ved lesning skriving fra/til hukommelsen). 9.. INF Databussen transporterer bitmønsteret som enten er lest fra eller skal skrives inn til en bestemt lokasjon i hukommelsen. Ved lesing legges adressen til oet som skal leses først inn i MAR (Memory Address Register). Deretter blir oet 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-en og hukommelsen, dvs prosesseringsen forholder seg ved minneaksess kun til disse. Prosesseringsen Prosesseringsen 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å o av samme lengde som maskinens olengde, og spesial-operasjoner på byte og halvo. 9.. INF 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å DRAM

9.. INF 9 en en sørger for at styresignaler har riktig vei til rett tid, og styrer derfor hele datamaskinen. en 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. en styrer i tillegg input og output-er i større eller mindre grad, men en del kontrollfunksjoner er også distribuert og innebygget i de andre ene. Input og output (I/O) Inndata kan komme fra en rekke er som f.eks mus, tastatur, CD-ROM, DVD, skanner, USB-port, nettverkskort, floppydisk, hadisk etc. Input-er varierer i egenskaper som hastighet, størrelse/type data osv, men det er nødvendig å ha minst én input- for å sende informasjon (både program og data) inn til minnet og prosesseringen. Output fra en datasmaskin kan også gå til en rekke ulike typer er som skjerm, nettverkskort, lydkort, hadisk, CD-ROM, DVD, magnettape, floppydisk etc. Output-er har som input-er forskjellige karakteristika. En datamaskin må ha minst én output-. 9.. INF Register Transfer Language (RTL) Presis 9.. INF Data notasjon for å beskrive flytting av informasjon Notasjon: [] Innholdet av N Registernavn Overføre, kopiere (innholdet av) () Hukommelsesmodul Eksekvering av instruksjoner MAR Eksempel [IP] [IP] + [AX] Adder innholdet av AX til innholdet i IP [MAR] [BX] Legg innholdet av lokasjonen som BX [MBR] [M([MAR])] inneholder adressen til, over i MBR MBR A IP move add store IR Register for instruksjonspeker; kalles også for PC (Program Counter) 9.. INF

9.. INF Beregne startadressen og øk programtelleren med : [IP] [IP] + MBR A move add store IR Last inn lokasjon inn i MBR: [MBR] [M([MAR])] move A move add store IR 9.. INF Kopier instruksjonen over i instruksjonsregisteret: [IR] [MBR] move A move add store move 9.. INF Hent ut instruksjonskoden fra instruksjonen og sett riktige veier på kontrollsignaler: CU [IR(opcode)] 9.. INF move A move add store move

Etter at instruksjonen move er eksekvert: 9.. INF Utfør instruksjonen move 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 slik det er angitt i instruksjonen): [MBR] [M()] Overfør innholdet fra MBR til register A: [A] [MBR] move add store move 9.. INF Etter at instruksjonen add er eksekvert men før resultatet er lagret og flagg satt: Utfør instruksjonen add ved å gjøre følgende: Hent ut adressen til operanden ved å dekode operandfeltet av instruksjonen: [MAR] [IR(operand-adressen)] 9.. INF 9 På samme måte som ved henting av instruksjonen hentes inn operanden (fra lokasjon slik det er angitt i instruksjonen): [MBR] [M()] (NB: Feil 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 move add store add 9.. INF

9.. INF Etter at resultatet er lagret og flagg satt: move add store add Utfør instruksjonen store 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 : [M()] [MBR] 9.. INF Etter at store er utført: move add store store 9.. INF 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 9.. INF 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-haware (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

Pipelining 9.. INF Kan sammenlignes med samlebåndsproduksjon: Isteden for å vente til forrige instruksjon er feig eksekvert, setter man i gang neste instruksjon så fort som første steg av forrige instruksjon er feig. Med pipelining øker man antallet instruksjoner som blir feig eksekvert per tids, men: hver instruksjon tar fortsatt like lang tid Forutsetningen for at pipelining er at hver som utfører en del av en instruksjon arbeider uavhengig av de andre ene i pipelinen Gitt en prosessor hvor hver instruksjon består av fire steg: FETCH (Hent instruksjon) DECODE (Dekod instruksjonen) EXECUTE (Utfør instruksjonen) WRITE BACK (Skriv resultatet til minne) Pipelining (forts) 9.. INF Antar at det finnes uavhengige haware-er som kan utføre hver av disse stegene uten å benytte de andre delene: For eksempel skal FETCH ikke trenge å bruke EXECUTE-en for å hente en instruksjon eller variabel (men EXECUTE er avhengig av input fra DECODEsteget, og DECODE-steget er avhengig av input fra FETCH-steget osv) Alle ene kunne jobbe i parallell, med hver sine steg fra ulike instruksjoner, uten å gå i beina på hverandre. Uten pipelining Instruksjon Instruksjon Instruksjon F D E WB F D E WB F D E WB Med pipelining F D E WB Instruksjon F D E WB Instruksjon F D E WB Instruksjon F D E WB Instruksjon F D E WB Instruksjon 9.. INF Tid (klokke sykler) Uten pipelining kan FETCH-steget til instruksjon først kan starte etter WRITE- BACK steget til instruksjon Med pipelining starter FETCH-steget til instruksjon rett etter at FETCH-steget til instruksjon er feig Uten pipelining Instruksjon Instruksjon Instruksjon F D E WB F D E WB F D E WB Med pipelining F D E WB Instruksjon F D E WB Instruksjon F D E WB Instruksjon F D E WB Instruksjon F D E WB Instruksjon 9.. INF Tid (klokke sykler) Uten pipelining er det kun ett steg fra én instruksjon som prosesseres ad gangen i prosessoren. Med pipelining er det opptil steg fra forskjellige instruksjoner som prosesseres i parallell. I klokkesykel utføres WRITE-BACK fra instruksjon, EXECUTE fra instruksjon, DECODE fra instruksjon og FETCH fra instruksjon nummer

9 Uten pipelining Instruksjon Instruksjon Instruksjon F D E WB F D E WB F D E WB Med pipelining F D E WB Instruksjon F D E WB Instruksjon F D E WB Instruksjon F D E WB Instruksjon F D E WB Instruksjon 9.. INF Tid (klokke sykler) Uten pipelining avsluttes en instruksjon hver fjee klokkesykel. Med pipelining er instruksjon feig etter. klokkesykel, instruksjon feig etter. klokkesykelosv. Mao: En instruksjon er feig hver klokkesykel.