Bloques del Procesador

04.03.2015 18:26

Los registros A y B son de uso general. Están conectados al bus de datos y controlados por las señales: leer A (RDA), leer B (RDB), escribir A (WRA) y escribir B (WRB).

El contador de programa PC mantiene la dirección de la instrucción del programa que se está ejecutando. Junto a él se encuentra el circuito que lo incrementa cada vez que el procesador ha tomado una instrucción de la memoria. También es posible alimentar el valor del PC desde los datos contenidos en la propia instrucción o a través del bus de datos con algún otro valor proveniente de la memoria.

Del contador de programa nace el bus de direcciones. La señal CPCS coloca sobre el bus de direcciones el contenido del PC, y la señal INCPC incrementa el valor del contador de programa.

El código de la instrucción que se está ejecutando proviene de la memoria y se almacena en el registro de instrucción IR.

La unidad de control actúa de acuerdo con el contenido de este registro, que está conectado al bus de datos y controlado por la señal CIR.

El Decodificador de Instrucciones toma el contenido del Registro de Instrucciones y analiza la instrucción a ejecutar para que la Unidad de Control emita las microórdenes oportunas para tal efecto.

La unidad aritmético-lógica realiza la operación dictada por la unidad de control sobre los dos operandos que se encuentran en la entrada, y deposita el resultado en la salida.

Una de las entradas es un registro temporal TMP1, transparente al usuario. El procesador lo usa, pero el operador no tiene acceso a él. La otra entrada es el registro temporal TMP2.

La salida de la UAL es otro registro temporal TMP3 (o AC según los apuntes) en el que se deposita el resultado.

La operación que debe efectuar la UAL se controla mediante el bus COPER, que está formado por las líneas de codificación de operación. La escritura de los registros TMP1 y TMP2 se controla con la señal CEALU y la lectura de TMP3 se controla con CSALU.

El registro de flags (o RE según los apuntes) se actualiza en cada operación de la UAL.

La dirección de la instrucción a ejecutar o del dato a tratar viajará por el Bus de Direcciones, controlado por la UC, hasta el registro RDM (Registro de Dirección de Memoria). Esta dirección se decodificará por el Decodificador de Dirección, convirtiendo la dirección lógica de memoria en una dirección física, activando el Decodificador de Dirección de Memoria la señal SEL de la posición de memoria a leer o escribir.

Además, la UC activará la señal RD o WR, según se vaya a leer o escribir en la memoria, y la celda de memoria activada por la señal SEL se abrirá para colocar en ella el valor existente en el RIM (Registro de Intercambio de Memoria) en una operación de escritura, o colocar en el RIM el valor de la celda de memoria en una operación de lectura.

La unidad de control genera las señales que regulan el tráfico de la información y las operaciones sobre los datos, a un ritmo marcado por el circuito de reloj.

Para simplificar el ejemplo y ganar en claridad, se ha supuesto que en el exterior a la CPU solamente está la memoria de programa y el decodificador de direcciones. Cada registro de memoria contiene el código de una instrucción, un dato o una dirección.

El decodificador selecciona uno de los elementos de memoria, según el valor del bus de direcciones.

Podemos descargarnos el esquema anterior pinchado aqui.