Perkuliahan 7

 Komputer Aritmatika


Komputer Aritmatika

  • Does the calculations
  • Everything else in the computer is there to service this unit
  • Handles integers
  • May handle floating point (real) numbers
  • May be separate FPU (maths co-processor)
  • May be on chip separate FPU (486DX +)

ALU Inputs and Outputs


Integer Representation

  • Only have 0 & 1 to represent everything
  • Positive numbers stored in binary
  • e.g. 41=00101001
  • No minus sign
  • No period
  • Sign-Magnitude
  • Two’s compliment

Two’s Compliment

Benefits

  • One representation of zero
  • Arithmetic works easily (see later)
  • Negating is fairly easy
  • 3 = 00000011
  • Boolean complement gives 11111100
  • Add 1 to LSB 11111101

Geometric Depiction of Twos Complement Integers

Negation Special Case 1

  •  0 =                00000000
  • Bitwise not       11111111
  • Add 1 to LSB              +1
  • Result           1 00000000
  • Overflow is ignored, so:
  • - 0 = 0 

Range of Numbers

  • 8 bit 2s compliment
  • +127 = 01111111 = 27 -1
  •  -128 = 10000000 = -27
  • 16 bit 2s compliment
  • +32767 = 011111111 11111111 = 215 - 1
  •  -32768 = 100000000 00000000 = -215

Addition and Subtraction

  • Normal binary addition
  • Monitor sign bit for overflow

  • Take twos compliment of substahend and add to minuend
  • i.e. a - b = a + (-b)

  • So we only need addition and complement circuits

Hardware for Addition and Subtraction


Multiplication Example

  • 1011   Multiplicand (11 dec)
  •  1101   Multiplier     (13 dec)
  • 1011   Partial products
  •        0000     Note: if multiplier bit is 1 copy
  •      1011       multiplicand (place value)
  •    1011       otherwise zero
  •  10001111   Product (143 dec)
  •  Note: need double length result

Unsigned Binary Multiplication



Execution of Example

Flowchart for Unsigned Binary Multiplication


Multiplying Negative Numbers

  • This does not work!
  • Solution 1
  • Convert to positive if required
  • Multiply as above
  • If signs were different, negate answer
  • Solution 2
  • Booth’s algorithm

Booth’s Algorithm


Example of Booth’s Algorithm







Example


Floating Point Examples


Signs for Floating Point

  • Mantissa is stored in 2s compliment
  • Exponent is in excess or biased notation
  • e.g. Excess (bias) 128 means
  • 8 bit exponent field
  • Pure value range 0-255
  • Subtract 128 to get correct value
  • Range -128 to +127

Normalization

  • FP numbers are usually normalized
  • i.e. exponent is adjusted so that leading bit (MSB) of mantissa is 1
  • Since it is always 1 there is no need to store it
  • (c.f. Scientific notation where numbers are normalized to give a single digit before the decimal point
  • e.g. 3.123 x 103)

Expressible Numbers


IEEE 754

  • Standard for floating point storage
  • 32 and 64 bit standards
  • 8 and 11 bit exponent respectively
  • Extended formats (both mantissa and exponent) for intermediate results

FP Arithmetic +/-

  • Check for zeros
  • Align significands (adjusting exponents)
  • Add or subtract significands
  • Normalize result

FP Arithmetic x/

  • Check for zero
  • Add/subtract exponents 
  • Multiply/divide significands (watch sign)
  • Normalize
  • Round
  • All intermediate results should be in double length storage

Floating Point Multiplication


Floating Point Division


Required Reading

  • Stallings Chapter 8
  • IEEE 754  on IEEE Web site


Komentar

Postingan populer dari blog ini

UTS Organisasi Komputer

RESUME ORGANISASI DAN ARSITEKTUR KOMPUTER - MICRO-PROGRAMMED CONTROL