Está en la página 1de 53

UNIDAD DE CONTROL. CAPITULO 4. Fundam.

de Computadores

UNIDAD DE CONTROL: LA MENTE DE LA MAQUINA.

CAPITULO CUARTO

2 Cuatrimestre. Juana Mara Lpez. Hoja 1

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

CONTENIDO
4.1. Operaciones elementales. 4.1.1. Operaciones de transferencia. 4.1.2. Operaciones de proceso. 4.2. Estructura de un computador elemental y seales de control. 4.2.1. Memoria principal. 4.2.2. Banco de registros. 4.2.3. Unidad aritmtico-lgica. 4.2.4. Unidad de direccionamiento. 4.2.5. Unidad de control. 4.3. Temporizacin de las seales de control. 4.4. Ejecucin de instrucciones. 4.4.1. Ejecucin de ADD A, B. 4.4.2.Ejecucin de MOV A, [B+DESPLAZAMIENTO]. 4.5. Diseo de la unidad de control. 4.6. Unidad de control cableada. 4.7. Unidad de control microprogramada. 4.7.1. Estructura bsica de la unidad de control microprogramada. 4.7.2. Secuenciamiento en la unidad de control microprogramada. 4.7.3. Codificacin de las microinstrucciones. 4.7.4. Microbifurcaciones condicionales. 4.8. Arranque del computador. 2 Cuatrimestre. Juana Mara Lpez. Hoja 2

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

OBJETIVO
Objetivo del captulo: -Mostrar como se van desarrollando las instrucciones internamente. -Describir el rgano capaz de que este funcionamiento sea posible: La unidad de control. Estructura de computador sencilla. Uso de cronogramas. Mayor hincapi en estructura de computadores que en diseo digital. No se consideran las unidades de Entrada / salida.

2 Cuatrimestre. Juana Mara Lpez. Hoja 3

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

INTRODUCCION
Funcin bsica de la U.C.: ejecucin de esta secuencia..

tomar la instruccin (a la que apunta el CP) de la memoria principal y llevarla a la unidad de control (fase de fetch). incrementar el CP. decodificar la instruccin . ejecutar la instruccin.

Tambin resuelve situaciones comunica con los perifricos.

anmalas

se

Informacin que utiliza: la propia instruccin. el registro de estado. seales de E/S (interrupciones, reset, etc.).

2 Cuatrimestre. Juana Mara Lpez. Hoja 4

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

INTRODUCCION (CONT)
Informacin adicional del contador de programa.C.P. Para automatizar el paso a la siguiente instruccin. C.O., direccionamiento, localizar operandos, mandarlos a la ALU si necesario y almacenar resultado. Informacin del registro de estado. Rupturas de secuencia: programadas y automticas. Cada ejecucin en pequeos pasos: -suma de base ms desplazamiento. -lectura del operando. -incremento del CP. -ejecucin de operacin aritmtica.... La unidad de control genera las seales necesarias.

2 Cuatrimestre. Juana Mara Lpez. Hoja 5

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

INTRODUCCION (CONT+)
Trabajamos a nivel RTL (Register Transfer Logic). Concepto de ruta de datos: rganos encargados de transferir, memorizar y procesar las informaciones de la memoria principal. La unidad de control es la unidad ms "inteligente".

2 Cuatrimestre. Juana Mara Lpez. Hoja 6

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

OPERACIONES ELEMENTALES
Se clasifican en los dos grupos siguientes: -Operaciones de transferencia. -Operaciones de proceso.

LA

REGISTRO A

LB

REGISTRO B

LC

REGISTRO C

TA

TB

TC

BUS DE DATOS

Operaciones de transferencia requieren dos elementos de memoria (registros). Registro origen- registro destino. Transferencia a un bus (seal de activacin de salida triestado). Para la estabilizacin de la informacin seales de "nivel" (de permiso o de transferencia) . Seales de nivel sincronizadas con un reloj de impulsos peridicos. 2 Cuatrimestre. Juana Mara Lpez. Hoja 7

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

