IE1204 Digital Design F1 F2 Ö1 Booles algebra, Grindar F3 F4

Slides:



Advertisements
Liknande presentationer
Talföljder formler och summor
Advertisements

Multiplicera lika tal med 2 siffror som slutar på 5
Kap 1 - Algebra och linjära modeller
hej och välkomna EKVATIONER Ta reda på det okända talet.
William Sandqvist Booles Algebra Genom att representera logiska uttryck på matematisk form, där sammanfognings-orden OR och AND motsvarade.
Många studenter använder en LCD-display till sin programmeringsuppgift
En övning i att formulera sig matematiskt
De fundamentala datatyperna
William Sandqvist Maurice Karnaugh Karnaugh-diagrammet gör det enkelt att minimera Boolska uttryck! William Sandqvist
William Sandqvist Datorteknik övning 2 Subrutinanrop William Sandqvist
Komplexa tal inför Laborationerna
Spolen och Kondensatorn motverkar förändringar
IE1204 Digital Design Aritmetik Låskretsar, vippor, FSM FSM, VHDL introduktion Asynkron FSM F1 F3 F5 Ö3 F8 F10 F12 Ö8 F2Ö1 Ö2 Ö6 F13 F9Ö5 tentamen William.
IE1206 Inbyggd Elektronik F1 F2
IE1206 Inbyggd Elektronik F1 F2
IE1206 Inbyggd Elektronik F1 F2
Bråktal Av: Kawa Ali Matte och NO lärare Örtagårdskolan Vt: 10
Bastugatan 2. Box S Stockholm. Blad 1 Läsarundersökning Maskinentreprenören 2007.
Från binära till hexadecimala
Styrteknik: Binära tal, talsystem och koder D3:1
EDA Digital och Datorteknik
Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1
Beräkna en ekvation (metod 1)
EDA Digital och Datorteknik
Det handlar om multiplikation
Matematik A - Introduktion
IE1206 Inbyggd Elektronik F1 F2
TÄNK PÅ ETT HELTAL MELLAN 1-50
Räkna ut flyttal i datorn för dummies
Kouzlo starých časů… Letadla Pár foteček pro vzpomínku na dávné doby, tak hezké snění… M.K. 1 I Norrköping får man inte.
Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 1 De bifogade OH-bilderna är bara utkast till vad som kan vara.
ARITMETIK – OM TAL.
IF1330 Ellära F/Ö1 F/Ö2 F/Ö3 Strömkretslära Mätinstrument Batterier
William Sandqvist Kodlåsmall lockmall.vhd William Sandqvist
Styrteknik: Grundläggande logiska funktioner D2:1
Styrteknik: MELSEC FX och numeriska värden PLC2C:1
William Sandqvist Låskretsar och Vippor Låskretsar (latch) och vippor (flip-flop) är kretsar med minnesfunktion. De ingår i datorns minnen.
IF1330 Ellära F/Ö1 F/Ö2 F/Ö3 Strömkretslära Mätinstrument Batterier
IE1204 Digital Design F1 F2 Ö1 Booles algebra, Grindar F3 F4
IF1330 Ellära F/Ö1 F/Ö2 F/Ö3 Strömkretslära Mätinstrument Batterier
IF1330 Ellära F/Ö1 F/Ö2 F/Ö3 Strömkretslära Mätinstrument Batterier
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 2 ( ) INNEHÅLL: -Variabler och datatyper -Tilldelning av variabler -Aritmetiska.
IS1200 Datorteknik Föreläsning CE F2 Vi bygger en processor Kursboken, delar av kapitel 7 31 March IS1200 Datorteknik föreläsning CE – F2.
Räkna till en miljard 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14,15,16,17,18,19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, En miljard är ett.
William Sandqvist Binärkod och Graykod 7 Bitars Kodskiva för avkodning av vridningsvinkel. Skivans vridnings-vinkel finns tryckt som binära.
Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45 Adderare Addition av två tal innebär att samma förfarande upprepas för varje position i talet. För varje.
DIGITAL DESIGN INLEDNING Allmänt och kursens hemsidor Analogt och digitalt Booleska variabler Binära tal Positiv och negativ logik (Aktiv hög och låg logik)
William Sandqvist IS1500 Datorteknik William Sandqvist
Satslogik, forts. DAA701/716 Leif Grönqvist 5:e mars, 2003.
William Sandqvist Binärkod och Graykod 7 Bitars Kodskiva för avkodning av vridningsvinkel. Skivans vridnings-vinkel finns tryckt som binära.
IF1330 Ellära F/Ö1 F/Ö2 F/Ö3 Strömkretslära Mätinstrument Batterier
Negativa tal – några exempel
William Sandqvist Funktionsbibliotek När man utvecklat en funktion så långt att den är "färdigutvecklad" kan man lika gärna spara den på.
Kronljusströmställaren 0, 1, 2, 3
Flyttal ● Alla tal kan skrivas tal = ± m. 2 exp ● ± lagras separat (1 bit), resten är absolutbelopp ● m kallas mantissa och anger siffrorna i talet ● exp.
William Sandqvist Tillståndsmaskiner  Moore-automat  Mealy-automat William Sandqvist
Kronljusströmställaren 0, 1, 2, 3
Shannon dekomposition
IF1330 Ellära Växelströmskretsar j  -räkning Enkla filter F/Ö1 F/Ö4 F/Ö6 F/Ö10 F/Ö13 F/Ö15 F/Ö2F/Ö3 F/Ö12 tentamen William Sandqvist F/Ö5.
William Sandqvist Låskretsar och Vippor Låskretsar (latch) och vippor (flip-flop) är kretsar med minnesfunktion. De ingår i datorns minnen.
Aritmetik 6
Kapitel 2, mattespananrna
Datalängd och datatyper
Kombinatoriska byggblock
Digitala tal och Boolesk algebra
Kombinatoriska byggblock
Kombinatoriska byggblock
Digitalteknik 3p - Kombinatoriska Byggblock
Digitalteknik 3p - Kombinatoriska Byggblock
Z 1.3 Räkna med negativa tal
Presentationens avskrift:

