1 / 51

240-334 Computer System Design Lecture 3

240-334 Computer System Design Lecture 3. Wannarat Suntiamorntut. Arithmetic for Computer. Implementing the Architecture. The numbers. Binary number (base 2) numbers are finite ( overflow ) fraction and real number

afia
Download Presentation

240-334 Computer System Design Lecture 3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 240-334Computer System DesignLecture 3 Wannarat Suntiamorntut 240-334 By Wannarat

  2. Arithmetic for Computer • Implementing the Architecture 240-334 By Wannarat

  3. The numbers • Binary number (base 2) • numbers are finite (overflow) • fraction and real number • negative number e.g., No MIPS subi instruction, addi can add a negative number 240-334 By Wannarat

  4. Possible Representations Sign Magnitude One’s complement Two’s complement 000 = +0 000 = +0 000 = +0 001 = +1 001 = +1 001 = +1 010 = +2 010 = +2 010 = +2 011 = +3 011 = +3 011 = +3 100 = -0 100 = -3 100 = -4 101 = -1 101 = -2 101 = -3 110 = -2 110 = -1 110 = -2 111 = -3 111 = -0 111 = -1 Negative and Invert are different! 240-334 By Wannarat

  5. Addition & Subtraction • 7 - 6 {0111 - 0110} = 0001 • two’s complement 0111 + 1010 = 0001 • Overflow n-bit does not yield an n-bit number 0111 + 0001 1000 240-334 By Wannarat

  6. Detecting overflow • No overflow when add positive&negative • No overflow when signs are the same for subtraction • Overflow occur when : - add two positives yield a negative - add two negative gives a positive - subtract negative from positive and get negative - subtract positive from negative get a positive 240-334 By Wannarat

  7. Effect of Overflow • Exception occur (Interrupt) - control jumps to predefined address for exception - Interrupted address is saved • Don’t always to detect overflow - New MIPS instructions: addu, addiu ... 240-334 By Wannarat

  8. ALU • Build ALU support andi, ori instructions 240-334 By Wannarat

  9. Multiplexor • Select one of the inputs to be output, base on control input 240-334 By Wannarat

  10. ALU for Addition instruction • Cout = ab + bcin + acin • Sum = a xor b xor cin 240-334 By Wannarat

  11. ALU for Subtraction instruction • Two’s complement approach : just negative b and ADD 240-334 By Wannarat

  12. Supporting slt 240-334 By Wannarat

  13. 240-334 By Wannarat

  14. MIPS Arithmetic Instruction format 240-334 By Wannarat

  15. Conclusion ALU in MIPS • Use multiplexor to select output we want • efficiently perform subtraction using two’s complement • replicate 1-bit ALU to 32-bit ALU 240-334 By Wannarat

  16. Computation Problem :fast adder • 32-bit ALU faster than 1-bit ALU? • Carry-lookahead adder g = ab, p = a + b c1 = g0 + p0c0 c2 = g1 + p1c1c2 c3 = g2 + p2c2c3 ... 240-334 By Wannarat

  17. 240-334 By Wannarat

  18. Part II : Lecture III 240-334 By Wannarat

  19. Multiplication 0010 (multiplicand) x 1011 (multiplier) ???? 240-334 By Wannarat

  20. Unsign Combinational Multiplier 240-334 By Wannarat

  21. Multiplication : First Version (Unsign) 240-334 By Wannarat

  22. Multiplication : First Version (contd.) 240-334 By Wannarat

  23. Analyze First Version • 1 clock per cycle • 50 % of bit in multiplicand always = 0 => 64-bit adder is wasted • 0’s inserted in left of multiplicand as shifted => lead significant bits of product never changed once formed 240-334 By Wannarat

  24. Multiplication : Second Version 240-334 By Wannarat

  25. Multiplication : Second Version (Contd.) 240-334 By Wannarat

  26. Analyze Second Version • Product register wasted space that exactly matches size of multiplier Combine Multiplier register and Product register 240-334 By Wannarat

  27. Multiplication : Third Version 240-334 By Wannarat

  28. Multiplication : Third Version (Contd.) 240-334 By Wannarat

  29. Analyze Third Version • 2 steps per bit because multiplier & product combined • MIPS registers Hi, Lo are left and right half of product 240-334 By Wannarat

  30. Booth’s Algorithm 240-334 By Wannarat

  31. Example : 2 x 7 240-334 By Wannarat

  32. Example : 2 x -3 240-334 By Wannarat

  33. Shifter : 2 kinds 240-334 By Wannarat

  34. Part III : Lecture III 240-334 By Wannarat

  35. Divide 240-334 By Wannarat

  36. Divide : First Version 240-334 By Wannarat

  37. Divide : First Version (Contd.) 240-334 By Wannarat

  38. Analyze First Version • 50% bits in divisor always 0 =>1/2 of 64-bit adder is wasted => 1/2 divisor is wasted • 1 step cannot produce a 1 in quotient bit => Switch order to shift first 240-334 By Wannarat

  39. Divide : Second Version 240-334 By Wannarat

  40. Divide : Second Version (Contd.) 240-334 By Wannarat

  41. Analyze Second Version • Eliminate Quotient register by combining with Remainder as shifted left 240-334 By Wannarat

  42. Divide : Third Version 240-334 By Wannarat

  43. Divide : Third Version (Contd.) 240-334 By Wannarat

  44. Analyze Third Version Do Analyze by yourself 240-334 By Wannarat

  45. Floating Point : IEEE754 240-334 By Wannarat

  46. 1 01111110 1000 0000 0000 0000 0000 000 S E M 1-bit 8-bit 23-bit Floating-point Representation • -0.75 = -3/4 = -3/22 = -11/ 22 = -0.11 = -1.1x 2-1 = (-1)s x (1 + signifiand) x 2 (exponent-127) = (-1) x (1+.1000 0000) x 2(126-127) 240-334 By Wannarat

  47. Floating-point Addition 9.999 x 101 + 1.610x10-1 • Step1 : Change exponent as : 1.610 x 10 -1 = 0.016 x 101 • Step2 : Add significands 9.999 (10) + 0.016 (10) 10.015 (10) Sum = 10.015 x 101 240-334 By Wannarat

  48. Floating-point Addition 9.999 x 101 + 1.610x10-1 • Step3 : correct it (normalization) : 10.015 x 10 1 = 1.0015 x 102 • Step4 : Four digits for significand 1.002 x 102 240-334 By Wannarat

  49. Example Floating-point Addition 0.5 + (-0.4375) 0.5 = 1/2 = 1/21 = 0.1 x 20 = 1.00 x 2-1 -0.4375 = -7/16 = -7/24 = - 0.0111 = -1.110 x 2-2 step 1 : -0.111 x 2-1 step 2 : 1.0x 2-1 + (-0.111 x 2-1)=0.001 x 2-1 step 3 : 1.0 x 2 -4 step 4 : 0.0625 240-334 By Wannarat

  50. Multiplication Floating-point Study in Text Book by yourself. 240-334 By Wannarat

More Related