5. Procesador: camino de datos y control

Anuncio
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
5. Procesador: camino de datos y control
Fundamentos de Computadores
Ingenierı́a de Telecomunicación
Raúl Durán Dı́az
Departamento de Automática
Escuela Politécnica Superior
Curso académico 2009–2010
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Contenidos
1
Control de operaciones elementales
2
El camino de datos de una máquina sencilla
3
Fases de una instrucción
4
Diseño de la unidad de control
5
Medida del rendimiento
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Componentes elementales
Operaciones de transferencia
Operaciones de proceso
Objetivos
Mostrar cómo se va realizando la ejecución de las
instrucciones internamente.
Describir la función de la unidad de control (UC).
Entender qué es un cronograma y cómo se utiliza.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Componentes elementales
Operaciones de transferencia
Operaciones de proceso
En dónde estamos
Memoria
Periféricos
Unidad de control
Unidades funcionales
Figura: Bloques básicos de la máquina von Neumann
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Componentes elementales
Operaciones de transferencia
Operaciones de proceso
Función básica de la unidad de control
Tomar la instrucción apuntada por el PC y llevarla a la UC.
Incrementar el PC.
Descodificar la instrucción leı́da.
Ejecutar la instrucción.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Componentes elementales
Operaciones de transferencia
Operaciones de proceso
Función básica de la unidad de control
Para realizar esta misión, genera señales de control que van a
parar a los distintos componentes del computador.
Utiliza como información:
la propia instrucción que descodifica;
el estado actual, recogido en el registro de estado;
las señales externas (por ejemplo, interrupciones).
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Componentes elementales
Operaciones de transferencia
Operaciones de proceso
Ejecución de la instrucción
La ejecución de una instrucción requiere unas acciones en
cada ciclo de reloj: son las operaciones elementales.
Operaciones de transferencia.
Operaciones de proceso.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Componentes elementales
Operaciones de transferencia
Operaciones de proceso
Operaciones de transferencia
LA1
LA2
Registro 1
TA1
Registro 2
TA2
Bus de datos
Figura: Hardware para operaciones de transferencia
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Componentes elementales
Operaciones de transferencia
Operaciones de proceso
Operaciones de transferencia
Establecen rutas de datos que unen dos elementos de
almacenamiento, cargando en uno el contenido del otro
(transferencia).
Pasos:
estabilización de datos en el bus;
permanencia de datos por tiempo suficiente.
Reglas para las señales:
las señales que establecen rutas son activas por nivel;
las señales que almacenan datos son activas por flanco.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Componentes elementales
Operaciones de transferencia
Operaciones de proceso
Operaciones de transferencia
Señales de control
TA1
LA2
Secuenciador
Tiempo
Figura: Cronograma de una operación de transferencia
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Componentes elementales
Operaciones de transferencia
Operaciones de proceso
Operaciones de proceso
Los datos pasan o son “filtrados” a través de un operador.
El operador “procesa” la información.
A la salida se almacena.
Las señales de control:
deciden la operación;
seleccionan los operandos;
almacenan el resultado.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Componentes elementales
Operaciones de transferencia
Operaciones de proceso
Operaciones de proceso
L2
L1
R1
L3
L4
R2
R3
A
R4
B
OP
Operador
Out
Figura: Hardware para operaciones de proceso
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Componentes elementales
Operaciones de transferencia
Operaciones de proceso
Operaciones de proceso
Pasos:
selección de la operación;
selección de operandos;
señal de carga del resultado.
Ejemplo
Supongamos la operación:
R2 ← R1 + R4
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Componentes elementales
Operaciones de transferencia
Operaciones de proceso
Operaciones de proceso
Señales de control
Ciclo de reloj
A
B
OP
L2
Out
Secuenciador
Tiempo
Figura: Cronograma de una operación de proceso
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Bloque de memoria
Banco de registros
Unidad aritmética y lógica
Arquitectura de la CPU
Bloque de memoria
Memoria
Periféricos
Unidad de control
Unidades funcionales
Figura: Bloques básicos de la máquina von Neumann
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Bloque de memoria
Banco de registros
Unidad aritmética y lógica
Arquitectura de la CPU
Memoria principal
ME
MR
Memoria
MW
ALE
MR
MW
Bus de datos
Bus de direcciones
Figura: Arquitectura de la memoria principal
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Bloque de memoria
Banco de registros
Unidad aritmética y lógica
Arquitectura de la CPU
Operación de la memoria
Señales de control
Ciclo de reloj
ME
ALE
MR
MW
BDir
BDat
Secuenciador
Tiempo
Figura: Señales para la operación de la memoria
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Bloque de memoria
Banco de registros
Unidad aritmética y lógica
Arquitectura de la CPU
Banco de registros
Salida A
Salida B
Selector A
Entrada
Selector B
LR
Figura: Banco de registros y señales de control
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Bloque de memoria
Banco de registros
Unidad aritmética y lógica
Arquitectura de la CPU
Unidad aritmética y de direccionamiento
LPC
PC
de B
de B
de A
X
Y
OP
Operador
LA
Acumulador
AT
PCT
DT
Bus de direcciones
Bus de datos
Figura: Unidad aritmética-lógica y de direccionamiento
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Bloque de memoria
Banco de registros
Unidad aritmética y lógica
Arquitectura de la CPU
Unidad de control
Bus de datos
DIT
Reset
LI
Instrucciones
Selector A
Datos inmediatos
Contador de fases
LF
Selector B
Registro de estado
Señales varias de control
Figura: Unidad de control
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Bloque de memoria
Banco de registros
Unidad aritmética y lógica
Arquitectura de la CPU
Arquitectura de la CPU
LPC
00000000
11111111
11111111
00000000
00000000
11111111
Salida A
Selector A
000
111
111
000
000
111
000
111
000
111
000
111
000
111
000
111
000
111
000
111
000
111
000
111
PC
00000000
11111111
11111111
00000000
0000000011
11111111
00
11
00
ME
Salida B
00
11
00
11
00
11
11
00
00
11
00
11
00
11
00
11
00
11
00
11
MR
Memoria
Selector B
X
LA
MR
Acumulador
AT
Entrada
ALE
OP
Operador
00000000
11111111
11111111
00000000
00000000
11111111
MW
Y
MW
PCT
DT
LR
Bus de direcciones
Bus de datos
DIT
Reset
LI
Selector B
Selector A
Instrucciones
Datos inmediatos
Contador de fases
11
00
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
11
00
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
LF
Registro de estado
Señales varias de control
Figura: Arquitectura de la CPU, combinando elementos
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Ejecución de una instrucción tipo R
Ejecución de una instrucción tipo I
Fases de una instrucción
Búsqueda (fetch): tomar la instrucción apuntada por el PC y
llevarla a la UC.
Descodificación (decode) de la instrucción y lectura de
operandos.
Ejecución (execute) de la operación.
Almacenamiento (write-back) de resultados.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Ejecución de una instrucción tipo R
Ejecución de una instrucción tipo I
Implementación multi-ciclo
Problema: cada fase necesita una cantidad de tiempo distinta.
Dos soluciones:
usar un reloj tan lento que permita la ejecución de cualquier
operación en un sólo ciclo;
usar un número distinto de ciclos para cada operación.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Ejecución de una instrucción tipo R
Ejecución de una instrucción tipo I
Ejecución de instrucciones
Instrucción tipo R
Examinaremos el cronograma necesario para la ejecución de
add $s0, $s1, $s2
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Ejecución de una instrucción tipo R
Ejecución de una instrucción tipo I
Operación paso a paso para la suma
Acción
fetch
direccionar
leer instrucción
Op
Señales
PC → bus de direcciones
cargar registro de direcciones
ciclo de memoria
lectura
cargar instrucción en UC
PCT
ALE
ME
MR
LI
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Ejecución de una instrucción tipo R
Ejecución de una instrucción tipo I
Operación paso a paso para la suma
Acción
decode
PC ← PC + 4
cargar nuevo PC
Op
Señales
UC pone un 4 en bus de datos
selección de operandos y operación
cargar acumulador
transferencia a bus de datos
cargar en PC
DIT
X, Y, OP
LA
DT
LPC
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Ejecución de una instrucción tipo R
Ejecución de una instrucción tipo I
Operación paso a paso para la suma
Acción
execute
seleccionar registros
sumar
Op
Señales
UC genera las direcciones
para A y B
selección de operandos y
operación
hay que esperar. . .
cargar resultado en acumulador
Sel. A, Sel. B
X, Y, OP
LA
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Ejecución de una instrucción tipo R
Ejecución de una instrucción tipo I
Operación paso a paso para la suma
Acción
write-back
seleccionar registro destino
cargar registro
destino
reiniciar contador de fases
Op
Señales
transferencia al bus de datos
DT
direccionar el registro destino
generar señal de carga
Sel. A
LR
Reset
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Ejecución de una instrucción tipo R
Ejecución de una instrucción tipo I
Señales de la UC para la suma
Señales de control
Bus de datos
Bus de direcciones XX
XXX
Instr
XXX
4
PC
PC+4
XXX
$s1+$s2
XXX
XXX
Reset
LR
LPC
DT
B
$s2
A
$s1
$s0
LA
OP
suma
suma
Y
PC
port A
X
bus
port B
DIT
LI
ME
MR
ALE
PCT
Secuenciador
Tiempo
Figura: Señales emitidas por la UC para sumar dos registros
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Ejecución de una instrucción tipo R
Ejecución de una instrucción tipo I
Señales de la UC para la suma con emisión adelantada
Señales de control
Bus de datos
Bus de direcciones XX
XXX
Instr
PC
XXX
4
XXX
PC+4
XXX
Instr
$s1+$s2
PC+4
XXX
Reset
LR
LPC
DT
B
$s2
A
$s1
$s0
LA
OP
suma
suma
Y
PC
port A
X
bus
port B
DIT
LI
ME
MR
ALE
PCT
Secuenciador
Tiempo
Figura: Suma de dos registros, con emisión adelantada
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Ejecución de una instrucción tipo R
Ejecución de una instrucción tipo I
Comentarios a la instrucción de suma
El ancho del bus de datos ha de ser del mismo tamaño que la
instrucción si sólo se ha de ocupar un ciclo de lectura.
Hay un periodo de reloj “perdido” para descodificar la
instrucción.
Se podrı́a tener un sumador propio para incrementar el PC.
Esta actualización se harı́a a la vez que se lee la instrucción de
memoria.
Se podrı́a empezar la siguiente instrucción sin acabar la actual
si
se tiene cuidado con los recursos compartidos (buses) y
se tienen en cuenta los saltos condicionales.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Ejecución de una instrucción tipo R
Ejecución de una instrucción tipo I
Ejecución de instrucciones
Instrucción tipo I
Examinaremos el cronograma necesario para la ejecución de
lw $t0, 12($s1)
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Ejecución de una instrucción tipo R
Ejecución de una instrucción tipo I
Operación paso a paso para la carga
Acción
fetch
direccionar
leer instrucción
Op
Señales
PC → bus de direcciones
cargar registro de direcciones
ciclo de memoria
lectura
cargar instrucción en UC
PCT
ALE
ME
MR
LI
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Ejecución de una instrucción tipo R
Ejecución de una instrucción tipo I
Operación paso a paso para la carga
Acción
decode
PC ← PC + 4
cargar nuevo PC
Op
Señales
UC pone un 4 en bus de datos
selección de operandos y operación
cargar acumulador
transferencia a bus de datos
cargar en PC
DIT
X, Y, OP
LA
DT
LPC
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Ejecución de una instrucción tipo R
Ejecución de una instrucción tipo I
Operación paso a paso para la carga
Acción
execute
calcular $s1 +
12
Op
Señales
UC pone un 12 en bus de datos
DIT
selección del registro $s1
selección de operandos y operación
cargar acumulador
Sel. B
X, Y, OP
LA
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Ejecución de una instrucción tipo R
Ejecución de una instrucción tipo I
Operación paso a paso para la carga
Acción
write-back
leer de memoria
la dirección pedida
cargar registro
Op
Señales
transferencia al bus de direcciones
AT
cargar registro de direcciones
activar memoria
leer memoria
selección del registro $t0
señal de carga
ALE
ME
MR
Sel. A
LR
Reset
reiniciar contador de fases
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Ejecución de una instrucción tipo R
Ejecución de una instrucción tipo I
Señales de la UC para la carga
Señales de control
XXX
Bus de datos
Bus de direcciones XX
Instr
4
XXX
PC
PC+4
12
XXX
$s1+12
XXX
[$s1+12]
XXX
XXX
Reset
LR
LPC
DT
AT
A
$s1
$t0
LA
OP
suma
suma
Y
PC
port A
X
bus
bus
DIT
LI
ME
MR
ALE
PCT
Secuenciador
Tiempo
Figura: Señales emitidas por la UC para cargar un registro
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Máquina de estados
Microprogramación
Entradas y salidas de la unidad de control
La unidad de control (UC) recibe como entradas:
una instrucción,
el contador de fases,
su estado actual, recogido en un registro de estado.
Genera como salida todas las señales de control para cada
fase.
La señal de Reset coloca la UC de nuevo en el estado inicial.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Máquina de estados
Microprogramación
Implementación como máquina de estados
Una máquina de estados consta de:
un conjunto de estados,
un estado actual (recogido en el registro de estado),
un conjunto de reglas para obtener, en función de las entradas
y del estado actual, tanto la salida como el siguiente estado.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Máquina de estados
Microprogramación
Máquina de estados
Señales de control
(salidas)
Circuito puramente combinacional
Registro de estado
reloj
Instrucción
(entradas)
reset
Siguiente estado
Figura: Partes de una máquina de estados
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Máquina de estados
Microprogramación
Análisis de la implementación por máquina de estados
Ventajas:
número de componentes necesario mı́nimo;
proceso de diseño automatizable.
Inconvenientes:
si hay muchas señales y/o muchos estados, la matriz de
estados se hace muy grande;
el diseño es poco auto-explicativo.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Máquina de estados
Microprogramación
Microprogramación de la UC
Se considera el valor de todas las señales de control en cada
periodo y se transforma en una palabra de control o
microinstrucción.
Se almacenan en una memoria las microinstrucciones en el
orden adecuado para ejecutar una instrucción, formando
ası́ un microprograma.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Máquina de estados
Microprogramación
Análisis de la UC microprogramada
Ventajas:
es fácil de depurar, porque los microprogramas son “palabras”
de una memoria;
se pueden implementar fácilmente más instrucciones, con sólo
aumentar el tamaño de la memoria (si no era ya lo bastante
grande);
diseño sencillo y autoexplicativo;
si la memoria se puede reescribir, es fácil hacer que un mismo
hardware pueda ejecutar distintos juegos de instrucciones.
Inconvenientes:
mayor lentitud de operación;
necesidad de más hardware y más coste.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Máquina de estados
Microprogramación
Microprograma para la suma
Señal
PCT
ALE
MR
ME
LI
DIT
X
Y
OP
LA
A
B
DT
1
1
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
3
0
0
1
1
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
1
~x
~y
~
op
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
~x
~y
~
op
1
~a
~b
0
8
0
0
0
0
0
0
0
0
0
0
~a
0
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Máquina de estados
Microprogramación
Requisitos de la UC microprogramada
Almacenar en memoria todas las instrucciones posibles.
Relacionar cada instrucción con su microprograma.
Ejecutar la secuencia del microprograma que corresponde al
código de instrucción.
Ejemplo
Si tenemos 5 bits para código de operación, 100 señales de control
y un contador de periodos de 5 bits, el tamaño será
25 × 100 × 25 = 100 Kbits.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Máquina de estados
Microprogramación
Soluciones para la UC microprogramada
Disponer de suficiente memoria, optimizando la codificación.
Indexar y secuenciar las operaciones.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Máquina de estados
Microprogramación
División por bloques
Podemos reservar bloques de tamaño fijo para cada operación
y direccionar la memoria con el código de operación.
Inconveniente: se desperdicia mucha memoria.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Máquina de estados
Microprogramación
Secuenciamiento explı́cito
Consiste en incluir en cada microinstrucción
un campo con la dirección de la siguiente,
y un bit para indicar si es la última.
Cada código de operación direcciona el comienzo del
microprograma.
Ventaja: se pueden re-utilizar microinstrucciones en varias
instrucciones distintas (la fase de fetch suele ser siempre
igual).
Inconveniente: necesitamos más memoria.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Máquina de estados
Microprogramación
Secuenciamiento explı́cito
Ejemplo
Si tenemos 5 bits para código de operación y un contador de
periodos de 5 bits, necesitamos 5 + 5 + 1 adicionales a los de
antes, es decir,
25 × 100 × 25 + 211 = 102 Kbits.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Máquina de estados
Microprogramación
Secuenciamiento implı́cito
Se colocan las microinstrucciones en posiciones sucesivas.
Cada una lleva un bit para indicar si es la última.
Se direcciona el comienzo de cada microprograma a través de
una tabla.
Se usa un contador de microprograma para avanzar por ella.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Máquina de estados
Microprogramación
Unidad de control microprogramada
Señales de control
(salidas)
Memoria con el microcódigo
1
Contador de microprograma
Sumador
Selección de dirección
Instrucción
(entrada)
Figura: Unidad de control con secuenciamiento implı́cito
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
¿A qué llamamos rendimiento?
Si soy un usuario que ejecuta un programa sobre dos
máquinas distintas, prefiero la que termine antes.
Para mı́ el rendimiento es velocidad de respuesta.
Si soy el responsable de un centro de cálculo con dos
máquinas que ejecutan trabajos para usuarios, prefiero la que
ejecute más trabajos al dı́a.
Para mı́ el rendimiento es productividad.
Como usuarios, estaremos interesados sobre todo en la
velocidad de respuesta.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Métricas de velocidad de respuesta
Definición
Sea ExT (c, X ) el tiempo que tarda en ejecutarse el programa X en
el computador c.
Definición
Llamamos R(c, X ) al rendimiento del computador c al ejecutar el
programa X .
Intuitivamente,
R(c, X ) ∝
1
.
ExT (c, X )
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Métricas de velocidad de respuesta
Dados dos computadores, A y B, ejecutando el programa X , si
R(A, X ) > R(B, X ),
entonces,
1
1
<
⇒ ExT (A, X ) < ExT (B, X ).
R(A, X )
R(B, X )
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Métricas de velocidad de respuesta
Se puede considerar también la relación de rendimientos entre
los computadores A y B:
R(A, X )
= η,
R(B, X )
por lo que habları́amos de que ((el computador A es η veces
más rápido que el computador B)).
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Cuantificando el rendimiento
Para cuantificar mejor, nos ceñimos a la velocidad de
ejecución del procesador.
El tiempo de ejecución de un programa es el producto de
el número de ciclos necesarios para ejecutarlo
×
la duración de un ciclo.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Cuantificando el rendimiento
Podemos subdividir el número de ciclos como el producto de
el número total de instrucciones
×
el número de ciclos de ejecución promedio de cada instrucción
(lo llamamos CPI).
NB: No todas las instrucciones tardan el mismo número de ciclos:
depende de su complejidad.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Cuantificando el rendimiento
Con lo anterior llegamos a que
ExT (A, X ) = Ic (X ) × CPI(A, X ) × τ (A),
Ic (X ):
CPI(A, X ):
τ (A):
instrucciones del programa X .
CPI programa X , computador A.
duración del ciclo en el computador A.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Unidades de medida
MIPS: millones de instrucciones por segundo.
Difı́cil comparar máquinas con diferentes repertorios de
instrucciones.
Depende mucho del compilador.
MFLOPS: millones de instrucciones de coma flotante por
segundo.
Más dependiente de la dificultad intrı́nseca del problema.
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Control de operaciones elementales
El camino de datos de una máquina sencilla
Fases de una instrucción
Diseño de la unidad de control
Medida del rendimiento
Causas que influyen sobre el rendimiento
Causa
Repertorio de instrucciones
Tecnologı́a del compilador
Implementación del sistema
Sistema de memoria
Ic
X
X
CPI
X
X
X
X
τ
X
X
Rev: 1.10
Raúl Durán Dı́az
5. Procesador: camino de datos y control
Descargar