56
Information EE3376

ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Information

EE3376

Page 2: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Topics to Cover…

l  Binary Digital System l  Data Types l  Conversions l  Binary Arithmetic l  Overflow l  Logical Operations l  Fixed Point l  Floating Point l  ASCII Characters

Adapted from notes from BYU ECE124

2

Page 3: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

What are Decimal Numbers?

l “Decimal” means that we have ten digits to use in our representation

–  the symbols 0 through 9 l What is 3,546?

–  3 thousands + 5 hundreds + 4 tens + 6 ones. –  3,54610 = 3×103 + 5×102 + 4×101 + 6×100

l How about negative numbers? –  Use two more symbols to distinguish positive and

negative, namely, + and -.

Adapted from notes from BYU ECE124 Adapted from notes from BYU ECE124

3

Page 4: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

What are Binary Numbers?

l “Binary” means that we have two digits to use in our representation

–  the symbols 0 and 1 l What is 1011?

–  1 eights + 0 fours + 1 twos + 1 ones –  10112 = 1×23 + 0×22 + 1×21 + 1×20

l How about negative numbers? –  We don’t want to add additional symbols –  So…

Adapted from notes from BYU ECE124

4

Page 5: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Electronic Representation of a Bit

l  Relies only on approximate physical values. –  A logical ‘1’ is a relatively high voltage (2.4V - 5V). –  A logical ‘0’ is a relatively low voltage (0V - 1V).

n  Analog processing relies on exact values which are affected by temperature, age, etc. n  Analog values are never quite the same. n  Each time you play a vinyl album, it will sound a bit different. n  CDs sound the same no matter how many times you play them.

Adapted from notes from BYU ECE124

5

Page 6: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

The Power of the Bit…

l  Bits rely on approximate physical values that are not affected by age, temperature, etc. –  Music that never degrades. –  Pictures that never get dusty or scratched.

l  By using groups of bits, we can achieve high precision.

–  8 bits => each pattern represents 1/256. –  16 bits => each pattern represents 1/65,536 –  32 bits => each pattern represents 1/4,294,967,296 –  64 bits => each pattern represents 1/18,446,744,073,709,550,000

l  Disadvantage: bits only represent discrete values l  Digital = Discrete

Adapted from notes from BYU ECE124 6

Page 7: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Binary Nomenclature l  Binary Digit: 0 or 1 l  Bit (short for binary digit): A single binary digit l  LSB (least significant bit): The rightmost bit l  MSB (most significant bit): The leftmost bit l  Data sizes

–  1 Nibble = 4 bits –  1 Byte = 2 nibbles = 8 bits –  1 Kilobyte (KB) = 1024 bytes –  1 Megabyte (MB) = 1024 kilobytes = 1,048,576 bytes –  1 Gigabyte (GB) = 1024 megabytes = 1,073,741,824

bytes Adapted from notes from BYU ECE124

7

Page 8: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

What Kinds of Data? l  All kinds…

–  Numbers – signed, unsigned, integers, floating point, complex, rational, irrational, …

–  Text – characters, strings, … –  Images – pixels, colors, shapes, … –  Sound – pitch, amplitude, … –  Logical – true / false, open / closed, on / off, … –  Instructions – programs, … –  …

l  Data type: –  representation and operations within the computer

l  We’ll start with numbers… Adapted from notes from BYU ECE124

8

Page 9: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Some Important Data Types

l  Unsigned integers –  only non-negative numbers –  0, 1, 2, 3, 4, …

l  Signed integers –  negative, zero, positive numbers –  …, -3, -2, -1, 0, 1, 2, 3, …

l  Floating point numbers –  numbers with decimal point –  PI = 3.14159 x 100

l  Characters –  8-bit, unsigned integers –  ‘0’, ‘1’, ‘2’, … , ‘a’, ‘b’, ‘c’, … , ‘A’, ‘B’, ‘C’, … , ‘@’, ‘#’,

Adapted from notes from BYU ECE124

9

Page 10: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Unsigned Integers

329 102 101 100

101 22 21 20

3x100 + 2x10 + 9x1 = 329 1x4 + 0x2 + 1x1 = 5

most significant

least significant

l  What do these unsigned binary numbers represent? 0000 0110

1111 1010

0001 1000

0111 1100

1011 1001

n  Weighted positional notation n  “3” is worth 300, because of its position, while “9” is only worth 9

Adapted from notes from BYU ECE124

10

