| Simultaneous-Multithreading | |||||
|
Beim Simultaneous Multithreading (SMT) werden mit Hilfe von mehreren Pipelines und zusätzlicher Registersätze mehrere Threads durch einen Prozessor gleichzeitig ausgeführt. Intels Hyper-Threading-Architektur basiert auf diesem Prinzip. SMT funktioniert nur, wenn vom Compiler, dem Betriebssystem oder dem Programmierer vorgesehen ist, dass mehrere Threads parallel ausgeführt werden. Das Simultaneous Multithreading ist also zwischen Pipeline-Architektur und Multicore-Architektur positioniert. Im Gegensatz zur Pipeline-Architektur sind mehrere Threads gleichzeitig ausführbar. Es werden ALU (Arithmetic Logic Unit), FPU (Floating Point Unit), Befehlscodierung und Registersatz zu logischen Einheiten verdoppelt. Die logischen SMT-Prozessoren werden vom System wie mehrere unabhängige Prozessoren wahrgenommen. Im Gegensatz zur Mehrkern-Technologie sind SMT-Prozessoren jedoch nicht wirklich unabhängig. SMT ist eine Ausprägung des hardwareseitigen Multithreading. |
|||||
| Siehe auch: Multithreading Hyper-Threading SMP ALU Superskalar Thread Register Intel-Core Mehrkernprozessor Paralleler-Server | |||||
| Multithreading | |||||
|
Beim Multithreading werden die einzelnen Tasks (Aufträge) in kleinere eigenständige Prozesse (= Threads) aufgeteilt. Ein multithreading-fähiger Prozessor ist somit in der Lage, mehrere Threads auf einmal zu bearbeiten. Echte Parallel-Verarbeitung ist nur bei mehreren Prozessoren gegeben. Aber auch ein einzelner Prozessor, der multithreading-fähig ist, kann damit schneller arbeiten, wenn die Threads intelligent abgearbeitet werden, beispielsweise durch Verkürzung von Wartezeiten, optimale Auslastung bzw. Einlastung (Scheduling) von Threads. Im Unterschied zum Multitasking bezieht sich die Nebenläufigkeit nicht nur auf Prozesse sondern auch auf Bearbeitungsstränge (Threads) innerhalb der Prozesse. Intel leitet seine Hyper-Threading-Technologie vom Multithreading ab. Es handelt sich um Simultaneous Multithreading (SMT) beim Pentium 4 und XEON Prozessor. Diese Technologie erhöht die Leistung von multi-threaded Anwendungen, indem sie die Auslastung der On-Chip-Ressourcen (welche in der Intel NetBurst Architektur verfügbar sind) erhöht. Die NetBurst-Ressourcen sind im Normalfall nur zu 30% + X ausgelastet. Hyper-Threading erhöht diese Auslastung durch entsprechende Logik und erzeugt einen zweiten logischen Prozessor. Weitere Beispiele für Prozessoren mit Multithreading sind der UltraSPARC T1 (Niagara), UltraSPARC T2 (Niagara II) oder der Rock Prozessor von Sun Microsystems. Man unterscheidet softwareseitiges Multithreading und hardwareseitiges Multithreading. Softwareseitiges Multithreading Beim softwareseitigen Multithreading steht meist nur ein Prozessor zur Verfügung. Die einzelnen Threads werden effizient auf die zur Verfügung stehenden Ressourcen aufgeteilt. Die Anzahl der Threadwechsel sollte jedoch möglichst gering sein um den dadurch entstehenden Verwaltungsaufwand möglichst gering zu halten. Hardwareseitiges Multithreading Beim hardwareseitigen Multithreading wird das Multithreading von der Hardware unterstützt, indem z. B. mehrere Prozessorkerne die Thread-Abarbeitung parallelisieren oder indem ein Multithreaded Prozessor vorliegt. Ein Multithreaded Prozessor kann mehrere Threads gleichzeitig abarbeiten. Dazu besitzt ein Thread einen eigenen Registersatz mit Stackpointer und Befehlszähler (Programcounter, Befehlszählregister). Häufige Thread-Wechsel bewirken beim hardwareseitigen Multithreading sogar eine Steigerung der Performance, da Konflikte in den Pipelines der Prozessoren (Pipeline Hazards) reduziert werden können. Multithreading-Prozessoren können unterschiedliche Strategien für die Aufteilung und Einlastung der Threads bzw. deren paralleler Verarbeitung anwenden: 1. Switch-By-Event: Ereignisse welchen einen Thread-Wechsel auslösen. 2. Time-Slices: jedem Thread wird eine bestimmte Zeitspanne zugewiesen. 3. Simultaneous Multithreading (SMT). Thread Grundsätzlich ist zu unterscheiden zwischen Prozess, Kernel-Thread und User-Thread. Ab ca. 1995 unterstützen die meisten Betriebssysteme alle 3 Kategorien. Moderne Prozessoren sind i.d.R. mehrfädig, d.h. sie unterstützen hardwareseitiges Multithreading. |
|||||
| Siehe auch: Multitasking Pipeline-Architektur Simultaneous-Multithreading Hyper-Threading SMP Superskalar Thread Pentium-4 Dual-Core NetBurst | |||||
| Intel-Core-i-Serie | |||||
|
Die Core-i-Serie von Intel basiert auf der Intel Nehalem Architektur und ist das Nachfolgemodell des Core-2-Duo Prozessors. Es handelt sich um einen 64-Bit 2-Kern oder 4-Kern Prozessor der auch neue Sockel und damit neue Mainboards mit sich bringt. Features der Core-i-Serie Features dieser x64-Prozessoren sind (je nach Modell und Ausführung): Simultaneous Multithreading (SMT), Trusted Execution Technology (TXT), QuickPath Interconnect (QPI), Translation Lookaside Buffer, DDR-3-Speicherunterstützung, Dual-Channel-Verfahren, SSE4, Intel SpeedStep Technology (EIST für Enhanced Intel Speed Step Technology), NX-Bit (No eXecute: Datenausführungsverhinderung - keine Ausführung beliebiger Daten als Programm) oder Intel Virtualization Technology (IVT). Bei der Core-i-Serie gibt es auch Mobile Prozessoren für Notebooks und Extreme Editions. Der Intel Core-i7 ist Intels erster nativer Kern Prozessor, d.h. alle 4 Kerne liegen auf einem Die (und nicht 2x2 Kerne auf 2 Chips). Strukturbreite Die Strukturbreite der Fertigung liegt bei entweder 45 Nanometer (Lynnfield 4-Kern Prozessor mit Ausführung als Intel-Core i5-750 bis Intel Core-i7-880, Bloomfield Quad-Core Prozessor mit Ausführung als Intel-Core-i7-920 bis Intel Core-i7-975 Extreme Edition und Clarksfield Mobile Prozessor mit Ausführung als Intel Core i7-720QM bis Intel-Core-i7-940XM Extreme Edition oder 32 Nanometer (Clarkdale 2-Kern Prozessor mit Ausführung als Intel-Core-i3-530 bis Intel-Core-i5-680, Gulftown 6-Kern Prozessor (Hexa-Core Prozessor) mit Ausführung als Intel-Core-i7-970 bis Intel Core 980X Extreme Edition. Arrandale Mobil Prozessor (Dual Core) mit Ausführung als Intel-Core-i3-330M bis Intel Core-i7-640M). Bei der Intel-Core-i-Serie spielen der Cache und die Ausführung (Strukturbreite, Features) eine grosse Rolle, so dass die Taktrate nicht allein ausschlaggebend für die Geschwindigkeit und das Benchmarking ist: Prozessoren mit geringerer Taktrate können schneller sein als höher getaktete Modell, ausserdem kommt es auf die Anwendung an. Sockel Neue Sockel sind Sockel 1156 (mit Direct Media Interface und Flexible Display Interface), Sockel 1366 (mit QuickPath Interconnect), Bei dem Intel Bloomfield wird der Chipsatz X58 (Tylersburg) verbaut. |
|||||
| Siehe auch: Intel Intel-Nehalem-Prozessor Intel-Sandy-Bridge Die Wafer Strukturbreite Simultaneous-Multithreading SSE4 QuickPath-Interconnect | |||||