Binary Adder. sum of 2 binary numbers can be larger than either number need a carry-out to store the overflow



Similar documents
CSE140 Homework #7 - Solution

ECE410 Design Project Spring 2008 Design and Characterization of a CMOS 8-bit Microprocessor Data Path

CMOS Binary Full Adder

NEW adder cells are useful for designing larger circuits despite increase in transistor count by four per cell.

Digital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng

Let s put together a Manual Processor

Chapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language

LFSR BASED COUNTERS AVINASH AJANE, B.E. A technical report submitted to the Graduate School. in partial fulfillment of the requirements

Binary Adders: Half Adders and Full Adders

Adder.PPT(10/1/2009) 5.1. Lecture 13. Adder Circuits

Module 4 : Propagation Delays in MOS Lecture 22 : Logical Effort Calculation of few Basic Logic Circuits

Lecture 5: Gate Logic Logic Optimization

Chapter 10 Advanced CMOS Circuits

Sistemas Digitais I LESI - 2º ano

DEPARTMENT OF INFORMATION TECHNLOGY

FORDHAM UNIVERSITY CISC Dept. of Computer and Info. Science Spring, Lab 2. The Full-Adder

5 Combinatorial Components. 5.0 Full adder. Full subtractor

Understanding Logic Design

CHAPTER 3 Boolean Algebra and Digital Logic

Design of Low Power One-Bit Hybrid-CMOS Full Adder Cells

Combinational Logic Design

Layout of Multiple Cells

Counters and Decoders

Binary full adder. 2-bit ripple-carry adder. CSE 370 Spring 2006 Introduction to Digital Design Lecture 12: Adders

Having read this workbook you should be able to: recognise the arrangement of NAND gates used to form an S-R flip-flop.

A Novel Low Power, High Speed 14 Transistor CMOS Full Adder Cell with 50% Improvement in Threshold Loss Problem

exclusive-or and Binary Adder R eouven Elbaz reouven@uwaterloo.ca Office room: DC3576

Lab 1: Full Adder 0.0

A New Low Power Dynamic Full Adder Cell Based on Majority Function

Digital Electronics Detailed Outline

Gates & Boolean Algebra. Boolean Operators. Combinational Logic. Introduction

ECE124 Digital Circuits and Systems Page 1

Systems I: Computer Organization and Architecture

Sequential 4-bit Adder Design Report

United States Naval Academy Electrical and Computer Engineering Department. EC262 Exam 1

Implementation of Modified Booth Algorithm (Radix 4) and its Comparison with Booth Algorithm (Radix-2)

FORDHAM UNIVERSITY CISC Dept. of Computer and Info. Science Spring, The Binary Adder

Flip-Flops, Registers, Counters, and a Simple Processor

RUTGERS UNIVERSITY Department of Electrical and Computer Engineering 14:332:233 DIGITAL LOGIC DESIGN LABORATORY

3.Basic Gate Combinations

Building Blocks for Digital Design

Lecture #21 April 2, 2004 Relays and Adder/Subtractors

Gates, Circuits, and Boolean Algebra

1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1.

Pass Gate Logic An alternative to implementing complex logic is to realize it using a logic network of pass transistors (switches).

Gate Delay Model. Estimating Delays. Effort Delay. Gate Delay. Computing Logical Effort. Logical Effort

CSE140: Components and Design Techniques for Digital Systems. Introduction. Prof. Tajana Simunic Rosing

NAME AND SURNAME. TIME: 1 hour 30 minutes 1/6

COMBINATIONAL CIRCUITS

earlier in the semester: The Full adder above adds two bits and the output is at the end. So if we do this eight times, we would have an 8-bit adder.

ELEC EXPERIMENT 1 Basic Digital Logic Circuits

CSE140: Components and Design Techniques for Digital Systems

WEEK 8.1 Registers and Counters. ECE124 Digital Circuits and Systems Page 1

HIGH SPEED AREA EFFICIENT 1-BIT HYBRID FULL ADDER

Design of Energy Efficient Low Power Full Adder using Supply Voltage Gating

