Levels in Processor Design

Slides:



Advertisements
Similar presentations
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
Advertisements

The Processor: Datapath & Control
1  1998 Morgan Kaufmann Publishers Chapter Five The Processor: Datapath and Control.
L14 – Control & Execution 1 Comp 411 – Fall /04/09 Control & Execution Finite State Machines for Control MIPS Execution.
Levels in Processor Design
Lec 17 Nov 2 Chapter 4 – CPU design data path design control logic design single-cycle CPU performance limitations of single cycle CPU multi-cycle CPU.
Chapter Five The Processor: Datapath and Control.
L15 – Control & Execution 1 Comp 411 – Spring /25/08 Control & Execution Finite State Machines for Control MIPS Execution.
Fall 2007 L16: Memory Elements LECTURE 16: Clocks Sequential circuit design The basic memory element: a latch Flip Flops.
The Processor Andreas Klappenecker CPSC321 Computer Architecture.
Fall EE 333 Lillevik 333f06-l7 University of Portland School of Engineering Computer Organization Lecture 7 ALU design MIPS data path.
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
Processor: Datapath and Control
Lec 15Systems Architecture1 Systems Architecture Lecture 15: A Simple Implementation of MIPS Jeremy R. Johnson Anatole D. Ruslanov William M. Mongan Some.
Gary MarsdenSlide 1University of Cape Town Chapter 5 - The Processor  Machine Performance factors –Instruction Count, Clock cycle time, Clock cycles per.
Computer Organization CS224 Fall 2012 Lesson 22. The Big Picture  The Five Classic Components of a Computer  Chapter 4 Topic: Processor Design Control.
ECE 445 – Computer Organization
CDA 3101 Fall 2013 Introduction to Computer Organization
Datapath and Control Unit Design
Logic Design / Processor and Control Units Tony Diep.
Computer Architecture Lecture 9 MIPS ALU and Data Paths Ralph Grishman Oct NYU.
CPU Overview Computer Organization II 1 February 2009 © McQuain & Ribbens Introduction CPU performance factors – Instruction count n Determined.
COM181 Computer Hardware Lecture 6: The MIPs CPU.
Gary MarsdenSlide 1University of Cape Town Computer Architecture – Introduction Andrew Hutchinson & Gary Marsden (me) ( ) September 2003.
MIPS Processor.
May 22, 2000Systems Architecture I1 Systems Architecture I (CS ) Lecture 14: A Simple Implementation of MIPS * Jeremy R. Johnson Mon. May 17, 2000.
Computer Architecture Lecture 6.  Our implementation of the MIPS is simplified memory-reference instructions: lw, sw arithmetic-logical instructions:
Computer Science 210 Computer Organization
CS161 – Design and Architecture of Computer Systems
Control & Execution Finite State Machines for Control MIPS Execution.
Processor Design & Implementation
Computer Architecture & Operations I
IT 251 Computer Organization and Architecture
Introduction CPU performance factors
(Chapter 5: Hennessy and Patterson) Winter Quarter 1998 Chris Myers
Morgan Kaufmann Publishers The Processor
Morgan Kaufmann Publishers
Computer Science 210 Computer Organization
Processor (I).
Latches and Flip-flops
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
Control & Execution Finite State Machines for Control MIPS Execution.
CSCI206 - Computer Organization & Programming
Computer Science 210 Computer Organization
MIPS Processor.
Levels in Processor Design
Morgan Kaufmann Publishers The Processor
Rocky K. C. Chang 6 November 2017
CS152 Computer Architecture and Engineering Lecture 8 Designing a Single Cycle Datapath Start: X:40.
The Processor Lecture 3.2: Building a Datapath with Control
The Processor Lecture 3.1: Introduction & Logic Design Conventions
Guest Lecturer TA: Shreyas Chand
Registers.
A register design with parallel load input
Systems Architecture I
COMS 361 Computer Organization
Levels in Processor Design
Processor: Multi-Cycle Datapath & Control
Control Unit (single cycle implementation)
Levels in Processor Design
Computer Architecture Processor: Datapath
Levels in Processor Design
Digital Circuits and Logic
Control Unit (single cycle implementation)
A Top-Level View Of Computer Function And Interconnection
The Processor: Datapath & Control.
What You Will Learn In Next Few Sets of Lectures
MIPS Processor.
Processor: Datapath and Control
Presentation transcript:

