1 Instructions are stored in a memory called instruction memory To execute each instruction, we get the instruction out of memory, store in a register.

Slides:



Advertisements
Similar presentations
Machine cycle.
Advertisements

Chapter 1. Basic Structure of Computers
6-1 Chapter 6 - Datapath and Control Department of Information Technology, Radford University ITEC 352 Computer Organization Principles of Computer Architecture.
Adding the Jump Instruction
Pipeline Example: cycle 1 lw R10,9(R1) sub R11,R2, R3 and R12,R4, R5 or R13,R6, R7.
9-6 The Control Word Fig The selection variables for the datapath control the microoperations executed within datapath for any given clock pulse.
Experiment 2 PIC Program Execution & Built-In Self-Test.
EEM 486 EEM 486: Computer Architecture Lecture 4 Designing a Multicycle Processor.
Microprocessor.  The CPU of Microcomputer is called microprocessor.  It is a CPU on a single chip (microchip).  It is called brain or heart of the.
The Processor: Datapath & Control
ENEE350 Ankur Srivastava University of Maryland, College Park Based on Slides from Mary Jane Irwin ( )
VHDL Development for ELEC7770 VLSI Project Chris Erickson Graduate Student Department of Electrical and Computer Engineering Auburn University, Auburn,
CSCE 212 Quiz 8 – 3/23/11 1.What type of element is the ALU (combinational or state) and what does it mean for an element to be that type? 2.What is the.
Design and Synthesis of a RISC Stored-Program Machine
Princess Sumaya Univ. Computer Engineering Dept. Chapter 4: IT Students.
The von Neumann Model – Chapter 4 COMP 2620 Dr. James Money COMP
TDC 311 The Microarchitecture. Introduction As mentioned earlier in the class, one Java statement generates multiple machine code statements Then one.
1 Pipelining Reconsider the data path we just did Each instruction takes from 3 to 5 clock cycles However, there are parts of hardware that are idle many.
Chapter 4 The Von Neumann Model
CSE241 1 Reading summary Chapter 1: all Chapter 2: 2.1 to 2.8, 2.12 Chapter 3: 3.1 to 3.6 Chapter 7: all.
1 Instruction memory is used to store a program Processor gets one instruction at a time It stores it locally (like) I0, I1 registers PC points to next.
Fetch-execute cycle.
Sample Code (Simple) Run the following code on a pipelined datapath: add1 2 3 ; reg 3 = reg 1 + reg 2 nand ; reg 6 = reg 4 & reg 5 lw ; reg.
1 ALU ports can get input from any of the two registers ALU can perform one of the eight operations Shift unit can perform one of the four possible types.
Computer Architecture and Design – ECEN 350 Part 6 [Some slides adapted from A. Sprintson, M. Irwin, D. Paterson and others]
Datapath and Control Unit Design
The von Neumann Model – Chapter 4 COMP 2620 Dr. James Money COMP
CSE431 L06 Basic MIPS Pipelining.1Irwin, PSU, 2005 MIPS Pipeline Datapath Modifications  What do we need to add/modify in our MIPS datapath? l State registers.
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.
1 To write any register, we need register address and a write signal A 3-bit write address is decoded if write signal is present One of the eight registers.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
MIPS Processor.
Computer Architecture Lecture 6.  Our implementation of the MIPS is simplified memory-reference instructions: lw, sw arithmetic-logical instructions:
Access the Instruction from Memory
STUDY OF PIC MICROCONTROLLERS.. Design Flow C CODE Hex File Assembly Code Compiler Assembler Chip Programming.
CS161 – Design and Architecture of Computer Systems
Single Cycle CPU.
Multi-Cycle CPU.
Extensions to the Multicycle CPU
Multi-Cycle CPU.
Design of the Control Unit for Single-Cycle Instruction Execution
The fetch-execute cycle
CSCE 212 Chapter 5 The Processor: Datapath and Control
Lecture 3 CPU - Data Path for Branches
Design of the Control Unit for One-cycle Instruction Execution
MIPS Processor.
Topic 5: Processor Architecture Implementation Methodology
Levels in Processor Design
The Processor Lecture 3.2: Building a Datapath with Control
Enhancing Data Path M 4-bit Reg X A L U
Storing Control A L U We need a memory to store control
A register design with parallel load input
COMS 361 Computer Organization
Levels in Processor Design
Basic Building Blocks Multiplexer Demultiplexer Adder +
Levels in Processor Design
Basic Building Blocks Multiplexer Demultiplexer Adder +
Control Unit for Multiple Cycle Implementation
Pipelining Appendix A and Chapter 3.
Levels in Processor Design
Control sequence to add two registers
Control Unit for Multiple Cycle Implementation
The Processor: Datapath & Control.
Computer Architecture Assembly Language
Computer Architecture
COMS 361 Computer Organization
MIPS Pipelined Datapath
MIPS Processor.
Processor: Datapath and Control
Presentation transcript:

1 Instructions are stored in a memory called instruction memory To execute each instruction, we get the instruction out of memory, store in a register called instruction register (may be more than one single register of n-bits depending on the number of words in an instruction), and carry out operations on data path to achieve the desired result It may take more than one cycle to execute an instruction Each cycle is called phase (or state) in instruction execution Actions in one cycle is stored in one nano-instruction For each instruction (micro-instruction per book), multiple nano instructions, one for each phase, are stored in nano_inst_mem Instructions are fetched one at a time pointed by a counter, called program counter For each instruction, nano instructions are fetched from nano memory, using a counter called nano-program counter Instruction Storage and Usage

2 Program memory has –A PC –Memory –Mechanism to change PC Adding Program Memory Nano Inst Mem NPC WNAD INAD NAddr Control Inst Mem PC WIAD IIAD IAddr INST Mem Unit WM EM Data Addr RM WDAD ALUALU OpCode Reg File WA WR RA2RA1 Input EI Output WOUT EALU M- Reg EMR SHIFTSHIFT SC Cond Code

3 ALU generate status bits like –carry, overflow, sign, and zero –zero=1 means result from ALU is zero These bits can be used to change flow of program –A new address is generated using CCs Adding Conditional Branches Nano Inst Mem NPC WNAD INAD NAddr Control Inst Mem PC WIAD IIAD IAddr INST Mem Unit WM EM Data Addr RM WDAD ALUALU OpCode Reg File WA WR RA2RA1 Input EI Output WOUT EALU M- Reg EMR SHIFTSHIFT SC Cond Code

4 Program change flow For example –If.. Then… Else Condition codes determine flow PC is changed Conditional Branch Instruction Nano Inst Mem NPC WNAD INAD NAddr Control Inst Mem PC WIAD IIAD IAddr INST Mem Unit WM EM Data Addr RM WDAD ALUALU OpCode Reg File WA WR RA2RA1 Input EI Output WOUT EALU M- Reg EMR SHIFTSHIFT SC Cond Code