Chapter 1 - PPT - Mano & Kime

Download Report

Transcript Chapter 1 - PPT - Mano & Kime

Logic and Computer Design Fundamentals
Chapter 1 – Digital Systems
and Information
Charles Kime & Thomas Kaminski
© 2008 Pearson Education, Inc.
(Hyperlinks are active in View Show mode)
Overview









Digital Systems, Computers, and Beyond
Information Representation
Number Systems [binary, octal and hexadecimal]
Arithmetic Operations
Base Conversion
Decimal Codes [BCD (binary coded decimal)]
Alphanumeric Codes
Parity Bit
Gray Codes
Chapter 1
2
DIGITAL & COMPUTER SYSTEMS - Digital System
 Takes a set of discrete information inputs and discrete
internal information (system state) and generates a set
of discrete information outputs.
Discrete
Inputs
Discrete
Information
Processing
System
Discrete
Outputs
System State
Chapter 1
3
Types of Digital Systems
 No state present
• Combinational Logic System
• Output = Function(Input)
 State present
• State updated at discrete times
=> Synchronous Sequential System
• State updated at any time
=>Asynchronous Sequential System
• State = Function (State, Input)
• Output = Function (State)
or Function (State, Input)
Chapter 1
4
INFORMATION REPRESENTATION - Signals
 Information variables represented by physical quantities.
 Two level, or binary values are the most prevalent values
in digital systems.
 Binary values are represented abstractly by:
•
•
•
•
digits 0 and 1
words (symbols) False (F) and True (T)
words (symbols) Low (L) and High (H)
and words On and Off.
 Binary values are represented by values or ranges of
values of physical quantities
Chapter 1
5
Signal Example – Physical Quantity: Voltage
Threshold
Region
Chapter 1
6
Binary Values: Other Physical Quantities
 What are other physical quantities
represent 0 and 1?
• CPU Voltage
• Disk Magnetic Field Direction
• CD Surface Pits/Light
• Dynamic RAM Electrical Charge
Chapter 1
7
NUMBER SYSTEMS – Representation
 Positive radix, positional number systems
 A number with radix r is represented by a
string of digits:
An - 1An - 2 … A1A0 . A- 1 A- 2 … A- m + 1 A- m
in which 0 Ai < r and . is the radix point.
 The string of digits represents the power series:
(
i=n-1
(Number)r =
i=0
Ai
r )+( 
j=-1
i
Aj
r)
j
j=-m
(Integer Portion) + (Fraction Portion)
Chapter 1
8
NUMBER SYSTEMS – Representation
 Example
• The decimal number 724.5 represents
• 7 hundreds + 2 tens + 4 units + 5 tenths
• The hundreds, tens, units and tenths are powers of
•
•
10 implied by the position of the digits
The value of the number is computed as
724.5 = 7x102+ 2x101+ 4x100+ 5x10-1
Chapter 1
9
NUMBER SYSTEMS – Representation
Name
Radix
Digits
Binary
2
0,1
Octal
8
0,1,2,3,4,5,6,7
Decimal
10
0,1,2,3,4,5,6,7,8,9
Hexadecimal
16
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
The six letters A, B, C, D, E, and F represent the digits for values
10, 11, 12, 13, 14, 15 (given in decimal), respectively, in hexadecimal
Chapter 1
10
Number Systems – Examples
Radix (Base)
Digits
0
1
2
3
Powers of 4
Radix
5
-1
-2
-3
-4
-5
General
Decimal
Binary
r
10
2
0 => r - 1
0 => 9
0 => 1
r0
r1
r2
r3
r4
r5
r -1
r -2
r -3
r -4
r -5
1
10
100
1000
10,000
100,000
0.1
0.01
0.001
0.0001
0.00001
1
2
4
8
16
32
0.5
0.25
0.125
0.0625
0.03125
Chapter 1
11
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"
 240 (1,099,511,627,776 ) is Tera, denoted “T"
Chapter 1
12
BASE CONVERSION - Positive Powers of 2
 Value = 2Exponent
Exponent Value
0
1
1
2
2
4
3
8
4
16
5
32
6
64
7
128
8
256
9
512
10
1024
Exponent Value
11
2,048
12
4,096
13
8,192
14
16,384
15
32,768
16
65,536
17
131,072
18
262,144
19
524,288
20
1,048,576
21
2,097,152
Chapter 1
13
Commonly Occurring Bases
Name
Radix
Digits
Binary
2
0,1
Octal
8
0,1,2,3,4,5,6,7
Decimal
10
0,1,2,3,4,5,6,7,8,9
Hexadecimal
16
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
 The six letters (in addition to the 10
integers) in hexadecimal represent:
Chapter 1
14
BASE CONVERSION
2

2
8
8
10
16


10
16

Chapter 1
15
Converting Binary to Decimal
 To convert to decimal, use decimal arithmetic
to form S (digit × respective power of 2).
 Example:Convert 110102 to N10:
