Unidad de Control Flashcards
(38 cards)
Que hace la U. de Control
busca y ejecuta instrucciones
Representación de las Instrucciones
16 bits.. cod operacion, operando, etc
Tipos de Instrucciones
procesamiento, almacenamiento, movimiento de datos y control
Cantidad de Direcciones
4.. pero mejor 3, 2, 1
Tipos de Operandos
direcciones, numeros, caracteres, datos lógicos (pentium, power pc)
Tipos de Operaciones
- 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)
TIPOS DE OPERACIONES: Transferencia de Datos
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.
TIPOS DE OPERACIONES: Aritméticas
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.
TIPOS DE OPERACIONES: Lógicas
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.
TIPOS DE OPERACIONES: Conversión
Las operaciones de conversión son las que permiten modificar el formato de los datos. Por ejemplo, la conversión de binario a BCD.
TIPOS DE OPERACIONES: I/O
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.
TIPOS DE OPERACIONES: Control del Sistema
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.
TIPOS DE OPERACIONES: Transferencia del Control
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
TIPOS DE OPERACIONES: Transferencia del Control: Instrucciones de Bifurcación:
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.
TIPOS DE OPERACIONES: Transferencia del Control: Instrucciones de Salto:
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).
TIPOS DE OPERACIONES: Transferencia del Control: Instrucciones de Llamado a Subrutinas:
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.
Tipos de Direccionamiento
- Inmediato.
- Directo.
- Indirecto.
- por Registro.
- Indirecto por Registro.
- por Desplazamiento:
- Relativo.
- por Registro Base.
- Indexado:
- preindexado.
- postindexado.
- por Pila.
Tipos de direccionamiento:
Inmediato
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.
Tipos de direccionamiento:
Directo
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.
Tipos de direccionamiento:
Indirecto
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.
Tipos de direccionamiento:
A Registros
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.
Tipos de direccionamiento:
Indirecto por Registros
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.
Tipos de direccionamiento:
Desplazamiento
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.
Tipos de direccionamiento:
Desplazamiento:
Relativo
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.