Unidad de Control Flashcards

1
Q

Que hace la U. de Control

A

busca y ejecuta instrucciones

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Representación de las Instrucciones

A

16 bits.. cod operacion, operando, etc

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Tipos de Instrucciones

A

procesamiento, almacenamiento, movimiento de datos y control

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cantidad de Direcciones

A

4.. pero mejor 3, 2, 1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Tipos de Operandos

A

direcciones, numeros, caracteres, datos lógicos (pentium, power pc)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Tipos de Operaciones

A
  • Transferencia de datos (MOVE, STORE, LOAD)
  • Aritméticas (ADD, SUBSTRACT, MULTIPLY)
  • Lógicas (AND, OR, NOT)
  • de Conversión (TRANSLATE, CONVERT)
  • de E/S (INPUT, OUTPUT, START i/O)
  • de Control del sistema
  • de Transferencia del control (JUMP, WAIT, HALT)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

TIPOS DE OPERACIONES: Transferencia de Datos

A

Especificando lo siguiente:
- Localización de los operandos fuente y destino
- Longitud de los datos a transferir.
- Modo de direccionamiento para cada operando.
Cuando hay al menos 1 dato en memoria (y no en la UCP):
1 - Calcular la dirección de memoria.
2 - Si la dirección se refiere a memoria virtual, se debe trasladar el dato a la zona de memoria real.
3 - Determinar si el ítem referenciado está en la cache.
4 - Si no está, buscarlo en el módulo de memoria correspondiente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

TIPOS DE OPERACIONES: Aritméticas

A

Otras operaciones posibles, incluyen una variedad de instrucciones de operando único, por ejemplo:
- Absolute: toma el valor absoluto del operando.
- Negate: cambia el signo del operando.
- Increment: suma una unidad al operando.
- Decrement: resta una unidad al operando.
La ejecución de una operación aritmética puede incluir operaciones de transferencia de operandos a la unidad aritmética, y entregar la salida de la misma.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

TIPOS DE OPERACIONES: Lógicas

A

Muchas máquinas proveen una variedad de operaciones para la manipulación de los bits de una palabra, o de otras unidades direccionables, todas basadas en operaciones Booleanas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

TIPOS DE OPERACIONES: Conversión

A

Las operaciones de conversión son las que permiten modificar el formato de los datos. Por ejemplo, la conversión de binario a BCD.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

TIPOS DE OPERACIONES: I/O

A

Estas ya han sido indicadas en el capítulo anterior, y como sabemos, incluyen una cierta variedad de aproximaciones, que incluyen la E/S programada, la E/S por DMA, hasta el uso de un procesador de E/S.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

TIPOS DE OPERACIONES: Control del Sistema

A

Las instrucciones de control del sistema son generalmente privilegiadas, por cuanto solo pueden ejecutarse en algún estado especial de la ejecución de un programa, estas instrucciones son reservadas para su utilización en los sistemas operativos. Como ejemplo, algunas de estas instrucciones pueden alterar el contenido de algunos registros de control, así como pueden modificar los códigos de protección del
almacenamiento.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

TIPOS DE OPERACIONES: Transferencia del Control

A

Encargadas de modificar la secuencia del mismo, o sea hacer que se busque la próxima instrucción en otro lugar de la memoria. En estas instrucciones la acción de la unidad de control, es la de actualizar el contenido del contador de programa, a fin de que apunte a la dirección necesaria.
Las operaciones de transferencia de control más comunes son:
- Bifurcación
- Salto
- Llamado a Subrutina

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

TIPOS DE OPERACIONES: Transferencia del Control: Instrucciones de Bifurcación:

A

El caso más general, es el salto condicionado o condicional, que se realiza cuando se cumple una cierta condición, en caso contrario, o sea que la condición no se cumple, se sigue con el proceso normal del programa.
El salto involucra una actualización del contenido de algunos registros, en especial el contador de programa. Para la generación de la condición, se utilizan dos métodos: primero, en algunas máquinas se provee una condición de uno o varios bits, que se predisponen como resultado de alguna operación.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

TIPOS DE OPERACIONES: Transferencia del Control: Instrucciones de Salto:

A

Otra forma común de transferencia del control, es dado por la instrucción de salto, la cual incluye una dirección implícita. En general el salto consiste en pasar por alto una instrucción, lo cual significa que la dirección de la próxima instrucción es el contenido del contador de programa, más una unidad.
Debido a que la instrucción de salto no precisa contener direcciones, es posible incorporarle otras condiciones en el campo correspondiente a la(s) misma(s).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