Page 11: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Unsigned Integers (continued…)

22 21 20 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 4 1 0 1 5 1 1 0 6 1 1 1 7

Data Types

Adapted from notes from BYU ECE124

11

Page 12: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Unsigned Binary Arithmetic

l  Base 2 addition – just like base 10! –  add from right to left, propagating carry

10010 10010 1111 + 1001 + 1011 + 1

11011 11101 10000

10111 + 111

carry

0 1 1 1 1 Adapted from notes from BYU ECE124

12

Page 13: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Signed Integers

l  With n bits, we have 2n distinct values. –  assign about half to positive integers (1 through 2n-1)

and about half to negative (- 2n-1 through -1) –  that leaves two values: one for 0, and one extra

l  Positive integers –  just like unsigned – zero in most significant (MS) bit

00101 = 5 l  Negative integers

–  sign-magnitude – set MS bit to show negative 10101 = -5

–  one’s complement – flip every bit to represent negative 11010 = -5

–  MS bit indicates sign: 0=positive, 1=negative Adapted from notes from BYU ECE124

13

Page 14: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

2’s Complement

l  Problems with sign-magnitude and 1’s complement –  two representations of zero (+0 and –0) –  arithmetic circuits are complex

l  How to add two sign-magnitude numbers? e.g., try 2 + (-3)

l  How to add to one’s complement numbers? e.g., try 4 + (-3)

l  Two’s complement representation developed to make circuits easy for arithmetic.

Adapted from notes from BYU ECE124

14

Page 15: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

2’s Complement (continued…)

l  Simplifies logic circuit construction because –  addition and subtraction are always done using the

same circuitry. –  there is no need to check signs and convert. –  operations are done same way as in decimal

l  right to left l  with carries and borrows

l  Bottom line: simpler hardware units!

Adapted from notes from BYU ECE124

15

Page 16: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

2’s Complement (continued…)

l  If number is positive or zero, –  normal binary representation

l  If number is negative, –  start with positive number –  flip every bit (i.e., take the one’s complement) –  then add one

00101 (5) 01001 (9)

11010 (1’s comp) (1’s comp)

+ 1 + 1

11011 (-5) (-9)

10110

10111 Adapted from notes from BYU ECE124

16

Page 17: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

2’s Complement (continued…)

l  Positional number representation with a twist –  the most significant (left-most) digit has a negative

weight

–  n-bits represent numbers in the range -2n-1 … 2n-1 - 1 l  What are these?

0110 = 22 + 21 = 6

1110 = -23 + 22 + 21 = -2

0000 0110 1111 1010 0001

1000 0111 1100 1011 1001

0121 2222 −−− nn

Adapted from notes from BYU ECE124

17

Page 18: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Number Decimal Value Negated Binary Value011001110000111101001000

2’s Complement Negation

To negate a number, invert all the bits and add 1

6 1010

7 1001

0 0000

-1 0001

4 1100

-8 1000 (??)

Adapted from notes from BYU ECE124

18

Page 19: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Two’s complement – simple conversion

0001102 = 610 0001102 Find first “1” from the right

0000102 invert each digit to the left

0010102 0110102 1110102 = -610 until you reach the left end

To obtain negative 6, start with positive magnitude and negate

Adapted from notes from BYU ECE124

19

Page 20: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

l  Continually divide the number by 2 and track the remainders.

1 × 25 + 0 × 24 + 1 × 23 + 0 × 22 + 1 × 21 + 1 × 20 32 + 0 + 8 + 0 + 2 + 1 = 43

43 2

2

2

2

2

2

Decimal to Binary Conversion

n  For negative numbers, do above for positive number and negate result

5 R 0

0

2 R 1

1 21 R 1

1

10 R 1

1

1 R 0

0

0 R 1

1

Adapted from notes from BYU ECE124

20

Page 21: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Number Binary Value56

12335

-351007

Decimal to Binary Conversion

0101

0110

01111011

00100011

11011101

01111101111

Adapted from notes from BYU ECE124

21

Page 22: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Sign-Extension in 2’s Complement

l  You can make a number wider by simply replicating its leftmost bit as desired.

0110 = 000000000000000110 = 1111 = 11111111111111111 = 1 =

6

6

-1

-1 -1

n  What do these represent?

Adapted from notes from BYU ECE124

22

Page 23: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Hexadecimal Notation

l  Binary is hard to read and write by hand l  Hexadecimal is a common alternative