Microprocessor & Assembly Language

Here we introduced (1) basic circuit for logic and (2)recent nano-devices, and presented (3) some practical issues on nano-devices.

Systems I: Computer Organization and Architecture

Figure 8-1 Four Possible Results of Adding Two Bits

ECE 3401 Lecture 7. Concurrent Statements & Sequential Statements (Process)

(Refer Slide Time: 00:01:16 min)

ERROR DETECTION AND CORRECTION

A New Reversible TSG Gate and Its Application For Designing Efficient Adder Circuits

ETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies

List of Experiment. 8. To study and verify the BCD to Seven Segments DECODER.(IC-7447).

Lecture 8: Binary Multiplication & Division

CS101 Lecture 26: Low Level Programming. John Magee 30 July 2013 Some material copyright Jones and Bartlett. Overview/Questions

System on Chip Design. Michael Nydegger

Contents COUNTER. Unit III- Counters

COMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design

The components. E3: Digital electronics. Goals:

Optimization and Comparison of 4-Stage Inverter, 2-i/p NAND Gate, 2-i/p NOR Gate Driving Standard Load By Using Logical Effort

Computer organization

Module 3: Floyd, Digital Fundamental

CS 61C: Great Ideas in Computer Architecture Finite State Machines. Machine Interpreta4on

Using Logic to Design Computer Components

BINARY CODED DECIMAL: B.C.D.

DB19. 4-Bit Parallel Adder/ Subtractor. Digital Lab Experiment Board Ver. 1.0

6.004 Computation Structures Spring 2009

International Journal of Electronics and Computer Science Engineering 1482

e.g. τ = 12 ps in 180nm, 40 ps in 0.6 µm Delay has two components where, f = Effort Delay (stage effort)= gh p =Parasitic Delay

Experiment # 9. Clock generator circuits & Counters. Eng. Waleed Y. Mousa

PLL frequency synthesizer

High Speed Gate Level Synchronous Full Adder Designs

CHAPTER 11: Flip Flops

Two-level logic using NAND gates

6-BIT UNIVERSAL UP/DOWN COUNTER

Binary Division. Decimal Division. Hardware for Binary Division. Simple 16-bit Divider Circuit

Counters are sequential circuits which "count" through a specific state sequence.

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Chapter 2 Logic Gates and Introduction to Computer Architecture

DIGITAL TECHNICS II. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute 5. LECTURE: REGISTERS AND RELATED

Decimal Number (base 10) Binary Number (base 2)

Logic in Computer Science: Logic Gates

BOOLEAN ALGEBRA & LOGIC GATES

EXPERIMENT 4. Parallel Adders, Subtractors, and Complementors

CHAPTER 16 MEMORY CIRCUITS

INTEGRATED CIRCUITS. For a complete data sheet, please also download:

Two's Complement Adder/Subtractor Lab L03

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

Transcription:

Binary Addition single bit addition Binary Adder sum of 2 binary numbers can be larger than either number need a carry-out to store the overflow Half-Adder 2 inputs (x and y) and 2 outputs (sum and carry) x y s c 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 x y x + y (binary sum) 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 (binary, i.e. 2 in base-10) s = x y c = x y XOR AND HA ECE 410, Prof. A. Mason Lecture Notes 12.1 c x y s half-adder symbol

Half-Adder Circuits Simple Logic using XOR gate Most Basic Logic NAND and NOR only circuits x y s c 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 s = x y c = x y Take-home Questions: Which of these 3 half-adders will be fastest? slowest? why?? Which has fewest transistors? Which transition has the critical delay? ECE 410, Prof. A. Mason Lecture Notes 12.2

Full-Adder When adding more than one bit, must consider the carry of the previous bit full-adder has a carry-in input Full-Adder Equation Full-Adder Truth Table a i b i c i s c i+1 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 1 1 1 1 1 1 c i a i + b i c i+1 s i = a i b i c i c i+1 = a i b i + c i (a i b i ) if not trying to reuse the a i b i term from sum, can write c i+1 = a i b i + c i (a i + b i ) ECE 410, Prof. A. Mason Lecture Notes 12.3 s i for every i-th bit carry-in + a + b = carry-out, sum c i+1 a i FA + s i b i c i full-adder symbol

