Prozessoren

3.3955835962205 (1585)
Geschrieben von bishop 26/03/2009 @ 19:09

Tags : prozessoren, computer, high-tech

Neueste Nachrichten
1,06 Milliarden Euro Strafe für Intel - Tagesspiegel
Der Weltmarkt für diese Prozessoren belaufe sich zurzeit auf rund 22 Milliarden Euro pro Jahr, wobei rund 30 Prozent dieses Umsatzes auf Europa entfallen. Intels wichtigster Konkurrent auf diesem Markt ist der US-Hersteller AMD, auf dessen Beschwerden...
Sparsamere Computer passen Rechenleistung an Nutzer-Wünsche an - Heise Newsticker
Zusätzlich tüftelt das Team um Peter A. Dinda auch an einer Software, die die kleinsten stabilen Betriebsspannungen für die diversen P-States individueller Prozessoren ermitteln soll. Je nach Fertigung laufen einzelne Prozessoren bei bestimmten...
SPARC64 viiifx: 128-gflops-CPU für japanischen Supercomputer - Heise Newsticker
Die hohe Effizienz ist ein wesentliches Kriterium für den Einsatz der kommenden SPARC64-Prozessoren im geplanten japanischen Supercomputer der nächsten Generation, dessen Installation im kommenden Jahr beginnen soll und der rund 10 Petaflops (pflops)...
Technische Schulung zu fpgas und Embedded Prozessoren - Firmenpresse (Pressemitteilung)
Damit begegnet qaqadu dem ansteigenden Informationsbedarf zum Themengebiet Field Programmable Gate Arrays (fpgas) in Kombination mit Embedded Prozessoren, das einen Wachstumsmarkt mit großem Potenzial darstellt. Der Kurs "fpgas for Embedded Processors"...
Samsung NC20 mit VIA Nano CPU: Attacke gegen Intels Atom? - tomshardware.com
Intels Atom-Prozessor dominiert den Netbook-Markt. Samsung setzt in seinem 12-Zoll-Gerät stattdessen VIAs Nano CPU ein. Wie schlägt sich der große Bruder des NC10 und was taugt VIAs Chip? Die Netbook-Ära begann ursprünglich mit Celeron-Prozessoren....
Outdoor Touch-Pad mit Intels neuestem stromsparenden ATOM ... - Perspektive Mittelstand (Pressemitteilung)
Dank der effizienten ATOM Prozessoren liegt die Batterielaufzeit, mit internem Akku zwischen 4 und 5 Stunden. Weiter arbeitet der MRC 2000 im erweiterten Temperaturbereich von –20°C bis +50°C. CONCEPT International GmbH bietet den MRC 2000 inkl....
Acer stellt offiziell Server mit Intel-Xeon-5500-Prozessoren vor - tecChannel
Der Computerspezialist Acer präsentiert offiziell sein neues Server-Portfolio mit Xeon-5500-CPUs von Intel. Das Unternehmen hat mit den beiden Rack-Servern Altos R720 M2 und Altos R520 M2 und der Tower-Variante Altos G540 M2 drei Nehalem-Server am...
Wird aus dem „Lynnfield“ doch ein Core i7? - ComputerBase
Fast täglich gibt es aktuell Meldungen zum Nachfolger der aktuellen Yorkfield-Quad-Core-Prozessoren, der auf den Codenamen Lynnfield hört. Ging man bisher aber davon aus, dass dieser wohl „Core i5“ heißen könnte, gibt es auch Anzeichen dafür,...
Intel klagt gegen Rekord-Kartellstrafe der EU - Spiegel Online
Der Konzern soll über Jahre seine Dominanz auf dem Prozessor-Markt ausgenutzt und Händlerketten wie Saturn unter Druck gesetzt haben - zu Lasten der Kunden. Brüssel - Die Reaktion folgte prompt: Nur gut eine Stunde, nachdem die EU Intel zur größten...
Intel Larrabee erst 2010 im Handel, dann aber komplette ... - PC Games Hardware
Bereits auf dem Shanghai-IDF zeigte Intels Senior Vice President Pat Gelsinger einen Larrabee-Wafer mit belichteten Larrabee-Prozessoren in die Kameras, aus denen wir eine Kerngröße von 600 mm² und mehr schlossen. Später wurde dies mit "What you have...

Prozessor (Hardware)

Motorola PowerPC G4 CPU

Ein Prozessor ist eine Maschine oder eine elektronische Schaltung, welche gemäß übergebener Befehle andere Maschinen oder elektrische Schaltungen steuert. Am populärsten sind Prozessoren als zentrale Recheneinheiten von Computern, in denen sie Befehle von Software ausführen.

Hauptbestandteile des Prozessors sind die Register, das Rechenwerk (Arithmetisch-logische Einheit, ALU), das Steuerwerk und der Speichermanager (Memory Management Unit, MMU), der den Arbeitsspeicher verwaltet. Zu den zentralen Aufgaben des Prozessors gehören arithmetische und logische Operationen, das Lesen und Schreiben von Daten im Arbeitsspeicher, das Ausführen von Sprüngen im Programm sowie die Steuerung und Verwaltung der Peripheriegeräte.

Prozessoren werden heute meist im Bereich der Eingebetteten Systemen (engl. Embedded Systems) eingesetzt. PCs beinhalten meist mehrere Prozessoren, wobei der Hauptprozessor (Zentralprozessor) alle weiteren steuert. Im allgemeinen Sprachgebrauch ist mit „Prozessor“ meist der Zentralprozessor (CPU = Central Process Unit) eines Computers gemeint, also das funktionale Kernstück eines elektronischen Rechners, das heute normalerweise auf einem Mikrochip integriert ist. Die moderne Form des Prozessors ist der Mikroprozessor, der alle Bausteine des Prozessors auf einem Chip vereinigt. Moderne PC-Prozessoren sind Multikernprozessoren mit 2 oder 4 Kernen (etwa der Intel Core 2 oder der AMD Athlon X2). Weiterhin werden in Großrechnern (engl. mainframes) meist proprietäre Prozessoren des jeweiligen Herstellers verwendet, wie etwa bei IBM (Cell-Prozessor) oder SUN (SPARC-Prozessor). Prozessoren für Eingebettete Systeme machen etwa 95% des Prozessormarkts aus, wobei davon 90 % sogenannte Mikrocontroller sind, die neben dem eigentlichen Prozessor weitere Funktionen (z. B. ROM, RAM) beinhalten. Nur etwa 5 % werden in PCs, Workstations oder Servern eingesetzt.

In den 1930er Jahren bestand das Rechenwerk eines Computers zunächst aus Relais und mechanischen Bauelementen. Die ersten Computer waren also elektromechanische Rechner, die langsam und äußerst störanfällig waren. Noch in den 1940ern begann man damit, Computer mit Hilfe von Röhren zu bauen. Die Rechner wurden schneller und weniger störanfällig. Waren diese Rechner anfangs teure Einzelprojekte, so reifte die Technik im Laufe der 1950er Jahren immer mehr aus. Röhrenrechner wurden nach und nach zu Massenartikeln, die für Universitäten, Forschungseinrichtungen und Firmen durchaus erschwinglich waren. Um dieses Ziel zu erreichen, war es notwendig, die Anzahl der benötigten Röhren auf ein Mindestmaß zu reduzieren. Aus diesem Grund setzte man Röhren nur dort ein, wo sie unabdingbar waren. So begann man damit, Hauptspeicher und CPU-Register auf einer Magnettrommel unterzubringen, Rechenoperationen seriell auszuführen und die Ablaufsteuerung mit Hilfe einer Diodenmatrix zu realisieren. Ein typischer Vertreter dieser Rechnergeneration war der LGP-30.

