ppt - Universidad de Sonora

Download Report

Transcript ppt - Universidad de Sonora

El procesador
Diseño del control
Datapath MIPS simple
Universidad de Sonora
Arquitectura de Computadoras
2
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
3
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
4
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
5
Control de la ALU
Universidad de Sonora
Arquitectura de Computadoras
6
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
7
Unidad de control principal
1. 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
8
Unidad de control principal
5. 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
9
Unidad de control principal
Universidad de Sonora
Arquitectura de Computadoras
10
Unidad de control principal
Universidad de Sonora
Arquitectura de Computadoras
11
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
12
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
13
Unidad de control principal
Universidad de Sonora
Arquitectura de Computadoras
14
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
15
Líneas de control

a)
b)
c)
d)
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
16
Líneas de control
e) 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
17
Implementación
 Tabla de verdad de la unidad de control:
Universidad de Sonora
Arquitectura de Computadoras
18
Implementación
Universidad de Sonora
Arquitectura de Computadoras
19
Instrucción Jump
 Formato de la instrucción j:
Universidad de Sonora
Arquitectura de Computadoras
20
Instrucción jump

a)
b)
c)


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
21
Unidad de control final
Universidad de Sonora
Arquitectura de Computadoras
22