Full-Adder Circuits Full-Adder Equations: s i = a i b i c i and c i+1 = a i b i + c i (a i b i ) XOR-based FA HA-based FA Other FA Circuits a few others options are covered in the textbook ECE 410, Prof. A. Mason Lecture Notes 12.4

AOI Structure FA Full Adder Circuits implements following SOP equations c i+1 = a i b i + c i (a i + b i ) s i = (a i + b i + c i ) c i+1 + (a i b i c i ) sum delayed from carry AND OR INV Transmission Gate FA sum and carry have about the same delay ECE 410, Prof. A. Mason Lecture Notes 12.5

Full Adder in CMOS Consider nmos logic for c_out c i+1 = a i b i + c i (a i + b i ) two paths to ground Mirror CMOS Full Adder carry out circuit c i =0 and a i +b i =0 c i =1 and a i +b i =1 a i =b i =0 a i =b i =1 complete circuit ECE 410, Prof. A. Mason Lecture Notes 12.6

FA Using 2:1 MUX If we re-arrange the FA truth table can simplify the output (sum, carry) expressions a i b i c i a b s c i+1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 1 0 1 1 1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 1 1 0 1 1 0 1 1 0 1 Implementation If (A B = 0), SUM=Cin; Cout=A; Else, SUM=Cin_bar; Cout=Cin; use an XOR to make the decision (a b=0?) use a 2:1 MUX to select which equation/value of sum and carry to pass to the output A B Cin Cin_bar A Cin A B Sum Cout Partial Schematic can you figure out the details? ECE 410, Prof. A. Mason Lecture Notes 12.7

Binary Word Adders Adding 2 binary (multi-bit) words adding 2 n-bit word produces an n-bit sum and a carry example: 4b addition Carry Bits binary adding of n-bits will produce an n+1 carry can be used as carry-in for next stage or as an overflow flag Cascading Multi-bit Adders carry-out from a binary word adder can be passed to next cell to add larger words example: 3 cascaded 4b binary adders for 12b addition a b carry-in carry-out a b a 3 a 2 a 1 a 0 + b 3 b 2 b 1 b 0 c 4 s 3 s 2 s 1 s 0 carry-in carry-out a b 4b input a + 4b input b = carry-out, 4b sum carry-out ECE 410, Prof. A. Mason Lecture Notes 12.8

Ripple Carry Adder To use single bit full-adders to add multi-bit words must apply carry-out from each bit addition to next bit addition essentially like adding 3 multi-bit words c each c i is generated from the i-1 addition 3 c 2 c 1 c 0 carry-in bits a 3 a 2 a 1 a 0 4b input a c 0 will be 0 for addition + b 3 b 2 b 1 b 0 + 4b input b kept in equation for generality c 4 s 3 s 2 s 1 s 0 symbol for an n-bit adder = carry-out, 4b sum Ripple-Carry Adder 4b ripple-carry adder using 4 FAs passes carry-out of each bit to carry-in of next bit for n-bit addition, requires n Full-Adders ECE 410, Prof. A. Mason Lecture Notes 12.9

Adder/Subtractor using R-C Adders Subtraction using 2 s complements 2 s complement of X: X 2s = X+1 invert and add 1 Subtraction via addition: Y - X = Y + X 2s R-C Adder/Subtactor Cell control line, add_sub: 0 = add, 1 = subtract XOR used to pass (add_sub=1) or invert (add_sub=0) set first carry-in, c 0, to 1 will add 1 for 2 s complement a = add_sub b b ECE 410, Prof. A. Mason Lecture Notes 12.10

