Asynchroner Prozessor

Asynchrone Prozessorarchitektur beschreibt ein bisher noch wenig verbreitetes Design von Prozessoren, das ohne zentralen Taktgeber auskommt. Anstatt alle Bauelemente mit einem gemeinsamen Taktsignal zu versorgen, ist der Prozessor aus asynchronen Schaltkreisen aufgebaut, die sich selbst takten. Durch diese Eigenschaften im Gegensatz zur synchronen Prozessorarchitektur können insbesondere ein niedrigerer Stromverbrauch und höhere Robustheit erreicht werden.

Inhaltsverzeichnis

Funktionsweise

Einzelne asynchrone Schaltkreise als Logikblöcke bilden zusammen einen asynchronen Prozessor. Jeder dieser Schaltkreise besteht aus einer Logikeinheit als Datenpfad und einer Kontroll-Logik. Der Datenpfad ist für die eigentlichen Berechnungen verantwortlich, während die Kontroll-Logik die Übertragung der Daten zwischen den einzelnen Bauelementen steuert. Diese darf dann erfolgen, wenn die Logikeinheit fertig gerechnet hat und die korrekten Daten am Ausgaberegister stehen. Außerdem muss der nächste Logikblock bereit sein, neue Daten im Eingangsregister aufzunehmen.

Delaymodelle

Solange die Berechnungen einer Logikeinheit noch laufen, sind die Daten am Ausgangsregister nicht konsistent und können damit ungültig sein. Es existieren mehrere Delaymodelle, um die Datenübergabe aus dem Ausgaberegister im richtigen Moment erfolgen zu lassen (Liste unvollständig):

Bounded delay Modell

Beim bounded delay Modell (engl. „begrenzte Verzögerung“) wird für jeden Datenpfad eine Obergrenze für die Zeitverzögerung festgelegt. Diese Verzögerung stellt die maximale Zeit dar, die die betroffene Logikeinheit benötigt, um ihre Berechnungen abzuschließen. Dabei wird immer vom worst case (engl. „schlimmster Fall“) ausgegangen. Das bedeutet, man geht von den schlechtesten zulässigen Werten für Faktoren, die die Berechnungszeit beeinflussen, aus. Solche Faktoren können beispielsweise Temperatur, Spannungsversorgung oder der Aufbau der zu berechnenden Daten sein.

Für jeden Datenpfad steuert eine Kontroll-Logik mittels der für diesen Datenpfad spezifischen maximalen Verzögerungszeit die Datenübergabe an den nächsten Logikblock. Dies erfolgt über ein Verzögerungselement, das die Übergabe, nach Ablauf der spezifischen Verzögerung, auslöst. Dann kann die nachfolgende Komponente mit den Daten weiterarbeiten.

Dieses Modell vereinfacht das Entwerfen von asynchronen Prozessoren, da bestehende Designs von Logikeinheiten aus synchronen Prozessoren übernommen und in das bounded delay Modell eingebettet werden können. Das zeigt auch, dass hier das asynchrone Verhalten nicht die Berechnungen an sich betrifft, sondern nur die Übergabe der Daten von Logikblock zu Logikblock.

Die Datenübertragung zwischen einzelnen bounded delay Elementen regeln meistens micropipelines (engl. „Mikrorohrleitungen“) nach dem Prinzip von Ivan Sutherland. Diese bilden die asynchrone Schnittstelle zwischen den Bauteilen, indem sie einen Datenpfad nach bounded delay Modell benutzen. Die Übertragung wird dann mittels eines Verzögerungselementes ausgelöst. Die Logik zur Übertragung selbst kommt dann ohne Schätzungen über Verzögerungszeiten aus.

Delay insensitive circuits