TIPOS DE OPERACIONES: Transferencia del Control: Instrucciones de Llamado a Subrutinas:

A

Posiblemente una de las innovaciones más importantes en el desarrollo de los programas, sea la incorporación de las subrutinas, las cuales son un programa autosuficiente, incorporables a un programa mayor. En cualquier punto del programa mayor o principal, es posible invocar (llamar) a una subrutina, con lo cual se transfiere el control a la misma, y se lo devuelve al programa mayor cuando se concluye su
ejecución.
El mecanismo de la subrutina, implica dos instrucciones básicas, el llamado a la subrutina y el retorno al programa principal. Una instrucción de llamado o de retorno, es una instrucción de bifurcación o de salto que transfiere el control a otra dirección.

17
Q

Tipos de Direccionamiento

A
  • Inmediato.
  • Directo.
  • Indirecto.
  • por Registro.
  • Indirecto por Registro.
  • por Desplazamiento:
    • Relativo.
    • por Registro Base.
    • Indexado:
      • preindexado.
      • postindexado.
  • por Pila.
18
Q

Tipos de direccionamiento:

Inmediato

A

Es la forma más simple, en la cual el contenido del campo de dirección es directamente el operando a emplear. Es utilizado principalmente para definir
constantes, o determinar valores iniciales para las variables.
OPERANDO = A
La ventaja que ofrece éste modo, es que no se hace referencia a memoria para obtener el operando, con lo cual se acelera el cálculo en aquellos casos donde esa
constante o valor inicial son utilizados reiterativamente.
La desventaja es que el tamaño del número es restringido a la capacidad del campo de dirección, el cual en algunos casos es pequeño comparado con longitud de palabra.

19
Q

Tipos de direccionamiento:

Directo

A

Esta es la forma más simple y directa, dado que el contenido del campo de dirección es directamente la dirección efectiva del operando en la memoria.
DE = A
Esta técnica fue común en las primeras computadoras, y aún se lo utiliza en varias familias de pequeñas computadoras. Su única y limitativa desventaja, es que solo se puede direccionar memorias de poca capacidad.

20
Q

Tipos de direccionamiento:

Indirecto

A

Dado que la principal desventaja del direccionamiento directo es que el campo de dirección es de longitud inferior al de una palabra, lo cual limita la capacidad
de direccionar, en el modo indirecto, el campo de dirección en realidad indica una palabra de memoria donde está contenida la dirección completa (de una palabra) del operando.
DE = (A)
La ventaja del método es obviamente el que con una longitud de N bits es posible direccionar 2N posiciones de memoria, pero con la desventaja de requerir dos accesos a memoria para obtener el operando.

21
Q

Tipos de direccionamiento:

A Registros

A

Este modo es similar al direccionamiento directo, solo que se hace referencia a un registro en vez que a una posición de memoria.
DE = R
Normalmente, un campo de direcciones que hace referencia a registros, es de solamente tres o cuatro bits, dado que se deben referenciar hasta 8 o 16 registros de propósitos generales.
La ventaja es que no se hace referencia a memoria para buscar un operando, y solo se necesita un pequeño campo de dirección. La desventaja es que el espacio de direcciones es extremadamente limitado.

22
Q

Tipos de direccionamiento:

Indirecto por Registros

A

Este modo es completamente análogo al direccionamiento indirecto, solo que en vez de acceder a memoria para hallar la dirección, la misma se encuentra en un registro de la UCP.
DE = (R)
Las ventajas y limitaciones son análogas a las del direccionamiento indirecto.

23
Q

Tipos de direccionamiento:

Desplazamiento

A

Es el más poderoso modo de direccionamiento, que combina las ventajas del direccionamiento directo con las direccionamiento indirecto por registros.
DE = A + (R)
Requiere que haya dos campos de direccionamiento, uno referente al registro a utilizar y otro al desplazamiento a agregar al contenido de ese registro.

24
Q

Tipos de direccionamiento:
Desplazamiento:
Relativo

A

En este caso, la referencia implícita es el contado de programa (CP), a cuyo contenido es sumado el contenido del campo de dirección para producir la DE.
Normalmente el contenido del campo de dirección es tratado como un número en complemento a dos, por lo que el desplazamiento puede ser hacia adelante o hacia atrás.
DE = (CP) + (A)
La dirección efectiva es función de la dirección de la instrucción, dada por el CP, por tanto esto permite una efectiva economía de bits en el direccionamiento.

