www.wikidata.de-de.nina.az
Prozessoren mit hardwareseitigem Multithreading auch mehrfadige Prozessoren genannt konnen auf jedem Prozessorkern parallel mehrere Prozesse d h mehrere Programme oder Programmteile gleichzeitig ausfuhren 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 konnen Inhaltsverzeichnis 1 Multithreading 2 Nutzen von Multithreading 3 Multithreadingfahige Prozessoren fur eingebettete Anwendungen 4 Siehe auch 5 EinzelnachweiseMultithreading Bearbeiten nbsp Dieser Artikel oder nachfolgende Abschnitt 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 Hauptaufwand von hardwareseitigem Multithreading ergibt sich aus dem Bereitstellen mehrerer Registerfiles Bei den ersten Intel Xeons mit HT machte dies etwa 5 Prozent der Prozessorflache aus 1 Im Gegensatz zur Ausfuhrung auf mehreren Prozessoren bei dem sich Prozesse i A nur den Hauptspeicher I O und den L3 Cache ggf auch Stromaufnahme und Verlustleistung teilen mussen mussen sich Prozesse bei hardwareseitigem Multithreading wesentlich mehr Betriebsmittel teilen so u 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 vollstandig ausgelastet werden ergibt sich bei hardwareseitigem Multithreading 2 gegenuber einfachen Prozessoren eine laut Intel bis zu 30 Prozent hohere Rechenleistung 3 In der Praxis liegt der Wert selten uber 15 Prozent Bei speicherintensiven Applikationen kann durch Cache Thrashing der Gewinn auch negativ ausfallen Es erfolgt kein Wechsel zwischen den Threads die Befehle der Threads werden gleichzeitig ausgefuhrt Es entstehen damit keine Totzeiten 10 30 ms durch Kontextwechsel des Betriebssystems Hierzu besitzt jeder Prozessor Kern zwei Architecture States inklusive Registersatz Stapelspeicher Programmzahler und MMU 4 Prozessoren die pro Kern gleichzeitig sehr viele Threads abarbeiten heissen Barrel Prozessoren Beispiele sind der XMOS XCore XS1 L1 mit 8 Threads Kern die CDC 6000 mit 10 Threads Kern und die Cray Tera MTA mit 128 Threads Kern Nutzen von Multithreading BearbeitenDer Nutzen von Multithreading ist eine bessere Auslastung der Ressourcen der CPU 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 zusatzlich noch besser ausgelastet werden konnen Ein Grund dafur sind Pipeline Hazards die die Pipeline kurz anhalten konnen Multithreadingfahige Prozessoren bearbeiten deshalb mehrere Threads quasi gleichzeitig Dies kann in verschiedenen Varianten erfolgen Einfaches Multithreading Es wird pro Takt zwischen den verschiedenen Threads umgeschaltet 5 Simultanes Multithreading SMT Hierbei werden Bereiche des Registerfiles fur einen kleinen Prozessorkontext reserviert auf dem ein Thread ausgefuhrt wird Parallel ausgefuhrte Threads bedienen sich somit ein und desselben Rechenwerks Insbesondere bei superskalaren Rechnern wird hierdurch eine bessere Auslastung erzielt Core MultiThreading CMT Der Prozessor besitzt mehrere Arithmetisch logische Einheiten ALU die sich eine Gleitkommaeinheit FPU teilen Somit konnen mehrere Threads gleichzeitig ausgefuhrt werdenMultithreadingfahige Prozessoren fur eingebettete Anwendungen BearbeitenIn Anwendungen im Bereich eingebetteter Systeme bieten mehrfadige Prozessoren neben dem reinen Leistungsgewinn zusatzliche Moglichkeiten durch explizite Verwendung der Mehrfadigkeit 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 konnen auch durch eine Prioritatensteuerung um die Rechenzeit konkurrieren Sie konnen durch entsprechende Befehle in einen Wartezustand versetzt und durch Hardware Ereignisse aufgeweckt werden Hierdurch sind sehr schnelle Reaktionen des Systems moglich da im Gegensatz zum klassischen Hardware Interrupt keinerlei Overhead beim Kontextwechsel notwendig ist Kontexte die nur einen geringen Teil der Clock Zyklen belegen konnen dauerhaft zyklisch laufen ohne die Leistung des Systems merklich zu beeinflussen und z B zum Erzeugen oder Entschlusseln schneller Signale eingesetzt werden Somit kann durch den Einsatz von multithreadingfahigen Prozessoren durch nur geringen Aufwand im Prozessorchip auf dedizierte Hardware oder zusatzliche Prozessoren bzw digitale Signalprozessoren verzichtet werden Da in diesen Anwendungen deutlich mehr als zwei Threads sinnvoll sind werden in multithreadingfahige eingebettete Prozessoren nicht mehrere Pipelines implementiert sondern die erste Stufe der Pipeline entscheidet uber den als nachsten auszufuhrenden Kontext Beispiele fur mehrfadige Prozessoren fur eingebettete Anwendung Ubicom 3K 8 Threads Ubicom 5K Familie 10 Threads MIPS 34K Familie 5 Threads Innovasic fido 1100 ein Hauptprozessor mit 5 Threads 4 zusatzliche I O Prozessoren XMOS bis zu 4 Kerne mit je 8 Threads Siehe auch BearbeitenParallelrechner Parallele Programmierung Multithreading Simultaneous Multithreading Hyper Threading eine spezielle Implementierung von hardwareseitigem Multithreading in x86 ProzessorenEinzelnachweise Bearbeiten Hyper Threading Technology Architecture and Microarchitecture Memento des Originals vom 23 September 2015 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot www cs sfu ca Intel Die Grundlagen des hardwareseitgen Multithreading anhand von Intel Hyperthreading Servermeile Technet Die Wissens Datenbank Hyper Threading Technology Architecture and Microarchitecture Memento des Originals vom 23 September 2015 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot www cs sfu ca Intel White Paper Performance Insights to Intel Hyper Threading Technology Intel IBM Knowledge Center Abgerufen am 11 Februar 2020 amerikanisches Englisch Abgerufen von https de wikipedia org w index php title Hardwareseitiges Multithreading amp oldid 225627371