In den frühen 1960ern wurden die Röhren dann von den Transistoren verdrängt. Anfangs wurden die CPUs aus einzelnen Transistoren aufgebaut. Im Laufe der Jahre brachte man aber immer mehr Transistorfunktionen auf integrierten Schaltkreisen (ICs) unter. Waren es zunächst nur einzelne Gatter, integrierte man immer häufiger auch ganze Register und Funktionseinheiten wie Addierer und Zähler, schließlich dann sogar Registerbänke und Rechenwerke auf einem Chip. Diese zunehmende Integration von immer mehr Transistor- und Gatterfunktionen auf einem Chip führte dann fast zwangsläufig zu dem, was heute als Mikroprozessor bekannt ist.

Ein Prozessor besteht aus Registern, einem Rechenwerk (der Arithmetic Logical Unit, kurz ALU), einem Befehlsdecoder, einem Steuerwerk sowie den Datenleitungen (Busse), die die Kommunikation mit anderen Komponenten ermöglichen.

Register sind prozessorinterne Speicher, die sehr nahe und schnelle Verbindungen zu anderen Prozessorkomponenten bereitstellen. Nur mit den Daten in den Registern können direkt Operationen ausgeführt werden. Sie stellen daher die erste Stufe der Speicherhierarchie dar.

Von den Eigenschaften und insbesondere der Größe der Register (abhängig vom Prozessortyp) hängt u. a. die Leistungsfähigkeit des jeweiligen Prozessors ab.

Das Rechenwerk (engl. Arithmetic Logical Unit, ALU) führt die Elementaroperationen eines Rechners durch. Es kann sowohl arithmetische (etwa die Addition zweier Zahlen) als auch logische (etwa AND oder OR) Operationen ausführen.

Der Befehlsdecoder übersetzt binäre Maschinenbefehle mit Hilfe der Befehlstabelle (engl. Instruction Table) in entsprechende Anweisungen, welche die für die Ausführung des Befehls benötigten Schaltungen aktivieren.

Das Steuerwerk kontrolliert die Ausführung der Anweisungen. Es sorgt dafür, dass der Maschinenbefehl im Befehlsregister vom Befehlsdecoder decodiert und vom Rechenwerk ausgeführt wird, lädt den an der im Befehlszählerregister hinterlegten Adresse befindlichen Befehl ins Befehlsregister sowie die nächste Adresse ins Befehlszählerregister.

Über verschiedene Busse (Signalleitungen) ist der Prozessor mit anderen Komponenten verbunden.

Zur Erhöhung der Rechengeschwindigkeit können Prozessoren mit besonderen (etwa einem Hardwaremultiplizierer) bzw. zusätzlichen (etwa einem Fließkommarechenwerk) Rechenwerken ausgestattet sein. Zur effizienteren Bearbeitung von Befehlen werden Pipelines verwendet.

Die Befehlsbearbeitung moderner Prozessoren folgt dem Von-Neumann-Zyklus.

Gelegentlich unterscheidet man auch noch eine Rückschreibphase, in welcher eventuell anfallende Rechenergebnisse in bestimmte Register geschrieben werden. Erwähnt werden sollten noch sogenannte Hardware-Interrupts. Die Hardware eines Computers kann Anfragen an den Prozessor stellen. Da diese Anfragen asynchron auftreten ist der Prozessor gezwungen, regelmäßig zu prüfen, ob solche vorliegen und diese eventuell vor der Fortsetzung des eigentlichen Programms bearbeiten.

Alle Programme liegen letztendlich als eine Abfolge von binären Maschinenbefehlen im Speicher. Nur diese Befehle können vom Prozessor verarbeitet werden. Dieser Code ist für einen Menschen jedoch beinahe unmöglich zu lesen. Aus diesem Grund werden Programme zunächst in Assemblersprache oder einer Hochsprache (etwa BASIC, C, C++, Java) geschrieben und dann von einem Compiler in eine ausführbare Datei, also in Maschinensprache übersetzt oder einem Interpreter zur Laufzeit ausgeführt.

Als Prozessorkern (engl. „core“) bezeichnet man das eigentliche Rechen- und Steuerwerk des Prozessors, um das herum weitere Komponenten wie Cache und Memory Management Unit (MMU) angeordnet sind.

Ein Prozessor kann aus mehreren Kernen bestehen. Ein solcher Prozessor wird allgemein als Mehrkernprozessor (Multi-Core-Prozessor) bezeichnet. Im einzelnen werden Mikroprozessoren mit nur einem Prozessorkern als Single-Core-Prozessoren (Einzelkernprozessoren), mit zwei Prozessorkernen als Dual-Core-Prozessoren (Doppelkernprozessoren) und mit vier Prozessorkernen als Quad-Core-Prozessoren bezeichnet.

Prozessoren mit mehreren Kernen können sehr unterschiedlich realisiert werden, normalerweise besitzt jeder Kern einen eigenen L1- und L2-Cache. Den großen L3-Cache müssen sich meist alle Kerne teilen.

Der Grund für die Einführung solcher Mehrkernprozessoren liegt in den physikalisch begrenzten Möglichkeiten, einen einzelnen Kern immer schneller zu machen. Die fortschreitende Miniaturisierung von Halbleiterschaltelementen sorgt allerdings dafür, dass mehr als ein Kern auf einen Mikrochip passen. In der neuesten Prozessorgeneration ist ein einzelner Transistor nur noch 45 Nanometer groß. So werden heute (2008) bis zu 1,9 Milliarden Transistoren in einem Prozessor verbaut. Mit den derzeit verwendeten Fertigungsmethoden soll es nach Angaben der Hersteller sogar möglich sein, Transistoren bis zu einer Größe von nur 32 Nanometern zu erzeugen. Durch die EUV-Lithografie sollen noch kleinere Strukturen möglich sein. Die Entwickler werden jedoch bei einer bestimmten Größe auf nicht vorhersehbare Quanteneffekte stoßen, die die konventionelle Herstellung immer kleinerer Strukturen unmöglich machen. Langfristig werden aber sehr wahrscheinlich sogenannte Quantencomputer die klassische Transistortechnik ablösen.

Die Leistung eines Prozessors wird maßgeblich durch die Anzahl der Transistoren sowie durch die Wortbreite und die Taktfrequenz bestimmt.

Die Wortbreite dieser Einheiten stimmt im Normalfall überein, bei aktuellen PCs beträgt sie 64 Bit.

Die Taktfrequenz (engl. clock rate) wird besonders in der Werbung oft als Beurteilungskriterium für einen Prozessor präsentiert. Sie wird allerdings nicht vom Prozessor selbst bestimmt, sondern ist ein Vielfaches des Mainboard-Grundtaktes. Dieser Multiplikator lässt sich bei einigen Mainboards manuell oder im BIOS einstellen, was als Über- oder Untertakten bezeichnet wird. Das Übertakten kann zu irreparablen Schäden an der Hardware führen.

Die Geschwindigkeit des gesamten Systems ist jedoch auch von der Größe der Caches, des Arbeitsspeichers und anderen Faktoren abhängig.

