ÖH kod. ( en variant av koden används i dag till butikernas streck-kod ) William Sandqvist

Relevanta dokument
IE1204 Digital Design

Datorsystemteknik DVG A03 Föreläsning 3

Digital- och datorteknik

Digital- och datorteknik

Talrepresentation. Heltal, positiva heltal (eng. integers)

Digital Aritmetik Unsigned Integers Signed Integers"

IE1205 Digital Design: F6 : Digital aritmetik 2

Digital- och datorteknik

Förenklad förklaring i anslutning till kompedieavsnitten 6.3 och 6.4

Digital- och datorteknik

Digital- och datorteknik

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Adderare. Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Adderare. Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45

Grundläggande Datorteknik Digital- och datorteknik

Styrteknik: Binära tal, talsystem och koder D3:1

Datoraritmetik. Binär addition papper och penna metod. Binär subtraktion papper och penna metod. Binär multiplikation papper och penna metod

F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Datorer i system! Roger Henriksson!

Laboration Kombinatoriska kretsar

Binär addition papper och penna metod

Digital elektronik CL0090

Talrepresentation. Ett tal kan representeras binärt på många sätt. De vanligaste taltyperna som skall representeras är:

Laboration Kombinatoriska kretsar

Maskinorienterad Programmering /2011. Maskinorienterad Programmering 2010/11. Maskinnära programmering C och assemblerspråk

Digital Design IE1204

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik

Tenta i Digitalteknik

F2 Binära tal EDA070 Datorer och datoranvändning

Calculate check digits according to the modulus-11 method

F2 Datarepresentation talbaser, dataformat och teckenkodning

I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal.

IE1204/IE1205 Digital Design

Flyttal kan också hantera vanliga tal som både 16- och 32-bitars dataregister hanterar.

Datorsystem. Övningshäfte. Senast uppdaterad: 22 oktober 2012 Version 1.0d

NUV 647E. Digitalteknik och Datorarkitektur 5hp. 3x12 = 36 2x12 = 24 1x12 = 12 0x12 = 18

Tenta i Digitalteknik

IE1204/5 Digital Design typtenta

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11

Tenta i Digitalteknik

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Tenta i Digitalteknik

Föreläsning 8: Aritmetik och stora heltal

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Tenta i Digitalteknik

Föreläsning 8: Aritmetik och stora heltal

Datorarkitektur I. Tentamen Lördag 10 April Ekonomikum, B:154, klockan 09:00 14:00. Följande gäller: Skrivningstid: Fråga

Grunderna i stegkodsprogrammering

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Omtentamen med lösningar i IE1204/5 Digital Design Fredag 10/

Moment 2 - Digital elektronik. Föreläsning 1 Binära tal och logiska grindar

Tentamen i IE1204/5 Digital Design Torsdag 29/

DIGITALA TAL OCH BOOLESK ALGEBRA

DOP-matematik Copyright Tord Persson Övning Bråkräkning. Matematik 1. Uppgift nr 14 Addera 9. Uppgift nr 15 Addera 3. Uppgift nr 16 Subtrahera

0.1. INTRODUKTION Instruktionens opcode decodas till en språknivå som är förstålig för ALUn.

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013

Tentamen. Datorteknik Y, TSEA28

Tenta i Digitalteknik

Digitalteknik och Datorarkitektur 5hp

OBS!! Detta är DEL 2 av tentan. För att få ut denna måste du ha lämnat in del 1. Om du inte fått ut del 1 bör du meddela skrivningsvakten. OBS!!

Det finns en hemsida. Adressen är

Institutionen för elektro- och informationsteknologi, LTH

Innehåll. Datorteknik. Abstraktionsnivå 1. Spelkonsol - blockschema. Spelkonsol abstraktionsnivå 2. Abstraktionsnivå 2

Tenta i Digitalteknik

PARITETSKONTROLL. Om generatorn i vidstående exempel avkänner ett jämt antal ettor ger den en nolla ut. Detta innebär att överföringen

