Subtitle: How to design the data path of a processor.

Slides:



Advertisements
Similar presentations
L23 – Adder Architectures. Adders  Carry Lookahead adder  Carry select adder (staged)  Carry Multiplexed Adder  Ref: text Unit 15 9/2/2012 – ECE 3561.
Advertisements

Kuliah Rangkaian Digital Kuliah 7: Unit Aritmatika
CPE 626 CPU Resources: Adders & Multipliers Aleksandar Milenkovic Web:
EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 1 Digital Integrated Circuits A Design Perspective Arithmetic Circuits Jan M. Rabaey Anantha.
Datorteknik ArithmeticCircuits bild 1 Computer arithmetic Somet things you should know about digital arithmetic: Principles Architecture Design.
Fall 2005 L15: Combinational Circuits Lecture 15: Combinational Circuits Complete logic functions Some combinational logic functions –Half adders –Adders.
Fall 2007 L15: Combinational Circuits Lecture 15: Combinational Circuits Complete logic functions Some combinational logic functions –Half adders –Adders.
IMPLEMENTATION OF µ - PROCESSOR DATA PATH
Lecture 8 Arithmetic Logic Circuits
Chapter 5 Arithmetic Logic Functions. Page 2 This Chapter..  We will be looking at multi-valued arithmetic and logic functions  Bitwise AND, OR, EXOR,
9/15/09 - L25 Registers & Load Enable Copyright Joanne DeGroat, ECE, OSU1 Registers & Load Enable.
L23 – Arithmetic Logic Units. Arithmetic Logic Units (ALU)  Modern ALU design  ALU is heart of datapath  Ref: text Unit 15 9/2/2012 – ECE 3561 Lect.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Logic Circuits I.
CS1Q Computer Systems Lecture 9 Simon Gay. Lecture 9CS1Q Computer Systems - Simon Gay2 Addition We want to be able to do arithmetic on computers and therefore.
Chapter 6-1 ALU, Adder and Subtractor
1/8/ L3 Data Path DesignCopyright Joanne DeGroat, ECE, OSU1 ALUs and Data Paths Subtitle: How to design the data path of a processor.
1/8/ L11 Project Step 5Copyright Joanne DeGroat, ECE, OSU1 Project Step 5 Step 2 in behavioral modeling. Use of procedures.
1/8/ L7 Project Step 3Copyright Joanne DeGroat, ECE, OSU1 Project Step 4 Step 1 in transitioning to behavioral modeling. We will wire behavioral.
L26 – Datapath ALU implementation
Computing Systems Designing a basic ALU.
L12 – VHDL Overview. VHDL Overview  HDL history and background  HDL CAD systems  HDL view of design  Low level HDL examples  Ref: text Unit 10, 17,
CDA 3101 Fall 2013 Introduction to Computer Organization The Arithmetic Logic Unit (ALU) and MIPS ALU Support 20 September 2013.
9/15/09 - L15 Decoders, Multiplexers Copyright Joanne DeGroat, ECE, OSU1 Decoders and Multiplexer Circuits.
Lecture 18: Hardware for Arithmetic Today’s topic –Intro to Boolean functions (Continued) –Designing an ALU 1.
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
1/8/ L2 VHDL Introcution© Copyright Joanne DeGroat, ECE, OSU1 Introduction to VHDL.
1 Carry Lookahead Logic Carry Generate Gi = Ai Bi must generate carry when A = B = 1 Carry Propagate Pi = Ai xor Bi carry in will equal carry out here.
B1000 ALU ENGR xD52 Eric VanWyk Fall Today Review Timing with Adders Construct Adder/Subtractor Construct ALU.
1 Lecture 11: Hardware for Arithmetic Today’s topics:  Logic for common operations  Designing an ALU  Carry-lookahead adder.
Lecture #23: Arithmetic Circuits-1 Arithmetic Circuits (Part I) Randy H. Katz University of California, Berkeley Fall 2005.
B0111 ALU ENGR xD52 Eric VanWyk Fall Today Review Timing with Adders Construct Adder/Subtractor Compare Growth Characteristics Construct ALU.
B0110 ALU ENGR xD52 Eric VanWyk Fall Today Back to Gates! Review Timing with Adders Compare Growth Characteristics Construct Adder/Subtractor Construct.
MicroBaby ALU.
Combinational Circuits
Somet things you should know about digital arithmetic:
Lecture 11: Hardware for Arithmetic
Chap 7. Register Transfers and Datapaths
Swamynathan.S.M AP/ECE/SNSCT
Homework Reading Machine Projects Labs
Digital Systems Section 8 Multiplexers. Digital Systems Section 8 Multiplexers.
Basics of digital systems
Lecture 12 Modular Design Topics Adder and Subtractor Design
Instructors: Randy H. Katz David A. Patterson
Combinational Circuits
CSE Winter 2001 – Arithmetic Unit - 1
Processor Data Paths -ALU and Registers
Lecture 14 Logistics Last lecture Today
King Fahd University of Petroleum and Minerals
Arithmetic Circuits (Part I) Randy H
Digital Integrated Circuits A Design Perspective
Incrementing and Decrementing
Lecture 11: Hardware for Arithmetic
ARM implementation the design is divided into a data path section that is described in register transfer level (RTL) notation control section that is viewed.
Combinational logic design case studies
By: A. H. Abdul Hafez CAO, by Dr. A.H. Abdul Hafez, CE Dept. HKU
L25 – Datapath ALU.
MicroBaby Datapath.
Homework Reading Machine Projects Labs
Part III The Arithmetic/Logic Unit
Step 2 in behavioral modeling. Use of procedures.
Lecture 14 Logistics Last lecture Today
Combinational Circuits
ECE 352 Digital System Fundamentals
Lecture 9 Digital VLSI System Design Laboratory
Copyright Joanne DeGroat, ECE, OSU
Arithmetic Circuits.
Step 2 in behavioral modeling. Use of procedures.
Arithmetic Building Blocks
© Copyright Joanne DeGroat, ECE, OSU
Presentation transcript:

Subtitle: How to design the data path of a processor. ALUs and Data Paths Subtitle: How to design the data path of a processor. 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Lecture overview General Data Path Design Design of a multifunction ALU 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

Design of ALUs and Data Paths Objective: Design a General Purpose Data Path such as the datapath found in a typical computer. A Data Path Contains: Registers – general purpose, special purpose Execution Units capable of multiple functions 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

ALU Operations (integer ALU) Add (A+B) Add with Carry (A+B+Cin) Subtract (A-B) Subtract with Borrow (A-B-Cin) [Subract reverse (B-A)] [Subract reverse with Borrow (B-A-Cin)] Negative A (-A) Negative B (-B) Increment A (A+1) Increment B (B+1) Decrement A (A-1) Decrement B (B-1) Logical AND Logical OR Logical XOR Not A Not B A B Multiply Step or Multiply Divide Step or Divide Mask Conditional AND/OR (uses Mask) Shift Zero 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU A High Level Design From Hayes textbook on architecture. 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU The AMD 2901 Bit Slice ALU 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU The Architecture 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

Arithmetic Logic Circuits (ALUs) The Brute Force Approach A more modern approach 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

Arithmetic Logic Circuits The Brute Force Approach Simple and straightfoward A more modern approach 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

Arithmetic Logic Circuits The Brute Force Approach A more modern approach Where the logic unit and the adder unit are optimized 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

A Generic Function Unit To Design – a multifunction unit Desire a generic functional unit that can perform many functions A 4-to-1 mux will perform all basic logic functions of 2 inputs – known fact 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

Low level implementation At the implementation level the CMOS design can be done with transmission gates Very important for VLSI implementation Implementation has a total Of 16 transistors. Could also use NAND NOR implementation (32 trans). 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

Low level implementation An implementation in pass gates (CMOS) When the control signal is a ‘1’ the value will be transmitted across the T gate Otherwise it is an open switch – i.e. high z 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

Lets look at Binary Addition We can use this generic function unit construct a generic ALU. For Binary Addition consider the following: SUMi = Ai xor Bi xor Ci Ci+1 = Ai Bi + Ai Ci + Bi Ci 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

An Alternative - Define two signals Equations for P and K Pi = Ai xor Bi Ki = Ai’ Bi’ Now can reform Sum, Cout equations into functions of P and K and Cin 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU New functions Using these definitions of P and K SUMi = Pi xor Ci Ci+1 = Pi Ci + Pi’ Ki’ = Pi Ci + AiBi You can use generic functional blocks to generate P and K and then select the correct function for final output using a 3rd unit 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU A bit slice of the ALU Slice starts out with a generic unit which can produce any function of inputs Ai and Bi to produce Pi Need another to produce Ki (kill block) And a 3rd to generate the result (results generator block) And also need a dedicated unit to compute the carry out, the Ci+1 term 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

Generation of the carry out Ci+1 = Pi Ci + Pi’Ki’ The carry chain is the critical path for arithmetic operations. A simple ripple carry circuit is shown here for the slice Actual implementation depend on the technology in which implemented. 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

Carry chain implementation CMOS – Manchester carry chain using precharge pulldown logic works well. ECL – Carry look-ahead circuitry works well as ECL allows for large fan-in wired OR gates. 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

Multibit implementation 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

Function codes for a multifunction ALU The G values for the various logic functions By setting the value of the G inputs, the output is the corresponding logic function of the data which comes in on the select inputs. Need the results block to route the P result. 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Binary Subtraction Much like addition but now choose P = A xnor B K = A B’ Diff D = A xor B xor Bin = A xnor B xnor Bin Borrow Out Bout=P Bin + P’ K’ 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

The codes to have the ALU work Consider as we go to the sliced ALU Logic function done in the P generic unit Math uses all the blocks Function P K R Cin A 12 --- A and B 8 -- OR 14 A + B + Cin 6 1 A+B Incr A 3 A – B 9 4 0 or Bin 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

Multibit implementation 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU

Increase your knowledge base At wikipedia.com Read content on datapath You can follow link to Finite state machine with datapath Wired or Emitter coupled logic 1/8/2012 - L3 Data Path Design Copyright 2006 - Joanne DeGroat, ECE, OSU