Im Zusammenhang mit den steigenden Stromkosten wird der Stromverbrauch zu einem immer wichtigeren Leistungsmerkmal. Daher wird in jüngster Zeit versucht, durch neue Fertigungstechniken und Verzicht auf immer höhere Taktfrequenzen, den bisher steigenden Stromverbrauch wieder zu reduzieren. Aktuelle Dual-Core-Prozessoren können bei gleicher Rechenleistung in ihrem Stromverbrauch je nach Modell zwischen 45 und 130 Watt liegen. Bei der Betrachtung des dadurch eventuell verursachten Mehrverbrauchs muss man berücksichtigen, dass der Stromverbrauch von Prozessoren mit weiteren Folgekosten belastet ist. Der verbrauchte Strom wird in Wärme umgewandelt, diese muss durch den Lüfter aus dem Rechner heraustransportiert werden. Ist der Aufstellungsort des Rechners selbst ein klimatisierter Raum, wird auch die Klimaanlage dadurch zusätzlich belastet. Dabei kann man abhängig von der Leistungszahl des Kühlgerätes mit ca. 25-40% Zusatzverbrauch rechnen. Auch das Netzteil des Rechners muss eventuell größer ausfallen. Ist der Rechner an eine USV angeschlossen, so hat diese abhängig von ihrem Wirkungsgrad ebenfalls einen höheren Eigenverbrauch. Bei vielen Rechnern an einem Ort können auch zusätzliche Investitionskosten für größere Klimaanlagen und größere USV-Anlagen anfallen. Server laufen meist 24 Stunden am Tag, sieben Tage die Woche, also insgesamt 8760 Stunden im Jahr. Aber auch außerhalb von Rechenzentren bieten stromsparende Prozessoren zusätzliche Vorteile. Da die Kühler weniger zu tun haben, werden die Rechner auch leiser. Und im Sommer stellt die von einem PC produzierte Wärme in einem Raum ohne Klimaanlage eine Beeinträchtigung für die dort anwesenden Personen dar.

Zum Seitenanfang



Hauptprozessor

Die CPU eines Intel-80486DX2-Mikroprozessors

Der Hauptprozessor (englisch central processing unit , CPU ), im allgemeinen Sprachgebrauch oft auch nur als Prozessor bezeichnet, ist die zentrale Verarbeitungseinheit eines Computers, die in der Lage ist, ein Programm auszuführen.

Der Begriff CPU wird umgangssprachlich auch in anderem Kontext für Zentraleinheit (ZE) benutzt, hierbei kann dies für einen zentralen Hauptrechner (ein kompletter Computer) stehen, an dem einzelne Terminal-Arbeitsstationen angeschlossen sind. Teilweise wird der Begriff auch in Zusammenhang mit Computerspielen als Synonym für die KI verwendet („Ein Spiel gegen die CPU“).

Die ersten Hauptprozessoren wurden aus Relais aufgebaut wie z. B. bei der Zuse Z3, gefolgt von Elektronenröhren wie beim Eniac. In den 1950er Jahren wurden die unzuverlässigen Elektronenröhren von Transistoren verdrängt, die zudem den Stromverbrauch der Computer senkten. Mit der Verfügbarkeit von integrierten Schaltungen konnten die Hauptprozessoren weiter verkleinert werden, die CPU konnte bald in einem einzelnen Schaltschrank untergebracht werden, was zum Begriff Mainframe, also „Hauptrahmen“, bzw. „Hauptschrank“ führte. Im nächsten Schritt passte die CPU auf eine einzelne Platine in so einem Schrank, es gab dann erste Rechner mit mehreren CPUs (Multiprozessor) für höhere Rechenleistung. Gleichzeitig entstand die Klasse der Minicomputer, die nicht mehr einen eigenen klimatisierten Raum für den Betrieb benötigten und deren Leistung für die Versorgung von Arbeitsgruppen ausreichte.

Die weiter steigende Integrationsdichte führte dazu, dass Anfang der 1970er Jahre erste Hauptprozessoren gebaut wurden, die auf einem einzelnen Chip Platz hatten, der Mikroprozessor. Anfangs noch wegen ihrer vergleichsweise geringen Leistungsfähigkeit belächelt (der Legende nach soll ein IBM-Ingenieur über den ersten Mikroprozessor gesagt haben: „Nett, aber wozu soll das gut sein?“), haben Mikroprozessoren heute alle vorangegangenen Techniken für den Aufbau eines Hauptprozessors abgelöst.

Erste Erwähnungen des Begriffes CPU gehen in die Anfänge der 1950er Jahre zurück. So wurde in einer Broschüre von IBM (705 EDPM) von 1955 der Begriff „Central Processing Unit“ zuerst ausgeschrieben, später mit der Abkürzung CPU in Klammern ergänzt und danach nur noch in seiner Kurzform verwendet. Ältere IBM-Broschüren verwenden den Begriff nicht, so z. B. die Broschüre "Magnetic Cores for Memory in Microseconds in a Great New IBM Electronic Data Processing Machine for Business" von 1954, in der zwar ebenfalls die IBM 705 dargestellt wird, an den entsprechenden Stellen jedoch lediglich von „Data processing“ die Rede ist.

Eine CPU besteht prinzipiell aus den Funktionsgruppen Register, Recheneinheit (ALU - Arithmetic Logic Unit), Befehlsdecoder und Adresseinheit.

Die Adresseinheit ist dafür zuständig, Daten und Befehle aus dem Speicher zu lesen oder in diesen zu schreiben. Befehle werden vom Befehlsdecoder verarbeitet, der die anderen Einheiten entsprechend steuert. In den Registern werden Daten für die unmittelbare Verarbeitung gespeichert, gegenüber dem Speicher ist der Zugriff auf Daten in den internen Registern meist erheblich schneller.

In modernen CPUs finden sich sehr viel feiner unterteilte Funktionseinheiten sowie mehrfach ausgeführte Einheiten, die das gleichzeitige Abarbeiten mehrerer Befehle erlauben. Zusätzlich finden sich auch häufig spezialisierte Recheneinheiten z. B. für Vektorfunktionen.

Eine detaillierte Darstellung der Struktur des derzeit (2008) modernsten 4-Kern-Prozessors findet sich in .

Die beiden wesentlichen Grundarchitekturen für CPUs sind die Von-Neumann- und die Harvard-Architektur.

Bei der nach dem Mathematiker John von Neumann benannten Von-Neumann-Architektur gibt es keine Trennung zwischen dem Speicher für Daten und Programmcode. Dagegen sind bei der Harvard-Architektur Daten und Programm in strikt voneinander getrennten Speicher- und Adressräumen abgelegt.

Beide Architekturen haben ihre spezifischen Vor- und Nachteile. Die Von-Neumann-Architektur ist aus der Sicht des Programmierers einfacher zu handhaben, und die Möglichkeit, auf Programmcode wie auf Daten zuzugreifen, ermöglicht selbst modifizierenden Code. Andererseits kann diese Selbstmodifikation auch durch Programmfehler zu noch größeren Fehlern führen. Durch die Trennung in zwei physikalische Speicher hat die Harvard-Architektur potenziell eine höhere Leistungsfähigkeit, da Daten- und Programmzugriffe parallel erfolgen können; nachteilig ist dagegen, dass nicht benutzter Speicher in einer Klasse nicht für die andere Klasse genutzt werden kann.

Aktuell basieren fast alle verwendeten CPUs auf der Von-Neumann-Architektur, es gibt jedoch Ausnahmen besonders im Bereich der Microcontroller, und es gibt Mischformen. So ist es nicht unüblich, dass eine CPU intern dem Harvard-Prinzip ähnelt, um mit möglichst vielen parallelen Datenpfaden eine hohe Leistung zu erzielen, extern aber einen gemeinsamen Speicher nutzt.

