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
Flowchart for Unsigned Binary Multiplication
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


Komentar
Posting Komentar