Red de conocimiento del abogados - Bufete de abogados - La diferencia entre 8051, 8086 y 8088

La diferencia entre 8051, 8086 y 8088

El 8051 principal es de 8 bits, mientras que 8086 y 8088 son de 16 bits, por lo que el método de escritura será diferente al ensamblar, por lo que debe prestar atención al algoritmo, pero siempre que domine 8051, puede realizar la transición rápidamente a 16 bits.

La siguiente es información general: (copiada y pegada)

El 8086 es una CPU Intel. No sólo Intel, sino también Motorola produce CPU en el planeta. A medida que los humanos progresan, las CPU también evolucionan constantemente. 8086 se desarrolló cada vez más, que más tarde fue /80286/80386/80486/Pentium/p2/p3/p4.

8051 es un microordenador de un solo chip, un tipo de ordenador. De hecho, 8051 no sólo contiene CPU, sino también RAM, ROM, temporizadores, interfaces de E/S, etc. , pero es mucho más pequeño que la PC y tiene diferentes usos. ¿Por qué dices serie 8051? 8051 es una tecnología inventada por Intel, que tiene su propio producto de esta tecnología: MCS-51+0. La lista de la serie MCS-51 incluye tres modelos básicos: 80C31, 8051 y 8751, y los correspondientes modelos de bajo consumo 80C31 y 8051, por lo que MCS-51 después de mediados de la década de 1980, Intel vendió el núcleo 8051 en forma de patente. transferencia, y el núcleo 8051 fue desarrollado por AMTEL, Winbond, Philips, Motorola, ANANOG DEVICES, DALLAS y otras compañías diferentes empaquetaron y produjeron la sexy serie C51. Por ejemplo: serie Z8 de ZILOG, serie 51X de Philips, serie 68HC05/08 de Motorola, etc.

Microprocesador 8086/8088

8086 es un microprocesador de 16 bits de la serie Inter. Tiene 29.000 transistores en el chip y utiliza tecnología HMOS.

Fabricación artística, utilizando fuente de alimentación única de +5 V, frecuencia de reloj de 5 MHz ~ 10 MHz.

El 8086 tiene 16 líneas de datos y 20 líneas de dirección. Puede manejar datos de 16 bits y datos de 8 bits. El espacio de almacenamiento direccionable es de 1 MB.

Cuando el Inter lanzó el 8086, también lanzó un microprocesador 8088 de casi 16 bits y registros internos 8088. Los componentes informáticos y los buses de datos internos están diseñados de acuerdo con 16 bits y solo hay 8 buses de datos externos únicos. El objetivo principal del lanzamiento de 8086 era ser directamente compatible con un conjunto de chips de interfaz de dispositivos interperiféricos en ese momento. 8086 y 8088 son idénticos o ligeramente diferentes en estructura de registros, estructura de programación, organización de memoria y organización de puertos de E/S. En esta sección se explican estas diferencias.

La estructura de registro es 1.3.1 8086/8088

La Figura 1-3 muestra la estructura de registro de 8086/8088.

1. Registros de datos

Los registros de datos son los cuatro registros AX, BX, CX y DX que se muestran en la parte superior de la figura. Estos registros se utilizan para el almacenamiento temporal de operandos y resultados obtenidos durante los cálculos. Puede manejar números de 16 y 8 dígitos. Cuando se procesan 8 bits, estos cuatro registros de 16 bits se utilizan como ocho registros de 8 bits, a saber, AH, Al, BH, BL, CH, CL, DH y DL.

Además de ser registros de uso general, estos cuatro registros de datos también tienen sus propios propósitos especiales:

AX (acumulador) se utiliza como acumulador y es el registro principal para la aritmética. operaciones. AX también se utiliza para la multiplicación y división de palabras. Además, todas las instrucciones de E/S comunican información con dispositivos externos alrededor del AX.

Al calcular las direcciones de registro, BX (base) se usa a menudo como registro de valor base;

CX (recuento) se usa como contador en instrucciones y bucles de operación; >

DX (datos) En las operaciones de multiplicación y división de palabras, DX y AX se combinan en un número de palabra doble, y DX se usa para almacenar números con una altura de 16. Además, en instrucciones de E/S indirectas, DX se utiliza para especificar la dirección del puerto de E/S.

2. Registro de puntero y registro de índice

El registro de puntero incluye el registro de pila SP (puntero de pila) y el registro de puntero base BP (puntero base), y cambia

incluye el registro de índice de origen SI (índice de origen) y el registro de índice de destino DI (índice de destino). Estos

los cuatro registros son registros de 16 bits que también se pueden usar para almacenar operandos durante las operaciones (solo

en palabras), pero generalmente se usan para buscar dentro de un segmento. la dirección de desplazamiento al direccionar. SP y BP suelen ser los mismos que el registro de segmento SS.

Para determinar la dirección de una determinada unidad en el registro de la pila, se utiliza SP para representar la dirección de desplazamiento de la parte superior de la pila, y se puede utilizar BP

como la dirección base del área de la pila para determinar la dirección de desplazamiento en la pila. La dirección del operando. Registros generales SI, DI y registros de segmento

DS se utiliza para determinar la dirección de la unidad de almacenamiento en el segmento de datos. si y di tienen funciones de incremento y decremento automático.

Esto lo hace muy conveniente para usarlo como índice en instrucciones de manipulación de cadenas. SI se utiliza como índice de origen implícito DS y DI se utiliza como índice.

