domingo, 7 de octubre de 2012

Unidad Central de Procesos



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