DE2954533C2 - - Google Patents

Info

Publication number
DE2954533C2
DE2954533C2 DE19792954533 DE2954533A DE2954533C2 DE 2954533 C2 DE2954533 C2 DE 2954533C2 DE 19792954533 DE19792954533 DE 19792954533 DE 2954533 A DE2954533 A DE 2954533A DE 2954533 C2 DE2954533 C2 DE 2954533C2
Authority
DE
Germany
Prior art keywords
register
output
data
input
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE19792954533
Other languages
English (en)
Inventor
George Power Scottsdale Ariz. Us Chamberlin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US05/946,222 external-priority patent/US4326247A/en
Priority claimed from US05/945,737 external-priority patent/US4222103A/en
Application filed by Motorola Inc filed Critical Motorola Inc
Application granted granted Critical
Publication of DE2954533C2 publication Critical patent/DE2954533C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4825Interrupt from clock, e.g. time of day

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)
  • Hardware Redundancy (AREA)
  • Complex Calculations (AREA)

Description

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.

Claims (3)

1. Schaltungsanordnung für einen Datenverarbeitungsprozessor mit einer Zeitsteuereinheit, die ein Zeitsteuerregister (56) auf­ weist, das wahlweise mit einem vorgebbaren, ein Zeitintervall festlegenden Wert geladen werden kann, und das mit einem vor­ gegebenen Takt inkrementiert wird und bei einem Überlauf ein Unterbrechungssignal erzeugt, sowie mit einem Unterbrechungs­ schaltkreis zum Ansprechen auf Unterbrechungssignale, dadurch gekennzeichnet,
daß ein Vergleichsregister (58) vorhanden ist, das mit einem Referenzwert geladen werden kann,
daß ferner ein mit dem Ver­ gleichsregister (58) und dem Zeitsteuerregister (56) verbun­ dener Gleichheitsdetektor (57) vorhanden ist, mit welchem der Inhalt des Zeitsteuerregisters (56) und des Vergleichs­ registers (58) kontinuierlich verglichen wird, und
daß der Gleichheitsdetektor (57) ausgangsseitig mit einem Ausgangs­ treiber (59) verbunden ist, der vom Gleichheitsdetektor (58) angesteuert wird, wenn eine vorgegebene Beziehung zwischen den beiden Registerinhalten besteht.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Zeitsteuereinheit als Antwort auf das Ausgangssignal des Gleichheitsdetektors (57) ein Unterbrechungssignal erzeugt.
3. Schaltungsanordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß ein mit einem vorgegebenen Befehlswort ladbares Befehls­ schieberegister (53) vorhanden ist, und daß der Ausgangstrei­ ber (59) wenigstens ein mit dem Inhalt des Befehlsschiebere­ gisters (53) korrespondierendes Ausgangssignal erzeugt und zwar als Antwort auf eine Ansteuerung durch den Gleichheits­ detektor (57).
DE19792954533 1978-09-25 1979-09-25 Expired DE2954533C2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US05/946,222 US4326247A (en) 1978-09-25 1978-09-25 Architecture for data processor
US05/945,737 US4222103A (en) 1978-09-25 1978-09-25 Real time capture registers for data processor

Publications (1)

Publication Number Publication Date
DE2954533C2 true DE2954533C2 (de) 1989-02-16

Family

ID=27130227

Family Applications (2)

Application Number Title Priority Date Filing Date
DE19792938713 Granted DE2938713A1 (de) 1978-09-25 1979-09-25 Datenverarbeitungsschaltung
DE19792954533 Expired DE2954533C2 (de) 1978-09-25 1979-09-25

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE19792938713 Granted DE2938713A1 (de) 1978-09-25 1979-09-25 Datenverarbeitungsschaltung

Country Status (5)

