Warum sind die Ausgänge dieser Gates im Apollo Guidance Computer miteinander verbunden?

Beim Betrachten der AGC-Schaltpläne finde ich viele Fälle, in denen die Ausgänge einiger NOR-Gatter miteinander verbunden sind, wenn sie in ein anderes Gatter eingespeist werden. Das dramatischste Beispiel ist hier, wo 4 NOR-Gatter alle ihre Ausgänge miteinander verbunden haben.

Häufiger sehen die zusammengebundenen Tore jedoch ungefähr so ​​​​aus:

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Ich kann mir nicht vorstellen, dass es in der modernen digitalen Logik einen Grund dafür gibt, so etwas zu tun, da es anscheinend zu Konflikten kommt, wenn der Ausgang eines Gates niedrig und der des anderen hoch ist.

Also, was geht hier genau vor? Mein erster Gedanke war, dass es vielleicht eine Art „ODER-Tor des armen Mannes“ ist, das es dem nächsten Tor in der Bühne ermöglicht, ein Hoch zu sehen, wenn mindestens eines der Tore hoch ist.

Gibt es eine Eigenart in der RTL-Logik, die es ermöglichen würde, dass es so funktioniert, oder ist der Grund dafür etwas ganz anderes?

RTL hielt glücklicherweise relativ kurz. Es ist "Open-Collector". Dennoch verwendeten sogar viele frühe TTL Open-Collector-Ausgänge. Open-Collector ist nützlich für Situationen mit mehreren Sprechern, wurde aber schließlich durch Tri-State-Ausgänge (Übertragung) ersetzt (für diese Art von Bussituationen).

Antworten (4)

Die RTL-Logik ist Open-Collector, was die Draht-ODER-Verbindung ermöglicht (in diesem Fall genauer gesagt Draht-NOR). Die Eigenschaft von Draht-ODER ist, dass Gatter nur niedrig treiben, also auch wenn mehr als eines aktiviert ist ist kein Zusammenstoß. Die Gates teilen sich einen gemeinsamen Pullup-Widerstand.

Wire-OR (d. h. Open-Collector oder Open-Drain) wird weiterhin verwendet. I2C zum Beispiel ist Wire-OR. Wire-OR wird auch für Steuersignale verwendet, bei denen mehrere Geräte dasselbe Signal teilen. Beispiel: „Power Good“ von mehreren Spannungsreglern oder Interrupt-Pins von mehreren Geräten.

Der NOR-IC der AGC unterstützt einen „Fan-In“-Modus, in dem sie die Gate-Ausgänge verbinden, ohne den Pull-up-Anschluss zu verbinden. Mit anderen Worten, wenn sie mehrere Gates in Wire-NOR verbinden, bestimmen sie nur eines mit dem Pullup-Widerstand, alle anderen haben ihre Pullup-Widerstände offen. Dies geschieht, um die Leistung zu reduzieren und sicherzustellen, dass die niedrige Laufwerkslast innerhalb der Spezifikation bleibt.

Hier ist die NOR-IC-Pinbelegung der AGC:

Geben Sie hier die Bildbeschreibung ein

Von hier: https://djjondent.blogspot.com/2019/07/the-apollo-guidance-computer-nor-gate.html

Und so wird es in einem Schaltplan verwendet:

Geben Sie hier die Bildbeschreibung ein

Von hier: http://klabs.org/history/ech/scd/index.htm

Pull-Up vs. Non-Pull-Up werden in den AGC-Schaltplänen wie folgt dargestellt:

  • Pull-up-Gate: normales NOR (Pin 10 verbunden.)
  • No-Pull-up (Fan-In) Gate: schattierter Ausgang mit "blauer Nase" (Pin 10 getrennt.)

(Warum 'blaue Nase'? Weil ... Kopien von einer Diazo-Maschine blau sind.)

