220 likes | 388 Views
El procesador. Diseño del control. Datapath MIPS simple. 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.
E N D
El procesador Diseño del control
Datapath MIPS simple Arquitectura de Computadoras
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. Arquitectura de Computadoras
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. Arquitectura de Computadoras
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. Arquitectura de Computadoras
Control de la ALU Arquitectura de Computadoras
Unidad de control principal • Tomando en cuenta los formatos de cada clase de instrucción, se agregan 7 señales de control: Arquitectura de Computadoras
Unidad de control principal • RegDst. 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. Arquitectura de Computadoras
Unidad de control principal • MemRead. 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. Arquitectura de Computadoras
Unidad de control principal Arquitectura de Computadoras
Unidad de control principal Arquitectura de Computadoras
Unidad de control principal • Entrada: 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. Arquitectura de Computadoras
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. Arquitectura de Computadoras
Unidad de control principal Arquitectura de Computadoras
Líneas de control • El opcode de la instrucción determina los valores de las líneas de control. Arquitectura de Computadoras
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. Arquitectura de Computadoras
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. Arquitectura de Computadoras
Implementación • Tabla de verdad de la unidad de control: Arquitectura de Computadoras
Implementación Arquitectura de Computadoras
Instrucción Jump • Formato de la instrucción j: Arquitectura de Computadoras
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. Arquitectura de Computadoras
Unidad de control final Arquitectura de Computadoras