Im AM2 Am2901 Multi-Chip-Mikroprozessor aus den 1970er Jahren

In den AMD Am2901-Mikroprozessoren mit mehreren Chips aus den 1970er Jahren sind

Sie möglicherweise mit den fortschrittlichen Prozessoren von Advanced Micro Devices vertraut. AMD begann jedoch 1975 mit der Produktion von Prozessoren, als es erstmals seinen Am2901 vorstellte. Es war das sogenannte Multi-Chip-Schnittprozessor: Jeder Chip verarbeitete 4 Bit, und um die Wortgröße zu erhöhen, wurden mehrere Chips gleichzeitig verwendet. Dieser Ansatz wurde in den 1970er und 1980er Jahren verwendet, um beispielsweise 16-, 32- oder 64-Bit-Prozessoren zu erstellen, bei denen nicht der gesamte Prozessor auf einem schnellen Chip platziert werden konnte. Es gab Prozessoren auf demselben Chip, aber ihren MOSTransistoren arbeiteten langsamer. Im Laufe der Zeit wurden CMOS-Prozessoren schneller als Bipolartransistorprozessoren, und als ihre Geschwindigkeit ausreichend anstieg, wechselten fast alle Hersteller zu ihnen. Foto eines Kristalls mit einem Am2901-Chip. Die Metallschichten des Chips sind sichtbar; Silizium ist unten. An den Rändern des Kristalls verbinden winzige Leiter den Chip mit externen Kontakten.




Der Am2901-Chip erfreute sich großer Beliebtheit und wurde in einer Vielzahl von Systemen eingesetzt, vom Battlezone-Videospiel über den VAX-11/730-Minicomputer bis hin zur Xerox Star-Workstation und dem integrierten Magic 372-Computer des F-16-Jägers. Eine schnellere Version dieses Prozessors, Am2901C, verwendete emittergekoppelte Logik (ESL), um die Leistung zu verbessern. In diesem Artikel seziere ich Am2901C, untersuche seinen Kristall unter einem Mikroskop und erkläre, wie ESL-Schaltungen die Implementierung einer arithmetischen Logikeinheit (ALU) ermöglichen.

Übrigens wird in der Dokumentation zu Atari Battlezone kein bestimmtes Modell des Am2901-Chips erwähnt, es gibt jedoch eine Fußnote für die Teilenummer 137004-001, die sie als „Transistorarray“ bezeichnen. Darüber hinaus wurden in dem gegebenen Pinbelegungsdiagramm des Chips absichtliche Verzerrungen vorgenommen, und es werden 20 Adresspins und 8 Datenpins gezeigt, um den Chip wie ein ROM aussehen zu lassen (im Gegensatz zu beispielsweise den genau beschriebenen Chips der Serie 7400). Atari hat möglicherweise versucht, das Klonen seiner Videospiele zu verhindern, indem er die Modelle einiger Schlüsselchips versteckt hat.

Eine beliebte Alternative für Am2901 in vielen Mikrocomputern war der ALU 74181- Chip . Es bot die gleichen arithmetischen und logischen Funktionen wie Am2901, jedoch nicht seine Register.

Multi-Chip-Schnittmikroprozessor


Sie fragen sich vielleicht, wie mehrere Prozessorchips zusammenarbeiten und Wörter beliebiger Länge unterstützen können. Unter dem Strich ist der Mikroprozessorabschnitt (MS) ein Baustein, nicht der gesamte Prozessor, und er benötigt separate Schaltkreise, um Anweisungen zu decodieren und das System zu steuern. Die MS hatte Register, sie führte arithmetische und logische Operationen mit Daten durch, und der Steuerchip (wie Am2901) sagte der MS, was zu tun ist. Jeder Maschinenbefehl wurde in kleinere Schritte unterteilt, Mikrobefehle, die im ROM-Mikrocode gespeichert waren. In diesem Fall wurde der Befehlssatz durch den Mikrocode und nicht durch Am2901 bestimmt, sodass fast jeder Befehlssatz unterstützt werden konnte .

Aufgrund der Tatsache, dass Abschnitte in einem solchen Prozessor nicht vollständig unabhängig voneinander sind, treten während des Betriebs des Prozessors bestimmte Schwierigkeiten auf. Wenn Sie beispielsweise zwei Nummern hinzufügen, muss die Übertragung von einem Abschnitt in einen anderen übertragen werden. Außerdem erfordert die gemeinsame Arbeit mehrerer Abschnitte Vorgänge wie das Überprüfen eines Zeichens oder das Überprüfen auf ein Null-Ergebnis. Der Am2901-Chip verfügt über spezielle Ausgänge, um diese Funktionen zu unterstützen.

