Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque

Slides:



Advertisements
Similar presentations
The CPU The Central Presentation Unit What is the CPU?
Advertisements

JERARQUÍA DE MEMORIA MEMORIA VIRTUAL SEMANA NO.15 SEMESTRE PROF. EUGENIO DUQUE PÉREZ PROF. GUSTAVO PATIÑO
1 Circuitos Digitales II y Lab. Circuitos Digitales II y Lab. Arquitectura de Punto Flotante Semana No.14 Semestre Prof. Eugenio Duque Pérez
Machine cycle.
Circuitos Digitales II The General Computer Architecture The CPU Control unit Semana No.9 Semestre Prof. Gustavo Patiño Prof.
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
Multicycle Datapath & Control Andreas Klappenecker CPSC321 Computer Architecture.
331 W08.1Spring :332:331 Computer Architecture and Assembly Language Spring 2006 Week 8: Datapath Design [Adapted from Dave Patterson’s UCB CS152.
1 Chapter Five The Processor: Datapath and Control.
The Processor: Datapath & Control
1  1998 Morgan Kaufmann Publishers Chapter Five The Processor: Datapath and Control.
Midterm Wednesday Chapter 1-3: Number /character representation and conversion Number arithmetic Combinational logic elements and design (DeMorgan’s Law)
Stored Program Concept: The Hardware View
LAB 9 Simulator Chap 14 REED. Datapath Simulator accompanying the text is a datapath simulator a.k.a. the Knob & Switch Computer developed by Grant Braught.
Lec 17 Nov 2 Chapter 4 – CPU design data path design control logic design single-cycle CPU performance limitations of single cycle CPU multi-cycle CPU.
The Processor 2 Andreas Klappenecker CPSC321 Computer Architecture.
Chapter Five The Processor: Datapath and Control.
Lecture 16: Basic CPU Design
State Machines Used to Design Sequential Circuits.
Henry Hexmoor1 Chapter 10- Control units We introduced the basic structure of a control unit, and translated assembly instructions into a binary representation.
Processor I CPSC 321 Andreas Klappenecker. Midterm 1 Thursday, October 7, during the regular class time Covers all material up to that point History MIPS.
The Processor Andreas Klappenecker CPSC321 Computer Architecture.
Inside The CPU. Buses There are 3 Types of Buses There are 3 Types of Buses Address bus Address bus –between CPU and Main Memory –Carries address of where.
Circuitos Digitales II The General Computer Architecture The Multicycle Design Semana No.10 Semestre Prof. Gustavo Patiño Prof.
IT253: Computer Organization Lecture 10: Making a Processor: Control Signals Tonga Institute of Higher Education.
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
CPU Design. Introduction – The CPU must perform three main tasks: Communication with memory – Fetching Instructions – Fetching and storing data Interpretation.
Lecture 9. MIPS Processor Design – Instruction Fetch Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System Education &
Chapter 4 CSF 2009 The processor: Building the datapath.
Lecture 8: Processors, Introduction EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2014,
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.
ECE 445 – Computer Organization
CPS3340 COMPUTER ARCHITECTURE Fall Semester, /19/2013 Lecture 17: The Processor - Overview Instructor: Ashraf Yaseen DEPARTMENT OF MATH & COMPUTER.
IT253: Computer Organization Lecture 9: Making a Processor: Single-Cycle Processor Design Tonga Institute of Higher Education.
Computer Architecture and Design – ECEN 350 Part 6 [Some slides adapted from A. Sprintson, M. Irwin, D. Paterson and others]
Team DataPath Research Computer Architechture. PC and IF in the Processor.
1. Building A CPU  We’ve built a small ALU l Add, Subtract, SLT, And, Or l Could figure out Multiply and Divide  What about the rest l How do.
CPU Overview Computer Organization II 1 February 2009 © McQuain & Ribbens Introduction CPU performance factors – Instruction count n Determined.
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
COM181 Computer Hardware Lecture 6: The MIPs CPU.
MIPS Processor.
May 22, 2000Systems Architecture I1 Systems Architecture I (CS ) Lecture 14: A Simple Implementation of MIPS * Jeremy R. Johnson Mon. May 17, 2000.
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
Morgan Kaufmann Publishers
Introduction CPU performance factors
Morgan Kaufmann Publishers The Processor
Morgan Kaufmann Publishers
Processor Architecture: Introduction to RISC Datapath (MIPS and Nios II) CSCE 230.
CS/COE0447 Computer Organization & Assembly Language
CSCI206 - Computer Organization & Programming
Computer Architecture
A Multiple Clock Cycle Instruction Implementation
MIPS Processor.
Morgan Kaufmann Publishers The Processor
Rocky K. C. Chang 6 November 2017
Levels in Processor Design
The Processor Lecture 3.2: Building a Datapath with Control
The Processor Lecture 3.1: Introduction & Logic Design Conventions
Guest Lecturer TA: Shreyas Chand
Systems Architecture I
Levels in Processor Design
MARIE: An Introduction to a Simple Computer
Levels in Processor Design
Chapter Four The Processor: Datapath and Control
Levels in Processor Design
COMS 361 Computer Organization
MIPS Processor.
Processor: Datapath and Control
Presentation transcript:

Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre Prof. Eugenio Duque Prof. Gustavo Patiño Departamento de Ingeniería Electrónica Facultad de Ingeniería

The General Computer Architecture An overview of the cpus Datapath unit: The single-cycle datapath as an introduction to the multicycle (pipeline) datapath.

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia General Computer Architecture Having studied numbers, combinational and sequential logic, and assembly language programming, we begin the study of the overall computer system.

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia The ALU or DataPath

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia The Central Processor Unit (CPU)

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia The ALU

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia The MIPS computer : An example of Bit- Slicing The MIPS 32-bit ALU processing unit is simply an amalgam 0f 32 1-bit processors.

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia ALU components

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia ALU components (…cont)

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia The Program Counter Architecture

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia More ALU components

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia ALU Arquitecture for Processing

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia More ALU components – Data Memory

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia The Sign Extender

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Data Bus Connection in a Load Instruction

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Data Bus Connection in a Store Instruction

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Branch Instructions

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Conditional Branch Circuit

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Jump Instruction

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Jump ALU Path

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Combining the Elements to Make a Complete ALU

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Data Buses and ALU Register/Register Functions

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Load/Store Functions (Read or Write)

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Adding the Instruction Fetch Circuit

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Completing ALU Design

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia The Single-Cycle ALU What we have accomplished in this ALU design is to come up with all the processing hardware necessary to implement the MIPS instruction set. Note that we have NOT considered the control circuits (that tell the ALU what to do), and will cover those next lecture. This basic MIPS processor design is referred to as the single cycle ALU (or sometimes the single cycle CPU). Why is this? The reason is that this MIPS CPU (more or less the original implementation of the MIPS instructions) is designed so that ANY instruction can be processed in one cycle of the CPU clock. Lets consider how this single cycle CPU works.

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia The Single-Cycle ALU (…cont) Consider what happens when the clock ticks. The PC is already updated. The instruction at memory location [PC] is retrieved. [PC] [PC+4] Instruction is decoded/registers are identified (operands). Register output buses send data into ALU; ALU function is identified. Register data flows through the ALU and is processed. (In loads/stores, data memory is accessed for load or store.) The memory or ALU results are stored back in a register, if necessary. Since the ALU is basically combinational logic, the tick of the clock governs ALU register behavior, which times the process. A single clock cycle is from rising to rising or falling to falling edge of the clock. Let us use falling to falling as the reference (remember: a master-slave ffs output changes on the falling edge of the lock).

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Single Cycle Timing

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Single Cycle Timing (…cont)

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia ALU Design Summary