Logotipo de Zephyrnet

La computadora de los años 1970: una porción de la informática

Fecha:

¿Qué tienen en común el HP-1000 y el DEC VAX 11/730 con los videojuegos Tempest y Battlezone? Más de lo que piensas. Todas esas máquinas, junto con muchas otras de esa época, utilizaban CPU de segmento de bits de la familia AM2900.

La CPU bit-slice fue un producto de gran éxito que sólo pudo haber existido en la década de 1970. Hoy en día, si necesita un sistema informático, hay muchas CPU e incluso sistemas completos en un chip para elegir. También puede obtener muchos sistemas pequeños a nivel de placa que probablemente harían lo que quiera. En la década de 1960 no había ninguna opción. Construiste placas de circuito con puertas usando transistores, tubos, relés o, tal vez, puertas de circuitos integrados a pequeña escala. Luego conectaste las tablas.

No hacía falta ser un genio para darse cuenta de que sería fantástico ofrecer a la gente un chip de CPU como el que se puede conseguir hoy en día. El problema es que la tecnología de semiconductores de la época no lo permitiría, al menos no con una cantidad significativa de recursos. Por ejemplo, el Motorola MC14500B de 1977 era un microprocesador de un bit, y si bien tenía sus usos, no era para todos ni para todos.

The Answer

La respuesta fue producir la mayor cantidad posible de CPU en un chip y tomar medidas para utilizar varios chips juntos para construir la CPU. Eso es exactamente lo que hizo AMD con la familia AM2900. Si lo piensas bien, ¿qué es una CPU? Claro, hay variaciones, pero en esencia, hay un lugar para almacenar instrucciones, un lugar para almacenar datos, alguna forma de seleccionar instrucciones y una forma de operar con datos (como una ALU, unidad lógica aritmética). Las instrucciones mueven datos de un lugar a otro y establecen el estado de cosas como dispositivos de E/S, operaciones de ALU y similares.

<img decoding="async" data-attachment-id="665623" data-permalink="https://hackaday.com/2024/03/06/the-1970s-computer-a-slice-of-computing/bcpu/" data-orig-file="https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-2.png" data-orig-size="785,551" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="bcpu" data-image-description data-image-caption="

CPU de bits básica del libro de datos de AMD

”data-medium-file=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-2.png?w=400″ datos- archivo grande =”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-2.png?w=785″ class=”tamaño- miniatura wp-image-665623″ src=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing.png” alt width=”250″ altura=”175″ srcset=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-2.png 785w, https://zephyrnet .com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-2.png?resize=250,175 250w, https://zephyrnet.com/wp-content/uploads/ 2024/03/the-1970s-computer-a-slice-of-computing-2.png?resize=400,281 400w” tamaños=”(ancho máximo: 250px) 100vw, 250px”>

CPU de bits básica del libro de datos de AMD

Claro, es una simplificación excesiva, pero se puede ampliar para describir la mayoría de las CPU tradicionales. Los chips AMD proporcionaban una ruta de datos de 4 bits que se podía encadenar. Otros chips de la familia podrían gestionar la memoria (incluido, opcionalmente, DMA) y encargarse de la contabilidad entre segmentos. Se podría construir una máquina de 8 bits con dos segmentos, una máquina de 24 bits con tres, y así sucesivamente.

Esto no solo permitió menos circuitos integrados que el uso de chips convencionales, sino que también permitió la lógica bipolar que, especialmente en ese momento, era más rápida pero no tan densa como NMOS o CMOS. Los chips como la familia AM2900 le permiten crear CPU flexibles. Se adaptan a su aplicación y se ejecutan más rápido en comparación con lo que podría hacer con otros métodos.

Microcodificación

