Está en la página 1de 12

1.- UNIDAD DE CONTROL.

La unidad de control el elemento que se encarga de sincronizar las acciones


que realiza cada una de las unidades funcionales de un computador. Las
funciones de la unidad de control son básicamente dos.

 Interpretación de las instrucciones: La unidad de control debe ser capaz


de decodificar los códigos de operación y los modos de direccionamiento
de las instrucciones y actuar de forma diferente para cada uno de ellos.

 Secuenciamiento de las operaciones: La unidad de control se encarga


de la temporización de las distintas operaciones necesarias para la
ejecución de cada instrucción. También debe controlar el
secuenciamiento de las instrucciones en función de la evolución del
registro contador de programa.

La función principal de la unidad de control de la UCP es dirigir la secuencia de


pasos de modo que la computadora lleve a cabo un ciclo completo de
ejecución de una instrucción, y hacer esto con todas las instrucciones de que
conste el programa. Los pasos para ejecutar una instrucción cualquiera son los
siguientes:

I. Ir a la memoria y extraer el código de la siguiente instrucción (que


estará en la siguiente celda de memoria por leer). Este paso se llama
ciclo de fetch en la literatura computacional (to fetch significa traer, ir
por).

II. Decodificar la instrucción recién leída (determinar de que instrucción


se trata).

III. Ejecutar la instrucción.

IV. Prepararse para leer la siguiente casilla de memoria (que contendrá


la siguiente instrucción), y volver al paso 1 para continuar.
La unidad de control ejecutará varias veces este ciclo de cuatro “instrucciones
alambradas” a una enorme velocidad.

Se llama así a estas instrucciones porque no residen en memoria, ni fueron


escritas por ningún programador, sino que la maquina las ejecuta directamente
por medios electrónicos, y lo hará mientras este funcionando (mientras este
encendida) en una computadora es a razón de cientos de miles (o incluso
millones) de veces por segundo.

2.- MODOS DE DIRECCIONAMIENTO DENTRO DEL ESQUEMA DEL


PROCESADOR.

Es un mecanismo que permite conocer la ubicación de un dato o instrucción y


su principal objetivo es reducir el espacio ocupado en memoria por las
instrucciones, permitir la reubicación del código y facilitar el manejo de las
estructuras de datos dentro del computador.

Las computadoras utilizan técnicas de modo de direccionamiento con el fin de


acomodar una o ambas de las siguientes provisiones:

1. Dar versatilidad de programación al usuario proporcionando facilidades


tales como indicadores, contadores, índices y relocalizadores de
programa.
2. Reducir el número de bits en el campo de dirección de la instrucción.

Los modos de direccionamiento se pueden dividir en siete grandes grupos que


son:
1. Direccionamiento a registro.
2. Direccionamiento inmediato.
3. Direccionamiento directo.
4. Direccionamiento indirecto a registro.
5. Direccionamiento relativo a base.
6. Direccionamiento indexado directo.
7. Direccionamiento indexado a base.

El procesador determina cual de los siete modos de direccionamiento se usará


mediante la examinación del contenido del campo de modo dentro de la
instrucción. El lenguaje ensamblador establece el campo del modo basado en
la forma en como aparecen los operandos en el programa fuente. Antes de
entrar en detalle es necesario que conozcamos los registros internos de un
procesador de 16 bits, como el que se muestra en la figura.

3.- REGISTROS DEL PROCESADOR.

En microprocesadores, un registro es una porción de memoria ultrarrápida, de


poca capacidad e integrado al microprocesador, que permite almacenar y
acceder datos usados frecuentemente. Se emplean para aumentar la velocidad
de ejecución de los programas.
La mayoría de las arquitecturas de computadora emplean registros, moviendo
datos desde la memoria principal hacia los registros, se opera sobre éstos, y el
resultado es movido nuevamente a la memoria principal.

Existen múltiples tipos de registros como ser:

 Registro de memoria: almacenan exclusivamente direcciones de


memoria.
 Registro de datos: almacenan números enteros.
 Registro de propósito general (GPR o General Purpose Registers):
permiten almacenar tanto datos como direcciones. La mayoría de las
computadoras modernas emplean este tipo de registros.
 Registro de coma flotante: almacenan datos en formato de coma
flotante.
 Registro de constantes: almacenan datos constantes (que no se
cambian).
 Registro de propósito específico: almacenan información específica
sobre el estado del sistema, como el puntero de pila o el registro de
estado.
3.1.- Registros de uso general

Existen 4 registros denominados AX, BX, CX y DX que en realidad tienen


asignados usos característicos, aunque pueden ser utilizados a discreción para
cualquier cosa que necesitemos.

 AX es denominado acumulador; suele contener uno de los operandos


