Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8...

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

Transcript of Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8...

Page 1: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

Circuitos Digitales IICircuitos Digitales II

The General Computer ArchitectureThe MIPS single-cycle datapath

Semana No.8Semana No.8Semestre 2008-2Semestre 2008-2

Prof. Eugenio DuqueProf. Eugenio [email protected]

Prof. Gustavo PatiñoProf. Gustavo Patiñ[email protected]

Departamento de Ingeniería ElectrónicaDepartamento de Ingeniería Electrónica

Facultad de IngenieríaFacultad de Ingeniería

Page 2: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

The General Computer Architecture

An overview of the cpu’s Datapath unit: The single-cycle datapath as an introduction to the

multicycle (pipeline) datapath.

Page 3: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

General Computer Architecture Having studied numbers, combinational and

sequential logic, and assembly language programming, we begin the study of the overall computer system.

Page 4: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

The ALU or DataPathThe ALU or DataPath

Page 5: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

The Central Processor Unit (CPU)

Page 6: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

The ALU

Page 7: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

The MIPS computer : An example of “Bit-Slicing”

The MIPS 32-bit ALU processing unit is simply an amalgam 0f 32 1-bit processors.

Page 8: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

ALU components

Page 9: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

ALU components (…cont)

Page 10: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

The Program Counter Architecture

Page 11: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

More ALU components

Page 12: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

ALU Arquitecture for Processing

Page 13: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

More ALU components – Data Memory

Page 14: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

The Sign Extender

Page 15: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

Data Bus Connection in a Load Instruction

Page 16: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

Data Bus Connection in a Store Instruction

Page 17: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

Branch Instructions

Page 18: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

Conditional Branch Circuit

Page 19: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

Jump Instruction

Page 20: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

Jump ALU Path

Page 21: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

Combining the Elements to Make a Complete ALU

Page 22: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

Data Buses and ALU Register/Register Functions

Page 23: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

Load/Store Functions (Read or Write)

Page 24: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

Adding the Instruction Fetch Circuit

Page 25: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

Completing ALU Design

Page 26: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

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.

Page 27: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

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 ff’s output changes on the falling edge of the lock).

Page 28: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

Single Cycle Timing

Page 29: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

Single Cycle Timing (…cont)

Page 30: Circuitos Digitales II The General Computer Architecture The MIPS single-cycle datapath Semana No.8 Semestre 2008-2 Prof. Eugenio Duque eaduque@udea.edu.co.

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

2008-2

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

2008-2

ALU Design Summary