Tema 3 – Componentes, estructura y funcionamiento de la Unidad Central de Proceso.

Tema 3 – Componentes, estructura y funcionamiento de la Unidad Central de Proceso.

ÍNDICE

1. INTRODUCCIÓN

2. UNIDAD ARITMÉTICO-LÓGICA (ULA)

3. UNIDAD DE CONTROL (UC)

4. FUNCIONAMIENTO DE LA CPU

5. MICROPROCESADORES

6. BIBLIOGRAFÍA

1. INTRODUCCIÓN

La unidad central de procesamiento, también denominada procesador central o CPU (Central Proccessing Unit), es el verdadero cerebro del ordenador. Su misión consiste en controlar, coordinar y realizar todas las operaciones del sistema. Para ello, extrae, una a una, las instrucciones del programa ubicado en memoria principal, las analiza y emite las órdenes para su completa realización. Físicamente está formada por circuitos de naturaleza electrónica que se encuentran integrados en un chip denominado procesador. Funcionalmente, la unidad central de proceso está constituida por dos elementos: la unidad aritmético-lógica y la unidad de control.

2. UNIDAD ARITMÉTICO-LÓGICA

La ALU (Arithmetic Logic Unit) es la unidad encargada de realizar las operaciones elementales de tipo aritmético y lógico. Para comunicarse con otras unidades utiliza el bus de datos. La operación a realizar por la ALU (suma, resta, desplazamientos, comparaciones, etc.) se decide mediante señales de control enviadas desde la unidad de control.

Los elementos que componen la ALU son los siguientes:

Circuito operacional (COP)

Formado por los circuitos necesarios para realizar las operaciones con los datos procedentes del registro de entrada. También acepta órdenes como entrada para seleccionar el tipo de operación que debe realizar.

Registro de entrada (RE)

Contiene los datos u operandos que intervienen en una instrucción antes de que se realice la operación por parte del circuito operacional. También se emplea como almacén de resultados intermedios o finales de las operaciones.

Registro de estado (RS)

Engloba a un conjunto de biestables (indicadores) en los que se deja constancia de condiciones que se dieron en la última operación realizada y que habrán de tenerse en cuenta en operaciones posteriores (indicadores de signo, de cero, de desbordamiento, etc.). Al registro de estado también se le conoce con el nombre de palabra de estado.

Registro acumulador (RA)

Contiene los datos que se están tratando en cada momento. Almacena los resultados de las operaciones realizadas por el circuito operacional. Está conectado con los registros de entrada para una realimentación en el caso de operaciones encadenadas. También tiene una conexión directa con el bus de datos para el envío de resultados a la memoria principal o a la Unidad de Control.

Un esquema de la unidad aritmético-lógica puede ser:

Registro acumulador

Registro de estado

Circuito operacional

clip_image002Registro de entrada

clip_image003Bus

Algunos componentes fundamentales de la ALU son:

Circuito semisumador

Suma dos dígitos binarios, produciendo una salida de suma y otra de acarreo de acuerdo con las reglas de la suma binaria.

Tiene dos entradas, denominadas x e y y dos salidas representadas por s y c. Una es el resultado de la suma (s) y otra es el acarreo o arrastre (c).

La tabla de verdad de un circuito semisumador es:

x y s c

0

0

0

0

0

1

1

0

1

0

1

0

1

1

0

1

clip_image004clip_image005Las ecuaciones lógicas serían:

s x y xy

c xy

Circuito sumador

Tienen tres entradas, una para cada entrada de los números a ser sumados (x e y) y otra para el bit de arrastre que puede ser generado o propagado por las etapas anteriores ci (carry-in). Las salidas son s, que es el valor de la suma, y co (carry-out) que produce el arrastre para ser sumado en la etapa siguiente.

En general es posible construir un sumador completo con dos semisumadores, aunque es más económico realizarlo a partir de sus fórmulas de entrada/salida.

Circuito complementador

Es el circuito inversor, utilizado para calcular el complemento de un número respecto a la base de numeración. Generalmente se utiliza para restar mediante suma de las cantidades complementadas.

3. UNIDAD DE CONTROL

La unidad de control (UC) se encarga de administrar todos los recursos del ordenador, controlando y dirigiendo la información a las distintas unidades en el momento adecuado mientras el procesador 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 (CPU) a la memoria principal.

Regular las temporizaciones de todas las operaciones que ejecuta la CPU. Enviar señales de control y recibir señales de estado del resto de las unidades.

Para realizar estas funciones, la unidad de control consta de los siguientes elementos:

Contador de programa (CP)

Contiene en cada momento la dirección de memoria donde se encuentra la instrucción siguiente a ejecutar. Al iniciar la ejecución de un programa toma la dirección de su primera instrucción. Incrementa su valor en uno de forma automática cada vez que concluye una instrucción, salvo que la instrucción que esté ejecutando sea de salto o de ruptura.

Registro de instrucción (RI)

