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?
digital-logic
vlsi
synchronous
Corsair64
quelle
quelle
Antworten:
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.
quelle
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.
quelle
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.
quelle
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!
quelle