IN1020. Logiske porter om forenkling til ALU

Like dokumenter
INF2270. Boolsk Algebra og kombinatorisk logikk

INF1400. Karnaughdiagram

INF1400. Kombinatorisk Logikk

Forelesning 3. Karnaughdiagram

INF1400. Kombinatorisk Logikk

Repetisjon digital-teknikk. teknikk,, INF2270

Hva gikk vi gjennom forrige uke? Omid Mirmotahari 3

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

INF1400 Kap 02 Boolsk Algebra og Logiske Porter

Forelesning 2. Boolsk algebra og logiske porter

Forelesning 4. Binær adder m.m.

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

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

Forelesning 5. Diverse komponenter/større system

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

INF1400 Kap4rest Kombinatorisk Logikk

INF1400. Digital teknologi. Joakim Myrvoll 2014

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

INF2270. Datamaskin Arkitektur

INF2270. Datamaskin Arkitektur

UNIVERSITETET I OSLO

VLSI (Very-Large-Scale-Integrated- Circuits) it Mer enn porter på samme. LSI (Large-Scale-Integrated-Circuits)

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

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

Oppsummering digital-teknikk, teknikk, INF2270

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)

TFE4101 Krets- og Digitalteknikk Høst 2016

4 kombinatorisk logikk, løsning

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

UNIVERSITETET I OSLO

Datamaskiner og operativsystemer =>Datamaskinorganisering og arkitektur

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

INF2270. Sekvensiell Logikk

UNIVERSITETET I OSLO

TFE4101 Krets- og Digitalteknikk Høst 2016

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

UNIVERSITETET I OSLO

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

IN1020. Sekvensiell Logikk

Notater: INF2270. Veronika Heimsbakk 10. juni 2014

V.17. Sven Åge Eriksen. Referanse:

EKSAMEN Emnekode: ITD13012

NY EKSAMEN Emnekode: ITD13012

INF1400. Sekvensiell logikk del 1

ITPE2400/DATS2400: Datamaskinarkitektur

Løsningsforslag INF1400 H04

INF1400. Sekvensiell logikk del 1

Emnenavn: Datateknikk. Eksamenstid: 3 timer. Faglærer: Robert Roppestad. består av 5 sider inklusiv denne forsiden, samt 1 vedleggside.

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Forelesning 7. Tilstandsmaskin

Løsningsforslag til 1. del av Del - EKSAMEN

Kapittel 5 Tilstandsmaskin

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK

INF1400. Tilstandsmaskin

MIK 200 Anvendt signalbehandling, Lab. 5, brytere, lysdioder og logikk.

INF1400. Tilstandsmaskin

kl 12:00 - mandag 31. mars 2008 Odde: uke 11 (12. mars 2008) Utlevert: fredag 7. mars 2008 Like: uke 13 (26. mars 2008) Regneøving 4

UNIVERSITETET I OSLO

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

EKSAMEN (Del 1, høsten 2014)

INF1400 Kap 1. Digital representasjon og digitale porter

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

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK

Datateknikk TELE1004-A 13H HiST-AFT-EDT. Oppgåve 1. Delemne digitalteknikk og datakommunikasjon Øving 2; løysing

SIE 4005, 8/10 (3. Forelesn.)

Høgskoleni østfold EKSAMEN. Emnekode: Emne: ITD13012 Datateknikk (deleksamen 1, høstsemesteret) Dato: Eksamenstid: kl til kl.

Forelesning 6. Sekvensiell logikk

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK Fredag 21. mai 2004 Tid. Kl

PENSUM INF1400 H11. Joakim Myrvoll Johansen. Digital Design, M. Morris Mano, 4th edition

MAX MIN RESET. 7 Data Inn Data Ut. Load

Digitalstyring sammendrag

HiST-AFT-EDT Digitalteknikk EDT001T-A 11H

EKSAMEN (Del 1, høsten 2015)

Løsningsforslag til 1. del av Del - EKSAMEN

Det matematisk-naturvitenskapelige fakultet

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

, ~', -~ lalle trykte og skrevne hjelpemidler. I Kalkulator som ikke kan kommunisere med andre.

Løsningsforslag til eksamen i INF2270

VEILEDNING TIL LABORATORIEØVELSE NR 4

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

Prosent- og renteregning

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

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