–  16 digits are 0123456789ABCDEF

0100 0111 1000 1111 = 0x478F 1101 1110 1010 1101 = 0xDEAD 1011 1110 1110 1111 = 0xBEEF 1010 0101 1010 0101 = 0xA5A5

Binary 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

0x is a common prefix for writing numbers which mean hexadecimal

1.  Separate binary code into groups of 4 bits (starting from the right)

2.  Translate each group into a single hex digit

Adapted from notes from BYU ECE124

23

Page 24: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Why Hexadecimal? l  One Hexadecimal digit

represents four binary digits l  Hexadecimal is more human

readable l  Can quickly convert large

binary numbers to hexadecimal and back by inspection

l  Nomenclature –  Motorola = $64 –  C = 0x64 –  Intel = 64H –  TI = 64h

Decimal Hexadecimal Binary 0 0 0000 1 1 0001 2 2 0010 3 3 0011 4 4 0100 5 5 0101 6 6 0110 7 7 0111 8 8 1000 9 9 1001

10 a 1010 11 b 1011 12 c 1100 13 d 1101 14 e 1110 15 f 1111 Adapted from notes from BYU ECE124

24

Page 25: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Binary to Hexadecimal – Easy!

1011

B

0001

1

1100

C

0101

5

So $b1c5 equals %1011000111000101.

25

Page 26: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Decimal to Hex Examples

12decimal = 1100 = 0xc

21decimal = 0001 0101 = 0x15

55decimal = 0011 0111 = 0x37

256decimal = 0001 0000 0000 = 0x100

47decimal = 0010 1111 = 0x2f

3decimal = 0011 = 0x3

127decimal = 0111 1111 = 0x7f

1029decimal = 0100 0000 0101 = 0x405

Adapted from notes from BYU ECE124

26

Page 27: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Word Sizes

l  In the preceding slides, every bit pattern was a different length (15 was represented as 01111).

l  Every real computer has a base word size –  our machine (MPS430) is 16-bits

l  Memory fetches are word-by-word –  even if you only want 8 bits (a byte)

l  Instructions are packed into words l  Numeric representations are word-sized

–  15 is represented as 0000000000001111

Conversions

Adapted from notes from BYU ECE124

27

Page 28: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Number Wheel for 3 bit hardware

000

001

010

011

100

101

110

111

0 unsigned or signed

1 unsigned or signed

2 unsigned or signed

3 unsigned or signed

4 unsigned / -4 signed 5 unsigned / -3 signed

6 unsigned / -2 signed

7 unsigned / -1 signed

28

Page 29: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Number Wheel – Unsigned Overflow

000

001

010

011

100

101

110

111

0 unsigned or signed

1 unsigned or signed

2 unsigned or signed

3 unsigned or signed

4 unsigned / -4 signed 5 unsigned / -3 signed

6 unsigned / -2 signed

7 unsigned / -1 signed

6 + 3 = 9 (too large for 3 bits)

29

Page 30: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Number Wheel – Signed Overflow

000

001

010

011

100

101

110

111

0 unsigned or signed

1 unsigned or signed

2 unsigned or signed

3 unsigned or signed

4 unsigned / -4 signed 5 unsigned / -3 signed

6 unsigned / -2 signed

7 unsigned / -1 signed

3+2 = -5 (too large for 3 bits)

30

Page 31: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Condition Code Register

Bit Name Meaning after arithmetic N negative result is negative

Z zero result is zero

V overflow signed overflow

C carry carry or unsigned overflow

Condition code (CC) register inherently contains information about previous arithmetic or logical operation. Specific bits in the CC register are set under specific conditions.

31

Page 32: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Examples of 4 bit overflow

1100 0110 +

(1)0010 = 210

= 1210 = 610

= 210

= - 410 = 610

0100 0100 +

(0)1000 = 810

= 410 = 410

= - 810

= 410 = 410

1000 1000 +

(1)0000 = 010

= 810 = 810

= - 810 = - 810

= 010

0001 0001 +

(0)0010 = 210

= 110 = 110

= 110 = 110

= 210

Adapted from notes from BYU ECE124

32

Page 33: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Binary Multiplication

Multiplication Table 0 * 0 = 0 0 * 1 = 0 1 * 0 = 0 1 * 1 = 1

1210 = 610 =

1100 0110 * * 0000

1100 1100

0000 + 1001000 =7210

Adapted from notes from BYU ECE124

33

Page 34: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Introduction to moving data

