Processor Design & ALU Design

Similar documents
SISD SIMD. Flynn s Classification 8/8/2016. CS528 Parallel Architecture Classification & Single Core Architecture C P M

Computer Engineering Department. CC 311- Computer Architecture. Chapter 4. The Processor: Datapath and Control. Single Cycle

Design. Dr. A. Sahu. Indian Institute of Technology Guwahati

EC 413 Computer Organization

CPU DESIGN The Single-Cycle Implementation

Project Two RISC Processor Implementation ECE 485

COVER SHEET: Problem#: Points

Control. Control. the ALU. ALU control signals 11/4/14. Next: control. We built the instrument. Now we read music and play it...

Lecture 13: Sequential Circuits, FSM

Lecture 13: Sequential Circuits, FSM

L07-L09 recap: Fundamental lesson(s)!

CSE Computer Architecture I

Building a Computer. Quiz #2 on 10/31, open book and notes. (This is the last lecture covered) I wonder where this goes? L16- Building a Computer 1

Implementing the Controller. Harvard-Style Datapath for DLX

Review. Combined Datapath

NCU EE -- DSP VLSI Design. Tsung-Han Tsai 1

Designing Single-Cycle MIPS Processor

Review: Single-Cycle Processor. Limits on cycle time

61C In the News. Processor Design: 5 steps

Arithmetic and Logic Unit First Part

Simple Instruction-Pipelining. Pipelined Harvard Datapath

Computer Architecture. ECE 361 Lecture 5: The Design Process & ALU Design. 361 design.1

[2] Predicting the direction of a branch is not enough. What else is necessary?

Chapter 5. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 5 <1>

Pipelining. Traditional Execution. CS 365 Lecture 12 Prof. Yih Huang. add ld beq CS CS 365 2

Design at the Register Transfer Level

Design of Sequential Circuits

3. (2) What is the difference between fixed and hybrid instructions?

Simple Instruction-Pipelining (cont.) Pipelining Jumps

CHAPTER log 2 64 = 6 lines/mux or decoder 9-2.* C = C 8 V = C 8 C * 9-4.* (Errata: Delete 1 after problem number) 9-5.

Simple Instruction-Pipelining. Pipelined Harvard Datapath

CSCI-564 Advanced Computer Architecture

UNIT 8A Computer Circuitry: Layers of Abstraction. Boolean Logic & Truth Tables

CMP N 301 Computer Architecture. Appendix C

Verilog HDL:Digital Design and Modeling. Chapter 11. Additional Design Examples. Additional Figures

[2] Predicting the direction of a branch is not enough. What else is necessary?

TEST 1 REVIEW. Lectures 1-5

Logic and Computer Design Fundamentals. Chapter 8 Sequencing and Control

Microprocessor Power Analysis by Labeled Simulation

EECS150 - Digital Design Lecture 11 - Shifters & Counters. Register Summary

課程名稱 : 數位邏輯設計 P-1/ /6/11

Designing MIPS Processor

9. Datapath Design. Jacob Abraham. Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 2017

Enrico Nardelli Logic Circuits and Computer Architecture

CprE 281: Digital Logic

CPS 104 Computer Organization and Programming Lecture 11: Gates, Buses, Latches. Robert Wagner

1. (2 )Clock rates have grown by a factor of 1000 while power consumed has only grown by a factor of 30. How was this accomplished?

Topics: A multiple cycle implementation. Distributed Notes

CSE 140 Lecture 11 Standard Combinational Modules. CK Cheng and Diba Mirza CSE Dept. UC San Diego

Digital Logic Appendix A

4. (3) What do we mean when we say something is an N-operand machine?

CA Compiler Construction

CS61C : Machine Structures

ICS 233 Computer Architecture & Assembly Language

A Second Datapath Example YH16

CS61C : Machine Structures

Logic Design II (17.342) Spring Lecture Outline

Boolean Algebra. Digital Logic Appendix A. Postulates, Identities in Boolean Algebra How can I manipulate expressions?

