„Simultaneous Multithreading“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
+Belege fehlen |
Xenein (Diskussion | Beiträge) Linkvorschlag-Funktion: 2 Links hinzugefügt. |
||
(39 dazwischenliegende Versionen von 29 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{Redundanztext |
|||
|3=Hyper-Threading |
|||
|4=Simultaneous Multithreading |
|||
|5=Hardwareseitiges Multithreading |
|||
|12=t|2=August 2015|1=– [[Benutzer:Miessen|Miessen]] ([[Benutzer Diskussion:Miessen|D]]) 10:09, 29. Aug. 2015 (CEST)}} |
|||
{{Belege fehlen|2=Der gesamte Artikel}} |
{{Belege fehlen|2=Der gesamte Artikel}} |
||
Der Begriff '''Simultaneous Multithreading''' (kurz '''SMT'''; {{deS}} etwa „simultaner Mehrfadenbetrieb“) bezeichnet die Fähigkeit eines [[Mikroprozessor]]s, mittels getrennter [[Pipeline (Prozessor)|Pipelines]] und/oder zusätzlicher [[Registersatz|Registersätze]] mehrere [[Thread (Informatik)|Threads]] gleichzeitig auszuführen. Hiermit stellt SMT eine Form des [[Hardwareseitiges Multithreading|hardwareseitigen Multithreadings]] dar. |
Der Begriff '''Simultaneous Multithreading''' (kurz '''SMT'''; {{deS}} etwa „simultaner Mehrfadenbetrieb“) bezeichnet die Fähigkeit eines [[Mikroprozessor]]s, mittels getrennter [[Pipeline (Prozessor)|Pipelines]] und/oder zusätzlicher [[Registersatz|Registersätze]] mehrere [[Thread (Informatik)|Threads]] gleichzeitig auszuführen. Hiermit stellt SMT eine Form des [[Hardwareseitiges Multithreading|hardwareseitigen Multithreadings]] dar. |
||
Die derzeit wohl bekannteste Form des SMT ist [[Intel]]s [[Hyper-Threading|Hyper-Threading |
Die derzeit wohl bekannteste Form des SMT ist [[Intel]]s [[Hyper-Threading|Hyper-Threading-Technik]] (HTT) für [[Intel Pentium 4|Pentium 4]], [[Intel Xeon (NetBurst)|Xeon]], [[Intel Atom|Atom]] und [[Intel-Core-i-Serie|Core i]] und neuer, aber auch Prozessoren anderer Hersteller verfügen über SMT, z. B. [[Cell (Prozessor)|Cell]], [[Power-Architektur|Power]] ab [[Power-Architektur#Power5|POWER5]] und [[Power-Architektur#Power5|POWER6]] von [[IBM]] und die Prozessorserien von [[AMD]] ab der [[Zen (Mikroarchitektur)|Zen]]-Architektur, Ryzen und EPYC. |
||
SMT wurde in den 1990er Jahren unter anderem von [[Hank Levy (Informatiker)|Hank Levy]] und [[Susan Eggers]] entwickelt. Eggers erhielt vor allem dafür 2018 den [[Eckert-Mauchly Award]]. In der Würdigung für Eggers der [[IEEE Computer Society]] wurde SMT als bedeutendster Beitrag zur Computerarchitektur der letzten 30 Jahre bezeichnet.<ref>[https://www.prnewswire.com/news-releases/susan-eggers-first-woman-to-receive-highly-prestigious-computer-architecture-award-300659499.html Susan Eggers First Woman to Receive Highly Prestigious Computer Architecture Award], PR Newswire, 5. Juni 2018</ref> |
|||
== Funktionsweise == |
== Funktionsweise == |
||
Ziel von SMT ist es, die bereits aufgrund der [[Pipeline (Prozessor)|Pipeline-Architektur]] redundant vorhandenen Ressourcen eines Prozessors noch besser auszulasten, als dies bei der Pipeline-Architektur ohnehin möglich ist. Die Pipeline-Architektur arbeitet nur Befehle innerhalb eines Threads ab. Dadurch kann sie nur solche Befehle parallelisieren, die innerhalb eines Threads unabhängig voneinander sind. |
Ziel von SMT ist es, die bereits aufgrund der [[Pipeline (Prozessor)|Pipeline-Architektur]] redundant vorhandenen Ressourcen eines Prozessors noch besser auszulasten, als dies bei der Pipeline-Architektur ohnehin möglich ist. Die Pipeline-Architektur arbeitet nur Befehle innerhalb eines Threads ab. Dadurch kann sie nur solche Befehle parallelisieren, die innerhalb eines Threads unabhängig voneinander sind. |
||
=== Beispiel für |
=== Beispiel für Zweifach-SMT === |
||
Die folgenden Pipelinestufen und 2 Threads sind gegeben (IF = Instruction Fetch, ID = Instruction Decoding, OF = Operand Fetch, EX = Execution, WB = Write Back): |
Die folgenden Pipelinestufen und 2 Threads sind gegeben (IF = Instruction Fetch, ID = Instruction Decoding, OF = Operand Fetch, EX = Execution, WB = Write Back): |
||
Zeile 18: | Zeile 15: | ||
|+ Pipeline |
|+ Pipeline |
||
|- |
|- |
||
| IF || ID || OF || |
| IF || ID || OF || EX || WB |
||
|} |
|} |
||
Zeile 30: | Zeile 27: | ||
BEQ R4,R6,j1 |
BEQ R4,R6,j1 |
||
BR j2 |
BR j2 |
||
j1: |
j1: ADD R4,R4,1 |
||
j2: |
j2: ST R4,adr6 |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
|} |
|} |
||
Zeile 49: | Zeile 46: | ||
<div style="clear:both;"></div> |
<div style="clear:both;"></div> |
||
Out-of-Order-Issue und Out-of-Order-Completion |
Out-of-Order-Issue und Out-of-Order-Completion |
||
2 Befehle je Takt |
2 Befehle je Takt |
||
Bei einer Datenabhängigkeit fällt die erste EX-Phase des abhängigen Befehls mit der WB-Phase des vorherigen Befehls zusammen. |
Bei einer [[Datenabhängigkeit]] fällt die erste EX-Phase des abhängigen Befehls mit der WB-Phase des vorherigen Befehls zusammen. |
||
2 Integereinheiten EX1, EX2<br /> |
2 Integereinheiten EX1, EX2<br /> |
||
Zeile 58: | Zeile 55: | ||
1 Load-Einheit EX1, EX2, EX3 EX4 |
1 Load-Einheit EX1, EX2, EX3 EX4 |
||
Bei unbedingten Sprüngen ist das Holen des Zielbefehls (IF) nach der ID-Phase erlaubt. Bedingte Sprünge müssen im Falle eines Sprunges die EX2-Phase abarbeiten bevor die Zielanweisung geladen werden kann. Wenn der Sprung nicht ausgeführt wurde kann der Befehl parallel zur EX2-Phase wieder aufgenommen werden. |
Bei unbedingten Sprüngen ist das Holen des Zielbefehls (IF) nach der ID-Phase erlaubt. Bedingte Sprünge müssen im Falle eines Sprunges die EX2-Phase abarbeiten, bevor die Zielanweisung geladen werden kann. Wenn der Sprung nicht ausgeführt wurde, kann der Befehl parallel zur EX2-Phase wieder aufgenommen werden. |
||
{| class="wikitable" |
{| class="wikitable" |
||
|- |
|- |
||
| || |
| || Takte|| 1|| 2|| 3|| 4|| 5|| 6|| 7|| 8|| 9|| 10|| 11|| 12|| 13|| 14|| 15|| 16|| 17|| 18|| || |
||
|- |
|- |
||
| || |
| || LD R6,adr4|| IF|| ID|| OF|| EX1|| EX2|| EX3|| EX4|| EX5|| WB|| || || || || || || || || || || |
||
|- |
|- |
||
| || |
| || LD R1,adr0|| IF|| ID|| OF|| EX1|| EX2|| EX3|| EX4|| EX5|| WB|| || || || || || || || || || || |
||
|- |
|- |
||
| || |
| || LD R2,adr1|| || IF|| ID|| OF|| EX1|| EX2|| EX3|| EX4|| EX5|| WB|| || || || || || || || || || |
||
|- |
|- |
||
| || |
| || ADD R4,R6,1|| || || IF|| ID|| OF|| || || || EX1|| EX2|| WB|| || || || || || || || || |
||
|- |
|- |
||
| || |
| || OR R1,R1,0xF0|| || || IF|| ID|| OF|| || || || EX1|| EX2|| WB|| || || || || || || || || |
||
|- |
|- |
||
| || |
| || BEQ R4,R6,m1|| || || || IF|| ID|| || || || OF|| || EX1|| EX2|| WB|| || || || || || || |
||
|- |
|- |
||
| || |
| || ADD R3,R1,R2|| || || || IF|| ID|| || || || OF|| EX1|| EX2|| WB|| || || || || || || || |
||
|- |
|- |
||
| || |
| || BR m2|| || || || || IF|| || || || ID|| || OF|| EX1|| EX2|| WB|| || || || || || |
||
|- |
|- |
||
| || |
| || ST R3,adr2|| || || || || IF|| || || || ID|| OF|| || EX1|| EX2|| WB|| || || || || || |
||
|- |
|- |
||
| |
| j1:|| ADD R4,R4,1|| || || || || || || || || || || || || IF|| ID|| OF|| EX1|| EX2|| WB|| || Kein Sprung zu j1 |
||
|- |
|- |
||
| |
| j2:|| ST R4,adr6|| || || || || || || || || || || IF|| ID|| OF|| EX1|| EX2|| WB|| || || || |
||
|} |
|} |
||
Zeile 96: | Zeile 93: | ||
Von der [[Pipeline (Prozessor)|Pipeline-Architektur]] unterscheidet sich SMT dadurch, dass die Ausführung mehrerer Threads gleichzeitig möglich ist. Nicht nur Datenverarbeitungseinheiten des Prozessors wie [[Arithmetisch-logische Einheit|ALU]] und [[Floating Point Unit|FPU]] werden repliziert, sondern auch der [[Registersatz]] und die [[Befehlsdekodierung]]. Gegenüber dem System erscheint eine SMT-CPU meist wie mehrere unabhängige Prozessoren. |
Von der [[Pipeline (Prozessor)|Pipeline-Architektur]] unterscheidet sich SMT dadurch, dass die Ausführung mehrerer Threads gleichzeitig möglich ist. Nicht nur Datenverarbeitungseinheiten des Prozessors wie [[Arithmetisch-logische Einheit|ALU]] und [[Floating Point Unit|FPU]] werden repliziert, sondern auch der [[Registersatz]] und die [[Befehlsdekodierung]]. Gegenüber dem System erscheint eine SMT-CPU meist wie mehrere unabhängige Prozessoren. |
||
Die Pipeline-Architektur |
Die Pipeline-Architektur führt Befehle desselben Programms [[Parallele Programmierung|parallel]] aus, falls möglich. Ist es aufgrund von Abhängigkeiten nicht möglich, werden sie sequenziell ausgeführt. SMT führt die Befehle zweier oder mehrerer Threads (aus einem oder mehreren Programmen) parallel aus, falls möglich. Wenn nicht, werden sie abwechselnd ausgeführt. (Dies kann als „[[Superskalarität]] über mehrere Threads“ bezeichnet werden.) |
||
SMT versucht die Befehle zweier oder mehrerer Threads (aus einem oder mehreren Programmen) zu parallelisieren, und führt sie, falls das nicht möglich ist, abwechselnd aus. (Dies kann als „[[Superskalarität]] über mehrere Threads“ bezeichnet werden.) |
|||
Beide Konzepte versuchen also, durch Parallelisierung der Befehlsverarbeitung, die verschiedenen Einheiten einer CPU besser auszulasten und so Programme schneller zu verarbeiten, ohne die Taktfrequenz oder die Anzahl der befehlsausführenden Einheiten zu erhöhen, wobei der Parallelisierungsgrad bei SMT höher oder gleich, aber nie geringer als der der Pipeline-Architektur ist. |
|||
=== Abgrenzung zur Mehrkern-Architektur === |
=== Abgrenzung zur Mehrkern-Architektur === |
||
Von der [[Multicore-Prozessor|Multicore]]-Architektur unterscheidet sich SMT dadurch, dass die dem System gemeldeten Prozessoren einer SMT-CPU keine unabhängigen Prozessoren sind. Bei SMT teilen sich die virtuellen Prozessoren den Zugriff auf dieselben Datenverarbeitungseinheiten ([[Arithmetisch-logische Einheit|ALU]]/[[Floating Point Unit|FPU]]), während |
Von der [[Multicore-Prozessor|Multicore]]-Architektur unterscheidet sich SMT dadurch, dass die dem System gemeldeten Prozessoren einer SMT-CPU keine unabhängigen Prozessoren sind. Bei SMT teilen sich die virtuellen Prozessoren den Zugriff auf dieselben Datenverarbeitungseinheiten ([[Arithmetisch-logische Einheit|ALU]]/[[Floating Point Unit|FPU]]), während im Mehrkernprozessor jeder Kern seine eigene Datenverarbeitungseinheit besitzt. |
||
Sowohl ein SMT-Prozessor mit zwei Threads als auch ein Doppelkern-Prozessor erscheinen gegenüber dem System als zwei Prozessoren. Jedoch handelt es sich bei einem Doppelkern-Prozessor um |
Sowohl ein SMT-Prozessor mit zwei Threads als auch ein Doppelkern-Prozessor erscheinen gegenüber dem System als zwei Prozessoren. Jedoch handelt es sich bei einem Doppelkern-Prozessor um zwei tatsächlich unabhängige und dementsprechend schnelle Prozessoren, während es sich bei SMT um einen Prozessor mit zwei oder mehr Hardware-Threads handelt. |
||
== Prozessoren mit SMT == |
== Prozessoren mit SMT == |
||
<!-- Reihenfolge: Versuch eine zeitlichen Chronologie, von alt (oben; zuerst eingeführt) nach neu (unten; zuletzt eingeführt): --> |
|||
* [[Intel]] [[Pentium 4]] ([[Hyper-Threading]]) |
|||
* [[Intel |
* [[Intel]] [[x86-Prozessor|x86]] |
||
* [[Intel |
** [[Intel Pentium 4]] ([[Hyper-Threading]]) |
||
* [[Intel |
** [[Intel Xeon]] ([[Hyper-Threading]]) |
||
* [[Intel |
** [[Intel Atom]] ([[Hyper-Threading]]) |
||
** ab der [[Intel-Nehalem-Mikroarchitektur|Nehalem-Mikroarchitektur]]: [[Intel-Core-i-Serie]] |
|||
* [[Intel Core |
*** [[Intel Core i3]] (außer 8-Gen) |
||
⚫ | |||
*** [[Intel Core i5]] (außer Quadcore-Modelle des i5) |
|||
* [[IBM Power|IBM Power5, Power6 und Power7(+)]] |
|||
* [[ |
*** [[Intel Core i7]] |
||
* [[ |
*** [[Intel Core i9]] |
||
* [[Power-Architektur]], [[IBM]] und Partner |
|||
⚫ | |||
⚫ | |||
** ab IBM [[Power-Architektur#Power5|Power5]] |
|||
* [[SPARC-Architektur]], ursprünglich [[Sun Microsystems|Sun]] |
|||
** Sun UltraSPARC T1 |
|||
** Sun UltraSPARC T2 |
|||
⚫ | |||
* [[AMD]] [[x86-Prozessor|x86]] |
|||
** ab der [[Zen (Mikroarchitektur)|Zen-Mikroarchitektur]] |
|||
***[[AMD Ryzen]] |
|||
*** [[AMD Epyc]] |
|||
* [[XMOS]] |
|||
== Siehe auch == |
== Siehe auch == |
||
* [[ |
* [[hardwareseitiges Multithreading]] |
||
* [[Hyper-Threading]] |
* [[Hyper-Threading]] |
||
* [[Nebenläufigkeit]] |
* [[Nebenläufigkeit]] |
||
Zeile 126: | Zeile 133: | ||
* [[Pipeline (Prozessor)]] |
* [[Pipeline (Prozessor)]] |
||
* [[Multicore-Prozessor]] |
* [[Multicore-Prozessor]] |
||
== Einzelnachweise == |
|||
<references /> |
|||
{{Normdaten|TYP=s|GND=4803254-2}} |
{{Normdaten|TYP=s|GND=4803254-2}} |
Aktuelle Version vom 4. November 2024, 01:16 Uhr
Der Begriff Simultaneous Multithreading (kurz SMT; deutsch etwa „simultaner Mehrfadenbetrieb“) bezeichnet die Fähigkeit eines Mikroprozessors, mittels getrennter Pipelines und/oder zusätzlicher Registersätze mehrere Threads gleichzeitig auszuführen. Hiermit stellt SMT eine Form des hardwareseitigen Multithreadings dar.
Die derzeit wohl bekannteste Form des SMT ist Intels Hyper-Threading-Technik (HTT) für Pentium 4, Xeon, Atom und Core i und neuer, aber auch Prozessoren anderer Hersteller verfügen über SMT, z. B. Cell, Power ab POWER5 und POWER6 von IBM und die Prozessorserien von AMD ab der Zen-Architektur, Ryzen und EPYC.
SMT wurde in den 1990er Jahren unter anderem von Hank Levy und Susan Eggers entwickelt. Eggers erhielt vor allem dafür 2018 den Eckert-Mauchly Award. In der Würdigung für Eggers der IEEE Computer Society wurde SMT als bedeutendster Beitrag zur Computerarchitektur der letzten 30 Jahre bezeichnet.[1]
Funktionsweise
[Bearbeiten | Quelltext bearbeiten]Ziel von SMT ist es, die bereits aufgrund der Pipeline-Architektur redundant vorhandenen Ressourcen eines Prozessors noch besser auszulasten, als dies bei der Pipeline-Architektur ohnehin möglich ist. Die Pipeline-Architektur arbeitet nur Befehle innerhalb eines Threads ab. Dadurch kann sie nur solche Befehle parallelisieren, die innerhalb eines Threads unabhängig voneinander sind.
Beispiel für Zweifach-SMT
[Bearbeiten | Quelltext bearbeiten]Die folgenden Pipelinestufen und 2 Threads sind gegeben (IF = Instruction Fetch, ID = Instruction Decoding, OF = Operand Fetch, EX = Execution, WB = Write Back):
IF | ID | OF | EX | WB |
LD R6,adr4
ADD R4,R6,1
BEQ R4,R6,j1
BR j2
j1: ADD R4,R4,1
j2: ST R4,adr6
|
LD R1,adr0
OR R1,R1,0xF0
LD R2,adr1
ADD R3,R1,R2
ST R3,adr2
|
Out-of-Order-Issue und Out-of-Order-Completion 2 Befehle je Takt Bei einer Datenabhängigkeit fällt die erste EX-Phase des abhängigen Befehls mit der WB-Phase des vorherigen Befehls zusammen.
2 Integereinheiten EX1, EX2
1 Sprungeinheit EX1, EX2
1 Storeeinheit EX1, EX2
1 Load-Einheit EX1, EX2, EX3 EX4
Bei unbedingten Sprüngen ist das Holen des Zielbefehls (IF) nach der ID-Phase erlaubt. Bedingte Sprünge müssen im Falle eines Sprunges die EX2-Phase abarbeiten, bevor die Zielanweisung geladen werden kann. Wenn der Sprung nicht ausgeführt wurde, kann der Befehl parallel zur EX2-Phase wieder aufgenommen werden.
Takte | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | |||
LD R6,adr4 | IF | ID | OF | EX1 | EX2 | EX3 | EX4 | EX5 | WB | ||||||||||||
LD R1,adr0 | IF | ID | OF | EX1 | EX2 | EX3 | EX4 | EX5 | WB | ||||||||||||
LD R2,adr1 | IF | ID | OF | EX1 | EX2 | EX3 | EX4 | EX5 | WB | ||||||||||||
ADD R4,R6,1 | IF | ID | OF | EX1 | EX2 | WB | |||||||||||||||
OR R1,R1,0xF0 | IF | ID | OF | EX1 | EX2 | WB | |||||||||||||||
BEQ R4,R6,m1 | IF | ID | OF | EX1 | EX2 | WB | |||||||||||||||
ADD R3,R1,R2 | IF | ID | OF | EX1 | EX2 | WB | |||||||||||||||
BR m2 | IF | ID | OF | EX1 | EX2 | WB | |||||||||||||||
ST R3,adr2 | IF | ID | OF | EX1 | EX2 | WB | |||||||||||||||
j1: | ADD R4,R4,1 | IF | ID | OF | EX1 | EX2 | WB | Kein Sprung zu j1 | |||||||||||||
j2: | ST R4,adr6 | IF | ID | OF | EX1 | EX2 | WB |
Anwendungsgebiete
[Bearbeiten | Quelltext bearbeiten]Simultaneous Multithreading stellt eine kostengünstige, wenn auch wesentlich leistungsärmere Alternative zu Multicore-Prozessoren dar. Die Leistung eines SMT-Prozessors lässt sich allerdings nur dann effektiv nutzen, wenn mehrere parallel zu verarbeitende Aufgaben durchzuführen sind, die durch das Betriebssystem, den Programmierer oder den Compiler auch derart gestaltet wurden, dass sie weitgehend parallel ausführbar sind. Bei vielen modernen Anwendungen ist dies seit einigen Jahren der Fall.
Abgrenzung
[Bearbeiten | Quelltext bearbeiten]Das Simultaneous Multithreading ist also zwischen Pipeline-Architektur und Mehrkern-Architektur anzusiedeln.
Abgrenzung zur Pipeline-Architektur/Superskalarität
[Bearbeiten | Quelltext bearbeiten]Von der Pipeline-Architektur unterscheidet sich SMT dadurch, dass die Ausführung mehrerer Threads gleichzeitig möglich ist. Nicht nur Datenverarbeitungseinheiten des Prozessors wie ALU und FPU werden repliziert, sondern auch der Registersatz und die Befehlsdekodierung. Gegenüber dem System erscheint eine SMT-CPU meist wie mehrere unabhängige Prozessoren.
Die Pipeline-Architektur führt Befehle desselben Programms parallel aus, falls möglich. Ist es aufgrund von Abhängigkeiten nicht möglich, werden sie sequenziell ausgeführt. SMT führt die Befehle zweier oder mehrerer Threads (aus einem oder mehreren Programmen) parallel aus, falls möglich. Wenn nicht, werden sie abwechselnd ausgeführt. (Dies kann als „Superskalarität über mehrere Threads“ bezeichnet werden.)
Beide Konzepte versuchen also, durch Parallelisierung der Befehlsverarbeitung, die verschiedenen Einheiten einer CPU besser auszulasten und so Programme schneller zu verarbeiten, ohne die Taktfrequenz oder die Anzahl der befehlsausführenden Einheiten zu erhöhen, wobei der Parallelisierungsgrad bei SMT höher oder gleich, aber nie geringer als der der Pipeline-Architektur ist.
Abgrenzung zur Mehrkern-Architektur
[Bearbeiten | Quelltext bearbeiten]Von der Multicore-Architektur unterscheidet sich SMT dadurch, dass die dem System gemeldeten Prozessoren einer SMT-CPU keine unabhängigen Prozessoren sind. Bei SMT teilen sich die virtuellen Prozessoren den Zugriff auf dieselben Datenverarbeitungseinheiten (ALU/FPU), während im Mehrkernprozessor jeder Kern seine eigene Datenverarbeitungseinheit besitzt.
Sowohl ein SMT-Prozessor mit zwei Threads als auch ein Doppelkern-Prozessor erscheinen gegenüber dem System als zwei Prozessoren. Jedoch handelt es sich bei einem Doppelkern-Prozessor um zwei tatsächlich unabhängige und dementsprechend schnelle Prozessoren, während es sich bei SMT um einen Prozessor mit zwei oder mehr Hardware-Threads handelt.
Prozessoren mit SMT
[Bearbeiten | Quelltext bearbeiten]- Intel x86
- Intel Pentium 4 (Hyper-Threading)
- Intel Xeon (Hyper-Threading)
- Intel Atom (Hyper-Threading)
- ab der Nehalem-Mikroarchitektur: Intel-Core-i-Serie
- Intel Core i3 (außer 8-Gen)
- Intel Core i5 (außer Quadcore-Modelle des i5)
- Intel Core i7
- Intel Core i9
- Power-Architektur, IBM und Partner
- SPARC-Architektur, ursprünglich Sun
- Sun UltraSPARC T1
- Sun UltraSPARC T2
- Sun Rock
- AMD x86
- XMOS
Siehe auch
[Bearbeiten | Quelltext bearbeiten]- hardwareseitiges Multithreading
- Hyper-Threading
- Nebenläufigkeit
- Parallelisierung
- Pipeline (Prozessor)
- Multicore-Prozessor
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Susan Eggers First Woman to Receive Highly Prestigious Computer Architecture Award, PR Newswire, 5. Juni 2018