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

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

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

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

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

INF1400 Kap4rest Kombinatorisk Logikk

Forelesning 5. Diverse komponenter/større system

Repetisjon digital-teknikk. teknikk,, INF2270

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 læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form

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:

UNIVERSITETET I OSLO

INF2270. Sekvensiell Logikk

INF2270. Datamaskin Arkitektur

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

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

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

IN1020. Logiske porter om forenkling til ALU

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

INF1400. Kombinatorisk Logikk

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

INF2270. Datamaskin Arkitektur

LØSNINGSFORSLAG 2006

Forelesning 4. Binær adder m.m.

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK, LF DIGITALTEKNIKKDELEN AV EKSAMEN (VERSJON 1)

INF2270. Boolsk Algebra og kombinatorisk logikk

Intel Core i7. Omid Mirmotahari 4

IN1020. Datamaskinarkitektur

INF1400. Kombinatorisk Logikk

ITPE2400/DATS2400: Datamaskinarkitektur

Forelesning 6. Sekvensiell logikk

INF1400. Sekvensiell logikk del 1

Intel Core i7. Omid Mirmotahari 4

Forelesning 7. Tilstandsmaskin

4 kombinatorisk logikk, løsning

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

Oppgave 2 Maskinkode (vekt 12%)

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK

INF1400. Tilstandsmaskin

IN1020. Sekvensiell Logikk

Kapittel 5 Tilstandsmaskin

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

INF1400. Sekvensiell logikk del 1

Løsningsforslag til eksamen i INF2270

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK

Oppsummering digital-teknikk, teknikk, INF2270

Datamaskiner og operativsystemer =>Datamaskinorganisering og arkitektur

INF1400. Tilstandsmaskin

Forelesning Instruksjonstyper Kap 5.5

Løsningsforslag INF1400 H04

UNIVERSITETET I OSLO

Forelesning 9. Registre, tellere og minne

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

5 E, B (16) , 1011 (2) Danner grupper a' fire bit , (2) Danner grupper a' tre bit 1 3 6, 5 4 (8)

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Oppgave 1 (Flanke- og nivåstyrte vipper)

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. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Kort repetisjon fra forrige gang. Kombinatorisk logikk

UNIVERSITETET I OSLO

INF3340/4431. Tilstandsmaskiner

TDT DESEMBER, 2008, 09:00 13:00

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

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

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

Notater: INF2270. Veronika Heimsbakk 10. juni 2014

INF3340/4340. Synkrone design Tilstandsmaskiner

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Kapittel 4: Microarchitecture level

Synkron logikk. Sekvensiell logikk; to typer:

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

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

Digitalstyring sammendrag

INF3340. Tilstandsmaskiner

EKSAMEN Emnekode: ITD13012

UNIVERSITETET I OSLO

TFE4101 Krets- og Digitalteknikk Høst 2016

Avdelingfor ingeniørutdanning

INF1400. Digital teknologi. Joakim Myrvoll 2014

TDT4160 AUGUST, 2008, 09:00 13:00

Løsningsforslag til regneøving 6. a) Bruk boolsk algebra til å forkorte følgende uttrykk [1] Fjerner 0 uttrykk, og får: [4]

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

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

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Kombinatorisk og synkron logikk. Kapittel 4

Øving 1: Busser, adressemodi, multiplekser og styreord

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

MAX MIN RESET. 7 Data Inn Data Ut. Load

TDT4160 OG IT2201 DATAMASKINER GRUNNKURS EKSAMEN

Maskinvaredelen av INF 103: oversikt og innhold (1)

Hvorfor lære om maskinvare*?

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

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

Transkript:

SIE 4005, 2/10 (2. Forelesn.) Første forelesning: 7.1 Datapaths and operations 7.2 Register Transfer operations 7.3 Microoperations (atitm., logic, shift) 7.4 MUX-based transfer 7.5 Bus-based transfer 7.6 Datapaths Andre forelesning: litt repetisjon 7.7 Arithmetic / Logic unit 7.8 The Shifter 7.9 Datapath representation 7.10 The control word 7.11 Pipelined datapath (?) Forelesningsnotater i elektronisk form skal legges på www..

