silvesterlangen.de

Seite
Menü

CPU

Eine CPU (Central Processing Unit) ist das Hirn des Rechners und für alle Rechen- und Schaltoperationen zuständig. Sie kann arithmetische und logische Operationen. Ein Beispiel für arithmetische Operationen ist die Addition zweier Zahlen. Fallentscheidungen TRUE/FALSE/OR/AND sind logische Operationen. Das Ergebnis ist meist als "Datenverarbeitung" zu sehen. Zu 80486er Zeiten hatte eine CPU circa 1,1 Millionen Transistoren. Moderne CPUs besitzen hingegen schon Milliarden Transistoren. Die Taktrate ist in den letzten 20 Jahren auf bis zu 4 Ghz angestiegen jedoch hat man festgestellt, dass eine weitere Steigerung der Taktrate nicht mehr viel bringt. Desshalb geht die Entwicklung langsam in Richtung Smart-CPUs. Die Taktrate von CPUs wird in Megaherz (Mhz) bzw. Gigaherz (Ghz) angegeben. Durch die Tatsache, dass wir immer kleinere Schaltkreise verwenden und bereits bei 14 Nanometer angekommen sind, ist das Limit schon fast erreicht, da die "Wände" zwischen den Transistoren zu dünn werden und es zu Kurzschlüssen kommen kann.

 

Eine CPU besteht im Grunde aus folgenden Elementen:

  1. Rechenwerk (ALU)
  2. Register
  3. Befehlsdecoder
  4. Steuerwerk
  5. Datenleitungen
  6. Cache (Level 1, Level 2, Level 3)

 

Das Rechenwerk

Die ALU (arithmetisch logische Einheit) führt die eigentlichen Rechenoperationen durch. Heutige Prozessoren besitzen in der Regel mehrere getrennte Rechenwerke für Ganzzahlenberechnungen und Fließkommaberechnungen (FPU = floating point unit). Je mehr spezialisierte Rechenwerke eine CPU hat, desto schneller wird sie.

 

Das Register

Das sind einzelne spezialisierte Speicherstellen im Prozessorkern. Die ALU rechnet vor allem mit den im Register abgelegten Werten. Diese Register sind nicht mit dem Arbeitsspeicher zu verwechseln. In der Regel sind diese nur wenige (bspw 32 Register) und werden nicht zum Ablegen und längerfristigem speichern von Informationen verwendet.

 

Der Befehlsdecoder

Er übersetzt binäre Maschinenbefehle in Anweisungen. Die Befehlstabelle wird dabei als Hilfe verwendet. Instruktionen werden in Arbeitsschritte zerlegt und an die CPU-Einheit weitergegeben. Die Instruction Fetch Unit (IFU) holt Befehle aus dem Speicher und leitet sie an den Decoder weiter. Je nach Prozessorachitektur ist die Decodierung einfach oder komplex. Die Arbeitsschritte des Decoders sind aufbauend. Das heißt, dass Schritt B erst nach Beendigung von Schritt A begonnen werden kann.

 

Das Steuerwerk

Auch Control Unit genannt übernimmt die Kontrolle über die Ausführung des Programmcodes und initiiert andere Steuerungsfunktionen. Es sorgt auch dafür, dass der Befehl im Befehlsregister vom Decoder dekodiert wird, sorgt ebenfalls für die anschließende Ausführung im Rechenwerk und stellt die reibungslose Kommunikation von Befehlsregister und Befehlszählerregister her. Es trägt die Verantwortung für die Abarbeitung des Programms. Ein klassischer Ablauf ist:

FETCH -> DECODE -> FETCH OPERANDS -> EXECUTE -> UPDATE INSTRUCTION POINTER

 

Die Busse

Wir unterscheiden folgende Busse in der CPU:

  1. Datenbus - Kommunikation mit dem Arbeitsspeicher
  2. Adressbus - Adressierung der einzelnen Speicherzellen im Arbeitsspeicher
  3. Steuerbus - Steuerung von Peripherie-Anschlüssen wie PCI oder USB
  4. Interner Bus - "lokaler Bus" verbindet die internen Geräte miteinander (Stichwort: Mainboard)
  5. Externer Bus - schließt externe Peripherie an die Hauptplatine an.

 

Die Caches

Beim Cache handelt es sich um einen kleinen Zwischenspeicher für Daten, in der der  Prozessor kurzzeitig Daten ablegen kann. Bereits erledige Aufgaben können daraus sehr schnell abgerufen werden. Es werden zwischen 3 versch. Arten Caches unterschieden.

  1. L1 Cache -Ein im Prozessorkern integrierter Cache mit max. 256 Kb. Er wird mit dem gleichen Takt betrieben wie der Kern selbst.
  2. L2 Cache - Ebenfalls im Kern und ebenfalls mit dem gleichen Takt betrieben, aber etwas langsamer. Dafür ist L2 Cache relativ groß (256 Kb bis 12 Mb).
  3. L3 Cache - Ein "shared Cache", der mit den MultiCore CPUs kam. Alle Kerne können auf diesen zugreifen.

