Articulo de referencia

Rebanado de bits

La segmentación de bits es una técnica para construir un procesador a partir de módulos de procesadores con menor ancho de bits, con el fin de aumentar la longitud de palabra; e...

La segmentación de bits es una técnica para construir un procesador a partir de módulos de procesadores con menor ancho de bits, con el fin de aumentar la longitud de palabra; en teoría, para crear una unidad central de procesamiento (CPU) arbitraria de n bits . Cada uno de estos módulos procesa un campo de bits o segmento de un operando . Los componentes de procesamiento agrupados tendrían entonces la capacidad de procesar la longitud de palabra completa elegida para un diseño de software determinado.

La segmentación de bits prácticamente desapareció debido a la mayor integración del microprocesador . Recientemente se ha utilizado en unidades aritmético-lógicas (ALU) para computadoras cuánticas y como técnica de software, por ejemplo, para criptografía en CPU x86 . [ 1 ]

Detalles operativos

Los procesadores de división de bits (BSP, por sus siglas en inglés) suelen incluir una unidad aritmético-lógica (ALU, por sus siglas en inglés) de 1 , 2 , 4 , 8 o 16 bits y líneas de control (incluidas las señales de acarreo o desbordamiento que son internas al procesador en los diseños de CPU sin división de bits ).

Por ejemplo, dos chips ALU de 4 bits podrían colocarse uno al lado del otro, con líneas de control entre ellos, para formar una ALU de 8 bits. Cualquier combinación es posible: tres unidades de 1 bit podrían formar una ALU de 3 bits, [ 2 ] o incluso más unidades para formar una ALU de n bits. Cuatro chips ALU de 4 bits podrían usarse para construir una ALU de 16 bits u ocho chips para construir una ALU de palabra de 32 bits. El diseñador podría agregar tantas secciones como fueran necesarias para manipular longitudes de palabra más largas.

Se utilizaría un microsecuenciador o una ROM de control para ejecutar la lógica que proporciona datos y señales de control para regular el funcionamiento de las ALU componentes.

Microprocesadores de segmento de bits conocidos:

U830C

Necesidad histórica

La segmentación de bits, aunque no se denominaba así en aquel entonces, también se utilizaba en los ordenadores antes de la llegada de los circuitos integrados a gran escala (LSI, el predecesor de los VLSI actuales , o circuitos de integración a muy gran escala).

La primera máquina de división de bits fue Whirlwind I , [ 16 ] construida entre 1946 y 1951. Su diseño tenía una fila de " bastidores de relés " (o "bastidores" para abreviar) para cada grupo de circuitos estrechamente relacionados y altamente interconectados, como la fila A con los registros de la CPU y los circuitos aritméticos. Dentro de una fila, los circuitos de cada posición de bit dentro de una palabra de 16 bits estaban en un bastidor separado, como los bastidores A0-A15 en la fila A.

Dentro de cada bastidor, había paneles que contenían los circuitos para una función específica. Los bastidores de la fila A tenían, de arriba abajo, paneles para el Registro de Instrucciones (o Registro de Programa), el Contador de Programa, los Registros B y de E/S, el Acumulador (donde se realizaban las operaciones aritméticas), el Registro de Verificación y el Registro de Comparación. Esto permitía que cada bastidor A0-A15 fuera idéntico, y que cada panel correspondiente en estos bastidores también lo fuera.

Entre las máquinas posteriores de primera generación construidas con el concepto de segmento de bits se incluyen el Memory Test Computer, construido en el MIT como parte de la investigación Whirlwind entre 1952 y 1953, y el EDSAC 2 , construido en el Laboratorio Matemático de la Universidad de Cambridge entre 1956 y 1958.

En las máquinas de segunda generación (transistores discretos), se utilizó el seccionamiento de bits para dividir los circuitos en una fila de módulos enchufables idénticos, donde cada módulo contenía un bit de cada uno de varios registros. Un ejemplo [ 17 ] fue el PDP-6 , una máquina de 36 bits con direcciones de memoria de 18 bits, en la que 9 módulos de tipo 6203 contenían los registros de conteo de desplazamiento de 9 bits y exponente de punto flotante, 36 módulos de tipo 6205 contenían los diversos registros aritméticos de 36 bits y 18 módulos de tipo 6206 contenían los diversos registros relacionados con la dirección de memoria de 18 bits.