Mit zunehmender Leistungsfähigkeit der Halbleitertechnik entstanden CPUs mit immer komplexeren Befehlssätzen. Diese Art von Befehlssätzen werden als CISC oder „Complex Instruction Set Computing“ bezeichnet. Das führte dazu, dass die Befehlseinheiten der CPUs zu einem Engpass wurden. In den 1980er Jahren entstand als Reaktion darauf das RISC-Konzept, bei dem die Zahl der Befehle reduziert wurde, die Befehlseinheit deutlich vereinfacht werden konnte und dadurch schneller arbeiten kann.

Bei aktuellen CPUs ist die Unterscheidung zwischen RISC und CISC kaum noch möglich. Die weit verbreitete x86-Architektur als typischer Vertreter der CISC-Klasse ist intern eigentlich längst eine RISC-Architektur, die die komplexeren Befehle quasi emuliert, also nachbildet.

Eine weitere Art von Methoden sind VLIW. Dort werden mehrere Instruktionen in einem Wort zusammengefasst. Dadurch ist vom Anfang an definiert, auf welcher Einheit welche Instruktion läuft. Out-of-Order-Ausführung, wie sie in modernen Prozessoren zu finden ist, gibt es bei dieser Art von Befehlen nicht.

Im Laufe von immer höheren Integrationsdichten der Halbleiterbausteine haben die Entwickler von CPUs weitere Funktionen in die Hardware integriert. Dadurch wurden die CPUs immer leistungsfähiger, insbesondere bekamen die meisten CPUs weitere Befehle implementiert, um umfangreiche Berechnungen zu vereinfachen.

Heutzutage kann man wirtschaftlich in der Größenordnung von 1 Milliarde Transistorfunktionen auf einem einzigen Chip unterbringen, weshalb die Integration weiterer Befehle in den Hauptprozessor Anwendung findet.

Auf der anderen Seite haben ältere CPUs und Mikrocontroller häufig nur wenige Register und einen eingeschränkten Befehlssatz (die komplexesten Operationen sind zum Teil Addition und Subtraktion). Für einfache Anwendungen (z. B. Steuerung einer einfachen Maschine) reicht diese Komplexität jedoch aus, da sich höhere Funktionen durch wenige Basisoperationen implementieren lassen, z. B. Multiplikation durch Verschieben und Addieren - siehe Russische Bauernmultiplikation.

Moderne CPUs bestehen üblicherweise aus mehreren, übereinanderliegenden Schichten von dotiertem Silizium, die Millionen von Transistoren bilden, deren Schaltvorgänge die Rechenleistung bereitstellen.

CPUs werden aufgrund ihrer unterschiedlichen Anwendungsbereiche an den jeweiligen Einsatzbereich angepasst. Beispielsweise müssen Spezialversionen für Luft- und Raumfahrt besonders hohen Temperaturen und Strahlungsexposition im laufenden Betrieb fehlerfrei standhalten, während Mobilprozessoren eine hohe IPC-Rate, geringe Leckströme und einen niedrigen Energieverbrauch aufweisen müssen. Diesen Bedürfnissen wird auf verschiedene Arten und Weisen Rechnung getragen: So wird bereits mit der Auswahl des Befehlssatzes (CISC oder RISC) eine fundamentale Entwurfsentscheidung getroffen, deren Implikationen in den jeweiligen Spezialartikeln näher erläutert werden. Anschließend wird ein möglichst effizienter Mikrocode entwickelt, der optimal an Randbedingungen wie Cachegrößen, Speicherbandbreite und -latenzen sowie die internen Funktionseinheiten angepasst wird.

Der in einer Hardwarebeschreibungssprache vorliegende logische Entwurf des Prozessors wird sodann an einen Hochleistungscomputer übergeben, der die Leiterbahnen routet, d. h. eine optimale Anordnung mit möglichst wenig Transistoren sowie minimaler Verlustleistung zu ermitteln sucht (sogenannte Technology Binding oder Technology Mapping). Da diese Routingprobleme NP-vollständig sind, sind nur Näherungsberechnungen möglich, die sich im Detail noch erheblich verbessern lassen. Aus diesen Bahnberechnungen werden Masken erstellt, die mittels Fotolithografie zur Belichtung von Wafern eingesetzt werden, die anschließend geätzt werden. Die Fertigung eines heutigen Mikroprozessors umfasst weit über 100 Einzelschritte, in deren Verlauf bereits ein einziger Fehler den gesamten Prozessor unbrauchbar machen kann.

In der Endkontrolle werden die Prozessoren schließlich hinsichtlich ihrer Taktfestigkeit klassifiziert, wobei anhand eines für jeden Prozessortyp individuell entwickelten Testprogramms physikalische Eigenschaften wie Signalpegel bei verschiedenen Takten überprüft werden. Hierbei wird besonders auf laufzeitkritische Signalwege auf dem CPU-Die geachtet, um Speed Paths (Fehler durch Signalverzögerungen) zu verhindern.

Allgemein lässt sich feststellen, dass der Validierungsaufwand moderner Prozessoren gewaltige Ausmaße angenommen hat, und trotz aller Anstrengungen nicht alle Fehlersituationen vor der Auslieferung überprüft werden können. Der letzte in allen Funktionen (und Fehlern!) vollständig verifizierte x86-Prozessor war der 80286. Daher liefern alle Hersteller sogenannte Errata-Listen, in denen Fehler aufgelistet werden. So musste beispielsweise Intel den berühmten FDIV-Bug in frühen Pentium-CPUs eingestehen, der auf eine kleine Auslassung beim Füllen einer im Prozessor hartverdrahteten Matrix für die FPU zurückzuführen ist.

Im Laufe der Zeit vergrößerte sich aufgrund der immer besser werdenden Technik die Anzahl der vom Prozessor unterstützten Befehle. Heute finden sich überwiegend 32- und 64-Bit-Prozessoren, wobei die gängigsten Betriebssysteme für den Anwender maximal 64, meist aber nur 32 Bit unterstützen. Daran lässt sich schon erkennen, dass die Software im Falle der Prozessoren der Hardware hinterherhinkt. Die in den 1980er Jahren entwickelten 386er waren die ersten 32-Bit-Prozessoren der Intel 80x86-Familie.

Im Jahre 2006 wurde von der Firma ARM der erste kommerzielle ungetaktete, asynchrone Prozessor vorgestellt, der ARM996HS. Da er ohne Taktung auskommt, weist ein asynchroner Prozessor eine im Hochfrequenzbereich geringere und wesentlich weniger prägnante Abstrahlung auf und verbraucht während Prozesspausen keinen nennenswerten Strom.

Moderne CPUs werden – je nach Auslastung − während des Betriebs sehr heiß. Je nach Modell und Hersteller werden pro cm² Verlustleistungen von bis zu 125 Watt erreicht (aktuelle Quadcores). Zum Vergleich: Die 18-cm-Kochplatte eines üblichen Elektroherds erreicht gerade einmal 7–10 W/cm².

CPUs dürfen aber, wie alle Halbleiter, bestimmte Betriebstemperaturen nicht überschreiten, da das zunächst zu Fehlfunktionen („Abstürze“), in extremen Fällen zur Zerstörung des Chips führt (wird bei neueren Prozessoren durch Überhitzungsschutz verhindert). Übliche Grenztemperaturen für den Betrieb liegen zwischen 60 und 90 °C. Temperaturen über etwa 125 bis 135 °C führen zu irreversiblen Schäden. Prozessoren müssen also zwingend gekühlt werden, wobei ein gewisser Sicherheitsabstand zu den vom Hersteller angegebenen Höchstwerten erstrebenswert ist.