SEALES DE CONTROL DE TRANSFERENCIA


seales de control

TA LC tiempo

L[Registro] = load Registro T[Registro] = Transfer Registro Se debe esperar a que los datos se estabilicen en el bus de datos. El dato debe estar presente en el bus todo el tiempo que sea necesario para que se copie en el registro destino. Regla : Seales que establecen caminos=> De nivel. Almacenan informacin => De flanco.

2 Cuatrimestre. Juana Mara Lpez. Hoja 8

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

OPERACIONES DE PROCESO
La informacin origen se hace pasar a travs de un operador en su camino hacia el destino. Operaciones didicas o mondicas. Ejemplo de operacin A<= A+ D

LA
REGISTRO A

LB
REGISTRO B

LC
REGISTRO C

LD
REGISTRO D

mux.

mux.

Y [S0, S1, ...] BUS DE DATOS

OPERADOR

Seleccin de operando (X,Y) Seleccin de operacin. Carga del resultado L[Registro]

2 Cuatrimestre. Juana Mara Lpez. Hoja 9

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

CRONOGRAMA DE OPERACIONES DE PROCESO


seales de control seleccin de operandos seleccin de operacin carga del registro C tiempo

X Y S0, S1, ... suma

LC

2 Cuatrimestre. Juana Mara Lpez. Hoja 10

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

ESTRUCTURA DE UN COMPUTADOR ELEMENTAL Y SEALES DE CONTROL


Estudiaremos las seales de control que genera una unidad de control basndonos en una mquina simplificada que sigue la arquitectura de Von Neumann.

ALU

MEMORIA

seales de control

bus de direcciones y datos

UNIDAD DE CONTROL

Vamos a prescindir del bloque de E/S para simplificar el estudio. Hay que aadir un banco de registros que podra incluirse en el bloque de la ALU y una unidad de direccionamiento para actualizar el contador de programa que forma parte de la unidad de control.

2 Cuatrimestre. Juana Mara Lpez. Hoja 11

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

MEMORIA PRINCIPAL.
El bloque de memoria principal consta de los siguientes elementos: pastilla/s de memoria RAM. registro para mantener la direccin dada por el bus de direcciones. buffer bidireccional para la conexin al bus de datos. seales de control. Se puede ver la interconexin entre los distintos elementos. Desde un punto de vista hardware el registro puede ser un 7495 o cualquier registro equivalente y el buffer bidireccional un 74245.
registro

MEMORIA PRINCIPAL

MEM MR MW

ALE

buffer bidireccional

MR

BUS DE DATOS BUS DE DIRECCIONES

2 Cuatrimestre. Juana Mara Lpez. Hoja 12

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

MEM. PRINCIPAL (CONT).


seal activa por nombre MEM MR MW ALE MR nivel nivel nivel flanco nivel memory memory read memory write address enable --significado iniciar ciclo de memoria ciclo de lectura ciclo de escritura el latch una

latch carga en direccin

indica la direccin del buffer; si el nivel es alto los datos se vuelcan al bus; si es bajo se lee el bus.

Los cronogramas de acceso a la memoria son los siguientes:


seales MEM ALE MR MW MR
ciclo de lectura vuelca contenido al bus

tiempo

2 Cuatrimestre. Juana Mara Lpez. Hoja 13

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

CRONOGRAMA DE ACCESOS A MEMORIA


seales MEM ALE MR MW MR
ciclo de escritura lee el contenido del bus

tiempo

La duracin de la seales MR y MW depende de la memoria, es decir, de sus tiempos de lectura y escritura. La duracin de MEM ser la mnima posible, es decir, la correspondiente al periodo bsico de la mquina.

2 Cuatrimestre. Juana Mara Lpez. Hoja 14

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

