El corte de bits es una técnica para construir un procesador a partir de módulos de procesadores de menor ancho de bits, con el fin de aumentar la longitud de palabra; en teoría, para crear una unidad central de procesamiento (CPU) de n bits arbitrarios . Cada uno de estos módulos componentes procesa un campo de bits o "corte" de un operando . Los componentes de procesamiento agrupados tendrían entonces la capacidad de procesar la longitud de palabra completa elegida de un diseño de software determinado.
El bit slicing prácticamente desapareció debido a la llegada del microprocesador . Recientemente se ha utilizado en unidades lógicas aritméticas (ALU) para computadoras cuánticas y como técnica de software, por ejemplo, para criptografía en CPU x86 . [1]
Los procesadores de segmentos de bits (BSP) generalmente incluyen una unidad lógica aritmética (ALU) de 1 , 2 , 4 , 8 o 16 bits y líneas de control (incluidas señales de acarreo o desbordamiento que son internas al procesador en diseños de CPU sin segmentos de bits ).
Por ejemplo, dos chips ALU de 4 bits podrían disponerse uno al lado del otro, con líneas de control entre ellos, para formar una ALU de 8 bits (el resultado no necesita ser una potencia de dos, p. ej., tres unidades de 1 bit pueden formar una ALU de 3 bits, [2] por lo tanto, una CPU de 3 bits (o de n bits), mientras que una CPU de 3 bits, o cualquier CPU con un número impar mayor de bits, no ha sido fabricada ni vendida en volumen). Se podrían usar cuatro chips ALU de 4 bits para construir una ALU de 16 bits. Se necesitarían ocho chips para construir una ALU de palabra de 32 bits. El diseñador podría agregar tantas porciones como fuera necesario para manipular longitudes de palabra más largas.
Microprocesadores de segmento de bits conocidos:
El bit slicing, aunque no se lo denominaba así en aquel momento, también se utilizaba en ordenadores antes de los circuitos integrados a gran escala (LSI, el predecesor de los actuales VLSI , o circuitos de integración a muy gran escala). La primera máquina de bit slicing fue EDSAC 2 , construida en el Laboratorio de Matemáticas de la Universidad de Cambridge entre 1956 y 1958.
Antes de mediados de los años 70 y finales de los 80, existía cierto debate sobre el ancho de bus necesario para que un sistema informático determinado funcionara. La tecnología de chips de silicio y sus componentes eran mucho más caros que hoy en día. El uso de múltiples unidades de procesamiento de señal (ALU) más sencillas y, por tanto, menos costosas se consideraba una forma de aumentar la potencia de cálculo de forma rentable. Aunque en aquella época se hablaba de microprocesadores de 32 bits , pocos se fabricaban.
Los mainframes de la serie UNIVAC 1100 (una de las series más antiguas, que se originó en la década de 1950) tienen una arquitectura de 36 bits , y el 1100/60 introducido en 1979 utilizó nueve chips ALU de 4 bits Motorola MC10800 [12] para implementar el ancho de palabra necesario mientras se utilizan circuitos integrados modernos. [16]
En aquella época, los procesadores de 16 bits eran comunes pero caros, y los procesadores de 8 bits, como el Z80 , se utilizaban ampliamente en el naciente mercado de las computadoras domésticas.
La combinación de componentes para producir productos de corte de bits permitió a los ingenieros y estudiantes crear computadoras más potentes y complejas a un costo más razonable, utilizando componentes listos para usar que se podían configurar de manera personalizada. Las complejidades de crear una nueva arquitectura de computadora se redujeron en gran medida cuando los detalles de la ALU ya estaban especificados (y depurados ).
La principal ventaja era que el bit slicing hacía económicamente posible el uso de transistores bipolares en procesadores más pequeños , que conmutan mucho más rápido que los transistores NMOS o CMOS . Esto permitía velocidades de reloj mucho más altas, donde se necesitaba velocidad (por ejemplo, para funciones DSP o transformación de matrices ) o, como en el caso del Xerox Alto , la combinación de flexibilidad y velocidad, antes de que las CPU discretas pudieran ofrecer eso.
En tiempos más recientes, el término bit slicing fue reutilizado por Matthew Kwan [17] para referirse a la técnica de usar una CPU de propósito general para implementar múltiples máquinas virtuales simples paralelas usando instrucciones de lógica general para realizar operaciones SIMD (instrucción única con múltiples datos ). Esta técnica también se conoce como SIMD dentro de un registro (SWAR).
Esto fue inicialmente en referencia al artículo de Eli Biham de 1997 Una nueva y rápida implementación de DES en software , [18] que logró ganancias significativas en el rendimiento de DES mediante el uso de este método.
Para simplificar la estructura del circuito y reducir el costo del hardware de las computadoras cuánticas (propuestas para ejecutar el conjunto de instrucciones MIPS32 ), se demostró una "unidad lógica aritmética (ALU) de 4 bits superconductora de 50 GHz para microprocesadores cuánticos de flujo único rápidos de 32 bits". [19]
[…] Aquí se explica cómo colocar tres ALU de 1 bit para crear una ALU de 3 bits […]
[…] Se demostró una unidad lógica aritmética (ALU) de 4 bits por corte de bits para microprocesadores cuánticos de flujo único rápidos de 32 bits. La ALU propuesta cubre todas las operaciones de ALU para el conjunto de instrucciones MIPS32. […] Consta de 3481
uniones Josephson
con un área de 3,09 × 1,66 mm
2
. Logró la frecuencia objetivo de 50 GHz y una latencia de 524 ps para una operación de 32 bits, a la tensión
de polarización de CC
diseñada de 2,5 mV […] Se ha diseñado y fabricado otra ALU paralela de 8 bits con una frecuencia de procesamiento objetivo de 30 GHz […] Para lograr un rendimiento comparable al de los microprocesadores paralelos CMOS que funcionan a 2-3 GHz, se debe realizar un procesamiento de 4 bits por segmento con una frecuencia de reloj de varias decenas de gigahercios. Se han demostrado con éxito varios circuitos aritméticos de bits en serie con relojes de alta velocidad de más de 50 GHz […]