Está en la página 1de 5

ARQUITECTURA DE UN PROCESADOR DIGITAL.

En la figura siguiente se muestra un esquema simplificado de la arquitectura de un procesador.

R1 E1 E2 CO

R2
.
. UNIDAD
UNIDAD SEÑALES
DE
. ARITMETICA DE
SELECCIÓN DECODIFICACIÓN
Y Y
LÓGICA CONTROL
Rn

UNIDAD DE
ADMINISTRACIÓN
DE
MEMORIA

IP

BANCOS DE MEMORIA RAM


UNIDAD ARITMÉTICA Y LÓGICA.

Es un circuito COMBINATORIO cuya función es efectuar operaciones aritméticas y lógicas, usando


como operandos a las cadenas binarias que se encuentran en los registro de entrada E1 y E2. La
cadena binaria resultante (resultado) se obtiene en el registro de salida R por lo que a este registro
también se le llama REGISTRO ACUMULADOR. La unidad ARITMÉTICA Y LÓGICA puede realizar
sobre las cadenas binarias diversas operaciones tales como suma, resta, multiplicación,
complemento a 2 (convertir un entero positivo en su valor negativo), y también operaciones lógicas
tales como AND, OR, XOR, negación, etc.

La unidad ARITMÉTICA Y LÓGICA recibe como señales de entrada no solo a los valores de los
registros E1 y E2, sino también señales que indican el tipo de operación a realizar. Estas últimas
señales de control provienen de otro circuito llamado UNIDAD DE DECODIFICACIÓN Y CONTROL.

Esta unidad esta equipada además con un registro que contienen bits especiales que indican el
estado de la última operación realizada, por ejemplo, indican si el resultado fue cero ( bit Z), si se
produjo acarreo (bit C), si se produjo desborde (bit O), si el resultado fue negativo (bit N), etc.

UNIDAD DE DECODIFICACIÓN Y CONTROL.

Es un AUTÓMATA o circuito SECUENCIAL, que genera una secuencia de acciones a partir de la


cadena binaria que se ingresa en su registro de entrada CO, por lo que a esta cadena se le llama
código de instrucción. Las principales acciones a realizar a partir del CÓDIGO DE INSTRUCCIÓN
son:

• Ubicar el origen de las cadenas binarias que se van a procesar (es decir, ¿en donde se
encuentran los datos?), ya que los valores pueden estar almacenados en los bancos de
memoria principal o en registros internos del procesador. También se debe ubicar el destino
del resultado( es decir ¿en donde se guardará el resultado?), ya que el resultado se puede
dejar en el acumulador o llevarlo a otro registro ya sea interno o en los bancos de memoria
principal.
• Efectuar el traslado o transferencia de los datos desde su origen hasta los registros de entrada
E1 y E2.
• Seleccionar el tipo de operación que se va a efectuar con los datos (sumar, restar, AND, OR,
etc.) y enviar la señal de selección a la UNIDAD ARITMÉTICA Y LÓGICA para que ésta la
efectúe.
• Realizar el traslado del resultado a su destino.

Las tareas anteriores constituyen lo que se define como la EJECUCIÓN DE LA INSTRUCCIÓN.

UNIDAD DE ADMINISTRACIÓN DE MEMORIA.

El volumen principal de los datos a procesar y de resultados generados se almacenan en los bancos
de memoria RAM, y por esta razón el procesador debe estar equipado con un circuito capaz de
identificar a cada registro de memoria, y de establecer los caminos eléctricos que permitan trasladar
los contenidos de los registros desde la memoria RAM hacia los registro internos del procesador y
viceversa.

Existe una estrecha coordinación entre la UNIDAD DE ADMINISTRACIÓN DE MEMORIA y la


UNIDAD DE DECODIFICACIÓN Y CONTROL, ya que el registro APUNTADOR DE INSTRUCCIÓN o
IP por sus siglas en inglés(INSTRUCTION POINTER) siempre contiene a la dirección de memoria
RAM a donde se ubica la cadena binaria que debe ser transferida al registro de entrada a la UNIDAD
DE DECODIFICACIÓN Y CONTROL (CO).
REGISTRO INTERNOS.

Usualmente cada procesador esta equipado con un conjunto de registros internos que pueden tener
una estrecha relación ya sea con la UNIDAD ARITMÉTICA Y LÓGICA, su contenido se interpreta
como datos a procesar, o con la UNIDAD DE ADMINISTRACIÓN DE MEMORIA, entonces su
contenido se interpreta como una dirección o como parte de ella; o con ambas, aquí su contenido
bien puede ser un dato a procesar o también puede ser una dirección, quedando su interpretación en
función de la instrucción a ejecutar.

CICLO DE BÚSQUEDA, DECODIFICACIÓN Y EJECUCIÓN DE UNA INSTRUCCIÓN.

Con la estructura descrita, el procesador es un autómata que efectúa un ciclo infinito que consta de
los siguientes pasos:

1) BÚSQUEDA DE INSTRUCCIÓN.
La UNIDAD DE ADMINISTRACIÓN DE MEMORIA traslada el contenido del registro RAM
señalado (su dirección esta en) por el IP al registro de entrada CO de la UNIDAD DE
DECODIFICACIÓN Y CONTROL.

2) DECODIFICACIÓN.
A partir del código de operación recién ingresado, la UNIDAD DE DECODIFICACIÓN Y
CONTROL determina no solo el tipo de operación a realizar, sino también cuantos bytes de
información adicional son necesarios de trasladar desde la memoria RAM para conformar
adecuadamente tanto las direcciones de los datos a procesar como sus valores, así como para
ubicar el destino del resultado. En este punto la UNIDAD DE ADMINISTRACIÓN DE
MEMORIA modifica el valor del registro IP para saltar las posiciones de los bytes adicionales
que corresponden a la instrucción anterior.