BANCO DE REGISTROS.
El banco de registros consta de los siguientes elementos: 16 registros de propsito general accesibles al usuario desde el ensamblador o lenguaje mquina. 2 puertas de salida que permiten leer 2 registros simultneamente. la seleccin de ambos registros se efecta mediante 2 conjuntos de direcciones de 4 bits (DIRECCIN A y DIRECCIN B) que provienen directamente de la unidad de control. 1 puerta de entrada que permite cargar un registro desde el bus de datos; se direcciona con el bloque DIRECCIN A y la carga se efecta mediante la correspondiente seal de control (LR). En la figura se puede observar la interconexin entre estos elementos.

2 Cuatrimestre. Juana Mara Lpez. Hoja 15

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores


a la ALU a la ALU

PUERTA DE SALIDA A

PUERTA DE SALIDA B

4 bits

BANCO DE REGISTROS 16 registros

4 bits

DIRECCIN A

DIRECCIN B

PUERTA DE ENTRADA

LR

BUS DE DATOS BUS DE DIRECCIONES

de la unidad de control

de la unidad de control

2 Cuatrimestre. Juana Mara Lpez. Hoja 16

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Las seales de control son las siguientes:


seal LR activa por nombre flanco Significado el registro indicado por DIRECCIN A con un dato del bus de datos.
DIRECCION A DIRECCION B

load register carga

nivel (4 bits) nivel (4 bits)

Selecciona un registro del banco. Selecciona un registro del banco.

Cuando se carga un dato en un registro este mismo dato aparece en la puerta de salida A una vez cumplido el tiempo de retardo correspondiente.

2 Cuatrimestre. Juana Mara Lpez. Hoja 17

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Unidad Aritmtico-Lgica.
Elementos que la componen: Un Operador: con 4 seales de control para seleccin de operacin.(S0,....S3) Dos multiplexores: cada uno con 3 entradas y una salida que hace de entrada al operador. Control: multiplexor_1(X0,X1) y multiplexor_2(Y0,Y1). Un acumulador: registro intermedio. Su contenido puede ser volcado a : -operando X. -bus de datos. -bus de direcciones.

2 Cuatrimestre. Juana Mara Lpez. Hoja 18

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores


de B de B de A del contador de programa (CP)

[X0, X1]

MULTIPLEXOR X

MULTIPLEXOR Y

[Y0, Y1]

OPERADOR

[S0, ...S3]

ACUMULADOR

LAC

DT AT

BUS DE DATOS

BUS DE DIRECCIONES

2 Cuatrimestre. Juana Mara Lpez. Hoja 19

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

seal S0...S3 X0, X1 Y0, Y1 LAC

activa por nivel nivel nivel flanco

nombre selection ----load acumulator

Significado Selecciona la operacin a realizar. Selecciona uno entre 3 operandos. Selecciona uno entre 3 operandos. carga el acumulador con la salida del operador.

DT

nivel

data transfer

Transfiere

el

contenido

del

acumulador al bus de datos. AT nivel address transfer Transfiere el contenido del

acumulador al bus de direcciones.

-Seales AT y DT para volcar acumulador en los


buses. -Posible implementacin: Latch 74244. -Estado de alta impedancia si estn inactivos.

2 Cuatrimestre. Juana Mara Lpez. Hoja 20

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Unidad de Direccionamiento.
-Genera la siguiente instruccin a ejecutar en la secuencia del programa. -Necesario que integre el CP y un sumador. -Necesaria la posibilidad de transferencia con los buses. -Supondremos igual anchura en ambos buses y en los registros. -Ver en el grfico un ejemplo de solucin de esta unidad y sus posibilidades de transferencia y clculo.
CONTADOR DE PROGRAMA LPC CP

del BUS DE DATOS del ACUMULADOR

de B

de B de A

MULTIPLEXOR X

MULTIPLEXOR Y

[Y0, Y1]

OPERADOR

ACUMULADOR

LAC

DT AT

PCT

BUS DE DATOS

BUS DE DIRECCIONES

