Die Erfindung betrifft eine Schaltungsanordnung für einen
Datenverarbeitungsprozessor, wie sie im Oberbegriff des
Hauptanspruchs beschrieben ist.
Eine derartige Schaltungsanordnung ist aus der US-PS 40 99
232 bekannt. Dort ist ein Mikroprozessor mit einem Zeit
steuerregister beschrieben, das zur Intervallsteuerung, d. h.
zur Steuerung einer Unterbrechung des Programmablaufs dient, wo
bei das Zeitintervall durch das Abzählen von Taktimpulsen
ermittelt wird. Die Steuerung erfolgt in der Weise, daß das
Zeitsteuerregister auf den gewünschten Endwert gesetzt und
dann dekrementiert wird bis der Zählerstand Null erreicht
ist, um dann ein Unterbrechungssignal zu erzeugen.
Der Erfindung liegt die Aufgabe zugrunde, eine Schaltung der
gattungsgemäßen Art anzugeben, mit welcher unter Bezugnahme
auf die Echtzeit ein Steuerbyte oder Befehlsbyte unter Pro
grammsteuerung übertragen werden kann.
Diese Aufgabe wird mit den kennzeichnenden Merkmalen des
Hauptanspruches gelöst. Weiterbildungen der Erfindung sind
in den Unteransprüchen beschrieben.
Die Erfindung hat den Vorteil, daß zusätzlich zum zeitab
hängigen Unterbrechungssignal weitere echtzeitabhängige Aus
gangssignale erzeugt werden können, da der Zählerstand des
Zeitsteuerregisters kontinuierlich überwacht und mit einem
Referenzwert verglichen wird.
Nachfolgend wird die Erfindung anhand eines in der Zeichnung
dargestellten Ausführungsbeispiels weiter beschrieben.
Es zeigt
Fig. 1 ein Blockschaltbild eines Mikroprozessors, der gemäß
einer bevorzugten Ausführungsform der Erfindung aus
gebildet ist,
Fig. 2 ein Zeitdiagramm, in welchem die Beziehung zwischen
einem externen Taktgeber und verschiedenen internen
Taktgebern veranschaulicht ist,
Fig. 3A bis 3U ein Logikdiagramm einer besonders bevorzugten
Ausführungsform des in der Fig. 1 dargestellten Mikro
prozessors,
Fig. 4 ein Logik/Schaltungs-Diagramm, in welchem eine Schaltung
dargestellt ist, die zur Erkennung des Auftretens eines
Triggersignals dient und auch eine Schaltung enthält,
welche dazu dient, in selektiver Weise in Reaktion auf
das Auftreten des Triggersignals eine Unterbrechung des
Mikroprozessors herbeizuführen, und
Fig. 5 ein Logik/Schaltungs-Diagramm eines Teils der Zeitsteuer
einrichtung und eines Teils der Speichereinrichtung gemäß
der bevorzugten Ausführungsform der Erfindung.
In der Fig. 1 sind ein digitaler Datenprozessor mit acht Bit
und seine Steuerlogik, sowie eine arithmetische Logikeinheit,
eine Eingabe/Ausgabe-Einheit und Speicher dargestellt. Die Archi
tektur und der Befehlssatz des digitalen Datenprozessors 10 sind
universell ausgerichtet, jedoch für Steuer- und Regelzwecke
besonders geeignet. Die Eingabe/Ausgabe-Funktionen des digita
len Datenprozessors 10 werden über eine Gruppe von Spezial
registern ausgeführt, die in derselben Weise adressiert werden
wie andere Prozessorregister. Daher ist es möglich, die Eingabe/
Ausgabe-Logik für eine spezielle Steueranwendung oder Regelanwen
dung oder auch für allgemeinere Anwendungsfälle zu programmieren.
Der Prozessor 10 kann bis zu 8192 Zehn-Bit-Worte des Speichers
für Befehle und Daten adressieren. Normalerweise ist dieser
Speicher als Festspeicher ausgebildet (ROM), aus dem nur Daten
ausgelesen werden können, wobei veränderbare Daten im Register
bereich 48 gespeichert sind. Der Registerbereich 48 enthält eine
Mehrzahl von Acht-Bit-Datenspeicherregistern, die in einem
Bereich zur Handhabung veränderbarer Daten angeordnet sind.
Im Registerbereich 48 sind vier Spezialregister 64, 71, 73 und
74 angeordnet, und zwar gemeinsam mit sieben Eingabe/Ausgabe-
Registern 53, 54, 55, 56, 58, 47 und 62. Die übrigen Daten
speicherregister sind vorzugsweise in der Form von Speichern
mit statischem Zugriff (RAM) ausgebildet. Zusätzliche Daten
speicher, die extern zu dem Mikroprozessor 10 angeordnet sind,
sind über die Speicherschiene MB zugänglich. Die Speicherschiene
MB hat zehn in zwei Richtungen arbeitende Leitungen, welche da
zu verwendet werden können, ein Teil einer Speicheradresse von
dem Datenprozessor 10 zu einem externen Speicher zu übertragen,
wie es unten näher erläutert wird. Die Speicherschiene MB kann
dazu verwendet werden, Befehle von einem externen Speicher zum
Datenprozessor 10 zu übertragen, und sie kann auch dazu verwen
det werden, Daten zwischen dem Datenprozessor 10 und dem exter
nen Speicher zu übertragen. Die Speicherschiene MB kann auch
mit einer peripheren Schaltung verbunden werden, um als all
gemeine Eingabe/Ausgabe-Schiene zu dienen.
Die Befehls-Dekodier- und Befehls-Steuereinrichtung 11 dekodiert
Befehle und steuert die Arbeitsweise des Datenprozessors 10
und ist folglich mit vielen Schaltungsteilen innerhalb des
Datenprozessors 10 verbunden. Adressierte Befehle werden zunächst
im Befehlsregister 24 verriegelt, nachdem sie aus dem Speicher
geholt wurden, um von der Dekodier- und Steuerschaltung 11 deko
diert zu werden. Gemäß der Darstellung ist die Leitung 22 von
dem Befehlsdekodier- und Steuerblock 11 zu dem Befehlsregister 24
geführt und ist während einer Unterbrechung in Betrieb, wie es
nachfolgend näher erläutert wird. Der Befehls-Dekodier- und
Steuerblock 11 ist über eine Mehrzahl von Leitungen 12 mit der
Arithmetik- und Logikeinheit 13 verbunden. Eine Ausgangsleitung
14 von dem Befehls-Dekodier- und Steuerblock 11 ist mit einer
Auswahlschaltung 16 verbunden. Die Funktion der Leitung 14
besteht darin, eine Adresse auf den Ausgang der Auswahlschal
tung 16 zu gehen, wenn eine Unterbrechung auftritt. Ein Multi
plizier/Dividier-Zähler 17 ist über eine Leitung 18 mit dem
Befehls-Dekodier- und Steuerblock 11 verbunden und dient dazu,
Mehrfachdurchgänge durch die Arithmetik- und Logikeinheit 13
zu steuern, so daß Multiplizier- und Dividier-Operationen aus
geführt werden können. Die Leitung 19 verbindet den Zykluszähler
21 mit dem Befehls-Dekodier- und Steuerblock 11. Der Zykluszäh
ler 21 ist eine Verriegelung, welche dazu verwendet wird, im
Zwei-Zyklus-Befehl einen ersten Zyklus von einem zweiten Zyklus
zu unterscheiden. Obwohl in der Fig. 1 allgemein nur eine Leitung
zwischen verschiedenen Blöcken dargestellt ist, sei darauf hin
gewiesen, daß in einer entsprechenden gerätetechnischen Ausfüh
rungsform in solchen Verbindungen mehrere Leitungen vorhanden
sein können.
Das Befehlsregister 24 hat eine Ausgangsleitung 23, welche mit
dem Befehls-Dekodier- und Steuerblock 11, mit der Auswahlschal
tung 16, mit dem temporären Speicherregister 78 und mit dem Pro
grammzählerregister 76 verbunden ist. Die Bits, welche in dem
Befehlsregister 24 gespeichert sind, können einen Operationskode
darstellen, der in dem Befehls-Dekodier- und Steuerblock 11 zu
dekodieren ist. In einer alternativen Weise können die Bits,
welche im Befehlsregister 24 verriegelt sind, die Adresse eines
Datenregisters im Registerbereich 48 darstellen, wobei die Aus
wahlschaltung 16 diese Adresse in den Registerbereich 48 steuert.
Es kann weiterhin für bestimmte Zwei-Zyklus-Befehle eines der im
Befehlregister 24 verriegelten Bits mit denjenigen zehn Bits
zusammengefaßt werden müssen, welche während des zweiten Zyklus
gelesen werden, um ein Elf-Bit-Eingangssignal zu bilden, welches
entweder dem Programmzählerregister 76 oder dem temporären
Speicherregister 78 zugeführt wird. Eine Seitenverriegelung
oder ein Flip-Flop 28 ist mit dem Befehls-Dekodier- und Steuer
block 11 über die Leitung 26 verbunden. Ein Seitenstapel 29
ist mit der Seitenverriegelung 28 verbunden, so daß dann, wenn
eine Unterbrechung auftritt, der Seitenstatus in den Seiten
stapel 29 gespeichert werden kann, der in der Verriegelung 28
war. Das Seiten-Flip-Flop 28 ist mit einem Puffer 31 verbunden,
der einen Ausgang AD 12 hat, welcher das Bit der Speicheradresse
mit dem höchsten Stellenwert führt. Der Ausgang AD 11 ist über
einen Puffer 32 und eine Leitung 27 mit dem Befehls-Dekodier-
und Steuerblock 11 verbunden. Der Ausgang AD 11 wird durch ein
Unterbrechungsmaskenbit gesteuert, welches über eine Leitung
41 und eine Unterbrechungs-Verriegelung/Maske 42 geliefert wird,
und in Verbindung mit dem Ausgang AD 12 werden zwei Seiten von
Vordergrund-Programmen im Speicher bereitgestellt, um die Unter
brechungen zu verarbeiten. Weiterhin sind auch zwei Seiten von
Hintergrundprogrammen im Speicher enthalten, um diejenigen
programmierten Operationen durchzuführen, die zwischen den Unter
brechungen auftreten. Die Seitenadressenbits AD 11 und AD 12
adressieren eine von vier Seiten von 2048 Worten. AD 11 und AD 12
bleiben während eines gesamten Speicherzyklus stabil.
Ein Oszillator 37 hat zwei externe Anschlüsse, die mit XTAL
bezeichnet sind. Diese sind Anschlüsse für einen Oszillator
kristall. Ein Reihenresonanzkristall, der im Grundmodus schwingt
und in der Form AT geschnitten ist, kann zwischen den zwei XTAL-
Klemmen angeordnet sein, um die Arbeitsweise des internen Oszil
lators zu steuern. Wenn es erwünscht ist, einen externen Oszil
lator zu verwenden, dann kann eine entsprechende Signalquelle
verwendet werden, die ein Rechtecksignal liefert und die an einen
der XTAL-Anschlüsse angeschlossen ist, während der andere Anschluß
offen bleibt. Der Oszillator 37 ist mit einem Taktgenerator 36
verbunden. Der Taktgenerator 36 liefert alle internen Taktsignale
für den Datenprozessor 10. Der Taktgenerator 36 liefert auch ein
Ausgangssignal, welches mit CLK bezeichnet ist und welches durch
einen Puffer 38 gepuffert wird. Wenn das Taktausgangssignal CLK
auf einem hohen Pegel ist, zeigt es an, daß die Speicherschiene
MB eine Speicheradresse enthält. Wenn das Taktausgangssignal CLK
auf einem tiefen Pegel ist, zeigt es an, daß die Speicherschiene
MB Daten enthält. Während eines Speicher-Schreibbefehls, wenn
das Taktausgangssignal CLK tiefgelegt ist, kann der Prozessor
10 Daten auf die Speicherschiene MB bringen. Während anderer
Befehle als Speicherschreibbefehle kann eine externe Schaltung
Daten auf die Speicherschiene MB bringen, wenn das Taktausgangs
signal CLK tiefgelegt ist. Der Taktgenerator 36 ist über eine
Leitung 33 mit dem Befehls-Dekodier- und Steuerblock 11 verbun
den, um die Erzeugung der verschiedenen Steuerausgangssignale
zeitgerecht zu liefern.
In der bevorzugten Ausführungsform des Erfindungsgegenstandes
schließen Begrenzungen hinsichtlich der Anschlüsse der Schal
tungsanordnung die Verwendung eines Lese/Schreib-Signals zur
Anzeige der Datenrichtung auf der Speicherschiene MB während
der zweiten Hälfte eines Maschinenzyklus aus, wenn CLK tief
gelegt ist. Deshalb können Lese/Schreib-Speicher, welche eine
externe Speicherung von veränderbaren Daten ermöglichen, und
zwar ebenso wie andere periphere Einheiten, die an die Speicher
schiene MB angeschlossen sind, die Verwendung von einem der
Adressenbits dafür anfordern, daß die Datenrichtung angezeigt
wird, um den Speicherschreibbefehl zu verwenden.
Der Mikroprozessor oder Datenprozessor 10 kann einen Festspeicher
83, aus dem nur ausgelesen werden kann, als internen Speicher
auf dem Plättchen aufweisen, welcher innerhalb der gestrichel
ten Linien 82 angeordnet ist. Wenn der Prozessor 10 einen inter
nen Festspeicher 83 hat, dann ist ein Eingangssignal an der
Klemme EM erforderlich, die innerhalb der gestrichelten Linie
39 dargestellt ist, so daß der Prozessor 10 eine Information
darüber bekommt, ob ein Speicherlesebefehl an dem internen Fest
speicher 83 oder an einen externen Speicher gerichtet ist. Ein
hoher Pegel an der Eingangsklemme EM während des Datenteils
des Taktzyklus (d. h. das Taktsignal CLK ist tiefgelegt) zeigt
an, daß die Adressenanordnung extern zu dem Prozessor 10 ist,
und es wird folglich der interne Festspeicher 83 ignoriert, so
daß Daten auf der Speicherschiene MB gelesen werden. Wenn ein
tiefer Pegel an der Eingangsklemme EM während des Datenteils
des Taktzyklus vorhanden ist, so wird der interne Festspeicher
83 dazu gebracht, daß gelesen wird, abgesehen von der Zeit, in
welcher ein Lesespeicherbefehl ausgeführt wird. Der Lesespeicher
befehl hat ein Drei-Bit-Feld, welches dazu verwendet werden kann,
das M-Register 73 zu inkrementieren oder zu dekrementieren, was
sich für ein Schema bei der Prüfung einer Tabelle als zweck
mäßig erwiesen hat. Die Logik ist jedoch so aufgebaut, daß dann,
wenn alle drei Bits eine logische Eins sind, das M-Register 73
nicht inkrementiert wird (oder um Null inkrementiert wird) und
daß Daten aus der externen Speicherschiene MB gelesen werden,
anstatt aus dem internen Speicher 83. Dies führt zu einer größe
ren Flexibilität in der Verwendung des Prozessors 10.
Die Speicherschiene MB ist über einen Puffer 85 mit der Auswahl
schaltung 84 verbunden. Die Auswahlschaltung 84 wählt entweder
externe Daten aus, die auf der Speicherschiene MB ankommen, oder
Daten aus dem Festspeicher 83, die auf die Leitung 86 zu bringen
sind. Die Leitung 86 ist mit dem Befehlsregister 24, mit dem
Programmzähler 76 und dem temporären Register 78 verbunden. Der
Festspeicher 83 ist typischerweise ein Zehn-Bit-Speicher mit
einer Speicherkapazität von 1 K. In der vorliegenden Beschrei
bung der bevorzugten Ausführungsform des Erfindungsgegenstandes
wird zur Beschreibung der Speicherkapazität oft eine Abkürzung
wie 1 K, 2 K usw. verwendet. Für den Fachmann dürfte daraus er
sichtlich sein, daß 1 K eine Abkürzung für 1024 Speicherworte
ist, während 2 K eine Abkürzung für 2048 Speicherworte ist, usw.
Es sei darauf hingewiesen, daß dann, wenn es nicht erwünscht ist,
einen Festspeicher auf demselben Plättchen der integrierten
Schaltung zu haben, auf dem der Prozessor 10 ausgebildet ist,
die in den gestrichelten Linien 39 und 82 enthaltenen Bauele
mente entfallen würden und der Ausgang des Puffers 85 direkt
mit der Leitung 86 verbunden wäre. Wenn der Prozessor 10 einen
Festspeicher 83 enthält, kann der Registerbereich 48 zweiund
fünfzig direkt adressierbare Acht-Bit-Register haben. Wenn der
Prozessor 10 keinen Festspeicher 83 hat, dann kann der Register
bereich 48 auf 127 direkt adressierbare Acht-Bit-Register aus
gedehnt werden, während dieselbe Gesamtfläche des Plättchens
beibehalten wird.
Eine Unterbrechungs/Verriegelungs-Maske 42 ist über die Leitung
41 mit dem Befehls-Dekodier- und Steuerblock 11 und mit AD 11
als Ausgangspuffer 32 verbunden. Die Unterbrechung/Verriegelung-
Maske 42 ist ein temporärer Zwischenspeicher, der ausschließlich
für interne Zeitsteuerzwecke verwendet wird und gesetzt wird,
wenn eine Unterbrechung auftritt. Die Unterbrechung/Verriegelung-
Maske 42 wird zurückgestellt, wenn die Rückstellverriegelung 43
ein Eingangssignal an der Klemme Rückstellen aufnimmt. Rückstellen
ist ein aktives, tiefgelegtes Signal, und dieses Signal löst
beim Prozessor 10 einen Rückstellvorgang aus, so daß das Signal
mindestens über zehn volle Taktzyklen tiefgelegt bleiben muß.
Die Rückstellverriegelung 43 liefert ein Ausgangssignal auf der
Leitung 44, um die Stapelanzeige 46 und den Zykluszähler 21
zurückzustellen, und das Steuerregister 47 zu löschen. Das Seiten
bit in der Seitenverriegelung 28 wird auch durch das Ausgangssi
gnal von der Rückstellverriegelung 43 zurückgestellt, diese Verbin
dung ist jedoch in der Fig. 1 nicht dargestellt, um eine Über
ladung der Zeichnung zu verhindern. Wenn das Steuerregister 47
gelöscht wird, werden alle Unterbrechungen abgeschaltet, und die
Ausgangsklemme RT 3 wird in einen Eingangsmodus umgeschaltet, und
es wird weiterhin das mit SOUT bezeichnete Ausgangssignal in
einen statischen Modus mit einem Ausgangssignal Null gebracht.
Diese Funktionen werden unten im einzelnen näher erläutert. Eine
weitere Funktion, welche von dem Rückstellsignal ausgeführt
wird, besteht darin, einen Operationskode für einen Sprung in
eine Unterroutine (JSR) in das Befehls-Register 24 zu bringen,
und um weiterhin eine Vektoradresse von Null auf die Adressen
schiene 79 zu bringen, so daß die Sprungadresse geholt werden
kann, um den Befehl JSR auszuführen. Anschließend bewirkt der
Befehl JSR, daß der Programmzähler 76 mit dem Inhalt des
Speicherplatzes Null geladen wird, und es wird weiterhin
bewirkt, daß ein Befehl, der ausgeführt werden soll, geholt
wird.
Die Stapelanzeige 46 ist mit der Auswahlschaltung 16 verbunden.
Die Auswahlschaltung 16 wählt aus, welcher ihrer vier Eingänge
mit dem Adresseneingang des Registerbereichs 48 verbunden wird.
Die Auswahlschaltung 16 empfängt drei Eingangssignale von der
Stapelanzeige 46, sieben Eingangssignale vom Befehlsregister 24,
sieben Eingangssignale vom K-Register 64 und eine erzwungene
Adresse, für Unterbrechungszwecke, auf der Leitung 14, welche
von dem Befehls-Dekodier- und Steuerblock 11 kommt. Das Ausgangs
signal der Auswahlschaltung 16 wird dem Registerbereich 48 und
der Registeradressen-Dekodiereinrichtung 49 zugeführt. Diese
Registeradressen-Dekodiereinrichtung dient dazu, die Adressen
für die Register 47, 53-56, 58, 62, 64, 71, 73 und 74 zu deko
dieren. Der Registerbereich 48 ist mit den Datenschienen 51 und
52 verbunden. Die Datenschiene 52 ist eine Acht-Bit-Schiene.
Die Datenschiene 51 ist eine Drei-Bit-Schiene und dient dazu,
der Datenschiene 52 zu erweitern, um eine Elf-Bit-Datenschiene
zu bilden, und zwar für einen Teil des Prozessors 10.
Die Register im Bereich des Registers 48 sind logisch in zwei
Gruppen unterteilt und zwar durch die Adressiermöglichkeiten
des Befehlssatzes, und bestimmte Register haben spezielle
Funktionen. Das erste Register ist als Register R 1 bezeichnet,
und die übrigen Register sind in aufsteigender Weise beziffert.
Es gibt kein Register, welches mit Null bezeichnet ist. Die
Register im Registerbereich 48 werden direkt über entsprechende
Bits im Befehlswort oder indirekt über das K-Register 64
adressiert. Eine Registeradresse von Null bestimmt eine
indirekte Adressierung, weil es kein Register Null gibt und
der Inhalt des K-Registers 64 dazu verwendet wird, daß er als
echte Registeradresse dient. Die Register 1 bis 31 werden als
Zwischenregister bezeichnet und dienen zur Zwischenspeicherung
von Zwischenergebnissen, während diejenigen Register, die mit
32 und höheren Nummern bezeichnet sind, als Hilfsregister an
zusehen sind. Zusätzlich zu den Acht-Bit-Registern weist der
Registerbereich 48 neun Elf-Bit-Register auf. Acht der neun
Elf-Bit-Register werden dazu verwendet, als Programmzählerstapel
zu dienen, und das neunte Elf-Bit-Register dient als ein M-
Register für einen Stapel mit einer Ebene, und zwar für die
Register 73 und 74. Wenn eine Unterbrechung ausgelöst wird,
bringt der Befehlsdekodier- und -steuerblock 11 die Register
bereichsadresse des neunten Elf-Bit-Registers auf die Leitung
14, welche dann durch die Auswahlschaltung 16 ausgewählt ist,
um den Inhalt des M-Registers 73 und des ME-Registers 74 in dem
neunten Elf-Bit-Register abzuspeichern. Der Programmzählerstapel
dient dazu, den Inhalt des Programmzählers 76 zu speichern, und
zwar vor der Veränderung des Programmzählers 76 in der Weise,
daß eine Sprungadresse eingegeben wird. Die Stapelanzeige 46
ist ein Drei-Bit-Register und dient dazu, den Programmzähler
stapel zu adressieren, damit der laufende Programmzählerwert
an dem adressierten Platz sicher gespeichert werden kann, wenn
eine Unterroutine oder eine Unterbrechung auftreten.
Ein Befehls-Schieberegister 53 ist mit der Datenschiene 52 und
mit dem Pufferausgangstreiber 59 verbunden. Der Pufferausgangs
treiber 59 liefert ein Ausgangssignal SOUT. Der Pufferausgangs
treiber 59 kann in der Weise programmiert werden, daß er als
ein getakteter Datenausgang für serielle Bits oder als stati
scher Ausgang (DC) arbeitet, und zwar mit Hilfe der zwei Steuer
bits in dem Eingabe/Ausgabe-Steuerregister 47. Im seriellen Aus
gabemodus kommen die seriellen Daten von dem Befehls-Schiebe
register 53. Dieses Schieberegister 53 hat eine Länge von acht Bits,
den übertragenen Daten wird jedoch stets ein neuntes Bit voraus
gestellt, welches als Startbit zu bezeichnen ist und immer einen
logischen Pegel "1" aufweist. Die Daten, welche in das Befehls-
Schieberegister 53 über die Datenschiene 52 eingegeben werden,
werden verschoben und ausgegeben, nachdem das Startbit erkannt
wurde, wobei das Bit mit dem geringsten Stellenwert zuerst
verschoben wird. Durch die Verschiebung wird das Register 53
gelöscht, so daß logische Signale "0" vorhanden sind, und das
Ausgangssignal SOUT wird auf einem logischen Pegel Null gehal
ten, bis das Befehls-Schieberegister 53 erneut geladen wird oder
sein Operationsmodus verändert ist. Das Register 53 kann in der
Weise arbeiten, daß eine Verschiebung unverzüglich auftritt und
es kann in der Weise arbeiten, daß eine verzögerte Verschiebung
durchgeführt wird. Wenn derjenige Modus ausgewählt wird, in
welchem eine Verschiebung unverzüglich ausgeführt wird, beginnt
die Übertragung von Daten auf der Ausgabeleitung SOUT, und zwar
in demjenigen Maschinenzyklus, welche auf den Zyklus folgt, in
welchem ein Datenbyte in das Schieberegister 53 eingeschrieben
wird oder während des Zyklus, der auf einen Schreibbefehl für
das Eingabe/Ausgabe-Steuerregister 47 folgt, um den Modus mit
der unverzüglichen Verschiebung auszuwählen. Wenn eine verzögerte
Verschiebung stattfinden soll, beginnt die Übertragung während
des Zyklus, in welchem das Zeitsteuerregister 56 gleich demjeni
gen Wert wird, welcher im Vergleichsregister 58 gespeichert ist.
Somit ermöglicht der Zeitsteuermodus oder Zeitverzögerungsmodus,
daß ein Steuerbyte oder Befehlsbyte zu einer bestimmten Zeit
unter Programmsteuerung übertragen werden kann. In jedem
Verschiebemodus beginnt die Übertragung mit dem Startbit. Alle
Datenübergänge auf der Ausgangsleitung SOUT erfolgen bei der
negativ verlaufenden Flanke des Taktsignals CLK. Die Verschiebe
geschwindigkeit 1 Bit pro Maschinenzyklus. Im statischen Modus
wird keine Verschiebung im Register 53 durchgeführt, und dieses
Register kann dann als normales Register verwendet werden. Das
Befehls-Schieberegister 53 kann in der Weise verwendet werden,
daß unter Programmsteuerung über die Datenschiene 52 in dieses
Register eingeschrieben oder ausgelesen wird. Das Einschreiben
in dieses Register während des Intervalls, in welchem es Daten
überträgt, kann zu einer Störung dieser Daten führen. Da das
Befehlsschieberegister 53 nicht durch Rückstellen aktiviert
oder ausgelöst wird, sollte ein gültiges Datenbyte darin ein
gespeichert werden, bevor ein bestimmter Verschiebemodus gewählt
wird.
Fangregister 54 und 55 sind mit der Datenschiene 52 und mit dem
Taktgeber 56 verbunden. Die Fangregister 54 und 55 werden direkt
von dem Taktgeber 56 geladen, wenn ein Signalübergang (von tief
auf hoch oder von hoch auf tief) bei den Eingängen RT 1 oder RT 2
auftritt. Ein Eingang RT 1 steuert das Laden des Fangregisters 54,
während ein Eingang RT 2 das Laden des Fangregisters 55 steuert.
Jedes Fangregister hält somit die Zeit, welche durch den Zeit
geber 56 angezeigt wird, zu welcher der letzte Übergang bei der
entsprechenden Echtzeit-Eingangsleitung RT 1 oder RT 2 aufgetreten
ist. Die Signalübergänge an den Eingängen RT 1 oder RT 2 erzeugen
auch Unterbrechungen, um das Programm darüber zu informieren,
daß eine Eingabe erfolgt ist. Diese Unterbrechungen sind indi
viduell maskierbar, und zwar durch das Programm, über das Steuer
register 47. Die Fangregister 54 und 55 können durch das Pro
gramm über die Datenschiene 52 ausgelesen werden oder es können
auch Daten auf diesem Wege durch das Programm eingespeichert
werden, und keine dieser Operationen führt zu der Fangfunktion,
während jedoch eine Speicherung den zuletzt gefangenen Wert
zerstört. Ein dritter Echtzeiteingang RT 3 kann in der Weise
programmiert werden, daß er als Eingang oder als Ausgang arbei
tet, und zwar mit Hilfe der zwei Steuerbits im Eingabe/Ausgabe-
Steuerregister 47. Im Eingabemodus kann die Unterbrechung
gesperrt oder aktiviert werden, während im Ausgabemodus das
Ausgangssignal hochgelegt oder tiefgelegt werden kann. Im
Eingabeodus wird das Bit 3 des Eingabe/Ausgabe-Statusregisters
62 gesetzt, wenn ein Signalübergang an der Klemme RT 3 auftritt.
Eine Unterbrechung wird erzeugt, wenn die Unterbrechung nicht
gesperrt wurde. Im Eingabemodus ist der Ausgangspuffer 60 auf einer
hohen Impedanz (ausgeschaltet) gehalten. Im Ausgabemodus RT 3 wird
der Ausgang hochgelegt oder tiefgelegt, und zwar in Abhängigkeit
vom Bit 3 im Steuerregister 47.
Das Zeitsteuerregister 56 ist ein Acht-Bit-Register, welches mit
einer kontinuierlichen Geschwindigkeit durch ein Eingangssignal
vom Taktgenerator 36 um 1 inkrementiert wird. Es besteht die Mög
lichkeit der Verwendung einer Metallmaske, so daß die Geschwindig
keit, mit welcher das Zeitsteuerregister 56 inkrementiert wird,
derart gewählt werden kann, daß sie auf 1 pro Maschinenzyklus oder
auf 1 pro Maschinenzyklen oder auch auf 1 pro vier Maschinen
zyklen eingestellt werden kann. Diese Möglichkeiten sind vom Her
steller vorgesehen, und es kann eine entsprechende Betriebsart
bei der Herstellung der integrierten Schaltung ausgewählt werden,
die dann per Programm nicht verändert werden kann. Das Zeitsteuer
register 56 erhält auf diese Weise einen kontinuierlichen Bezug
zur Echtzeit bei. Eine Unterbrechung wird erzeugt, sobald das Zeit
steuerregister 56 einen Überlauf aufweist. Die Unterbrechung kann
in selektiver Weise durch das Programm maskiert werden. Das Zeit
steuerregister 56 ist mit der Datenschiene 52 zum Lesen und zum
Speichern, mit den Fangregistern 54 und 55, mit dem Gleichheits
detektor 57 und mit dem Statusregister 62 verbunden, um einen
Überlauf zu ermitteln. Das Zeitsteuerregister 56 ist in der Weise
geschaltet, daß per Programm über die Datenschiene 52 ebenso wie
bei jedem Eingabe/Ausgabe-Register eingeschrieben oder ausgelesen
werden kann. Das Lesen aus dem Register 56 hat keine Auswirkung
auf seine Zählfolge oder auch auf die Zeitsteuerung, während jedoch
das Einspeichern in das Zeitsteuerregister 56 einen neuen Acht-
Bit-Wert in das Register eingibt, wodurch das Inkrementieren der
Zeitsteuerung gesperrt wird, jedoch nur während des unmittelbar
folgenden Zyklus.
Das Vergleichsregister 58 ist mit der Datenschiene 52 und mit
dem Gleichheitsdetektor 57 verbunden. Das Vergleichsregister 58
ist ein Acht-Bit-Register, in welchem eine vorgewählte zukünftige
Zeit gespeichert werden kann. Diese gespeicherte Zeit wird konti
nuierlich mit dem Inhalt des Zeitsteuerregisters 56 verbunden,
und wenn der Inhalt im Zeitsteuerregister 56 gleich derjenigen
Zahl ist, die im Vergleichsregister 58 gespeichert ist, wird ein
Signal erzeugt, welches eine Unterbrechung hervorrufen kann, die
durch das Programm maskierbar ist, wobei auch ein Startausgangs
signal SOUT von dem Befehls-Schieberegister 53 ausgehen kann.
Diese beiden Funktionen können gleichzeitig oder getrennt aus
geführt werden, und zwar unter der Steuerung entsprechender Bits
im Eingabe/Ausgabe-Steuerregister 47. Es kann zu einer beliebigen
Zeit per Programm aus dem Vergleichsregister 58 ausgelesen oder
in das Vergleichsregister eingespeichert werden. Die vorgegebene
Zeit, die in dem Vergleichsregister 58 gespeichert wird, wird
kontinuierlich mit dem Inhalt des Zeitsteuerregisters 56
verglichen und zwar durch den Gleichheitsdetektor 57. Der Gleich
heitsdetektor 57 liefert ein Ausgangssignal an das Statusregister
62. Das Eingabe/Ausgabe-Steuerregister 47 ist mit der Datenschiene
52 verbunden und liefert ein Ausgangssignal an einen Puffertreiber
59 und an einen Ausgangstreiber 60. Das Steuerregister 47 liefert
unter Programmsteuerung eine Steuerung des Schieberegisters 53,
und der Ausgangstreiber 59 liefert eine Programmsteuerung für
den Betriebsmodus für den Eingang/Ausgang RT 3 und maskiert in
selektiver Weise die verschiedenen Unterbrechungen. Das Steuer
register 47 ist ein Acht-Bit-Register, und es kann unter Programm
steuerung über die Datenschiene 52 aus diesem Register ausgelesen
oder in dieses Register eingeschrieben werden. Das Bit 7, welches
das Bit mit dem höchsten Stellenwert des Steuerregisters 7 dar
stellt, ist dasjenige Bit, welches den Ausgang maskiert, welcher
durch den Gleichheitsdetektor 57 ermittelt wird. Das Bit 6 mas
kiert den Überlauf des Zeitgebers des Zeitsteuerregisters 56,
das Bit 5 maskiert eine RT 1-Übergangs-Unterbrechung, das Bit 4
maskiert eine RT 2-Übergangs-Unterbrechung, das Bit 3 maskiert
eine RT 3-Unterbrechung und bestimmt in Verbindung mit dem Bit 0,
ob RT 3 hochgelegt oder tiefgelegt wird, wenn sich die Anordnung
in dem Ausgabemodus befindet. Das Bit 2 und das Bit 1 des Steuer
registers 47 werden dazu verwendet, das Befehls-Schieberegister
53 und den Ausgangstreiber 59 zu steuern. Das Steuerregister 47
empfängt auch ein Engangssignal von der Rückstellung 43,
welches dazu dient, das Steuerregister 47 zu löschen und dazu
mit einem logischen Signal "0" zu füllen, wodurch alle Unter
brechungen abgeschaltet werden, und es wird RT 3 in den Eingabe
modus versetzt und SOUT in den statischen Modus, mit einem Aus
gang 0. Das Steuerregister 47 liefert auch ein Ausgangssignal an
die Unterbrechungsprioritäts- und Steuerschaltung 61.
Die Unterbrechungspriorität- und Steuerschaltung 61 erzeugt die
Priorität der Unterbrechungen, und zwar unter der Steuerung des
Steuerregisters 47, und sie liefert ein Ausgangssignal an die
Adressenschiene 79. Die Unterbrechungsprioritäts- und Steuerschal
tung 61 liefert auch ein Ausgangssignal an die Unterbrechungs
verriegelung/Maske 42 und ist weiterhin mit dem Statusregister
62 verbunden.
Das Eingabe/Ausgabe-Statusregister 62 ist ein Acht-Bit-Register,
aus dem ausgelesen und in das eingeschrieben werden kann, und
zwar unter Programmsteuerung, und dieses Register ist mit der
Datenschiene 52 verbunden. Das Statusregister 62 ist mit den Ein
gängen RT 1, RT 2 und RT 3, mit dem Gleichheitsdetektor 57 und mit
dem Zeitsteuerregister 56 verbunden und empfängt von dort Eingangs
signale. Das Statusregister 62 zeigt die Ursachen von Unterbrechun
gen an, und ermöglicht ein direktes Auslesen der drei Echtzeit-
Eingangsleitungen RT 1, RT 2 und RT 3. Der Pegel, welcher an dem
Eingang RT 1 auftritt, wird durch das Bit 2 des Statusregisters 62
reflektiert. Wenn das Bit 2 auf einem logischen Pegel "0" ist,
zeigt es an, daß das Eingangssignal am Eingang RT 1 tiefgelegt
ist, und wenn das Bit 2 auf einem hohen logischen Pegel ist, so
zeigt dies an, daß das Eingangssignal am Eingang RT 1 hochgelegt
ist. In entsprechender Weise reflektiert das Bit 1 des Status
registers 62 das Eingangssignal, welches am Eingang RT 2 auf
tritt, und das Bit 0 zeigt das Eingangssignal am Eingang RT 3
an. Die Bits 3 bis 7 werden gesetzt, wenn durch die Eingabe/
Ausgabe-Schaltung des Prozessors 10 eine Unterbrechung fest
gestellt wird. Das Bit 3 wird durch einen Übergang am Eingang
RT 3 gesetzt, das Bit 4 wird durch einen Übergang am Eingang RT 2
gesetzt, das Bit 5 wird durch einen Übergang am Eingang RT 1
gesetzt, das Bit 6 wird gesetzt, wenn das Zeitsteuerregister 56
einen Überlauf aufweist und das Bit 7 wird gesetzt, wenn der
Zeitvergleich von dem Gleichheitsdetektor 57 angezeigt wird.
Wenn eines dieser Bits 3 bis 7 eine logische "1" ist und das
entsprechende Bit im Steuerregister 47 eine logische "1" ist,
tritt eine Unterbrechung auf. Der Eingang RT 3 kann nur eine Unter
brechung erzeugen, wenn er im Eingabemodus ist. Es ist zu bemer
ken, daß die Bits im Statusregister 62 auf eine logische "1"
gesetzt sind, wenn der festgelegte Zustand vorliegt oder die fest
gelegte Bedingung eintritt, unabhängig vom Status der Unter
brechungsaktivierbits im Steuerregister 47, wobei jedoch Unter
brechungen nur erzeugt werden, wenn das entsprechende Aktivie
rungsbit im Register 47 eine logische "1" ist. Das Bit im Status
register, welches die Unterbrechung hervorruft, wird durch die
gerätetechnische Einrichtung auf eine logische "0" gelöscht,
wenn die Unterbrechung erkannt ist. Auch wird das Statusbit oder
werden Statusbits durch das Programm gelöscht.
Die Zeitgeber-Überlauf-Unterbrechung tritt am Ende des Zyklus
auf, in welchem der Zeitgeberwert von 255 auf 0 gebracht wird.
Die Zeitgeber-Vergleichs-Unterbrechung tritt am Ende desjenigen
Zyklus auf, der auf denjenigen folgt, in welchem der Wert des
Zeitgeberregisters 56 gleich dem Wert im Vergleichsregister 58
wird. Eine beliebige Unterbrechung wird verzögert, wenn eine
andere Unterbrechungsroutine gerade abläuft oder wenn ein Mehr-
Zyklus-Befehl gerade ausgeführt wird. Jede Unterbrechungsbedin
gung hat einen zugehörigen Speicherplatz, aus welchem die Unter
brechungsvektoradresse geholt wird, wenn die Unterbrechung auftritt.
Für den Fall, daß mehrere Unterbrechungen auftreten, bekommt
diejenige Unterbrechung die höchste Priorität, welche bei dem
Bit mit der höchsten Ordnungszahl des Statusregisters 62 vorhan
den ist, z. B. hat das Statusbit 7 Vorrang vor dem Statusbit 6,
welches wiederum Priorität vor dem Statusbit 5 genießt usw.
Soweit eine Unterbrechung aufgetreten ist, können weitere Unter
brechungsbedingungen vorliegen, bevor die erste Unterbrechung
gelöscht ist.
Der letzte Programmbefehl in jeder Routine zum Abarbeiten einer
Unterbrechung, welcher in dem Vordergrundprogramm gespeichert
ist, ist ein Rücksprung von dem Unterbrechungsbefehl RTI. Wenn
keine Unterbrechungen aktiv sind, wenn eine Routine zum Abarbei
ten einer Unterbrechung die letzte Unterbrechung zu Ende geführt
hat, führt die Ausführung der Rückkehr von dem Unterbrechungs
befehl RTI dazu, daß die Programmsteuerung zu dem Hintergrund-
Speicherprogramm zurückkehrt. Wenn jedoch weiterhin eine Unter
brechung ansteht, wenn RTI ausgeführt ist, tritt eine weitere
Unterbrechung auf, und sie wird unverzüglich ausgeführt, indem
der entsprechende Unterbrechungsvektor-Speicherplatz ausgewertet
wird, weil die Wirkung von RTI dieselbe ist wie bei der Ausführung
eines Befehls zum Sprung in eine Unterroutine (JSR), und es wird
eine neue Vektoradresse geliefert, um die Sprungadresse zu holen,
die durch den Befehl JSR auszuführen ist. Die Bits 3 bis 7 des
Statusregisters 62 können per Programm eingeschrieben werden,
so daß dadurch eine Unterbrechung hervorgerufen wird, wenn die
Unterbrechung durch das zugehörige Bit ins Steuerregister 47
aktiviert ist. Die Bits 0 bis 2 des Statusregisters 62 können
nicht per Programm eingeschrieben werden. Es werden nur 10 Bits
aus dem Speicher geholt, wenn ein Unterbrechungsvektor benötigt
wird, sobald eine Unterbrechung auftritt. Die drei Bits mit der
höchsten Ordnung AD 10 bis AD 12 werden durch die gerätetechnische
Einrichtung erzeugt.
Wenn eine Unterbrechung während eines ersten Maschinenzyklus
auftritt, beendet der Datenprozessor die Ausführung des gerade
ausgeführten Befehls. Anstatt den Befehl abzuspeichern, der
aus dem Speicher während dieses ersten Maschinenzyklus geholt
wurde, bringt der Befehlsdekodier- und Steuerblock 11 einen
Operationskode für einen Befehl zum Sprung in eine Unterroutine
auf die Leitung 22, und zwar zur Abspeicherung durch das Befehls
register 24. Die Programmzähler-Inkrementieroperation wird während
dieses ersten Maschinenzyklus abgeschaltet. Die Adressenschiene
79 wird von der Unterbrechungspriorität und vom Steuerblock 61
getrieben, anstatt vom Programmzähler 76, um den Speicherplatz
der Sprungadresse für die erkannte Unterbrechung zu liefern, und
die Sprungadresse wird im zweiten Maschinenzyklus geholt. Während
dieses zweiten Maschinenzyklus bringt der Befehlsdekodier- und
Steuerblock 11 die Leitung 14 zu der Adresse des neunten Elf-Bit-
Stapelregisters, um den Inhalt des M-Registers 73 und des ME-
Registers 74 zu speichern. Ebenfalls während dieses zweiten
Maschinenzyklus wird das Ausgangssignal des Programmzählers 76
dem Eingang der Inkrementierstufe 77 zugeführt, die Inkrementier
operation wird abgeschaltet und das Ausgangssignal der Inkremen
tiereinrichtung wird im T-Register 78 gespeichert. Gleichzeitig
wird die Sprungadresse, die während dieses zweiten Maschinenzyklus
geholt wurde, von dem Speicher aufgenommen und zwar auf der
Speicherschiene MB, und sie wird durch den Puffer 85 und die Lei
tung 86 zum Eingang des Programmzählers 76 übertragen. Schließlich
wird während des dritten Maschinenzyklus der bei der Sprungadresse
gespeicherte Befehl aus dem Speicher geholt, während der vorher
gehende Programmzählerwert, der nunmehr im T-Register 78 gespeichert
ist, zu dem Programmzählerstapel übertragen wird.
Das K-Register 64 ist ein Acht-Bit-Register, welches mit der
Datenschiene 52 verbunden ist und ein Ausgangssignal an die Aus
wahlschaltung 16 liefert. Das Register 64 ist ein direkt adres
sierbares Register und es wird auch dazu verwendet, die effektive
Registeradresse für die indirekte Registeradressier-Betriebsart
aufzunehmen. Das K-Register 64 ist mit dem KS-Register 63
verbunden. Das Register 63 ist auch ein Acht-Bit-Register und
dient als ein Stapel mit einer Ebene für das Register 64. Sobald
eine Programmunterbrechung auftritt, wird der Inhalt des Registers
64 in dem Stapelregister 63 abgespeichert. Bei der Ausführung
des Rücksprungs von dem Unterbrechungsbefehl RTI wird der Inhalt,
der in dem Stapelregister 63 abgespeichert wurde, zu dem K-
Register 64 zurück übertragen.
Das A-Register 67 ist ein Acht-Bit-Register, welches mit der
Datenschiene 52 verbunden ist, um Daten von der Schiene 52 auf
zunehmen. Das A-Register 67 ist auch mit der Arithmetik- und
Logikeinheit 13 verbunden und liefert dazu echte und komple
mentäre Ausgangssignale. Das Register 67 enthält einen der Ope
randen für zwei-Operanden-Operationen, während der andere Operand
aus dem adressierbaren Register ausgelesen wird. Bei den meisten
Befehlen wird das Ergebnis der Operation in das adressierte
Register im Registerbereich 48 zurückgebracht. Eine Gruppe von
Einzel-Operanden-Befehlen kommt mit dem Register 67 aus. Das
Register 67 enthält die Hälfte mit dem höchsten Stellenwert
eines Sechzehn-Bit-Operanden, und zwar für Teilungs- und Verschiebe-
Doppelbefehle, und es enthält die Hälfte mit dem höchsten Stellen
wert eines Sechzehn-Bit-Ergebnisses einer Multiplizier-Operation.
Ein Register 67 ist keines der adressierbaren Register, und seine
Verwendung ist bei verschiedenen Befehlen implizit. Das Register
67 ist mit einem Stapelregister 66 mit einer einzigen Ebene
verbunden. Wenn eine Unterbrechung auftritt, wird der Inhalt des
Registers 67 zu dem Stapelregister 66 übertragen, wo er sicher
abgespeichert wird. Nach der Beendigung des Rücksprungs von der
Unterbrechung oder dem Unterbrechungsbefehl RTI wird der Inhalt
des Stapelregisters 66 in das Register 67 zurück übertragen.
Die Arithmetik- und Logikeinheit 13 ist mit der Datenschiene 52
verbunden und liefert Ausgangssignale für das Verschiebenetzwerk
69 und das Markierungsregister 71. Das Null- und das Überlauf-Bit
werden durch die Arithmetik- und Logikeinheit 13 an das Markie
rungsregister 71 geliefert, um festzulegen, ob das Ergebnis der
von der Einheit 13 ausgeführten Operation gleich Null war bzw.
ein Austragsignal erzeugt wurde. Daten von der Datenschiene 52
können direkt zu der Arithmetik- und Logikeinheit 13 übertragen
werden, oder es kann ihr Komplement durch das Befehlswort aus
gewählt werden, bevor die Daten in die Einheit 13 eingegeben
werden. Der Inverter 68 dient dazu, das Komplement der Daten
auf der Datenschiene 52 zu bilden. Die Arithmetik- und Logikein
heit 13 führt die Operationen des Addierens, des Subtrahierens,
des Inkrementierens, des Dekrementierens und auch die Operationen
für die logische Funktion UND, die logische Funktion ODER und
die logische Funktion des exklusiven ODER bei Daten aus, die in
dem Register 67 gespeichert sind, und sie führt diese Operation
auch bei Daten aus, die in einem der adressierbaren Register
gespeichert sind. Das Acht-Bit-Ergebnis der Operation kann vor
zugsweise oder wahlweise durch das Verschiebenetzwerk 69 um eine
Stelle nach links oder nach rechts verschoben werden. Die Ope
rationen des Multiplizierens und Dividierens werden durch Mehr
fachschritte durch die Arithmetik- und Logikeinheit 13 ausgeführt.
Das Verschiebenetzwerk ist mit der Datenschiene 52 verbunden
und arbeitet mit der Arithmetik- und Logikeinheit 13 zusammen,
um die Verschiebefunktionen auszuführen.
Das Markierungsregister 71 ist ein Acht-Bit-Register, welches
mit den Datenschienen 51 und 52 verbunden ist. Zusätzlich zu
den acht Bits aus dem Register 71, welche der Datenschiene 52
zugeführt werden, werden auch zwei der Bits der Datenschiene 51
zugeführt. Diese zwei Bits sind das Null-Bit und das Übertrag-
Bit. Wie oben bereits erläutert wurde, werden das Null-Bit
und das Übertrag-Bit von der Arithmetik- und Logikeinheit 13
dem Markierungsregister 31 zugeführt. Das Register 71 ist derart
geschaltet, daß es per Programm über die Datenschiene 52 aus
gelesen oder auch auf diesem Weg in das Register eingeschrieben
werden kann. Das Register 71 enthält Anzeigemarkierungen, welche
gesetzt oder gelöscht werden, und zwar in Abhängigkeit von den
Ergebnissen der meisten arithmetischen und logischen Operationen.
Weiterhin sind durch das Programm steuerbare und prüfbare Markie
rungen vorhanden. Die Markierungsbits im Register 71 können über
prüft werden, und zwar als Sprungbedingungen, durch die beding
ten Verzweigungsbefehle. Das Markierungsregister 71 ist mit einem
Markierungsstapelregister 72 mit einer einzigen Ebene verbunden.
Das Stapelregister 72 ist auch ein Acht-Bit-Register, und wenn
eine Unterbrechung auftritt, speichert es den Inhalt des Registers
71. Am Ende der Unterbrechung, wenn der Befehl RTI ausgeführt
wird, wird der Inhalt vom Stapelregister 72 in das Register 71
zurück übertragen.
Das M-Register 73 ist ein Acht-Bit-Register, und es ist mit der
Datenschiene 52 und mit der Adressenschiene 79 verbunden. Das
Register 73 ist derart geschaltet, daß es per Programm ausgelesen
und auch per Programm in das Register eingespeichert werden kann,
und es wird auch ausschließlich beim Multiplizieren, Dividieren,
Verschieben nach rechts doppelt, Verschieben nach links doppelt,
Lesen des Speichers, Einschreiben in den Speicher, Sprung durch
das M-Register und Sprung zur Unterroutine durch M-Register-
Befehle verwendet. Beim Multiplizieren, Dividieren und beim
Verschieben doppelt bildet das Register 73 eine Hälfte eines
Sechzehn-Bit-Operanden oder eines Ergebnisses, und zwar die Hälfte
mit dem geringsten Stellenwert. Bei denjenigen Befehlen, mit denen
ein Speicher ausgelesen oder in einen Speicher eingeschrieben wird,
enthält das Register 73 die acht Bits mit dem geringsten Stellen
wert der Speicheradresse, während die drei Bits mit dem höchsten
Stellenwert in der M-Erweiterung (ME) des Registers 74 enthalten
sind. Beim Sprung durch M und beim Sprung in die Unterroutine
durch M enthält das Register 73 die acht Bits mit dem gering
sten Stellenwert der Sprungadresse, während die drei Bits mit
dem höchsten Stellenwert der Sprungadresse in dem ME-Register 74
enthalten sind. Das ME-Register 74 ist ein Drei-Bit-Register,
und es ist mit den Datenschienen 51 und 52 sowie der Adressen
schiene 79 verbunden. Das Register 74 enthält die Bits 8, 9 und
10 der Speicheradresse für den Lesespeicher, den Schreibspeicher,
den Sprung durch das M-Register und den Sprung in die Unterroutine
durch das M-Register. Wie oben bereits erwähnt wurde, teilen sich
das M-Register 73 und das ME-Register 74 in ein Elf-Bit-Unter
brechungsunterstützungs- und -stapelregister, welches ein Teil
des Registerbereichs 48 ist. Dieses Elf-Bit-Register ist dort
angeordnet, wo der Inhalt der Register 73 und 74 während einer
Unterbrechungsroutine abgespeichert wird. Während der Ausführung
des Rücksprunges von dem Unterbrechungsbefehl wird der Inhalt,
der in dem Stapelregister sicher abgespeichert war, in die Regi
ster 73 und 74 zurückgebracht. Das Programmzählerregister ist
ein Elf-Bit-Register, welches mit den Datenschienen 51 und 52
sowie mit der Adressenschiene 79 verbunden ist. Das Register 76
ist ein Programmzähler und enthält diejenige Adresse, welche
gerade geholt wird und welche um eins erhöht wird, wenn die ein
zelnen Befehlsworte geholt werden, so daß die Befehle nacheinander
aus dem Programmspeicher geholt und ausgeführt werden. Das Register
76 kann über den Sprungbefehl und den Verzweigungsbefehl geladen
werden, so daß diese Operationsfolge geändert wird. Die Inkremen
tiereinrichtung 77 ist mit dem Programmzählerregister 76 verbunden
und inkrementiert dieses Register 76. Das Register 76 empfängt
zehn Eingangssignale, welche über die Leitung 86 von dem Puffer
85 zugeführt werden, plus ein Eingangssignal, welches von dem
Befehlsregister 24 kommt.
Acht Elf-Bit-Register sind in dem Registerbereich 48 vorgesehen,
um den Inhalt des Programmzählerregisters 76 während der Unter
routinen und der Unterbrechungen abzuspeichern und sicherzustel
len. Die acht Elf-Bit-Register bilden einen Rückstellstapel mit
acht Ebenen, und diese acht Elf-Bit-Stapelregister sind nicht
direkt per Programm adressierbar. Ist die Drei-Bit-Stapelanzeige
46 zeigt an, welches der acht Elf-Bit-Stapelregister gerade
angesprochen wird. Wenn ein Sprung in eine Unterroutine oder
Programmunterbrechung auftreten, wird die Stapelanzeige 46 um
1 dekrementiert, und der Inhat des Programmzählerregisters 76
wird in das Stapelregister übertragen, welches durch die Stapel
anzeige 46 angezeigt ist. Somit zeigt die Stapelanzeige 46
normalerweise auch die letzte Adresse, die abgespeichert wurde.
Die abgespeicherte Adresse ist diejenige Adresse, zu welcher
das Programm zurückkehrt, sobald die Unterroutine oder die
Unterbrechungsroutine abgeschlossen sind. Der Rücksprung von
der Unterroutine und der Rücksprung von einem Unterbrechungs
befehls können das Programmzählerregister 76 dazu bringen, daß
es aus dem Stapelregister erneut geladen wird, welches durch die
Stapelanzeige 46 angegeben wird, und es wird dann die Stapelanzeige
46 um 1 inkrementiert, außer dann, wenn während der Ausführung
des Befehls RTI eine weitere Unterbrechung ansteht. Dann wird
die Stapelanzeige 46 nicht um 1 inkrementiert, und das Register
76 wird mit dem Inhalt der Vektoradresse geladen, anstatt mit
dem Inhalt des Stapelregisters geladen zu werden. Das Inkremen
tieren oder Dekrementieren der Stapelanzeige 46 bewirkt, daß ein
Umlauf ausgeführt wird, nachdem acht Speicherplätze verwendet
wurden, so daß der Stapel als ein Kreisstapel angesehen werden
kann und somit mehr als acht Adressen in diesem Stapel gespeichert
werden können, wobei die älteste Adresse zerstört wird und nur
die jeweils aktuellsten acht Aressen erhalten bleiben. Die
Stapelanzeige 46 kann nicht direkt durch das Programm zum Ein
schreiben oder Auslesen angesteuert werden. Von den acht verfüg
baren Ebenen kann eine eine Unterbrechungsrückkehr-Adresse sein,
wenn Unterbrechungen verwendet werden, während die übrigen Ebenen
für die Einspeicherung von Unterroutinen zur Verfügung stehen.
Das temporäre Register 78 ist ebenfalls ein Elf-Bit-Register, und
es wird nur zur temporären Speicherung von Information verwendet.
Das Register 78 wird während jedes Maschinenzyklus getaktet und
empfängt zehn Eingangsbits von der Leitung 86 und ein Eingangs
bit von dem Befehlsregister 24. Die Ausgänge des Registers 78
sind mit den Datenschienen 51 und 52 verbunden. Das Ausgangssignal
der Inkrementiereinrichtung 77 kann ebenfalls in das temporäre
Register 78 geladen werden. Dieses Merkmal erlaubt, daß der
Inhalt des Programmzählerregisters 76 inkrementiert und während
eines ersten Zyklus im T-Register 78 gespeichert wird, während
der Programmzähler 76 mit einer Sprungadresse geladen wird und
der Inhalt des T-Registers 78 in den Programmzählerstapel
während eines zweiten Zyklus geladen wird.
Die Adressenschiene 79 ist eine Elf-Bit-Schiene und wird in selek
tiver Weise mit der externen Speicherschiene MB verbunden, und
zwar durch die Auswahlschaltung 81 und den Ausgangspuffer 87.
Eines der Bits von der Adressenschiene 79 wird dem Puffer 88
zugeführt, der ein Ausgangssignal für den Ausgang AD 10 liefert.
Dieses eine Bit wird von dem Bit mit dem höchsten Stellenwert
des Elf-Bit-Programmzählers 76 oder von dem Bit mit dem höchsten
Stellenwert des ME-Registers 74 genommen. Die Auswahlschaltung
81 wählt entweder die Adressenschiene 79 oder die Datenschienen
51 und 52 aus, und zwar zur Verbindung mit der Speicherschiene
MB. Die Drei-Bit-Datenschiene 51 arbeitet mit der Acht-Bit-
Datenschiene 52 zusammen, um eine Datenschiene zu bilden, welche
dazu in der Lage ist, Elf-Bit-Daten zu handhaben. Die Auswahl
schaltung 81 ist mit dem Puffer 87 und mit dem Festspeicher 83
verbunden, wenn der Festspeicher 83 einen Teil des Datenprozes
sors 10 bildet. Die Speicherschiene MB enthält die 10 Bits gerin
ger Ordnung der Speicheradresse während der ersten Hälfte des
Taktzyklus und die Datenbits während der zweiten Hälfte des
Taktzyklus. Die zehn Speicherschienenleitungen MB sind Leitungen,
die drei verschiedene Zustände annehmen und in zwei verschiedenen
Richtungen arbeiten können.
Um die Seitenbegrenzungen des Prozessors 10 zu beschreiben, ist
es zweckmäßig, drei Ausdrücke zu definieren. Der erste Ausdruck
ist "Vordergrund-Programm" und bedeutet denjenigen Teil des Pro
gramms, welcher in Reaktion auf die verschiedenen Unterbrechungen
ausgeführt wird, beispielsweise alle diejenigen Befehle, die
nach einer Unterbrechung ausgeführt werden, und zwar bis ein
schließlich zum Rücksprung von der Unterbrechung, vom Befehl RTI.
Der zweite Ausdruck "Hintergrund-Programm", welches einen Teil
desjenigen Programms darstellt, welches in Abwesenheit von
Unterbrechungen oder Zwischenunterbrechungsroutinen durchgeführt
wird. Der dritte Ausdruck ist "Datentabellen", und dieser Ausdruck
bedeutet die Datenworte, die von dem Speicher durch den Speicher
lesebefehl zugänglich sind. Dieser Adressenraum würde auch einen
Speicher beinhalten, in den Daten eingeschrieben werden können,
oder eine periphere Einrichtung, welche an die Speicherschiene
MB angeschlossen ist und durch die Befehle wie Speicher lesen
oder in den Speicher einschreiben zugänglich ist.
Zwei Seiten stehen für das Hinergrund-Programm zur Verfügung.
Eine Seite ist nur für das Vordergrund-Programm zugänglich, und
eine weitere Seite kann sowohl von dem Vordergrund-Programm als
auch von den Datentabellen angesprochen werden. Das Seitenbit
wird durch das Programm gesteuert, welches den Sprungseitenbefehl
enthält und dazu verwendet, eine Ausdehnung des Hintergrunds-
oder Vordergrund-Programms von 2048 Worten des Speichers auf
4096 Worte des Speichers zu ermöglichen. In Systemen mit einer
Speicherkapazität von 4 K oder 6 K ist es erforderlich, ein Seiten
bit zu verwenden, um das gesamte Programm in einen verfügbaren
Speicherplatz unterzubringen, obwohl weder das Vordergrund- noch
das Hintergrund-Programm 2048 Worte übersteigt. Das Seitenbit,
welches im Seiten-Flip-Flop 28 gespeichert ist, wird durch den
Befehl Rückstellen auf Null ausgelöst. Der Sprungseitenbefehl
invertiert das Seitenbit, so daß die Seiten geändert werden.
Eine Seitenänderung innerhalb des Vordergrund- und des Hinter
grund-Programms kann nur durch den Seitensprungbefehl ausgelöst
werden.
Wenn eine Unterbrechung auftritt, wird das Hintergrund-Seitenbit
durch einen Einzelpegel-Seitenstapel 29 abgespeichert und das
Seiten-Flip-Flop 28 wird dann auf Null gebracht, und zwar für
den Vordergrund, und es kann nach den Erfordernissen verändert
werden. Der Rücksprung vom Unterbrechungsbefehl stellt die Hinter
grundseite wieder her, welche durch den Seitenstapel 29 sicher
abgespeichert wurde, und zwar wird sie in das Seiten-Flip-Flop
28 gebracht. Die Ausgänge AD 11 und AD 12 wählen die Seite aus,
und werden gemäß den obigen Erläuterungen durch die gerätetech
nische Einrichtung gesteuert, und AD 12 wird durch das Seitenbit
von der Seitenverriegelung 28 gesteuert. Während des Datenüber
tragungszyklus des Befehls Speicher lesen oder des Befehls In den
Speicher einschreiben führt die Funktion der gerätetechnischen
Einrichtung während des Datenübertragungszyklus dazu, daß AD 11
und AD 12 mit dem Signal einer logischen "1" beaufschlagt werden,
wenn der Speicher M und die ME-Register 73 und 74 adressiert wer
den. Deshalb müssen alle Daten auf der Seite 3 liegen und sind
zugänglich, unabhängig davon, welche Seite des Programms gerade
ausgeführt wird. Digitale Datenverarbeitungssysteme, welche eine
Speicherkapazität von weniger als 8 K erfordern, können Seiten
zusammenfalten, indem eine partielle Kodierung der Seitenadressen
bits verwendet wird, um Speichergrößen von 2 K, 4 K oder 6 K zu bil
den.
Es wurde oben der grundlegende Aufbau oder die grundlegende Archi
tektur für einen digitalen Datenprozessor beschrieben, der zwar
als allgemeiner Datenprozessor verwendet werden kann, jedoch ins
besondere für spezielle Steuer- und Regelzwecke geeignet ist.
Der oben beschriebene Datenprozessor 10 kann in Verbindung mit
einer Anpaßschaltung bei einer speziellen Anwendung in der Weise
betrieben werden, daß beispielsweise bei der Maschine eines Kraft
fahrzeuges die Steuerung übernommen wird, wobei beispielsweise
folgende Aufgaben übernommen werden: Messungen an der Maschine,
am Fahrzeug und in den Umgebungsbedingungen durchzuführen und
Auflösesignale für das Zündsignal zu erzeugen, eine Steuerung
der Abgas-Drosselklappenstellung-Rezirkulation und eine Steuerung
der Treibstoffmessung durchzuführen. Es werden vier Eingangs-/
Ausgangs-Signale (SOUT, RT 1, RT 2 und RT 3) und ein Zeitsteuersignal
CLK für die Kommunikation zwischen dem Prozessor 10 und einer
linearen Anpaßschaltung geliefert. Der Prozessor 10 führt seine
Steuerfunktion in Reaktion auf diese Signale durch, und zwar
über sieben Spezial-Eingangs/Ausgangs-Register (Register 47, 53-56,
58 und 62). Die sieben Register werden über einen Befehlssatz
in derselben Weise wie die übrigen Register angesprochen, ohne
von bestimmten Eingabe/Ausgabe-Befehlen Gebrauch zu machen. Die
ersten 31 Register im Registerbereich 48 sind direkt und indirekt
adressierbar, und zwar bis alle Registermanipulationsbefehle,
und sie können für arithmetische und für logische Operationen
verwendet werden. Die sieben Eingangs/Ausgangs-Register sind in
dieser Gruppe von 31 Registern enthalten. Die Register 32 und
darüber im Registerbereich 48 sind direkt adressierbar, und zwar
durch Befehle Laden A und Speichern A, und sie sind durch alle
übrigen Registermanipulationsbefehle indirekt adressierbar. Auf
diese Weise sind diese Register nicht so leicht zugänglich wie
die ersten 31 Register und sollten verwendet werden, wo es möglich
ist, um Daten zu handhaben und zu verarbeiten, die weniger oft
benötigt werden. Weiterhin ist ein Stapel mit einer Ebene vor
gesehen, um den Inhalt der Register 64, 67, 71, 73 und 74 zu
speichern. Der Inhalt dieser Register wird direkt gespeichert,
und zwar gemeinsam mit der Abspeicherung des Inhalts des Programm
zählerregisters 76 während einer Programunterbrechung. Nachdem
der Rücksprung von einem Unterbrechungsbefehl ausgeführt ist,
wird der Inhalt dieser Register zusammen mit dem Abspeichern des
Inhalts des Programmzählerregisters 76 in die übrigen Register
zurückgeführt. Auf diese Weise wird ein außerordentlich rasches
Ansprechen auf Unterbrechungen gewährleistet, und es wird die
Zeit insgesamt verkürzt, welche benötigt wird, um eine Unter
brechung abzuarbeiten. Die Stapelregister, welche zur Speicherung
des Inhalts dieser Register verwendet werden, sind durch das
Programm nicht adressierbar.
In der Fig. 2 ist ein Zeitdiagramm dargestellt, welches das
externe Taktsignal CLK und eine Reihe von internen Taktsignalen
T 1, T 2, T 3 und T 4 enthält. Das externe Taktsignal CLK wird durch
den Taktgenerator 36 erzeugt und ist ein Ausgangssignal vom
Puffer 38, wie es in der Fig. 1 dargestellt ist. Die internen
Taktsignale T 1 bis T 4 werden durch den Taktgenerator 36 gelie
fert und sind in der Fig. 1 in der Weise dargestellt, daß sie
über die Leitung 33 dem Befehlsdekodier- und Steuerblock 11 zu
geführt werden. In dem Zeitdiagramm der Fig. 2 sind ebenfalls
Wellenformen dargestellt, welche den Status der Speicherschiene
MB und der Datenschienen 51 und 52 während eines Maschinenzyklus
angeben. Für den typischen Vorgang des Holens eines Befehls wird
CLK während der ersten Hälfte eines Maschienzyklus hochgelegt,
und die Adresse des anzusprechenden Speicherplatzes wird in die
Speicherschiene MB gebracht, und zwar durch den Puffer 87.
Während der zweiten Hälfte des Maschinenzyklus wird CLK tief
gelegt und der externe Festspeicher, aus dem nur ausgelesen wer
den kann, bringt den angesprochenen Befehl auf die Speicherschiene
MB, welche an den Eingangspuffer 85 angeschlossen ist.
Während einer ersten Taktphase T 1 wird die interne Datenschiene
51 bzw. 52 vorab aufgeladen, um Daten von dem Registerbereich 48
zur Arithmetikeinheit 13 zu übertragen. Ebenfalls während der
Taktphase T 1 wird der Programmzähler 76 mit der Inkrementierein
richtung 77 verbunden. Während der internen Taktphase T 2 wird
für einen typischen Befehl das im Registerbereich 48 gespeicherte
Datenwort, welches dem Speicherplatz entspricht, der durch die
Auswahleinrichtung 16 ausgewählt wurde, auf die Datenschiene
gebracht, um durch die Arithmetik- und Logikeinheit 13 verarbei
tet zu werden. Während der internen Taktphase T 3 wird die Daten
schiene erneut vorab aufgeladen, um diese für eine zweite Daten
übertragung vorzubereiten. Ebenfalls während des internen Takt
zyklus T 3 führt die Arithmetik- und Logikeinheit 13 den Befehl
aus, welcher durch den Befehlsdekodier- und Steuerblock 11 deko
diert wurde. Schließlich wird während der internen Taktphase T 4
das Ergebnis von der von dem Arithmetik- und Logikblock 13 aus
geführten Operation der Datenschiene 52 zugeführt, und zwar
durch die Verschiebelogik 69, und es wird in den Registerbereich
48 übertragen, um an dem Speicherplatz abgespeichert zu werden,
welcher durch die Auswahleinrichtung 16 ausgewählt wurde. Ebenfalls
wird während der Taktphase T 4 der Programmzähler 76 von der
Inkrementiereinrichtung 77 geladen, und zwar mit der Adresse
des Befehls, der im nächsten Maschinenzyklus zu holen ist.
Gemäß der Darstellung in der Figur sind die Adressenschienen 79
während der Taktphase T 3 vorab aufgeladen. Der Inhalt des Pro
grammzählers 76 wird mit dem inkrementierten Wert während der
Taktphase T 4 auf den neuesten Stand gebracht. Bei der rückwärti
gen Flanke von T 4 wird das Ausgangssignal des Programmzählers 76
der Adressenschiene 79 zugeführt, um die Adresse des nächsten
Befehls zu liefern. Der Ausgangspuffer 87 wird während der
Taktphasen T 1 und T 2 aktiviert, um die Adressenschiene 79 mit
der Speicherschiene MB zu verbinden. Während die Adressenschiene
79 während der Taktphase T 3 vorab aufgeladen wird, werden die
Datenschienen 51 und 52 durch die Auswahleinrichtung 81 mit dem
Eingangspuffer 87 verbunden. Für einen Speicherschreibbefehl
wird der Ausgangspuffer 87 während der Taktphasen T 3 und T 4 akti
viert, um die Daten auf der Datenschiene der Speicherschiene MB
zuzuführen, so daß die Daten in den Speicher eingeschrieben wer
den können. Während der Ausführung von allen Befehlen außer dem
Speicherschreibbefehl werden die Datenschienen 51 und 52 während
der Taktphase T 1 und auch während der Taktphase T 3 vorab auf
geladen. Während eines Speicherschreibbefehls wird die Daten
schiene während der Taktphase T 3 nicht vorab aufgeladen, so daß
eine Störung durch die Datenübertragung zu der Speicherschiene
MB vermieden wird.
Das Befehlsregister 24, der Programmzähler 76 und das T-Register
78 werden während des Taktphase T 4 auf den neuesten Stand gebracht.
Üblicherweise wird der Programmzähler mit dem Ausgangszähler
der Inkrementiereinrichtung 77 geladen. Während der Sprungbefehle
jedoch wird der Programmzähler mit den zehn Bits der Daten geladen,
welche durch den Eingangspuffer 85 aus der Speicherschiene MB
empfangen werden, plus einem elften Bit, welches vom Befehlsregister
24 empfangen wird. Typischerweise wird das T-Register 78 mit den
zehn Bits von Daten auf den neusten Stand gebracht, welche von
der Speicherschiene MB empfangen werden, und mit einem elften
Bit, welches vom Befehlsregister 24 kommt. Wenn jedoch eine
Unterroutine oder eine Unterbrechung auftritt, wird das T-Register
78 mit dem Ausgangssignal der Inkrementiereinrichtung 77 auf den
neuesten Stand gebracht, um eine Speicherung der Rücksprung
adresse am Programmzählerstapel zu ermöglichen.
Die Datenschiene wird mit dem Eingang der Arithmetik- und Logik
einheit 13 während der Taktphase T 2 verbunden. Der Ausgang des
Verschiebenetzwerks 69 ist typischerweise mit der Datenschiene
von der rückwärtigen Flanke der Taktphase T 3 bis zur Vorderflanke
der Taktphase T 1 verbunden. Es sei jedoch in Erinnerung gebracht,
daß für einen Speicherschreibbefehl die Datenschiene während der
Taktphase T 3 nicht vorab aufgeladen wird. Deshalb ist während
eines Speicherschreibbefehls der Ausgang des Verschiebenetzwerks
69 mit der Datenschiene 52 von der rückwärtigen Flanke der Takt
phase T 2 an bis zur Vorderflanke der Taktphase T 1 verbunden.
Während der Ausführung der meisten Befehle wird der Register
bereich 48 während der Taktphase T 4 geschrieben, um die auf der
Datenschiene vorhandenen Daten zu speichern. Während der Ausfüh
rung eines Sprungbefehls in eine Unterroutine jedoch ist der
Registerbereich dazu in der Lage, Daten während der Taktphase
T 2 zu schreiben, damit die Rücksprungadresse auf dem Programm
zählerstapel gespeichert werden kann.
Obwohl das Befehlsregister 24 während der Taktphase T 4 geladen
wird und zwar mit einem Befehl, der im folgenden Taktzyklus aus
zuführen ist, stört die Verriegelung des neuen Befehls die Aus
führung des gerade ablaufenden Befehls nicht. Während der Takt
phase T 4 werden die Ausgangssignale des Befehlsregisters 24 durch
eine logische Verknüpfungsschaltung abgeschaltet und die Befehls-
Dekodierleitungen innerhalb des Befehls-Dekodier- und Steuer
blocks 11 werden vorab aufgeladen. Die Steuersignale, welche für
den gerade ausgeführten Befehl dekodiert wurden, werden während
der Taktphase T 2 oder T 3 zur Verwendung während der Taktphase
T 4 verriegelt. Die Ausgangssignale der geeigneten Verriegelun
gen werden dann in der Taktphase T 4 in der Weise weitergeleitet,
daß diese Steuersignale zur geeigneten Zeit zur Verfügung stehen.
Eine Verriegelung der entsprechenden dekodierten Signale vor der
Taktphase T 4 ermöglicht der Schaltung, für die Dekodierung des
nächsten Befehls vorbereitet zu werden, ohne daß die Ausführung
des gegenwärtigen Befehls gestört wird.
Die Fig. 3 zeigt im Blockdiagramm, wie Fig. 3A bis 3U, wie die
Anordnung getroffen werden kann, um ein Logikdiagramm einer bevor
zugten Ausführungsform des Erfindungsgegenstandes aufzubauen.
Die Fig. 3A zeigt den Registerbereich 48 und einen Teil der Regi
steradressier-Auswahleinrichtung 16 innerhalb der gestrichelten
Linien. Der Anschluß 300 empfängt einen Rückstellimpuls, welcher
dem Eingangspuffer 301 zugeführt wird, um das Bauteil 43 zurück
zustellen, welches in der Fig. 3I dargestellt ist.
Die Fig. 3B zeigt einen Teil der Registeradressen-Auswahleinrich
tung 16, der Registeradressen-Dekodiereinrichtung 49 und der
Registeradressen-Steuereinrichtung 302. Die Fig. 3C bis 3F zei
gen den Befehls-Dekodier- und Steuerblock 11.
Die Fig. 3G zeigt das K-Register 64, sein Stapelregister 63
und die mit SOUT bezeichnete Steuereinrichtung 303. Die Fig. 3H
zeigt die Stapelanzeige 46, die Stapelanzeige-Steuereinrichtung
304 und die Registerbereichs-Steuereinrichtung 305. Die Fig. 3I
zeigt die Rückstellschaltung 43, das Seitenregister 28, den
Seitenstapel 29, den Zykluszähler 21, die Unterbrechungs-
Verriegelungs-Maske 42 und den Multiplizier/Dividierzähler 17.
Die Fig. 3J, 3K und 3L zeigen einen Teil der Steuerlogik für
den Befehls-Dekodier- und Steuerblock 11. Die Fig. 3L und 3F
zeigen auch das Befehlsregister 24. Die Fig. 3F, 3L und 3U
zeigen Speicherschienenanschlüsse MB 0 bis MB 9.
Die Fig. 3M zeigt Kristalleingänge 307 und 308, die mit einem
Taktgenerator 306 über einen Oszillator verbunden sind, der
zwischen den Eingängen 307 und 308 dargestellt ist. Das Steuer
schieberegister oder das Befehls-Schieberegister 53 erscheint
auch in der Fig. 3M. Die Fig. 3N zeigt die Fangregister 54 und
55, den Zeitgeber 56 und die Gleichheitsschaltung 57. Die Fig.
3O zeigt das Vergleichsregister 58, das Steuerregister 47, das
Statusregister 62 und die Festzeitanschlüsse RT 1, RT 2 und RT 3.
Die Fig. 3P zeigt die Unterbrechungsprioritäts- und Steuerein
richtung 61 und das mit AS bezeichnete Stapelregister 66. Die
Fig. 3Q zeigt das A-Register 67, die Arithmetik- und Logikein
heit 13 und den Anschluß AD 11 zusammen mit der Steuerschaltung
für AD 11. Die Fig. 3R zeigt die Verschiebeeinrichtung 69 und das
F-Register 71. Die Fig. 3S zeigt den Anschluß AD 10, den F-Register
stapel 72, das Speichererweiterungs-ME-Register 74 und das M-
Register 73. Die Fig. 3T zeigt die Inkrementiereinrichtung 77
und den Programmzähler 76. Die Fig. 3U zeigt das temporäre T-
Register 78 und die Speicherschienen-MB-Auswahleinrichtung 309.
In der Fig. 4 ist eine Schaltung dargestellt, welche zur Ermitt
lung des Auftretens eines Triggersignals dient. Die Abtastschal
tung, welche in den gestrichelten Linien 100 enthalten ist,
weist eine Eingangsklemme 101 und eine Ausgangsklemme 102 auf.
Das Eingangssignal, welches von der Eingangsklemme 101 aufgenom
men wird, wird von einem nicht-invertierenden Puffer 102
empfangen, dessen Ausgang mit einem Kopplungs-MOSFET 103 verbun
den ist. Das Gate des MOSFET 103 ist durch das interne Taktsi
gnal T 3 gesteuert, so daß der Ausgang des Puffers 102 mit dem
Knoten 104 verbunden wird, wenn das Signal T 3 hochgelegt ist.
Der Knoten 104 ist mit dem Eingang einer ersten Inverterschal
tung 105 verbunden, und der Knoten 104 ist auch mit dem Rück
führ-MOSFET 106 verbunden. Der Ausgang des Inverters 105 ist
mit dem Eingang eines zweiten Inverters 107 verbunden, dessen
Ausgang mit dem Rückführ-MOSFET 106 verbunden ist. Das Gate
des MOSFET 106 wird durch das Komplement des internen Takt
signals T 3 gesteuert, so daß der Ausgang des Inverters 107
mit einem Knoten 104 verbunden wird, wenn das Signal T 3 tief
gelegt ist, so daß die Inverter 105 und 107 sowie der Rückführ-
MOSFET 106 eine Verriegelungsschaltung bilden, die auf den
logischen Zustand der Eingangsklemme 101 während derjenigen
Zeit anspricht, in welcher T 3 hochgelegt ist und welche den
Status an der Eingangsklemme 101 verriegelt, wenn das Signal
T 3 tiefgelegt wird.
Der Ausgang des Inverters 105 ist auch mit einem ersten Eingang
des exklusiven ODER-Gliedes 108 verbunden. Der Ausgang des In
verters 107 ist mit einem Kopplungs-MOSFET 109 verbunden, des
sen Gate durch das interne Taktsignal T 2 gesteuert wird. Wenn
das Signal T 2 hochgelegt ist, wird der Ausgang des Inverters 107
mit einem zweiten Eingang des exklusiven ODER-Gliedes 108 verbun
den. Während der Zeit, in welcher das Signal T 2 hochgelegt ist,
arbeiten der Inverter 107 und der MOSFET 109 in der Weise, daß
der zweite Eingang des exklusiven ODER-Gliedes 108 auf einen
hohen oder auf einen tiefen Pegel gebracht wird, und zwar
entsprechend dem Ausgangsstatus des Inverters 107. Wenn das
Signal T 2 auf einen tiefen Pegel zurückkehrt, wirkt der MOSFET
109 wie eine hohe Impedanz, und die am zweiten Eingang des
exklusiven ODER-Gliedes 108 gespeicherte Ladung wirkt sich so
aus, daß an diesem Eingang ein hoher oder ein tiefer Pegel bei
behalten wird, bis zu der Zeit, zu welcher das Signal T 2 wieder
auf einen hohen Pegel gebracht wird.
Das exklusive ODER-Glied 108 dient dazu, entweder einen Übergang
von einem hohen auf einen tiefen Pegel oder einen Übergang von
einem tiefen auf einen hohen Pegel an der Eingangsklemme 101
zu ermitteln. Es sei angenommen, daß der Eingang 101 während
eines ersten Maschinenzyklus auf einem hohen Pegel liegt, wenn
T 3 hochgelegt ist. Während dieses ersten Zyklus wird der
hochgelegte Eingang mit dem Knoten 104 verbunden, durch den
Inverter 105 invertiert und erneut durch den Inverter 107
invertiert, so daß der Ausgang des Inverters 107 auf einem
hohen Pegel liegt. Wenn T 3 tiefgelegt wird, ist der hochgelegte
Ausgang des Inverters 107 mit dem Eingang des Inverters 105
verbunden, so daß dadurch der Ausgang des Inverters auf einem
hohen Pegel verriegelt ist. Nunmehr sei angenommen, daß während
eines zweiten Maschinenzyklus das Eingangssignal, welches vom
Eingang 101 aufgenommen wurde, auf einen tiefen Pegel umgeschal
tet wurde. Während T 2 während des zweiten Maschinenzyklus hoch
gelegt ist, wird der Zustand eines hohen Pegels am zweiten
Eingang des logischen Verknüpfungsgliedes 108 gespeichert.
Da der erste Eingang des logischen Verknüpfungsgliedes 108 einen
tiefen Pegel von dem Ausgang des Inverters 105 aufnimmt, ist der
Ausgang des logischen Verknüpfungsgliedes 108 eine logische "1"
oder ein hoher Pegel. Der MOSFET 111, der zwischen dem Ausgang
des logischen Verknüpfungsgliedes 108 und der positiven Versor
gungsspannung angeordnet ist und der aktiv ist, wenn das Signal
T 2 hochgelegt ist, unterstützt den Aufbau eines hohen Pegels
am Ausgang des logischen Verknüpfungsgliedes 108 während der
jenigen Zeit, in der T 2 hochgelegt ist. Wenn jedoch das Signal
T 3 während des zweiten Maschinenzyklus hochgelegt ist, verursacht
der nunmehr am Eingang 101 vorhandene tiefe Pegel einen hohen
Pegel am Ausgang des Inverters 105. Da beide Eingänge des
logischen Verknüpfungsgliedes 108 nun hochgelegt sind, wird
der Ausgang des logischen Verknüpfungsgliedes 108 tiefgelegt,
wodurch angezeigt wird, daß ein Eingabeübergangs- oder Trigger
signal ermittelt wurde. Während eines dritten Maschinenzyklus
wird ein tiefer Pegel am zweiten Eingang des logischen
Verknüpfungsgliedes 108 gespeichert, wenn das Signal T 2 hoch
gelegt ist, und der Ausgang des logischen Verknüpfungsgliedes
108 kehrt auf einen hohen Pegel zurück. Wenn das Signal T 3
während dieses dritten Maschinenzyklus tiefgelegt ist, wird
erneut ein tiefer Eingangspegel an dem Knoten 104 gelegt, und
der zuvor an dem Ausgang des Inverters 105 verriegelte hohe
Pegel bleibt unverändert. Somit bleibt der Ausgang des logi
schen Verknüpfungsgliedes 108 hochgelegt, wenn das Signal T 3
hochgelegt ist und auch weiterhin, bis der Eingang 101 erneut
auf einen hohen Pegel umgeschaltet wird.
Sobald am Eingang 101 ein Übergang auftritt, verursacht somit
der Ausgang des logischen Verknüpfungsgliedes 108, daß der
Knoten 110 von der Zeit ab tiefgelegt wird, zu welcher T 3 hoch
gelegt wird, und zwar bis zu der Zeit, zu welcher T 2 bei dem
folgenden Maschinenzyklus hochgelegt wird. Der Knoten 110 ist
mit einem ersten invertierenden Eingang eines logischen UND-
Gliedes 113 verbunden. Ein zweiter invertierender Eingang des
UND-Gliedes 113 wird mit dem Komplement des internen Taktsi
gnals T 1 beaufschlagt. Der Ausgang des UND-Gliedes 113 wird mit
dem Ausgang 102 verbunden. Damit der Ausgang 102 auf einem
hohen Pegel liegt, müssen sowohl der Knoten 110 als auch das
Signal T 1 auf einem tiefen Pegel sein. Wenn das Ausgangssignal,
welches am Ausgang 102 geliefert wird, dazu verwendet wird, die
Zeit in einem Speicher- oder Fangregister zu verriegeln, wie
sie gegenwärtig durch den Zeitgeber geliefert wird, so ergeben
sich Verhältnisse, wie sie anhand der Fig. 5 erläutert werden.
In der Fig. 5 sind die zwei Bits mit dem geringsten Stellenwert
des Zeitgebers gemeinsam mit den zwei Bits mit dem geringsten
Stellenwert eines Fangregisters gemäß einer bevorzugten Ausfüh
rungsform der Erfindung dargestellt. In dem Bit mit dem gering
sten Stellenwert des Zeitgebers liefert der Inverter 120 ein
Ausgangssignal am Knoten 121. Der MOSFET 122 ist zwischen dem
Ausgangsknoten 121 und dem Bit mit dem geringsten Stellenwert
der Datenschiene 123 angeordnet und hat sein Gate mit der Steuer
leitung 124 verbunden. In ähnlicher Weise ist der Ausgangsknoten
125 des Bits mit dem zweit-geringsten Stellenwert des Zeitgebers
mit der Datenschienenleitung 126 mit dem zweit-geringsten Stel
lenwert durch den MOSFET 127 verbunden, dessen Gate ebenfalls
mit der Steuerleitung 124 verbunden ist. Der logische Status
der Steuerleitung 124 wird durch den Befehls-Dekodier- und
Steuerblock 11 (Fig. 1) festgelegt, so daß der Ausgang des
Zeitgebers mit der Datenschiene verbunden wird, wenn die Steuer
leitung 124 auf einem hohen Pegel liegt.
Der Ausgangsknoten 121 wird auch mit einem Eingangsknoten 128
des MOSFET 129 verbunden. Das Gate des MOSFET 129 wird durch
ein Taktsignal T 2 gesteuert, so daß der Ausgangsknoten 121 mit
dem Eingangsknoten 128 verbunden wird, wenn das Signal T 2 hoch
gelegt wird. Der Eingangsknoten 128 wird auch mit der Daten
schienenleitung 123 mit dem zweit-geringsten Stellenwert durch
den MOSFET 131 verbunden. In ähnlicher Weise wird bei dem Bit
mit dem zweit-geringsten Stellenwert des Zeitgebers der Eingangs
knoten 132 mit der Datenschienenleitung 126 mit dem zweit-
geringsten Stellenwert durch den MOSFET 133 verbunden. Die
Gate-Anschlüsse des MOSFET 131 und MOSFET 133 werden mit einer
Steuerleitung 134 verbunden. Der logische Zustand der Steuer
leitung 134 wird durch den Befehls-Dekodier- und Steuerblock 11
festgelegt, so daß die digitale Information, die auf der Daten
schiene vorhanden, in den Zeitgeber eingegeben wird, wenn die
Steuerleitung 134 hochgelegt ist. Die logische Verknüpfung in
dem Befehls-Dekodier- und Steuerblock 11 gewährleistet, daß die
Steuerleitung 134 nur dann hochgehen kann, wenn das interne
Taktsignal T 4 hochgelegt ist. Obwohl die Eingangsknoten 128 und
132 geladen werden, um den logischen Status der Ausgangsknoten
121 bzw. 125 zu entsprechen, wenn das interne Taktsignal T 2
hochgelegt ist, wird der Pegel an den Knoten 128 und 132 modi
fiziert, um dem logischen Status der Datenschiene zu entsprechen,
wenn T 4 hoch ist, sobald die Übertragung von Daten von der
Schiene auf den Zeitgeber durch die Steuerleitung 134 aktiviert
wird.
Der Eingangsknoten 128 ist mit einem ersten Eingang eines exklu
siven ODER-Gliedes 135 verbunden. Der zweite Eingang des ODER-
Gliedes 135 ist mit der Leitung 136 verbunden, von der zunächst
angenommen wird, daß sie eine logische "1" oder einen hohen
Pegel führt. In diesem Fall ist der Ausgang des exklusiven
ODER-Gliedes 135 von einem entgegengesetzten logischen Zustand
wie der Knoten 128. Der Ausgang des logischen Verknüpfungsglie
des 135 ist mit dem Eingang des Inverters 120 durch den MOSFET
137 verbunden, dessen Gate durch das interne Taktsignal T 1
gesteuert wird. Wenn das Signal T 1 hochgelegt ist, wird der
Eingang des Inverters 120 auf einen logischen Pegel "1" oder
auf einen logischen Pegel "0" gebracht, was von dem Ausgangs
signal des logischen Verknüpfungsgliedes 135 abhängt, so daß
der Ausgang des Inverters 120 auf demselben logischen Zustand
liegt, wie der Knoten 128. Somit bilden das logische Verknüpfungs
glied 135, der MOSFET 137, der Inverter 120 und der Rückführ-
MOSFET 129 eine Verriegelungsschaltung zur Speicherung des Bits
mit dem geringsten Stellenwert des Zeitgebers.
Wenn nunmehr jedoch angenommen wird, daß die Leitung 136 auf
einem tiefen logischen Pegel oder auf einer "0" liegt, dann ist
der Ausgang des logischen Verknüpfungsgliedes 135 in demselben
logischen Zustand wie der Eingangsknoten 128. Wenn nunmehr das
interne Taktsignal T 1 hoch geht, wie der Eingang des Inverters
120 auf demselben logischen Pegel wie der Knoten 128 geladen,
und der Ausgangsknoten 121 wird gleich dem Komplement des logi
schen Zustands des Knotens 128. Nachdem T 1 auf einen tiefen
Pegel zurückgekehrt ist und T 2 auf einen hohen Pegel gegangen
ist, wird der logische Status des Eingangsknotens 128 inver
tiert. Wenn daher die Leitung 136 auf einem tiefen Pegel gehal
ten wird, wird der logische Status des Zeitgeberbits mit dem
geringsten Stellenwert einmal in jeweils einem Maschinenzyklus
umgeschaltet.
Der Eingangsknoten 128 wird auch mit dem Gate des MOSFET 138
verbunden. Der MOSFET 138 ist zwischen der Leitung 136 und der
Leitung 139 angeordnet. Das Bit mit dem zweit-geringsten Stel
lenwert des Zeitgebers arbeitet in ähnlicher Weise, indem der
Zustand dieses Bits auch umgeschaltet wird, wobei die Leitung
139 auf einen tiefen logischen Pegel liegt. Um jedoch die Lei
tung 139 auf einen tiefen logischen Pegel zu bringen, muß die
Leitung 136 auf einem tiefen logischen Pegel sein, und der MOSFET
138 muß durchgeschaltet sein, d. h. der Knoten 128 muß hochgelegt
sein. Somit bewirkt der MOSFET 138, daß das Bit mit dem zweit-
geringsten Stellenwert nur halb so oft umgeschaltet wird wie
das Bit mit dem geringsten Stellenwert des Zeitgebers. In
ähnlicher Weise verbindet der MOSFET 141 einen tiefen logischen
Pegel mit der Leitung 142 nur dann, wenn der Eingangsknoten 128
und der Eingangsknoten 132 beide auf einem hohen Pegel liegen.
Die Leitung 136 wird auch mit den Gate-Anschlüssen des zur
Vorab-Aufladung dienenden MOSFET 143 und des entsprechenden
MOSFET 144 verbunden. Wenn die Leitung 136 auf einem hohen
logischen Pegel ist, verbindet der MOSFET 143 die positive
Versorgungsspannung mit der Leitung 139, und der MOSFET 144
verbindet die positive Versorgungsspannung mit der Leitung 142,
so daß dadurch diese Leitungen vorab auf einen hohen Pegel auf
geladen werden. Wenn die Leitung 136 auf einen tiefen Pegel
zurückkehrt, wird das Bit mit dem geringsten Stellenwert des
Zeitgebers umgeschaltet, wenn T 1 hoch geht. Die übrigen Bits
des Zeitgebers werden nur dann umgeschaltet, wenn der tiefe
Pegel auf der Leitung 136 den übrigen Stufen durch den MOSFET
138 und den MOSFET 141 usw. zugeführt wird.
Der logische Status der Leitung 136 wird durch den Befehls-
Dekodier- und Steuerblock 11 gesteuert. Der logische Pegel der
Leitung 136 wird auf einem hohen Pegel gebracht, und zwar während
jedes Maschinenzyklus, um zu gewährleisten, daß die Leitungen
139 und 142 und die folgenden Leitungen in der Inkrementier
kette während jedes Maschinenzyklus auf einen hohen Pegel
gebracht werden. Wie oben bereits ausgeführt wurde, kann die
Steuerlogik in der bevorzugten Ausführungsform des Erfindungs
gegenstandes beim Hersteller programmiert werden, indem eine
Metallmaske verwendet wird, so daß der Zeitgeber einmal pro
Maschinenzyklus, einmal pro zwei Maschinenzyklen oder einmal pro
vier Maschinenzyklen inkrementiert wird. Dies wird dadurch
erreicht, daß die Möglichkeit geschaffen wird, daß der logische
Zustand der Leitung 136 einem tiefen Pegel entspricht, und zwar
während jedes Auftretens des internen Taktsignals T 1, während
jedes zweiten Auftretens des internen Taktsignals T 1 oder wäh
rend jedes vierten Auftretens des internen Taktsignals T 1.
Um den Zustand der Zeitgebereinrichtung zu verriegeln, wenn ein
Triggersignal ermittelt wird, wird der Ausgangsknoten 121 des
Bits mit dem geringsten Stellenwert des Zeitgebers mit dem Ein
gangsknoten 146 des Bits mit dem geringsten Stellenwert eines
Fangregisters durch den MOSFET 147 verbunden. In ähnlicher Weise
wird der Ausgangsknoten 125 mit dem Eingangsknoten 148 durch den
MOSFET 149 verbunden. Die Gate-Anschlüsse des MOSFET 147 und des
MOSFET 149 werden mit der Steuerleitung 150 verbunden, die ihrer
seits mit der Klemme 102 verbunden wird. Es ist zu bemerken, daß
die Klemme 102 die Ausgangsklemme der Triggersignal-Abtastschal
tung 100 gemäß Fig. 4 ist. Wenn somit ein Triggersignal ermit
telt wird, wird die Steuerleitung 105 auf einen hohen Pegel
gebracht, so daß dadurch die Ausgangsknoten 121 und 125 mit den
Eingangsknoten 146 bzw. 148 verbunden werden. Ein wesentliches
Merkmal der bevorzugten Ausführungsform der Erfindung besteht
darin, daß die Übertragung des Zeitgeber-Ausgangssignals auf
dem Fangregistereingang nicht davon abhängig ist, daß die Daten
schienenleitungen 123 und 126 verwendet werden. Dies ermöglicht
die Aufzeichnung oder Speicherung der Zeit, zu welcher das
Triggersignal ermittelt wird, ohne daß andere Operationen gestört
werden, die durch den Datenprozessor ausgeführt werden und die
normalerweise die Verwendung der Datenschiene erfordern. Es ist
jedoch zu bemerken, daß der Eingangsknoten 146 mit der Daten
schienenleitung 123 des MOSFET 152 verbunden ist und daß der
Eingangsknoten 148 mit der Datenschienenleitung 126 durch den
MOSFET 153 verbunden ist. Die Gate-Anschlüsse des MOSFET 152
und des MOSFET 153 sind mit der Steuerleitung 154 verbunden,
so daß die auf der Datenschiene vorhandene Information dem
Eingangsknoten des Fangregisters zugeführt werden kann, wobei
der Befehls-Dekodier- und Steuerblock 11 einen hohen Pegel
auf die Steuerleitung 154 bringt. Dieses Merkmal ermöglicht,
daß das Fangregister von der Datenschiene unter der Programm
steuerung geladen wird.
Der Eingangsknoten 146 ist mit dem Eingang des Inverters 156
verbunden, und der Ausgang des Inverters 156 ist mit dem Ein
gang des Inverters 157 verbunden. Der Ausgang des Inverters 157
ist mit dem Ausgangsknoten 158 verbunden, so daß der logische
Status des Eingangsknotens 146 am Ausgangsknoten 158 dupliziert
wird. Ein Rückführ-MOSFET 160 verbindet den Ausgangsknoten 158
mit dem Eingangsknoten 146. Das Gate des MOSFET 160 wird mit
dem internen Taktsignal T 3 beaufschlagt, so daß der Eingangs
knoten 146 auf einem logischen Pegel aufgeladen wird, welcher
dem logischen Pegel des Ausgangsknotens 158 entspricht, sobald
das interne Taktsignal T 3 hoch gelegt ist. Somit bilden der
Inverter 156, der Inverter 157 und der Rückführ-MOSFET 160
eine Rückführ-Verriegelungsschaltung zur Speicherung eines Daten-
Bits. Das Bit mit dem zweit-geringsten Stellenwert des Fang
registers hat einen Ausgangsknoten 161 und arbeitet in ähnlicher
Weise.
Der Ausgangsknoten 158 und 161 des Fangregisters werden mit den
Datenschienenleitungen 123 und 126 durch den MOSFET 162 bzw.
durch den MOSFET 163 verbunden. Die Gate-Anschlüsse des MOSFET
162 und des MOSFET 163 werden mit der Steuerleitung 164 verbun
den, so daß die Ausgangsknoten des Fangregisters mit der Daten
schiene verbunden werden, wenn der Befehls-Dekodier- und Steuer
block 11 die Steuerleitung 164 auf einen hohen Pegel bringt.
Dieses Merkmal ermöglicht, daß die Datenschiene von dem Fang
registerausgang aus unter Programmsteuerung betrieben wird.
Somit bilden der MOSFET 147 und der MOSFET 149 eine erste Ein
gangseinrichtung, welche mit den Zeitgeber-Ausgangsknoten 121
und 125 verbunden ist und durch das Ausgangssignal der Abtast
schaltung gesteuert wird, um das Zeitausgangssignal von dem
Zeitgeber in dem Fangregister zu speichern, wenn ein Triggersignal
ermittelt wird. Der MOSFET 162 und der MOSFET 163 dienen zur
Verbindung des Ausgangs des Fangregisters mit der Datenschiene.
Der MOSFET 152 und der MOSFET 153 sind eine zweite Eingangs
einrichtung, welche mit der Datenschiene verbunden ist, um das
Fangregister dazu zu bringen, daß diejenigen Daten gespeichert
werden, die auf der Datenschiene vorhanden sind, wen 08556 00070 552 001000280000000200012000285910844500040 0002002954533 00004 08437n die
Steuerleitung 154 auf einem hohen Pegel liegt.
Die Fig. 4 zeigt weiterhin eine Einrichtung, welche dazu dient,
eine Unterbrechung in dem Datenprozessor in Reaktion auf die
Abtastung eines Triggersignals herbeizuführen. Innerhalb des
gestrichelten Blocks 166 ist eine Einrichtung dargestellt, welche
zur Anzeige des Status der Abtastschaltung 100 dient. Der Knoten
110 der Abtastschaltung 100 ist mit einem ersten invertierenden
Eingang eines ODER-Gliedes 167 verbunden. Der zweite invertie
rende Eingang des ODER-Gliedes 167 ist mit einem Knoten 168
verbunden. Der Ausgang des ODER-Gliedes 167 ist mit einem Knoten
169 des MOSFET 170 verbunden. Das Gate des MOSFET 170 ist mit
dem internen Taktsignal T 1 beaufschlagt, so daß der Knoten 169
auf einen logischen Pegel gebracht wird, welcher dem Ausgangs
signals des logischen Verknüpfungsgliedes 167 entspricht, wenn
das Signal T 1 hochgelegt ist. Der Knoten 169 wird mit dem Ein
gang des Inverters 171 verbunden, und der Ausgang des Inverters
171 wird mit dem Knoten 168 verbunden. Es sei für die vorliegende
Beschreibung angenommen, daß der Knoten 110 auf einem hohen
logischen Pegel liegt, und dann bilden der Inverter 171, das
logische Verknüpfungsglied 167 und der MOSFET 170 eine Rückführ-
Verriegelungsschaltung zur Speicherung eines digitalen Status.
Wenn jedoch der Knoten 110 einen logischen Pegel "0" kommt,
wird der Ausgang des logischen Verknüpfungsgliedes 167 auf
einen hohen Pegel gebracht, der zum Knoten 169 beim nächsten Auf
treten des internen Taktsignals T 1 geführt wird. Wie oben bei
der Diskussion der Abtastschaltung 100 bereits erläutert wurde,
geht der Knoten 110 nur dann auf einen tiefen logischen Pegel,
wenn das Auftreten eines Übergangs an der Eingangsklemme 101
ermittelt wird. Wenn daher die Statusschaltung 166 ausgelöst
wird, so daß der Knoten 169 zunächst tief liegt, dann bleibt
der Knoten 169 tief, bis das Auftreten eines Triggersignals
ermittelt wird, nach welchem der Knoten 169 in einem hohen
Status verriegelt wird. Der MOSFET 172 verbindet den Knoten
129 unter der Steuerung der Eingangsklemme 173 mit der Masse,
so daß dadurch die Auslösung oder Aktivierung des Knotens 169
auf einen hohen logischen Pegel ermöglicht wird, wenn die
Klemme 173 auf einem hohen logischen Pegel liegt.
In dem gestrichelten Block 174 ist eine Einrichtung vorhanden,
welche dazu dient, die Erzeugung einer Unterbrechung in Reaktion
auf den in der Statusschaltung 166 gespeicherten logischen Sta
tus zu teuern. Die Steuerschaltung 174 weist einen Eingangs
knoten 175 und einen Ausgangsknoten 176 auf. Der Eingangsknoten
175 kann durch den MOSFET 177 auf einen tiefen logischen Pegel gebracht
werden, wodurch der Eingangsknoten 175 auf Masse gelegt wird,
wenn ein Rückstellsignal, welches dem Gate 178 zugeführt wird,
auf einem hohen logischen Pegel liegt. Der Eingangsknoten 175
wird ebenfalls mit der Datenschienenleitung 179 durch den MOSFET
180 verbunden, so daß der logische Zustand des Eingangsknotens
175 dem logischen Zustand der Datenschienenleitung 179 entspricht,
wenn die Steuerklemme 181 durch den Befehls-Dekodier- und Steuer
block 11 auf einen hohen logischen Pegel gebracht ist. Dies er
möglicht, daß die Steuerschaltung von der Datenschiene aus per
Programm geladen wird.
Der Eingangsknoten 175 wird mit dem Eingang des Inverters 183
verbunden. Der Ausgang des Inverters 183 ist mit dem Knoten 184
und mit dem Eingang des Inverters 185 verbunden. Der Ausgang
des Inverters 185 ist mit dem Ausgangsknoten 176 verbunden.
Der Ausgangsknoten 176 ist an den Eingangsknoten 175 durch den
Kopplungs-MOSFET 186 zurückgeführt, dessen Gate mit dem inter
nen Taktsignal T 1 beaufschlagt wird. Wenn das Taktsignal T 1
hochgelegt ist, wird der Eingangsknoten 175 auf einen logischen
Zustand gebracht, welcher dem logischen Zustand des Ausgangs
des Inverters 185 entspricht. Somit bilden der Inverter 183,
der Inverter 185 und der Rückführ-MOSFET 186 eine Rückführ-
Verriegelungsschaltung zur Speicherung eines logischen Zustan
des des Eingangsknotens 175. Der Ausgangsknoten 176 wird auch
mit der Datenschienenleitung 179 durch den MOSFET 187 verbun
den, der durch das Gate 188 gesteuert wird. Wenn der Befehls-
Dekodier- und Steuerblock 11 die Klemme 188 auf einen hohen
Pegel legt, dann wird der Ausgangsknoten 176 mit der Datenschie
nenleitung 179 verbunden, so daß dadurch die Möglichkeit geschaf
fen wird, daß der Status der Steuerschaltung auf die Datenschiene
getrieben wird, und zwar unter Programmsteuerung.
Der logische Zustand des Statusregisters 166 wird durch eine
entsprechende logische Verknüpfung mit dem logischen Zustand
der Steuerschaltung 174 in Verbindung gebracht, und zwar zu
dem Zweck, daß eine Maskierung einer Unterbrechung herbeigeführt
wird, welche durch die Abtastung eines Auftretens eines Trigger
signals ausgelöst wird. Das logische UND-Glied 189 wirkt in der
Weise, daß diese Maskierungsfunktion ausgeführt wird. Der Kno
ten 168 der Statusschaltung 166 wird mit einem ersten invertie
renden Eingang des logischen Verknüpfungsgliedes 189 verbunden.
Der Knoten 184 der Steuerschaltung 174 wird mit dem zweiten
invertierenden Eingang des logischen Verknüpfungsgliedes 189
verbunden. Der Ausgang des logischen Verknüpfungsgliedes 189
wird mit der Unterbrechungsklemme 190 verbunden, die auf einen
hohen logischen Pegel gebracht wird, wenn eine Unterbrechung
auftreten soll. Wenn es erwünscht ist, eine Unterbrechung in
Reaktion auf die Abtastung des Triggersignals zu blockieren,
bewirkt die Programmsteuerung, daß ein logischer Pegel "1" an
dem Knoten 184 verriegelt wird. Dadurch wird die Unterbrechungs
klemme 190 auf einen tiefen logischen Pegel gebracht, unabhän
gig vom logischen Status des Knotens 168. Zu einer späteren
Zeit, wenn es für den Datenprozessor leichter ist, auf eine
Unterbrechung zu antworten, bewirkt ein Programmbefehl, daß
der Knoten 184 einen tiefen logischen Pegel verriegelt, der
das logische Verknüpfungsglied 189 aktiviert. Wenn bereits ein
Triggersignal ermittelt wurde, dann befindet sich der Knoten
168 bereits auf einem tiefen logischen Pegel, und es wird so
fort eine Unterbrechung erzeugt. Wenn ein Triggersignal nicht
ermittelt wurde, dann wird eine Unterbrechung unmittelbar
nach der Abtastung des Triggersignals hervorgerufen. Der Befehls-
Dekodier- und Steuerblock 11 ist so ausgebildet, daß ein hoher
logischer Pegel an der Unterbrechungsklemme 190 einen hohen
Pegel an der Rückstellklemme 173 erzeugt, um die Statusschal
tung 166 zurückzustellen, welche der Statusschaltung 166 er
möglicht, die nächste Abtastung eines Triggersignals durch die
Abtastschaltung 100 zu speichern.
Die oben anhand der Fig. 4 beschriebene Abtast- und Unterbrechungs
schaltung ermöglicht dem Fangregister, diejenige Zeit zu
speichern, zu welcher das Triggersignal ermittelt wurde und
die Unterbrechung des Datenprozessors aufzuschieben, und zwar
bis zu einer solchen späteren Zeit, zu der die Unterbrechung
in Reaktion auf das Auftreten des abgetasteten Triggersignals
bequem abgearbeitet werden kann.