Qué es una arquitectura de ordenador de 1 bit y cuáles son sus usos?

Se podría definir de muchas maneras, pero probablemente la más apropiada es «tiene un acumulador de un solo bit».

El Thinking Machines CM-2 es un ejemplo impresionante de esto. Tiene 65536 CPUs de 1 bit organizadas como una arquitectura «Single Instruction Multiple Data (SIMD)». Cada CPU tenía un acumulador de un solo bit, un bit de acarreo, un bit de «condición», un registro de datos de un solo bit que contenía los datos que iban a/desde la memoria, y un registro de dirección de memoria bastante grande utilizado para dirigirse a una ubicación de memoria en la enorme cantidad de RAM proporcionada por el CM-2.

Un único flujo de instrucciones era procesado por todas las CPUs. Las operaciones incluyen todas las diversas cosas que se pueden hacer a un acumulador de 1 bit: borrarlo a cero, ponerlo a 1, complementarlo, añadir el bit de datos al acumulador fijando el acumulador y calculando el acarreo, operaciones para mover el acumulador al bit de datos en cualquier dirección, y una forma de fijar el bit de condición. Pero era un conjunto de instrucciones bastante pequeño. Una propiedad clave es que una instrucción de transmisión se ejecutaría o no en función del estado del bit de condición. Esto permitía que las CPUs individuales hicieran cosas diferentes aunque ejecutaran el mismo flujo de instrucciones, porque procesarían datos diferentes y, por tanto, establecerían el bit de condición de forma diferente. No recuerdo cómo se establecía el registro de dirección de memoria; esperaría que una de las instrucciones lo incrementara y lo disminuyera, y que otras instrucciones dijeran «fetch/store to memory».

Así que, con el flujo correcto de instrucciones SIMD, se puede codificar una suma de enteros en serie de bits, o una suma de coma flotante en serie de bits, o una suma de coma flotante en serie de bits. Costó unos pocos cientos de instrucciones SIMD secuenciales para hacer esto para un valor de punto flotante de 64 bits, cada uno de los cuales se ejecuta en algunas decenas de nanosegundos (recuerde, esto es un ordenador de 1990).

Lo que esto significaba con las CPUs de 65K, usted perdió un factor de 200 o así para hacer las matemáticas. Pero eso significa que tenías lo que equivalía a 300 CPUs que podían hacer punto flotante en paralelo. Y eso hizo que el CM-2 fuera bastante espectacular para la época.

Diseño genial.

Ya no se fabrica, pero uno se pregunta por qué alguien no hace esto en un chip de mil millones de transistores. Probablemente la respuesta sea «no hay suficiente ancho de banda hacia la memoria».