2 Cuatrimestre. Juana Mara Lpez. Hoja 21

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Las seales de control para la unidad de direccionamiento son las siguientes:


Seal LPC activa por flanco nombre load program counter significado carga una direccin nueva en el CP desde el bus de datos. PCT nivel program counter transfer transfiere el contenido del registro CP al bus de direcciones.

2 Cuatrimestre. Juana Mara Lpez. Hoja 22

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Unidad de Control.
Genera las seales de control que constituyen el bus de control. Contiene registros auxiliares para su misin: Buffer de Instrucciones: Almacena cdigo mquina formado por una o varias instrucciones. Puerto de entrada de instrucciones: Activado por la seal LI, se carga con una instruccin que pasa al buffer. Puerto de salida: Transfiere al bus de datos, datos inmediatos o desplazamientos, gobernado por la seal DIT. Registro de estado: Contiene los flags. Se cargan los bits selectivamente segn seales provenientes de la ALU activas por flanco. Registro contador de fases: Cuenta las fases del reloj del sistema y se encarga as de la temporizacin. Dos buses de 4 bits: Son de salida de la unidad de control y sirven para generar la direccin de seleccin de registro de la ALU.

2 Cuatrimestre. Juana Mara Lpez. Hoja 23

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

BUS DE DATOS BUS DE DIRECCIONES

DIT
SALIDA DE DESPLAZAMIENTOS O DATOS INMEDIATOS

RESET
reloj

LI

ENTRADA DE INSTRUCCIONES

CONTADOR DE FASES

OSCILADOR

DIRECCIN A

UNIDAD DE CONTROL
LFlags

DIRECCIN B

DIRECCIONES DE REGISTROS

REGISTRO DE ESTADO (flags)


BUFFER DE INSTRUCCIONES

seales de control

2 Cuatrimestre. Juana Mara Lpez. Hoja 24

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Las seales de control de la unidad de control son las siguientes:


Seal LI activa por flanco nombre load instruction significado carga una instruccin desde el bus de datos. DIT nivel data transfer Lflags flanco load flags intruction transfiere un dato inmediato o un desplazamiento al bus de datos. carga los flags despus de una instruccin aritmtica o lgica. RESET flanco reset pone a 0 el contador de fases.

2 Cuatrimestre. Juana Mara Lpez. Hoja 25

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

CONTADOR DE PROGRAMA LPC

CP

SALIDA A

SALIDA B

4 bits

[X0, X1]
BANCO DE REGISTROS 16 registros 4 bits MULTIPLEXOR X MULTIPLEXOR Y

[Y0, Y1] X Y
MEMORIA PRINCIPAL

[S0,...S3]

MEM MR MW

DIRECCIN A

DIRECCIN B

OPERADOR

ALE
ACUMULADOR ACUMULADOR
PUERTA DE ENTRADA

LAC DT
MR

LR

AT

PCT
BUS DE DATOS BUS DE DIRECCIONES

DIT
RESET
SALIDA DE DESPLAZAMIENTOS O DATOS INMEDIATOS

LI

ENTRADA DE INSTRUCCIONES

IT

CONTADOR DE FASES

reloj

OSCILADOR

DIRECCIN B

UNIDAD DE CONTROL
LFlags
DIRECCIN A

REGISTRO DE ESTADO (flags)


DIRECCIONES DE REGISTROS BUFFER DE INSTRUCCIONES

2 Cuatrimestre. Juana Mara Lpez. Hoja 26

seales de control

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

TEMPORIZACION DE LAS SEALES DE CONTROL.


El funcionamiento de un computador es sncrono

Ejecucin de una instruccin. FASES: Fetch (bsqueda de una instruccin). Decodificacin y bsqueda de operandos. Operacin. Almacenar resultado.

El n de ciclos de reloj vara segn las instrucciones. Depende de : Modo de direccionamiento. Tipo de operacin.

reloj

fase de fetch

busqueda de operandos

operacin

almacenar resultado

2 Cuatrimestre. Juana Mara Lpez. Hoja 27

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

