DCD Lecture 01
-
Upload
jason-chang -
Category
Documents
-
view
223 -
download
0
Transcript of DCD Lecture 01
-
8/8/2019 DCD Lecture 01
1/50
Digital Circuit Design
Digital Systems andBinary Numbers
Lan-Da Van (), Ph. D.Department of Computer Science
National Chiao Tung UniversityTaiwan, R.O.C.
Fall, 2010
http://www.cs.nctu.edu.tw/~ldvan/
-
8/8/2019 DCD Lecture 01
2/50
Lecture 1
Digital Circuit Design
Lan-Da Van DCD-01-2
Digital Systems
Binary Numbers
Number-Base Conversion
Octal and Hexadecimal Number
Signed Binary Numbers
Binary Codes
Binary Storage and Registers
Binary Logic
Outline
-
8/8/2019 DCD Lecture 01
3/50
Lecture 1
Digital Circuit Design
Lan-Da Van DCD-01-3
Digital age and information age
Digital computers
general purposes
many scientific, industrial and commercial applications
Digital systems
telephone switching exchanges digital camera
electronic calculators, PDA's
digital TV
Discrete information-processing systems
manipulate discrete elements of information
Digital System
Di i l Ci i D i
-
8/8/2019 DCD Lecture 01
4/50
Lecture 1
Digital Circuit Design
Lan-Da Van DCD-01-4
A Digital Computer Example
Synchronous or
Asynchronous?
Inputs: Keyboard,
mouse, modem,
microphone
Outputs: CRT,
LCD, modem,
speakers
Memory
Control
unit
Datapath
Input/Output
CPU
Di it l Ci it D i
-
8/8/2019 DCD Lecture 01
5/50
Lecture 1
Digital Circuit Design
Lan-Da Van DCD-01-5
Signal
An information variable represented by physical quantityFor digital systems, the variable takes on digital values
Two level, or binary values are the most prevalent values
Binary values are represented abstractly by:
digits 0 and 1
words (symbols) False (F) and True (T)
words (symbols) Low (L) and High (H)
words On and Off.
Binary values are represented by values or ranges of
values of physical quantities
Digital Circuit Design
-
8/8/2019 DCD Lecture 01
6/50
Lecture 1
Digital Circuit Design
Lan-Da Van DCD-01-6
Signal
Analog signal
t->y: y=f(t), y:C, n:C
Discrete-time signal
n->y: y=f(nT), y:C, n:Z
Digital signal
n->y: y=D{f(nT)}, y:Z,n:Z
)3(
)1(
)2(
)1(
2)1110(
2)1000(
2)1011( 2)1000(
t n n
y y y
Analog Signal Discrete-Time Signal Digital Signal
Digital Circuit Design
-
8/8/2019 DCD Lecture 01
7/50
Lecture 1
Digital Circuit Design
Lan-Da Van DCD-01-7
Binary Numbers
Decimal number
5 4 3 2 1 0 1 2 3
5 4 3 2 1 0 1 2 310 10 10 10 10 10 10 10 10a a a a a a a a a
a5a4a3a2a1a0.a1a2a3
Decimal point
3 2 1 07,329 7 10 3 10 2 10 9 10
Example:
ja
Base or radix
Power
General form of base-r system
1 2 1 1 21 2 1 0 1 2
n n m
n n ma r a r a r a r a a r a r a r
Coefficient: aj = 0 to r 1
Digital Circuit Design
-
8/8/2019 DCD Lecture 01
8/50
Lecture 1
Digital Circuit Design
Lan-Da Van DCD-01-8
Example: Base-2 number
Binary Numbers
2 10
4 3 2 1 0 1 2(11010.11) (26.75)
1 2 1 2 0 2 1 2 0 2 1 2 1 2
Example: Base-5 number
5
3 2 1 0 110
(4021.2)
4 5 0 5 2 5 1 5 2 5 (511.5)
Example: Base-8 number
Example: Base-16 number
3 2 1 0
16 10(B65F) 11 16 6 16 5 16 15 16 (46,687)
4
101012
8
)5.87(84878281
)4.127(
Digital Circuit Design
-
8/8/2019 DCD Lecture 01
9/50
Lecture 1
Digital Circuit Design
Lan-Da Van DCD-01-9
Binary Numbers
Example: Base-2 number
2 10(110101) 32 16 4 1 (53)
Special Powers of 2
210 (1024) is Kilo, denoted "K"
220 (1,048,576) is Mega, denoted "M"
230 (1,073, 741,824) is Giga, denoted "G"
Digital Circuit Design
-
8/8/2019 DCD Lecture 01
10/50
Lecture 1
g g
Lan-Da Van DCD-01-10
Arithmetic operations with numbers in base rfollow the same rules as decimalnumbers.
Binary Numbers
Digital Circuit Design
-
8/8/2019 DCD Lecture 01
11/50
Lecture 1
g g
Lan-Da Van DCD-01-11
Binary Arithmetic
Addition
Augend: 101101
Addend: +100111
Sum: 1010100
Subtraction
Minuend: 101101
Subtrahend: 100111
Difference: 000110
Multiplicand 1011
Multiplier 101Partial Products 1011
0000 -1011 - -
Product 110111
Multiplication
Digital Circuit Design
-
8/8/2019 DCD Lecture 01
12/50
Lecture 1
Lan-Da Van DCD-01-12
Octal and Hexadecimal Numbers
Numbers with different bases: Table 1.2.
Digital Circuit Design
-
8/8/2019 DCD Lecture 01
13/50
Lecture 1
Lan-Da Van DCD-01-13
Example1.1
Convert decimal 41 to binary. The process is continued until the integer quotientbecomes 0.
Number-Base Conversions
10/2
5/2
2/2
1/2
5
2
1
0
Digital Circuit Design
-
8/8/2019 DCD Lecture 01
14/50
Lecture 1
Lan-Da Van DCD-01-14
The arithmetic process can be manipulated more conveniently as follows:
Number-Base Conversions
Answer=(101001)2
Digital Circuit Design
-
8/8/2019 DCD Lecture 01
15/50
Lecture 1
Lan-Da Van DCD-01-15
Example 1.2
Convert decimal 153 to octal. The required base ris 8.
Number-Base Conversions
Digital Circuit Design
-
8/8/2019 DCD Lecture 01
16/50
Lecture 1
Lan-Da Van DCD-01-16
Example1.3
To convert a decimal fraction to a number expressed in base r, a similarprocedure is used. However, multiplication is by rinstead of 2, and thecoefficients found from the integers may range in value from 0 to r 1instead of 0 and 1.
Convert (0.6875)10
to binary.
The process is continued until the fraction becomes 0 or until the number of digits hassufficient accuracy.
Number-Base Conversions
Digital Circuit Design
-
8/8/2019 DCD Lecture 01
17/50
Lecture 1
Lan-Da Van DCD-01-17
Example1.4
Convert (0.513)10 to octal.
From Examples 1.1 and 1.3: (41.6875)10 = (101001.1011)2
From Examples 1.2 and 1.4: (153.513)10 = (231.406517)8
Number-Base Conversions
Digital Circuit Design
-
8/8/2019 DCD Lecture 01
18/50
Lecture 1
Lan-Da Van DCD-01-18
Conversion from binary to octal can be done by positioning the binary number intogroups of three digits each, starting from the binary point and proceeding to the left
and to the right.
Conversion from binary to hexadecimal is similar, except that the binary number isdivided into groups of four digits:
(10 110 001 101 011 111 100 000 110) 2 = (26153.7406)8
2 6 1 5 3 7 4 0 6
Conversion from octal or hexadecimal to binary is done by reversing the precedingprocedure.
Number-Base Conversions
Digital Circuit Design
-
8/8/2019 DCD Lecture 01
19/50
Lecture 1
Lan-Da Van DCD-01-19
There are two types of complements for each base-rsystem: the radix complement anddiminished radix complement.
the r's complement and the second as the (r 1)'s complement.
Diminished Radix Complement
Example:
For binary numbers, r= 2 and r 1 = 1, so the 1's complement of Nis (2n 1) N.
Example:
Complements
Digital Circuit Design
-
8/8/2019 DCD Lecture 01
20/50
Lecture 1
Lan-Da Van DCD-01-20
Radix ComplementThe r's complement of an n-digit number Nin base r is defined as rn Nfor N 0and as 0 for N= 0. Comparing with the (r 1) 's complement, we note that the r'scomplement is obtained by adding 1 to the (r 1) 's complement, since rn N= [(rn1) N] + 1.
Example: Base-10
The 10's complement of 012398 is 987602The 10's complement of 246700 is 753300
Example: Base-2
The 2's complement of 1101100 is 0010100The 2's complement of 0110111 is 1001001
Complements
Digital Circuit Design
-
8/8/2019 DCD Lecture 01
21/50
Lecture 1
Lan-Da Van DCD-01-21
Subtraction with ComplementsThe subtraction of two n-digit unsigned numbers M Nin base rcan be done as follows:
Complements
an
Digital Circuit Design
-
8/8/2019 DCD Lecture 01
22/50
Lecture 1
Lan-Da Van DCD-01-22
Example 1.5
Using 10's complement, subtract 72532 3250.
Example 1.6
Using 10's complement, subtract 3250 72532
There is no end carry.
Therefore, the answer is (10's complement of 30718) = 69282.
Complements
Digital Circuit Design
-
8/8/2019 DCD Lecture 01
23/50
Lecture 1
Lan-Da Van DCD-01-23
Example 1.7
Given the two binary numbers X= 1010100 and Y= 1000011, perform the subtraction (a)X Y and (b) Y Xby using 2's complement.
There is no end carry.Therefore, the answer is
Y X= (2's complementof 1101111) = 0010001.
Complements
Digital Circuit Design
-
8/8/2019 DCD Lecture 01
24/50
Lecture 1
Lan-Da Van DCD-01-24
Complements
Subtraction of unsigned numbers can also be done by means of the (r 1)'scomplement. Remember that the (r 1) 's complement is one less than the r's
complement.Example 1.8
Repeat Example 1.7, but this time using 1's complement.
There is no end carry,Therefore, the answer isY X= (1's complementof 1101110) = 0010001.
Digital Circuit Design
Si d Bi N b
-
8/8/2019 DCD Lecture 01
25/50
Lecture 1
Lan-Da Van DCD-01-25
Signed Binary Numbers
To represent negative integers, we need a notation for negative values. It is customary to represent the sign with a bit placed in the leftmost position of the
number. The convention is to make the sign bit 0 for positive and 1 for negative.
Example:
Digital Circuit Design
Si d Bi N b
-
8/8/2019 DCD Lecture 01
26/50
Lecture 1
Lan-Da Van DCD-01-26
Signed Binary Numbers
Table 3 lists all possible four-bit signed binary numbers in the three representations.
Digital Circuit Design
Si d Bi N b
-
8/8/2019 DCD Lecture 01
27/50
Lecture 1
Lan-Da Van DCD-01-27
Signed Binary Numbers
Arithmetic Addition
The addition of two signed binary numbers with negative numbers represented insigned-2's-complement form is obtained from the addition of the two numbers,including their sign bits.
A carry out of the sign-bit position is discarded.
Example:
The addition of two numbers in the signed-magnitude system follows the rules of
ordinary arithmetic. If the signs are the same, we add the two magnitudes andgive the sum the common sign. If the signs are different, we subtract the smallermagnitude from the larger and give the difference the sign if the larger magnitude.
Digital Circuit Design
Signed Binary Numbers
-
8/8/2019 DCD Lecture 01
28/50
Lecture 1
Lan-Da Van DCD-01-28
Signed Binary Numbers
Arithmetic Subtraction In 2s-complement form:
1. Take the 2s complement of the subtrahend (including the sign bit) and add it to
the minuend (including sign bit).
2. A carry out of sign-bit position is discarded.
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
A B A B
A B A B
Example:
( 6) ( 13) (11111010 11110011)
(11111010 + 00001101)
00000111 (+ 7)
Digital Circuit Design
BCD Code
-
8/8/2019 DCD Lecture 01
29/50
Lecture 1
Lan-Da Van DCD-01-29
BCD Code
BCD Code A number with kdecimal digits willrequire 4kbits in BCD. Decimal 396is represented in BCD with 12bits as
0011 1001 0110, with each group of
4 bits representing one decimal digit.
A decimal number in BCD is the
same as its equivalent binary
number only when the number is
between 0 and 9. A BCD number
greater than 10 looks different from
its equivalent binary number, even
though both contain 1's and 0's.
Moreover, the binary combinations1010 through 1111 are not used and
have no meaning in BCD.
Digital Circuit Design
BCD Code
-
8/8/2019 DCD Lecture 01
30/50
Lecture 1
Lan-Da Van DCD-01-30
BCD Code
Example:
Consider decimal 185 and its corresponding value in BCD and binary:
BCD Addition
Digital Circuit Design
BCD Code
-
8/8/2019 DCD Lecture 01
31/50
Lecture 1
Lan-Da Van DCD-01-31
BCD Code
Example:
Consider the addition of 184 + 576 = 760 in BCD:
Decimal Arithmetic
1
Digital Circuit Design
Other Decimal Codes
-
8/8/2019 DCD Lecture 01
32/50
Lecture 1
Lan-Da Van DCD-01-32
Other Decimal Codes
Other Decimal Codes
Digital Circuit Design
Gray Code
-
8/8/2019 DCD Lecture 01
33/50
Lecture 1
Lan-Da Van DCD-01-33
Gray Code
Gray Code
Digital Circuit Design
Gray Code
-
8/8/2019 DCD Lecture 01
34/50
Lecture 1
Lan-Da Van DCD-01-34
Does this special Gray code property have
any value?An Example: Optical Shaft Encoder
B 0
111
110
000
001
010
011100
101
B 1
B 2
(a) Binary Code for Positions 0 through 7
G 0G 1
G 2
111
101
100 000
001
011
010110
(b) Gray Code for Positions 0 through 7
Gray Code
Digital Circuit Design
ASCII Character Code
-
8/8/2019 DCD Lecture 01
35/50
Lecture 1
Lan-Da Van DCD-01-35
ASCII Character Code
ASCII Character Code
Digital Circuit Design
ASCII Character Code
-
8/8/2019 DCD Lecture 01
36/50
Lecture 1
Lan-Da Van DCD-01-36
ASCII Character Code
ASCII Character Code
Digital Circuit Design
ASCII Character Code
-
8/8/2019 DCD Lecture 01
37/50
Lecture 1
Lan-Da Van DCD-01-37
ASCII Character Code
American Standard Code for Information Interchange (Refer
to Table 1.7)A popular code used to represent information sent ascharacter-based data.
It uses 7-bits to represent:
94 Graphic printing characters. 34 Non-printing characters
Some non-printing characters are used for text format (e.g.BS = Backspace, CR = carriage return)
Other non-printing characters are used for record markingand flow control (e.g. STX and ETX start and end text areas).
Digital Circuit Design
ASCII Character Code
-
8/8/2019 DCD Lecture 01
38/50
Lecture 1
Lan-Da Van DCD-01-38
ASCII Character Code
ASCII has some interesting properties:
Digits 0 to 9 span Hexadecimal values 3016 to 3916 .
Upper case A - Z span 4116to 5A16 .
Lower case a - z span 6116 to 7A16 .
Lower to upper case translation (and vice versa)
occurs by flipping bit 6. Delete (DEL) is all bits set,a carryover from when
punched paper tape was used to store messages.
Punching all holes in a row erased a mistake!
Digital Circuit Design
Error Detection Code
-
8/8/2019 DCD Lecture 01
39/50
Lecture 1
Lan-Da Van DCD-01-39
Error Detection Code
Error-Detecting Code
To detect errors in data communication and processing, an eighth bit is sometimesadded to the ASCII character to indicate its parity.
A paritybit is an extra bit included with a message to make the total number of 1's
either even or odd.
Example:
Consider the following two characters and their even and odd parity:
Digital Circuit Design
Error Detection Code
-
8/8/2019 DCD Lecture 01
40/50
Lecture 1
Lan-Da Van DCD-01-40
Error Detection Code
Error-Detecting CodeRedundancy (e.g. extra information), in the form of extra bits,can be incorporated into binary code words to detect andcorrect errors.
A simple form of redundancy is parity, an extra bit appendedonto the code word to make the number of 1s odd or even.
Parity can detect all single-bit errors and some multiple-biterrors.
A code word has even parity if the number of 1s in the codeword is even.
A code word has odd parity if the number of 1s in the codeword is odd.
Digital Circuit Design
Conversion or Coding?
-
8/8/2019 DCD Lecture 01
41/50
Lecture 1
Lan-Da Van DCD-01-41
Conversion or Coding?
Do NOT mix up conversion of a decimal number to a
binary number with coding a decimal number with aBINARY CODE.
1310 = 11012 (This is conversion)
13 0001|0011 (This is coding)
Digital Circuit Design
Binary Storage and Registers
-
8/8/2019 DCD Lecture 01
42/50
Lecture 1
Lan-Da Van DCD-01-42
Binary Storage and Registers
Registers A binary cellis a device that possesses two stable states and is capable of storing
one of the two states.
A registeris a group of binary cells. A register with ncells can store any discrete
quantity of information that contains nbits.
ncells 2n possible states
A binary cell two stable state store one bit of information examples: flip-flop circuits, ferrite cores, capacitor
A register a group of binary cells AX in x86 CPU
Register Transfer a transfer of the information stored in one register to another one of the major operations in digital system an example
Digital Circuit Design
Transfer of information
-
8/8/2019 DCD Lecture 01
43/50
Lecture 1
Lan-Da Van DCD-01-43
Digital Circuit Design
Example of BinaryInformation Processing
-
8/8/2019 DCD Lecture 01
44/50
Lecture 1
Lan-Da Van DCD-01-44
Information Processing
Digital Circuit Design
Binary Logic
-
8/8/2019 DCD Lecture 01
45/50
Lecture 1
Lan-Da Van DCD-01-45
y g
Binary logic consists of binary variables and a set of logical operations. The variablesare designated by letters of the alphabet, such as A, B, C, x, y, z, etc, with each
variable having two and only two distinct possible values: 1 and 0, There are threebasic logical operations: AND, OR, and NOT.
Digital Circuit Design
Binary Logic
-
8/8/2019 DCD Lecture 01
46/50
Lecture 1
Lan-Da Van DCD-01-46
y g
The truth tables for AND, OR, and NOT are given in Table 1.8.
Digital Circuit Design
Binary Logic
-
8/8/2019 DCD Lecture 01
47/50
Lecture 1
Lan-Da Van DCD-01-47
y g
Logic gates Example of binary signals
Digital Circuit Design
Binary Logic
-
8/8/2019 DCD Lecture 01
48/50
Lecture 1
Lan-Da Van DCD-01-48
g
Logic gates Graphic Symbols and Input-Output Signals for Logic gates:
Input-Output signals
for gates
Digital Circuit Design
Binary Logic
-
8/8/2019 DCD Lecture 01
49/50
Lecture 1
Lan-Da Van DCD-01-49
Logic gates Graphic Symbols and Input-Output Signals for Logic gates:
Digital Circuit Design
Conclusion
-
8/8/2019 DCD Lecture 01
50/50
Lecture 1
Lan-Da Van DCD-01-50
Conclusion
You have learned the following terms:
Binary number Number Conversion
Complement
Simple arithmetic
Binary codes
Storage and register Binary logic