hyper - threading
TRANSCRIPT
HYPER - THREADING
SEMINAR RECHNERARCHITEKTUR
HYPER-THREADING TECHNOLOGY
SERGE FOPOUSSI
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITEKTUR
Prof. Dr. Rolf Drechsler
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITEKTUR
Prof. Dr. Rolf Drechsler
GLIEDERUNG
1. BACKGROUND : Arbeitsweise eines von Neumann-Rechners
2. ENTWICKLUNG VON PROZESSOREN
3. HYPER-THREADING :Die neue Technologie
4. KERN EINES PROZESSORS HYPER-THREADING
5. VERGLEICH ZWISCHEN EINEM PROZESSOR OHNE UND MIT HT FUNKTIONALITÄT
6. VERGLEICH DER LEISTUNGEN VON HT UND SMP
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITEKTUR
Prof. Dr. Rolf Drechsler
BACKGROUND : Arbeitsweise eines von Neumann-Rechners
Ein Rechner verarbeitet eine Menge von Daten, diese werden
gespeichert und nach einem gewissen Schema rechnerintern
zwischen verschiedenen Modulen hin und her transportiert.
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITEKTUR
Prof. Dr. Rolf Drechsler
BACKGROUND : Architektur eines von Neumann-Rechners
Ein zentralgesteuerter Rechner besteht aus drei Grundbestandteilen:
CPUROM RAM IO
Datenbus
Adreßbus
Speicher
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITEKTUR
Prof. Dr. Rolf Drechsler
BACKGROUND : Arbeitsweise eines von Neumann-Rechners
1. PC ---> MAR2. #(Add.) ---> MBR3. MBR ---> IR4. Bitfolge wird decodiert.5. Inhalt vom PC wird aktualisiert.6. Befehl wird ausgeführt7. Initiierung der Fetch-phase für den nächsten auszuführenden Befehl.
Hier spielt die Zeit, welche benötigt wird zum Lesen aus dem Speicher, zur Interpretation und zum Ausführen des Befehls
eine große Rolle.
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITEKTUR
Prof. Dr. Rolf Drechsler
ENTWICKLUNG VON PROZESSOREN
In der Vergangenheit wurde Leistungssteigerung durch:
➢ Höhere Taktrate Berechnung von mehr Instruktionen pro Zeiteinheit Unterbrechung des I.Flußes in der Pipeline durch Cache Misses, Interrupts
oder falsche Sprung-vorhersagen.
➢ Großere Caches Vergrößerung der L1 und L2 Caches Prozessor wird noch größer, komplexer, teurer. Steigerung der Schwierigkeiten Taktraten und Latenzeiten zu erreichen.
➢ Prefetchin der Mikroarchitektur von Prozessoren ermöglicht.
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITEKTUR
Prof. Dr. Rolf Drechsler
ENTWICKLUNG VON PROZESSOREN
Eine andere Möglichkeit die Geschwindigkeit eines Prozessors zu steigern ist ILP (Instruktion Level Parallelism).
Man versucht die Anzahl der ausgeführten Instruktionen pro Taktzyklus zu erhöhen.
Mehrere Ausführungseinheiten: Infos werden parallel ausgeführt. Skaliert besonders gut, solange unabhängige Befehlen der CPUs zur
verfügung stehen. Schlechte Skalierung, solange das Programm (In Oder Execution)
ausgeführt werden müsst. (Beispiel: Pentium 1).
Besser OoO (Out of Order): Infos zur Verarbeitung vorher sortiert. CPU geht effektiver zur Sache Ressource liegen brach, solange sie nicht von einem Thread gebraucht
werden. (Beispiel: Pentium Pro)
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
ENTWICKLUNG VON PROZESSOREN
Zusätzlich
Höhere Taktrate bedeutet Höhere Temperatur
Hersteller von Motherboard müssen sich an immer höherem Energieverbrauch der CPU anpassen.
Bessere Techniken müssen entwickelt werden.
Bestehende Ressourcen des Prozessors müssen effektiver ausgenutzt werden: Verbesserung der Pipeline in der Mikropro.Architekur.
HYPER-THREADING.
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
HISTORY
HT. kommt aus dem Serverbereich, wo Rechnersysteme mit mehr als einem Prozessor zum Einsatz kommen.
Es ist hier möglich zwei Threads pro Taktzyklus zu verarbeiten.
Ein Thread : Kleinster ausführbarer Teil eines Tasks.
Ein Task ist ein sehr kleiner Teil eines Programms, den ein Prozessor auf einmal bearbeiten kann.
Thread-Programmierte Anwendungen profitieren davon.
Man kann von einer Verdoppelung der Leistung sprechen.
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
DIE NEUE TECHNOLOGIE
HT-Technologie ist eine Technik, die SMT (Simultaneous Multi-Threading ) in einem einzigen physikalischen Prozessor ermöglicht.
Der physikalische Prozessor spaltet sich in zwei logischen / virtuellen Prozessoren auf.Die virtuellen Prozessoren teilen sich ein Teil der physischen Ausführungs-ressourcen.Das Architectural State (Umsetz-Logik) für jeden Prozessor einzeln ist somit doppelt vorhanden.
Ziel: Vorhandene Ressourcen effektiver ausnutzen.
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
DIE NEUE TECHNOLOGIE
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
KERN EINES PROZESSORS HYPER-THREADING
✔ Jeder Prozessor besitzt sein eigenes APIC (Advanced Programmable Interrupt Controller )✔ Trace Cache (L1 Cache), L2 Cache, Queues und Key-Buffers werden geteilt.
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
KERN EINES PROZESSORS HYPER-THREADING
TC
✔ Two sets of next-instruction-pointers(IP) independently track the progress of 2 software Threads executing.
IP
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
KERN EINES PROZESSORS HYPER-THREADING
✔ Es wird beim Trace Cache den Zugriff jedem Prozessor abwechselnd gewährt ( jedem Takt), solange die beiden Prozessoren Zugriff auf dem Cache haben möchten.
TC
Arch States
Arch States
The TC stores decoded Intructions
(uops)
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
KERN EINES PROZESSORS HYPER-THREADING
✔ Beim TC Miss erhält ITLB (Intruction Translation Lookaside Buffer ) die Anfrage vom TC und übersetzt die IP-Adresse zu einer physischen Adresse. Die Anfrage wird an L2 Caches geschickt und der entprechende Bytes-Block wird zurückgegeben.
✔ Nachdem die uops aus dem TC geholt werden, landen sie in der uops-Queues. Diese Schlange entkoppelt das vordere Ende (In Oder Execution Engine) vom hinteren (Out Of Order Execution Engine).
✔ Das OOO (Out of Order) Execution Engine hat folgende Funktionen :
➔ Allocation➔ Register Renamming➔ Scheduling➔ Execution
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
HYPER - THREADING KERN EINES PROZESSORS HYPER-THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
HYPER - THREADING KERN EINES PROZESSORS HYPER-THREADING
✔ Wenn einer der Prozessoren aufgrund eines Cache-Miss blockiert wird, steht der gesamte Trace Cache dem anderen Prozessor zu Verfügung.
✔ Das OOO (Out of Order) Execution Engine verfügt über mehrere Zwischenspeicher zum:
➔ Wiederordnen (Reorder)➔ Nachverfolgen (Tracing)➔ Aufteilung (Sequencing) von Operationen.
✔ Der Allocator füllt diesen Zwischenspeicher auf.
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
HYPER - THREADING KERN EINES PROZESSORS HYPER-THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
HYPER - THREADING KERN EINES PROZESSORS HYPER-THREADING
✔ Wenn der Allocator seine Arbeit vollendet hat, landen die uops in zwei anderen Queues. Diese Queues sind so partitionniert, dass jeder virtuelle Prozessor maximal die Hälfte aller Einträge für sich verbuchen kann.
✔ Befinden sich dekodierte Instruktionen in der µop-Queue nur für einen virtuellen Prozessor, versucht der Allocator für diesen Prozessor jedem Takt Ressource zuzuweisen.
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
HYPER - THREADING KERN EINES PROZESSORS HYPER-THREADING
✔ Aus diesen Queues bedienen sich fünf Scheduler abwechselnd aus dem Topf jedes virtuellen Prozessors, um die Ausführungseinheiten (ALU, FPU...) Aufgaben zur Verarbeitung zuzuteilen.
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
HYPER - THREADING KERN EINES PROZESSORS HYPER-THREADING
✔ Nach der Ausführung werden die uops in ROB (Re-Order Buffer) gespeichert.
✔ ROB entkoppelt die Ausführungsenheit von der Retire Modul.
✔ Die Hälfte von ROB (Re-Ordner Buffer), Load und Store Buffers werden jedem virtuellen Prozessor zugeteilt.
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
KERN EINES PROZESSORS HYPER-THREADING
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
VORTEILE VOM HT
Durch diese Verlängerung der Pipeline :
Werden die Arbeitslast auf die einzelnen Stufen der Pipeline stärker aufgeteilt.
Diese Aufteilung ermöglicht die Verhinderung von Hotspots im Prozessor, wie eine bessere Verteilung der Abwärme im gesamten Prozessoren.
Die Schaltzeiten pro Pipeline-Stufe werden kleiner ( Das Signal benötigt weniger Zeit vom Anfang zum Ende einer Pipeline-Stufe.
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
NACHTEILE VON HT
Durch diese Verlängerung der Pipeline :
Wird falsche Sprungvorhersage deutlich anfälllig.
Die Zeit zum Leeren und Wieder-Füllen der Pipeline verlängert sich.
Die Pro-Mhz-Leistung sinkt entsprechend.
Beispiel: Pentium 4 mit HT.DER NACHTEIL DER NIEDRIGEREN PRO-MHZ-LEISTUNG IST KLEINER ALS DER VORTEIL DER HÖHEREN TAKTLEISTUNG.
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
VERGLEICH ZWISCHEN EINEM PROZESSOR OHNE UND MIT HT FUNKTIONALITÄT
Beide Threads werden genauso schnell berechnet, wie der erste auf dem herkommlichen Prozessor.
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
VERGLEICH DER LEISTUNGEN VON HT UND SMP
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
VERGLEICH DER LEISTUNGEN VON HT UND SMP
Es gibt zwei Variante von Mehr-Prozessor-Systemen :
SMT (Simultaneous Multithreading : HT) SMT bedeutet 2 oder mehrere virtuelle Prozessoren in einem System.
Damit erreicht man eine Leistungssteigerung von bis zu 35 % ohne zusätzliche spezielle PC Komponente. Programme müssen angepasst werden.
2. SMP (Symetrische Multi-Processing) << Mehr- Prozessor-System>> SMP bedeutet 2 oder mehrere logische Prozessoren in einem System.
Damit erreicht man eine Leistungssteigerung von bis zu 90 %. Es wird dafür ein spezielles Motherboard benötigt, welches das
Doppelte kostet, als ein Motherboard für Single Prozessor System. Schlechtes Preis/Leistungsverhältnis. Programme müssen angepasst werden.
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
Zusammenfassung
Eine CPU mit HT besteht weder aus 2 physischen Prozessoren, noch werden Anwendungen doppelt so schnell ablaufen.
Es ist Aufgabe des Betriebssystems, anfallende Arbeiten auf die beiden virtuellen Prozessoren zu verteilen. Da die meisten Anwendungen nicht threaded-programmiert sind, kann das BS nicht sinnvoll die Rechenlast verteilen.
Dafür ist es aber möglich Multitasking zu betreiben ohne in den „Idle Modus“ gelanden zu müssen.
HT versucht die Belegung von FPU und andere Units des Prozessors durch den aktuell bearbeitenden Thread zu optimieren, indem ein damit bestückter Prozessor durch seine zweite Allocator Unit zwei Threads parallel laufen läßt.
HYPER - THREADING
Serge Fopoussi UNIVERSITÄT BREMENSEMINAR RECHNERARCHITECTUR
Prof. Dr. Rolf Drechsler
Zusammenfassung
Vielen Dank für Eure Aufmerksamkeit !
Quelle:
http://www.thors-hardware.net/new_page/tests/systeme/hyperthreading.htmlhttp://www.computerbase.de/artikel/hardware/prozessoren/was_hyperthreading/http://www.google.de/search?q=cache:rfaRACCLu5gJ:www.cs.wisc.edu/~david/courses/cs752/reader/koufaty.pdf+HYPERTHREADING+TECHNOLOGY++IN+THE+NETBURST++MICROARCHITECTURE&hl=dehttp://www.informatik.uni-bremen.de/agra/ger/lehrmat.php?id=19http://monet.unibas.ch/~guggisbe/kurs/lek1/VonNeumannmod.htmhttp://www.3dcenter.org/artikel/2004/02-04.phphttp://www.wissen.de/xt/default.do?SEARCHTYPE=topic&MENUNAME=Suche&query=Thread