Das "Herz" der Maschine:

CPU oder
Prozessor

Der Prozessor (CPU = central procesing unit) ist die zentrale Funktionseinheit eines jeden Computers.  Alle Schaltkreise sind in einem komplexen Halbleiter-Chip enthalten. Dieser Chip enthält viele Schaltkreise, die digitale Berechnungen durchführen.  Er verarbeitet schrittweise Befehle, die insgesamt als Software vorgeschrieben sind. Der Prozessor arbeitet nur mit zwei Signalzuständen: 0 und 1.

Je nach seiner wichtigsten Anwendung gibt es drei verschiedene Typen:

Merke: Der Miroprozessor ist für das Holen, Dekodieren und Ausführen der Befehle eines Programms zuständig.

Inhalt

Halbleiter-Chips

Quelle: YOUTUBE | brainfaqk (Zeit: 8:29 min.)

Halbleiter-Chips bestehen aus elektronischen Bauteilen, die nur wenige Nanometer groß sind. Dies sind Transistoren (elektronische Schalter), Widerstände und Kondensatoren. Da die Bauteile direkt aneinander liegen, können auf Leitungen verzichtet werden, was noch einmal viel Platz spart. Daher können aktuell alleine ca. 1,7 Mrd Transitoren auf einer Fläche von ca. 170 mm² untergebracht werden.

Lernportal

Arbeitsblätter

Übung & Tests

Funktionsprinzip

Quelle: YOUTUBE | brainfaqk (Zeit: 9:19 min.)

In diesem Video wird gezeigt, wie die Befehlsverarbeitung abläuft. Erklärt wird der „von-Neumann“ Zyklus und schließlich eine „handels-übliche“ CPU mit ihren Funktionalitäten vorgestellt.

.

Register & Cache

  1. Register sind sehr schnelle Speicher innerhalb einer CPU. Sie bestehen nur aus einer einzigen Speicherzeile, haben eine unveränderlich feste Adresse und sind zweckgebunden. Auf der rechten Seite sind die verschiedenen Typen beschreiben. ⇒

  2. Ein Cache ist ein Halbleiterspeicher in einer CPU, der nicht zweckgebunden ist. Er besteht aus mehreren Speicherzeilen, die über Adressleitungen ansprechbar sind. Im Cache kann die ALU Zwischenergebnisse oder Programmteile ablegen, die sie etwas später weiter/wieder verwenden muss.

  3. RAM: Der Arbeitsspeicher ist vergleichbar mit dem Cache. Er hat aber wesentlich mehr Speicherplatz. Ist dafür ca. 1000 langsamer als der Cache. Die CPU weicht also darauf zurück, wenn der Cache keine freien Kapazitäten mehr hat.

In diesen Registern liegen die zwei Zahlen, die verrechnet werden sollen.

Im Befehlsregister befindet sich der nächste von der ALU auszuführende Befehl.

Nachdem die beiden Operanden (in R0 und R1) gemäß des anliegenden Befehls ausgewertet (berechnet) wurde, ist das Ergebnis nun im Ergebnisregister abgelegt. In der Praxis ist das Register R0 und der Accu identisch. Damit spart man sich ein Register, und es kann ohne Umladung sofort mit dem nächsten Befehl fortgefahren werden.

In diesem Register befindet sich die Adresse des jeweiligen Befehls im Programm(Speicher). Wenn der Befehl abgearbeitet wurde, wird der Program Counter (Programmschrittzähler) um EINS erhöht. Das nennt man auch „increment 1“.

Neben dem Ergebnis liefert die ALU Informationen über Sonderzustände, die ggf. bei der Berechnung angefallen sind; dies kann z.B. sein:

  • overflow = Zahl zu groß für den Speicher
  • RAM limit = kein freier Speicher mehr im RAM verfügbar.
  • div0 = Berechnungen durch Null sind nicht zulässig!
  • Interrupts: Andere Programme – oder Ereignisse sind eingetreten, das laufende Programm muss unterbrochen werden.
  • etc.

Flags („Flaggen“) sind einzelne Bits im Statusregister, die an der jeweils festgelegten Stelle genau die „Melungen“ erzeugen, die oben beschrieben wurden.

Funktionsblöcke

