DLX Processor מבנה המחשב + מבוא למחשבים ספרתיים תרגול 13#

Slides:



Advertisements
Similar presentations
Machine cycle.
Advertisements

Adding the Jump Instruction
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
1 Datapath and Control (Multicycle datapath) CDA 3101 Discussion Section 11.
Multicycle Datapath & Control Andreas Klappenecker CPSC321 Computer Architecture.
EEM 486 EEM 486: Computer Architecture Lecture 4 Designing a Multicycle Processor.
331 W08.1Spring :332:331 Computer Architecture and Assembly Language Spring 2006 Week 8: Datapath Design [Adapted from Dave Patterson’s UCB CS152.
Homework #5 + solution. Question 1: Convert to DLX assembly (Assume that variables i, k correspond to registers 19 20, and that the array save starts.
The Processor: Datapath & Control
The simplified DLX The datapath & control story: What happens in each control state.
L14 – Control & Execution 1 Comp 411 – Fall /04/09 Control & Execution Finite State Machines for Control MIPS Execution.
ENEE350 Ankur Srivastava University of Maryland, College Park Based on Slides from Mary Jane Irwin ( )
Instruction Set Architecture simplified DLX – A RISC architecture with only two instruction formats. 32 general purpose registers, each 32 bits wide: R0-R31.
VHDL Development for ELEC7770 VLSI Project Chris Erickson Graduate Student Department of Electrical and Computer Engineering Auburn University, Auburn,
Midterm Wednesday Chapter 1-3: Number /character representation and conversion Number arithmetic Combinational logic elements and design (DeMorgan’s Law)
Fall 2007 MIPS Datapath (Single Cycle and Multi-Cycle)
ENEE350 Ankur Srivastava University of Maryland, College Park Based on Slides from Mary Jane Irwin ( )
10/18/2005Comp 120 Fall October Questions? Instruction Execution.
Computer Structure - Datapath and Control Goal: Design a Datapath  We will design the datapath of a processor that includes a subset of the MIPS instruction.
The Processor 2 Andreas Klappenecker CPSC321 Computer Architecture.
L15 – Control & Execution 1 Comp 411 – Spring /25/08 Control & Execution Finite State Machines for Control MIPS Execution.
ALU. ALU: Tasks performed in the control states OperationState addDecode op, op=add/sub/and/or/xor. Alu addAluI rel, rel=lt, eq, gt, le, ge, ne. TestI.
Copyright 1998 Morgan Kaufmann Publishers, Inc. All rights reserved. Digital Architectures1 Machine instructions execution steps (1) FETCH = Read the instruction.
Class 9.1 Computer Architecture - HUJI Computer Architecture Class 9 Microprogramming.
The Multicycle Processor CPSC 321 Andreas Klappenecker.
The GPR Environment (Mueller & Paul) GPR_WE. The GPR Environment (Cont.) GPR_WE Drivers to enable the writing of a value to the bus.
Design and Synthesis of a RISC Stored-Program Machine
Lecture 13 - Introduction to the Central Processing Unit (CPU)
Chapter 4 Sections 4.1 – 4.4 Appendix D.1 and D.2 Dr. Iyad F. Jafar Basic MIPS Architecture: Single-Cycle Datapath and Control.
Computer Science 210 Computer Organization The von Neumann Architecture.
Computer Organization CS224 Fall 2012 Lesson 26. Summary of Control Signals addsuborilwswbeqj RegDst ALUSrc MemtoReg RegWrite MemWrite Branch Jump ExtOp.
Processor: Datapath and Control
EE204 L12-Single Cycle DP PerformanceHina Anwar Khan EE204 Computer Architecture Single Cycle Data path Performance.
Computer Science 101 Computer Systems Organization ALU, Control Unit, Instruction Set.
Computer Science 101 Computer Systems Organization Machine Language Examples Entire machine.
Electrical and Computer Engineering University of Cyprus LAB 2: MIPS.
Computer Architecture and Design – ECEN 350 Part 6 [Some slides adapted from A. Sprintson, M. Irwin, D. Paterson and others]
Computer Architecture Lecture 9 MIPS ALU and Data Paths Ralph Grishman Oct NYU.
Chapter 4 From: Dr. Iyad F. Jafar Basic MIPS Architecture: Single-Cycle Datapath and Control.
Datapath and Control AddressInstruction Memory Write Data Reg Addr Register File ALU Data Memory Address Write Data Read Data PC Read Data Read Data.
COM181 Computer Hardware Lecture 6: The MIPs CPU.
Jeremy R. Johnson William M. Mongan
MIPS Processor.
Chapter 4 From: Dr. Iyad F. Jafar Basic MIPS Architecture: Multi-Cycle Datapath and Control.
Computer Architecture Lecture 6.  Our implementation of the MIPS is simplified memory-reference instructions: lw, sw arithmetic-logical instructions:
CS161 – Design and Architecture of Computer Systems
Electrical and Computer Engineering University of Cyprus
CS 270: Mathematical Foundations of Computer Science
CS 230: Computer Organization and Assembly Language
Lecture 13 - Introduction to the Central Processing Unit (CPU)
Control & Execution Finite State Machines for Control MIPS Execution.
Computer Science 210 Computer Organization
Five Execution Steps Instruction Fetch
MIPS Instructions.
Decode and Operand Read
The fetch-execute cycle
Control & Execution Finite State Machines for Control MIPS Execution.
Functional Units.
Control Unit Introduction Types Comparison Control Memory
Systems Architecture I (CS ) Lecture 2: A Simplified Computer
The Processor Lecture 3.2: Building a Datapath with Control
An Introduction to pipelining
The Processor Lecture 3.1: Introduction & Logic Design Conventions
COMS 361 Computer Organization
Processor: Multi-Cycle Datapath & Control
Review Fig 4.15 page 320 / Fig page 322
October 29 Review for 2nd Exam Ask Questions! 4/26/2019
The Processor: Datapath & Control.
COMS 361 Computer Organization
Processor: Datapath and Control
Presentation transcript:

DLX Processor מבנה המחשב + מבוא למחשבים ספרתיים תרגול 13#

ALU: Tasks performed in the control states OperationState addDecode op, op=add/sub/and/or/xor. Alu addAluI rel, rel=lt, eq, gt, le, ge, ne. TestI addAdr. Comp. addB.Taken addJR addSavePC addJALR

ALU: Control Signals Signals that control the functionality of the ALU: ALUF[2:0] add (active during states: Decode, AluI, Adr.Comp., B.Taken,SavePC, JR, JALR). test (active during states: TestI). ALUF[2:0] – arithmetic / logical ALU operations 011add 010sub 110and 101or 100xor ALUF[2:0] – test conditions 001gt 010eq 011ge 100lt 101ne 110le IR[2:0] = func[2:0] IR[28:26] = opcode[2:0]

MUX(32) OR(32) AND(32) XOR(32) MUX(32) Comparator(32) OR INV MUX(32) ALU: Implementation Next slide

ZERO(32) AND INV AND INV OR AND OR ALU: Implementation (cont’) Comparator

“Register B” The instructions in which register B is loaded: add sub and or xor store Register B is not involved in computations during instructions in which it need not be loaded. Therefore, functionality is correct. Loading register B always (during Decode state), shortens the length of the path in the Control State Machine when executing instructions that need register B loaded.

Consider the execution of the i th instruction: The IR register outputs the i th instruction from the beginning of the Decode state (of the i th instruction) till the end of the first clock cycle in the Fetch state (of the i+1 st instruction). Therefore, the address of the register which is loaded into register B is not changed during the execution of the i th instruction. Register B content is relevant only for R-type instructions (and Store inst.). Therefore, we may consider the address of the register which is loaded into register B, as. We refer only to R-type instructions. “Register B” – Setting ce=1 or Removing The functionality of the DLX is not damaged due to (1) setting always Bce=1, or (2) Removing register B.

Two cases may damage the functionality: 1.The content of RS2 is changed. May happen only during WBR state in which the output of reg. B (the content of RS2) is irrelevant anymore. Therefore, functionality is not damaged. 2. The GPR Env. doesn’t output the content of RS2. May happen only during a write operation to the GPR - Only during WBR state in which the output of reg. B (the content of RS2) is irrelevant anymore. Therefore, functionality is not damaged. Register B is necessary for minimizing the clock period. We may conclude: If (1) RS2 is not changed, and (2) The GPR Env. outputs the content of RS2, Then, Register B outputs the content of RS2 beginning of the i th instruction ).

Expanding the instruction set: SWAP instruction swap0505 RS1RS2RS10606 For example: Fetch Decode Shift0WBR WB-RS2+C RTL InstructionActive Control Signals RD = RS2 RD = RS1