Oppsummering digital-teknikk, teknikk, INF2270

Like dokumenter
Repetisjon digital-teknikk. teknikk,, INF2270

Repetisjon. Sentrale temaer i kurset som er relevante for eksamen (Eksamen kan inneholde stoff som ikke er nevnt her)

Dagens tema. Flere teknikker for å øke hastigheten

INF1400. Karnaughdiagram

IN1020. Sekvensiell Logikk

INF1400. Sekvensiell logikk del 1

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

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

Forelesning 6. Sekvensiell logikk

INF2270. Boolsk Algebra og kombinatorisk logikk

INF1400. Sekvensiell logikk del 1

Forelesning 7. Tilstandsmaskin

IN1020. Logiske porter om forenkling til ALU

INF2270. Sekvensiell Logikk

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

Forelesning 3. Karnaughdiagram

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

Kapittel 5 Tilstandsmaskin

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

INF1400. Tilstandsmaskin

INF1400. Digital teknologi. Joakim Myrvoll 2014

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

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

INF1400. Tilstandsmaskin

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

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

Notater: INF2270. Veronika Heimsbakk 10. juni 2014

UNIVERSITETET I OSLO

IN1020. Minnehierarki

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. Dagens temaer er hentet fra P&P kapittel 3. Motivet for å bruke binær representasjon. Boolsk algebra: Definisjoner og regler

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.

Løsningsforslag i digitalteknikkoppgaver INF2270 uke 5 (29/1-4/2 2006)

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

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

Løsningsforslag INF1400 H04

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

Låsekretser (latch er) SR latch bygget med NOR S R latch bygget med NAND D latch. Master-slave D flip-flop JK flip-flop T flip-flop

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

UNIVERSITETET I OSLO

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

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

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:

INF1400. Kombinatorisk Logikk

INF1400 Kap4rest Kombinatorisk Logikk

Hva gikk vi gjennom forrige uke? Omid Mirmotahari 3

IN1020. Datamaskinarkitektur

INF1400. Kombinatorisk Logikk

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

Seksjon 1. INF2270-V16 Forside. Eksamen INF2270. Dato 1. juni 2016 Tid Alle trykte og skrevne hjelpemidler, og en kalkulator, er tillatt.

UNIVERSITETET I OSLO

Intel Core i7. Omid Mirmotahari 4

Ferdighetsmål: Kunne forenkle boolske uttrykk Kunne implementere flerinputs-porter med bare 2-inputs porter

Forelesning 5. Diverse komponenter/større system

INF2270. Datamaskin Arkitektur

INF1400 Kap 02 Boolsk Algebra og Logiske Porter

UNIVERSITETET I OSLO

Forelesning 2. Boolsk algebra og logiske porter

Forelesning 4. Binær adder m.m.

INF2270. Datamaskin Arkitektur

4 kombinatorisk logikk, løsning

INF2270. Minnehierarki

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

7. Hvilket alternativ (A, B eller C) representerer hexadesimaltallet B737 (16) på oktal form?

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

UNIVERSITETET I OSLO

LØSNINGSFORSLAG 2006

TFE4101 Krets- og Digitalteknikk Høst 2016

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

Intel Core i7. Omid Mirmotahari 4

Maskinvaredelen av INF 103: oversikt og innhold (1)

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

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

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

Datamaskiner og operativsystemer =>Datamaskinorganisering og arkitektur

Løsningsforslag til eksamen i INF2270

MAX MIN RESET. 7 Data Inn Data Ut. Load

Oppgave 2 Maskinkode (vekt 12%)

Oppgave 1 JK-flip-flop (Total vekt 20%)

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

Høgskoleni østfold EKSAMEN. Dato: Eksamenstid: kl til kl. 1200

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

SIE 4005, 2/10 (2. Forelesn.)

Øving 7: Løsningsforslag (frivillig)

Transkript:

Oppsummering digital-teknikk, teknikk, INF227 Grovt sett kan digital-teknikk-delen fordeles i tre: Boolsk algebra og digitale kretser Arkitektur (Von Neuman, etc.) Ytelse (Pipelineling, cache, hukommelse, etc.) 28 9.5.28 INF227 /43