Levels in Processor Design Circuit design Keywords: transistors, wires etc.Results in gates, flip-flops etc. Logical design Putting gates (AND, NAND, …) and flip-flops together to build basic blocks such as registers, ALU’s etc (cf. CSE 370) Register transfer Describes execution of instructions by showing data flow between the basic blocks Processor description (the ISA) System description Includes memory hierarchy, I/O, multiprocessing etc 12/31/2018 CSE378 Single cycle implementation.

Register transfer level Two types of components (cf. CSE 370) Combinational : the output is a function of the input (e.g., adder) Sequential: state is remembered (e.g., register) 12/31/2018 CSE378 Single cycle implementation.

Synchronous design Use of a periodic clock edge-triggered clocking determines when signals can be read and when the output of circuits is stable Values in storage elements can be updated only at clock edges Clock tells when events can occur, e.g., when signals sent by control unit are obeyed in the ALU Note: the same storage element can be read/written in the same cycle Stor. Elem 1 Stor. Elem 2 Comb.logic Clock cycle 12/31/2018 CSE378 Single cycle implementation.

Logic may need several cycles to propagate values Stor. Elem 1 Stor. Elem 2 Comb.logic Write signal Write signal Logic may need several cycles to propagate values 12/31/2018 CSE378 Single cycle implementation.

Processor design: data path and control unit CPU Combinational Memory hierarchy control ALU PC Registers state Sequential Memory bus Data path 12/31/2018 CSE378 Single cycle implementation.

Processor design Data path Control unit Memory hierarchy How does data flows between various basic blocks What operations can be performed when data flows What can be done in one clock cycle Control unit Sends signals to data path elements Tells what data to move, where to move it, what operations are to be performed Memory hierarchy Holds program and data 12/31/2018 CSE378 Single cycle implementation.

Data path basic building blocks. Storage elements Basic building block (at the RT level) is a register In our mini-MIPS implementation registers will be 32-bits A register can be read or written Input bus Register Write enable signal Output bus 12/31/2018 CSE378 Single cycle implementation.

Register file Array of registers (32 for the integer registers in MIPS) ISA tells us that we should be able to: read 2 registers, write one register in a given instruction (at this point we want one instruction per cycle) Register file needs to know which registers to read/write Read register number bus 0 Write register number Read register number bus 1 Write enable Read data output bus 0 Write data input bus Register file Read data output bus 1 12/31/2018 CSE378 Single cycle implementation.

Memory Conceptually, like register file but much larger Can only read one location or write to one location per cycle Read memory address Write memory address Read control signal Write enable Memory Read data bus Write data bus 12/31/2018 CSE378 Single cycle implementation.

Combinational elements Multiplexor (Mux): selects the value of one of its inputs to be routed to the output Input busses Mux Select control signal Demultiplexor (selector): routes its input to one of its outputs Output bus Output busses Sel Select control signal Input bus 12/31/2018 CSE378 Single cycle implementation.

Arithmetic and Logic Unit (ALU - combinational) Computes (arithmetic or logical operation) output from its two inputs Zero result bit Input bus 0 ALU Output bus Input bus 1 ALU control (opcode/function) 12/31/2018 CSE378 Single cycle implementation.

Putting basic blocks together (skeleton of data path for arith/logical operations) Zero result bit Read register number bus 0 Write register number Read register number bus 1 Write enable Read data 0 ALU Register file Read data 1 ALU control (opcode/function) Write data input bus 12/31/2018 CSE378 Single cycle implementation.

Introducing instruction fetch Zero result bit Read Reg #0 Read Reg #1 Write Reg # Read data 0 ALU Reg. File Read data 1 ALU control (opcode/function) Write data Instruction address Instr. memory PC 12/31/2018 CSE378 Single cycle implementation.

PC has to be incremented (assume no branch) 4 ALU Instruction address Instruction Instr. memory PC 12/31/2018 CSE378 Single cycle implementation.

Load-Store instructions Read enable Instruction Read data 0 Read Reg #0 Read Reg #1 Write Reg # ALU Data memory R/W address Reg. File 32-bit “store” data Sign. ext 16-bit offset Write enable Data from “load” 12/31/2018 CSE378 Single cycle implementation.

Data path for straight code(reg-reg,imm,load/store) Read enable Instruction Read data 0 Read Reg #0 Read Reg #1 Write Reg # ALU Read data 1 Data memory R/W address Reg. File 32-bit Sign. ext “store” data 16-bit offset Write enable Data for result register Mux 12/31/2018 CSE378 Single cycle implementation.

Branch data path ALU 4 ALU Inst. memory PC Sftl 2 32-bit Instruction Sign.ext 12/31/2018 CSE378 Single cycle implementation.