Maskinvaredelen av INF 103: oversikt og innhold (1)

Like dokumenter
Dagens temaer. Intern hukommelse (1) Maskinvaredelen av INF 103: oversikt og innhold (2) 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)

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

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

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

Oppsummering av digitalteknikkdelen

Datamaskinens virkemåte

INF2270. Datamaskin Arkitektur

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. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and

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

INF2270. Datamaskin Arkitektur

INF1400 Kap4rest Kombinatorisk Logikk

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

Forelesning 5. Diverse komponenter/større system

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

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

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

Datamaskinens oppbygning

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

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

TDT4160 AUGUST, 2008, 09:00 13:00

Hvorfor lære om maskinvare*?

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

Forelesning Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B

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

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

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Forelesning Adresseringsmodi Kap 5.4

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

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

UNIVERSITETET I OSLO

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

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

IN1020. Datamaskinarkitektur

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:

Minnehåndtering i operativsystemer

Dagens tema. Flere teknikker for å øke hastigheten

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

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

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

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

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

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

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

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

Forelesning Instruksjonstyper Kap 5.5

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

Oppsummering digital-teknikk, teknikk, INF2270

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Intel Core i7. Omid Mirmotahari 4

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

Internminnet. Håkon Tolsby Håkon Tolsby

UNIVERSITETET I OSLO

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

Fortsetelse Microarchitecture level

Løsningsforslag eksamen TDT4160 høsten 2005

Kapittel 4: Microarchitecture level

INF2270. Input / Output (I/O)

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

TDT DESEMBER, 2008, 09:00 13:00

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Forelesning ISA-nivået Kap 5.1

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

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

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

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Innhold. Oppgave 1 Oversettelse (vekt 15%)

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

Internminnet. Håkon Tolsby Håkon Tolsby

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

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

IN1020. Minnehierarki

Generell informasjon

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

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

Øving 1: Busser, adressemodi, multiplekser og styreord

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

Hovedkort, brikkesett og busser

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

Repetisjon digital-teknikk. teknikk,, INF2270

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.

Martin Olsen, Lars- Petter Ahlsen og Jon- Håkon Rabben

Dark Stakkmaskin. Aritmetiske instruksjoner

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

Transkript:

Maskinvaredelen av INF 3: oversikt og innhold () Boolsk algebra: Regning 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 minnekretser von Neuman modellen: Generisk CPU Organisering og design av CPU Oppbygging av en virkelig CPU 3.9.23 INF 3

Maskinvaredelen av INF 3: oversikt og innhold (2) Moderne datamaskiner Diverse knep, triks og metoder som brukes Input/output Transport av data ut og inn av datamaskiner Periferutstyr Harddisker, DVD, CD-ROM Pentium og PowerPC CPU er To av de vanligste CPU-typene Bruker bottom-up tilnærming: Enkle deler settes sammen til større og mer kompliserte enheter. Kan være litt vanskelig å få oversikten til å begynne med! 3.9.23 INF 3 2

Dagens temaer Dagens emner er hentet fra Patt & Patel kapittel 4 og 5 (side 75-4): Intern hukommelse (RAM) Organisering av CPU: von Neuman-modellen Komponenter i von Neuman Utføring av Instruksjoner LC-2 arktiekturen i mer detalj 3.9.23 INF 3 3

Intern hukommelse () Viktig å forstå hvordan hurtigminnet (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. Eksempel De fleste maskiner kan adressere 32 bit i hukommelsen ad gangen, m.a.o. 32-bits ordlengde. De fleste CPU er kan også referere til halvord (halvparten antall bit i et ord) og byte (8 bit). Nye CPU er (f.eks Pentium 4) har 64 bits ordlengde. 3.9.23 INF 3 4

Intern hukommelse (2) Adresserom: Antall ord en CPU kan referere til totalt. Adresserommet er bestemt av antall adresselinjer CPU en har. En adresselinje er et digitalt signal som brukes til å velge lagerlokasjoner. Eksempel Med 8 adresselinjer kan man adressere 2 8 =256 ulike ord. Med 28 adresselinjer kan man adressere 2 28 =268,435,456 ulike ord, dvs 256 M ord. Med 32 adresselinjer kan man adressere 2 32 =4,294,967,296 ulike ord, dvs 4 G ord Ingen sammenheng mellom antall ulike ord som kan adresseres, og antall bit i hvert ord. OBS: Vanlig å angi minnestørrelse i antall byte istedenfor enn i antall ord! 3.9.23 INF 3 5

Intern hukommelse (3) RAM er en matrise av lagerceller hvor man velger rader og kolonner for skriving/lesing Enable D 3 in D 2 in D in D in a a a n Dekoder bit bit bit bit bit bit bit bit Adresserom: Antall rader bit bit bit bit D 3 out D 2 out D out D out Adresserbarhet: Antall kolonner 3.9.23 INF 3 6

von Neuman-modellen Oppdeling av en datamaskin i fem mindre enheter: ) Hukommelse 2) Prosesseringsenhet 3) Input 4) Output 5) Kontollenhet Nesten alle moderne datamaskiner bygget opp med disse funksjonelle enhetene. Input Hukommelse MAR MDR Output Prosesseringsenhet TEMP ALU PC Kontrollenhet IR 3.9.23 INF 3 7

Hukommelse Hukommelsesenheten er forbundet til resten av datamaskinen 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 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 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 inn i MDR. MAR og MDR er grensesnittet mellom prosesseringsenheten og hukommelsen, dvs prosesseringsenheten skriver/leser ikke direkte fra hukommelsen. 3.9.23 INF 3 8

Prosesseringsenheten Prosesseringsenheten består av en eller flere ALU er og midlertidig lagerceller (registre). ALU en utfører aritmetiske og logiske beregninger på variable som ligger i registrene, og til å beregne adresser under programutførelse ALU en arbeider på ord av samme lengde som maskinens 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) Moderne prosessorer bruker en egen ALU for å gjøre adresseberegninger (adresse til neste instruksjon). 3.9.23 INF 3 9

Kontrollenhet Kontrollenheten sørger for at styresignaler har riktig verdi til rett tid. Kontrollenheten inneholder blant annet 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 også input og output-enheter. En del kontrollfuksjoner er distribuert og innebygget i de andre enhetene. 3.9.23 INF 3

Input og output (I/O) Input kan komme fra en rekke enheter som f.eks mus, tastatur, CD-ROM, DVD, skanner, nettverkskort, floppydisk, harddisk osv. En datamaskin må ha minst én input-enhet for å sende informasjon (både program og data) til CPUen. Output kan sendes til skjerm, nettverk, lydkort, harddisk, CD-ROM, DVD, magnettape, floppydisk etc. Datamaskin ha minst én output-enhet for å presentere resultater fra beregninger. Ulike I/O enheter har svært forskjellige egenskaper (hastighet, datatype, størrelse) avhengig av bruksområde. 3.9.23 INF 3

LC-2 fra et von Neuman perspektiv 3.9.23 INF 3 2

Instruksjonseksekvering () I en von Neuman-maskin ligger både instruksjoner og data i samme hukommelse og er kun bitmønstre sett utenfra. Kontroll-enheten holder rede på om et område inneholder variable eller instruksjoner. Informasjon om dette finnes i instruksjonen som eksekveres: En instruksjon deles opp to felt: opkode (også kalt operasjonskode) og operander. Opkoden bestemmer hvilken instruksjon det er, og hvordan operand-feltet skal tolkes. I LC-2 prosessoren ligger opkoden i bit 5-2, m.a.o er det plass for å lagre i alt 6 ulike instruksjonstyper. Hver instruksjonstype kan ha flere varianter, og disse er da bestemt av hva som ligger i operand-feltet. 3.9.23 INF 3 3

Instruksjonseksekvering (2) Eksempel: ADD-instruksjonen (type ) DR = SR + SR2 Bitposisjon innen instruksjonen 5 2 9 8 6 5 4 3 2 DR SR SR2 Opkode = ADD Source register Instruksjonen har 2 source-registre Source register 2 ADD-instruksjonen (type 2) DR = SR+SignExt (Imm) Bitposisjon innen instruksjonen 5 2 9 8 6 5 4 DR SR Imm Opkode = ADD Destinasjonsregister Destinasjonsregister Source register Operand # 2 ligger i Imm(ediate)-feltet Operand # 2 ligger lagret direkte her 3.9.23 INF 3 4

Instruksjonseksekvering (3) Når en instruksjon skal utføres, deles den opp i flere mindre steg som utføres etter hverandre. Ikke alle instruksjoner trenger like mange steg for å eksekveres. Hvert enkelt steg deles opp i mindre steg som utføres sekvensielt. I LC-2-prosessoren består en instruksjonssyklus av følgende faser: ) Hent instruksjonen 2) Dekod instruksjonen 3) Beregn adresse 4) Hent operander 5) Eksekver 6) Lagre resultatet 3.9.23 INF 3 5

) Hent Instruksjonen Neste instruksjon hentes fra hukommelsen og plasseres i IntruksjonsRegisteret: ) PC kopieres over i MAR 2) PC økes med 3) Hukommelsen aksesseres og innholdet i lokasjonen pekt på av MAR plasseres i MDR 4) MDR kopieres over i IR 2) Dekod instruksjonen Kontrollenheten dekoder opkode-feltet for å finne ut hvilken instruksjon som skal eksekveres (én av i alt 6). Styre- og kontrollsignaler for å lese interne registre, utføre riktig instruksjon i ALU etc gis riktig verdier. Dekodingsoperasjonen utføres i ett steg. 3.9.23 INF 3 6

