Wie viele ALUs (und Threads) sind in einer Pentium-CPU?

Ich lese ein Buch von unten nach oben , wo es heißt:

Die Arithmetic Logic Unit (ALU) ist das Herzstück des CPU-Betriebs. Es nimmt Werte in Registern und führt eine der vielen Operationen aus, zu denen die CPU in der Lage ist. Alle modernen Prozessoren haben eine Reihe von ALUs, sodass jede unabhängig arbeiten kann. Tatsächlich haben Prozessoren wie der Pentium (*Hervorhebung von mir) sowohl schnelle als auch langsame ALUs; Die schnellen sind kleiner (damit mehr auf die CPU passt), können aber nur die häufigsten Operationen ausführen, langsame ALUs können alle Operationen ausführen, sind aber größer.

Ich fing an, herauszufinden, wie viele und fand diese Frage https://stackoverflow.com/questions/29056968/how-many-alus-are-in-a-cpu , wo sich, soweit verstanden, viele ALU auf Multithreading bezogen, aber Pentiumist eingängig.

Hier habe ich gefunden Sind 32-Bit-ALUs wirklich nur 32 1-Bit-ALUs parallel? . Ich schätze also, was in dem Buch gemeint war, sind viele parallele "kleine" ALUs - habe ich recht?

Es wäre vorteilhafter, superskalare Architekturen in Betracht zu ziehen als Programme mit mehreren Threads. Die Anzahl der Kerne und die Anzahl der Ausführungseinheiten pro Kern beziehen sich auf die Hardware. Threads sind ein Softwarekonzept. Seit vielen Jahren profitieren alle Implementierungen der x86-Architektur von mehreren Ausführungseinheiten pro Kern.

Antworten (2)

Der Pentium-Prozessor hat zwei Ausführungseinheiten: die U- und die V-Pipes. Wenn zwei Befehle parallel in den zwei Pipes ausgeführt werden, wird davon ausgegangen, dass die beiden Befehle gepaart sind.

Die U-Pipe kann jeden Befehl in der Intel(R)-Architektur ausführen, während die V-Pipe nur einfache Befehle ausführen kann.

Wenn sich zwei Befehle paaren, ist der an das V-Rohr ausgegebene Befehl immer der nächste sequentielle Befehl nach demjenigen, der an das U-Rohr ausgegeben wurde.

Einfache Anweisungen sind vollständig fest verdrahtet; sie erfordern keine Mikrocodesteuerung und werden im Allgemeinen in einem Takt ausgeführt. Die Ausnahmen sind die Befehle ALU mem, reg und ALU reg, mem, die Drei- bzw. Zwei-Takt-Operationen sind. Sequenzierungshardware wird verwendet, damit sie als einfache Anweisungen funktionieren können.

Quelle: http://www.nacad.ufrj.br/online/intel/vtune/users_guide/mergedProjects/analyzer_ec/mergedProjects/reference_olh/pentium4_hh/lips/v_pipe.htm

Geben Sie hier die Bildbeschreibung ein
Quelle: https://www.ques10.com/p/13341/explain-in-brief-pipeline-stages-on-pentium-proc-1/

Als Antwort auf Ihre Frage kann eine ALU arbeiten, während die andere arbeitet, also ist es nicht gerade Multithreading, denn wenn ein Thread U-Pipe benötigt und beschäftigt ist, muss er warten.

Tatsächlich haben Prozessoren wie der Pentium (*Hervorhebung von mir) sowohl schnelle als auch langsame ALUs; Die schnellen sind kleiner (damit mehr auf die CPU passt), können aber nur die häufigsten Operationen ausführen, langsame ALUs können alle Operationen ausführen, sind aber größer.

Dies ist eine ziemlich ungenaue Beschreibung und für moderne Prozessoren nicht besonders genau.

Ausführungseinheiten (ein allgemeinerer Begriff für das, was das Buch als "ALUs" bezeichnet) unterscheiden sich normalerweise nicht so sehr in der Geschwindigkeit als in ihren Fähigkeiten. Ein repräsentatives Beispiel für eine moderne CPU ist Intels Sandy-Bridge-Mikroarchitektur , die über sechs Ausführungseinheiten verfügt. Drei von ihnen verarbeiten Ganzzahl- und Gleitkommaoperationen, wobei gemeinsame Operationen für alle drei verfügbar sind und verschiedene andere Operationen zwischen ihnen aufgeteilt sind. Zwei weitere verwalten Speicherlasten und eine sechste verwaltet Speichervorgänge.

Entscheidend dabei ist, dass es keine Ausführungseinheit gibt, die alle Operationen ausführen kann! Insbesondere ist es üblich, dass Speicheroperationen auf dedizierten EUs platziert werden, da diese Operationen sehr verbreitet sind und die Hardware, die zu ihrer Implementierung erforderlich ist, sich erheblich von der unterscheidet, die auf anderen EUs vorhanden ist.