Grundläggande Datorteknik Kursens mål: Fatta hur en dator är uppbggd (HDW) Fatta hur du du programmerar den (SW) Fatta hur HDW o SW samverkar LP EDA433 (IT), DIT79 (GU) LP2 EDA45 (D), DIT79 (GU) LP3 EDA27 (Z), DIT79 (GU) Grundläggande Datorteknik OH LV Grundläggande Datorteknik OH LV 2 tterligare kurser kopplade till ingenjörskompetens och orskningsörberedelse Hardare Description and Veriication Digital hardare (mer digitalteknik, programmerbarhet, VHDL) Moderna elektronikkonstruktionskurser Dator-sstemteknik (Prestanda) Datastukturer Datakomm Programmering av inbggda sstem (I/O, assembler o C) Objektorienterad programmering (Java) Grundläggande datorteknik (digitalteknikens o processorns grunder) Datorarkitekturkurser Operativsstem Parallellprogrammering Realtidssstem Grundläggande Datorteknik OH LV 3 Sotare Engineering Fundamentals Kursens Hemsida Sök via studieportalen EDA433/452/27 (LP,2,3) eller http://.cse.chalmers.se/edu/ear/22/course/eda433 http://.cse.chalmers.se/edu/ear/22/course/eda452 http://.cse.chalmers.se/edu/ear/23/course/eda27 Länkar till kursdokument Senaste ntt Kurs-PM Veckoplanering Laborationsinormation Simulatorer Grundläggande Datorteknik OH LV 4
8 3 Schema Vanliga veckor LP2 HT2 D Fö: Sim: LAB: 5 Fö HC4 Må Ti On To Fr Fö/Demo HC4 LAB D 8.-.45 LAB 4225 Föreläsningar / Demonstration Handledd självverksamhet. Laboration Fö HC4 Fö HC4 Sim AB 5.5-7. MT5/ Sim CD 3.5-5. ES6/62 Lab Start Tor 5/ i LV3 LAB A 3.5-7. LAB 4225 Grundläggande Datorteknik o 5 LAB B 8.-.45 LAB 4225 LAB C 3.5-7. LAB 4225 DigiFlisp Kopplingsboen Datavägar Flisp Eterm Flisp I/O Borrmaskin Simulator övningar Grundläggande Datorteknik OH LV 6 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. Grundläggande Datorteknik OH LV 7 Kurslitteratur (ARB) Roger Johansson: Arbetsbok ör DigiFlisp. 22. (EXT) Kompletterande material CTH 22 Instruktionslista ör FLISP-processorn. Laborations-PM nr -4. Inst ör datorteknik, CTH, 22. (SIM) Simulatorer ör digitala kretsar, FLISP. Programvara ör PC (Windos). (KMP) Johnson, Larsson Arebrink: Grundläggande digital- och datorteknik. Kompendium, Inst ör datorteknik, CTH, 27. Del. Digital teknik Grundläggande Datorteknik o 8
Fo Kursens mål: 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 Inledning till Grundläggande Datorteknik Kunna använda binära tal Kunna omvandla mellan binära, headecimala och decimala tal Förstå innebörden av olika binära koder Sierindikator DIGITAL- och DATORTEKNIK 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 Grundläggande Datorteknik OH LV 9 Grundläggande Datorteknik OH LV Eempel på digital krets: Trckknapp Klocksignal Räknare (Sekvenskrets) Varje gång man trcker ned trckknappen kommer det en puls (klocksignal) på ledningen som är kopplad till räknaren. Grundläggande Datorteknik OH LV 2 4 8 2 4 8 Eempel på digital krets: Kodomvandlare (Kombinatorisk krets) a b c d e g Sierindikator Kodomvandlaren till vänster i iguren ovan är en digital krets. Den omvandlar ett binärt tal med sirorna (ingångarna) till ett mönster av nollor och ettor på utgångarna abcdeg så att sierindikatorn visar det binära talet () 2 på decimal orm. I kursen visas metoder ör att studera (anals) och konstruera (sntes) digitala kretsar liknande kodomvandlaren. Grundläggande Datorteknik OH LV 2 e a g d b c Et
Fo Kursens mål: Anvä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 Inledning till Grundläggande Datorteknik Kunna använda binära tal Kunna omvandla mellan binära, headecimala och decimala tal Förstå innebörden av olika binära koder Vad Repr ettorna o nollorna Binärtal Ecess-kod Gra-kod NBCD ASCII-kod Grundläggande Datorteknik OH LV 3 Grundläggande Datorteknik OH LV 4 Begrepp vid binär kodning begrepp betdelse eempel... bit/bitar minsta inormationsenhet, kan anta två värden bitsträng binärt ord 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 eller sekvens av bitar... nibble ordlängden 4 bitar bte ordlängden 8 bitar = A (ASCII) = 65 (naturligt tal) = -27 (heltal) Decimala positionssstemet; binära tal 2 2 2 + + 5 25 = 2 4 + 2 3 + 2 2 + 2 + 2 6 + 8 + 4 + 2 + = 23 SEK 25:- 25:- 52:- 52:- Grundläggande Datorteknik OH LV 5 Grundläggande Datorteknik OH LV 6
Fo Kursens mål: Anvä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 Inledning till Grundläggande Datorteknik Kunna använda binära tal Kunna omvandla mellan binära, headecimala och decimala tal Förstå innebörden av olika binära koder Grundläggande Datorteknik OH LV 7 = 2 = 8 = = 6 binärt oktalt decimalt headecimalt 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 9 9 2 A 3 B 4 2 C 5 3 D 6 4 E 7 5 F 2 6 2 7 Grundläggande Datorteknik OH LV S2.4 8 Omvandling av ett tal N med basen till basen 2. (N) (N) 2 Talet (N) delas upp i heltalsdel (N H ) och bråktalsdel (N B ). (N) = (N H.N B ) Heltalsdelen och bråktalsdelen behandlas sedan var ör sig. Eempel 2.678 till binärt Grundläggande Datorteknik OH LV 9 s2.8 Et2 Heltalsdelen: (2) omvandlas till bas 2 genom successiva divisioner med 2. kvot rest S2.8 2/2 = 5 + ½ d = Et2 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 = Sluta + ½ d 7 = som ger (2) = () 2 Grundläggande Datorteknik OH LV 2
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: Anvä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 Inledning till Grundläggande Datorteknik Kunna använda binära tal Kunna omvandla mellan binära, headecimala och decimala tal Förstå innebörden av olika binära koder som ger (,678) = (...) 2 Grundläggande Datorteknik OH LV 2 Grundläggande Datorteknik OH LV 22 Hur generera GRA- 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 Grundläggande Datorteknik OH LV 23 Ecess - kod E koda bipolära storheter E avkoda: 2 Ecess-2 n- n=4 2 3 +2 2 ++ -2 3 = 4 Tabell 2.. Ecess-2 n- kodning vid n = 4. Nivå k Kodord i ecess-2 n- -kod (n=4) -8-7 -6-5 -4-3 -2-2 3 4 5 6 7 Grundläggande Datorteknik OH LV 24 S2.5
Decimal sira NBCD 2 3 4 5 6 7 8 9 NBCD-kod Skriv (53,27 ) på NBCD-kod. S2.8 Alanumeriska koder ASCII-koden. b 6b 5b 4 b3b2bb NUL DLE SP @ P ` p SOH DC! A Q a q STX DC2 2 B R b r ETX DC3 # 3 C S c s EOT DC4 $ 4 D T d t ENQ NAK % 5 E U e u ACK SN 6 F V v BEL ETB 7 G W g BS CAN ( 8 H X h HT EM ) 9 I i LF SUB * : J Z j VT ESC + ; K [Ä k {ä FF FS, < L \Ö l ö CR GS - = M ]Å m }å S RS. > N ^ n ~ S US /? O _ o RUBOUT Grundläggande Datorteknik OH LV 25 Grundläggande Datorteknik OH LV (DEL) 26 S2.27 I DAG Veckans mål: Beskriva grindar och de verktg som behövs under konstruktionsarbetet av datorn Hur kodas tal och tecken i datorn Sitchnätsalgebra Kunna använda boolesk algebra Kunna använda unktionstabell Kunna utöra binär evaluering Kunna återge grindarnas sanningstabeller Kunna koppla ihop grindar Fö2 Sitchnätsalgebra In Signaler Sitchnät (grindnät) Ut Signaler S3. Grundläggande Datorteknik OH LV 27 Grundläggande Datorteknik OH LV 28
Verktg Boolesk algebra Funktionstabell Karnaughdiagram Sitchnätsalgebra Kunna använda boolesk algebra Kunna använda unktionstabell Kunna utöra binär evaluering Kunna återge grindarnas sanningstabeller Kunna koppla ihop grindar Fö2 Grundläggande Datorteknik OH LV 29 Grundläggande Datorteknik OH LV 3 3.2 Boolesk algebra Operatorer: +,,, Data:, Räkneregler: + = = ' = + = = ' = + = = + = = Icke Eller Och S3.7 Satser inom Boolesk algebra.. Kommutativa lagarna + = + = 2. Distributiva lagarna ( + ) = + + ( ) = ( + ) ( + ) 7. Associativa lagarna + ( + ) = ( + ) + ( ) = ( ) 8. De Morgans lagar ( + )' = ' ' ( )' = ' + ' 3. + = = 4. + ' = ' = 5. + = = 6. + = = 9. (')' = S3.8 Grundläggande Datorteknik OH LV 3 Grundläggande Datorteknik OH LV 32
Fö2 Funktionstabell S3.8 Sitchnätsalgebra Kunna använda boolesk algebra Kunna använda unktionstabell Kunna utöra binär evaluering Kunna återge grindarnas sanningstabeller Kunna koppla ihop grindar Satserna i Boolesk algebra kan enkelt bevisas med hjälp av binär evaluering och utnttjande av räknereglerna ör en Boolesk algebra. Enklast görs detta i tabellorm i en s k unktionstabell. Visa att: ( + )' = ' ' ( Sats 8 De Morgans) Sätt upp alla kombinationer av variablerna!!!! Grundläggande Datorteknik OH LV 33 Grundläggande Datorteknik OH LV 34 Sitchnätsalgebra Kunna använda boolesk algebra Kunna använda unktionstabell Kunna utöra binär evaluering Kunna återge grindarnas sanningstabeller Kunna koppla ihop grindar Fö2 Grind ELLER (OR) OCH (AND) INVERTERARE (ICKE, NOT) NOR Logikkrets. +5V () S.4 S3.8 Arb Kap NAND V Grundläggande Datorteknik OH LV 35 Grundläggande Datorteknik OH LV 36
TTL (Transistor-Transistor- Logic) +5V Några olika teknologier... MOS (Metal Oide Silicon) CMOS (Complementar MOS) Funktionstabeller ör grundläggande grindtper Sanningstabell S3.8 Arb App E 5 Volt X X Inverterare (NOT) X Volt Mer om detta kommer i kursen Digitalteknik FK Grundläggande Datorteknik OH LV 37 Grundläggande Datorteknik OH LV 38 22V ~ = kg AND - GRIND = kg 5 Volt Funktionstabeller ör grundläggande grindtper X =X AND (OCH) X S3.9 Arb Kap 2 22V ~ = kg = kg Volt Grundläggande Datorteknik OH LV 39 X NAND =(X ) X Grundläggande Datorteknik OH LV 4
Funktionstabeller ör grundläggande grindtper X =X+ OR (ELLER) X S3.9 Logikkretssmboler ör grundläggande logikoperationer. Funktion Grind Graisk smbol = + = ELLER (OR) OCH (AND) S3.8 S.4 X NOR =(X+) X = ' = ( +)' = ()' INVERTERARE (ICKE, NOT) NOR NAND Grundläggande Datorteknik OH LV 4 Grundläggande Datorteknik OH LV 42 Fö2 Utökningar av grindar 5 Volt 5 Volt Sitchnätsalgebra Kunna använda boolesk algebra Kunna använda unktionstabell Kunna utöra binär evaluering Kunna återge grindarnas sanningstabeller Kunna koppla ihop grindar X Z W = = +++ Volt Volt Grundläggande Datorteknik OH LV 43 Grundläggande Datorteknik OH LV 44
Utökningar av grindar X Z W = = 5 Volt 5 Volt Volt Volt X XOR =X XOR, (Eclusive-OR) X + S3.23 Speciell operationssmbol Så: = + Grundläggande Datorteknik OH LV 45 Grundläggande Datorteknik OH LV 46 I DAG Fö3 Veckans mål: Beskriva grindar och de verktg som behövs under konstruktionsarbetet av datorn Hur kodas tal och tecken i datorn Kunna jobba med booleska uttrck och unktioner Kunna ange uttrck på Disjunktiv och Konjunktiv orm Kunna skriva uttrck på Normal / Minimal orm Kunna ange Mintermer och Matermer Kunna minimera unktioner med hjälp av Karnaughdiagram Kunna Analsera och Minimera grindnät Konstruera grindnät bestående av NAND och NOR logik 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) 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 (,,,) = + + ' 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(,,,) = ( + )( ' + )( ' + ) s3.4-7 Grundläggande Datorteknik OH LV 47 Grundläggande Datorteknik OH LV 48
I DAG Kunna jobba med booleska uttrck och unktioner Kunna ange uttrck på Disjunktiv och Konjunktiv orm Kunna skriva uttrck på Normal / Minimal orm Kunna ange Mintermer och Matermer Kunna minimera unktioner med hjälp av Karnaughdiagram Kunna Analsera och Minimera grindnät Konstruera grindnät bestående av NAND och NOR logik Fö3 Eempel (Kalle orts) Visa hur det Booleska uttrcket (,,) = ++' ) kan örenklas (minimeras) till disjunktiv minimal orm: (Summa av Produkter) 2) kan örenklas (minimeras) till konjunktiv minimal orm: (Produkt av Summor) Grundläggande Datorteknik OH LV 49 Grundläggande Datorteknik OH LV 5 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 Grundläggande Datorteknik OH LV 5 Eempel (Kalle orts) Visa hur (,,) = ++' kan örenklas till konjunktiv (minimal) orm: (Produkt av summor) (,,) = + + ' = + + + ' sats 4 = ( + ) + '( + ) sats 2 = ( + ) ( + ') sats 2 Grundläggande Datorteknik OH LV 52
Grindnät ör eempel Kalle (,,) = + + ' X Z + ' Kunna skriva uttrck på Normal / Minimal orm Et 3 Disjunktiv normal orm och konjunktiv normal orm Disjunktiv (minimal) orm (Summa av Produkter) Konjunktiv (minimal) orm (Produkt av summor) Vårat gamla eempel Kalle: (,,) = + + ' X Z (,,) = + ' X Z (,,) = ( + ) ( + ') Grundläggande Datorteknik OH LV 53 Rita unktionstabell (3 variabler - - hur många rader i unktionstabellen?),, => 2 3 = 8 rader Grundläggande Datorteknik OH LV 54 Disjunktiv normal orm och konjunktiv normal orm Vårat gamla eempel Kalle: (,,) = + + ' Rita unktionstabell (3 variabler => 2 3 = 8 rader ) ) ) 2) 3) 4) 5) 6) 7) Grundläggande Datorteknik OH LV 55 Et 3 ) ) 2) 3) 4) 5) 6) 7) Et 3 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. Grundläggande Datorteknik OH LV 56
) ) 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 = ( + + )( + '+ )('+ + )('+ +') I DAG Kunna jobba med booleska uttrck och unktioner Kunna ange uttrck på Disjunktiv och Konjunktiv orm Kunna skriva uttrck på Normal / Minimal orm Kunna ange Mintermer och Matermer Kunna minimera unktioner med hjälp av Karnaughdiagram Kunna Analsera och Minimera grindnät Konstruera grindnät bestående av NAND och NOR logik Fö3 Varje aktor är unik och innehåller samtliga invariabler. Faktorerna kallas matermer och unktionen sägs vara skriven på konjunktiv normal orm. Grundläggande Datorteknik OH LV 57 Grundläggande Datorteknik OH LV 58 Funktionstabell (,, ) ) ) 2) 3) 4) 5) 6) 7) Grakodat ) och 3) + = ( + ) = 3) och 7) + = ( +) = 6) och 7) + = ( + ) = Alternativ uppställning (,, ) ) ) 3) 2) 6) 7) 5) 4) = + + Grundläggande Datorteknik OH LV 59 S3.25-27 (,, ) ) ) 3) 2) 6) 7) 5) 4) Ännu bättre Z X 3 2 4 5 7 6 Grundläggande Datorteknik OH LV 6
X Karnaughdiagram Z 3 2 4 5 7 6 min = X Z + X Grundläggande Datorteknik OH LV X är noll är don t care Z är ett X Z X är ett är ett Z är don t care X 6 = = S3.3 = igurerna 3.27 och 3.28 = = = Grundläggande Datorteknik OH LV 62 Sammanattning NORMAL orm Funktionstabell MINIMAL orm Kranaughdiagram DISJUNKTIV (normal / minimal) orm av Prod E: ( )+()+() Ettor Mintermer: ( ) = NAND / NAND - logik KONJUNKTIV (normal / minimal) orm Prod av :or E: (+)( ++)( + ) Nollor Matermer: (++) = NOR / NOR - logik I DAG Kunna jobba med booleska uttrck och unktioner Kunna ange uttrck på Disjunktiv och Konjunktiv orm Kunna skriva uttrck på Normal / Minimal orm Kunna ange Mintermer och Matermer Kunna minimera unktioner med hjälp av Karnaughdiagram Kunna Analsera och Minimera grindnät Konstruera grindnät bestående av NAND och NOR logik Fö3 Grundläggande Datorteknik OH LV 63 Grundläggande Datorteknik OH LV 64
Praktikall, minimering av grindnät Ett grindnät med utsignalen och ra insignalerna,,, är givet. Et4 Kan man konstruera ett "mindre" nät? ) Anals 2) Funktionstabell 3) Minimering (Karnaugh) 4) Realicering Grundläggande Datorteknik OH LV 65 I DAG Kunna jobba med booleska uttrck och unktioner Kunna ange uttrck på Disjunktiv och Konjunktiv orm Kunna skriva uttrck på Normal / Minimal orm Kunna ange Mintermer och Matermer Kunna minimera unktioner med hjälp av Karnaughdiagram Kunna Analsera och Minimera grindnät Konstruera grindnät bestående av NAND och NOR logik Fö3 Grundläggande Datorteknik OH LV 66 Om vi har A+B A B NAND-logik Hur realicera med NAND? De Morgan: (A+B) = A B ((A+B) ) = (A B ) A+B = (A B ) Om vi har A B A B NOR-logik Hur realicera med NOR? De Morgan: (AB) = A + B ((AB) ) = (A + B ) AB = (A + B ) A B = A B A B = A B Grundläggande Datorteknik OH LV 67 Grundläggande Datorteknik OH LV 68