13 Instruction Execution Steps

Slides:



Advertisements
Similar presentations
Nov. 2014Computer Architecture, Data Path and ControlSlide 1 Part IV Data Path and Control.
Advertisements

Part IV Data Path and Control
The Processor: Datapath & Control
Savio Chau Single Cycle Controller Design Last Time: Discussed the Designing of a Single Cycle Datapath Control Datapath Memory Processor (CPU) Input Output.
CPSC CPSC 3615 Computer Architecture Chapter 3 Instructions and Addressing (Text Book: Chapter 5)
331 Lec 14.1Fall 2002 Review: Abstract Implementation View  Split memory (Harvard) model - single cycle operation  Simplified to contain only the instructions:
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.
14 Control Unit Synthesis
Copyright 1998 Morgan Kaufmann Publishers, Inc. All rights reserved. Digital Architectures1 Machine instructions execution steps (1) FETCH = Read the instruction.
Feb 18, 2009 Lecture 4-1 instruction set architecture (Part II of [Parhami]) MIPS assembly language instructions MIPS assembly programming.
The Processor: Datapath & Control. Implementing Instructions Simplified instruction set memory-reference instructions: lw, sw arithmetic-logical instructions:
FAMU-FSU College of Engineering 1 Computer Architecture EEL 4713/5764, Spring 2006 Dr. Michael Frank Module #13 – Instruction Execution Steps (in a Single-Cycle.
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.
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
A Small Set of Instructions Fig MicroMIPS instruction formats and naming of the various fields. Seven R-format ALU instructions ( add, sub,
The CPU Processor (CPU): the active part of the computer, which does all the work (data manipulation and decision-making) Datapath: portion of the processor.
1. 2 Instructions: Words of the language understood by CPU Instruction set: CPU’s vocabulary Instruction Set Architecture (ISA): CPU’s vocabulary together.
Part IV Data Path and Control
CS2100 Computer Organisation The Processor: Datapath (AY2015/6) Semester 1.
Computer Architecture and Design – ECEN 350 Part 6 [Some slides adapted from A. Sprintson, M. Irwin, D. Paterson and others]
FAMU-FSU College of Engineering 1 Computer Architecture EEL 4713/5764, Spring 2006 Dr. Michael Frank Module #6 – MIPS ISA, part 1: Instructions and Addressing.
July 2005Computer Architecture, Data Path and ControlSlide 1 Part IV Data Path and Control.
Computer Architecture, Data Path and ControlSlide 1 Part IV Data Path and Control.
Chapter 4 From: Dr. Iyad F. Jafar Basic MIPS Architecture: Single-Cycle Datapath and Control.
1 CS/COE0447 Computer Organization & Assembly Language Chapter 5 Part 2.
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.
Single Cycle Controller Design
MIPS Processor.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
Computer Architecture Lecture 6.  Our implementation of the MIPS is simplified memory-reference instructions: lw, sw arithmetic-logical instructions:
Access the Instruction from Memory
EE204 Computer Architecture

Single Cycle CPU - Control
CS161 – Design and Architecture of Computer Systems
CS 230: Computer Organization and Assembly Language
Single-Cycle Datapath and Control
Computer Architecture
Part IV Data Path and Control
CS/COE0447 Computer Organization & Assembly Language
Designing MIPS Processor (Single-Cycle) Presentation G
Instruction Execution in Simple Computer
CSCI206 - Computer Organization & Programming
CS/COE0447 Computer Organization & Assembly Language
Single-Cycle CPU DataPath.
CS/COE0447 Computer Organization & Assembly Language
CSCI206 - Computer Organization & Programming
MIPS Processor.
Datapath & Control MIPS
Rocky K. C. Chang 6 November 2017
Composing the Elements
Composing the Elements
The Processor Lecture 3.2: Building a Datapath with Control
Part II Instruction-Set Architecture
Part II Instruction-Set Architecture
Part IV Data Path and Control
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
Part IV Data Path and Control
14.1 A Multicycle Implementation
CS/COE0447 Computer Organization & Assembly Language
Control Unit (single cycle implementation)
The Processor: Datapath & Control.
COMS 361 Computer Organization
7/6/
MIPS Processor.
9/13/
Processor: Datapath and Control
CS/COE0447 Computer Organization & Assembly Language
Presentation transcript:

13 Instruction Execution Steps A simple computer executes instructions one at a time Fetches an instruction from the loc pointed to by PC Interprets and executes the instruction, then repeats Topics in This Chapter 13.1 A Small Set of Instructions 13.2 The Instruction Execution Unit 13.3 A Single-Cycle Data Path 13.4 Branching and Jumping 13.5 Deriving the Control Signals 13.6 Performance of the Single-Cycle Design

13.1 A Small Set of Instructions Fig. 13.1 MicroMIPS instruction formats and naming of the various fields. Seven R-format ALU instructions (add, sub, slt, and, or, xor, nor) Six I-format ALU instructions (lui, addi, slti, andi, ori, xori) Two I-format memory access instructions (lw, sw) Three I-format conditional branch instructions (bltz, beq, bne) Four unconditional jump instructions (j, jr, jal, syscall)

The MicroMIPS Instruction Set op 15 8 10 12 13 14 35 43 2 1 4 5 3 fn 32 34 42 36 37 38 39 Instruction Usage Load upper immediate lui rt,imm Add  add rd,rs,rt Subtract sub rd,rs,rt Set less than slt rd,rs,rt Add immediate  addi rt,rs,imm Set less than immediate slti rd,rs,imm AND and rd,rs,rt OR or rd,rs,rt XOR xor rd,rs,rt NOR nor rd,rs,rt AND immediate andi rt,rs,imm OR immediate ori rt,rs,imm XOR immediate xori rt,rs,imm Load word lw rt,imm(rs) Store word sw rt,imm(rs) Jump  j L Jump register jr rs Branch less than 0 bltz rs,L Branch equal beq rs,rt,L Branch not equal  bne rs,rt,L Jump and link jal L System call  syscall The MicroMIPS Instruction Set Copy Arithmetic Logic Memory access Control transfer Table 13.1

13.2 The Instruction Execution Unit Fig. 13.2 Abstract view of the instruction execution unit for MicroMIPS. For naming of instruction fields, see Fig. 13.1.

13.3 A Single-Cycle Data Path Fig. 13.3 Key elements of the single-cycle MicroMIPS data path.

An ALU for MicroMIPS lui imm Fig. 10.19 A multifunction ALU with 8 control signals (2 for function class, 1 arithmetic, 3 shift, 2 logic) specifying the operation.

13.4 Branching and Jumping (PC)31:2 + 1 Default option (PC)31:2 + 1 + imm When instruction is branch and condition is met (PC)31:28 | jta When instruction is j or jal (rs)31:2 When the instruction is jr SysCallAddr Start address of an operating system routine Update options for PC Fig. 13.4 Next-address logic for MicroMIPS (see top part of Fig. 13.3).

13.5 Deriving the Control Signals Table 13.2 Control signals for the single-cycle MicroMIPS implementation. Control signal 1 2 3 RegWrite Don’t write Write RegDst1, RegDst0 rt rd $31 RegInSrc1, RegInSrc0 Data out ALU out IncrPC   ALUSrc (rt ) imm AddSub Add Subtract LogicFn1, LogicFn0 AND OR XOR NOR FnClass1, FnClass0 lui Set less Arithmetic Logic DataRead Don’t read Read DataWrite BrType1, BrType0 No branch beq bne bltz PCSrc1, PCSrc0 jta (rs) SysCallAddr Reg file ALU Data cache Next addr

Control Signal Settings Table 13.3

Instruction Decoding Fig. 13.5 Instruction decoder for MicroMIPS built of two 6-to-64 decoders.

Control Signal Generation Auxiliary signals identifying instruction classes arithInst = addInst  subInst  sltInst  addiInst  sltiInst logicInst = andInst  orInst  xorInst  norInst  andiInst  oriInst  xoriInst immInst = luiInst  addiInst  sltiInst  andiInst  oriInst  xoriInst Example logic expressions for control signals RegWrite = luiInst  arithInst  logicInst  lwInst  jalInst ALUSrc = immInst  lwInst  swInst AddSub = subInst  sltInst  sltiInst DataRead = lwInst PCSrc0 = jInst  jalInst  syscallInst

Putting It All Together Fig. 10.19 Fig. 13.4 Fig. 13.3 Control addInst subInst jInst sltInst .

13.6 Performance of the Single-Cycle Design Instruction access 2 ns Register read 1 ns ALU operation 2 ns Data cache access 2 ns Register write 1 ns Total 8 ns Single-cycle clock = 125 MHz R-type 44% 6 ns Load 24% 8 ns Store 12% 7 ns Branch 18% 5 ns Jump 2% 3 ns Weighted mean  6.36 ns Fig. 13.6 The MicroMIPS data path unfolded (by depicting the register write step as a separate block) so as to better visualize the critical-path latencies.