Ripple-Carry Adders in CMOS Simple to implement and connect for multi-bit addition but, they are very slow Worse-case delays in R-C Adders each bit in the cascade requires carry-out from the previous bit major speed limitation of R-C Adders delay depends somewhat on the type of FA implemented general assumptions worst delay in an FA is the sum but carry is more important due to cascade structure total delay is sum of delays to pass carry to final stage total delay for n-input R-C adder t n = t d (a 0,b 0 c 1 ) + (n-2) t d (c in c out ) + t d (c in s n-1 ) first stage delay: inputs to carry-out middle stage (n-2) delay: carry-in to carry-out last stage delay: carry-in to sum basic FA circuit ECE 410, Prof. A. Mason Lecture Notes 12.11

Carry Look-Ahead Adder CLA designed to overcome delay issue in R-C Adders eliminates the ripple (cascading) effect of the carry bits Algorithm based calculating all carry terms at once Introduces generate and propagate signals rewrite c i+1 = a i b i + c i (a i b i ) c i+1 = g i + c i p i generate term, g i = a i b i propagate term, p i = a i b i approach: evaluate all g i and p i terms and use them to calculate all carry terms without waiting for a carry-out ripple All sum terms evaluated at once the sum of each bit is: s i = p i c i Pros and Cons no cascade delays; outputs expressed in terms of inputs only requires complex circuits for higher bit-order adders (next slide) ECE 410, Prof. A. Mason Lecture Notes 12.12

Logic Circuits for a 4b CLA Adder Carry-out expressions for 4b CLA c 1 = g 0 + c 0 p 0, c 2 = g 1 + c 1 p 1, c 3 = g 2 + c 2 p 2, c 4 = g 3 + c 3 p 3 Expressed only in terms of known inputs c 2 = g 1 + p 1 (g 0 + c 0 p 0 ) c 3 = g 2 + p 2 [g 1 + p 1 (g 0 + c 0 p 0 )] c 4 = g 3 + p 3 {g 2 + p 2 [g 1 + p 1 (g 0 + c 0 p 0 )]} nested Sum-of-Products expressions gets more complex for higher bit adders Sums obtained by an XOR with carries simple g i = a i b i p i = a i b i complex ECE 410, Prof. A. Mason Lecture Notes 12.13

CLA Carry Generation in Reduced CMOS Reduce logic by constructing a CMOS push-pull network for each carry term expanded carry terms c 1 = g 0 + c 0 p 0 c 2 = g 1 + g 0 p 1 + c 0 p 0 p 1 c 3 = g 2 + g 1 p 2 + g 0 p 1 p 2 + c 0 p 0 p 1 p 2 c 4 = g 3 +g 2 p 3 + g 1 p 2 p 3 + g 0 p 1 p 2 p 3 + c 0 p 0 p 1 p 2 p 3 nfets network for each carry term pfet pull-up not shown notice nested structure ECE 410, Prof. A. Mason Lecture Notes 12.14

CLA in Advanced Logic Structures CLA algorithm better implemented in dynamic logic Dynamic Logic (jump to next slide) Dynamic Logic CLA Implementation multiple output domino logic (MODL) significantly fewer transistors faster less chip area output only valid during evaluate period ECE 410, Prof. A. Mason Lecture Notes 12.15

Dynamic Logic Quick Look Advantages: fewer transistors & less power consumption General dynamic logic gate nfet logic evaluation network clocked precharge pull up pfet clocked disabling nfet Precharge stage clock-gated pull-up precharges output high logic array disabled Evaluation stage prechargepull-up disabled logic array enabled & if true, discharges output Dynamic operation: output not always valid generic dynamic logic gate ECE 410, Prof. A. Mason Lecture Notes 12.16

Manchester Carry Generation Concept Alternative structure for carry evaluation define carry in terms of control signals such that only one control is active at a given time implement in switch-logic Consider single bit FA truth table p OR g is high in 6 of 8 logic states p and g are not high at the same time introduce carry-kill, k on/high when neither p or g is high carry_out always 0 when k=1 only one control signal (p, g, k) is active for each state a i b i c i c i+1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1 1 1 p i g i k i 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 generate g i = a i b i propagate p i = a i b i carry-kill k i = a i + b i ECE 410, Prof. A. Mason Lecture Notes 12.17

