Digital och Datorteknik Dig o Dat = DoD LP ED432 (IT), DIT79 (GU), LEU43 (L) LP2 ED25 (Z), DIT79 (GU), ED45 (D) LP4 ED3 (E) Digital och Datorteknik OH LV Kursens mål: Fatta hur en dator är uppbggd (HDW) Fatta hur du du programmerar den (SW) Fatta hur HDW o SW samverkar och därmed kunna använda en modern -processor / -controller Digital teknik Dator teknik Digital och Datorteknik OH LV 2 Kursens mål: Dator teknik nvända en modern processor I/O Minne Maskin kods programmering Maskin instruktioner Digital teknik Kombinatoriska nät Fsik: Logik: Register Kisel Vippor Transistorer Grindar Elektroniska enomen Högnivå språk (Java da C) Kompilator (översättare) vbrott (realtid) Data väg Binär kodning Digital och Datorteknik OH LV 3 tterligare kurser kopplade till ingenjörskompetens och orskningsörberedelse Hardware Description and Veriication Digital hardware (mer digitalteknik, programmerbarhet, VHDL) Dator-sstemteknik (Prestanda) Datastukturer Datakomm Maskinorienterad programmering (I/O, assembler o C) Digital- o datorteknik (digitalteknikens o processorns grunder) Moderna elektronikkonstruktionskurser Datorarkitekturkurser Operativsstem Parallellprogrammering Realtidssstem Objektorienterad programmering (Java) Digital och Datorteknik OH LV 4 Sotware Engineering Fundamentals
Hur når vi målet? orts utomatiskt strd borrmaskin Positionera borr Starta borr Borra genom arbetsstcke... ST Fortsätt LD ND CMP BNE --- Beskrivning av unktion BorrStr BorrStat #BMask #BorrNere Fortsätt rb s 7 ssemblerspråk Beskrivning av strsignaler CP: OE PC =, LD dr =, Inc PC = CP2: MR=, LD T = CP3: OE DR =, LD R, 3 = =... Digital och Datorteknik OH LV 5 Kursens Hemsida Sök via studieportalen ED432 eller http://www.cse.chalmers.se/edu/course/ed432 Länkar till kursdokument Senaste ntt Kurs-PM Veckoplanering Laborationsinormation Simulatorer Digital och Datorteknik OH LV 6 Hur öljer du kursen Fokusera på: Kursens mål Veckans mål Föreläsningens mål Förbered dig innan öreläsningarna: nvänd Veckoplanering Veckans OH-bilder Bläddra i böckerna Under öreläsningen: Var aktiv Diskutera VR KTIV med en kompis (är du på trött rasten stanna hemma och sov) Eter öreläsningarna: Bearbeta (går-)dagens material nvänd simulatorerna, hemma och i skolan En gång i veckan: Repetera örra veckans mål Jobba med veckans mål Studera kommande veckans mål Digital och Datorteknik OH LV 7 Kursupplägg Föreläsning Fö Simulatorövningar S Laboration L 5 5 Vecka 2 3 4 5 6 7 Tenta Digital och Datorteknik OH LV 8
8 3 5 Fö: Sim: LB: Schema Vanliga veckor LP HT Fö H2 Föreläsningar / Demonstration Handledd självverksamhet. Laboration Må Ti On To Fr Sim B LB 8.- 9.45 ES6 8.-.45 LB 4225 Fö H2 Fö/Demo H2 Sim 5.5-7. ES6 Fö H2 Sim C 3.5-5. ES6 LB B 3.5-7. LB 4225 Sim D.-.45 ES6 LB D 3.5-7. LB 4225 LB C 8.-.45 LB 4225 DigiFle 7.5 Kopplingsboen Datavägar Fle Eterm 6.7 FLE HC2 I/O Borrmaskin Simulator övningar SimStart Tis 3/8 Lab Start Tor 5/9 Digital och Datorteknik OH LV Digital och Datorteknik OH LV 9 Laborationsregler Laborationerna innehåller hemuppgiter. (Se respektive laborations-pm). Dessa uppgiter skall vara lösta och uppvisade öre laborationstillället. Vid laborationstillället delas ut etra uppgiter som du självständigt skall lösa ör att bli godkännd. En handledare skall bedöma arbetet eter laborationen. Kom i tid och hasta ej igenom uppgiterna. Är laborant p g a sjukdom eller annan angelägen orsak örhindrad att delta vid ett laborationstillälle skall detta omedelbart meddelas till laborationscheen. Digital och Datorteknik OH LV Kurslitteratur (KMP) Johnson, Larsson rebrink: Grundläggande digital- och datorteknik. Kompendium, Inst ör datorteknik, CTH, 27. Del. Digital teknik (RB) rbetsbok ör DigiFle. Ver 4, 28. [*(RB2) rbetsbok ör HC2. ] (ET) Kompletterande material CTH 2 (INS) Instruktionslista ör FLE-processorn. (INS2) Instruktionslista ör mikroprocessorn CPU2. (LB) Laborations-PM nr -4. Inst ör datorteknik, CTH, 2. (SIM) Simulatorer ör digitala kretsar, FLE- processorn och HC2-processorn. Programvara ör PC (Windows). Digital och Datorteknik OH LV 2
Fo Kursens mål: nvända en modern processor Konstruera en dator mha grindar och programmera denna Veckans mål: Beskriva grindar och de verktg som behövs under konstruktionsarbetet Hur kodas tal och tecken i datorn Dagens mål: Inledning till Digital o Datorteknik Binära tal Talomvandling Koder Sierindikator DIGITL- och DTORTEKNIK Vad är digitalteknik ör något? Digitalteknik = Sierteknik Sierindikatorn har sju segment. Man kan utirån välja vilka segment som skall snas och vilka som skall vara osnliga. e a g d Et b c Digital och Datorteknik OH LV 3 Digital och Datorteknik OH LV 4 a b c d e g a g b e c d Sierindikator Et Mikroelektronikens utveckling ntalet transistorer som rms på en kiselbricka... Ett digitalt sstem arbetar med siror. Digital och Datorteknik OH LV 5 Digital och Datorteknik OH LV 6
Vad Repr ettorna o nollorna Begrepp vid binär kodning Binärtal Ecess-kod Gra-kod NBCD SCII-kod begrepp betdelse eempel... bit/bitar bitsträng binärt ord minsta inormationsenhet, kan anta två värden eller sekvens av bitar... kodord κ 7 κ 6 κ 5 κ 4 κ 3 κ 2 κ κ också ett binärt ord men med en astställd kodning (betdelse) ordlängd antal bitar i ordet nibble ordlängden 4 bitar bte ordlängden 8 bitar = (SCII) = 65 (naturligt tal) = -27 (heltal) Digital och Datorteknik OH LV 7 Digital och Datorteknik OH LV 8 Decimala positionssstemet; binära tal SEK 25:- 2 2 2 + + 5 25 = 2 4 + 2 3 + 2 2 + 2 + 2 6 8 4 2 = 23 25:- 52:- 52:- Digital och Datorteknik OH LV 9 b = 2 b = 8 b = b = 6 binärt oktalt decimalt headecimalt 2 3 4 5 6 7 2 3 4 5 6 7 2 2 2 3 4 5 6 7 8 9 2 3 4 5 6 7 Digital och Datorteknik OH LV 2 3 4 5 6 7 8 9 B C D E F S2.4 2
Omvandling av ett tal N med basen till basen 2. (N) (N) 2 s2.8 Et2 Heltalsdelen: Heltalsdelen skall skrivas med sior i basen 2 som: (N H ) 2 = d n- d n-2... d Man tänker sig heltalsdelen av talet (N H ) skrivet med na basen 2. Et2 Talet (N) delas upp i heltalsdel (N H ) och bråktalsdel (N B ). (N H ) = d n- 2 n- + d n-2 2 n-2 +...+ d 2 + d 2 (N) = (N H.N B ) Heltalsdelen och bråktalsdelen behandlas sedan var ör sig. Dividera talet med basen 2. (N H ) / 2 = d n- 2 n-2 + d n-2 2 n-3 +...+ d 2 + d 2 - heltal bråktal Eempel 2.678 till binärt Eter divisionen "dker" d upp som bråktalsdel (rest). Fortsatt division av det na heltalet med basen 2 ger sirorna d, d 2, d 3,... i talet, ast nu i basen 2. Digital och Datorteknik OH LV 2 Digital och Datorteknik OH LV 22 Bråktalsdelen: Bråktalsdelen skall skrivas med sior i basen 2 som (N B ) 2 =. d - d -2... d -m Man tänker sig bråktalsdelen av talet (N B ) skrivet i den na basen 2. (N B ) = d - 2 - + d -2 2-2 +... + d -m 2 -m Multiplicera talet med basen 2. 2(N B ) = d - 2 + d -2 2 - +... + d -m 2 -m+ heltal bråktal Eter multiplikationen "dker" d - upp som heltalsdel. Fortsatt multiplikation av den na bråktalsdelen med basen 2 ger sirorna d -2,d -3,... i talet, ast nu i basen 2. Till sist sätts talet (N) 2 samman av heltalsdelen och bråktalsdelen. (N) 2 = (N H.N B ) 2 = ( d n- d n-2... d. d - d -2... d -m ) 2 Digital och Datorteknik OH LV 23 Et2 Heltalsdelen: (2) omvandlas till bas 2 genom successiva divisioner med 2. kvot rest 2/2 = 5 + ½ d = 5/2 = 52 + ½ d = 52/2 = 26 + d 2 = 26/2 = 3 + d 3 = 3/2 = 6 + ½ d 4 = 6/2 = 3 + d 5 = 3/2 = + ½ d 6 = /2 = + ½ d 7 = Sluta som ger (2) = () 2 Digital och Datorteknik OH LV 24 S2.8 Et2
Bråktalsdelen: Talet (,678) omvandlas till bas 2 med successiva multiplikationer heltal bråk 2,678 = +,356 d - = 2,356 = +,72 d -2 = 2,72 = +,424 d -3 = 2,424 = +,848 d -4 = 2,848 = +,696 d -5 = 2,696 = +,392 d -6 = : : Sluta????? S2.2 Et2 Fo Kursens mål: nvända en modern processor Konstruera en dator mha grindar och programmera denna Veckans mål: Beskriva grindar och de verktg som behövs under konstruktionsarbetet Hur kodas tal och tecken i datorn Dagens mål: Inledning till Digital o Datorteknik Binära tal Talomvandling Koder som ger (,678) = (...) 2 Digital och Datorteknik OH LV 25 Digital och Datorteknik OH LV 26 GR- KOD Tabell 2.2. Grakoder. Decimal ordning Kodord i trebitars Grakod 2 3 4 5 6 7 8 9 2 3 4 Kodord i rbitars Grakod S2.6 5 Digital och Datorteknik OH LV 27 Gra kod Kodskiva vanlig komponent i olika tper av vinkelgivare. Ljuskällor Detektorer I övergångarna : Koder ändrar sig endast i en bit. Förhindrar tillälliga elavläsningar. Digital och Datorteknik OH LV 28
Ecesskod Tabell 2.. Ecess-2 n- kodning vid n = 4. Nivå k Kodord i ecess-2 n- -kod (n=4) -8-7 -6 S2.5 NBCD-kod Decimal sira NBCD S2.8 E avkoda: 2 Ecess-2 n- n=4 2 3 +2 2 ++ -2 3 = 4-5 -4-3 -2-2 3 4 Skriv (563,782) på NBCD-kod. 2 3 4 5 6 7 5 6 7 8 9 Digital och Datorteknik OH LV 29 Digital och Datorteknik OH LV 3 lanumeriska tecken SCII Felupptäckande kod - Paritetsbitar merican Standard Code or Inormation Interchange Tpiskt användningsområde: Tangentbord b 3 b 2 b p Etra bit läggs till så att ordet alltid innehåller jämnt antal ettor (jämn paritet) Kontrollbit: om udda antal ettor annars paritetsbitsgenerering paritetskontroll c b b 2 b 3 Eempel: Jämn paritetsmetod använd i samband med 3-bitars kod. Digital och Datorteknik OH LV 3 Digital och Datorteknik OH LV 32
b 3 b 2 b p Etra bit läggs till så att ordet alltid innehåller udda antal ettor (udda paritet) Kontrollbit: om jämnt antal ettor annars Något bitmönster: Sammanattning Kan anges på HE-orm: 2C Kan representera ett binärtal: 2 Kan anges på HE-orm: 2C 6 paritetsbitsgenerering paritetskontroll Eempel: Udda paritetsmetod använd i samband med 3-bitars kod. c b b 2 b 3 Motsvarande decimala tal: 2 5 + 2 4 + 2 3 + 2 2 + 2 + 2 = 32+8+4=44 Motsvarande decimala tal: 2 6 +C 6 = 2 6+2 =44 33 NBCD-talen: Binär/He-talen [,9] Digital och Datorteknik OH LV 33 Digital och Datorteknik OH LV 34 Vad Repr ettorna o nollorna Binärtal Ecess-kod Gra-kod NBCD SCII-kod,,,, etc Förskjuten nollpunkt; plus o minus Enhetsavstånd; en bit ändrar sig Sirorna,9; (,F;,, etc använs ej) Kod ör tet (tangentbord) Digital teknik Kursens mål: Dator teknik Fatta hur en dator är uppbggd (HDW) Fatta hur du du programmerar den (SW) Fatta hur HDW o SW samverkar och därmed kunna använda en modern -processor / -controller Digital och Datorteknik OH LV 35 Digital och Datorteknik OH LV 36
Veckans mål: Beskriva grindar och de verktg som behövs under konstruktionsarbetet av datorn Hur kodas tal och tecken i datorn Dagens mål: Switchnätsalgebra Boolesk algebra Funktionstabell Binär evaluering Grindar I DG Fö2 Verktg Boolesk algebra Funktionstabell Karnaughdiagram Digital och Datorteknik OH LV 37 Digital och Datorteknik OH LV 38 3.2 Boolesk algebra Operatorer: +,,, Data:, Räkneregler: + = = ' = + = = ' = + = = + = = Icke Eller Och S3.7. Kommutativa lagarna + = + = 2. Distributiva lagarna ( + ) = + Satser inom Boolesk algebra. + ( ) = ( + ) ( + ) 7. ssociativa lagarna + ( + ) = ( + ) + ( ) = ( ) 8. De Morgans lagar ( + )' = ' ' ( )' = ' + ' 3. + = = 4. + ' = ' = 5. + = = 6. + = = 9. (')' = S3.8 Digital och Datorteknik OH LV 39 Digital och Datorteknik OH LV 4
Eempel 3.6 Förenkla = + = + S3.9 Funktionstabell Satserna i Boolesk algebra kan enkelt bevisas med hjälp av binär evaluering och utnttjande av räknereglerna ör en Boolesk algebra. S3.8 = + sats 3 = ( + ) sats 2 = sats 5 = sats 3 Enklast görs detta i tabellorm i en s k unktionstabell. Visa att: ( + )' = ' ' ( Sats 8 De Morgans) Sätt upp alla kombinationer av variablerna!!!! Digital och Datorteknik OH LV 4 Digital och Datorteknik OH LV 42 Logikkrets. S3.8 S.4 Några olika teknologier... Grind ELLER (OR) +5V TTL (Transistor-Transistor- Logic) MOS (Metal Oide Silicon) CMOS (Complementar MOS) OCH (ND) INVERTERRE (ICKE, NOT) () +5V NOR NND V Digital och Datorteknik OH LV 43 Mer om detta kommer i kursen Digitalteknik FK Digital och Datorteknik OH LV 44
Funktionstabeller ör grundläggande grindtper S3.8 rb pp E 5 Volt = kg ND - GRIND = kg Inverterare (NOT) 22V ~ 5 Volt = kg = kg Volt Digital och Datorteknik OH LV 45 22V ~ Volt Digital och Datorteknik OH LV 46 Funktionstabeller ör grundläggande grindtper = ND (OCH) S3.9 rb pp E OR - GRIND = kg = kg 5 Volt NND =( ) Digital och Datorteknik OH LV 47 22 V Volt Digital och Datorteknik OH LV 48
Funktionstabeller ör grundläggande grindtper =+ OR (ELLER) S3.9 rb pp E Logikkretssmboler ör grundläggande logikoperationer. Funktion Grind Graisk smbol = + = ELLER (OR) OCH (ND) S3.8 S.4 NOR =(+) = ' = ( +)' = ( )' INVERTERRE (ICKE, NOT) NOR NND Digital och Datorteknik OH LV 49 Digital och Datorteknik OH LV 5 w Utökningar av grindar = 5 Volt 5 Volt w Utökningar av grindar = 5 Volt 5 Volt Z W = w w Volt Volt Z W w = +++w Volt Volt Digital och Datorteknik OH LV 5 Digital och Datorteknik OH LV 52
OR, (Eclusive-OR) S3.23 Utökningar av grindar = OR = + Speciell operationssmbol Så: = + Z Z = =? = = =? = =++ Digital och Datorteknik OH LV 53 Digital och Datorteknik OH LV 54 I DG Fö3 Veckans mål: Beskriva grindar och de verktg som behövs under konstruktionsarbetet av datorn Hur kodas tal och tecken i datorn Dagens mål: Booleska uttrck och unktioner Disjunktiv / Konjunktiv orm Normal / Minimal orm Mintermer / Matermer Karnaughdiagram Minimering av grindnät NND / NOR logik Eempel Kalle: Begrepp Booleska uttrck och unktioner Disjunktiv / Konjunktiv orm Normal / Minimal orm Mintermer / Matermer Karnaughdiagram Minimering av grindnät Realisera (,,) = ++' med grindar Digital och Datorteknik OH LV 55 Digital och Datorteknik OH LV 56
Booleska uttrck och Booleska unktioner Booleska uttrck som är ekvivalenta repr. samma Booleska unktion: (,) = (+)' och g(,) = ' utgör olika uttrck ör samma unktion (t (+)' = (' ') enligt sats 8). (jr vanlig algebra) s3.4-7 Visa hur det Booleska uttrcket Eempel (Kalle orts) (,,) = ++' Ett uttrck på disjunktiv orm är en summa av termer, där varje term är en Boolesk produkt av variabler (med eller utan prim): T e (,,w,) = + w + w' ) kan örenklas (minimeras) till disjunktiv minimal orm: (Summa av Produkter) Ett uttrck på konjunktiv orm är en produkt av aktorer, där varje aktor är en Boolesk summa av variabler (med eller utan prim): T e g(,,w,) = ( + w)( w' + )( ' + ) 2) kan örenklas (minimeras) till konjunktiv minimal orm: (Produkt av Summor) Digital och Datorteknik OH LV 57 Digital och Datorteknik OH LV 58 Eempel (Kalle orts) Visa hur (,,) = ++' kan örenklas till disjunktiv (minimal) orm: (Summa av Produkter) (,,) = + + ' = + + ' sats 3 = + ( + ') + ' sats 4 = + + ' + ' sats 2 = + + ' + ' sats = + + ' + ' sats 3 = ( + ) + '( + ) sats 2 = + ' sats 5 = + ' sats 3 Et 3 Kmp s 3.9 Digital och Datorteknik OH LV 59 Visa hur (,,) = ++' kan örenklas till konjunktiv (minimal) orm: (Produkt av summor) (,,) = Eempel (Kalle orts) + + ' = + + + ' sats 4 = ( + ) + '( + ) sats 2 = ( + ) ( + ') sats 2 Digital och Datorteknik OH LV 6
Grindnät ör eempel Kalle (,,) = + + ' Z + ' Disjunktiv normal orm och konjunktiv normal orm Vårat gamla eempel Kalle: (,,) = + + ' Et 3 Disjunktiv (minimal) orm (Summa av Produkter) Konjunktiv (minimal) orm (Produkt av summor) Rita unktionstabell (3 variabler,, => 2 3 = 8 rader ) Z (,,) = + ' Z (,,) = ( + ) ( + ') Digital och Datorteknik OH LV 6 Digital och Datorteknik OH LV 62 Disjunktiv normal orm och konjunktiv normal orm Vårat gamla eempel Kalle: (,,) = + + ' Et 3 Rita unktionstabell (3 variabler => 2 3 = 8 rader ) ) ) 2) 3) 4) 5) 6) 7) Digital och Datorteknik OH LV 63 ) ) 2) 3) 4) 5) 6) 7) Invariabelkombinationen (,, ) i varje rad i unktionstabellen är unik. Ta ram en unik produkt av invariabler som ger =. (T.e ger rad 6 ) Ta ram produkter ör samtliga rader där unktionsvärdet är och adderar dessa. Summan blir ett uttrck ör den Booleska unktionen = '' + ' + ' + Varje term är unik och innehåller samtliga invariabler. Termerna kallas mintermer och unktionen sägs vara skriven på disjunktiv normal orm. Digital och Datorteknik OH LV 64 Et 3
) ) 2) 3) 4) 5) 6) 7) Et 3 S3.6 Invariabelkombinationen (,, ) i varje rad i unktionstabellen är unik. Ta ram en unik summa av invariabler som ger ++=. (T.e ger rad 4 + + ) Ta ram summor ör samtliga rader där unktionsvärdet är och multiplicera dessa. Produkten blir ett uttrck ör den Booleska unktionen = ( + + )( + '+ )('+ + )('+ +') Varje aktor är unik och innehåller samtliga invariabler. Faktorerna kallas matermer och unktionen sägs vara skriven på konjunktiv normal orm. Digital och Datorteknik OH LV 65 I DG Fö3 Veckans mål: Beskriva grindar och de verktg som behövs under konstruktionsarbetet av datorn Hur kodas tal och tecken i datorn Dagens mål: Booleska uttrck och unktioner Disjunktiv / Konjunktiv orm Normal / Minimal orm Mintermer / Matermer Karnaughdiagram (ör att minimera) Minimering av grindnät NND / NOR logik Digital och Datorteknik OH LV 66 Funktionstabell (,, ) ) ) 2) 3) 4) 5) 6) 7) Grakodat ) och 3) + = ( + ) = 3) och 7) + = ( +) = 6) och 7) + = ( + ) = lternativ uppställning (,, ) ) ) 3) 2) 6) 7) 5) 4) = + + Digital och Datorteknik OH LV 67 S3.25-27 Karnaughdiagram Z 3 2 4 5 7 6 min = Z + Digital och Datorteknik OH LV är noll är don t care Z är ett Z är ett är ett Z är don t care 68
= = = S3.3 w w w igurerna 3.27 och 3.28 = = = w w w Digital och Datorteknik OH LV 69 Sammanattning NORML orm Funktionstabell MINIML orm Kranaughdiagram DISJUNKTIV (normal / minimal) orm av Prod E: ( )+(w)+(w) Ettor Mintermer: ( ) = NND / NND - logik KONJUNKTIV (normal / minimal) orm Prod av :or E: (+)( ++w)( +w ) Nollor Matermer: (++) = NOR / NOR - logik Digital och Datorteknik OH LV 7 I DG Fö3 Veckans mål: Beskriva grindar och de verktg som behövs under konstruktionsarbetet av datorn Hur kodas tal och tecken i datorn Dagens mål: Booleska uttrck och unktioner Disjunktiv / Konjunktiv orm Normal / Minimal orm Mintermer / Matermer Karnaughdiagram Minimering av grindnät NND / NOR logik Digital och Datorteknik OH LV 7 Praktikall, minimering av grindnät w w w Ett grindnät med utsignalen och ra insignalerna,,, w är givet. Et4 Kan man konstruera ett "mindre" nät? ) nals 2) Funktionstabell 3) Minimering (Karnaugh) 4) Realicering Digital och Datorteknik OH LV 72
NND-logik NND-logik Om vi har +B B Hur realicera med NND? B Samma sak B om nu = (C,D) och B = (E,F) B De Morgan: (+B) = B B Disjunktiv orm C D E F C D E F Digital och Datorteknik OH LV 73 Digital och Datorteknik OH LV 74 NOR-logik NOR-logik Om vi har B B Hur realicera med NOR? B Samma sak B B De Morgan: (B) = + B Digital och Datorteknik OH LV 75 B om nu = (C,D) och B = (E,F) Konjunktiv orm C D E F C D E F Digital och Datorteknik OH LV 76