Kodningskonventioner (XCC12) Specifikation av strncpy: Övningsexempel: Maskinorienterad Programmering 2011/2012

Maskinorienterad programmering. Kompendium: Aritmetik för HC12 Roger Johansson, 2013

Datoraritmetik. Från labben. Från labben. Några exempel

Exempelsamling Assemblerprogrammering

Mintermer. SP-form med tre mintermer. William Sandqvist

Tentamen med lösningar i IE1204/5 Digital Design Måndag 27/

Tentamen med lösningar i IE1204/5 Digital Design Torsdag 29/

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

Tentamen med lösningar i IE Digital Design Fredag 15/

Arbetsblad 5:2. Förkorta och förlänga bråk. 1 Förkorta med 2. 2 Förkorta med 5. 3 Förkorta med 3. 4 a) 4 = b) a) 6 = b) 16.

PNSPO! Adressering i Omrons PLC. 14 mars 2012 OMRON Corporation

Digital Design IE1204

KW ht-17. Övningsuppgifter

IE1204/5 Digital Design typtenta

Tentamen i IE1204/5 Digital Design måndagen den 15/

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

Föreläsning 8: Aritmetik I

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

Digitalteknik och Datorarkitektur

Binär aritmetik TSIU02 Datorteknik

Kort beskrivning av Sveriges första dator BESK

Inledning. Statistisk Programmering. UNIVAC 1107 (sextio- och sjuttiotal) Hålkorten. Att använda dator

Complex numbers. William Sandqvist

Omtentamen IE Digital Design Måndag 14/

Digital Design IE1204

Tentamen med lösningar för IE1204/5 Digital Design Torsdag 15/

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

Tentamen i IE Digital Design Fredag 21/

Tentamen IE Digital Design Fredag 15/

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

IE1205 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering

Digital- och datorteknik

Lösningsförslag tenta

Transkript:

Ö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 )

Ex 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 )

Ex 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 )

8.4

8.4

8.4 y + 8 = x7x2 x7x1

8.4 8 = x7x2 x7x1 y 4 = x4 + x7 x2 x1 y +

8.4 8 = x7x2 x7x1 y 4 = x4 + x7 x2 x1 y 2 = x7 x2 + x7 x2 x1 y + y + 1 = x7 x1 + x7x2 x7 x2 x1

8.4 Gemensamma hoptagningar kan ge delade grindar! 8 = x7x2 x7x1 y 4 = x4 + x7 x2 x1 y 2 = x7 x2 + x7 x2 x1 y + y + 1 = x7 x1 + x7x2 x7 x2 x1

8.4 PLA-kretsar innehåller programerbara AND och OR grindar. (Detta visade sig vara onödigt komplext, så det vanliga blev PAL-kretsar med endast AND-nätet programmerbart). Grindarna har många programmerbara ingångsanslutningar. De många ingångarna ritas därför oftast med ett förenklat ritsätt.

8.4 Grind-delning!

8.4 Grind-delning!

8.4 Grind-delning!

Reella tal Decimalkomma, och Binärpunkt. 10,3125 10 = 1010.0101 2

Ex 1.2b 110100.010 2 =

Ex 1.2b 110100.010 2 = = ( 2 5 +2 4 +2 2 + 2-2 = 32+16+4 + 0.25 ) = = 52,25 10

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 2 4 = 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.

Registerlängd 4 bitar kallas Nibble. Registret rymmer 2 4 = 16 tal. 0 15, -8 +7 8 bitar kallas Byte. Registret rymmer 2 8 = 256 tal. 0 255, -128 +127 16 bitar kallas Word. 2 16 = 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.

Ex 1.8 Skriv följande tal med tecken med två-komplementsnotation, x = (x 6, x 5, x 4, x 3, x 2, x 1, x 0 ). a) -23 b) -1 = c) +38 = d) -64 =

