Está en la página 1de 1

La unidad de control es la parte del

procesador que controla el


funcionamiento de la CPU y por tanto de
la computadora. La unidad de control
emite señales de control externas al
procesador para producir el intercambio
de datos con la memoria y los módulos de
E/S. También emite señales de control
internas al procesador para transferir
datos entre registros, hacer que la ALU
ejecute una función concreta, y regular
otras operaciones internas. Concepto

Registro de instrucción.

Indicadores de estado. Entradas a la unidad de control

Señales de interrupción.

En la unidad de control microprogramada


la lógica de la unidad de control se
especifica mediante un microprograma.
Un microprograma consiste en una
secuencia de instrucciones en un lenguaje
de microprogramación. Se trata de
instrucciones muy elementales que
especifican microoperaciones. Descripción

Simplifica el diseño.

Es más económica.

Adaptable a la incorporación de nuevas


instrucciones.
Es más flexible:
Adaptable a cambios de organización,
tecnológicos, etc.

Permite disponer de un juego de


instrucciones con gran número de
instrucciones. Solo hay que poseer una Ventajas
memoria de control de gran capacidad.

Permite disponer de varios juegos de Microprogramada


instrucciones en una misma máquina (
emulación de máquinas).

Permite ser compatible con máquinas


anteriores de la misma familia. Los registros son almacenamiento
temporal interno, en la jerarquía de
Permite construir máquinas con memoria son la forma más rápida (y cara)
diferentes organizaciones pero con un Concepto de almacenar información.
mismo juego de instrucciones.
Son registros que aportan los datos a la
Acumuladores ALU y que reciben la salida de la ALU.
Es más lenta: implica acceder a una
memoria e interpretar las Son registros que pueden guardar tanto
microinstrucciones necesarias para datos como direcciones, sirven como
ejecutar cada instrucción operandos para la ALU o para almacenar
GPR resultados de las operaciones de la misma.
Es necesario un entorno de desarrollo
para los microprogramas. Desventajas Este tipo de registro se utiliza como
Implementación medio para direccionar la la memoria en
Es necesario un compilador de el modo de direccionamiento llamado
microprogramas. Índices direccionamiento indexado.

Este registro que se va actualizando con


las direcciones de memoria de las que se
En una implementación cableada, la
Contador de programa extraen las instrucciones del programa.
unidad de control es esencialmente un
circuito lógico secuencial, una máquina
Es un registro en donde se almacena la
de estados. Sus señales lógicas de entrada
se transforman en un conjunto de señales
Registros instrucción que se está ejecutando. Cada
es cargada en este registro para ser
lógicas de salida, que son las señales de
De instrucción decodificada y posteriormente ejecutada.
control. Descripción
Se usan para guardar exclusivamente
direcciones de memoria. En cualquier
Es más rápida pues carece de memoria
arquitectura se suele utilizar un registro
ROM.
de dirección de memoria para almacenar
Ventajas la dirección del dato que se quiere leer o
No hay que desarrollar microprogramas ni
Cableada De direcciones de memoria escribir.
se ocupa un compilador para los mismos.
Son registros de propósito específico, que
guardan información específica del
El diseño del circuito es más complicado. Auxiliares estado del sistema.
Tipos
Es más cara. Es un registro donde se deja constancia
Desventajas de alguna condición (o bandera) que se
No hay flexibilidad, añadir una dio en la última operación realizada para
instrucción, por ejemplo, implica un poder tenerse en cuenta en operaciones
rediseño de la unidad de control. Registro de estado posteriores.

Un programa es una secuencia de Este registro apunta al TOS de una pila, se


operaciones o comandos denominados emplea para direccionar datos en la pila
instrucciones, que la computadora cuando se ejecutan las instrucciones push
ejecuta una a una. Concepto y pop y cuando se regresa de una
Puntero de Pila subrutina.

Búsqueda de la instrucción en memoria.


Es un registro conectado al bus de datos,
que se utiliza en muchas arquitecturas
Decodificación de la instrucción.
Pasos básicos de ejecución de una para leer o escribir un dato a dicho bus,
instrucción. que a continuación llegará a la memoria o
Ejecución de la instrucción.
Registro de datos de memoria a un puerto de entrada/salida.

Actualización necesaria del contador de


