Intel 8086: el procesador que abrió la era

La historia de la leyenda


Hoy, en 2018, celebramos el cuadragésimo aniversario de quizás el procesador clave en la historia de las computadoras personales, a saber, Intel 8086.
imagen

Fue con él que comenzó la era de la arquitectura x86, que sentó las bases para el desarrollo de procesadores durante muchos años y décadas por venir, y es a él a quien debemos la creciente popularidad de la computadora como una unidad individual disponible para cada usuario. En honor al 40 aniversario del procesador, que comenzó la transformación de Intel en una corporación multimillonaria, la compañía presentó un pequeño regalo simbólico a sus fanáticos: fue el aniversario i7-8086K, el primer procesador en la historia de Intel, capaz de operar a 5 GHz desde el primer momento.

imagen

Pero hoy no cantaremos alabanzas a los ingenieros de los líderes de procesadores modernos, sino que volveremos al pasado lejano, en 1976, donde comenzó la historia de Intel 8086. Y comenzó con un procesador completamente diferente.

En 1976, Intel estableció una tarea seria para sus ingenieros: crear el primer microprocesador del mundo que admite multitarea y también tiene un controlador de memoria integrado en el chip. Ahora, estas características tecnológicas se pueden encontrar fácilmente incluso en los procesadores más asequibles del mercado, pero hace 42 años, tales innovaciones tecnológicas prometían superar a toda una era: Intel planeó cambiar a la informática de 32 bits en un momento en que los sistemas de 8 bits dominaban, e incluso 16 -bits estaban muy lejos. Desafortunadamente, o afortunadamente, las ambiciones de los ejecutivos de Intel se enfrentaron con la dura realidad de varios plazos, desafíos tecnológicos y la constatación de que la tecnología de 1976 aún no había llegado tan lejos como para realizar ideas tan audaces. Y lo más importante, Intel estaba tan interesado en crear, como dirían en el oeste, una arquitectura sobredimensionada que pasó por alto la practicidad desde el punto de vista del software. Fue la impracticabilidad y la complejidad deliberada del sistema lo que fue criticado en una de las reuniones por un experto visitante llamado Stephen Morse, un ingeniero de microelectrónica de 36 años especializado en software en ese momento. Sin embargo, Intel no tenía prisa por tener en cuenta los comentarios críticos, por lo que las notas de Morse iban en una caja larga.

Pero como resultó más tarde, fueron extremadamente útiles: ya en julio de 1976, la pequeña empresa Zilog, fundada por el inventor de Intel 4004 e Intel 8008 Federico Fajin, así como el gerente de Intel Ralph Ungermann y otro desarrollador de 4004, el japonés Masatoshi Shima, introdujeron su procesador en el mercado Z-80, que se convirtió en el trabajo real sobre errores basados ​​en Intel 8080.

imagen

Mejorando la arquitectura del procesador Intel original, el equipo de Zilog ofreció un procesador económico y potente, inmediatamente apreciado por muchos fabricantes de equipos y plataformas líderes de la época. Fue el Z-80 que formó la base del legendario ZX Spectrum, y también se instaló en el igualmente famoso Commodore 128 como coprocesador. El Z-80 se volvió increíblemente exitoso en muchas partes del mundo, y este éxito no podía pasar desapercibido: Intel decidió con urgencia que el Z-80 necesitaba un competidor digno.

Fue aquí donde los líderes de la compañía recordaron los comentarios de Stephen Morse, y sugirieron que liderara la creación de un procesador completamente nuevo, diseñado para competir con el nuevo producto de Zilog. Intel no vio ninguna razón en particular para establecer el marco para este proyecto; luego, a todos les pareció que el nuevo procesador sería una respuesta rápida al Z-80 y se olvidaría en los próximos años, por lo que Morse recibió luz verde para cualquier experimento. Era la idea obsesiva de que el procesador debería basarse en la efectividad del trabajo con software, ya que resultó más tarde, se convirtió en clave para el desarrollo de toda la industria.

En mayo de 1976, Steve Morse comenzó a trabajar en la arquitectura del nuevo procesador. En esencia, la tarea asignada a Morse era simple. Si el nuevo chip de 16 bits debe aumentar significativamente la velocidad en comparación con el 8080 de 8 bits, debe diferir en varios parámetros. Pero Intel quería que los consumidores volvieran a acceder. Como una de las formas de lograr esto, se consideró la posibilidad de transferir a un nivel superior un sistema diseñado para un procesador menos potente, al reemplazarlo por uno nuevo funcionará. Para esto, idealmente, el nuevo procesador debe ser compatible con cualquier programa escrito para el 8080.

