# Taktsignal

Die Benutzung eines Taktsignals (kurz auch nur Takt; englisch clock signal oder clock) ist ein Verfahren, den richtigen zeitlichen Ablauf beim Betrieb einer elektronischen Schaltung sicherzustellen. Insbesondere benötigen viele digitale Schaltungen ein entsprechendes Signal zur zeitlichen Koordination bzw. Synchronisation der Aktionen mehrerer Schaltkreise (insbesondere der von Flipflops) innerhalb komplexer digitaler Systeme (Schaltwerke). Daneben kann die Frequenz des Taktsignals als Referenzfrequenz dienen; sie sorgt so für den gleichmäßigen Gang beispielsweise elektronischer Uhren. Auch bestimmte analoge Schaltungen, beispielsweise Switched-Capacitor-Filter, benötigen eine genaue Taktfrequenz.
Meistens ist es ein periodisches Signal, das durch seine Frequenz (Taktfrequenz oder Taktrate genannt) bzw. deren Kehrwert (Periodendauer) charakterisiert ist. Es wechselt dabei zwischen zwei Logikpegeln, in nebenstehender Skizze mit H für High und L für Low bezeichnet. Prominentes Beispiel eines Taktsignals ist der Systemtakt (system clock) in einem Computer, der die Arbeitsgeschwindigkeit vieler Komponenten, insbesondere des Mikroprozessors, bestimmt. Ein Beispiel für ein aperiodisches Taktsignal ist die getaktete Datenübertragung, wie beispielsweise bei den Schnittstellen SPI oder I²C.

## Abgrenzung

Im Technikerjargon wird häufig bloß von Takt gesprochen, wobei dem Zusammenhang entnommen werden muss, ob damit Taktsignal, Taktfrequenz oder Taktzyklus gemeint ist.

## Allgemeines

Wenn ein periodisches Taktsignal vorliegt, wird es von einem Oszillator, wie beispielsweise einem Quarzoszillator, erzeugt. Als weitere charakteristische Eigenschaften eines Taktsignals (neben der Frequenz bzw. Periodendauer) seien die Genauigkeit (Fertigungstoleranz, Temperaturabhängigkeit, Phasenrauschen und Jitter der Taktsignalquelle), die Amplitude (Spannung) und der Tastgrad genannt. Aus der Anwendung ergeben sich diesbezügliche Anforderungen, die sich auf die Auswahl bzw. das Konstruktionsprinzip des Oszillators auswirken (beispielsweise Ringoszillator bei sehr geringen, Quarzoszillator (z. B. Pierce-Schaltung) bei höheren oder Atomuhr bei höchsten Genauigkeitsanforderungen).
In der Idealvorstellung ist ein Taktsignal ein Rechtecksignal. Tatsächlich jedoch ist die Kurvenform eines Taktsignals häufig eher sinusförmig. Häufig ist die Taktfrequenz fast so hoch wie die technologisch bedingte Maximalfrequenz des Schaltwerks. Zur Befriedigung der Anforderung an die Flankensteilheit genügt in diesem Fall eine Wellenform mit geringem Anteil an Harmonischen, die zudem potenziell weniger Störausstrahlung verursacht.

## Takterzeugung

Zur Takterzeugung eines Rechtecktakts werden heute bei elektronischen Schaltungen neben den Schwingquarzen samt der Ansteuerschaltung auch Quarzoszillatoren verwendet. Die Vorteile dieser Bauelemente sind die geringe Toleranz der erzeugten Frequenz und die hohe Stabilität der Frequenz über den zulässigen Temperaturbereich, der Alterungsbeständigkeit des Bauelements und den zulässigen Bereich bei der Betriebsspannung der Bauelemente. Bei historischen Computern, die mit Trommelspeichern arbeiteten, wurde das Taktsignal mitunter von einer speziellen Magnetspur auf dem Trommelspeicher gelesen, siehe dazu im Artikel Trommelspeicher.
Moderne Prozessoren sowie ihre Hilfsbausteine auf der Hauptplatine eines Computers benötigen mehrere verschiedene Taktsignale, da beispielsweise die CPU mit sehr viel höherer Taktfrequenz läuft als externe Schnittstellen. Auch innerhalb der CPU werden vor allem zwecks Energieeinsparung Frequenzen dynamisch je nach Betriebssituation umgeschaltet. Für die Bereitstellung solcher vielfältiger Taktsignale ist üblicherweise ein Master-Oszillator zuständig, der über eigene Frequenzteiler bzw. Phasenregelschleifen (PLL) alle benötigten Frequenzen aus einer Quarzfrequenz ableitet.
CPUs und GPUs werden in Ausführungen für bestimmte Taktfrequenzbereiche angeboten, für die sie bei der Entwicklung spezifiziert und bei der Herstellung getestet wurden. Da in diese Bereiche wegen der Betriebssicherheit und wegen unvermeidlicher Produktionstoleranzen Reserven eingeplant sind, streben viele Anwender – vor allem aus dem Computerspiel-Bereich – an, die Grenzen auszureizen. Viele Prozessoren bieten für dieses Übertakten spezielle Steuerregister an, über die man einen Teilerfaktor – den Multiplikator – einstellen kann, der angibt, wie die Arbeitsfrequenz aus der Taktfrequenz geteilt werden soll. Solche Einstellungen sind jedoch riskant, da es im Extremfall zu Datenverlusten oder auch der Zerstörung des Prozessors kommen kann. Daher gibt es Firmen, die als Teil ihres Dienstleistungsangebots solche übertakteten Rechner oder Grafikkarten anbieten, die sie vorher auf ausreichende Betriebssicherheit getestet haben.