William Sandqvist william@kth.se IE1204 Digital Design F1 F2 Ö1 Booles algebra, Grindar F3 F4 MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK1 LAB1 Kombinatoriska kretsar F7 Ö4 Multiplexor F8 F9 Ö5 Låskretsar, vippor, FSM KK2 LAB2 F10 F11 Ö6 KK3 LAB3 FSM, VHDL introduktion F12 Ö7 F13 Asynkron FSM Ö8 F14 tentamen Minnen Föreläsningar och övningar bygger på varandra! Ta alltid igen det Du missat! Läs på i förväg – delta i undervisningen – arbeta igenom materialet efteråt! William Sandqvist william@kth.se

William Sandqvist william@kth.se ÖH 8.4 7-4-2-1 kod Kodomvandlare 7-4-2-1-kod till BCD-kod. Vid kodning av siffrorna 0…9 användes förr ibland en kod med vikterna 7-4-2-1 i stället för den binära kodens vikter 8-4-2-1. I de fall då en siffras kodord kan väljas på olika sätt väljs det kodord som innehåller minst antal ettor. ( en variant av 7-4-2-1 koden används i dag till butikernas streck-kod ) William Sandqvist william@kth.se

William Sandqvist william@kth.se 8.4 Gemensamma hoptagningar kan ge delade grindar! William Sandqvist william@kth.se

William Sandqvist william@kth.se 8.4 PAL-kretsar (eg. PLA) kan innehåller programerbara AND och OR grindar. Grindarna har många programmerbara ingångsanslutningar. De många ingångarna ritas därför oftast med ett ”förenklat” ritsätt. William Sandqvist william@kth.se

William Sandqvist william@kth.se 8.4 Grind-delning! William Sandqvist william@kth.se

Reella tal Decimalkomma ”,” och Binärpunkt ”.” 10,312510 = 1010.01012

William Sandqvist william@kth.se ÖH 1.2b 110100.0102 = = ( 25+24+22 + 2-2 = 32+16+4 + 0.25 ) = = 52,2510 William Sandqvist william@kth.se

Komplementräkning Subtraktion med en additionsmaskin = komplementräkning 63 - 17 = 46 Talet -17 slås in som med röda siffror 17 och blir då 82. När - tangenten trycks in adderas 1. Resultatet blir: 63+82+1 = 146. Om bara två siffror visas: 46

2-komplement Binärtalet 3, 0011, blir negativt -3 genom att man inverterar alla bitar och lägger till ett, 1101.