Boolske funksjoner Tilordner en binær funksjon, F, en verdi bestemt av verdien påp en eller flere andre binære variabler Eksempel F = x + y' z ( = x + yz) 28 Direkte port-implementasjon: y y z 9.5.28 INF227 2/43

Sannhetsverditabell En boolsk funksjon kan visualiseres i en sannhetsverditabell Eksempel F = x y' z En gitt funksjon har kun en sannhetstabell + Men, en gitt sannhetsverditabell har uendelig mange funksjonsuttrykk x y z F 28 kan brukes til forenkling av funksjonsuttrykk 9.5.28 INF227 3/43

Teorem/postulatliste for Boolsk Algebra (regneregler som kan brukes til forenkling) x + = x x + x = x + y = y+x x + (y+z) = (x+y) + z x(y+z) = xy + xz x + x = x x + xy = x (x+y) = x y x = x xx = xy = yx x (yz) = (xy)z x + (yz) = (x+y)(x+z) x x = x x + = x = x(x+y) = x (xy) = x + y 28 9.5.28 INF227 4/43

Forenkling av uttrykk gir enklere port-implementasjon x y z x yz 28 xy xy x z 9.5.28 INF227 5/43

Generell designprosedyre (Kombinatoriske kretser). Bestem hvilke signal som er innganger og hvilke som er utganger 2. Sett opp sannhetsverditabell for alle inngangskombinasjoner 3. Generer funksjonsuttrykket ut fra sannhetsverditabellen 28 4. Tilpass /forenkle funksjonsuttrykket mot aktuelle porter 9.5.28 INF227 6/43

Karnaughdiagram - 4 variable Plassering av termer for 4-variable funksjoner Termene plasseres slik at kun variabel varierer i mellom hver vannrette/loddrette naborute 28 9.5.28 INF227 7/43

Grupperingsregler for diagram med 2-42 4 variable Gruppèrer rer naboruter som inneholder slik at vi får f r sammenhengende rektangler Antall ruter i hver gruppèring ring må være et multiplum av 2 (dvs., 2, 4, 8, etc.). Ytterkantene av diagrammet kan også være naboruter 28 Eksempel 9.5.28 INF227 8/43

Grupperingsregler for diagram med 2-42 4 variable Eksempel: 28 9.5.28 INF227 9/43

Utlesningsregler for diagram med 2-42 4 variable Representerer hver gruppe ved de variablene i gruppen som ikke varierer. Diagrammets funksjon blir summen av hvert gruppeledd: 28 Eksempel F = AD + CD +B C + AB 9.5.28 INF227 /43

Utlesning av ere Ved å lese ut de tomme rutene ( erne)( fra diagrammet får f r man F Dette kan noen ganger gi en enklere funksjon, eksempel: 28 F = yz + wx F = (yz + wx ) Hadde vi lest ut ere ville vi fått: f F = xy + w y + w z + xz 9.5.28 INF227 /43

Dekoder Dekoder tar inn et binært ord, gir ut alle kombinasjoner 28 Eksempel: 3bit inn / 8bit ut 9.5.28 INF227 2/43

Enkoder Enkoder motsatt av dekoder Eksempel: 8x3 enkoder Innganger Utganger 28 D D D 2 D 3 D 4 D 5 D 6 D 7 x y z x = D 4 + D 5 + D 6 + D 7 y = D 2 + D 3 + D 6 + D 7 z = D + D 3 + D 5 + D 7 Antar at det ikke eksisterer andre inngangskombinasjoner 9.5.28 INF227 3/43

MUX 28 Eksempel: 4-4 MUX Velger ut en av fire innganger 9.5.28 INF227 4/43

Binær r adderingskrets Halvadder (ikke mente inn) A B S C 28 Fulladder (evt. mente inn) A n B n S n C n+ C n 9.5.28 INF227 5/43

C n+ C n C Systemelementer: Halvadder: Tar ikke mente inn Fulladder: Tar mente inn Subtraksjon kan også enkelt implementeres (2-er komplement) Et adder-system A n A B + S = B n S n A B S 28 A 3 B 3 A 2 B 2 A B A B C 4 Full adder C 3 Full adder C 2 Full adder C Halv C = adder S 3 S 2 S S 9.5.28 INF227 6/43

Definisjoner, logiske kretser Kombinatorisk logikk Utgangsverdiene er entydig gitt av nåværende n kombinasjon av inngangsverdier Sekvensiell logikk Inneholder hukommelse (låsekretser/latcher, FlipFlops) 28 Utgangsverdiene er gitt av nåværende n kombinasjon av inngangsverdier, samt sekvensen (tidligere inngangs - /utgangsverdier) 9.5.28 INF227 7/43

SR Latch - funksjonell beskrivelse ) Kretsen skal sette Q til hvis den får f på inngang S.. Når N r inngang S går r tilbake til skal Q forbli på p S R Q 28 2) Kretsen skal resette Q til når r den får f på inngang R.. Når N r inngang R går r tilbake til skal Q forbli på p 3) Tilstanden på både S og R brukes normalt ikke SR S R Q låst 9.5.28 INF227 8/43

