17-procesador-control.ppt - compatibility mode
TRANSCRIPT
El procesadorDiseño del control
Universidad de Sonora Arquitectura de Computadoras 2
Datapath MIPS simple
Universidad de Sonora Arquitectura 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: campo de función (6 bits bajos) 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 principal� Tomando 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 lw.
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 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.
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 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.
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ó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 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
Datapath final