EL PROCESADOR


El objetivo principal de un procesador es el de ejecutar los distintos pasos de una tarea. Debe también conseguir funcionar lo más rápidamente posible, consumiendo la mínima potencia y evitando errores y paradas. Para ello, el procesador utiliza una serie de operaciones elementales, a partir de las cuales se pueden resolver tareas más complejas. Cada una de las operaciones elementales tiene un código binario y puede tener uno, o varios operandos sobre los que actuar.
Un procesador está formado por una serie de componentes que trabajan de forma coordinada para ejecutar las instrucciones que forman los programas. Estos componentes son los siguientes:

1. Unidad de interface con el bus: es quien recibe las instrucciones y los datos directamente de la memoria RAM a través del bus del sistema (o front side bus -FSB-).

2. Unidad de decodificación: se encarga de decodificar la instrucción para determinar a qué instrucción corresponde la secuencia de bits que acaba de leer y saber de esta forma qué tiene que hacer el procesador con los datos leídos.

3. Unidad aritmético-lógica (ALU): en ocasiones las instrucciones requieren de la realización de algún cálculo. La ALU es la encargada de realizar las operaciones aritméticas (suma, resta, comparación, producto, cociente) y lógicas (y, o, no, o exclusivo). Está formada por el acumulador, un conjunto de circuitos lógicos, y el registro de códigos de condición o flags. En los procesadores más primitivos el acumulador era el registro que contenía obligatoriamente uno de los operandos y el resultado de las operaciones. Los procesadores más modernos no tienen un registro tan especializado, normalmente cualquier registro puede contener los operandos y los resultados de las operaciones.

4. Registros: Un registro es una memoria que está ubicada en el procesador y se encuentra en el nivel más alto en la jerarquía de memoria, por lo tanto, tiene una alta velocidad, pero con poca capacidad para almacenar datos que va desde los 4 bits hasta los 64 bits dependiendo del procesador que se utilice. Los datos que almacena son los que se usan frecuentemente. Los registros almacenan temporalmente los datos de la instrucción que está ejecutando en ese momento la unidad aritmético-lógica. El tamaño de estos registros se mide en bits y determina el tamaño máximo de los datos que puede manipular en una sola operación. Piensa que son unas casillas que se rellenan con unos y ceros. Si tenemos más cifras que casillas, tendremos que hacer la operación en 2 o más veces porque no nos caben todos los datos. En los procesadores actuales estos registros son de 32 o de 64 bits. Por esto decimos que un procesador es de 64 bits. Fíjate que, al doblar el tamaño de los registros necesitaremos la mitad de accesos en el caso de que las instrucciones no quepan en los registros, con lo que el ordenador podría llegar a ser el doble de rápido.

5. Reloj interno: todos los componentes anteriormente descritos trabajan de forma sincronizada por impulsos. El reloj es el encargado de proporcionar los pulsos para que todos los elementos se sincronicen.

6. Unidad de control (UC): es la unidad que coordina el funcionamiento de todas las anteriores, indicando de quién es el turno de operar en cada instante. 
Existen dos tipos de unidades de control: las cableadas, usadas generalmente en máquinas sencillas, y las micro programadas, propias de máquinas más complejas. En el primer caso, los componentes principales son el circuito de lógica secuencial , el de control de estado, el de lógica combinacional y el de emisión de reconocimiento de señales de control. En el segundo caso, la microprogramación de la UC se encuentra almacenada en una micro memoria, a la cual se accede de manera secuencial para posteriormente ir ejecutando cada una de las micro instrucciones.
 

La unidad de control tiene, así mismo, algo muy necesario, que es el generador de impulsos de reloj, encargado de sincronizar el funcionamiento del procesador. Para ello, se emplea un cristal de cuarzo externo a la CPU que le suministra a través de una de sus patas una onda cuadrada. Cada período de la onda recibe el nombre de ciclo de reloj, y se utiliza su frecuencia para medir la velocidad del procesador. Para realizar cualquier operación, el procesador tiene unas tablas en las que se especifica los ciclos de reloj que dura, la unidad de control coloca los operandos necesarios para la misma, donde se necesiten y espera los ciclos que marca la tabla, para darla por concluida. Las funciones de la unidad de control son las de controlar el funcionamiento paso a paso del procesador, mientras éste ejecuta cada una de las instrucciones de un programa.

