Loading ⌛Loading ⌛

đź•’ Computer im Gleichtakt

🎯 Hier erfährst du, warum ein Computer nur mit einer Uhr funktionieren kann.

Inhaltsverzeichnis

Koordination dank Clock-Signal

Damit ein Computer funktionieren kann, müssen verschiedenste Logik-Schaltungen miteinander koordiniert werden. Je nach Grösse und Geometrie arbeiten diese Schaltungen jedoch unterschiedlich schnell. Daher braucht es einen Taktgeber, der die Schaltungen so lange warten lässt, bis jede Schaltung das zu verarbeitende Signal bekommen hat. Danach werden alle Schaltungen auf Kommando aktiviert. Diese Funktion erfüllt im Computer eine Quarzuhr (Clock), welche die Taktfrequenz vorgibt.

Nur wenn das Clock-Signal 1 ist, dürfen die Schaltungen die Signale verarbeiten. Wenn das Clock-Signal 0 ist, müssen die Schaltungen „warten“. So wird garantiert, dass kein Signal verloren geht.

Eine Quarzuhr produziert von Haus aus ein symmetrisches Clock-Signal (siehe Abb.1). Bei einem symmetrischen Clock-Signal ist jedoch die 1-Phase zu lange, um alle Schaltungen präzise im Takt arbeiten zu lassen.

Abb.1: Symmetrisches Clock-Signal 1)

Was es braucht, ist ein asymmetrisches Clock-Signal (siehe Abb.2). Das asymmetrische Clock-Signal steht lange auf 0. In dieser Zeit können alle Signale von einer zur nächsten Schaltung gelangen. Sobald das Clock-Signal zu 1 wechselt, verarbeiten alle Schaltungen die anliegenden Signale und leiten diese weiter.

Abb.2: Asymmetrisches Clock-Signal 2)

Aus einem symmetrischen Signal kann z.B. mit der Schaltung in Abb.3 ein asymmetrisches erzeugt werden. Wenn das symmetrische Clock-Signal lange genug auf 0 steht, dann liegt am oberen AND-Eingang eine 1 an und am unteren eine 0. Das asymmetrische Clock-Signal ist somit 0. Wenn das symmetrische Clock-Signal von 0 auf 1 wechselt, empfängt das AND-Gatter kurzzeitig an beiden Eingängen eine 1. Der Grund dafür ist die kleine Verzögerung des oberen Signals durch das NOT-Gatter – der obere AND-Eingang wechselt leicht verzögert von 1 auf 0.

Abb.3: Erzeugung eines asymmetrischen Clock-Signal [Screenshot: logic.ly online]

Wenn zwei NOT-Gatter hintereinander geschaltet werden (siehe Bb.4), dann ist der Ausgang a dieser Schaltung immer genau gleich wie der Eingang e. Jedoch wird durch diese Schaltung das Signal verzögert - diese Schaltung wird daher auch „Puffer“ genannt.

Abb.4: Puffer mit Verzögerung [Screenshot: logic.ly online]
✍ Auftrag
  1. Angenommen bei der Erzeugung eines asymmetrischen Clock-Signal in Abb.3 werden in jeden der beiden Schaltungsarme ein oder mehrere Puffer-Schaltungen eingebaut (in jeden Arm gleich viele). Wie wirkt sich das auf das Clock Signal aus? Wofür könnte das gut sein? Formuliere eine Vermutung im nachfolgenden Textfeld und vergleiche deine Antwort mit dem „Antwortzugang“ darunter.

Loading ⌛

Antwortzugang

Steuern mit dem Clock-Signal

Mit dem gewünschten Clock-Signal lassen sich beliebige Signale im Takt weiterleiten, z.B. per AND-Gatter (siehe Abb.5). Nur wenn das Clock-Signal „1“ ist, wird das Signal korrekt weitergeleitet.

Abb.5: Schalten per Clock-Signal [Screenshot: logic.ly online]

Auf diese Art kann z.B. bei einem D-Latch-Speicher (siehe Kapitel đź’ľ Daten speichern mit Transistoren) festgelegt werden, wann etwas in den Speicher geschrieben werden kann (siehe Abb.6).

Abb.6: Per Clock-Signal geschaltetes D-Latch [Screenshot: logic.ly online]
✍ Auftrag

Loading ⌛

  1. Baue das Clock-Signal geschaltete D-Latch gemäss Abb.6 in logic.ly online nach und spiele etwas damit herum. Erweitere danach die Schaltung, indem du die symmetrische Clock in Abb.6 durch die asymmetrische Clock-Schaltung in Abb.3 ersetzt. Wie gut ist der logic.ly online-Simulator? Wofür kannst du diesen brauchen und wofür nicht?
  2. Markiere danach diesen Auftrag als „Erledigt“.

Antwortzugang

Taktfrequenz und Kerne

Logik-Gatter arbeiten relativ schnell. Das Clock-Signal moderner Computer liegt im GHz-Bereich (mehrere Milliarden 1-Phasen pro Sekunde). Diese Angabe wird als Taktfrequenz bezeichnet.

Die Taktfrequenz ist jedoch keine verlässliche Angabe für die Rechengeschwindigkeit eines Prozessors. Es gibt Prozessoren, welche in jedem Taktzyklus eine komplexe Berechnung durchführen können, andere wiederum verteilen solch eine komplexe Berechnung auf mehrere Taktzyklen.

Moderne Prozessoren sind eigentlich nicht nur ein Prozessor, sondern beinhalten mehrere. Somit können mehrere Aufgaben gleichzeitig verarbeitet werden. Die Anzahl Kerne gibt an, aus wie vielen Prozessoren ein Prozessor besteht. Die Anzahl Kerne ist jedoch auch keine verlässliche Angabe für die Rechengeschwindigkeit, da je nach Aufbau des Prozessors Aufgaben besser oder weniger gut aufgeteilt, auf die Kerne verteilt und zeitlich koordiniert werden können.

Ausschlaggebender für die Rechengeschwindigkeit sind die „instructions per second IPS“ oder die „floating point operations per second FLOPS“, die ein Prozessor unter realistischen Bedingungen schafft.

Für den Test unter realistischen Bedingungen werden auf einem Prozessor verschiedene standardisierte Berechnungen – sogenannte Benchmarks – durchgeführt und die Zeit dafür gemessen. Beliebt ist die Kombination mehrerer dieser Benchmarks, um „Bestenlisten“ für aktuelle Prozessoren zu erstellen. Ein Beispiel solch einer Bestenliste ist die Bestenliste Prozessoren des CHIP Computermagazins (klicke auf „Alle Produkte im Detail“ und scrolle nach rechts, um die Benchmarks zu sehen).

✍ Auftrag
  1. Suche aus der Bestenliste Prozessoren die Namen der besten Prozessoren in den nachfolgenden Kategorien heraus und ergänze damit die Tabelle (ein Name bei Gleichstand genügt).
    ⚠️ Klicke dazu auf der Webseite auf „Detailansicht“ und dort in der Spalte links auf „Produkte als horizontale Tabelle anzeigen lassen“.

đź’ˇ Egal welche Prozessoren gerade aktuell sind, in deiner Tabelle werden am Ende vermutlich verschiedene Prozessornamen vorkommen.

Loading ⌛

Eigene Notizen

Loading ⌛

1) , 2)
Bild-Quelle (Uhr): simple clock by matzekatze on Openclipart, CC0