Data Representation
Data Representation
DATA REPRESENTATION
Data Types
Complements Fixed Point Representations Floating Point Representations Other Binary Codes Error Detection Codes
Computer Organization
Data Representation
Data Types
DATA REPRESENTATION
Information that a Computer is dealing with * Data - Numeric Data Numbers( Integer, real) - Non-numeric Data Letters, Symbols * Relationship between data elements - Data Structures Linear Lists, Trees, Rings, etc * Program(Instruction)
Computer Organization
Data Representation
Data Types
i m
a R
i
n 1
Radix point(.) separates the integer portion and the fractional portion R = 2 Binary R = 16 Hexadecimal
Computer Architectures Lab
Data Representation
Data Types
* Non-positional Number System - Table for addition is infinite --> Impossible to build, very expensive even if it can be built * Positional Number System - Table for Addition is finite --> Physically realizable, but cost wise the smaller the table size, the less expensive --> Binary is favorable to Decimal
Computer Organization
Data Representation
Data Types
Data Representation
Data Types
CONVERSION OF BASES
Base R to Decimal Conversion A = an-1 an-2 an-3 a0 . a-1 a-m V(A) = ak Rk
(736.4)8 = 7 x 82 + 3 x 81 + 6 x 80 + 4 x 8-1 = 7 x 64 + 3 x 8 + 6 x 1 + 4/8 = (478.5)10 (110110)2 = ... = (54)10 (110.111)2 = ... = (6.785)10 (F3)16 = ... = (243)10 (0.325)6 = ... = (0.578703703 .................)10 Decimal to Base R number - Separate the number into its integer and fraction parts and convert each part separately. - Convert integer part into the base R number --> successive divisions by R and accumulation of the remainders. - Convert fraction part into the base R number --> successive multiplications by R and accumulation of integer digits
Computer Organization Computer Architectures Lab
Data Representation
Data Types
EXAMPLE
Convert 41.687510 to base 2.
Integer = 41 41 20 1 10 0 5 0 2 1 1 0 0 1 (41)10 = (101001)2 (41.6875)10 = (101001.1011)2 Exercise Convert (63)10 to base 5: (223)5 Convert (1863)10 to base 8: (3507)8 Convert (0.63671875)10 to hexadecimal: (0.A3)16
Computer Organization Computer Architectures Lab
Data Representation
Complements
COMPLEMENT OF NUMBERS
Two types of complements for base R number system: - R's complement and (R-1)'s complement
The (R-1)'s Complement Subtract each digit of a number from (R-1) Example
- 9's complement of 83510 is 16410 - 1's complement of 10102 is 01012(bit by bit complement operation)
The R's Complement
Data Representation
Binary Fixed-Point Representation X = xnxn-1xn-2 ... x1x0. x-1x-2 ... x-m Sign Bit(xn): 0 for positive - 1 for negative Remaining Bits(xn-1xn-2 ... x1x0. x-1x-2 ... x-m) - Following 3 representations Signed magnitude representation Signed 1's complement representation Signed 2's complement representation Example: Represent +9 and -9 in 7 bit-binary number Only one way to represent +9 ==> 0 001001 Three different ways to represent -9: In signed-magnitude: 1 001001 In signed-1's complement: 1 110110 In signed-2's complement: 1 110111
In general, in computers, fixed point numbers are represented either integer part only or fractional part only.
Computer Organization Computer Architectures Lab
Data Representation
10
Signed 1s Complement
Max: 2n - 2-m Min: -(2n - 2-m) Zero: +0 -0 011 ... 11.11 ... 1 100 ... 00.00 ... 0 000 ... 00.00 ... 0 111 ... 11.11 ... 1
Signed 2s Complement
Max: 2n - 2-m Min: -2n Zero: 0 011 ... 11.11 ... 1 100 ... 00.00 ... 0 000 ... 00.00 ... 0
Computer Organization
Data Representation
11
6 + (- 9) 9 1001 -) 6 0110 - 3 0011 -> 10011 Overflow 9 + 9 or (-9) + (-9) 9 1001 +) 9 1001 overflow (1)0010
Computer Organization
Data Representation
12
Example
-6 +) 9 3
overflow
2 operands have the same sign and the result sign changes xn-1yn-1sn-1 + xn-1yn-1sn-1 Computer Architectures Lab
Data Representation
13
Example +)
6 -9 -3
end-around carry -6 1 1001 +) 9 0 1001 (1) 0(1)0010 1 +) 3 0 0011 not overflow (cn-1 9 0 1001 9 0 1001 1 (1)0010
cn) = 0
+) +)
+)
overflow
(cn-1 cn)
Computer Organization Computer Architectures Lab
Data Representation
14
COMPARISON OF REPRESENTATIONS
* Easiness of negative conversion
S + M > 1s Complement > 2s Complement * Hardware
- S+M: Needs an adder and a subtractor for Addition - 1s and 2s Complement: Need only an adder
* Speed of Arithmetic 2s Complement > 1s Complement(end-around C) * Recognition of Zero 2s Complement is fast
Computer Organization
Data Representation
15
ARITHMETIC SUBTRACTION
Arithmetic Subtraction in 2s complement
Take the complement of the subtrahend (including the sign bit) and add it to the minuend including the sign bits. (A)-(-B) =(A)+ B (A)- B=(A)+( -B)
Computer Organization
Data Representation
16
Computer Organization
Data Representation
17
Note: In Floating Point Number representation, only Mantissa(M) and Exponent(E) are explicitly represented. The Radix(R) and the position of the Radix Point are implied. Example A binary number +1001.11 in 16-bit floating point number representation (6-bit exponent and 10-bit fractional mantissa) 0 or
Sign
0 00100 100111000
Exponent Mantissa
0 00101 010011100
Computer Organization
Data Representation
18
Representation of Zero - Zero Mantissa = 0 - Real Zero Mantissa = 0 Exponent = smallest representable number which is represented as 00 ... 0 <-- Easily identified by the hardware
Computer Organization Computer Architectures Lab
Data Representation
19
External Representation
Device
External Representations - Presentability - Efficiency Communication Reliability - Easy to handle - BCD, ASCII, EBCDIC
Internal Representations - Efficiency Memory space Processing time - Easy to convert to external representation - Fixed and Floating points
Computer Organization
Data Representation
20
External Representations
EXTERNAL REPRESENTATION
Numbers Most of numbers stored in the computer are eventually changed by some kinds of calculations --> Internal Representation for calculation efficiency --> Final results need to be converted to as External Representation for presentability
Alphabets, Symbols, and some Numbers Elements of these information do not change in the course of processing --> No needs for Internal Representation since they are not used for calculations --> External Representation for processing and presentability
Example Decimal Number: 4-bit Binary Code BCD(Binary Coded Decimal)
Decimal 0 1 2 3 4 5 6 7 8 9 BCD Code 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
Computer Organization
Data Representation
21
External Representations
0 1 2 3 4 5 6 7 8 9
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
0000 0000 0001 0111 0010 0110 0011 0101 0100 0100 1011 1011 1100 1010 1101 1001 1110 1000 1111 1111
0011 0100 0101 0110 0111 1000 1001 1010 1011 1100
Note: 8,4,2,-2,1,-1 in this table is the weight associated with each bit position.
d3 d2 d1 d0: symbol in the codes
BCD: d3 x 8 + d2 x 4 + d1 x 2 + d0 x 1 ==> 8421 code. 2421: d3 x 2 + d2 x 4 + d1 x 2 + d0 x 1 84-2-1: d3 x 8 + d2 x 4 + d1 x (-2) + d0 x (-1) Excess-3: BCD + 3
BCD: It is difficult to obtain the 9's complement. However, it is easily obtained with the other codes listed above. ==> Self-complementing codes
Computer Organization Computer Architectures Lab
Data Representation
22
GRAY CODE
* Characterized by having their representations of the binary integers differ in only one digit between consecutive integers
Computer Organization
Data Representation
23
Note: The Gray code has a reflection property - easy to construct a table without calculation, - for any n: reflect case n-1 about a mirror at its bottom and prefix 0 and 1 to top and bottom halves, respectively
Computer Organization
Data Representation
24
Code
MSB (3 bits) 0 LSB (4 bits) 0 1 2 3 4 5 6 7 8 9 A B C D E F NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI 1 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 2 SP ! # $ % & ( ) * + , . / 3 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 4 @ A B C D E F G H I J K L M N O 5 P Q R S T U V W X Y Z [ \ ] m n 6 a b c d e f g h I j k l m n o 7 P q r s t u v w x y z { | } ~ DEL Computer Architectures Lab
Computer Organization
Data Representation
25
Null Start of Heading (CC) Start of Text (CC) End of Text (CC) End of Transmission (CC) Enquiry (CC) Acknowledge (CC) Bell Backspace (FE) Horizontal Tab. (FE) Line Feed (FE) Vertical Tab. (FE) Form Feed (FE) Carriage Return (FE) Shift Out Shift In Data Link Escape (CC)
DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US DEL
Device Control 1 Device Control 2 Device Control 3 Device Control 4 Negative Acknowledge (CC) Synchronous Idle (CC) End of Transmission Block (CC) Cancel End of Medium Substitute Escape File Separator (IS) Group Separator (IS) Record Separator (IS) Unit Separator (IS) Delete
(CC) Communication Control (FE) Format Effector (IS) Information Separator Computer Organization Computer Architectures Lab
Data Representation
26
Parity System - Simplest method for error detection - One parity bit attached to the information - Even Parity and Odd Parity Even Parity - One bit is attached to the information so that the total number of 1 bits is an even number
1011001 0 1010010 1
Odd Parity - One bit is attached to the information so that the total number of 1 bits is an odd number 1011001 1 1010010 0
Computer Organization
Data Representation
27
Parity Bit Generation For b6b5... b0(7-bit information); even parity bit beven beven = b6 b5 ... b0 For odd parity bit bodd = beven 1 = beven
Computer Organization
Data Representation
28
beven
Parity Checker
beven b6 b5 b4 b3 b2 b1
b0
Computer Organization