l  CPU can load and store data into internal registers for faster operations

l  Done with first assembly instructions – mov.b and mov.w

mov.b #FFH, R5 mov.b R5, &P1OUT mov.w 2(R5), R6 mov.w @R5, 3(R6)

Adapted from notes from BYU ECE124

34

Page 35: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Logic review – basic gates

A Z 0 1 1 0

A B Z 0 0 0 0 1 0 1 0 0 1 1 1

A B Z 0 0 0 0 1 1 1 0 1 1 1 1

INV.W R5 R5 = ~R5;

BIS.B R6, R7 R7 = R6 || R7;

AND.W R6, R7 R7 = R6 && R7;

A B Z 0 0 0 0 1 1 1 0 1 1 1 0

XOR.W R6, R7 R7= R7 ^ R6;

A B Z 0 0 0 0 1 0 1 0 0 1 1 1

BIC.W R6, R7 R7 = !R6 && R7;

35

Page 36: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Logic review – example

BIS.B #08h, R5

BIC.B #08h, R5

C and Assembly code to set bit 3 of local variable - var1 in R5

C and Assembly code to clear bit 3 of local variable - var1 in R5

Var1 = Var1 && $F7;

Var1 = Var1 || $08;

36

Page 37: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Shift Operations

c

c 0

c

c

RRA.B

RLA.B

RRC.B

RLC.B

divide by 2 – signed

multiply by 2 – signed or unsigned C command X = Y << 1;

Rotate right through C

Rotate left through C

37

Page 38: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Shift Operations

Multiplying by a power of 2 is shifting to the left. M • 2n will shift binary number M left by N bits M / 2n = M • 2-n will shift binary number M right by N bits

When dividing, be careful about the most significant bit. If signed, the existing bit must be replicated for sign extension. If unsigned, the most significant bit must always be a zero

38

Page 39: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Encoders / Decoders

3 to 8 line decode

input 0 1 2 3 4 5 6 7 000 1 0 0 0 0 0 0 0 001 0 1 0 0 0 0 0 0 010 0 0 1 0 0 0 0 0 011 0 0 0 1 0 0 0 0 100 0 0 0 0 1 0 0 0 101 0 0 0 0 0 1 0 0 110 0 0 0 0 0 0 1 0 111 0 0 0 0 0 0 0 1

Encoder Decoder

39

Page 40: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Read Only Memories - ROM

Address Data Out 1 2 2 3 4 5 6 7

000 1 0 1 0 1 0 0 0 001 0 1 0 0 0 0 0 1 010 0 0 1 0 0 1 0 0 011 0 0 1 1 0 0 0 0 100 0 0 1 0 0 0 1 1 101 1 1 1 0 0 1 1 1 110 1 1 0 0 0 0 1 0 111 1 1 1 1 0 0 0 1

n

m

ROM

2n addresses addressed by n bit m output data bits

40

Page 41: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Read Only Memories - ROM

n

m

Memory array n to 2n decoder

2n

Address input word lines

data output

41

Page 42: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

ROM memory array

pd pd pd pd pd pd pd pd pd pd word line 2N-1

word line 2N-2

word line 2

word line 1

word line 0

data m-1 data m-2 data0 data1 data 2

programmed “one”

programmed “zero”

bit lines

weak pull down

42

Page 43: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Random Access Memory (RAM)

wordline

bitline bitlineN

6 Transistor SRAM cell

n

m

sram array of 6-t cells n to 2n decoder

2n Address input

word lines m

rnw

data in

data out 43

Page 44: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Creating Fractions

l  Fractions are created by using extra bits below your whole numbers.

l  The programmer is responsible for knowing where the “decimal place” is.

l  Move the decimal place by using the shift operator (<< or >>). –  Shifting is multiplying by powers of 2. –  Example:

l  x << 5 = x × 25 l  x >> 5 = x × 2-5

44

Page 45: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Fractional Example

0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 = 5

A/D Sample (10-bit)

Fractional part

Shift left by 6 (i.e. A2D << 6;):

0

Whole part

0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 = "5.0"

45

Page 46: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Fractional Example l  We know 5/2 = 2.5

–  If we used pure integers, 5/2 = 2 –  Using a fixed-point fractional portion can recover the

lost decimal portion.

0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 = 5/2 = 2

A/D Sample (10-bit)

Fractional part

Whole part

0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 = 5.0/2 = 2.5 1

46

Page 47: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Fixed Point

Fractional part

