Lecture Notes on ``Number Systems`` (PPT Slides)

Download Report

Transcript Lecture Notes on ``Number Systems`` (PPT Slides)

ENG241
Digital Design
Week #1
Digital Computers and Information
Resources

Chapter #1, Mano Sections





1.1
1.2
1.3
1.4
1.5
Digital Computers
Number Systems
Arithmetic Operations
Decimal Codes
Alphanumeric Codes
2
Topics








Computing Devices and VLSI Design
Signals (Digital vs. Analog)
Digital Systems and Computers
Number systems [binary, octal, hex]
Base Conversion
Arithmetic Operations
Decimal Codes [BCD]
Alphanumeric Codes
3
Computing Devices Everywhere!
Car
PDA
PC
Home Networking
Game console
Household
Body
Super Computer
Entertainment
Medicine
Communication
4
The Transistor Revolution
First transistor
Bell Labs, 1948
Bipolar logic
1960’s
• Intel 4004 processor
• Designed in 1971
• Almost 3000 transistors
• Speed:1 MHz operation
5
VLSI Design Styles
Vdd
Contact
Metal layer
Vdd
IN2
OUT
IN1
IN1
Poly layer
OUT
Diffusion layer
p-type
transistor
GND
GND
n-type
transistor
OUT
Power (Vdd)-Rail
Ground (GND)-Rail
6
Lienig
IN1
IN2
IN2
© KLMH
1.3
The VLSI Design Cycle
Specification
SYSTEM
Functional design
MODULE
+
Logic design
GATE
Circuit design
CIRCUIT
Physical design
Test/Fabrication
G
S
n+
D
n+
DEVICE
Signals

An information variable represented by
a physical quantity (speech, Temp,
humidty, noise, …)
8
Signals
Signals can be analog or digital:
1. Analog signals can have an infinite number of values in a
range;
2. Digital signals can have only a limited number of values.
9
Analog Signals
Time
Analog
Continuous in
value & time
10
Digital Signals

For digital systems, the variable takes
on discrete values (i.e., not continuous)
Time
Digital
Discrete in
value
11
Signal Examples Over Time

Digital (Binary) values are represented by:



digits 0 and 1 / False (F) and True (T)
words (symbols) Low (L) and High (H)
words On and Off.
DigitalTime
Asynchronous
Synchronous
Discrete in
value &
continuous
in time
Discrete in
value & time
12
Binary Values: Other Physical Quantities

What are other physical
quantities represent 0 and 1?
CPU
Voltage
Magnetic Field Direction
 HDisk
Surface Pits/Light
 CD
Electrical Charge
 Dynamic RAM

13
Digital System Example:
A Digital Counter (e. g., odometer):
Count Up
Reset
0 0 1 3 5 6 4
Inputs: Count Up, Reset
Outputs: Visual Display
"Value" of stored digits
State:
14
A Digital Computer Example
Data/Instructions/code
Memory
clock
CPU
Inputs:
Keyboard,
mouse, modem,
microphone
Control
unit
Datapath
Input/Output
Outputs: CRT,
LCD, modem,
speakers
15
Number Systems – Representation

A number with radix r is represented by a
string of digits:
A n - 1A n - 2 … A 1A 0 . 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)
16
Decimal Number System
 Base (also called radix) = 10
