# Bellmac 32

El microprocesador Bellmac 32 fue desarrollado por los laboratorios Bell en 1980 con la tecnología CMOS y fue el primero que pudo mover 32 bits en un ciclo de reloj. Se necesitaron tres equipos distintos en tres lugares distintos para su creación. El microprocesador contenía 150.000 transistores.
Fueron capaz de duplicar la velocidad de los circuitos CMOS tradicionales ya que usaron “circuitos dominó”. Se diseñó para orientarlo de soporte al lenguaje de programación C. Posteriormente a su creación, se diseñó una mejora a la que llamaron Bellmac 32A.

## Historia

Los equipos que desarrollaron el Bellmac 32 se encontraban en tres ubicaciones diferentes: AT&T Bell Labs en Indian Hill (Naperville), AT&T Bell Labs en Holmdel (Nueva Jersey) y AT&T Bell Labs en Murray Hill (Nueva Jersey).
Al iniciar la construcción del procesador, el equipo realizó numerosos análisis, y decidió usar la tecnología CMOS.
La ruta de datos se estableció utilizando el diseño de matriz de la puerta con alambres de metal distribuidos de forma horizontal.
Como no disponían de una herramienta de automatización, cada diseñador de chips tuvo que utilizar lápices de colores para la realización del diseño inicial. Posteriormente, Steve Law desarrolló un programa que permitió la digitalización de los diseños iniciales.
Durante el proceso, se crearon algunas invenciones de circuitos, como "la lógica del dominó". El uso de esta técnica fue un gran avance para la realización del microprocesador.
Las pruebas que se realizaron durante la fabricación en la ruta de datos produjeron una frecuencia de reloj superior a los 4MHz. Lo que se fue complicando fue la lógica de control, que no resultó ser tan sencilla como se esperaba, llegando incluso a ser 10 veces más compleja de lo que se estableció.
Cuando se terminó y se probó el chip entero, por culpa de estas complicaciones, lograba velocidades de 2MHz. El equipo lo consideró como un avance, pero no como un éxito, ya que no lograba cumplir con el plan inicial de AT&T.
A partir de este fracaso, el grupo de trabajo tuvo muchas reuniones en las que acordaron desarrollar el Bellmac 32A, como una segunda generación del microprocesador Bellmac. También eligieron la tecnología CMOS, y se pusieron como objetivo una frecuencia de reloj de 6,2MHz. Para poder realizarlo, hicieron una reestructuración del equipo de trabajo.
Ajustaron al máximo el tamaño de los transistores y la minimización de las resistencias en las interconexiones, ya que eran fundamentales en el cumplimiento de las especificaciones. Como resultado, generaron una parcela de 20 pies por 20 pies que colocaron en el suelo de una gran habitación. Una vez realizaron todo el trabajo, pasaron a testear los chips. Estas pruebas fueron un éxito, ya que no sólo lograron superar la frecuencia de 6,2MHz, sino que muchos lograron llegar a los 7,8MHz o incluso 9MHz.
Después de la división de AT&T, los laboratorios Bell pasaron a manos de Western Electric, y con esto, el microprocesador Bellmac 32 pasó a llamarse WE 3200. A partir de éste, pasaron a crearse nuevos microprocesadores como el WE 32100 o el WE 32200.

## Arquitectura

Bellmac 32 tiene una estructura entubada, con una unidad de búsqueda que sirve para controlar el acceso a la memoria principal, y una unidad de ejecución que sirve para controlar el proceso y la manipulación de los datos.
La cola de instrucciones se llena con las instrucciones que recoge de la memoria. La unidad aritmética de direcciones sirve para realizar los cálculos de las direcciones.
Bellmac 32 fue capaz de almacenar todas las instrucciones, datos y contenidos de registros asociados a un proceso cada vez que se cambie de uno a otro por hardware.

## Registros

Bellmac 32 cuenta con un contador de programa y 15 registros de propósito general, que son de 32 bits. Tres de éstos son usados para el apoyo del sistema operativo y se pueden utilizar cuando el microprocesador está en el nivel de ejecución núcleo o Kernel. Tiene otros tres registros que son usados por algunas instrucciones como punteros a pilas.

## Instrucciones

Este microprocesador dispone de 169 instrucciones, que están orientadas a ejecutar programas escritos en el lenguaje de programación C. Por tanto, el formato de las cadenas de caracteres se adapta a las especificaciones de C, e incluye instrucciones para poder manejar procedimientos y transferencia de control entre ellos.
Las instrucciones pueden constar de hasta tres operandos. Una gran desventaja es que no existen instrucciones en coma flotante y de aritmética decimal.

## Memoria

El Bellmac 32 tiene distintos tipos de direccionamiento, como el lineal, el inmediato de 8, 16 o 32 bits, de registro, de registro indirecto, de desplazamiento corto, absoluto y desplazamiento indirecto de 8, 16 o 32 bits.

## Notas y referencias

* First-Hand:The AT&T BELLMAC-32 Microprocessor Development. http://www.ieeeghn.org/wiki/index.php/First-Hand:The_AT%26T_BELLMAC-32_Microprocessor_Development
* Vídeo donde se muestra parte del desarrollo del Bellmac 32. Microprocessor for the Information Age. http://techchannel.att.com/play-video.cfm/2011/11/21/AT&T-Archives-Microprocessor-for-the-Information-Age
* On The BELLMAC-32, And Perhaps The World's Largest Plotter Pen Drawing. http://greg.org/archive/2011/12/09/on_the_bellmac-32_and_perhaps_the_worlds_largest_plotter_pen_drawing.html
* Computadores personales. Hacia un mundo de máquinas informáticas. Anexo B: Sobre microprocesadores. Autor: Fernando Sáez Vacas. http://www.quadernsdigitals.net/datos_web/biblioteca/l_516/enLinea/8.pdf
* Datos: Q4134782