Bit-Slicing - Bit slicing

Bit-Slicing ist eine Technik zum Aufbauen eines Prozessors aus Modulen von Prozessoren mit geringerer Bitbreite, um die Wortlänge zu erhöhen; theoretisch eine beliebige n-Bit-CPU zu machen. Jedes dieser Komponentenmodule verarbeitet ein Bitfeld oder "Slice" eines Operanden . Die gruppierten Verarbeitungskomponenten hätten dann die Fähigkeit, die gewählte volle Wortlänge eines bestimmten Softwaredesigns zu verarbeiten.

Bit-Slicing ist durch das Aufkommen des Mikroprozessors mehr oder weniger ausgestorben . In letzter Zeit wurde es in ALUs für Quantencomputer verwendet und wurde als Softwaretechnik verwendet (zB in x86- CPUs für Kryptographie ).

Betriebsdetails

Bit-Slice-Prozessoren enthalten normalerweise eine arithmetisch-logische Einheit (ALU) von 1 , 2 , 4 , 8 oder 16  Bits und Steuerleitungen (einschließlich Übertrags- oder Überlaufsignale , die in dem Prozessor intern in Nicht-Bit-Slice- CPU- Designs sind).

Zum Beispiel könnten zwei 4-Bit-ALU-Chips Seite an Seite mit Steuerleitungen dazwischen angeordnet werden, um eine 8-Bit-ALU zu bilden (das Ergebnis muss keine Zweierpotenz sein, z. B. können drei 1-Bit eine 3-Bit-ALU ergeben , also 3-Bit- (oder n-Bit-) CPU, während 3-Bit oder jede CPU mit einer höheren ungeraden Anzahl von Bits nicht in großen Stückzahlen hergestellt und verkauft wurde). Vier 4-Bit-ALU-Chips könnten verwendet werden, um eine 16-Bit-ALU aufzubauen. Es würde acht Chips benötigen, um eine 32-Bit-Wort-ALU aufzubauen. Der Designer könnte so viele Slices wie nötig hinzufügen, um längere Wortlängen zu manipulieren.

Ein Mikrosequenzer oder ein Steuer-ROM würde verwendet werden, um eine Logik auszuführen, um Daten und Steuersignale bereitzustellen, um die Funktion der Komponenten-ALUs zu regulieren.

Bekannte Bit-Slice-Mikroprozessoren:

  • 4-Bit-Slice:
    • Nationale IMP-Familie, bestehend hauptsächlich aus dem IMP-00A/520 RALU (auch bekannt als MM5750) und verschiedenen maskierten ROM-Mikrocode- und Steuerchips (CROMs, auch bekannt als MM5751)
      • National GPC/P / IMP-4 (1973), Zweitquelle von Rockwell
      • National IMP-8 , ein 8-Bit-Prozessor basierend auf dem IMP-Chipsatz, der zwei RALU-Chips und einen CROM-Chip verwendet
      • National IMP-16 , ein 16-Bit-Prozessor basierend auf dem IMP-Chipsatz, zB vier RALU-Chips mit je einem IMP16A/521D und IMP16A/522D CROM-Chips (zusätzliche optionale CROM-Chips könnten zusätzliche Befehlssätze bereitstellen)
    • AMD Am2900 Familie (1975), zB AM2901, AM2901A, AM2903
    • Monolithic Memories 5700/6700 Familie (1974) zB MMI 5701 / MMI 6701, Second-Source von ITT Semiconductors
    • Texas Instruments SBP0400 (1975) und SBP0401, kaskadierbar bis 16 Bit
    • Texas Instruments SN74181 (1970)
    • Texas Instruments SN74S281 mit SN74S282
    • Texas Instruments SN74S481 mit SN74S482 (1976)
    • Fairchild 33705
    • Fairchild 9400 (MAKROLOGISCH), 4700
    • Motorola M10800 Familie (1979), zB MC10800
    • Raytheon RP-16, ein 16-Bit-Prozessor, der aus sieben integrierten Schaltkreisen besteht und vier RALU-Chips und drei CROM-Chips verwendet.

