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

Like dokumenter
Maskinvaredelen av INF 103: oversikt og innhold (1)

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)

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

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

INF2270. Datamaskin Arkitektur

Oppsummering av digitalteknikkdelen

Datamaskinens virkemåte

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

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

Forelesning 5. Diverse komponenter/større system

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

INF1400 Kap4rest Kombinatorisk Logikk

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

INF2270. Datamaskin Arkitektur

Datamaskinens oppbygning

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

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

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

Forelesning Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

IN1020. Datamaskinarkitektur

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

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

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

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

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

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:

Intel Core i7. Omid Mirmotahari 4

UNIVERSITETET I OSLO

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

TDT4160 AUGUST, 2008, 09:00 13:00

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Hvorfor lære om maskinvare*?

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

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

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

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

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

Dagens tema. LC-2 LC-2 er en «ekstrem-risc»; den har 16 instruksjoner og 3 adresseringsmåter.

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

Generell informasjon

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

UNIVERSITETET I OSLO

Forelesning Adresseringsmodi Kap 5.4

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

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

Fortsetelse Microarchitecture level

Forelesning Instruksjonstyper Kap 5.5

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

Løsningsforslag eksamen TDT4160 høsten 2005

Kapittel 4: Microarchitecture level

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

INF2270. Input / Output (I/O)

Internminnet. Håkon Tolsby Håkon Tolsby

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

Minnehåndtering i operativsystemer

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Dagens tema. Flere teknikker for å øke hastigheten

Repetisjon digital-teknikk. teknikk,, INF2270

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

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

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

Oppsummering digital-teknikk, teknikk, INF2270

Innhold. Oppgave 1 Oversettelse (vekt 15%)

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

Forelesning ISA-nivået Kap 5.1

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

NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

Dark Stakkmaskin. Aritmetiske instruksjoner

Internminnet. Håkon Tolsby Håkon Tolsby

INF-103 Fra brukergrensesnitt til maskinvare

UNIVERSITETET I OSLO

INF-103. Velkommen til. Første time. Fra brukergrensesnitt til maskinvare. eller Datamaskinen på tvers. Andre time

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

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

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

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

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

Dagens tema. Datamaskinenes historie. De første moderne datamaskiner. Løsning. Menneskene har alltid prøvd å lage maskiner for å løse sine problemer.

Intel Core i7. Omid Mirmotahari 4

TDT4258 Eksamen vår 2013

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

Dark load-store-maskin

TDT DESEMBER, 2008, 09:00 13:00

INF2270. Input / Output (I/O)

Dagens tema. Rask-maskinen. Rasko-kode Raskas-kode. Litt datamaskinhistorie Registre og lagre Instruksjoner

En overikt. Dagens tema. Datamaskinenes historie. Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner. Rasko-kode.

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

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

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

Transkript:

Maskvaredelen av INF 3: oversikt og nhold () Boolsk algebra: Regng med og, og AND, OR og NOT Analyse og design av logiske kretser: AND, OR og NOT som byggeblokker Hukommelse og sekvensiell logikk: Konstruksjon av RAM og mnekretser von Neuman modellen: Generisk CPU Organiserg og design av CPU Oppbyggg av en virkelig CPU Maskvaredelen av INF 3: oversikt og nhold () Moderne datamasker Diverse knep, triks og metoder som brukes Input/put Transport av data ut og n av datamasker Periferutstyr Harddisker, DVD, CD-ROM Pentium og PowerPC CPU er To av de vanligste CPU-typene Bruker bottom-up tilnærmg: Enkle deler settes sammen til større og mer kompliserte enheter. Kan være litt vanskelig å få oversikten til å begynne med! 3..3 INF 3 3..3 INF 3 Dagens temaer Dagens emner er hentet fra Patt & Patel kapittel 4 og (side 7-4): Intern hukommelse (RAM) Organiserg av CPU: von Neuman-modellen Komponenter i von Neuman Utførg av Instruksjoner LC- arktiekturen i mer detalj Intern hukommelse () Viktig å forstå hvordan hurtigmnet (RAM) fungerer for å skjønne hvordan CPU en er designet. Sentrale begreper er adresserbarhet og adresserom Adresserbarhet: Antall bit som kan refereres til eller aksesseres samtidig i én operasjon. Antall bit som kan refereres til i én operasjon kalles CPU ens ordlengde, og kalles gjerne et ord. De fleste masker kan adressere 3 bit i hukommelsen ad gangen, m.a.o. 3-bits ordlengde. De fleste CPU er kan også referere til halvord (halvparten antall bit i et ord) og byte ( bit). Nye CPU er (f.eks Pentium 4) har 4 bits ordlengde. 3..3 INF 3 3 3..3 INF 3 4

