Warum sind nicht mehr voll asynchrone Schaltungen verbreitet? [geschlossen]

19

Nach meinem Verständnis basieren die meisten modernen Consumer-CPUs auf synchroner Logik. Einige Hochgeschwindigkeitsanwendungen (Signalverarbeitung usw.) verwenden Ansync-Logik für ihre höhere Geschwindigkeit.

Auf dem heutigen Markt ist jedoch die Geschwindigkeit von Konsumgütern eines der Hauptverkaufsargumente (siehe AMD vs. Intel). Ist die Entwicklung einer komplizierteren Lithografie schneller als die Einführung einer vollständig asynchronen Logik? Oder ist die ansynchrone Logik für VLSI-Anwendungen zu kompliziert / unpraktisch?

Corsair64
quelle
4
Ich denke, es ist sehr schwer, sie prozedural zu programmieren.
mehmet.ali.anil
16
Die aktuellen Architekturen sind hybrid. Synchrone Bausteine ​​sind asynchron miteinander verbunden. Und ja, asynchrone Logik ist viel komplizierter.
Eugene Sh.
5
Weil wir noch keine guten Werkzeuge für asynchrones Timing Closing haben.
Oldfart
2
Systeme werden zunehmend asynchron. Auf modernen CPUs laufen Dinge wie RAM, Cache und die CPU-Kerne mit unabhängigen Takten. Die neuen Intel - Prozessoren HEDT nehmen diesen Schritt weiter und erlauben jedem der vielen Kerne in den Chips bei Uhren voneinander sind und aus dem RAM - Cache und externen Busse unabhängig zu laufen, usw.
J ...
1
Beachten Sie, dass synchrone Uhren ein standardisiertes Taktsignal für das System darstellen, wohingegen bei einem reinen asynchronen Design triviale Zeitunterschiede wie die Laufzeitverzögerung möglicherweise auf andere Weise berücksichtigt werden müssen. Es ist auch relativ effizient, reine Funktionen in asynchrone Designs zu implementieren, aber zustandsbehaftete Funktionen (oder härtere Operationen wie Quadratwurzel) können kompliziert werden. Das Routen von Signalen kann auch schwierig sein (keine Busse, Sie können stecken bleiben und alles mit allem verbinden).
JRH

Antworten:

45

Ich habe einige Jahre in einem Startup-Unternehmen mit der Vermarktung von Async-Designtechnologie verbracht, daher kenne ich die Gründe:

  • Async ist nicht von Natur aus schneller. Die ungünstigste Pfadverzögerung bleibt gleich. Es ist nur so, dass Sie manchmal die Vorteile einer schnelleren Pfadausführung nutzen können.

  • async hat auch einen Overhead für die Abschlusserkennung.

  • Design-Tools. Dies ist das wirklich große: Es gibt nicht wirklich einen vollständigen asynchronen "Fluss" von Werkzeugen, die in der gleichen Qualität wie das synchrone Design verfügbar sind.

  • Ausbildung. Sie müssten effektiv alle Ihre Designer über das neue Paradigma und die neuen Tools informieren.

  • Risiko und Konservativismus. So viel von der Industrie ist "etwas Ähnliches zu produzieren, aber ein bisschen anders". Dies hat eine sehr hohe Chance zu arbeiten. Unternehmen zögern viel mehr, etwas völlig anderes zu bauen, da es viel wahrscheinlicher ist, dass eine vollständige Abschreibung mehrere zehn Millionen Dollar kostet.

