Weiterentwicklungen von CPUs

Natürlich haben sich CPUs im Vergleich zu den ersten Typen wesentlich weiterentwickelt. Neben der Steigerung der Verarbeitungsgeschwindigkeit spielt auch ein geringer Energieverbrauch eine wichtige Rolle.

Durch die fortschreitende Miniaturisierung wurde es möglich, immer mehr Peripherie auf einem Halbleiterchip unterzubringen. Mikrocontroller für Steuerungs- und Regelungsaufgaben findet man heute in fast jedem Gerät. Gängig sind inzwischen Systeme, die drahtlos kommunizieren können. Die notwendige Peripherie wird gleich mit auf dem Chip des Mikrocontrollers integriert. Diese Systeme bezeichnet man auch als SoC (System on a Chip). Dabei sind solche SoCs nicht nur sehr klein in der Baugröße und sparsam im Energieverbrauch. Die Massenfertigung macht sie außerdem noch sehr preiswert.

Ansätze zur Optimierung einer CPU

Es gibt mehrere Ansätze zur Optimierung von CPUs. Meistens ist das Ziel die Erhöhung der Arbeitsgeschwindigkeit.

Optimierung durch mehr Arbeitsregister

Durch die Erhöhung der Anzahl der Arbeitsregister, die mit der ALU / CU in direkter Verbindung stehen kann eine signifikante Optimierung der Performance erreicht werden, da weniger Zugriffe auf den (langsamen) Speicher erfolgen müssen.

Erhöhung der Breite der ALU und des Datenbusses

Die Verbreiterung der ALU und des Datenbusses bringt ebenfalls eine Performance-Erhöhung mit sich.
Viele Mikrocontroller, die auch heute noch im Einsatz sind bringen Busbreiten von 8 Bit mit. Jedoch kommen immer mehr Mikrocontroller mit einer Busbreite von 32 Bit zum Einsatz. Dies wurde durch die fortschreitende Miniaturisierung und durch die damit verbundene Kostensenkung möglich.
Moderne PCs haben eine Busbreite von 64 Bit.
Zum Vergleich: Die erste auf einem Chip integrierte CPU, die Intel 4004, hatte eine Busbreite von 4 Bit.

Optimierung durch Multicore-CPUs

Der Einsatz von Mehrkern-CPUs (Multicore-CPUs) ist heute bei PCs, Smartphones und Tablets gängige Praxis. Prozessoren mit 8 Kernen und mehr sind in der Lage viele parallel laufende Prozesse auszuführen.
Diese Technik kommt inzwischen auch bei modernen Mikrocontrollern zum Einsatz.

Unterschiedliche Anbindung des Speichers

Gängige Computersysteme unterscheiden sich in der Art der Anbindung des Speichers in zwei Hauptkategorien.

Von Neumann Architektur

von Neumann Architektur
Von Neumann Architektur

Bei der Von Neumann Architektur befinden sich Daten und Programmcode in einem gemeinsamen Speicher.
Dies vereinfacht das System, bringt jedoch auch einige Einschränkungen mit sich.

  • Es muss sicher gestellt werden, dass der Programmcode während der Ausführung von Prozessen nicht unabsichtlich verändert wird.
  • Die Länge von Befehlen und Adressen sind an das Byte-Muster gebunden.
  • Bei der Ausführung des Codes benötigt man mindestens einen weiteren Zyklus für das Laden der benötigten Daten.

Harvard Architektur

Harvard Architektur
Harvard Architektur

Die Harvard Architektur zeichnet sich dadurch aus, dass der Programmcode und die Daten in je einem unabhängigen Speicher untergebracht sind. Der Programmspeicher und der Datenspeicher verwenden unabhängige Bus-Systeme.
Dies macht das System komplexer, bringt jedoch eine hohe Flexibilität mit sich.

  • Der Programmspeicher und der Datenspeicher können unterschiedlich groß sein.
  • Die Anbindung kann über unterschiedlich breite Bus-Systeme erfolgen.
  • Die Speichertechnologie kann unterschiedlich sein. (z.B. Flash und SRAM)
  • Die Wortbreite des Programmspeichers kann vom Byte-Muster abweichen.
  • Programmcode und Daten können gleichzeitig geladen werden
  • Der Programmcode kann nicht durch eine fehlerhafte Speicherung der Daten korrumpiert werden, was einen zusätzlichen Sicherheitsaspekt darstellt.

Viele Mikrocontroller sind in Harvard Architektur aufgebaut.