[go: up one dir, main page]

DE2113890A1 - Datenverarbeitungssystem - Google Patents

Datenverarbeitungssystem

Info

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
Application number
DE19712113890
Other languages
English (en)
Other versions
DE2113890C2 (de
Inventor
Delagi Bruce A
O'loughlin James F
Mcfarland Jun Harold L
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=21807053&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE2113890(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of DE2113890A1 publication Critical patent/DE2113890A1/de
Application granted granted Critical
Publication of DE2113890C2 publication Critical patent/DE2113890C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation 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.
Tabelle I
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—
Operandenadressen
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.
Tabelle II Adressenmodus Funktion
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
Abrufzyklus
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.
JSR-Instruktion
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.
RTS-Instruktion
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.
RTI-Instruktion
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.
Andere Instruktionen
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:
Tabelle III Register Inhalt
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.
Patentansprüche
1 0 9 8 4 2 /

Claims (1)

  1. Patentansprüche
    Am 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äteeinheit
    A. 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, und
    C. 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-Instruktion
    109842/1641
    das 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äteeinheit
    A. 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 41
    gung von
    1. dem Inhalt des zweiten Registers an den durch das erste
    Register idendifizierten Speicherplatz,
    2. dem Inhalt des Programmzählers an das zweite Register, und
    3. 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, sowie
    D. 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, um
    1. den zweiten Registerinhalt zu dem Programmzähler, und
    2. 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 von
    1. dem Inhalt des Programmzählers, welcher die nächste Instruk-
    10 9 8 ^ / 1 r· Λ 1
    tion in den unterbrochenen Instruktionen zu der Adresse in dem dritten Speicherblock beinhaltet, der durch das erste Register identifiziert ist, und
    2. 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 durch
    A. 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 durch
    B. eine Geräteeinheit zur Verarbeitung der Instruktionen mit
    1. 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/1641
    5. einerEinrichtung zum Modifizieren des zweiten Registerinhalts, um den nächsten unbesetzten dritten Speicherblock-Speicherplatz zu definieren, und mit
    6. einer auf die Übertragungsinstruktion ansprechenden Übertragungseinheit, um
    a. 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, und
    c. 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, und
    2. 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 Speicherung
    1 0 9 8 4 2 / 1 6 U 1
    eines Statusworts, wobei der vierte Speicherblock ein Unterbrechungs-Unterprogramm enthält, dadurch gekennzeichnet, daß die Geräteeinheit zusätzlich
    A. eine Entschlüsselungseinrichtung aufweist, welche auf die Erzeugungseinrichtung für das unterbrechende Signal anspricht, damit die Übertragungseinheit
    1. den Inhalt des Programmzählers auf einen anderen unbesetzten benachbarten Speicherplatz in dem dritten Speicherblock überträgt, und
    I. das gespeicherte Statuswort an einen unbesetzten angrenzenden Speicherplatz in dem dritten Speicherblock überträgt, sowie
    II. 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/1641
    kennzeichnet, 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 durch
    A. 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, und
    C. eine Geräteeinheit zur Verarbeitung von Instruktionen mit
    1. 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 mit
    4. einer Übertragungseinheit mit einer auf den Generator für das unterbrechende Signal ansprechenden Einrichtung, um
    a. den Inhalt des Programmzählers an den Speicherplatz zu übertragen, der durch das zweite Register identifiziert ist, und um
    b. 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/1641
    cherblock 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, und
    C. 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~ 2113390
    und 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 Einrichtung
    A. eine auf den Generator für das unterbrechende Signal ansprechende Einrichtung zum Dekrementieren des zweiten Registers und
    B. 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, und
    C. die Adresse des zweiten Speicherblocks an den Programmzähler übertragen wird.
    109842/16
    26. 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, indem
    A. der Inhalt des ersten Registers an den Programmzähler übertragen wird, und indem
    B. 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 Speicherregisters
    A. 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-Übertragungsschritt
    A. die Adresse des Speicherplatzes im zweiten Speicherblock zu dem Zwischenregister übertragen wird, bevor der Übertragungsschritt von dem ersten Register erfolgt, und
    B. 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/1641
    net, 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 Signal
    A. 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, und
    D. der Inhalt des Statusregisters an den dritten Speicherblock-Speicherplatz übertragen wird, der durch das zweite Register identifiziert wird.
    109842/1641
    33. 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, indem
    A- 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, und
    D. das zweite Register inkrementiert wird.
    109842/1641
DE2113890A 1970-03-23 1971-03-23 Zentrale Verarbeitungseinrichtung für Datenverarbeitungsanlagen Expired DE2113890C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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