Verwendung von Tristaten gegen Multiplexer in einem RAM

8

Warum werden Tristaten gegenüber Multiplexern bevorzugt, um die Ausgabe aus dem RAM auszuwählen? Die Erklärung, von der ich gehört habe, ist, dass der RAM zu groß für die Verwendung eines Multiplexers ist, aber ich brauche mehr Details.

Eine Theorie, die wir aufgestellt haben, ist, dass die Verwendung eines Multiplexers einen Baum von ODER-Gattern erfordern würde, um den Ausgang auszuwählen, was die Laufzeit des Signals zum Bus dramatisch verlängern würde, während bei Tristaten, unabhängig von der Größe des RAM, Die Ausbreitungsverzögerung wäre konstant.

Ist das korrekt?

Vielen Dank

Sid
quelle

Antworten:

6

Es ist eine Ausgabe von "Fan-Out" oder "Fan-In". Ihre Theorie ist also mehr oder weniger genau. Die Verwendung von Tristate-Ausgängen bietet jedoch den zusätzlichen Vorteil, dass Sie sie an einen Bus anschließen können! Wenn Sie einen CMOS-Multiplexer verwenden, können Sie die Drähte, an denen der Ausgang eingeschaltet ist, nicht gemeinsam nutzen. Wenn Sie Tri-State-Geräte verwenden, können Sie den Bus mit anderen Busgeräten (z. B. unter der Kontrolle eines Arbiters) teilen Denken Sie an "Speicherbus".

vicatcu
quelle
Gibt es einen Hinweis, auf den Sie mich verweisen könnten, der dieses Problem ausführlich erklärt? Vielen Dank!
Sid
2
Ich meinte mehr als Referenz dafür, warum Multiplexer im RAM nicht verwendet werden. Während die cmu-Referenz dies sicherlich impliziert, wenn sie das aktuelle Problem mit großen Fan-In / Fan-Outs erwähnt, wäre es großartig, eine Referenz zu haben, die dies ausdrücklich erwähnt.
Sid
3

Wenn man in jeder Speicherzelle ein rechteckiges Speicherarray erstellt, das unter Verwendung eines Tristate-Treibers gelesen wird, kann eine Decodiererschaltung alle Zellen in einer Reihe steuern. Man benötigt eine Schaltung um den Umfang des Arrays, um es zu steuern, aber die Menge der Steuerschaltung ist proportional zu sqrt (N) * lg (N). Wenn man dagegen versuchen würde, alle Speicherzellen in einen Multiplexer einzuspeisen, würde man am Ende viel mehr Schaltungen benötigen.

Der Multiplexer-basierte Ansatz hat einige Vorteile. Wenn man einen Ein-Mega-Wort-Speicher unter Verwendung von Zweiwege-Multiplexern aufbauen würde, müsste jedes Bit 20 Multiplexer passieren, aber man könnte ein Pipeline-Speichersystem mit sehr hoher Bandbreite erzielen, wenn jeder Multiplexer einen Latch enthält. Es würde 20 Zyklen dauern, um eine bestimmte Leseoperation auszuführen, aber in 100 Zyklen könnte man 100 verschiedene Lesevorgänge beginnen. Da das Signal nicht in jedem Zyklus sehr weit gehen müsste und keine großen Busse fahren würde, könnte die Zyklusrate extrem hoch sein.

Die Frage, ob Multiplexer oder Busse verwendet werden sollen, ähnelt letztendlich der Frage, ob Datenwiederholer beim Senden von Informationen über große Entfernungen verwendet werden sollen. Einerseits erhöhen Datenwiederholer die Verzögerung. Andererseits ist die Zeit, die ein Signalübergang an einem Ende einer Kupferstrecke benötigt, um einen Übergang am anderen Ende zu bewirken, asymptotisch proportional zum Quadrat der Länge (da durch Hinzufügen der Länge sowohl Widerstand als auch Kapazität hinzugefügt werden). Das Hinzufügen eines Repeaters in der Mitte eines langen Kabels kann die Geschwindigkeit verbessern, da auf lange Sicht zwei kürzere Repeater mit einem Viertel zwischen der Hälfte und der Hälfte der längeren Verzögerung ersetzt werden.

Wenn man die Breite und Länge eines Speicherarrays verdoppeln würde, ohne den "Schwung" der Zeilen- und Spaltentreiberschaltungen zu verbessern, würde man die Zeit, die zum Wechseln der Zeilen und Spalten erforderlich ist, mehr als verdoppeln. Wenn man dagegen vier kleinere Speicherarrays verwenden und die Ausgänge multiplexen würde, würde man der Zugriffszeit nur eine Konstante hinzufügen. Schnellere Speicher werden in kleinere Arrays unterteilt, die durch Multiplexer verbunden sind. Billigere Speicher verwenden weniger Multiplexer, sind aber nicht so schnell.

Superkatze
quelle
0

Durch die dreifache Angabe an einen Bus skaliert Ihr System besser. Sie können einfach mehr tristatierbare Geräte hinzufügen, ohne sowohl die alten als auch die neuen Geräte neu konfigurieren zu müssen, um über einen neuen und größeren Multiplexer zusammenzuarbeiten.

JustJeff
quelle