El microcódigo es común en muchas CPU y las CPU bitslice no fueron una excepción. Por ejemplo, es posible que tenga una instrucción de microcódigo muy larga en la que cada registro tenga una línea de lectura y escritura separada. Si tuviera ocho registros, serían 16 bits solo en esos controles. Entonces también podría tener un código de función (4 bits) y un bit que indique si los códigos de condición deben actualizarse. Ahora, cada “instrucción” tiene 21 bits. Eso es más tiempo de lo que desearía para, digamos, una máquina de 8 bits, por lo que define instrucciones que ejecutan microcódigo.

<img decoding="async" data-attachment-id="665630" data-permalink="https://hackaday.com/2024/03/06/the-1970s-computer-a-slice-of-computing/pin2901/" data-orig-file="https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-4.png" data-orig-size="317,460" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="pin2901" data-image-description data-image-caption="

Configuración de pines de AM2901

” data-medium-file=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-4.png?w=276″ data-large-file=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-4.png?w=317″ class=”size-thumbnail wp-image-665630″ src=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-1.png” alt width=”172″ height=”250″ srcset=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-4.png 317w, https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-4.png?resize=172,250 172w, https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-4.png?resize=276,400 276w” sizes=”(max-width: 172px) 100vw, 172px”>

Configuración de pines de AM2901

Por ejemplo, una instrucción para agregar el registro A al registro B y dejar el resultado en B podría tener tres pasos de microcódigo. El primero conectaría los registros A y B al bus de datos y afirmaría el código que hace que la ALU se agregue. Luego, la segunda instrucción colocaría el resultado en el bus de datos y ordenaría al registro B que lea el bus de datos. La instrucción final del microcódigo saltaría a la parte principal del microcódigo que lee la siguiente instrucción y continúa el programa.

Así es como normalmente se diseñaría una CPU de bits. Un AM2909, AM2910 o AM2911 (secuenciadores de microprogramas) se dirigirían a una ROM de almacén de microprogramas, que alimentaría comandos a una serie de chips AM2901. El AM40 de 2901 pines vino en varias variaciones (por ejemplo, AM2901B), cada una con mejoras tecnológicas para hacerlos más pequeños y más rápidos.

Luego, el almacén de microprogramas orquestaría la búsqueda de instrucciones y su ejecución. Presumiblemente, el microprograma era relativamente pequeño en comparación con el software real, por lo que su ROM con el microcódigo podría ser más pequeña que la ROM que contiene su aplicación real.

Cooperación

Por supuesto, no se puede hacer todo simplemente añadiendo otro chip. Tienen que cooperar. Por ejemplo, hay una salida F en cada chip que es de colector abierto. Unes todas las salidas F con una resistencia pull-up. Si algún segmento de la CPU tiene un resultado distinto de cero, bajará la salida F. Por lo tanto, si la salida F es alta, entonces el resultado completo (por muchos bits que sean) debe ser cero.

El manejo del transporte también es un problema. Si su primer segmento suma 1111+0001, la respuesta no es realmente 0000. Es 0000 + un acarreo. Simplemente puede conectar cada salida Cn+4 a la entrada Cn del siguiente chip para obtener un transporte ondulado, pero eso creará una penalización de velocidad que empeora a medida que agrega cortes. También puede utilizar un AM2902 para "mirar hacia adelante" y obtener un mejor rendimiento. Cada 2902 podría manejar cuatro sectores o 16 bits. Si quisiera ir más allá de eso, podría usar un AM2902 para esperar hasta otros cuatro AM2902, cada uno de los cuales manejaba cuatro segmentos de CPU. Presumiblemente, sería posible ampliar este esquema aún más si se quisiera ir más allá de los 64 bits, aunque en 1975, ese podría no haber sido el mayor problema al construir una máquina de ese tamaño.

El cambio y la multiplicación también requerían cooperación. Era común utilizar un multiplexor en cada extremo de la cadena para determinar la fuente de nuevos bits al realizar el cambio. Simplemente dependía de lo que necesitabas.

Personalización