Bei delay insensitive circuits (engl. „verzögerungsunempfindliche Schaltkreise“) wird, anders als beim bounded delay Modell, nicht davon ausgegangen, dass die Ausgangsdaten, nach Ablauf einer festen Zeitspanne, bereitstehen. Da dennoch ein zuverlässiger Datentransfer notwendig ist, wird das stabile Anliegen der gültigen Daten am Eingang des Empfängers erkannt. Dies wird mit Hilfe einer speziellen Codierung (z.B. Dual-Rail) der Daten und einem Handshaking Protokoll (z.B. 2-Phase Dual-Rail oder 4-Phase Dual-Rail) realisiert. Sobald der Empfänger alle Daten übernommen hat, wird dem Sender dies durch eine Empfangsbestätigung quittiert. Die Implementierung des Handshaking Protokolls und der notwendigen Dual-Rail Encodierung benötigen enorme Mengen an zusätzlichen Transistoren (Faktor 2-10). Dennoch bieten delay-insensitive Schaltkreise Vorteile: Sie haben eine enorme Robustheit gegenüber äußeren Einflüssen, wie Temperaturänderungen, Änderungen der Versorgungsspannung oder Produktionsvariationen, welche so weder von anderen asynchronen Schaltkreisen, noch von synchronen Schaltkreisen erreicht werden können.

Quasi delay insensitive circuits

Innerhalb des Delay-Insensitiven Delay Modells können keine allgemeinen Schaltkreise entwickelt werden. Es sind lediglich Müller-C Elemente und Inverter zulässig. Es ist weiterhin nicht erlaubt, dass sich die Leitungen teilen. Um allgemeine Schaltkreise zu entwickeln, wurde die zusätzliche Anforderung gestellt, dass Leitungsteilungen isochron sein müssen, d.h. die Signale müssen an allen Enden der Leitung gleichzeitig ankommen.

Dual-rail Kodierung

X(0) X(1) Bedeutung
0 0 Leerwort
0 1 0
1 0 1
1 1 Fehler

Mithilfe der Dual-rail kodierung und einem entsprechenden Handshaking Protokoll ist es möglich die Vollständigkeit von Daten zu erkennen. Dadurch wird jedes Bit durch zwei Leitungen repräsentiert. Dadurch entstehen 4 mögliche Kombinationen, von denen nur 2 für die eigentlichen Daten benötigt werden. Die anderen beiden Kombinationen werden für ein Null-Wort und einen Fehlerzustand benutzt.

4-Phase Dual-Rail Handshaking Protokoll

Dieses Handshaking Protokoll findet bei Delay-Insensitiven, bzw. Quasi-Delay-Insensitiven Schaltkreisen Anwendung. Zusammen mit der Dual-Rail Encodierung kann es sicherstellen, dass nur vollständig berechnete und somit gültige Daten übertragen werden. Wie schon der Name andeutet, werden 4 Phasen für die Übertragung benötigt:

  • Der Ausgangszustand ist, dass alle Leitungspaare auf 0 gesetzt sind.
  • In der ersten Phase werden die zu sendenden Daten an den Ausgang des Senders angelegt.
  • In der zweiten Phase übernimmt der Empfänger die Daten, sofern er "frei" ist.
  • In der dritten Phase signalisiert der Empfänger dem Sender durch eine Empfangsbestätigung, dass er die Daten übernommen hat.
  • In der vierten Phase setzt der Sender seinen Ausgang wieder zurück auf 0. Ein neuer Zyklus kann beginnen.

Current sensing completion detection

Beim current sensing completion detection (engl. „Feststellung der Fertigstellung über Stromaufnahmemessung“) (kurz: CSCD) Verfahren wird das Ende der Berechnungen über eine Messung der Stromaufnahme der betroffenen Logikeinheit festgestellt. Dies wird ermöglicht durch die Tatsache, dass die Stromaufnahme beim Umschalten der Gatter ansteigt und nach dem Schaltvorgang wieder auf den Ruhepegel abfällt.

Problematisch ist hierbei jedoch, dass eine zuverlässige Messung nicht immer möglich ist. Wenn wenige Bits sich ändern, kann dies zu einer geringen Anzahl Schaltvorgänge führen, wodurch die Stromaufnahme nur geringfügige Änderungen zeigt. Für diesen Fall muss noch ein minimum delay generator (engl. „Mindestverzögerungserzeuger“) eingebaut werden, der analog zum bounded delay Modell die Übertragung auslöst. Dieser wird zu Beginn der Berechnungen aktiviert und löst die Übertragung nach der längsten zu erwartenden Schaltzeit aus.

Damit ist eine Struktur gegeben, die ihr Timing selbst bestimmen kann, sofern die Messung der Stromaufnahme erfolgreich ist. Nachteilig ist an dieser Technik jedoch der erhöhte Bauteileaufwand, da für die Strommessung auch analoge Bauteile eingebaut werden müssen.

Praktische Durchsetzung

Asynchrone Prozessoren sind derzeit noch ein Forschungsgebiet und einer stärkeren kommerziellen Verbreitung stehen vor allem der Mangel an Erfahrung und Entwicklungs-Tools entgegen. Außerdem ist für viele praktische Problemstellungen die Integration in eine Umgebung mit synchroner Technik zu leisten.

Asynchrone Prozessoren

Exemplarisch seien hier einige Vertreter genannt:

  • MU5 (1969) - ein asynchroner Mainframe an der Universität Manchester
  • AMULET1 (1990) - ein asynchroner ARM-Prozessor an der Universität Manchester
  • 1997 - Intel entwirft Prototypen eines pentiumkompatiblen Chips mit asynchronem Design, der aber nie das Labor verlässt
  • 1998 (?) - Philips entwirft die asynchronen Prozessoren PC5007 und PC5010 zur Verwendung in Pagern
  • 2005 - Seiko Epson stellt mit dem ACT11-Prozessor den ersten flexiblen Prozessor her und plant die Verwendung in E-Paper.
  • 2006 - der erste kommerzielle ungetaktete Prozessor, der ARM996HS von ARM wird vorgestellt.

[1] [2]

Literatur

  • Andreas Bleul u.a.: Wie taktlos... Die Rückkehr asynchroner Prozessoren. In: c't Magazin. 17/1999. Heise Zeitschriften Verlag, S. 176ff
  • Erik Brunvand: Tutorial: Introduction to Asynchronous Circuits and Systems. University of Utah, 1995
  • Anreas Steininger, Martin Delvai, Wolfgang Huber: Code Alternation Logic (CAL): A Novel Efficient Design Approach for Delay-Insensitve Circuits. Real Time Systems Group TU Wien, 2004
  • J. Sparsø und S. Furber (Hrsg.): Principles of Asynchronous Circuit Design: A Systems Perspective. Kluwer Academic Publishers, 2001.

Quellen

  1. ACT11 News Release
  2. E-paper boost thanks to flexible microprocessor

Forschung


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Taktloser Prozessor — Asynchrone Prozessorarchitektur beschreibt ein bisher noch wenig verbreitetes Design von Prozessoren, das ohne zentralen Taktgeber auskommt. Anstatt alle Bauelemente mit einem gemeinsamen Taktsignal zu versorgen, ist der Prozessor aus asynchronen …   Deutsch Wikipedia

  • Ausführungseinheit — Die Artikel Prozessor (Hardware), Mikroprozessor und Hauptprozessor überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte… …   Deutsch Wikipedia

  • CPU — Die Artikel Prozessor (Hardware), Mikroprozessor und Hauptprozessor überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte… …   Deutsch Wikipedia

  • Central Processing Unit — Die Artikel Prozessor (Hardware), Mikroprozessor und Hauptprozessor überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte… …   Deutsch Wikipedia

  • Central processing unit — Die Artikel Prozessor (Hardware), Mikroprozessor und Hauptprozessor überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte… …   Deutsch Wikipedia

  • Engineering sample — Die Artikel Prozessor (Hardware), Mikroprozessor und Hauptprozessor überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte… …   Deutsch Wikipedia

  • Zentralprozessor — Die Artikel Prozessor (Hardware), Mikroprozessor und Hauptprozessor überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte… …   Deutsch Wikipedia

  • Hauptprozessor — Die CPU eines Intel 80486DX2 Mikroprozessors Der Hauptprozessor (englisch central processing unit [ˈsɛntɹəl ˈpɹəʊsɛsɪŋ ˈju:nɪt], CPU [ˌsi: pi: ˈju:]) …   Deutsch Wikipedia

  • Asynchrone Prozessorarchitektur — beschreibt ein bisher noch wenig verbreitetes Design von Prozessoren, das ohne zentralen Taktgeber auskommt. Anstatt alle Bauelemente mit einem gemeinsamen Taktsignal zu versorgen, ist der Prozessor aus asynchronen Schaltkreisen aufgebaut, die… …   Deutsch Wikipedia

  • CAS Latency Time — Dieser Artikel beschreibt den DRAM Chip. Für das mit diesen Chips aufgebaute DRAM Modul (ugs.: Speicherriegel), siehe Artikel Speichermodul. Dynamic Random Access Memory (DRAM), oder der halb eingedeutschte Begriff Dynamisches RAM, bezeichnet… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”