Der gängigste Weg, die Kühlung der CPU sicherzustellen, ist die Montage eines Kühlkörpers mit Lüfter. Der verrippte Kühlkörper aus Aluminium oder Kupfer (teilweise kombiniert) vergrößert die Fläche, die zur Wärmeabgabe beiträgt, um ein Vielfaches, der Lüfter soll für einen zügigen Abtransport der Verlustwärme sorgen. Die Bemessung der Kühlung erfolgt häufig nicht nach der theoretisch maximal möglichen Verlustleistung, sondern aus Kostengründen nach der Thermal Design Power (TDP), die deutlich niedriger liegt.

Zwischen Prozessor und Kühlkörper wird Wärmeleitpaste oder ein Wärmeleitpad eingesetzt. Durch Unebenheiten und Rauheit verbleiben zwischen Chip und Kühlkörper Lufteinschlüsse, die den Wärmetransport behindern, die Pasten oder Pads verdrängen diese Luft und verbessern den Wärmeübergang erheblich.

Als Lüfter für den CPU-Kühler werden fast ausschließlich Axiallüfter mit Durchmessern zwischen 40 und 140 mm eingesetzt. Insbesondere kleine Exemplare erreichen Drehzahlen von bis zu 6500 U/min und können dabei eine erhebliche Geräuschkulisse erzeugen. Die Lüfter werden heute an die Hauptplatine angeschlossen, so dass die Drehzahl überwacht und bei vielen modernen Hauptplatinen auch elektronisch geregelt werden kann.

Als Alternativen zur Luftkühlung gibt es noch die Wasserkühlung für leistungsstarke oder relativ leise Rechner, bei der Wasser inner- oder außerhalb des Rechners in einem Radiator (teilweise auch ohne Lüfter) gekühlt wird und dann mit Hilfe einer Pumpe durch das Gehäuse und an zu kühlenden Objekte wie CPU, manchmal auch zusätzlich an RAM, Chipsatz, Grafikprozessor etc. geleitet wird. Insgesamt ist eine Wasserkühlung aufwändiger, teurer und zumeist wartungsintensiver als eine Luftkühlung. Als erster Computerhersteller verbaute Apple in ihren Power Mac G5 Topmodellen eine standardisierte Wasserkühlung. Zuvor wurden Wasserkühlungen meist nur von Bastlern mit übertakteten Prozessoren in Eigeneinbau verwendet.

Im Industriebereich gibt es noch die Flüssigstickstoffkühlung, die allerdings extrem aufwändig ist. Um flüssig zu sein, muss der Stickstoff auf −196 °C gekühlt werden, was große Kühlaggregate erfordert. Wegen der sehr niedrigen Temperatur im Rechner müssen Hauptplatine und andere Objekte wieder von der Rückseite erwärmt werden, damit sie ordnungsgemäß funktionieren. Diese Technik ist sehr schwierig realisierbar, die Betriebs- und Instandhaltungskosten sind meist höher, als wenn man mehrere einzelne Prozessoren parallel betreiben würde. Allgemein gilt es als nicht sinnvoll, eine CPU auf weniger als +10 °C herunterzukühlen, da sonst die Kosten zu hoch werden. Auch haben alle elektronischen Bauteile eine Mindestbetriebstemperatur und an zu stark gekühlten Bauteilen kann sich Kondenswasser niederschlagen, was unbedingt vermieden werden muss.

Flüssigstickstoffkühlung ist jedoch als kurzfristige Lösung zur Aufstellung von neuen Taktfrequenz- und Benchmarkrekorden sinnvoll. Dafür sind auch keine Kühlaggregate notwendig, der Stickstoff wird einfach aus der Flasche nachgefüllt und verdampft. In diesem Fall entfällt auch die Erwärmung der Rückseite, weil die Komponenten während der kurzen für einen Rekordversuch nötigen Zeit meistens auch ohne derartige Maßnahmen funktionsfähig bleiben.

Einzelne Hersteller verwenden auch Kompressionskältemaschinen. Diese funktionieren ähnlich wie ein Kühlschrank: Ein Kühlmittel wird stark unter Druck gesetzt und die dabei entstehende Wärme abgeführt, beim Ausgleich auf Normaldruck kühlt es weiter ab und kühlt so auch seine Umgebung, sprich Prozessor oder andere Geräte. Diese Lösung wird vor allem bei übertakteten Workstations verwendet, hat aber den Nachteil, auch die Geräuschkulisse eines Kühlschranks zu erzeugen.

Eine weitere Möglichkeit zur Zwangskühlung der CPU bietet das Peltier-Element. Auch hier ist die Gefahr der Bildung von Kondenswasser gegeben. Zudem erzeugt ein Peltier-Element wegen des geringen Wirkungsgrades mindestens noch einmal die gleiche Verlustleistung wie der Prozessor selbst, die zusätzlich abgeführt werden muss. Die „warme“ Seite muss also auch hier per Wasserkühlung oder Kühlkörper mit Lüfter gekühlt werden.

Auch durch den Einsatz einer Ölkühlung kann Wärme abgeführt werden, im PC-Bereich wird dies allerdings bisher nur im experimentalen Umfeld durchgeführt.

Im Bereich der Personal Computer ist die historisch gewachsene x86-Architektur weit verbreitet, wobei für eine genauere Diskussion dieser Thematik der entsprechende Artikel empfohlen wird.

Interessanter und weniger bekannt ist der Einsatz von Embedded-Prozessoren und Mikrocontrollern beispielsweise in Motorsteuergeräten, Uhren, Druckern sowie einer Vielzahl elektronisch gesteuerter Geräte.

Die ersten von einem Hersteller produzierten CPUs werden, ähnlich einem Prototyp, als „Engineering Sample“ oder „Confidential CPU“ an ausgewählte Firmen oder Tester verteilt. Es handelt sich grundsätzlich um voll funktionsfähige Prozessoren, die dem späteren Endprodukt meist in nichts nachstehen. Solche CPUs sind üblicherweise im Handel nicht erhältlich. Erkennbar sind solche CPU-Versionen am Kürzel „ES“ oder dem Aufdruck „Confidential“. Zudem wurden, zumindest in der Vergangenheit von Intel, Prozessoren und ganze Chip-Sätze in „University-Kits“ abgegeben. Die dort enthaltenen Chips hatten den Aufdruck „CS“ und waren in der Regel am Keramikgehäuse beschädigt, vielfach war der Aufdruck schlecht (verrutscht, verschmiert, dubliert). Zu beachten ist, dass die Buchstabenkombination ES oder CS nicht immer Engineering oder Customer Sample bedeuten muss, oftmals ist es auch der Batch-Code oder eine Revisionsbezeichnung.

Zum Seitenanfang



Symmetrisches Multiprozessorsystem

Ein Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur, bei der zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen. Dies bedeutet, dass jeder Prozessor mit derselben (physikalischen) Adresse dieselbe Speicherzelle oder dasselbe Peripherieregister adressiert. Die meisten Mehrprozessorsysteme heute sind SMP-Architekturen.

