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