IT253: Computer Organization Lecture 10: Making a Processor: Control Signals Tonga Institute of Higher Education.

Slides:



Advertisements
Similar presentations
Machine cycle.
Advertisements

Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre Prof. Eugenio Duque
Intro to Computer Org. Pipelining, Part 2 – Data hazards + Stalls.
Lecture Objectives: 1)Define pipelining 2)Calculate the speedup achieved by pipelining for a given number of instructions. 3)Define how pipelining improves.
1 Today  All HW1 turned in on time, this is great!  HW2 will be out soon —You will work on procedure calls/stack/etc.  Lab1 will be out soon (possibly.
Snick  snack A Working Computer Slides based on work by Bob Woodham and others.
Savio Chau Single Cycle Controller Design Last Time: Discussed the Designing of a Single Cycle Datapath Control Datapath Memory Processor (CPU) Input Output.
Lecture 16: Basic CPU Design
CS61C L26 CPU Design : Designing a Single-Cycle CPU II (1) Garcia, Fall 2006 © UCB Lecturer SOE Dan Garcia inst.eecs.berkeley.edu/~cs61c.
Henry Hexmoor1 Chapter 10- Control units We introduced the basic structure of a control unit, and translated assembly instructions into a binary representation.
S. Barua – CPSC 440 CHAPTER 5 THE PROCESSOR: DATAPATH AND CONTROL Goals – Understand how the various.
The Processor Data Path & Control Chapter 5 Part 1 - Introduction and Single Clock Cycle Design N. Guydosh 2/29/04.
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.
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
2/8/02CSE MultiCycle From One Cycle to Many Note: Some of the material in this lecture are COPYRIGHT 1998 MORGAN KAUFMANN PUBLISHERS, INC. ALL RIGHTS.
Computer Organization CS224 Fall 2012 Lesson 26. Summary of Control Signals addsuborilwswbeqj RegDst ALUSrc MemtoReg RegWrite MemWrite Branch Jump ExtOp.
IT253: Computer Organization
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.
CDA 3101 Fall 2013 Introduction to Computer Organization
Computer Systems - Processor. Objectives To investigate and understand the structure and role of the processor.
IT253: Computer Organization Lecture 9: Making a Processor: Single-Cycle Processor Design Tonga Institute of Higher Education.
IT253: Computer Organization
Datapath and Control Unit Design
December 26, 2015©2003 Craig Zilles (derived from slides by Howard Huang) 1 A single-cycle MIPS processor  As previously discussed, an instruction set.
1  1998 Morgan Kaufmann Publishers Chapter Six. 2  1998 Morgan Kaufmann Publishers Pipelining Improve perfomance by increasing instruction throughput.
Chapter 4 From: Dr. Iyad F. Jafar Basic MIPS Architecture: Single-Cycle Datapath and Control.
February 22, 2016©2003 Craig Zilles (derived from slides by Howard Huang) 1 A single-cycle MIPS processor  As previously discussed, an instruction set.
1 CS/COE0447 Computer Organization & Assembly Language Chapter 5 Part 2.
1  1998 Morgan Kaufmann Publishers Simple Implementation Include the functional units we need for each instruction Why do we need this stuff?
EEM 486: Computer Architecture Lecture 3 Designing Single Cycle Control.
Single Cycle Controller Design
1  2004 Morgan Kaufmann Publishers No encoding: –1 bit for each datapath operation –faster, requires more memory (logic) –used for Vax 780 — an astonishing.
The Processor The Main Components Arithmetic/Logic Unit (ALU) Control Unit System Clock Registers.
Chapter Six.
CS161 – Design and Architecture of Computer Systems
Chapter 10: Computer systems (1)
CS161 – Design and Architecture of Computer Systems
Chapter 2.1 CPU.
MIPS Instructions.
Morgan Kaufmann Publishers The Processor
Morgan Kaufmann Publishers
Morgan Kaufmann Publishers The Processor
von Neumann Architecture CPU
Processor (I).
CS/COE0447 Computer Organization & Assembly Language
Design of the Control Unit for Single-Cycle Instruction Execution
Registers and Counters
CSCE 212 Chapter 5 The Processor: Datapath and Control
Design of the Control Unit for One-cycle Instruction Execution
CS/COE0447 Computer Organization & Assembly Language
CS/COE0447 Computer Organization & Assembly Language
Datapath & Control MIPS
Registers and Counters
Rocky K. C. Chang 6 November 2017
Chapter Six.
Chapter Six.
Computer System Design Lecture 5
von Neumann Architecture CPU
Guest Lecturer TA: Shreyas Chand
Systems Architecture I
Recall: ROM example Here are three functions, V2V1V0, implemented with an 8 x 3 ROM. Blue crosses (X) indicate connections between decoder outputs and.
Simple Implementation
Computer System Design Lecture 5
Data Path Diagrams.
Registers and Counters
Registers and Counters
Registers and Counters
Presentation transcript:

IT253: Computer Organization Lecture 10: Making a Processor: Control Signals Tonga Institute of Higher Education

Control of a Processor We have already looked at how to build the datapath of the processer. The datapath will provide a way to execute instructions and for data to travel inside the processor We also need a way to control what happens, for example: –What instructions that are fetched? –What ALU operations? –What Registers to use? –Other smaller control signals? Our goal is to find the signals needed to perform some operations

Instruction Fetching The first step in executing an instruction is to fetch it from memory. It will be the same for all instructions. We need an Instruction Fetch Unit to accomplish this

Single Cycle Datapath for Adding With the instruction fetch unit made, we can look at the what signals we need to use to control the processor for adding

Instruction Fetch at end of Add How does the Instruction Fetch Unit change after an add operation?

Datapath signals for Or Immediate How does the datapath signals, or the control, change when we do a function with an immediate value?

The Datapath during Load

Datapath during Branch

Instruction Fetch and Branching The instruction fetch unit needs extra circuits to perform branching

Control Signals Table We can summarize all the control signals in one nice table.

Local Decoding How does the processor know how to use these signals? It uses an process called "local decoding." There is hardware that can determine what to do with the right control signals ALUop is usually two or three bits. It will be the code that determines what operation is happening (add, and, or, not). The func field helps choose between adding and subtracting. If you remember, add and sub use the same code, but just have an extra inverter for the subtract

Truth table for main control Just like the truth table for the ALUctr, we can make a truth table for all the control signals needed to perform any function This truth table is for the main control. It is complicated and requires you to study

Truth table for main control

Main Control Circuit Design

We have a truth table, how does this help? We have a truth table for all the values that the processor needs to make things happen. We need to remember that once we have a truth table we can make circuits and gates that implement the truth table. We can make a big circuit that will decode any signal and that will implement functions needed to make a processor run

ALUctr Truth Table How does ALUctr get set? We can actually make a truth table that tells what ALUctr will be. Remember ALUctr are the 3 bits that determines what function the ALU will do. So there needs to be a lot of different controls because there are many functions We need to be careful of the difference between the add used in a load word instruction and the add used to add two number together

ALUctr Truth Table

Putting the pieces together If you can believe it, or understand it, we have built all the parts needed to make a single cycle processor Single-cycle, of course, means that it can only do one instruction per clock cycle. This chapter gave us the Main Control, the instruction fetch unit and the ALU control. Now we can put these circuits with the pieces we made in the last chapter and get the whole CPU

A Single-Cycle processor

Problems with a Single Cycle Processor We have made a processor, even though it’s a simple processor. The ones that Intel makes are much more complicated The single cycle processor has a few drawbacks. That means there are things that make it so no one would want it in real life The biggest problem is that the processor needs to wait until an instruction is finished before it can start a new one Another problem is that it can only do one instruction at a time. Some instructions are very long to do (for example load word) and they make the overall system slower

Summary This concludes our section about processors. You should feel good about yourselves, because hopefully you understand how a processor actually works. In theory, if you really wanted to, you could build a processor on your own. And it would be really, really slow.