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

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

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

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

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

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

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

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

Dagens tema. Flere teknikker for å øke hastigheten

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

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

Hvorfor lære om maskinvare*?

IN1020. Datamaskinarkitektur

Oppsummering digital-teknikk, teknikk, INF2270

INF1400 Kap4rest Kombinatorisk Logikk

Forelesning 5. Diverse komponenter/større system

Datamaskinens oppbygning

Internminnet. Håkon Tolsby Håkon Tolsby

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

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

TDT4160 AUGUST, 2008, 09:00 13:00

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

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

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

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

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:

Datamaskinens virkemåte

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

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

Intel Core i7. Omid Mirmotahari 4

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

Internminnet. Håkon Tolsby Håkon Tolsby

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

IN1020. Minnehierarki

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

Forelesning Instruksjonstyper Kap 5.5

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

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

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

Hovedkort, brikkesett og busser

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Intel Core i7. Omid Mirmotahari 4

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

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 )

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

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

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

! Repetisjon: ! Forutsetinger: ! Ideelt sett gir en k-trinns pipeline en faktor k i hastighetsøkning. ! Benyttes derimot ekte pipelining, behøves

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

INF2270. Minnehierarki

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

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

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

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

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

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

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

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

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

Minnehåndtering i operativsystemer

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

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

Hvorfor lære om maskinvaren*?

Fortsetelse Microarchitecture level

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Oppgave 2 Maskinkode (vekt 12%)

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

UNIVERSITETET I OSLO

Innhold. Oppgave 1 Oversettelse (vekt 15%)

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

INF2270. Input / Output (I/O)

TDT DESEMBER, 2008, 09:00 13:00

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

Hvordan en prosessor arbeider, del 1

INF2270. Input / Output (I/O)

TDT4160 OG IT2201 DATAMASKINER GRUNNKURS EKSAMEN

UNIVERSITETET I OSLO

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Forelesning 9. Registre, tellere og minne

Forelesning Optimalisering av μark Kap 4.4

UNIVERSITETET I OSLO

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

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

TDT4258 Eksamen vår 2013

Transkript:

agems temaer Oppbygging av RAM! ra kapittel i Computer Organisation and Architecture! Kort om hurtigminne (RAM)! Organisering av CPU: von Neuman-modellen! Register Transfer Language (RTL)! Instruksjonseksekvering! Pipelining! 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 olengde, mens bit ene betraktet under ett kalles vanligvis et o.! e fleste CPU er kan også referere til halvo (halvparten antall bit i et o) og byte ( bit).! 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 Oppbygging av RAM (forts.)! adresselinjer kan man adressere = o.! adresselinjer kan man adressere =,, o, dvs M o.! adresselinjer kan man 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: et er vanlig å angi minnestørrelse i antall byte istedenfor enn i antall o, dvs hvor mange megabyte eller gigabyte hukommelsen har a a a n nable in in in in bit bit bit bit bit bit bit bit bit bit bit bit Adresserom: Antall bit linjer! 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 Adresserbarhet: Antall bit horisontalt

Von Neumann modellen! nkel modell definert på slutten av 9-tallet for organisering av en datamaskin i fem ulike er: Input Hukommelse MAR MBR Prosesserings TMP ALU Output Hukommelse! Hukommelsen er koblet til resten gjennom adressebussen og databussen.! Innholdet på adressebussen identifiserer et o i hukommmelsen (ved lesning skriving fra/til hukommelsen).! atabussen 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). eretter blir oet som er lest fra hukommelsen lagt over i MBR (Memory Buffer Register). MBR kalles også MR (Memory ata Register) PC! 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.! Nesten alle dagens maskiner har denne organiseringen.! MAR og MBR er grensesnittet mellom prosesserings-en og hukommelsen, dvs prosesseringsen forholder seg kun til disse ved minneaksess Prosesseringsen en! 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! en sørger for at styresignaler har riktig vei til rett tid, og styrer derfor hele datamaskinen.! ALU en utfører gjerne operasjoner på o av samme lengde som maskinens olengde, og spesial-operasjoner på byte og halvo.! 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! e fleste prosessorer bruker en dedikert ALU for å gjøre adresseberegninger (f.eks hente neste instruksjon og finne adresser ved hoppinstruksjoner).! en inneholder bl.a. to registre kalt programteller (PC) og instruksjonsregister ().! Programtelleren inneholder adressen til neste instruksjon som skal utføres.! Instruksjonsregisteret inneholder instruksjonen som eksekveres i øyeblikket.! en styrer i tillegg input og put-er i større eller mindre grad, men en del kontrollfunksjoner er også distribuert og innebygget i de andre ene.! Registre bygges med -flipflop er, mens resten av RAM/cache er bygget opp med en annen type teknologi basert på lagring av elektriske ladninger (kondensatorer)