ES utiliza índices de destino implícitos para lograr objetivos de direccionamiento de segmentos de datos y segmentos adicionales.

3. Registros de segmento

A * * * tiene cuatro registros de dirección de segmento, son:

CS (Registro de segmento de código) Registro de segmento de código de 16 bits

Ds (registro de segmento de datos) registro de segmento de datos de 16 bits

SS (registro de segmento de pila) registro de segmento de pila de 16 bits

Es (registro de segmento adicional ) 16 es un registro de segmento adicional.

Como se menciona a continuación, la PC IBM utiliza un método de segmentación de direcciones de memoria para que 8086/8088 pueda direccionar 1 MB de memoria. El registro de segmento se usa para almacenar la dirección del segmento y el registro de segmento CS se usa para almacenar el programa que se está ejecutando actualmente. El registro de segmento DS se utiliza para almacenar los datos que se están ejecutando actualmente. Si se utilizan instrucciones de operación de segmento en el programa, el operando de origen también se almacena en el segmento de datos. El registro de segmento SS especifica el área donde se encuentra la pila y se utiliza el registro de segmento ES para almacenar datos auxiliares.

Debido a que ES es un segmento de datos adicional, al ejecutar instrucciones de operación de cadena, el operando de destino generalmente se almacena en el segmento ES.

4. Registro de control

IP (puntero de instrucción) es un registro de puntero de instrucción, un registro de 16 bits que se utiliza para almacenar la dirección de desplazamiento en el segmento de código. Sólo se puede utilizar con CS para determinar la dirección de la siguiente instrucción. En función de esta dirección, el controlador recupera la siguiente instrucción que se ejecutará desde la memoria designada y modifica la IP para que apunte a la siguiente instrucción que se ejecutará. Se puede ver que el registro IP se utiliza para controlar el flujo de ejecución de la serie de instrucciones.

PSW (Processor Status Word) es un registro de indicador de estado y un registro de 16 bits, que presentaremos más adelante en esta sección.

Los registros presentados anteriormente juegan un papel muy importante en el ordenador. Durante la operación, estos registros actúan como memoria, pero la velocidad de acceso es mucho más rápida que la memoria.

1.3.2 Estructura de programación 8086/8088

La llamada estructura de programación se refiere a la estructura desde la perspectiva del usuario. Es una estructura dividida por funciones. diferente de la estructura física real dentro de la CPU. La estructura es diferente.

La estructura de programación de 8086 se muestra en la Figura 1-4. Está dividido en dos partes. Es decir, la parte de interfaz de bus BIU (Unidad de interfaz de bus) y la parte de ejecución EU (Unidad de ejecución).

La parte de interfaz del bus se encarga de transmitir datos con la memoria y los puertos de periféricos. Específicamente, cuando la parte de la interfaz del bus recupera una instrucción de la memoria y la envía a la cola de instrucciones, cuando la CPU ejecuta la instrucción, la parte de la interfaz del bus también recupera los operandos requeridos de la unidad de almacenamiento designada o del puerto periférico y los envía a Se ejecuta la parte de ejecución y, a la inversa, también se pasa el resultado de la operación de la parte de ejecución.

La interfaz del bus se transfiere a la unidad de memoria o al puerto periférico especificado.

El componente de interfaz de bus consta de las siguientes cuatro partes: registros de 4 segmentos, registro de puntero de instrucción IP, sumador de direcciones de 20 bits y cola de instrucciones de 6 bytes.

El sumador de direcciones se utiliza para generar 20 direcciones. Como se mencionó anteriormente, todos los registros en 8086/8088 son de 16 bits, y 8086/8088 puede direccionar 1 MB de espacio de almacenamiento con una dirección de 20 bits, lo que requiere un sumador de direcciones de 16 bits.

Registre información y calcule la dirección física de 20 bits. El algoritmo específico se presentará más adelante en esta sección cuando se analice la organización de la memoria.

Una cosa a tener en cuenta sobre la parte de la interfaz del bus es que la cola de instrucciones de 8086 es de 6 bytes, mientras que la de 8088 es de 4 bytes. Ya sea 8086 u 8088, al ejecutar la instrucción, las siguientes una o más instrucciones se recuperarán de la memoria. Las instrucciones recuperadas se colocan en la cola de instrucciones, se organizan en orden y se ejecutan en UE por turno. La función de la parte de ejecución UE es responsable de la ejecución de las instrucciones.

La parte de ejecución incluye: 4 registros de datos, 2 registros de puntero, 2 registros de valor variable, 1 registro de bandera de estado y una unidad lógica aritmética.

Se puede ver en la estructura del programa que, dado que la parte de la interfaz del bus y la parte de ejecución están separadas, cada vez que EU ejecuta una instrucción, lo que resulta en dos o un bytes de instrucción vacíos en la cola de instrucciones, BIU inmediatamente recupera la siguiente instrucción o instrucciones de la memoria para llenar su cola de instrucciones. De esta manera, en circunstancias normales, la CPU puede ejecutar inmediatamente la siguiente instrucción después de ejecutar una instrucción, a diferencia de la CPU de 8 bits anterior que tenía que esperar la siguiente instrucción después de ejecutar una instrucción.

1.3.3 Organización de la memoria de 8086/8088

1. Dirección y contenido de la unidad de almacenamiento

2. La unidad básica de almacenamiento de información de la computadora es el bit binario. Cada ocho bits forman un byte.