| Pentium-4 | |||||
|
Der Pentium 4 (Codename Willamette) wurde 2000 mit einem komplett neuen CPU Kern entwickelt und im selben Jahr auf den Markt eingeführt. In diesem Kern, von Intel NetBurst-Architektur genannt, sind 42 Millionen Transistoren integriert. Neu ist unter anderem ein verbessertes Rechenwerk (ALU), welches mit dem doppelten Wert der internen Taktfrequenz (CPU-Takt) arbeitet. Beim Front Side Bus (FSB) kommt das sogenannte Quad Pumping zum Einsatz. Die Übertragungsrate auf diesem Bus ist pro Takt viermal so hoch wie beim Pentium III. Durch geringere Strukturbreiten in den Nachfolgemodellen der Pentium-Produktfamilien: Northwood, Prescott, Centrino, Pentium 4-C erreicht der Pentium 4, je nach Modell, Taktfrequenzen von über 3,0 GHz oder eine geringere Leistungsaufnahme durch Stromspartechnologie oder verringerte Taktraten und Kernspannungen. |
|||||
| Siehe auch: Intel NetBurst Northbridge Southbridge FSB Chipsatz AMD Intel-Core Dual-Core Core-2-Duo | |||||
| Hyper-Threading | |||||
|
Hyper-Threading wurde von Intel entwickelt. Die Abarbeitung von Multithreaded Anwendungen werden optimiert indem die Ressourcen der CPU besser ausgenutzt werden. Die Threads werden auf 2 logische Prozessoren aufgeteilt und vom Betriebssystem mit Hilfe von (S)MP-Verfahren (Symmetrisches Multiprozessorsystem) abgearbeitet. Hintergrund für die Einführung der Hyper-Threading-Technology Verschiedene Möglichkeiten die Performance des Prozessors zu erhöhen wurden ausprobiert: Steigerung der Taktzyklen, Prefetching oder erweiterte L1- bzw. L2- oder L3-Caches. Jedoch ergaben sich daraus einige Probleme: die mögliche Leistungssteigerung durch schnellere Taktzyklen erfolgt nicht linear zur Taktzahl sondern unterproportional und bedingt auch einen höheren Stromverbrauch und Abwärme. Die Abwärmeproblematik bewog Intel dann auch zur Aufgabe der NetBurst-Architektur. Die 20 Pipeline-Stufen des Pentium 4 bewirken zudem eine wachsende Anzahl von Cache Misses (Cache Hit: Daten sind bei der Anfrage im Cache vorhanden, Cache Miss: Daten sind bei der Anfrage nicht im Cache vorhanden) sowie Interrupts und fehlerhafte Sprung-Voraussagen. Eine Vergrösserung der Caches ist nicht wirklich effizient: neben Kostensteigerungen in der Produktion wachsen mit grösseren L1- oder L2-Caches die Anforderungen zur Aufrechterhaltung höherer Taktzyklen oder geringerer Antwortzeiten. Es wurde versucht, die Anzahl der Instruktionen pro Taktzyklus durch Instruction-Level-Parallelism (ILP) zu erhöhen. Massnahmen dazu waren: Instruction Pipelining, Superskalarität, Out-of-Order-Execution, Registerumbenennung, Sprungvorhersagen und Speculative Execution. Die parallele Ausführung mehrerer Threads wird durch replizierte Ressourcen bei modernen Prozessoren unterstützt, ist jedoch nicht immer sehr effektiv. Die Strategie der Out-of-Order Execution beispielsweise ermöglicht bei superskalaren Prozessoren zwar Befehle ausserhalb der seriellen Reihenfolge auszuführen und damit die Pipelines besser auszulasten, bedingt jedoch, dass immer genügend Befehle zur Verfügung stehen, um die Prozessor-Ressourcen optimal auszulasten. Die Tendenz, Errungenschaften aus dem Serverbereich auf den Desktopbereich zu übertragen trägt auch beim Hyper-Threading Rechnung: im Serverbereich wird schon länger mit zwei vollständigen Prozessoren (2-Prozessor-Systeme) gearbeitet, die in der Lage sind, 2 Threads parallel abzuarbeiten. Hyper-Threading-Technologie Hyper-Threading wurde bei den Intel Prozessoren mit NetBurst Architektur eingeführt und ist eine Variante des hardwareseitigen Multithreading. Die Hyper-Threading-Technology (HTT) funktioniert nur bei Multithreaded-Prozessoren (Mehrfädige Prozessoren). Dazu besitzt der Prozessorkern mehrere Registersätze und Programmzähler. Aus einem physischen Prozessor werden 2 logische Prozessoren, die sich als solche auch beim Betriebssystem ausgeben. Beim Intel Pentium 4 Prozessor mit Northwood Kern wurden Hyper-Threading Ressourcen aktiviert (die auch schon beim Willamette-Kern vorhanden waren). Dabei handelt es sich um einen Trace Cache Next IP, Instruction Streaming Buffers, ein Return Stack Predictor, Register Alias Tables, einen Next Instruction Pointer, ein Instruction TLB (Translation Lookaside Buffer) sowie Trace Cache Fill Buffers. Zudem verfügt jeder virtuelle Prozessorkern über einen eigenen Interrupt Controller (Advanced Programmable Interrupt Controller). Der Trace Cache, die L1- und L2-Caches sowie die Instruction Queues, Memory Operation Queues und der Key Buffer werden aufgeteilt (Ressourcen-Sharing). Ein Prozessorkern ist damit in der Lage, Threads simultan zu verarbeiten. Threads werden in mehrere Teilaufgaben zerlegt und durch parallel arbeitende Pipeline-Stufen abgearbeitet. Dazu sind mehrere Registersätze und ein angepasstes Steuerwerk vorhanden. Ein Thread besitzt dazu einen eigenen Registersatz mit Stackpointer und Programcounter. Damit Hyper-Threading funktioniert, sollte das Betriebssystem SMP-Architekturen unterstützen. Denn die CPU bzw. die Prozessorkerne sind beim Hyper-Threading softwaretechnisch ähnlich gesteuert wie ein SMP-System. Weiterhin sollte das Betriebssystem Multitasking-fähig sein und Kernel-Level-Threads unterstützen. Hyper-Threading Ressourcen werden unterteilt in: 1. Replicated Ressources: Replicated Ressources sind nachgebildete Ressourcen, bei denen die beiden virtuellen Prozessorkerne (Siblings - Geschwister) über einige der Ressourcen als eigene Kopie verfügen. Dazu gehören ein vollständiger Registersatz mit Stackpointer und Programcounter (Befehlszählregister, Befehlszähler, Programmzähler, Instruction Pointer). 2. Partitioned Ressources (unterteilte Ressourcen): die Ressourcen werden unter den Siblings aufgeteilt. Dazu gehören der Record Buffer, die Load/Store Buffer und die Instruction Queues. 3. Shared Ressources (geteilte Ressourcen): die Siblings müssen sich Ressourcen mit anderen Siblings aufteilen. Oftmals können sie nur von einem Sibling gleichzeitig verwendet werden. Dazu zählen u.a. die ALU und die FPUs (Floating Point Unit). Wenn das Betriebssystem die notwendigen Voraussetzungen erfüllt, können Standard-Anwendungen um bis zu 20% beschleunigt werden und entsprechend optimierte Anwendungen um bis zu 33%. Hyper-Threading Unterstützung durch Prozessoren und Betriebssysteme Zu den Prozessoren, welche Hyper-Threading unterstützen gehören: Pentium 4 (ab Northwood mit 3066 MHz, Prescott, Prescott 2M und Cedar Mill), Pentium Extreme Edition (Dual Core Prozessor Pentium D mit freigeschaltetem Hyper-Threading: Smithfield und Presler, Pentium EE) und die XEON 603/604. Bei AMD: Athlon 64 X2, Opteron Dual Core Prozessoren und der Phenom. Betriebssysteme, welche Hyper-Threading unterstützen, sind: Windows XP, Windows Vista, Windows Server 2003, FreeBSD und Linux ab Kernel-Version 2.4.17. Windows 2000 unterstützt zwar Hyper-Threading, kann es aber nicht effizient ausnutzen, da Windows 2000 nicht über eine Unterscheidung zwischen physikalischen und logischen Prozessoren verfügt. Compiler, welche Hyper-Threading-fähigen Code erzeugen sind: die Intel-Compiler und die GNU Compiler Collection (GCC). Voraussetzung ist jedoch, dass die Anwendungen parallelisierbar sind: die Abarbeitung eines Threads darf nicht abhängig sein vom Ergebnis eines anderen Threads. |
|||||
| Siehe auch: Multithreading Simultaneous-Multithreading NetBurst Mehrkernprozessor Pipeline-Architektur Superskalar Thread Register ALU SMP | |||||
| SIMD | |||||
|
Single Instruction Multiple Data (auch SIMDFP) deutsch: Datenverarbeitung mit singulärem Befehls- und parallelem Datenstrang. SIMD ist eine Strategie von Parallelrechnern: Befehle werden von einem Befehlsprozessor gelesen und an weitere Prozessoren zur Abarbeitung weitergeleitet. Diese Architektur stammt von Grossrechnern und Supercomputern. SIMD-Rechner, auch Array-Prozessoren oder Vektorrechner genannt, werden vor allem in der digitalen Bildverarbeitung eingesetzt. Auch heutige Mikroprozessoren wie der Pentium 3 und Pentium 4 sowie der PowerPC Prozessor verfügen durch SSE und SSE2 über SIMD-Techniken bzw. den entsprechenden Befehlssatz, der in der Lage ist, mit einem Befehlsaufruf gleichzeitig mehrere gleichartige Datensätze zu verarbeiten. SIMDFP bedeutet SIMD Floating Point bzw. SIMD Single Precision Floating Point. Innerhalb der SSE Erweiterung (hier: Pentium III) gibt es acht weitere 128-Bit Datenregister (XMM-Register: XMM0 bis XMM7) sowie einen weiteren gepackten Datentyp (zu 128-Bit): es handelt sich um 4 gepackte Gleitkommazahlen (je 32-Bit gross): SIMDFP (SIMD Single Precision Floating Point). Der SIMD Befehlssatz arbeitet mit 32-Bit Gleitkommazahlen (Floating-Point Number) in den XMM Registern. Durch den SSE2 Befehlssatz können in den XMM-Registern auch SIMD-Operationen mit Double-Precision (64-Bit Gleitkommazahlen) durchgeführt werden (oder 16 BYTE Integers, 8 WORD Integers, 4 DWORD Integers oder 2 QWORD Integers). |
|||||
| Siehe auch: Single-Instruction-Single-Data SSE SSE2 Parallele-Datenverarbeitung Pentium-4 Intel-Core Intel Supercomputer Grossrechner PowerPC | |||||
| NetBurst | |||||
|
Die NetBurst-Architektur von Intel bezeichnet eine neuartige Architektur des Pentium 4 Prozessors. Merkmale sind: Hyper Pipelined Technology (lange, 20-stufige Pipeline; ermöglicht hohe Taktraten), Rapid Execution Engine: die Arithmetic Logical Unit (ALU) arbeitet mit doppeltem Kerntakt. Bei einem 3,2 GHz-Prozessor arbeitet die ALU also mit 6,4 GHz. Dies ist möglich, da die ALUs im Chip doppelt vorhanden sind und durch einen Multiplexer, der davorgeschaltet ist, in einem Taktzyklus 2 Integeroperationen durchführbar sind. Execution Trace Cache: ist Teil des L1-Caches, speichert dekodierte Mikroinstruktionen so dass die CPU beim Abarbeiten einer neuen Folge von Prozessen nicht mit Dekodieren aufgehalten wird. Wegen der Wärmeprobleme hat Intel sich entschieden, in Zukunft auf die NetBurst-Architektur zu verzichten. |
|||||
| Siehe auch: Pipeline-Architektur Pipeline ALU Pentium-4 Northbridge Southbridge Intel Chipsatz SSE Front-Side-Bus | |||||
| Intel | |||||
|
Integrated Electronics: Intel ist einer der grössten und profitabelsten Hersteller von Microelektronik, speziell von Prozessoren. Gegründet wurde das Unternehmen 1968 von Andrew Grove, Robert Noyce und Gordon Moore (Mooresches Gesetz). Intel war stets ein grosser Innovator im Bereich der Mikroelektronik und in letzter Zeit vor allem bei seinen Prozessoren, von den x86ern über die Pentium Familie, den Core 2 Duo bis zu Core-i5 oder Core-i7 Prozessoren. Konkurrenten sind AMD, IBM, VIA, ARM oder SUN. Kurzer geschichtlicher Abriss der Intel Prozessor Architekturen: 1971 Intel 4004 mit 4-Bit-breitem externen Datenbus, 640 Byte, 60000 Befehlen/sec., Core Takt 108 KHz 1972 Intel 8008 mit 8-Bit-breitem externen Datenbus, 1 KByte Speicher, 100000 Befehlen/sec., Core Takt 200 KHz 1974 Intel 8080 mit 8-Bit-breitem externen Datenbus, 64 KByte Speicher, 290000 Befehlen/sec 1976 AMD und Intel unterzeichnen ein Lizenzabkommen, das AMD erlaubte bestimmte Patente von Intel für die eigene Produktion zu verwenden. Damit war es AMD schliesslich möglich, mit dem 8080A in die Prozessorproduktion einzusteigen. 1978 Intel 8086 mit 16-Bit-breitem externen Datenbus, 1 MByte Speicher, 800000 Befehlen/sec., Core-Takt 4.77 - 10 MHz 1979 Intel 8088 mit 8-Bit-breitem externen Datenbus, 16-Bit-breitem internen Datenbus, Core-Takt 4.77 - 10 MHz 1985 Intel 80286 mit 16-Bit-breitem externen Datenbus, 16 MByte Speicher, 1.6 Mio. Befehlen/s., Core-Takt 6 - 12 MHz 1988 Intel 80386SX mit 16-Bit-breitem externen Datenbus, 32-Bit-breitem internen Datenbus, 4 Gigabyte Speicher, 4 Mio. Befehlen/s., Core-Takt 16 - 33 MHz 1989 Intel 80486DX mit 32-Bit-breitem externen Datenbus, Core-Takt 25 - 50 MHz 1991 Intel 80486SX mit 32-Bit-breitem externen Datenbus Core Takt 16 - 33 MHz 1992 Intel entwickelte "Peripheral Component Interconnect" (PCI), ein Standard für Hochgeschwindigkeits -Bussysteme in Personal Computern 1992 Intel 80486DX2 mit 32-Bit-breitem externen Datenbus Core Takt 33 - 80 MHz 1994 Intel 80486DX4 mit 32-Bit-breitem externen Datenbus, Core-Takt 75 - 100 MHz 1995 Pentium Pro (P6) mit 64-Bit-breitem externen Datenbus, Core-Takt 150/166/180/20 1997 Pentium II (Klamath) mit 64-Bit-breitem externen Datenbus, Core-Takt 200/233/266/300/333/400/450 2000 Der Pentium 4 Prozessor (Codename: Willamette) wird von Intel eingeführt. Er verfügt über die NetBurst Architektur und 42 Millionen Transistoren 2005 Intel bringt Desktop-CPUs mit Vanderpooltechnologie auf den Markt. Die ersten Dual Core Prozessoren (Pentium D (Smithfield, 2006: Presler) und XEON (Dempsey, Woodcrest) kommen auf den Markt 2006 Intel stellt den Prozessor Core 2 Duo (Conroe/Desktop, Merom/Mobil) vor. 2008 45 Nanometer Technologie: Penryn und Nehalem Der Penryn, der auf 45 Nanometer-Technologie gefertigt wird, erscheint: um Leckströme zu verhindern wird als High-k-Dielektrikum erstmals das Element Hafnium eingesetzt. Das Gate wird nicht mehr aus Polysilicium sein, sondern aus einem noch nicht bekanntgegebenen Metall (High-K-Material). Beim Penryn wird SSE 4.1 mit der 'Super Shuffle Engine' eingeführt. Die Super Shuffle Engine unterstützt den Verarbeitungsprozess beim Formatieren von Daten bei SSE-Befehlen (z.B. Packing/Unpacking, Shifts). Da Super Shuffle mit 128-Bit Operationen in einem Taktzyklus arbeitet, können die SSE-Schiebebefehle doppelt so schnell ausgeführt werden. Der Penryn ist auch stromsparender und leistungsfähiger als der Conroe. Der L2-Cache wurde vergrössert und verfügt über 4 bzw. 6 MB. Der Nachfolger des Penryn, der Nehalem, hat bis zu 8 Kerne und die erste dynamisch skalierbare Mikroarchitektur: er ist so konzipiert, dass man spezialisierte Chips, z. B. für Notebooks oder Server-Varianten ohne grossen Aufwand nach Bedarf kombinieren kann. Die Kerne haben direkte Verbindungen untereinander, so dass sie nicht umständlich über ein Bussystem Daten austauschen. Kein FSB, QuickPath Interconnect Es gibt keinen Front Side Bus mehr. Um den Prozessorkern mit dem Chipsatz zu verbinden wird eine Punkt-zu-Punkt-Verbindung (QuickPath Interconnect) eingesetzt. Der Nehalem ist mit einem seriellen Protokoll CSI (Common System Interface) ausgestattet. Der Arbeitsspeicher wird über einen integrierten Speichercontroller angebunden. Dadurch verringern sich die Latenzzeiten. Der Datendurchsatz wird durch das neue Punkt-zu-Punkt-Konzept verbessert, da es keinen FSB als Engpass mehr gibt. Es werden jedoch neue Sockel erforderlich. Der Pentium 4 und die Folgen Der Intel Pentium 4 mit der NetBurst Architektur stellte im Jahr 2000 einen neuen Standard dar. Doch Intel hatte den Stromverbrauch unterschätzt. Die Entwicklung des Pentium 4 mit 4 GHz wurde 2005 abgesagt. XEON, VLIW Intel fertigt auch Server- und Workstation CPUs: den XEON und den 64-Bit VLIW Itanium. Dual Core mit Pentium D und Core 2 Duo Konzept Der Nachfolger des Pentium 4, der Pentium D, hatte erstmals 2 Kerne. Seit Juli 2006 ist der Core 2 Duo auf dem Markt. Dieser schlägt den AMD 64 X2. Der Core 2 Duo wurde aus den Mobilprozessoren entwickelt; er verbraucht weniger Strom bei mehr Leistung. Er ist ein "Spaghetti-Code-Optimierer": die Assembler Befehle werden nicht linear abgearbeitet, sondern die Befehle ("Macro-Ops") werden in kleinere Einheiten ("Micro-Ops") übersetzt, welche in einer anderen Reihenfolge abgearbeitet werden. Diese Reihenfolge wird optimiert nach spekulativen Kriterien. Stellt sich die Vorausberechnung als falsch heraus, wird neu gerechnet. Der Core 2 Duo kann 4 dieser Assembler Befehle gleichzeitig verarbeiten: vierfach Skalar, im Gegensatz zum Pentium 4 der dreifach Skalar ausgelegt ist. Die Pipeline wurde von 31 auf 14 Stufen verkürzt. Die lange Pipeline war beim Pentium 4 dafür verantwortlich, dass die erhöhte Taktzahl kaum Leistungsgewinn erbrachte. Weitere Neuerungen sind Micro-Ops-Fusion, Macro-Ops-Fusion, Busbreite des Rechenwerkes: 128 Bit. In Zukunft werden die Prozessoren 8-40 Kerne oder mehr haben. 2008-2011 Es erscheinen die Core-i-Prozessoren, die Plattformen Pine Trail und Cedar Trail (Atom Prozessoren) und die Sandy Bridge Plattform. |
|||||
| Siehe auch: NetBurst Front-Side-Bus QuickPath-Interconnect Pentium-4 Dual-Core Core-2-Duo Intel-Nehalem-Prozessor Intel-Atom-Prozessor Intel-Sandy-Bridge Intel-Ivy-Bridge | |||||
| Dual-Core | |||||
|
2005 führten AMD und Intel für Desktop PCs Dual-Core-Prozessoren ein. Diese Prozessoren verfügen über 2 Kerne. Damit soll eine beachtliche Leistungssteigerung zu erzielen sein. Dual-Core-Prozessoren können im Gegensatz zum Hyper-Threading eine echte simultane Verarbeitung zweier Prozesse leisten. Beim Hyper-Threading mit einem Kern (Mehrfädiger-Prozessor, Multithreaded Prozessor) wird lediglich die Auslastung des Prozessors durch intelligentes Scheduling der Threads und Pipelining optimiert. Dazu besitzt der Prozssorkern mehrere Registersätze und Programmzähler, und die Threads verfügen über einen eigenen Registersatz mit Stackpointer und Programcounter. Hyper-Threading ist eine Variante des hardwareseitigen Multithreading. Bei Zweikernprozessoren sind auf dem Prozessor durch die 2 Kerne wichtige Ressourcen, im Gegensatz zum Einkernprozessor, doppelt vorhanden: ALU, Registersätze oder FPU sowie L1-Caches bzw. L2- und L3-Caches. In Zukunft wird es Prozessoren mit mehr als 2 Kernen, Multi-Core-Prozessor, und sehr vielen Kernen (16-80 und mehr), Many-Core-Prozessor, geben. Bei Intel gibt es neben dem normalen Desktop-Prozessor mit Codenamen Smithfield ohne Hyper-Threading auch einen Pentium 4 Extreme Edition (Pentium 4 EE) mit freigeschaltetem Hyper-Threading, die dann als vier logische Prozessoren gegenüber dem Betriebssystem in Erscheinung treten (weiterhin gibt es den Einkernprozessor Pentium 4 EE, auch mit freigeschaltetem Hyper-Threading). Damit das überhaupt Sinn ergibt, wird es zwei neue Chipsätze geben, die auch mehr als 4 GByte adressieren können: den Intel-955X-Express-Chipsatz mit Codename "Glenwood" sowie den 945-Express-Chipsatz, Codename "Lakeport", mit (945G) oder ohne (945P) integrierte Grafik. Auch für den AMD-Opteron gibt es inzwischen die Dual-Core Version für die 2xx- und 8xx-Serien. |
|||||
| Siehe auch: Core-2-Duo Intel-Core Intel NetBurst Hyper-Threading Pipeline-Architektur Chipsatz Vanderpool Mehrkernprozessor AMD-Opteron | |||||