El procesadorDiseño del control
Universidad de Sonora Arquitectura de Computadoras 2
Datapath MIPS simple
Universidad de Sonora Arquitectura de Computadoras 3
MIPS simpleEl 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 ALUUnidad 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 principal1. RegDst. Controla el origen de la dirección del
registro destino: bits[20:16] para lw o bits[15:11] para tipo-R.
2. RegWrite. Controla la escritura en el banco de registros.
3. ALUSrc. Controla el origen del segundo operando de la ALU: registro para tipo-R u offset para lw/sw.
4. PCSrc. Controla que se guarda en el PC: PC + 4 o PC + offset.
Universidad de Sonora Arquitectura de Computadoras 9
Unidad de control principal5. MemRead. Controla la lectura en la memoria de
datos.
6. MemWrite. Controla la escritura en la memoria de datos.
7. 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 principal
Universidad de Sonora Arquitectura de Computadoras 11
Unidad de control principal
Universidad 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 principal
Universidad de Sonora Arquitectura de Computadoras 15
Líneas de controlEl 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.
a) RegDst = 1. La dirección del registro destino está en los bits[15:11].
b) ALUSrc = 0. El segundo operando de la ALU es un registro.
c) MemtoReg = 0. En el registro destino se guarda la salida de la ALU.
d) RegWrite = 1. La instrucción escribe en el banco de registros.
Universidad de Sonora Arquitectura de Computadoras 17
Líneas de controle) MemRead = 0. La instrucción no usa la memoria
de datos.
f) MemWrite = 0. La instrucción no usa la memoria de datos.
g) Branch = 0. La siguiente instrucción está en PC+4.
h) ALUOp = 10. La función ejecutada por la ALU depende de la instrucción.
Universidad de Sonora Arquitectura de Computadoras 18
ImplementaciónTabla 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 JumpFormato de la instrucción j:
Universidad de Sonora Arquitectura de Computadoras 21
Instrucción jump Se guarda en el PC la concatenación de:
a) Los bits[31:28] del PC actual.
b) Los 26 bits de la dirección.
c) 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 final