Wenn ich diesen Schaltplan stattdessen in modernem TTL zeichnen würde, könnte ich diese Kabelbinderpunkte durch ein zusätzliches NOR-Gatter ersetzen?
Ja, Sie würden ein Tor hinzufügen. Oder Sie könnten Dioden verwenden, um sie zu 'oder', eine Technik, die ich für Reset-Schaltungen verwendet habe.
Wenn es sich jedoch um ein Draht-NOR-Gatter handelt, sollte der gebundene Draht nicht logisch hoch sein, wenn die Ausgänge beider Gatter niedrig sind? Wie wird es dann hoch, wenn beide Treiber niedrig sind?
Ich bin mir nicht sicher, was Sie hier sagen. Wenn alle Eingänge mit gebundenem Gate niedrig sind, ist keiner der NPN-Transistoren eingeschaltet. Dann wird der Ausgang durch den Widerstand hochgezogen. Wenn einer der Eingänge hoch ist, zieht sein NPN die Leitung auf niedrig.
@stix, Beachten Sie, dass die Eingangssignale (Spannungen) von den Transistoren invertiert werden, sodass der "Widerstand" (zwischen Kollektor und Emitter) des entsprechenden Transistors Null ist, wenn nur eine der Eingangsspannungen hoch ist. Die Ausgangsspannung ist also Null. Nur wenn beide Eingangsspannungen niedrig sind, sind beide Transistoren ausgeschaltet ; Daher sind ihre Kollektor-Emitter- "Widerstände" unendlich (offener Stromkreis) und die Ausgangsspannung ist hoch.
@stix - "Wenn ich diesen Schaltplan stattdessen in modernem TTL zeichnen würde, könnte ich diese Kabelbinderpunkte durch ein zusätzliches NOR-Gatter ersetzen?" Nun, zunächst einmal ist TTL nicht mehr entfernt "modern". Genauer gesagt, Sie KÖNNTEN diese durch ein zusätzliches ODER-Gatter ersetzen, nicht durch ein NOR. Oder, nur zum Spaß, wenn Sie Ihre Eingaben invertieren, können Sie Ihre erste Ebene von NOR-Gattern durch UND-Gatter ersetzen (Theorem von DeMorgan). Es gibt mehrere TTL-UND-Gatter mit Open-Collector-Ausgängen, z. B. 7409 und 7415. Mit diesen können Sie die Ausgänge miteinander verbinden, obwohl Sie einen externen Pullup-Widerstand benötigen.
@WhatRoughBeast Sie sagen also, es ist ein ODER-Gatter, Hack sagt, es ist ein NOR-Gatter ... Wer hat Recht? Und TTL-Chips werden heute noch verkauft, RTL-Chips eher nicht. Es ist also immer noch "modern". Ja, mir ist bewusst, dass ich stattdessen CMOS-Gatter verwenden könnte, aber 74LS**-Chips sind billig und reichlich vorhanden.

wieso ist das mehr "poor man's logic gate" als alles andere bei RTL? Ersetzen Sie Ihre Logikgatter in Ihrem Diagramm durch die tatsächlichen Transistoren und Widerstände, und Sie werden sehen, dass der Ausgang eines Gatters in RTL eine "Pull-Down" -Logik ist.

Immer wenn entweder NOR1 oder NOR2 "Low" ausgibt, wird der gemeinsame Knoten in Richtung Masse gezogen. Dies ist ein NOR-Gatter, wie es normalerweise in RTL implementiert ist, soweit ich das beurteilen kann.

Die Antwort von @hacktastic deckt die Grundlagen ab, aber es gibt noch einige weitere Punkte:

  1. Die AGC hatte einen internen Bus mit mehreren Einheiten, die an den Bus schrieben und elektrisch miteinander verbunden waren.

    AGC-Architektur

  2. Einige Gatter wurden gerettet, indem die einzige bitweise Anweisung der AGC als verdrahtetes ODER implementiert wurde:

    Während die meisten Computer Boolesche Funktionen mit logischen Schaltungen in der ALU implementieren, schafft es der Apollo Guidance Computer, sie ohne zusätzliche Hardware zu implementieren. Die ODER-Operation wird durch einen Trick der Registerschaltung implementiert. Indem zwei Register gleichzeitig auf den Schreibbus geleitet werden, setzt eine 1 von einem der Register den Bus auf High, was das ODER der beiden Werte ergibt.

    Quelle

    Die Beschreibung des AGC-Befehlssatzes zeigt jedoch, dass der einzige eigentliche bitweise Hardwarebefehl war MASK, der ein bitweises UND anstelle eines bitweisen ODER war. In jedem Fall gab es Pseudobefehle ("Extracode"), die bitweise AND, OR und XOR zu den I/O-Ports implementierten: RAND, ROR, RXOR, WAND, und WOR.

Zusätzlich zu bekannten Wahrheiten über diese Konfiguration werde ich einige weitere Überlegungen hinzufügen. Sie haben sich im Laufe der Jahre angesammelt, als ich darüber nachdachte, wie ich meinen Schülern die Wahrheit offenbaren könnte, damit sie nicht nur wissen, was es ist, sondern auch verstehen, warum es so gemacht wird ...

Ausgang öffnen