Eine SMP-Architektur erlaubt es, die laufenden Prozesse dynamisch auf alle verfügbaren Prozessoren zu verteilen – dagegen muss beim asymmetrischen Multiprocessing jeder CPU eine Aufgabe fest zugewiesen werden (z. B. führt CPU0 Betriebssystemaufrufe und CPU1 Benutzerprozesse aus), da nicht alle Aufgaben auf jedem Prozessor durchgeführt werden können. Es gibt aber auch Anwendungendomänen (z. B. Regelungstechnik mit harten Echtzeitanforderungen), bei denen eine statische Zuordnung der Prozesse auch auf einer SMP-Architektur vorteilhafter ist.

Symmetrisches Multiprocessing ist seit Ende der 1980er Jahre die Standard-Architektur für Multiprozessor-Maschinen mit bis zu 16 CPUs.

Die Forderung, dass jede CPU jeden Prozess ausführen können muss, führt jedoch bei größeren Systemen dazu, dass der Speicherbus zum Flaschenhals wird. Mit jeder zusätzlichen CPU sinkt der relative Leistungs-Gewinn, da die Speichersubsysteme die Daten nicht mehr schnell genug liefern können, um alle vorhandenen CPUs auszulasten.

Ein weiteres Problem bei SMP ist das CPU Hopping, bei dem Prozesse ständig zwischen den einzelnen CPUs wechseln. Normalerweise wäre dies kein Problem, aber da in SMP-Systemen häufig CPUs mit sehr großen und mehrfach gestaffelten Caches zum Einsatz kommen, um die bereits geschilderte Auslastung des Speichersystems zu vermindern, führt der schnelle Wechsel der laufenden Prozesse zusätzlich zu einer Leistungsverminderung durch sogenanntes Cache Thrashing. Darunter versteht man den ständigen Wechsel der Cache-Inhalte durch unterschiedliche Prozesse, welche in der Regel auf unterschiedliche Datenbereiche zugreifen. Man kann dem Effekt jedoch durch Zuweisen einer höheren Affinität der Prozesse zu der jeweils ausführenden CPU entgegenwirken.

Bei Weiterentwicklungen wie zum Beispiel der NUMA (Non Uniform Memory Access) werden diese Probleme vermindert.

Prinzipiell eignen sich alle modernen CPU-Architekturen mehr oder weniger gut für den Einsatz in SMP-Systemen. Unterschiede gibt es allein in der benötigten Zusatzhardware und der zu erwartenden Leistungssteigerung pro CPU. Während mit einigen CPU-Varianten bereits relativ einfach 2- oder 4-fach-Systeme gebaut werden können, da im CPU-Bus bereits Teile der benötigten Funktionalität implementiert sind (z. B. alle Intel-Systeme mit GTL+ Bus), sind bei anderen Systemen relativ aufwändige Punkt-zu-Punkt-Verbindungen notwendig (AMD K7 und DEC/Compaq/HP Alpha mit EV6-Bus). Zur Zeit gehen die Hersteller aus Gründen der Leistungsfähigkeit dazu über, auch die benötigten Memorycontroller in die CPU zu integrieren. Dadurch wiederum ist es sinnvoll, auf dem Chip mehrere CPU-Kerne zu integrieren, da ein einziger Kern die zur Verfügung stehende Bandbreite des Speichersystems nicht immer auslasten kann. Solche Multicore-Prozessoren sollten nicht mit Hyper-Threading-fähigen Prozessoren verwechselt werden, da es sich hierbei um komplett eigenständige Kerne mit zugehöriger Infrastruktur (L1/L2 Caches, FPU, etc.) handelt.

Zum Seitenanfang



Sockel AM2

Socket am2 retention module.jpg

Der Sockel AM2 ist ein Prozessorsockel für AMD-Prozessoren der Athlon-64-Familie und der darauf basierenden Sempron-Prozessoren ab Revision F.

Mit dem Sockel AM2 führte AMD das DDR2-Speicherinterface und die Virtualisierungstechnik AMD-V in seinen Prozessoren ein.

Die Prozessoren wurden zuerst in der 90-nm-Fertigung produziert, seit Anfang Dezember 2006 auch in 65 nm.

Der Sockel AM2 ist der Nachfolger von Sockel 754 und Sockel 939. Der Sockel 754 wurde allerdings noch eine Zeit lang für den Sempron und AMD Turion 64 weitergeführt, während der Sockel 939 relativ schnell vom Markt verschwand.

Mit leichten Verbesserungen trat im Herbst 2007 der Sockel AM2+ die Nachfolge des AM2 an. Beide Sockel sind mechanisch und elektrisch kompatibel, wodurch auch Prozessoren für den Sockel AM2+ (solche auf K10-Basis) auf Mainboards mit Sockel AM2 nutzbar sind, allerdings zum Teil mit reduziertem Funktions- und evtl. Leistungsumfang.

Zum Seitenanfang



Supercomputer

Der Columbia-Supercomputer der NASA mit 20x 512 Intel-Itanium-2-Prozessoren

Ein Supercomputer oder Superrechner ist ein Hochleistungsrechner, der zum Zeitpunkt seiner Einführung im obersten realisierbaren Leistungsbereich arbeitet. Dabei ist es unerheblich, auf welcher Bauweise die Rechner beruhen. Ein typisches Merkmal eines modernen Supercomputers ist seine große Anzahl an Prozessoren, die auf gemeinsame Peripheriegeräte und einen teilweise gemeinsamen Hauptspeicher zugreifen können.

Da sich nicht beliebig schnelle Prozessoren bauen lassen, sind alle Hochleistungsrechner Parallelrechner. Ein Parallelrechner ist ein Computer, in dem Operationen gleichzeitig auf mehrere CPUs verteilt werden, um die Arbeitsgeschwindigkeit zu erhöhen. Für die optimale Nutzung eines Supercomputers muss die Programmierung deshalb möglichst genau auf die einzelnen, parallel arbeitenden Prozessoren abgestimmt werden.

Supercomputer werden heute zumeist als Vektorrechner oder Skalarrechner konzipiert. Sie basieren auf unterschiedlichen Prozessorarchitekturen. Vektorprozessoren (auch Vektorrechner oder Array-Prozessoren genannt) führen eine Berechnung gleichzeitig auf vielen Daten (in einem Vektor bzw. Array) aus. Skalarprozessoren können dagegen nur ein Operandenpaar pro Befehl bearbeiten. Skalarrechner basieren daher oft auf Tausenden von Standardprozessoren, die miteinander vernetzt sind (Computercluster).

Ursprünglich wurde die herausragende Rechenleistung durch maximale Ausnutzung der verfügbaren Technik erzielt, indem Konstruktionen gewählt wurden, die für größere Serienproduktion zu teuer waren (z.B. Flüssigkeitskühlung, exotische Bauelemente und Materialien, kompakter Aufbau für kurze Signalwege), die Zahl der Prozessoren war eher gering. Seit geraumer Zeit etablieren sich vermehrt so genannte Cluster, bei denen eine große Anzahl von (meist preiswerten) Einzelrechnern zu einem großen Rechner vernetzt werden. Im Vergleich zu einem Vektorrechner besitzen die Knoten in einem Cluster eigene Peripherie und ausschließlich einen eigenen, lokalen Hauptspeicher. Cluster verwenden Standardkomponenten, deshalb bieten sie zunächst Kostenvorteile gegenüber Vektorrechnern. Sie erfordern aber einen weit höheren Programmieraufwand. Es ist abzuwägen, ob die eingesetzten Programme sich dafür eignen, auf viele Prozessoren verteilt zu werden. Verwendete Programmiersprachen sind unter anderem Fortran und C.