Input og put (I/O) Register Transfer Language (RTL)! Inndata kan komme fra en rekke er som f.eks mus, tastatur, C-ROM, V, 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, C-ROM, V, magnettape, floppydisk etc.! Presis notasjon for å beskrive flytting av informasjon! Notasjon: [] Innholdet av N Registernavn Overføre, kopiere (innholdet av) () Hukommelsesmodul! Output-er har som input-er forskjellige karakteristika. n datamaskin ha minst én put-.! ksempel [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 9 ksekvering av instruksjoner ata Beregne startadressen og øk programtelleren med : [IP] [IP] + Register for instruksjonspeker; kalles også for PC (Program Counter) MAR MBR A IP add store lagg MBR A add store lagg

Last inn lokasjon inn i MBR: [MBR] [M([MAR])] Kopier instruksjonen over i instruksjonsregisteret: [] [MBR] A add store lagg A add store lagg Hent ut instruksjonskoden fra instruksjonen og sett riktige veier på kontrollsignaler: CU [(opcode)] A add store lagg Utfør instruksjonen ved å gjøre følgende:! Hent ut adressen til operanden ved å dekode operandfeltet av instruksjonen: [MAR] [(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]

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

Utfør instruksjonen store ved å gjøre følgende:! Hent ut adressen til der resultatet skal skrives ved å dekode operandfeltet av instruksjonen: [MAR] [(operand-adressen)]! Kopier innholdet av A til MBR: [MBR] [A]! Kopier innholdet av MBR til lokasjon : [M()] [MBR] tter at store er utført: add store store lagg Ytelsesforbedring Pipelining! To viktige teknikker for å øke hastigheten til en CPU er pipelining og cache! Kan sammenlignes med samlebåndsproduksjon:! Pipelining: Starte eksekvering av en ny instruksjon hver klokkesykel! Cache: gen type hurtigminne som nesten er like rask som interne registre, men med mye større kapasitet, dog ikke like mye som RAM! essuten benyttes også parallell-eksekvering benyttes også der det er mulig, spesielt internt i CPU-haware (superskalare maskiner)! Men: n av de viktigste årsakene til at maskiner blir raskere er allikevel at transistorene blir mindre, trekker mindre strøm, og kan endre tilstand raskere! 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! orutsetningen 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: TCH (Hent instruksjon) CO (ekod instruksjonen) XCUT (Utfør instruksjonen) WRIT BACK (Skriv resultatet til minne)

Pipelining (forts) Uten pipelining Instruksjon Instruksjon Instruksjon! Antar at det finnes uavhengige haware-er som kan utføre hver av disse stegene uten å benytte de andre delene:! or eksempel skal TCH ikke trenge å bruke XCUT-en for å hente en instruksjon eller variabel (men XCUT er avhengig av input fra COsteget, og CO-steget er avhengig av input fra TCH-steget osv)! Alle ene kunne jobbe i parallell, med hver sine steg fra ulike instruksjoner, uten å gå i beina på hverandre. Med pipelining Instruksjon Instruksjon Instruksjon Instruksjon Instruksjon Tid (klokke sykler)! Uten pipelining kan TCH-steget til instruksjon først kan starte etter WRIT- BACK steget til instruksjon! Med pipelining starter TCH-steget til instruksjon rett etter at TCH-steget til instruksjon er feig Uten pipelining Instruksjon Instruksjon Instruksjon Uten pipelining Instruksjon Instruksjon Instruksjon Med pipelining Med pipelining Instruksjon Instruksjon Instruksjon Instruksjon Instruksjon Instruksjon Instruksjon Instruksjon Instruksjon Instruksjon 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 WRIT-BACK fra instruksjon, XCUT fra instruksjon, CO fra instruksjon og TCH fra instruksjon nummer! Uten pipelining avsluttes en instruksjon hver fjee klokkesykel. Tid (klokke sykler)! Med pipelining er instruksjon feig etter. klokkesykel, instruksjon feig etter. klokkesykelosv. Mao: n instruksjon er feig hver klokkesykel.