Løsningsforslag til regneøving 4

LØSNINGSFORSLAG 2006

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Tall. Binære regnestykker. Binære tall positive, negative heltall, flytende tall

Andre funksjoner som NAND, NOR, XOR og XNOR avledes fra AND, To funksjoner er ekvivalente hvis de for alle input-kombinasjoner gir

- - I Aile trykte og skrevne. samt kalkulator

Datamaskinens oppbygning

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

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Rapport. Lab 1. Absoluttverdikrets - portkretser

RAPPORT LAB 3 TERNING

Intel Core i7. Omid Mirmotahari 4

Dataveier og optimalisering. Kapittel 9

Transkript:

IN2 Logiske porter om forenkling til ALU

Hovedpunkter Utlesing av sannhetsverdi-tabell; Max og Min-termer Forenkling av uttrykk med Karnaugh diagram Portimplementasjon Kretsanalyse Adder og subtraktor design Generell Black-box design/tankesett Enkoder og Dekoder Multiplexer og DeMultiplexer ALU Datapath

Minterm I en funksjon kan en binær variabel x opptre som x eller x En funksjon kan være gitt på sum av produkt form Eksempel: F = xy + xy + x Hvert produktledd som inneholder alle variablene kalles en minterm. For to variable finnes det 4 forskjellige mintermer: xy + xy + x y + x y For 3 variable finnes det 2 3 forskjellige mintermer Omid Mirmotahari 4

Maksterm En funksjon kan være gitt på produkt av sum form Eksempel: F = (x+y)(x+y )y Hvert summeledd som inneholder alle variablene kalles en maksterm For to variable finnes det 4 forskjellige makstermer: (x+y) (x+y ) (x +y) (x +y ) For n variable finnes det 2 n forskjellige makstermer Omid Mirmotahari 5

Sannhetstabell / mintermer Hvis man genererer en funksjon ut i fra sannhetstabellen får man en sum av mintermer Eksempel: F = x y z + xy z + xyz En sannhetstabell kan sees på som en liste av mintermer x y z F Omid Mirmotahari 6

Notasjon Mintermer har notasjon m x Maxtermer har notasjon M x Funksjoner som bare består av sum/produkt av min/maxtermer (kanonisk form) har følengde notasjon: F(x,y,z) = S(m 3, m 6 ) = S(3, 6) = x yz+xyz F(x,y,z) = P(M 3, M 6 ) = P(3, 6) = (x+y +z )(x +y +z) Omid Mirmotahari 7

Karnaughdiagram Grafisk metode for forenkling av Boolske uttrykk Uttrykket må være representert ved sum av mintermer (m x ). Disse leser vi direkte ut av sannhetstabellen Metoden egner seg for funksjoner med 2-4(5) variable Eksempel, 2 variable: F = m + m 3 = a b + ab Eksempel, 4 variable: F = m + m + m 5 = A B C D + A B C D + ABCD Omid Mirmotahari 8

Prosedyre, 2 variable Setter inn mintermene i diagram Eksempel: generell funksjon - 2 variable F = m + m + m 2 + m 3 Omid Mirmotahari 9

Prosedyre, 2 variable F = xy og F 2 = x y + xy + xy Omid Mirmotahari

Prosedyre, utlesning Grupperer naboruter som inneholder slik at vi får sammenhengende rektangler, Velg så store grupper som mulig. Antall element må være en potens av 2 Representerer gruppene ved de variablene i gruppen som ikke varierer xy x y Omid Mirmotahari

Prosedyre, utlesning Funksjonene som diagrammene beskriver er nå gitt av summen av uttrykkene som representerer hver gruppe F = xy F 2 = x + y y xy x Omid Mirmotahari 2

Karnaugh - 3 variable Plassering av mintermer for 3-variable funksjoner: Mintermene plasseres slik at kun variabel varierer i mellom hver vannrette/loddrette naborute yz Omid Mirmotahari 3

Karnaugh - 4 variable Plassering av mintermer for 4-variable funksjoner Mintermene plasseres slik at kun variabel varierer i mellom hver vannrette/loddrette naborute Omid Mirmotahari 4

Grupperingsregler for diagram med 2-4 variable Grupperer naboruter som inneholder slik at vi får sammenhengende rektangler Ytterkantene av diagrammet kan også være naboruter Eksempel Omid Mirmotahari 5

