• No se han encontrado resultados

UNIDAD DE CONTROL: LA MENTE DE LA MAQUINA. CAPITULO CUARTO

N/A
N/A
Protected

Academic year: 2021

Share "UNIDAD DE CONTROL: LA MENTE DE LA MAQUINA. CAPITULO CUARTO"

Copied!
53
0
0

Texto completo

(1)

UNIDAD DE CONTROL: LA MENTE DE LA MAQUINA.

CAPITULO CUARTO

2º Cuatrimestre. Juana María López. Hoja 1

(2)

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 señales de control.

4.2.1. Memoria principal.

4.2.2. Banco de registros.

4.2.3. Unidad aritmético-lógica.

4.2.4. Unidad de direccionamiento.

4.2.5. Unidad de control.

4.3. Temporización de las señales de control.

4.4. Ejecución de instrucciones.

4.4.1. Ejecución de ADD A, B.

4.4.2.Ejecución de

MOV A, [B+DESPLAZAMIENTO].

4.5. Diseño de la unidad de control.

4.6. Unidad de control cableada.

4.7. Unidad de control microprogramada.

4.7.1. Estructura básica de la unidad de control microprogramada.

4.7.2. Secuenciamiento en la unidad de control microprogramada.

4.7.3. Codificación de las microinstrucciones.

4.7.4. Microbifurcaciones condicionales.

4.8. Arranque del computador.

2º Cuatrimestre. Juana María López. Hoja 2

(3)

OBJETIVO

 Objetivo del capítulo:

-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 diseño digital.

 No se consideran las unidades de Entrada / salida.

2º Cuatrimestre. Juana María López. Hoja 3

(4)

INTRODUCCION

 Función básica de la U.C.: ejecución de esta secuencia..