Ist Am2901 ein Mikroprozessor? Aus meiner Sicht ist Am2901 nur ein Teil des Prozessors, aber alles hängt davon ab, wie der „Mikroprozessor“ bestimmt wird (ich habe meine Gedanken dazu in einem separaten Artikel ausführlich beschrieben) Interessanterweise neigten sie in der UdSSR eher zu Mikroprozessoren als in den USA. Und wenn im Westen das Wort "Mikroprozessor" normalerweise einen Prozessor auf einem einzelnen Chip bedeutet, wurden in der UdSSR Prozessoren auf einem einzelnen Chip oder aus mehreren Abschnitten normalerweise nicht unterschieden .

Multi-Chip-Schnittmikroprozessoren (MSMs) befanden sich irgendwo in der Mitte zwischen Mikroprozessorchips und einem Computer aus einfachen TTLsChips. Zu dieser Zeit war das Zusammenbauen eines Computers aus TTL-Chips viel schneller als das Herstellen eines Mikroprozessors, aber dies erforderte viele Karten mit Chips. Durch die Verwendung von MSM konnte der Geschwindigkeitsvorteil beibehalten und gleichzeitig die Anzahl der verwendeten Chips verringert werden. MSM bot im Vergleich zum Mikroprozessor auch eine größere Flexibilität, sodass der Designer den Befehlssatz und andere Architekturmerkmale anpassen konnte.

Kristallübersicht


Das Foto unten zeigt den Am2901-Kristall und hebt die wichtigsten Funktionsblöcke hervor. Für dieses Foto habe ich die Metallschichten entfernt, damit Silizium und Transistoren sichtbar sind. Der größte Funktionsblock des Chips ist der Registerspeicher in der Mitte. Der Chip verfügt über 16 4-Bit-Register (Sie können 16 Spalten und 4 Zeilen im Speicherarray sehen). Links und rechts vom Speicherblock befinden sich die Speichertreiberschaltungen, die das Schreiben und Lesen steuern. Fotokristall Am2901; Tastenfunktionsbausteine ​​sind markiert. Externe Schaltungen bestehen hauptsächlich aus Puffern, die Signale zwischen externen TTLs und internen ESLs umwandeln. Am2901 Vollständiges Flussdiagramm







Die arithmetische Logikvorrichtung (ALU) des Chips beschäftigt sich mit arithmetischen (Addition und Subtraktion) und logischen Operationen (UND, ODER, ohne ODER). Der erste Abschnitt der ALU ist ein großer Block unten links. Es besteht aus vier Zeilen, da es sich um eine 4-Bit-ALU handelt. ALU verfügt auch über eine Logik, die eine Übertragsausgabe zum Hinzufügen generiert, und verwendet eine schnelle Technik namens "Übertrags-Lookahead". Dann verwendet die ALU die übertragenen Werte, um die Summe parallel zu erzeugen. Schließlich verarbeiten und puffern die Ausgangsschaltungen den Betrag und senden ihn an den Ausgangskontakt.

Bei einer Übertragung mit Vorschau wird anhand der Signale "Generieren" und "Propagieren" bestimmt, ob ein Bit an jeder Position eine eigene Übertragung erzeugt oder die eingehende überträgt. Wenn Sie beispielsweise 0 + 0 + C hinzufügen (C ist die Übertragung), kann die Übertragung unabhängig von ihrer Größe nicht aus dieser Addition entfernt werden. Wenn Sie dagegen 1 + 1 + C hinzufügen, wird die Übertragung trotzdem angezeigt, unabhängig davon, was C ist. Schließlich wird in den Fällen 0 + 1 + C (oder 1 + 0 + C) die Übertragung weiter übertragen wenn C ungleich Null war. Infolgedessen erzeugen einfache Logikgatter ein G-Signal (Generieren) für jedes Bit, wenn beide Bits gleich 1 sind, und ein P-Signal (Propagieren), wenn beide Bits nicht gleich 0 sind.

