Kuliah 3(b) - FCSIT @ UM

Download Report

Transcript Kuliah 3(b) - FCSIT @ UM

Overflow
• Signed binary is in fixed range
• -2n-1  2n-1
• If the answer for addition/subtraction more
than the range, it is overflow
• Two situation where overflow can happen:
– Positive + positive = negative (enough n-bit)
– Negative + negative = positive(more than n-bit)
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
1
Overflow
•
•
•
•
•
Example: Binary number 4-bit (second complement)
Range : -2n-1  2n-1-1
Range : (1000)2s(0111) 2s
Range : (-8) 10  (+7) 10
Two situation where overflow can happen:
– Positive + positive = negative (enough n-bit)
– Negative + negative = positive(more than n-bit)
0101 = 5
0100 = 4
----------1001
1001 = -7
1010 = -6
----------10011
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
2
Overflow
•
•
•
•
Example: Binary number 4-bit (second complement)
Range : -2n-1  2n-1-1
Range : (1000)2s(0111) 2s
Range : (-8) 10  (+7) 10
(Overflow exist)
(ignore final carry)
(Overflow exist)
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
3
Fixed Point Number
• Signed number and unsigned number representation is
given in fixed point number
• Binary point is assumed to have fixed location, if it is
located at the end of the number
Binary point
• It can represent integer number between –128 to 127 (for
8-bit binary complement)
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
4
Fixed Point Number
• Generally, other locations in binary point position
fraction
Binary point
• Example: If two fraction bit is used, we can represent:
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
5
Floating Point Number
• Fixed point number has limited range
• To represent extremely large or extremely small
number, we use floating point number (like
scientific number)
• Example:
• 0.23X1023(really large number)
• 0.1239X10-10(really small number)
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
6
Floating Point Number
• Floating point number is divided into three parts
mantissa, base and exponent
• Base always fixed in number system
• Therefore, only need mantissa and exponent
Mantissa
exponent
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
7
Floating Point Number
• Mantissa always in normalize form:
(base 10) 23X1021 is normalized to 0.23X1023
(base 10) –0.0017X1021 is normalized to
-0.17X1019
(base 10) 0.01101X103 is normalized to
0.1101X102
• 16-bit floating point number might contain 10-bit
mantissa and 6-bit exponent
• More exponent, the greater its range
• More mantissa, the greater its persistence
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
8
Arithmetic with Floating Point Number
• Arithmetic with floating point number is much
difficult
• MULTIPLICATION
The steps:
– multiply with the mantissa
– Add its exponent
– normalized
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
9
Arithmetic with Floating Point Number
• Example
(Normalization)
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
10
Arithmetic with Floating Point Number
• ADDITION
Steps:
– Equalize their exponent
– Add their mantissa
– Normalize them
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
11
Arithmetic with Floating Point Number
• Example:
(0.12x102)10 + (0.0002x104 ) 10
=
(0.12x102) 10 +(0.02x102) 10
= (0.12+0.02) 10 x 102
= (0.14x102 ) 10
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
12
Binary Coded Decimal (BCD)
• Decimal number is normally used by human.
Binary number is normally used by computer.
It is expensive to exchange between each
other.
• If used only little calculation, we can use
coding scheme for decimal number.
• One of the scheme is BCD, or also called
8421 code.
• Which represent every decimal digit with 4bit binary code.
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
13
Binary Coded Decimal (BCD)
Decimal Digit
Decimal Digit
• There are code which is not used, e.g.
(1010)BCD,(1011)BCD,….,(1111)BCD. This code
is said to be an error.
• Easy to convert but the arithmetic is hard
• Suitable as interface such as keyboard input
and digital reading
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
14
Binary Coded Decimal (BCD)
Decimal Digit
Decimal Digit
• Example:
Notes: BCD is not similar to binary
Example: (243)10=(11101010)2
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
15
Gray Code
• No weight
• Only one bit change from one code number to the
others
• Suitable for error detection
Decimal
Binary
Gray Code
Decimal
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
Binary
Gray Code
16
Gray Code
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
17
Gray Code
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
18
Convert Binary Code to Gray Code
• Fixed MSB
• From left to right, add each coupled binary code
bit next to each other to get Gray code bit, ignore
carry
• Example: convert binary 10110 to Gray code
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
19
Convert Gray Code to Binary Code
• Fixed MSB
• From left to right, add each coupled binary code
executed with Gray code bit at the next position,
ignore carry
• Example: convert Gray 10110 to binary code
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
20
Other Decimal Code
• Self compliment code: excess-3 code, 84-2-1, 2*421
• Error detection code: Biquinary code (bi=two,
quinary=five)
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
21
Self Compliment Code
• Example: Excess-3, 84-2-1, 2*421
• Code represented by coupled compliment-digit
which compliment each other
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
22
Alphanumeric Code
• Part of numbers, computer also handle textual data
• Set which always used includes:
Letters :
‘A’,…..,‘Z’ and ‘a’,…..,‘z’
Digits
:
‘0’,…..,‘9’
Special Characters: ‘$’, ‘’, ‘!’, ‘,’, ‘.’,….
Not Printable: SOH, NULL, BELL,….
• Most of the time, it is represented by 7 or 8-bit
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
23
Alphanumeric Code
• Two standard that are frequently used
ASCII (American Standard Code for Information
Interchange)
EBCDIC (Extended BCD Interchange Code)
• ASCII: 7-bit, add with parity bit for error
detection (odd,even parity)
• EBCDIC: 8-bit
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
24
Alphanumeric Code
• ASCII Table
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
25
Error Detection Code
• Error can exist in transmission. It must be detected
so that retransmission can be requested
• With binary number, mostly exist 1-bit error.
Example: 0010 is transmitted incorrectly as 0011,
or 0000, or 0110, or 1010
• Biquinary using additional 3-bit to detect error.
For one error detection, only one extra bit is
needed
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
26
Error Detection Code
• Parity Bit
– Even parity: number of bit 1 is even
– Odd parity: number of bit 1 is odd
• Example: Odd parity
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
27
Error Detection Code
• Parity Bit can detect odd error and not even error
(if odd is set)
Example: For odd parity number
10011=>10001 (detected)
10011=>10101 (not detected)
• Parity bit can also be used on data block
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
28
Error Detection Code
• Sometimes, it is not enough to detect code, we
need to correct it
• Error correction is expensive in practical, we only
need to use one bit error correction
• Popular technique: Hamming Code
– Add k-bit to n-bit number to produce n+k bit
– Number the bit 1 on bit n+k
– Every parity bit is on the number range
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
29
Error Detection Code
• E.g: For 8-bit number, we need 4 parity bit
12 bit number are 0001,0011,…,1100. Every 4 bit
parity is used to detect group of bit. Every parity
bit is for themselves and has bit ‘1’ on certain
position bit
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
30
Error Detection Code
• Therefore:
P1= parity for bit {3,5,7,9,11}
P2= parity for bit {3,6,7,10}
P4= parity for bit {5,6,7,12}
P8= parity for bit {9,10,11,12}
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
31
Error Detection Code
• Given 8-bit number: 1100 0100
• Assume even parity is
P1= parity for bit {3,5,7,9,11}
P2= parity for bit {3,6,7,10}
P4= parity for bit {5,6,7,12}
P8= parity for bit {9,10,11,12}
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
=0
=0
=1
=1
32
Error Detection Code
• To check error, execute checking code
C1= XOR {1,3,5,7,9,11}
C2= XOR {2,3,6,7,10}
C4= XOR {4,5,6,7,12}
C8= XOR {8,9,10,11,12}
If C8 C4 C2 C1=0000 therefore no error, if
otherwise C8 C4 C2 C1 show position, there is an
error for only one bit
• Example
MOHD. YAMANI IDRIS/
NOORZAILY MOHAMED NOOR
33