Antes de mediados de la década de 1970 y finales de la de 1980, existía cierto debate sobre el ancho de bus necesario para el funcionamiento de un sistema informático. La tecnología y los componentes de los chips de silicio eran mucho más caros que en la actualidad. El uso de múltiples unidades aritmético-lógicas (ALU) más sencillas y, por lo tanto, menos costosas, se consideraba una forma de aumentar la potencia de cálculo de manera rentable. Si bien en aquel entonces se hablaba de microprocesadores de 32 bits , pocos se encontraban en producción.

Los mainframes compatibles con la serie UNIVAC 1100 (una de las series más antiguas, que data de 1962) tienen una arquitectura de 36 bits , y el 1100/60 introducido en 1979 utilizaba nueve chips ALU Motorola MC10800 de 4 bits [ 12 ] para implementar el ancho de palabra necesario utilizando circuitos integrados modernos. [ 18 ]

En aquel entonces, los procesadores de 16 bits eran comunes pero caros, y los procesadores de 8 bits, como el Z80 , se utilizaban ampliamente en el incipiente mercado de ordenadores domésticos.

La combinación de componentes para producir productos de tipo bit-slice permitió a ingenieros y estudiantes crear ordenadores más potentes y complejos a un coste más razonable, utilizando componentes comerciales que podían configurarse a medida. La complejidad de crear una nueva arquitectura informática se redujo considerablemente cuando los detalles de la ALU ya estaban especificados (y depurados ).

La principal ventaja radicaba en que la segmentación de bits permitía, de forma económica, el uso de transistores bipolares en procesadores más pequeños , los cuales, en aquel entonces, conmutaban mucho más rápido que los transistores NMOS o CMOS . Esto posibilitaba frecuencias de reloj mucho más altas, donde se requería 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 de un solo chip pudieran ofrecer dicha combinación.  

Uso moderno

Uso de software en hardware que no utiliza segmentación de bits.

Más recientemente, Matthew Kwan [ 19 ] reutilizó el término segmentación de bits para referirse a la técnica de usar una CPU de propósito general para implementar múltiples máquinas virtuales simples paralelas que utilizan instrucciones de lógica general para realizar operaciones de instrucción única y datos múltiples ( SIMD ). Esta técnica también se conoce como SIMD dentro de un registro (SWAR).

Esto se refería inicialmente al artículo de Eli Biham de 1997, A Fast New DES Implementation in Software , [ 20 ] que logró mejoras significativas en el rendimiento de DES mediante el uso de este método.

Computadoras superconductoras segmentadas por bits

Para simplificar la estructura del circuito y reducir el costo del hardware de los procesadores digitales superconductores (propuestos para ejecutar el conjunto de instrucciones MIPS32 ), se demostró una "unidad aritmético-lógica (ALU) superconductora  de 4 bits y 50 GHz para microprocesadores rápidos de un solo cuanto de flujo de 32 bits". [ 21 ]

Véase también

