El 8086 es 16 - viruta del microprocesador del pedacito diseñada por el Intel e introducida en el mercado en el 1978, que dio lugar a la arquitectura X86 . El Intel 8088, lanzados en el 1979, era esencialmente la misma viruta, pero con un ómnibus de datos de 8 bits externo (permitiendo el uso virutas de lógica más baratas y de pocas favorables), y es notable como el procesador usado en la PC original de IBM.

Historia

Backround

En el 1972, Intel puso en marcha el 8008, el primer microprocesador de 8 bits, construido en tecnología del PMOS . Ejecutó un sistema de instrucción diseñado por la corporación de Datapoint con los CRT-terminales programables en la mente, pero que también demostró ser bastante de fines generales. El dispositivo necesitó vario el adicional ICs para producir una computadora funcional, en la parte debido a su " de 18 pernos; memoria-package" la limitación que previno un autobús de dirección separado (Intel era sobre todo fabricante de la COPITA en ese entonces). Dos años más adelante, en el 1974, Intel lanzó el microprocesador 8080, construido en tecnología del NMOS, con 40 pernos (permitiendo un autobús de dirección separado) y un sistema de instrucción extendida que era la fuente compatible (no compatible binario) con el precursor 8008; también incluyó algunas instrucciones de 16 bits de hacer la programación más fácil. El dispositivo 8080 por lo tanto se describe a menudo como el primer microprocesador verdadero útil, pero no obstante pronto fue substituido por el 8085, que podría hacer frente a una sola fuente de alimentación 5V en vez de los tres voltajes de virutas anteriores. Otros microprocesadores de 8 bits bien conocidos que emergieron durante estos años eran Motorola 6800 (1974), el microchip PIC16X (1975), la tecnología 6502 (1975) del MOS, Zilog Z80 (1976), y Motorola 6809 (1977), así como otros.

El primer diseño x86

Los 8086 fueron pensados original como un substituto temporal para el proyecto ambicioso IAPX 432 en un intento por extraer la atención de los 16 menos-retrasados y los procesadores de 32 bits de otros fabricantes (tales como Motorola, Zilog, y semiconductor nacional ). La arquitectura y la viruta física por lo tanto fueron desarrolladas muy rápidamente, y basadas en el anterior 8080 y los diseños 8085 con un sistema de registro similar. La viruta tenía alrededor 29.000 transistores (muchos para el microcódigo) y también funcionaría como una continuación de los 8085; aunque no no directo el código fuente compatible, él fuera diseñado de modo que el de lenguaje de ensamblaje para los 8085 se pudiera convertir automáticamente en fuente (subóptima) de 8086 asambleas, generalmente con poco o nada de mano-corregir. Sin embargo, el diseño 8086 fue ampliado para apoyar el proceso de 16 bits completo en vez de las capacidades de 16 bits bastante básicas de Intel 8080/8085.

Mientras que está sabida menos que la viruta 8088, la herencia de los 8086 está aguantando; las referencias a ella se pueden todavía encontrar en la mayoría de las computadoras modernas bajo la forma de entrada del vendedor para todos los IDs del dispositivo de Intel que es " 8086".

Detalles

¡derechos reservados quitado: -->

Autobuses y operación