D Latch Dataflyten gjennom en D latch kontrolleres av et klokkesignal D latch: ) Slipper gjennom et digitalt signal så s lenge klokkeinngangen, clk, er (transparent) D Clk Q 28 2) I det øyeblikk klokkeinngangen går g r fra til låser utgangen seg på p sin nåværende n verdi. Forandringer på p inngangen vil ikke påvirke p utgangsverdien så s lenge klokkesignalet er 9.5.28 INF227 9/43

D-Latch Clk = : kretsen slipper gjennom signalet Clk = : kretsen holder (låser) utgangssignalet D Q 28 Clk D Clk Q Logisk verdi på p D i det øyeblikk Clk går r i fra til bestemmer verdien som holdes på p Q 9.5.28 INF227 2/43

Flip-Flop Flop er FlipFlop er kommer i to varianter: Positiv flanketrigget Negativ flanketrigget Hakk, indikerer flanketrigget På en positiv flanketrigget FlipFlop kan utgangen kun skifte verdi i det øyeblikk klokkesignalet går fra til. D Clk Q 28 På en negativ flanketrigget FlipFlop kan utgangen kun skifte verdi i det øyeblikk klokkesignalet går fra til. D Clk Q 9.5.28 INF227 2/43

En D latch er transparent for Clk= D Flip-Flop Flop D Q Clk D Clk Q 28 En positiv flanketrigget D FlipFlop holder/låser (sampler) verdien på p D i det øyeblikk Clk går fra til (positiv flanke). Denne verdien holdes fast på p utgangen helt til neste positive flanke D Q Clk D Clk 9.5.28 INF227 22/43 Q

JK Flip-Flop Flop En JK FlipFlop har følgende egenskaper J=,, K=: Utgang låst l J=,, K=: Resetter utgang til J=,, K=: Setter utgang til J=,, K=: Inverterer utgang Q Q Q Q 28 Utgangen kan kun forandre verdi på p stigende klokkeflanke En JK FlipFlop er den mest generelle FlipFloppen vi har J K Q låst Q 9.5.28 INF227 23/43

T Flip-Flop Flop Kretsoppbygging Grafisk symbol Q Q 28 Q Q 9.5.28 INF227 24/43

T Flip-Flop Flop En T FlipFlop har følgende egenskaper T=, Utgang låst Q T=, Inverterer utgang Q Q Q 28 Utgangen kan kun forandre verdi på stigende klokkeflanke Det er lett å lage tellere av T FlipFlop er T Q låst Q 9.5.28 INF227 25/43

Tilstandsmaskin En tilstandsmaskin er et sekvensielt system som gjennomløper et sett med tilstander styrt av verdiene på inngangssignalene Tilstanden systemet befinner seg i, pluss evt. inngangsverdier bestemmer utgangsverdiene Tilstandsmaskinskonseptet gir en enkel og oversiktlig måte å designe avanserte system på 28 Generell tilstands-maskin basert på p D flip-flops flops N-stk flip-flops flops gir 2N forskjellige tilstander Utgangssignalene er en funksjon av nåværende tilstand pluss evt. Inngangsverdier Se forelesningsnotater og ukeoppgaver 28. januar 9.5.28 INF227 26/43