Eso es algo interesante sobre el uso de bits. Podrías diseñar justo lo que necesitabas. ¿Por qué construir una máquina de 32 bits si necesitaba 24 bits para la tarea en cuestión? ¿Por qué utilizar multiplexores para habilitar una instrucción de rotación que nunca utilizará?

Hoy en día, tomamos un bloque de construcción y lo adaptamos a nuestro problema. Con bitslice, creaste una CPU que se ajustaba exactamente a lo que necesitabas. Hubo muchos detalles sobre cómo realizar diferentes operaciones, como buscar instrucciones, multiplicar o intercambiar bytes en el Libro de datos AM2900.

Ese libro de datos también muestra los chips que necesitaría, como AM2902 o el “Superslice” AM48 de 2903 pines con registros extensibles, multiplicadores, división y otros circuitos especiales integrados.

Evolución

La familia AM2900 tuvo mucho éxito. El AM2901 original comenzó con un troquel muy grande que utilizaba Schottky de baja potencia y podía funcionar a 80 nanosegundos. En 1978, tres años después, la matriz AM2901B tenía menos de la mitad de tamaño y podía manejar 50 nanosegundos. En 1981, el AM2901C usaba ECL internamente y podía funcionar 37 nanosegundos en el mismo troquel. En 1979, incluso se podía conseguir un coprocesador de punto flotante (el AMD9511).

Eran dispositivos simples porque se necesitaban varios chips para admitirlos y varios AM2901 para hacer algo más grande que cuatro bits. El AM2901 original, por ejemplo, sólo tenía 540 puertas a bordo. Sin embargo, encontraron su camino en todo, desde estaciones de trabajo y sintetizadores de música hasta videojuegos. Debido a su popularidad, hubo muchos proveedores de segunda fuente para el dispositivo y todavía es posible encontrar stock nuevo y antiguo. Incluso se produjeron copias soviéticas.

Más trozos de bits

Muchas de las CPU fabricadas con el AM2900 eran patentadas o militares. Pero si quieres ver uno que tenga bastante documentación, aquí tienes una tesis de maestría de 1980 sobre la implementación de una CPU compatible con Nova 1200 usando la tecnología; bueno, parte de uno, de todos modos.

El AM2900 no era el único juego en la ciudad. En 1974, estaban disponibles el IMP de National Semiconductor y la serie 3000 de Intel. Además, Motorola, Texas Instruments, Fairchild, Raytheon y otros fabricaron dispositivos similares. Pero por varias razones, el AM2900 es en lo que la mayoría de la gente piensa cuando recuerdan las CPU bitslice. De hecho, la tesis de maestría sobre la CPU Nova también tiene una tabla de otras tecnologías de bitslice y la razón por la que no usaron ninguna de las otras. Por ejemplo, algunos de los dispositivos usaban PMOS, que era lento. Otros utilizaron ECL, una tecnología rápida con merecida reputación de ser difícil de usar. Otro tesis de 1976 tiene una lógica similar para seleccionar el AM2900.

¿Quierés más?

[Ken Shiriff] desarmó una variante ECL del AM2901. También hay un libro de 1980 puedes leer. También hay una tonelada de documentos en un servidor Gopher (no bromeo). Si su navegador no admite Gopher (y eso no nos sorprenderá), pruebe uno de los muchos representantes de tuza. El ejemplo de diseño de computadora de 16 bits merece especialmente la pena echarle un vistazo. ¿Quieres un ejemplo más complejo? Aquí hay una CPU 8080 ultrarrápida construida con bitslice. Más allá La-Tecnologia.io, [zpekic] construyó recientemente este 8080 y ejecutó Tiny Basic en él (mira el video si no lo crees).

[Contenido incrustado]

La Xerox Star 8010 utilizó el AM2900 en 1981. ¡Cuesta menos de $17,000! Por suerte, puedes emula uno si quieres. De hecho, puedes más o menos emular el AM2900 usando Java, aunque es posible que no funcione para todos los diseños posibles (consejo: descargar desde las versiones).

punto_img

Información más reciente

punto_img