Die Übertragungsformel hängt von der Position des Bits ab. Betrachten Sie beispielsweise eine Übertragung von Bit 0 nach Bit 1. Dies geschieht, wenn das P0-Flag gesetzt ist (dh die Übertragung stammt oder wird übertragen) und wenn die Übertragung in diesem Bit aufgetreten ist oder von anderen Bits zu ihr gekommen ist. Dann ist C1 = P0 UND (Cin ODER G0). Bei der Silbentrennung höherer Ordnung nimmt die Anzahl der Optionen zu und ihre Komplexität nimmt ständig zu. Betrachten Sie beispielsweise eine Übertragung zu Bit 2. Zunächst muss P1 gespannt werden, damit die Übertragung von Bit 1 erfolgt. Außerdem wurde die Übertragung entweder von Bit 1 erstellt oder von Bit 0 übertragen. Schließlich musste die erste Übertragung auch von irgendwoher kommen Nehmen Sie es: Es war entweder eine Übertragung, die von Bit 0 kam, oder eine Übertragung, die von Bit 1 generiert wurde. Wenn Sie all dies in eine Formel einfügen, erhalten Sie die in Am2901 verwendete Funktion: C2 = P1 UND (G1 ODER P0) UND (C0 ODER G0 ODER G1).Die Formeln für die verschiedenen Übertragungen und das externe P und G sind in angegebenSpezifikationen , Abb. 9.

Leere Rechtecke an den Rändern des Chips sind Bereiche, um den Chip mit der Außenwelt zu verbinden. Neben ihnen befinden sich Schemata zum Senden und Empfangen von Signalen. Da der Chip unter Verwendung von TTL-Signalen mit externen Schaltkreisen kommuniziert, jedoch intern ESL verwendet, wandeln diese Schaltkreise zwischen TTL- und ESL-Spannungen um.

Der Chip hat zwei Schieberegister, die das Wort um ein Bit nach rechts oder links verschieben können. Register Q - Ein 4-Bit-Register basierend auf Triggern. Schließlich erzeugt die Referenzspannungsschaltung die genauen Referenzspannungen, die für den Betrieb der ESL erforderlich sind.

Wie man einen Kristall sieht


Um in den Chip zu schauen, muss man normalerweise sein Kunststoffgehäuse in gefährlichen Säuren auflösen. Ich habe den Am2901-Chip jedoch nicht in einem Kunststoffgehäuse gekauft, sondern in einem Keramikgehäuse. Ich ging einfach mit einem Meißel die Naht des Chips entlang und trennte die beiden Hälften, wodurch ich zum Kristall im Inneren gelangen konnte. Ein Siliziumkristall ist ein kleines Rechteck in der Mitte des Chips. Dünne Leiter verbinden die Kristallpads mit dem Leiterrahmen, was zu 40 externen Chipkontakten führt.


Am2901 nach dem Trennen der beiden Hälften des Keramikkörpers.

Um hochauflösende Fotos des Chips zu erhalten, verwendete ich ein spezielles metallographisches Mikroskop. Auf dem Foto unten sehen Sie das AMD-Logo. Oben ist ein Leiter an die Stelle gelötet. Der Chip hat zwei Metallschichten, die einen Stromkreis bilden, der auf dem Foto rechts sichtbar ist.


Close-up - Foto des Chips - die Inschrift 4301X (wahrscheinlich die Teilenummer) und „1983 AMD“ zu sehen.

Ich ein großes , hochauflösenden Foto von mehreren kleinen Mikroskopbildern gesammelt (lesen Sie mehr über den Prozess Kristall Fotos schaffen hier ). Dann entfernte ich die Metallschichten und machte einen weiteren Satz Siliziumfotos.

Das folgende Nahaufnahmefoto zeigt vier Transistoren und drei Widerstände. Verschiedene Bereiche von Silikon weisen unterschiedliche Verunreinigungen auf, was ihnen unterschiedliche Eigenschaften verleiht, und diese Bereiche sind unter einem Mikroskop sichtbar. Der Chip basiert auf BipolarNPN-Transistoren unterscheiden sich von MOS-Transistoren moderner Computer. Der Basistransistor (Silizium vom p-Typ), der Emitter (Silizium vom n-Typ) und der Kollektor (Silizium vom n-Typ) sind auf dem linken Transistor markiert [B, E, C]. Leichte Rechtecke sind die Kontakte von Silizium und der Metallschicht, die sich früher oben befanden. Die beiden Transistoren rechts haben einen gemeinsamen großen Kollektor. Auf diesem Chip befinden sich häufig Transistoren mit einem gemeinsamen Kollektor.