Von Neuman-modellen modellen Enkel modell fra slutten av 94-tallet for organisering av en datamaskin Fem ulike enheter: 28 Nesten alle datamaskiner i dag har denne organiseringen. 9.5.28 INF227 27/43

Eksekvering av instruksjoner Adresse-buss Data-buss 28 Instruksjonsregister 9.5.28 INF227 28/43

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 det er mulig, spesielt internt i CPU-hardware (superskalare maskiner) 28 Men: En av de viktigste årsakene til at maskiner blir raskere er likevel at transistorene blir mindre, trekker mindre strøm, og kan endre tilstand raskere 9.5.28 INF227 29/43

Pipelining Kan sammenlignes med samlebåndsproduksjon: Isteden for å vente til forrige instruksjon er ferdig eksekvert, setter man i gang neste instruksjon så fort 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 Forutsetningen for pipelining er at hver enhet som utfører en del av en instruksjon arbeider uavhengig av de andre enhetene i pipelinen 28 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) 9.5.28 INF227 3/43

Pipelining (forts.) 28 Uten pipelining avsluttes en instruksjon hver fjerde klokkesykel. Med pipelining er instruksjon ferdig etter 3. klokkesykel, instruksjon 2 ferdig etter 4. klokkesykel, osv. Mao: En instruksjon er ferdig hver klokkesykel. 9.5.28 INF227 3/43

Utfordringer med pipelining Pipelining krever at alle stegene hver tar maksimalt en klokkesykel Spesielt utfordrende for instruksjoner med minneaksess Det forekommer tilfeller hvor man ikke kan starte en ny instruksjon hver klokkesykel og pipelinen må stoppe opp i en eller flere klokkesykler Kalles også for stalling Hovedårsaken til stalling er hasarder av ulike typer: Ressurshasarder Datahasarder Kontrollhasarder 28 9.5.28 INF227 32/43

Cache Ønsker så mye og rask hukommelse som mulig tilgjengelig for et program under eksekvering, både for instruksjoner og data Cache-minnet er logisk sett plassert mellom CPUen og RAM slik det er vist i figuren under: Innholdet i cache vil alltid være et subsett av innholdet i RAM Fysisk er cache enten integrert på CPU en eller plassert rett ved siden av (eller begge deler) 28 9.5.28 INF227 33/43

Cache (forts.) Kapasiteten til cache ligger i mellom det interne i CPUen og RAM. Typiske verdier er fra 8 KB til 2 MB (Finnes i flere nivåer kalt L, L2 og L3) Siden cache n er nesten like rask som CPUen, trenger ikke CPU en å stoppe opp og vente i mange klokkesykler på at RAM skal levere data. CPU en har ingen bevissthet om at det finnes cache og ser ikke forskjell på om data eller instruksjoner ligger i cache eller i RAM 28 CPUen får beskjed utefra (buss- eller cache-kontroller) når data er klare. Om CPUen venter eller klokkesykler spiller ingen rolle annet enn for hastigheten. 9.5.28 INF227 34/43

Read/write hit/miss Cache-kontrolleren må håndetere 4 tilstander av aksess av cache Read hit Det skal leses fra hukommelsen og blokken med ordet befinner seg i cache Data leveres med en gang fra cache til CPU en Read miss Det skal leses fra hukommelsen, men blokken det skal leses fra er ikke i cache Cache-kontrolleren må bestemme 28 Hvilken blokk i cache som kan/skal overskrives Kopiere inn riktig blokk fra RAM til cache Levere ordet til CPU en Ved begge read-operasjoner vil innholdet i RAM og innholdet i kopien av blokkene i cache være identiske OK 9.5.28 INF227 35/43

Read/write hit/miss (forts.) Write hit Det skal skrives til hukommelsen og blokken med lokasjonen det skal skrives til ligger i cache Data skrives til riktig lokasjon i blokken i cache Write miss Det skal skrives til hukommelsen og blokken med lokasjonen det skal skrives til ligger ikke i cache 28 Cache-kontrolleren må bestemme: Hvilken blokk i cache som kan/skal overskrives Kopiere inn riktig blokk fra RAM til cache Besørge skriving til riktig lokasjon i cache Ved begge write-operasjoner vil ikke innholdet i RAM og innholdet i kopien av blokkene i cache være identiske ikke OK 9.5.28 INF227 36/43