110102 =1 X 24+1 X 23 +0 X 22+1 X 21 + 0 X 20 = 2610
16
8
4
2
1
1
1
0
1
0
110102 = 16 + 8 + 0 + 2 + 0 = 2610
Assignment : Convert (101010) 2 and (110011) 2to decimal
Converting Decimal to Binary
 Method 1
0
1
1
2
2
4
3
8
4
16
5
32
6
64
7
128
8
256
9
512
10
1024
• Subtract the largest power of 2 that gives a positive
remainder and record the power.
• Repeat, subtracting from the prior remainder and
recording the power, until the remainder is zero.
• Place 1’s in the positions in the binary result
corresponding to the powers recorded; in all other
positions place 0’s.
 Example: Convert 62510 to N2
625 – 512 = 113 => 9
113 – 64 = 49 => 6
49 – 32 = 17 => 5
17 – 16 = 1 => 4
1 – 1 = 0 => 0
9876543210
1001110001
Chapter 1
17
Numbers in Different Bases
 Good idea to memorize!
Decimal
(Base 10)
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
Binary
(Base 2)
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
Octal
(Base 8)
00
01
02
03
04
05
06
07
10
11
12
13
14
15
16
17
20
Hexadecimal
(Base 16)
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
Chapter 1
18
Conversion Between Bases
 Method 2
To convert from one base to another:
1) Convert the Integer Part
2) Convert the Fraction Part
3) Join the two results with a radix point
Chapter 1
19
Conversion Details
 To Convert the Integral Part:
Repeatedly divide the number by the new radix and
save the remainders. The digits for the new radix are
the remainders in reverse order of their computation.
If the new radix is > 10, then convert all remainders >
10 to digits A, B, …
 To Convert the Fractional Part:
Repeatedly multiply the fraction by the new radix and
save the integer digits that result. The digits for the
new radix are the integer digits in order of their
computation. If the new radix is > 10, then convert all
integers > 10 to digits A, B, …
Chapter 1
20
Example: Convert 46.687510 To Base 2
46
 Convert 46 to Base 2
101110
 Convert 0.6875 to Base 2:
0.6875
0.3750
0.750
0.5
1.375
0.750
1.5
1.0
1
0
1
1
2
23 0
2
11 1
2
5
1
2
2
1
2
1
0
0
1
0
0.10112
 Join the results together with the radix point:
101110. 10112
Chapter 1
21
Additional Issue - Fractional Part
 Note that in this conversion, the fractional part
can become 0 as a result of the repeated
multiplications.
 In general, it may take many bits to get this to
happen or it may never happen.
 Example Problem: Convert 0.6510 to N2
• 0.65 = 0.1010011001001 …
• The fractional part begins repeating every 4 steps
yielding repeating 1001 forever!
 Solution: Specify number of bits to right of
radix point and round or truncate to this
number.
Chapter 1
22
BASE CONVERSION - Powers of 2
0
1
2
3
1
2
4
8
4
5
6
16
32
64
7
8
128
256
9
512
10
1024
-1
-2
-3
-4
-5
0.5
0.25
0.125
0.0625
0.03125
Example:
 Convert the binary number (1011.1101)2 to
decimal
 Convert the decimal number 45.73 to binary
up to 4
 Convert the binary number (1101011.11101)2
to octal
Chapter 1
24
Octal to Hexadecimal via Binary
 Convert octal to binary.
 Use groups of four bits and convert as above to
hexadecimal digits.
 Example: Octal to Binary to Hexadecimal
6 3 5 . 1 7 7 8
 Why do these conversions work?
Chapter 1
25
Example : What is the decimal expansion of the
hexadecimal expansion of (2AE0B)16
where r=16
(2AE0B)16 =2 x 164 + 10 x 163 + 14 x 162 + 0 x16 +11
=(175627)10
Example : Find the base 8 expansion of (12345)10
12345 = 8 x 1543 + 1
1543 = 8 x 192 + 7
192 = 8 x 24 + 0
24 = 8 x 3 + 0
3=8x0+3
(12345)10 =(30071)8
8
8
8
8
8
12345
1543
192
24
3
0
1
7
0
0
3
Binary Coded Decimal (BCD)
Decimal
0
8
0
4
0
2
0
1
0
1
2
3
4
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
5
6
7
0
0
0
1
1
1
0
1
1
1
0
1
8
9
1
1
0
0
0
0
0
1
Chapter 1
28
Binary Coded Decimal (BCD)
Example: Represent (396)10in BCD
(396) 10 = (0011 1001 0110)BCD
Decimals are written with symbols 0, 1, …., 9
BCD numbers use the binary codes 0000, 0001,
0010, …., 1001
Chapter 1
29
Warning: Conversion or Coding?
 Do NOT mix up conversion of a decimal
number to a binary number with coding
a decimal number with a BINARY
CODE.
 1310 = 11012 (This is conversion)
 13  0001|0011 (This is coding)