Intern hukommelse () Adresserom: Antall ord en CPU kan referere til totalt. Intern hukommelse (3) RAM er en matrise av lagerceller hvor man velger rader og kolonner for skrivg/lesg Adresserommet er bestemt av antall adresseljer CPU en har. D 3 Enable D D D En adresselje er et digitalt signal som brukes til å velge lagerlokasjoner. Med adresseljer kan man adressere = ulike ord. Med adresseljer kan man adressere =,43,4 ulike ord, dvs M ord. Med 3 adresseljer kan man adressere 3 =4,4,7, ulike ord, dvs 4 G ord a a a n Dekoder bit bit bit bit bit bit bit bit bit bit bit bit Adresserom: Antall rader Ingen sammenheng mellom antall ulike ord som kan adresseres, og antall bit i hvert ord. OBS: Vanlig å angi mnestørrelse i antall byte istedenfor enn i antall ord! D 3 D D D Adresserbarhet: Antall kolonner 3..3 INF 3 3..3 INF 3 von Neuman-modellen Oppdelg av en datamask i fem mdre enheter: ) Hukommelse ) Prosessergsenhet 3) Input 4) Output ) Kontollenhet Nesten alle moderne datamasker bygget opp med disse funksjonelle enhetene. Hukommelse Hukommelsesenheten er forbundet til resten av datamasken gjennom adressebussen og databussen. Adressebussen identifiserer en lokasjon eller et ord i hukommmelsen. Databussen transporterer bitmønsteret som skal leses fra/skrives til hukommelsen. Ved lesg legges adressen til ordet som skal leses først n i MAR (Memory Address Register). Deretter blir ordet som er lest fra hukommelsen lagt over i (Memory Data Register). Input PC Hukommelse MAR Prosessergsenhet TEMP ALU Kontrollenhet IR Output Ved skrivg legges adressen til lokasjonen det skal skrives til i MAR, mens bitmønsteret som skal skrives n i hukommelsen legges n i. MAR og er grensesnittet mellom prosessergsenheten og hukommelsen, dvs prosessergsenheten skriver/leser ikke direkte fra hukommelsen. 3..3 INF 3 7 3..3 INF 3

Prosessergsenheten Kontrollenhet Prosessergsenheten består av en eller flere ALU er og midlertidig lagerceller (registre). Kontrollenheten sørger for at styresignaler har riktig verdi til rett tid. ALU en utfører aritmetiske og logiske beregnger på variable som ligger i registrene, og til å beregne adresser under programutførelse ALU en arbeider på ord av samme lengde som maskens ordlengde, og spesial-operasjoner på byte og halvord. Siden ALU en skriver/leser til/fra registre blir CPUen mer effektiv med mange registere (trege RAM-celler behøves sjeldnere) Kontrollenheten neholder blant annet to registre kalt programteller (PC) og struksjonsregister (IR). Programtelleren neholder adressen til neste struksjon som skal utføres. Instruksjonsregisteret neholder struksjonen som eksekveres i øyeblikket. Kontrollenheten styrer også put og put-enheter. Moderne prosessorer bruker en egen ALU for å gjøre adresseberegnger (adresse til neste struksjon). En del kontrollfuksjoner er distribuert og nebygget i de andre enhetene. 3..3 INF 3 3..3 INF 3 Input og put (I/O) LC- fra et von Neuman perspektiv Input kan komme fra en rekke enheter som f.eks mus, tastatur, CD-ROM, DVD, skanner, nettverkskort, floppydisk, harddisk osv. En datamask må ha mst én put-enhet for å sende formasjon (både program og data) til CPUen. Output kan sendes til skjerm, nettverk, lydkort, harddisk, CD-ROM, DVD, magnettape, floppydisk etc. Datamask ha mst én put-enhet for å presentere resultater fra beregnger. Ulike I/O enheter har svært forskjellige egenskaper (hastighet, datatype, størrelse) avhengig av bruksområde. 3..3 INF 3 3..3 INF 3

Instruksjonseksekverg () I en von Neuman-mask ligger både struksjoner og data i samme hukommelse og er kun bitmønstre sett utenfra. Kontroll-enheten holder rede på om et område neholder variable eller struksjoner. Informasjon om dette fnes i struksjonen som eksekveres: En struksjon deles opp to felt: opkode (også kalt operasjonskode) og operander. Instruksjonseksekverg () : ADD-struksjonen (type ) DR = SR + SR Opkode = ADD Bitposisjon nen struksjonen DR SR Source register Instruksjonen har source-registre SR Source register Opkoden bestemmer hvilken struksjon det er, og hvordan operand-feltet skal tolkes. I LC- prosessoren ligger opkoden i bit -, m.a.o er det plass for å lagre i alt ulike struksjonstyper. Hver struksjonstype kan ha flere varianter, og disse er da bestemt av hva som ligger i operand-feltet. 3..3 INF 3 3 ADD-struksjonen (type ) DR = SR+SignExt (Imm) Opkode = ADD Destasjonsregister Destasjonsregister Bitposisjon nen struksjonen DR Source register SR Imm 3..3 INF 3 4 Operand # ligger i Imm(ediate)-feltet 4 Operand # ligger lagret direkte her Instruksjonseksekverg (3) Når en struksjon skal utføres, deles den opp i flere mdre steg som utføres etter hverandre. Ikke alle struksjoner trenger like mange steg for å eksekveres. Hvert enkelt steg deles opp i mdre steg som utføres sekvensielt. I LC--prosessoren består en struksjonssyklus av følgende faser: ) Hent struksjonen ) Dekod struksjonen 3) Beregn adresse 4) Hent operander ) Eksekver ) Lagre resultatet ) Hent Instruksjonen Neste struksjon hentes fra hukommelsen og plasseres i IntruksjonsRegisteret: ) PC kopieres over i MAR ) PC økes med 3) Hukommelsen aksesseres og nholdet i lokasjonen pekt på av MAR plasseres i 4) kopieres over i IR ) Dekod struksjonen Kontrollenheten dekoder opkode-feltet for å fne ut hvilken struksjon som skal eksekveres (én av i alt ). Styre- og kontrollsignaler for å lese terne registre, utføre riktig struksjon i ALU etc gis riktig verdier. Dekodgsoperasjonen utføres i ett steg. 3..3 INF 3 3..3 INF 3