3) Beregn adresse Ved Load/Store eller Jump, kan det være nødvendig å addere et offset til base-adressen for å finne riktig lokasjon. Dette skjer i såfall i denne fasen. 4) Hent operander Avhengig av instruksjonstypen, lastes enten riktig adresse inn i MAR (som fører til at innholdet av operanden blir lagt i MDR), eller styresignaler settes s.a innholdet av interne registrene sendes til ALUen 5) Eksekver instruksjonen ALU en utfører selve operasjonen, f.eks ADD eller AND. Ikke alle instruksjoner har dette steget (f.eks LDR) 6) Lagre resultatet Resultatet fra steg 5 skrives tilbake til et register eller til hukommelsen hvis instruksjonen var av type Store (ST). 3.9.23 INF 3 7

Instruction Set Architecture ISA (Instruction Set Architecture) er grensesnittetet en programmerer ser mot maskinvaren, og definerer funksjoner som er tilgjengelig for programmer (assembler, operativsystem og applikasjonser). ISA definerer også instruksjonstyper, adresseringsmodi, minneorganisering og registersett. LC-2 er svært enkel med 6 registre, 6-bits ordlengde og 3 hovedtyper instruksjoner med i alt 6 instruksjoner. LC-2 kan adressere ialt 64 M ord à 6 bit, dvs 28 KB. Instruksjonene er enten av typen ) Aritmetisklogiske, 2) Hopp eller 3) Dataflytting LC-2 har 3 ett-bits statusregistre N, Z og P som angir om verdien som skrives til et register er negativt, null eller positivt. LC-2 har fem ulike adresseringsmodi (beregning av adressen til en variabel eller operand) 3.9.23 INF 3 8

Registeradressering Operanden(e) ligger i et register (registre). Registernummeret (eller numerene) er en del av instruksjonen: Eksempel ADD DR, SR, SR2 5 2 9 8 6 5 4 3 2 DR SR SR2 3.9.23 INF 3 9

Umiddelbar adressering Brukes for å beregne en adresse (i RAM) og laste den inn i et register. 5 2 9 8 6 5 4 3 2 Reg NR Offset Adressen beregnes relativt til programtelleren Beregningen skjer i to steg: ) De øvre 7 bitene av adressen til instruksjonen konkateneres med konstanten på 9 bit som ligger som en del av instruksjonen. 2) Den framkomne verdien lastes inn i registeret spesifisert av instruksjonen: Eksempel PC IR R5 3.9.23 INF 3 2

Direkte adressering Adressen til en operand (i RAM) er en del av instruksjonen 5 2 9 8 6 5 4 3 2 Reg NR Offset Adressen beregnes relativt til programtelleren Beregningen av adressen skjer i to steg: ) De øvre 7 bitene av adressen til instruksjonen konkateneres med konstanten på 9 bit som ligger som en del av instruksjonen. 2) Den framkomne verdien brukes som adresse til der man skal lese fra (eller skrive til). PC IR MAR R6 RAM MDR 3.9.23 INF 3 2

Indirekte adressering Ved indirekte adressering beregnes adressen til lokasjonen som inneholder adressen til operanden 5 2 9 8 6 5 4 3 2 Reg NR Offset Beregningen skjer i to steg: ) Den. adressen som for direkte adressering. 2) På den fremkomne adressen ligger adressen som man skal bruke som operand: PC IR MAR RAM R3 MDR 3.9.23 INF 3 22

Base+offset adressering 6-bits konstant verdi (del av instruksjonen) legges til innholdet i et baseregister (spesifisert av instruksjonen) for å finne adressen til operanden 5 2 9 8 6 5 Reg Reg 2 Offset Offset-verdien er kun positiv, og zero-extension gjør om offset til et 6-bits tall (fylles kun på med er til venstre) IR + R MAR R6 RAM MDR 3.9.23 INF 3 23

Det finner mange flere varianter av disse grunnleggende adressemodi Mer om adressering 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 6 bit. 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 6 bit. Dette 3.9.23 INF 3 24

Utvidet LC-2 arkitektur 3.9.23 INF 3 25