3) EJECUCIÓN.
La ejecución es la secuencia de pasos realizados por la UNIDAD DE DECODIFICACIÓN Y
CONTROL para trasladar a los operandos hacia los registros de entrada de la UNIDAD
ARITMÉTICA Y LÓGICA, efectuar con ellos la operación requerida y llevar el resultado
producido hacia su destino

Con este esquema de arquitectura, propuesto por primera vez en 1945 por VON NEUMANN y
otros,es posible que en la memoria RAM sean almacenados tanto datos a procesar como secuencias
de instrucciones. Cada instrucción se almacena en un formato binario, comenzando con el código de
operación, seguido de la información adicional que especifica ya sea a los datos directamente o a la
forma de acceder a ellos en la memoria RAM.

MODELO DE PROGRAMACIÓN.

A partir de la descripción anterior, se le llama MODELO DE PROGRAMACIÓN al conjunto de todos


aquellos registros internos que pueden ser referidos explícitamente por una instrucción. En la figura
siguiente se muestra de manera esquemática la arquitectura del procesador INTEL 80x86.
DESCRIPCIÓN DE LOS REGISTROS INTERNOS.

REGISTROS GENERALES.
El procesador Intel 8088/86 cuenta con 4 registros generales de 16 bits. AX, BX, CX y DX

Estos cuatro registros están divididos en dos bytes (8 bits cada uno), el byte de mayor peso y el byte
de menor peso, AH, Al, BH, BL, CH, CL, DH y DL.

Las instrucciones utilizan estos registros ya sea para tomar o almacenar datos (información binaria a
procesar) o bien el contenido de algunos de estos registros se usan para construir la
dirección(ubicación en la memoria RAM) a donde se tomará uno de los operandos de la instrucción.

REGISTROS BASE E ÍNDICE.


Estos registros son 4 y tienen un tamaño de 16 bits.

SP : Apuntador a pila (Stack Pointer)


BP: Apuntador base (Base Pointer)
SI : Índice fuente (Source Index)
DI : Índice destino (Data Index)

Las instrucciones usan el contenido binario de éstos registros para generar la dirección (ubicación en
la memoria RAM) de uno de los operandos.

REGISTROS DE SEGMENTO.

Generalmente la Unidad de Administración de Memoria de los procesadores de uso general, de


manera automática dividen la memoria RAM en al menos tres zonas independientes llamadas Zona
de Datos, Zona de Instrucciones o de Programa y Zona de Pila, Particularmente los procesadores
INTEL dividen la memoria en cuatro zonas, las tres anteriores más una zona denominada Zona
Extendida. A éste mecanismo de división de la memoria se le conoce como SEGMENTACIÓN.

Como parte de éste mecanismo de segmentación o división de la memoria, el procesador Intel 8086
cuenta con 4r registros de 16 bits cuyos nombres hacen referencia a las cuatro zonas mencionadas:

DS : Segmento de datos (Data Segment)


CS : Segmento de programa (Code Segment)
SS : Segmento de pila (Stack Segment)
ES : Segmento extendido (Extended Segment)

REGISTRO APUNTADOR DE INSTRUCCIÓN.

El contenido del registro IP (Instruction Pointer) es usado por la Unidad de Administración de memoria
para generar la dirección del byte en memoria RAM que será utilizado como CÓDIGO DE
INSTRUCCIÓN por la Unidad de Decodificación y Control, por eso se dice que el registro IP siempre
contienen la dirección de la siguiente instrucción a ejecutar. Mediante el mecanismo de
segmentación, la dirección se construye usando el contenido de los registros CS e IP, ésto es, la
dirección IP siempre se busca en la zona de programa.

REGISTRO DE BANDERAS.

La Unidad Aritmética y Lógica activa una serie de bits individuales (llamados banderas) que señalan
el estado de la última operación efectuada, por ejemplo:

C : Bandera de acarreo, indica si la última instrucción produjo acarreo.


Z : Bandera de cero, indica si el resultado de la última operación produjo cero.
N : Bandera de valor negativo, indica si el resultado de la última operación es un valor negativo.
O : Bandera de desborde, indica si la última operación produjo un valor binario que excede la
capacidad del registro de resultados más el bit de acarreo.

ALMACENAMIENTO DE LAS INSTRUCCIONES EN MEMORIA RAM.

Para que el procesador pueda leer cada instrucción desde la memoria RAM, éstas son almacenadas
como cadenas binarias de tamaño variable divididas en campos. El primer o primeros bytes siempre
son el código de operación, lo que significa que ésta parte de la cadena binaria se ingresa a la unidad
de decodificación y control para que el procesador inicie con la ejecución de la instrucción.

Dependiendo de la instrucción, puede ser necesario que el procesador necesite leer información
binaria adicional que utiliza para identificar tanto el origen de los operandos como el destino de los
resultados. Ésta información usualmente es procesada por la unidad de administración de memoria.

De ésta suerte un programa es una secuencia de cadenas binarias almacenadas de manera


consecutiva en la memoria RAM. El procesador es un autómata que ejecuta un ciclo infinito de tres
acciones básicas: leer el código de operación, decodificar la instrucción y realizar la ejecución. La
ejecución de una instrucción incluye la secuencia de lecturas los bytes adicionales que sean
necesarios para identificar el origen de los operandos, llevar los operandos a la unidad aritmética y
lógica y finalmente llevar el resultado a su destino final.

De manera automática, el registro IP actualiza su valor para señalar el byte inmediatamente siguiente
al último byte que corresponde a la instrucción que actualmente está en ejecución.

También podría gustarte