Grupperingsregler for diagram med 2-4 variable Omid Mirmotahari 6

Grupperingsregler for diagram med 2-4 variable Omid Mirmotahari 7

Utlesningssregler for diagram med 2-4 variable Representerer hver gruppe ved de variablene i gruppen som ikke varierer. Diagrammets funksjon blir summen av hvert gruppeledd: Eksempel F = AD + CD +B C +AB Omid Mirmotahari 8

Utlesningsregler for diagram med 2-4 variable Eksempel: F = y + w z + xz Merker oss at jo større ruter desto enklere uttrykk Omid Mirmotahari 9

Utlesningssregler for diagram med 2-4 variable F = B D + C B + A CD Omid Mirmotahari 2

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

Spesialteknikker Omid Mirmotahari 22

XOR XOR funksjonen dekker maksimalt uheldige er plasseringer i diagrammet Har man XOR porter til rådighet bruker man disse I dette eksemplet kan stk. 3-inputs XOR realisere F Omid Mirmotahari 23

XOR XNOR XOR XOR representerer den odde funksjonen, dvs de kombinasjoner av inngangen hvor det er odde antall ere ab cd ab cd Man kan også bruke Karnaugh diagram til å forenkle enkelte XOR funksjoner. XNOR er den inverterte funksjonen av XOR ab cd ab cd cd cd ab ab Omid Mirmotahari 24

XOR XOR funksjonen kan kombineres med andre ledd Eksempel: F = AÅBÅCÅD + A C D Omid Mirmotahari 25

Designeksempel Vi ønsker å designe en krets som kan sammenligne to tall A og B. Hvert tall er representert ved to bit. Kretsen skal finne A>B samt A=B Vi har dermed 2 2=4 innganger, og 2 utganger Setter navn på utgangene: F for A>B og F 2 for A=B A A B Digitalt system F B F 2 Omid Mirmotahari 26

Designeksempel Vi trenger en oversikt over alle mulige inngangs/utgangs kombinasjoner, derfor: Setter opp en sannhetstabell for hver utgang (slår sammen til en dobbel tabell) Leser ut mintermer F = A A B B + A A B B + A A B B + A A B B + A A B B + A A B B Innganger A A B B Utganger F 2 = A A B B + A A B B + A A B B + A A B B Omid Mirmotahari 27 F F 2

Forenkler uttrykket for å spare porter F B B Setter inn i Karnaughdiagram A A F = A A B B + A A B B + A A B B + A A B B + A A B B + A A B B F 2 = A A B B + A A B B + A A B B + A A B B AA F 2 B B Omid Mirmotahari 28

F B B Leser ut av diagrammene F = A B + A B B + A A B A A F 2 : Ingen forenkling mulig ved utlesning av ere, leser derfor ut ere F 2 = A B + A B + A B + A B Inverterer begge sider F 2 = (A B + A B + A B + A B ) F 2 A A B B Omid Mirmotahari 29

Implementerer uttrykkene F = A B + A B B + A A B F 2 = (A B + A B + A B + A B ) ( Hva med XOR? ) A B A B B A A B F A B A B F A F 2 B A B Omid Mirmotahari 3

Black box tankesett! Styring av heis Omid Mirmotahari 3

Designeksempel Styring av heis Inngangssignaler fra sensor K = Knapp trykket inn: / V = Overvekt: / D = Dør lukket: / K V D Kontroll logikk M Utgangssignal til aktuator: M = Motor på: / Omid Mirmotahari 32

Sannhetstabell for designet K V D M M = KV D Omid Mirmotahari 33

Implementasjon på portnivå Omid Mirmotahari 34

Generell analyseprosedyre for digitale kretser ) Sett funksjonsnavn på ledningene 2) Finn funksjonene 3) Kombiner funksjonsuttrykkene Omid Mirmotahari 35

Eksempel T 2 T 2 =ABC F F T T =A+B+C T 3 = F 2 (A+B+C) T 3 F 2 F 2 F 2 =AB+AC+BC F =ABC+ (AB+AC+BC) (A+B+C) Omid Mirmotahari 36