7.6 DATAPATHS, side 357 I stedet for at hvert enkelt register utfører mikrooperasjoner direkte er det ofte hensiktsmessig å ha et antall registre som interagerer med en felles aritmetisk / logisk enhet ( ALU ) Kombinasjonen av registre, delt ALU og logikk for sammenkopling danner da datapath en. (Datapath + kontroll = CPU) En enkel buss-basert datapath med 4 registre, ALU, og shifter shifter er vist i figur 7-9.

Komponenter i DATAPATH fra figur 7-9. Hvert register er koplet til to MUXer som gir ALU og shifter inngangene Buss A og Buss B. A select og B select på MUXene velger ett register for korresponderende buss. Buss B har ekstra MUX for evt konstanter fra utsiden. Buss B kopler også til Data out, for evt å sende data til andre komponenter i syst. (eks memory, I/O). Tilsvarende er buss A koplet til Address out. G select velger mikrooperasjon som skal utføres av ALU. Shift operasjoner utføres på operander på buss B, av shifter. MUX D velger mellom Data in eller utgang av MUX F. Destination select og Load enable benyttes for å plassere resultat i ønsket register. 4 status bit : C(arry), N(egative), Z(ero) og V for overflow.

Kontrollinnganger for R1 R2 + R3 utført av datapath i figur 7-9. A select slik at innhold i R2 plasseres på A data og dermed buss A B select slik at innhold i R3 havner på 0- inngangen på MUX B. MB select slik at R3 havner på buss B. G select slik at operasjon som utføres blir A + B. MF select slik at utgangen av ALU rutes gjennom MUX F. MD select slik at utgangssignaler fra MUX F havner på buss D. Destination select slik at resultatet havner på inngangen av R1. Load enable slik at R1 kan lastes med resultatet. Signalene må dessuten settes tidlig i klokkesyklen, slik at når neste positive klokkeflanke kommer så er resultatet klart til å lastes i destinasjonsregisteret.

7.7 ARITMETISK / LOGISK ENHET (side 360) ALU utfører et sett av basis aritmetiske og logiske mikrooperasjoner. I fig. 7-10 er en typisk n-bit ALU, med datainnganger A og B, hver på n bit, og en data utgang, G, på tilsvarende antall bit. Carry in og Carry out kommer i tillegg. S0 og S1 spesifiserer den aktuelle aritmetiske eller logiske operasjonen. S2 benyttes for å velge mellom enten aritmetiske eller logiske operasjoner.

Aritmetisk enhet (s. 361) Basiskomponent er en n-bit parallell adderer. Ved å kontrollere datainngangene til addereren kan kretsen utføre ulike aritmetiske funksjoner gitt i tabell 7-7. G=X+Y+C in (n-bit ordbredde) Innganger og utganger er inkluderte i figur 7-10 av ALU. Eks.: S 1 =S 0 =1 Y= bare 1ere. Dvs Y=2er komplement representasjon for 1. Hvis C in =0 girdetteg=a 1+0=A-1 (dekrement)

Implementasjon av logikk for B-inngang fra figur 7-11 Til venstre i figur 7-12 a) er alle mulige kombinasjoner av innganger til B input logic fra figur 7-11. Fra tabell 7-7 vet vi at Y i =0 når S 1 =S 0 =0, uavhengig av hva B inng. måtte være. Y i =B i når S 1 =0 og S 0 =1 (fra tab. 7-7). (Det gir rad 3 og 4 i sannhetstab.) Utgangen Y i kan dermed plasseres i Karnaughdiagrammet som vist i fig. 7-12 b). Etter forenkling: Y i =B i S 0 +B i S i

Mulig logisk diagram for aritmetisk enhet fra fig. 7-11 s. 361 i 4-bit versjon. Y i =B i S 0 +B i S 1

Logic unit for de 4 vanligst brukte logiske operasjonene AND, OR, XOR, NOT (De andre kan avledes av disse.) Logisk krets i figur 7-14 består av 4 gater og en 4-1 multiplexer (MUX). Utgangene fra de logiske portene påtrykkes hver sin inngang på MUX. S 0 S 1 velger en av de 4 funksjonene på MUX utgangen. For n bit repeteres kretsstrukturen n ganger.

