Tranchage de bits - Bit slicing

Le découpage en bits est une technique pour construire un processeur à partir de modules de processeurs de plus petite largeur de bits, dans le but d'augmenter la longueur des mots ; en théorie pour faire un CPU n-bit arbitraire. Chacun de ces modules composants traite un champ de bits ou "tranche" d'un opérande . Les composants de traitement groupés auraient alors la capacité de traiter la longueur de mot entière choisie d'une conception de logiciel particulière.

Le tranchage des bits s'est plus ou moins éteint en raison de l'avènement du microprocesseur . Récemment, il a été utilisé dans les ALU pour les ordinateurs quantiques , et a été utilisé comme technique logicielle (par exemple dans les processeurs x86 , pour la cryptographie ).

Détails opérationnels

Les processeurs à tranches de bits comprennent généralement une unité arithmétique et logique (ALU) de 1 , 2 , 4 , 8 ou 16  bits et des lignes de contrôle (y compris les signaux de retenue ou de débordement internes au processeur dans les conceptions de CPU sans tranches de bits ).

Par exemple, deux puces ALU 4 bits pourraient être disposées côte à côte, avec des lignes de contrôle entre elles, pour former une ALU 8 bits (le résultat n'a pas besoin d'être une puissance de deux, par exemple, trois puces 1 bit peuvent faire une ALU 3 bits , donc un processeur 3 bits (ou n bits), tandis que 3 bits, ou tout processeur avec un nombre impair supérieur de bits, n'a pas été fabriqué et vendu en volume). Quatre puces ALU 4 bits peuvent être utilisées pour construire une ALU 16 bits. Il faudrait huit puces pour construire un mot ALU de 32 bits. Le concepteur peut ajouter autant de tranches que nécessaire pour manipuler des mots plus longs.

Un microséquenceur ou une ROM de commande serait utilisé pour exécuter une logique afin de fournir des données et des signaux de commande pour réguler la fonction des ALU composants.

Microprocesseurs bit-slice connus :

  • Tranche de 4 bits :
    • Famille IMP nationale , composée principalement de l'IMP-00A/520 RALU (également connu sous le nom de MM5750) et de diverses puces de contrôle et de microcode ROM masquées (CROM, également connues sous le nom de MM5751)
      • National GPC/P / IMP-4 (1973), deuxième source par Rockwell
      • National IMP-8 , un processeur 8 bits basé sur le chipset IMP, utilisant deux puces RALU et une puce CROM
      • National IMP-16 , un processeur 16 bits basé sur le chipset IMP, par exemple quatre puces RALU avec une puce CROM IMP16A/521D et IMP16A/522D (des puces CROM optionnelles supplémentaires pourraient fournir un jeu d'instructions supplémentaires)
    • Famille AMD Am2900 (1975), par exemple AM2901, AM2901A, AM2903
    • Famille des mémoires monolithiques 5700/6700 (1974) par exemple MMI 5701 / MMI 6701, deuxième source d' ITT Semiconductors
    • Texas Instruments SBP0400 (1975) et SBP0401, en cascade jusqu'à 16 bits
    • Texas Instruments SN74181 (1970)
    • Texas Instruments SN74S281 avec SN74S282
    • Texas Instruments SN74S481 avec SN74S482 (1976)
    • Fairchild 33705
    • Fairchild 9400 (MACROLOGIQUE), 4700
    • Famille Motorola M10800 (1979), par exemple MC10800
    • Raytheon RP-16, un processeur 16 bits composé de sept circuits intégrés, utilisant quatre puces RALU et trois puces CROM.

Nécessité historique

Le découpage de bits, bien qu'il ne soit pas appelé ainsi à l'époque, était également utilisé dans les ordinateurs avant les circuits intégrés à grande échelle (LSI, le prédécesseur du VLSI actuel , ou circuits d'intégration à très grande échelle). La première machine à tranches de bits était EDSAC 2 , construite au laboratoire mathématique de l' Université de Cambridge en 1956-1958.

Avant le milieu des années 1970 et la fin des années 1980, il y avait eu un débat sur la largeur de bus nécessaire dans un système informatique donné pour le faire fonctionner. La technologie et les pièces de puce de silicium étaient beaucoup plus chères qu'aujourd'hui. L'utilisation de plusieurs ALU, plus simples et donc moins chères, était considérée comme un moyen d'augmenter la puissance de calcul de manière rentable. Alors que les microprocesseurs à architecture 32 bits faisaient l'objet de discussions à l'époque, peu étaient en production.

Les mainframes de la série UNIVAC 1100 (l'une des séries les plus anciennes, datant des années 1950) ont une architecture 36 bits et le 1100/60 introduit en 1979 utilisait neuf puces ALU 4 bits Motorola MC10800 pour implémenter la largeur de mot nécessaire tout en utilisant des systèmes intégrés modernes. circuits.

À l'époque, les processeurs 16 bits étaient courants mais coûteux, et les processeurs 8 bits, tels que le Z80 , étaient largement utilisés sur le marché naissant des ordinateurs domestiques.

La combinaison de composants pour produire des produits bit-slice a permis aux ingénieurs et aux étudiants de créer des ordinateurs plus puissants et complexes à un coût plus raisonnable, en utilisant des composants standard pouvant être configurés sur mesure. Les complexités de la création d'une nouvelle architecture informatique ont été considérablement réduites lorsque les détails de l'ALU étaient déjà spécifiés (et débogués ).

Le principal avantage était que le découpage de bits permettait économiquement, dans les processeurs plus petits, d'utiliser des transistors bipolaires , qui commutent beaucoup plus rapidement que les transistors NMOS ou CMOS . Cela a permis des fréquences d'horloge beaucoup plus élevées, où la vitesse était nécessaire; par exemple les fonctions DSP ou la transformation matricielle , ou comme dans le Xerox Alto , la combinaison de flexibilité et de vitesse, avant que les processeurs discrets ne soient capables de fournir cela.

Utilisation moderne

Utilisation du logiciel sur du matériel non bit-slice

Plus récemment, le terme bit slicing a été réinventé par Matthew Kwan pour désigner la technique consistant à utiliser un processeur à usage général pour implémenter plusieurs machines virtuelles simples parallèles à l' aide d'instructions logiques générales pour effectuer des opérations SIMD ( Single Instruction Multiple Data ). Cette technique est également connue sous le nom de SIMD Within A Register (SWAR).

C'était initialement en référence à l'article d'Eli Biham de 1997 A Fast New DES Implementation in Software , qui a réalisé des gains significatifs en termes de performances du DES en utilisant cette méthode.

Ordinateurs quantiques en bits

Pour simplifier la structure du circuit et réduire le coût matériel des ordinateurs quantiques (proposé pour exécuter le jeu d'instructions MIPS32 ), une "unité logique arithmétique (ALU) à tranches de bits à 4 bits supraconductrice à 50 GHz pour les microprocesseurs quantiques rapides à flux unique de 32 bits a été démontré."

Voir également

Les références

Liens externes