<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Hardwareseitiges_Multithreading</id>
	<title>Hardwareseitiges Multithreading - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Hardwareseitiges_Multithreading"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Hardwareseitiges_Multithreading&amp;action=history"/>
	<updated>2026-05-21T03:04:48Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Hardwareseitiges_Multithreading&amp;diff=390035&amp;oldid=prev</id>
		<title>~2026-97774-7 am 13. Februar 2026 um 13:10 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Hardwareseitiges_Multithreading&amp;diff=390035&amp;oldid=prev"/>
		<updated>2026-02-13T13:10:18Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Prozessor]]en mit &amp;#039;&amp;#039;&amp;#039;hardwareseitigem Multithreading&amp;#039;&amp;#039;&amp;#039; (auch &amp;#039;&amp;#039;&amp;#039;mehrfädige Prozessoren&amp;#039;&amp;#039;&amp;#039; genannt) können auf jedem [[Prozessorkern]] parallel mehrere [[Prozess (Informatik)|Prozesse]], d.&amp;amp;nbsp;h. mehrere [[Computerprogramm|Programme]] oder Programmteile gleichzeitig ausführen. Der Nutzen besteht in einer besseren Auslastung der Rechenwerke jeder CPU und in einer schnelleren Antwort des Gesamtsystems auf externe Ereignisse, da mehr Aufgaben parallel bearbeitet werden können.&lt;br /&gt;
