Diskussion:Asynchrone Prozessorarchitektur

message: * Architekturprinzip noch nicht verständlich
* Theorie nicht hinreichend dargestellt
* Praktische Verbreitung nicht wirklichkeitsgetreu dargestellt => schriftliche Unterlagen wahrscheinlich in irgendwelchen Archiven weggelegt (KTElektronik)
* kaum sinnvolle Weblinks => weil die asynchrone Logik nicht weiter entwickelt wurde. (KTElektronik)
Um die Probleme eines durchs ganze System gezogenen Takt-Signals zu umgehen, sind Untersuchungen Anfang 2000 durchgeführt mit asynchroner Takterzeugung, die allerdings meistens eine wesentlich größere Anzahl an Logik-Gattern benötigten, um 3- oder 4-wertige Pegel zu bewerten und zu erzeugen. Das war einmal die NCL-Technologie (Null Conversation Logic). Es hat wohl auch einen µC gegeben: NCL08GP32 mit 8-bit und NCL-Core.
Vorteile der asynchronen Logik:
 - Da ja nicht viele Gatter (Register) gleichzeitig ihre Pegel wechseln, sind die Stromimpulse wesentlich geringer.
 - Es wird kein aufwändiger Taktgenerator mit kompliziertem Leitungs-Baum benötigt.
 - Eine Signalflanke kann beliebig lange dauern, der Pegelwechsel durchfährt keinen "undefinierten" Spannungspegel mehr. Signalflankensteilheiten sind nicht mehr kritisch.
 - Da das Netzteil und das Stromversorgungs-Netz nicht die sehr hohen Stromimpulse (der asynchronen Logik) liefern muss, kann es viel einfacher ausgelegt werden und die EMI ist wesentlich schwächer.
 - Synchrone IP-Blöcke lassen sich viel einfacher implementieren.
 - Durch die fehlenden Signalspitzen ist das Stromrauschen wesentlich geringer, ein Rückschluss auf die Übertragung von charakteristischen Bit-Folgen lassen sich anhand der Stromimpulse nicht mehr vornehmen, was die Datensicherheit drastisch erhöht. Zudem erzeugen die wesentlich geringeren Stromimpulse keine so großen Spannungseinbrüche auf den Versorgungsleitungen und somit verringern sich Datenübertragungsfehler.
Nachteile der asynchronen Logik:
 - wesentlich größere Anzahl an Logik-Gattern notwendig,
 - durch die "Anfrage"-Rückkopplungen sind die Leitungsführungen zwischen den Gattern aufwändiger.
Die asynchrone NCL-Technik benutzt nicht die Logik-Pegel "Low" und "High", sondern "True", "False", "Previous" und "Null" auf 2 Daten-Leitungen (differenziell, ähnlich wie CAN-Bus). "Null"-Pegel definiert dabei keine Signal-Änderung, "True" und "False" die beiden Signal-Änderungen mit ansteigender beziehungsweise fallender Signalflanke, die ja in allgemein üblicher Binär-Logik undefinierte Signal-Zustände sind, und "Previous" den noch aktuellen Signal-Pegel, wenn ein Eingang den "Null"-Pegel hält, obwohl ein anderer Eingang eine Signal-Flanke erreicht.
- - - - -
NCL-UND:
A(in) "true" UND B(in) "true" => C(out) "true"
A(in) "true" UND B(in) "false" => C(out) "false"
A(in) "true" UND B(in) "null" => C(out) "previous"
A(in) "false" UND B(in) "true" => C(out) "false"
A(in) "false" UND B(in) "false" => C(out) "false"
A(in) "false" UND B(in) "null" => C(out) "previous"
A(in) "null" UND B(in) "true" => C(out) "previous"
A(in) "null" UND B(in) "false" => C(out) "previous"
A(in) "null" UND B(in) "null" => C(out) "null"
- - - - -
NCL-ODER:
A(in) "true" UND B(in) "true" => C(out) "true"
A(in) "true" UND B(in) "false" => C(out) "true"
A(in) "true" UND B(in) "null" => C(out) "previous"
A(in) "false" UND B(in) "true" => C(out) "true"
A(in) "false" UND B(in) "false" => C(out) "false"
A(in) "false" UND B(in) "null" => C(out) "previous"
A(in) "null" UND B(in) "true" => C(out) "previous"
A(in) "null" UND B(in) "false" => C(out) "previous"
A(in) "null" UND B(in) "null" => C(out) "null"
- - - - -
NCL-NICHT:
A(in) "true" => C(out) "false"
A(in) "false" => C(out) "true"
A(in) "null" => C(out) "null"
- - - - -
Bei der NCL-NICHT-Logik (INVERTER) benötigt man kein einziges Gatter, man braucht nur beide (differenziellen) Leitungen zu tauschen.
Das bekannte "Mullersche-C-Element" ist eine typische Umsetzung mit binären Gattern als asynchrone UND-Verknüpfung von 2 Signalen, es benötigt 3 UND-Gatter mit je 2 Eingängen und 1 ODER-Gatter mit 3 Eingängen. Charakteristisch ist dabei die Rückführung des Ausgangs-Signals auf die beiden Eingänge.
In der NCL-Topologie existieren keine undefinierten Signal-Pegel wie in der synchronen Topologie während der Signal-Flanken, auch keine Laufzeit-Fehler durch unterschiedliche Schaltflanken, Signallaufzeiten und Gatter-Durchlaufverzögerungen.
KTElektronik, im JAN. 2015
Literatur: ELEKTRONIK 25/2002, Seite 34 ff. "Chip-Design – warum nicht asychron?", Jürgen Pintaske (nicht signierter Beitrag von 46.114.45.16 (Diskussion) 12:39, 10. Jan. 2015 (CET)
thread_title:  Artikel absolut unvollständig