que intervienen en las operaciones aritméticas y lógicas, y después de
esta, el resultado de la operación. En general las instrucciones que
trabajan con este registro (o su mitad inferior) tienen un microcódigo más
simple que la misma instrucción ejecutada con otro registro.
 BX es el registro base, suele contener la dirección de inicio de una tabla
de valores.
 CX es denominado contador. Las instrucciones de bucle (LOOP) utilizan
este registro como contador.
 DX es un registro de datos, multiuso. Se utiliza en operaciones de
multiplicación y división junto con AX. En operaciones de entrada/salida
de puertos IN/OUT, su mitad inferior DL, contiene el número de puerto
( 2.5).

Aunque estos cuatro registros son de 16 bits (como los 10 restantes) [6], en
caso necesario pueden ser utilizados en dos mitades (nibbles), "High" y "Low",
de 8 bits, con lo que puede considerarse que existen 12 registros de uso
general (no simultáneos), los anteriores y sus mitades: AH; AL; BH; BL; CH;
CL; DH y DL.

3.2.- Registros de segmento

Se dispone de cuatro registros que sirven para contener las direcciones de


otros tantos segmentos (zonas de 64 KB de memoria). Utilizándolos en
conjunción con otros registros que señalan las direcciones concretas dentro de
estos segmentos (los desplazamientos ), permiten manejar la totalidad de la
memoria direccionable (el bus de direcciones es de 20 bits).
 Segmento de código CS ("Code segment"). Señala la dirección del
segmento de código del programa que se está ejecutando.
 Segmento de datos DS ("Data segment"). Señala la dirección del
segmento de datos del programa en ejecución.
 Segmento de pila SS ("Stack segment"). Señala la dirección del
segmento donde está la pila del programa.
 Segmento extra ES ("Extra segment"). Es un segmento auxiliar a los
anteriores, se utiliza para señalar espacio extra en alguno de los
segmentos o para almacenar momentáneamente direcciones
intermedias.
Puede ocurrir que programas pequeños utilicen el mismo segmento para el
código, los datos y la pila.

3.3.- Registros de puntero

Son 5 registros destinados a contener direcciones; estas direcciones son


desplazamientos dentro de los segmentos indicados por los registros de
segmento.

 El primero, denominado indistintamente puntero de instrucción IP


("Instrucción pointer") y contador de programa PC ("Program counter"),
indica el desplazamiento (dentro del segmento de código CS) de la
próxima instrucción a ejecutar.
 El puntero de pila SP ("Stack Pointer"), señala el desplazamiento del
final de la pila dentro del segmento de pila SS. En caso necesario la pila
puede crecer a partir de este punto, de forma que por ejemplo, una
nueva invocación de función creará un nuevo registro de activación que
comenzará en este punto.
 El puntero base BP ("Base pointer") señala el desplazamiento (dentro
del segmento de pila SS) donde se encuentra el origen de la zona
ocupada por las variables dinámicas.
 Existen dos registros denominados "de índice", en razón de su
utilización muy particular; el índice fuente SI ("Source index") y el índice
destino DI ("Destination index"). Generalmente estos dos registros se
utilizan con alguno de los registros de uso general y con ciertas
instrucciones específicamente pensadas para transferir datos (dentro de
un rango de posiciones de memoria), desde un punto inicial de un
segmento de datos, a otro.

3.4.- Registro de estado

Existe un registro especial, el registro de estado (FLAGS), en el que 9 de los 18


bits actúan como semáforos (indicadores del estado del procesador y del
resultado de determinadas operaciones). Por ejemplo, si después de una suma
aritmética hay o no desbordamiento del bit más significativo.

Cada bits individual puede estar "activo" (1) o "inactivo" (0), y tiene un
identificador que termina en F ("Flag"). Son los siguientes:
BIT INDICADOR DE USOS

Indicador de arrastre del bit de mayor orden, que puede


CF Acarreo ("Carry Flag")
ocurrir en las operaciones aritméticas suma y resta.

Si está activo Indica un número par de bits activos (bits


PF Paridad ("Parity Flag") cuyo contenido es 1). Esta información es útil cuando el
procesador controla transmisiones de datos.

Indicador de ajuste en operaciones aritméticas con


AF Acarreo auxiliar
cantidades BCD ( E0.1w1).

Está activo si el resultado de operación es cero o resultado


ZF Cero ("Zero Flag")
de comparación igual.

Si está activo indica que el resultado de operación o de


SF Signo ("Sign Flag")
comparación son negativos [5].

Si está activo, el procesador genera automáticamente una


interrupción después de la ejecución de cada instrucción, lo
TF Detención ("Trap Flag")
que permite controlar paso a paso la ejecución del
programa. Este bit debe estar normalmente inactivo (a 0).

Este bit controla el estado del sistema de interrupciones


IF Interrupción ("Interrupt Flag") enmascarables ( 2.4). Cuando está activo (1) permite las
interrupciones; el estado inactivo (0) las deshabilita.