## Taktsignal bei integrierten Schaltungen

Die Schaltkreise, die das Taktsignal zur Synchronisierung benutzen, können je nach Bauart entweder während der steigenden oder der fallenden Signalflanke aktiv werden (bei Double Data Rate (DDR) werden beide Flanken genutzt); man spricht dabei von Flankensteuerung oder Flankentriggerung. In Datenblättern und Diagrammen wird das Taktsignal häufig mit CLK bezeichnet. Mittels Clock-Gating kann in integrierten Schaltungen das Taktsignal selektiv bei bestimmten, momentan nicht benötigten Schaltungsteilen weggeschaltet werden, um die mittlere Leistungsaufnahme zu reduzieren.
Die meisten komplexeren integrierten Schaltkreise erfordern ein Taktsignal, um unterschiedliche Teile der Chips zu synchronisieren und Gate-Delays auszugleichen. Da diese Bauelemente aufgrund des technischen Fortschritts sowohl immer komplexer als auch tendenziell schneller werden, wird die Lieferung eines akkuraten und überall gleichen Taktsignals an alle Schaltkreise für die Chipentwickler zu einer immer größeren Herausforderung. Das Paradebeispiel für solche komplexen Chips sind Mikroprozessoren, die zentralen Bestandteile moderner Computer.

## Arbeitsgeschwindigkeit von Prozessoren

Die Taktfrequenz eines Prozessors gibt an, mit welcher Frequenz die Verarbeitungseinheiten getaktet werden.
Sie wird in Hertz (Hz) angegeben. Da die Frequenz mehrere Milliarden Hertz betragen kann, werden die Zahlen oft mit Hilfe von Vorsätzen wie Giga (G) für Milliarden oder Mega (M) für Millionen abgekürzt (in eingebetteten Systemen sind aber teilweise auch kHz üblich). Zum Beispiel bedeutet eine Prozessor-Taktfrequenz von 1 GHz eine Taktperiode von einer Nanosekunde.
Bei aktuellen Prozessoren entspricht die Taktfrequenz der Frequenz, mit der Maschinenzyklen beginnen können, bei älteren Prozessoren konnte diese auch deutlich geringer als die Taktfrequenz sein. Z. B:
* Intel 8051: Taktfrequenz 24 MHz, alle 12 Takte kann ein neuer Maschinenzyklus beginnen → effektive Zyklusfrequenz 2 MHz, Taktperiode 500 ns
* Texas Instruments TMS320C40: Taktfrequenz 50 MHz, alle 2 Takte kann ein neuer Maschinenzyklus beginnen → effektive Zyklusfrequenz 25 MHz, Taktperiode 40 ns
Auch daraus lässt sich die effektive Verarbeitungsgeschwindigkeit nicht definitiv schlussfolgern, denn auf manchen Prozessoren dauern selbst simple Befehle dann immer noch 10 bis 20 Zyklen, auf anderen können jeden Zyklus mehrere komplexe Befehle begonnen werden. Was auf einer CPU in 4 Takten erledigt ist, dauert auf anderen hunderttausend Takte.
Multikernprozessoren erlauben getrennte Taktfrequenzen für jeden Kern sowohl für global genutzte Ressourcen (L3-Cache, PCI-Express, RAM-Interface, QPI), weiterhin können diese sich entsprechend der aktuellen Anforderungen dauernd ändern.
Der Datendurchsatz eines Prozessors ergibt sich aus seiner Taktfrequenz und der Datenübertragungsrate seiner Anbindung an den Hauptspeicher. Die Rechenleistung (gemessen zum Beispiel in MIPS oder FLOPS) ist nicht nur von der Frequenz, sondern auch von der gesamten Architektur des Prozessors abhängig. Selbst bei Prozessoren, die den gleichen Befehlssatz verwenden, können sich bei gleicher Taktrate gravierende Rechenleistungsunterschiede zeigen, deren Ursache zum Beispiel in der IPC-Rate (IPC für englisch Instructions per Cycle ‚Instruktionen pro Taktzyklus‘), firmenspezifischen Merkmalen (zum Beispiel SIMD-Erweiterungen) oder in der bereits angesprochenen Speicherbandbreite begründet liegen kann. Die IPC-Rate gibt an, wie viele Instruktionen pro Taktzyklus ein Prozessor durch Parallelisierung gleichzeitig abarbeiten kann. Der Prozessor mit höherer IPC-Rate schafft daher pro Taktzyklus mehr Rechenoperationen und rechnet daher schneller.