Binær adder En av de mest brukte digitale kretser Vanlige anvendelser: Mikroprosessor ALU / Xbox / mikserbord / digitalt kommunikasjonsutstyr / AD-DA omformere osv... Basis for addisjon / subtraksjon / multiplikasjon / divisjon og mange andre matematiske operasjoner All form for filtrering / signalbehandling Omid Mirmotahari 37

Binær adder Ønsker å designe en generell binær adder Funksjonelt eksempel Adder to tall A=5 og B=3: A B + S = A A B B C 2 C S Omid Mirmotahari 38 S

Et adder system Systemelementer: Halvadder: Tar ikke mente inn Fulladder: Tar mente inn 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 C = Halv adder S 3 S 2 S S Omid Mirmotahari 39

Halvadder (ingen mente inn) Adderer sammen de to minst signifikante bittene A og B. Elementet har 2 innganger og 2 utganger Sannhetstabell S = A B + A B = A Å B C = A B A B S C Omid Mirmotahari 4

Halvadder implementasjon A B A B S A B S A B C C S = A B + A B S = A Å B C = A B C = A B Omid Mirmotahari 4

Fulladder (mente inn) Adderer sammen bit A n, B n med evt. mente inn Elementet har 3 innganger og 2 utganger S n = A n Å B n Å C n (oddefunksjon) Sannhetstabell S n A n B n C n+ C n C n+ = A n B n C n + A n B n C n + A n B n C n + A n B n C n Omid Mirmotahari 42

Forenkling Forenkler C n+ ved Karnaughdiagram A n B n C n C n+ = A n B n C n + A n B n C n + A n B n C n + A n B n C n C n+ = A n B n + A n C n + B n C n Omid Mirmotahari 43

Implementasjon I Rett fram implementasjon S n = A n Å B n Å C n A n B n C n S n C n+ = A n B n + A n C n + B n C n A n B n A n C n C n+ B n C n Omid Mirmotahari 44

Implementasjon II Forenklet implementasjon av C n+ basert på gjenbruk av porter fra S n S n = (A n Å B n ) Å C n Leser ut C n+ fra karnaughdiagram på nytt B n C n C n+ = A n B n + A n B n C n + A n B n C n A n C n+ = A n B n + (A n B n + A n B n ) C n C n+ = A n B n + (A n Å B n ) C n Omid Mirmotahari 45

Implementasjon II Vanlig implementasjon av en-bits fulladder S n = (A n Å B n ) Å C n C n+ = A n B n + (A n Å B n ) C n A n A n Å B n B n S n A n B n C n+ C n Omid Mirmotahari 46

Binær adder Halvadder (ikke mente inn) A B S C n+ C n C C A n A n B n Fulladder (evt. mente inn) S n A B + S = A B C n+ B n S n S Omid Mirmotahari 47 C n

Menteforplantning 4-bits binær adder Full adder C 3 Full adder C 2 Full adder C Halv adder C 4 Omid Mirmotahari 48

Menteforplantning Portforsinkelse gir menteforplantning (rippeladder) Eksempel Adderer og Full adder Full adder Full adder Halv adder Omid Mirmotahari 49

Komparator Komparator sammenligner to tall A og B 3 utganger: A=B, A>B og A<B Eksempel: 4-bits komparator Utgang A=B Slår til hvis A =B og A =B og A 2 =B 2 og A 3 =B 3 Kan skrives: (A ÅB ) (A ÅB ) (A 2 ÅB 2 ) (A 3 ÅB 3 ) Omid Mirmotahari 5

Komparator - eksempel Utgang A>B slår til hvis: (A 3 >B 3 ) eller (A 2 >B 2 og A 3 =B 3 ) eller (A >B og A 2 =B 2 og A 3 =B 3 ) eller (A >B og A =B og A 2 =B 2 og A 3 =B 3 ) Kan skrives: (A 3 B 3 ) + (A 2 B 2 ) (A 3 ÅB 3 ) + (A B ) (A 2 ÅB 2 ) (A 3 ÅB 3 ) + (A B )(A ÅB ) (A 2 ÅB 2 ) (A 3 ÅB 3 ) Omid Mirmotahari 5