EJECUCION DE LAS INSTRUCCIONES.


Vamos a desglosar una ejecucin en: Acciones a seguir. Descomposicin en operaciones elementales. Temporizacin en cronogramas.

EJECUCION DE
Formato de la instruccin:
cdigo de operacin ADD 0 7 8 registro A

ADD A, B

registro B 11 12 15

ACCIN

OPERACIN ELEMENTAL

SEAL CONTROL

DE

traer instruccin (fetch): direccionar - CP bus direcciones - cargar registro de direcciones PCT ALE (desactivar) leer instruccin - ciclo de memoria - lectura - cargar instruccin en la MEM MR

Unidad
LI (desactivar)

de control (UC)

2 Cuatrimestre. Juana Mara Lpez. Hoja 28

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores


Incrementar CP: (la UC tiene que

decodificar la instruccin y esto es igual a un retardo) sumar CP+2 - la UC entrega el 2 al bus de datos seleccin de operandos y de X0,X1 e Y0, Y1 y S0, ...S3 (periodo de reloj) DIT

operacin (simultneamente)

- carga del acumulador

LAC (desactivar)

cargar nuevo CP

- transferencia bus de datos - carga del nuevo CP

DT LPC (desactivar)

Realizar suma: dar direcciones del banco de registros - la UC genera Direccin al decodificar la instruccin sumar -seleccin de operandos y operacin

AyB
4 + 4 bits X0,X1 e Y0, Y1 y S0, ...S3

- carga del acumulador

LAC (desactivar)

2 Cuatrimestre. Juana Mara Lpez. Hoja 29

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores


Guardar resultado: seleccionar A - transferencia al bus de datos - la UC genera direccin A cargar registro - seal de carga DT 4 bits LR (desactivar)
Actualizar reg. de estado: Contador de fases a 0:

LFlags RESET

2 Cuatrimestre. Juana Mara Lpez. Hoja 30

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

CRONOGRAMA DE ADD A,B


seales reloj PCT ALE MEM MR MW LI DIT X0, X1 Y0, Y1 S0, ...S3 LAC DIRECCIN A DIRECCIN B DT AT LPC LR LFlags RESET
periodo 1 periodo 2 periodo 3 periodo 4 periodo 5 periodo 6 periodo 7 periodo 8 registro A registro B registro A bus datos CP suma puerto B puerto A suma

fase de fetch

decodi actualizacin de CP ficacin

tiempo
operacin

2 Cuatrimestre. Juana Mara Lpez. Hoja 31

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

COMENTARIOS AL CRONOGRAMA:

Dos accesos a memoria necesarios si el bus de datos es de un byte. Periodo 4: decodificacin de la instruccin. Periodos 5 y 6 de actualizacin de CP. Posible ahorro con sumador distinto.

Actualizacin en un periodo menos si el resultado de la ALU no pasara por el acumulador.

Optimizacin: Antes del fin de la ejecucin, comenzar el fetch de la siguiente.

2 Cuatrimestre. Juana Mara Lpez. Hoja 32

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Optimizacin de ADD A, B.
seales reloj PCT ALE MEM MR MW LI DIT X0, X1 Y0, Y1 S0, ...S3 LAC DIRECCIN A DIRECCIN B DT AT LPC LR LFlags RESET
periodo 1 periodo 2 periodo 3 periodo 4 periodo 5 periodo 6 periodo 7 periodo 8 registro A registro B registro A bus datos CP suma puerto B puerto A suma

tiempo

2 Cuatrimestre. Juana Mara Lpez. Hoja 33

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

EJECUCION DE MOV A, [B+DESPLAZAMIENTO] Instruccin de transferencia con direccionamiento directo relativo a registro. Operacin: [B+ Desplazamiento] --> A Formato de la instruccin:
cdigo de operacin MOV 0 7 8 registro A 11 12 registro B 15 16
desplazamiento 31

ACCIN

OPERACIN ELEMENTAL