Unten sind drei Widerstände. Ein Widerstand wird durch Zugabe von Verunreinigungen zu Silizium erhalten, die seinen Widerstand erhöhen. Die Genauigkeit von Widerständen in ICs ist normalerweise schlecht. Sie erweisen sich auch als relativ groß - hier sind sie mit Transistoren gleich groß, während andere viel größer sind. Daher versuchen sie beim Entwurf von ICs, die Anzahl der Widerstände zu minimieren.

Emitterbezogene Logik


Logikschemata können auf sehr unterschiedliche Weise erstellt werden. Fast alle modernen Computer verwenden das CMOS-Logiksystem (eine komplementäre Metalloxid-Halbleiter-Struktur ), bei dem die Ventile aus MOS-Transistoren bestehen. In der Ära der Minicomputer war TTL sehr beliebt. ESL war ein schnelleres, aber weniger verbreitetes Schema. Der Nachteil von ESL war ein höherer Energieverbrauch (der Cray-2-Supercomputer von 1985 verwendete ESL-Ventile, um seine Geschwindigkeit zu erhöhen, musste jedoch mit flüssigem Freon gekühlt werden).

Die meisten Geschwindigkeitsvorteile von ESL waren darauf zurückzuführen, dass die Transistoren nicht vollständig eingeschaltet waren. Dadurch konnten die Transistoren die Strompfade sehr schnell ändern. Außerdem war der Unterschied zwischen der Spannung für die Werte 0 und 1 gering (in der Größenordnung von 0,8 V), so dass die Signale ziemlich schnell hin und her schalten konnten. Beispielsweise beträgt bei TTL-Ventilen die Spannungsdifferenz etwa 3,2 V (die Signale können mit einer Geschwindigkeit von etwa 1 V pro Nanosekunde schalten, sodass bei einer großen Spannungsdifferenz Verzögerungen von mehreren Nanosekunden auftreten). Andererseits führte eine kleine Spannungsdifferenz zu einer Erhöhung der Empfindlichkeit von ESL gegenüber elektrischem Rauschen.

Die ersten Versionen von Am2901 verwendeten TTL, aber 1979 stellte AMD seine schnellere Version Am2901C vor. Der Am2901C verwendete intern ESL für die Geschwindigkeit, aber außen hielt er die TTL-Spannung aufrecht, was die Verwendung in TTL-Computern vereinfacht. Dieser Beitrag beschreibt die Am2901C-Variante.

