Articulo de referencia

Intel 8086

{{Cite web |title=The Life Cycle of a CPU |url=https://www.cpushack.com/life-cycle-of-cpu.html |website=www.cpushack.com |access-date=26 January 2025 |archive-date=20 July 2021 ...

El 8086 [ 3 ] (también llamado iAPX 86 ) [ 4 ] es un chip microprocesador de 16 bits lanzado por Intel el 8 de junio de 1978 [ 5 ] después de que su desarrollo comenzara a principios de 1976. [ 6 ] Le siguió el Intel 8088 en 1979, [ 7 ] que era un chip ligeramente modificado con un bus de datos externo de 8 bits (lo que permitía el uso de circuitos integrados de soporte más baratos y en menor cantidad ). [ nota 1 ]

El 8086 dio origen a la arquitectura x86 , que con el tiempo se convirtió en la línea de procesadores más exitosa de Intel. El 5 de junio de 2018, Intel lanzó una CPU de edición limitada para celebrar el 40.º aniversario del Intel 8086, llamada Intel Core i7-8086K . [ 5 ]

Historia

Fondo

En 1972, Intel lanzó el 8008 , el primer microprocesador de 8 bits de Intel. [ nota 2 ] Implementaba un conjunto de instrucciones diseñado por Datapoint Corporation pensando en terminales CRT programables , que también demostró ser bastante versátil. El dispositivo necesitaba varios circuitos integrados adicionales para producir una computadora funcional, en parte debido a que estaba empaquetado en un pequeño encapsulado de memoria de 18 pines, lo que descartaba el uso de un bus de direcciones independiente (Intel era principalmente un fabricante de DRAM en ese momento).

Dos años después, Intel lanzó el 8080 , empleando los nuevos paquetes DIL de 40 pines desarrollados originalmente para circuitos integrados de calculadoras para habilitar un bus de direcciones separado. Tenía un conjunto de instrucciones extendido que era compatible a nivel de código fuente (no binario ) con el 8008 [ 8 ] y también incluía algunas instrucciones de 16 bits para facilitar la programación. El dispositivo 8080 fue finalmente reemplazado por el 8085 (1977) basado en carga de agotamiento , que usaba una única fuente de alimentación de +5 V en lugar de los tres voltajes de operación diferentes de los chips anteriores. [ nota 3 ] Otros microprocesadores de 8 bits bien conocidos que surgieron durante estos años son Motorola 6800 (1974), General Instrument PIC16X (1975), MOS Technology 6502 (1975), Zilog Z80 (1976) y Motorola 6809 (1978). 

El primer diseño x86

Imagen del chip de la CPU Intel 8086

El proyecto 8086 comenzó en mayo de 1976 [ 9 ] y originalmente fue concebido como un sustituto temporal del ambicioso y retrasado proyecto iAPX 432. Fue un intento de desviar la atención de los procesadores de 16 y 32 bits de otros fabricantes, que sufrieron menos retrasos: Motorola , Zilog y National Semiconductor .

Aunque el 8086 era un microprocesador de 16 bits, utilizaba una arquitectura similar a la de los microprocesadores de 8 bits de Intel (8008, 8080 y 8085). Esto permitió que los programas en lenguaje ensamblador escritos en 8 bits migraran sin problemas . [ 10 ] Se añadieron nuevas instrucciones y características, como enteros con signo, direccionamiento base+desplazamiento y operaciones autorrepetitivas. Se añadieron instrucciones para facilitar la compilación del código fuente de funciones anidadas en la familia de lenguajes ALGOL , incluidos Pascal y PL/M . Según el arquitecto principal Stephen P. Morse , esto fue resultado de un enfoque más centrado en el software. Otras mejoras incluyeron instrucciones de microcódigo para las instrucciones de multiplicación y división en lenguaje ensamblador. Los diseñadores también previeron coprocesadores , como el 8087 y el 8089 , por lo que la estructura del bus se diseñó para ser flexible.

La primera revisión del conjunto de instrucciones y la arquitectura de alto nivel estuvo lista después de unos tres meses [ nota 4 ] , y como casi no se utilizaron herramientas CAD, cuatro ingenieros y doce  diseñadores de circuitos integrados trabajaron simultáneamente en el chip [ nota 5 ] . El 8086 tardó poco más de dos años desde la idea hasta el producto funcional, lo que se consideró rápido para un diseño complejo en la década de 1970.

El 8086 fue secuenciado [ nota 6 ] utilizando una mezcla de lógica aleatoria [ 11 ] y microcódigo , y se implementó utilizando circuitos nMOS de carga de agotamiento con aproximadamente 20 000 transistores  activos (29 000 contando todos los sitios ROM y PLA ). Pronto se pasó a un nuevo proceso de fabricación nMOS refinado llamado HMOS (por High performance MOS) que Intel desarrolló originalmente para la fabricación de productos RAM estática rápidos . [ nota 7 ] A esto le siguieron las versiones HMOS-II, HMOS-III y, finalmente, una versión CMOS totalmente estática para dispositivos alimentados por batería, fabricada utilizando los procesos CHMOS de Intel . [ nota 8 ] El chip original medía 33 mm² y el tamaño mínimo de característica era de 3,2 μm. Las instrucciones MUL y DIV eran muy lentas debido a que estaban microcodificadas, por lo que los programadores x86 generalmente solo usaban las instrucciones de desplazamiento de bits para multiplicar y dividir en su lugar.  

El microcontrolador 8086 se miniaturizó a 2 μm en 1981; esta versión también corrigió un error en el registro de pila de los chips originales de 3,5 μm. Las variantes posteriores de 1,5 μm y CMOS se subcontrataron a otros fabricantes y no se desarrollaron internamente.

La arquitectura fue definida por Stephen P. Morse con la ayuda de Bruce Ravenel (el arquitecto del 8087) para refinar las revisiones finales. El diseñador lógico Jim McKevitt y John Bayliss fueron los ingenieros principales del equipo de desarrollo a nivel de hardware [ nota 9 ] y Bill Pohlman el gerente del proyecto. El legado del 8086 perdura en el conjunto de instrucciones básicas de las computadoras personales y servidores actuales; el 8086 también prestó sus dos últimos dígitos a versiones extendidas posteriores del diseño, como el Intel 286 y el Intel 386 , que finalmente se conocieron como la familia x86 . Además, el ID de proveedor PCI para los dispositivos de sistema producidos por Intel es 8086. [ 12 ]

Detalles

Asignación de pines del 8086 en modo mínimo y máximo

Autobuses y operación

All internal registers, as well as internal and external data buses, are 16 bits wide, which firmly established the "16-bit microprocessor" identity of the 8086. A 20-bit external address bus provides a 1 MiB physical address space (220 = 1,048,576 x 1 byte). This address space is addressed by means of internal memory "segmentation". The data bus is multiplexed with the address bus in order to fit all of the control lines into a standard 40-pin dual in-line package. It provides a 16-bit I/O address bus, supporting 64 KB of separate I/O space. The maximum linear address space is limited to 64 KB, simply because internal address/index registers are only 16 bits wide. Programming over 64 KB memory boundaries involves adjusting the segment registers (see below); this difficulty existed until the 80386 architecture introduced wider (32-bit) registers (the memory management hardware in the 80286 did not help in this regard, as its registers are still only 16 bits wide).

Hardware modes of 8086

Some of the control pins, which carry essential signals for all external operations, have more than one function depending upon whether the device is operated in min or max mode. The former mode is intended for small single-processor systems, while the latter is for medium or large systems using more than one processor (a kind of multiprocessor mode). Maximum mode is required when using an 8087 or 8089 coprocessor. The voltage on pin 33 (MN/MX) determines the mode. Changing the state of pin 33 changes the function of certain other pins, most of which have to do with how the CPU handles the (local) bus.[note 10] The mode is usually hardwired into the circuit and therefore cannot be changed by software. The workings of these modes are described in terms of timing diagrams in Intel datasheets and manuals. In minimum mode, all control signals are generated by the 8086 itself.

Registers and instruction

The 8086 has eight more-or-less general 16-bit registers (including the stack pointer but excluding the instruction pointer, flag register and segment registers). Four of them, AX, BX, CX, DX, can also be accessed as 8-bit register pairs (see figure) while the other four, SI, DI, BP, SP, are 16-bit only.[13]

Gracias a una codificación compacta inspirada en los procesadores de 8 bits, la mayoría de las instrucciones son operaciones de una o dos direcciones, lo que significa que el resultado se almacena en uno de los operandos. Como máximo, uno de los operandos puede estar en memoria, pero este operando en memoria también puede ser el destino , mientras que el otro operando, el origen , puede ser un registro o un valor inmediato . Una única ubicación de memoria también puede usarse a menudo como origen y destino , lo que, entre otros factores, contribuye a una densidad de código comparable (y a menudo superior) a la de la mayoría de las máquinas de ocho bits de la época.

El grado de generalidad de la mayoría de los registros es mucho mayor que en los 8080 o 8085. Sin embargo, los registros del 8086 eran más especializados que en la mayoría de los miniordenadores contemporáneos y también se utilizan implícitamente en algunas instrucciones. Si bien esto es perfectamente comprensible para el programador de ensamblador, complica la asignación de registros para los compiladores en comparación con los procesadores de 16 y 32 bits más ortogonales de la época, como el PDP-11 , VAX , 68000 , 32016 , etc. Por otro lado, al ser más regulares que los microprocesadores de 8 bits, bastante minimalistas pero omnipresentes, como el 6502 , 6800 , 6809 , 8085 , MCS-48 , 8051 y otras máquinas contemporáneas basadas en acumuladores, es significativamente más fácil construir un generador de código eficiente para la arquitectura 8086.

Otro factor que influye en esto es que el 8086 también introdujo algunas instrucciones nuevas (no presentes en los 8080 y 8085) para brindar un mejor soporte a lenguajes de programación de alto nivel basados ​​en pila, como Pascal y PL/M ; algunas de las instrucciones más útiles son y ret size , que admiten directamente la " convención de llamada de Pascal ". (Varias otras, como y , se agregaron en los procesadores posteriores 80186, 80286 y 80386).pushmem-oppush immedenter

Se admite una pila  de 64 KB (un segmento) que crece hacia direcciones más bajas en el hardware ; las palabras de 16 bits se insertan en la pila, y la parte superior de la pila está apuntada por SS:SP. Hay 256 interrupciones , que pueden ser invocadas tanto por hardware como por software. Las interrupciones pueden propagarse en cascada, utilizando la pila para almacenar las direcciones de retorno . 

El microcontrolador 8086 dispone de 64 KB de espacio para puertos de E/S  de 8 bits (o, alternativamente, 32  KB de palabras de 16 bits) .

Banderas

El 8086 tiene un registro de indicadores de 16 bits . Nueve de estos indicadores de código de condición están activos e indican el estado actual del procesador: indicador de acarreo (CF), indicador de paridad (PF), indicador de acarreo auxiliar (AF), indicador de cero (ZF), indicador de signo (SF), indicador de trampa (TF), indicador de interrupción (IF), indicador de dirección (DF) e indicador de desbordamiento (OF). También conocido como palabra de estado, la disposición del registro de indicadores es la siguiente: [ 14 ]

Segmentación

También existen cuatro registros de segmento de 16 bits (véase la figura) que permiten a la CPU 8086 acceder a un megabyte de memoria de una forma inusual. En lugar de concatenar el registro de segmento con el registro de dirección, como en la mayoría de los procesadores cuyo espacio de direcciones supera el tamaño de sus registros, el 8086 desplaza el segmento de 16 bits cuatro bits a la izquierda antes de sumarlo al desplazamiento de 16 bits (16 × segmento + desplazamiento), generando así una dirección externa (o efectiva o física) de 20 bits a partir del par segmento:desplazamiento de 32 bits. Como resultado, cualquier dirección externa podría ser referenciada por hasta 2¹² = 4096 pares segmento:desplazamiento diferentes. [ 15 ]

Aunque muchos programadores lo consideran complicado y engorroso, este esquema también tiene ventajas: un programa pequeño (menos de 64  KB) se puede cargar a partir de un desplazamiento fijo (como 0000) en su propio segmento, evitando la necesidad de reubicación , con un desperdicio de alineación de como máximo 15  bytes.

Los compiladores para la familia 8086 suelen admitir dos tipos de punteros : cercanos y lejanos . Los punteros cercanos son desplazamientos de 16 bits asociados implícitamente al segmento de código o datos del programa, por lo que solo pueden usarse dentro de partes del programa lo suficientemente pequeñas como para caber en un segmento. Los punteros lejanos son pares segmento:desplazamiento de 32 bits que se resuelven en direcciones externas de 20 bits. Algunos compiladores también admiten punteros enormes , que son similares a los punteros lejanos, excepto que la aritmética de punteros en un puntero enorme lo trata como un puntero lineal de 20 bits, mientras que la aritmética de punteros en un puntero lejano se despliega dentro de su desplazamiento de 16 bits sin tocar la parte del segmento de la dirección.

Para evitar tener que especificar punteros cercanos y lejanos en numerosos punteros, estructuras de datos y funciones, los compiladores también admiten "modelos de memoria" que especifican tamaños de puntero predeterminados. Los modelos tiny (máx. 64K), small (máx. 128K), compact (datos > 64K), medium (código > 64K), large (código, datos > 64K) y huge (matrices individuales > 64K) cubren combinaciones prácticas de punteros cercanos, lejanos y huge para código y datos. El modelo tiny implica que el código y los datos se comparten en un único segmento, como en la mayoría de los procesadores de 8 bits, y se puede usar para crear archivos .com, por ejemplo. Las bibliotecas precompiladas suelen venir en varias versiones compiladas para diferentes modelos de memoria.

Según Morse et al., [ 16 ] los diseñadores contemplaron usar un desplazamiento de 8 bits (en lugar de 4 bits) para crear un  espacio de direcciones físicas de 16 MB. Sin embargo, dado que esto habría obligado a que los segmentos comenzaran en límites de 256 bytes, y 1  MB se consideraba muy grande para un microprocesador alrededor de 1976, la idea fue descartada. Además, no había suficientes pines disponibles en un paquete de 40 pines de bajo costo para los cuatro pines adicionales del bus de direcciones.

En principio, el espacio de direcciones de la serie x86 podría haberse ampliado en procesadores posteriores aumentando el valor de desplazamiento, siempre que las aplicaciones obtuvieran sus segmentos del sistema operativo y no hicieran suposiciones sobre la equivalencia de diferentes pares segmento:desplazamiento. [ nota 11 ] En la práctica, el uso de punteros "enormes" y mecanismos similares estaba muy extendido, y el direccionamiento plano de 32 bits, posible gracias a los registros de desplazamiento de 32 bits del 80386, acabó ampliando el rango de direccionamiento limitado de forma más general.

El flujo de instrucciones se obtiene de la memoria como palabras y el procesador lo direcciona internamente a nivel de byte según sea necesario. Un mecanismo de cola de flujo de instrucciones permite que se encolan hasta 6 bytes del flujo de instrucciones mientras se espera su decodificación y ejecución. La cola actúa como un búfer FIFO ( primero en entrar, primero en salir ), del cual la Unidad de Ejecución (UE) extrae los bytes de instrucción según se requiera. Siempre que haya espacio para al menos dos bytes en la cola, la BIU intentará un ciclo de memoria de obtención de palabras. Si la cola está vacía (después de una instrucción de salto, por ejemplo), el primer byte que se introduce en la cola queda inmediatamente disponible para la UE. [ 17 ]

Adaptación de software antiguo

Small programs could ignore the segmentation and just use plain 16-bit addressing. This allows 8-bit software to be easily ported to the 8086. MS-DOS took advantage of this by providing an Application Programming Interface very similar to CP/M as well as including the simple .com executable file format, identical to CP/M. This was important when the 8086 and MS-DOS were new, because it allowed many existing CP/M (and other) applications to be quickly made available, greatly easing acceptance of the new platform.

Interrupts

Format of the 8086's interrupt vector table

Interrupts on the 8086 can be either software or hardware-initiated. Interrupts are long calls that also save the processor status. Interrupt routines typically end with a IRET instruction. All interrupts have a 8-bit interrupt number associated with them. This number is used to look up a segment:offset in a 256 element interrupt vector table stored at addresses 0-3FFH. When any type of interrupt is encountered, the processor status is pushed, CS and IP are pushed, and the interrupt number is multiplied by four to index a new execution address which is loaded from the vector table.

There are three types of software interrupt instructions: INT n, INTO, and a single-byte INT 3 used for debugging.

There are two kinds of hardware interrupts: maskable and non-maskable.

Non-maskable interrupts are higher priority than maskable interrupts. They cannot be disabled by interrupt enable. A low to high transition on the NMI pin essentially causes an INT 2 to execute.

Maskable interrupts are enabled and disabled by the STI and CLI instructions respectively. When the INTR is asserted by a hardware device, the 8086 asserts INTA twice, reading an 8-bit interrupt number from the bus. This number is multiplied by four to point to the associated interrupt service routine address in the vector table. Maskable interrupts are disabled when INTA is asserted, but are re-enabled upon executing the IRET instruction at the end of the interrupt service routine.[17]

Example code

The following 8086 assembly source code is for a subroutine named _strtolower that copies a null-terminated ASCIIZ character string from one location to another, converting all alphabetic characters to lower case. The string is copied one byte (8-bit character) at a time.

El código de ejemplo utiliza el registro BP (puntero base) para establecer un marco de llamada , un área en la pila que contiene todos los parámetros y variables locales para la ejecución de la subrutina. Este tipo de convención de llamada admite código reentrante y recursivo , y ha sido utilizado por lenguajes tipo Algol desde finales de la década de 1950. Se asume un modelo de memoria plana; específicamente, que los segmentos DS y ES direccionan la misma región de memoria.

Actuación

Diagrama de bloques simplificado del Intel 8088 (una variante del 8086); 1=registros principal e índice; 2=registros de segmento e IP; 3=sumador de direcciones; 4=bus de direcciones interno; 5=cola de instrucciones; 6=unidad de control (¡muy simplificada!); 7=interfaz de bus; 8=bus de datos interno; 9=ALU; 10/11/12=bus de direcciones/datos/control externo.

Aunque parcialmente eclipsado por otras decisiones de diseño en este chip en particular, los buses de direcciones y datos multiplexados limitan ligeramente el rendimiento; las transferencias de cantidades de 16 o 8 bits se realizan en un ciclo de acceso a memoria de cuatro relojes, que es más rápido en cantidades de 16 bits, aunque más lento en cantidades de 8 bits, en comparación con muchas CPU contemporáneas basadas en 8 bits. A medida que las instrucciones varían de uno a seis bytes, la búsqueda y la ejecución se hacen concurrentes y se desacoplan en unidades separadas (como sigue ocurriendo en los procesadores x86 actuales): la unidad de interfaz de bus alimenta el flujo de instrucciones a la unidad de ejecución a través de una cola de prebúsqueda de 6 bytes (una forma de segmentación débilmente acoplada ), lo que acelera las operaciones en registros e inmediatos , mientras que las operaciones de memoria se vuelven más lentas (cuatro años después, este problema de rendimiento se solucionó con los 80186 y 80286 ). Sin embargo, la arquitectura completa (en lugar de parcial) de 16 bits con una ALU de ancho completo permitió que las instrucciones aritméticas de 16 bits se ejecutaran con un solo ciclo de ALU (en lugar de dos, mediante acarreo interno, como en los 8080 y 8085), acelerando considerablemente dichas instrucciones. Junto con la ortogonalización de las operaciones frente a los tipos de operandos y los modos de direccionamiento , así como otras mejoras, esto hizo que la ganancia de rendimiento con respecto a los 8080 o 8085 fuera bastante significativa, a pesar de que en algunos casos los chips más antiguos pueden ser más rápidos (véase más abajo).

  • EA = tiempo para calcular la dirección efectiva, que oscila entre 5 y 12 ciclos.
  • Los tiempos indicados son los mejores posibles y dependen del estado de la precarga, la alineación de las instrucciones y otros factores.

Como se puede observar en estas tablas, las operaciones en registros e inmediatos eran rápidas (entre 2 y 4 ciclos), mientras que las instrucciones de operandos de memoria y los saltos eran bastante lentos; los saltos requerían más ciclos que en los sencillos 8080 y 8085 , y el 8088 (utilizado en el IBM PC) se veía además perjudicado por su bus más estrecho. Las razones por las que la mayoría de las instrucciones relacionadas con la memoria eran lentas eran tres:

  • Loosely coupled fetch and execution units are efficient for instruction prefetch, but not for jumps and random data access (without special measures).
  • No dedicated address calculation adder was afforded; the microcode routines had to use the main ALU for this (although there was a dedicated segment + offset adder).
  • The address and data buses were multiplexed, forcing a slightly longer (33~50%) bus cycle than in typical contemporary 8-bit processors.

However, memory access performance was drastically enhanced with Intel's next generation of 8086 family CPUs. The 80186 and 80286 both had dedicated address calculation hardware, saving many cycles, and the 80286 also had separate (non-multiplexed) address and data buses.

Floating point

The 8086/8088 could be connected to a mathematical coprocessor to add hardware/microcode-based floating-point performance. The Intel 8087 was the standard math coprocessor for the 8086 and 8088, operating on 80-bit numbers. Manufacturers like Cyrix (8087-compatible) and Weitek (not 8087-compatible) eventually came up with high-performance floating-point coprocessors that competed with the 8087.

Chip versions

The clock frequency was originally limited to 5 MHz,[note 12] but the last versions in HMOS were specified for 10 MHz. HMOS-III and CMOS versions were manufactured for a long time (at least a while into the 1990s) for embedded systems, although its successor, the 80186/80188 (which includes some on-chip peripherals), has been more popular for embedded use.

The 80C86, the CMOS version of the 8086, was used in many portable computers and embedded systems, including the GridPad, Toshiba T1200, HP 110, and finally the 1998–1999 Lunar Prospector.

For the packaging, the Intel 8086 was available both in ceramic and plastic DIP packages.

List of Intel 8086

  1. En cantidad de 100.
  2. Precio reducido un 21% de USD $99.00, no se indica información sobre la cantidad.
  3. Muestreo del cuarto trimestre de 1985

Derivados y clones

Fujitsu , [ 29 ] Harris / Intersil , OKI , Siemens , Texas Instruments , NEC , Mitsubishi y AMD fabricaron versiones compatibles y, en muchos casos, mejoradas . Por ejemplo, el par NEC V20 y NEC V30 eran compatibles a nivel de hardware con los 8088 y 8086, aunque NEC fabricó clones originales de Intel, μPD8088D y μPD8086D respectivamente, pero incorporaron el conjunto de instrucciones del 80186 junto con algunas (pero no todas) las mejoras de velocidad del 80186, lo que proporcionó una capacidad de actualización directa tanto del conjunto de instrucciones como de la velocidad de procesamiento sin que los fabricantes tuvieran que modificar sus diseños. Estos procesadores compatibles con el 8086, relativamente simples y de bajo consumo en CMOS, todavía se utilizan en sistemas embebidos.

La industria electrónica de la Unión Soviética logró replicar el 8086 mediante espionaje industrial e ingeniería inversa . El chip resultante, el K1810VM86 , era compatible en binario y en pines con el 8086.

Los procesadores i8086 e i8088 eran, respectivamente, los núcleos de las computadoras de escritorio EC1831 y EC1832 , compatibles con PC y fabricadas en la Unión Soviética. (EC1831 es la identificación EC del IZOT 1036C y EC1832 es la identificación EC del IZOT 1037C, desarrollados y fabricados en Bulgaria. EC significa Единая Система). Sin embargo, la computadora EC1831 (IZOT 1036C) presentaba diferencias de hardware significativas con respecto al prototipo de la IBM PC. La EC1831 fue la primera computadora compatible con PC con dimensionamiento dinámico del bus (Patente de EE. UU. n.° 4,831,514). Posteriormente, algunos de los principios de la norma EC1831 fueron adoptados en la PS/2 (Patente estadounidense n.º 5.548.786) y en otras máquinas (Solicitud de patente británica, publicación n.º GB-A-2211325, publicada el 28 de junio de 1989).

Chips de soporte

  • Intel 8237 : controlador de acceso directo a memoria (DMA)
  • Intel 8251 : receptor/transmisor síncrono/asíncrono universal a 19,2  kbit/s
  • Intel 8253 : temporizador de intervalo programable, 3 x 16 bits, máximo 10  MHz
  • Intel 8255 : interfaz periférica programable, 3 pines de E/S de 8 bits utilizados para la conexión de impresoras, etc.
  • Intel 8259 : controlador de interrupciones programable
  • Intel 8279 : controlador de teclado/pantalla, escanea una matriz de teclado y una matriz de pantalla como la de 7 segmentos.
  • Intel 8282 / 8283 : Latch de 8 bits
  • Intel 8284 : generador de reloj
  • Intel 8286 / 8287 : controlador bidireccional de 8 bits. En 1980, ambas versiones Intel I8286/I8287 (de grado industrial) estaban disponibles por US$16,25 en cantidades de 100. [ 20 ]
  • Intel 8288 : controlador de bus
  • Intel 8289 : árbitro de bus
  • NEC μPD765 o Intel 8272A : controlador de disquete [ 30 ]

Microcomputadoras que utilizan el 8086

  • El ordenador de placa única compatible con Intel Multibus ISBC 86/12 se anunció en 1978. [ 31 ]
  • El Xerox NoteTaker fue uno de los primeros diseños de ordenadores portátiles en 1978 y utilizaba tres chips 8086 (como CPU, procesador gráfico y procesador de E/S), pero nunca llegó a producirse comercialmente.
  • Seattle Computer Products comenzó a comercializar sistemas 8086 (SCP200B) basados ​​en el bus S-100 ya en noviembre de 1979.
  • El Mycron 2000 noruego, introducido en la década de 1980.
  • El primer Compaq Deskpro utilizaba un procesador 8086 que funcionaba a 7,16  MHz, pero era compatible con tarjetas de expansión diseñadas para el IBM PC XT  de 4,77 MHz y podía reducir la velocidad de la CPU a una velocidad menor (lo que también activaba un búfer de bus de memoria para simular el acceso más lento del 8088) para evitar problemas de sincronización del software.
  • El AT&T 6300 PC (fabricado por Olivetti  y conocido mundialmente bajo diversas marcas y números de modelo), un microordenador de sobremesa compatible con IBM PC, utilizaba un procesador 8086-2 de 8 MHz . El M24/PC 6300 dispone de ranuras de expansión de 8 bits compatibles con IBM PC/XT, pero algunas de ellas incorporan una extensión propietaria que proporciona el bus de datos completo de 16 bits de la CPU 8086 (similar en concepto a las ranuras de 16 bits del IBM PC AT , pero con diferencias en los detalles de diseño y físicamente incompatible). Todos los periféricos del sistema, incluido el sistema de vídeo integrado, también admiten transferencias de datos de 16 bits. El posterior Olivetti M24SP incorporaba un 8086-2 que funcionaba a la velocidad máxima de 10 MHz. 
  • Los modelos IBM PS/2 25 y 30 se fabricaron con un  procesador 8086 de 8 MHz.
  • Los ordenadores Amstrad PC1512 , PC1640 , PC2086, PC3086 y PC5086 utilizaban procesadores 8086 a 8  MHz.
  • El NEC PC-9801 .
  • Las máquinas Tandy de las series SL y RL de la serie 1000 utilizaban  procesadores 8086 de 9,47 MHz.
  • La máquina de procesamiento de textos IBM Displaywriter [ 32 ] y la computadora profesional Wang, fabricada por Wang Laboratories , también utilizaban el 8086.
  • La NASA utilizó procesadores 8086 originales en equipos para el mantenimiento en tierra del transbordador espacial Discovery hasta el final del programa del transbordador espacial en 2011. Esta decisión se tomó para evitar la regresión del software que podría resultar de una actualización o del cambio a clones imperfectos. [ 33 ]
  • Monitores de radiación de área y de proceso KAMAN [ 34 ]
  • El Tektronix 4170 funcionaba con CP/M-86 y utilizaba una unidad de procesamiento gráfico local 8086 4170. Manual de instrucciones (PDF)

Uno de los microordenadores más influyentes de todos, el IBM PC , utilizaba el Intel 8088 , una versión del 8086 con un bus de datos de 8 bits .

Véase también

Notas

  1. Menos búferes TTL, biestables y multiplexores (aunque la cantidad de lógica TTL no se redujo drásticamente). También permite el uso de circuitos integrados económicos de la familia 8080, donde se utilizaron el 8254 CTC, el 8255 PIO y el 8259 PIC en el diseño del IBM PC. Además, simplifica el diseño de la placa de circuito impreso y abarata las placas, así como requiere menos chips DRAM (de 1 o 4 bits).
  2. utilizando lógica PMOS de carga mejorada (que requiere 14 V , logrando compatibilidad TTL al tener V CC en +5V y V DD en −9V).   
  3. Esto fue posible gracias a la lógica nMOS de carga por agotamiento (el 8085 se fabricó posteriormente utilizando procesamiento HMOS, al igual que el 8086).
  4. Según Morse, la revisión 0 del conjunto de instrucciones y la arquitectura estuvo lista en unos tres meses .
  5. Utilizando rubylith , tableros de luz, reglas, borradores eléctricos y un digitalizador (según Jenny Hernandez, miembro del equipo de diseño del 8086, en una declaración realizada en la página web de Intel con motivo de su 25 aniversario).
  6. El 8086 utilizaba menos microcódigo que muchos diseños de la competencia, como el MC68000 y otros.
  7. Las memorias RAM estáticas rápidas con tecnología MOS (tan rápidas como las memorias RAM bipolares) fueron un producto importante para Intel durante este período.
  8. CHMOS es el nombre que Intel le da a los circuitos CMOS fabricados mediante pasos de procesamiento muy similares a los de HMOS .
  9. Otros miembros del equipo de diseño fueron Peter A. Stoll y Jenny Hernandez.
  10. Los ordenadores IBM PC y PC/XT utilizan un procesador Intel 8088 que funciona en modo máximo, lo que permite que la CPU trabaje con un coprocesador 8087 opcional instalado en el zócalo del coprocesador matemático de la placa base del PC o PC/XT. (Es posible que el PC y el PC/XT requieran el modo máximo por otros motivos, como por ejemplo para admitir el controlador DMA).
  11. Algunos clones del 80186 sí modificaron el valor de desplazamiento, pero nunca se utilizaron comúnmente en ordenadores de sobremesa.
  12. (El PC IBM utilizaba 4,77 MHz, 4/3 de la frecuencia estándar de ráfaga de color NTSC )

Referencias

  1. "El ciclo de vida de una CPU" . www.cpushack.com . Archivado del original el 20 de julio de 2021. Consultado el 26 de enero de 2025 .
  2. "Contar los transistores del procesador 8086: es más difícil de lo que parece" . Ken Sherriff. Archivado del original el 28 de diciembre de 2025. Consultado el 27 de enero de 2026 .
  3. "Salón de la Fama de los Microprocesadores" . Intel. Archivado del original el 6 de julio de 2007. Consultado el 11 de agosto de 2007 .
  4. Referencia del programador de iAPX 286 (PDF) . Intel. 1983. pág. 1-1. Archivado (PDF) del original el 28 de agosto de 2017. Recuperado el 28 de agosto de 2017 . 
  5. 1 2 "Feliz cumpleaños, 8086: el procesador Intel Core i7-8086K de 8.ª generación de edición limitada ofrece una experiencia de juego superior" . Sala de prensa de Intel . Intel. 5 de junio de 2018. Archivado del original el 12 de febrero de 2023.
  6. Šojat, Z.; Skala, K.; Rogina, BM; Škoda, P.; Sović, I. (2016). "Implementación de arquitecturas informáticas históricas avanzadas §2.5 Microprocesadores" . En Szewczyk, R.; Kaštelan, I.; Temerinac, M.; Barak, M.; Sruk, V. (eds.). Embedded Engineering Education . Springer. ISBN 978-3-319-27540-6Archivado del original el 13/11/2025 . Consultado el 04/08/2025 .
  7. "El procesador 8088" . timeline.intel.com . Intel. Archivado del original el 27 de enero de 2025. Consultado el 26 de enero de 2025 .
  8. "Familia 8080" . CPU World . Archivado del original el 27/10/2022 . Consultado el 27/10/2022 .
  9. "Nacimiento de un estándar: El microprocesador Intel 8086 cumple 40 años hoy" . PCWorld . Archivado del original el 10 de febrero de 2025. Consultado el 8 de marzo de 2025 .
  10. Scanlon, Leo J. (1988). Lenguaje ensamblador 8086/8088/80286 . Brady Books. pág . 12. ISBN  978-0-13-246919-7[ …] El 8086 es compatible con el software del 8080 a nivel de lenguaje ensamblador. […]
  11. Geiger, Randall L.; Allen, Phillip E.; Strader, Noel R. (1990). «Formas de lógica aleatoria frente a lógica estructurada». Técnicas de diseño VLSI para circuitos analógicos y digitales . McGraw-Hill. pág. 779. ISBN  0-07-023253-9.— Ilustración del uso de "aleatorio" para describir la lógica de control de la CPU.
  12. "PCI\VEN_8086 - Intel Corporation" . Device Hunt . 4 de agosto de 2025. Archivado del original el 23 de agosto de 2025. Consultado el 14 de agosto de 2025 .
  13. Morse, Stephen P. (1982). The 8086/8088 Primer: An Introduction to Their Architecture, System Design, and Programming (PDF) (2.ª ed.). Rochelle Park, N. J: Hayden Book Co. ISBN  0-8104-6255-9. Archivado (PDF) del original el 10 de febrero de 2025. Recuperado el 23 de noviembre de 2025 .
  14. Intel Corporation (1983). IAPX 86, 88, 186, and 188 user's manual : programmer's reference. Intel. pp. 3–5. ISBN 978-0835930352. OCLC 11091251.
  15. Sedory, Daniel B. "The Segment:Offset Addressing Scheme". thestarman.pcministry.com. Archived from the original on 10 March 2025. Retrieved 6 March 2025.
  16. Morse, Stephen P.; Ravenel, Bruce W; Mazor, Stanley; Pohlman, William B. (October 1980). "Intel Microprocessors: 8008 to 8086". IEEE Computer. 13 (10): 42–60. doi:10.1109/MC.1980.1653375. S2CID 206445851. Archived from the original on 2022-10-27. Retrieved 2022-10-27.
  17. 12"8086 16-BIT HMOS Processor datasheet"(PDF). Intel. Archived from the original(PDF) on 26 November 2021. Retrieved 26 November 2021.
  18. Microsoft Macro Assembler 5.0 Reference Manual. Microsoft Corporation. 1987. Timings and encodings in this manual are used with permission of Intel and come from the following publications: Intel Corporation. iAPX 86, 88, 186 and 188 User's Manual, Programmer's Reference, Santa Clara, Calif. 1986. (Similarly for iAPX 286, 80386, 80387.)
  19. 123The 8086 Family User's Manual. Intel Corporation. October 1979. p. B-1. OCLC 65699372.
  20. 12345Intel Corporation (May–June 1980). "8086 Available for industrial environment". Intel Preview (Special Issue: 16-Bit Solutions): 29. OCLC 803251993.
  21. "Intel® Microprocessor Quick Reference Guide - Year". www.intel.com. Archived from the original on 2021-10-06. Retrieved 2021-02-28.
  22. Intel Corporation (May–June 1980). "The 8086 Family: Concepts and realities". Intel Preview (Special Issue: 16-Bit Solutions): 19. ISSN 1041-8547. OCLC 10331599.
  23. 12Intel Corporation (January–February 1980). "New Products: Faster 8086 provides 60% more performance". Intel Preview: 22.
  24. Intel Corporation (mayo-junio de 1980). "Los nuevos productos de la familia 8086 aumentan el rendimiento del procesador en un 50 por ciento". Intel Preview (Edición especial: Soluciones de 16 bits): 17.
  25. Intel Corporation (mayo-junio de 1979). "Componentes de microcomputadoras: Las nuevas reducciones de precio y las mejoras en la producción hacen que el popular microprocesador 8086 sea aún más atractivo". Intel Preview : 11.
  26. Intel Corporation (agosto de 1981). Manual del usuario de Intel iAPX86, 88. Intel Corporation. pág. B-25. ISBN  0835930165OCLC 8459750 
  27. Intel Corporation, "Noticia breve: Intel licencia a Oki para la versión CMOS de varios productos", Solutions, julio/agosto de 1984, página 1.
  28. Ashborn, Jim; "Empaquetado avanzado: Un poco rinde mucho", Intel Corporation, Solutions, enero/febrero de 1986, página 2
  29. ^ Intel Corporation, "NewsBits: Second Source News", Soluciones, enero/febrero de 1985, página 1
  30. "La evolución del controlador de disquetes | Museo OS/2" . 26 de mayo de 2011. Archivado del original el 5 de mayo de 2016. Consultado el 12 de mayo de 2016. En el IBM PC original (1981) y el PC/XT (1983), el controlador de disquetes (FDC) se ubicaba físicamente en una tarjeta adaptadora de disquete independiente. El FDC en sí era un NEC μPD765A o una pieza compatible, como el Intel 8272A.
  31. "Intel añade una placa única de 16 bits" . Computerworld . Vol. XII, n.º 50. 11 de diciembre de 1978. pág. 86. ISSN 0010-4841 .    
  32. Zachmann, Mark (23 de agosto de 1982). "Los fallos en la IBM Personal Computer frustran a los críticos" . InfoWorld . Vol. 4, n.º 33, págs. 57-58 . ISSN 0199-6649 . La IBM Displaywriter es notablemente más cara que otros microordenadores industriales que utilizan el 8086.    
  33. "Para piezas usadas, la NASA recurre audazmente a eBay" . New York Times . 12 de mayo de 2002. Archivado del original el 29 de junio de 2016. Consultado el 19 de febrero de 2017 .
  34. Manual técnico de Kaman
  • Hojas de datos de Intel
  • Lista de procesadores 8086 y sus clones en CPUworld.com
  • Asignación de pines del 8086
  • Interfaz de modo máximo. Archivado del original el 21 de julio de 2011. Recuperado el 10 de julio de 2022.
  • Manual de usuario del 8086, octubre de 1979, INTEL Corporation ( documento PDF )
  • Códigos de programación para el microprocesador 8086 utilizando el emulador emu8086 (versión 4.08).
  • Jenner, Andrew (September 2020). "8086 microcode disassembled". Reenigne blog.
  • Shirriff, Ken (June 2020). "A look at the die of the 8086 processor". (June 2020). "Die shrink: How Intel scaled down the 8086 processor". (July 2020). "The Intel 8086 processor's registers: from chip to transistors". (August 2020). "Reverse-engineering the adder inside the Intel 8086". (August 2020). "Reverse-engineering the 8086's Arithmetic/Logic Unit from die photos". (November 2022). "The unusual bootstrap drivers inside the 8086 microprocessor chip". (November 2022). "A bug fix in the 8086 microprocessor, revealed in the die's silicon". (December 2022). "How the 8086 processor's microcode engine works". (January 2023). "Inside the 8086 processor's instruction prefetch circuitry". (January 2023). "The 8086 processor's microcode pipeline from die analysis". (January 2023). "Counting the transistors in the 8086 processor: it's harder than you might think". (January 2023). "Reverse-engineering the conditional jump circuitry in the 8086 processor". (January 2023). "Reverse-engineering the Intel 8086 processor's HALT circuits". (January 2023). "Understanding the x86's Decimal Adjust after Addition (DAA) instruction". (February 2023). "Silicon reverse-engineering: the Intel 8086 processor's flag circuitry". (February 2023). "Reverse-engineering the interrupt circuitry in the Intel 8086 processor". (February 2023). "Reverse-engineering the ModR/M addressing microcode in the Intel 8086 processor". (March 2023). "How the 8086 processor determines the length of an instruction". (March 2023). "Reverse-engineering the multiplication algorithm in the Intel 8086 processor". (March 2023). "Reverse-engineering the register codes for the 8086 processor's microcode". (April 2023). "The microcode and hardware in the 8086 processor that perform string operations". (April 2023). "Reverse-engineering the division microcode in the Intel 8086 processor". (May 2023). "The Group Decode ROM: The 8086 processor's first step of instruction decoding". (July 2023). "Reverse-engineering the 8086 processor's address and data pin circuits". (July 2023). "Undocumented 8086 instructions, explained by the microcode". (August 2023). "Tracing the roots of the 8086 instruction set to the Datapoint 2200 minicomputer". (August 2023). "A close look at the 8086 processor's bus hold circuitry". (October 2023). "How flip-flops are implemented in the Intel 8086 processor". (March 2024). "The Intel 8088 processor's instruction prefetch circuitry: a look inside". (April 2024). "Talking to memory: Inside the Intel 8088 processor's bus interface state machine". (January 2026). "Notes on the Intel 8086 processor's arithmetic-logic unit".