• tomar la instrucción (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 instrucción .

• ejecutar la instrucción.

 También resuelve situaciones anómalas y se comunica con los periféricos.

 Información que utiliza:

• la propia instrucción.

• el registro de estado.

• señales de E/S (interrupciones, reset, etc.).

2º Cuatrimestre. Juana María López. Hoja 4

(5)

INTRODUCCION (CONT)

 Información adicional del contador de programa.C.P.

Para automatizar el paso a la siguiente instrucción.

 C.O., direccionamiento, localizar operandos, mandarlos a la ALU si necesario y almacenar resultado.

 Información del registro de estado.

 Rupturas de secuencia: programadas y automáticas.

 Cada ejecución en pequeños pasos:

-suma de base más desplazamiento.

-lectura del operando.

-incremento del CP.

-ejecución de operación aritmética....

 La unidad de control genera las señales necesarias.

2º Cuatrimestre. Juana María López. Hoja 5

(6)

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 más "inteligente".

2º Cuatrimestre. Juana María López. Hoja 6

(7)

OPERACIONES ELEMENTALES

 Se clasifican en los dos grupos siguientes:

-Operaciones de transferencia.

-Operaciones de proceso.

REGISTRO A REGISTRO B REGISTRO C

LA LB LC

TA TB TC

BUS DE DATOS

 Operaciones de transferencia requieren dos elementos de memoria (registros).

 Registro origen- registro destino.

 Transferencia a un bus (señal de activación de salida triestado).

 Para la estabilización de la información señales de

"nivel" (de permiso o de transferencia) .

 Señales de nivel sincronizadas con un reloj de impulsos periódicos.

2º Cuatrimestre. Juana María López. Hoja 7

(8)

SEÑALES DE CONTROL DE TRANSFERENCIA

señales de control

tiempo TA

LC

 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 : Señales que establecen caminos=> De nivel.

Almacenan información => De flanco.

2º Cuatrimestre. Juana María López. Hoja 8

(9)

OPERACIONES DE PROCESO

 La información origen se hace pasar a través de un operador en su camino hacia el destino.

 Operaciones diádicas o monádicas.

 Ejemplo de operación

A<= A+ D

mux. mux.

X Y

LA LB LC LD

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

REGISTRO A REGISTRO B REGISTRO C REGISTRO D

OPERADOR

 Selección de operando (X,Y)

 Selección de operación.

 Carga del resultado L[Registro]

2º Cuatrimestre. Juana María López. Hoja 9

(10)

CRONOGRAMA

DE OPERACIONES DE PROCESO

señales de control

tiempo X

LC Y

S0, S1, ... suma

selección de operandos

operación selección de

carga del registro C

2º Cuatrimestre. Juana María López. Hoja 10

(11)

ESTRUCTURA DE UN

COMPUTADOR ELEMENTAL Y SEÑALES DE CONTROL

Estudiaremos las señales de control que genera una unidad de control basándonos en una máquina simplificada que sigue la arquitectura de Von Neumann.

ALU

UNIDAD DE CONTROL

MEMORIA

señales de control bus de direcciones y datos

 Vamos a prescindir del bloque de E/S para simplificar el estudio.

 Hay que añadir un banco de registros que podría 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 María López. Hoja 11

(12)

MEMORIA PRINCIPAL.

El bloque de memoria principal consta de los siguientes elementos:

• pastilla/s de memoria RAM.

• registro para mantener la dirección dada por el bus de direcciones.

• buffer bidireccional para la conexión al bus de datos.

• señales de control.

Se puede ver la interconexión 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.

BUS DE DIRECCIONES BUS DE DATOS MEMORIA

PRINCIPAL MEM

MR MW

ALE

MR

registro

buffer bidireccional

2º Cuatrimestre. Juana María López. Hoja 12

(13)

MEM. PRINCIPAL (CONT).

señal activa por nombre significado

MEM nivel memory iniciar ciclo de memoria MR nivel memory read ciclo de lectura

MW nivel memory write ciclo de escritura ALE flanco address latch

enable

carga en el latch una dirección

MR nivel --- indica la dirección 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:

señales

MEM ALE MR MW MR

tiempo

vuelca contenido

al bus

ciclo de lectura

2º Cuatrimestre. Juana María López. Hoja 13

(14)

CRONOGRAMA DE ACCESOS A MEMORIA

señales

tiempo MEM

ALE MR MW

MR

lee elcontenidodel bus

ciclo de escritura

 La duración de la señales MR y MW depende de la memoria, es decir, de sus tiempos de lectura y escritura.

 La duración de MEM será la mínima posible, es decir, la correspondiente al periodo básico de la máquina.

2º Cuatrimestre. Juana María López. Hoja 14

(15)

BANCO DE REGISTROS.

El banco de registros consta de los siguientes elementos:

• 16 registros de propósito general accesibles al usuario desde el ensamblador o lenguaje máquina.

• 2 puertas de salida que permiten leer 2 registros simultáneamente.

• la selección de ambos registros se efectúa mediante 2 conjuntos de direcciones de 4 bits (DIRECCIÓN A y DIRECCIÓN 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 DIRECCIÓN A y la carga se efectúa mediante la correspondiente señal de control (LR).

En la figura se puede observar la interconexión entre estos elementos.

2º Cuatrimestre. Juana María López. Hoja 15

(16)

2º Cuatrimestre. Juana María López. Hoja 16

BUS DE DIRECCIONES BUS DE DATOS BANCO DE REGISTROS

PUERTA DE ENTRADA

PUERTA DE SALIDA A PUERTA DE SALIDA B

16 registros

4 bits 4 bits

DIRECCIÓN A DIRECCIÓN B

LR

de la unidad de control de la unidad de control

a la ALU a la ALU

(17)

Las señales de control son las siguientes:

señal activa por nombre Significado

LR flanco load register carga el registro indicado por DIRECCIÓN A con un dato del bus de datos.

DIRECCION A

nivel (4 bits)

Selecciona un registro del banco.

DIRECCION B

nivel (4 bits)

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 María López. Hoja 17

(18)

Unidad Aritmético-Lógica.

Elementos que la componen:

• Un Operador: con 4 señales de control para selección de operación.(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 María López. Hoja 18

(19)

2º Cuatrimestre. Juana María López. Hoja 19

BUS DE DATOS

BUS DE DIRECCIONES

MULTIPLEXOR X MULTIPLEXOR Y

OPERADOR

X Y

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

ACUMULADOR

[S0, ...S3]

[X0, X1] [Y0, Y1]

LAC

DT

AT

(20)

señal activa por nombre Significado

S0...S3 nivel selection Selecciona la operación a realizar.

X0, X1 nivel --- Selecciona uno entre 3 operandos.

Y0, Y1 nivel --- Selecciona uno entre 3 operandos.

LAC flanco load acumulator 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.

- Señales AT y DT para volcar acumulador en los buses.

-Posible implementación: Latch 74244.

-Estado de alta impedancia si están inactivos.

2º Cuatrimestre. Juana María López. Hoja 20

(21)

Unidad de Direccionamiento.

-Genera la siguiente instrucción 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 gráfico un ejemplo de solución de esta unidad y sus posibilidades de transferencia y cálculo.

BUS DE DIRECCIONES BUS DE DATOS

CONTADOR DE PROGRAMA LPC CP

PCT

ACUMULADOR

OPERADOR

X Y

de B de B de A

del ACUMULADOR del BUS DE DATOS

[Y0, Y1]

LAC

AT

MULTIPLEXOR X MULTIPLEXOR Y

DT

2º Cuatrimestre. Juana María López. Hoja 21

(22)

Las señales de control para la unidad de direccionamiento son las siguientes:

Señal activa por nombre significado

LPC flanco load program counter carga una dirección 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 María López. Hoja 22

(23)

Unidad de Control.

• Genera las señales de control que constituyen el bus de control.

• Contiene registros auxiliares para su misión:

• Buffer de Instrucciones: Almacena código máquina formado por una o varias instrucciones.

• Puerto de entrada de instrucciones: Activado por la señal LI, se carga con una instrucción que pasa al buffer.

• Puerto de salida: Transfiere al bus de datos, datos inmediatos o desplazamientos, gobernado por la señal DIT.

• Registro de estado: Contiene los flags. Se cargan los bits selectivamente según señales provenientes de la ALU activas por flanco.

• Registro contador de fases: Cuenta las fases del reloj del sistema y se encarga así de la temporización.

• Dos buses de 4 bits: Son de salida de la unidad de control y sirven para generar la dirección de

selección de registro de la ALU.

2º Cuatrimestre. Juana María López. Hoja 23

(24)

BUFFER DE INSTRUCCIONES

UNIDAD DE CONTROL

REGISTRO DE ESTADO (flags)

BUS DE DIRECCIONES BUS DE DATOS

señales de control SALIDA DE DESPLAZAMIENTOS

O DATOS INMEDIATOS

ENTRADA DE

INSTRUCCIONES CONTADOR

DE FASES

DIRECCIONES DE REGISTROS

DIRECCIÓN A

DIRECCIÓN B

OSCILADOR reloj

LI

DIT

LFlags RESET

2º Cuatrimestre. Juana María López. Hoja 24

(25)

Las señales de control de la unidad de control son las siguientes:

Señal activa por nombre significado

LI flanco load instruction carga una instrucción desde el bus de datos.

DIT nivel data intruction

transfer

transfiere un dato inmediato o un desplazamiento al bus de datos.

Lflags flanco load flags carga los flags después de una instrucción aritmética o lógica.

RESET flanco reset pone a 0 el contador de fases.

2º Cuatrimestre. Juana María López. Hoja 25

(26)

2º Cuatrimestre. Juana María López. Hoja 26

BUS DE DIRECCIONES BUS DE DATOS

MULTIPLEXOR X MULTIPLEXOR Y

OPERADOR

X Y MEMORIA

PRINCIPAL MEM MR MW

ALE

MR SALIDA A SALIDA B

BANCO DE REGISTROS 16 registros

4 bits 4 bits

DIRECCIÓN A DIRECCIÓN B

LR PUERTA

DE ENTRADA

REGISTRO DE ESTADO (flags) BUFFER DE INSTRUCCIONES

señales de control UNIDAD DE CONTROL

SALIDA DE DESPLAZAMIENTOS O DATOS INMEDIATOS ENTRADA DE

INSTRUCCIONES

CONTADOR DE FASES

DIRECCIONES DE REGISTROS

OSCILADOR reloj

[X0, X1] [Y0, Y1]

[S0,...S3]

ACUMULADOR

ACUMULADOR LAC

DT AT

CONTADOR DE PROGRAMA LPC CP

PCT

DIRECCIÓN A DIRECCIÓN B

LI IT

RESET

LFlags DIT

(27)

TEMPORIZACION DE LAS SEÑALES DE CONTROL.

• El funcionamiento de un computador es síncrono

• Ejecución de una instrucción.

FASES:

• Fetch (búsqueda de una instrucción).

• Decodificación y búsqueda de operandos.

• Operación.

• Almacenar resultado.

• El nº de ciclos de reloj varía según las instrucciones.

Depende de :

• Modo de direccionamiento.

• Tipo de operación.

reloj

fase de fetch busqueda de operación almacenar resultado

operandos

2º Cuatrimestre. Juana María López. Hoja 27

(28)

EJECUCION DE LAS INSTRUCCIONES.

Vamos a desglosar una ejecución en:

• Acciones a seguir.

• Descomposición en operaciones elementales.

• Temporización en cronogramas.

EJECUCION DE ADD A, B Formato de la instrucción:

código de operación registro registro

ADD A B

0 7 8 11 12 15

ACCIÓN OPERACIÓN ELEMENTAL SEÑAL DE

CONTROL traer instrucción ( fetch ):

• direccionar

• leer instrucción

- CP → bus direcciones

- cargar registro de direcciones

- ciclo de memoria - lectura

- cargar instrucción en la Unidad de control (UC)

PCT ALE

(desactivar) MEM MR

LI

(desactivar)

2º Cuatrimestre. Juana María López. Hoja 28

(29)

Incrementar CP:

(la UC tiene que decodificar la instrucción y esto es igual a un retardo)

• sumar CP+2

• cargar nuevo CP

- la UC entrega el 2 al bus de datos - selección de operandos y de operación (simultáneamente)

- carga del acumulador

- transferencia bus de datos - carga del nuevo CP

(periodo de reloj) DIT

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

LAC (desactivar) DT

LPC

(desactivar) Realizar suma:

• dar direcciones del banco de registros

• sumar

- la UC genera Dirección A y B

al decodificar la instrucción

-selección de operandos y operación

- carga del acumulador

4 + 4 bits

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

LAC (desactivar)

2º Cuatrimestre. Juana María López. Hoja 29

(30)

Guardar resultado:

• seleccionar A

• cargar registro

- transferencia al bus de datos - la UC genera dirección A - señal de carga

DT 4 bits LR

(desactivar)

Actualizar reg. de estado: LFlags

Contador de fases a 0: RESET

2º Cuatrimestre. Juana María López. Hoja 30

(31)

CRONOGRAMA DE ADD A,B

señales

MEM ALE

MR MW reloj

PCT

LI DIT X0, X1 Y0, Y1 S0, ...S3 LAC

DIRECCIÓN B

LFlags RESET LR DIRECCIÓN A

periodo 1 periodo 2 periodo 3 periodo 4 periodo 5 periodo 6 periodo 7 periodo 8

tiempo AT

LPC

puerto A

registro B puerto B

registro A registro A suma

DT

fase de fetch decodi - actualización de CP operación ficación

bus datos CP suma

2º Cuatrimestre. Juana María López. Hoja 31

(32)

COMENTARIOS AL CRONOGRAMA:

• Dos accesos a memoria necesarios si el bus de datos es de un byte.

• Periodo 4: decodificación de la instrucción.

• Periodos 5 y 6 de actualización de CP. Posible ahorro con sumador distinto.

• Actualización en un periodo menos si el resultado de la ALU no pasara por el acumulador.

• Optimización: Antes del fin de la ejecución, comenzar el fetch de la siguiente.

2º Cuatrimestre. Juana María López. Hoja 32

(33)

Optimización de ADD A, B.

señales

MEM ALE

MR MW reloj PCT

LI DIT X0, X1 Y0, Y1 S0, ...S3 LAC

DIRECCIÓN B

periodo 1 periodo 2 periodo 3 periodo 4 periodo 5 periodo 6 periodo 7 periodo 8

LFlags RESET LR DIRECCIÓN A

AT LPC

puerto A

registro B puerto B

registro A registro A suma

DT

tiempo

bus datos CP suma

2º Cuatrimestre. Juana María López. Hoja 33

(34)

EJECUCION DE

MOV A, [B+DESPLAZAMIENTO]

• Instrucción de transferencia con direccionamiento directo relativo a registro.

• Operación: [B+ Desplazamiento] --> A

• Formato de la instrucción:

ACCIÓN OPERACIÓN ELEMENTAL SEÑAL DE

CONTROL traer instrucción ( fetch ):

• direccionar

• leer instrucción

- CP → bus direcciones

- cargar registro de direcciones

- ciclo de memoria - lectura

- cargar instrucción en la Unidad de Control (UC)

PCT ALE

(desactivar) MEM MR

LI

(desactivar)

código de operación registro registro

MOV A B

0 7 8 11 12 15 16 31

desplazamiento

2º Cuatrimestre. Juana María López. Hoja 34

(35)

incrementar CP:

(la UC tiene que decodificar la instrucción y esto es igual a un retardo)

• sumar CP+4

• cargar nuevo CP

- la UC entrega el 2 al bus de datos - selección de operandos y de operación (simultáneamente)

- carga del acumulador

- transferencia bus de datos - carga del nuevo CP

(retardo de un periodo)

DIT

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

LAC (desactivar) DT

LPC

(desactivar)

2º Cuatrimestre. Juana María López. Hoja 35

(36)

calcular dirección operando fuente:

• selección de sumandos (B+DESPL.)

• sumar

- la UC entrega el

Desplazamiento al bus de datos

- la UC genera la dirección del registro B en Dirección A

- selección de operandos y de operación (simultáneamente)

- carga del acumulador

DIT

4 bits

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

LAC (desactivar)

guardar resultado:

• volcar al bus de datos el operando fuente

• cargar registro

- transferencia al bus de direcciones del contenido del Acumulador

- cargar registro de direcciones

- ciclo de memoria - lectura

- la UC genera la dirección del registro A con Dirección A

- señal de carga del registro

AT ALE

(desactivar) MEM MR

4 bits LR

(desactivar)

contador de fases a 0: RESET

2º Cuatrimestre. Juana María López. Hoja 36

(37)

CRONOGRAMA DE MOV A, [B+Desplazamiento]

DIRECCIÓN A DIRECCIÓN B MEM ALE

MR MW PCT

LI DIT X0, X1 Y0, Y1 S0, ...S3 LAC

bus de datos

suma puerto A

registro B registro A

reloj señales

tiempo

periodo 1 periodo 2 periodo 3 periodo 4 periodo 5 periodo 6 periodo 7 periodo 8 periodo 9 periodo 10 periodo 11

LR RESET

AT LPC DT

bus de datos

CP suma

2º Cuatrimestre. Juana María López. Hoja 37

(38)

Diseño de la unidad de control.

• Consideración de la unidad de control como una

“caja negra”.

• Entradas:

• Código de operación.

• Estado del sistema.

• Señales de Entrada/ Salida.

• Contador de fases.

• Salidas:

• Señales de control.

INSTRUCCIÓN

ESTADO

E/S

UNIDAD DE CONTROL

SEÑALES DE CONTROL CONTADOR

DE FASES

INFORMACIÓN

2º Cuatrimestre. Juana María López. Hoja 38

(39)

Métodos de diseño de la unidad de control.

• Unidad de control mediante lógica cableada.

• Unidad de control microprogramada.

• Cableada

• Método de diseño “lógico”. (diseño digital)

• Circuito más rápido.

• Más laborioso de diseñar. (Métodos CAD).

• Muy difícil de modificar.

• Compensa sólo en algunas máquinas.

• Métodos típicos:

• De la tabla de estados.

• De células de retardo.

• Del contador secuenciador.

2º Cuatrimestre. Juana María López. Hoja 39

(40)

Unidad de control microprogramada.

• Consiste en el almacenamiento de las “palabras” de control en memoria.

• Palabra de control = conjunto de señales de control para un periodo de reloj (= microinstrucción).

Ejemplo: microinstrucciones de ADD A, B

MICROINSTRUCCIONES señal de

control

MEM 0 1 0 0 0 0 0 0

MR 0 1 1 0 0 0 0 0

MW 0 0 0 0 0 0 0 0 ALE 1 0 0 0 0 0 0 0

MR 0 1 1 0 0 0 0 0

LR 0 0 0 0 0 0 0 1 S0...S3 0 0 0 0 1 0 1 0 X0, X1 0 0 0 0 1 0 1 0 Y0, Y1 0 0 0 0 1 0 1 0 LAC 0 0 0 0 1 0 1 0 DT 0 0 0 0 0 0 0 1 AT 0 0 0 0 0 1 0 0 LPC 0 0 0 0 0 1 0 0 DBT 0 0 0 0 0 0 0 0 PCT 1 0 0 0 0 0 0 0 LI 0 0 1 0 0 0 0 0 DIT 0 0 0 0 1 0 0 0

DIR. A 0 0 0 0 0 0 1 1

DIR. B 0 0 0 0 0 0 1 0

LFlags 0 0 0 0 0 0 0 1

RESET 0 0 0 0 0 0 0 1

fetch CP & instrucción

2º Cuatrimestre. Juana María López. Hoja 40

(41)

Unidad de control microprogramada(cont).

• Microprograma: conjunto de microinstrucciones para la ejecución de una instrucción.

• Microcódigo: conjunto de microprogramas que ejecutan las instrucciones.

• En la tabla se ven los microprogramas de fetch (1,2 y 3), actualización del CP (5 y 6) y el de ejecución de la instrucción propiamente dicha (4, 7 y 8).

• Se tratan igual señales de flanco y nivel.

• Ventajas:

• Fácil de depurar ( están en ROM).

• Instrucciones complejas-> basta reservar más memoria.

• Diferentes juegos de instrucciones cambiando los microprogramas. Emulación de máquinas.

2º Cuatrimestre. Juana María López. Hoja 41

(42)

Estructura básica 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 señales de control,

4096 palabras x 150 bits / palabra = 614400 bits= 600 Kb

2.Unir cada instrucción con su microprograma.

3.Secuencia del microprograma.

Los problemas son: tamaño, codificación y secuenciamiento.

2º Cuatrimestre. Juana María López. Hoja 42

(43)

Secuenciamiento en la U. C. Microprogramada

Solución inmediata:

código de operación contador de fases

De esta manera, los microprogramas correspondientes a cada instrucción se encuentran a partir de la posición dada por:

código de operación 000...0000

Resultado:

instrucción 1 instrucción 2

instrucción 127 instrucción 128

32 posiciones microprograma de la instrucción 1

Se desperdicia memoria.

Soluciones: Secuenciamiento explícito e implícito.

2º Cuatrimestre. Juana María López. Hoja 43

(44)

Secuenciamiento Explícito.

• Cada microinstrucción incluye la dirección de la siguiente.

• Los códigos de operación apuntan al comienzo del microprograma.

• Cada microinstrucción incluye: campo de dirección, señales 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 María López. Hoja 44

(45)

Secuenciamiento Explícito (cont)

señales de control dirección

bit de control del multiplexor FORMATO ESTANDAR

DE MICROINSTRUCCIÓN

POSICIONES CORRESPONDIENTES A LOS CÓDIGOS DE OPERACIÓN

0

apuntan a la primera microinstrucción de cada microprograma 0

1 0 0 0 0 0

dirección 000001000100000110010000010000 señales de control indica que es la última microinstrucción del microprograma

(el multiplexor tomará el siguiente código de operación) MUX.

CÓDIGO DE OPERACIÓN

2º Cuatrimestre. Juana María López. Hoja 45

(46)

Secuenciamiento Implícito.

• Consiste en tener ordenadas secuencialmente todas las microinstrucciones de cada microprograma.

• Necesitamos un contador de microprograma que apunte a la microinstrucción en curso.

• Primera microinstrucción de cada microprograma: con una ROM que tiene:

• como direcciones los códigos de operación.

• contiene las posiciones de la primera microinstrucción.

2º Cuatrimestre. Juana María López. Hoja 46

(47)

Secuenciamiento Implícito (cont)

0 0 0 0 0 0 1

señales de control

CÓDIGO DE OPERACIÓN bit de control

de carga del C P

µ

0 0 0 0 0 0 1

0 0 0 0 0 0 1 INCREMENTADOR

señal de carga del registro C Pµ (contador de microprograma)

registro C Pµ +1

00010001100001010001 MEMORIA DE CONTROL

ROM

8 bits

12 bits

microprograma correspondiente a un

código de operación

última microinstrucción

2º Cuatrimestre. Juana María López. Hoja 47

(48)

Codificación de las microinstrucciones.

• Codificando las microinstrucciones se puede ahorrar memoria de control.

• Microprogramación horizontal: no usa codificación.

• Formatos largos pero rápidas.

• Microprogramación vertical: alta codificación.

• Menor tamaño de memoria pero mayor lentitud para decodificación.

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

LR DIR. A DIR. B

MEM MR MW ALE

LPC

FORMATO DE MICROINSTRUCCIÓN

bus datos direcciones ALU registros memoria U. DIR. estado condición

2º Cuatrimestre. Juana María López. Hoja 48

(49)

Codificación de campos de las microinstrucciones

• Se codifican fácilmente las señales excluyentes (sólo una de ellas puede estar activa a un tiempo).

• Ejemplo: señales que vuelcan datos en un bus.

acceso bus de datos

MR DT DIT

Codificación señal de control activa

00 MR 01 DT 10 DIT 11 --

• La microinstrucción no posee las señales de control sino una codificación que indica como generarlas.

• Inconveniente: requiere decodificación.

2º Cuatrimestre. Juana María López. Hoja 49

(50)

Solapamiento de campos.

• Hay instrucciones donde nunca se activan algunas señales.

• Ejemplo: en una instrucción 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 señales.

• Ejemplo: en instrucción de salto, el campo no utilizado se solapa con la dirección de salto.

2º Cuatrimestre. Juana María López. Hoja 50

(51)

Microbifurcaciones condicionales.

• Las instrucciones de salto condicional tienen dos microprogramas posibles.

• Microsalto o microbifurcación: una microinstrucción debe poder elegir entre dos caminos alternativos.

• El mecanismo depende del tipo de secuenciamiento:

• Secuenciamiento explícito:

• Se dan dos direcciones que difieren en un sólo bit.

• Ese bit es el resultado de la comparación con la condición: 1 si se cumple y 0 si no se cumple.

señales de control campo de dirección

dirección

bit de última microinstrucción

bit de condición dos direcciones posibles:

- "dirección" 0 - "dirección" 1

2º Cuatrimestre. Juana María López. Hoja 51

(52)

Microbifurcaciones en el secuenciamiento implícito.

• No se puede incluir un campo de dirección de salto porque ya sería explícito.

• Solución: se solapa el campo de esta dirección con un campo de función excluyente.(Ejemplo: E/S)

0 0 0 0 0 0 1

señales de control bit de control de carga del C Pµ

0 0 0 0 0 0 1

0 0 0 0 0 0 1 INCREMENTADOR

señal de carga del registro C Pµ (contador de microprograma)

registro C Pµ +1 MEMORIA DE CONTROL

CÓDIGO DE OPERACIÓN

ROM 8 bits

12 bits

microprograma correspondiente a un

código de operación

última microinstrucción

dirección/E-S

condición señales de control

DIRECCIÓN

SEÑALES DE E/S decodificador

bit de control de función MUX

REG. DE ESTADO COMPARADOR

2º Cuatrimestre. Juana María López. Hoja 52

(53)

Arranque del computador.

• Los componentes hardware toman un estado aleatorio.

• Se empezaría a ejecutar un programa desconocido al azar.

• Solución: 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 comprobación del computador.

• Rutinas de configuración (periféricos, puertos, interrupciones,..)

• Carga de vectores de interrupción.

• Carga del sistema operativo.

• Carga de controladores de dispositivos.

2º Cuatrimestre. Juana María López. Hoja 53

Referencias

Documento similar

95 Los derechos de la personalidad siempre han estado en la mesa de debate, por la naturaleza de éstos. A este respecto se dice que “el hecho de ser catalogados como bienes de

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

You may wish to take a note of your Organisation ID, which, in addition to the organisation name, can be used to search for an organisation you will need to affiliate with when you

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in