ALU: Aritmetisk enhet + logisk enhet + MUX (s. 365) Dette er analogt med kretsen i figur 7-10, side 360.

Aritmetisk enhet og logisk enhet pluss MUX ALU S 1 og S 0 kan være felles seleksjonslinjer forutsatt at en tredje benyttes. C in har ingen effekt for logiske operasjoner og er derfor indikert med X. Logikk kunne ha vært forenklet. Færre logiske nivå reduksjon i forsinkelsestid. Carry lookahead adder er aktuelt for å oppnå raskere aritmetikk.

Kombinatorisk shifter, n=4 (7-8, side 366.) S=00: uforandret, S=01: right shift, S=10: left-shift Right shift fyller posisjon lengst til venstre med verdien I R. Left shift fyller posisjonen lengst til høyre med verdien I L. Serielle utganger er tilgjengelige fra Serial output L og Serial output R. Shifting m > 1 posisjoner tar m klokkesykler. Eksempel på left og right shift i tabell 7-5, s. 350.

Barrel Shifter, n= 4 bit (Kap. 7-8, figur 7-16 s. 366) 0101010101 En Barrel shifter er en kombinatorisk krets som roterer input data bit ene med det antall posisjoner som er spesifisert av binær verdi satt av seleksjonslinjene. Den i fig. 7-17 roterer til venstre. S 1 S 0 =00; ikke shift, dvs data rett til utgang. S 1 S 0 =01; rotering en posisjon, med D 0 til Y 1,D 1 til Y 2,D 2 til Y 3 og D 3 til Y 0.

Barrel shifter (Kap. 7-8, tabell 7-9, s. 368) S 1 S 0 =00; ikke shift, dvs data rett til utgang. S 1 S 0 =01; rotering en posisjon, med D 0 til Y 1,D 1 til Y 2,D 2 til Y 3 og D 3 til Y 0. Alle ønskede høyrerotasjoner kan genereres også, siden feks rotasjon 3 plasser til venstre gir samme resultat som rotasjon 1 plass til høyre. For store n blir fan-in for stor slik at store B. S. Består av lag av MUXer eller spesielle strukturer designet på transistornivå.

Datapath representation (kap. 7-9, fig. 7-18 s. 369) Ved å bevege oss oppover i den hierarkiske beskrivelsen av datapath en fra fig. 7-9, s. 359, kan den betraktes som i fig. 7-18 s. 369. Dette medfører reduksjon i den tilsynelatende kompleksiteten. Vanligvis 32 registre eller mer for computer. Et sett av registre som kan ha felles µop utført på seg organiseres gjerne ienregister file. Register file er typisk et raskt minne som tillater at flere ord kan leses ( read ) og skrives ( write ) samtidig. ALU, Shifter og MUX F fra fig. 7-9 er satt sammen i Function unit i fig. 7-18.

Litt mer om signaler og funksjonalitet knytte til datapath i figur 7-18. (7-18, s. 369) Pga registerfilens likhet med minne er A select, B select og Destination inputs (fra datapath i fig. 7-9 s. 359) blitt til tre addresser. A addressen aksesserer et ord som lastes på A data. B addressen aksesserer et ord som lastes på B data. D addressen aksesserer et ord som skrives til fra D data. Alle disse aksessene skjer i samme klokkesyklus. Write input korresponderer med Load Enable fra fig. 7-9. G select, H select MF select fra fig 7-9 er slått sammen til FS (5 linjer/bit).

FS koder og resulterende mikrooperasjoner (kap. 7-9, tab. 7-10 s. 370) MF select er kodet i bit lengst til venstre i FS. Bitkoder for G select finnes i bit 2 (fra venstre) til og med 5 i FS. Bitkoder for H select finnes i bit 2 og 3 i FS. Hvis MF select = 0 er det G select (4 bit) som avgjør funkjsonalitet på utgangen av funksjonsenheten, og i motsatt fall (MF select =1) avgjør H select.