Referencias

  1. Benadjila, Ryad; Guo, Jian; Lomné, Victor; Peyrin, Thomas (21-03-2014) [15-07-2013]. "Implementación de cifrados de bloques ligeros en arquitecturas x86" . Cryptology Archive . Informe 2013/445. Archivado del original el 17-08-2017 . Recuperado el 28-12-2019 .
  2. "Cómo crear una ALU de 1 bit" . www.cs.umd.edu . Archivado del original el 8 de mayo de 2017. […] Así es como se combinan tres ALU de 1 bit para crear una ALU de 3 bits […]
  3. "3002 - El Museo CPU Shack" . cpushack.com . Consultado el 5 de noviembre de 2017 .
  4. "Liderazgo tecnológico: microprocesador bipolar" (PDF) . Signetics . S2.95 . Consultado el 11 de octubre de 2021 .
  5. "IMP-4 - National Semiconductor" . en.wikichip.org . Consultado el 5 de noviembre de 2017 .
  6. ^ Klar, Rainer (1989) [ 1 de octubre de 1988 ]. "5.2 Der Mikroprozessor, ein Universal-Rechenautomat". Digitale Rechenautomaten – Eine Einführung in die Struktur von Computerhardware [ Computadoras digitales: una introducción a la estructura del hardware de una computadora ] . Sammlung Göschen (en alemán). vol. 2050 (cuarta edición reelaborada). Berlín, Alemania: Walter de Gruyter & Co. p. 198.ISBN    3-11011700-2.(320 páginas)
  7. "6701 - El Museo CPU Shack" . cpushack.com . Consultado el 5 de noviembre de 2017 .
  8. "5700/6700 - Memorias monolíticas" . en.wikichip.org . Consultado el 5 de noviembre de 2017 .
  9. "Archivo:MMI 5701-6701 MCU (agosto de 1974).pdf" (PDF) . en.wikichip.org . Consultado el 5 de noviembre de 2017 .
  10. "5701/6701 Microcontrolador bipolar expandible de 4 bits Aug74" (PDF) . Consultado el 24 de mayo de 2021 .
  11. "SN74S481" . El Museo CPU Shack . Consultado el 5 de noviembre de 2017 .
  12. 1 2 Mueller, Dieter (2012). "The MC10800" . 6502.org . Archivado del original el 18 de julio de 2018. Recuperado el 5 de noviembre de 2017 .
  13. Kurth, Rüdiger; Groß, Martín; Hambre, Henry, eds. (2021-09-27) [2006]. "Integrierte Schaltkreise" [ Circuitos integrados ] . robotrontechnik.de (en alemán). Archivado desde el original el 3 de diciembre de 2021 . Consultado el 7 de diciembre de 2021 .
  14. Oppelt, Dirk (2016). "PDP DEC del Bloque del Este" . cpu-collection.de . Núremberg, Alemania. Archivado del original el 9 de agosto de 2016. Consultado el 7 de diciembre de 2021 .
  15. ^ Salomón, Peter (25 de junio de 2007). "Einsatzgebiete des U830C und Chipsatz" [ Aplicaciones del U830C y el chipset ] . Foro Robotrontechnik (en alemán). Archivado desde el original el 10 de noviembre de 2019 . Consultado el 7 de diciembre de 2021 .
  16. Fedorkow, Guy (2018). "La computadora Whirlwind en CHM" . computerhistory.org . Recuperado el 29 de julio de 2025 .
  17. "Manual de instrucciones del circuito PDP-6" (PDF) . bitsavers.trailing-edge.com/ . 1966. Consultado el 29 de julio de 2025 .
  18. "Sistema de computadoras Sperry Univac 1100/60" (PDF) . Delran, NJ, EE. UU.: Datapro Research Corporation. Enero de 1983. 70C-877-12 . Consultado el 11 de octubre de 2021 .
  19. "Bitslice DES" . darkside.com.au . Consultado el 5 de noviembre de 2017 .
  20. Biham, Eli (1997). "Una nueva implementación rápida de DES en software" . cs.technion.ac.il . Archivado del original el 7 de noviembre de 2017. Recuperado el 5 de noviembre de 2017 .
  21. Tang, Guang-Ming; Takata, Kensuke; Tanaka, Masamitsu; Fujimaki, Akira; Takagi, Kazuyoshi; Takagi, Naofumi (enero de 2016) [2015-12-09]. "Unidad aritmético-lógica de segmento de bits de 4 bits para microprocesadores RSFQ de 32 bits". IEEE Transactions on Applied Superconductivity . 26 (1) 2507125. Bibcode : 2016ITAS...2607125T . doi : 10.1109/TASC.2015.2507125 . S2CID 25478156. 1300106. […] Se demostró una unidad aritmético-lógica (ALU) de segmento de bits de 4 bits para microprocesadores rápidos de flujo cuántico único de 32 bits. La ALU propuesta cubre todas las operaciones de la ALU para el conjunto de instrucciones MIPS32. […] Consta de 3481 uniones Josephson con un área de 3,09 × 1,66 mm² . Alcanzó la frecuencia objetivo de 50 GHz y una latencia de 524 ps para una operación de 32 bits, con una tensión de polarización de CC de diseño 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 operan a 2-3 GHz, el procesamiento de segmentos de bits de 4 bits debe realizarse con una frecuencia de reloj de varias decenas de gigahercios. Se han demostrado con éxito varios circuitos aritméticos serie de bits con relojes de alta velocidad superiores a 50 GHz. […]          

Lecturas adicionales

  • Mick, John; Brick, James (1980). Diseño de microprocesadores por segmentos de bits (PDF) . McGraw-Hill. ISBN 0-07-041781-4.