Arquitectura de CPU
Unidad de microprocesamiento es sinónimo de unidad central de procesamiento, CPU que se usa en la computadora tradicional. El microprocesador (MPU) actúa como un dispositivo o un grupo de dispositivos que realizan las siguientes tareas.
- comunicarse con dispositivos periféricos
- proporcionar señal de sincronización
- flujo de datos directo
- realizar tareas informáticas según lo especificado por las instrucciones en la memoria
8085 Microprocesador
El microprocesador 8085 es un microprocesador de uso general de 8 bits que es capaz de direccionar 64k de memoria. Este procesador tiene cuarenta pines, requiere una fuente de alimentación única de +5 V y un reloj monofásico de 3 MHz.
Diagrama de bloques
ALU
La ALU realiza la función informática de microprocesador. Incluye el acumulador, el registro temporal, el circuito lógico y aritmético y cinco banderas. El resultado se almacena en acumuladores y banderas.
Diagrama de bloques
Acumulador
Es un registro de 8 bits que forma parte de ALU. Este registro se utiliza para almacenar datos de 8 bits y para realizar operaciones aritméticas y lógicas. El resultado de la operación se almacena en un acumulador.
Diagrama
Banderas
Las banderas son programables. Se pueden usar para almacenar y transferir los datos de los registros mediante instrucciones. La ALU incluye cinco flip-flops que se configuran y restablecen de acuerdo con la condición de los datos en el acumulador y otros registros.
S (Sign) flag- Después de la ejecución de una operación aritmética, si el bit D 7 del resultado es 1, se activa la bandera de signo. Se utiliza para un número firmado. En un byte dado, si D 7 es 1 significa un número negativo. Si es cero significa que es un número positivo.
Z (Zero) flag - La bandera de cero se establece si el resultado de la operación ALU es 0.
AC (Auxiliary Carry) flag- En operación aritmética, cuando el acarreo se genera mediante el dígito D3 y se pasa al dígito D 4 , se activa la bandera AC. Esta bandera se usa solo internamente en la operación BCD.
P (Parity) flag- Después de la operación aritmética o lógica, si el resultado tiene un número par de unos, se activa la bandera. Si tiene un número impar de unos, la bandera se restablece.
C (Carry) flag - Si el resultado de la operación aritmética es un acarreo, se establece la bandera de acarreo; de lo contrario, se restablece.
Sección de registro
Básicamente es un dispositivo de almacenamiento y transfiere datos de registros mediante instrucciones.
Stack Pointer (SP)- El puntero de pila también es un registro de 16 bits que se utiliza como puntero de memoria. Apunta a una ubicación de memoria en la memoria de lectura / escritura conocida como pila. Entre la ejecución del programa, en algún momento los datos se almacenarán en la pila. El comienzo de la pila se define cargando una dirección de 16 bits en el puntero de la pila.
Program Counter (PC)- Este registro de 16 bits se ocupa de la cuarta operación para secuenciar la ejecución de la instrucción. Este registro también es un puntero de memoria. La ubicación de la memoria tiene una dirección de 16 bits. Se utiliza para almacenar la dirección de ejecución. La función del contador de programa es apuntar a la dirección de memoria desde la cual se va a buscar el siguiente byte.
Storage registers- Estos registros almacenan datos de 8 bits durante la ejecución de un programa. Estos registros se identifican como B, C, D, E, H, L. Se pueden combinar como par de registros BC, DE y HL para realizar algunas operaciones de 16 bits.
Sección de tiempo y control
Esta unidad es responsable de sincronizar el funcionamiento del microprocesador según el pulso del reloj y de generar las señales de control que son necesarias para una comunicación fluida entre el microprocesador y los dispositivos periféricos. Las señales de la barra RD y la barra WR son pulsos síncronos que indican si los datos están disponibles en el bus de datos o no. La unidad de control es responsable de controlar el flujo de datos entre el microprocesador, la memoria y los dispositivos periféricos.
Diagrama de PIN
Toda la señal se puede clasificar en seis grupos
SN | Grupo | Descripción |
---|---|---|
1 | Address bus | El microprocesador 8085 tiene 8 líneas de señal, A 15 - A 8, que son unidireccionales y se utilizan como bus de direcciones de orden superior. |
2 | Data bus | Las líneas de señal AD7 - AD0 son bidireccionales para doble propósito. Se utilizan como bus de direcciones de orden inferior y como bus de datos. |
3 | Control signal and Status signal | Señal de control RD bar- Es una señal de control de lectura (activa baja). Si está activo, la memoria lee los datos. WR bar- Es la señal de control de escritura (activo bajo). Está activo cuando se escribe en la memoria seleccionada. Señal de estado ALU (Address Latch Enable)- Cuando ALU es alto. 8085 microprocesador utiliza bus de direcciones. Cuando ALU es bajo. El microprocesador 8085 utiliza el bus de datos. IO/M bar- Ésta es una señal de estado que se utiliza para diferenciar entre operaciones de E / S y de memoria. Cuando está alto, indica una operación de E / S y cuando está bajo, indica operación de memoria. S1 and S0 - Estas señales de estado, similares a las de E / S y la barra de memoria, pueden identificar varias operaciones, pero rara vez se utilizan en sistemas pequeños. |
4 | Power supply and frequency signal | Vcc - Fuente de alimentación + 5v. Vss - referencia de tierra. X, X- Un cristal está conectado a estos dos pines. La frecuencia está dividida internamente por dos sistemas operativos a 3 MHz, el cristal debe tener una frecuencia de 6 MHz. CLK out - Esta señal se puede utilizar como reloj del sistema para otros dispositivos. |
5 | Externally initiated signal | INTR (i/p) - Solicitud de interrupción. INTA bar (o/p) - Se utiliza como interrupción de reconocimiento. TRAP (i/p) - Esta es una interrupción no enmascarable y tiene la máxima prioridad. HOLD (i/p) - Se utiliza para contener el programa en ejecución. HLDA (o/p) - Mantenga el reconocimiento. READY (i/p) - Esta señal se utiliza para retrasar el ciclo de lectura o escritura del microprocesador hasta que un periférico de respuesta lenta esté listo para aceptar o enviar datos. RESET IN bar - Cuando la señal en este pin baja, el contador del programa se establece en cero, el bus se establece en tres estados y la MPU se restablece. RESET OUT- Esta señal indica que se está reiniciando MPU. La señal se puede utilizar para restablecer otros dispositivos. RST 7.5, RST 6.5, RST 5.5 (Request interrupt)- Se utiliza para transferir el control del programa a una ubicación de memoria específica. Tienen mayor prioridad que la interrupción INTR. |
6 | Serial I/O ports | El microprocesador 8085 tiene dos señales para implementar la transmisión en serie de datos de entrada en serie y datos de salida en serie. |
Formato de instrucción
Cada instrucción está representada por una secuencia de bits dentro de la computadora. La instrucción se divide en un grupo de bits llamado campo. La forma en que se expresa la instrucción se conoce como formato de instrucción. Suele representarse en forma de caja rectangular. El formato de instrucción puede ser de los siguientes tipos.
Formatos de instrucción variable
Estos son los formatos de instrucción en los que la longitud de la instrucción varía según el código de operación y los especificadores de dirección. Por ejemplo, la instrucción VAX varía entre 1 y 53 bytes, mientras que la instrucción X86 varía entre 1 y 17 bytes.
Formato
Ventaja
Estos formatos tienen una buena densidad de código.
Retirarse
Estos formatos de instrucción son muy difíciles de decodificar y canalizar.
Formatos de instrucción fijos
En este tipo de formato de instrucción, todas las instrucciones son del mismo tamaño. Por ejemplo, MIPS, Power PC, Alpha, ARM.
Formato
Ventaja
Son fáciles de decodificar y canalizar.
Retirarse
No tienen una buena densidad de código.
Formatos de instrucción híbridos
En este tipo de formatos de instrucción, tenemos una longitud de formato múltiple especificada por código de operación. Por ejemplo, IBM 360/70, MIPS 16, Thumb.
Formato
Ventaja
Este compromiso entre la densidad del código y la instrucción de este tipo son muy fáciles de decodificar.
Modos de direccionamiento
El modo de direccionamiento proporciona diferentes formas de acceder a una dirección a datos dados a un procesador. Los datos operados se almacenan en la ubicación de la memoria, cada instrucción requiere ciertos datos sobre los que tiene que operar. Existen varias técnicas para especificar la dirección de los datos. Estas técnicas se denominan modos de direccionamiento.
Direct addressing mode- En el modo de direccionamiento directo, la dirección del operando se da en la instrucción y los datos están disponibles en la ubicación de memoria que se proporciona en la instrucción. Moviremos estos datos a la ubicación deseada.
Indirect addressing mode- En el modo de direccionamiento indirecto, la instrucción especifica un registro que contiene la dirección del operando. Se puede acceder a la RAM interna y externa a través del modo de direccionamiento indirecto.
Immediate addressing mode- En el modo de direccionamiento inmediato, se dan datos directos en el operando que mueven los datos en el acumulador. Es muy rápido.
Relative addressing mode- En el modo de dirección relativa, la dirección efectiva se determina mediante el modo de índice utilizando el contador de programa en lugar del registro del procesador de propósito general. Este modo se denomina modo de dirección relativa.
Index addressing mode- En el modo de dirección de índice, la dirección efectiva del operando se genera agregando un valor de contenido al contenido del registro. Este modo se denomina modo de dirección de índice.