Chapter 1
30
ARITHMETIC OPERATIONS - Binary
Arithmetic
 Single Bit Addition with Carry
 Multiple Bit Addition
 Single Bit Subtraction with Borrow
 Multiple Bit Subtraction
 Multiplication
 BCD Addition
Chapter 1
31
Single Bit Binary Addition with Carry
G iven tw o b in ary d igits (X ,Y ), a carry in (Z ) w e get th e
follow in g su m (S ) an d carry (C ):
C arry in (Z ) of 0:
C arry in (Z ) of 1:
Z
0
0
0
0
X
0
0
1
1
+ Y
+ 0
+ 1
+ 0
+ 1
C S
00
01
01
10
Z
1
1
1
1
X
0
0
1
1
+ Y
+ 0
+ 1
+ 0
+ 1
C S
01
10
10
11
Chapter 1
32
Multiple Bit Binary Addition
 Extending this to two multiple bit
examples:
Carries
Augend
Addend
Sum
0
0
01100 10110
+10001 +10111
 Note: The 0 is the default Carry-In to the
least significant bit.
Chapter 1
33
Single Bit Binary Subtraction with Borrow
 Given two binary digits (X,Y), a borrow in (Z) we
get the following difference (S) and borrow (B):
 Borrow in (Z) of 0: Z
0
0
0
0
X
-Y
0
-0
0
-1
1
-0
1
-1
BS
 Borrow in (Z) of 1: Z
00
1
11
1
01
1
00
1
X
-Y
0
-0
0
-1
1
-0
1
-1
BS
11
10
00
11
Chapter 1
34
Multiple Bit Binary Subtraction
 Extending this to two multiple bit examples:
0
0
Minuend
10110 10110
Subtrahend - 10010 - 10011
Borrows
Difference
 Notes: The 0 is a Borrow-In to the least significant
bit. If the Subtrahend > the Minuend, interchange
and append a – to the result.
Chapter 1
35
Binary Multiplication
T h e b in a ry m u ltip lica tio n ta b le is sim p le:
0 0= 0 | 1 0= 0 | 0 1= 0 | 1 1= 1
E x ten d in g m u ltip lica tio n to m u ltip le d ig its:
M u ltip lica n d
M u ltip lier
P a rtia l P ro d u cts
P ro d u ct
1011
x 101
1011
0000 1011 - 110111
Chapter 1
36
BCD Arithmetic
 Given a BCD code, we use binary arithmetic to add the digits:
8
1000 Eight
+5
+0101 Plus 5
13
1101 is 13 (> 9)
 Note that the result is MORE THAN 9, so must be
represented by two digits!
 To correct the digit, subtract 10 by adding 6 modulo 16.
8
1000 Eight
+5
+0101 Plus 5
13
1101 is 13 (> 9)
+0110 so add 6
carry = 1 0011 leaving 3 + cy
0001 | 0011 Final answer (two digits)
 If the digit sum is > 9, add one to the next significant digit
Chapter 1
37
BCD Addition Example
 Add 2905BCD to 1897BCD showing
carries and digit corrections.
0
0001 1000 1001 0111
+ 0010 1001 0000 0101
Chapter 1
38
ALPHANUMERIC CODES - ASCII Character Codes
 American Standard Code for Information
Interchange
 This code is a popular code used to represent
information sent as character-based data. It uses
7-bits to represent 128 characters
Chapter 1
39
ASCII Properties
ASCII has some interesting properties:
 Digits 0 to 9 span Hexadecimal values 3016 to 3916 .
 Upper case A-Z span 4116 to 5A16 .
 Lower case a -z span 6116 to 7A16 .
• Lower to upper case translation (and vice versa)
occurs by flipping bit 6.
Chapter 1
40
DECIMAL CODES - Binary Codes for Decimal Digits
 There are over 8,000 ways that you can chose 10 elements
from the 16 binary numbers of 4 bits. A few are useful:
Decimal
8,4,2,1
0
1
2
3
4
5
6
7
8
9
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
Excess3 8,4,-2,-1
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
0000
0111
0110
0101
0100
1011
1010
1001
1000
1111
Gray
0000
0100
0101
0111
0110
0010
0011
0001
1001
1000
Chapter 1
41
Excess 3 Code and 8, 4, –2, –1 Code
Decimal
Excess 3
8, 4, –2, –1
0
0011
0000
1
0100
0111
2
0101
0110
3
0110
0101
4
0111
0100
5
1000
1011
6
1001
1010
7
1010
1001
8
1011
1000
9
1100
1111
 What interesting property is common
to these two codes?
Chapter 1
42
UNICODE
 UNICODE extends ASCII to 65,536
universal characters codes
• For encoding characters in world languages
• Available in many modern applications
• 2 byte (16-bit) code words
• See Reading Supplement – Unicode on the
Companion Website
http://www.prenhall.com/mano
Chapter 1
43