MIPS processor continued

Slides:



Advertisements
Similar presentations
Lecture 5: MIPS Instruction Set
Advertisements

MIPS processor continued. Review Different parts in the processor should be connected appropriately to be able to carry out the functions. Connections.
Datorteknik DatapathControl bild 1 Designing a Single Cycle Datapath & Datapath Control.
331 W08.1Spring :332:331 Computer Architecture and Assembly Language Spring 2006 Week 8: Datapath Design [Adapted from Dave Patterson’s UCB CS152.
The Processor: Datapath & Control
MIPS Architecture CPSC 321 Computer Architecture Andreas Klappenecker.
Processor II CPSC 321 Andreas Klappenecker. Midterm 1 Tuesday, October 5 Thursday, October 7 Advantage: less material Disadvantage: less preparation time.
The Control Unit. The Instruction Register The Instruction Formats The Register Type (R type) Fields AND RD, RS, RT -- #and(RS,RT) -> RD.
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.
CS 300 – Lecture 6 Intro to Computer Architecture / Assembly Language Instructions.
The Processor: Datapath & Control. Implementing Instructions Simplified instruction set memory-reference instructions: lw, sw arithmetic-logical instructions:
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
CDA 3101 Fall 2013 Introduction to Computer Organization
Computer Organization & Programming Chapter 6 Single Datapath CPU Architecture.
CDA 3101 Fall 2013 Introduction to Computer Organization Multicycle Datapath 9 October 2013.
Computer Architecture and Design – ECEN 350 Part 6 [Some slides adapted from A. Sprintson, M. Irwin, D. Paterson and others]
EE 3755 Datapath Presented by Dr. Alexander Skavantzos.
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.
MIPS Processor.
MIPS processor continued. Review Different parts in the processor should be connected appropriately to be able to carry out the functions. Connections.
CS 61C: Great Ideas in Computer Architecture MIPS Datapath 1 Instructors: Nicholas Weaver & Vladimir Stojanovic
Computer Architecture Lecture 6.  Our implementation of the MIPS is simplified memory-reference instructions: lw, sw arithmetic-logical instructions:
Single-cycle CPU Control
Access the Instruction from Memory
EE204 Computer Architecture
Single-Cycle Datapath and Control
Introduction CPU performance factors
MIPS Coding Continued.
Processor Architecture: Introduction to RISC Datapath (MIPS and Nios II) CSCE 230.
MIPS Processor.
Processor (I).
MIPS processor continued
Control Path Catholic University PUCRS.
MIPS coding.
CSCI206 - Computer Organization & Programming
CSCE 212 Chapter 5 The Processor: Datapath and Control
Single-Cycle CPU DataPath.
CS/COE0447 Computer Organization & Assembly Language
CSCI206 - Computer Organization & Programming
MIPS Processor.
MIPS Instruction Encoding
Datapath & Control MIPS
ECE232: Hardware Organization and Design
MIPS processor continued
Topic 5: Processor Architecture Implementation Methodology
Rocky K. C. Chang 6 November 2017
MIPS Instruction Encoding
Composing the Elements
Composing the Elements
The Processor Lecture 3.2: Building a Datapath with Control
Topic 5: Processor Architecture
Datapath: Instruction Store/Fetch & PC Increment
MIPS Microarchitecture Multicycle Processor
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
MIPS Coding.
Access the Instruction from Memory
COMP541 Datapaths I Montek Singh Mar 18, 2010.
Review Fig 4.15 page 320 / Fig page 322
Data Path Diagrams.
MIPS Coding Continued.
MIPS coding.
MIPS processor continued
CS/COE0447 Computer Organization & Assembly Language
The Processor: Datapath & Control.
COMS 361 Computer Organization
MIPS Processor.
Processor: Datapath and Control
CS/COE0447 Computer Organization & Assembly Language
Presentation transcript:

MIPS processor continued

Review Different parts in the processor should be connected appropriately to be able to carry out the functions. Connections depending on what we need Learnt R-type, lw, sw, beq

In Class Exercise Question Design a simplified MIPS processor that supports only addi. Assume the control signals have been generated and only the data path needs to be designed. addi $rt, $rs, imm opcode (6 bits) rs (5 bits) rt (5 bits) imm (16 bits)

In Class Exercise Answer Design a simplified MIPS processor that supports only addi. Assume the control signals have been generated and only the data path needs to be designed. addi $rt, $rs, imm opcode (6 bits) rs (5 bits) rt (5 bits) imm (16 bits) 26:21 20:16 15:0

lw & sw? Do both lw and sw, and ask for student participation

Data path only for lw and sw (answer) To support two instructions, first just get one done, then see if it still works for the second. If it works then done. Otherwise, see what wires need to be added.

Data path for both R-type and memory-type instructions add $rd, $rs, $rt, format: opcode (6 bits) rs (5 bits) rt (5 bits) rd (5 bits) 00000 funct (6 bits) lw $rt, offset_value($rs): opcode (6 bits) rs (5 bits) rt (5 bits) offset (16 bits) sw $rt, offset_value($rs): opcode (6 bits) rs (5 bits) rt (5 bits) offset (16 bits) Some connecttions are the same, like readreg1, ALUa Sometimes wreg is this, sometimes that Sometimes ALUb is readdata2 (add), sometimes it is the immediate number (lw, sw) Sometimes Wdata is this, …

Data path for both R-type and memory-type instructions add $rd, $rs, $rt, format: opcode (6 bits) rs (5 bits) rt (5 bits) rd (5 bits) 00000 funct (6 bits) lw $rt, offset_value($rs): opcode (6 bits) rs (5 bits) rt (5 bits) offset (16 bits) sw $rt, offset_value($rs): opcode (6 bits) rs (5 bits) rt (5 bits) offset (16 bits)

Answer

Datapath for R-type, memory, and branch operations

Datapath for R-type, memory, and branch operations (Answer)

Datapath for Memory, R-type and Branch Instructions, plus the control signals

Jump Instruction Jump instruction seems easy to implement We just need to replace the lower 28 bits of the PC with the lower 26 bits of the instruction shifted by 2 bits The shift is achieved by simply concatenating 00 to the jump offset 11/15/2007 5:02:11 PM week-13-3.ppt

Implementing Jumps The one we have supports arithmetic/logic instructions, branch instructions, load and store instructions We need also to support the jump instruction What are the changes we need to make? 1 31 opcode Address 26 25

Add j?

Supporting Jump Instruction

In Class Exercise 11/25/2007 10:54:43 PM week-14-1.ppt