De forma más específica, las funciones de la unidad de control son:

  • Controlar la secuencia en que se ejecutan las instrucciones.
  • Controlar el acceso del procesador a la memoria principal.
  • Regular las temporizaciones de todas las operaciones que ejecuta el procesador. 
  • Enviar y recibir señales de control desde los periféricos.

Fig. 1 Componentes trabajando en conjunto 

CAMINO DE DATOS (DATAPATH)

Un datapath es una colección de unidades funcionales (tales como unidades aritméticas lógicas o multiplicadores, que realizan operaciones de procesamiento de datos), registros y buses. Junto con la unidad de control compone la unidad central de procesamiento (CPU).
Los caminos de datos son sistemas digitales utilizados con frecuencia para la manipulación de datos y la realización de cálculos numéricos complejos.
Bloques funcionales de un camino de datos.

En los procesadores informáticos, el camino de datos a menudo consiste en los siguientes bloques funcionales, o alguna variación de los mismos:
  • El registro de instrucciones almacena la instrucción actual a ejecutar.
  • El contador de programa (PC) almacena la dirección de la siguiente instrucción que se va a buscar.
  • El registro de direcciones de memoria (MAR) es un registro que almacena la dirección de memoria a partir de la cual los datos se recogen en la CPU o la dirección a la que se enviarán y almacenarán los datos.

  • El registro de datos de memoria (MDR) es un registro de la unidad de control de un ordenador que contiene los datos que se van a almacenar en el almacenamiento informático (por ejemplo, RAM) o los datos después de una búsqueda desde el almacenamiento informático.


También hay dos registros inherentes en el procesador que facilitan la comunicación del procesador con la memoria, o básicamente ayudan en las operaciones de memoria del registro.


A través de este enlace https://www.youtube.com/watch?v=rkRrmAhr3aY usted podrá ver cómo funciona la unidad de control y el camino de datos.

Fig. 2 Visión Abstracta de la implementación del Subconjunto MIPS



SEGMENTACION 

La Segmentación (pipelining) Es un método por el cual se consigue aumentar el rendimiento de algunos sistemas electrónicos digitales. Es aplicado, sobre todo, en microprocesadores. El paralelo con la programación existe en que los cálculos deben ser registrados o sincronizados con el reloj cada cierto tiempo para que la ruta crítica (tramo con más carga o retardo computacional entre dos registros de reloj) se reduzca.
 El símil con la programación existe en que los cálculos deben ser registrados o sincronizados con el reloj cada cierto tiempo para que la ruta crítica (tramo con más carga o retardo computacional entre dos registros de reloj) se reduzca.
La ruta crítica es en realidad la frecuencia máxima de trabajo alcanzada por el conjunto. A mayor ruta crítica (tiempo o retraso entre registros) menor es la frecuencia máxima de trabajo y a menor ruta crítica mayor frecuencia de trabajo. La una es la inversa de la otra. Repartir o segmentar equitativamente el cálculo hace que esa frecuencia sea la óptima a costa de más área para el almacenamiento o registro de los datos intervinientes y de un retraso o latencia (en ciclos de reloj/tiempo) en la salida del resultado equivalente al número de segmentaciones o registros realizados. La ventaja primordial de este sistema es que, tal y como se muestra en la imagen, una vez el canal (pipe) está lleno, es decir, después de una latencia de cuatro en la imagen, los resultados de cada comando vienen uno tras otro cada flanco de reloj y sin latencia extra por estar encadenados dentro del mismo canal. Todo esto habiendo maximizado la frecuencia máxima de trabajo.

Fig. 3 Segmentación 

Comentarios

Entradas populares