-
Datenprozessor Die Erfindung betrifft einen Datenprozessor und bezieht
sich insbesondere auf den Aufbau und die Anordnung eines Mikroprozessorplättchens.
-
Es sind verschiedene Mikroprozessorplättchen bekannt, die als integrierte
Schaltung ausgebildet sind, so daß eine integrierte Großschaltung in MOS-Technik
entsteht (MOS = Metalloxidsilizium).
-
Als Herstellungsverfahren kommen dazu das P-Kanal-Verfahren und das
schnellere und weiter entwickelte N-Eanal-Verfahren in Betracht. Die llikroprozessorplättchen
bzw. #ikroprozessor-Chips sind das Herz des gesamten Mikrocomputersystems bzw.
-
Mikrorechnersystems, welches sich auch als Mikrodatenverarbeitungssystem
bezeichnen läßt, und es sind normalerweise eine Anzahl von Energieversorgungseinheiten,
externen Speichereinrichtungen mit Direktzugriff, Bestspeichereinrichtungen, aus
denen nur gelesen werden kann sowie eine Vielfalt von Pufferkopplungseinheiten und
Peripheriesteuereinheiten vorhanden.
-
Eine verhältnismäßig kleine Anzahl von Halbleiterplättchen bzw. Halbleiter-Chips
ist erforderlich, um ein vollständiges
Mikrocomputersystem bzw.
Nikrodatenverarbeitungssystem aufzubauen. Ein einfacher, jedoch vollständiger Plikrocomputer,
welcher solche Mikroprozessor-Baugruppen verwendet, kann auf einer kleinen gedruckten
echaltungskarte untergebracht werden, wobei höchstens vier oder fünf integrierte
Schaltungsbaugruppen erforderlich sind. Einige Steuerfunktionen können sogar mit
weniger integrierten Schaltungabaugruppen ausgeführt werden. Dadurch wird die Leistungsfähigkeit
der digitalen Datenverarbeitung durch einen Computer bei sehr geringen Kosten in
einer groben Vielfalt von industriellen Einrichtungen und Einrichtungen der Nachrichtentechnik
zur Verfügung gestellt, beispielsweise in Prozeß- und Fertigungssteuersystemen,
bei der Computerperipherie und bei der Gerätetechnik für Anschlußstellen, bei Sarametersteuersystemen
jeglicher Art von Mikrocomputern in Kraftfahrzeugen, in Verkehrssteuereinrichtungen
und an vielen anderen Stellen, an welchen eine Direktlogik für eine Computersteuerung
optimalisiert werden soll. Die Einsparungen an Zeit und Kosten für den Entwurf von
Mikrocomputersystemen werden durch integrierte Großschaltungen in MOS-Technik und
entsprechende Speicher- und Peripherieeinheiten stark verbessert. Die Auslegung
von gedruckten Schaltungskarten wird vereinfacht. Die komplexen Verbindungen, welche
für große Anzahlen von herkömmlichen integrierten Schaltungen erforderlich sind,
werden durch Festspeicher ersetzt. Die einzige Zwischenverbindungsleitung auf gedruckten
Schaltungskarten verläuft zwischen den verschiedenen Adressen- und Datenschienen
sowie den Eingabe/Ausgabe-Einrichtungen. Die Kosteneinsparungen sind nicht auf die
direkten Bauteilkosten beschränkt, sondern erstrecken sich auch auf andere zugehörige
Kosten für die Gerätetechnik. Die Zahl der Anschlüsse wird vermindert, die Verdrahtung
kann vereinfacht werden, die Kartenhalterung kann kleiner ausgebildet werden usw..
Entsprechende indirekte Kosten werden ebenfalls gesenkt, da der Zusammenbau weniger
Zeit
erfordert, die Dokumentation einfacher ist und die Wartung vereinfacht ist. In gleicher
Weise wesentlich für Kosteneinsparungen und gerätetechnische Systeme ist die Fähigkeit
von Systemingenieuren, einen vorgeschlagenen Entwurf rasch aufzubauen. Es muß keine
Verdrahtungslogik simuliert werden, optimalisiert oder nachgebildet werden. Der
logische Entwicklungsteil des Entwicklungszyklus wird nun das Manipulieren mit den
Funktionsblöcken, wie sie oben erwähnt wurden, wobei die Steuerfolge die Form annimmt,
ein Datenverarbeitungsprogramm in einen externen Festspeicher einzuschreiben.
-
Eine Brett schaltung besteht lediglich noch in der Zusammenschaltung
einiger integrierter Großschaltungs-Baugruppen. Es ist auch wesentlich einfacher,
einen Entwurf zu ändern. Die Anwendung von Simulatoren ermöglicht es, den Entwurf
zu überprüfen, bevor er gerätetechnisch ausgeführt ist. Insgesamt führt dies dazu,
daß etwa 90 % der Entwicklungszeit für einen Mikrocomputer eingespart werden können,
wenn ein Mikroprozessor und die zugehörigen Chips bzw. Plättchen verwendet werden.
-
Jedoch haben verschiedene Mikroprozessoren verschiedene lieistungsfähigkeiten,
welche den Anwendern verschiedene Vorteile bieten, welche jeweils andere Anwendungsgebiete
haben.
-
Beispielsweise kann ein bestimmtes Mikroprozessorplättchen für einen
Anwender klar im Vorteil sein, und eine andere Mikroprozessoreinheit kann für einen
anderen Anwender mit verschiedenen Programmerfordernissen vorteilhaft sein. Die
Effektivität bzw. der Wirkungsgrad bestimmter Mikrocomputersysteme kann gewöhnlich
dadurch gemessen werden, daß die Arbeitsgeschwindigkeit und die externen Speichererfordernisse
für eine repräsentative Klasse von praktischen Standardprogrammen ermittelt werden.
Es ist weiterhin klar, daß eine Mikroprozessoreinheit mit kürzerem Zaschinenzyklus,
welche weniger Maschinenzyklen zur Ausführung eines bestimmten Befehlssatzes benötigt,
im allgemeinen für einen Anwender vorteilhaft ist.
-
Eine leichte Steuerung des Eingags/Ausgangs-Datenflusses kann für
den Anwender auch Vorteile mit sich bringen, wenn eine bestimmte Mikroprozessoreinheit
verwendet wird. Nunmehr sind Familien von Ergänzungsschaltungen, welche direkt mit
einem in zwei Richtungen arbeitenden Datenübertragungsweg, der auch als Datenschiene
zu bezeichnen ist, gekoppelt werden können, wodurch die meisten der bekannten Mikroprozessorplättchen
gekennzeichnet sind, in Verbindung mit neuen Mikroprozessoreinheiten im allgemeinen
viel leistungsfähiger als die frühesten Mikroprozessorplättchen für integrierte
Großschaltungen in MOS-Technik der ersten Generation, indem die Befehlssätze für
die neueren Einrichtungen viel größer und leistungsfähiger sind (die leistungsfidgsten
Mikroprozessorplättchen umfassen etwa 70 Befehle) und dadurch, daß die für die Ausführung
eines Befehls benötigte Zeit etwa um eine Größenordnung kürzer ist. Weitere Verbesserungen
des Gesamtsystems und seiner Leistungsfähigkeit können sich jedoch noch aus Verbesserungen
in der Anordnung und dem Aufbau von Mikroprozessorplättchen ergeben, indem neue
Systeme verwendet werden, welche verbesserte Mikroprozessorplättchen und die zugehörige
Peripherie verwenden.
-
Aufgabe der Erfindung ist es, ein Mikroprozessorplättchen der oben
näher erläuterten Art zu schaffen, welches derart aufgebaut ist, daß die Datenübertragungsgeschwindigkeit
auf einem in zwei Richtungen arbeitenden Datenübertragungsweg besonders hoch wird.
-
Zur Lösung dieser Aufgabe dienen insbesondere die im Patentbegehren
niedergelegten Merkmale.
-
Eine bevorzugte Ausführungsform der Erfindung schafft eine als integrierte
Schaltung ausgebildete Prozessoreinheit auf einem Halbleiterplättchen, und zwar
unter Anwendung der MOS-Technik (MOS L fletalloxidsilizium), wobei eine interne
Adressenschiene
vorgesehen ist, welche mit einer Adressenausgangstreiberschaltung verbunden ist,
die mit einer externen Adressenschiene verbunden ist, welche zur Adressierung eines
externen Speichers verwendet wird. Der Mikroprozessor weist auch eine interne Datenschiene
auf, welche in zwei Richtungen arbeitet und mit der Dateneingangs/ausgangs-Schaltung
verbunden ist, welche Daten von einen: in zwei Richtungen arbeitenden externen Datenkanal
empfängt und zu diesem überträgt, der mit dem externen Speicher und Peripheriekopplungseinheiten
verbunden sein kann. Die Nikroprozessoreinrichtung weist auch eine Programmregistereinrichtung
auf, welche mit der internen Adressenschiene und mit der internen Datenschiene verbunden
ist, um eine Adresse des laufenden Befehls zu speichern, und diese Adresse zu der
internen Adressenschiene oder der internen Datenschiene zu übertragen, und sie weist
weiterhin eine Zählereinrichtung auf, welche mit der Adressenschiene, der Datenschiene
und dem Programmregister verbunden ist, um eine Adresse eines folgenden Bytes eines
Befehles zu erzeugen und diese Adresse unabhängig von der Adressenschiene in das
Programmregister zu übertragen. Dies geschieht dadurch, daß der Inhalt des Prograc.mregisters
entweder inkrementiert oder dekrementiert wird und über einen von der Adressenschiene
unabhängigen Datenweg in das Programmregister rückübertragen wird. Die Fiikroprozessoreinheit
ist intern derart ausgebildet, daß die interne Adressenschiene in zwei Abschnitte
unterteilt ist. Jeder der internen Abschnitte treibt eine separate externe Datenschienen-Treiberschaltung.
Die Programmregistereinrichtung und die Zählereinrichtung sowie alle anderen Register
und Zähler, welche mit der Adressenschiene und der Datenschiene gekoppelt sind,
sind ebenfalls aufgeteilt bzw. aufgespalten, wobei jedes dieser Teile einen ersten
Abschnitt aufweist, welcher zwischen der Datenschiene und dem ersten Adressenschienenabschnitt
angeordnet ist, welcher auch als untere oder tiefgelegte Adressenschiene bezeichnet
ist) und weiterhin einen zweiten Abschnitt
hat, (der auch als obere
Adressenschiene oder hochgelegte Adressenschiene bezeichnet ist), welcher zwischen
der Datenschiene und dem zweiten Adressenschienenabschnitt angeordnet ist. Der erste
Adressenschienenabschnitt ist weiterhin mit Hilfe eines Adressenschienenschalters
aufgeteilt, welcher in steuerbarer Weise åjeden Leiter des ersten Adressenschienenabschnittes
mit einem entsprechenden Leiter eines dritten Adressenschienenabschnittes verbindet.
Der dritte Adressenschienenabschnitt ist mit einer arithmetischen Logikeinheit gekoppelt.
-
Eine zusätzliche Logikschaltung ist auf dem Plättchen dazu vorgesehen,
die Unterbrechungsroutine zu steuern und die erforderlichen Zeittaktsignale zu erzeugen,
welche dazu dienen, eine Datenübertragung zwischen den verschiedenen Zählern und
Registern und der internen Adressenschiene und der Datenschiene sowie der Arithmetiklogikeinheit
durchzuführen.
-
Gemäß der Erfindung ist somit ein Programmregister zwischen einer
Datenschiene mit einer Breite von n Bits und einer Adressenschiene mit einer Breite
von n Bits angeordnet, um die Adresse des laufenden Bytes in einem Befehl mit mehreren
Bytes zu speichern, der gerade ausgeführt wird. Weiterhin ist ein Zähler zwischen
der Adressenschiene und der Datenschiene angeordnet, welcher zusätzlich mit einem
Programmregister gekoppelt ist, um das Laden des Zählerinhaltes in das Programmregister
unabhängig vom Status der Adressenschiene durchzuführen. Ein Hilfsregister ist ebenfalls
zwischen der Adressenschiene und der Datenschiene angeordnet. Der Zähler wird in
jedem Maschinenzyklus während der Ausführung des Befehls auf den neuesten Stand
gebracht, außer für bestimmte Befehle, während welchen der Zähler gesperrt ist,
um die Möglichkeit zu schaffen, daß er alsililfaregister arbeitet, so daß dadurch
die Adresse des nächsten Befehls gespeichert wird. Die Adressenschiene kann für
die tbertragung von Daten zu und von dem
liilfsregister verwendet
werden, und zwar gleichzeitig zu dem Laden des Programmregisters von dem Zähler.
Die Adressenschiene ist in zwei Abschnitte unterteilt, von denen åjeder n Bits breit
ist, wobei einer zur Übertragung der Adressenbits höherer Ordnung und der andere
zur unabhängigen Übertragung der Adressenbits niedrigerer Ordnung dient. Dieser
Aufbau gestattet die Ausführung von vielen Befehlen in weniger Maschinenzyklen als
es bisher möglich war.
-
Die Erfindung wird nachfolgend beispielsweise anhand der Zeichnung
beschrieben; in dieser zeigen: Fig. 1 ein Teilblockdiagramm einer bevorzugten Ausführungsform
gemäß der Erfindung, welches den Aufbau der internen Datenübertragungawege und der
Programmregister für ein Mikroprozessorplättchen veranschaulicht, Fig. 4 ein Diagramm,
welches eine Doppelleitungs-Halbleiter-Baugruppe für das Mikroprozessorplättchen
gemäß Fig. 1 veranschaulicht, wobei die Eingangs- und die Ausgangssignalanschlüsse
im einzelnen dargestellt sind, Fig. 5 ein Zeitdiagramm, welches einen Schreibspeicherzyklus
des Mikroprozessors gemäß Fig. 1 und 4 veranschaulicht, Fig. 6 ein Zeitdiagramm,
welches eine Lesespeicheroperation des Mikroprozessors gemäß Fig. 1 und 4 veranschaulicht,
und Fig. 7 ein Zeitdiagramm, welches einen Halt-Zyklus für den Mikroprozessor gemäß
Fig. 1 und 4 veranschaulicht.
-
Das Blockdiagramm der Fig. 1 stellt den Aufbau und die Anordnung des
Mikroprozessorplättchens 10 dar. Ein Mikroprozessor läßt sich auch als Mikrozentraleinheit
oder Mikrodatenverarbeitungseinheit bezeichnen. Das Mikroprozessorplättchen 10 weist
eine Anzahl von Steuerfunktionsblöcken auf, nämlich eine Schienensteuerschaltung
11, eine Halt-Logik 13, einen Zeitgenerator 21, eine Rückstartlogik 35, eine Befehlsdekodier-
und Steuerschaltung 41 und eine Unterbrechungslogikschaltung 45. Eine Schiene oder
Datenschiene läßt sich auch als Datenübertragungsweg bezeichnen. Der in der Fig.
1 dargestellte Mikroprozessoraufbau legt die fundamentalen Beziehungen zwischen
den verschiedenen Zählern, Registern und arithmetischen Logikeinheiten (ALU) und
den internen Adressenschienen und Datenschienen fest. Der Ausdruck Schiene oder
Datenschiene bzw. Datenübertragungsweg bedeutet eine Mehrzahl von getrennten Leitern
in einer einzelnen Leitung. Die oben erwähnte Steuerschaltung erzeugt in einer entsprechenden
Zeittaktsteuerung Steuersignale, welche die Übertragung von Daten zwischen den verschiedenen
Registern und Schienen und der Arithmetiklogikeinheit steuern.
-
Bevor die einzelnen Verbindungen gemäß Fig. 1 im Detail erläutert
werden, ist es zweckmäßig, diejenigen verschiedenen Signale zu beschreiben, welche
von außen an den Mikroprozessor herangeführt werden oder von dem Mikroprozessor
(MPU), d. h. von dem Mikroprozessorplättchen 10 erzeugt werden, und es werden weiterhin
die programmierbaren Register und der åjeweilige Adressenmodus des Mikroprozessorplättchens
10 erläutert. Die externen Signale, welche zu der Mikroprozessoreinheit 10 hingeführt
werden oder von dieser erzeugt werden, sind in der Fig. 4 veranschaulicht, welche
die externen Leitungsanschlüsse des Mikroprozessorplättchens 10 mit der Baugruppe
mit 40 Anschlußstiften veranschaulicht. Diese mit 40 Anschlußstiften ausgestattete
Doppelleitungs-Baugruppe ist mit 510 bezeichnet.
-
Die zwei Taktsteuerungen #1 und #2, welche das System benötigt,
sind
sich nicht überlappende Taktsignale, wie es in dem Zeitdiagramm der Fig. 5 und dem
Zeitdiagramm der Fig. 6 dargestellt ist. Die Taktsignale ~1 und ~2 arbeiten auf
einem Spannungspegel VDD Die Adressenschiene weist 16 Adressenleitungen A#-A15 auf.
Die Adressenleitungen AO-AY niedriger Ordnung sind in der Fig. 1 mit dem Bezugszeichen
14 bezeichnet, werden von den Ausgangspuffern OBL betrieben und sind in der Fig.
4 deutlich erkennbar. Die Adressenleitungen hu-A15 hoher Ordnung sind in der Fig.
1 mit 12 bezeichnet, werden von den Ausgangspuffern OBH getrieben und sind in der
Fig. 9 klar ersichtlich. Die in zwei Richtungen arbeitende externe Datenschiene
weist die Datenleitungen D#-D7 auf, welche von den Datenausgangspuffern OB getrieben
werden und von Dateneingangsregistern DBl abgefragt werden, und sie dient zur bbertragung
von Daten zu dem. und von dem externen Speicher sowie zu den und von de: Peripherieeinrichtungen,
welche von dein Mikroprozessorplå-tCcnen gesteuert werden.
-
Die 16 Adressenleitungen der Adressenschiene werden dazu verwendet,
einen externen Speicher und Peripheriestetiereinheiten zu adressieren, die nachfolgend
erläutert werden. enn der Eingang für Gehen/Halten (G/li) hochgelegt ist, holt die
Maschine den Befehl, welcker von der Inkrementiereinrichtung adressiert ist, (durch
die Bezugszahlen 36 und 40 in der Fig. 1 bezeichnetj oder die Programmzähler (in
der Fig. 1 mit 58 und 66 bezeichnet) und die Ausführung beginnt. Wenn G/H tiefgelegt
ist, wird die gesamte Aktivität der Maschine angehalten. Im Modus Halten wird die
Maschine am Ende eines Befehls angehalten, und das Signal für eine verfügbare Schiene
bzw. einen verfügbaren Datenübertragungsweg (BA) liegt auf einem logischen Pegel
"1", und das gültige Speicheradressensignal (VPIA) liegt auf einem logischen Pegel
"O. Alle anderen drei Statusleitungen sind im Drei-Status-Modus (dieser Drei-Status-Modus
ist ein
Modus mit einer sehr hohen Ausgangsimpedanz, in welchem
alle Treibereinrichtungen abgeschaltet sind), wobei der Ausgang erdfrei bleibt.
Es wird auf das Zeitdiagramm der Eig. 6 hingewiesen. Das Drei-Status-Steuereingangssignal
(TSC) 20 ist in der Fig. 1 mit dem Bezugszeichen 20 bezeichnet und bewirkt, daß
alle Adressenleitungen A#-A15 und die Lese/Schreib-(R/W)-Leitung abgeschaltet werden
oder in den Status hoher Impedanz übergehen. Die mit 24 bzw. 26 bezeichneten Signale
VMA und BA werden tiefgelegt. Jedoch wird die DB-Datenschiene 30 von TSC nicht beeinflußt,
vielmehr jedoch durch das Datenschienenaktivierungssignal 91 (DBE). Die Tatsache,
daß die Adressenleitungen A~-A15 durch Drei-(status-Schienentreiber getrieben werden,
erlaubt es der Mikroprozessoreinheit 10, für Direktapeicheradressierungsanwendungen
(DMA) verwendet zu werden, wie es unten näher erläutert wird.
-
Das Lese/Schreib-Ausgangssignal informiert die Peripherie und die
Speichereinrichtungen, ob die Mikroprozessoreinheit sich in einem Lesestatus (hoch)
oder in einem Schreibstatus (tief) befindet. Ein normaler Bereitschaftsstatus dieses
Signals ist der Lesepegel (hoch). Wenn TSC hoch geht, wird der Lese/Schreib-Puffer
abgeschaltet (hohe Impedanz). Auch dann, wenn die Maschine angehalten wird, befindet
sich der Lese/Schreib-Puffer im abgeschalteten Zustand. Das Ausgangssignal für die
gültige Speicheradresse (VMA) informiert den Speicher und die peripheren Einheiten,
daß sich eine gültige Adresse auf der Adressenschiene ABL, ABS befindet. Beim normalen
Betrieb des Systems kann VMA mit #2 über eine logische Funktinn UND verknüpft sein
oder mit einer Adressenleitung, um Aktivierungssignale für externe Speichereinheiten
und periphere Kopplungseinrichtungen zu liefern. Das Datenschienen-Aktivierungseingangssignal
91 (DBE) ist ein Drei-Status-Steuersignal für die Mikroprozessor-Datenschiene und
aktiviert die Datenschienentreiber DBO und zwar im hochgelegten Zustand. Wenn es
für eine
andere Einrichtung erwünscht ist, die Datenschiene zu
steuern, beispielsweise in bestimmten Direktspeicherzugriff-Anwendungen, sollte
DBE tief gehalten werden. Der Unterbrechungsanforderungseingang (IXQ) 51 fordert
eine Unterbrechungsfolge, die in dem Mikroprozessorplättchen 10 erzeugt werden soll.
Das Mikroprozessorplättchen wartet, bis der laufende Befehl abgeschlossen ist, welcher
gerade in der Ausführung begriffen ist, bevor die Anforderung erkannt wird. Wenn
zu dieser Zeit das Unterbrechungsmasken-Bit im Bedingungskoderegister nicht gesetzt
ist, beginnt die Maschine eine Unterbrechungsfolge, in welcher das Indexregister
IXL , IXH (65, 59) der Programmzähler 58, 66, die Akkumulatoren ACCA, 82 und ACCD,
77, sowie das Bedingungskoderegister 85 in einen externen Direkt speicher (RAM)
abgespeichert werden. Dann antwortet der Mikroprozessor 10 auf die Unterbrechungsanforderung
dadurch, daß das Unterbrechungsmasken-Bit hochgelegt wird, so daß keine weiteren
Unterbrechungszyklen auftreten können. Am Ende des Zyklus wird eine 16-Bit-Adresse
geladen, welche auf eine Vektoradresse hinweist, die in den Speicherplätzen N-6
und N-7 geladen ist. Eine an diesen Plätzen gespeicherte Adresse bewirkt, daß der
Mikroprozessor 10 eine Verzweigung zu einer Unterbrechungsroutine im externen Speicher
vornimmt.
-
Das Signal 26 für eine verfügbare Schiene (BA) befindet sich normalerweise
in einem tiefgelegten Zustand. Wenn es aktiviert wird, geht es in einen hochgelegten
Zustand über, wodurch angezeigt wird, daß der Mikroprozessor 10 angehalten wurde
und daß die Adressenschiene verfügbar ist. Dies tritt auf, wenn die Leitung Gehen/Halten
im Zustand Halten (tief) ist oder wenn der Prozessor im Wartestatus ist, was dann
auftritt, wenn ein Wartebefehl ausgeführt wird. Zu dieser Zeit gehen alle Drei-Status-Ausgangstreiber
in den abgeschalteten Status und andere Ausgänge gehen auf ihren normalen inaktiven
Pegel. Der
Prozessor wird dadurch aus dem Wartezustand herausgeführt,
daß ein maskierbares oder ein nicht-maskierbares Unterbrechungssignal auftritt.
Das Rückstartsignal (RST) bzw. das Signal zum erneuten Starten wird dazu verwendet,
den Mikroprozessor 10 dann erneut zu starten, wenn infolge eines Energieausfalles
eine Abschaltung vorgekommen ist oder wenn der Mikroprozessor überhaupt eingeschaltet
wird. Wenn bei dieser Eingangssignal eine positive Flanke erkannt wird, so bedeutet
dies für den Mikroprozessor, daß die Rückstartfolge begonnen wird. Dadurch wird
der Mikroprozessor erneut gestartet. Alle höheren Adressenleitungen werden hoch
gelegt. Bei dem Rückstartvorgang werden die zwei letzten Plätze (N-1, N) in diesem
Bereich dazu verwendet, das Programm zu laden, welches von dem Programmzähler adressiert
wird.
-
Ein nicht-maskierbares Unterbrechungssignal (NMI) fordert, daß eine
nicht-maskierbare Unterbrechungsfolge in dem Mikroprozessor erzeugt wird. Das Unterbrechungsmasken-Bit
im Bedingungskoderegister hat keine Auswirkung auf NMI. Diese Folge könnte als Unterbrechungsfolge
mit hoher Priorität angesehen werden.
-
Das Indexregister, das Programmregister, die Akkumulatoren und das
Bedingungskoderegister werden auf einen externen Speicher abgespeichert. Am Ende
dieses Zyklus wird eine 16-Bit-Adresse geladen, welche auf eine Vektoradresse hinweist,
die in die Speicherplätze N-2 und N-3 geladen ist. Eine Adresse, welche an diesen
Plätzen gespeichert ist, bewirkt, daß der Mikroprozessor eine Verzweigung zu einer
nicht-maskierbaren Unterbrechungsroutine im Speicher vornimmt.
-
Das Mikroprozessorplättchen 10 hat vier 16-Bit-Register und drei 8-Bit-Register,
welche zur Verwendung durch den Programmierer zur Verfügung stehen. Dieser Programmzähler
PCL, POH, welcher durch das Bezugszeichen 58 bzw. 66 bezeichnet ist, ist ein 2-Byte-Register,
welche auf die laufende Programmadresse
hinweist. Sein Inhalt wird
jeweils nach der Ausführung eines Befehls auf den neuesten Stand gebracht. Die Inkrementiereinrichtung
INC, welche INCL und INCH aufweist, bringt die laufende Programmadresse während
der Ausführung eines laufenden Befehls auf den neuesten Stand, indem der jeweilige
Inhalt inkrementiert oder dekrementiert wird, und sie kann unter Umständen ihren
Inhalt unabhängig von der Adressenschiene in das Pro grammregister laden und kann
als ein Hilfsregister dienen oder als ein Aufwärts/Abwärts-Zähler oder als eine
Inkrementier-/ Dekrementier-Einrichtung anderer Register, welche mit der Adressenschiene
oder der Datenschiene verbunden sind, und zwar intern.
-
Der jeweils mit den Bezugszahlen 70 und 76 bezeichnete Stapelanzeiger
SPL bzw. SPH ist ein 2-Byte-Register, welches die Adresse des nächsten verfügbaren
Platzes in einem externen Rückstell-/Vorhol-Stapel angibt.
-
Das Indexregister IXL, IXH ist ein 2-Byte-Register, welches dazu verwendet
wird, eine 16-Bit-Speicheradresse für den indizierten Modus einer Speicheradressierung
zu speichern.
-
Die Mikroprozessoreinheit 10 enthält zwei 8-Bit-Akkumulatoren ACCA
und ACCB, welche dazu verwendet werden, Operanden auf zu nehmen und ergibt sich
aus einer Arithmetiklogikeinheit ALU.
-
Das Bedingungskoderegister 85 zeigt die Ergebnisse einer Operation
der Arithmetiklogikeinheit an, und zwar einschließlich einer negativen Zahl, (N,
O) Z (Überlauf) V, Übertrag von Bit-8 (0), Halbübertrag von Bit-3 (H) und Unterbrechungsmaskenbit
(1).
-
Diese Bits des Bedingungskoderegisters werden als prüfbare Bedingungen
für die bedingten Verzweigungsbefehle verwendet.
-
Der anhand der Fig. 1 erläuterte Mikroprozessor hat sieben Adressiermöglichkeiten,
welche von einem Programmierer verwendet werden können, wobei der Adressiermodus
sowohl eine Funktion der Art des Befehls als auch der Kodierung innerhalb des Befehls
ist.
Im einzelnen bestehen folgende Adressiermöglichkeiten: Eine Akkumulatoradressierung,
bei welcher entweder der Akkumulator A oder der Akkumulator B spezifiziert ist.
Dies sind 1-Byte-Befehle. Bei einer unmittelbaren Adressierung ist der Operand in
dem zweiten und dem dritten Byte des Befehls enthalten. Es ist keine weitere Adressierung
des Speichers erforderlich. Der Mikroprozessor adressiert diesen Platz, wenn er
den unmittelbaren Befehl zur Ausführung holt. Dies sind zwei-oder 3-Byte-Befehle.
Bei der direkten Adressierung ist die Adresse des Operanden in dem zweiten Byte
des Befehls enthalten.
-
Eine direkte Adressierung versetzt den Benutzer in die Lage, direkt
die untersten 256 Bytes in einer Maschine zu adressieren.
-
Dieser Teil des Speichers sollte für eine Datenzwischenspeicherung
und für Zwischenergebnisse verwendet werden. Dies sind 2-Byte-Befehle.
-
Bei einer extensiven Adressierung wire die Adresse, welche in dem
zweiten Byte des Befehls enthalten ist, als die höheren 8-Bit der Adresse des Operanden
verwendet Das dritte Byte des Befehls wird als die unteren 8-Bit der Adresse für
den Operanden verwendet. Dies ist eine absolute Adresse im Speicher. Dies sind 3-Byte-Befehle.
Bei einer indizierten Adressierung wird die in dem zweiten Byte des Befehls enthaltene
Adresse in dem Mikroprozessor den untersten 8-Bits des Indexregisters hinzugefügt.
Der Übertrag wird dann den 8-Bits höherer Ordnung des Indexregisters zugefügt. Dieses
Ergebnis wurde dazu verwendet, einen externen Direktspeicher zu adressieren. Die
modifizierte Adresse wird in einem Zwischenadressenregister gehalten, so daß im
Indedregister keine Veränderung auftritt. Dies sind 2-Byte-Befehle. Bei dem angewadten
Adressierungsmodus liefert der Befehl die Adresse. Dies sind 1-Byte-Befehle. Bei
der
relativen Adressierung wird die in dem zweiten Byte des Befehls
enthaltene Adresse den untersten 8-Bits des Programmzählers hinzugefügt, plus 2.
Der Ubertrag wird dann den hohen 8 Bits zugefügt. Dies versetzt den Benutzer in
die Lage, Daten innerhalb eines Bereiches von-125 bis +129 Bytes des gegenwärtigen
Befehls zu adressieren. Dies sind 2-Byte-Befehle.
-
Aus der Fig. 1 ist ersichtlich, daß die Ausgangsschiene 14 (A#-A7)
niedriger Ordnung durch acht Puffer 18 (OBL) für eine tiefgelegte Ausgangsschiene
getrieben wird und daß die Adressenschiene 12 (A8-A15) hoher Ordnung durch acht
Puffer 28 (OBH) für eine hochgelegte Ausgangsschiene getrieben wird. Die Puffer
28 (OBH) und die Puffer 18 (OBL) werden durch den Drei-Status-Steuerleiter 20 (TSc)
aktiviert, und zwar ebenso wie der Lese Schreib-Ausgangspuffer 28, welcher mit dem
Lese/Schreib-Leiter 22 verbunden ist und diesen treibt. Der Lese/Schreib-Puffer
28 hat einen Eingang, welcher mit der Schienensteuerlogikschaltung 11 verbunden
ist. Die Puffer 18 für eine tiefgelegte Ausgangaschiene werden jeweils durch Adressenleiter
32 (ABL) niedrigerer Ordnung getrieben und durch interne Datenschienenleiter 44
(DB).
-
Es ist ersichtlich, daß die Spitzenenden der verschiedenen in der
Fig. 1 dargestellten Schienen bzw. Übertragungswege die Abweichungen des Datenflusses
angeben.
-
Die Puffer 16 (OBH) werden durch die Leiter 34 (ABH) für hochgelegte
Adressenschienen getrieben. Die Inkrementiereinrichtung 36 (INCL) ist zwischen der
Schiene 32 (ABL) und der Datenschiene (30) angeordnet. Es dürfte ersichtlich sein,
daß Abschnitte wie 46 und 50, welche INDOL mit ABL und DB koppeln, die mittels der
Kopplungsschaltung möglichen Datenübertragungsrichtungen anzeigen, welche den Registern
oder Zählernzugeordnet
ist. Zweckmäßigerweise werden die Abschnitte
46 und 50 als Kopplungsschaltung angesehen, wobei die Pfeilspitzen die möglichen
Richtungen von Datenübertragungen durch die äeweilige Kopplungsschaltung angeben.
Der Programmzähler PO enthält eine mit 58 bezeichnete Einheit (PCL) für einen tiefgelegten
Programmzähler und eine mit 66 bezeichnete Einheit (PCH) für einen hochgelegten
Programmzähler. Die mit 58 bezeichnete Einheit POL ist zwischen der mit 32 bezeichneten
Einheit ABL und der mit 30 bezeichneten Einheit DB angeordnet, und zwar mittels
einer Kopplungsschaltung 60 bzw. 62 und ist weiterhin mittels einer Kopplungsschaltung
48 mit der Einheit INCL gekoppelt. In ähnlicher Weise ist die Einheit PCH zwischen
der mit 3t bezeichneten Einheit DB und der mit 34 bezeichneten Einheit ABH angeordnet,
und zwar mittels einer Kopplungsschaltung 64 bzw. 68, und ist weiterhin mittels
einer Kopplungsschaltung 56 mit der Einheit INCL gekoppelt.
-
Der Programmzähler PO einschließlich des Programmzählers 58 (POL)
und des Programmzählers 66 (PCH) ist eigentlich ein Programmregister. Sein Inhalt
wird åjeweils durch INC auf den neuesten Stand gebracht, wozu INCL gehört, eine
mit 36 bezeichnete Einheit, und weiterhin auch INCH, eine mit 40 bezeichnete Einheit,
was somit als Zählereinrichtung anzusehen ist. Eine Zählereinrichtung kann allgemein
eine Inkrementier- oder eine Dekrementiereinrichtung sein oder im allgemeinsten
Sinne ein Aufwärtszähler oder ein Abwärtszähler.
-
Der Stapelzeiger umfaßt das Register 70 (SPL) für einen tiefgelegten
Stapelzeiger und das Register 76 (SPH) für einen hochgelegten Stapelzeiger. SPL
ist zwischen ABL und DB angeordnet, und zwar mittels einer Kopplungsschaltung 72
bzw. 74. SPH ist zwischen DB und ABH angeordnet, und zwar mittels einer Kopplungsschaltung
78 bzw. 80. Das Indexregister weist ein Register 65
(IXL) für ein
tiefgelegtes Indexregister und ein Register 69 (IXH) für ein hochgelegtes Indexregister
auf. (Es sei darauf hingewiesen, daß die Ausdrücke hoch bzw. hochgelegt und tief
bzw. tiefgelegt sich auf Register beziehen, welche jeweils mit Adressenschienen
hoher Ordnung bzw. niedriger Ordnung verbunden sind, nämlich mit A#-A7 bzw. A8-A15.IX2L
ist zwischen DB und ABH angeordnet, und zwar mittels einer Kopplungsschaltung 71
bzw. 73. IXL ist zwischen ABL und DB angeordnet und zwar mittels einer Kopplungsschaltung
63 bzw. 67. Eine mit 81 bezeichnete zusätzliche Einheit ABL1 für eine tiefgelegte
Adressenschiene ist mit ABL über eine Schalteranordnung 59 (SW) verbunden. IXL ist
mittels der Kopplungsschaltung 61 mit ABL1 verbunden. IXH ist mittels der Kopplungsschaltung
75 mit ABL1 verbunden. Der mit dem Bezugszeichen 77 bezeichnete Akkumulator A (ACCB)
ist zwischen ABL1 und DB angeordnet, und zwar mittels der Kopplungsschaltung 79
bzw. 44. Der mit 82 bezeichnete Akkumulator A (ABBA) ist zwischen ABL1 und DB angeordnet,
und zwar mittels der Kopplungsschaltung 83 bzw.
-
84. Das Bedingungskoderegister 85 ist mittels der Kopplungsschaltung
86 mit DB verbunden und ist weiterhin mittels der Kopplungsschaltung 87 mit der
Arithmetiklogiteinheit 88 (ALU) verbunden. ALU ist mit ABL1 und mit DB über die
Kopplungsschaltung 89 verbunden und weiterhin über die Kopplungsschaltung 90.
-
Die mit 57 bezeichnete externe Datenschiene D#-D7 ist mit der mit
30 bezeichneten internen Datenschiene DB verbunden, und zwar über die Datenausgangspuffer
92 (DB), welche durch den Eingabeleiter 91 (DBE) aktiviert werden. DBO ist in der
Fig. 1 mit 92 bezeichnet. Die externe Datenschiene 57 ist auch mit dem mit 93 bezeichneten
Dateneingaberegister DBI verbunden, welches mit DB gekoppelt ist.
-
Die Schienensteuerschaltung 11 ist mit dem Lese/Schreib-Ausgangspuffer
28 verbunden und erzeugt das Lese/Schreib-Signal,
und sie erzeugt
weiterhin das Signal (VMA) für die gültige Speicheradresse auf dem Leiter 24 sowie
das Signal (BA) für die verfügbare Schiene auf dem Leiter 26. Die Schienensteuerschaltung
11 ist mit der Halt-Logikschaltung 13 verbunden, welche durch das Eingangs signal
Gehen/Halten auf dem Leiter 15 getrieben wird. Der Zeittaktgenerator 21 erzeugt
Steuersignale auf dem Leiter 19, welche die Schienensteuerschaltung 11 steuern.
-
Dem Zeittaktgenerator 21 werden Taktsignale #1 über den Leiter 31
und #2 über den Leiter 29 zugeführt. Der Zeittaktgenerator 21 erzeugt auch Taktsignale
auf den Leitern 25, welche mit der Befehlsdekodier- und Steuerschaltung 41 sowie
mit der Unterbrechungsschaltung 45 verbunden sind, die ebenfalls mit der Befehlsdekodier-
und Steuerschaltung 41 verbunden ist.
-
Die Unterbrechungslogikschaltung 45 erzeugt ein Unterbrechungsantwortsignal
auf den Leiter 47 und weist einen Eingangsunterbrechungsauswahlleiter 49 auf. Das
Befehlsregister 53 (IR) ist zwischen der externen Datenschiene 57 und der Befehlsdekodier-und
Steuerschaltung 41 angeordnet, und zwar mittels der Kopplungsschaltung 96 bzw. 55.
Die Befehlsdekodier- und Steuerschaltung 41 erzeugt eine Mehrzahl von Steuersignalen
auf den Leitern 43, welche auf die verschiedenen Register, die Schienen und die
Arithmetiklogikeinheit sowie auf die verschiedenen Kopplungsschaltungen verteilt
werden sollen, welche jeweils zugeordnet sind, um die erforderlichen Datenübertragungen
während der Ausführung der verschiedenen Befehle in geordneter zeitlicher Folge
vorzunehmen. Diese Anschlüsse sind in der Fig. 1 nicht dargestellt. Das Zwischenregister
38, welches auch mit T bezeichnet ist, ist mit DB und ABH verbunden, und zwar mittels
der Kopplungsschaltung 42 bzw. 38.
-
Die Funktionen der Register in der Fig. 1, von denen jedes acht Bit
lang ist (d. h. ein Byte), sind gemäß der bevorzugten
Ausführungsform
der Erfindung folgende: Der Programmzähler enthält zwei 8-Bit-Register PCH und POL,
welche auf die laufende Programmadresse hinweisen. Der Stapelzeiger bzw. die Stapelzeigereinrichtung
weist zwei 8-Bit-Register SPH und SPL auf und weist auf den Stapel im Speicher hin.
Das Indexregister enthält zwei Register IXH und IXL, welche einen beliebigen Platz
im System adressieren können. Zwei 8-Bit-Zähler, welche an sich Aufwärts-Abwärts-Zähler
INOH und INDOL sind, werden dazu verwendet, den Stapelzeiger zu inkrementieren und
zu dekrementieren, ebenso das Indexregister und den Programmzähler selbst. INCH
und INCL können auch als Zwischenadressenregister verwendet werden. Das Zwischenspeicherregister
T wird dazu verwendet, Adressenbits höherer Ordnung zu speichern. Die zwei Akkumulatoren
ACCA und ACCB werden dazu verwendet, Operanden und Ergebnisse von der Arithmetiklogikeinheit
88 (ALU) aufzunehmen. Das Bedingungskoderegister 85 ist mit ALU verbunden und zeigt
folgendes an: negative Zahl, Null, Überlauf, Übertrag von Bit-7, Übertrag von Bit-3
und Unterbrechungsmaskenmarkierungen.
-
Das Datenpuffereingangsregister DBI und das 8-Bit-Befehlsregister
(1R) werden verriegelt und halten die Information, welche über die externe Datenschiene
57 zugeführt wird. Der Schienenschalter SW verbindet dann , wenn er aktiviert wird,
die Schienen ABL und ABL1 mieeinander, und er ist so aufgebaut, daß er in zwei Richtungen
arbeiten kann und Daten in jeder Richtung überträgt. Der Datenschienen-Ausgangspuffer
DBO, die Puffer OBH für eine hochgelegte Ausgangsadresse und die Puffer OBL für
eine tiefgelegte Ausgangsadresse enthalten Drei-Status-Ausgangs-Puffer, welche grundsätzlich
bekannt sind. Ein Typ wird in der entsprechenden Parallelanmeldung beschrieben.
-
Der grundlegende Lesezyklus des Mikroprozessors gemäß Fig. 1 wird
in der Fig. 7 erläutert. Die Adressenausgangssignale A~-A15 und die gültige Speicheradresse
(VMA) werden als Ausgangssignale zu Beginn von #1 erzeugt und werden zu den Zeitpunkten
A und B stabil. Es sei darauf hingewiesen, daß die Buchstaben oder die alphanumerische
Bezeichnung für bestimmte Leiter auch dazu verwendet werden kann, ein Signal auf
dem Leiter anzusprechen. Das Lese/Schreib-Ausgangssignal ist eine gewisse Zeit später
stabil, welche mit C bezeichnet ist. Die Punkte A, B und C können typischerweise
300 Nanosekunden später liegen als der Punkt D, welcher der Vorderflanke von #1
entspricht.
-
Das Speicheraktivierungssignal E kann gleich dem logischen Produkt
von VMA und #2 sein oder beispielsweise auch eine Adressenschiene. Die Daten müssen
an den externen Datenschieneneingängen 57 zu dem Mikroprozessor 10 zumindest eine
minimale Zeit stabil sein, die etwa 100 Nanosekunden vor der rückwärtigen Flanke
von #2 liegen kann. Das Datensignal ist einfach das Ausgangssignal des angesprochenen
externen Speichers.
-
Die Schreibdatenfolge des Mikroprozessors ist in der Fig. 6 veranschaulicht.
Die Adresse und VMA werden als Ausgangssignale zu Beginn von #1 erzeugt und sind
etwa 300 Nanosekunden später stabil, wie beim oben beschriebenen Lesezyklus. Die
Lese/Schreib-Leitung dient auch als Ausgang zu Beginn von ~1 und ist in etwa 350
Nanosekunden stabil. Das Mikroprozessor-Datenschienenaktivierungssignal (DBE) wird
während #2 aktiviert. An den Mikroprozessor-Datenausgangsschienen werden Daten etwa
200 Nanosekunden nach dem Beginn von #2 erzeugt.
-
Es sei darauf hingewiesen, daß Prozessoren, bzw. Datenverarbeitungseinheiten,
Steuereinheiten und Datenverarbeitungseinrichtungen bzw. Komputer bekannter Art
nach der Herstellung von Mikroprozessoren als integrierte Großschaltungen, welche
dazu dienten, in Rechner- und Datenverarbeitungssystemen verwendet zu werden, eine
große Anzahl von zugänglichen Anschlußpunkten
im System hatten.
Die große Anzahl von Anschlußpunkten, welche zugänglich waren, ermöglichte die Verwendung
großer Zahlen von Datenleitern in der Datenschiene bzw. im Datenübertragungsweg
und einer großen Anzahl von Adressenleitern in der Adressenschiene. Im allgemeinen
war die Anzahl von verfügbaren Anschlußstiften, welche für Daten- und Adressenschienen
zugänglich waren, nicht annähernd so ernsthaft begrenzt, wie es bei einem Mikroprozessor
der Fall ist, der auf einem einzigen integrierten Schaltungsplättchen aufgebaut
ist, wobei die Anzahl der Stifte, die zugänglich sind, durch die Halbleiter-Baugruppentechnologie
außerordentlich eingeschränkt ist, und es besteht gegenwärtig eine obere Grenze
von etwa 40 Stiften für eine wirtschaftliche Halbleiter-Baugruppe. Dies begrenzt
die Anzahl der Leiter stark, welche für die Adressenschiene und die Datenschiene
verwendet werden können, und es werden zugleich auch die Stifte in ihrer Anzahl
stark begrenzt, welche für andere Steuersignale zur Verfügung stehen.
-
Beispielsweise wird bei dem Mikroprozessor gemäß Fig. 1 eine 8-Bit
breite Datenschiene verwendet. Um jedoch eine ausreichend große Anzahl von Speicherplätzen
zu haben, wird eine 16-Bit breite Adressenschiene benötigt, die aus zwei Bytes besteht.
-
Die entsprechend aufgeteilte interne Datenschienenanordnung und die
entsprechend aufgeteilten Register wurden entwickelt, um eine Parallelverarbeitung
von Datenbytes zu ermöglichen, damit die Geschwindigkeit erhöht werden kann, mit
welcher bestimmte Befehle ausgeführt werden. Die Erfindung löst somit ein Problem,
welches zuvor im Stand der Technik nicht aufgetreten ist, weil bei früheren bekannten
Einrichtungen eine 2-Byte-Datenschiene leicht verwenden werden konnte, da keine
ernsthafte Begrenzung für die Anzahl der Stifte bestand, welche der Datenschiene
zugeordnet werden können.
-
- Patentansprüche -