Manchester Carry Generation Concept Switch-logic implementation of truth table 3 independent control signals g, p, k express carry_out in terms of g, p, k generate g i = a i b i propagate p i = a i b i if g = 1 c i+1 = 1 if p = 1 c i+1 = c i if k = 1 c i+1 = 0 implement in switch-logic only one switch ON at any time carry-kill k i = a i + b i a i b i c i c i+1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1 1 1 p i g i k i 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 ECE 410, Prof. A. Mason Lecture Notes 12.18

Static CMOS Manchester Implementation Manchester carry generation circuit Static CMOS modify for inverting logic input c i _bar & output c i+1 _bar New truth table Possible implementation c i+1 = 1 if g i =0 c i+1 = 0 if g i =1 AND p i =0 c i+1 = c i if p i =1 but g i =0 here. problem? carry-kill is not needed a i b i c i c i+1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 p i g i 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 1 ECE 410, Prof. A. Mason Lecture Notes 12.19

Static CMOS Manchester Implementation Textbook Circuit Implementation c i+1 = 1 if g i =0 c i+1 = 0 if g i =1 AND p i =0 c i+1 = c i if p i =1 error when g i =0, p i =1, c i =0, c i+1 0 pulled low through M1 but M4 pulls it high a i b i c i c i+1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 static CMOS from textbook Possible Correction? insert switch in pull-up path to disable when c i =0 solves error when g i =0, p i =1, c i =0 c i+1 =0 but introduces error when g i =0, p i =1, c i =0 c i+1 =1 M4 can not pull high since new nmos cuts off path p i g i 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 1 c i ECE 410, Prof. A. Mason Lecture Notes 12.20

c i+1 Manchester Implementation Corrected Manchester Carry Generation Circuit corrected static CMOS truth table organized by p i if p i = 0 c i+1 = g i (NOT g i ) block c i, pass VDD or GND if p i = 1 M4 M3 M2 c i+1 = c i pass ci, block VDD & GND g i M1 g i p i c i a i b i c i c i+1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 p i g i 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 1 ai bi ci ci+1 pi gi VDD GND Ci 0 0 1 0 0 0 1 1 1 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0 1 0 0 act x x 1 0 0 act x x 0 0 1 x act x 0 0 1 x act x 1 1 0 x x act 1 1 0 x x act 0 1 0 x x act 0 1 0 x x act act = active x = disabled alternative design: - do not add pmos M3 - make W of M1 significantly larger than W of M4 C i will override VDD ECE 410, Prof. A. Mason Lecture Notes 12.21

Manchester Implementation Dynamic Logic Circuit evaluate when φ = 1 c i+1 stays high unless g i = 1 (c i+1 0) or p i = 1 (c i+1 c i ) 4b Dynamic Manchester Carry Generation minor ripple delay threshold drop on propagate very few transistors single bit carry generation in dynamic logic internal output, c i+1 dynamically pulled high propagate pulled low (generate) a i b i c i c i+1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 p i g i 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 1 ECE 410, Prof. A. Mason Lecture Notes 12.22

CLA for Wide Words number of terms in the carry equation increases with the width of the binary word to be added gets overwhelming (and slow) with large binary words one method is to break wide adders into smaller blocks e.g., use 4b blocks (4b is common, but could be any number) must create block generate and propagate signals to carry information to the next block g [i,i+3] = g i+3 + g i+2 p i+3 + g i+1 p i+2 p i+3 + g i p i+1 p i+2 p i+3 p [i,i+3] = p i p i+1 p i+2 p i+3 for block i thru i+3 of an n-sized adder ECE 410, Prof. A. Mason Lecture Notes 12.23

16b Adder Using 4b CLA Blocks Create SUMs from outputs of this circuit ECE 410, Prof. A. Mason Lecture Notes 12.24

Other Adder Implementations Alternative implementations for high-speed adders Carry-Skip Adder quickly generate a carry under certain conditions and skip the carry-generation block recall c i+1 = g i + c i p i, g i = a i b i, p i = a i b i note generation of p i is more complex (XOR) than g i (AND) so, generate p i and check c i p i case, skip g i generation if c i p i = 1 Carry-Select Adder uses multiple adder blocks to increase speed take a lot of chip area Carry-Save Adder parallel FA, 3 inputs and 2 outputs does not add carry-out to next bit (thus no ripple) carry is saved for use by other blocks useful for adding more than 2 numbers ECE 410, Prof. A. Mason Lecture Notes 12.25