No son registros propiamente, pero se
programa.
usan como tal, tienen valores creados por
hardware de solo lectura. Son habituales
El término "formato" de una instrucción en algunas arquitecturas para almacenar
hace referencia a la manera en que deben un cero o un uno, para utilizar en
interpretarse los bits que constituyen el Registro constante operaciones de comparación.
código de máquina de la instrucción. Concepto José Mauricio Juanes Martínez
En arquitecturas donde los puertos de
entrada y salida no están mapeados en
Código de operación: para especifica la memoria, se utiliza un registro de este
operación a realizar. 2019670212 tipo para especificar el dispositivo (de
Registro de direcciones de entrada y entrada o salida) con el que se establece
Referencia a operandos fuente u origen: salida comunicación.
para especificar los operandos (pueden
ser varios), que son entradas para la
instrucción.
La ALU es la parte del procesador que
Elementos escenciales contiene la lógica para llevar a cabo
Referencia a operandos destino o
resultado: para especificar dónde va el Concepto operaciones aritméticas y lógicas.
resultado
Operaciones que alteran los bits en una
Referencia a la siguiente instrucción: para posición de forma horizontal. Es decir que
indicar que instrucción se ejecutará una los bits de un dato se ven alterado de
vez terminada la instrucción actual. forma independiente unos de otros. Este
tipo de operaciones son operaciones
Descripción lógicas.
ADD -Sumar

SUB - Restar Arquitectura Básica Operaciones de bit hortizontales.


AND

AND - Operación lógica AND


Ejemplos nemotécnicos de instrucciones
de Computadoras Ejemplos de operaciones
OR

XOR
LD - Cargar un dato de la memoria (LOAD)
Formato de Instrucciones
Unidad Aritmético-Lógica NOT
ST - Almacenar un dato en memoria (
Unidad de control
STORE)

Operaciones que alteran los bits de un


En este caso se utilizarían dos parámetros
dato en relación con los demás bits del
para los operandos fuente, otro para el
Descripción mismo.
operando destino y un último para indicar
la siguiente instrucción a realizar. La
ROL: Rotar a la izquierda.
mayor desventaja de este formato es la
cantidad de bits que lo constituyen, pero Operaciones de bit verticales.
ROR: Rotar a la derecha.
serían instrucciones muy versátiles. Cuatro parámetros Tipos de operaciones
SLL: Desplazamiento a la izquierda.
En este caso se asume que la ejecución Ejemplos de operaciones
del programa es secuencial y se omite la
SRL: Desplazamiento a la derecha.
referencia a la siguiente instrucción. Dos
parámetros serán los operandos fuente y
SRA: Desplazamiento aritmético a la
el otro el operando destino. Tres parámetros
derecha.
En este caso en operaciones unarias los
parámetros pueden ser simplemente el
operando fuente y el operando destino. Son las operaciones aritmétocas básicas
En el caso de operaciones binarias (con el que ya conocemos pero en este caso
significado de operaciones de dos calculadas de manera lógica con los bits
operandos) se utiliza uno de los Descripción que se le proporcionan a la ALU.
parámetros fuente también como
Clasificación de instrucciones por ADD: Suma
destino (se sobreescribe). Dos parámetros Operaciones matemáticas.
cantidad de parámetros
En los procesadores basados en SUB: Resta.
acumuladores se utiliza un registro Ejemplos de operaciones
implícito, llamado acumulador, de modo MUL: Multiplicación.
que uno de los operandos fuente es el
acumulador, el otro es el parámetro ( DIV: División.
DATA1) y el operando destino es también
el acumulador. Un parámetro

En los procesadores basados en pilas, los Las computadoras necesitan


operandos están implícitos pues son los almacenamiento adicional al de los
dos elementos superiores (o el superior en registros que no son suficientes para la
operaciones unarias) son los operandos manipulación de informacióny es por eso
fuente y el operando destino es la parte que se utilizan dos tipos de dispositivos,
superior de la pila donde se coloca el los dispositivos de memoria y los de
resultado. Cero parámetros Concepto almacenamiento

El repertorio de operaciones: cuántas y Dispositivo físico, generalmente