Komparator - eksempel Utgang A<B slår til hvis: (A 3 <B 3 ) eller (A 2 <B 2 og A 3 =B 3 ) eller (A <B og A 2 =B 2 og A 3 =B 3 ) eller (A <B og A =B og A 2 =B 2 og A 3 =B 3 ) Kan skrives: (A 3 B 3 ) + (A 2 B 2 ) (A 3 ÅB 3 ) + (A B ) (A 2 ÅB 2 ) (A 3 ÅB 3 ) + (A B )(A ÅB ) (A 2 ÅB 2 ) (A 3 ÅB 3 ) Omid Mirmotahari 52

Komparator - eksempel Omid Mirmotahari 53

Dekoder Dekoder tar inn et binært ord, gir ut alle mintermer Eksempel: 3bit inn / 8bit ut Omid Mirmotahari 54

Dekoder - sannhetstabell Eksempel: 3bit inn Utganger Innganger x y z D D D 2 D 3 D 4 D 5 D 6 D 7 Omid Mirmotahari 55

Dekoder generering av logiske funksjoner Dekoder - elektrisk sannhetstabell. Kan generere generelle logiske funksjoner direkte fra mintermene på utgangen Eksempel: Fulladder A n B n S n C n C n+ Omid Mirmotahari 56

Enkoder Enkoder motsatt av dekoder Eksempel: 8x3 enkoder Innganger Utganger 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 Omid Mirmotahari 57

Enkoder Eksempel D D 2 D 4 D 6 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 Y X D D 3 D 5 D 7 Omid Mirmotahari 58

Multiplekser Multiplekser (MUX) velger hvilke innganger som slippes ut Hver inngang kan bestå av ett eller flere bit A B C UT N Select Omid Mirmotahari 59

MUX Eksempel: 2- MUX Implementasjon Symbol Omid Mirmotahari 6

Eksempel: 4- MUX Omid Mirmotahari 6

MUX Eksempel: 2- MUX Omid Mirmotahari 62

Demultiplekser Demultiplekser motsatt av multiplekser INN A B C N Omid Mirmotahari 63 Select

Kombinert adder/subtraktor M=: adder / M=: subtraktor / V: overflow bit Omid Mirmotahari

Aritmetisk logisk enhet (ALU) Den delen av CPU hvor logiske og aritmetiske beregninger utføre, f.eks addisjon, subtraksjon, AND, OR osv Omid Mirmotahari 65

Operasjoner som ALU skal utføre: (eksempelvis) AND OR XOR Addisjon Subtraksjon Følgende byggeblokker trenger vi: Fulladder Multiplekser AND,OR og NOT Omid Mirmotahari 66

Operasjon Operasjon Out a b M U X Out AND (ab) OR (a+b) Omid Mirmotahari 67

Operasjon a b 2 3 M U X Out Operasjon Out AND OR XOR? Omid Mirmotahari 68

Operasjon mente inn a b Add 2 3 M U X Out Operasjon Out AND OR XOR SUM mente ut Omid Mirmotahari 69

b_invert Operasjon mente inn Operasjon = a2aa a2 = b_invert a = MSB MUX a = LSB MUX a b Add mente ut 2 3 M U X Out Operasjon Out ab a+b a XOR b a SUM b ab a+b a XOR b a SUB b Omid Mirmotahari 7

-bit ALU inst = a2aa Inst(2) = a2 invert b Inst() = a MSB MUX Inst() = a LSB MUX inst computation a b a b a + b a + b a b a b a + b a - b Omid Mirmotahari 7

N-bit ALU Omid Mirmotahari 72

ALUer i CPU Moderne CPU kan inneholde flere ALUer ALUer kan designes til å håndtere flere funksjoner per trinn og mer komplekse. Alternativt kan man bruke software aktivt til å designe slik at en ALU kan utføre komplekse operasjoner over flere trinn. TRADE-OFF: hvor skal man plassere kompleksiteten, i hardware eller software Ulemper med å sette kompleksitet i hardware er høyere kostnader i fbm strømforbruk, areal og produksjonskost. ALU designet spiller en stor rolle med hensyn på CPU sin ytelse, da det mest komplekse operasjonen setter maksimal klokkefrekvens. Omid Mirmotahari 73

ALU ALU Arithmetic Logic Unit Generell regneenhet Eksempel: SN74LS8 4bit utbyggbar ALU 3 forskjellige operasjoner Omid Mirmotahari

ALU - SN74LS8 Omid Mirmotahari

Komplett CPU: 4-bit databuss / 3bit adressebuss 76 Omid Mirmotahari