1 / 27

CPS3340 Computer Architecture Fall Semester, 2013

Lecture 7: 32-bit ALU, Fast Carry Lookahead Instructor: Ashraf Yaseen. CPS3340 Computer Architecture Fall Semester, 2013. Department of Math & Computer Science Central State University, Wilberforce, OH. 09/19/2013. Review. Last Class Addition and Subtraction 1-bit ALU This Class

Download Presentation

CPS3340 Computer Architecture Fall Semester, 2013

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. Lecture 7: 32-bit ALU, • Fast Carry Lookahead • Instructor: Ashraf Yaseen CPS3340 Computer ArchitectureFall Semester, 2013 Department of Math & Computer Science Central State University, Wilberforce, OH 09/19/2013

  2. Review • Last Class • Addition and Subtraction • 1-bit ALU • This Class • 32-bit ALU • Fast Carry Lookahead • Next Class • Computer Clock

  3. 32-bit ALU ripple carry

  4. Subtraction • Subtraction can be done by adding a and b’s negate and 1 By selecting ^b (Binvert = 1) and setting CarryIn to 1 in the least significant bit of the ALU, we get two’s complement subtraction of b from a instead of addition of b to a A 1-bit ALU that performs AND, OR, and addition on a and b or a and -b

  5. Other functions • These four operations (add, subtract, AND, OR) are found in the ALU of almost every computer, and the operations of most MIPS instructions can be performed by this ALU • But, the design of the ALU is incomplete, • NOR function • Support for set on less than instruction (slt) • Handle overflow • Test of zero (equality test to support conditional branch instructions)

  6. NOR • Ainvert =1, Binvert =1, Operation =00

  7. Set on less than • Set on less than (slt) • For comparison of two integers a and b • Least significant bit • 1 if a < b • 0 otherwise • Other bits • 0

  8. Set on less than

  9. Handling Overflow

  10. 32-bit ALU • Bit 0-30: normal 1-bit ALU • Bit 31: 1-bit ALU with overflow detection

  11. Final 32-bit ALU • Bnegate • Every time we want the ALU to subtract, we set both CarryIn and Binvert to 1 • Otherwise, both CarryIn and Binvert are set to 0 • NOR operation: Binvert is 1, but CarryIn is Don’t Care • We can combine CarryIn and Binvert to a single line of Bnegate

  12. Test of Zero • We want to quickly test if two integers are equal • Design a single signal of Zero

  13. Final 32-bit ALU

  14. ALU Control Signals

  15. Symbol of ALU

  16. Faster Addition • Carry Lookahead • Speeding up addition • Determining the carry in to the high-order bits sooner • Key mechanism • Hardware executes in parallel

  17. Explanation of Carry Lookahead • Try to remember CarryOuti+1=CarryIni • Abbreviation of ci for CarryIni • Then c2 can be evaluated faster without waiting for c1 • How about c30? • Grows rapidly with the number of bits • Very complex

  18. Fast Carry Using the First Level of Abstraction • Consider • Generate (gi) and Propagate (pi) • Then

  19. Generates and Propagates • Why gi is called generate? • when gi is 1 • ci+1 is “generated” • Why pi is called propagate? • when gi is 0 and pi is 1 • ci+1 is “propagated” from ci

  20. 4-bit CarryIn

  21. A Plumbing Analog • Wrenches open and close valves • ci+1 will be full • if the nearest generate value gi is on • or pi is on and there is water further upstream • c0 can result in a carry out without the help of any generates but the help of all propagates

  22. Second Level of Abstraction • Super Propagate • Super Generate • Carryin for 16-bit adder

  23. Four 4-bit ALUs with Carry Lookahead to form a 16-bit adder

  24. Example of Fast Carry Lookahead • Consider adding two 16-bit integers a and b • generate gi=ai·bi and propagate pi=ai+bi • Super generate and Super Propagate

  25. Example of Fast Carry Lookahead (cont.) • Finally • How many “steps”? • step 1: produce generate and propagate • step 2: produce super generate and super propagate • step 3: produce carryout • much faster than adder without fast carry lookahead

  26. Summary • 1-bit ALU • Logic Functions • Arithmetic Functions • 32-bit ALU • Set on less than • Test of Zero • Fast Carry Look ahead

  27. What I want you to do • Review Appendix C • Work on your assignment 2

More Related