Country Link
DE (2) DE2938713A1 (de)
FR (1) FR2437032B1 (de)
GB (1) GB2042227B (de)
MY (1) MY8500474A (de)
SG (1) SG16884G (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4279015A (en) * 1979-06-13 1981-07-14 Ford Motor Company Binary output processing in a digital computer using a time-sorted stack
US4283761A (en) * 1979-06-13 1981-08-11 Ford Motor Company Binary input/output processing in a digital computer using assigned times for input and output data
US4259719A (en) * 1979-06-13 1981-03-31 Ford Motor Company Binary input processing in a computer using a stack

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3878370A (en) * 1973-09-04 1975-04-15 Artronics Corp Electronic interval timer
US4099232A (en) * 1976-09-14 1978-07-04 Mos Technology, Inc. Interval timer arrangement in a microprocessor system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2127547A5 (de) * 1971-02-26 1972-10-13 Siemens Ag
JPS5340105A (en) * 1976-09-24 1978-04-12 Nippon Denso Co Ltd Automobile control unit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3878370A (en) * 1973-09-04 1975-04-15 Artronics Corp Electronic interval timer
US4099232A (en) * 1976-09-14 1978-07-04 Mos Technology, Inc. Interval timer arrangement in a microprocessor system

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
DE-Buch: Elektronische Bausteinsysteme SIMATIC, Bd. 1, Siemens AG, 2. Aufl., 1974, S. 254-259, 362-371 *
DE-Firmenschrift der Texas Instruments, Das TTI-Kochbuch, 1972, S. 317-319 *
DE-Z.: Funkschau, 1978, H. 14, S. 69-72 *
DE-Z.: Funkschau, 1978, H. 15, S. 44-48 *
US-Firmenschrift der Intel Corp., Data Catalog, 1977, S. 10-159 bis 10-166 *
US-Firmenschrift der Texas Instruments, The TTL-Databook, 1977, S. 7-306 f. *
US-Firmenschrift der Zilog Inc., Z80-CTC Z80A- CTC Technical Manual, 1977, S, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25 *

Also Published As

Publication number Publication date
FR2437032A1 (fr) 1980-04-18
DE2938713A1 (de) 1980-04-03
MY8500474A (en) 1985-12-31
GB2042227A (en) 1980-09-17
GB2042227B (en) 1983-03-09
FR2437032B1 (fr) 1986-07-25
SG16884G (en) 1985-02-15

Similar Documents

Publication Publication Date Title
DE2614000C2 (de) Diagnoseeinrichtung zur Prüfung von Funktionseinheiten
DE2656546C2 (de) Datenblock-Austauschanordnung
DE2755273C2 (de)
DE4331703C2 (de) Elektronische Einrichtung
DE3322249C2 (de)
DE1499722B1 (de) Einrichtung zur modifizierung von informationswoertern
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE1928202B2 (de) Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter Datenverarbeitungsanlagen
DE2023354A1 (de) Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit
DE2714805A1 (de) Datenverarbeitungssystem
CH650600A5 (de) Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister.
DE2555963A1 (de) Einrichtung zur funktionsmodifizierung
DE2907181A1 (de) Befehlssatz-modifizierregister fuer einen datenprozessor
DE1499203B1 (de) Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE1285219B (de) Steuerwerk zur Ausfuehrung von Unterprogrammen
DE2524046A1 (de) Elektronische datenverarbeitungsanlage
DE2718110A1 (de) Datenverarbeitungseinheit
EP1230590B1 (de) Prozessorsystem
DE1909090C3 (de) Schutzeinrichtung für den Arbeitsspeicher einer Rechenanlage
DE2725614C2 (de)
DE2245284A1 (de) Datenverarbeitungsanlage
DE2954533C2 (de)
DE2106731A1 (de) Diagnoseeinrichtung fur elektronische Datenverarbeitungsanlagen
DE2622140C3 (de) Einrichtung zur Steuerung manueller Operationen

Legal Events

Date Code Title Description
Q172 Divided out of (supplement):

Ref country code: DE

Ref document number: 2938713

8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 9/22

AC Divided out of

Ref country code: DE

Ref document number: 2938713

Format of ref document f/p: P

AC Divided out of

Ref country code: DE

Ref document number: 2938713

Format of ref document f/p: P

AC Divided out of

Ref country code: DE

Ref document number: 2938713

Format of ref document f/p: P

D2 Grant after examination
8363 Opposition against the patent
8331 Complete revocation