Asynchrone Prozessorarchitektur

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

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 Leistungsumsatz und höhere Robustheit erreicht werden.

Funktionsweise[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

Asynchrone Prozessoren sind 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[Bearbeiten]

Exemplarisch seien hier einige Vertreter genannt:

Jahr Prozessor Hersteller Beschreibung
1969 MU5 Universität Manchester/ICL ein asynchroner Mainframe an der Universität Manchester[1]
1990 AMULET1 Universität Manchester/ARM ein asynchroner ARM-Prozessor an der Universität Manchester
1997 n.n. Intel Prototypen eines pentiumkompatiblen Chips mit asynchronem Design, der aber nie das Labor verlässt
1998 PC5007 Philips zur Verwendung in Pagern entworfen[2]
1998 PC5010 Philips zur Verwendung in Pagern entworfen[3]
2005 ACT11 Epson erster flexibler Prozessor für die Verwendung in E-Paper[4][5]
2006 ARM996HS ARM erster kommerzieller ungetakteter Prozessor

Literatur[Bearbeiten]

  • Andreas Bleul u.a.: Wie taktlos... Die Rückkehr asynchroner Prozessoren. In: c't Magazin., 17/1999. Heise Zeitschriften Verlag, S. 176ff., ISSN 0724-8679.
  • Erik Brunvand: Tutorial: Introduction to Asynchronous Circuits and Systems. University of Utah, Salt Lake City 1995.
  • Andreas 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
  • Jens Sparsø und Steve Furber (Hrsg.): Principles of Asynchronous Circuit Design. A Systems Perspective. Kluwer Academic Publ., Boston, Mass. 2001, ISBN 0-7923-7613-7.

Einzelnachweise[Bearbeiten]

  1. Artikel des Computer-Science-Instituts der Universität Manchester
  2. Datenblatt zum PC5007 (englisch)
  3. Datenblatt zum PC5010 (englisch)
  4. ACT11 News Release
  5. E-paper boost thanks to flexible microprocessor

Forschung[Bearbeiten]