SEAL CONTROL

DE

traer instruccin (fetch): direccionar - CP bus direcciones - cargar registro de direcciones PCT ALE (desactivar) leer instruccin - ciclo de memoria - lectura - cargar instruccin en la MEM MR

Unidad
LI (desactivar)

de Control (UC)

2 Cuatrimestre. Juana Mara Lpez. Hoja 34

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores


incrementar CP:

(la UC tiene que decodificar la instruccin y esto es igual a un retardo)


sumar CP+4

- la UC entrega el 2 al bus de datos seleccin de operandos y

(retardo de un periodo)
de DIT

operacin (simultneamente) X0,X1 e Y0, Y1 y S0, ...S3 - carga del acumulador LAC - transferencia bus de datos - carga del nuevo CP (desactivar) DT LPC (desactivar)

cargar nuevo CP

2 Cuatrimestre. Juana Mara Lpez. Hoja 35

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores


calcular direccin

operando fuente: seleccin de sumandos (B+DESPL.) la UC entrega el

Desplazamiento
datos

al bus de DIT

- la UC genera la direccin del registro 4 bits sumar B en Direccin seleccin de

A
operandos y

X0,X1 e Y0, Y1 y de S0, ...S3

operacin (simultneamente) LAC - carga del acumulador (desactivar)

guardar resultado: volcar al bus de datos el operando fuente - transferencia al bus de direcciones del contenido del Acumulador - cargar registro de direcciones AT ALE (desactivar) - ciclo de memoria - lectura MEM MR

cargar registro

- la UC genera la direccin del registro 4 bits A con Direccin

LR (desactivar) RESET

- seal de carga del registro contador de fases a 0:

2 Cuatrimestre. Juana Mara Lpez. Hoja 36

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

CRONOGRAMA DE MOV A, [B+Desplazamiento]


seales reloj PCT ALE MEM MR MW LI DIT X0, X1 Y0, Y1 S0, ...S3 LAC DIRECCIN A DIRECCIN B DT AT LPC LR RESET
periodo 1 periodo 2 periodo 3 periodo 4 periodo 5 periodo 6 periodo 7 periodo 8 periodo 9 periodo 10 periodo 11 registro B registro A bus de datos bus de datos puerto A suma

CP
suma

tiempo

2 Cuatrimestre. Juana Mara Lpez. Hoja 37

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Diseo de la unidad de control.

Consideracin de la unidad de control como una


caja negra. Entradas: Cdigo de operacin. Estado del sistema. Seales de Entrada/ Salida. Contador de fases.

Salidas: Seales de control.


INFORMACIN
INSTRUCCIN
CONTADOR DE FASES

UNIDAD DE CONTROL

SEALES DE CONTROL

ESTADO

E/S

2 Cuatrimestre. Juana Mara Lpez. Hoja 38

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Mtodos de diseo de la unidad de control. Unidad de control mediante lgica cableada. Unidad de control microprogramada. Cableada Mtodo de diseo lgico. (diseo digital) Circuito ms rpido. Ms laborioso de disear. (Mtodos CAD). Muy difcil de modificar. Compensa slo en algunas mquinas. Mtodos tpicos: De la tabla de estados. De clulas de retardo. Del contador secuenciador.

2 Cuatrimestre. Juana Mara Lpez. Hoja 39

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Consiste en el almacenamiento de las palabras de control en memoria. Palabra de control = conjunto de seales de control para un periodo de reloj (= microinstruccin). Ejemplo: microinstrucciones de ADD A, B
MICROINSTRUCCIONES seal de control

Unidad de control microprogramada.

MEM MR MW ALE MR LR S0...S3 X0, X1 Y0, Y1 LAC DT AT LPC DBT PCT LI DIT DIR. A DIR. B LFlags RESET

0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0

1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 fetch

0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0

0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 0 0

0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1

CP & instruccin

2 Cuatrimestre. Juana Mara Lpez. Hoja 40

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Unidad de control microprogramada(cont).