&lt;br /&gt;
== Multithreading ==&lt;br /&gt;
&lt;br /&gt;
Der Hauptaufwand von hardwareseitigem Multithreading ergibt sich aus dem Bereitstellen mehrerer Registerfiles. Bei den ersten Intel Xeons mit HT machte dies etwa 5 Prozent der Prozessorfläche aus.&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;{{Internetquelle |autor=Deborah T. Marr, Frank Binns, David L. Hill, Glenn Hinton, David A. Koufaty, J. Alan Miller, Michael Upton |url=https://www.moreno.marzolla.name/teaching/HPC/vol6iss1_art01.pdf |titel=Hyper-Threading Technology Architecture and Microarchitecture |werk=moreno.marzolla.name |datum=2002 |sprache=en |abruf=2025-02-01}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Gegensatz zur Ausführung auf [[Mehrprozessorsystem|mehreren Prozessoren]] (bei dem sich Prozesse i.&amp;amp;nbsp;A. &amp;quot;nur&amp;quot; den Hauptspeicher, I/O und den L3-Cache, ggf. auch Stromaufnahme und Verlustleistung teilen müssen), müssen sich Prozesse bei hardwareseitigem Multithreading wesentlich mehr [[Betriebsmittel (Informatik)|Betriebsmittel]] teilen, so u.&amp;amp;nbsp;a. L1-Cache, L2-Cache, µOp-Cache, Sprungvorhersage, Instruction-Fetcher, Befehlsdecoder, Physical Register File, Reservation Station, Load and Store Buffer, TLBs, Arithmetik-Logik-Einheiten, Gleitkomma-Einheiten. Da die Recheneinheiten eines Prozessor-Kerns selten vollständig ausgelastet werden, ergibt sich bei hardwareseitigem Multithreading&amp;lt;ref&amp;gt;{{Internetquelle|datum=2021-10-05|sprache=de|url=https://www.ionos.de/digitalguide/server/knowhow/hyperthreading/|abruf=2025-11-29|titel=Was ist Hyperthreading?|werk=Ionos}}&amp;lt;/ref&amp;gt; gegenüber einfachen Prozessoren eine laut Intel bis zu 30 Prozent höhere Rechenleistung.&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt; In der Praxis liegt der Wert selten über 15 Prozent. Bei speicherintensiven Applikationen kann durch Cache-Thrashing der Gewinn auch negativ ausfallen.&lt;br /&gt;
&lt;br /&gt;
Es erfolgt kein Wechsel zwischen den Threads, die Befehle der Threads werden gleichzeitig ausgeführt. Es entstehen damit keine Totzeiten (10–30 ms) durch [[Kontextwechsel]] des Betriebssystems. Hierzu besitzt jeder Prozessor-Kern zwei Architecture-States inklusive [[Registersatz]], [[Stapelspeicher]], [[Programmzähler]] und [[Memory Management Unit|MMU]].&amp;lt;ref&amp;gt;[https://software.intel.com/en-us/articles/performance-insights-to-intel-hyper-threading-technology Performance Insights to Intel® Hyper-Threading Technology] (Intel)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prozessoren, die pro Kern gleichzeitig sehr viele Threads abarbeiten, heißen [[Barrel-Prozessor]]en. Beispiele sind der XMOS [[XCore XS1|XCore XS1-L1]] mit 8 Threads/Kern, die [[CDC 6000]] mit 10 Threads/Kern und die Cray [[Tera MTA]] mit 128 Threads/Kern.&lt;br /&gt;
&lt;br /&gt;
== Nutzen von Multithreading ==&lt;br /&gt;
Der Nutzen von Multithreading ist eine bessere Auslastung der Ressourcen der CPU.&lt;br /&gt;
&lt;br /&gt;
Zwar wird in modernen Prozessoren, welche alle eine Pipeline haben, beispielsweise durch [[Out-of-order execution]] schon versucht, die Auslastung zu steigern, dennoch haben Untersuchungen ergeben, dass viele Teilwerke der Pipeline durch bspw. simultanes Multithreading zusätzlich noch besser ausgelastet werden können. Ein Grund dafür sind [[Pipeline-Hazard]]s, welche die Pipeline kurz anhalten können.&lt;br /&gt;
&lt;br /&gt;
Multithreadingfähige Prozessoren bearbeiten deshalb mehrere Threads quasi-gleichzeitig. Dies kann in verschiedenen Varianten erfolgen:&lt;br /&gt;
# Einfaches Multithreading: Es wird pro Takt zwischen den verschiedenen Threads umgeschaltet.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.ibm.com/support/knowledgecenter/en/POWER6/iphb2/iphb2smt.htm |titel=IBM Knowledge Center |abruf=2020-02-11 |sprache=en-US}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
# Simultanes Multithreading ([[Simultaneous Multithreading|SMT]]): Hierbei werden Bereiche des Registerfiles für einen kleinen Prozessorkontext reserviert, auf dem ein Thread ausgeführt wird. Parallel ausgeführte Threads bedienen sich somit ein und desselben Rechenwerks. Insbesondere bei [[Superskalarität|superskalaren]] Rechnern wird hierdurch eine bessere Auslastung erzielt.&lt;br /&gt;
#Core MultiThreading (CMT): Der Prozessor besitzt mehrere [[Arithmetisch-logische Einheit]]en (ALU), die sich eine [[Gleitkommaeinheit]] (FPU) teilen. Somit können mehrere Threads gleichzeitig ausgeführt werden&lt;br /&gt;
&lt;br /&gt;
== Multithreadingfähige Prozessoren für eingebettete Anwendungen ==&lt;br /&gt;
In Anwendungen im Bereich [[Eingebettetes System|eingebetteter Systeme]] bieten mehrfädige Prozessoren neben dem reinen Leistungsgewinn zusätzliche Möglichkeiten durch explizite Verwendung der Mehrfädigkeit. Solche Prozessoren bieten programmierbare Algorithmen zur Steuerung der einzelnen Programmthreads (hier Kontext genannt). So kann beispielsweise ein Kontext deterministisch einen gewissen Anteil der Takte und damit der Prozessorleistung belegen. Die Kontexte können auch durch eine Prioritätensteuerung um die Rechenzeit konkurrieren.&lt;br /&gt;
&lt;br /&gt;
Sie können durch entsprechende Befehle in einen Wartezustand versetzt und durch Hardware-Ereignisse aufgeweckt werden. Hierdurch sind sehr schnelle Reaktionen des Systems möglich, da im Gegensatz zum klassischen Hardware-Interrupt keinerlei Overhead beim Kontextwechsel notwendig ist.&lt;br /&gt;
&lt;br /&gt;
Kontexte, die nur einen geringen Teil der Clock-Zyklen belegen, können dauerhaft zyklisch laufen, ohne die Leistung des Systems merklich zu beeinflussen und z.&amp;amp;nbsp;B. zum Erzeugen oder Entschlüsseln schneller Signale eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Somit kann durch den Einsatz von multithreadingfähigen Prozessoren durch nur geringen Aufwand im Prozessorchip auf dedizierte Hardware oder zusätzliche Prozessoren bzw. [[Digitaler Signalprozessor|digitale Signalprozessoren]] verzichtet werden.&lt;br /&gt;
&lt;br /&gt;
Da in diesen Anwendungen deutlich mehr als zwei Threads sinnvoll sind, werden in multithreadingfähige, eingebettete Prozessoren nicht mehrere Pipelines implementiert, sondern die erste Stufe der Pipeline entscheidet über den als nächsten auszuführenden Kontext.&lt;br /&gt;
&lt;br /&gt;
Beispiele für mehrfädige Prozessoren für eingebettete Anwendung:&lt;br /&gt;
* Ubicom 3K (8 Threads)&lt;br /&gt;
* Ubicom-5K-Familie (10 Threads)&lt;br /&gt;
* MIPS-34K-Familie (5 Threads)&lt;br /&gt;
* Innovasic fido 1100 (ein Hauptprozessor mit 5 Threads, 4 zusätzliche I/O-Prozessoren)&lt;br /&gt;
* XMOS (bis zu 4 Kerne mit je 8 Threads)&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Parallelrechner]]&lt;br /&gt;
* [[Parallele Programmierung]]&lt;br /&gt;
* [[Multithreading]]&lt;br /&gt;
* [[Simultaneous Multithreading]]&lt;br /&gt;
* [[Hyper-Threading]], eine spezielle Implementierung von hardwareseitigem Multithreading in [[x86-Prozessor]]en&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Parallelverarbeitung]]&lt;br /&gt;
[[Kategorie:Prozessorarchitektur]]&lt;/div&gt;</summary>
		<author><name>~2026-97774-7</name></author>
	</entry>
</feed>