Todos los registros internos tan bien como los ómnibus de datos internos y externos están 16 pedacitos de par en par, firmemente estableciendo el " microprocessor" de 16 bits; apodo de los 8086. Un autobús de dirección externo de 20 pedacitos da un 1 espacio de dirección física del MIB (dividido en segmentos) (220 = 1. las direcciones de 16 bits de la entrada-salida dan a 64 el KiB del espacio separado de la entrada-salida. (216 = 65. Los pernos del control llevan las señales esenciales para todas las operaciones externas.

El ómnibus de datos era multiplexado con el autobús de dirección, éste disminuía solamente levemente funcionamiento sin embargo, como otros factores, más importantes para esta viruta particular, sombrea esta opción del diseño; transferencias de 16 (o 8) de cantidades del pedacito se hacen en un ciclo del acceso de memoria del cuatro-reloj. 8086 instrucciones variaron a partir 1 a 6 octetos. Por lo tanto, el alcance y la ejecución eran el concurrente (como sigue habiendo en los diseños de hoy x86): La unidad de interfaz de autobús del alimenta la corriente de la instrucción a la unidad de ejecución del a través de una coleta del prefetch de 6 octetos (una forma de la can¢ería débilmente acoplada ), acelerando operaciones en el registro y los immediates mientras que las operaciones de memoria desafortunadamente llegaron a ser más lentas (4 años más tarde, este problema de funcionamiento fue fijado con el 80186 y el 80286 ). El aumento del funcionamiento sobre los 8080 y los 8085 resultando de la arquitectura de 16 bits (en vez de parcial) completo, del operando contra las ortogonalizaciones de la operación y de otros realces, seguía siendo bastante significativo, a pesar de los casos donde las virutas más viejas pueden ser más rápidas (véase abajo).

El espacio de dirección linear del máximo se limita a 64 KB, simplemente porque los registros internos son solamente 16 pedacitos de par en par. La programación sobre límites de 64 KB implica el ajustar de los registros del segmento (véase abajo) y es por lo tanto bastante torpe (y restos tan hasta el 80386 ). Algunos pernos del control tienen más de una función dependiendo de si el dispositivo está funcionado en el " min" o " max" modo. El anterior se piensa para los pequeños solos sistemas de procesador mientras que este 3ultimo está para los sistemas medios o grandes usar más de un procesador. El procesador tenía algunas nuevas instrucciones (no presente en los 8085) de mejorar lenguajes el de programación de alto nivel basados apilado de la ayuda tales como Pascal y C; algunos los más útiles eran el empuje immed, mem-de Op. del del empuje, y el enría el tamaño del de (varios otros serían agregados en los 80186, 80286, y 80386 diseños subsecuentes).

Registros e instrucciones

Los 8086 tiene ocho (más o menos general) registros de 16 bits incluyendo el puntero de pila, pero exclusión del indicador de instrucción, del registro de la bandera y de los registros del segmento. Cuatro de ellos se podrían también alcanzar como ocho registros de 8 bits (véase el cuadro).

Debido a una codificación compacta inspirada por 8085 y otros procesadores de 8 bits, la mayoría de las instrucciones eran operaciones de una dirección o del formato de dos direcciones que significa que el resultado fue almacenado en uno de los operandos. A lo más uno de los operandos podría estar en memoria, pero este operando de la memoria podría también ser la destinación del, mientras que el otro operando, la fuente del, podría ser cualquier registro del o el inmediato. Una sola posición de memoria se podría también utilizar a menudo como la fuente del y destinación del que, entre otros factores, contribuyeron más lejos a una huella ejecutable algo pequeña del código, comparable a la mayoría de las máquinas de ocho bites.

Aunque el grado de la ortogonalidad entre los registros y las operaciones fuera mayor que en 8085, era todavía bajo, y los registros también fueron utilizados a veces implícito por instrucciones. Mientras que perfectamente es sensible para el programador de la asamblea, esta asignación complicada del registro para los recopiladores comparó a un contemporáneo más regular 16 - y los procesadores de 32 bits (tales como VAX o 68000); por una parte, comparado a los procesadores de 8 bits contemporáneos (tales como 8085 o 6502), era perceptiblemente más fácil generar el código para el diseño 8086.

Según lo mencionado sobre 8086 también ofrecidos 64 KB (o alternativo 32 claves o de 16 bits) de espacio de 8 bits de la entrada-salida . Un apilado de 64 KB (un segmento) que crece hacia direcciones más bajas es apoyado por el hardware ; 2 palabras del octeto se empujan al apilado y la tapa del apilado (parte inferior) es precisada por los SS: SP. Hay 256 interrupciones que se pueden invocar por el soporte físico y el software. Las interrupciones pueden conectar en cascada, usar el apilado para almacenar el remite .

Segmentación

Había también cuatro registros del segmento que se podrían fijar de los registros de índice. Los registros del segmento permitieron que la CPU tuviera acceso a un Mebibyte + 64 el KiB - 16 octetos de memoria de una manera impar. Algo que apenas octetos que falta de abastecimiento, como en la mayoría de los procesadores divididos en segmentos, los 8086 cambiaron de puesto el registro del segmento dejaron 4 pedacitos y los agregaron a la dirección de la compensación, así: la dirección física del

l = segment×16 + compensaron

La dirección de memoria física era por lo tanto 20 pedacitos de par en par (mientras que el segmento y la compensación eran 16 pedacitos). Como resultado de este esquema, los segmentos se traslaparon, permitiendo tener hasta 4096 diversos indicadores del el tratar de la misma localización. Mientras que es aceptable, e incluso útil, para el de lenguaje de ensamblaje la programación (donde estaba completo el control de los segmentos) de él causó la confusión y era considerada diseño pobre por la mayoría de la gente, forzando enteramente los nuevos conceptos ( cerca de y del de palabras claves lejos ) en idiomas tales como Pascal y C ; los datos y/o el código se podrían manejar dentro de cerca de segmentos de 16 bits de, o una estructura de datos grande (o mucho y/o procedimientos grandes) se podría alcanzar por los indicadores lejanos del (segment de 32 bits: pares de offset) que alcanzan el espacio de dirección física completo.

Aunque este esquema hiciera ampliando el espacio de dirección más que los octetos 220 más difícil, sin embargo pronto fue ampliado por un nuevo MMU - esquema de dirección controlada en modo protegido de s 80286 el el '. Más adelante, y encima de esto, el 80386 amplió el sistema de registros de fines generales entero (y por lo tanto, las compensaciones) a 32 pedacitos, de tal modo permitiendo un radio de acción de dirección linear del de octetos 232 (con una gama del total del de 236). Sin embargo, esas virutas eran, durante un largo periodo de tiempo, de uso frecuente en el modo verdadero, siguiendo siendo compatible con un OSes más viejo.

De una manera similar, los programas tempranos podrían no hacer caso de los segmentos, y apenas utilizan el llano de 16 bits que trataba, que permitió que a el software de 8 bits de fuera virado hacia el lado de babor fácilmente a los 8086. Los autores del MS-DOS se aprovecharon de esto proporcionando un interfaz de programación de uso muy similar al CP/M . Esto era importante cuando los 8086 eran nuevos, porque permitió que muchos usos existentes CP/M rápidamente fueran hechos disponibles en la nueva plataforma, que facilitó grandemente la transición.

Funcionamiento

Tiempos de ejecución para las instrucciones típicas (en ciclos de reloj):

Las sincronizaciones del son el mejor caso, dependiendo de estado del prefetch, de alineación de la instrucción, y de otros factores.

Registro de los MOVIMIENTOS, registro: 2, registro, im: 4, registro, mem: 8+EA, mem, registro: 9+EA, mem, im: ciclos 10+EA Registro de ALU, registro: 3, registro, im: 4, registro, mem: 9+EA, mem, registro: 16+EA, mem, im: ciclos 17+EA

Registro de JMP: 11, etiqueta de JMP: 15, etiqueta de Jcc: 16 (cc = código de condición)

Registro de MUL: 70.118 ciclos Registro de IDIV: 101.165 ciclos

EA: hora de computar el direccionamiento efectivo, extendiéndose a partir del 5 a 12 ciclos.

Como puede ser visto de estas tablas, las operaciones en los registros y los immediates eran rápidas (entre 2 y 4 ciclos), mientras que las instrucciones del memoria-operando y los saltos eran absolutamente lentos; los saltos tomaron más ciclos que en el simple 8080 y el 8085, y los 8088 (utilizado en la PC de IBM) fueron obstaculizados además por su autobús más estrecho. Las razones por las que eran la mayoría de las instrucciones relacionadas memoria así que el lentos eran triples:
Las unidades de la ejecución y del alcance estaban débilmente acopladas; esto es eficiente para el prefetch de la instrucción, pero menos óptimo para los saltos y el acceso de datos al azar.
Los cálculos de la generación de la dirección fueron realizados en gran parte por rutinas del microcódigo.
Los ómnibus de la dirección y de datos eran multiplexados para caber un paquete en línea dual del perno del estándar 40.

Debe ser observado, sin embargo, que el funcionamiento del acceso de memoria fue realzado drástico con las virutas de la generación siguiente de Intel; el 80186 y el 80286 ambos tenían cálculo de dirección en el hardware, ahorrando muchos ciclos; el 80286 también tenía ómnibus (no-multiplexados) separados de la dirección y de datos.

Versiones de la viruta

La frecuencia de reloj fue limitada original a 5 megaciclos (la PC de IBM utilizó 4.773 megaciclos, 4/3 de NTSC de color de la frecuencia estándar de la explosión de 3.579545 megaciclos), pero las versiones pasadas en el HMOS fueron especificadas para 10 megaciclos. Cmos - las versiones fueron fabricadas durante mucho tiempo (por lo menos un rato en los años 90) para los sistemas encajados aunque su sucesor, el 80186 / 80188, haya sido más popular para el uso encajado.

Las versiones compatibles y, en muchos casos, realzadas fueron fabricadas por el Fujitsu, Harris / Intersil, OKI, Siemens AG, Texas Instruments, NEC, y AMD . Por ejemplo, series S del NEC las 'eficientemente de ejecutado 8086 procesadores compatibles (NEC V20, V25, V30, etc) todavía se utilizan en sistemas encajados, al igual que Intel 80186 .

El 8086/8088 se podía conectar con un coprocesador matemático para agregar capacidad de la coma flotante . El Intel 8087 era el coprocesador de matemáticas estándar, funcionando en 80 números de pedacito, pero los fabricantes como el Weitek pronto ofrecieron alternativas de un rendimiento más alto.

Copias

La industria de electrónica Unión Soviética podía replegar los 8086 con espionaje industrial y la ingeniería reversa. La viruta resultante, K1810BM86, era perno-compatible con Intel original 8086 y tenía el mismo sistema de instrucción. Este IC era la base de las mesas PC-compatibles Soviet-hechas ES1840 y ES1841 . Sin embargo, en hardware estas computadoras tenían diferencias significativas de sus prototipos auténticos (respectivamente PC y PC/XT): el K1810BM86 era una copia de Intel 8086, no Intel 8088, y el trazado de circuito del autobús de los datos/de dirección fue diseñado independiente de los productos originales de IBM.

Un par interesante de derivados era el NEC V20 y NEC V30. Éstos eran hardware compatible con los 8088 y los 8086, respectivamente, pero incorporaron el sistema de instrucción Intel 80186 . Fueron pensados para proporcionar gota-en capacidades de la mejora para permitir que los fabricantes aumenten sus diseños al nuevo sistema de instrucción y a la instrucción más rápida que procesaban sin tener que modificar sus diseños.

Insectos notables

8086 CPU produjeron antes de 1982 tenían un insecto severo de la interrupción. IBM proporcionó una mejora gratuitamente a las PC afectadas. Los procesadores que permanecen con las marcas de la original 1979 son absolutamente raros; alguna gente los considera los artículos del colector.

Microordenadores usar los 8086

Uno de los microordenadores más influyentes de todos, la PC de IBM, utilizó el Intel 8088, una versión de los 8086 con un ómnibus de datos de ocho bites (según lo mencionado anteriormente).
El primer microordenador comercial construido en base de los 8086 era el Mycron 2000.
La máquina de procesamiento de textos de IBM Displaywriter y la computadora profesional de Wang, manufacturadas por los laboratorios de Wang, también utilizaron los 8086. También, esta viruta se podría encontrar en la PC de AT&T 6300 (construida por el Olivetti ).
El primer Compaq Deskpro utilizó 8086 que funcionaban en 7.14 megaciclos, pero era capaz de funcionar las tarjetas de diapositivo suplementario diseñadas para la PC XT de IBM de 4.
El FLT86 es un sistema de entrenamiento establecido para la CPU 8086 todavía que es fabricada por la electrónica limitado internacional de Flite del en el Southampton, Inglaterra

Notas y referencias

Ver también

IBM XT de computadora personal
Arquitectura X86

.

  • Zenithic
  • Intel 8086
    Random links:Partícula en un anillo | Moret-sur-Loing | Departamento de Kalisz | Juan Houghton (mártir) | Escuela preparatoria de la trinidad

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">