pjc50
quelle
Es könnte an sich billiger, aber langsamer sein.
Tony Stewart Sunnyskyguy EE75
3
Ich erinnere mich, einmal darüber nachgedacht zu haben, und mir wurde auch klar: Ein synchronisierter Chip ist trivial übertaktet (für Batterie / Temperatur / usw.), wohingegen ein asynchronisierter Chip wahrscheinlich weniger ist?
Mooing Duck
In Bezug auf Entwurfswerkzeuge / Paradigma kann die synchrone Logik Störimpulse in der Ausgabe der kombinatorischen Logik vollständig ignorieren und erfordert nur, dass die Taktsignale störungsfrei sind. Asynchrone Schaltungen erfordern mit größerer Wahrscheinlichkeit eine zusätzliche Verzögerung für einige Signale, um sicherzustellen, dass ein Bereitschaftssignal nicht im nächsten Block ankommt, bevor die Daten ankommen, usw. In synchronen Schaltungen ist eine künstliche Verzögerung selten erforderlich. Einer der wenigen Fälle, an die man denken muss, ist das Erfüllen von Haltezeitanforderungen, die häufig durch natürliche Verzögerung erfüllt werden können. Auch einige Cross-Clock-Domain-Situationen können eine Verzögerung erfordern.
Kevin Cathcart
Ich würde denken, dass die Verwendung einer zweiphasigen, nicht überlappenden Uhr in vielen Situationen viele Vorteile gegenüber einer einzelnen Uhr bieten könnte. Bei Verwendung eines einzelnen Takts können Runt-Impulse dazu führen, dass ein System über die Gleise springt. Bei Verwendung eines Zweiphasentakts, der durch Einspeisen eines Takteingangs über zwei Komparatoren generiert wird, sind Runt-Impulse in einer Taktphase harmlos, wenn sie vorausgehen oder folgen ein Takt mit gültiger Länge ohne einen dazwischenliegenden Impuls in der entgegengesetzten Taktphase.
Supercat
3
@MooingDuck Es hängt vom Logikparadigma ab. Ich habe an einer Null-Convention-Logik gearbeitet, die so schnell wie möglich ausgeführt wird (Prozess, Spannung, Temperatur). Sie würden unter Uhr nicht brauchen es wegen dieser Bedingungen sie es tun würde automatisch .
W5VO
3

Es ist sehr verlockend, asynchrone integrierte Schaltungen zu entwerfen. Die anderen Antworten decken bereits viele Gründe ab, bevor Sie es tun. Hier ist noch einer:

Die IC-Entwicklung ist mit dem Design noch nicht abgeschlossen. Überprüfung und Test sind gleichermaßen wichtig. Nicht nur die Entwurfswerkzeuge für Synchronschaltungen sind sehr fortschrittlich, sondern auch die Simulationswerkzeuge und Testgeräte.

Nachprüfung

Es ist nicht ausreichend, die Schaltkreise unter Laborbedingungen zu betreiben. Sie müssen in Bezug auf den Betriebsspannungsbereich (V), den Betriebstemperaturbereich (T) und die Abweichungen aufgrund des Herstellungsprozesses (P) robust sein. Für die synchrone Logik kann dies mit Hilfe der statischen Zeitanalyse garantiert werden. Die Schaltung ist in alle Zeitpfade unterteilt, von Flip-Flop zu Flip-Flop. Setup- und Haltezeiten werden für jeden einzelnen Zeitpfad und für verschiedene Kombinationen von P, T und V überprüft. Diese PTV-Kombinationen sind die sogenannten Simulationsecken.

Eine ähnliche Überprüfung könnte für asynchrone Schaltungen durchgeführt werden, sie ist jedoch viel schwieriger und wird von den Entwurfswerkzeugen viel weniger unterstützt. Außerdem wird der Designer auf asynchrone Konstrukte beschränkt, die tatsächlich überprüft werden können. Es gibt keine zuverlässige Überprüfung für beliebige asynchrone Schaltungen.

Prüfung

Ähnliche Schwierigkeiten gibt es beim Testen der Hardware. Das Testen der synchronen Logik wird durch das Testen von Standards und Geräten voll unterstützt. Das Testen von asynchronen Schaltungen ist nicht nur komplizierter, sondern aufgrund der fehlenden Abstraktion des Zeitablaufs reicht es nicht einmal aus, zu beweisen, dass die Schaltung für alle PTV-Ecken funktioniert. Die Rennstrecke könnte aufgrund von Rennbedingungen bei einigen PTV-Kombinationen, die nicht von den Ecken verdeckt werden, ausfallen.

Zusammenfassung

IC-Designer haben das asynchrone Paradigma nicht aufgegeben, aber die asynchrone Logik bringt bei der Verifizierung und Validierung erhebliche Nachteile mit sich. In einem industriellen Kontext muss das asynchrone IC-Design auf einen Aufbau beschränkt werden, bei dem nachgewiesen werden kann, dass er über den gesamten Parameterraum der Prozessvariation sowie über die Betriebsbereiche für Temperatur und Spannung funktioniert.

