Según
distintas referencias, los diseños más antiguos de lo que hoy se conoce como
microprocesador (originalmente no se denominaban como tales), datan de finales
de 1968 y principios de 1969, si bien el primero en materializarse fue, al
parecer, el ya citado Intel 4004, presentado en noviembre de 1971. Esos diseños
que, a día de hoy, podrían considerarse primitivos, se limitaban a conseguir
que un único circuito integrado pudiese realizar las funciones para las que
anteriormente era necesario utilizar múltiples IC.
En
1964, mucho antes de que se llegase a materializar el primer microprocesador,
Gordon Moore, uno de los cofundadores de Intel y por entonces empleado de
Fairchild, predijo que el número de transistores que era posible introducir en
un circuito integrado se duplicaría, gracias a procesos de fabricación cada más
sofisticados, aproximadamente cada 12 meses. Este cálculo, basado en datos de casi
una década de fabricación de IC, permitió a Moore predecir el momento en que
sería posible introducir en un circuito integrado elementos suficientes como
para encapsular toda una CPU. Su predicción fue acertada y, de hecho, la que
hoy se conoce como Ley de Moore sigue cumpliéndose después de cuatro décadas.
Fueron los primeros
Según
distintos historiadores el microprocesador surgió paralelamente, sin ninguna
conexión entre sí, al menos en tres empresas distintas. Una de ellas fue Intel
con el ya mencionado 4004, otra TI con el diseño de un IC para una calculadora
y el tercero estuvo asociado a un proyecto militar, no conociéndose muchos
detalles al respecto.
El
IC desarrollado por TI estaba diseñado específicamente para una familia de
calculadoras, de forma que las funciones posibles se encontraban codificadas en
el propio microprocesador, si es que podía denominarse así. En contraposición,
el Intel 4004 ejecutaba código recuperado de una memoria ROM, de forma que
podía realizar funciones distintas sencillamente cambiando esa memoria por otra
con un programa diferente. Esta es la razón de que se le considere el primer
microprocesador.
Según
la hoja de especificaciones de Intel, el 4004 contaba con un bus de datos de 4
bits, operaba a una frecuencia de 0,1 Mhz y estaba compuesto de 2300
transistores.
Podía
direccionar como máximo 4 Kbytes de memoria ROM y 640 bytes de RAM, más que
suficiente para una calculadora avanzada. También era capaz de comunicarse con hasta
16 puertos de E/S, utilizándose en la calculadora de Busicom para controlar la pantalla
y el teclado.
Dada
su limitada capacidad de direccionamiento, así como el reducido conjunto de instrucciones
con que contaba, el 4004 no era adecuado para construir un ordenador.
Ciertas
instrucciones, como las de salto condicional, estaban diseñadas para operar
siempre sobre memoria ROM, por lo que no resultaba factible la carga de
programas en la reducida memoria RAM y su ejecución desde la misma. En este
sentido el 4004 estaba diseñado siguiendo la arquitectura Harvard explicada más
adelante, por la que la memoria dedicada a datos está separada de la que aloja
los programas.
Otra
característica de esta arquitectura era la pila interna con que contaba el 4004
que permitía hasta 3 niveles de anidamiento, en contraposición al uso de parte
de la memoria RAM como pila.
Microprocesadores de 8 bits
El
primer procesador de 8 bits de la historia también vino de las manos de la
firma Intel, de hecho su diseño comenzó antes de que se finalizara el
desarrollo del 4004. Al igual que éste, el 8008 también fue un encargo de una
tercera empresa, concretamente Datapoint, en este caso dirigido a la
fabricación de un terminal. Su construcción concluyó solamente cinco meses
después que la del 4004, pero con retraso respecto a la fecha acordada lo que
provocó que Datapoint finalmente fabricase su terminal usando circuitos integrados
más básicos, en lugar de un microprocesador. Intel decidió entonces comercializar
por su cuenta el 8008, producto que se convirtió en un éxito inesperado y
provocó que, en pocos meses, muchas otras empresas comenzasen a desarrollar sus
propios microprocesadores.
Tanto
el 4004 como el 8008 fueron microprocesadores no diseñados en un principio para
actuar como motores de un ordenador, todo lo contrario que el 8080, presentado
por
Intel
en 1974, un microprocesador que, aunando una mayor capacidad de
direccionamiento de memoria, mayor velocidad de ejecución y precisando menos IC
de apoyo, ofrecía la misma potencia de proceso que los miniordenadores usados
pocos años antes en grandes empresas, universidades y otras corporaciones.
El
8080 se convirtió en el corazón del primer ordenador personal de la historia,
el Altair 8800, si bien en los meses previos era posible adquirir kits para
construir ordenadores en el 8008 como el Mark-8.
Uno
año después, en 1975, MOS Technology presentaba su microprocesador 6502, y en
1976, un grupo de ingenieros que
abandonaron Intel y fundaron Zilog anunciaban el Z80. El Commodore PET fue
posiblemente el primer ordenador en el que se utilizó el 6502, mientras que el
Z80 formó parte del TRS-80, presentado en 1977. A partir de ese momento ambos
microprocesadores, Z80 y 6502, y varios derivados de ellos ganarían en popularidad
a medida que fueron surgiendo decenas de microordenadores en el mercado, procedentes
de firmas como Atari, Commodore, Sinclair, Philips, Sony, Thomson y un largo
etcétera.
El
último microprocesador de 8 bits desarrollado por Intel fue el 8085, presentado
en 1976 y que representaba una evolución significativa sobre el 8080, al
precisar una única fuente de alimentación y fabricarse con una tecnología de 3
micrómetros frente a los 6 micrómetros del 8080. Por lo demás se trataba de un
microprocesador compatible con todo el código escrito para el 8080, al ofrecer
el mismo conjunto de instrucciones, modos de direccionamiento, banco de
registros, etc.
La
mayoría de los microprocesadores de 8 bits utilizaban un encapsulado estándar de
40 patillas, contaban con un bus de datos de 8 bits y un bus de direcciones de
16 bits, generalmente multiplexado con el de datos. Esto les permitía
direccionar un máximo de 64 Kbytes de memoria. También incorporaban las señales
necesarias para atender interrupciones, característica de la que carecían
diseños previos. Las frecuencias habituales de funcionamiento oscilaban entre
los 0,8 Mhz y 4 Mhz.
Microprocesadores de 16 bits
La
evolución desde los 8 a los 16 bits no se produjo de manera secuencial, al
contrario, de forma paralela a los últimos microprocesadores de 8 bits fueron
surgiendo diseños de 16 bits que, en su mayor parte, tenían el cometido de
emular el funcionamiento de sistemas ya existentes. A esta categoría pertenecen
los microprocesadores desarrollados por DEC y TI en la primera mitad de los
setenta. Por su propio diseño no resultaban adecuados para la construcción de
ordenadores distintos a aquellos que debían sustituirlo que limitó su difusión
a nichos muy concretos.
En
1978 Intel anunció el 8086, su primer microprocesador de 16 bits, y un año más tarde
el 8088, idéntico al anterior salvo por usar externamente un bus de 8 bits, en
lugar de 16, lo cual le permitía aprovechar toda la circuitería procedente de
microprocesadores de 8 bits y, en consecuencia, fabricar sistemas más baratos.
El 8088 fue elegido por IBM para desarrollar su primer ordenador personal, el IBM
PC 5150. Esta decisión, y el hecho de que la arquitectura abierta de ese
sistema contribuyese a que proliferaran lo ordenadores compatibles, fue
decisiva para que el 8086/8088 y sus sucesores se convirtieran en la familia de
microprocesadores con mayor éxito desde entonces.
Zilog,
Motorola y otros fabricantes también desarrollaron sus propios
microprocesadores de 16 bits, pero su éxito no alcanzó el nivel de los de Intel.
La familia 68K de Motorola, un microprocesador con estructura interna de 32
bits y externa de 16, fue utilizado en sistemas tan conocidos como los Atari ST
y Commodore Amiga.
Respecto
a los microprocesadores de 8 bits, los de 16 no solamente contaban con una superior
capacidad de direccionamiento de memoria y mayor ancho de palabra, sino que
también incorporaron conjuntos de instrucciones más complejos. El 8086/8088,
por ejemplo, disponía de instrucciones aritméticas para el producto y la
división, así como para el tratamiento de cadenas de bytes. También se incrementaron
las posibilidades de direccionamiento, con modos más sofisticados de acceso a
la memoria.
Referencia
Lenguaje
Ensamblador, 2da Edición, Francisco Charte Ojeda