Fully Differential Full Adder (a) sum-generate circuit (b) carry generate circuit pmos nmos pmos nmos ECE 410, Prof. A. Mason Lecture Notes 12.26

Multiplier Basics Single-Bit Binary Multiplication 0 x 0 = 0, 0 x 1 = 0, 1 x 0 = 0, 1 x 1 = 1 same result as logic AND operation (1b output, no carry!) Multiple-Bit Multiplication n-bit word TIMES an n-bit word give 2n-bit product 4b example 16 single-bit multiplies multiply each bit of a by each bit of b shift products for summing note: can multiply by 2 by shifting the word to the left by one, multiply by 4 by left-shift twice, 8 three times, etc. ECE 410, Prof. A. Mason Lecture Notes 12.27

Implementing Multiplier Circuits Multiplication Sequence organization of ANDs and ADDs 4x4 Array Multiplier Circuit 8b output ECE 410, Prof. A. Mason Lecture Notes 12.28

Signed Multiplication: Booth Encoding Signed Numbers 2 s complement Booth Encoding +m = m m = 2 m Ex: 3-bit signed numbers 3 = 0 1 1 2+3 = 5 = 2- (-3) => 1 0 1 = -3 evaluate number 2-bits at a time generate action based on 2-bit sequence -1: a sequence of 1 0 0 1 1 0 1 (0) 0: no change in sequence 1 0-1 1-1 1: a sequence of 0 1 0 1 1 0 1 = (13) 10 = [ 1*2 4 + 0*2 3 1*2 2 + 1*2 1 1*2 0 ] Benefit: Number of shift-add reduces if long seq. of 1 or 0 ECE 410, Prof. A. Mason Lecture Notes 12.29

4b x 4b Booth Multiplication Multiply m x r: A = m 3 m 2 m 1 m 0 x r 3 r 2 r 1 r 0 Rules: Ex : 0 1 0 1 x 1 0 1 1 ( 5* -5 = - 25) n r n r n-1 Action A = 0 0 0 0 0 1 0 Sub M (A-M) 1 0 1 1 Shift Rt 1 1 0 1 1 1 1 1 Shift Rt 1 1 1 0 1 1 2 0 1 Add M (A+M) 0 0 1 1 1 1 Shift Rt 0 0 0 1 1 1 1 3 1 0 Sub M (A-M) 1 1 0 0 1 1 1 =-25 Start with product A = 0 Examine r n, r n-1 0 0 : shift R right 0 1 : add M (A+M) shift A right 1 0 : sub M (A-M) shift A right 1 1 : shift A right 1 1 1 0 1 1 0 1 0 1 0 0 1 1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 ECE 410, Prof. A. Mason Lecture Notes 12.30

Arithmetic/Logic Unit Structure ALU performs basic arithmetic and logic functions in a single block core unit in a microprocessor Basic n-bit ALU Inputs 2 n-bit inputs carry in function selects Outputs 1 n-bit result carry out status outputs minus, zero, etc. Status ECE 410, Prof. A. Mason Lecture Notes 12.31

ALU Components ALU Arithmetic Components Arithmetic Block Logic Block Date Movement sometimes done in register file Arithmetic Block implements arithmetic functions add subtract increment/decrement sometimes multiply divide Example 4b Arithmetic Block ECE 410, Prof. A. Mason Lecture Notes 12.32

Logic Block ALU Logic Components implements logic functions NOT AND OR XOR Date Movement somewhere in the ALU or in the register file shift rotate Example 1-bit Logic Block ECE 410, Prof. A. Mason Lecture Notes 12.33

Example ALU Organization & Function Example ALU Bit Slice implementation of one bit Example Function Table function set for a simple ALU function determined by select inputs ECE 410, Prof. A. Mason Lecture Notes 12.34