DE2113890A1 - Datenverarbeitungssystem - Google Patents
DatenverarbeitungssystemInfo
- Publication number
- DE2113890A1 DE2113890A1 DE19712113890 DE2113890A DE2113890A1 DE 2113890 A1 DE2113890 A1 DE 2113890A1 DE 19712113890 DE19712113890 DE 19712113890 DE 2113890 A DE2113890 A DE 2113890A DE 2113890 A1 DE2113890 A1 DE 2113890A1
- Authority
- DE
- Germany
- Prior art keywords
- register
- instruction
- memory
- memory block
- address
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
- G06F9/4486—Formation of subprogram jump address
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)
- Advance Control (AREA)
- Complex Calculations (AREA)
Description
Anmelder: Digital Equipment. Corporation, 146 Main Street, Mavnard, Massachusetts 01754, USA
Datenverarbeitungssystem
Die Erfindung betrifft ein Datenverarbeitungssystem, insbesondere datenverarbeitende Geräteeinheiten für Datenverarbeitungssysteme,
bei denen ein Austausch von Arbeitsprogrammen durchführbar ist.
Ein Datenverarbeitungssystem enthält gewöhnlich eine Geräteeinheit,
welche Instruktionen durchführt, die in Adressen oder Speicherplätzen eines Speichers gespeichert werden. Diese Instruktionen
werden auf die Geräteeinheit aufeinanderfolgendübertragen, wobei eine Steuerung durch einen Programmzähler erfolgt.
Die Daten, welche die Anlage verarbeitet, werden in und aus der Anlage durch Eingangs/Ausgangs-Einrichtungen oder durch periphere
Einheiten übertragen, beispielsweise durch Fernschreiber, Streifenlocher oder Kartenleser. Gewöhnlich werden die Daten
zeitweilig vor und nach dem Arbeitsablauf gespeichert.
Während normaler Operationen werden Instruktionen von Speicherplätzen
gesucht, welche durch den Programmzähler bezeichnet werden. Jede Instruktion enthält normalerweise einen Operationscode und eine Operandenadresse. Der Operationscode definiert
die durch die Geräteeinheit durchzuführende Operation, während
109842/ 1 6A1
die Operandenadresse den Speicherplatz der zu übertragenden Daten oder den Speicherplatz definiert, an den die Daten übertragen
werden sollen.
Instruktionen werden gewöhnlich in Blöcken von abhängigen Speicherplätzen als Operationsprogramme, Unterprogramme oder Unterbrechungsprogramme
organisiert, die jeweils eine Kategorie eines Maschinenprogramms sind. Zum Zwecke der Erläuterung enthält
ein Maschinenprogramm Instruktionen, die zur Lösung eines speziellen Problems benutzt werden. Instruktionen zur Herstellung
einer versicherungstechnischen Tabelle würden beispielsweise ein
versicherungstechnisches Operationsprogramm darstellen.
Ein Unterprogramm enthält Instruktionen, die zur Durchführung einer allgemeinen Funktion benutzt werden, welche in einem
Operationsprogramm oder in verschiedenen Operationsprogrammen mehrmals benötigt werden können. Beispielsweise erzeugen viele
Datenverarbeitungssysteme trigonometrische Funktionen, wobei mathematische Annäherungen Verwendung finden. Ein Operationsprogramm,
welches den Wert einer trigonometrischen Funktion benötigt, wie beispielsweise cosθ,verwendet ein Cosinus-Unterprogramm, welches
in dem Speicher gespeichert ist, um den Wert von cosö für einen bestimmten Wert von θ zu erhalten, welcher durch das Operationsprogramm
zugeführt wird. Ein Druck-Unterprogramm enthält
in entsprechender Weise diejenigen Instruktionen, welche die Geräteeinheit durchführen muß, um Daten zu einem peripheren Gerät
zu übertragen.
Unterbrechungs-Unterprogramme enthalten Instruktionen, die Verwendung finden, wenn Unterbrechungszustände auftreten. Unterbrechungszustände
können innerbetrieblicher Art in Bezug auf die datenverarbeitende Geräteeinheit sein und durch Netzausfall oder
unzulässige Instruktionen verursacht sein. Sie können auch außerhalb
der Geräteeinheit liegen, wenn z.B. eine Eingangs-/Ausgangseinrichtung eine Verbindung mit der Geräteeinheit oder dem Speicher
benötigt.
Bei einer ersten Art eines Datenverarbeitungssystems enthält
eine Operationsprogramm-Instruktion zur Übertragung der Geräteeinheit
auf ein Unterprogramm eine Operandenadresse, welche die erste Adresse des Unterprogramms und eine Unterprogramm-
109842/1641
Kennzeichnung als einen Operationscode identifiziert. In Abhängigkeit
von der Instruktion bewegt die Geräteeinheit den Inhalt des Programmzählers, welcher den nächsten Instruktionsspeicherplatz
des Operationsprogramms definiert, zu der ersten Adresse des Unterprogramms. Dann wird die Instruktions-Operandenadresse um
einen Zuwachs erhöht und auf den Programmzähler übertragen. Nun enthält der Programmzähler die Adresse für die erste Unterprogramm-Instruktion
der Speichereinheit. Die Geräteeinheit führt die Unterprogramm-Instruktionen in einer Reihenfolge aus.
Bei diesen Systemen enthält die letzte Unterprogramm-Instruktion
die Adresse der ersten Adresse des Unterprogramms. Diese Adresse enthält die Operationsprogramm-Adresse für die nächste
Operationsprogramm-Instruktion, und der Inhalt wird auf den Programmzähler übertragen. Dadurch kann die Geräteeinheit die
nächste Operationsprogramm-Instruktion erhalten.
Es ist oft vorteilhaft, eine Geräteeinheit-Operation von
einem ersten Unterprogramm auf ein zweites Unterprogramm umzustellen, welche das erste Unterprogramm benutzt. In anderen Situationen
kann es vorteilhaft sein, wenn das erste Unterprogramm sich erneut aufruft. Es ist schwierig und mitunter unmöglich, diese
Übertragungen mit Datenverarbeitungssystemen der oben genannten Art zu erzielen, ohne daß eine Modifikation oder eine Erhöhung
der Anzahl von Instruktionen erforderlich ist. Wenn das erste Unterprogramm zum ersten Mal aufgerufen wird, wird der Operationsprogramm-Zählerstand
auf dem ersten Unterprogramm-Speicherplatz (z.B. SR-I) übertragen. Wenn das erste Unterprogramm beispielsweise
durch ein Zwischenprogramm erneut verlangt wird, wird der vorhandene Inhalt des Programmzählers wieder zu demselben
Speicherplatz SR-I übertragen. Der Operationsprogramm-Zählstand wird gelöscht. Deshalb kann die Geräteeinheit zu dem
Zwischenprogramm zurückgelangen und von dem Zwischenprogramm zu dem ersten Unterprogramm. Jedoch kann die Geräteoperation nicht
zu dem Operationsprogramm zurückgeführt werden.
Bei einer zweiten Art von Datenverarbeitungssystemen, welche
ermöglicht, daß ein erstes oder zweites Unterprogramm das erste Unterprogramm erneut verlangt, bewegt die Geräteeinheit
10 9 8 4 2/1641
den Inhalt des Programmzählers zu einem bestimmten Speicherplatz,
aber nicht zu dem Speicherplatz, welcher durch die Operandenadresse
definiert ist. Die letzte Unterprogramm-Instruktion enthält die Adresse für den Zählstand des Operationsprogramms. Obwohl
diese Systeme ermöglichen, daß ein Unterprogramm das andere Unterprogramm ausnützt (indem die Unterprogramme verschachtelt
werden) und eine darauffolgende Verwendung für andere Zwecke eines teilweise beendeten Unterprogramms ermöglicht, wird ein
reservierter Speicherplatz für jedes Niveau der Verschachtelung
benötigt. Eine Erhöhung der Anzahl dieser Speicherplätze für jedes verschachtelte Unterprogramm erhöht die Kompliziertheit der
Steuerschaltung oder Programmierung. Die Kompliziertheit der
Programmierung wird erhöht, weil die letzte Unterprogramm-Instruktion
abgewandelt werden muß, um den geeigneten Speicher-platz für jedes Unterprogramm zu adressieren, wenn dieses benutzt
wird. Deshalb wird dieses Vorgehen umso komplizierter, je höher die Anzahl der verschchtelten Niveaus ist.
Bei Datenverarbeitungssystemen einer dritten Art wird der Inhalt des Programmzählers von dem Operationsprogramm zu einem
Block aufeinanderfolgender Speicherplätze bewegt. Die letzte Unterprogramm-Instruktion bewegt den Zählstand des Operationsprogramms von dem Block zu dem Programmzähler. Obwohl dadurch
mehrfache Verschachtelung-Niveaus ermöglicht werden, ist es dabei nicht ohne weiteres möglich, 'der Unterprogramm-Instruktion
folgende Daten in dem Operationsprogramm zu dem Unterprogramm zu übertragen, weil der Inhalt des Programmzählers sofort modifiziert
wird, um die Speicherplätze der Unterprogramm-Instruktion zu identifizieren.
Deshalb wird die Kompliziertheit der Programmierung erhöht, um die Daten zu übertragen, welche Werte oder Datenadresse
für das Unterprogramm enthalten können.
Es ist deshalb Aufgabe der Erfindung, ein Datenverarbeitungssystem
anzugeben, beiweichem Unterprogramm-Übertragungen vereinfacht sind. Dabei soll es ermöglicht werden, daß ein erstes
oder zweites Unterprogramm das erste Unterprogramm erneut abruft. Ferner soll es bei dem System möglich sein, daß irgendeine
Anzahl von Unterprogrammen benutzt wird, bevor vorangegangene Unterprogramme beendet sind. Auch soll es dieses Datenverarbeitungssystem
ermöglichen, daß Daten in dem Operationsprogramm
1 0 9 8 A 2 / 1 6 h 1
auf das Unterprogramm übertragen werden können.
Unterbrechungszustände werden entsprechend einer vorherbestimmten Priorität festgestellt. Wenn ein Zustand festgestellt
wird, führt die Geräteeinheit das geeignete Unterbrechungs-Unterprogramm durch. Bei bestimmten Datenverarbeitungssystemen erzeugt
die unterbrechende Einrichtung einen besonderen Unterbrechungs-Vektor. Dieser Vektor, der eine Speicheradresse ist, definiert
den ersten von zwei abhängigen Speicherplätzen. Der erste Speicherplatz speichert die erste Instruktionsadresse für das Unterbrechungs-Unterprogramm;
der zweite eine ein Statuswort identifizierende Geräteeinheit-Priorität, wenn das Unterbrechungs-Unterprogramm
ausgeführt wird.
Nachdem der Inhalt des Programmzählers und das Statuswort für das Operationsprogramm in vorherbestimmten Speicherplätzen
gespeichert sind, werden die neue Adresse und das Statuswort zu der Geräteeinheit übertragen. Wenn ein zweiter Unterbrechungszustand
mit einerhöheren Priorität, auftritt, muß das erste Unterbrechung s-Unterprogramm unterbrochen werden. Bei einigen Systemen
kann das erste Unterbrechungs-Unterprogramm nicht unterbrochen werden. Bei anderen wird es lediglich fallengelassen, um
später insgesamt wieder durchzulaufen.
In anderen Systemen finden Register oder Speicherplätze Verwendung,
um den Zählstand des Programms und das Statuswort für jedes Prioritätsniveau zu speichern. Bei dem vorangegangenen
Beispiel wird das erste Unterberechungs-Unterprogramm beendet,
nachdem das zweite Unterbrechungs-Unterprogramm beendet ist. Selbst mit diesen Einschränkungen ist ehe verhältnismäßig unvollständige
Speicherausnutzung verbunden. Auch wird die Programmierung kompliziert, weil jede Instruktion in der letzten Position
des Unterbrechungs-Unterprogramms modifiziert werden muß, um den Speicherplatz mit der Information des Operationsprogramms
zu identifizieren.
Bei anderen Datenverarbeitungssystemen werden der Inhalt
des Programmzählers und eines gegebenen Speicherplatzes ausgetauscht. Der gegebene Speicherplatz enthält die erste Instruktionsadresse
des Unterbrechungs-Programms vor dem Austausch. Als Folge davon wird die Adresse an den Programmzähler übertragen,
109842/1641
während der Zählstand des Operations-Unterprogramms-an den gegebenen
Speicherplatz übertragen wird. Die Programmierung wird mühsam, wenn vielfache Unterbrechungszustände von der Geräteeinheit
behandelt werden und wenn ein Versagen des Systems auftritt.
Deshalb ist es ferner Aufgabe der Erfindung, ein Datenverarbeitungssystem mit einer vereinfachten Programmierung des Unterbrechungs-Unterprogramms
anzugeben. Dabei soll die Geräteeinheit in der Lage sein, vielfache Unterbrechungsanforderungen ansteigender
Priorität zu berücksichtigen.
Ferner ist es gelegentlich erforderlich, Unterprogramme zu unterbrechen und dann das unterbrochene Unterprogramm als Teil
des Unterbrechungs-Unterprogramms abzurufen. Einige elektronische Datenverarbeitungsanlagen ermöglichen nicht die Verwendung
irgendeines Unterprogramms bei dem .Unterbrechungs-Maschinenprogramm,
wenn das Unterprogramm nicht beendet ist, obwohl sie verschachtelte
Unterprogramme und vielfache Unterbrechungen ermöglichen. Beispielsweise ein Unterprogramm für die Berechnung
eines Cosinuswerts könnte mit dem resultierenden Unterbrechungs-Maschinenprogramm
unterbrochen werden, welches dasselbe Cosinus-Unterprogramm benötigt. In diesen Situationen ergibt sich eine
Komplizierte Programmierung und ein geringer Wirkungsgrad der Speicherausnutzung bei der Benutzung des Unterprogramms.
Deshalb ist es weiter Aufgabe der Erfindung, ein Datenverarbe itungs sy stern mit einer Geräteeinheit vorzusehen, welche Instruktionen
von irgendwelchen Operations-Maschinenprogrammen ausführen kann, welche in der Speichereinheit gespeichert sind,
und zwischen diesen übertragen kann. Ferner soll die Geräteeinheit in der Lage sein, Instruktionen von Operationsprogrammen,
Unterprogrammen und Unterbrechungs-Maschinenprogrammen und eine Übertragung dazwischen ohne Einschränkung auszuführen.
Ein Datenverarbeitungssystem ist erfindungsgemäß dadurch gekennzeichnet, daß eine Unterprogramm-Übertragungsinstruktion
oder ein Unterbrechungs-Vektor den Speicherort des Unterprogramms
oder des Unterbrechungs-Maschinenprogramms in einer Speichereinheit identifiziert. Die Unterprogramm-rübertragungsinstruktion
identifiziert auch ein Register. Die Prozeßeinheit-Operation wird
109842/1641
auf das Unterprogramm übertragen, indem der vorhandene Inhalt des Programmzählers in dem Register und der Registerinhalt in
einem unbesetzten Speicherplatz abhängig von anderen gespeicherten Informationen gespeichert werden. Die letzte Unterprogramm-Instruktion
bewegt den Registerinhalt zu dem Programmzähler, und die letzte abhängig gespeicherte Information in dem Speicher
zu dem Register.
Wenn es erforderlich ist, zu einem Unterbrechungs-Unterprogramm zu übertragen, werden der Zählstand des Operations-Maschinenprogramms
und das Statuswort in den nächsten beiden unbesetzten abhängigen Speicherplätzen gespeichert. Dann werden das Statuswort
und eine erste Instruktxonsadresse an die Geräteeinheit übertragen. Die letzte Unterbrechungs-Maschinenprogramm-Instruktion
bewegt die letzten beiden abhängig gespeicherten Informa-. tionsgrößen in die Geräteeinheit. Wenn diese Übertragungen beendet
sind, setzt die Geräteeinheit die Ausführung von Instruktionen zu dem unterbrochenen Operations-Maschinenprogramm fort.
Die wesentlichen Merkmale der Erfindung sind deshalb in einer Geräteeinheit zur Ausführung von Instruktionen von einer
Anzahl von teilweise beendeten Operations-Maschinenprogrammen zu sehen. Mit jeder Unterprogramm-Übertragung liefert ein erstes
Register eine Speicherplatz-Adresse zur Speicherung eines zweiten
Registerinhalts. Der Zählstand des Programms wird in dem zweiten Register gespeichert. Die erste Unterprogramm-Instruktxonsadresse
wird an den Programmzähler übertragen. Eine letzte Unterprogramm-Instruktion bewegt den zweiten Registerinhalt zu
dem Programmzähler und den Inhalt des Speicherplatzes zu dem zweiten Register. Wenn ein Unterbrechungs-Maschinenprogramm begonnen
wird, werden der Inhalt des Programmzählers und eines Statusregisters direkt in zwei Speicherplätze übertragen, welche
durch Adressen von dem ersten Register definiert sind. Eine letzte Unterbrechungs-Maschinenprogramm-Instruktion bewegt den Inhalt
der beiden Speicherplätze, welche durch Adressen, von dem ersten Register definiert sind, zu der Geräteeinheit. Das letzte
zu beginnende Operations-Maschinenprogramm ist immer das erste, welches beendet wird, so daß irgendeine Anzahl von Maschinenprogrammen
teilweise beendet werden können.
109842/1641
Anhand der Zeichnung soll die Erfindung näher erläutert werden.
Es zeigen:
Fig. 1 ein Datenverarbeitungssystem gemäß der Erfindung;
Fig. 2 eine schematische Darstellung eines Ausführungsbeispiels der Geräteeinheit in Fig. 1;
Fig. 3 ein Ausführungsbeispiel der Instruktions-Decodierschaltung in der Geräteeinheit in Fig. 2;
Fig. 4 die Organisation einer Instruktions-Operandenadresse ;
Fig. 5 ein Ausführungsbeispiel der Speichereinheit in Fig.
1;.
Fig. 6 ein Flußdiagramm des Abrufzyklus, welcher durch die
Geräteeinheit in Fig. 2 ausgeführt wird;
Fig. 7 ein Flußdiagramm eines Ausführungszyklus, welcher durch die Geräteeinheit in Fig. 2 ausgeführt wird;
Fig. 8 ein Flußdiagramm eine,s Termzyklus, welcher durch die
Geräteeinheit in Fig. 2 ausgeführt wird;
Fig. 9 eine Zeitgebereinheit für die Geräteeinheit in Fig. 2;
Fig. IO eine arithmetische Einheit für die Geräteeinheit
in Fig. 2;
Fig. 11 eine Speicherregister-Steuereinheit und ein Speicherregister
für die Geräteeinheit in Fig. 2;
Fig. 12 eine Status- und Unterbrechungs-Prioritätseinheit für die Geräteeinheit in Fig. 2; und
Fig. 13 eine Möglichkeit der Organisation der Speichereinheit in Fig. 5 für eine spezielle Situation.
Das Datenverarbeitungssystem in Fig. 1 enthält eine Geräteeinheit 22, eine Speichereinheit 24 mit wahlfreiem Zugriff und
eine Anzahl peripherer Einheiten, wie die Einheiten 26 und 28. Die verschiedenen Einheiten sind durch einen in beiden Richtungen
leitenden Übertragungsweg 30 verbunden, um direkte Daten-Instrük-
10 9 8 4 2/1641
txonsubertragungen zwischen ihnen zu ermöglichen. Obwohl das Ausführungsbeispiel
in Fig. 1 alle Vorteile der Erfindung ergibt, ist die Erfindung auch für eine Implementierung anderer Datenverarbeitungssysteme
geeignet, wobei zumindest ein Teil deren Vorteile erzielbar sind.
Jede periphere Einheit und Speiehereinheit enthält einen
Steuerabschnitt mit Daten-Pufferregistern, Adressen-Decodierungsschaltungen für Auswählzwecke, Register zur Speicherung unterbrechender
Vektoren und andere Schaltungselemente, welche für die Steuerung der Einheit erforderlich sind. Gewisse Einzelheiten
dieser Steuerabschnitte werden im folgenden näher erläutert.
Die Geräteeinheit 22 ist in Fig. 2 dargestellt. Sie ist mit dem Übertragungsweg 30 über eine Anzahl von Verbindungsstellen
gekoppelt. Die primäre Verbindung erfolgt über eine Übertragungsweg-Zwischeneinheit
32, welche ein Adressenregister 34, eine Zwischenstelleneinheit 36 und eine Unterbrechungs-Prioritätseinheit
38 enthält. Informationen in der Form von Daten oder Instruktionen werden zu Speicherplätzen übertragen oder davon empfangen,
welche durch die peripheren Einheiten oder die Speichereinheit
gegeben sind. Jeder Speicherplatz ist durch eine Adresse in dem Adressenregister 34 definiert. Die Daten oder Instruktionen
werden über den Übertragungsweg 30 übertragen.
Das Adressenregister 34 überträgt auch Daten mit einer Konsol-Steuereinheit 35, welche mit dem Übertragungsweg 30 gekoppelt
ist. Dadurch kann der Inhalt des Adressenregisters 34 an die Steuereinheit 35 für Wiedergäbezwecke übertragen werden,
oder eine durch die Steuereinheit 35 dem Übertragungsweg 30 zuzuführende Adresse für Testzwecke.
Ein Speicherregister 40 enthält ein Leitwerk 42 und eine Anzahl von Speicherregistern Ε.Θ bis R7, TEMP und SOURCE. Das Register
R7 ist der Programmzähler und wird entweder als das R7- oder PC-Register identifiziert, je nach dessen Funktion. Das Register
R6 wird als SP-Register bezeichnet, wenn seine Funktion darin besteht, abhängige Speicherplätze zu identifizieren. Einzelheiten
des Speicherregisters 40 werden in Verbindung mit Fig. 1!beschrieben.
109842/1641
Eine arithmetische Einheit 44 enthält eine Addiereinheit 46 und zwei Eingangsschaltungen. Die A- und B-Eingangsschaltungen
48 und 52 empfangen Eingangssignale von dem Speicherregister 40
und dem Übertragungsweg 49 und von der Zwischenstelleneinheit 36 auf einem übertragungsweg 50. Ausgangssignale von der Addiereinheit.
46 werden über eine Auswerteinheit 54 mit Vertausch- und Verschiebungsmöglichkeiten auf dem Übertragungsweg 56 übertragen.
Der Übertragungsweg 56 ist mit dem Adressenregister 34, der Zwischenstelleneinheit
36, der Unterbrechungs-Prioritätseinheit 38, dem Speicherregister 40 und der Statuseinheit 58 verbunden. Die
Statuseinheit 58 umfaßt ein Statuswortregister 59 und ist in einer Steuereinheit 60 angeordnet.
Das Statuswortregister 59 für acht Bits ist in Fig. 2 dargestellt und speichert die acht Bits mit dem niedrigsten Wert
auf dem Übertragungsweg 30, wenn sie die Gerätepriorität und vorangegangene Operationen difinieren, und ob die Geräteeinheit
22 nach einer Instruktion angehalten (bedingter Programmsprung) werden kann. Die Prioritäts-Bits (Bits 5, 6 und 7) definieren
eine von acht Prioritäten. Ein Bit T (Bit 4) bedingt das Anhalten. Ein Bit N (Bit 3) kann eingestellt werden, wenn das Ergebnis der
vorangegangenen Instruktion negativ war, während ein Bit Z (Bit 2) für Null-Ergebnisse eingestellt werden kann. Ein Bit V (Bit 1)
kann eingestellt werden, wenn ein arithmetischer Überschuß auftritt, während ein Bit C (Bit 0) eingestellt werden kann, wenn
ein Übertrag durch die Addiereinheit 46 für das Bit mit dem höchsten Wert erzeugt wird.
Informationsübertragungen in der Geräteeinheit 22 werden durch die Steuereinheit 60 überwacht. Im allgemeinen werden die
Instruktionen von dem Übertragungsweg 50 zu einem Instruktionsregister 62 für die Decodierung in einer Instruktions-Decodierungsschaltung
64 in Abhängigkeit von Signalen von einer Zeitgebereinheit 66 und einer allgemeinen Steuereinheit 68 gekoppelt. Die
Taktsignale und die Signale von der Decodierschaltung 64 und der allgemeinen Steuereinheit 68 sind ebenfalls mit einer arithmetischen
Steuereinheit 70 gekoppelt, welche die verschiedenen Einheiten in der arithmetischen Einheit 44 steuert. ,
109842/ 1641
Operationen in dem Speicherregister 40 werden durch eine Speicherregister-Steuereinheit 72 gesteuert. Innere Operationsbedingungen werden durch eine innere Steuereinheit 74 nachgewiesen, welche auch auf andere Signale in der Steuereinheit 60
anspricht- Signale, welche die Anwesenheit von gewissen inneren Bedingungen anzeigen, können über die B-Eingangsschaltung 52,
die Addiereinheit 46 und die Auswerteinheit 54 auf dem Übertragungsweg 56 gekoppelt werden.
Bevor die Einzelheiten zur Erläuterung der Erfindung beschrieben werden sollen, erscheint es zweckmäßig, die Übertragung
von Informationen durch die Geräteeinheit 22 in Abhängigkeit von verschiedenen Instruktionen zu erläutern. Während eines
Abrufzyklus, der in Verbindung mit Fig. 6 eingehend erläutert
werden soll, überträgt die Steuereinheit 60 mit der arithmetischen Steuereinheit 70 und der Speicherregister-Steuereinheit
den Zählstand von dem PC-Register (Register R7 in dem Speicherregister 40) über die B-Eingangsschaltung 52, die Addiereinheit
46 und die Auswerteinheit 54 zu dem Übertragungsweg-Adressenregister 34 ohne Modifikation. Der Programm-Zählstand wird dann
inkrementiert und zu dem PC-Register zurückgeführt. Dann wird die Instruktion in dem Speicherplatz, der von dem Übertragungsweg-Adressenregister
34 adressiert wurde, erhalten und über die Übertragungsweg-Zwischenstelleneinheit 36 in ein Instruktionsregister
62 gegeben. Nach der Decodierung der Instruktion in einer Decodierschaltung 64, die in Verbindung mit Fig. 3 beschrieben
ist, beendet die Steuereinheit 60 den Abrufzyklus.
Wenn die Instruktion eine von verschiedenen Steuerinstruktionen in Fig. 3 ist, kann die Steuereinheit 6O verursachen, daß
die Geräteeinheit 22 entweder zu einem Ausführungs- oder einem Term-Zyklus umleitet. Wenn die Instruktion eine Operandenadresse
enthält, beispielsweise eine in Fig. 4 dargestellte Operandenadresse, wird sie decodiert und der Operand, der gewöhnlich aus
Daten besteht, welche durch die Operandenadresse definiert sind,
wird von der Speiehereinheit zu der Geräteeinheit übertragen.
Nach der Übertragung der Daten an die Geräteeinheit 22 beendet entweder ein Term- oder Ausführungszyklus die Operation der
10 9 8 4 2/1641
Geräteeinheit. Der Ausführungszyklus bearbeitet die beim Abrufzyklus
entsprechend dem Operationscode aufgefundenen Daten. Während
des Termzyklus bestimmt die Geräteeinheit, ob irgendeine Bedingung vorliegt, welche eine Umleitung zu einem Unterbrechungs-Unter
programm erfordert.
Gemäß der Erfindung kann die Geräteeinheit 22 Instruktionen in einer Reihenfolge von einem Operations-Maschinenprogramm und
dann von einem anderen Operations-Maschinenprogramm erhalten. Diese Maschinenprogramme werden gewöhnlich in verschiedenen Gruppen
von Speicherplätzen gesteuert, wovon eine typische Organisation für die Speichereinheit 24 in Fig. 5 dargestellt ist. Adressen
von dem Adressenregister 34 werden zu einem Speicher-Adressenregister
(MAR) 84 gekoppelt. Wenn Instruktionen oder Daten an die Speichereinheit übertragen werden, dann werden sie durch den
Speicherpuffer (MB) 88 zu den bezeichneten Speicherplätzen übertragen. Instruktionen oder Daten in Speicherplätzen werden von
den gekennzeichneten Speicherplätzen über den Speicherpuffer zu dem Übertragungsweg 30 übertragen.
Die Speichereinheit 24 ist in Blöcke oder Gruppen von abhängigen Speicherplätzen unterteilt, um in einer Beziehung stehende
Instruktionen in einer Reihenfolge zusteuern, sowie in Zufalls-Speicherplätze. Beispielsweise können die Speicherplätze ·
des Blocks 86 Programminstruktionen steuern. Diese Speicherplätze werden normalerweise durch das PC-Register adressiert. Eine
JSR-Instruktion enthält eine Adresse für den Block 90, welcher
die verschiedenen Unterprogramm-Instruktionen speichert. Unterbrechungs-Maschinenprogramm-Instruktionen
werden in einem Block 92 mit abhängigen Speicherplätzen gesteuert. Der Block 94 speichert
den Inhalt des PC-Registers und den gesparten Inhalt des Statusregisters, wenn ein Unterprogramm oder ein Unterbrechungs-Maschinenprogramm
an Speicherplätzen eingeleitet wird, welches durch den Inhalt des Registers SP (oder R6) definiert sind.
Wie aus den Fig. 2 und 5 ersichtlich ist, wird eine Instruktion für ein Operationsprogramm von einem Speicherplatz in dem
Block 86 übertragen, wenn der Inhalt des PC-Registers über die arithmetische Einheit 44 zu dem Adressenregister 34 übertragen
109 842/16A1
wird. Die adressierte Instruktion wird dann von der Speichereinheit
24 erhalten und an.das Instruktionsregister 62 und an die Instruktions-Decodierschaltung 64 übertragen. Wenn die Instruktion
eine Operandenadresse enthält, wird der Inhalt des gekennzeichneten Registers über die B-Eingangsschaltung 52 und die
arithmetische Einheit 44 auf dem übertragungsweg 46 übertragen. Wenn dasAusgangssignal der arithmetischen Einheit auf dem übertragungsweg
56 Daten enthält, werden diese Daten an eine Adresse übertragen, welche durch die Instruktion definiert ist,und
in dem Übertragungsweg-Adressenregister gespeichert.
Wenn das arithmetische Ausgangssignal eine Adresse ist,
wird sie an das Adressenregister 34 übertragen . Der Inhalt des adressierten Speicherplatzes wird auf die A- oder B-Eingangsschaltung
48 oder 52 als Daten oder als andere Adresse übertragen. Die Erläuterung der Einzelheiten der Adressierung entsprechend
dem Operandenadressen-Format in Fig. 4 ist zum Verständnis der Erfindung nicht erforderlich.
Gemäß der Erfindung hat eine JSR-Instruktion gewöhnlich
ein Oktalformat von jZJ.04 XX, wobei "R" gewöhnlich das Register
R5 identifiziert und "XX" die Operandenadresse ist. Wenn diese Instruktion decodiert wird, wird der Inhalt des Registers R5
zu dem nächsten unbesetzten Speicherplatz in dem Block 90 bewegt, welcher durch das SP-Register definiert ist. Der Inhalt
des PC-Registers wird in das Register R5 bewegt. Dann wird der Inhalt des Speicherplatzes, der durch die Operandenadresse adressiert
wurde, in das PC-Register übertragen. Wenn die Ausführungsund Termzyklen, die zur Decodierung der JSR-Instruktion benötigt
werden, beendet sind, bewirkt die Geräteeinheit 22 einen Abrufzyklus und erhält die erste Unterprogramm-Instruktion von der
Spe iche re inhe i t.
Bei einer RTS-Instruktion, welche das Format 00020R hat,
definiert 11H* gewöhnlich das Register R5. Wenn ein anderes Register
in der betreffenden JSR-Instruktion gekennzeichnet ist, muß
die RTS-Instruktion modifiziert werden. Wenn die RTS-Instruktion decodiert ist« wird der Speicherinhalt des Registers R5 in das
Register PC bewegt. Zusätzlich wird der inhalt des Speicherplatz
109842/1641
zes, der durch das SP-Register identifiziert ist, in das Register R5 bewegt. Nach der Ausführung der RTS-Instruktion enthält deshalb
das PC-Register die Adresse der Operationsprogramm-Instruktion,
welche auf die JSR-Instruktion folgt.
Die Geräteeinheit 24 kann auf irgendeine Bedingung ansprechen, welche eine Reaktion der Geräteeinheit während des Termzyklus
erfordert. Wenn eine derartige Anfrage mit einer ausreichenden Priorität gemacht wird, wird ein Unterbrechungssektor zu
der Geräteeinheit 22 bewegt, um zwei abhängige Speicherplätze zu identifizieren. Diese Speicherplätze enthalten die erste Unterbrechungs-Unterprogramminstruktion-Adresse
und ein bezogenes Statuswort. Der Inhalt des PC-Registers und des Statusregisters
wird auf die nächsten beiden unbesetzten Speicherplätze in den Block 94 unter Steuerung des SP-Registers übertragen. Dann werden
die erste Instruktionsadresse und dag bezogene Statuswort
auf das PC-Register bzw. das Statuswortregister 59 übertragen. Wenn die Geräteeinheit 22 den nächsten Abrufzyklus ausführt,
wird die erste Unterbrechungs-Maschinenprogramm-Instruktion von
der Speichereinheit 24 erhalten.
Die schließliche Unterbrechungs-Maschinenprogramm-Instruktion
(eine RTI-Instruktion) führt die Geräteeinheit 22 zu dem unterbrochenen Maschinenprogramm zurück. Wenn die RTI-Instruktion
decodiert ist, werden das Statuswort und der nächste Programmzählstand des Maschinenprogramms von "dem Block 94 zu dem Statuswortregister
59 bzw. dem PC-Register übertragen. Wenn die Geräteeinheit 24 den nächsten Abrufzyklus ausführt, wird die Maschinenprogramm-Instruktion,
welche auf diejenige Instruktion folgt, die in der Geräteeinheit war, als die Unterbrechung auftrat, von der
Speichereinheit erhalten.
Ein unterbrochenes Maschinenprogramm kann ein Operationsprogramm, ein Unterprogramm oder ein Unterbrechungs-Maschinenprogramm
sein. Deshalb kann jedes Unterprogramm oder jedes Unterbrechungs-Maschinenprogramm
zusätzlich zu den Operationsprogrammen unterbrochen werden. Eine Übertragung des Inhalts des PC-Registers
zu dem R5-Register und des R5-Registers zu dem Block
ermöglicht eine Verschachtelung von Unterprogrammen und einen er-
109842/1641
neuten Abruf als Maschinenprogramme innerhalb anderer Unterprogramme,
Unterbrechungs-Maschinenprogramme oder Operationsprogramme. Wenn die Information zu demselben Block übertragen wird/
beispielsweise zu dem Block 94, dann können Unterbrechungs-Maschinenprogramme
und Unterprogramme vermischt werden. Die RTI- und RTS-Instruktion und das Ende jedes Unterbrechungs-Maschinenprogramms
oder Unterprogramms verursacht, daß die Geräteeinheit durch die verschiedenen Maschinenprogramme in der umgekehrten
Ordnung zurücküberträgt, im Vergleich zu derjenigen, mit der die Maschinenprogramme eingeleitet wurden.
Es sei beispielsweise angenommen, daß ein Unterprogramm
SUBR-I, das in einem Operationsprogramm Verwendung findet, unterbrochen
wird und daß das Unterbrechungs-Maschinenprogramm das Unterprogramm SUBR-I benötigt. Die Geräteeinheit beginnt das
Operationsprogramm, überträgt auf das SUBR-1-Maschinenprogramm und wird unterbrochen. Dann wird das Unterprogramm SUBR-I wieder
aufgerufen.
Zu diesem Zeitpunkt enthält das PC-Register eine SUBR-I-Instruktionsadresse
und die gesamte Rückführinformation ist in dem Register R5 oder in dem Block 94 gespeichert. Das Register
R5 enthält eine Adresse für das Unterbrechungs-Maschinenprogramm, während die Information in dem Block 94 so angeordnet ist, daß
die nächste Operationsprogramm-Instrüktionsadresse zuerst für
die Übertragung an das Register R5 ausgelesen wird. Danach folgt die Adresse für die nächste Instruktion für das SUBR-1-Unterprogramm,
welches unterbrochen war, und das Statuswort für das Ope rationsprogramm.
Wenn das SUBR-I-Unterprogramm beendet ist, überträgt dessen
RTS-Instruktion den Inhalt des Registers R5 an das PC-Register
und die letzte in dem Block 94 gespeicherte Information an das Register R5. Dadurch kann die Geräteeinheit 22 das Unterbrechungs-Unterprogramm
beenden und schließlich die RTI-Instruktion ausführen. Nun wird die Adresse für die SUBR-I-Unterprogramm-Instruktion,
welche auf die Instruktion folgt, die ausgeführt wurde, als die Unterbrechung auftrat, direkt an das PC-Register
übertragen. Schließlich überträgt die RTS-Instruktion am Ende
109842/1641
dieses Unterprogramms den Inhalt des Registers R5 zurück an das PC-Register, damit, die Geräteeinheit das Operationsprogramm vervollständigen
kann.
Aus den obigen Ausführungen geht hervor, daß das Ausführungsbeispiel in Fig. 1 mit der Geräteeinheit 22 in Fig. 2 die Programmierung
vereinfacht, während andererseits ermöglicht ist, daß die Geräteeinheit verschiedene Maschinenprogramme ganz und
teilweise ausführt. Irgendein Niveau, eine Anzahl oder Kombination von Unterprogrammen und Unterbrechungs-Maschinenprogrammen
kann teilweise durchgeführt werden, wobei jedoch die Bewegung des Inhalts des PC-Registers, des Registers R5 und des Statusregisters
zu dem Block 94 die Kompliziertheit der Programmierung verringert. Die Operationszeiten der Geräteeinheit werden aus
zwei Gründen verringert. Die Verwendung der R5- und SP-Register in dem Speicherregister verringert für diese Übertragungen die
Ausführungs- und Übertragungszeiten, und ermöglicht mit den
RTI- und RTS-Instruktionen eine arithmetische Verschachtelung
ohne eine bedeutsame Decodierung von Adressen.
Im folgenden soll eine eingehende Erläuterung der Arbeitsweise erfolgen. Da die Operation, Adressenmodus und Register-Auswählcode
in einer Wechselbeziehung stehen und primäre Signale in der Steuereinheit 60 bilden, zeigen die Fig. 3 und 4 das Format
für einige Beispiele von Instruktionen. Diejenigen Instruktionen, welche von Bedeutung für die Erfindung sind, werden eingehend
beschrieben, zusammen mit der Bedeitung der verschiedenen Arten der Operandenadressen.
a) Instruktionen
Wie insbesondere aus Fig. 3 ersichtlich ist, werden die Instruktionen willkürlich in Steuer-, Ein-Operanden und Zwei-Operanden-Adressen-Kategorien
zum Zwecke der Erläuterung unterteilt. Jede Instruktion ist so ausgebildet, wie in der Spalte
Instruktionsformat gezeigt ist. Wenn eine spezielle Instruktion zu der Instruktions-Decodierschaltung 64 (Fig. 2) übertragen
wird, wird ein Instruktions-Signalleiter erregt. Es sollen jedoch nur diejenigen Instruktionen näher erläutert werden, welche
1Ö98A2/1641
sich direkt auf die Erfindung beziehen, nämlich die JSR-, RTI-urid
RTS-Instruktionen. Jede Instruktion erzeugt ein Signal auf einem Ausgangsleiter, von denen beide durch dieselbe Gedächtnishilfe
gekennzeichnet werden, die in der folgenden Tabelle und in der Instruktionsspalte von Fig. 3 auftritt.
Instruktionen Oktalzahl JRS 0004BXX.
RTS
00020R
RTI
000002
Funktion
Wenn es erforderlich ist, ein Zwischenergebnis von einem anderen Satz von Instruktionen zu erhalten
und dann zu dem ursprünglichen Operationsprogramm zurückzukehren, wird die JSR-Instruktion ausgegeben,
wenn "R" ein Code mit drei Bits ist, wodurch gewöhnlich das R5-Register identifiziert wird.
Die anfängliche Unterprogramm-Instruktionsadresse wird durch die Operandenadresse XX lokalisiert.
Die Adresse für die Instruktion, welche auf die JSR-Instruktion in
dem ursprünglichen Programm folgt, wird in dem ausgewählten (R5-) Register gespeichert.
Dies ist die letzte Instruktion in einem Unterprogramm. "R" ist der Register-Auswählcode mit drei
Bits, wodurch gewöhnlich das Register R5 identifiziert wird. Die Geräteeinheit erhält die Instruktion,
welche auf die JSR-Instruktion folgt, von der Speichereinheit
während des nächsten Abrufzyklus.
Dies ist die letzte Instruktion in einem Unterbrechungs-Maschinenprogramm,
die in der Speichereinheit gespeichert ist. Die Geräteeinheit erhält die nächste Instruktion
in dem unterbrochenen Programm von der Speichereinheit während des nächsten Abrufzyklus.
10 9 8 4 2/1641
— 1 ft—
Die bei der JSR-Instruktion benutzte Operandenadresse kanr
das in Fig. 4 dargestellte Format haben. Während die Antwort der Geräteeinheit im vorliegenden Falle nicht erläutert werden muß,'
ist die Antwort auf jede Operandenadressenart aus Gründen der Übersichtlichkeit dargestellt.
und 1 Das ausgewählte Register enthält Daten,
wenn Modus-0, und eine Datenadresse, wenn Modus-1.
und 3 Das ausgewählte Register enthält eine
Datenadresse, wenn Modus-2, und die Adresse eines Daten enthaltenden Zwischenspeicherplatzes,
wenn Modus-3. Die Registerinhalte werden nach ihrer Verwendung inkrementiert.
und 5 Die ausgewählten Registerinhalte wer
den anfänglich dekrementiert. Der dekrementierte Inhalt bildet eine Datenadresse,
falls Modus-4, und die Adresse eines Datenadressen enthaltenden Zwischenspeicherplatzes,
wenn Modus-5.
und 7 Der Inhalt des nächsten Instruktions-
Speicherplatzes wird als der Indexwert aufgefunden und zu dem ausgewählten Registerinhalt
addiert. Die Summe ist eine Datenadresse, falls Modus-6, und die Adresse eines eine Datenadresse
enthaltenden Zwischenspeicherplatzes, wenn Modus-7.
c) Arbeitsweise der Geräteeinheit
Nach dieser allgemeinen Erläuterung der Bedeutung der Adressenarten und der Register-Auswählbits können die verschiedenen
Operationszyklen erläutert werden, welche durch die Geräteeinheit 22 in Abhängigkeit von den JSR- RTS- und RTI-Instruktionen
erzeugt werden.
109842/1641
Fig. 6 zeigt ein Fließbild des Abrufzyklus, welcher eine Instruktion von der Speichereinheit 24 (Fig. 1) erhält und die
Daten, welche durch die Operandenadresse definiert sind, an die Geräteeinheit 22 überträgt, falls solche vorhanden sind. Jeder
Zyklus ist durch ein Taktsignal gekennzeichnet, welches durch eine Gedächtnishilfe ISR und BSR identifiziert ist und durch
eine Schaltung erzeugt wird, die in Verbindung mitFig. 9 beschrieben werden soll.
Wenn die Geräteeinheit 22 (Fig. 2) erregt ist, wird durch die Steuereinheit 60 ein ISR-0-Zustand mit drei BSR-Zuständen
erzeugt. Der Inhalt des PC-Registers wird zu der B-Eingangsschaltung 52 während des BSR-1-Züstands übertragen. Wenn nichts
anderes angegeben wird, liefert eine nichtbenutzte Eingangsschaltung kein Ausgangssignal. Wenn die A-Eingangsschaltung 48
ein Ausgangssignal Null erzeugt, gelangt der Programmzählstand
durch die Addiereinheit 46 ohne Modifikation zu dem Adressenregister 34 während eines ersten Teils des BSR-2-Zustands. Ein inkrementierender
Wert, welcher der A-Eingangsschaltung 48 zugeführt
wird, bewirkt einen neuen Programmzählstand an dem Ausgang der Addiereinheit 46 während eines zweiten Teils des BSR-2-Zustands.
Nachdem dieser neue Programmzählstand zu dem PC-Register in dem Speicherregister 40 während eines ersten Teils des
BSR-3-Zustands bewegt ist, wird die in dem Speicherplatz gespeicherte Instruktion, welcher Speicherplatz durch das Adressenregister
34 adressiert wurde, in das Instruktionsregister 62 während eines zweiten Teils des BSR-3-Zustands übertragen.
Wenn der lSR-0-Zustand beendet ist, erzeugen die Zeitgebereinheit
66 und die Steuereinheit 68 einen ISR-1-Zustand für die
Decodierung der Instruktion in der Decodierschaltung 64 und zur Durchführung verschiedener Entscheidungen. Wenn die Instruktion
als eine RTI- oder RTS-Instruktion oder eine ähnliche Instruktion
decodiert ist, kann sie sofort ausgeübt werden. Mit diesen Instruktionen leitet die Geräteeinheit 22 zu dem in Fig. 7 dargestellten
Zyklus über. Die Geräteeinheit 22 kann ebenfalls zu dem Termzyklus von Fig. 8 mit anderen Instruktionen umgeleitet werden.
Wenn die Geräteeinheit 22 nicht auf den Ausführungs- oder Termzyklus umgeleitet ist, erfolgen die erforderlichen Schritte
zur Erzielung der Information, welche durch die Operandenadresse in der JSR-Instruktion definiert ist.
Die Steuereinheit 60 verwendet einen erweiterten ISR-I, welcher
drei BSR-Zustände enthält, um anfänglich die Operandenadresse zu decodieren. Der inhalt des in der Operandenadresse identifizierten
Registers wird während des BSR-1-Zustands in die B-Eingangsschaltung
bewegt. Eine dekrementierende Größe wird an die A-Eingangsschaltung.48 gekoppelt, um den Wert der B-Eingangsschaltung
52 zu dekrementieren, wenn die Operandenadresse eine
Modus-4 oder -5 Operandenadresse ist. In jedem Fall wird das Ausgangssignal
der Addiereinheit zu dem Adressenregister 34 während des BSR-2-Zustands übertragen. Wenn die Operandenadresse eine
Modus-2 oder -3 Operandenadresse ist, wird eine inkrementierende
Größe an die A-Eingangsschaltung 48 während eines zweiten Teils des BSR-2-Zustands übertragen. Nachdem das Ausgangssignal von der
Addiereinheit 46 zu dem Register zurückgeführt ist, welches in der Operandenadresse definiert ist, während eines ersten Teils
des BSR-3-Zustands, wird der Inhalt des durch das Adressenregister
34 adressierten Speicherplatzes zu der B-Eingangsschaltung 52 übertragen. Der BSR-3-Zustand wird erweitert, bis diese Übertragung vervollständigt ist.
Mit Modus-1, -2 oder -4 Operandenadressen enthält die B-Eingangsschaltung
52 Daten und keine weiteren Operationen sind erforderlich. Mit Modus-3, -5, -6 oder -7 Operandenadressen enthält
die B-Eingangsschaltung 52 eine Adresse und die Geräteeinheit gelangt in einen ISR-2-Zustand, welcher die drei BSR-Zustände
enthält. Keine Operation tritt bei dem BSR-1-Zustand auf, falls die Operandenadresse nicht eine Modus-6 oder -7 Operandenadresse
ist. Jeder Modus verursachte die implizite Auswahl des PC-Registers und die Inkrementierung dessen Speicherinhalts während
des ISR-1-Zustands, sodaß die B-Eingangsschaltung einen Indexwert
am Ende des ISR-1-Zustands enthält. Während des ISR-2™
Zustands wird der Speicherinhalt des Registers, der durch eil..
Operandenadresse identifiziert ist, zu der A-Eingangsschaltung 48 bewegt, um den Indexwert zu addieren. Nach der Übertragung des
10 9 8 42/16 4 1
Ausgangesignals von der Addiereinheit 46 zu dem Adressenregister
34 während des BSR-2-Zustands wird ein erweiterter BSR-3-Zustand
benutzt, um den Speicherinhalt des Speicherplatzes, welcher durch das Adressenregister 34 adressiert wurde, zu der B-Eingangsschaltung
52 zu bewegen.
Wenn der ISR-2-Zustand aufhört, enthält die B-Eingangsschaltung
52 Daten, wenn die Operandenadresse eine Modus-3, -5 oder -6 Operandenadresse ist. Keine zusätzlichen Adressierungsoperationen
sind erforderlich. Mit einer Modus-7 Operandenadresse enthält die B-Eingangsschaltung eine Datenadresse, und ein
ISR-3-Zustand wird benutzt. Keine Operationen treten während des
BSR-1-Zustands auf. Die Datenadresse wird direkt an das Adressenregister
34 während des BSR-2-Zustands übertragen. Ein erweiterter BSR-3-Zustand bewegt die Daten zu der B-Eingangsschaltung
52.
Eine JSR-Instruktion modifiziert den Abrufzyklus. Wenn der
letzte ISR-Zustand, der zur Decodierung der Operandenadresse benötigt wird, ausgelöst wird, modifiziert die Steuereinheit 60
den BSR-3-Zustand, um die übertragung des adressierten Inhalts
an die B-Eingangsschaltung 52 auszulassen. Diese Modifikation erfolgt, weil das Ausgangssignal der Addiereinheit 46 die Adresse
für die er ate Instruktion ist, die nach der Beendigung der JSR-Instruktion
benutzt werden soll. Mit einer JSR-tibertragungsinstruktion wird die anfängliche Unterprogramm-Instruktionsadresse
zwischenzeitig in dem TEMP-Register während eines ISR-0-Zustande
gespeichert. Die Geräteeinheit 22 leitet dann zu dem Ausführungszyklus von Fig. 6 um, was ebenfalls erfolgt, wenn die Instruktion
jetzt eine JMP-oder JSR-Instruktion ist.
Die Antwort der Geräteeinheit während des Ausführungszyklus
hängt) von der Instruktion ab. Im folgenden sollen nun die Antworten auf JSR-, RTS-und RTI-Instruktionen erläutert werden,
die zum Verständnis der Erfindung erforderlich sind.
Wie aus Fig. 7A ersichtlich ist, erzeugt die Steuereinheit
60 anfänglich einen erweiterten ISR-jÖ-Zustand in Abhän-
109842/1841
gigkeit von einer JSR-Instruktion bei einem Operatiöns-Maschinenprogranvm
und überträgt den Inhalt des SP-Registers (Register R6)
in dem Speicherregister 40 zu der B-Eingangsschaltung 52. Ein
dekrementierender Wert wird gleichzeitig während des BSR-I-Zu- stands
an die A-Eingangsschaltung 48 gegeben. Der dekrementierte
Wert von der Addiereinheit 46 wird zu dem Adressenregister 34 und zu dem SP-Register in dem Speicherregister 4O bewegt, während
der. Zustände BSR-2 bzw. BSR-3. Wenn der BSR-3-Zustand beendet
ist, adressiert das Adressenregister 34 einen unbesetzten Speicherplatz in der Gruppe von abhängigen Speicherplätzen, welche
als Block 94 in Fig. 5 definiert sind. Während der folgenden Zustände BSR-0 und BSR-4 wird der Inhalt des Registers R5, definiert
durch Bits 6, 7 und 8 in der Instruktion, über die B-Eingangsschaltung 52 an die unbesetzten Speicherplätze übertragen.
Wie bereits erwähnt wurde, könnte irgendein anderes Register in dem Speicherregister 4O durch die JSR-Instruktion identifiziert
werden. Während des Zustande BSR-5 wartet die Geräteeinheit 22, bis der Inhalt des Registers R5 tatsächlich gespeichert
ist und beendet dann den Zustand ISR-0. Deshalb wird der Inhalt des Registers R5 in die Speichereinheit 24 während des Zustande
ISR-0 durch Dekrementieren des Inhalts des Registers SP übertragen,
um eine unbesetzte Adresse in dem Block 94 zu definieren.
Während des folgenden ISR-1-Zustands wird der Inhalt des
PC-Registers zu der B-Eingangsschaltung 52 übertragen und dann
zu dem R5-Register während des ISR-2-Zustands. Die Adresse für
die erste Unterprogramm-Instruktion wird von dem TEMP-Register
übertragen, wo diese während des Abrufzyklus gespeichert war, und zwar zu der B-Eingangsschaltung 52 während des ISR-3-Zustands.
Dieser neue Programmzählstand wird dann zu dem PC-Register während des ISR-4-Zustands bewegt. Wenn der ISR-4-Zustand
beendet ist, enthält das PC-Regi3ter die Adresse für die erste Instruktion in dem Unterprogramm. Das R5-Register enthält die
Adresse für die nächste Instruktion bei dem Maschinenprogramm, und die letzte Erklärung, die zu dem Block 94 bewegt wird, ist
der letzte Inhalt des R5-Registers. Dies beendet die Operation, welche durch die JSR-Instruktion verlangt wurde, so daß die Geräteeinheit
den Termzyklus beendet. Während des nächsten Abruf-
109042/1*41
zyklus wird die erste Instruktion in dem Unterprogramm in dem
Block 90 in der Speiehereinheit 24 enthalten, wie in Fig. 5 dargestellt
ist.
Jedes Unterprogramm endet mit einer RTS-Instruktion, welche dasselbe Register wie die in einem Zusammenhang damit stehende
JSR-Instruktion identifiziert. Wenn das R5-Register in der
JSR-Instruktion gekennzeichnet ist, hat die RTS-Instruktion ein
feststehendes Format. Deshalb benutzt ein Programmierer immer dieselbe Instruktion als die letzte Instruktion in einem Unterprogramm.
Wie aus den Fig. 7A und 7B ersichtlich ist, übertragen die ISR-4 und ISR-5-Zustände, die durch die Steuereinheit 60 erzeugt
wurden, den Inhalt des R5-Registers über die B-Eingangsschaltung 52 zu dem PC-Register. Während des erweiterten ISR-6-Zustands
und des folgenden ISR-7-Zustands bewegt die Geräteeinheit
22 die letzte Erklärung in dem Block 94 (Fig. 5) zu dem R5-Register.
Während des BSR-1-Zustands in dem ISR-6-Zustand wird der
Inhalt des SP-Registers zu der B-Eingangsschaltung 52 übertragen. Weil das SP-Register dekrementiert ist, bevor die Daten zu dem
Block 94 in der Speichereinheit 24 übertragen werden, enthält das SP-Register die Adresse für die letzte Erklärung. Diese Adresse
wird an das Adressenregister 34 während eines ersten Teils des BSR-2-Zustands übertragen. Ein inkrementierender Wert wird
an die A-Eingangsschaltung 48 während eines zweiten Teils des
BSR-2-Zustands angelegt. Die inkrementierte Adresse wird zu dem
SP-Register während des BSR-3-Zustande zurückgeführt. Am Ende des BSR-3-Zustands enthält die B-Eingangsschaltung 52 die letzte
EiKLärung von dem Block 94. Diese Erklärung wird an das R5-Register
während des ISR-7-Zustands übertragen. Wenn der ISR-7-Zustand beendet ist, enthält das PC-Register die Adresse der Operations-Maschinenprogramm-Instruktion, welche auf die JSR-Instruktion
folgt. Das Register R5 enthält die letzte Erklärung von dem Block 94, und das SP-Register die Adresse des nächsten besetzten
Speicherplatzes in dem Block 94. Während des nächsten Abrufzyklus wird die Instruktion in dem Operations-Maschinenprogramm,
109842/1841
welches auf die JSR-Instruktion folgt, von einem der Blöcke 86,
90 oder 92 in der Speichereinheit 24 in Fig. 5 erhalten.
Wenn die Geräteeinheit 22 ihre Steuerung über das Datenverarbeitungssystem
aufgibt, nachdem eine periphere Abfrage zur Unterbrechung des Maschinenprogramms gegeben wird, werden der
Programmzählstand und das Statuswort für das unterbrochene Maschinenprogramm zu den nächsten beiden verfügbaren Speicherplätzen in
dem Block 94 bewegt. Dann werden das Statuswort und der Programmzählstand für das Unterbrechungs-Maschinenprogramm zu dem Statusregister
bzw. dem PC-Register bewegt.
Alle Unterbrechungs-Maschinenprogramme enden mit derselben RTI-Instruktion. Wenn die Instruktion decodiert ist, benutzt die
Geräteeinheit 22 ISR-4, -5, -6 und -7-Zustände zur Übertragung des Zählstands des unterbrochenen Maschinenprogramms und des Statusworts
zu dem PC-Register und dem Statusregister 59. Wie aus den Fig. 7B und 7C ersichtlich ist, benutzt ein erweiterter ISR-4-Zustand
BSR-I, -2 und -3-Zustän'de, um den Zählstand des Maschinenprogramms
von einem Speicherplatz in der Speichereinheit 24 zu erhalten, welcher durch das SP-Register definiert ist. Nachdem
der Inhalt des SP-Registers in das Adressenregister 34 während der BSR-I- und BSR-2-Zustände bewegt ist, wird ein inkrementierender
Wert an die A-Eingangsschaltung 48 angelegt und erzeugt einen inkrementierten Wert für die Rückführung zu dem SP-Register
während des BSR-3-Zustands. Dieser Zustand wird auch benutzt, um die letzte Erklärung in dem Block 94 (den Programmzählstand) zu
der B-Eingangsschaltung 52 zu übertragen, für eine Übertragung zu dem PC-Register während des ISR-5-Zustands. Ein erweiterter
ISR-6-Zustand mit drei BSR-Zuständen inkrementiert in entsprechender
Weise den Inhalt des SP-Registers und erhält das Statuswort für die Übertragung zu dem Statusregister 59 während des ISR-7-Zustands.
Nachdem diese Operationen beendet sind, leitet die Geräteeinheit 22 zu dem Termzyklus um.
Wenn die Instruktion eine der anderen in Fig. 3 dargestellten Instruktionen ist, also nicht eine JSR-, RTI- oder RTS-Instruktion,
spricht die Geräteeinheit in einer Weise an, die
1üfl842/16A1
Gegenstand eines anderen Patents (D-2768) ist.
tu.
Termzvklus
Der dritte Arbeitszyklus für die Geräteeinheit 22 ist der in Fig. 8 dargestellte Termzyklus. Wenn die Prioritätseinheit 38 ein Übertragungsweg-Abrufsignal erzeugt, wie in Fig.
12 erläutert ist, gelangt die Steuereinheit 60 in einen ISR-0-Zustand.
Bei dem in Fig. 1 dargestellten System gibt die Geräteeinheit 22 die Steuerung des Systems an die Geräteeinheit ab. Sobald
diese Steuerung auf die periphere Einheit übergegangen ist, wird eine vorher gespeicherte Adresse von der peripheren Einheit
in das TEMP-Register in dem Speicherregister 40 über die B-Eingangsschaltung
52 übertragen. Diese Adresse dient als Unterbrechungsvektor zur Identifizierung der Speicherplätze in der Speichereinheit
für die Unterbrechungs-Maschinenprogramm-Adresse und das Statuswort. Nachdem diese übertragung zu der B-Eingangsschaltung
52 beendet ist, steuert die Geräteeinheit 22 wieder das System und gelangt in einen ISR-2-Zustand. Es ist ersichtlich, daß
andere Stufen verwandt werden können, um diese oder äquivalente Informationen zu erhalten, und daß die Schaltung und die beschriebene
Arbeitsweise zur Durchführung der Übertragung mit geringfügigen Abwandlungen anwendbar ist, trotz der Operationen oder
Schaltung, die zur Erzielung dieser Informationen Verwendung finden.
Der ISR-2-Zustand enthält sechs BSR-Zustände. Wenn die Steuereinheit
60 den BSR-1-Zustand erzeugt, wird der Inhalt des SP-Registers zu der B-Eingangsschaltung 52 bewegt. Ein dekrementierender
Wert wird zu der A-Eingangsschaltung 48 bewegt. Während
des BSR-2-Zustande wird der dekrementierte Wert von der Addiereinheit
46 zu dem Adressenregister 34 übertragen, um den nächstverfügbaren Speicherplatz in dem Block 94 (Fig. 5) zu identifizieren.
Der dekrementierte Wert wird auch zu dem SP-Register während eines BSR-3-Zustands zurückgeführt. Nach einem inaktiven,
zwischenzeitlichen BSR-0-Zustands bewegt die Steuereinheit 60 ein Statuswort mit acht Bits von dem Statusregister 59 zu der
Speichereinheit 24 über den Übertragungsweg 30 zur- Speicherung in dem Block 94 (Fig. 5) an dem Speicherplatz, der durch das
Adressenregister 34 definiert ist. Ein erweiterter BSR-7-Zustand hält die Arbeitsweise der Geräteeinheit an, bis das Statuswort,
gespeichert ist.
Nun erzeugt die Steuereinheit 6O einen ISR-3-Zustand, welcher
ebenfalls sechs BSR-Zustände enthält, um den Inhalt des
PO-Registers an die Speichereinheit 24 zu übertragen. Der Inhalt
des SP-Registers wird in der arithmetischen Einheit 44 während eines BSR-1-Zustands dekrementiert, an das Ädressenregister 34
während eines BSR-2-Zustande übertragen und zu dem SP-Register während eines BSR-3-Zustands zurückgeführt. Auf einen BSR-,0-Zwischenzustand,
der zur Übertragung des PC-Registers an die B-Eingangsschaltung 52 vorgesehen ist, folgt ein BSR-6-Zustand,
welcher den Programmzählstand zu dem·Übertragungsweg 30 bewegt. Dann ermöglicht ein erweiterter BSR-7-Zustand die tatsächliche
Speicherung des Programmzählstands in der Speichereinheit 24 in
dem nächsten unbesetzten Speicherplatz in dem Block 94 (Fig. 5). Wenn der ISR-3-Zustand beendet ist, werden das Statuswort und
der Programmzählstand für das unterbrochene Maschinenprogramm
in abhängigen Speicherplätzen gespeichert.
Ein lSR-4-Zustand mit drei BSR-Zuständen bewegt den Unterbrechungsvektor
von dem TEMP-Register zu der B-Eingangsschaltung 52 während eines BSR-1-Zustands. Während eines ersten Teils des
BSR-2-Zustands wird der Un te rbrechungsvektor zu dem Adressenregister
34 bewegt und dann während eines zweiten Teils des BSR-2-Zustands inkrementiert. Die Steuereinheit 60 benutzt einen BSR-3-Zustand,
um den inkrementierten Unterbrechungsvektor zu dem TEMP-Register zurückzuführen. Zusätzlich wird der Inhalt des
Speicherplatzes, der durch das Adressenregister 34 definiert wird, zu der B-Eingangsschaltung 52 übertragen. Deshalb speichert
die B-Eingangsschaltung .52 die Adresse für die erste Instruktion bei dem Unterbrechungs-Maschinenprogramm. Diese Adresse
wird an das PC-Register übertragen, wenn die Steuereinheit einen ISR-5-Zustand erzeugt.
Der inkrementierte Unterbrechungsvektor in dem TEMP-Register
ist die Adresse für das Statuswort, welches dem Unterbrechungs-
Maschinenprogramm zugeordnet ist. Ein neues Statuswort muß vorgesehen
werden, weil das Unterbrechungs-Maschinenprogramm gewöhnlich eine andere Priotität und Bedienungsschlüssel hat, als das
Operations-Maschinenprogramm.
Ein ISR-6-Zustand mit drei BSR-Zuständen findet zur Übertragung
dieses inkrementierten Unterbrechungsvektors an die B-Eingangsschaltung
52 und an das Adressenregister 34 während der BSR-I- und BSR-2-Zustände Verwendung. Der BSR-2-Zustand wird
auch dazu verwandt, um den Inhalt der B-Eingangsschaltung zu inkrementieren
für eine Rückführung an das TEMP-Register während des BSR-3-Zustands, nachdem das neue Statuswort in die B-Eingangs
schaltung 52 bewegt wurde. Es wird zu dem Statusregister 59 über die arithmetische Einheit 44 während eines ISR-7-Zustands
übertragen.
Nachdem der ISR-7-Zustand beendet ist, hat die Geräteeinheit
22 den Termzyklus vervollständigt und kehrt zu dem Abrufzyklus zurück. Die nächste Instruktion, die in Abhängigkeit von
dem Inhalt des PC-Registers erhalten und an die Geräteeinheit 22 übertragen wird, ist die erste Instruktion bei dem Unterbrechungs-Maschinenprogramm.
Wenn keine Unterbrechungen auftreten, tritt keine dieser Stufen auf, und die Geräteeinheit erzeugt
einen Abrufzyklus, um die nächste Maschinenprogramm-Instruktion
nach dem Ausführungszyklus zu erhalten.
IV. Zusammenfassung der Operationen
Wenn die Geräteeinheit durch den Abruf-, Ausführungsund Termzyklus für jede Instruktion in dem Unterbrechungs-Maschinenprogramm
geht, kann eine höhere Prioritätsunterbrechung von der Geräteeinheit 22 angenommen werden. Die nächste Instruktionsadresse
und das nächste Statuswort in dem ersten Unterbrechungs-Maschinenprogramm werden jedoch in dem Block 94 (Fig. 5)
gespart. Wenn die RTI-Instruktion bei dem zweiten Unterbrechungs-Maschinenprogramm
ausgeführt wird, werden der Inhalt des PC-Registers und das Statuswort für das erste Unterbrechungs-Maschinenprogramm
zu der Geräteeinheit 22 zurückgeführt. Es ist ebenfalls ersichtlich, daß alle Operations-Maschinenprogramme, ob sie Operationsprogramme,
Unterprogramme oder Unterbrechungs-Maschinen-
109842/1641
programme sind, über die Statuseinheit 58 unterbrochen werden können, wenn der Unterbrechungszustand eine ausreichende Priorität
hat.
Während sowohl der Inhalt des PC-Registers als auch des Statusregisters an den Block 94 (Fig. 5) übertragen wird, wird
der Inhalt des PC-Registers an das R5-Register in Abhängigkeit von einer.JSR-Instruktion übertragen. Eine Zwischenspeicherung
in dem R5-Register ermöglicht, daß der Inhalt des PC-Registers für das Operations-Maschinenprogramm, welcher die JSR-Instruktion
enthält, durch das Unterprogramm modifiziert oder verwandt wird. Beispielsweise können bestimmte Operationsprogramm-Instruktionen
weggelassen werden, indem der Inhalt des R5-Registers vorgeschoben wird, wenn gewisse Bedingungen während des Unterprogramms
auftreten. Wenn daraufhin die RTS-Instruktion ausgeführt wird, wird der modifizierte Inhalt des PC-Registers von dem R5-Register
erhalten, wodurch einige Instruktionen ausgelassen werden.
Da alle Informationen in dem Block 94 chronologisch gespeichert werden, kann irgendein Unterbrechungs-Maschinenprogramm
oder Unterprogramm benutzt werden, bevor ein vorangegangenes Maschinenprogramm vervollständigt ist. Die Verwendung von RTS- und
RTI-Instruktionen in jedem Unterprogramm und Unterbrechungs-Maschinenprogramm
gewährleistet, daß das letzte zu beginnende Maschinenprogramm
als erstes vervollständigt wird. Folglich kann das System irgendeine Anzahl und Organisation von nicht beendeten
Unterprogrammen und Unterbrechungs-Maschinenprogrammen in einem Operationsprogramm durchführen, ohne daß die Kompliziertheit der
Programmierung erhöht wird und ohne daß die Kompliziertheit der Schaltungen der Geräteeinheit vergrößert werden.
d. Zeitqebereinheit
Wie in Verbindung mit den Fig. 6, 7 und 8 beschrieben wurde, ist jede Operation der Geräteeinheit 22 durch ein ISR-
oder BSR-Zeitsignal definiert und gesteuert, welches durch die
Zeitgebereinheit 66 in Fig. 2 erzeugt wird. Jeder Taktsteuerungszustand
hängt von verschiedenen Faktoren ab, wie dem vorangegangenen Zustand, der Instruktion und den Bedingungen in der Geräteeinheit
22. Eine eingehende Erläuterung der Erzeugung jedes Takt-
109842/1641
steuerungs-Zustands ist zum Verständnis der Erfindung nicht erforderlich.
Jedoch sind die Schaltung und die Taktsignale in den Fig. 9A und 9B in Verbindung mit den Fließbildern in Fig. 6,
7 und 8 geeignet, um die Verhältnisse klarzumachen, so daß es danach möglich ist, die spezielle Steuerschaltung herzustellen,
die für die beschriebene Operation der Geräteeinheit erforderlich ist.
Wie aus Fig. 9B ersichtlich ist, enthält die Zeitgebereinheit 66 eine Zeitgeberschaltung 76, einen Taktgeber 78 und zwei
Signalgeneratoren 80 und 82. Fig. 9A zeigt die Beziehung der CLK-Signale von dem Taktgeber 78 und der SCLK-Signale von der
Zeitgeberschaltung 76. Jede Änderung der CLK-Signale definiert
eine Lese- oder Schreibzyklus-Grenze, wobei ein spezieller Lese- oder Schreibzyklus durch die Beziehung der SCLK- und CLK-Signale
bestimmt ist. Wie in Fig. 9A dargestellt ist, werden vier Lese-/ Schreibzyklen R/W-0, R/W-l, R/W-2 und R/W-3 während jedes SCLK-Zyklus
von der Zeitgeberschaltung 76 erzeugt. Der R/W-2-Zyklus
ist immer ein Schreibzyklus, während der Taktgeber 78 während eines R/W-3-Zyklus angehalten sein kann, um einen BSR-Zustand
zu erweitern, wie bei der Übertragung von Daten von der Geräteeinheit.
Jede Gruppe von vier R/W-Zyklen zusammen mit anderen Signalen von der Steuereinheit 60 definiert eineSchieberegister-Zustand,
der durch ein Signal auf einem der Ausgangsleiter von einem der Generatoren 80 oder 82 gekennzeichnet ist.
Die SCLK-Signale von der Zeitgeberschaltung 76"und die Signale
von der Steuereinheit 60 werden einem Instruktions-Schieberegister-Signalgenerator
80 und einem Übertragungsweg-Schieberegister-Signalgenerator 82 zugeführt. Der Generator 80 erzeugt
ISR-Signale, während der Generator 82 BSR-Signale erzeugt. Ein
Freigabesignal, das an einen der Generatoren angelegt wird, erzeugt
einen Null-Zustand. Sonst gelangt jeder Generator normalerweise aufeinanderfolgend von einem Zustand zu einem anderen, mit
der erforderlichen Sequenz, um die Geräteeinheit 22 zu betätigen, die in den Fig. 6, 7 und 8 dargestellt ist. Diese Figuren zeigen,
wie jeder Taktsteuerungs-Zustand von vorangegangenen Bedingungen abhängt und wann die Sequenz modifiziert werden kann.
t00842/1641
_3Q_
f. Arithmetische Einheit
Wie aus Fig. 10 ersichtlich ist, enthält die Addiereinheit 46 eine Anzahl von Bit-Addierern, von denen die Addierer
100 und 102 beispielsweise dargestellt sind. Jeder Addierer hat drei Eingangsquellen: die A- bzw. B-Eingangsschaltungen 48 und
52, und der Übertrag von dem vorhergehenden Bit-Addierer. Beispielsweise wird das Signal Cn-1 dem .Bit-Addierer 100 zugeführt.
Jeder Bit-Addierer erzeugt eine Summe und einen Übertrag wie die S- und C -Signale von dem Bit-Addierer 100.
Die A-Eingangsschaltung 48 enthält eine Eingangs-Sperrschaltung fürjeden Bit-Addierer. Die A-Eingangsschaltung 48 für den
Bit-Addierer 102 (BITw) enthält eine ODER-Schaltung 104. Deren Ausgangssignal wird zu einem Eingang des Bit-Addierers 102 übertragen
und durch Verbindung durch eine UND-Schaltung 108 verriegelt. Diese UND-Schaltung ist normalerweise durch ein A- Sperrsignal
von der Datenweg-Steuerschaltung 70 in Fig. 2 aktiviert.
Das Sperr signal A fällt ab, um die UND-Schaltung 108 abzuschalten und das Ausgangssignal von der A-Eingangsschaltung 48 zu ändern.
Eine UND-Schaltung 110, welche durch ein GATE-Signal a-50
von der Datenweg-Steuereinheit 70 aktiviert wird, überträgt das
Signal auf dem Übertragungsweg 50 durch einen Negator 112 zu dem Bit-Addierer 102. Ein Signal auf dem Übertragungsweg 49 von
dem Speicherregister 40 wird durch eine UND-Schaltung 114 durch ein GATE-Signal A-49 (0) gekoppelt. Das Signal wird auch über
einen Negator 116 und eine UND-Schaltung 118 durch ein GATE-Signal
A-49 (0) gekoppelt. Das GATE-Signal A-49 (1-15) und das GATE-Signal A-49 (1-15) werden UND-Schaltungen analog zu den
Umschaltungen 114 bzw. 118 zugeführt, um die verbleibenden Signale auf dem Übertragungsweg 49 oder die betreffenden invertierten Signale zu den anderen Bit-Addierern zu übertragen.
Die Verwendung von zwei Sätzen von Taktsignalen für die A-Eingangsschaltung 48 ermöglicht, daß Daten von der B-Eingangsschaltung
52 in der Addiereinheit 46 inkrementiert oder dekrementiert werden. Wenn die Datenweg-Steuereinheit 70 die GATE-Signale
A-49 (0) und A-49 (0) gleichzeitig erzeugt, wird "eins" zu dem inhalt der B-Eingangsschaltung addiert. Ein inkrementierender
Wert von "zwei" wird durch die zusätzliche Übertragung von
109842/1641
"eins" zu dem Übertrag-Eingang von dem Bit-Addierer 102 erzeugt. Wenn die arithmetische Steuerschaltung 70 alle vier QATE-Signale
A-49 gleichzeitig erzeugt, wird das Zweier-Zahlenkomplement von (+1) der Addiereinheit 46 zugeführt- Dadurch wird der Inhalt der
B-Eingangsschaltung um "eins" dekrementiert. Durch eine gleichzeitige Erzeugung der GATE-Signale A-49 (1-15) und A-49 (1-15)
wird der Inhalt der B-Eingangsschaltung um "zwei" dekrementiert.
Drei Eingangssignale steuern die B-Eingangsschaltung 52,
und die Schaltung für BIT ist typisch. Eine ODER-Schaltung 120 liefert das B-Eingangssignal für den Bit-Addierer 100 und wird
durch Kopplung dessen Ausgangssignals durch eine UND-Schaltung
124 gesperrt, die normalerweise durch ein Sperrsignal B aktiviert ist. Dieses Signal wird abgeschaltet, um das Ausgangssignal
von der B-Eingangsschaltung 52 zu ändern. Ein Signal auf dem Übertragungsweg 50 wird durch eine UND-Schaltung 126 durch ein
GATE-Signal B-50 gesteuert, während ein Signal auf dem übertragungsweg
49 durch eine UND-Schaltung 128 durch ein GATE-Signal B-49 gesteuert wird.
Jedes Summen-Ausgangssignal von der Addiereinheit 46 ist
durch die Auswerteinheit 54 durch eines von drei Signalen gekoppelt. Wenn ein GATE ADD-Signal durch die arithmetische Steuereinheit
70 (Fig. 2) und die UND-Schaltung 130 erzeugt wird, koppelt das S -Ausgangssignal von dem Bit-Äddierer 100 durch eine
ODER-Schaltung 132 auf dem Übertragungsweg 56. Ein rechts-GATE-Signal,
welches der UND-Schaltung 134 zugeführt wird, bewegt das Signal S , durch die ODER-Schaltung 132 und verschiebt jedes
Signal von einem Bit-Addierer um eine Stelle nach rechts. Eine entsprechende Verschiebung nach links um eine Stelle wird erhalten,
indem ein links-GATE-Signal erzeugt wird. Dieses Signal aktiviert
die UND-Schaltung 136 zur Übertragung des S _,-Signals durch die ODER-Schaltung 132 auf den Übertragungsweg 56. Deshalb
liefern diese Signale zwei Verschiebungsoperationen, welche Vertauschungsoperatlonen
werden, wenn der erste und der letzte Bitaddierer durch die Auswerteinheit 54 verbunden sind.
g. Speicherreqister
Fig. 11 zeigt ein Ausführungsbeispiel des Speicherregi-
109842/1641
sters 40 und der Steuereinheit. 72 des Speicherregisters. Bei diesem
speziellen Ausführungsbeispiel enthält das Spedcherregister
40 eine Anzahl von Triggerschaltungen, die jeweils eine Mehrzahl
von wahlweisen Flip-Flop-Einrichtungen und eine Auswahlmatrix enthalten. Beispielsweise liefert eine Triggerschaltung 140 BIT
auf den Übertragungsweg 49 für jedes Register in dem Speicherregister 40, während Triggerschaltungen 142 und 144 BIT» bzw. BIT^
für jedes Register speichern. Deshalb speichert eine Triggerschaltung ein Bit für jedes Register und enthält soviele einzelne
Flip-Flop-Einrichtungen, wie Register vorhanden sind. Wenn die Geräteeinheit 22 auf Worte mit sechzehn Bits anspricht, enthält
das Speicherregister 40 sechzehn Flip-Flop-Schaltungen, wobei jede Schaltung zumindest zehn Flip-Flop-Einrichtungen enthält,
um ein äquivalentes Bit in den R0 bis R7 SOURCE und TEMP-Re gis tern
zu speichern.
Ein spezielles Register in dem Speicherregister 40 wird durch Decodierung der geeigneten Register-Auswahl-Bits ausgewählt,
nämlich den Bits IR-0, IR-I und IR-2 in der Operandenadresse, und
den Bits IR-6, IR-7 und IR-8 in dem Registerteil der JSR-Instruktion,
wonach die betreffende Flip-Flop-Einrichtung in jeder Trigger-Schaltung ausgewählt wird. Jedes Register-Auswahl-Bit von
dem Instruktions-Register 62 (Fig. 2) wird durch eine Anzahl von UND-Schaltungen in der Speicherregister-Steuereinheit 72 ausgewertet,
welche durch Signale von der Steuereinheit 60 aktiviert wird.
Wenn die Steuereinheit 60 die UND-Schaltungen 146, 148 und 150 aktiviert, werden die Signale IR-0, IR-I und IR-2 durch ODER-Schaltungen
152, 154 und 156 an eine Entschlüsselungseinheit 158 gekoppelt. Das Ausgangssignal der Entschlüsselungseinheit 158 erregt
die Auswahlmatrix in jeder Triggerschaltung, um die geeignete
Flip-Flop-Einrichtung auszuwählen und Eingangssignale dazu
und Ausgangssignale davon weiterzuleiten. Als Folge davon werden
entsprechende Flip-Flop-Einrichtungen in jeder Triggerschaltung nit dem Übertragungsweg 49 gekoppelt. Wenn beispielsweise das
R0-Register in der JSR-Instruktions-Operandenadresse ausgewählt wird, wird die erste Flip-Flop-Einrichtung in jeder Triggerschaltung
mit dem Übertragungsweg 49 gekoppelt. Deshalb stellen die
10 9 8/-?/ I''''* "i
Signale auf den Leitungen 49 (0) , 49(1) und 49(n) BIT^, BIT,
bzw. BITn dar. Das durch Bits 6, 7 und 8 in der JSR-Instruktion
identifizierte Register wird in entsprechender Weise durch Aktivierung von UND-Schaltungen 160, 162 und 164 erhalten, um die
Signale IR-6, IR-7 und IR-8 über die ODER-Schaltungen 152, 154
und 156 zu der Entschlüsselungseinheit 158 zu übertragen.
Da immer ein Register ausgewählt wird, erscheint der Inhalt
des ausgewählten Registers in dem Speicherregister 40 immer auf dem Übertragungsweg 49 zu den A- und B-Eingangsschaltungen
48 und 52. Der Registerinhalt wird geändert, wenn die Steuereinheit 60 ein Schreibsignal erzeugt. Die Einstell- und Rückstellimpulse
für jede gewählte Flip-Flop-Einrichtung werden mit den gemeinsamen Einstell-(S) und Rückstell-(R) Eingangssignaleη zu
den Triggerschaltungen gekoppelt. Diese gemeinsamen Eingangssignale
werden durch identische Schreibschaltungen für jede Triggereinrichtung
an den Übertragungsweg 56 gekoppelt, wobei die Schreibschaltung für die Flip-Flop-Einrichtung 140 typisch ist.
Das Schreibsignal wird den UND-Schaltungen 166 und 168 zugeführt, während das Daten darstellende BIT auf der Leitung 56(n) von
dem Übertragungsweg 56 der UND-Schaltung 166 zugeführt wird. Wenn das Signal auf dieser Leitung eine logische "Eins" ist,
wird die ausgewählte Flip-Flop-Einrichtung eingestellt, wenn die UND-Schaltungen 166 und 168 durch das Schreibsignal aktiviert
sind. Das Rückstell-Eingangssignal wird nicht erregt, weil das
Ausgangssignal der UND-Schaltung 166 über einen Negator 170 mit
der UND-Schaltung 168 gekoppelt ist. Eine logische "Null" auf der Leitung 56(n) erregt die UND-Schaltung 168 zur Rückstellung
der ausgewählten Flip-Flop-Einrichtung in der Flip-Flop-Schaltung 140.
h. Statuseinheit
Fig. 12 zeigt ein Ausführungsbeispiel der Unterbrechungs-Prioritätseinheit
38 und der Statuseinheit 58 mit dem Statusregister 59 in der Geräteeinheit 22 in Fig. 2.
Die Priorität der Geräteeinheit wird durch Signale auf den Leitungen 56(5), 56(6) und 56(7) geändert, wenn ein Statuswort
auf dem Übertragungsweg 56 vorhanden ist. Diese drei Signale werden in taktgesteuerten Flip-Flop-Einrichtunqen 200, 202 und
108842/1641
204 gespeichert, wenn ein CLKT-Impuls durch die Steuereinheit
erzeugt wird. Der CLKT-Impuls wird erzeugt, wenn das Statusregister 59 implizid während des ISR-7-Zustands eines RTI-Instruktions-Ausführungszyklus
oder des Termzyklus adressiert wird, oder während des ISR-4-Zustands eines Ausführungszyklus, wenn eine
Instruktions-Operandenadresse explizid das Statusregister identifiziert und die Geräteeinheit bereit ist, den Termzyklus zu
übertragen. Jeder CLKT-Impuls tritt auf, wenn die Zeitgeberschaltung sich von dem einem ISR-Zustand zu dem nächsten ändert. Deshalb
definieren die taktgesteuerten Flip-Flop-Einrichtungen 200, 202 und 204 eine von acht Geräteeinheit-Prioritäten, welche von
einer Vergleichsschaltung 206 verwandt werden.
Die Vergleichseinheit 206 spricht auch auf Signale von
Flip-Flop-Einrichtungen 208, 210, 212 und 214 an. Bei einem Datenverarbeitungssystem
gem. Fig. list es möglich, daß eine periphere Einheit die Steuerung des Systems übernehmen kann und
Informationen zu oder von dem Übertragungsweg durch eigene Steuerung übertragen kann. Jede periphere Einheit, die das System
steuern kann, ist mit einer von vier BR-Leitungen je nach der betreffenden Priorität gekoppelt. Wenn die Steuerung des Systems
übernommen werden soll, gelangt ein erzeugtes BR-Signal in einer geeigneten Taktsteuerung durch einen CLKBR-Impuls in eine der
Flip-Flop-Einrichtungen. Dieser Impuls wird an dem Beginn einer Reihe von BSR-Zuständen in der Geräteeinheit oder durch eine entsprechende
Operation in einer peripheren Einheit erzeugt, wenn Daten über den Übertragungsweg 30 übertragen werden, oder mit
jeder Änderung eines Schieberegister-Zustands, der durch die SCLK-Signale von der Zeitgeberschaltung 76 definiert ist, wenn
die Geräteeinheit die Steuerung des Systems abgegeben hat, um ein BR-Signal von einer peripheren Einheit zu erwarten, welches
anzeigt, daß informationen auf den Übertragungsweg 30 bewegt
wurden oder bewegt werden sollen.
Wenn ein BR-Signal eine frühere Priorität als die Geräteeinheit hat, wird ein Erteilungsimpuls eine bestimmte Zeit später
durch die Steuereinheit 60 an dem Ende eines ISR-0-Zustands des Termzyklus erzeugt. Dadurch wird ein Signal durch eine Torschaltung
216 auf eine reservierte Übertragungswegleitung übertragen,
10 9 6 4 2/1641
um eine Übertragung der Systemsteuerung auf die anfordernde Einrichtung
zu bewirken. Wenn die periphere Einheit anfordert, daß die Geräteeinheit ein Unterbrechungs-Maschinenprogramm durchführen
soll, überträgt sie den Unterbrechungsvektor an die Gerätee inhe it.
Die C-, V-, Z- und N-Zustandsverschlüsselungen treten auf
Leitungen 56 (0) bis 56 (3) auf, wenn der Übertragungsweg 56 ein Statuswort enthält. Da die Schaltung für das Z-Bit beispielhaft
ist, ist sie in Fig. 10 dargestellt. Das Z-Bit wird eingestellt, wenn der Datenwert auf dem Übertragungsweg 56 Null ist, nachdem
eine Instruktion ausgeführt wurde. Alle Daten werden durch Inverter gekoppelt, welche durch den Negator 218 repräsentiert
sind, um eine UND-Schaltung 220 in Verbindung mit einem normalerweise aktivierenden CL-Signal zu erregen. Eine taktgesteuerte
Flip-Flop-Einrichtung 224 wird während des nächsten CLKC-Impulses
eingestellt oder zurückgestellt. Innere Geratezustände zur Erzeugung
des CLKC-Impulses sind identisch mit denjenigen für den CLKT-Impuls. Der CLKC-Impuls wird auch während eines Ausführungszyklus ISR-4-Zustands für gewisse Instruktionen erzeugt, welche
eine Modifikation der Zustandsverschlüsselung verlangen. Eine andere Flip-Flop-Einrichtung für das C-Bit, welche der Flip-Flop-Einrichtung
224 analog ist, kann zusätzlich für noch weitere Instruktionen zeitlich gesteuert werden.
Wenn es erwünscht ist, das Statuswort auf den Übertragungsweg 30 zu übertragen, aktiviert ein CSTB-Signal eine Taschaltung
226, welche eine UND-Schaltung 228 für das Z-Bit enthält. Das CSTB-Signal wird während der BSR-6- und BSR-7-Zustände eines
Termzyklus ISR-2-Zustands erzeugt, wenn der Inhalt des Statusregisters
in die Speichereinheit übertragen wird. Es wird ebenfalls erzeugt, wenn Daten auf dem Übertragungweg 30 zu der Speichereinheit
übertragen werden. Es wird ebenfalls erzeugt, wenn Daten auf dem Übertragungsweg 30 von dem Statusregister 59 in Abhängigkeit
von einer Instruktion übertragen werden, welche explizid oder implizid das Statusregister 59 adressieren.
Bedingungsschlüssel oder eine spezielle Verschlüsselung werden in die Bedingungsschlüssel-Flip-Flop-Einrichtungen wie
10984''
die Flip-Flop-Einrichtung 224 durch ein CSTD-Signal übertragen.
Dieses Signal aktiviert eine UND-Schaltung 230 zur Einstellung oder Rückstellung der Flip-Flop-Einrichtung 224 entsprechend dem
Ausgangssignal von der Addiereinheit 46 (Fig. 2), insbesondere von dem S ,•„-Signal. Das CSTD-Signal wird durch Bedingungen wie
den CLKT-Impuls erzeugt, ist jedoch während de ■>
gesamten ISR-Zustands vorhanden.
Deshalb enthält das Statusregister 59 acht taktgesteuerte
Flip-Flop-Einrichtungen und zugeordnete Torschaltungen, welche
durch einen von mehreren, sich gegenseitig ausspielenden Impulsen aktiviert werden, die durch die Steuerschaltung 60 erzeugt
werden. Ein Satz von Flip-Flop-Schaltungen speichert Prioritätsinformationen, während der andere Bedingungsschlüssel speichert.
Jede Gruppe kan unabhängig oder zusammen mit den Prioritäts-Flip-Flop-Einrichtungen
eingestellt werden, die gewöhnlich nur dann eingestellt werden, wenn eine Prioritätsänderung benötigt
wird, z.B. wenn ein Unterbrechungs-Maschinenprogramm eingeleitet oder vervollständigt wird.
3. Beispiele
a. Operationsproqramme, Unterprogramme und Unterbrechunqs-Ma s chinenprogramme
Eine Analyse von Fig. 13 zeigt, daß die Geräteeinheit (Fig. 2) verschiedene Operations-Maschinenprogramme in einer
Verschachtelung ermöglicht, sowie die Verwendung eines Unterprogramms,
das vorher nur teilweise ausgeführt wurde. Ferner zeigt dieses Beispiel, daß Daten in dem Operationsprogramm einfach
in ein Unterprogramm übertragen werden können.
Die folgende Diskussion ist auf die Beschreibung der Bewegung von Informationen in der Geräteeinheit bei der Vervollständigung
relevanter zeitbestimmender ISR-Zustände beschränkt. Zusätzliche Einzelheiten im Zusammenhang mit diesen Informationsübertragungen
sind aus den Fig. 6 bis 8 und den zugeordneten Beschreibungsteilen ersichtlich. Es wird angenommen, daß Speicherplätze
2000 bis 2003 keine relevanten Informationen enthalten,
und daßdie Register in der Geräteeinheit den folgenden Spei-
109842/ 1 6A1
cherinhalt haben:
Statusregister 59 0
Speicherregister 40
R0-Register 477
R6-(SP) Register 2004
R7-(PC) Register 1
Es wird ferner angenommen, daß eine periphere Einheit ein
Drucker ist, welcher durch eine R2 (1)-Operandenadresse ic?sntifiziert
ist und einen Unterbrechungsvektor 500 übertragen kann.
Die Geräteeinheit erhält die Prograiraninstruktionen INST-I
und INST-2 und führt diese durch. Am Beginn des nächsten Abrufzyklus
enthält das PC-Register eine "3", so daß die JSR-R5, R0(1)-Instruktion erhalten und entschlüsselt wird. Zusätzlich
wird der Inhalt des PC-Registers auf 4 während des ISR-0- und des ersten ISR-I-Zustands inkrementiert. Dann verwendet die Geräteeinheit
aufeinanderfolgende ISR-I- und ISR-0-Zustände zur
Entschlüsselung der R0(1)-Operandenadresse. Als Folge davon wird der R0-Registerinhalt 477 zu dem Übertragungsweg-Adressenregister
34 übertragen. Eine erste Cosinus-Unterprogramm-Instruktionsadresse
110 wird zu dem TEMP-Register bewegt. Während des Ausführungszyklus wird der SP-Registerinhalt dekrementiert
und zu dem Übertragungsweg-Adressenregister 34 und dem SP-Register übertragen, um den R5-Registerinhalt (R5) in der Speichereinheit
24 an einem Speicherplatz 2003 zu speichern. Die ISR-I- und ISR-2-Zustände werden durch die Geräteeinheit 22 benutzt,
um den PC-Registerinhalt 4 zu dem R5-Register zu bewegen, während die ISR-3- und ISR-4-Zustände den TEMP-Registerinhalt 110
zu dem PC-Register bewegen.
Wenn deshalb der Ausführungszyklus beendet ist, enthält das PC-Register die Adresse für die erste Instruktion in dem
Cosinus-Unterprogramm. Es sei angenommen, daß die ersten beiden Unterprogramm-Instruktionen ausgeführt sind, daß aber der Drukker
eine Anforderung macht, welche durch die Vergleichsschaltung 206 (Fig. 12) berücksichtigt wird. Wenn der Termzyklus,
welcher der COS-2-Instruktion zugeordnet ist, erreicht wird,
109842/1641
gibt die Geräteeinheit 22 die Systemsteuerung während des ISR-1-Zustands
ab. Dann wartet sie, bis der Drucker den Unterbrechungsvektor 500 an das TEMP-Register überträgt und die Rückübertragung
der Systemsteuerung erfolgt.
Die Geräteeinheit 22 benutzt ISR-2- und ISR-3-Zustände, um
den Inhalt des Statusregisters und des PC-Registers zu den nächsten beiden unbesetzten Speicherplätzen 2002 bzw. 2001 in dem
Speicher zu bewegen, erhalten durch Dekrementieren des Inhalts des SP-Registers während jedes Zustands. Der neue Inhalt des
PC-Registers wird während der ISR-4- und ISR-5-Zustände durch
Verwendung des Unterbrechungsvektors 500 als eine Adresse erhalten,
um die Zahl 200 für die Übertragung zu dem PC-Register zu erhalten, und durch Inkrementieren des TEMP-Registerinhalts auf
501. Dann werden die ISR-6- und ISR-7-Zustände benutzt, um das
neue Statuswort 100 an das Statusregister 59 zu übertragen. Am
Ende des Termzyklus identifiziert der PC-Registerinhalt 200 die Adresse für die erste Instruktion bei dem Unterbrechungs-Maschinenprogramm,
welches während des nächsten Abrufzyklus erhalten wird.
Wenn das PC-Register 205 enthält und die Geräteeinheit 22 einen Abrufzyklus beginnt, wird der PC-Registerinhalt auf 206
während des ISR-0-Zustands erhöht,'während die JSR-R5, R0(1)-Instruktion
während des ISR-1-Zustands entschlüsselt wird. Vorher
beschriebene Schritte bewegene den neuen PC-Registerinhalt 110 durch das TEMP-Register zu dem PC-Register, während der alte
R5-Registerinhalt 4 zu dem Speicherplatz 2000 und der alte
PC-Registerinhalt 206 zu dem R5-Register übertragen werden. Zu
diesem Zeitpunkt sind vier nicht beendete Maschinenprogramme in der Speichereinheit 24 vorhanden, nämlich das Operatxonsprogramm,
das bezogene Cosinus-Unterprogramm, das Unterbrechungs-Maschinenprogramm und das bezogene Cosinus-Unterprogramm. Diese öperationsftechinenprogramme
werden verschachtelt und gemäß der Erfindung in umgekehrter Ordnung vervollständigt, wie nun näher erläutert
werden soll.
Wenn der Programm^;ähler den Zählstand 117 enthält, erhält
der nächste Abrufzyklus RTS R5-Instruktion und inkrementiert den
1 0 9 8 U 2 / 1 6
PC-Registerinhalt auf 120. Die Geräteeinheit bewirkt einen Ausführ
ungszykIus zur Beendigung des Cosinus-Unterprogramms und
die Geräteeinheit 22 wird auf das Unterbrechungs-Maschinenprogramm zurück übertragen. Im einzelnen werden ISR-4- und ISR-5-Zustände
benutzt, um die Zahl 206 in dem R5-Register zurück an das PC-Register zu übertragen. Die letzte an den Speicherplatz
2000 übertragene Zahl wird zu dem R5-Register bewegt und das SP-Register
wird während des ISR-6- und ISR-7-Zustands inkrementiert.
Wenn die RTS R5-Instruktion ausgeführt ist, enthält das PC-Register die Adresse für die nächste Unterbrechungs-Maschinenprogramm-Instruktion.
Das SP-Register wurde auf 2001 inkrementiert und das R5-Register enthält die Adresse der nächsten Operationsprogramm-Instruktion
.
Eine RTI-Instruktion wird in dem Speicherplatz 206 gespeichert,
so daß die Geräteeinheit 22 sofort das Unterbrechungs-Maschinenprogramm beendet und die Geräteeinheit 22 auf das Cosinus-Unterprogramm
übertragen wird, entsprechend der Operationsprogramm-Instruktion.
Speziell wird das PC-Register auf 207 inkrementiert und die RTI-Instruktion wird von dem Speicherplatz
206 während des Abrufzyklus erhalten. Dann werden ein ISR-4- und
ein lSR-5-Zustand durch die Geräteeinheit erzeugt, und der Inhalt des Speicherplatzes 2001 wird zu dem PC-Register übertragen.
Zusätzlich wird der Inhalt des SP-Registers auf 2002 erhöht. Deshalb identifiziert der PC-Registerinhalt 112 die Adresse der Cosinus-Unterprogramm-Instruktion,
die ausgeführt worden wäre, wenn die Unterbrechung nicht aufgetreten wäre. Das Geräteeinheit-Siatuswort
für das Operationsprogramm wird auf das Statusregister 59 von dem Speicherplatz 2002 während der ISR-6- und ISR-7-Zustände
zurück übertragen und das SP-Register wird auf 2003 inkrementiert.
Nun ermöglicht der PC-Registerinhalt 112 die Vervollständigung des Cosinus-Unterprogramms. Wenn das PC-Register den Inhalt
117 hat, ruft die Geräteeinheit die RTS R5-Instruktion zur Übertragung des R5-Registerinhalts an das PC-Register und des Inhalts
des Speicherplatzes 2003 zu dem R5-Register während der ISR-4-
und ISR-7-Zustände. Zusätzlich wird das SP-Register auf 2004 inkrementiert, entsprechend dem ursprünglichen Wert.
1098A2/16 Λ 1
2113390
Nun setzt die Geräteeinheit 22 die Ausführung der Instruktionen in dem Operationsprogramm fort, indem zunächst die INST-4-Instruktion
ausgeübt wird. Wenn dies beendet ist, wird die JSR R5-, R7 (3)-Instruktion während eines Abrufzyklus erhalten,
um die Ausführung eines Druck-Unterprogramms durch die Geräteeinheit 22 zu verursachen. Mit diesem Instruktionsformat enthält
der Speicherplatz 6, die Adresse für die erste Unterprogramm-Instruktion,
während der Speicherplatz 7 die Adresse für die zu druckenden Daten enthält. Deshalb ist es erforderlich, diese Information
zu dem Druck-Unterprogramm zu übertragen. Nach Erhöhung des Inhalts des PC-Registers auf 6 und der Entschlüsselung
der JSR-Instruktion während des Abrufzyklus finden ein ISR-I-
und ein ISR-0-Zustand Verwendung, um die Operandenadresse R7(3) zu entschlüsseln. Während des ISR-1-Zustands wird der R7(PC)-Registerinhalt
6 an das Übertragungsweg-Adressenregister 34 übertragen, und der PC-Registerinhalt wird auf 7 erhöht, weil dies
eine Modus-3-Operandenadresse ist. Der Inhalt des Speicherplatzes
6, die Zahl 120, wird zu der B-Eingangsschaltung 52 (Fig. 2) für eine Übertragung zu dem TEMP-Reg-ister während des lSR-0-Zustands
übertragen. Während des Ausfuhrungszyklus wird der SP-Registerinhalt
auf 2003 verringert und zu dem Übertragungsweg-Adressenregister
34 und dem SP-Register während des ISR-0-Zustands übertragen. Zusätzlich wird der R5-Registerinhalt zu dem Speicherplatz
2003 übertragen. Dann werden die ISR-I- und ISR-2-Zustände
durch die Geräteeinheit 22 benutzt, um den PC-Registerinhalt 7 zu dem R5-Register zu übertragen. ISR-3- und ISR-4-Zustände bewegen
den TEMP-Registerinhalt 120 zu dem PC-Register. Deshalb
enthält das PC-Register die Adresse für die erste Instruktion bei dem Druck-Unterprogramm.
Der Speicherplatz 120 enthält eine MOV R5&3)-, R2(1)-Instruktion
mit der zweiten Operandenadresse R2(1), welche den
Drucker identifiziert. Wenn die erste Operandenadresse R5(3) entschlüsselt
ist, wird die Zahl 7 von dem R5-Register zu dem Adressenregister 34 übertragen und dann auf 10 erhöht, für eine Rückführung
zu dem R5-Register während des ISR-1-Zustands. Der Inhalt des Speicherplatzes 7 wird zu dem Adressenregister 34 während
des ISR-2-Zustands übertragen, um die Rückführung der Daten
X zu der B-Eingangsschaltung 52 zu übertragen, für eine Übertra-
10 9 8 4 2/ 1 6A1
gung durch die Geräteeinheit 22 zu dem Drucker, nachdem die zweite
Adresse entschlüsselt ist.
Da der PC-Registerinhalt nun 121 ist, verursacht der nächste
Abrufzyklus eine Erhöhung des PC-Registerinhalts auf 122 und eine Entschlüsselung der RTS R5-Instruktion. Während der
ISR-4- und ISR-5-Zustände wird der R5-Registerinhalt 10 zurück
zu dem PC-Register übertragen. Nachdem der Inhalt des Speicherplatzer
2003 auf das R5-Register zurück übertragen ist, wird das
SP-Register auf 2004 während der ISR-6- und ISR-?-Zustände erhöht.
Während des nächsten Abrufzyklus erhält die Geräteeinheit 22 die Halt-Instruktion und beendet die Arbeitsweise.
Deshalb wurden verschiedene Maschinenprogramme verschachtelt und ein Unterprogramm wurde erneut aufgerufen. Zusätzlich
wurden Daten in dem Operationsprogramm auf ein Unterprogramm übertragen. Unter Bezugnahme auf die Übertragung von Daten wird speziell
erwähnt, daß die R7(3)- und R5(3)-Operandenadressen in den JSR- und MOV-Instruktionen eine erste Unterprogramm-Adresse zu
dem PC-Register und die Datenadresse zu dem R5-Register für eine darauffolgende Verwendung bewegen. Da der R5-Registerinhalt durch
die MOV-Instruktion erhöht wird, definiert der PC-Registerinhalt
nach der RTS R5-Instruktion.die nächste Instruktion in dem Operationsprogramm
.
b. Mitproqrammierunq
Ein anderer Vorteil der Erfindung ist die Möglichkeit einer sogenannten Mitprogrammierung. Bei einer Mitprogrammierung
wird ein erstes Operations-Maschinenprogramm teilweise ausgeführt. Dann führt die Geräteeinheit 22 ein zweites Maschinenprogramm
durch, wobei eine spezielle JSR-Instruktion, nämlich JSR R7, R6(2)
benutzt wird. Diese Instruktion kann dann in dem zweiten Operations-Maschinenprogramm
benutzt werden, um die Geräteeinheit 22 zu der ersten Operations-Maschinenprogramm-Instruktion zurückzuführen,
welche auf die JSR-Instruktion folgt. Eine Instruktion muß verwandt werden, um die Adresse für die erste Instruktion in
dem zweiten Operations-Maschinenprogramm zu einem Speicherplatz zu übertragen, welcher durch den SP-Registerinhalt definiert ist.
109842/1641
Es sei angenommen, daß die folgenden beiden Operations-Maschinenprogramme
in der Speichereinheit (Fig. 13) vorhanden s ind:
Erstes Maschinenprogramm Zweites Maschinenprogramm Speicherplatz Inhalt Speicherplatz Inhalt
| 1100 | MOV "1200",RG(4) | 1200 | JSR R7,R6 (3) |
| 1101 | 1201 | ||
| 1102 | JSR R7, R6(3) | 1202 | |
| 1103 | 1203 | ||
| 1104 | 1204 | ||
| 1165 | JSR R7, R6(3) | • • |
|
Ferner wird angenommen, daß das SP-Register den Inhalt
2004 hat. · .
Die Zahl 1200 wird zu dem Speicherplatz 2003 durch die Geräteeinheit
22 in Jibhängigkeit von der MOV "1200" R6 (4)-Instruktion
bewegt. Dann wird die nächste Instruktion ausgeführt, während der das PC-Register auf 1102 erhöht wird. Wenn die JSR R7-,
R6(3)-Instruktion erhalten wird, wird das PC-Register auf 1103
während des Abrufzyklus erhöht. Der SP(R6)-Registerinhalt 2003
wird zu dem Adressenregister 34 (Fig. 2) übertragen und auf 2004 erhöht. Zusätzlich wird der ISR-1-Zustand dazu verwandt, den Inhalt
1200 des Speicherplatzes 2003 an die B-Eingangsschaltung für
eine Übertragung zu dem TEMP-Register während des ISR-0-Zustands
zu übertragen.
Während des ISR-0-Zustands des Ausführungszyklus wird der
SP-Registerinhalt erneut auf 2003 dekrementiert oder erniedrigt,
um den Speicherplatz für den R7(PC)-Registerinhalt 1103 zu definieren.
Der PC-Registerinhalt wird dann durch die B-Eingangsschaltung
52 bewegt und während der ISR-I- und ISR-2-Zustände
zurückgeführt. Während der ISR-3- und ISR-4-Zustände wird der
TEMP-Registerinhalt 1200 zu dem PC-Register bewegt, so daß die Geräteeinheit die erste Instruktion in dem zweiten Maschinenprogramm
während des nächsten Abrufzyklus erhält.
Im Ergebnis spricht die Geräteeinheit 22 auf die JSR R7-, R6(3)-Instruktion an, indem der Inhalt des PC-Registers und des
109842/1641
Speicherplatzes ausgetauscht wird, welcher durch den SP-Registerinhalt
definiert ist. Wenn die JSR R7-, R6(3)-Instruktion an dem Speicherplatz 1203 erhalten wird, bewirkt die Geräteeinheit 22
einen entsprechenden Austausch. Der Speicherplatz 2003 erhält
die Zahl 1204, während die Zahl 1103 zu dem PC-Register übertragen wird. Eine entsprechende Antwort führt die Geräteeinheit 22
zu dem zweiten Maschinenprogramm zurück, wenn die JSR R7-, R6(3)-Instruktion
im Speicherplatz 1105 erhalten und ausgeführt wird. Dann arbeitet die Geräteeinheit mit dem zweiten Maschinenprogramm
weiter. Deshalb ermöglicht eine Mitprggrammierung, daß die Geräteeinheit
Instruktionen ausführt, die von den Speicherplätzen wie folgt erhalten werden: 1100 durch 1102, 1200 durch 1203, 1102
durch 1105 und 1204 und folgend. Eine Mitprogrammierung erfordert keine schwierige Programmierung bei der Erfindung. Es ist lediglich
erforderlich, die JSR-Instruktion modifiziert durch die Verwendung des R7- und nicht des R5-Registers als Zwischenspeicherplatz
zu verwenden.
Zusammenfassend ist deshalb zu sagen, daß diese Beispiele, die Beschreibung des Datenverarbeitungssystems und die dargestellte
Organisation erläutern, wie eine Geräteeinheit mit unterschiedlichen Operations-Maschinenprogrammen arbeitet, von denen jedes
nur teilweise beendet wird. Dies erfolgt durch Speicherung des Inhalts von PC-Registern und Statusregistern in einem Block von
Speicherplätzen, welche durch das SP-Register oder äquivalente identifiziert werden. Wenn eine Programmzählstand-Modifikation
eines Maschinenprogramms, welches eine JSR-Instruktion enthält, gewünscht werden sollte, kann ein anderes Register mit einer feststehenden
Adresse als erster Speicherplatz für den Programmzählstand Verwendung finden-.
Wenn ein Unterprogramm oder ein Unterbrechungs-Maschinenprogramm beendet ist, werden der gespeicherte Programmzählstand für
das vorangegangene Maschinenprogramm und das Statuswort, wenn die Priorität geändert wird, zurück zu der Geräteeinheit übertragen
und ihre Speicherplätze werden geleert. Daraus ist ersichtlich, daß eine verhältnismäßig einfache Geräteeinheit Vielfach-Maschinenprogramme
in einem nicht beendeten Zustand ermöglicht, ohne daß die Kompliziertheit der Programmierung in nachteiliger Weise
1 0 9 8 A 2 / 1 Π /* 1
erhöht wird. Vielfach-Unterprogramme und Unterbrechungs-Maschinenprogramme
können in unvollständigen Zuständen verschachtelt werden, ohne daß eine zusätzliche Kompliziertheit des Programms
erforderlich ist. Schließlich ermöglicht die Geräteeinheit/ daß
Daten von einem Operations-Maschinenprogramm zu einem Unterprogramm übertragen werden.
Obwohl die Erfindung in Verbindung mit einem speziellen Datenverarbeitungssystem
beschrieben wurde, sind deren Vorteile auch in Verbindung mit anderen System erzielbar. Beispielsweise
wurde bereits angedeutet, daß die Übergabe der Steuerung der Geräteeinheit
an eine periphere Einheit, um den unterbrechenden Vektor zu erhalten, nicht erforderlich sein muß, weil die Geräteeinheit
selbst die Unterbrechung steuern kann. Andere Geräteeinheiten und andere Arbeitsweisen der Geräteeinheit, wobei Instruktionen
mit Formaten Verwendung finden, die sich von dem beschriebenen Ausführungsbeispiel unterscheiden, können in geeigneter
Weise modifiziert werden, um die Vorteile der Erfindung zu erzielen. Die Taktsteuerung und andere funktionsmäßig beschriebene
Schaltungen können abgewandelt werden, ohne die wesentliche Wirkungsweise des Datenverarbeitungssystems zu beeinträchtigen.
1 0 9 8 4 2 /
Claims (1)
- PatentansprücheAm Datenverarbeitungssystem mit einer Speichereinheit zur Speicherung von Maschinenprogramm-Instruktionen wie Operationsprogrammen, Unterprogrammen und Unterbrechungs-Maschinenprogrammen, mit einer Geräteeinheit zur Verarbeitung von in einer Reihenfolge von Speicherplätzen in der Speichereinheit zugeführten Informationen, die durch einen Programmzähler identifiziert sind, dadurch gekennzeichnet, daß die GeräteeinheitA. ein Register zur Lieferung von Adressen unbesetzter abhängiger Speicherplätze in der Speichereinheit enthält,B. eine Steuereinheit, welche auf erste und zweite Übertragungssignale anspricht, welche Speicherplätze für Unterprogramme bzw. Unterbrechungs-Maschinenprogramme identifizieren, welche Steuereinheit den Programmzähler modifiziert, um eine Adresse für eines der Unterprogramme und Unterbrechungs-Maschinenprogramm-Instruktionen zu identifizieren, undC. eine Übertragungseinheit, welche auf das Register und die Steuereinheit anspricht, um Rückkehr-Informationen in der Speichereinheit in einem durch das Register identifizierten Speicherplatz zu speichern, welche Informationen den Inhalt des Programmzählers für das vorhergehende Maschinenprogramm enthalten.2« Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, daß jedes Unterprogramm und Unterbrechungs-Maschinenprogramm eine Rückkehr-Instruktion enthält, daß die Steuereinheit zusätzlich eine Einrichtung aufweist, die auf die Rückkehr-Instruktion anspricht, um zu verursachen, daßA. die Übertragungseinheit die Rückkehr-Information zu der Geräteeinheit von dem Speicher überträgt, und daßB. das Register den nächsten besetzten abhängigen Speicherplatz in der Speichereinheit identifiziert.3. Datenverarbeitungssystem nach Anspruch 2, dadurch gekennzeichnet, daß eine Maschinenprogramm-Instruktion109842/1641das erste Übertragungssignal erzeugt und die letzte Unterprogramm-Information eine Unterprogramm-Rückkehr-Instruktion ist, daß die Geräteeinheit zusätzlich ein zweites Register aufweist, welches mit der Übertragungseinheit gekoppelt ist, daß Signale zwi^ sehen dem zweiten Register und dem Speicherplatz weitergeleitet werden, der durch das erste Register identifiziert ist, sowie zwischen dem Programmzähler und dem zweiten Register, in Abhängigkeit von der Maschinenprogramm-Instruktion und der Unterprogramm-Rückkehr-Instruktion .£·. Datenverarbeitungssystem nach Anspruch 3, dadurch gekennzeichnet, daß die Rückkehr-Instruktion für das zweite Übertragungssignal eine Unterbrechungs-Rückkehr-Instruktion ist, daß die Geräteeinheit zusätzlich ein drittes Register zur Speicherung von Operationsinformationen für die Geräteeinheit aufweist, daß die Übertragungseinheit und das erste Register auf das zweite Übertragungssignal und die Unterbrechungs-Rückkehr -In st rule ti on ansprechen, um Signale zwischen dem Programmzähler und dem Speicherplatz weiterzuleiten, der durch das erste Register identifiziert ist, und zwischen dem dritten Register mid einem anderen Speicherplatz, der durch das erste Register identifiziert ist.5. Datenverarbeitungssystem mit einer Anzahl von adressierten Speicherplätzen zur Speicherung von Instruktionen und Daten in Blökken abhängiger Speicherplätze, mit einer Geräteeinheit mit einem Programmzähler zur Auswahl von Instruktionen und Daten in einem ersten Speicherblock zur Weiterleitung zu und zur Verarbeitung in der Geräteeinheit, um Instruktionen von einem zweiten Speicherblock in Abhängigkeit von einer ÜbertragungsInstruktion zu erhalten, dadurch gekenn ze ichnet, daß die GeräteeinheitA. ein erstes Register zur Speicherung einer Adresse für einen dritten Speicherblock enthält,E. ein zweites Register,C. eine mit den beiden Registern gekoppelte Übertragungseinheit, die auf die Übertragungsinstruktion anspricht, sur Überfcra-10S842/1S 41gung von1. dem Inhalt des zweiten Registers an den durch das erste
Register idendifizierten Speicherplatz,2. dem Inhalt des Programmzählers an das zweite Register, und3. einer Adresse in einem zweiten Speicherblock, die durch
die Übertragungs-Instruktion identifiziert ist, an den Programmzähler, welche Geräteeinheit danach Instruktionen von dem zweiten Speicherblock erhält, sowieD. eine auf die Übertragungs-Instruktion zum Modifizieren des
ersten Registerinhalts zur Identifizierung eines nächsten unbesetzten abhängigen Speicherplatzes in dem dritten Speicherblock für den zweiten Registerinhalt.6. Datenverarbeitungssystem nach Anspruch 5, wobei die letzte Instruktion in dem zweiten Speicherblock eine Rückkehr-Instruktion ist, dadurch gekennzeichnet, daßA. die Übertragungseinheit zusätzlich eine Einrichtung aufweist, welche auf die Rückkehr-Instruktion anspricht, um1. den zweiten Registerinhalt zu dem Programmzähler, und2. den Inhalt des dritten Speicherblocks zu dem zweiten Register zu übertragen, um dadurch die Ausführung der Geräteeinheit zu der Instruktion in dem ersten Speicherblock zurückzuführen, welche auf die Übertragungs-Instruktion folgt, und daßB. die das Register modifizierende Einrichtung verursacht, daß
das erste Register eine vorher verwandte abhängige Adresse in dem dritten Speicherblock identifiziert.7. Datenverarbeitungssystem nach Anspruch 6 mit einer auf eine periphere Einheit ansprechende Einrichtung zur Erzeugung einer Unterbrechungs-Adresse in einem vierten Speicherblock, dadurch gekennze ichne t , daßA. die Übertragungseinheit zusätzlich eine auf die Unterbrechungsadresse ansprechende Einheit aufweist zur Übertragung von1. dem Inhalt des Programmzählers, welcher die nächste Instruk-10 9 8 ^ / 1 r· Λ 1tion in den unterbrochenen Instruktionen zu der Adresse in dem dritten Speicherblock beinhaltet, der durch das erste Register identifiziert ist, und2. der Unterbrechungs-Adresse zu dem Programmzähler, damit die Geräteeinheit die nächste Instruktion von dem vierten Speicherblock erhält, und daßB. die das Register modifizierende Einrichtung verursacht, daß das erste Register eine unbesetzte abhängige Adresse in dem dritten Speicherblock identifiziert, um den Inhalt des Programmzählers zu speichern.8. Datenverarbeitungssystem nach Anspruch 7, wobei die letzte Instruktion in dem vierten Speicherblock eine zweite Rückkehr-Instruktion ist, dadurch gekennzeichnet, daßA. die Übertragungseinheit zusätzlich eine auf die zweite Rückkehrinstruktion ansprechende Einrichtung enthält, um den letzten Inhalt des dritten Speicherblocks an den Programmzähler zu übertragen, so daß die Geräteeinheit die nächste Instruktion erhält, und daßB. die das Register modifizierende Einrichtung verursacht, daß das erste Register eine vorher benutzte abhängige Adresse in dem dritten Speicherblock identifiziert.9. Datenverarbeitungssystem nach Anspruch 7, wobei die Geräteeinheit ein Statuswort-Register aufweist und die ansprechende periphere Einrichtung auch eine Statuswort-Adresse erzeugt, dadurch gekennzeichnet, daßA. die auf die Unterbrechungs-Adresse ansprechende Einrichtung auf. die Statuswort-Adresse zur Übertragung des Inhalts des Statusregisters zu einem Speicherplatz in dem dritten Speicherblock anspricht, der durch das erste Register identifiziert ist, und daßB. die das Register modifizierende Einrichtung verursacht, daß das erste Register aufeinanderfolgend die nächsten beiden unbesetzten abhängigen Speicherplätze des dritten Speicherblocks definiert, um den Inhalt des Statuswort-Registers und den In-1 0 9 8 A 2 / 1 6 U 1. halt des Programmzählers zu speichern.10. Datenverarbeitungssystem nach Anspruch 9, wobei die letzte Instruktion in dem vierten Speicherblock eine Rückkehr-Instruktion ist, dadurch gekennzeichnet, daßA. die Übertragungseinheit zusätzlich eine Einrichtung aufweist, die auf die zweite Rückkehr-Instruktion zur Übertragung des Inhalts der letzten beiden Speicherplätze in dem dritten Speicherblock zu dem Statusregister und em Programmzähler anspricht, und daßB. die das Register modifizierende Einrichtung auf die joickkehr-Instrüktion anspricht, damit das erste Register eine vorher benutzte Adresse in dem dritten Speicherblock identifiziert, angrenzend an die letzten beiden Speicherplätze.11. Datenverarbeitungssystem, gekennze ichne t durchA. eine Sprichereinheit mit einer Anzahl von adressierten Speicherplätzen zur Speicherung von ersten und zweiten Sätzen von Instruktionen in ersten bzw. zweiten Blocks benachbarter Speicherplätze, welche Sätze von zweiten Instruktionen ein Unterprogramm darstellen, und durchB. eine Geräteeinheit zur Verarbeitung der Instruktionen mit1. einem ersten Register mit einem Programmzähler zur Adressierung von Speicherplätzen in einer Reihenfolge,2. einem zweiten Register zum Identifizieren angrenzender Speicherplätze in einem dritten Speicherblock,3. einem dritten Register,4. einer arithmetischen Einheit, die auf den Programmzähler anspricht, um aufeinanderfolgend Instruktionen in dem ersten Speicherblock auszuüben, wobei eine Instruktion eine übertragungs-Instruktion mit einer Unterprogramm-Adresse für eine erste Instruktion in dem zweiten Speicherblock ist, um eine Ausführung eines Unterprogramms zu verursachen,109842/16415. einerEinrichtung zum Modifizieren des zweiten Registerinhalts, um den nächsten unbesetzten dritten Speicherblock-Speicherplatz zu definieren, und mit6. einer auf die Übertragungsinstruktion ansprechenden Übertragungseinheit, uma. zuerst den Inhalt des dritten Registers zu dem Speicherplatz zu übertragen, der durch das zweite Register identifiziert ist,b. zweitens den Inhalt des Programmzählers an das dritte Register zu übertragen, undc. drittens die Unterprogramm-Adresse an den Programmzähler zu übertragen, wodurch die arithmetische Einheit die erste Unterprogramm-Instruktion erhält.12. Datenverarbeitungssystem nach Anspruch 11, wobei die letzte Unterprogramm-Instruktion eine Unterprogramm-Rückkehr-Instruktion ist, dadurch gekennzeichnet, daßä. die Übertragungseinlieit auf die Rückkehr-Instruktion anspricht, UHl;.1. den Inhalt des dritten Registers an den Programmzähler zu übertragen, und2. den Speicherplatzinhalt des dritten Speicherblocks, der durch das zweite Register definiert ist, an das dritte Register zu übertragen, und daßB. die modifizierende Einrichtung auf die Rückkehr-Instruktion anspricht, damit das zweite Register den nächsten benachbarten besetzten Speicherplatz definiert, wodurch die Geräteeinheit die nächste Instruktion von dem ersten Satz von Instruktionen erhält.13. Datenverarbeitungssystem nach Anspruch 12, dadurch gekennze ichnet , daß die modifizierende Einrichtung, verursacht, daß der Inhalt des zweiten Registers die nächsten benachbarten unbesetzten Speicherplätze in dem dritten Speicherblock identifiziert, bevor eine Übertragung in Abhängig-1098A2/ 1641 .keit von einer Unterprogramm-Übertragungs-Instruktion erfolgt,um • den nächsten benachbarten besetzten Speicherplatz in dem dritten Speicherblock zu identifizieren, nachdem eine Übertragung in Abhängigkeit von einer Unterprogramm-Rückkehr-Instruktion erfolgt ist.14. Datenverarbeitungssystem nach Anspruch 12, dadurch gekennzeichnet, daß die Geräteeinheit zusätzlich ein Zwischenregister aufweist, um die Unterprogramm-Adresse zu speichern, bis die ersten und zweiten Übertragungen durch die Über- * tragungseinheit vervollständigt sind.15. Datenverarbeitungssystem nach Anspruch 14, dadurch gekennzeichnet, daß. die Unterprogramm-Adresse in einem Speicherplatz gespeichert ist, der durch den Programmzähler identifiziert ist, und daß die Geräteeinheit zusätzlich eine auf eine Unterprogramm-Adresse ansprechende Einrichtung aufweist, welche den Programmzähler zur Übertragung des Inhalts eines ersten Speicherplatzes angrenzend an die Unterprogramm-Übertragungs-Instruktion zu dem Programmzähler und eines zweiten Speicherplatzes angrenzend an den ersten Speicherplatz zu dem dritten Register enthält.16. Datenverarbeitungssystem nach Anspruch 14, dadurch gekennzeichnet, daß die Unterprogramm-Übertragungs-Instruktion den letzten angrenzenden Speicherplatz in dem dritten Speicherblock als eine Unterprogramm-Adresse enthaltend kennzeichnet und den Programmzähler als das dritte Register, und daß die Übertragungseinrichtung auf die Unterprogramm-Übertragungs-Instruktion anspricht, um den Inhalt des Speicherplatzes, der durch das zweite Register identifiziert ist, und des Programmzählers auszutauschen.17. Datenverarbeitungssystem nach Anspruch 14, mit einer zusätzlichen Erzeugungseinrichtung für ein Unterbrechungssignal zur Erzeugung einerAdresse in einem vierten Speicherblock und eines Statusworts, und mit einem Statusregister in der Geräteeinheit zur Speicherung1 0 9 8 4 2 / 1 6 U 1eines Statusworts, wobei der vierte Speicherblock ein Unterbrechungs-Unterprogramm enthält, dadurch gekennzeichnet, daß die Geräteeinheit zusätzlichA. eine Entschlüsselungseinrichtung aufweist, welche auf die Erzeugungseinrichtung für das unterbrechende Signal anspricht, damit die Übertragungseinheit1. den Inhalt des Programmzählers auf einen anderen unbesetzten benachbarten Speicherplatz in dem dritten Speicherblock überträgt, undI. das gespeicherte Statuswort an einen unbesetzten angrenzenden Speicherplatz in dem dritten Speicherblock überträgt, sowieII. die Adresse für das Unterbrechungs-Maschinenprogramm an den Programmzähler überträgt, und daßB. die ändernde Einrichtung auf die Entschlüsselungseinrichtung anspricht, damit das zweite Register Adressen für die nächsten beiden unbesetzten angrenzenden Speicherplätze in dem dritten Speicherblock liefert, um eine Speicherung des Inhalts des Programmzählers und des Statusworts zu ermöglichen.18. Datenverarbeitungssystem nach Anspruch 17, wobei die letzte Unterbrechungs-Unterprogramm- Instruktion eine Unterbrechungs-Rückkehr-Instruktion ist, dadurch gekennzeichnet, daßA. die Geräteeinheit zusätzlich eine Einrichtung aufweist, die auf die. Unterbrechungs-Rückkehr-Instruktion anspricht, um den Inhalt der letzten beiden Speicherplätze in dem dritten Speicherplatz zu dem Statusregister und dem Programmzähler zu übertragen, und daßB. die modifizierende Einrichtung auf die Unterbrechungs-Rückkehr-Instruktion anspricht, damit das zweite Register eine vorher benutzte Adresse in dem dritten Speicherblock angrenzend an die beiden letzten Speicherplätze identifiziert.19. Datenverarbeitungssystem nach Anspruch 18, dadurch ge-10 9 8 4 2/1641kennzeichnet, daß die modifizierende EinrichtungÄ. eine Einrichtung zum Dekrementieren des zweiten Registerinhalts vor jeder Übertragung des Inhalts des Programmzählers und des Inhalts des Statuswort-Registers zu dem dritten Spei- ' cherblock enthält, und daßB. eine Einrichtung zum Inkrementieren des Inhalts des zweiten Registers nach jeder Übertragung an das Statuswort-Register und zu dem Programmzähler vorgesehen ist.20. Datenverarbeitungssystem, gekennzeichnet durchA. eine Speichereinheit mit einer Anzahl von adressierten Speicherplätzen zur Speicherung erster und zweiter Sätze von Instruktionen in ersten bzw. zweiten Blocks benachbarter Speicherplätze, welche zweiten Sätze von Instruktionen Unterbrechungs-Maschinenprogramme darstellen;B. einen Generator zur Erzeugung von unterbrechenden Signalen, mit einer Adresse in dem zweiten Speicherblock, undC. eine Geräteeinheit zur Verarbeitung von Instruktionen mit1. einem Programmzähler zur Erzeugung von Adressen von Instruktionen in einer Reihenfolge, um zu der Geräteeinheit zu übertragende Instruktionen zu identifizieren,2. einem zweiten Register, um dritte Speicherblock-Speicherplätze zu definieren,3. einer auf ein unterbrechendes Signal ansprechenden Einrichtung, um das zweite Register zu modifizieren und den nächsten unbesetzten benachbarten dritten Speicherblock-Speicherplatz zu identifizieren,und mit4. einer Übertragungseinheit mit einer auf den Generator für das unterbrechende Signal ansprechenden Einrichtung, uma. den Inhalt des Programmzählers an den Speicherplatz zu übertragen, der durch das zweite Register identifiziert ist, und umb. die zweite Speicherblock-Adresse an den Programmzähler zu übertragen, wodurch die Geräteeinheit eine Unterbrechungs-Unterprogramm-Instruktion von dem zweiten Spei-10 9 8 Λ 2/1641cherblock erhält.21. Datenverarbeitungssystem nach Anspruch 20, wobei die letzte Unterbrechungs-Maschinenprogramm-Instruktion eine Unterbrechungs-Rückkehr-Instruktion ist, dadurch gekennzeichnet, daßA. die Übertragungseinheit eine Einrichtung zur Übertragung des Inhalts des Programmzählers in dem dritten Speicherblock zu dem Programme ahle r enthält, und daßB. die modifizierende Einrichtung auf die Unterbrechungs-Rückkehr-Instruktion anspricht, damit das zweite Register den nächsten besetzten angrenzenden Speicherplatz in dem dritten Speicherblock identifiziert.22. Datenverarbeitungssystem nach Anspruch 20, mit einem zusätzlichen Statuswort-Register, dadurch gekennzeichnet, daßA. der Generator für ein unterbrechendes Signal zusätzlich eine Adresse für ein Statuswort erzeugt,B. daß die Übertragungseinheit eine Einrichtung zur Übertragung des Inhalts des Statuswort-Registers an einen unbesetzten Speicherplatz in dem dritten Speicherblock enthält, undC. die modifizierende Einrichtung auf den Generator für das unterbrechende Signal anspricht, damit das zweite Register die nächsten beiden angrenzenden unbesetzten Speicherplätze in dem dritten Speicherblock identifiziert, um den Inhalt des Statuswort-Registers und des Programmzählers zu speichern.23. Datenverarbeitungssystem nach Anspruch 22, wobei die letzte Instruktion in einem Unterbrechungs-Maschinenprogramm eine Unterbrechungs-Rückkehr-Instruktion ist, dadurch gekennzeichnet, daßA. die Übertragungseinheit eine Einrichtung enthält, die auf die Rückkehr-Instruktion zur Übertragung des Statusworts in dem dritten Speicherblock zu dem Statuswort-Register anspricht.10 9 8 4 2/ 1~55~ 2113390und des Inhalts des Programmzählers, der in dem anderen dritten Speicherblock-Speicherplatz gespeichert ist, zu dem Programmzähler, und daßB. die modifizierende Einrichtung auf die Unterbrechungs-Maschinenprogramm-Instruktion anspricht, damit das Register den nächsten besetzten angrenzenden Speicherplatz in dem dritten Speicherblock identifiziert.24. Datenverarbeitungssystem nach Anspruch 23, dadurch gekennzeichnet , daß die modifizierende EinrichtungA. eine auf den Generator für das unterbrechende Signal ansprechende Einrichtung zum Dekrementieren des zweiten Registers undB. eine Einrichtung zum Inkrementieren des zweiten Registers in Abhängigkeit von einer Rückkehr-Instruktion aufweist.25. Verfahren zur Zuführung von Instruktionen in einem Datenverarbeitungssystem an eine Geräteeinheit, welche Instruktionen von Speicherplätzen eines ersten Speicherblocks enthält, von einem anderen Block von Speicherplätzen, wobei die Geräteeinheit einen Programmzähler enthält, um zu erhaltende Instruktionen zu identifizieren, wobei eine Instruktion eine Übertragungs-Instruktion ist, welche ein erstes Register und einen zweiten Speicherblock-Speicherplatz identifiziert, und wobei ein zweites Register vorgesehen ist, um dritte Speicherblock-Speicherplätze zu identifizieren, dadurch gekennzeichnet, daßA. der Inhalt des ersten Registers an den nächsten unbesetzten Speicherplatz des dritten Speicherblocks übertragen wird, der durch das zweite Register identifiziert ist,B. der Inhalt des Programmzählers an das erste Register übertragen wird, undC. die Adresse des zweiten Speicherblocks an den Programmzähler übertragen wird.109842/1626. Verfahren nach Anspruch 25, wobei der letzte Speicherplatz in dem Speicherblock eine Rückkehr-Instruktion enthält, dadurch gekennzeichnet, daß das Verfahren in Abhängigkeit von der Rückkehr-Instruktion erfolgt, indemA. der Inhalt des ersten Registers an den Programmzähler übertragen wird, und indemB. der Inhalt des nächsten besetzten Speicherplatzes des dritten Speicherblocks an das erste Register übertragen wird.27. Verfahren nach Anspruch 26, dadurch gekennzeichnet, daß der Inhalt des zweiten Registers in Abhängigkeit von den Übertragungs- und Rückkehr-Instruktionen modifiziert wird, um. die Adresse des letzten besetzten Speicherplatzes des dritten Speicherblocks zu identifizieren, um Übertragungen zu und von dem dritten Speicherblock zu steuern.28. Verfahren nach Anspruch 27, dadurch gekennzeichnet, daßbaim Modifizieren des Inhalts des zweiten SpeicherregistersA. das zweite Speicherregister vor den Übertragungsschritten in Abhängigkeit von der Übertragungs-Instruktion dekrementiert wird, und daßB. das zweite Register nach den Übertragungsschritten in Abhängigkeit von der Rückkehr-Instruktion inkrementiert wird.29. Verfahren nach Anspruch 28, dadurch gekennzeichnet, daß die Geräteeinheit ein Zwischenregister enthält und daß bei dem zweiten Speicherblock-Adressen-ÜbertragungsschrittA. die Adresse des Speicherplatzes im zweiten Speicherblock zu dem Zwischenregister übertragen wird, bevor der Übertragungsschritt von dem ersten Register erfolgt, undB. der Inhalt, des Zwischenregisters an den Programmzähler nach der Übertragungsstufe von dem Programmzähler übertragen wird.30. Verfahren nach Anspruch 29, dadurch gekennzeich-10 9 8 4 2/1641net, daß die Übertragungs-Instruktion, die Adresse des zweiten Speicherblocks und zusätzliche Informationen in angrenzenden Speicherplätzen in dem ersten Speicherblock gespeichert werden, daß die Übertragungs-Instruktion den Programmzähler identifiziert-, um die zweite Speicheradresse zu erhalten, daß der Übertragungsschritt zu dem ersten Register die Information von dem ersten Speicherblock speichert, und daß der Übertragungsschritt zu dem Programmzähler die Adresse für den zweiten Satz von Instruktionen speichert.31. Verfahren nach Anspruch 29, dadurch gekennzeichnet, daß die Übertragungs-Instruktion den Programmzähler als das erste Register und den Inhalt eines Speicherplatzes, der durch das zweite Register identifiziert wird, als eine Speicheradresse identifiziert, und daß die Übertragungsschritte zu dem Zwischenregister, von dem ersten Register und von dem Programmzähler bewirken, daß der Inhalt des Speicherplatzes, der durch das zweite Register identifiziert wird, und der Inhalt des I*rogrammzählers ausgetauscht werden.32. Verfahren nach Anspruch 29, wobei das Verarbeitungssystem zusätzlich eine Einrichtung zur Erzeugung einer Anzahl von unterbrechenden Signalen enthält, von denen jedes eine Adresse in einem vierten Speicherblock identifiziert, wobei der vierte Speicherblock eine Adresse für ein Unterbrechungs-Unterprogramm und ein Statuswort zur Speicherung in einem Statuswort-Register enthält, dadurch gekennzeichnet, daß in Abhängigkeit von einem unterbrechenden SignalA. das zweite Register dekrementiert wird,B. der Inhalt des Programmzählers an den dritten Speicherblock-Speicherplatz übertragen wird, der durch das zweite Register identifiziert ist,C. das zweite Register dekrementiert wird, undD. der Inhalt des Statusregisters an den dritten Speicherblock-Speicherplatz übertragen wird, der durch das zweite Register identifiziert wird.109842/164133. Verfahren nach Anspruch 32, wobei jedes Unterbrechungs-Maschinenprogramm mit einer Unterbrechungs-Rückkehr-InstruktionSendet, dadurch gekennzeichn et, daß ein Ansprechen auf die Rückkehr-Instruktion erfolgt, indemA- das Statuswort in dem dritten Speicherblock-Speicherplatz, der durch das zweite Register identifiziert wird, an das Statuswort-Register übertragen wird,■ B. das zweite Register inkrementiert wird,C- der Inhalt des dritten Speicherblock-Speicherplatzes, der durch das zweite Register identifiziert wird, an den Programmzähler übertragen wird, undD. das zweite Register inkrementiert wird.109842/1641
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US2195770A | 1970-03-23 | 1970-03-23 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE2113890A1 true DE2113890A1 (de) | 1971-10-14 |
| DE2113890C2 DE2113890C2 (de) | 1985-10-17 |
Family
ID=21807053
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE2113890A Expired DE2113890C2 (de) | 1970-03-23 | 1971-03-23 | Zentrale Verarbeitungseinrichtung für Datenverarbeitungsanlagen |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US3614740A (de) |
| JP (1) | JPS564943B1 (de) |
| CA (1) | CA943258A (de) |
| DE (1) | DE2113890C2 (de) |
| GB (1) | GB1353951A (de) |
Families Citing this family (66)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3710324A (en) * | 1970-04-01 | 1973-01-09 | Digital Equipment Corp | Data processing system |
| US3815099A (en) * | 1970-04-01 | 1974-06-04 | Digital Equipment Corp | Data processing system |
| NL182178C (nl) * | 1970-04-01 | 1988-01-18 | Digital Equipment Corp | Dataeenheid met een adresseerbaar opslagorgaan. |
| US3740722A (en) * | 1970-07-02 | 1973-06-19 | Modicon Corp | Digital computer |
| US3760366A (en) * | 1971-09-15 | 1973-09-18 | Ibm | Unprintable character recognition |
| US3774163A (en) * | 1972-04-05 | 1973-11-20 | Co Int Pour L Inf | Hierarchized priority task chaining apparatus in information processing systems |
| JPS549456B2 (de) * | 1972-07-05 | 1979-04-24 | ||
| US3829839A (en) * | 1972-07-24 | 1974-08-13 | California Inst Of Techn | Priority interrupt system |
| US3781823A (en) * | 1972-07-28 | 1973-12-25 | Bell Telephone Labor Inc | Computer control unit capable of dynamically reinterpreting instructions |
| US3828327A (en) * | 1973-04-30 | 1974-08-06 | Ibm | Simplified storage protection and address translation under system mode control in a data processing system |
| FR2253425A5 (de) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
| FR2258112A5 (de) * | 1973-11-30 | 1975-08-08 | Honeywell Bull Soc Ind | |
| US4193113A (en) * | 1975-05-30 | 1980-03-11 | Burroughs Corporation | Keyboard interrupt method and apparatus |
| US4074353A (en) * | 1976-05-24 | 1978-02-14 | Honeywell Information Systems Inc. | Trap mechanism for a data processing system |
| US4152761A (en) * | 1976-07-28 | 1979-05-01 | Intel Corporation | Multi-task digital processor employing a priority |
| US4122519A (en) * | 1976-12-14 | 1978-10-24 | Allen-Bradley Company | Data handling module for programmable controller |
| US4339793A (en) * | 1976-12-27 | 1982-07-13 | International Business Machines Corporation | Function integrated, shared ALU processor apparatus and method |
| US4342082A (en) * | 1977-01-13 | 1982-07-27 | International Business Machines Corp. | Program instruction mechanism for shortened recursive handling of interruptions |
| US4348725A (en) * | 1977-01-19 | 1982-09-07 | Honeywell Information Systems Inc. | Communication line service interrupt technique for a communications processing system |
| US4259718A (en) * | 1977-03-10 | 1981-03-31 | Digital Equipment Corporation | Processor for a data processing system |
| IT1192334B (it) * | 1977-10-25 | 1988-03-31 | Digital Equipment Corp | Sistema di elaborazione dei dati numerici |
| IN150275B (de) * | 1977-10-25 | 1982-08-28 | Digital Equipment Corp | |
| GB2008293B (en) * | 1977-10-25 | 1982-05-06 | Digital Equipment Corp | Data processing system with read operation splitting |
| ES474428A1 (es) * | 1977-10-25 | 1979-04-16 | Digital Equipment Corp | Un sistema de tratamiento de datos. |
| US4272829A (en) * | 1977-12-29 | 1981-06-09 | Ncr Corporation | Reconfigurable register and logic circuitry device for selective connection to external buses |
| JPS54107643A (en) * | 1978-02-13 | 1979-08-23 | Toshiba Corp | Operation control method and unit executing structured program |
| US4409653A (en) * | 1978-07-31 | 1983-10-11 | Motorola, Inc. | Method of performing a clear and wait operation with a single instruction |
| US4338663A (en) * | 1978-10-25 | 1982-07-06 | Digital Equipment Corporation | Calling instructions for a data processing system |
| US4241399A (en) * | 1978-10-25 | 1980-12-23 | Digital Equipment Corporation | Calling instructions for a data processing system |
| US4374418A (en) * | 1979-06-27 | 1983-02-15 | Burroughs Corporation | Linear microsequencer unit cooperating with microprocessor system having dual modes |
| US4287560A (en) * | 1979-06-27 | 1981-09-01 | Burroughs Corporation | Dual mode microprocessor system |
| US4504903A (en) * | 1979-07-19 | 1985-03-12 | Digital Equipment Corporation | Central processor with means for suspending instruction operations |
| US4395758A (en) * | 1979-12-10 | 1983-07-26 | Digital Equipment Corporation | Accelerator processor for a data processing system |
| US4410940A (en) * | 1980-12-05 | 1983-10-18 | International Business Machines Corporation | Transfer of control method and means among hierarchical cooperating sequential processes |
| US4649472A (en) * | 1981-02-04 | 1987-03-10 | Burroughs Corporation | Multi-phase subroutine control circuitry |
| US4467410A (en) * | 1981-02-04 | 1984-08-21 | Burroughs Corporation | Multi-phase subroutine control circuitry |
| US4939640A (en) * | 1981-05-22 | 1990-07-03 | Data General Corporation | Data processing system having unique microinstruction control and stack means |
| US4445190A (en) * | 1981-06-16 | 1984-04-24 | International Business Machines Corporation | Program identification encoding |
| US4451882A (en) * | 1981-11-20 | 1984-05-29 | Dshkhunian Valery | Data processing system |
| DE3146769A1 (de) * | 1981-11-25 | 1983-06-09 | Jurij Egorovič Moskva Čičerin | Rechensystem |
| US4803619A (en) * | 1984-03-15 | 1989-02-07 | Bernstein David H | Digital data processing system incorporating apparatus for resolving names |
| DE3419559A1 (de) * | 1984-05-25 | 1985-11-28 | Robert Bosch Gmbh, 7000 Stuttgart | Steuervorrichtung fuer funktionen im kraftfahrzeug |
| US4972317A (en) * | 1986-10-06 | 1990-11-20 | International Business Machines Corp. | Microprocessor implemented data processing system capable of emulating execution of special instructions not within the established microprocessor instruction set by switching access from a main store portion of a memory |
| US5043879A (en) * | 1989-01-12 | 1991-08-27 | International Business Machines Corporation | PLA microcode controller |
| JPH03129402A (ja) * | 1989-07-10 | 1991-06-03 | Mitsubishi Electric Corp | プログラマブルコントローラのプログラム作成方法およびプログラミング装置 |
| US5197138A (en) * | 1989-12-26 | 1993-03-23 | Digital Equipment Corporation | Reporting delayed coprocessor exceptions to code threads having caused the exceptions by saving and restoring exception state during code thread switching |
| JPH0590558U (ja) * | 1991-06-14 | 1993-12-10 | アラコ株式会社 | 三角停止表示板 |
| US6864570B2 (en) * | 1993-12-17 | 2005-03-08 | The Regents Of The University Of California | Method and apparatus for fabricating self-assembling microstructures |
| US6128728A (en) | 1997-08-01 | 2000-10-03 | Micron Technology, Inc. | Virtual shadow registers and virtual register windows |
| US6088787A (en) * | 1998-03-30 | 2000-07-11 | Celestica International Inc. | Enhanced program counter stack for multi-tasking central processing unit |
| US6829719B2 (en) * | 2001-03-30 | 2004-12-07 | Transmeta Corporation | Method and apparatus for handling nested faults |
| US8427490B1 (en) | 2004-05-14 | 2013-04-23 | Nvidia Corporation | Validating a graphics pipeline using pre-determined schedules |
| US8624906B2 (en) | 2004-09-29 | 2014-01-07 | Nvidia Corporation | Method and system for non stalling pipeline instruction fetching from memory |
| US8725990B1 (en) * | 2004-11-15 | 2014-05-13 | Nvidia Corporation | Configurable SIMD engine with high, low and mixed precision modes |
| KR101002485B1 (ko) | 2004-11-15 | 2010-12-17 | 엔비디아 코포레이션 | 비디오 처리 |
| US9092170B1 (en) | 2005-10-18 | 2015-07-28 | Nvidia Corporation | Method and system for implementing fragment operation processing across a graphics bus interconnect |
| US8683126B2 (en) * | 2007-07-30 | 2014-03-25 | Nvidia Corporation | Optimal use of buffer space by a storage controller which writes retrieved data directly to a memory |
| US8698819B1 (en) | 2007-08-15 | 2014-04-15 | Nvidia Corporation | Software assisted shader merging |
| US8659601B1 (en) | 2007-08-15 | 2014-02-25 | Nvidia Corporation | Program sequencer for generating indeterminant length shader programs for a graphics processor |
| US8411096B1 (en) | 2007-08-15 | 2013-04-02 | Nvidia Corporation | Shader program instruction fetch |
| US9024957B1 (en) | 2007-08-15 | 2015-05-05 | Nvidia Corporation | Address independent shader program loading |
| US9064333B2 (en) * | 2007-12-17 | 2015-06-23 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
| US8780123B2 (en) * | 2007-12-17 | 2014-07-15 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
| US8681861B2 (en) * | 2008-05-01 | 2014-03-25 | Nvidia Corporation | Multistandard hardware video encoder |
| US8923385B2 (en) * | 2008-05-01 | 2014-12-30 | Nvidia Corporation | Rewind-enabled hardware encoder |
| US8489851B2 (en) * | 2008-12-11 | 2013-07-16 | Nvidia Corporation | Processing of read requests in a memory controller using pre-fetch mechanism |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3348211A (en) * | 1964-12-10 | 1967-10-17 | Bell Telephone Labor Inc | Return address system for a data processor |
| DE1900007A1 (de) * | 1968-01-03 | 1969-08-28 | Western Electric Co | Datenverarbeitungssystem |
| DE1524150A1 (de) * | 1965-04-05 | 1970-03-19 | Ibm | Einrichtung zur Steuerung von Programmunterbrechungen bei elektronischen Datenverarbeitungsanlagen |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3059222A (en) * | 1958-12-31 | 1962-10-16 | Ibm | Transfer instruction |
| GB993879A (de) * | 1961-11-16 | |||
| US3292155A (en) * | 1963-03-15 | 1966-12-13 | Burroughs Corp | Computer branch command |
| US3366929A (en) * | 1964-12-30 | 1968-01-30 | Ibm | Computing system embodying flexible subroutine capabilities |
| US3359544A (en) * | 1965-08-09 | 1967-12-19 | Burroughs Corp | Multiple program computer |
| US3387278A (en) * | 1965-10-20 | 1968-06-04 | Bell Telephone Labor Inc | Data processor with simultaneous testing and indexing on conditional transfer operations |
| NO119615B (de) * | 1966-02-25 | 1970-06-08 | Ericsson Telefon Ab L M | |
| US3480917A (en) * | 1967-06-01 | 1969-11-25 | Bell Telephone Labor Inc | Arrangement for transferring between program sequences in a data processor |
-
1970
- 1970-03-23 US US21957A patent/US3614740A/en not_active Expired - Lifetime
-
1971
- 1971-03-23 CA CA108,514A patent/CA943258A/en not_active Expired
- 1971-03-23 JP JP1678771A patent/JPS564943B1/ja active Pending
- 1971-03-23 DE DE2113890A patent/DE2113890C2/de not_active Expired
- 1971-04-19 GB GB2507171*#A patent/GB1353951A/en not_active Expired
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3348211A (en) * | 1964-12-10 | 1967-10-17 | Bell Telephone Labor Inc | Return address system for a data processor |
| DE1524150A1 (de) * | 1965-04-05 | 1970-03-19 | Ibm | Einrichtung zur Steuerung von Programmunterbrechungen bei elektronischen Datenverarbeitungsanlagen |
| DE1900007A1 (de) * | 1968-01-03 | 1969-08-28 | Western Electric Co | Datenverarbeitungssystem |
Also Published As
| Publication number | Publication date |
|---|---|
| GB1353951A (en) | 1974-05-22 |
| JPS564943B1 (de) | 1981-02-02 |
| DE2113890C2 (de) | 1985-10-17 |
| US3614740A (en) | 1971-10-19 |
| CA943258A (en) | 1974-03-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE2113890A1 (de) | Datenverarbeitungssystem | |
| DE2113891C2 (de) | Datenverarbeitungsanlage | |
| DE1178623C2 (de) | Programmgesteuerte datenverarbeitende Maschine | |
| DE2635592A1 (de) | Multiprozessor-abrufsystem | |
| DE2115993A1 (de) | Datenverarbeitungssystem | |
| DE1524225B2 (de) | Verfahren zum betriebe einer redigier- und wiedergabeeinrichtung | |
| DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
| DE3508291A1 (de) | Realzeit-datenverarbeitungssystem | |
| DE2744531A1 (de) | Elektronische datenverarbeitungsanlage | |
| DE1915818B2 (de) | Steuerschaltung für ein elektronisches Datenverarbeitungssystem | |
| DE1499203B1 (de) | Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb | |
| DE2230103A1 (de) | Adressiereinrichtung fuer einen speicher | |
| DE3781794T2 (de) | Vorrichtung und verfahren zum versehen eines cachespeichers mit einer schreiboperation mit zwei systemtaktzyklen. | |
| DE2019444A1 (de) | Datenverarbeitungsanlage | |
| DE2854782C2 (de) | Datenverarbeitungssystem und Verfahren zum Ersetzen eines Datenblocks in einem Schnellspeicher | |
| DE19524402C2 (de) | Programmausführungssteuereinrichtung mit einer Adressierbarkeit entsprechend einer M-reihigen Pseudo-Zufallszahlenfolge | |
| DE1774052B1 (de) | Rechner | |
| DE2164793A1 (de) | Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit | |
| DE3123382C2 (de) | Verfahren und Einrichtung zum Übertragen von Daten in einem Mehrprozessorsystem | |
| DE2813080A1 (de) | Einrichtung zur speicheradressierung | |
| DE2363846A1 (de) | Verfahren zum steuern des transfers von daten zwischen einem speicher und einem oder mehreren peripheren geraeten und nach diesem verfahren arbeitende datenverarbeitungsanlage | |
| DE2148956B2 (de) | Datenübertragungssystem | |
| DE1499191B2 (de) | Elektronische einrichtung fuer eine datenverarbeitungsanlage | |
| DE2609698C2 (de) | Elektronischer Rechner | |
| DE1813521A1 (de) | Dokumentationseinrichtung zum Aufsuchen gewuenschter Informationen aus einer Informationssammlung oder Informationsmenge |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OD | Request for examination | ||
| OI | Miscellaneous see part 1 | ||
| OI | Miscellaneous see part 1 | ||
| D2 | Grant after examination | ||
| 8364 | No opposition during term of opposition |