UNIDAD CENTRAL DE PROCESAMIENTO
La unidad central de procesos (CPU) es la parte fundamental
de cualquier sistema basado en microprocesador. Habitualmente se identifica la
CPU con el circuito integrado del sistema que realiza tal función, si bien esta
puede realizarse por medio de varios circuitos integrados o, como también es
frecuente, empleando un único circuito integrado que realiza otras funciones además
de las propias de la CPU, como puedan ser la memoria o los periféricos de
entrada-salida. En cualquier caso la CPU debe ocuparse de generar las señales
de control necesarias y ejecutar el programa del usuario. Para ello realiza
varias tareas, las cuales se pueden dividir en dos subtareas o fases, a saber:
1. Fase de búsqueda (fetch). Se realiza el acceso a
la memoria del sistema para leer la instrucción.
2. Fase de ejecución. Se realiza la interpretación de
la instrucción y la activación de los recursos necesarios para su ejecución.
Para realizar estas tareas la CPU se divide en varios
bloques funcionales interconectados mediante buses internos. Se pueden utilizar
uno o más buses independientes según las características y prestaciones que se
deseen. En las CPU de aplicación general suele usarse un bus único que se
comparte entre los diferentes subsistemas, lo que permite una única transferencia
simultánea. Si se desea incrementar la capacidad de transferencia u optimizar
el acceso simultaneo a más de un dato, se diseña la CPU con dos o más buses
internos, de tal forma que sea posible realizar transferencias simultaneas,
acceder a más de un dato en una única operación, separar los caminos de los
datos y de las instrucciones, etc.
Podemos encontrar ejemplos de CPU con bus único en
procesadores comerciales de aplicación general como el 8085, 6800, 8086, 68000,
etc. El uso de varios buses internos es típico de CPU de aplicaciones específicas
como los microcontroladores y los Procesadores Digitales de Señal (DSP). Los
primeros están diseñados para aplicaciones industriales y de control: entre los
más conocidos, podemos citar al 8051, PIC, 68HC11, etc. Los DSP están optimizados
para realizar los cálculos habituales en procesado de señal, básicamente productos
y sumas: los más conocidos son los TMS320.
En las figuras que siguen se muestran las estructuras
internas más típicas de una CPU. En la figura 1 puede verse la estructura de un
bus único y en la figura 2 se observa la estructura con dos buses.
Los buses son conjuntos de líneas o canales físicos (hilos
de cobre) que permiten la comunicación entre los elementos principales del
ordenador, memoria central, ALU y unidad de control y donde se vuelca la información
que proviene de los periféricos para llegar hasta la CPU. Son de tres tipos:
-
Bus de direcciones. Por el que se transporta la información
de las direcciones o posiciones de los datos e instrucciones en memoria o la información
del periférico.
-
Bus de datos. Por el que viajan los datos.
-
Bus de control. Que transporta señales de
control y de estado de los elementos.
Como puede verse en cualquiera de las figuras, la estructura
interna de una CPU contiene los siguientes bloques funcionales:
-
La Unidad Central de Procesos de un sistema
basado en microprocesador.
- Unidad Aritmetico - Logica (ALU). La función de
la ALU es realizar las operaciones aritméticas y lógicas. La operación a
realizar la indica la unidad de control. Los operandos se guardan en registros
al igual que el resultado. Si el registro donde se guarda el resultado es específico
se llama acumulador.
-
Unidad de Control (UC). La tarea de la UC es la
de generar las señales de control necesarias para organizar los flujos de información
externos e internos entre la CPU y el resto del sistema.
-
Registros. Los registros son elementos de
memoria que sirven para guardar información importante y necesaria para la CPU.
Los podemos agrupar en dos grandes tipos:
a)
Generales: Contienen los operandos que se
especifican en las instrucciones del programa. Como su nombre indica son de carácter
general, aunque algunos de ellos pueden tener misiones específicas, como es el
caso del registro acumulador, el cual almacena el resultado de las operaciones aritméticas
y lógicas.
b)
Específicos: son aquellos en los que su
contenido y/o su uso cumplen una función concreta. Veamos los más comunes:
·
PC: contador de programa (Program Counter). Contiene
la dirección de la próxima instrucción a ejecutar.
·
IR: registro de instrucción (Instruction Register).
Contiene el código de operación de la instrucción en ejecución.
·
SR: registro de estado (Status Register). Contiene
bits de control y estado que indican el resultado de ciertas operaciones e
informaciones relevantes de la CPU tras la ejecución de cada instrucción.
·
SP: puntero de pila (Stack Pointer). Almacena la
dirección de un bloque de memoria principal conocido como pila y anteriormente
descrito, donde la CPU guarda información temporalmente. El acceso se realiza según
un esquema LIFO (Last In First Out).
Los registros son los que el
usuario conoce y direcciona explícitamente en los programas de aplicación. Además
de esto registros, existen otros que no son visibles para el usuario, como el
MAR (Memory Address Register) y el MDR (Memory Data Register), que
anteriormente se han representado en las figuras 1 y 2. Estos registros son necesarios
para retener temporalmente los datos y direcciones y completar la ejecución de
las instrucciones.
No hay comentarios:
Publicar un comentario