DF Dirección ("Direction Flag") Indica la dirección de las operaciones.

OF Desbordamiento (Overflow Flag") Señala desbordamiento aritmético


4.- UNIDAD DE DESPLAZAMIENTO.

Es la vía de comunicación entre el CPU y los chip inmediatos a el, comúnmente


llamado chipset en los sistemas modernos. Este bus es usado para transferir
datos entre el CPU y bus del sistema principal, por ejemplo, o entre el CPU y la
memoria caché externa. El propósito de la unidad de desplazamiento es
conseguir mayor velocidad en la entrega de la información para y del CPU, este
bus opera a una mayor rapidez que cualquier otro bus en la PC.

En este bus no existen los cuellos de botellas, el bus consiste de circuitos


eléctricos para datos, dirección y control. Este bus opera con la misma
velocidad del reloj a como lo hace el CPU externamente, ya que internamente
el CPU puede trabajar a mayores velocidades.

Cualquier información que entra o sale de un sistema ordenador se almacena


temporalmente en al menos una de las distintas localizaciones que existen a lo
largo del bus. La mayor parte de las veces el dato se sitúa en la memoria
principal, que en la familia PC está formada por miles de posiciones de
memoria de 8 bits. Pero algún dato puede acabar en un puerto, o registro,
durante unos instantes, mientras espera que la CPU lo envíe a una posición
adecuada.

5.- UNIDAD ARITMETICO-LÓGICA.

Unidad Lógica Aritmética (ULA), o Arithmetic Logic Unit (ALU), es un circuito


digital que calcula operaciones aritméticas (como suma, resta, multiplicación,
etc.) y operaciones lógicas (como igual a, menor que, mayor que, etc.), entre
dos números.

Muchos tipos de circuitos electrónicos necesitan realizar algún tipo de


operación aritmética, así que incluso el circuito dentro de un reloj digital tendrá
una ALU minúscula que se mantiene sumando 1 al tiempo actual, y se
mantiene comprobando si debe activar el pitido del temporizador, etc.
Por mucho, los más complejos circuitos electrónicos son los que están
construidos dentro de los chips de microprocesadores modernos como el Intel
Core Duo. Por lo tanto, estos procesadores tienen dentro de ellos un ALU muy
complejo y poderoso. De hecho, un microprocesador moderno (y los
mainframes) pueden tener múltiples núcleos, cada núcleo con múltiples
unidades de ejecución, cada una de ellas con múltiples ALU.

Una ALU debe procesar números usando el mismo formato que el resto del
circuito digital. Para los procesadores modernos, este formato casi siempre es
la representación de número binario de complemento a dos. Las primeras
computadoras usaron una amplia variedad de sistemas de numeración,
incluyendo complemento a uno, formato signo-magnitud, e incluso verdaderos
sistemas decimales, con diez tubos por dígito.

Las ALUs para cada uno de estos sistemas numéricos tenían diferentes
diseños, y esto influenció la preferencia actual por el complemento a dos,
debido a que ésta es la representación que hace más fácil, para el circuito
electrónico de la ALU, calcular adiciones y sustracciones, etc.
Una ALU simple de 2 bits que hace operaciones de AND, OR, XOR y adición

6.- INTERRELACIONES.

El programa es registrado en memoria antes de comenzar su ejecución. Esta


memoria, gracias a la cual puede ejecutarse el programa, se llama memoria
central o bien memoria principal y en tomo suyo se organiza el resto de
diferentes unidades de la máquina.

La memoria central almacena dos clases de información: de un lado, las


instrucciones del programa (o informaciones descriptoras del tratamiento) que
la máquina deberá ejecutar; de otro lado, los datos dichos a menudo operandos
(o informaciones a tratar) con los cuales efectuará la máquina los tratamientos
dictados por las instrucciones. Las dos clases de información tienen sus
correspondencia física en dos unidades peculiares de la máquina: la unidad de
control, también llamada unidad de instrucciones o unidad de gobierno, para
las informaciones descriptoras y la unidad aritmética y lógica o unidad de
proceso, para las informaciones a tratar.

Esquemáticamente pueden resumirse las principales funciones de la unidad de


control así: Extrae de la memoria central la nueva instrucción a ejecutar;
analiza dicha instrucción y establece las conexiones eléctricas
correspondientes dentro de la unidad aritmética y lógica; extrae de la memoria
central los datos implicados por la instrucción; desencadena el tratamiento de
dichos datos en la unidad aritmética y lógica; eventualmente, almacena el
resultado en la memoria central. La unidad aritmética y lógica opera con los
datos que recibe siguiendo órdenes de la unidad de control.

El conjunto Unidad de Control y Unidad Aritmética-lógica forma un todo en la


mayoría de los computadores. Se llama unidad central o unidad central de
proceso o procesador central. para diversos autores, la unidad central
comprende también la memoria central.

También podría gustarte