Spesifikk variant av datapath fra fig 7-18 (kap. 7-10, fig. 7-19, s. 370) Seleksjonsvariabler kontrollerer mikrooperasjoner som utføres i løpet av en klokkesyklus. (lesing av data fra register file, funksjon utført av functional unit. 8 registre, R0 til R7. 17 binære kontrollinnganger som kombinert spesifiserer et kontrollord ( control word ), bestående av 7 felter ( fields ) (vist nederst i fig. 7-19). Når det påtrykkes inngangene spesifiserer kontrollordet en bestemt mikrooperasjon.

Funksjoner for kontrollkoder innbakt i kontrollordet (kap. 7-10, tabell 7-11, s. 373) Symbolsk notasjon og binærkode for hvert felt ( field ) i kontrollordet (for datapath i fig. 7-18 s. 369). For DA, AA, og BA korresponderer desimal ekvivalent og binær kode.

Eksempel: kontrollord for R1 R2 + R3 + 1 (vha tabell 7-11 s. 373) Rekkefølge for felter i kontrollord: DA, AA, BA, MB, FS, MD, RW FS: 00101 RW:1 Destinasjon R1:, dvs DA=001 Vi skal ikke ha eksterne data inn, så MD=0. R2 på A-buss krever AA=010 R3 på B-buss gir BA=011. Skal ikke ha konstant utenfra inn på B-buss, så MB=0. Det binære kontrollordet for (subtraksjons-) operasjonen blir: 00101001100010101

Eksempel: kontrollord for R4 sl R6 (vha tabell 7-11 s. 373) Rekkefølge for felter i kontrollord: DA, AA, BA, MB, FS, MD, RW FS: 11000 RW:1 Destinasjon R4:, dvs DA=100 Vi skal ikke ha eksterne data inn, så MD=0. R6 på B-buss gir BA=110 A-buss brukes ikke og derfor kan bare 0er benyttes; AA=000 (Se boka s. 373). Skal ha verdi fra B-data, så MB=0. Det binære kontrollordet for (subtraksjons-) operasjonen blir: 100 000 110 0 11000 0 1

Eksempler på mikrooperasjoner for datapath (kap. 7-10, tabell 7-12 og tab. 7-13 s. 374) For enkelhets skyld tilordner vi 0er til ethhvert ubenyttet felt når kontrollordet formuleres. (eks:aaforr4 sl R6 ) Når data skal gjøres tilgjengelige kun for ekstern destinasjon kan vi sette RW=0. (eks: Data out R3) For å ta inn en konstant, sett MB=1. (eks: R1 R0 + 2) Sette et register til 0: Kan gjøres ved å sette buss D til kun 0er ved å benytte samme register for både A data og B data med FS=01100 og MD=0. (eks: R5 0)

7.10 THE CONTROL WORD (side 375) Tilsvarer kjøring av programmet i tab. 7-13. Antall bit i hvert register er 8. Antatt at hvert register initielt er dets nummer hexadesimalt. Øverst klokkesignalet, deretter kommer innganger til datapathen etterfulgt av registerinnhold. Til slutt kommer status bit, Address oyt og Data out. Merk at disse skifter samtdig med registerverdiene, noe som indikerer lite kombinatorisk forsinkelse i forhold til klokkeperioden. Endringer i registre som resultat av en bestemt mikrooperasjon skjer i klokkeperioden etter den mikrooperasjonen er spesifisert i. Dette skjer pga at resultatet lastes inn i flip-floper på positiv flanke av klokken ved enden av første klokkesyklus. På den annen side endres Status bit, Address out og Data out i samme klokkeperiode siden de ikke er avhengige av å ventepåklokkepuls.

7.11 PIPELINED DATAPATH (side 376)

7.11 PIPELINED DATAPATH (KAP. 7-11, S. 377) Tidsforbruk datapath til venstre: 3ns+1ns+4ns+1ns+3ns =12ns, dvs maksimal frekvens 83.3 MHz. Introduserer registre ( pipelining / samlebåndsprinsippet ) som bryter opp utregningen i deloppgaver som tar mindre tid. Maksimalt flip-flop til flip-flop forsinkelse blir da 5 ns. Maksimal frekvens på 200 MHz tillates.

7.11 PIPELINED DATAPATH (side 380) Pipelining innført på datapath. OBS: Registerfilen splittet.

7.11 PIPELINED DATAPATH (side 381) Eksempel på utførelse av operasjoner. En operasjon ( i form av OF+EX+WB) trenger ikke være ferdig før den neste startes. Øket frekvens for et lite tillegg i HW.