ESL basiert auf einem Differentialpaarsystem - Operationsverstärker arbeiten auf ähnliche Weise . Die Idee eines Differentialpaars (siehe unten) ist, dass ein fester Sinn gemäß dem Schema fließt. Wenn die Spannung am Eingang links größer als rechts ist, wird der linke Transistor eingeschaltet und der größte Teil des Stroms fließt durch den linken Zweig. Und umgekehrt (beachten Sie, dass Transistoremitter angeschlossen sind - daher der Name der emittergekoppelten Logik.


Differentialpaar. Wenn die Spannung am linken Eingang (rot) höher ist, fließt der größte Teil des Stroms über den linken Pfad und umgekehrt.

Mit einigen Modifikationen können Sie ein Differentialpaar in ein ESL-Ventil verwandeln. Erstens ist die Spannung in einem Zweig fest und wird irgendwo im Intervall zwischen den Pegeln 0 und 1 zur Referenz. Wenn der Eingang höher als die Referenzspannung ist, wird er als 1 betrachtet, und wenn er niedriger ist - als 0. Dann wird der Ausgang mit dem Zweig verbunden Transistor (grün), der das Ausgangssignal durch Puffern der Spannung des Zweigs liefert. Die Wechselrichterschaltung ist unten dargestellt, da bei hoher Eingangsspannung der Strom durch den linken Widerstand den Ausgang nach unten zieht. Um die Leistung zu erhöhen, wurde der untere Widerstand durch einen Drain (Magenta) ersetzt, der aus einem Transistor und einem Widerstand bestand.

Der Drain am Boden des ESL-Ventils liefert tatsächlich einen konstanten Strom, der durch die eingehende Spannung V CS gesteuert wird . Diese Option ist besser als ein einfacher Widerstand, da der Strom durch den Widerstand abhängig von der Spannung und den Eingangsspannungen variiert. Eine solche Schaltung spart auch Platz, da sie einen kleineren Widerstand verwendet.


ESL Wechselrichter. Der obere rechte Widerstand kann weggelassen werden, da er nirgendwo angeschlossen ist.

Sie können ein komplexeres ESL-Ventil bauen, indem Sie weitere Eingänge hinzufügen. In der folgenden Abbildung wird ein zweiter Eingangstransistor (2) parallel zum ersten (1) hinzugefügt. Strom fließt durch den Widerstand R1, wenn am Eingang A oder B 1 vorhanden ist (dh die Spannung ist höher als die Referenz). In diesem Fall wird der Ausgang heruntergezogen und wir erhalten das NOR-Ventil. Mit anderen Konfigurationen können Sie UND-, XOR-Ventile oder komplexere Schaltkreise herstellen.


ESL NOR-Ventil

Das obige Diagramm zeigt ein NOR-Gatter - wie es auf einem Chip implementiert ist. Das Foto unten zeigt das entsprechende physikalische Diagramm des Ventils. Auf der linken Seite befindet sich eine Siliziumkristallschicht, in der Transistoren und Widerstände sichtbar sind. Auf der rechten Seite befinden sich Metallspuren im selben Teil des Chips. Oben sind die Transistoren 1 und 2, die ein Eingangssignal empfangen. Jeder von ihnen hat oben eine Basis und in der Mitte einen Emitter. Transistoren haben einen gemeinsamen Kollektor - ein weißes Rechteck darunter. Die Widerstände R1 und R2 sind Rechtecke aus Silizium. Alle Transistoren in der Mitte (einschließlich 3 und 4) haben einen gemeinsamen Kollektor, der zweimal mit dem Plus verbunden ist (nicht nummerierte Transistoren und Widerstände gehören zu anderen Ventilen).


NOR-Ventil am Am2901-Kristall implementiert

Aus den Leitern auf der rechten Seite ist ersichtlich, dass die oberste Schicht die Verbindung horizontaler Leiter mit Plus, Referenzspannungen, VCS-Drain und Minus ermöglicht (es ist zu sehen, dass Plus und Minus breiter gemacht werden, um hohe Ströme zu unterstützen). Darunter befinden sich die Leiter, die die Transistoren verbinden. Von oben sind die Eingänge A und B mit den Basen der Transistoren verbunden. Der Rest der Verkabelung ist schwieriger zu verfolgen, da er von der obersten Schicht bedeckt ist. Sie können jedoch beispielsweise die Verbindung zwischen dem Transistor 4, dem Kollektor der Transistoren 1 und 2 und R1 sehen. Wenn Sie die Fotos des Kristalls sorgfältig studieren, können Sie die gesamte Verkabelung verstehen und die Chiplogik rückentwickeln.

Arithmetische Logikeinheit (ALU)


Die Arithmetic Logic Unit (ALU) im Am2901-Chip führt 4-Bit-Arithmetik- oder Logikoperationen aus. Es unterstützt 8 verschiedene Operationen: Addition, Subtraktion und bitweise logische Operationen (es geht nicht um Multiplikation und Division).

Das folgende Blockdiagramm zeigt den Aufbau des AL29 Am2901. Zunächst wählt der Selektor (Multiplexer) zwei Eingänge aus potenziellen Quellen aus. Der Wert von D wird an die Datenkontakte des Chips übertragen, üblicherweise an den Prozessordatenbus. A - Dies ist der Wert eines der 16 Einträge in der Chipregisterdatei, die von den Kontakten A0-A3 ausgewählt wurden. B funktioniert ähnlich. Ein konstanter Wert von 0 kann der ALU zugeführt werden. Schließlich ist Q der Inhalt des Q-Registers (optionales separates Register). Viele Datenquellen geben dem Chip mehr Flexibilität.


Blockschaltbild der ALU Am2901 aus der Chipspezifikation. Die ALU führt eine von acht Funktionen an zwei 4-Bit-Eingängen, R und S, aus. Auf der rechten Seite befinden sich verschiedene Ausgänge des Chips: G, P, Übertragsausgang, Vorzeichen, Überlauf, Nulltest.

Zwei ausgewählte Werte, R und S, werden der ALU zugeführt, die die ausgewählte Operation ausführt und das Ergebnis an F ausgibt. Außerdem akzeptiert die ALU den Übertragsbetrag und überträgt den Übertragswert (CN + 4). ;; Auf diese Weise können Sie mehrere ALUs kombinieren, um längere Wörter zu verarbeiten. Die Ausgänge G und P werden zum Übertragen mit einer Vorschau verwendet, und das Vorzeichen, der Überlauf und der Test von Nullen können als bedingte Prozessorcodes verwendet werden.

Beschreiben Sie kurz die ALU-Schaltung, beginnend mit dem Selektor. Die ersten beiden Felder des Selektors unten (D und A) wählen das erste Argument von ALU aus, und die letzten drei (A, Q und B) wählen das zweite Argument aus. Jeder Selektor implementiert die Funktion Auswählen • (Wert ⊕ Invertieren), wobei Wert der potenzielle Eingabewert ist, Auswählen 1 ist, um diesen Wert auszuwählen, und Invertieren 1 ist, um den Wert zu invertieren (da ALU 4-Bit ist, werden 4 Bits ausgewählt; jeder Selektor wird unter Verwendung von vier implementiert ESL-Ventile).

Der gewünschte Wert wird durch Einfügen einer der Auswahlzeilen ausgewählt. Wenn keiner von ihnen eingeschaltet ist, ist der Wert, der zur ALU kommt, 0. Außerdem kann der Selektor den Eingang invertieren. Der Chip führt eine Subtraktion durch Addition des invertierten Werts durch.


Der erste Teil von ALU besteht aus vier horizontalen Schichten, eine pro Bit

Das folgende Diagramm zeigt die in ALU AM2901 verwendete AND-XOR-Schaltung, die die Operation A '• (B ⊕ C) implementiert. Ich werde kurz beschreiben, wie es funktioniert. Wenn die Spannung am Eingang A hoch ist, fließt Strom durch die linken Transistoren und zieht den Ausgang nach unten. Wenn B und C Hochspannung sind, zieht der Strom durch die linken Transistoren B und C den Ausgang nach unten. Wenn die Spannung an V und C niedrig ist, zieht der Strom durch die Transistoren V ref den Ausgang nach unten. Wenn B und C eine unterschiedliche Spannung haben, fließt der Strom von den Transistoren + und der Ausgang bleibt Hochspannung. Unter dem Strich kann ein einzelnes ESL-Ventil komplexe Funktionen implementieren. Bei den meisten Logikgattern ist XOR schwieriger zu implementieren. Für mich persönlich ähnelt die ESL-Logik dem Relais der 1920er Jahre, da sie zwischen den beiden Strompfaden umschaltet und nicht nur ein- und ausschaltet.



Nach Auswahl von zwei Eingängen für die ALU werden die Bits "Propagate" (P) und "Generate" (G) für jedes Paar eingehender Bits berechnet. Dies ist Teil des Vorschauübertragungsverfahrens, das zum schnellen Hinzufügen verwendet wird.

Das Foto unten zeigt die verbleibenden Teile der ALU-Schaltung (zur Abwechslung hat dieses Foto eine Metallschicht, im Gegensatz zu früheren Fotos, auf denen nur Silizium vorhanden war). Die Signale P und G von der vorherigen Schaltung gehen in zwei Übertragungsberechnungsblöcke über. Die untere Übertragungseinheit berechnet das externe P-, G- und Übertragungssignal mit einer Vorschau für mehrere Chips. Auf diese Weise können Sie schnell lange Wörter hinzufügen.

Die Übertragungstechnik mit Vorschau kann auf mehreren Chips implementiert werden, um schnell Zahlen größer als 4 Bit hinzuzufügen. Jeder Chip generiert Generate- und Propagate-Signale, die angeben, ob eine Übertragung generiert oder eine eingehende Übertragung übertragen wird. Diese Signale werden mit einem Transfergenerator-Chip mit einer Vorschau kombiniert - wie dem von Am2902.

Die obere Übertragungseinheit berechnet die internen Übertragungen. Das "Summen" -Schema berechnet die Summe jedes Bits unter Verwendung der Silbentrennung und die Werte von P und G. Es ist wichtig, dass aufgrund der Silbentrennung mit Silbentrennung die Summe jedes Bits parallel berechnet werden kann. Schließlich wandelt die Ausgangsschaltung die internen ESL-Signale in TTL-Signale um und steuert die vier Ausgangskontakte.


Der Rest der ALU-Schaltung

Der Chip verwendet einige interessante Techniken, mit denen Sie den Addierer für acht Operationen verwenden können. Die zuvor beschriebene Auswahlschaltung kann optional ihren Eingang ergänzen. Dies wird sowohl für die Subtraktion als auch für einige der logischen Funktionen verwendet. Bei der Berechnung logischer Funktionen (anstatt zu addieren / subtrahieren) ist die Übertragungsberechnung deaktiviert. Während logischer Operationen werden Bits nicht davon beeinflusst, was mit anderen Bits passiert. Schließlich wird die XOR-Schaltung des Addierers zur UND-Schaltung, indem die P-Signale auf das Maximum erhöht werden. Anstatt acht verschiedene Schaltungen für acht ALU-Operationen zu verwenden, verwendet der Chip eine einzelne Schaltung mit einigen sorgfältig ausgewählten Optimierungen.

Der Chip verwendet die Werte von P und G, um die Summe der Eingänge R und S mit dem Übertrag C zu erzeugen. Die Summe (R ⊕ S ⊕ C) 'wird berechnet als ((P' ∨ G) ⊕ C) ', wobei P = R∨S und G = R · S. Wenn P gleich 1 ist, reduziert sich (P '∨ G) auf G gleich R • S. Es stellt sich heraus, dass durch Ändern von P dieselbe Schaltung verwendet werden kann, um UND aus den Eingangswerten von R und S zu berechnen.