Digital Logic. CS211 Computer Architecture. l Topics. l Transistors (Design & Types) l Logic Gates. l Combinational Circuits.

CS/COE1541: Introduction to Computer Architecture. Logic Design Review. Sangyeun Cho. Computer Science Department University of Pittsburgh

ECE 3401 Lecture 23. Pipeline Design. State Table for 2-Cycle Instructions. Control Unit. ISA: Instruction Specifications (for reference)

Combinatorial Logic Design Multiplexers and ALUs CS 64: Computer Organization and Design Logic Lecture #13

Tunable Floating-Point for Energy Efficient Accelerators

CMP 334: Seventh Class

Boolean Algebra. Digital Logic Appendix A. Boolean Algebra Other operations. Boolean Algebra. Postulates, Identities in Boolean Algebra

Logic Design. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Logic design? Transistor as a switch. Layered design approach. CS/COE1541: Introduction to Computer Architecture. Logic Design Review.

Appendix B. Review of Digital Logic. Baback Izadi Division of Engineering Programs

CPSC 3300 Spring 2017 Exam 2

Lecture 3, Performance

UNIVERSITY OF WISCONSIN MADISON

Lecture: Pipelining Basics


Fig. 7-6 Single Bus versus Dedicated Multiplexers

A crash course in Digital Logic

Computer Architecture

EXAMPLES 4/12/2018. The MIPS Pipeline. Hazard Summary. Show the pipeline diagram. Show the pipeline diagram. Pipeline Datapath and Control

Professor Fearing EECS150/Problem Set Solution Fall 2013 Due at 10 am, Thu. Oct. 3 (homework box under stairs)

CPU DESIGN The Single-Cycle Implementation

CS/COE0447: Computer Organization

From Sequential Circuits to Real Computers

Lecture 3, Performance

Boolean Algebra and Digital Logic 2009, University of Colombo School of Computing

Sample Test Paper - I

Department of Electrical and Computer Engineering University of Wisconsin - Madison. ECE/CS 752 Advanced Computer Architecture I.

Digital Integrated Circuits A Design Perspective. Arithmetic Circuits. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic.

Adders, subtractors comparators, multipliers and other ALU elements

Computer Architecture ELEC2401 & ELEC3441

Digital Integrated Circuits A Design Perspective. Arithmetic Circuits. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic.

CS/COE0447: Computer Organization

CMPEN 411 VLSI Digital Circuits Spring Lecture 19: Adder Design

Chapter 7: Digital Components. Oregon State University School of Electrical Engineering and Computer Science. Review basic digital design concepts:

Computer Architecture. ESE 345 Computer Architecture. Design Process. CA: Design process

Register Transfer Level

VHDL DESIGN AND IMPLEMENTATION OF C.P.U BY REVERSIBLE LOGIC GATES

CMPEN 411 VLSI Digital Circuits Spring Lecture 21: Shifters, Decoders, Muxes

EECS150 - Digital Design Lecture 24 - Arithmetic Blocks, Part 2 + Shifters

2

Table of Content. Chapter 11 Dedicated Microprocessors Page 1 of 25

Worst-Case Execution Time Analysis. LS 12, TU Dortmund

Transcription:

3/8/2 Processor Design A. Sahu CSE, IIT Guwahati Please be updated with http://jatinga.iitg.ernet.in/~asahu/c22/ Outline Components of CPU Register, Multiplexor, Decoder, / Adder, substractor, Varity of Adder Multiplier : Serial, Parallel and Floating Point Processor Design Single Cycle ( Path and Control) Multi cycle ( Path) Pipeline ( Path) Flow of Our Course Understanding of Overall Computer Understanding of an existing processor architecture and Analysis Understanding of CISC to RISC Assembly language program : MIPS and X86 Components of processor : Reg, Mux., Mem, Adder Processor Design : Path and Control Path Processor Design : Analysis and Improvement Processor Design & Design Topic Design Processor Design Design Adder/ Substrator, Multiplier Floating point, (Int/float) Design Processor Design Single Cycle ( Path & Control Path) Multi Cycle (Only Path) Pipelined (Only path) Components for MIPS subset Register Adder Multiplexer Register file Program memory memory Bit manipulation components MIPS Components Register clock