Das sogenannte "lokal synchron global asynchron" -Design ist eine Möglichkeit, mehr Vorteile und weniger Nachteile beider Zeitsteuerungsparadigmen zu erzielen.

bogl
quelle
0

Asynchrone Binärzähler sind einfacher, weil sie nur 1 Speicherzelle oder T-Flip-Flop pro Division durch zwei verwenden. Daher bieten die alten CD und 74HC4020 und 4040 viele Binärstufen günstig an. Die Prop-Verzögerung in jeder Stufe bedeutet, dass sie nicht ohne Race-Bedingungen oder Störungen mit Gate-Decodierung der Binäradressen verwendet werden kann, es sei denn, die Prop-Verzögerung beträgt weniger als 1/2 Eingangstaktzyklus, wobei die Rückflanke verwendet wird, um das Ergebnis zu speichern. Die Ausgangslatenz wird dann mit N Stufen multipliziert.

Synchrone Binärzähler verwenden eine zusätzliche Speicherzelle für D FF, um die Verzögerung zu verzögern, minimieren jedoch die Verzögerung für eine beliebige Länge von Zählern auf 1, um mehr Fläche zu verbrauchen.

Daher verwenden alle CPUs komplementäre Takte, um die erwartete Latenz beim Lesen / Schreiben von Adressen und Speicher zu optimieren, um den Durchsatz zu maximieren, aber die Prop-Verzögerung, die Setup- und die Haltezeiten nicht zu überschreiten.

Der Speicher verwendet jetzt viele Phasen wie DDR, 3DR, 4DR, 5DR, insbesondere für den Grafikspeicher, wobei die CPU-Taktraten jedoch viel schneller als die RAM-Rate mit einem Zyklus sind, so dass die Lese- und Schreibadressverzögerungen durch eine oder mehrere oder die Hälfte der Zählwerte zeitlich festgelegt werden können Superclock (z. B. 100MHz xN), angegeben durch T-Bruchzahl oder Ganzzahl für jeden Parameter. Diese Verzögerungen nehmen mit der Temperatur zu. Für CMOS und Reduzierung mit höherer Vram-Spannung, die bei richtiger Kühlung die Latenz verringern oder auf andere Weise den Pd- und Temp-Anstieg erhöhen und ihn verschlimmern kann (langsamer). Kühlung, V, f, T sind daher für eine optimale Latenz entscheidend, unabhängig davon, ob sie für Async- oder Sync-Vorgänge verwendet werden.

Tony Stewart Sunnyskyguy EE75
quelle
-1

Frühe Logikentwürfe waren asynchron. Oftmals wurden sie auch mit analogen Schaltkreisen gemischt. Im Laufe der Zeit wurden die Entwürfe jedoch immer komplizierter und forderten mehr Ingenieure auf, an einem einzigen Entwurf zu arbeiten. Die Zeitdiagramme von Async. Logik kann umständlich sein, wenn es viele Zustände gibt. Fügen Sie jetzt ein Team von Ingenieuren hinzu, die versuchen, verschiedene Logikblöcke miteinander zu verbinden, aber die Timings zwischen ihnen sind nicht sehr gut aufeinander abgestimmt. Die Designs werden auf unvorhergesehene Weise spröde.

Geben Sie den synchronen Logikentwurf ein. Jetzt sind alle Zustandsflüsse auf ein Taktsignal ausgerichtet, mit dem die Schnittstellen sehr genau definiert und widerstandsfähiger gegen Entwurfsänderungen sind. Ja, es werden möglicherweise mehr Tore verwendet, aber das Design ist (normalerweise) stabil. im Gegensatz zu stabil, solange niemand es berührt!

Aaron
quelle
1
Es gibt auch asynchrone Entwurfsmethoden, die "Correct by Design" und "gut definierte Schnittstellen" garantieren. Diese unterscheiden sich einfach von den vereinfachenden Annahmen für synchrone Konstruktionen.
Edgar Brown