Morse tuvo que construir sobre el proyecto 8080, según el cual el procesador asignó una "dirección" a cada lugar donde se almacenaban los números, como las etiquetas de los clasificadores. Las direcciones eran números binarios de 16 bits, lo que permitía designar 65536 direcciones diferentes. Este límite era aceptable cuando los desarrolladores necesitaban usar la memoria con moderación. Sin embargo, ahora los consumidores necesitaban una cantidad mayor, insistieron en romper la barrera de 64 KB.

En julio de 1978, un nuevo procesador, denominado Intel 8086, llegó al mercado.

imagen

Su salida no se convirtió en una sensación o un éxito increíble. Por primera vez, el procesador llegó a los estantes como parte de varias computadoras económicas que no eran populares, y también se utilizó en varios terminales. Un poco más tarde, formó la base del microcontrolador de la NASA, donde se utilizó para controlar los sistemas de diagnóstico de lanzamiento de misiles hasta principios de la década de 2000.

Morse dejó Intel en 1979, justo antes de que la compañía presentara el Intel 8088, un microprocesador 8086 casi idéntico que brindaba compatibilidad con los sistemas de 8 bits al dividir el bus de 16 bits en dos ciclos. El propio Morse llamó a este procesador una versión "castrada" de 8086.

El estatus legendario de 8088 se recibió más tarde, cuando en 1980 IBM pensó por primera vez en conquistar el mercado de computadoras personales y crear una computadora que tuviera un precio razonable e incluyera componentes de clase media. Fue el IBM 5150, más conocido bajo la marca IBM PC, el que obtuvo el procesador 8088 (básicamente el mismo 8086), lo que hizo que Intel fuera ampliamente conocido incluso entre los usuarios comunes. Pero Motorola 68000 (la base del primer Apple Macintosh) también reclamó el lugar de 8088, pero la gerencia de IBM dio preferencia a Intel.

imagen

La PC de IBM se convirtió rápidamente en la fuerza principal en el mercado de sistemas informáticos, e Intel, siguiendo la lógica de "mejor, mejor", continuó produciendo procesadores: 80186, 80286, 80386, 80486, Pentium, etc., basados ​​en la misma base de Stephen Morse, establecido estaban de vuelta en 8086. Fue gracias a los dos últimos dígitos que la arquitectura se conoció como "x86", y la increíble popularidad de las computadoras IBM le dio a Intel enormes ganancias y reconocimiento de marca.

Características arquitectónicas 8086


En términos de características arquitectónicas, el Intel 8086 se basó en gran medida en la experiencia de desarrollar el procesador 8080 y su contraparte mejorada 8085, que ingresó al mercado en el verano de 1976. A pesar de algunos paralelos, 8086 se convirtió en el primer procesador de 16 bits de la compañía, que tenía 16 canales de datos y 20 canales de direcciones capaces de procesar hasta 1 MB de datos, y también tenía una amplia gama de instrucciones que permitían, entre otras cosas, realizar operaciones de división / multiplicación. Una característica de 8086 era la presencia de dos modos: Mínimo y Máximo, el último de los cuales involucraba el uso de un procesador en un sistema con varios procesadores, y el primero, en sistemas clásicos con un procesador.

Por primera vez, apareció una cola de instrucciones en Intel 8086, que permite almacenar hasta seis bytes de instrucciones directamente desde la memoria, lo que reduce significativamente el tiempo que lleva procesarlas. La naturaleza de 16 bits del procesador no se basó en solo unos pocos componentes, porque 8086 comprendía una ALU de 16 bits, registros de 16 bits, así como un bus de datos interno y externo que procesaba los datos de acuerdo con las instrucciones de 16 bits, por lo que el sistema funcionaba mucho más rápido que con procesadores Intel anteriores.

Por supuesto, debido a este conjunto de innovaciones a gran escala, el 8086 era mucho más caro que su predecesor, pero el consumidor también tenía una opción: Intel ofreció comprar un nuevo producto en varias versiones, dependiendo de las frecuencias del procesador, variaban de 5 a 10 MHz.

Desde un punto de vista arquitectónico, el microprocesador Intel 8086 constaba de dos módulos de hardware: un módulo de ejecución y un módulo de interfaz de bus. El módulo de ejecución indicó al módulo de interfaz de bus de dónde recibir los datos de instrucciones y luego procedió a su preparación y ejecución. Su esencia se redujo a la gestión de datos utilizando el decodificador de instrucciones y la ALU, mientras que el módulo en sí no tenía una conexión directa con los buses de datos y funcionaba exclusivamente a través del módulo de interfaz de bus.