3/8/2 MIPS Components Adder offset MIPS Components operation a=b a overflow result b MIPS components Multiplexers MIPS Components register file mux offset Register Number Re Reg Re Reg 2 Registers Write Reg Write data Re Re 2 select Reg Write MIPS Components: Program memory MIPS Components Bit manipulation circuits Address Memory 6 sign xtend shift 2

3/8/2 Processor Design Processor Design A simple implementation: Single Cycle path and control Performance considerations Multi cycle design path and control Micro programmed control Exception handling 3 Simple Processor Design MIPS subset for implementation Design overview Division into data path and control Building blocks combinational and sequential Clock and timings Components required for MIPS subset MIPS subset for implementation Arithmetic logic tructions d, sub, and, or, slt Memory reference tructions lw, sw Control flow tructions beq, j Incremental changes in the design to include other tructions will be discussed later Generic Implementation Design overview Use the program counter () to supply truction dress Get the truction from memory Re registers Use the truction to decide exactly what to do Memory Address Reg# Register Reg# FILE Reg# Address Memory 8 3

3/8/2 Division into path and Control A Processor Design Method Build the datapath step by step as follows control DATA PATH CONTROLLER status Start with R class tructions Include other tructions one by one Identify control Interconnect datapath and controller MIPS subset for implementation Division into data path and control Arithmetic logic tructions d, sub, and, or, slt Memory reference tructions lw, sw Control flow tructions beq, j control DATA PATH CONTROLLER status path for d,sub,and,or,slt Fetching truction fetch truction dress the register file pass operands to actions passresult to register file required increment Format: d $t, $s, $ op r dst r src r src2 shamt funct

3/8/2 Addressing RF Passing operands to [2 2] [2 6] r rd r2 w rd2 [2 2] [2 6] r rd r2 w rd2 Passing the result to RF Incrementing [2 2] [2 6] [ ] r r2 w RF rd rd2 [2 2] [2 6] [ ] r rd r2 w rd2 Lo and Store tructions Adding sw truction format : I Example: lw $t, ($) 3 8 9 op r dst r src 6 bit number [2 2] [2 6] [ ] [ ] r rd r2 w rd2 6 rd

3/8/2 Adding lw truction Format of beq truction beq I format op rs rt 6 bit number [2 2] [2 6] [ ] [ ] r rd r2 w rd2 6 rd = () SignXtend6to (level*2) Adding beq truction MIPS components bit manipulation circuits 6 sign xtend [2 2] [2 6] [ ] [ ] r rd r2 w rd2 6 rd Shift 2 Format of jump truction Adding j truction j op J format 26 bit number [2 ] 28 [3 28] ja[3 ] = Higher bit Old Level <<2 = bit from 6 bit Level 2 bit = bits [2 2] [2 6] [ ] [ ] r rd r2 w rd2 6 rd 6

3/8/2 Control [2 ] 28 [3 28] ja[3 ] jmp Psrc path Control [2 ] [3 26] [3 28] ol ontrol 28 ja[3 ] brn jmp Psrc [2 2] [2 6] [ ] Rdst [ ] RW r rd r2 w rd2 6 3Asrc op Z MW rd MR M2R [2 2] [2 6] [ ] Rdst [ ] [ ] co RW r rd r2 w rd2 6 Asrc 3 op Actrl 2 opc Z MW rd MR M2R Summary Processor designed for {d, sub, and, or, slt, lw, sw, beq, j} Step by step approach S d ih{dd b d l} Started with {d, sub, and, or, slt} Added {sw, lw}, then ded {beq, j} Identified control and connected to a controller (black box). 7