Die schnellsten Supercomputer nach Leistung werden halbjährlich in der Top-500 Liste aufgeführt. Als Bewertungsgrundlage dient der Linpack-Benchmark.

Die schnellsten Supercomputer auch nach Energieeffizienz bzw. MFLOPS/W werden seit November 2007 in der Green500 Liste geführt. Hierbei führen derzeit Server mit Blue-Gene/P-Chips die Liste an, bei denen ein einziger Blue-Gene/P-Chip über jeweils vier niederfrequente (850 MHz) PowerPC-450-Prozessoren verfügt.

Die Herstellungskosten eines Supercomputers aus der TOP10 bewegen sich derzeit in einem sehr hohen zweistelligen, oftmals bereits dreistelligen Euro-Millionenbetrag. Nach oben sind dabei keine Grenzen gesetzt. Für den in Planung stehenden neuen Supercomputer im Bereich um 10 PFLOPS werden derzeit fast 700 Millionen Euro veranschlagt. Bei diesen enormen Investitionssummen stellt sich zwangsläufig die Frage, wofür diese sehr teuren Geräte benötigt werden und ob sich die Investition in die Entwicklung eines solchen Gerätes, außer aus reinen Prestigegründen, rentiert.

Die heutigen Supercomputer werden überwiegend zu Simulationszwecken eingesetzt. Je realitätsnäher eine Simulation komplexer Zusammenhänge wird, desto mehr Rechenleistung wird in der Regel benötigt. Der Vorteil der Supercomputer ist außerdem, dass sie durch ihre extrem schnelle und große Rechenleistung immer mehr Interdependenzen berücksichtigen können. Dies erlaubt also das Einbeziehen immer weiterreichender, oftmals auch unscheinbarer Neben- oder Randbedingungen zur eigentlichen Simulation und gewährleistet dadurch ein immer aussagekräftigeres Gesamtergebnis.

Die derzeitigen Haupteinsatzgebiete der Supercomputer umfassen dabei die Bereiche Biologie, Chemie, Geologie, Luft- und Raumfahrt, Medizin, Wetter- sowie Klimaforschung, Militär und Physik.

Bis auf das Militär, welches hauptsächlich militärische Planspiele betreibt, kennzeichnen sich die Bereiche dadurch, dass es sich um sehr komplexe Systeme bzw. Teilsysteme handelt, die in weitreichendem Maße miteinander verknüpft sind. So haben Veränderungen in dem einen Teilsystem meist mehr oder minder starke Auswirkungen auf benachbarte oder angeschlossene Systeme. Durch den Einsatz von Supercomputern wird es immer leichter möglich, viele solcher Konsequenzen zu berücksichtigen oder sogar zu prognostizieren, wodurch bereits weit im Vorfeld etwaige Gegenmaßnahmen getroffen werden könnten. Dies gilt z.B. bei Simulationen zum Klimawandel, der Vorhersagen von Erdbeben oder Vulkanausbrüchen sowie in der Medizin bei der Simulation neuer Wirkstoffe auf den Organismus. (Jedoch sind logischerweise solche Simulationen nur so genau, wie es die programmierten Parameter bzw. Modelle zur Berechnung zulassen.) Die enormen Investitionsummen in die stetige Steigerung der FLOPS und damit die Entwicklung von immer schnelleren Supercomputern werden vor allem mit den Nutzenvorteilen und dem eventuellen „Wissensvorsprung“ für die Menschheit gerechtfertigt, weniger aus den Aspekten des allgemeinen technischen Fortschritts.

Zum Seitenanfang



Mehrkernprozessor

Sockel für Athlon 64 X2

Der Begriff Mehrkernprozessor (auch Multicore-Prozessor oder Multikernprozessor) bezeichnet einen Mikroprozessor mit mehr als einem vollständigen Hauptprozessor auf einem einzigen Chip. Sämtliche Ressourcen mit Ausnahme des Bus und eventuell einiger Caches sind repliziert. Es handelt sich also um mehrere vollständige, weitgehend voneinander unabhängige Prozessoren inklusive eigener arithmetisch-logischer Einheit (ALU), Registersätze und, sofern überhaupt vorhanden, Floating Point Unit (FPU).

Als Doppelkernprozessor (auch Dual-Core-Prozessor) bezeichnet man einen Mehrkernprozessor mit zwei Hauptprozessoren. Mikroprozessoren mit einem Hauptprozessor bezeichnet man zur Abgrenzung als Einzelkernprozessor (auch Single-Core-Prozessor). Diese Terminologie lässt sich entsprechend fortsetzen. So spricht man bei vier Kernen von einem Vierkernprozessor (auch Quad-Core-Prozessor), wobei ein Vierkernprozessor nicht notwendigerweise aus zwei Doppelkernprozessoren bestehen muss, sondern auch aus vier diskreten Kernen bestehen kann.

Multi-Threaded-CPUs sind mehrfädige (engl. multithreading) Prozessorkerne mit mehreren Programmzählern und Registersätzen, die sich gegenüber dem System aber als mehrere Kerne melden. Diese Technik kann je nach Aufwand im Prozessordesign unterschiedlich effizient umgesetzt sein. Intel nennt sie in einigen Prozessorlinien Hyper-Threading, IBM SMT (Symmetrisches Multi-Threading). Der IBM Power5-Prozessor ist z. B. ein Doppelkernprozessor mit zwei Threads pro Kern, der Sun UltraSPARC T1-Prozessor ein Achtkern-Prozessor mit vier Threads pro Kern.

Bis zum Jahre 2005 dominierten die Einzelkernprozessoren den PC-Bereich. In den Jahren zuvor versuchte man in wenigen Fällen, durch den Einsatz von zwei oder mehr Einzelprozessoren die Leistungsfähigkeit zu erhöhen. Die gängige Variante zur Erhöhung der Leistungsfähigkeit war neben neuen Befehlssätzen wie MMX und mehr Transistoren jedoch die Erhöhung der Taktfrequenz. Doch dies ging bei Frequenzen um 4 GHz mit einer nicht mehr sinnvoll handhabbaren Abwärme einher. Eine Möglichkeit der Fortentwicklung war die Einführung von Mehrkernprozessoren. So wurde schon in der zweiten Hälfte des Jahres 2006 das Angebot in der oberen Hälfte des Leistungsspektrums von PC-Prozessoren von der Doppelkernvariante dominiert. Somit ist dieses Jahr als eine Abkehr von einem Prinzip festzuhalten, das seit der Geburtsstunde der Prozessoren Gültigkeit hatte. Heutzutage werden nur noch in wenigen Fällen Single-Cores verbaut, da die entsprechenden Dual-Cores oft nur noch wenig teurer und aktuell schon für unter dreißig Euro zu haben sind. Auch sind die Preise der Quad-Core-Prozessoren seit April 2007 drastisch gefallen, sodass günstige Modelle unter 150€ gelistet sind und auch AMDs Triple-Cores deuten auf den Trend zu immer mehr Prozessorkernen.

Mehrkernprozessoren wurden entwickelt, weil die Kosten für den Einsatz eines einzelnen Chips mit mehreren Ressourcen häufig geringer sind als bei mehreren einzelnen Chips. Anders betrachtet kann mit der gleichen Anzahl an Chip-Sockeln und Chips theoretisch eine vervielfachte Rechenleistung erzielt werden (das n-fache bei n Kernen). In der Realität kann diese Steigerung jedoch fast nie erreicht werden, die Leistungssteigerung schwankt, je nachdem, wie gut die Software parallelisiert ist.