Microprograma: conjunto de microinstrucciones

para la ejecucin de una instruccin. Microcdigo: conjunto de microprogramas que ejecutan las instrucciones. En la tabla se ven los microprogramas de fetch (1,2 y 3), actualizacin del CP (5 y 6) y el de ejecucin de la instruccin propiamente dicha (4, 7 y 8). Se tratan igual seales de flanco y nivel. Ventajas: Fcil de depurar ( estn en ROM). Instrucciones complejas-> basta reservar ms memoria.
Diferentes juegos de instrucciones cambiando los microprogramas. Emulacin de mquinas.

2 Cuatrimestre. Juana Mara Lpez. Hoja 41

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Estructura bsica de la unidad de control Microprogramada.


Ha de ser capaz de tres cosas: 1.Almacenar en memoria todas las microinstrucciones posibles. Ejemplo: Instrucciones de C.O. de 7 bits, contador de fases de 5 bits y 150 seales de control,

4096 palabras x 150 bits / palabra = 614400 bits= 600 Kb 2.Unir cada instruccin con su microprograma. 3.Secuencia del microprograma. Los problemas son: tamao, codificacin y secuenciamiento.

2 Cuatrimestre. Juana Mara Lpez. Hoja 42

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Secuenciamiento en la U. C. Microprogramada
Solucin inmediata:
cdigo de operacin contador de fases

De esta manera, los microprogramas correspondientes a cada instruccin se encuentran a partir de la posicin dada por:

cdigo de operacin

000......0000

Resultado:
instruccin 1 instruccin 2 32 posiciones microprograma de la instruccin 1

instruccin 127 instruccin 128

Se desperdicia memoria. Soluciones: Secuenciamiento explcito e implcito.

2 Cuatrimestre. Juana Mara Lpez. Hoja 43

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Secuenciamiento Explcito.
Cada microinstruccin incluye la direccin de la siguiente. Los cdigos de operacin apuntan al comienzo del microprograma. Cada microinstruccin incluye: campo de direccin, seales de control y un bit que indica si es la ltima. Ventaja: microinstrucciones repetidas. Inconveniente: exceso de memoria. 4096 microins. x 12 bits = 48 Kbits adicionales.

2 Cuatrimestre. Juana Mara Lpez. Hoja 44

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Secuenciamiento Explcito (cont)


CDIGO DE OPERACIN

FORMATO ESTANDAR DE MICROINSTRUCCIN

bit de control del multiplexor

direccin
0 0 0 0 0 0 0 POSICIONES CORRESPONDIENTES A LOS CDIGOS DE OPERACIN

seales de control

MUX.

apuntan a la primera microinstruccin de cada microprograma

indica que es la ltima microinstruccin del microprograma (el multiplexor tomar el siguiente cdigo de operacin)

seales de control 000001000100000110010000010000

direccin

2 Cuatrimestre. Juana Mara Lpez. Hoja 45

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Secuenciamiento Implcito. Consiste en tener ordenadas secuencialmente todas las


microinstrucciones de cada microprograma.

Necesitamos un contador de microprograma que apunte


a la microinstruccin en curso.

Primera microinstruccin de cada microprograma: con


una ROM que tiene:

como direcciones los cdigos de operacin. contiene


las posiciones microinstruccin. de la primera

2 Cuatrimestre. Juana Mara Lpez. Hoja 46

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Secuenciamiento Implcito (cont)


CDIGO DE OPERACIN
INCREMENTADOR +1
8 bits MEMORIA DE CONTROL

bit de control de carga del CP

seales de control
12 bits

ROM

registro CP (contador de microprograma)

seal de carga del registro CP

0 0 0 0 0 0 1

microprograma correspondiente a un cdigo de operacin

0 0 0
0 0 0 0 1 0 1

ltima microinstruccin

00010001100001010001

2 Cuatrimestre. Juana Mara Lpez. Hoja 47

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Codificacin de las microinstrucciones. Codificando las microinstrucciones se puede ahorrar