qué operaciones considerar, y cuán electrónico, en el que se almacenan datos
complejas deben ser. e instrucciones para recuperarlos y
Definición utilizarlos posteriormente. (RAE).
Los tipos de datos: los distintos tipos de
datos con los que se efectúan operaciones. Los dispositivos de memoria suelen ser
semiconductores.
Los formatos de instrucciones: longitud
de la instrucción (en bits), número de Almacenan la información de manera
direcciones, tamaño de los distintos electrónica.
Aspectos fundamentales de diseño de un Memoria
campos, etc.
conjunto de instrucciones
Generalmente guardan información
Los registros: número de registros del dinámica como variable de un programa.
procesador que pueden ser referenciados
por las instrucciones, y su uso. Sistema de memoria Se comunican con el procesador a través
de los buses del sistema.
El direccionamiento: el modo o modos de
Características
direccionamiento mediante los cuales Los dispositivos de memoria son más
puede especificarse la dirección de un rápidos que los de almacenamiento.
operando.
Son más costosos que los dispositivos de
En términos de la acción del procesador, almacenamiento.
las operaciones de transferencia de datos
son quizá las más sencillas. Si es una La RAM es un ejemplo de memoria.
transferencia entre registros solo será una Tipos
operación interna, complicándose algo El procesador y la memoria se encuentran
más uno (o más) de os operandos está en conectadas a través de un bus de datos y
memoria. Descripción un bus de direcciones.

Transfiere una palabra o un bloque desde


un origen a un destino Move (Transferir) Las unidades de almacenamiento serán
todos aquellos dispositivos, internos o
Transfiere una palabra desde el externos, que almacenan la información
Transferencia de datos
procesador a la memoria Store (Guardar) Definición de un sistema dado.

Transfiere una palabra desde la memoria Los dispositivos de almacenamiento


al procesador Load (Cargar) guardan la información en un medio físico
o electrónico.
Transfiere una palabra de ceros al destino Clear (Poner a 0) Ejemplos típicos de este tipo
Almacenamiento Se comunican con el procesador como un
Transfiere una palabra de unos al destino Set (Poner a 1) periférico más.

Transfiere una palabra desde un origen a Almacenan información más estática que
la cabecera de la pila Push (apilar) las memorias.

Transfiere una palabra desde la cabecera Características Un ejemplo de sispositivo de


de la pila a un destino Pull (desapilar) almacenamiento es el disco duro (DD) o el
disco de estado sólido (SSD).
La mayoría de las máquinas proporcionan
las operaciones aritméticas básicas para Los dispositivos de almacenamiento son
números enteros con signo y algunas más lentos que los de memoria.
arquitecturas para números en punto
flotante. La ejecución de una instrucción Son más baratos que los dispositivos de
aritmética, además de la operación de la memoria.
ALU, puede implicar operaciones de
transferencia de datos para ubicar los
operandos como entradas a la ALU, y para
almacenar la salida de la ALU. Descripción

Calcula la suma de dos operandos Add (sumar)

Calcula la resta de dos operandos Substract (restar)


Aritméticas
Calcula la multiplicación de dos
operandos Multiply (multiplicar)

Calcula el cociente de dos operandos Divide (dividir)


Ejemplos típicos de este tipo
Sustituye el operando por su valor
absoluto Absolute (valor absoluto)

Cambia el signo del operando Negate (opuesto)

Suma 1 al operando Increment (incrementar)

Resta 1 al operando Decrement (decrementar)

La mayoría de las máquinas también


proporcionan diversas operaciones para
manipular bits individuales mediante Instrucciones
operaciones booleanas. Además de las
operaciones lógicas bit a bit, la mayoría de
las máquinas ofrecen diversas funciones
de desplazamiento y rotación. Al igual
que en las aritméticas pueden involucrar
operaciones de transferencia de datos. Descripción

Realiza la operación lógica AND AND

Realiza la operación lógica OR OR

Realiza la operación lógica NOT NOT

Realiza la operación lógica XNOR XNOR Lógicas

Comprueba una condición especificada y


fija las banderas del registro de estado en
función del resultado Test (comprobar)

Realiza la comparación lógica o


aritmética de dos operandos y fija las
Ejemplos típicos de este tipo
banderas del registro de estado en
función del resultado Compare (comparar)

Fijan banderas en especial de tipo


especial como gestión de interrupciones,
control de protecciones, control de
temporización... Set control variables

Desplaza el operando (a izquierda o


derecha) introduciendo valores
constantes por el otro extremo Shift (Desplazar)

Desplaza el operando (a izquierda o


derecha) de forma cíclica Rotate (Rotar)

Son instrucciones que cambian el flujo de


operación de un programa, para lo que se
modifica el contador de programa. Las
instrucciones de salto permiten realizar
toma de decisiones, pues en el caso de los
saltos condicionales se revisa una
condición y en función de eso se seguirá
ejecutando el código secuencialmente o
se cambiará el contador de programa y se
ejecutará código en otra parte (son la base Tipos de Instrucciones
de las estructuras de control de los
lenguajes de alto nivel). También existen
instrucciones que involucran
procedimientos (o subrutinas). Es decir,
un código que se puede llamar, ejecutar y
regresar a seguir ejecutando el código que
está justo después de la llamada. El uso de
subrutinas se da por economizar el código
y por la modularidad que proporciona. Descripción