Ex 1.8 Skriv följande tal med tecken med två-komplementsnotation, x = (x 6, x 5, x 4, x 3, x 2, x 1, x 0 ). a) -23 = (+23 10 = 0010111 2-23 10 = 1101000 2 + 1 2 ) = 1101001 2 = 105 10 b) -1 = c) +38 = d) -64 =

Ex 1.8 Skriv följande tal med tecken med två-komplementsnotation, x = (x 6, x 5, x 4, x 3, x 2, x 1, x 0 ). a) -23 = (+23 10 = 0010111 2-23 10 = 1101000 2 + 1 2 ) = 1101001 2 = 105 10 b) -1 = (+1 10 = 0000001 2-1 10 = 1111110 2 + 1 2 ) = 1111111 2 = 127 10 c) +38 = d) -64 =

Ex 1.8 Skriv följande tal med tecken med två-komplementsnotation, x = (x 6, x 5, x 4, x 3, x 2, x 1, x 0 ). a) -23 = (+23 10 = 0010111 2-23 10 = 1101000 2 + 1 2 ) = 1101001 2 = 105 10 b) -1 = (+1 10 = 0000001 2-1 10 = 1111110 2 + 1 2 ) = 1111111 2 = 127 10 c) +38 = (32 10 +4 10 +2 10 ) = 0100110 2 = 38 10 d) -64 =

Ex 1.8 Skriv följande tal med tecken med två-komplementsnotation, x = (x 6, x 5, x 4, x 3, x 2, x 1, x 0 ). a) -23 = (+23 10 = 0010111 2-23 10 = 1101000 2 + 1 2 ) = 1101001 2 = 105 10 b) -1 = (+1 10 = 0000001 2-1 10 = 1111110 2 + 1 2 ) = 1111111 2 = 127 10 c) +38 = (32 10 +4 10 +2 10 ) = 0100110 2 = 38 10 d) -64 = (+64 10 = 1000000 2 är ett för stort positivt tal! men fungerar ändå -64 10 0111111 2 + 1 2 ) = 1000000 2 = 64 10

Ex 2.1 a) 110 + 010 b) 1110 + 1001 c) 11 0011.01 + 111.1 d) 0.1101 + 0.1110

Heladderaren

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 representeras 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 C IN = 1.

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

2-komplementet snabbt För att lätt ta fram 2-komplementet av ett binärtal kan man använda följande förfarande: Börja från höra sidan Kopiera alla bitar från binärtalet som är 0 och den första 1:an Invertera Invertera alla andra bitar Kopiera Exempel: 2-komplement från 110 är 010

Ex 2.2 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: -1 10 = (+1 10 = 0001 2-1 10 = 1110 2 +1 2 ) = 1111 2-8 10 = (+8 10 = 1000 2-8 10 = 0111 2 +1 2 ) = 1000 2-3 10 = (+3 10 = 0011 2-3 10 = 1100 2 +1 2 ) = 1101 2-5 10 = (+5 10 = 0101 2-5 10 = 1010 2 +1 2 ) = 1011 2

2.2-1 10 = 1111 2-8 10 = 1000 2-3 10 = 1101 2-5 10 = 1011 2

Ex 2.3 a,b Multiplicera för hand följande par av teckenlösa binära tal. a) 110 010 b) 1110 1001

Ex 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.

Ex 2.4 Dividera för hand följande par av teckenlösa binära tal. Trappan:

Ex 2.4 Dividera för hand följande par av teckenlösa binära tal. Trappan: Vid heltalsdivision blir svaret i stället 1.

Ex 2.4 Dividera för hand följande par av teckenlösa binära tal. Kort division: a) 110/010=(6/2=3)=011 110 10 = 1 110 1 10 = 1 110 11 10 =

Ex 2.4 Dividera för hand följande par av teckenlösa binära tal. Kort division: b) 1110/1001=(14/9=1,55 )=1.10 1110 1001 = 101 1110 1001 =1 10 1 0 1110. 1001 =1. 1 1110. 1.1 1001 =... Vid heltalsdivision blir svaret i stället 1.