memoria de control.

Microprogramacin horizontal: no usa codificacin. Formatos largos pero rpidas. Microprogramacin vertical: alta codificacin. Menor tamao de memoria pero mayor lentitud
para decodificacin.

Formato de las microinstrucciones:


acceso bus de datos acceso bus direcciones gobierno ALU banco de registros memoria unidad de direccionamie nto MR DT DIT AT PCT S0, ...S3 X0, X1 Y0, Y1 LAC
FORMATO DE MICROINSTRUCCIN
bus datos direcciones ALU registros memoria U. DIR. estado condicin

LR DIR. A DIR. B

MEM MR MW ALE

LPC

2 Cuatrimestre. Juana Mara Lpez. Hoja 48

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Codificacin de campos de las microinstrucciones Se codifican fcilmente las seales excluyentes (slo una
de ellas puede estar activa a un tiempo). Ejemplo: seales que vuelcan datos en un bus.
acceso bus de datos MR DT DIT

Codificacin

seal de control activa

00 01 10 11

MR DT DIT --

La microinstruccin no posee las seales de control sino


una codificacin que indica como generarlas. Inconveniente: requiere decodificacin.

2 Cuatrimestre. Juana Mara Lpez. Hoja 49

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Solapamiento de campos.
Hay instrucciones donde nunca se activan algunas seales. Ejemplo: en una instruccin de salto nunca se accede a memoria. Se solapa el campo no utilizado con uno que se utiliza. Hay un bit que controla a que campo pertenecen las seales. Ejemplo: en instruccin de salto, el campo no utilizado se solapa con la direccin de salto.

2 Cuatrimestre. Juana Mara Lpez. Hoja 50

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Microbifurcaciones condicionales.
Las instrucciones de salto condicional tienen dos microprogramas posibles. Microsalto o microbifurcacin: una microinstruccin debe poder elegir entre dos caminos alternativos. El mecanismo depende del tipo de secuenciamiento:

Secuenciamiento explcito: Se dan dos direcciones que difieren en un slo bit. Ese bit es el resultado de la comparacin con la
condicin: 1 si se cumple y 0 si no se cumple.
bit de condicin dos direcciones posibles: - "direccin" 0 - "direccin" 1

direccin campo de direccin bit de ltima microinstruccin

seales de control

2 Cuatrimestre. Juana Mara Lpez. Hoja 51

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Microbifurcaciones en el secuenciamiento implcito. No se puede incluir un campo de direccin de salto


porque ya sera explcito. Solucin: se solapa el campo de esta direccin con un campo de funcin excluyente.(Ejemplo: E/S)
CDIGO DE OPERACIN

bit de control de carga del CP


INCREMENTADOR +1 MEMORIA DE CONTROL

8 bits

registro C P (contador de microprograma)

seales de control
12 bits

ROM
MUX

seal de carga del registro C P

0 0 0 0 0 0 1

microprograma correspondiente a un cdigo de operacin

ltima microinstruccin

0 0 0 0 0 0 0 1 0
1

direccin/E-S
condicin seales de control

bit de control de funcin

COMPARADOR REG. DE ESTADO

decodificador

SEALES DE E/S DIRECCIN

2 Cuatrimestre. Juana Mara Lpez. Hoja 52

UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores

Arranque del computador. Los componentes hardware toman un estado aleatorio. Se empezara a ejecutar un programa desconocido al
azar.

Solucin: forzar en el reset todos los registros a un


estado, e inicializar el CP apuntando a una memoria ROM con un programa cargador.

El programa cargador se encarga de las siguientes tareas: Rutinas de comprobacin del computador. Rutinas de configuracin (perifricos, puertos,
interrupciones,..) Carga de vectores de interrupcin. Carga del sistema operativo. Carga de controladores de dispositivos.

2 Cuatrimestre. Juana Mara Lpez. Hoja 53

También podría gustarte