Aber auch im Alltag ist mit Mehrkernprozessoren ein deutlich flüssigeres Arbeiten möglich, da ein weiterer Kern für neue Aufgaben bereit steht und das System dann nicht erst warten muss, bis Ressourcen verfügbar sind. Da alle führenden Prozessorhersteller Mehrkernprozessoren auf den Markt gebracht haben, ist damit zu rechnen, dass immer mehr Programme für Mehrkernprozessoren optimiert werden.

AMDs Opteron-Doppelkernprozessoren produzieren nur unwesentlich mehr Abwärme als ein AMD Opteron mit nur einem Prozessorkern. Damit wurde z. B. die Prozessor-Abwärmeleistung für ein Mehrprozessorsystem halbiert. Dies ist für HPC-Cluster (high performance computing), aber vor allem für die Blade-Center wesentlich, da hier auf engstem Raum eine Vielzahl von Prozessoreinheiten (Blades) verbaut sind und somit ein 19-Zoll-Industrieschrank eine Abwärmeleistung von über 20 kW produzieren kann. Diese ist in der Regel durch konvektive Kühlung nicht mehr abführbar.

Mehrkernprozessoren stellen neben einer Erhöhung der Taktfrequenz und dem Pipelining eine von vielen Möglichkeiten dar, die Leistung von Mikroprozessoren zu erhöhen. Die rein theoretische Leistungssteigerung ist vergleichsweise effizient und beträgt maximal 100 % (gegenüber einem einzelnen Kern) pro zusätzlichem Kern. In der Praxis hängt die Leistungssteigerung aber stark von dem Parallelisierungsgrad des ausgeführten Programms und des verwendeten Betriebssystems ab. Unix, der SMP-Linux-Kernel und Microsoft Windows ab XP unterstützen Mehrkernprozessoren (Windows NT und 2000 erkennen einen Mehrkernprozessor als mehrere Einzelkernprozessoren; dadurch sind zwar auch alle Kerne nutzbar, spezielle Mehrkernprozessoroptimierungen aber können nicht greifen). Dabei verteilt das Betriebssystem Prozesse und Anwendungen auf die einzelnen Prozessoren, die diese dann unabhängig parallel ausführen. Wird hingegen nur eine Anwendung ausgeführt, so muss diese für die mehreren Prozessoren parallelisiert werden. Das bedeutet, die Anwendung wird so modifiziert, dass sie komplett oder auch nur Fragmente davon gleichzeitig auf mehreren Prozessoren als Threads ausgeführt werden. Dazu gibt es grundsätzlich zwei Parallelisierungsstrategien: SMP (Shared-Memory-Programmierung) und MPI (Message-Passing-Interface-Programmierung).

So unterscheiden sich verschiedene Architekturen. Während manche Architekturen leistungssteigernde Komponenten wie z. B. einen Shared Cache auf dem Chip unterbringen (z. B. IBMs POWER4 und folgende, Sun UltraSPARC IV+ und T1), setzen andere Architekturen lediglich mehrere Einzelkerne mit eigenem Cache auf einen Chip. Prozessorbasiert lizenzierende Softwareunternehmen haben verschiedene Konzepte entwickelt, um auf diese Entwicklungen zu reagieren. So zählt z. B. Oracle bei Mehrkernprozessoren jeden Prozessorkern auf einem Chip mit 0,25 (Sun UltraSPARC T1), 0,5 (Intel und AMD CPUs) oder 0,75 (HP, IBM und Sun RISC CPUs). Microsoft hat angekündigt, nicht mehr die Kerne, sondern die Chips als Basis für die Lizenzierung heranzuziehen, womit auf einen Mehrkernprozessor nur noch eine Lizenz fällt.

In der Shared-Memory-Programmierung erfolgt die Parallelisierung, beispielsweise bei OpenMP, entweder automatisch durch Compiler-Optionen oder direkt mit Parallelisierungs-Direktiven bzw. mit Verwendung von parallelen mathematischen Bibliotheken in der Anwendung. OpenMP-Programme haben in der Regel eine wesentlich bessere parallele Effizienz als mit Message Passing Interface (MPI) parallelisierte Programme, da die Prozessor-Kommunikation direkt über einen schnellen breitbandigen Datenbus geht. Nachteil ist, dass große Shared-Memory-Parallelrechner relativ teuer sind und die Prozessoranzahl begrenzt ist. Ein klassisches SMP-System ist die SGI Origin von Silicon Graphics.

Das Rechengebiet (Domain) wird bei der Message-Passing-Programmierung zerlegt und auf alle Prozessoren verteilt (Domain-Decomposition). Jeder Prozessor rechnet lokal und kommuniziert über optimierte MPI-Funktionen mit den anderen Prozessoren. Programmbibliotheken sind beispielsweise MPI, PVM (Parallele Virtuelle Maschine) oder SHMEM. Vorteil ist die extrem kostengünstige Hardware. Das bedeutet, dass solche Rechner aus Standard-PC-Komponenten gebaut werden können, wie sie bei jedem PC-Händler zu finden sind. Sie sind theoretisch unendlich skalierbar, d.h. es können beliebig viele Prozessoren zusammengeschlossen werden. Diese kommunizieren dann in der Regel über IP (Ethernet, Fast Ethernet, Gigabit Ethernet, Myrinet-2000, InfiniBand, Quadrics). In der Regel fällt aber die Effizienz mit der Anzahl der Prozessoren, da die Interprozessorkommunikation zu stark zunimmt. Es gibt aber auch Anwendungen die umgekehrt skalieren, da hier Effekte des Domain-Decomposition einen effizienteren Umgang mit dem Speicher ermöglichen.

In symmetrischen Mehrkernprozessoren sind die einzelnen Kerne gleich. Ein für diesen Prozessor übersetztes Programm kann auf jedem beliebigen seiner Kerne ausgeführt werden. Bei dieser Art von Mehrkernprozessoren handelt es sich um SMP-Systeme. Da es sich bei Mehrkernprozessoren um eine Variante des SMP handelt, ist der Sinn und Zweck eines Mehrkernprozessors der, SMP Platz sparend umzusetzen. Ein Beispiel für so ein 8-fach-SMP-System auf einem Chip ist der Sun UltraSPARC T1-Prozessor.

Bei asymmetrischen Mehrkernprozessoren gibt es verschiedene Kerne, die unterschiedlich gesteuert werden und eine unterschiedliche Maschinensprache verstehen. Ein Programm kann nur auf einem seiner Übersetzung entsprechenden Kern ausgeführt werden. Bei dieser Art von Mehrkernprozessoren arbeiten einige der Kerne wie klassische Hauptprozessoren, andere wie asynchrone Coprozessoren. Ein Beispiel für solch ein System ist der Cell-Prozessor von IBM.

Zum Seitenanfang



Liste der AMD-K10-Prozessoren (Desktop)

Die Desktop-Prozessoren mit K10-Mikroarchitektur des US-amerikanischen Chipherstellers AMD werden durch die Prozessorserien Phenom und Phenom II gestellt. Sie sind für den PC-Markt („SoHo“) zugeschnitten und stellen die Nachfolge der AMD-Athlon-64-X2-Serie dar. Die Prozessoren werden als Vierkernprozessoren produziert („Phenom X4“ bzw. „Phenom II X4“), jedoch werden nicht alle als solche verkauft, sondern einige mit nur drei („Phenom X3“) oder zwei („Athlon X2“) aktiven Kernen.

Zum Seitenanfang



Source : Wikipedia