Carga el contador de programa con la


dirección especificada Jump

Comprueba una condición especificada y


dependiendo del resultado carga el
contador de programa con la dirección
especificada o no Conditional Jump

Modifica el contador de programa en una


cantidad especificada Branch

Comprueba una condición especificada y


dependiendo del resultado modifica el Control de flujo
contador de programa con una cantidad
especificada o no Conditional branch

Guarda la información de control del


programa (como el contador de
programa) en una posición conocida y
carga el contador de programa con la
dirección especificada Jump to subroutine

Regresa a una posición conocida del


programa sustituyendo la información de
control del programa (como el contador
de programa) por los almacenados en una
Ejemplos típicos de este tipo
posición conocida Return (retorno)

Capta el operando de la dirección


especificada y lo ejecuta como una
instrucción sin modificar el contador de
programa Execute (ejecutar)

Incrementa el contador de programa de


manera que se salte la instrucción
siguiente Skip

Comprueba una condición especificada y


dependiendo del resultado incrementa el
contador de programa de manera que se
salte la instrucción siguiente o no Conditional skip

Detiene la ejecución del programa Halt (parar)

Detiene la ejecución del programa,


comprueba de forma repetitiva una
condición especificada y reanuda el
programa cuando se cumple Wait (esperar)

No se ejecuta ninguna operación, pero la


ejecución del programa continúa No operation

Existen aproximaciones muy diversas,


incluyendo entradas/salidas programadas
aisladas, entradas/salidas programadas
asignadas en memoria, DMA, y el uso de
un procesador de E/S. Este tipo de
implementaciones requerirá
instrucciones especiales de E/S. Cuando
las entradas/salidas se encuentran
mapeadas en memoria, bastará con
utilizar instrucciones de transferencia de
datos, tal y como se haría con la memoria. Descripción

Transfiere datos desde un puerto o


dispositivo de E/S a un destino Input (entrada)
Entrada/Salida
Transfiere datos desde un origen a un
puerto o dispositivo de E/S Output (salida)
Ejemplos típicos de este tipo
Transfiere instrucciones al procesador de
E/S para iniciar operaciones de E/S Start I/O (iniciar E/S)

Transfiere información de estado desde el


sistema de E/S al destino Test I/O (comprobar E/S)

Existen instrucciones que son muy


especificas de una arquitectura concreta
como pueden ser las instrucciones de
control del sistema. Descripción

Traduce los valores de una sección de


memoria basándose en una tabla de Conversión
correspondencia Translate (traducir)
Ejemplos típicos de este tipo
Convierte el operando de un formato a
otro (por ejemplo de BCD a binario) Convert (convertir)

La referencia a un operando en una


instrucción contiene o bien su valor (
inmediato) o una referencia a la dirección
del operando. El modo de referenciar los
operandos es lo que se conoce como
modo de direccionamiento.Los modos de
direccionamiento nos indican como se
obtienen los operandos de una
instrucción. Descripción

En este tipo de direccionamiento el


operando va implícito, es decir está
definido en la propia instrucción y no
hace falta referenciarlo en modo alguno. Implícito

Es uno de los direccionamientos más


sencillo, en el que el operando está en
realidad presente en la propia instrucción. Inmediato

Modo de direccionamiento sencillo en el Direccionaiento


que la dirección del operando está en el
campo de direcciones. Directo

El campo de direcciones apunta a la


posición que contiene la dirección del
operando. Indirecto

El direccionamiento de registros es similar


al directo. La única diferencia es que el
Métodos de direccionamiento más
campo de direcciones referencia un
comúnes
registro en lugar de una dirección de
memoria principal. Registro

Es similar al direccionamiento indirecto,


pero en este caso el campo de direcciones
apunta a la posición que contiene la
dirección del operando. Indirecto con registro

Un modo muy potente de


direccionamiento combina las
posibilidades de los direccionamientos
directo e indirecto con registro.

En este caso el registro referenciado


implícitamente es el contador de
programa. Relativo
Con desplazamiento
Es igual que el direccionamiento registro
base, solo que en este caso el registro
referenciado contiene un índice (es decir
el desplazamiento) y el otro campo de
direcciones contiene una dirección de Tipos
memoria. Indexado

En este caso el registro referenciado


contiene una dirección de memoria, y el
otro campo de dirección contiene un
desplazamiento Registro base

También podría gustarte