Download presentation
Presentation is loading. Please wait.
Published byGeoffrey Hunter Modified over 9 years ago
1
CPS3340 COMPUTER ARCHITECTURE Fall Semester, 2013 09/19/2013 Lecture 7: 32-bit ALU, Fast Carry Lookahead Instructor: Ashraf Yaseen DEPARTMENT OF MATH & COMPUTER SCIENCE CENTRAL STATE UNIVERSITY, WILBERFORCE, OH 1
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) 5
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.