Das Innenleben einer CPU besteht heute aus mehreren „Rechenkernen“. Ein Rechenker  enthält immer die selben Funktionsblöcke. Hinter jedem Funktionsblock verbergen sich elektronische (Halbleiter-) Schaltungen. Die Schaltungen wiederum sind mit den Leitungen das Parallel-BUS miteinander verbunden.

Mit Klick auf Bild vergrößern.

Die Steuerungseinheit ist eine Schaltkreisfamilie, welche den gesamten Prozessablauf innerhalb eines Rechenkerns steuert.

Die „Arithmetic-Logic-Unit“ ist eine Ansammlung verschiedener elektronischer Rechenschaltkreise. Sie führt den Befehl ( der vom Decoder kommenden Steuerleitungen) aus.  Sie wird als „Rechenwerk“ bezeichnet. Man unterscheidet:

  • Arithmemetische Berechnungen: wie Plus, Minus, Mal, Geteilt, etc.
  • Logische Berechnungen:
    • Logikverkünpfungen: AND, OR, NOT aber auch:
    • Bit-Conversionen: alle Bits nach rechts/links schieben, alle Bits invertieren
    • Teile der Fließkommeberechnungen

 

Nachdem ein (binärer)Befehl in das Instruction Register gelangt ist, muss der Decoder seine Steuerleitungen an die ALU so einstellen, dass alle nicht zu verwenden Schaltungsteile in der ALU deaktiviert werden, und nur die Schaltungen mit Strom versorgt werden, welche für die Ausführung des Befehls notwendig sind. Beispiel:

  • Es sollen zwei Zahlen addiert werden:
    • Micocode: 0010 11010 (das ist der Befehl „Add“ im Befehlsregister)
    • Steuerleigungen vom Decoder an die ALU:
      • Leitung 1 – AUS
      • Leitung 2 – AUS
      • Leitung 3 – AUS
      • Leitung 4 – AUS
      • Leitung 5 – AN    (Das wäre dann ein aktivierter Addierer)
  •  

Über die jeweiligen Leitungsbündel werden Daten an die Funktionsblöcke verteilt; Die Daten sind nur Gruppen aus „0“ und „1“ können aber andere Bedeutungen haben:  z.B. kann: 1100 1010 1100 1000 heißen:

  • Ein Zahlenwert, der verrechnet werden muss,
  • Ein Befehl, den die ALU ausführen muss,
  • eine Adress, an dem ein Wert gelesen/geschrieben wird.

Für Zwischenergebnisse oder auch Programmteile, die anschließend noch einmal verwendet werden, gibt es den CACHE. Je größer der Cache, desto schneller kann die CPU arbeiten. Man unterscheidet 3 Ebenen:

  • Level 1 Cache: Schreib/Lesespeicher nur für einen Rechenkern
  • Level 2 Cache: Etwas größerer Cache, dafür aber geringere Geschwindigkeit des Bus-Takts.
  • Level 3 Cache: Gemeinsamer Cache bei Mehrkernprozessoren. Die einzelenen Kerne teilen sich Cachebereiche, wenn sie einen Bereicht nicht mehr benötigen, geben sie ihn wieder für die anderen Kerne frei.

Neben einem Cache in der CPU gibt es auch Cache in:

  • Festplatten: voraussichtlich bald benötigte Daten werden werden vorab in den Cache geschrieben; ähnlich einem Großlager, in denen Ware schon einmal an die Rampe gebracht wird.
  • Grafikkarten: ist ja genauso aufgebaut, wie ein „normaler“ Computer.

von-Neumann Zyklus

Ein Prozessor verarbeitet Befehle in fünf sich immer wiederholdenden Schritten, die John von Neumann bereits 1945 beschrieben hat: Fetch, Decode, Fetch Operands, Execute und Write Back.

