CPU

Trait CPU 

Source
pub trait CPU {
    // Required methods
    fn architektur(&self) -> Architektur;
    fn kerne(&self) -> u8;
    fn basis_takt(&self) -> u64;
    fn features(&self) -> Vec<Features>;
    fn eins_ausführen(&mut self) -> Result<u64, ()>;

    // Provided methods
    fn turbo_takt(&self) -> Option<u64> { ... }
    fn alles_ausführen(&mut self) -> Result<Vec<u64>, ()> { ... }
}
Expand description

Eine CPU ist das Herzstück eines Computers. Sie führt letztendlich die Befehle aus und ist dazu da, die Hardware zentral zu verwalten, daher auch der Name: “Central Processing Unit”, zu Deutsch “Zentrale Verarbeitungseinheit”.

§Was gibt es und wo findet man sie?

Mittlerweile finden sich Prozessoren an allen möglichen Stellen und in einigen Formen, vom Kleinstprozessor für Smarthome zu Handy- und Tabletprozessoren bis hin zum Desktop- und Serverprozessor.

§Wie funktioniert ein Prozessor?

§Befehlszyklus

Der Befehlszyklus besagt, dass ein Prozessor jede Instruction in vier Schritten ausführt:

  1. Fetch: Einholen einer neuen Instruction (von der Stelle, die der Instruction Pointer vorgibt).
  2. Decode: Entschlüsseln der Instruction auf die spezifische Plattform.
  3. Execute: Ausführen der gegebenen Instruction
  4. Save: Das Ergebnis abspeichern.

Für ein Beispiel eines solchen Zyklus, siehe beispiele::BeispielCPU.

§Prozessorarchitekturen

Siehe Architekturen

§Takt

Der Prozessortakt sagt aus, wie häufig ein Prozessor einen Zyklus durchführt. Ein hoher Takt bedeutet bei zwei Prozessoren mit der gleichen Mikroprozessorarchitektur bessere Performance, aber auch höheren Stromverbrauch und höhere Abwärme.

§Aber welcher Prozessor ist der richtige?

Das hängt von einer Reihe von Faktoren ab. Das wichtigste ist dabei zum einen die Arbeit, die dieser verrichten soll, aber auch vom zur Verfügung stehenden Budget. Als Privatkunde ist es am einfachsten, Benchmarks zu Verfolgen und dann abzuwägen, was am sinnvollsten ist. Obacht: Sollte der Fokus auf grafisch etwas anspruchsvolleren Spielen liegen, ist die CPU deutlich weniger für die Leistung relevant als die Grafikkarte. Im Unternehmenskontext gerade bei recht ähnlichen Workloads kann es sogar Sinn ergeben, mehrere Alternativen testweise parallel zu betreiben und dabei die Performance zu beobachten.

Der Markt entwickelt sich stetig, weswegen eine Aussage zu der Qualität einer bestimmten Marke schon sehr bald nicht mehr aktuell sein kann. Informiert euch also um die aktuelle Situation.

Required Methods§

Source

fn architektur(&self) -> Architektur

Die Architektur, zu der dieser Prozessor gehört.

Source

fn kerne(&self) -> u8

Wie viele logische Kerne der Prozessor besitzt.

Source

fn basis_takt(&self) -> u64

Der Standard-Takt der CPU

Source

fn features(&self) -> Vec<Features>

Zusätzliche CPU-Features.

Source

fn eins_ausführen(&mut self) -> Result<u64, ()>

Diese Funktion ruft eine Iteration des Befehlszyklus auf und bewegt somit den Instruction-Pointer um eine Stelle weiter.

Provided Methods§

Source

fn turbo_takt(&self) -> Option<u64>

Der Turbo-Takt ist der Takt, mit dem die CPU arbeitet, wenn diese erhöhte Last sowie eine ausreichend niedrige Temperatur besitzt.

Source

fn alles_ausführen(&mut self) -> Result<Vec<u64>, ()>

Implementors§