Ausgabemenge. Tatsächlich ist die Ausgangsgröße einer Open-Collector- Stufe der Widerstand ; es erzeugt weder Spannung noch Strom. Sein Ausgang ist also passiv, "tot" ... und dieses Gerät kann keine Last versorgen ... es benötigt eine zusätzliche Spannungsquelle (die gleiche oder andere Stromversorgung in Reihe zur Last). Bei Logikgattern ist dieser "Widerstand" null oder unendlich und der Transistor wird als Schalter betrachtet.

Verkabeltes ODER

Logische Funktion. Das verdrahtete ODER implementiert ein logisches ODER , wenn wir den Eingang „0“ als aktives Signal (TRUE) betrachten. Wenn wir den Eingang "1" als aktives Signal betrachten, ist dies tatsächlich ein UND-Gatter, da der Ausgang hoch ist, wenn beide Eingänge hoch sind. Dieser Trick basiert auf den Gesetzen von De Morgan und wird in Diodenlogikgattern verwendet , bei denen das UND-Logikgatter eigentlich ein ODER-Gatter ist.

Eingabeflexibilität. Ein großer Vorteil des verdrahteten ODER- "Gatters" ist seine Flexibilität - Sie können die Anzahl der Eingänge leicht erweitern ... und sie sogar während des Schaltungsbetriebs variieren, ohne dass Sie etwas mehr tun müssen. Ein typisches Beispiel für diese Konfiguration ist die Art und Weise, wie Unterbrechungsquellen mit dem IRQ-Eingang des Mikrocontrollers verbunden sind.

Perfekte Einfachheit. Ich habe "Gate" in Anführungszeichen gesetzt, weil es eigentlich nur ein Knoten, Punkt ... dh nichts ist. In ähnlicher Weise ist ein "verdrahtetes UND" nur ein Draht, den wir an so vielen Stellen schneiden können, wie wir Eingangs-"Quellen" (Widerstände, Schalter) einbeziehen möchten ... aber dies ist nicht so praktisch wie der ODER-Knoten. Das ODER-Gatter besteht also aus geerdeten Schaltern (Widerständen) parallel, während das UND-Gatter aus schwebenden Schaltern (Widerständen) in Reihe geschaltet ist.

Ergänzende Ausgabe

Das "Problem" des komplementären Ausgangs besteht darin, dass er sowohl Masse als auch Vcc direkt an die Last liefern kann, wodurch keine Ausgänge verbunden werden können. Dennoch gibt es zwei Situationen, in denen diese Verbindung nicht zu einem Konflikt (Kurzschluss) zwischen den Ausgängen mit entgegengesetzten Spannungen führt:

1. Identische Ausgangssignale. Obwohl selten, ist es möglich, die Ausgangssignale auf die gleiche Weise zu ändern, um beispielsweise den Ausgangsstrom zu erhöhen. Dann helfen sich die Ausgänge gegenseitig, anstatt zu "kämpfen".

2. „Zwangs“-Umschaltung. Obwohl es unglaublich klingt, ist es möglich, die Ausgänge zweier komplementärer Stufen zu verbinden, auch wenn sie unterschiedliche Ausgangsspannungen haben, wenn zwei Voraussetzungen erfüllt sind:

  • der Steuerausgang ist stärker als der gesteuerte
  • die gesteuerte Stufe ändert sofort ihre Ausgangsspannung, so dass sie gleich der Steuerausgangsspannung wird.

Ein Beispiel für eine solche "brutale" Kontrolle ist die Schreiboperation in einer SPAM-Zelle. Sie können mehr über diesen Trick in meiner RG-Frage sehen .

Komplementärstufe als offener Ausgang

Es ist interessant, die Rolle von ODER-Dioden zu erklären, die in Reihe mit den komplementären Ausgängen verbunden sind, um sie zu "offenen Ausgängen" zu machen.

Aus einem anderen Blickwinkel besteht das "Problem" der Komplementärstufe darin, dass ihr Ausgang zweiseitig ist: Wenn die Ausgangsspannung hoch ist ("1"), liefert sie Strom an die Last (wenn sie mit Masse verbunden ist); Wenn die Ausgangsspannung niedrig ist ("0"), zieht der Ausgang Strom von der Last (wenn er mit Vcc verbunden ist).

ODER-Dioden machen die bilateralen Ausgänge einseitig . Wenn die Diodenkathoden mit den Ausgängen verbunden sind, ziehen sie nur einen Strom von der Last; Wenn die Anoden der Dioden mit den Ausgängen verbunden sind, liefern sie nur einen Strom an die Last.

Sie können mehr über diese Erklärung in meiner RG-Frage sehen .