Fünf Schritte Kreislauf:

  1. Fetch: Zuerst wird aus dem Befehlszeilenregister im Arbeitsspeicher die Adresse des nächsten Befehls gelesen und in den Befehlsspeicher geladen.
  2. Decode: Der Befehlsdecoder entschlüsselt den Befehl und aktiviert alle Schaltungen, welche für die Ausführung des Befehls notwendig sind.
  3. Fetch Operands: Nun werden alle Werte und Parameter des Befehls in die Register geladen, die verändert werden sollen. Der Prozessor findet diese Werte auf der Festplatte, im Cache oder im Arbeitsspeicher.
  4. Execute: Der Prozess wird ausgeführt. Das kann beispielsweise die Ansteuerung eines Peripheriegerätes wie eines Druckers oder eine Operation im Rechenwerk sein.
  5. Nach Abschluss des Execute kann der Zyklus wieder von vorne beginnen, es kann also der nächste Befehl bearbeitet werden.

Interrupts

Neben den Arbeitsbefehlen reagiert der Prozessor auch auf unvorhergesehene Ergebnisse. Diese werden mittels Interrupts (Unterbrechungen) an die CPU gesandt. Der Prozessor unterbricht dann seine momentane Arbeit, speichert sich die Werte und bearbeitet zuerst das unvorhergesehene Ereignis. Danach widmet er sich wieder seinem ursprünglichen Befehl.

Interrupts können von der Software ausgelöst werden, meistens aber werden sie durch Ereignisse an den Eingabegeräten ausgelöst. Dann gelangen sie über eine bestimmte Leitung des Steuerbusses an die CPU. Zum Beisiel, wenn jemand die Maus bewegt, eine Tipp/Wisch-Bewegung am Touchscreen ausführt oder auf der Tastatur etwas tippt. Über die jeweilige Steuerbusleitung unterbricht die CPU ihr gerade laufendes Programm, um auf dieses Ereignis zur reagieren.

Es gibt Interruts mit unterschiedlicher Priorität, daher kann es sein – wenn ein Programm „hängen“ bleibt, dass auch Maus oder Tastaturbefehle nicht mehr funktionieren.

Leistungskriterien einer CPU

Für die Einschätzung der Leistungsfähigkeit sind diese Parameter relevant:

  • Taktfrequenz: liegt heut zwischen 2 – 4 GHz
  • Anzahl der Kerne: von 4 Kernen (Quadcore) bis zu 32/64 Kernen (Server) in einem Chip.
  • Größe des Cache: wie im Film gezeigt.
  • BUS-Breite: heute Standard 64-Bit Datenbus.
  • Chip-Set: Verteiler der Daten, von CPU an alle anderen Bauteile. Hier ist der Frontsidebus die Verbindung, die möglichst hoch sein soll.

Die Leistung einer CPU alleine ist für das Gesamtsystem nicht aussagefähig genug. Daher testet man mit Software-Diagnose-Tools die Leitung des Gesamtsystems. (Benchmarks). Da man unterschiedlich testen kann, sind auch nur die Aussagen innerhalb einer Software aussagefähig.

  • Eine Übersicht verschiedener Tools gibt es hier.

Wechsel einer CPU

Quelle: YOUTUBE | Yogies Technik Ecke  (Zeit: 4:45 min.)

Welche Arbeitsschritte sind notwendig für die

 

  • Demontage einer CPU?

 

  • Montage einer neuen CPU?

10 Wiederholungsfragen

Sie holt, dekodiert und arbeitet Befehle ab.

  1. Allgemeine CPU (CISC)
  2. GPU – Grafic Processing Unit – für Grafikkarten
  3. RISC – reduced instruction set – für Spezialanwendung schnelles Rechnen.

Schnelle Speicherzeilen von 64 Bit in der CPU mit besonderer Funktion.

  1. Operandenregister
  2. Akkumulator
  3. Befelsregister
  4. Statusregister
  5. Programmzähler

Sehr schneller Schreib/Lesespeicher in der CPU – ähnlich wie RAM nur kleiner und schneller.

In der Festplatte und auf der Grafikkarte.

sie verarbeitet arithmetische und logische Befehle.

Fünf Schritte (die sich immer wiederholen):

  1. Fetch (Befehl)
  2. Decode
  3. Fetch Operands
  4. Execute
  5. Write back

Paramter wie:

  1. Taktfrequenz
  2. Größe des Cache
  3. Anzahl der Kerne
  4. Busbreite
  5. passendes Chipset

CPU muss passen zu:

  1. Sockeltyp
  2. Mainboard
  3. Chipset