IEEE 32 bit float Genom att exponenteten skrivs exess 127 kan flyttal storlekssorteras med vanlig heltalsaritmetik! Dec IEEE-754

2.5 Flyttalsformat IEEE 32 bit flyttal s eeeeeeee fffffffffffffffffffffff 31 30 23 22 0

2.5 Flyttalsformat IEEE 32 bit flyttal s eeeeeeee fffffffffffffffffffffff 31 30 23 22 0 Vad blir: 4 0 C 8 0 0 0 0 01000000110010000000000000000000

2.5 Flyttalsformat IEEE 32 bit flyttal s eeeeeeee fffffffffffffffffffffff 31 30 23 22 0 Vad blir: 4 0 C 8 0 0 0 0 01000000110010000000000000000000 0 10000001 10010000000000000000000 + 129-127 1 + 0.5+0.0625

2.5 Flyttalsformat IEEE 32 bit flyttal s eeeeeeee fffffffffffffffffffffff 31 30 23 22 0 Vad blir: 4 0 C 8 0 0 0 0 01000000110010000000000000000000 0 10000001 10010000000000000000000 + 129-127 1 + 0.5+0.0625 +1,5625 2 2 = +6,25

http://babbage.cs.qc.cuny.edu/ieee-754/32bit.html

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

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.

Figure 5.42. A comparator circuit.

Logik för att detektera overflow För 4-bit-tal Overflow om c 3 och c 4 är olika Annars är det inte overflow XOR testar olikhet Overflow = c 3 c 4 + c 3 c 4 = c 3 c 4 För n-bit-tal Overflow = c n 1 c n

BV ex 5.10, < > = Flags, Comparator. Two four-bit signed numbers, X = x 3 x 2 x 1 x 0 and Y = y 3 y 2 y 1 y 0, 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

BV ex 5.10 X = Y? X V Z Y = c 4 c 3 3 2 N = 1 s = ( s + s + s + s0) 3 X = Y?

BV ex 5.10 X = Y? X V Z Y = c 4 c 3 3 2 N = 1 s = ( s + s + s + s0) 3 X = Y? X = Y Z =1

X < Y? Några testtal: BV ex 5.10 V X < Y X Y V N 3 4 3 4= 1 0 1 4 3 4 3= 1 0 1 3 4 3 4= 7 0 1 5 4 5 4=+ 7 1 0 X Z Y = c 4 c 3 3 2 N = 1 s = ( s + s + s + s ) 0 3

X < Y? BV ex 5.10 X V Z Y = c 4 c 3 3 2 N = 1 s = ( s + s + s + s ) 0 3 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.

X < Y? BV ex 5.10 X V Z Y = c 4 c 3 3 2 N = 1 s = ( s + s + s + s ) 0 3 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. X < Y N V

BV ex 5.10 ( 0) 1 2 3 3 3 4 s s s s Z s N c c V Y X + + + = = = 1 X Y Z X Y N V X Y X Y X Y = = < >

BV ex 5.10 ( 0) 1 2 3 3 3 4 s s s s Z s N c c V Y X + + + = = = V N Y X V N Z V N Z Y X V N Z Y X V N Y X Z Y X = + > + < = = ) ( 1

BV ex 5.10 ( 0) 1 2 3 3 3 4 s s s s Z s N c c V Y X + + + = = = V N Y X V N Z V N Z Y X V N Z Y X V N Y X Z Y X = + > + < = = ) ( 1 Så här kan en dator göra de vanligaste jämförelserna

Träslöjds adderaren Rippel carry kan åskådliggöras med denna video Marble adding machine

Ex 8.11 Multiply with 6?

Ex 8.11 Multiply with 6! x 1 0 0

Ex 8.11 Multiply with 6! x 2 0 x 1 0 0

Ex 8.11 Multiply with 6! x 2 0 x 1 0 0 0 2 ( x 2 + x 1)

Ex 8.11 Multiply with 6! 15 6 = 90 x 2 0 1111= 15 x 1 0 0 0 2 ( x 2 + x 1) 1011010= 90