Historische Notwendigkeit

Bit-Slicing, obwohl es zu dieser Zeit nicht so genannt wurde, wurde in Computern auch vor großen integrierten Schaltkreisen (LSI, dem Vorgänger des heutigen VLSI oder sehr großen Integrationsschaltkreisen) verwendet. Die erste Bit-Slice-Maschine war EDSAC 2 , die 1956–1958 am Mathematical Laboratory der University of Cambridge gebaut wurde .

Vor Mitte der 1970er und Ende der 1980er Jahre gab es einige Diskussionen darüber, wie viel Busbreite in einem bestimmten Computersystem erforderlich ist, damit es funktioniert. Siliziumchip-Technologie und -Teile waren viel teurer als heute. Die Verwendung mehrerer einfacherer und damit kostengünstigerer ALUs wurde als Möglichkeit gesehen, die Rechenleistung kostengünstig zu erhöhen. Während zu dieser Zeit Mikroprozessoren mit 32-Bit- Architektur diskutiert wurden, waren nur wenige in Produktion.

Die Mainframes der UNIVAC 1100- Serie (eine der ältesten Serien mit Ursprung in den 1950er Jahren) haben eine 36-Bit- Architektur und der 1979 eingeführte 1100/60 verwendet neun Motorola MC10800 4-Bit-ALU-Chips, um die erforderliche Wortbreite zu implementieren und gleichzeitig moderne integrierte Schaltungen.

Zu dieser Zeit waren 16-Bit-Prozessoren üblich, aber teuer, und 8-Bit-Prozessoren wie der Z80 waren auf dem aufstrebenden Heimcomputermarkt weit verbreitet.

Die Kombination von Komponenten zur Herstellung von Bit-Slice-Produkten ermöglichte es Ingenieuren und Studenten, leistungsstärkere und komplexere Computer zu vernünftigeren Kosten zu erstellen, indem handelsübliche Komponenten verwendet wurden, die kundenspezifisch konfiguriert werden konnten. Die Komplexität beim Erstellen einer neuen Computerarchitektur wurde stark reduziert, wenn die Details der ALU bereits spezifiziert (und ausgetestet ) wurden.

Der Hauptvorteil war, dass Bit-Slicing es wirtschaftlich ermöglichte, in kleineren Prozessoren Bipolartransistoren zu verwenden , die viel schneller schalten als NMOS- oder CMOS- Transistoren. Dies ermöglichte viel höhere Taktraten, wo Geschwindigkeit erforderlich war; B. DSP- Funktionen oder Matrixtransformation , oder wie beim Xerox Alto die Kombination aus Flexibilität und Geschwindigkeit, bevor diskrete CPUs dies leisten konnten.

Moderne Nutzung

Softwarenutzung auf Nicht-Bit-Slice-Hardware

In jüngerer Zeit wurde der Begriff Bit-Slicing von Matthew Kwan neu geprägt, um sich auf die Technik zu beziehen, eine Allzweck-CPU zu verwenden, um mehrere parallele einfache virtuelle Maschinen zu implementieren , die allgemeine logische Befehle verwenden, um Single Instruction Multiple Data (SIMD)-Operationen durchzuführen. Diese Technik ist auch als SIMD innerhalb eines Registers (SWAR) bekannt.

Dies bezog sich zunächst auf Eli Bihams 1997 erschienenes Papier A Fast New DES Implementation in Software , das mit dieser Methode erhebliche Leistungssteigerungen von DES erzielte .

Bit-sliced ​​Quantencomputer

Um die Schaltungsstruktur zu vereinfachen und die Hardwarekosten von Quantencomputern zu reduzieren (vorgeschlagen, den MIPS32-Befehlssatz auszuführen ), eine 50 GHz supraleitende "4-Bit-Bit-Slice-Arithmetic-Logic-Unit (ALU)" für 32-Bit-Schnell-Einzelfluss-Quanten-Mikroprozessoren wurde demonstriert."

Siehe auch

Verweise

Externe Links