Whole part

0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1

§  By using a fixed-point fractional part, we can have 5/2 = 2.5

§  The more bits you use in your fractional part, the more accuracy you will have.

§  Accuracy is 2^-(fraction bits).

§  For example, if we have 6 bits in our fractional part (like the above example), our accuracy is 2^-6 (2-6 = 0.015625. In other words, every bit is equal to 0.015625

47

Page 48: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Fixed Point Arithmetic

Adding 2.5 + 2.5 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1

§  Fixed point addition:

0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1

0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0

+

0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 = 5 0

§  Shift right to regain original resolution and data position.

§  Without fixed point math the result would have been 4 due to the truncation of the integer division. 48

Page 49: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Fixed Point Example #1

Cruise Control Specification range 0 – 100 MPH, resolution of 1 MPH two values: measured speed and target speed algorithm constantly calculates difference Format determination Use binary fixed point for ease of math (subtraction) Select range of 0 to 127 (27) to just exceed requirements Select resolution of 0.5 (2-1) to just exceed requirements 7 bits for integer and 1 bit for fractional = 8 bits precision

0 1 0 0 1 1 0 0

implied point

integer part fractional part

= 70.0 = K • Δp = 140 • 2-1

49

Page 50: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Fixed Point Example #2

A/D converter Specification range 0 – 5 V, resolution of 20 millivolts Format determination Select range of 0 to 7 (23) to just exceed requirements Select resolution of 0.015625 (2-6) to just exceed rqmts 3 bits for integer and 6 bit for fractional = 9 bits precision for 9 bits precision, need 16 bit register in HCS12

0 1 1 1 1 0 0 0

implied point

integer part fractional part

= 3.75 = K • Δp = 240 • 2-6 0

50

Page 51: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Floating Point Numbers

l  Binary scientific notation l  32-bit floating point

l  Exponent is biased l  Implied leading 1 in mantissa

s exponent mantissa 1 8 23

1272.11 −××−= exponents fractionN

51

Page 52: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Floating Point Numbers

l  What does this represent?

Positive number

Exponent is 128 which means the real exponent is 1

Mantissa is to be interpreted as 1.1 This is 20 + 2-1 = 1 + 1/2 = 1.5

The final number is 1.5 x 21 = 3

0 10000000 10000000000000000000000

52

Page 53: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

ASCII Characters

NUL DLE SP 0 @ P ` p SOH DC1 ! 1 A Q a q STX DC2 “ 2 B R b r ETX DC3 # 3 C S c s EOT DC4 $ 4 D T d t ENQ NAK % 5 E U e u ACK SYN & 6 F V f v BEL ETB ‘ 7 G W g w BS CAN ( 8 H X h x HT EM ) 9 I Y i y LF SUB * : J Z j z VT ESC + ; K [ k { FF FS , < L \ l | CR GS - = M ] m } SO RS . > N ^ n ~ SI US / ? O _ o DEL

0 1 2 3 4 5 6 7 8 9 a b c d e f

0 1 2 3 4 5 6 7 8-9 a-f

53

Page 54: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Properties of ASCII Code l  What is relationship between a decimal digit ('0', '1', …)

and its ASCII code? l  What is the difference between an upper-case letter

('A', 'B', …) and its lower-case equivalent ('a', 'b', …)? l  Given two ASCII characters, how do we tell which

comes first in alphabetical order? l  What is significant about the first 32 ASCII codes? l  Are 128 characters enough? (http://www.unicode.org/)

54

Page 55: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Data Representation – endian

l  Byte Ordering –  Little endian

l  refers to system where bytes start in memory from small to large

l  Intel and HP –  Big endian

l  refers to system where bytes start in memory from large to small

l  IBM and Motorola (this class) –  Biendian - goes either way – PowerPC

l  Bit Ordering $00

$01

$02

$03

$12

$34

$56

$78

$12345678 $00

$01

$02

$03

$78

$56

$34

$12 big endian little endian

55

Page 56: ee3376-information - UTEP...Electronic Representation of a Bit ! Relies only on approximate physical values.– A logical ‘1’ is a relatively high voltage (2.4V - 5V). – A logical

Data representation – BCD

1 2 : 4 5 0001 0010 : 0100 0101

l  Binary Coded Decimal –  useful for human readable displays (7 segment) –  half carry bit for BCD arithmetic –  values 1010 through 1111 are not legal –  H CCR bit and DAA instructions used with BCD

56