25
Q

Tipos de direccionamiento:
Desplazamiento:
Registros Base

A

En este caso, el registro referenciado contiene la dirección de memoria, y el campo de dirección de la instrucción, contiene el desplazamiento, en forma tal que:
DE = (R) + (A)
No solo reúne las ventajas del modo anterior, sino que también permite direccionar todo un programa a partir de una cierta dirección de base, de aquí el nombre de registro base, lo cual permite la carga simultánea de varios programas, cada uno de los cuales es referenciado mediante un registro.

26
Q

Tipos de direccionamiento:
Desplazamiento:
Indexado (post y pre indexado)

A

La interpretación del término indexación es la siguiente: El campo de dirección hace referencia a una dirección de memoria, y el registro referenciado contiene un desplazamiento positivo a partir de ésta dirección. (Esto es justamente lo contrario
del direccionamiento por registro base)
Si bien la forma de calcular la dirección es la misma, en este caso el registro, generalmente llamado registro de índice, incrementa en una unidad cada vez que es
referenciado, o sea que es:
DE = A + (R)
(R) = (R) + 1
En algunas máquinas, es posible emplear conjuntamente el direccionamiento indirecto y el indexado, pasando ésta forma a tener el nombre de postindexado. El cálculo de la dirección efectiva es:
DE = (A) + (R)
El método preindexado, consiste en que la indexación es efectuada antes de calcular la dirección:
DE = (A + (R))
Es así que este tipo de direccionamiento tiene gran utilidad para referenciar matrices o conjuntos de datos ubicados ordenadamente en memoria, así como para
guardar sus resultados.

27
Q

Tipos de direccionamiento:

Pila

A

Tal como antes definimos, la pila es una matriz lineal de posiciones de memoria, la cual es direccionada mediante indicación de la primera o la última, según
sea la convención adoptada. Cada vez que se introduce un dato, toda la pila se mueve un
lugar, dando cabida en el alojamiento de entrada al nuevo dato, así como cada vez que se referencia, extrayendo un dato, la pila se mueve dejando accesible el almacenado inmediatamente antes del extraído.
Por tanto, la manera práctica de hacer esto, no es mover todos los datos, sino tomar una cierta cantidad de posiciones de memoria y un puntero de pila, el que apunta siempre a la última casilla ocupada. Cada vez que se introduce un dato el puntero cambia a la casilla recién ocupada, y cada vez que se extrae uno, el puntero vuelve atrás. El valor del puntero de la pila se mantiene en un registro, por lo que el direccionamiento de la pila es en realidad un direccionamiento relativo al contenido del mismo. También ésta es una forma implícita de direccionamiento, por lo que no es necesario hacer referencia a memoria en el campo de direcciones, sino que siempre se opera en el registro de puntero de pila.

28
Q

Longitud de una Instrucción

A

Normalmente la longitud de la instrucción es igual al ancho del bus, aunque se implementan sistemas en los cuales una es múltiplo de la otra. En caso que la
instrucción sea de mayor longitud que el bus, la transferencia de la misma desde la memoria se hará en más de un acceso. Mientras que cuando ocurre lo contrario, se desperdicia capacidad.
Lo lógico es que todo guarde una armónica proporción, entonces la longitud de una instrucción deberá ser igual a la longitud de una palabra, interpretando como tal a la mínima unidad direccionable en memoria, y el ancho del bus deberá ser igual a esta longitud.

29
Q

Ubicación de los Bits

A

Los siguientes factores interrelacionados determinan la cantidad de bits dedicados al direccionamiento:

  • Cantidad de modos de direccionamiento
  • Cantidad de operandos
  • Registros y memoria
  • Cantidad de conjuntos de registros
  • Rango de direcciones
  • Granularidad de la dirección
30
Q

Micro-Operaciones

A

Hemos visto que un ciclo de instrucción en realidad está formado por una cierta cantidad de eventos, en primer lugar, por un sub-ciclo de búsqueda y por un subciclo de ejecución, que a su vez están compuestos por una serie de pequeñas operaciones, tales como la habilitación de compuertas para el envío de señales, la espera por una respuesta de otro módulo (por ejemplo, el de memoria), la remisión de señales de desplazamiento, el traslado de la información, etc.
Este conjunto de ordenes, necesarias para el cumplimiento de un ciclo de instrucción, puede ser tomado como formado por un conjunto de micro-operaciones.