Registeraritmetik Datorregister är ”ringar” Ett fyra bitars register rymmer 24 = 16 tal. Antingen 8 positiva (+0…+7) och 8 negativa (-1…-8) tal ”med tecken”, eller 16 (0…F) ”teckenlösa” tal. Om registret är fullt gör ”+1” att det ”slår runt”.

William Sandqvist william@kth.se Registerlängd 4 bitar kallas Nibble. Registret rymmer 24 = 16 tal. 0…15, -8…+7 8 bitar kallas Byte. Registret rymmer 28 = 256 tal. 0…255, -128…+127 16 bitar kallas Word. 216 = 65536 tal. 0…65535, -32768…+32767 Vanliga registerstorlekar är idag 32 bitar (DoubleWord) och 64 bitar (QuadWord ). Dessa storleksbenämningar är de som används av Windows-programmet Calculator. Word kan ofta vara 32 bitar i stället. William Sandqvist william@kth.se

William Sandqvist william@kth.se Skriv följande tal ”med tecken” med två-komplementsnotation, x = (x6, x5, x4, x3, x2, x1, x0). a) -23 = (+2310 = 00101112  -2310 = 11010002 + 12 ) = 11010012 = 10510 b) -1 = (+110 = 00000012  -110 = 11111102 + 12) = 11111112 = 12710 c) +38 = (3210+410+210) = 01001102 = 3810 d) -64 = (+6410 = 10000002 är ett för stort positivt tal! men fungerar ändå -6410  01111112 + 12) = 10000002 = 6410 William Sandqvist william@kth.se

William Sandqvist william@kth.se a) 110 + 010 b) 1110 + 1001 c) 11 0011.01 + 111.1 d) 0.1101 + 0.1110 William Sandqvist william@kth.se

Heladderaren Ett grindnät som gör en binär addition på en valfri bitposition med två binära tal kallas för en Heladderare.

4-bits adderare En additionskrets för binära fyrbitstal består således av fyra heladderarkretsar.

Subtraktion? Subtraktion av binära tal kan ske genom sk. komplementräkning. Negativa tal represen-teras då av sannkomplementet, vilket innebär att alla bitar inverteras och en etta adderas till talet. Man utnyttjar då additionskretsen även till subtraktion. Rent kretsmässigt kan man lösa inverteringen med XOR-grindar ,och man adderar en etta till talet genom att låta CIN = 1.

Figure 5.13. Adder/subtractor unit. y y y n – 1 1 Add ¤ Sub control x x x n – 1 1 c n -bit adder c n s s s n – 1 1 Figure 5.13. Adder/subtractor unit.

William Sandqvist william@kth.se Addera eller subtrahera (addition med motsvarande negativa tal) nedanstående tal. Talen skall representeras som binära 4-bitstal (Nibble) på två-komplementform. a) 1 + 2 b) 4 – 1 c) 7 – 8 d) -3 – 5 Exemplets negativa tal: -110 = (+110 = 00012  -110 = 11102 +12 ) = 11112 -810 = (+810 = 10002  -810 = 01112 +12 ) = 10002 -310 = (+310 = 00112  -310 = 11002 +12 ) = 11012 -510 = (+510 = 01012  -510 = 10102 +12 ) = 10112 William Sandqvist william@kth.se

William Sandqvist william@kth.se 2.2 -110 = 11112 -810 = 10002 -310 = 11012 -510 = 10112 William Sandqvist william@kth.se

William Sandqvist william@kth.se ÖH 2.3 a,b Multiplicera för hand följande par av teckenlösa binära tal. a) 110010 b) 11101001 William Sandqvist william@kth.se

William Sandqvist william@kth.se ÖH 2.3 c,d Multiplicera för hand följande par av teckenlösa binära tal. =110000000.011 =0.10110110 (51,257,5 =384,376) (0,81250,875 =0.7109375) Fixpunktsberäkning är en ”heltalsmultiplikation”, binärpunkten sätts in först i resultatet. William Sandqvist william@kth.se

William Sandqvist william@kth.se Dividera för hand följande par av teckenlösa binära tal. Vid heltalsdivision blir svaret i stället 1. William Sandqvist william@kth.se

William Sandqvist william@kth.se IEEE – 32 bit float Genom att exponenteten skrivs exess–127 kan flyttal storlekssorteras med vanlig heltalsaritmetik! Dec  IEEE-754 William Sandqvist william@kth.se