● 10 digits { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
 Digit Position
● Integer & fraction
 Digit Weight
2
1
0
5 1 2
100
-1
-2
7 4
10
1
0.1 0.01
10
2
0.7 0.04
● Weight = (Base) Position
 Magnitude
● Sum of “Digit x Weight”
 Formal Notation
500
d2*B2+d1*B1+d0*B0+d-1*B-1+d-2*B-2
(512.74)10
17
Octal Number System
 Base = 8
● 8 digits { 0, 1, 2, 3, 4, 5, 6, 7 }
 Weights
● Weight = (Base) Position
 Magnitude
● Sum of “Digit x Weight”
 Formal Notation
64
8
1
1/8 1/64
5 1 2
7 4
2
-1
1
0
-2
5 *8 2+1 *8 1+2 *8 0+7 *8- 1+4 *8 -2
=(330.9375)10
(512.74)8
18
Octal Number System: Example

For Example,

(27)8 can be expressed as: (

(17.1)8 can be expressed as:
(
)10
)10
19
Hexadecimal Number System
 Base = 16
● 16 digits { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F }
 Weights
● Weight = (Base) Position
 Magnitude
● Sum of “Digit x Weight”
 Formal Notation
256
16
1
1/16 1/256
1 E 5
7 A
2
-1
1
0
-2
1 *162+14 *161+5 *160+7 *16-1+10 *16-2
=(485.4765625)10
(1E5.7A)16
20
Hex to Decimal

Just multiply each hex digit by
decimal value, and add the
results.
(2ac)16
2 • 256
+ 10 • 16 + 12 • 1 = (684)10




163
162
161
160
4096
256
16
1
Dec Hex
0
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
a
11
b
12
c
13
d
14
e
15
f
21
Binary Number System
 Base = 2
● 2 digits { 0, 1 }, called binary digits or “bits”
4
 Weights
● Weight = (Base)
Position
 Magnitude
1
1/2 1/4
1 0 1
0 1
2
-1
1
0
-2
1 *22+0 *21+1 *20+0 *2-1+1 *2-2
● Sum of “Bit x Weight”
 Formal Notation
 Groups of bits
2
=(5.25)10
(101.01)2
4 bits = Nibble
1011
8 bits = Byte
11000101
22
Binary  Decimal: Example
7
6
5
4
3
2
1
0
27
26
25
24
23
22
21
20
128
64
32
16
8
4
2
1
position
value
What is 10011100 in decimal?
7
6
1
0
5
0
4
3
2
1
0
position
1
1
1
0
0
Binary #
128 + 0 + 0 + 16 + 8 + 4 + 0 + 0 = 156
23
Why Binary?
This is easier to implement in hardware than a unit
that can take on 10 different values.
● For instance, it can be represented by a transistor being
off (0) or on (1).
● Alternatively, it can be a magnetic stripe that is
magnetized with North in one direction (0) or the
opposite (1).
Binary also has a convenient and natural
association with logical values of:
● False (0) and
● True (1).
24
Binary Numbers
 Examples:
(00)2  (0)10
 (01)2  (1)10
 (10)2  (2)10
 (010)2  (2)10
 (11)2  (3)10
 (100)2  (4)10
 (1001010101000)2

 Strings
of binary digits (“bits”)
 One
bit can store a number from 0 to 1
 n bits can store numbers from 0 to 2n-1
25
The Power of 2
n
2n
n
2n
0
20=1
8
28=256
1
21=2
9
29=512
2
22=4
10
210=1024
3
23=8
11
211=2048
4
24=16
12
212=4096
5
25=32
20
220=1M
Mega
6
26=64
30
230=1G
Giga
7
27=128
40
240=1T
Tera
Kilo
26
Number Base Conversions
Evaluate
Magnitude
Octal
(Base 8)
Evaluate
Magnitude
Decimal
(Base 10)
Binary
(Base 2)
Hexadecimal
(Base 16)
Evaluate
Magnitude
27
Conversion Between Bases
 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
28
Decimal (Integer) to Binary Conversion
 Divide the number by the ‘Base’ (=2)
 Take the remainder (either 0 or 1) as a coefficient
 Take the quotient and repeat the division
Example: (13)10
Quotient
Remainder
Coefficient
6
3
1
0
1
0
1
1
a0 = 1
a1 = 0
a2 = 1
a3 = 1
13/ 2 =
6 /2=
3 /2=
1 /2=
Answer:
(13)10 = (a3 a2 a1 a0)2 = (1101)2
MSB
LSB
29
Decimal to Binary Conversion
Decimal (Fraction) to Binary Conversion
 Multiply the number by the ‘Base’ (=2)
 Take the integer (either 0 or 1) as a coefficient
 Take the resultant fraction and repeat multiplication
Example: (0.625)10
Integer
0.625 * 2 =
0.25 * 2 =
0.5
*2=
Answer:
1
0
1
.
.
.
Fraction
Coefficient
25
5
0
a-1 = 1
a-2 = 0
a-3 = 1
(0.625)10 = (0.a-1 a-2 a-3)2 = (0.101)2
MSB
LSB
31
Decimal to Octal Conversion
Example: (175)10
Quotient
175 / 8 =
21 / 8 =
2 /8=
Remainder
Coefficient
7
5
2
a0 = 7
a1 = 5
a2 = 2
21
2
0
Answer:
(175)10 = (a2 a1 a0)8 = (257)8
Example: (0.3125)10
Integer
0.3125 * 8 = 2
0.5
*8= 4
Answer:
.
.
Fraction
Coefficient
5
0
a-1 = 2
a-2 = 4
(0.3125)10 = (0.a-1 a-2 a-3)8 = (0.24)8
32
Decimal to Hex
(684)10
c
684/16 = 42 rem 12=c
ac
42/16 = 2 rem 10=a
2/16 = 0
rem 2
2ac




163
162
161
160
4096
256
16
1
Dec Hex
0
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
a
11
b
12
c
13
d
14
e
15
f
33
Hexadecimal (Base 16)
Strings of 0’s and 1’s too hard to write
 Use base-16 or hexadecimal – 4 bits

Dec
Bin
Hex
Dec
Bin
Hex
0
0000
0
8
1000
8
1
0001
1
9
1001
9
2
0010
2
10
1010
a
3
0011
3
11
1011
b
4
0100
4
12
1100
c
5
0101
5
13
1101
d
•Power of 2
6
0110
6
14
1110
e
•Size of byte
7
0111
7
15
1111
f
Why use
base 16?
34
Hex to Binary
Convention – write 0x (prefix)
before number
 Hex to Binary – just convert digits

0x2ac
0010
(2ac)16
1010 1100
0x2ac = (001010101100)2
No magic – remember hex digit = 4 bits
Bin
Hex
0000
0
0001
1
0010
2
0011
3
0100
4
0101
5
0110
6
0111
7
1000
8
1001
9
1010
a
1011
b
1100
c
1101
d
1110
e
1111
f
35
Binary − Hexadecimal Conversion
 16 = 24
 Each group of 4 bits represents
a hexadecimal digit
Assume Zeros
Example:
( 1 0 1 1 0 . 0 1 )2
(1
6
. 4 )16
Hex
Binary
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Works both ways (Binary to Hex & Hex to Binary)
36
Binary to Hex

Just convert groups of 4 bits
(101001101111011)2
0101  0011  0111  1011
5
3
7
b
101001101111011 = 0x537b = (537b)16
Bin
Hex
0000
0
0001
1
0010
2
0011
3
0100
4
0101
5
0110
6
0111
7
1000
8
1001
9
1010
a
1011
b
1100
c
1101
d
1110
e
1111
f
37
Octal − Hexadecimal Conversion
 Convert to Binary as an intermediate step
Example:
( 2
6
.
2 )8
Assume Zeros
Assume Zeros
( 0 1 0 1 1 0 . 0 1 0 )2
(1
6
.
4 )16
Works both ways (Octal to Hex & Hex to Octal)
38
Addition
 Decimal Addition
1
+
1
1
Carry
5
5
5
5
1
0
= Ten ≥ Base
 Subtract a Base
39
Binary Addition
 Column Addition
1
1
1
1
1
1
1
1
1
1
0
1
= 61
1
0
1
1
1
= 23
1
0
1
0
0
= 84
+
1
0
≥ (2)10
40
Binary Subtraction
 Borrow a “Base” when needed
0
1
2
2
0
0
2
1
0
0
1
1
0
1
= 77
1
0
1
1
1
= 23
1
0
1
1
0
= 54
−
0
1
2
= (10)2
41
Binary Multiplication
 Bit by bit
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
1
0
0
x
1
1
0
42
Binary Numbers and Binary Coding

Flexibility of representation


Within constraints below, can assign any
binary combination (called a code word) to
any data as long as data is uniquely encoded.
Information Types

Numeric




Must represent range of data needed
Very desirable to represent data such that
simple, straightforward computation for
common arithmetic operations permitted
Tight relation to binary numbers
Non-numeric


Greater flexibility since arithmetic operations
not applied.
Not tied to binary numbers
43
Non-numeric Binary Codes



Given n binary digits (called bits), a binary code is a
mapping from a set of represented elements to a subset of
the 2n binary numbers.
Example: A
Color
Binary Number
binary code
Red
000
for the seven
Orange
001
colors of the
Yellow
010
rainbow
Green
011
Code 100 is
Blue
101
not used
Indigo
110
Violet
111
44
Number of Bits Required

Given M elements to be represented by a
binary code, the minimum number of bits, n,
needed, satisfies the following relationships:
2n > M > 2(n – 1)
n = log2 M where x , is called the ceiling
function, i.e the integer greater than or
equal to x.
45
Number of Bits Required
 Given M elements to be represented by a binary
code, the minimum number of bits, n, needed,
satisfies the following relationships:
2 n  M  2 n 1 , where
n  log 2 M   ceiling (log 2 M )
 Example: How many bits are required to represent
decimal digits with a binary code?
• M = 10, hence n = ceiling (log2 10) = ceiling (3.3219) = 4
• Checking:
2 4  16  10  23  8
46
Binary Codes
 Group of n bits
n
● Up to 2 combinations
● Each combination represents an element of information
Binary Coded Decimal (BCD)
● Each Decimal Digit is represented
by 4 bits
● (0 – 9)  Valid combinations
● (10 – 15)  Invalid combinations
Decimal
0
1
2
3
4
5
6
7
8
9
BCD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
47
Gray Code
 One bit changes from
one code to the next
code
 Different than Binary
Decimal Gray
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000
Binary
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
48
Binary Representations

A bit is the most basic unit of information in a computer.
 It is a state of “on” or “off” in a digital circuit.
 Sometimes these states are “high” or “low” voltage instead
of “on” or “off..”

A group of four bits is called a nibble (or nybble).

Bytes, therefore, consist of two nibbles: a “high-order
nibble,” and a “low-order” nibble.
A byte is a group of eight bits.
 A byte is the smallest possible addressable (can be found
via its location) unit of computer storage.

A word is a contiguous group of bytes.


Words can be any number of bits (16, 32, 64 bits are
common).
49
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.

(13)10 = (1101)2 (This is conversion)

(13)BCD  (0001|0011)BCD (This is coding)
Advantages/Disadvantages?
50
BCD: Advantages/Disadvantages

Disadvantage:
 It is obvious that a BCD number needs
more bits than its equivalent binary
value



(26)10 = (11010)2
(26)10 = (0010 0110)BCD
Advantages:

Computer input/output data are handled by
people who use the decimal system. So it is
easier to convert back/forth to BCD.
51
Character Codes


From numbers to letters
ASCII



Stands for American Standard Code
for Information Interchange
Only 7 bits defined
Unicode
52
ASCII Code
American Standard Code for Information Interchange
Info
7-bit Code
A
B
1000001
1000010
Z
1011010
a
b
1100001
1100010
z
1111010
@
?
+
1000000
0111111
0101011
.
.
.
.
.
.
.
.
.
.
.
.
53
ASCII table
54
Error Detecting Codes
 Parity
One bit added to a group of bits to make the total number
of ‘1’s (including the parity bit) even or odd
4-bit Example
7-bit Example
● Even
1
0 1 1 1
0
1 0 0 0 0 0 1
● Odd
0
0 1 1 1
1
1 0 0 0 0 0 1
 Good for checking single-bit errors
55
Reading

Read Chapter 1



Make sure you’re comfortable with
material
Check the lecture notes from the
Web site.
Solve the assignment.
56
Homework


See Assignment #1 On Web
I expect you to know number
systems well and be able to do
conversions and arithmetic





Decimal – Binary
Binary – Decimal
Decimal – Hex
Hex – Decimal
Will be on test!
57
58