Se dedica a memorizar temporalmente la instrucción que la unidad de control está interpretando o ejecutando en ese momento. El programa que se está ejecutando reside en memoria principal y la UC va buscando y captando las instrucciones secuencialmente para interpretarlas y generar las órdenes de ejecución. La captación de una instrucción implica leerla en la memoria y almacenarla en el registro de instrucción. La instrucción que se está ejecutando lleva consigo un código de operación (COP) y unos operandos o la dirección de los mismos.

Decodificador (D)

Es el que interpreta realmente la instrucción. Se encarga de extraer el código de operación de la instrucción en curso, lo analiza y emite las señales necesarias al resto de los elementos para su ejecución a través del secuenciador.

Reloj (R)

Proporciona una sucesión de impulsos eléctricos o ciclos a intervalos regulares que marcan los instantes en que han de comenzar los distintos pasos de que consta cada instrucción.

Secuenciador (S)

En este dispositivo se generan órdenes muy elementales (microórdenes) que sincronizadas por el reloj hacen que se vaya ejecutando paso a paso la instrucción que está cargada en el registro de instrucción.

Un esquema de la unidad de control es el siguiente:

Reloj

Contador programa

clip_image006Secuenciador

Decodificador

Registro instrucción

clip_image007Bus

4. FUNCIONAMIENTO DE LA CPU: EJECUCIÓN DE UN PROGRAMA

Para que un programa pueda ser ejecutado por un ordenador, éste ha de estar almacenado en memoria principal. La unidad central de proceso tomará una a una sus instrucciones e irá realizando las tareas necesarias para completar la ejecución del programa. Se denomina ciclo de instrucción al conjunto de instrucciones que se llevan a cabo en la realización de una instrucción. Se compone de dos fases:

Fase de búsqueda o captación

Se transfiere la instrucción que corresponde ejecutar desde la memoria principal a la unidad de control.

Fase de ejecución

Consiste en la realización de todas las acciones que conlleva la propia instrucción.

Para iniciar la ejecución de un programa, se ubica en el contador de programa (CP) la dirección de memoria donde comienza dicho programa. La unidad de control envía una microorden para que el contenido del CP (la dirección de la primera instrucción) sea transferido al registro de dirección de memoria. El decodificador de memoria interpretará la dirección conectando la celda de memoria indicada en el registro de dirección de memoria con el registro de datos de memoria. Después de un tiempo determinado (tiempo de acceso a memoria), aparecerá en el registro de datos de memoria el contenido de la dirección indicada, es decir, la instrucción que va a ser procesada. A través del bus se transfiere la instrucción desde el registro de datos de memoria al registro de instrucción de la unidad de control (RI). A continuación, el decodificador de la unidad de control procede a interpretar la instrucción que acaba de llegar al RI e informa al secuenciador. Por último, el CP se incrementará automáticamente en uno, de tal forma que quede apuntando a la siguiente instrucción del programa en memoria. Si la instrucción en ejecución es de ruptura de secuencia (de salto o bifurcación), el CP se cargará con la dirección que corresponda.

Hasta este punto se ha considerado sólo la fase de búsqueda, que es común a todas las instrucciones. Después tiene lugar la fase de ejecución, que es específica del código de operación de cada instrucción. El secuenciador envía una microorden a la ALU para que ejecute la operación de que se trate, almacenándose el resultado de la operación en el registro acumulador. Una vez concluida la ejecución de la instrucción en curso, la unidad de control vuelve a repetir el ciclo completo para cada una de las instrucciones que forman el programa en ejecución; es decir, capta una nueva instrucción (cuya dirección se encuentra en el CP y la transfiere al RI) y después la decodifica y la ejecuta. Este ciclo se repite iterativamente hasta que concluye la ejecución del programa.

5. MICROPROCESADORES

Un microprocesador está formado por uno o varios circuitos integrados que realizan las funciones de un procesador central (UC y ALU). El prefijo micro en este caso hace referencia al tamaño de la CPU, y no a las prestaciones de la misma.

El mayor fabricante de procesadores es Intel que se toma como referencia y estándar, aunque existen otros fabricantes que han desarrollado sus propios procesadores. Como ejemplo de microprocesadores tenemos los siguientes, ordenados históricamente:

8088 (1978), con bus de datos de 8 bits.

8086 (1978), con bus de datos de 16 bits.

80286 (1982), con bus de datos de 16 bits y dos modos de trabajo: real y protegido.

80386DX (1985), con bus de datos de 32 bits y velocidad de hasta 40 MHz.

80386SX (1988), con bus de datos de 16 bits. Es una versión barata del 80386DX.

80486DX (1989), con bus de datos de 32 bits y coprocesador matemático incluido.

80486SX (1991), con bus de datos de 32 bits. Sin coprocesador matemático.

Pentium (1993), con bus de datos de 64 bits y caché interna de 256K. Evolucionó hacia el

Pentium MMX con velocidades de hasta 200 MHz.

6. BIBLIOGRAFÍA

Alberto Prieto

Introducción a la Informática

Mc Graw-Hill, 2ª edición, 1997

Alfonso Ureña López Fundamentos de Informática Ra-ma, 1997