El módulo de ejecución contenía un bloque ALU diseñado para realizar operaciones lógicas y aritméticas, como multiplicación, división, suma, resta u operaciones del tipo OR, AND y NOT. También había un registro de banderas de 16 bits que almacenaba varios estados de operaciones en la batería: había 9 en total, 6 de las cuales eran banderas de estado y 3 eran banderas del sistema que reflejaban el estado del dispositivo.

El primero incluye: bandera de transporte, bandera de paridad, bandera de transporte auxiliar, bandera de cero, bandera de signo y bandera de desbordamiento. Las banderas del sistema incluían la bandera de rastreo, la bandera de interrupción de habilitación y la bandera de dirección.

Además de las banderas, el módulo de operación contenía 8 registros de propósito general, que se utilizaron para transmitir datos a través de un bus de 16 bits. Al mismo tiempo, se mantuvo la compatibilidad con la generación anterior de software para sistemas de 8 bits, porque los registros de propósito general (AX, BX, CX, DX) podrían funcionar tanto en el modo de bus de 16 bits como en el modo de lectura de datos de los inferiores (AL, BL, CL, DL) y registros altos (AH, BH, CH, DH) simultáneamente, proporcionando operación de dos canales en el formato de un bus de 8 bits. Debido al énfasis en la compatibilidad con plataformas anteriores en términos de software, la arquitectura x86 se convirtió en clave y sirvió de base para la mayoría de los procesadores posteriores.

Finalmente, el último de los registros en el módulo era un registro de puntero de 16 bits, que guardaba la dirección del segmento de datos en el búfer de memoria necesario para completar la operación. Las partes funcionales restantes pertenecían al módulo de interfaz de bus vecino.

El módulo de interfaz de bus contenía componentes significativamente más funcionales: respondía al procesamiento de todos los datos y enviaba instrucciones al módulo de ejecución, leía las direcciones de la memoria de la computadora y la información de todos los puertos de entrada / salida disponibles, además de escribir los datos en la memoria disponible y a través de lo anterior puertos Debido al hecho de que el módulo de ejecución no tenía una conexión directa con el módulo de interfaz del bus, los bloques interactuaron a través del bus de datos interno.

Este módulo contiene una de las características arquitectónicas clave del procesador 8086: la cola de instrucciones. El módulo de interfaz de bus incluye una cola de instrucciones capaz de almacenar hasta 6 bytes de instrucciones en un búfer, enviando nuevas instrucciones en la tubería después de que se recibe la solicitud correspondiente del módulo de ejecución. El término canalización apareció precisamente con el procesador 8086 entrando al mercado, ya que significa preparar la siguiente instrucción en un momento en que la anterior está en proceso de ejecución.

También hay registros de 4 segmentos que son responsables de almacenar en búfer las direcciones de las instrucciones y los datos asociados en la memoria de la computadora, y de ese modo proporcionar acceso a los segmentos necesarios al procesador central. El registro también contiene un puntero de comando (IP) que contiene la dirección de la siguiente instrucción para el módulo de ejecución.

Finalmente, el último de los registros es un puntero de instrucción de 16 bits que contiene la dirección de la siguiente instrucción a ejecutar.

Intel 8086 se convirtió en el primer procesador de 16 bits de la compañía, disponible en un paquete DIP (DPI) de 40 pines, que, junto con muchas otras características, se convirtió en uno de los estándares en microelectrónica de los años siguientes.

Influencia y legado


Stephen Morse, creando el concepto de un pequeño procesador "hija" dentro de los muros de Intel, difícilmente podría haber imaginado que estaba a punto de crear un microprocesador histórico. Intel 8086 era modesto y controvertido, pero su hermano menor 8088 ganó fama como parte de IBM PC / XT, lo que le permitió a Intel ganar fama y obtener grandes ganancias.

La arquitectura x86 formó la base para todos los procesadores Intel adicionales, que reconocieron la conveniencia y versatilidad del concepto de Morse de "primer software, luego relleno". Cada procesador posterior fue construido sobre la base del anterior, cubierto con nuevas tecnologías, instrucciones y bloques, pero en esencia era ligeramente diferente de 8086.

imagen

E incluso hoy, mirando el i7 8086K, debe comprender que en algún lugar en el fondo todavía están las raíces del procesador que vio la luz hace 40 años, que marcó el comienzo de la era x86.

El autor del texto es Alexander Lis.

Nuestro video basado en este artículo:

Source: https://habr.com/ru/post/es417983/


All Articles