3) Beregn adresse Ved Load/Store eller Jump, kan det være nødvendig å addere et offset til base-adressen for å fne riktig lokasjon. Dette skjer i såfall i denne fasen. 4) Hent operander Avhengig av struksjonstypen, lastes enten riktig adresse n i MAR (som fører til at nholdet av operanden blir lagt i ), eller styresignaler settes s.a nholdet av terne registrene sendes til ALUen ) Eksekver struksjonen ALU en utfører selve operasjonen, f.eks ADD eller AND. Ikke alle struksjoner har dette steget (f.eks LDR) ) Lagre resultatet Resultatet fra steg skrives tilbake til et register eller til hukommelsen hvis struksjonen var av type Store (ST). Instruction Set Architecture ISA (Instruction Set Architecture) er grensesnittetet en programmerer ser mot maskvaren, og deferer funksjoner som er tilgjengelig for programmer (assembler, operativsystem og applikasjonser). ISA deferer også struksjonstyper, adressergsmodi, mneorganiserg og registersett. LC- er svært enkel med registre, -bits ordlengde og 3 hovedtyper struksjoner med i alt struksjoner. LC- kan adressere ialt 4 M ord à bit, dvs KB. Instruksjonene er enten av typen ) Aritmetisklogiske, ) Hopp eller 3) Dataflyttg LC- har 3 ett-bits statusregistre N, Z og P som angir om verdien som skrives til et register er negativt, null eller positivt. LC- har fem ulike adressergsmodi (beregng av adressen til en variabel eller operand) 3..3 INF 3 7 3..3 INF 3 Registeradresserg Operanden(e) ligger i et register (registre). Umiddelbar adresserg Brukes for å beregne en adresse (i RAM) og laste den n i et register. Registernummeret (eller numerene) er en del av struksjonen: Reg NR Adressen beregnes relativt til programtelleren ADD DR, SR, SR DR SR SR Beregngen skjer i to steg: ) De øvre 7 bitene av adressen til struksjonen konkateneres med konstanten på bit som ligger som en del av struksjonen. ) Den framkomne verdien lastes n i registeret spesifisert av struksjonen: PC IR R 3..3 INF 3 3..3 INF 3

Direkte adresserg Adressen til en operand (i RAM) er en del av struksjonen Reg NR Adressen beregnes relativt til programtelleren Indirekte adresserg Ved direkte adresserg beregnes adressen til lokasjonen som neholder adressen til operanden Reg NR Beregngen skjer i to steg: ) Den. adressen som for direkte adresserg. Beregngen av adressen skjer i to steg: ) De øvre 7 bitene av adressen til struksjonen konkateneres med konstanten på bit som ligger som en del av struksjonen. ) Den framkomne verdien brukes som adresse til der man skal lese fra (eller skrive til). ) På den fremkomne adressen ligger adressen som man skal bruke som operand: PC IR PC MAR RAM IR MAR R3 R RAM 3..3 INF 3 3..3 INF 3 Base+offset adresserg -bits konstant verdi (del av struksjonen) legges til nholdet i et baseregister (spesifisert av struksjonen) for å fne adressen til operanden -verdien er kun positiv, og zero-extension gjør om offset til et -bits tall (fylles kun på med er til venstre) IR R Reg Reg + Det fner mange flere varianter av disse grunnleggende adressemodi Mer om adresserg ved gjennomgang av CPU er senere i kurset. Kommentar: Utvidelse av fortegn (sign-extension) Hvis konstanten er positiv (bit et lengst til venstre er ), kan man bare fylle på med til venstre for konstanten helt til man får bit. MAR R RAM Hvis bit et lengst til venstre i konstanten er, betyr det at konstanten er negativ, og man må da fylle på med helt til man får bit. Dette 3..3 INF 3 3 3..3 INF 3 4

Utvidet LC- arkitektur 3..3 INF 3