William Sandqvist william@kth.se 2.5 Flyttalsformat IEEE 32 bit flyttal s eeeeeeee fffffffffffffffffffffff 31 30 23 22 0 4 0 C 8 0 0 0 0 01000000110010000000000000000000 Vad blir: 0 10000001 10010000000000000000000 + 129-127 1 + 0.5+0.0625 +1,562522 = +6,25 William Sandqvist william@kth.se

William Sandqvist william@kth.se http://babbage.cs.qc.cuny.edu/IEEE-754/32bit.html William Sandqvist william@kth.se

Figure 5.34. IEEE Standard floating-point formats. Sign 32 bits 23 bits of mantissa excess-127 exponent 8-bit 52 bits of mantissa 11-bit excess-1023 64 bits S M (a) Single precision (b) Double precision E + 0 denotes – 1 denotes Figure 5.34. IEEE Standard floating-point formats.

William Sandqvist william@kth.se Overflow När man räknar med ”tal med tecken” kan summan av två positiva tal felaktigt bli negativ (tex. ”+4” + ”+5” = ”-7”), liksom summan av två negativa tal felaktigt kan bli positiv (tex. ”-6” + ”-7” = ”+3”). Detta kallas för Overflow. 32-bitarsdatorer behöver inte ha hårdvara för att upptäcka Carry eller Overflow – det är där sällsynta händelser. William Sandqvist william@kth.se

Figure 5.42. A comparator circuit.

William Sandqvist william@kth.se BV ex 5.10, < > = Flags, Comparator. Two four-bit signed numbers, X = x3x2x1x0 and Y = y3y2y1y0, can be compared by using a subtractor circuit, which performs the operation X – Y. The three Flag-outputs denote the following: Z = 1 if the result is 0; otherwise Z = 0 N = 1 if the result is negative; otherwise N = 0 V = 1 if aritmetic overflow occurs; otherwise V = 0 Show how Z, N, and V can be used to determine the cases X = Y, X < Y, X >Y. Subtractor circuit William Sandqvist william@kth.se

William Sandqvist william@kth.se BV ex 5.10 X = Y ? William Sandqvist william@kth.se

William Sandqvist william@kth.se BV ex 5.10 X < Y ? Om X och Y har samma tecken kommer X - Y alltid att ligga inom talområdet. Dvs. V = 0. X, Y positiva tex. 3 – 4 N = 1. X, Y negativa tex. -4 – (-3) N = 1. Om X neg och Y pos och X – Y ligger inom talområdet, blir V = 0 och N = 1. Tex. -3 – 4. Om X neg och Y pos men X – Y ligger utanför talområdet, blir V = 1. Då blir N = 0. Ex. -5 – 4 .  Vid X<Y blir flaggorna V och N således alltid olika. Detta kan indikeras med XOR. William Sandqvist william@kth.se

William Sandqvist william@kth.se BV ex 5.10 Så här kan en dator göra de vanligaste jämförelserna … William Sandqvist william@kth.se

William Sandqvist william@kth.se Träslöjds adderaren Rippel carry kan åskådliggöras med denna video … Marble adding machine William Sandqvist william@kth.se

William Sandqvist william@kth.se BV ex 5.12, mul  William Sandqvist william@kth.se

The ”ripple-carry” mul-circuit The Figure depicts a four-bit multiplier circuit. Each row consists of four fulladder (FA) blocks connected in a ripple-carry configuration. The delay caused by the carry signals rippling through the rows has a significant impact on the time needed to generate the output product. William Sandqvist william@kth.se

Summera partialprodukter Multiplicand M (14) 1110 Multiplier Q (11) 1011 PP0 1110 PP1 10101 0000 PP2 01010 1110 Product P (154) 10011010 William Sandqvist william@kth.se

William Sandqvist william@kth.se Ripple-carry path 8 William Sandqvist william@kth.se

William Sandqvist william@kth.se Speed up? In an attempt to speed up the circuit, we may use an arangement where the carries in a given row are “saved” (carry-save), and included in the next row at the correct bit position. Then, in the first row the full-adders can be used to add three properly shifted bits of the multiplicand as selected by the multiplier bits. For example, in bit position 2 the three inputs are m2q0, m1q1, m0q2. In the last row it is still necessary to use the ripple-carry adder. What is the total delay of the ”ripple-carry” circuit compared to that of the ”carry-save” circuit? William Sandqvist william@kth.se

”Carry-save” mul-circuit 6 Vid fler än 4 bitar blir skillnaden mycket större! William Sandqvist william@kth.se