3 Punkte von GN⁺ 2025-03-04 | 1 Kommentare | Auf WhatsApp teilen
  • 1993 brachte Intel den Hochleistungsprozessor Pentium auf den Markt
    • Bei der Analyse der Pentium-Schaltung wurde eine komplexe Schaltung entdeckt, die mit 3 multipliziert
    • Diese Schaltung ist Teil der Gleitkomma-Multiplikatoreinheit des Pentium und multipliziert 64-Bit-Zahlen auf oktaler Basis
  • Notwendigkeit der oktalbasierten Multiplikation
    • Binäre Multiplikation ist konzeptionell einfach, aber langsam
    • Der Pentium multipliziert auf oktaler Basis, um die Schaltung zu verkleinern und die Geschwindigkeit zu erhöhen
    • Die oktale Multiplikation ist komplex, weil mit Ziffern von 0 bis 7 multipliziert werden muss
  • Booth-Algorithmus und ×3-Schaltung
    • Zur Optimierung der Multiplikation wird der Booth-Algorithmus verwendet
    • Die ×3-Schaltung muss bei der Gleitkomma-Multiplikation als Sonderfall behandelt werden
    • Diese Schaltung muss schnell arbeiten und nutzt Techniken wie Carry-Lookahead, um die Leistung zu maximieren
  • Carry-Lookahead und paralleler Präfix-Addierer
    • Ein Carry-Lookahead-Addierer berechnet alle Carry-Bits parallel und führt Additionen dadurch schnell aus
    • Mit einem parallelen Präfix-Addierer wird Carry-Lookahead in 8-Bit-Blöcken umgesetzt
    • Der Kogge-Stone-Algorithmus wird verwendet, um die Verzögerung zu minimieren und die Schaltung effizient aufzubauen
  • Carry-Select-Addierer
    • Ein Carry-Select-Addierer führt zwei Additionen gleichzeitig aus und liefert das Ergebnis sofort, sobald der Carry feststeht
    • Der Pentium verwendet in der ×3-Schaltung für jeden 8-Bit-Block einen Carry-Select-Addierer
  • BiCMOS-Ausgangstreiber
    • Der Ausgang der ×3-Schaltung benötigt hohen Strom; durch den BiCMOS-Prozess wird die Signalverzögerung reduziert
    • BiCMOS kombiniert CMOS mit bipolaren Transistoren und bietet hohe Leistung
  • Fazit
    • Die ×3-Schaltung des Pentium ist ein komplexes Design, das mehr Transistoren verwendet als frühere Mikroprozessoren
    • Das ist ein Beispiel dafür, wie stark die Komplexität von Prozessoren zugenommen hat

1 Kommentare

 
GN⁺ 2025-03-04
Hacker-News-Kommentar
  • Bei der Emulation ternärer Computer gibt es eine Methode, Divisionen durch Potenzen von 3 in Bitverschiebungen und Additionen umzuwandeln

    • 1/3 kann als 1/2 - 1/2(1/3) dargestellt werden
    • Durch unendliche Wiederholung lässt sich 1/3 = -(-1/2)^N ausdrücken
    • Das ist auch mit beliebigen Paaren von Potenzen von 2 und 3 möglich
    • Dadurch lassen sich Schaltungen zur Division durch Konstanten in fester Zeit nur mit Addierern und Subtrahierern aufbauen
  • Der Prozessor der Cinematronics-Arcade-Spiele verfügt über zwei 12-Bit-Akkumulatoren

    • Der Multiplikationsbefehl verschiebt zu einem 24-Bit-Wert und addiert den Speicherinhalt
    • Durch acht aufeinanderfolgende Multiplikationen wird ein 24-Bit-Ergebnis erzeugt
    • Hauptsächlich wurde dies für 2x2-Matrixmultiplikationen zur Rotation der Koordinaten von Spielobjekten verwendet
    • Mitte der 1970er erreichte er mit Bauteilen der 7400-Serie einen maximalen Durchsatz von 5 MIPS
  • Peter Kogge promovierte an der Stanford University und gilt als die Person, die als IBM Fellow die Multi-Core-CPU erfand

  • Die Multiplikation mit 3 ist bei Adressberechnungen eine häufige Operation

    • Mit dem LEA-Befehl lässt sie sich in einem einzigen Takt ausführen
    • Es war eine gute Entscheidung, dafür Transistorbudget einzusetzen
  • In einem Multiplizierer kann man statt mit 7 zu multiplizieren auch mit 8 multiplizieren und 1 abziehen

    • Das ähnelt einer Carry-Lookahead-Schaltung
    • 7 = 8-1, 6 = 8-2, 5 = 8-3, 4 = 8-4 lassen sich so darstellen
  • Der ×3-Multiplizierer enthält etwa 9000 Transistoren, mehr als der Z80-Mikroprozessor von 1976

    • Das zeigt das enorme Wachstum der Prozessor-Komplexität
    • Heute haben wir die Grenzen der Silizium-Halbleitertechnologie erreicht, und es ist Zeit, intelligenter zu arbeiten
  • Ein radix-8-Booth-Multiplizierer benötigt eine x3-Schaltung

    • Das ist ein Flächen-/Leistungs-Trade-off, um fmax zu steigern
  • 8086: 29.000

    • 386: 275.000
    • 486: 1,2 Millionen
    • Pentium: 3,1 Millionen
    • Die NSA stieg nach 2000 ein
  • Der Nachteil der radix-8-Multiplikation ist, dass die Multiplikation mit Zahlen von 0 bis 7 komplex ist

    • Mit 2 zu multiplizieren entspricht einer Linksverschiebung um 1 Bit
    • Mit 4 zu multiplizieren entspricht einer Linksverschiebung um 2 Bit
    • Die Multiplikation mit 7 lässt sich lösen, indem man mit 8 multipliziert und 1 subtrahiert
    • ×3 kann als Summe von 2x und 1x oder als Differenz von 4x und 1x berechnet werden
    • Wenn sich ×6 leicht berechnen lässt, kann ×3 durch Rechtsverschiebung dieses Werts erhalten werden