Die folgende Tabelle zeigt die 8 von ALU ausgeführten Operationen. Dem Befehl werden drei Befehlsbits zugeführt und zur Auswahl der Operation verwendet: I5, I4 und I3. Die Spalte "Funktion" zeigt die Funktionen gemäß der Dokumentation, und die Spalte "Berechnung" zeigt, wie jedes der Bits berechnet wird. Beachten Sie, dass alle Operationen letztendlich auf exklusives ODER (⊕) oder UND (∧) reduziert werden. Die Addition erfolgt durch das bitweise XOR der beiden Argumente und Übertragsbits. Die Subtraktion erfolgt durch Addition des Arguments und anschließende Addition. Zum Beispiel ist das Addieren des Komplements R (R ') dasselbe wie das Subtrahieren von R. Bit I3 ergänzt R und Bit I4 ergänzt S. Operationen mit exklusivem ODER (EXOR und EXNOR) verwenden dieselben Elemente wie Addition, aber mit Übertragungsberechnungssperre. Die UND-Verknüpfung wird durch Blockieren des Signals G ausgeführt. Schließlich wird ODER gemäß dem Morgan-Gesetz R '∧ S' berechnet.= (R ∨ S) '. Der Punkt ist, dass Am2901 keine separaten Elemente für Addition, Subtraktion, AND, OR und EXOR benötigt - die meisten Elemente werden in jeder der Operationen verwendet.

Symbolische NotationI5I4I3FunktionBerechnung
HINZUFÜGEN000R plus sR ⊕ S ⊕ Tragen
SUBR001S minus rR '⊕ S ⊕ Tragen
SUBS010R minus sR ⊕ S '⊕ Tragen
ODER011R OR S.(R '∧ S') ⊕ 1
UND100R UND S.R ∧ S.
NOTRS101R 'UND S.R '∧ S.
EXOR110R EX ODER S.R ⊕ S '⊕ 1
EXNOR111R EX NOR S.R '⊕ S' ⊕ 1


Fazit


Der Am2901C-Chip ist als Beispiel für Hochgeschwindigkeits-ESL von Interesse, eine relativ seltene logische Familie. Der ALU-Chip ist auf der Unterseite des Chips verteilt, implementiert acht verschiedene Funktionen und verwendet die Vorschauübertragung, um die Arbeit zu beschleunigen. Obwohl der Chip recht komplex ist, hilft eine sorgfältige Untersuchung unter dem Mikroskop, seine Arbeit zu verstehen.

Multi-Chip-Schnittprozessoren wie der Am2901 wurden in den 1970er und 1980er Jahren in Mikrocomputern und vielen anderen Systemen eingesetzt. Letztendlich ermöglichten Verbesserungen der CMOS-Technologie jedoch die Implementierung eines schnellen Prozessors auf einem einzelnen Chip, was diese Technologie überflüssig machte. Und während der Am2901 wahrscheinlich etwa tausend Transistoren enthält und mit 16 MHz betrieben wird, stellt AMD heute Prozessoren her, die Milliarden von Transistoren enthalten und mit 4 GHz arbeiten.

All Articles