31
Q

Registros Involucrados en el proceso de la Instrucción

A
  • Registro de direcciones de memoria (MAR): Conectado a las líneas del bus de direccionamiento y especifica la dirección de memoria donde se debe escribir o leer.
  • Registro Buffer de memoria (MBR): Está conectado a las líneas del bus de datos, conteniendo el valor a ser almacenado o el último valor leído en memoria.
  • Contador de Programa (PC): Retiene la dirección de la próxima instrucción a ser buscada.
  • Registro de Instrucciones (IR): Retiene la última instrucción buscada.
32
Q

CICLO DE INSTRUCCIÓN:

Sub-Ciclo de Búsqueda

A

1 - La Dirección de la próxima instrucción a ser ejecutada es tomada del PC, y entregada al bus de direcciones, al cual está conectado el MAR.
2 - Se emite desde la Unidad de Control al mando LEER, el que es entregado al bus de control. Es ubicada la dirección en la memoria y el contenido de la correspondiente posición es entregado al MBR, el cual está conectado al bus de datos.
3 - Se suma una unidad al contenido del PC.
4 - Se pasa el contenido del bus de datos al IR.
Estos eventos, en cuanto no se interactúen entre sí, pueden realizarse al mismo tiempo, es así que podemos escribir simbólicamente:
t1: MAR

33
Q

CICLO DE INSTRUCCIÓN:

Sub-Ciclo Indirecto

A

t1: MAR

34
Q

CICLO DE INSTRUCCIÓN:

Sub-Ciclo de Interrupción

A

t1: MBR

35
Q

CICLO DE INSTRUCCIÓN:

Sub-Ciclo de Ejecución

A

Los sub-ciclos de búsqueda, el indirecto y el de interrupción, son simples y predecibles, por cuanto cada uno implica una pequeña secuencia fija de microoperaciones, y en algunos casos, la misma micro-operación es repetida varias veces.
En el sub-ciclo de ejecución en cambio, si la máquina tiene N códigos operativos distintos, hay N secuencias de micro-operaciones diferentes.

36
Q

Ciclo de Instrucción

A

Suponemos tener un nuevo registro de dos bits, denominado Código del Ciclo de Instrucción (ICC), el cual indica el estado de la UCP para cada porción del ciclo que se está ejecutando. Estos estados corresponden a:
00: Búsqueda
01: Indirecto
10: Ejecute
11: Interrupción
Al final de cada uno de los cuatro sub-ciclos, ICC es cargado apropiadamente. El ciclo indirecto siempre es seguido por el de ejecución. El de interrupción siempre es seguido por el de búsqueda y finalmente para ambos, el de búsqueda y el de ejecución, el próximo sub-ciclo depende del estado del sistema.

37
Q

Funcionamiento de UCP

A
  • Secuenciamiento: La Unidad de control hace que la UCP vaya pasando por una secuencia de micro-operaciones, en la secuencia apropiada, basada en el programa que se está ejecutando.
  • Ejecución: La unidad de control hace que cada micro-operación sea cumplida.
38
Q

Señales de Control - Entrada y Salida de la UC (UCP)

A

Las entradas son:

  • Reloj: La unidad de Control provee una o una serie de micro-operaciones en cada pulso de reloj, por tanto esto es denominado “ciclo del procesador” o “ciclo de reloj”.
  • Registro de Instrucciones: El código operativo de la presente instrucción es utilizado para determinar cuales son las micro-operaciones a llevar a cabo durante el ciclo de ejecución.
  • Banderas: Estas son señales necesarias para que la unidad de control determine el estado de la UCP y de los resultados anteriormente obtenidos en la ALU. Por ejemplo, en la instrucción ISZ, la unidad de control debe incrementar al PC si la bandera “0” está activa.
  • Señales de Control del Bus de Control: Un sector del bus de control debe proveer las señales de solicitud de interrupción y de reconocimiento.

Las salidas son:
- Señales de control para la UCP: de las cuales hay dos tipos, las que provocan el movimiento de datos entre registros, y las que activan funciones
específicas de la ALU.
- Señales de control para el bus de control: Que también son de dos tipos, las que son destinadas a la memoria y las que actúan sobre los módulos de E/S