Mer om write hit/miss Hvis det bare skrives til cache og ikke RAM, vil ikke RAM inneholde gyldige data Hvis en blokk det er skrevet til kastes ut fordi cache er full, mister man data To strategier benyttes for å håndtere write-operasjonen korrekt: Write-through: Etter hver gang det skrives til en blokk, skrives innholdet i blokken også tilbake til RAM 28 Fordel: Ulempe: Enkelt å implementere i cache-kontrolleren Hvis det skal skrives flere ganger rett etter hverandre til samme blokk må prosessoren vente mellom hver gang 9.5.28 INF227 37/43

Mer om write hit/miss Write-back Innholdet i en blokk i cache kopieres kun tilbake til RAM hvis blokken skal overskrives i cache og det har blitt skrevet til den i cache For raskt å detektere om en blokk har blitt skrevet til benyttes et kontroll-bit i cache (kalles dirty-bit et) Fordel: Gir ingen hastighetsreduksjon ved flere påfølgende write-operasjoner til samme blokk siden CPU en ikke trenger vente mellom hver skriving 28 Ulempe: Hvis det skal skrives flere ganger rett etter hverandre til samme blokk må prosessoren vente mellom hver gang. Hvis arkitekturen støtter direkte lesing/skriving mellom RAM og Input/Outputenheter uten å gå via CPU en (kalt Direct memory Access eller DMA), risikerer man inkonsistente data hvis ikke DMA-kontrolleren kommuniserer med cachekontrolleren 9.5.28 INF227 38/43

Look-aside arkitektur () Cache er plassert parallelt med RAM (system-interface) Både RAM og cache leser adresselinjene samtidig 28 9.5.28 INF227 39/43

Look-aside arkitektur (2) Når prosessoren starter en lesing, sjekker cache adressen (snooping) for å se om det er en read hit Hvis read hit : Cache svarer prosessoren og stopper videre buss-syklus for å hindre lesing fra hovedminnet (RAM) Hvis read miss : Hovedminnet (RAM) vil besvare henvendelsen fra prosessoren. Cache snarfer data slik at de er i cache neste gang prosessoren ber om dem. 28 Fordeler: Ulempe Mindre komplisert enn look-through Bedre responstid (RAM og CPU ser samme buss-syklus) Prosessoren kan ikke aksessere cache hvis en annen enhet aksesserer RAM samtidig 9.5.28 INF227 4/43

Look-through arkitektur () Cache sitter fysisk mellom CPU og internbussen Cache-kontrolleren vil avgjøre om buss-syklus skal slippe videre til RAM. 28 9.5.28 INF227 4/43

Look-through arkitektur (2) Når prosessoren starter en minne-aksess vil cache-kontolleren sjekke om det er en read-hit Hvis read hit Cache leverer data til prosessoren uten aksess til hovedminnet Hvis read miss Buss-syklusen sendes videre til hovedminnet Hovedminnet (RAM) vil besvare henvendelsen fra prosessoren. Cache snarfer data slik at de er i cache neste gang prosessoren ber om dem 28 Fordeler: Ulemper Prosessoren er isolert fra resten av systemet og kan jobbe uavhengig (viktig i flerprosessor systemer) Mer komplisert siden cache-kontrolleren må håndtere all minneaksess Tregere ved cache-miss siden cache og RAM sjekkes i sekvens 9.5.28 INF227 42/43

Ellers Annen hukommelse som har blitt beskrevet: RAM ROM Virtuell hukommelse Ellers I/O (kommunikasjon, avbrudd, polling, etc.) 28 Superskalare prosessorer Detaljer rundt arkitektur og cache-struktur for Intel-prosessorene er hovedsaklig orienterende stoff, men veldig relevant. Ikke minst til assembler-delen i kurset. Husk at alt av forelesningsmateriale og ukeoppgaver er pensum, ikke bare den delen av stoffet som ble presentert i dag 9.5.28 INF227 43/43