www.wikidata.de-de.nina.az
Der gesamte Artikel ist nicht hinreichend mit Belegen beispielsweise Einzelnachweisen ausgestattet Angaben ohne ausreichenden Beleg konnten demnachst entfernt werden Bitte hilf Wikipedia indem du die Angaben recherchierst und gute Belege einfugst Der Begriff Simultaneous Multithreading kurz SMT deutsch etwa simultaner Mehrfadenbetrieb bezeichnet die Fahigkeit eines Mikroprozessors mittels getrennter Pipelines und oder zusatzlicher Registersatze mehrere Threads gleichzeitig auszufuhren Hiermit stellt SMT eine Form des hardwareseitigen Multithreadings dar Die derzeit wohl bekannteste Form des SMT ist Intels Hyper Threading Technik HTT fur Pentium 4 Xeon Atom und Core i und neuer aber auch Prozessoren anderer Hersteller verfugen uber 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 dafur 2018 den Eckert Mauchly Award In der Wurdigung fur Eggers der IEEE Computer Society wurde SMT als bedeutendster Beitrag zur Computerarchitektur der letzten 30 Jahre bezeichnet 1 Inhaltsverzeichnis 1 Funktionsweise 1 1 Beispiel fur Zweifach SMT 2 Anwendungsgebiete 3 Abgrenzung 3 1 Abgrenzung zur Pipeline Architektur Superskalaritat 3 2 Abgrenzung zur Mehrkern Architektur 4 Prozessoren mit SMT 5 Siehe auch 6 EinzelnachweiseFunktionsweise BearbeitenZiel 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 moglich ist Die Pipeline Architektur arbeitet nur Befehle innerhalb eines Threads ab Dadurch kann sie nur solche Befehle parallelisieren die innerhalb eines Threads unabhangig voneinander sind Beispiel fur Zweifach SMT Bearbeiten Die folgenden Pipelinestufen und 2 Threads sind gegeben IF Instruction Fetch ID Instruction Decoding OF Operand Fetch EX Execution WB Write Back Pipeline IF ID OF EX WBThread 1 LD R6 adr4 ADD R4 R6 1 BEQ R4 R6 j1 BR j2 j1 ADD R4 R4 1 j2 ST R4 adr6Thread 2 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 Datenabhangigkeit fallt die erste EX Phase des abhangigen 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 EX4Bei unbedingten Sprungen ist das Holen des Zielbefehls IF nach der ID Phase erlaubt Bedingte Sprunge mussen im Falle eines Sprunges die EX2 Phase abarbeiten bevor die Zielanweisung geladen werden kann Wenn der Sprung nicht ausgefuhrt 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 18LD R6 adr4 IF ID OF EX1 EX2 EX3 EX4 EX5 WBLD R1 adr0 IF ID OF EX1 EX2 EX3 EX4 EX5 WBLD R2 adr1 IF ID OF EX1 EX2 EX3 EX4 EX5 WBADD R4 R6 1 IF ID OF EX1 EX2 WBOR R1 R1 0xF0 IF ID OF EX1 EX2 WBBEQ R4 R6 m1 IF ID OF EX1 EX2 WBADD R3 R1 R2 IF ID OF EX1 EX2 WBBR m2 IF ID OF EX1 EX2 WBST R3 adr2 IF ID OF EX1 EX2 WBj1 ADD R4 R4 1 IF ID OF EX1 EX2 WB Kein Sprung zu j1j2 ST R4 adr6 IF ID OF EX1 EX2 WBAnwendungsgebiete BearbeitenSimultaneous Multithreading stellt eine kostengunstige wenn auch wesentlich leistungsarmere Alternative zu Multicore Prozessoren dar Die Leistung eines SMT Prozessors lasst sich allerdings nur dann effektiv nutzen wenn mehrere parallel zu verarbeitende Aufgaben durchzufuhren sind die durch das Betriebssystem den Programmierer oder den Compiler auch derart gestaltet wurden dass sie weitgehend parallel ausfuhrbar sind Bei vielen modernen Anwendungen ist dies seit einigen Jahren der Fall Abgrenzung BearbeitenDas Simultaneous Multithreading ist also zwischen Pipeline Architektur und Mehrkern Architektur anzusiedeln Abgrenzung zur Pipeline Architektur Superskalaritat Bearbeiten Von der Pipeline Architektur unterscheidet sich SMT dadurch dass die Ausfuhrung mehrerer Threads gleichzeitig moglich ist Nicht nur Datenverarbeitungseinheiten des Prozessors wie ALU und FPU werden repliziert sondern auch der Registersatz und die Befehlsdekodierung Gegenuber dem System erscheint eine SMT CPU meist wie mehrere unabhangige Prozessoren Die Pipeline Architektur fuhrt Befehle desselben Programms parallel aus falls moglich Ist es aufgrund von Abhangigkeiten nicht moglich werden sie sequenziell ausgefuhrt SMT fuhrt die Befehle zweier oder mehrerer Threads aus einem oder mehreren Programmen parallel aus falls moglich Wenn nicht werden sie abwechselnd ausgefuhrt Dies kann als Superskalaritat uber 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 befehlsausfuhrenden Einheiten zu erhohen wobei der Parallelisierungsgrad bei SMT hoher oder gleich aber nie geringer als der der Pipeline Architektur ist Abgrenzung zur Mehrkern Architektur Bearbeiten Von der Multicore Architektur unterscheidet sich SMT dadurch dass die dem System gemeldeten Prozessoren einer SMT CPU keine unabhangigen Prozessoren sind Bei SMT teilen sich die virtuellen Prozessoren den Zugriff auf dieselben Datenverarbeitungseinheiten ALU FPU wahrend im Mehrkernprozessor jeder Kern seine eigene Datenverarbeitungseinheit besitzt Sowohl ein SMT Prozessor mit zwei Threads als auch ein Doppelkern Prozessor erscheinen gegenuber dem System als zwei Prozessoren Jedoch handelt es sich bei einem Doppelkern Prozessor um zwei tatsachlich unabhangige und dementsprechend schnelle Prozessoren wahrend es sich bei SMT um einen Prozessor mit zwei oder mehr Hardware Threads handelt Prozessoren mit SMT BearbeitenIntel 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 ausser 8 Gen Intel Core i5 ausser Quadcore Modelle des i5 Intel Core i7 Intel Core i9 Power Architektur IBM und Partner IBM Cell ab IBM Power5 SPARC Architektur ursprunglich Sun Sun UltraSPARC T1 Sun UltraSPARC T2 Sun Rock AMD x86 ab der Zen Mikroarchitektur AMD Ryzen AMD Epyc XMOSSiehe auch Bearbeitenhardwareseitiges Multithreading Hyper Threading Nebenlaufigkeit Parallelisierung Pipeline Prozessor Multicore ProzessorEinzelnachweise Bearbeiten Susan Eggers First Woman to Receive Highly Prestigious Computer Architecture Award PR Newswire 5 Juni 2018Normdaten Sachbegriff GND 4803254 2 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Simultaneous Multithreading amp oldid 238306490