Ist der Cache voll so wird jeweils der älteste Eintrag überschrieben (Stichwort: FIFO).

 

HyperThreading

Es ist eine Entwicklung von Intel zur Multiprozess-Bearbeitung und simuliert mit einem komplexen Rechen- und Steuerwerk einen weiteren physikalischen Kern. Das Betriebsystem lagert Berechnungen auf den virtuellen Kern aus. Der Vorteil besteht darin, dass der Prozessor besser ausgelastet ist und nicht auf eine Bearbeitung warten muss. Die Software muss allerdings dran angepasst sein. Es ist das Hauptfeature von SMT (Simultanes Multi-Threading).

 

Netburst-Architektur

Mit dem Pentium 4 hat Intel die Netburst-Architektur eingeführt. Intel baute auf die Erhöhung der Taktrate und wollte Prozessoren jenseits 4 Ghz herausbringen. Die Pipeline wurde auf bis zu 40 Stufen erhöht. Das Füllen dauerte sehr lange und so wurde das HyperThreading dazu eingeführt, was beim füllen der Stufen "helfen" sollte und einen Leistungszuwachs von 30 % brachte. Leider war durch die Verlängerung der Pipeline der Nachteil entstanden, dass bei Rechenfehler die komplette Pipeline geleert und neu gefüllt werden musste. Das kostete wiederum 15 % Leistung. Zudem musste die IPC Rate (Instruktionen pro Taktzyklus) gesenkt werden. Insgesamt machte das diese CPU unnötig langsam.

 

Core-Architektur

Intel erkannte, dass die Erhöhung der Taktrate jenseits 4 Ghz sinnlos war und verstand, dass die CPUs "smarter" werden müssten, um schneller zu werden. So enschieden sie sich die Pipelines deutlich zu verkleinern, um im Falle eines Rechenfehlers ein schnelleres Leeren und Neubefüllen zu erreichen. Zudem wurde HT hinzugefügt, um entstandene Lücken zu befüllen. Das Simultane Multi-Threading nutzt die CPU optimal aus und verhindert unnötige Wartezeiten/Lücken. Es konnte der Takt wieder gesenkt werden und die IPC Rate (Instruktionen pro Takt) erhöhte sich wieder.

 

Befehlssatz-Erweiterungen "SSE"

Mitte der 90er Jahren fingen die CPU-Hersteller an den Prozessoren vorgefertigte "Ergebnisse" zu Rechenoperationen in die CPU zu integrieren. Intel nannte es MMX (später SSE) und AMD war mit 3DNow dabei. Dies bedeutete, dass bei häufig vorkommenden Berechnungen die Ergebnisse bereits vorlagen und keine Berechnung mehr stattfinden musste. Mit der Einführung von MMX (Multi-Media-Extension) fügte Intel der CPU 57 Befehle hardwareseitig hinzu. SSE sollte später MMX ersetzen und kam mit weiteren 70 Instruktionen. Mit SSE2 wurde die Präzision der Berechnungen verbessert und mit SSE3 (bis heute SSE 4.1) kamen Multi-Media und Gaming-Optimierungen hinzu. Das war für Unternehmen zunächst uninteressant. Desshalb fügte Intel mit SSE4.2 weitere Zusatzbefehle hinzu, die Anwendungen wie Datenbanken, Virenscanner und Netzwerke beschleunigt.

 

Die "DIE"

Der Name "DIE" leitet sich von "Slice n´ Dice" ab und bezieht sich auf den Silizium-Waver aus dem am Ende die DIEs (plural) herausgestanzt/geschnitten werden. In der DIE befinden sich alle Kerne, L3 ("on-die") Cache, der von allen Cores genutzt wird, I/O-Controller und ggf. auch eine Grafikeinheit. Er wird üblicherweise von einem Heat-Spreader geschützt. AMD hatte einst einen Athlon XP mit freiliegender DIE. Beim Aufsetzer des Kühlers kam es immer wieder mal zu einem DIE-Break. Das bedeutet, dass durch den Druck und falsches Aufsetzen des Kühlers ein Stück von der DIE abgebrochen ist.

 

TDP (Thermal Design Power)

TDP ist ein Wärmeabgabewert des Prozessors und dient dem Administrator als ungefährer Richtwert, dass er weiß was für einen Kühler er verwenden muss. Man hat TDP eingeführt, um die thermische Dimension planen zu können. Demnach haben Hochleistungs-CPUs einen höheren Wert als eine "Stromspar-CPU" wie Intel Atom.

Beispiel:

  1. Intel Atom z3745 (4 x 1,6 Ghz) - 1,8 Watt TDP
  2. AMD FX 8350 (8 x 4 Ghz) - 125 TDP
« vorige Seite Seitenanfang nächste Seite »
Seite
Menü
Earned Certificates:
LPIC-1 LPIC-1 LPIC-1
Powered by CMSimple | Template by CMSimple | Login