Arquitectura del microprocesador 8085

8085 es un microprocesador de propósito general de 8 bits. Consta de las siguientes unidades funcionales:

Architecture of 8085 microprocessor

Unidad Aritmética y Lógica (ALU) :

Se utiliza para realizar operaciones matemáticas como suma, multiplicación, resta, división, decremento, incremento, etc. En ALU se realizan diferentes operaciones: operaciones lógicas, operaciones de cambio de bits y operaciones aritméticas.
 

Registro de banderas:

Es un registro de 8 bits que almacena 0 o 1 según el valor almacenado en el acumulador. Flag Register contiene 8 bits de los cuales 5 bits son importantes y el resto de 3 bits son «condiciones no importantes». El registro de bandera es un registro dinámico porque después de cada operación para verificar si el resultado es cero, positivo o negativo, si se produjo un desbordamiento o no, o para comparar dos números de 8 bits, se verifica la bandera de acarreo. Entonces, para numerosas operaciones para verificar el contenido del acumulador y, a partir de ese contenido, si queremos verificar el comportamiento del resultado dado, podemos usar el registro de banderas para verificar y verificar. Entonces podemos decir que el registro de bandera es un registro de estado y se usa para verificar el estado de la operación actual que está llevando a cabo ALU.

Diferentes campos de registro de banderas:

  1. Llevar bandera
  2. Bandera de paridad
  3. Bandera de transporte auxiliar
  4. bandera cero
  5. señal de bandera

Acumulador:

El acumulador se utiliza para realizar operaciones de E/S, aritméticas y lógicas. Está conectado a ALU y al bus de datos interno. El acumulador es el corazón del microprocesador porque para todas las operaciones aritméticas, el pin de 8 bits del acumulador siempre estará conectado con ALU y, en la mayoría de los casos, todas las operaciones realizadas por diferentes instrucciones se almacenarán en el acumulador después de la ejecución de la operación.

Registros de propósito general:

Hay seis registros de propósito general. Estos registros pueden contener valores de 8 bits. Estos registros de 8 bits son B,C,D,E,H,L. Estos registros funcionan como registros de 16 bits cuando funcionan en pares como BC, DE y HL. Aquí los registros W y Z son registros reservados. No podemos usar estos registros en operaciones aritméticas. Está reservado para microprocesadores para operaciones internas como intercambiar dos números de 16 bits. Sabemos que para intercambiar dos números necesitamos una tercera variable, por lo tanto, aquí el par de registros WZ funciona como registros temporales y podemos intercambiar dos números de 16 bits usando este par.

Contador de programa : 

El contador de programa mantiene el valor de la dirección de la memoria para la siguiente instrucción que se ejecutará. Es un registro de 16 bits.

Por ejemplo: supongamos el valor actual del contador de programa: [PC] = 4000H

(Significa que la siguiente instrucción de ejecución está en la ubicación 4000H. Después de buscar, el contador de programa (PC) siempre aumenta 

por +1 para obtener la siguiente instrucción).

 

Puntero de pila:

Funciona como una pila. En la pila se almacena el contenido del registro que luego se utiliza en el programa. Es un registro especial de 16 bits. El puntero de pila es parte de la memoria pero es parte de las operaciones de pila, a diferencia del acceso aleatorio a la memoria. El puntero de pila funciona en una parte continua y contigua de la memoria. mientras que Program Counter (PC) funciona en ubicaciones de memoria aleatorias. Este puntero es muy útil en operaciones relacionadas con la pila como PUSH, POP y requests CALL anidadas iniciadas por microprocesador. Reserva la dirección de la entrada de pila más reciente.

Registro Temporal:

Es un registro de 8 bits que contiene valores de datos durante operaciones aritméticas y lógicas.

Registro de instrucciones y decodificador:

Es un registro de 8 bits que contiene el código de instrucción que se está decodificando. La instrucción se obtiene de la memoria. 

Unidad de distribución y control:

La unidad de sincronización y control se encuentra en la sección de la CPU y controla el flujo de datos desde la CPU a otros dispositivos. También se utiliza para controlar las operaciones realizadas por el microprocesador y los dispositivos conectados a él. Hay ciertas señales de temporización y control como señales de control, señales DMA, señales RESET y señales de estado. 

Control de interrupciones:

Cada vez que un microprocesador está ejecutando el programa principal y si de repente ocurre una interrupción, el microprocesador cambia el control del programa principal para procesar la solicitud entrante. Una vez completada la solicitud, el control vuelve al programa principal. Hay 5 señales de interrupción en los microprocesadores 8085: INTR, TRAP, RST 7.5, RST 6.5 y RST 5.5.

Prioridades de interrupciones: TRAP > RST 7.5 > RST 6.5 > RST 5.5 > INTR

Bus de direcciones y bus de datos: 

El bus de datos es bidireccional y transporta los datos que se van a almacenar. El bus de direcciones es unidireccional y lleva la ubicación donde se almacenarán los datos.

Control de entrada/salida serie:

Controla la comunicación de datos en serie mediante el uso de datos de entrada en serie y datos de salida en serie.

El flujo de un ciclo de instrucción en la arquitectura 8085:

  1. La ejecución comienza con el contador de programa. Comienza la ejecución del programa con el siguiente campo de dirección. obtiene una instrucción de la ubicación de memoria señalada por Program Counter.
  2. Para obtener direcciones de la memoria, el bus de direcciones/datos multiplexado actúa como un bus de direcciones y, después de obtener la instrucción, este bus de direcciones ahora actuará como un bus de datos y extraerá datos de la ubicación de memoria especificada y enviará estos datos a un bus interno de 8 bits. . Para el bus de datos/direcciones multiplexadas, se utiliza el pin de habilitación de bloqueo de dirección (ALE). Si ALE = 1 (el bus multiplexado es Bus de direcciones, de lo contrario actúa como Bus de datos).
  3. Después de obtener los datos, los datos irán al registro de instrucciones, almacenará los datos extraídos de la memoria y ahora los datos están listos para decodificarse, por lo que para esta instrucción se utiliza el registro decodificador.
  4. Después de eso, el circuito de señal de control y sincronización entra en escena. Envía señales de control por todo el microprocesador para indicarle si la instrucción dada es para LECTURA/ESCRITURA y si es para actividad de MEMORIA/Dispositivo IO.
  5. Por lo tanto, de acuerdo con los pines de señal de control y temporización, se realizan operaciones lógicas y aritméticas y, de acuerdo con eso, un microprocesador realiza la obtención de datos de los diferentes registros, y ALU realiza operaciones matemáticas. Y de acuerdo con las operaciones, el registro de banderas cambia dinámicamente.
  6. Con la ayuda del pin de datos de E/S en serie (pines SID o SOD), podemos enviar o recibir entradas/salidas a dispositivos externos. De esta manera, se lleva a cabo el ciclo de ejecución.
  7. Mientras se lleva a cabo la ejecución, si se detecta alguna interrupción, detendrá la ejecución del proceso actual e invocará la función de rutina de servicio de interrupción (ISR). Lo que detendrá la ejecución actual y hará que la ejecución de la interrupción actual se produzca después de que se realice la ejecución normal.

Publicación traducida automáticamente

Artículo escrito por singhkomal1702 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *