1 El procesador Diseño del control
2 Datapath MIPS simple Universidad de SonoraArquitectura de Computadoras
3 MIPS simple El datapath anterior cubre instrucciones:Aritméticas-lógicas: add, sub, and, or y set on less than. Acceso a memoria: load word (lw) y store word (sw). Brincos: beq. La instrucción jump (j) se incluirá después. Universidad de Sonora Arquitectura de Computadoras
4 Control de la ALU La ALU se usa según el tipo de instrucción:Instrucciones de tipo “R”: para su operación. Instrucciones lw y sw: suma. Instrucción beq: resta. Universidad de Sonora Arquitectura de Computadoras
5 Control de la ALU Unidad de control de la ALU:Entradas: opcode y una señal de control de dos bits llamada ALUOp. Salida: señal de control de 4 bits de la ALU. Universidad de Sonora Arquitectura de Computadoras
6 Control de la ALU Universidad de Sonora Arquitectura de Computadoras
7 Unidad de control principalTomando en cuenta los formatos de cada clase de instrucción, se agregan 7 señales de control: Universidad de Sonora Arquitectura de Computadoras
8 Unidad de control principalRegDst. Controla el origen de la dirección del registro destino: bits[20:16] para lw o bits[15:11] para tipo-R. RegWrite. Controla la escritura en el banco de registros. ALUSrc. Controla el origen del segundo operando de la ALU: registro para tipo-R u offset para lw/sw. PCSrc. Controla que se guarda en el PC: PC + 4 o PC + offset. Universidad de Sonora Arquitectura de Computadoras
9 Unidad de control principalMemRead. Controla la lectura en la memoria de datos. MemWrite. Controla la escritura en la memoria de datos. MemtoReg. Controla el origen del dato a guardar en el registro destino: ALU para tipo-R o la memoria de datos para sw. Universidad de Sonora Arquitectura de Computadoras
10 Unidad de control principalUniversidad de Sonora Arquitectura de Computadoras
11 Unidad de control principalUniversidad de Sonora Arquitectura de Computadoras
12 Unidad de control principalEntrada: opcode de la instrucción bits[31:26]. Salidas: 3 señales de un bit para controlar multiplexores: RegDst, ALUSrc y MemtoReg. 3 señales de un bit para controlar lecturas y escrituras en el banco de registros y la memoria de datos: RegWrite, MemRead y MemWrite. 1 señal de un bit para indicar un posible brinco: Branch. 1 señal de dos bits para controlar la ALU: ALUOp. Universidad de Sonora Arquitectura de Computadoras
13 Unidad de control principal¿Dónde quedó PCSrc? Ahora es una señal de control derivada de la señal de control Branch y la salida Zero de la ALU. Universidad de Sonora Arquitectura de Computadoras
14 Unidad de control principalUniversidad de Sonora Arquitectura de Computadoras
15 Líneas de control El opcode de la instrucción determina los valores de las líneas de control. Universidad de Sonora Arquitectura de Computadoras
16 Líneas de control Para las instrucciones tipo-R.RegDst = 1. La dirección del registro destino está en los bits[15:11]. ALUSrc = 0. El segundo operando de la ALU es un registro. MemtoReg = 0. En el registro destino se guarda la salida de la ALU. RegWrite = 1. La instrucción escribe en el banco de registros. Universidad de Sonora Arquitectura de Computadoras
17 Líneas de control MemRead = 0. La instrucción no usa la memoria de datos. MemWrite = 0. La instrucción no usa la memoria de datos. Branch = 0. La siguiente instrucción está en PC+4. ALUOp = 10. La función ejecutada por la ALU depende de la instrucción. Universidad de Sonora Arquitectura de Computadoras
18 Implementación Tabla de verdad de la unidad de control:Universidad de Sonora Arquitectura de Computadoras
19 Implementación Universidad de Sonora Arquitectura de Computadoras
20 Instrucción Jump Formato de la instrucción j: Universidad de SonoraArquitectura de Computadoras
21 Instrucción jump Se guarda en el PC la concatenación de:Los bits[31:28] del PC actual. Los 26 bits de la dirección. Los bits 00 (para convertir de palabra a byte). Se necesita otra señal de control para distinguir entre no brinco, beq y jump. La señal de control jump solo se activa cuando el opcode es 2. Universidad de Sonora Arquitectura de Computadoras
22 Unidad de control finalUniversidad de Sonora Arquitectura de Computadoras