DE2629266A1 - Ein/ausgabe-system - Google Patents

Ein/ausgabe-system

Info

Publication number
DE2629266A1
DE2629266A1 DE19762629266 DE2629266A DE2629266A1 DE 2629266 A1 DE2629266 A1 DE 2629266A1 DE 19762629266 DE19762629266 DE 19762629266 DE 2629266 A DE2629266 A DE 2629266A DE 2629266 A1 DE2629266 A1 DE 2629266A1
Authority
DE
Germany
Prior art keywords
register
registers
control
data
signals
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.)
Withdrawn
Application number
DE19762629266
Other languages
English (en)
Inventor
Jaime Calle
V Michael Griswold
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.)
Bull HN Information Systems Italia SpA
Original Assignee
Honeywell Information Systems Italia SpA
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
Application filed by Honeywell Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
Publication of DE2629266A1 publication Critical patent/DE2629266A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module

Description

5202556 Ge 2 8. JUNi 1976
HONEYWELL INFORMATION SYSTEMS INC.
200 Smith Street Waltham, Mass., USA
Ein/Ausgabe-System
Die Erfindung betrifft ein E/A-System zur Steuerung von E/AOperationen mehrerer an einen Multiplexer angeschlossener peripherer Geräte, wobei die Operationen auf Grund von Benutzer-Programmbefehlen ausgeführt werdenf mit einem Speicher, einem Prozessor zur Erzeugung von Anweisungen in Abhängigkeit von den Benutzerbefehlen und mit einer Einrichtung zur Datenverbindung des Speichers mit dem Prozessor und dem Multiplexer auf einer Prioritätsbasis.
Viele Systeme sehen im allgemeinen eine Zugriffsbeschränkung verschiedener Untersysteme auf bestimmte Teile des Systemspeichers vor. Beispielsweise ist es bei einer Mehrprogramm-Ausführung eines DV-Systems erforderlich, sicherzustellen, daß die Daten eines überwachungs- oder Ausführungsprograniraes von einem Benutzer- oder Nebenprogramm nicht verändert oder zerstört werden bzw. dafl von diesem Programm auf sie Zugriff genommen wird. Die bekannten Systeme sehen daher meistenteils
609884/0790
262
Schutseinrichtungen vor, um einen Speicherzugriff zu verhindern, der su einer unbeabsichtigten Zerstörung gültiger Programmdaten führen würde.
Anders Systeme sehen zusätzlich zu einem Schutz von Daten und Programmen gegen Zerstörung eine Sicherung gegen unberechtigte Benutzung und Auffindung vor. Im allgemeinen wird bei diesen Systemen die Systemsicherheit in erster Linie durch die Software des Betriebssystems gewährleistet. Während diese bekannten Systeme einerseits ein hohes Maß an Sicherheit gewährleisten, sind sie auf der anderen Seite mit beträchtlichem Aufwand verbunden und daher sehr teuer. Ferner kann es in solchen Systemen trotzdem eines Benutzerprogramm möglich sein, durch falsche Berechnungen oder bestehende Sprünge innerhalb der E/A-Routinen Zugriff auf Information zu gewinnen, auf die normalerweise durch das Benutzerprogramm kein Zugriff möglich sein sollte.
Es ist daher die Aufgabe der vorliegenden Erfindung, ein E/A-Verarbeitungssystem anzugeben, das einen v/irksamen Schutz gegen unerlaubten Zugriff auf Information gestattet, die innerhalb der verschiedenen Module des Systems gespeichert ist. Die Lösung dieser Aufgabe gelingt gemäß der im Anspruch 1 gekennzeichneten Erfindung. Weitere vorteilhafte Ausgestaltungen der Erfindung sind den Unteransprüchen entnehmbar.
Gemäß der Erfindung werden in bestimmten Steuermodulen und Einheiter», die das E/A-Sy stem bilden^Einrichtungen vorgesehen, die prüfens ob der Zugriff des Programmes auf Information innerhalb «sines bestimmten Moduls gestattet ist oder nicht. In einem bevorzugten Ausführungsbeispiel ist jeder Modul an einen Anschluß aus eiser Vielzahl von Anschlüssen einer System-Sehnittstelleneinheii; angeschlossen. Ein jeder solcher Anschluß (port) der Module weist eine programmierbare Schnittstelle zusätzlich zu den Schnittstellen des Normaltyps aus. Die Module umfassen eine E/Ä-732arbeitungseinheitf die über die programmierbare Schnittstelle Anweisungen an andere Module ausgibt s wobei diese"Module
6 05884/0790
wenigstens einen Multiplexer aufweisen. Mehrere Register sind operativ mit der programmierbaren Schnittstelle verbunden und werden während der Ausführung von E/A-Operationen zur Speicherung von Information benutzt. Im bevorzugten Ausführungsbeispiel umfaßt jedes der mehreren Register eine Anzahl von Registern zur Speicherung von Steuerinformation, die zur Verarbeitung von Unterbrechungen benutzt wird, wobei die Unterbrechungsanforderung von den mit der Multiplexereinheit verbunden Geräten stammt. Andere Register speichern Adresseninformation, die zum Zugriff auf Speichermodule des Systems benutzt wird. Weitere Register speichern Steuerinformation, auf die durch die Systemroutinen, beispielsweise bei Wartungs- und Dxagnoseoperationen Zugriff genommen wird.
Ferner sind gemäß der vorliegenden Erfindung den verschiedenen Systemroutinen verschiedene Zugriffsrechte zugeordnet, die zum Laden und Abrufen der verschiedenen Register des Multiplexers durch die programmierbare Schnittstelle erforderlich sind. Durch die Zuordnung verschiedener Zugriffsrechte zu verschiedenen Systemroutinen ist die in dem Multiplexer enthaltene Einrichtung in der Lage, sicherzustellen, daß nur der geeignete Modul auf ein vorgegebenes Register Zugriff besitzt, wodurch die Sicherheit des Gesamtsystems erhöht wird. In jenen Fällen, wo eine Systemroutine oder.ein Benutzerprogramm einen ungeeigneten Zugriff zu einem Register versucht, sperrt die Einrichtung des Multiplexers den Zugriff bzw. eine Veränderung des Registerinhalts und versetzt seinerseits eine Steuereinrichtung in die Lage, eine den versuchten Zugriff signalisierende Unterbrechung zu erzeugen.
Alle Steuerroutinen, welche E/A-Operationen in Abhängigkeit von Benutzerprogrammen ausführen, werden mit der erforderlichen Information zum Laden bzw. Entladen verschiedener Register der Multiplexereinheit versehen. Solche E/A-Routinen sind zum Aufruf einer weiteren Steuerroutine erforderlich, die größere Zugriff srechte aufweist und mit der die Register geladen werden.
60988A/0790
Zu diesem Zeitpunkt dient die Steuerroutine als Teil des Aufrufes ihrer eigenen Identifizierung und der Identifizierung der Operation durch Festlegung einer Tabelle aus einer Anzahl peripherer Transaktionstabellen, welche Speicher-Hinweisadressen zur Bezugnahme auf einen Speichermodul speichern,,Hierdurch wird sichergestellt e daß die in irgendeines der Register über die prograirauierbare Schnittstelle geladene Information in geeigneter Weise fortschreitet. Darüberhinaus ist nur das Programm e welches für das Laden der Steuerinformation in ein Register in geeigneter Weise autorisiert ist in der Lageff dieses Register zu laden.
Anhand· eines in den Figuren der beiliegenden Zeichnungen dar= gestellten Ausführungsbeispieles x-zird die Erfindung im folgenden näher beschrieben. Es zeigen;
Figur 1 ein Blockdiagramm eines E/A-Systerne&s das voa den Prinzipien der vorliegenden Erfindung Gebrauch machte Figur 2 das E/Ä-Verarbeitungssystem gemäß Figur 1 in näheren Einzelheiten,
Figuren 3a bis 3c die System-Sehnittstelleneinheit gemäß Figur in näheren Einzelheiten B
Figuren 4a und 4b nähere Einzelheiten des Multiplexers gemäß Figur 1 In über eins tiraiaung mit der vorliegenden Erfindung 0 Figuren &c und 4d verschiedene Ausführungen eines Teiles der Steuerschaltkreise gemä:'- Figur 4a P
Figuren 5a bis Sd di© verschiedenen Schnittstellen geaäß Figur l Figur β Q±n erstes Format der WREX und RDEX=Prograasabefehlep Figuren 7a bis ?e äas Format versetiiedener Anweisungen,, weiche in 2ttsaaBy©ahar<g Mit d@a MultiplesssE1 300 gasiäB Figur 1 bsantst
Figur la sians
© i^ gssaMasRraaaf sit daa ^öltiplessos1 feiaSB Wigms 1
η % ® φ> ι
J ei 'e) G ;
2623266
Figuren 8a und 8b die Formate bestimmter Kanal-Steuerworte, Figuren 9a und 9b die verschiedenen Formate des Prozeß-Zustandsregisters gemäß der vorliegenden Erfindung, Figur 9c ein anderes Format der programmierbaren Schnittstellenanweisung gemäß der vorliegenden Erfindung und Figuren 10a und 10b Signaldiagramme zur Erläuterung der Operationen gemäß der vorliegenden Erfindung.
Allgemeine Beschreibung
Gemäß Figur I weist das System der vorliegenden Erfindung wenigstens einen E/A-Prozessor IOPP-200, eine Systemschnittstelleneinheit SIU-IOO, einen Hochgeschwindigkeitsmultiplexer HSMX-300, einen Niedriggeschwindigkeitsmultiplexer LSMX-400,
2L·* O ir% ^3T- tf*5 if^ bz3z®B
einen gentralprozessor 700 und wenigstens einen Speichermodui entsprechend einem internen Speichermoudul 500 auf. Verschiedene dieser Module sind jeweils an einen aus einer Reihe von Anschlüssen der System-Schnittstelleneinhext 100 über eine Vielzahl Ton Leitungen angeschlossen, die ihrerseits verschiedene krt'BL· von Schnittstellen 600-603 bilden. Insbesondere sind der Ξ'/Ä-Prozessor 200, der Zentralprozessor 700 und der Hochgescfrwindigkeitsmultiplexer 300 an die Anschlußstellen G, E und angeschlossen, während der Niedriggeschwindigkeitsmultiplexer 400 und der Speichermodul 500 an die Anschlußstellen J und LMO angeschlossen sind.
Das E/A-System gemäß Figur 1. kann als ein System betrachtet werden, das eine Anzahl von "aktiven Modulen", "passive Modulen" und "Speichermodule" aufweist. Der E/A-Prozessor 200, der Zentral·- prozessor 700 und der Hochgeschwindigkeitsmultiplexer 300 arbeiten als aktive Module,indem jeder die Fähigkeit besitzt, Anweisungen auszugeben. Die aktiven Module sind normalerweise an die Anschlußstellen A-H angeschlossen. Mehrere passive Module sind ein die Anschlußstellen J, K und L angeschlossen. Diese Module sind durch die Niedriggeschwindigkeitsmultiplexer und die Systera-Sehnittstelleneinheit 100 gegeben und sie sind in der Lage, Anweisungen zu-: interpretieren und aus zuführen, die auf den Lei·= Ititngea der Schnittstelle 601 zugeführt werden. Die letzte Gruppe dsr Module wird durch die internen Speicliermodule und die nicht X5.rgestellten externen Speicliermodule gebildet ,wie sie beispielsweise im Hauptsystem gegeben sind und die in der Lage si.no. f sv/ei verschiedene Arten vor Anweisungen auszuführen s die •«-.i-:f dsEi Leitungen der Schnittstelle 603 zugeführt werden,
".JiS E/Ä-Systeffi gemäß Figur 1 arbeitet normalerweise als ein 3/A=* V"<:-c-~,-?j&tem in Abhängigkeit τοη i.iarch dea Isntralprosessor 700 ;ii"sv:'3gsbeE!;en £/AH3efehls:^ dis an dia ÄRscIilußstelle 1 über äie o^hL^ufcstsllen SOO c SOi 'iziü 602 siageschiossan sind and eise Da= lSy ©iae psograszalörbars Schill-its te I Ie mvä sine
BAD 6 :: S 3 5 ^- / ü "; 9 U
Unterbrechungs-Schnittstelle repräsentieren. Die Anschlußstellen F and E weisen Schnittstellen auf, die einen Anschluß von Multiplexer- oder Prozessormodulen gemäß Figur 1 gestatten. Im Hinblick auf die vorliegende Erfindung kann der Zentralprozessor 700 in herkömmlicher Weise aufgebaut sein und in seiner Ausführung dem in der US-PS 3 413 613 beschriebenen Prozessor entsprechen. Im bevorzugten Ausführungsbeispiel löst der E/A-Prozessor 200 Kanalprogramme aus und beendigt diese, wobei die Kanalprogramme für die Ausführung von E/A-Befehlen erforderlich sindj und er verarbeitet Unterbrechungsanforderungen, die er von der System-Schnittstelleneinheit 100 erhält und schließlich steuert er periphere an den Niedriggeschwindigkeitsmultiplexer 400 angeschlossene Geräte. Der Prozessor 200 ist über die Datenschnittstelle 600 und die Unterbrechungs-Schnittstelle 602 mit der Anschlußstelle H verbunden. Der Niedriggeschwindigkeitsmultiplexer 400 kann ebenfalls eine herkömmliche Ausbildung aufweisen. Er ist über periphere Adapter mit peripheren Geräten niedriger Geschwindigkeit verbunden, wobei die Adapter an die Leitungen eines: Geräte-Adapter-Schnittstelle DAI angeschlossen sind. Schnittstelle und Adapter können in der Art ausgebildet sein, wie dies in der US-PS 3 742 457 beschrieben ist. Die peripheren Geräte mit niedriger Geschwindigkeit umfassen Kartenleser, Kartenstanser und Drucker. Wie aus Figur 1 ersichtlich, ist der Multiplexer 400 über die programmierbare Schnittstelle 601 mit der Anschlußstelle J verbunden.
Der Hochgeschwindigkeitsmultiplexer 300 steuert direkt die Datenübertragung zwischen der Gruppe von Platteneinheiten und Band= elnheiten 309-312, die an verschiedene Kanaladapter 203-306 angeschlossen sind. Jeder der Kanal-Steueradapter 303-306 ist seinerseits über die Leitungen einer Kanal-Adapter-Schnittstelle CiUE-301-1 an verschiedene Anschlußstellen 0-3 angeschlossen. &3r aiochgeschwindigkeitsmultiplessesr 300 ist mit der AnschlußcäelüLs Ä über eine Datenschnittstelie 600, eine programmierbare Schnittstelle ßO1 und eine Ünterbrechungs-Schaittstelle 602 angeschlossen«. »Jeder der Kanal-Steusradapter 303-306 kann so aus=· gsMMefc sein, wie aiss ia ösr swor srwaSmfceis OS=PS 3 742 457 beschrieben ist. Γ- Q g Q £! £ / Q 7 Q Π
Wie zuvor erwähnt, ist jeder der Module an verschiedene Anschlußstellen der System-Schnittstelleinheit 100 angeschlossen. Die Schnittstelleneinheit 100 steuert die Verbindung der verschiedenen Module untereinander über Datenübertragungswege, die die Übertragung von Daten und die Steuerung von Information zwischen Paaren von Modulen gestatten. Im Hinblick auf die vorliegende Erfindung kann die Systemschnittstelleneinheit 100 als ein Schaltnetzwerk betrachtet werden, das jedem aktiven Modul die übertragung von Daten zu und aus einem internen Speichermodul gestattet, falls der anfordernde Modul die höchste Priorität aufweist und durch den nächsten verfügbaren Speicherzyklus freigegeben ist. Zu diesem Zweck weist die Schnittstelleneinheit 100 Prioritäts-Logikschaltkreise auf, die die relative Priorität der Anforderung durch jeden der aktiven Module festeilen und den nächsten verfügbaren Speicherzyklus der höchsten empfangenen Prioritätsanforderung zuordnen. Die Schnittstelleneinheit 100 weist zusätzlich Unterbrechungsprioritäts-Schaltkreise auf, welche die relative Priorität der von den Modulen empfangenen ünterbrechungsanforderungen feststellen und die höchste Prioritätsanforderung auswählen und über ein Schaltnetzwerk zu dem Prozessor 200 weiterleiten.
Anschluß-Schnittstellen
Bevor die verschiedenen Module gemäß Figur 1 näher beschrieben werden, sollen anhand der Figuren 5a-5d die Schnittstellen 600-603 näher erläutert werden. Gemäß Figur 5a ist ersichtlich, daß die dort dargestellten Leitungen die Datenschnittstelle darstellen, die eine der Schnittstellen bildet, die für den Austausch von Information zwischen einem aktiven Modul und der System-Schnittstelleneinheit 100 erforderlich sind. Der Informationsaustausch wird durch -Steuerung des logischen Zustandes der verschiedenen Signalleitungen verwirklicht:, wobei diese Steuerung in Übereinstimmung mit zuvor errichteten Regeln erfolgt, die in einer als "Dialog" bezeichneten Signalfolge enthalten sind.
609884/0790
Gemäß Figur 5a umfaßt die Schnittstelle mehrere Leitungen mit folgender Bedeutung: Aktive Ausgangs-Anschluß-Anforderung AOPR/ Daten zur Schnittstelleneinheit DTS OO-DTS 35, P0-P3,* Steuerung von Daten zur Schnittstelleneinheit SDTS 0-6, P/identifizierte Mehrfachanschlüsse zur Schnittstelleneinheit MITS 0-3, P/ aktive Anforderung angenommen ÄRA,· gelesene Daten angenommen ARDA; Daten von der Schnittstelleneinheit DFS 00-35, P0-P3; Mehrfachanschluß-Identifizierer von der Schnittstelleneinheit, MIES 0-3, P; Doppelpräzision von der Schnittstelleneinheit DPFS und Status angenommen AST. Die Beschreibung der Schnittstellenleitungen erfolgt im nachstehenden Abschnitt in näheren Einzelheiten.
Daten-Schnittstellen-Leitungen
Bezeichnung
DTS 00-34, PO-P3
SDTS 0-6, P
Beschreibung
Diese Leitung dient der übertragung einer aktiven Ausgangs-Anschluß-Anforderung in einer Richtung, die sich-von jedem der aktiven Module zu der Schnittstelleneinheit SIU-100 erstreckt. Wenn diese Leitung gesetzt ist, so signalisiert sie der Schnittstelleneinheit SIU, daß der Modul einen übertragungsweg anfordert, über den eine Anweisung oder Daten zu übertragen sind.
Diese Leitungen stellen einen Datenübertragungsweg mit einer Breite von vier Bytes dar, die sich in einer Richtung zwischen jedem der aktiven Module und der Schnittstellenheit SIU erstrecken und die zur übertragung von Anweisungen oder Daten von jedem aktiven Modul zu der Schnittstelleneinheit SIU-100 benutzt werden.
Diese Leitungen erstrecken sich von jedem aktiven Modul nach der Schnittstelleneinheit SIU-100. Sie dienen der Steuerung von Daten zur
609884/0790
Schnittstelleneinheit und sie werden benutzt, um die Schnittstelleneinheit SIU-100 mit Steuerinformation zu versorgen, wenn die Leitung AOPR gesetzt ist. Die Steuerinformation besteht aus sieben Bits und einem Paritäts-Bit, welche in folgender Weise codiert sind:
a) Der Zustand des Bits 0 gibt die Art der Anweisung an, die über die DTS-Leitung zugeführt wird. Die Anweisung kann hierbei eine programmierbare Schnittstellenanweisung oder eine Speicheranweisung sein.
b) Die Bits 1*-4 geben durch ihre Codierung an, welcher der Module die Anweisung empfangen und interpretieren soll (Speicheranweisungen werden nur durch Speichermodule und programmierbare Schnittstellenanweisungen werden durch alle Module außer dem E/A-Prozessor 200 interpretiert) .
c) Der Zustand des Bits 5 zeigt an, ob ein oder zwei Worte der Anweisungsinformation zwischen dem anfordernden aktiven Modul und dem ausgewählten empfangenden Modul übertragen werden sollen (ein Wort bestimmt eine Übertragung mit einfacher Präzision und zwei Worte bestimmen eine übertragung mit doppelter Präzision).
d) Der Zustand des Bits 6 zeigt die Richtung der übertragung zwischen dem anfordernden Modul und dem ausgewählten empfangenden Modul an.
e) Das Bit P ist ein Paritäts-Bit, das von dem anfordernden aktiven Modul erzeugt wird und von einer in der Schnittstelleneinheit SIU-100 enthaltenen Anordnung geprüft wird.
MITS 0-3, P Diese Leitungen erstrecken sich von dem aktiven
Modul zu der Schnittstellenheit SIü-100. Sie zeigen durch ihre Codierung an, welcher Unterkanal oder Anschluß innerhalb eines aktiven 609884/0790
DFS 00-35, P0-P3
MIFS 0-3, P
Moduls das Setzen der Leitungen AOPR verursacht hat.
Diese Leitung erstreckt sich von der Schnittstelleneinheit SIU-100 zu jedem der aktiven Module. Diese Leitung wird gesetzt, um anzuzeigen, daß der ausgewählte empfangende Modul die Anforderung durch den aktiven Modul angenommen hat, wodurch dem Modul gestattet wird, die angeforderte- Information von den Daten-Sctnittstellenleitungen zu entfernen. Diese Leitung erstreckt sich von der Schnittstelleneinheit SIU zu jedem der aktiven Module und sie wird durch die Schnittstelleneinheit gesetzt, um den aktiven Modul anzuzeigen, daß er die zuvor angeforderten Daten eines ausgewählten Moduls anzunehmen hat.
Die Daten von der Schnittstelleneinheit werden auf einem anderen Satz von Datenübertragungsleitungen übertragen, welche eine Breite von vier Bytesaufweisen und sich in einer Richtung von der Schnittstelleneinheit zu jedem aktiven Modul erstrecken. Diese Gruppe von Leitungen wird von der Schnittstelleneinheit SIU-100 benutzt, um gelesene Daten zu einem ausgewählten aktiven Modul zu übertragen.
Diese vier Mehrfachanschluß-Bestimmungsleitungen plus eine ungerade Paritätsleitung erstrecken sich von der Schnittstelleneinheit SIU-100 zu jedem der aktiven Module. Diese Leitungen geben durch ihre Codierung an, welcher Anschluß oder Unterkanal des aktiven Moduls die Daten einer vorausgegangenen Leseoperation von der Schnittstelleneinheit SIU-100 aufzunehmen hat. Diese Doppelpräzisions-Leitung erstreckt sich von der Schnittstelleneinheit SIU zu jedem der aktiven Module. Durch den Zustand dieser Lei tung wird angezeigt, ob ein oder zwei Worte der gelesenen Daten von dem aktiven Modul zur Ver-
609884/0790
vollständigung einer übertragung aufzunehmen sind (Leseanweisung)
AST Diese Leitung erstreckt sich von der Schnitt
stelleneinheit SIU-100 zu jedem aktiven Modul und ihr Zustand, der wechselseitig exklusiv zu der Leitung AÜOA istf signalisiert dem aktiven Modul, daß er die auf den DFS-Leitungen zugeführte Statusinformation aufnehmen soll.
Die Leitungen der programmierbaren Schnittstelle 601 sind in Figur 5b dargestellt und sie dienen der übertragung von Anweisungen von einem aktiven Modul und einem ausgewählten Modul. Die übertragung wird durch die Steuerung der logischen Zustände der verschiedenen Signalleitungenbewerkstelligt, wobei dies in Übereinstimmung mit zuvor errichteten Regeln erfolgt, die eine als "Dialog? bezeichnete Signalfolge ausführen. Die programmierbare Schnittstelle umfaßt verschiedene Leitungen, denen folgende Bedeutung zugeordnet ist: Programmierbare Schnittstellenanweisungen angenommen APC; programmiere Schnittstellendaten von der Schnittstelleneinheit SIU PDFS 00-35;. P0rP3; programmierbare Schnittstelle bereit PIR; Anforderung der übertragung gelesener Daten RDTR; programmierbare Schnittstellendaten zu der Schnittstelleneinheit SIU PDTS 00-35; PO-P3 und gelesene Daten angenommen RDAA. Eine Beschreibung der Schnittstellenleitungen wird nachfolgend in näheren Einzelheiten gegeben.
Programmierbare Schnittstellenleitungen
Bezeichnung Beschreibung
APC Diese Leitung erstreckt sich von der Schnitt
stelleneinheit SIU-100 zu jedem empfangenden Modul und sie signalisiert im gesetzten Zustand dem Modul, daß Anweisungsinformation den PDFS-Leitungen der Schnittstelle durch die Schnittstelleneinheit SIU zugeführt worden ist und durch den Modul aufgenommen werden soll.
609884/0790
PDFS 00-35, P0-P3 Diese Leitungen weisen eine Breite von vier
Bytes auf und sie erstrecken sich in einer Richtung von der Schnittstelleneinheit SIU-100 zu jedem Modul. Sie führen einem ausgewählten empfangenden Modul programmierbare Schnittstelleninformation von der System-Schnitteinheit SIU-100 zu.
PIR Diese Leitungen erstrecken sich von jedem Modul
zu der Schnittstelleneinheit SIU-100 und sie zeigen im gesetzten Zustand an, daß der Modul bereit ist, eine über die Leitung PDFS zugeführte Anweisung aufzunehmen.
PDTS 00-35,P0-P3 Diese Leitungen weisen eine Breite von vier
Bytes auf und sie erstrecken sich in einer Richtung von jedem Modul zu der Schnittstelleneinheit SIU-100. Diese Leitungen werden zur Übertragung von programmierbarer Schnittstelleninformation zu der Schnittstelleneinheit SIU-100 benutzt.
RDTR Diese Leitung erstreckt sich von jedem Modul,
der an die programmierbare Schnittstelle angeschlossen ist, zu der Schnittstelleneinheit SIU-100. Im gesetzten Zustand zeigt diese Leitung an, daß die zuvor angeforderten gelesenen Daten für eine übertragung zu einem Modul verfügbar sind und durch den Modul den Leitungen PDTS zugeführt worden sind.
RDAA Diese Leitung erstreckt sich von der Schnitt
stelleneinheit SIU-100 nach jedem Modul und sie zeigt im gesetzten Zustand dem Modul an, daß die über die Leitungen PDTS zugeführten Daten aufgenommen worden sind und daß der Modul die Information von diesen Leitungen wegnehmen kann.
Gemäß Figur 5 c ist als weitere Schnittstelle die Unterbrechungs-Schnittstelle 602 dargestellt, die für die Unterbrechungsverarbeitung durch den E/A-Prozessor 200 vorgesehen ist. Diese Schnitt-
609884/079 0
- ι4 - 2623266
stelle gestattet die übertragung von Unterbrechungsinformation von einem aktiven Modul zu der Schnittstelleneinheit SIU-100 sowie die übertragung von Unterbrechungsinformation von der Schnittstelleneinheit SIU-100 zu dem E/A-Prozessor 200 zwecks Verarbeitung. Entsprechend den anderen Schnittstellen wird die übertragung der Unterbrechungsanforderung durch Steuerung der logischen Zustände der verschiedenen Signalleitungen verwirklicht, wobei dies in Übereinstimmung mit zuvor errichteten Regeln erfolgt, die durch eine als "Dialog" bezeichnete Signalfolge ausgeführt werden. Die Unterbrechungsschnittstelle weist verschiedene Leitungen mit folgender Bedeutung auf: Unterbrechungsanforderung IR; Unterbrechungsdaten IDA 00-11, PO-P1 und Unterbrechungs-Mehrfachanschluß-Identifizierer IMID 00-03 für an die Anschlüsse A bis D angeschlossene Module. Hinsichtlich der an die Anschlüsse G und H angeschlossenen Module weist die Unterbrechungsschnittstelle ferner Leitungen mit folgender Bedeutung auf: Pegel Null vorhanden LZP; höhere Pegelunterbrechung vorhanden HLIP; Unterbrechungsdaten-Anforderung IDR/ Freigabe RLS und aktiver Unterbrechungspegel AILO-2. Wie aus Figur 5c hervorgeht, weisen die Unterbrechungsschnittstellen-Anschlüsse G und H keine Unterbrechungs-Mehrfachanschluß-Identifiziererleitung auf. Eine Beschreibung der Unterbrechungs-Schnittstellenleitungen erfolgt nachstehend in näheren Einzelheiten.
Unterbrechungs-Schnittstellenleitungen
Bezeichnung Beschreibung
IR Diese Leitung erstreckt sich von jedem Modul
nach der Schnittstelleneinheit SIU-100 und sie zeigt im gesetzten Zustand der Schnittstelleneinheit SIU-100 an, daß sie eine Bedienung anfordert.
IDA 0-3/ PO Diese Unterbrechungs-Datenleitungen erstrecken
IDA 4-11,PI sich von einem aktiven Modul nach, der Schnittstelleneinheit SIU-100. Durch ihre Codierung enthalten diese Leitungen Steuerinformation, deren übertragung nach dem E/A-Prozessor angefordert wird, wenn eine Unterbrechungsanforde-609884/0790
IMID 00-03
rung von dem Prozessor angenommen worden ist. Diese Bits sind wie folgt.codiert: a)Der Zustand des Bits 0 signalisiert der Schnittstelleneinheit SIUtIOO, welcher der beiden Prozessoren die Unterbrechungsanforderung verarbeiten soll.
b)Die Bits 1-3 zeigen durch ihre Codierung die Priorität oder die Pegelnummer der Unterbrechungsanforderung der Schnittstelleneinheit SIU-100 an.
c)das Bit PO ist ein Paritäts-Bit für die Bits
0-3.
d)die Bits 4-8 erzeugen durch ihre Codierung einen Teil einer Adresse, deren Erzeugung durch den E/A-Prozessor 200 für eine Bezugnahme auf die korrekte Prozedur bei der Verarbeitung der Unterbrechung erforderlich ist (z.B. eine UnterbrechungsSteuerblocknummer ICBN)
e)das Bit P1 ist ein Paritäts-Bit für die Bits
4-11.
Diese Leitungen erstrecken sich von jedem aktiven Modul nach der Schnittstelleneinheit SIU-100 und sie bestimmen durch ihre Codierung, welcher spezifische Unterkanal des aktiven Moduls eine Unterbrechungsbearbeitung angefordert hat. Diese Leitung erstreckt sich von der Schnittstelleneinheit SIU-100 zu dem E/A-Prozessor und sie zeigt im gesetzten Zustand an, daß durch die Schnittstelleneinheit SIU-100 eine Anforderung mit höchster Priorität (Pegel Null) an den Prozessor 200 gerichtet ist.
Diese Leitung erstreckt sich von der Schnittstelleneinheit SIU-100 nach dem E/A-Prozessor 200 und sie zeigt im gesetzten Zustand an, daß eine Unterbrechungsanforderung mit einem höheren Pegel als der Pegel des gerade auf dem Prozessor 200 bearbeiteten Prozesses vorliegt.
609884/0790
IDR Diese Leitung erstreckt sich von dem E/A
Prozessor 200 nach der Schnittstelleneinheit SIU-100 und sie zeigt im "gesetzten Zustand an, daß von der Schnittstelleneinheit SIU-100 auf den Leitungen DFS Unterbrechungsdaten nach dem Prozessor zu senden sind.
RLS Diese Leitung erstreckt sich von dem E/A
Prozessor 200 nach der Schnittstelleneinheit SIU-100 und sie zeigt im gesetzten Zustand an, daß der Prozessor 200 die Ausführung der laufenden Prozedur beendet hat.
AIL 0-2 Die den aktiven Unterbrechungspegel führenden
Leitungen erstrecken sich von der Schnittstelleneinheit SIU-100 zu dem E/A-Prozessor 200. Diese Leitungen geben durch ihre Codierung die Unterbrechungspegelnummer der auf dem Prozessor 200 auszuführenden Prozedur an.
Eine letzte Gruppe von Schnittstellenleitungen, die von bestimmten Modulen gemäß Figur 1 benutzt wird, wird durch interne Speicherschnittstellen-Leitungen gemäß Figur 5d repräsentiert. Die interne Speicherschnittstelle 603 dient dem Informationsaustausch zwischen dem internen Speicher 500 und den Modulen des Systems. Der Informationsaustausch wird durch Steuerung der logischen Zustände der verschiedenen Signal-Schnittstellenleitungen in Übereinstimmung mit zuvor festgelegten Regeln bewerkstelligt, wobei diese Regeln eine als "Dialog" bezeichnete Signalfolge ausführen. Die interne Speicherschnittstelle weist eine Anzahl von Leitungen auf, denen folgende Bedeutung·. zugeordnet ist: Daten zum Speicher DTM 00-35, P0-P3; Datenidentifizierer zum Speicher RITM 0-7, PO-P1/ Bestimmungsleitungen zum Speicher SLTM 0-3, P/ Annahme PI-Anweisung APC/ Annahme ZAC-Anweisung AZC; Pl-Schnittstelle bereit PIR; ZAC-Schnittstelle bereit ZIR/ Übertragungsanforderung gelesener Daten RDTR/ Daten vom Speicher DFM 00-35, P0-P3/ Anforderungsidentifizierer vom Speicher RIFM 07-, PO-P1/ Doppelpräzision, vom Speicher DPFM/QUAD/ gelesene
60S884/0790
Daten angenommen RDAA und Systemtakt SYS-CLK.
Speicher- und programmierbare Schnittstellenanweisung werden über die gleichen Datenleitungen der Schnittstelle übertragen. Die Schnittstelle weist keine Leitungsgruppe zur Verarbeitung von Unterbrechungsanforderungen auf, so daß die an den internen Speicher über die Schnittstelleneinheit SIU-100 angeschlossenen Module nicht direkt eine Speicherunterbrechung veurSachen können. Eine Beschreibung der internen Speicherschnittstellenleitungen wird nachstehend in näheren Einzelheiten gegeben.
Interne Speicher-Schnittstellenleitungen
Bezeichnung DTM 00-35, P0-P3
RITM 0-3, PO RITM 4-7, P1
SLTM 0-3, P
Beschreibung
auf,
Diese Leitungen weisen eine Breite von 4 Bytes (36 Informations leitungen und vier ungerade Paritätsleitungen), die sich in einer Richtung von der Schnittstelleneinheit SIU-100 nach dem internen Speicher 500 erstrecken. Diese Leitungen werden zur Übertragung von Speicheroder programmierbaren Schnittstellenanweisungen zu dem internen Speicher 500 benutzt. Diese Leitungen bilden zwei Gruppen mit vier Leitungen, welche sich von der Schnittstelleneinheit SIU-100 nach dem internen Speicher 500 erstrecken und der Anforderungsxdentifizierung dienen. Diese Leitungen übertragen aufgrund ihrer Codierung Information zu dem internen Speicher, durch die der Modul bestimmt wird, der die Anweisung ausgelöst hat und sie werden benutzt, um die angeforderten Daten in den geeigneten Modul zurückzuholen.
Diese Leitungen erstrecken sich von der Schnittstelleneinheit SIU-100 nach dem internen Speicher 500 und sie umfassen zwei Anschlußnummer-Auswahlleitungen, eine Lese/Schreib-Leitung zum Speicher, eine Doppelpräzisionsleitung zum Speicher und eine ParItätsleitung. Die diesen Leitungen aufgeprägten Informationssignale sind 609884/0790
folgendermaßen codiert:
a) Die Bits 0-1 stellen Anschlußnummer-Auswahl-Bits dar, die durch ihre Codierung anzeigen, welcher Anschluß oder Unterkanal innerhalb des beigefügten Moduls die zu dem Modul gesendete Speicheranweisung empfangen oder interpretieren soll.
b) Bit 2 ist ein Lese/Schreib-Bit zum Speicher, das in der von dem aktiven Modul empfangenen Steuerinformation enthalten ist und von der Schnittstelleneinheit SIU nach dem internen Speicher. 500 weitergereicht wird, wenn von der Schnittstelleneinheit SIU-100 eine neue Anweisung zu dem Speicher abgesendet wird. Der Zustand dieses Bits zeigt die Richtung der Datenübertrag an.
c) Bit 3 ist ein Doppelpräzisions-Bit zum Speicher, das durch seine Codierung den Betrag der zu übertragenden Daten anzeigt. Es ist ebenfalls in der durch den aktiven Modul erzeugten Steuerinformation enthalten, wobei es durch die Schnittstelleneinheit SIU-100 nach dem internen Speichermodul 500 übertragen wird, wenn eine neue Anweisung nach dem Speichermodul abgesendet wird.
AZC Diese Leitung erstreckt sich von der Schnitt
stelleneinheit SIU-100 nach dem internen Speichermodul 500 und sie zeigt im gesetzten Zustand dem internen Speichermodul 500 an, daß eine von der Schnittstelleneinheit SIU-100 auf den anderen Leitungen angebotene ZAC-Anweisung und Steuerinformation anzunehmen ist. Das Setzen dieser Schnittstellenleitungen erfolgt wechselseitig . exklusiv mit dem Setzen der Schnittstellenleitung APC.
609884/0790
APC Diese Leitung dient der Annahme einer pro
grammierbaren Schnittstellenanweisung und sie erstreckt sich von der Schnittstelleneinheit SIU-100 nach dem internen Speichermodul 500. Im gesetzten Zustand zeigt diese Leitung an, daß die auf den Leitungen DTM vorliegende Anweisungsinformation von dem internen Speichermodul 500 anzunehmen ist.
Diese Leitung signalisiert die Bereitschaft der programmierbaren Schnittstelle und sie erstreckt sich von dem internen Speichermodul 500 zu der Schnittstelleneinheit SIU-100. Im gesetzten Zustand zeigt diese Leitung der Schnittstelleneinheit SIU-100 an, daß der interne Speichermodul 500 in der Lage ist, eine programmierbare Schnittstellenanweisung anzunehmen .
Diese Leitung erstreckt sich von dem internen Speichermodul 500 nach der Schnittstelleneinheit SIU-100 und sie zeigt im gesetzten Zustand an, daß die zuvor durch eine ZAC- oder PI-Anweisung angeforderten.gelesenen Daten zusammen mit der erforderlichen Steuerinformation verfügbar sind und zu dem die Daten anfordernden Modul gesendet werden können.
DFM 00-35, P0-P3 Diese Leitungen weisen eine Breite von 4 Bytes
auf und sie erstrecken sich in einer Richtung von dem internen Speichermodul 500 nach der Schnittstelleneinheit SIU-100. Diese Leitungen werden zur Rückholung angeforderter Lesedaten in einen aktiven Modul über die Schnittstelleneinheit SIU-100 benutzt.
Die beiden Gruppen von Leitungen erstrecken sich von dem internen Speichermodul 500 nach der Schnittstelleneinheit SIU-100. Diese Leitungen werden benutzt, um die gelesenen Daten aus dem Modul 500 zurück nach dem anfordernden Modul zu leiten.
609884/0790
RIFM 0-3, PO RIFM 4-7, P1
DPFM und QUAD
Die Doppelpräzisionsleitung vom Speicher und die QUAD-Leitung erstrecken sich von dem internen Speichermodul 500 nach der Schnittstelleneinheit SIU-100. Diese Leitungen zeigen durch ihre Codierung die Anzahl der Worte an, die über die Schnittstelleneinheit SIU-100 zu dem anfordernden Modul während des Zeitintervalles der Übertragungsanforderung der gelesenen Daten zu übertragen sind. Diese Leitungen sind folgendermaßen codiert:
QUAD, DPFM
0 0 ein Wort, Einfachpräzision
0 1 zwei Worte, Doppelpräzision
1 X vier Worte
Diese Leitung für die Statusidentifikation der gelesenen Daten erstreckt sich von dem internen Speichermodul 500 nach der Schnittstelleneintieit SIU-100. Der Zustand dieser Leitung signalisiert der Schnittstelleneinheit SIU-100, ob die auf den Leitungen DFM vorliegende Information sich auf gelesene Daten oder eine Statusinformation bezieht, wenn die Leitung RDTR gesetzt ist. Im gesetzten Zustand zeigt diese Leitung an, daß eine Statusinformation von ein oder zwei Worten (QUAD=O) zu übertragen ist. Wenn diese Leitung den Binärwert Null einnimmt, so vord hierdurch signalisiert, daß bis zu vier Worte zu übertragen sind, wobei die Anzahl der Worte durch die Codierung der Leitungen QUAD und DPFM vorgegeben wird.
Diese im Zusammenhang mit der programmierbaren Schnittstelle erwähnte Leitung erstreckt sich von der Schnittstelleneinheit SIU-100 nach dem internen Speichermodul 500. Im gesetzten Zustand signalisiert diese Leitung dem Speichermodul, daß die von ihm auf den Schnitt-
609884/0790
Stellenleitungen ausgegebenen Daten angenommen worden sind und daß er daher diese Daten auf den Leitungen wegnehmen kann.
SYS-CLK Die Systemtakt-Leitung erstreckt sich von der
Schnittstelleneinheit SIU-100 nach jedem Modul des Systems. Diese Leitung ist an eine Takt-.geberquelle innerhalb des E/A-Prozessors 200 angeschlossen und sie dient der Synchronisation der Operationen eines jeden Speichermoduls durch den gemeinsamen Systemtakt.
Während die Figuren 5a bis 5d diejenigen Leitungen zeigen, welche die verschiedenen Module des Systems gemäß Figur 1 mit der Schnittstelleneinheit SIU-100 verbinden, sei darauf verwiesen, daß noch andere Leitungen vorgesehen sind, zur Signalisätion anderer Zustände, wie beispielsweise von Fehlerzuständen und Betriebszuständen. Nachdem die verschiedenen von den Modulen gemäß Figur 1 benutzten Arten von Schnittstellen beschrieben worden sind, soll nunmehr eine nähere Beschreibung der einzelnen Module gegeben werden.
E/A-Prozesscr 200
Gemäß Figur 2 weist der Prozessor 200 einen mikroprogrammierten Steuerabschnitt 201 auf, der in Abhängigkeit von in einem Steuerspeicher 201-10 gespeicherten Mikrobefehlen Steuersignale für die Ausführung von Befehlen erzeugt. Ferner umfaßt der Prozessor 200 einen Befehls-Pufferabschnitt 202 zur Speicherung von aus dem internen Speichermodul 500 abgerufenen Befehlen, einen Speicherabschnitt 203 und einen Verarbeitungsabschnitt 204 zur Ausführung arithmetischer und logischer Operationen unter Steuerung von in dem Steuer speicher 201-10 gespeicherten Mikrogrogr aminen.
Steuerspeicherabschnitt 201
Der Steuerspeicher 201-10 besteht beispielsweise aus Abschnitten eines Festwertspeichers ROM. Der Steuerspeicher 201-10 ist über
. 609884/0790
Signale von irgendeiner von acht Ursprungsadressenadressierbar, die an einem Auswahlschalter 201-14 verfügbar sind. Der Inhalt der adressierten Speicherplätze wird in ein Ausgangsregister 201-15 ausgelesen und durch in einem Block 201-16 enthaltene Decodierschaltkreise decodiert. Zusätzlich werden Signale von einem der Felder des den Mikrobefehl enthaltenden Registers 201-15 als Eingangssignale für den Schalter 201-14 benutzt, um eine der acht Ursprungsadressen als Adresse für den Steuerspeicher 201-10 auszuwählen. Die in das Register 201-15 eingelesenen Mikrobefehle weisen Adresskonstanten auf zum Verzweigen des Steuerspeichers 201-10 auf geeignete Mikroprogrammroutinen.
Wie aus Figur 2 ersichtlich, sind folgende Steuerspeicher-Ursprungsadressen vorgesehen: Unterbrechungs/Ausnahmesignale, die von Signalen abgeleitet werden, die von der System-Schnittstelleneinheit 100 und von Schaltkreisen innerhalb des Prozessors 200 erzeugt werden; eine Nächst-Adressregisterposition, die an die über einen Addierschaltkreis 201-24 in ein Register 201-22 eingespeicherte Nächst-Adresseninformation angeschlossen ist? eine Rückkehradressregisterposition, der der Inhalt eines Rückkehrregisters 201-20 als Rückkehradresse zugeführt ist; eine Ausführungs-Adressregisterposition, der von einem Wegsucherspeicher 201-2 über ein Speicherausgangsregister 201-4 eine Adresse zugeführt wird; eine Folgeadressregisterposition, die die Adresse ebenfalls aus dem Register 201-4 erhält und eine Konstantenposition, der ein Konstantenwert aus dem Ausgangsregister 201-15 zugeführt wird.
Die geeignete nächste Adresse wird durch den Addierschaltkreis 201-24 erzeugt, dem als ein Operandeneingang Adressignale in Form einer durch den Schalter 201-14 ausgewählten Ursprungsadresse" und als ein anderer Operand Signale von Sprung. «^Steuer-Schaltkreisen eines Blockes 201-26 zugeführt werden. Die Sprung-Steuerschaltkreise werden durch in dem Steuerspeicherregister 201-15 gespeicherte Konstantensignale beeinflußt und sie erzeugen einen geeigneten Wert als einen Operandeneingang für den Addierschaltkreis 201-24. Die durch den Addierschaltkreis 201*24
609884/0790
erzeugte resultierende Adresse ergibt sich als Summe von durch den Schalter 201-14 ausgewählten Adressen und von Konstantensignalen, die durch die Sprung-Steuerschaltkreise des Blockes 201-26 erzeugt werden. Die verschiedenen Positionen des Schalters 201-14 werden in Abhängigkeit von aus dem Steuerspeicher 201-10 ausgelesenen Mikrobefehlen ausgewählt, um wiederum geeignete Adressenfür in dem Steuerspeicher 201-10 gespeicherte Mikroprogramme zu erzeugen, wobei diese Mikroprogramme für die Ausführung einer Operation erforderlich sind, die durch den Operationscode eines Programmbefehls bestimmt ist. Der Operationscode des Befehls wird dem Wegsucherspeicher 201-2 über den Datenweg 201-6 zugeführt. Die Rückkehr-Adressregisterposition des Schalters 201-14 wird während der Programmfolge als Folge einer Verzweigungsoperation ausgewählt, während die Konstenregisterposition ausgewählt wird, um eine Verzweigung nach einem vorbestimmten Speicherplatz im Steuerspeicher 201-10 zu erzeugen, die durch das Konstantenfeld des in dem Register 201-15 gespeicherten Mikrobefehls bestimmt ist.
Unterbrechungen werden nach der Vervollständigung der Ausführung eines Programmbefehles verarbeitet. Aus Figur 2 ist ersichtlich, daß Leitungen HLIP und LZP, die das Vorhandensein eines höheren Unterbrechungspegels bzw. einer Unterbrechung mit dem Pegel Null anzeigen, Signale an den Schalter 201-14 anlegen. Das über die Leitung HLIP angelegte Signal wird mit einem Unterbrechungs-Sperrsignal aus einem Prozeßsteuerregister 204-22 einer UND-Verknüpfung unterzogen und das Resultat wird zusammen mit dem auf der Leitung LZP anliegenden Signal einem ODER-Gatter zugeführt. Wenn das das Vorhandensein der Unterbrechung mit höherem Pegel anzeigende Signal nicht gesperrt ist oder ein Signal auf der Leitung LZP angelegt wird, so wählen Signale von nicht dargestellten an den Schalter 201-14 angeschlossenen Schaltkreisen die Stellung Ausnahme/Unterbrechung aus. Die Signalleitungen, welche das Vorhandensein einer Unterbrechung (LZP und HLP) anzeigen, wählen eine Unterbrechungsfolge von Mikrobefehlen anstelle der Mikrobefehlsfolge für die Ausführung des nächsten Programmbefehles aus.
60988 4/0790
Ausnahmen anzeigende Signalleitungen sind an nicht dargestellte Steuerschaltkreise angeschlossen, die dem Schalter 201-14 zugeordnet sind und verursachen die Auswahl der Ausnahme/Unterbrechungsposition. Dies führt zu einer Adresse zur Bezugnahme auf eine Ausnahmefolge von Mikrobefehlen. In Abhängigkeit von dem Ausführungstyp kann die Ausnahme sofort verarbeitet werden, da die weitere Ausführung des Programmbefehles verhindert werden muß oder nicht möglich ist (z.B. Fehler, illegale Befehle). Die Ausnahme wira Beendigung der Ausführung des Programmbefehles verarbeitet, wenn der Zustand keine sofortige Beachtung erfordert (z.B. Zeitablauf, Überlauf usw.) . Der Auftritt von Ausnahmen verursacht die Auswahl der Ausnahme/Unterbrechungsposition des Schalters 201-14 und das Setzen einer entsprechenden Bit-Position im Prozeßsteuerregister 204-22.
Mit PDA in Figur 2 bezeichnete Zeittaktsignale werden durch Taktschaltkreise innerhalb eines Blockes 201-30 erzeugt und sie dienen der Vorgabe geeigneter Speicherzyklen für den Steuerabschnitt 201 sowie als Zeittaktsignale für den Betrieb der anderen Abschnitte des Prozessors 200 und der anderen Module des Systems gemäß Figur 1. Im Falle der vorliegenden Erfindung können die Taktschaltkreise ebenso wie die anderen Schaltkreise gemäß Figur 2 als herkömmliche Schaltkreise ausgebildet sein, wie sie beispielsweise in der Veröffentlichung "The Integrated Circuits Catalog· for Design Engineers" von Texas Instruments, Inc.,1972 beschrieben sind. Insbesondere können die Taktschaltkreise einen quarzgesteuerten Oszillator und Zählerschaltkreise, aufweisen, während der Zähler 201-14 aus mehreren Daten-Selektor/Multiplexer-Schaltkreisen bestehen kann.
Aus Vorstehendem ergibt sich, daß bei den meisten durch Mikroprogramme gesteuerten Maschinen der Steuerspeicher 201-10 die erforderliche Steuerung eines jeden Prozessors pro Operationszyklus übernimmt. Zu diesem Zweck wird jedes Mikrobefehlswort, das aus dem Steuerspeicher 201-10 herausgelesen wird, während eines Operationszyklus in einer Anzahl getrennter Steuerfelder
609884/0790
unterteilt, die die erforderlichen Eingangssignale für die verschiedenen Auswahlschalter gemäß Figur 2 erzeugen. Diese Schalter werden zur Adressierung der verschiedenen Zwischenspeicher und für die Auswahl der Operanden benutzt. Die Steuerfelder erzeugen ferner Signale zum Festlegen verschiedener Testbedingungen für eine Verzweigung sowie Signale für die Steuerung der Operation einer Addier/Verschiebeeinheit im Abschnitt 204 und schließlich Signale für die Erzeugung von Steuerinformation, die für die Erzeugung von Anweisungen erforderlich ist.
Befehlspuffer-Abschnitt 202
Dieser Abschnitt weist mehrere Register 202-2 für die Speicherung von bis zu vier Worten von aus dem internen Speichermodul 500 abgerufenen Befehlen auf, die über ein Dateneingangsregister 204-18 zugeführt werden. Die Gruppe von Registern202-2 ist an einen Befehlsregisterschalter 202-4 mit zwei Stellungen angeschlossen, der seinerseits zwei Ausgangssignale erzeugt, ein Ausgangssignal CIR betreffend einen gerade ausgelesenen Befehl und ein weiteres Ausgangssignal NIR betreffend einen nächsten ausgelesenen Befehl. Die Auswahl von Befehlsworten auf einer Halb- oder Vollwortbasis wird in Abhängigkeit von dem Zustand der Bit-Positionen in dem laufenden Befehlszähler IC getroffen, der normalerweise in einem ersten Register der Arbeitsregister des Blockes 204-12 gespeichert ist.
Speicherabschnitt 203
Gemäß Figur 2 weist dieser Abschnitt einen Zwischenspeicher auf, der acht Gruppen von Registern aufweist, die acht verschiedenen Prozessen zugeordnet sind, die unterschiedliche Prioritätspegel besitzen. Der höchste Prioritätspegel entspricht dem Pegel 0 und der niedrigste Prioritätspegel entspricht dem Pegel 7. Jeder Gruppe bzw. jedem Pegel sind 16 Register zugeordnet.
609884/0790
Der Zwischenspeicher 203-10 wird über einen Daten-Auswahlschalter 203-14 mit acht Schaltstellungen adressiert, wodurch den Adresseingängen 203-12 selektiv eine 7-Bit-Adresse aus einer der acht
Ursprungsadressen zugeführt wird. Die drei höchstrangigsten Bit-Positionen der Adresseingänge 203-12 wählen eine der acht Registergruppen aus, während die verbleibenden vier Bits eines der 16 Register auswählen. Die von der Schnittstelleneinheit SIU-100 auf den Leitungen AIL erzeugten Signale führen die drei höchstrangigsten Bits den Adresseingängen 203-12 des Zwischenspeichers zu. Die verbleibenden Signale werden von dem SteuerSpeicherregister 201-15 oder Felder des über IRSW zugeführten Befehls
erzeugt.
Das Schreib-Adressregister 203-22 wird über den Schalter 202-4
geladen, um Signale entsprechend den Bits 9-12 oder den Bits 14-17 des laufenden Programmbefehls zu speichern, wobei dieser durch
eines der Felder des Mikrobefehls innerhalb des Registers 201-15 bestimmt wird. Das Schreib-Adressregister weist somit Adressenspeicherraum für das Laden oder das Rückführen eines Ergebnisses in eines der Allgemeinre^ister des Zwischenspeichers 203-10 auf. Die Schreiboperation wird durch ein Schreibtaktsignal ausgelöst, das entweder beim Schalten eines nicht dargestellten getakteten
Schreib-Flip-Flops auf "1" oder in Abhängigkeit eines in das Register 201-15 geladenen Feldes eines Mikrobefehls auftritt. Bei
einer Erzeugung durch das Schreib-Flip-Flop tritt das Schreibtaktsignal auf, wenn das Schreib-Flip-Flop beim Auftritt des nächsten PDA-Taktimpulses auf "0" zurückgestellt wird. Hierdurch wird eine auf einen Programmbefehl bezogene Schreiboperation während des
Beginns der Verarbeitung des nächsten Befehls gestattet.
Der Inhalt des Schreib-Adressregisters 203-22 wird über den Auswahlschalter 303-14 einem Decodiernetzwerk 203-28 zugeführt, welches jedesmal ein Signal auf einer Ausgangsleitung erzeugt, wenn das Register 203-22 eine Adresse von 0,1 oder 15 speichert. Dieses Signal verhindert die Erzeugung eines Schreibtaktimpulses durch
nicht dargestellte Gatterschaltkreise, wenn das Schreib-Flip-Flop auf "1" gesetzt ist. Dem Decodiernetzwerk 203-28 wird zusätzlich
609884/0790
von dem Prozeßzustandsregister 204-20 ein Modussignal zugeführt. Das Modussignal zeigt an, ob der Prozessor 200 in der Hauptbzw. Nebenbetriebsweise betrieben wird;und es wird mit dem Ausgangssignal einer UND-Verknüpfung unterzogen und zur Erzeugung eines Ausnahmesignales auf einer anderen Ausgangsleitung benutzt, die ihrerseits als ein Eingang zu dem Prozeßsteuerregister 204-22 und auf einen Eingang, der die Auswahl der Ausnahme/Unterbrechungsposition des Schalter 201-14 bewirkt, geführt ist. Hierdurch wird eine Veränderung des Inhalts des Prozeßzustandsregisters GRO des Zwischenspeichers 203-10 verhindert. Der Inhalt eines adressierten Register-Speicherplatzes wird über einen Datenauswahlschalter 203-18 mit zwei Stellungen in ein Zwischenspeicher-Pufferregister 203-16 übernommen. 0er Inhalt des Pufferregisters 203-16 wird sodann über einen weiteren Datenauswahlschalter 203-20 mit zwei Stellungen dem Verarbeitungsabschnitt 204 zugeführt. Die verschiedenen Schaltstellungen der Datenauswahlschalter 203-14, 203-18 und 203-20 werden durch verschiedene Felder ausgewählt, die in Mikrobefehlen enthalten sind, die in das Register 201-15 eingelesen werden. Der Zwischenspeicher 203-10 empfängt Datensignale über eine von zwei Ausgangsschienen, die wahlweise an eines von vier Arbeitsregistern des Blockes 204-12 angeschlossen sind.
Jede Gruppe von 16 Registern weist einen Prozeßzustandsregisterspeicherplatz (Allgemeinregister GRO) zur Speicherung von Information auf, die für die Steuerung des laufenden Prozesses von Bedeutung ist. Die ersten acht Bit-Positionen des Registers speichern Steuerungsinformation, die aufgrund ihrer Codierung den unterbrechenden Modul festlegt. Die nächste Position ist durch eine Vorrang-Bit-Position gegeben, die durch ihre Codierung die Betriebsweise der Operation festlegt. Das Register umfaßt ferner eine externe Register-Bit-Position, die angibt, ob der Registerinhalt verändert werden kann sowie eine Adressenmodus-Bit-Position, zwei Zustandscode-Bit-Positionen, eine Übertrags-Bit-Position und 22 Bit-Positionen für die Speicherung eines Zählstandes, der periodisch heruntergezählt wird, während der zugeordnete Prozeß aktiv ist. Wegen der für eine Modifikation oder
609884/0790
Bezugnahme erforderlichen Frequenz des Zugriffs auf den Inhalt des Prozeßzustandsregisters sind Signale entsprechend dem Inhalt dieses Registers in einem der Register des Verarbeitungsabschnittes 204 (z.B. Register 204-20) gespeichert. Der Speicherplatz des Allgemeinregisters zum Speichern des Inhalts des Prozeßzustandsregisters dient daher zum Speichern des laufenden Wertes des Prozeß-Zustandsregisters des Abschnittes 204 beim Auftritt einer Unterbrechung.
Jede Gruppe von Registern weist ferner einen Befehlszähler (Allgemeinregister GR1) zur Speicherung der Adresse des laufenden Befehls des zugeordneten Prozesses auf. Zusätzlich weist jede Gruppe von Registern ein Seitentabellen-Basisregister (Allgemeinregister GR15) und eine Anzahl von Allgemeinregistern (Allgemeinregister 2-14) zur temporären Speicherung von Operanden und Adressinformationen auf. Der Zwischenspeicher 203-10 umfaßt ferner ein Register für eine Steuerblockbasis CBB, welches eine absolute Adresse speichert, die auf die Basis eines Ausnahmesteuerblockes und auf ünterbrechungsSteuerblocktabellen im internen Speichermodul 500 verweist. Das erste Register GRO mit der höchsten Priorität innerhalb der Gruppe von Registern, dessen Inhalt niemals verändert wird, speichert die Steuerblockbasisinformation. Die ünterbrechungs-Steuerblocktabellen weisen 256 Gruppen von Speicherplätzen auf, welche Information für die Verarbeitung der Art der Unterbrechung speichern. Die Ausnahme-Steuerblocktabellen weisen 16 Gruppen von Speicherplätzen auf, die Information für die Verarbeitung des Ausnahmetyps speichern.
Ausnahmen sind vom Prozessor festgestellte Zustände, die den Prozessor 200 automatisch veranlassen, in eine der 16 Ausnahme-Verarbeitungsroutinen einzutreten. Die Ausnahmezustände werden durch eine 4-Bit-Ausnahmenummer festgelegt, die den Bits 10-13 des Programmbefehls entspricht, wenn der Prozessor in die Hauptbetriebsweise eintritt. In allen anderen Fällen weist die Ausnahmenummer den Wert 0 auf. Die Ausnahmennummer (ECB-Nummer) wird zur Bestimmung eines der Ausnahmesteuerblöcke ECB mit vier Worten benutzt, welcher auf eine Ausnahme-Verarbeitungsroutine verweist.
609384/0790
Die Byte-Adresse eines Ausnahmesteuerblockes ECB entspricht der Steuerblockbasis CBB-16 (ECB-Nummer -1). Jeder Ausnahmesteuerblock ECB weist Werte zum Laden der Register PSR, IC und PTBR auf sowie zusätzlich einen Wert für eine Sicherungsbereich-Hinweisadresse, die als Stapelbereich für die Speicherung von Information dient, die dem laufenden Prozeß zugeordnet ist, bevor der Prozessor 200 in die Ausnahmeroutine eintritt. Die Adresse eines Unterbrechungs-Steuerblockes ICB entspricht der Steuerblockbasis CBB + 16 (ICB-Nummer). Die ICB-Nummer wird aus dem Unterbrechungswort in der erläuterten Weise gewonnen. Der Unterbrechungssteuerblock stellt ebenfalls einen Block von vier Worten dar und er enthält Werte für die Register PSR,. IC, GR14 und PTBR.
Verarbeitungsabschnitt 204
In diesem Abschnitt werden alle arithmetischen und logischen Operationen durchgeführt, die von den Programmbefehlen des Prozesses gefordert werden. Der Abschnitt 204 umfaßt eine Addier/Verschiebeeinheit 204-1, die in der Lage ist, arithmetische, Verschiebe- und logische Operationen mit einem Paar Operanden von 36 Bit durchzuführen. Die von einem Addierteil oder einem Verschiebeteil der Einheit 204-1 erzeugten Resultate werden aufgrund von Mikrobefehlen ausgewählt und anschließend selektiv über einen Datenauswahlschalter 204-8 mit vier Stellungen über ein Paar Ausgangsleitungen entweder zu irgendeinem der Arbeitsregister des Blockes 204-12 oder zu einem Datenausgangsregister 204-14 übertragen. Das Daten-Ausgangsregister 204-14 ist an die Leitungen der Prozessor-Datenschnittstelle 600 angeschlossen. Der Block 204-12 umfaßt vier Arbeitsregister RO bis R3, die der temporären Speicherung des Inhalts des Befehlszählers und der Adressen während einer Befehlsausführung dienen. Die Register können aus irgendeiner Position des Schalters 204-8 geladen werden. Das zu ladende Register und das hierzu erforderliche Schreibsignal wird durch Felder innerhalb eines Mikrobefehls festgelegt, der dem Register 201-15 entnommen wird.
Gemäß Figur 2 sind die Register an ein Paar von Ausgangsschienen WRPund WRR angeschlossen. Die WRP-Schiene ist an Adresseingänge 2O4-5jan den Schalter 2O3-T8 und den Zwischenspeicher 203-10 an-
cnnoo/ fntnn
geschlossen. Die WRR-Schiene ist an den Α-Operandenschalter -.■■-, 203-20, den B-Operandenschalter 204-1, an das Register 204-20 und an das Register 204-22 angeschlossen. Die zum Anschluß an die WRR- und WRP-Schienen ausgewählten Register werden durch ein Feldpaar eines Mikrobefehls bestimmt, der aus dem Register 201-15 ausgelesen wird.
Gemäß Figur 2 weist der Verarbeitungsabscbnitt 204 ein Prozeßzustandsregister 204-20 und ein Prozeßsteuerregister 204-22 auf. Das Prozeßzustandsregister 204-20 wird in der erwähnten Weise über die Ausgangsschiene WRR vom Zwischenspeicher .203-10 geladen. Das Prozeßsteuerregister 204-22 ist ein 36-Bit-Register, das allen acht Unterbrechungspegeln gemeinsam ist. Die Bit-Positionen des Prozeßsteuerregisters 204-22 enthalten die folgende Information. Die Bit-Positionen 0-8 bestimmen folgende verschiedene Arten von Nicht-Hauptbetriebsweise-Ausnahmen:
PCR-Bit-Position Ausnahmetyp
0 Operation nicht vollständig; keine Antwort der Schnittstelleneinheit SIU-100 auf den Leitungen ARA oder ARDA. .
1 Seitenadress-Grenzfehler (Kennschlüsselprüfung)
2 Seiten-Zugriffsfehler
3 Seite im Speicher nicht vorhanden
4 Illegale Operation
■ 5 Prozeß-Zeitgeber-Ablauf
6 Überlauf
7 Verriegelungsfehler
8 Adressen-Fehlausrichtung
Der Ausdruck "Fehler" bezieht sich nicht notwendigerweise auf den Auftritt eines Hardware-Fehlers, sondern umfaßt auch Fehlerzustände usw. --■--■:
Die Bit-Positionen 9-15 bestimmen den Speicherplatz der Paritätsfehler und die Bit-Positionen 23-26 bestimmen die Prozessornummer und den Pegel, die über die Leitungen PNID und AIL erhalten werden. Die Bit-Position 27 stellt ein Unterbrechungs-
ennoo/: /nion
Sperr-Bit dar, während die Bit-Positionen 28-35 Unterbrechungs-Anforderungs-Bits speichern, die für den Fall, daß sie den Wert "1" aufweisen, eine Unterbrechung mit einem der Bit-Position entsprechenden Pegel anzeigen (z.B. Bit 28 = Pegel 0). Die Bit-Positionen 27-35 können durch einen Programmbefehl über die Ausgangsschiene WRR aus der Reihe von Registern des Blockes 204-12 geladen werden. Die Inhalte eines jeden Registers 204-20 und 204-22 werden selektiv über einen Datenauswahlschalter 204-24 mit zwei Positionen einer der Positionen des Datenauswahlschalters 204-8 zugeführt. Das Register 204-20 ist ferner mit der PI-Position eines zweistufigen Steuerungs-Auswahlschalters 204-10 und eines vierstufigen Adressen-Auswahlschalters 204-6 verbunden. Der Steuerungsschalter 204-10 erzeugt Steuerungsinformation für die Schnittstelleneinheit SIU-100, welche zur Übertragung der Anweisung zu dem richtigen Modul verwendet wird. Eines der Felder des aus dem Register 201-15 ausgelesenen Mikrobefehls wählt die geeignete Position entweder für eine Speicher oder eine programmierbare Schnittstellenanweisung aus. Die Steuerungsinformation für eine Speicheranweisung wird erzeugt durch Felder innerhalb des Mikrobefehls und durch seitenunterteilte Adresseninformation vom Zwischenspeicher 204-4 oder durch absolute Adresseninformation von der Schiene WRP. Im Falle einer programmierbaren Schnittstellenanweisung wird die Steuerungsinformation wie folgt erzeugt: Das Bit 0 wird bei einer programmierbaren Schnittstellenanweisung zwangsläufig auf den Wert "1" gesetzt; die Bits 1-4 entsprechen den Bits 0-3 des Registers 204-20 und die Bits 5-6 entsprechen den Bits eines der Felder des Mikrobefehles, die durch ihre Codierung angeben, ob eine Einfach- oder Doppelwortübertragung vorliegt und ob es sich bei der Operation um einen Lese- oder Schreibzyklus handelt. Beim Start eines Speicherzyklus oder bei der Auslösung einer Anweisung werden die Signale des Steuerungsschalters 204-10 in ein Steuerungsregister 204-16 geladen, das die Signale den geeigneten Leitungen der Datenschnittstelle 600 des Prozessors 200 zuteilt. Die zusätzliche Steuerungsinformation aufweisende Anweisung wird durch die Position 2 des Adressenschalters 204-6 im Falle einer programmier-
609884/0790
baren Schnittstellenanweisung erzeugt.
Wie der Figur 2 weiterhin entnehmbar ist, umfaßt der Verarbeitungsabschnitt 204 einen Zwischenspeicher 204-4, der über Adresseingänge 204-5 adressierbar ist. Der Zwischenspeicher 204-4 gestattet eine Seitentabellen-Adresspeicherung für jeden der acht Unterbrechungspegel, die bei der Erzeugung absoluter Adressen für die Adressierung des internen Speichermoduls 500 benutzt werden. Im Falle der Adressierung wird der Inhalt des Speicherplatzes des Zwischenspeichers 204-4 in zwei Positionen des Adressenschalters 204-6 mit vier Positionen ausgelesen. Diese zwei Positionen werden für eine Bezugnahme auf Seiten innerhalb des internen Speichermoduls 500 benutzt. Da die Seitenunterteilung des Zwischenspeichers 204-4 kein besonderes Merkmal der vorliegenden Erfindung bildet, wird auf eine nähere Diskussion dieser Speichertechnik verzichtet. Die anderen beiden Positionen des Adressen-Auswahlschalters 204-6 werden zur Vorgabe der Speicher- oder programmierbaren Schnittstellenanweisung benutzt. Insbesondere wird die Position 1 des Adressenschalters 204-6 bei Auswahl durch ein Adressen-Steuerfeld eines im Register 201-15 gespeicherten Mikrobefehlswortes zur Erzeugung der Lese/Schreib-Speicheranweisung benutzt, die Bits 0-8 mit einer Codierung entsprechend den vorbestimmten Feldern des Mikrobefehlswortes umfaßt und ferner Bits 9-35 aufweist, die aufgrund ihrer Codierung entweder der seitenunterteilten Adresseninformation des Speichers 204-4 oder den absoluten Adressen-Bits entsprechen, wie sie von den Arbeitsregistern des Blockes 204-12 auf der Ausgangsschiene WRP ausgegeben werden. Wird die PI-Position des Schalters 204-6 ausgewählt, so erzeugt der Schalter eine programmierbare Schnittstellenanweisung mit folgenden Bits: Bit 0 weist den Wert "0" auf/ Bit1 wird aus einem Feld eines Mikrobefehls zugeführt, der in dem Register 201-15 gespeichert ist/ Bit 2 wird dem Bit 9 des PSR-Registers 204-20 entnommen und bestimmt, ob der ablaufende Prozeß gewisse externe Register verändern kann/ Bits 5-8 entsprechen den Bits 4-7 des Registers 204-20 und sie bestimmen den Anschluß oder Unterkanal innerhalb des Moduls; Bit 3 bestimmt
609884/0790
durch seine Codierung die Prozessor-Paarnummer, die von der Schnittstelleneinheit SIU-100 angewählt wurde/ Bit 4 weist den Wert "0" auf und die Bits 9-35 entsprechen den Bits 9-35 der S'chiene WRP, die die absolute Adresse der programmierbaren Schnittstellenanweisung liefert.
System-Schnittstelleneinheit 100
Unterbrechungsabschnitt 101
Die System-Schnittstelleneinheit 100 dient dem Nachrichtenaustausch zwischen den Modulen des Systems gemäß Figur 1 über mehrere Doppelkanalschalter. Verschiedene Doppelkanalschalter werden zum Sammeln der Signale auf den Leitungen der verschiedenen Schnittstellen der Module verwendet. In Figur 3a sind die Schalter und Schaltkreise des Unterbrechungsabschnittes 101 zum Verarbeiten der Modul-Unterbrechungsschnittstellen dargestellt. Im System gemäß Figur 1 sind Module dargestellt, die an die Anschlüsse LMO, A,E, G und J angeschlossen sind und die jeweils Signale zu der Schnittstelleneinheit SIU-100 über verschiedene Leitungen der Unterbrechungs-Schnittstelle 602 zuleiten. Die Schnittstelle SIU-100 gibt zusätzlich Signale über eine Unterbrechungs-Schnittstelle 600 an den zugeordneten Anschluß L gemäß Figur 1 ab.
Gemäß Figur 3a gibt jeder Modul, wenn er eine Bearbeitung anfordert, ein Signal auf seiner Unterbrechungsanforderungsleitung IR zusammen mit einer geeigneten Unterbrechungs-Bestimmungsinformation auf den Leitungen IDA ab, wobei diese Leitungen den Schaltkreisen eines Unterbrechungsprioritäts- und Steuerblockes 101-2 zugeführt sind. Die Schaltkreise des Blockes 101-2 überwachen alle Unterbrechungs-Schnittstellen und sie wählen den geeigneten, dem Prozessor 200 zugeordneten Prozeß . aus, wenn die Anforderung eine Priorität aufweist, die höher ist als die Priorität des gerade ausgeführten Prozesses. Wenn der Prozessor 200 seine Bereitschaft zur Aufnahme der Anforderung signalisiert, schaltet die Schnittstelleneinheit SIU-100 die der höchsten Prioritätsanforderung zugeordnete Identifizierungsinformation auf den Prozessor 200. Die Identifizierungsinformation weist eine Unter-
609884/0790
brechungs-Steuerblocknummer von 8 Bit einschließlich eines Paritäts-Bits auf sowie eine Unterbrechungs-Pegelnummer von 3 Bit und eine Proζessornummer von einem Bit mit einem Paritäts-Bit und schließlich eine Kanalnummer von 4 Bit.
Die Schaltkreise des Blockes 101-2 weisen Decodierschaltkreise
dig»
auf, die Prοζessornummer und die Unterbrechungs-Anforderungssignale decodieren. Unter der Voraussetzung, daß kein Paritätsfehler vorliegt, werden die Ausgangssignale der Decodierschaltkreise den Prioritäts-Logikschaltkreisen des ausgewählten Prozessors zugeführt. Die Prioritäts-Logikschaltkreise decodieren die Unterbrechungs-Pegelsignale und bestimmen den höchsten Prioritätspegel und sodann die Priorität des Anschlusses, so daß der Modul mit dem höchsten Prioritätspegel und der höchsten Anschlußpriorität ausgewählt wird. Die Unterbrechungs-Anschlußpriorität innerhalb eines vorgegebenen Pegels stellt sich wie folgt dar:
Alt; Anschluß L; Anschluß A, Anschluß B, Anschluß C; Anschluß D; Anschluß E; Anschluß F, Anschluß G; Anschluß H; Anschluß I und Anschluß K.
Dies bedeutet hinsichtlich des Systemes gemäß Figur 1, daß der Anschluß des laufenden Prozesses die höchste Priorität gefolgt von der Schnittstelleneinheit SIU-100, dem Hochgeschwindigkeitsmultiplexer 300, dem Zentralprozessor 700, dem Prozessor 200 und dem Niedriggeschwindigkeitsmultiplexer 400 aufweist.
Die Prioritätsschaltkreise des Blockes 101-2 erzeugen ein Ausgangssignal auf einer Leitung von N-Ausgangsleitungen, wobei die Zahl N der Anzahl der unterbrechenden Module innerhalb des Systems entspricht. Die N-Ausgangsleitungen werden einem Daten-Auswahlschalter 101-4 mit acht Positionen zugeführt, der die Unterbrechungs-Pegelsignale eines Unterbrechungspegels mit einer höheren Priorität als des gerade bearbeiteten Pegels auswählt und in ein Register 101-6 überträgt. Die Ausgangssignale des Registers 101-6 werden auf den Leitungen AIL ausgegeben, wenn der Prozessor 200 die Leitung IDR den Wert "1" annehmen läßt, vorausgesetzt,daß die Schnittstelleneinheit SIU-100 zuvor
60988A/0790
die Leitungen HLIP und LZP zur Annahme des Wertes "1" veranlaßt hat. Wenn der laufende Prozeß für eine unterbrechung nicht gesperrt ist, so verursacht die Unterbrechungsanforderung die Aufgabe des laufenden Prozesses durch den Prozessor 200 und die Annahme eines Unterbrechungswortes von der Schnittstelleneinheit SIU-100, wobei dieses Wort die zuvor erwähnte Identifizierungsinformation enthält. Das Unterbrechungswort weist im einzelnen folgendes Format auf:
Bit 0 ist eine neue Unterbrechungs-Bit-Position. Wenn dieses Bit auf den Wert "1" gesetzt ist, so zeigt es an, daß es sich bei der Unterbrechung um eine neue Unterbrechung handelt und wenn es auf den Wert "0" gesetzt ist, so zeigt es an, daß die Unterbrechung einen zuvor unterbrochenen Prozeß betrifft, der wieder aufgenommen wird.
Bits 1-17 werden nicht benutzt und weisen den Wert "0" auf. Bits 18-27 bestimmen die Unterbrechungs-Steuerblocknummer, wobei die Bits 18 und 27 auf den Wert "0" gesetzt sind. Bits 28 - 31 werden durch die Schnittstelleneinheit SIU-100 erzeugt und bestimmen den Ursprungsmodul.
Bits 32-35 werden durch die Module mit Mehrfachanschlüssen erzeugt und bestimmen den Unterkanal oder Anschluß innerhalb des Ursprungsmoduls.
Die Ausgangsleitungen der Unterbrechungs-Prioritätsschaltkreise 101-2 werden einem weiteren Daten-Auswahlschalter 101-8 zugeführt. Da nur der die höchste Priorität aufweisende anfordernde Modul ein Signal an den Auswahlschalter 101-8 abgeben wird, ist dieser in vorbestimmter Weise so verdrahtet, daß er einen Satz codierter Steuerungssignale abgibt, die den physikalischen Anschluß festlegen, mit dem der anfordernde Modul verbunden wird. Hierzu dienen beispielsweise die Bits 28 - 31 des Unterbrechungswortes. Im vorliegenden Fall werden die folgenden Steuerungscodes für die Auswahl der Module gemäß Figur 1 erzeugt:
609884/0790
Code Identifizierter Schnittstelleneinheit-Anschluß
0000 Interner Speichermoudl - Anschluß LMO
0001 Anschluß K
0010 Schnittstelleneinheit SIU-100 - Anschluß L
0101 Niedriggeschwindigkeitsmultiplexer 400 - Anschluß I
0110 Prozessor 200 - Anschluß G
1101 Hochgeschwindigkeitsmultiplexer 300 - Anschluß A
1110 Zentralprozessor 700 - Anschluß E
Der von dem Auswahlschaltkreis 101-8 erzeugte Vier-Bit-Code wird seinerseits einerGruppe herkömmlicher. UND-Gatterschaltkreise zugeführt, die in dem Gatternetzwerk 101-12 enthalten sind. Die andere Identfiζierungsinformation, die von den verschiedenen Ursprungsmodulen des Systems erzeugt wird, wird anderen Gatterschalfekreisen des Netzwerkes 101-12 zugeführt. Insbesondere führt jeder Modul eine Unterbrechungs-Steuerblocknummer ICBN über die Leitungen IDA einer Position des Datenauswahlschalters 101-14 zu. Ferner erzeugt jeder Modul auf den Leitungen IMID der Unterbrechungsschnittstelle für andere Gatterschaltkreise des Netzwerkes 101-12 die Information, die zur Bestimmung des anfordernden Unterkanals oder Anschlusses des Quellenmoduls erforderlich ist. Wenn der Prozessor 200 die Leitung IDR zur Annahme des Wertes "1" veranlaßt, so gitbt die Schnittstelleneinheit SIU-100 über eine Stellung des Auswahlschalters 101-20 die Signale des Gatternetzwerkes 101-12 an die Leitungen DFS der Prozessor-Datenschnittstelle 600 ab. Die anderen Positionen des Schalters 101-20 sind nicht dargestellt, da sie für ein Verständnis der vorliegenden Erfindung ohne Bedeutung sind.
Datenübertragungsabschnit 102
In Figur 3b ist der Datenübertragungsabschnitt 102 der Systemschnittstelleneinheit 100 dargestellt. Dieser Abschnitt enthält prioritätsschaltkreise, welche festlegen, welcher Modul über seine programmierbare Schnittstelle 601 Anweisungen zu dem Hochgeschwindigkeitsmultiplexer 300 übertragen hat und welcher Quellenmodul über seine Datenschnittstelle 600 Daten zu dem
6 0 9 8 8 4/0790
Multiplexer 300 zu übertragen hat. Weiterhin weist der Abschnitt 102 Prioritätsschaltkreise auf, welche festlegen, welcher Quellenmodul entweder Daten oder Anweisungen nach dem internen Speichermodul 500 zu übertragen hat.
Es sei darauf verwiesen, daß Übertragungen zwischen einem Paar von Modulen erfolgen, wenn ein Modul eine Anforderung an den anderen Modul erzeugt hat und diese Anforderung durch den anderen Modul angenommen worden ist. Damit eine Anforderung angenommen wird, muß der anfordernde Modul die höchste Priorität aufweisen, beide Module müssen sich in einem Zustand der Empfangsbereitschaft für die Information befinden und der Datenübertragungsweg muß verfügbar sein und darf nicht belegt sein.
Die von dem Prozessor 200 an den Abschnitt 102 herangeführten Signale werden hinsichtlich ihrer Erzeugung in großem Umfang durch verschiedene Felder der aus dem Prozessorregister 201-15 gemäß Figur 2 herausgelesenen Mikrobefehle gesteuert. Beispielsweise wird die von dem Prozessor 200 zu den Schaltkreisen des Blockes 102-4 zugeführte Leitung AOPR durch ein Steuer-Bit-Feld eines · aus dem Register 201-15 ausgelesenen Mikrobefehls betreffend den Anforderungstyp der Schnittstelleneinheit SIU freigegeben, wobei das Bit-Feld durch seine Codierung die Übertragung einer Lese/Schreibspeicher- oder programmierbaren Schnittstellenanweisung festlegt. Die an den Datenauswahlschalter 102-2 angelegten Leitungen der Prozessor-Datenschnittstelle 600 vermitteln eine Anweisungsinformation, welche durch eine Mikroprogrammsteuerung erzeugt wird, die in das Prozessor-Datenausgangsregister 204-14 gemäß Figur 2 geladen ist. Die Leitungen SDTS führen Signale, die durch eine Mikroprogrammsteuerung erzeugt werden, welche in das Prozessor-Steuerungsregister 204-16 gemäß Figur 2 geladen ist.
Hinsichtlich des Systems gemäß Figur 1 übertragen nur E/AProzessoren Anweisungen nach dem Multiplexer 300 und der Prozessor 200 gibt Signale an das Netzwerk 102-4 ab. Das Netzwerk 102-4 weist daher Decodierschaltkreise auf, welche die Steuerungsinformation des Prozessors decodieren, falls der Prozessor
Rηqflß/, /n7Qn
Anweisungen nach dem Multiplexer 300 zu übertragen wünscht. Liegen mehrere E/A-Prozessoren vor und fordern mehrere Prozessoren während des gleichen Zyklus eine übertragung, so wählt ein Prioritätsschaltkreis innerhalb des Netzwerkes 102-4 den Modul aus, dem die höchste Priorität zugeordnet ist und gibt die Übertragung einer Anweisung durch diesen Modul nach dem Multiplexer 300 auf den Leitungen PDFS seiner programmierbaren Schnittstelle 601 frei. Insbesondere versorgt das Netzwerk 102-4 den Auswahlschalter 102-2 mit Signalen, die Signale des geeigneten Moduls auswählen. Dieser Fall tritt ein, wenn der Multiplexer 300 der Schnittstelleneinheit SIU-100 anzeigt, daß er bereit ist, eine Anweisung aufzunehmen, indem er den Wert der Leitung PIR auf "1" setzt. Zum gleichen Zeitpunkt setzt das Netzwerk 102-4 die Leitung APC auf den Wert "1", wodurch dem Multiplexer 300 angezeigt wird, daß er die auf den Leitungen PDFS angelegte Anweisung annehmen soll. Wenn der Prozessor einen Befehl ausführt, der ihn zur Abgabe einer programmierbaren Schnittstellenanweisung an den Multiplexer 300 veranlaßt, so legt der Prozessor 200 die Prozessornummeridentfikation im Bit 3 der Anweisung ab. Der Multiplexer 300 speichert die Prozessornummer, die in der Anweisung enthalten ist, bis er eine ünterbrechungsanforderung abzugeben wünscht, wobei dann die Prozessornummer einen Teil der Unterbrechungsdaten bildet. Wenn die programmierbare Schnittstellenanweisung dem Multiplexer 300 übermittelt wird, so wird die den Prozessor 200 als den Anforderer bestimmende Steuerungsinformation in einem Register 102-6 gespeichert, das dem Multiplexer 300 an dem Anschluß A zugeordnet ist. Bei einer Reaktion des Multiplexers 300 durch Erzeugung einer übertragungsanforderung gelesener Daten an die Schnittstelleneinheit SIU-100 wird der Inhalt des Registers 102-6 zur Festlegung des Prozessors 200 als dem tatsächlichen die Daten empfangenden Modul benutzt.
Eine ähnliche Einrichtung wird zur übertragung von Datensignalen zu dem Multiplexer 300 verwendet. Gemäß Figur 1 ist der Speichermodul 500 der einzige Modul, der Daten zu dem Multiplexer überträgt. Eine solche übertragung erfolgt beim Auftritt einer Speicherleseanweisung ZAC, die über das Netzwerk 102-20 von dem
609884/0790
Multiplexer 300 an den Speichermoudul geleitet wird. Bei der Weiterleitung der Anweisung durch den Multiplexer 300 erzeugt die Schnittstelleneinheit SIU-100 den geeigneten Anforderer-Identifizierungscode von 4 Bits (Steuerungscode), der zu der vom Multiplexer 300 übermittelten Mehrfachanschluß-Identifizierungsinformation gehört. Die Information ist in dem Speichermodul 500 gespeichert und wird zu der Schnittstelleneinheit SIU-100 zurückgeholt, wenn der Modul 500 eine Übertragungsanforderung fürgelesene Daten erzeugt und hiermit dem Multiplexer 300 signalisiert, daß er die Daten aufzunehmen hat. Wenn die Schnittstelleneinheit SIU-100 die Anforderung aufnimmt, so wird dies dem Multiplexer 300 angezeigt, indem die Leitung ARDA den Wert "1" einnimmt.
Die Leitung für die übertragungsanforderung gelesener Daten RDTR signalisiert im durch den Speichermodul 500 gesetzten Zustand dem Netzwerk 102-14, daß sie bereit ist, während eines Operationszyklus ausgelesene Information zu übertragen.Der interne Speichermodul 500 liefert ferner Signale an die Leitungen RIFM zur Festlegung des anfordernden Moduls, zu welchem die Information zu übertragen ist. Insbesondere decodieren Schaltkreise innerhalb des Decodiernetzwerkes 102-14 die an die Leitungen RIFM angelegten Identifizierungsignale und falls diese Signale anzeigen, daß der interne Speichermodul 500 bereit ist, Information zu dem Multiplexer 300 zu übertragen und daß der Multiplexer 300 bereit ist, die Information aufzunehmen, so legt das Decodiernetzwerk 102-14 die geeigneten Signale an den Auswahlschalter 102-12 und an Schaltkreise innerhalb eines Gatternetzwerkes 102-16 an. Zusätzlich legt das Decodiernetzwerk 102-14
und
ein Signal an die Leitung ARDA der Datenschnittstelle an signalisiert hiermit dem Multiplexer 300, daß er auf den Leitungen DFS seiner Schnittstelle 600 die Daten von der Schnittstelleneinheit SIU-100 anzunehmen hat. Die Schaltkreise des Blockes 102-16 legen die geeignete Mehrfachanschluß-Identifizierungsinformation an die Leitungen MI S an, wodurch der anfordernde Unterkanal bestimmt wird. Wenn die Datenübertragung stattgefunden hat, so bewirkt das Netzwerk 102-14, daß die Leitung RDAA
60998/4/0790
den Wert "1" einnimmt, wodurch dem anfordernden Modul signalisiert wird, daß die Daten von dem Speichermodul 500 aufgenommen worden sind.
Eine Anordnung ähnlich dem Netzwerk 102-14 wird von der Schnittstelleneinheit SIU-100 zur Übertragung von programmierbaren Schnittstellen- und Speicheranweisungen von einem der Module gemäß Figur 1 nach dem internen Speichermodul 500 verwendet. Der Modul 500 bewirkt, daß entweder die Leitung PIR oder die an das Decodiernetzwerk 102-20 angeschlossene Leitung ZIR den Wert "1" einnimmt, wenn er bereit ist, eine programmierbare Schnittstellen- oder Speicheranweisung anzunehmen. Zusätzlich führen der Prozessor 200, der Prozessor 700 und der Multiplexer 300 dem Netzwerk 102-20 Signale auf der Leitung AQPR und den Leitungen SDTS ihrer entsprechenden Datenschnittstellen zu. Das Netzwerk 102-20 ist durch Decodierung der von jedem der Module zugeführten Steuerungsinformation in der Lage, geeignete Signale für einen Auswahlschalter 102-24 mit drei Positionen zu erzeugen, der den Modul mit der höchsten Priorität in die Lage versetzt, Signale zu der Datenschnittstelle 603 des Speichermoduls 500 zu übertragen. Es ist ebenfalls erkennbar, daß das Netzwerk 102-20 Signale auf die Leitung APC oder die Leitung AZC sowie über einen Gatterschaltkreis 102-26 auf die Leitungen RITM der Datenschnittstelle 603 des internen Speichermoduls 500 gibt.
Die letzten beiden Netzwerke 102-30 und 102-40 werden zur Übertragung von Speicherdaten und von programmierbaren Schnittstellendaten zu dem Prozessor 200 benutzt, wobei dies in Abhängigkeit von Speicheranweisungen und programmierbaren Schnittstellenanweisungen erfolgt, die zuvor durch den Prozessor 200 erzeugt wurden. Wie aus Figur 3b ersichtlich, besitzt das Prioritäts-Decodiernetzwerk 102-30 die gleichen Eingangsleitungen wie das Netzwerk 102-14 und arbeitet in der gleichen Weise, um die angeforderten Speicherdaten zu dem Prozessor 200 über einen Datenauswahlschalter 102-32 und den vierstelligen Auswahlschalter 101-20 gemäß Figur 3a weiterzuleiten. Es sei darauf verwiesen, daß kein Konflikt zwischen den Modulen,die Daten an den
609884/0790
Auswahlschalter 101-20 zur Übertragung zu den Leitungen DFS abgeben, entstehen kann, da zu jedem Zeitpunkt der Prozessor 200 eine einzige Anweisung bearbeitet. Das führt dazu, daß die Operation des Prozessors zum Stillstand gelangt, während des Empfangs der angeforderten Daten, nachdem der Prozessor 200 eine Anweisung an einen der Module gemäß Figur 1 abgegeben hat. Die Schnittstelleneinheit SIU-100 wirkt bei der Aufnahme der Anforderung des Prozessors auf die LeitungARA ein, wodurch der Prozessor zur Verzögerung der Operationen veranlaßt wird.
Das separate Netzwerk 102-40 verarbeitet Anforderungen von Rückkehrdaten von jenen Modulen, die auf programmierbare Schnittstellenanweisungen ansprechen. Das Netzwerk 102-40 decodiert die von den Leitungen RDTR geführten Signale sowie die Signale des Registers 102-6 zusammen mit denjenigen Registersignalen von anderen nicht dargestellten Modulen. Wenn die Schnittstelleneinheit SIU-100 feststellt, daß ein Modul versucht, angeforderte Daten zu dem Prozessor 200 zurückzuschicken, so erzeugt das Netzwerk 102-40 Signale, welche einen dreistelligen Datenauswahlschalter 102-42 in die Lage versetzen, Signale auf den Leitungen PDTS der programmierbaren Schnittstelle des Moduls zu dem Prozessor 200 zurückzuschicken. Diese Signale werden ihrerseits auf die Leitungen DFS des Prozessors über den Auswahlschalter 101-20 gemäß Figur 3a gegeben, der durch das Modul-Anforderungssignal geschaltet wird. Während eines nächsten Operationszyklus veranlaßt das Netzwerk 102-40 die Leitung RDAA zur Annahme des Wertes "1", wodurch dem Modul angezeigt wird, daß die auf den Leitungen PDTS vorhandenen Daten angenommen worden sind und daß der Modul nunmehr diese Daten entfernen kann, z.B. durch Löschen seiner Ausgangsregister. Es ist somit ersichtlich, daß der Schalter 101-20 selektiv irgendeinen von drei Datentypen auf den Leitungen DFS der Datenschnittstelle 600 des Prozessors erzeugt.
609884/0790
Hochgeschwindigkeitsmultiplexer 300
Gemeinsamer Abschnitt
Die Figuren 4a und 4b zeigen in näheren Einzelheiten den gemeinsamen Steuerabschnitt 301 und einen Teil des Kanaladapterabschnittes 302. Gemäß Figur 4a ist ersichtlich, daß der gemeinsame Steuerabschnitt ein Paar Register 301-2 und 301-5 für die Speicherung der Worte einer programmierbaren Schnittstellenanweisung aufweist, welche Anweisung über die Leitungen PDFS von der programmierbaren Schnittstelle 601 des Multiplexers über einen zweistufigen Datenauswahlschalter 301-1 erhalten wird. Der Schalter 301-1 gestattet die alternative Speicherung der programmierbaren Schnittstellenanweisung in den Registern 301-2 und 301-5. Im bevorzugten Ausführungsbeipiel gemäß der Erfindung wird jedoch nur die Stellung PDFS des Schalters benutzt. Es ist ferner ersichtlich, daß einem Register 301-40 über Treiber-Schaltkreise 301-3 Speicherdaten zugeführt werden, die auf den Leitungen DFS der Schnittstelle 600 des Multiplexers anstehen. Die Anweisungen in den beiden Registern 301-2 und 3OV5 werden über einen zweistufigen Datenauswahlschalter 301-6 und Treiberschaltkreise 301-8 den vier Kanaladapter-Abschnitten zugeführt. Ebenso kann die Anweisung selektiv einer Position eines achtstufigen Datenauswahlschalters 301-20 über einen zweistufigen Datenauswahlschalter 301-42 zugeführt werden. Der gleiche Schalter 301-42 legt die Datensignale des Registers 301-40 an jeden der vier Kanaladapterabschnitte über die Treiberschaltkreise 301-43.
Ein Paar von Paritäts-Prüfschaltkreisen 301-45 und 301-49 überprüft den Inhalt der Register 301-2, 301-5 und 301-40 und legt Signale entsprechend dem Ergebnis der Prüfung an die Schaltkreise des Blockes 301-4 an, der ein Statussignal für den C-Schalter 301-50 erzeugt. Diese Schaltkreise kombinieren Signale des Registers 301-2 mit Signalen der Kanaladapterabschnitte und erzeugen hierdurch die erforderlichen Steuersignale über die Ausführung der von dem Prozessor 200 empfangenen Anweisungen.
/. /n*7on
Die Signale des Registers 201-5 können über Treiberschaltkreise der Blöcke 301-8, 301-15 und 301-16 zusätzlich in ein aus der Vielzahl der Register gemäß den Blöcken 301-10, 301-12 und 301-14 ausgewähltes Register geladen werden. Der Block 301-10 weist vier Register mit 8 Bit auf, wobei die Ausgangssignale eines jeden dieser Register selektiv als Eingang auf eine Unterbrechungsposition des Auswahlschalters 301-20 zusammen mit den entsprechenden Signalen eines vierstufigen Auswahlschalters 301-30 und eines achtstufigen Auswahlschalters 301-32 gegeben werden können. Die Inhalte des Unterbrechungs-Steuerblock-, Pegel- und Maskenregisters der Kanaladapterabschnitte können während der Ausführung der Test- und Überprüfungsoperationen aufgrund von programmierbaren Schnittstellenanweisungen gelesen werden.
Die Unterbrechungs-Steuerblockregister des Blockes 30VlO sind in Abhängigkeit von durch ein Unterbrechungspegel-Prioritätsnetzwerk 301-24 erzeugten Signalen selektiv an ein Unterbrechungs-Datenregister 301-22 (IDA-Register) mit 14 Bits anschließbar. Gruppen von Bit-Positionen eines jeden der Pegelregister mit 24 Bits des Blockes 301-12 werden entsprechenden Positionen eines achtstufigen Multiplexer-Auswahlschalters 301-25 bis 301-28 zugeführt. Es ist erkennbar, daß jedes der Pegelregister des Blockes 301-12 an verschiedene Positionen des vierstufigen Auswahlschalters 301-30 und des achtstufigen Auswahlschalters 301-32 angeschlossen ist. Es ist ferner erkennbar, daß jedes der 8 Bit-Maskenregister des Blockes 301-14 an verschiedene Positionen des Auswahlschalters 301-32 sowie an die Logikschaltkreise des Blockes 301-34 für die Unterbrechungsfreigabe und Prioritätsbestimmung angeschlossen ist.
Wie aus Figur 4a ersichtlich, werden den Schaltkreisen des Blockes 301-34 Gruppen von Unterbrechungs-Anforderungssignalen von den Kanaladaptern zusammen mit Gruppen von Unterbrechungssignalen, die durch die den Kanaladaptern zugeordneten Steueradapter erzeugt werden, zugeführt. Insbesondere kann jeder CA-Kanal vier verschiedene Typen von Unterbrechungsanforderungen
609884/0790
erzeugen. Die Unterbrechungsanforderungen umfassen hierbei folgende Typen: Eine Fehlerunterbrechung, die durch das Setzen eines Paritätsfehler-Indikator-Bits in einem nicht dargestellten gemeinsamen Statusregister verursacht wird; eine Datensteuerwort-ör±erbrechung; eine programmierbare Unterbrechung und eine Ausnahmeunterbrechung, die bei Feststellung einer illegalen Anweisung usw. erzeugt wird. Die Fehlerunterbrechung ist jedem Kanal gemeinsam, so daß sie einen Eingang zu dem Block 301-34 aufweist, der allen vier Kanälen gemeinsam ist.
Jeder Steueradapter kann ebenso vier verschiedene Typen von Unterbrechungsanforderungen erzeugen, die von dem Typ des Gerätes abhängen, das an den Adapter angeschlossen ist. Im Falle einer Platteneinheit umfassen die Unterbrechungsanforderungen folgende Typen: eine durch die Feststellung von Paritätsfehlern
Umdrehungsverursachte Fehlerunterbrechung einer aufgrund einer rotierenden position erfaßte Unterbrechung, eine Datenübertragungs-Beendigungsunterbrechung und eine Offline-Unterbrechung, die bei der Beendigung einer Offline-Operation, z.B. bei einer Suchoperation verursacht wird. Die vier Typen von Kanal-Unterbrechungsanforderungen und die vier Typen von Steueradapter-' Unterbrechungsanforderungen ergeben zusammen eine Gruppe von acht Typen pro Steueradapter-Kanal, die als die Ereignisauftritte EV0-EV7 bezeichnet werden. Jedem Typ einer Unterbrechungsanforderung ist eine 3-Bit-Typnummer zugeordnet, so daß die vier Typen der Kanal-
en
Unterbrechungsanforderung mit den Nummern 0-3 entsprechend EVO-
EV3 bezeichnet sind, während die vier Steueradapter-Unteren
brechungsanforderung mit den Nummern 4-7 entsprechend EV4-EV7 versehen sind. Die Ereignisauftritte mit den niedrigsten Codes besitzen die höchste Priorität, z.B. 000 = höchste Priorität = EVO = Fehlerunterbrechung und 111 = niedrigeste Priorität = EV7 = Offline-Unterbrechung. Die Priorität der verschiedenen Typen von Unterbrechungsanforderungen wird durch die Typnummer festgelegt. Jeder der Kanäle erzeugt sieben Unterbrechungs-Anforderungseingänge für den Block 301-34 zusammen mit dem gemeinsamen Fehlereingang der durch den Block 301-4 erzeugt wird.
6 0 9884/0790
Die Schaltkreise innerhalb des Blockes 301-34 kombinieren die Signale von jedem der Maskenregister des Blockes 301-14 mit den Unterbrechungs-Anforderungssignalen jedes Kanales und Adapters und sie wählen den Unterbrechungstyp aus, der die höchste Priorität für jeden Kanal besitzt. Der Typ-Code von 3 Bits für jeden Kanal wird einem entsprechenden Multiplexer-Auswahlschaltkreis 301-25 bis 301-28 zugeführt. Die durch den Block 301-34.erzeugten Gruppen von Typ-Codierungen werden als Eingänge entsprechenden Stellungen eines vierstufigen Pegel/Typ-Auswahlschalters 301-35 zugeführt.
Jeder der Multiplexer-Schaltkreise 301-25 bis 301-28 erzeugt bei seiner Freigabe durch die Schaltkreise des Blockes 301-34 einen geeigneten 3-Bit-Pegelcode als Eingangssignal für ein Unterbrechungs-Pegel-Prioritäts-Netzwerk 301-24. Das Netzwerk 301-24 erzeugt auf einem Leitungspaar Signale, die den Steuereingängen der ICB-Register des Blockes 301-10, dem Schalter 301-35 und einem vierstufigen IMID-Schalter 301-36 zugeführt werden. Die von dem Netzwerk 301-24 erzeugten Signale legen den Kanal oder den Anschluß mit der höchsten Priorität fest. In dem-Fall wo mehr als ein Kanal den gleichen Prioritätspegel aufweist, wählen die Schaltkreise des Netzwerkes 301-24 den Kanal aus, der der niedrigsten Kanalnummer zugeordnet ist (z.B. CAO=OOXX=höchste Priorität, CA3=1iXX=niedrigste Priorität). In jenen Fällen, wo die Steueradapter Unterkanäle oder Unteranschlüsse verwenden, liefert ein Leitungspaar von dem CAI Signale an die niedrigrangigsten beiden Bit-Positionen des Schalters 301-36. Die höchstrangigsten beiden Bit-Positionen des Schalters sind permanent an die entsprechende Kanaladapternummer angeschlossen (z.B. 0O=CAO usw.). Der.Ausgang des Schalters 301-36 ist zu dem IMID-Register 301-23 geführt.
Die Ausgangssignale des ausgewählten ICB-Registers des Blockes 301-10, die Pegelsignale von den ausgewählten Multiplexer-Schaltkreisen und die Typ-Signale des Blockes 301-34 werden in das IDA-Register 301-22 eingegeben. Diese Signale werden ebenfalls den Paritäts-Schaltkreisen eines Blockes 201-37 zugeführt,
609884/079 0
der ein Paar von ungeraden Paritäts-Bits für die in dem Register 301-22 gespeicherten Signale erzeugt. Ein weiteres Flip-Flop 301-21, das als Teil des Registers 301-22 angesehen v/erden kann, empfängt ein Signal von den Schaltkreisen des Blockes 301-34, um das Vorliegen einer Unterbrechungsanforderung anzuzeigen.
Wie aus Figur aus 4a entnehmbar, werden die in dem Bit-Register 301-40 gespeicherten Datensignale über die H-Registerposition des zweistufigen Datenauswahlschalters 301-42 einem zweistufigen Kanalschreibschalter 301-44 zugeführt. Wenn die erste Position des Schalters 301-44 ausgewählt wird, so wird hierdurch der Inhalt eines der vier Gruppen von Kanaladapter-Anschlußregister 301-46 ausgewählt. Diese Auswahl erfolgt in Abhängigkeit von Signalen, die durch die Prioritätsauswahl- und Steuerscha__ltkreise des Blockes 301-48 erzeugt werden. Den Schaltkreisen des Blockes 301-48 werden Eingangssignale aus den Registern 301-2 und 301-68 und von den dargestellten Kanaladaptern zugeführt und sie erzeugen Ausgangssignale auf den Ausgangsleitungen und in dem Ausgangsregister 301-65. ßie Register der Gruppe 301-46 umfassen ein 40-Bit-Register zum Speichern eines Listen-Hinweisadressenwortes LPW für den zugeordneten Anschluß, ein 40-Bit-Datenadressregister zum Speichern der Adresse von auszulesenden oder einspeichernden Daten und ein 40-Bit DT-Register zur Speicherung von Zähl- und Steuerinformation für eine laufende Datenübertragungsoperation. Die gleichen Register der vier Kanaladapterabschnitte sind an verschiedene Positionen eines vierstufigen Datenauswahlschalters 301-50 angeschlossen, denen Steuersignale von den Schaltkreisen des Blockes 301-48 zugeführt werden. Die Ausgangssignale des Schalters 301-50 werden einem Paar von Addiernetzwerken 301-52 und 301-54 und zusätzlich einem Paritäts-Prufschaltkreis 301-56 zugeführt. Das Addiernetzwerk 301-52 ergänzt den Inhalt des über den Schalter 301-50 ausgewählten Registers, während das Addiernetzwerk 301-54 Ausgangssignale für einen Paritäts-Generatorschaltkreis 301-58 erzeugt. Die Signale der Schaltkreise 301-52 und 301-58 werden in das ausgewählte Register über die ergänzte Netzwerkposition des Schalters 301-44 zugeführt.
609884/0790
Wie aus Figur 4a weiterhin ersichtlich, werden die Ausgangssignale des Schalters 301-50 selektiv einem 8-Bit-Steuerungsregister 301-60 über einen Steuerungsschalter 301-59 sowie einem DT-Schalter 301-20 zugeführt. Jedem der Daten-Auswahlschalter 301-59 und 301-61 werden Ausgangssignale von dem DT-Schalter 301-20 zugeführt, dem zusätzlich zu den erwähnten Quellen Datensignale von den DS~Leitungen jedes Kanal-Adapterabschnittes CA0-CA3 zugeführt v/erden. Die Ausgangssignale des DT-Schalters 301-20 und des ZAC-Schalters 301-61 werden einem Paritätsschaltkreis 301-62 und der Reihe von Registern des Blockes 301-64 zugeführt. Zusätzlich wird dem Schalter 301-61 die ZAC-Information zugeführt, die von den Kanaladapter-Bedienungsleitungen abgeleitet wird, wobei diese Leitungen an den Block 301-4 gelegt sind, wenn der Multiplexer 300 nach einem speziellen Verfahren betrieben wird, das nicht Gegenstand der vorliegenden Erfindung ist. Die vier Register des Blockes 301-64, die mit ZAC, PDTS, Daten 1 und Daten 2 bezeichnet sind, speichern Speicher-Anweisungssignale, programmierbare Schnittstellen-Datensignale und Kanaladapter-Datensignale. Die Ausgangssignale dieser Register werden auf die Leitung DTS der Multiplexer-Datenschnittstelle 600 oder die Leitungen PDTS der Multiplexer-Schnittstelle 601 gegeben. Wenn das ZAC-R'egister des Blockes 301-64 geladen wird, so wird hierdurch ein AOPR-Flip-Flop 301-65 auf "1" gesetzt, wodurch der Schnittstelleneinheit SIU-100 signalisiert wird, daß der Multiplexer 300 einem Datenweg anfordert, über den er eine Speicher-ZAC-Anweisung und Daten übertragen kann. Die über den Schalter 301-59 zugeführte geeignete Speicher-Steuerungsinformation wird im Register 301-60 gespeichert und ein Paritäts-Prüfschaltkreis 301-36 erzeugt eine ungerade Parität für die Steuerungsinformation.
Kanaladapter-Abschnitte
In Figur 4b sind die Register und der Daten-Auswahlschalter dargestellt, die in jedem der Kanaladapter-Abschnitte CA0-CA3 enthalten sind. Da alle Abschnitte identisch sind, ist nur der Abschnit CAO dargestellt. Es ist ersichtlich, daß der Abschnitt Ausgangssignale von dem Datenübertragungsschalter 301-6 und dem
" ' G09384/0790
2623266
H-Schalter 301-42 zugeführt erhalt. Die Signale des Datenübertragungsschalters 301-6 werden über Treiberschaltkreise des Blockes 302-2 einem zweistufigen Datenauswahlschalter 302-4 zugeführt. Die Ausgangssignale des Schalters 302-4 können selektiv entweder in ein Modusregister 302-5 oder in eines von mehreren Steuer-Flip-Flops 302-3 in Abhängigkeit von den Steuersignalen von 301-4 geladen werden. Die Ausgangssignale des Modusregisters 302-5 und der Steuer-Flip-Flops werden als Eingangssignale den logischen Schaltkreisen des Blockes 302-7 zugeführt, der die erforderlichen Steuersignale für die Ausführung einer Anweisung durch den Steueradapter erzeugt. Die Schaltkreise des Blockes 302-7 empfangen ferner Steuersignale von dem Block 301-4, von der Registergruppe 301-46, die dem Kanaladapter zugeordnet ist und von den Leitungen der Steueradapterschnittstelle. In der vorliegenden Ausführungsform weist die Steueradapter-Schnittstelle folgende Leitungen auf:
Bezeichnung
DTA
ADTA
ACTA
CHBSY
Steueradapter-Leitungen
Beschreibung
Dieser Datenweg umfaßt 40 Leitungen, die sich von dem Modul 300 nach dem Steueradapter erstrecken und sie werden benutzt, um Anweisungen und Adressen enthaltende Daten nach dem Adapter zu übertragen. Diese Leitung erstreckt sich von dem Modul 300 nach dem Adapter und sie zeigt im gesetzten Zustand an, daß auf den DTA-Leitungen Daten verfügbar sind, die von dem Adapter angenommen werden sollen. Diese Leitung erstreckt sich von dem Modul 300 nach dem Adapter und sie zeigt im gesetzten Zustand an, daß eine programmierbare Schnittstellenanweisung oder Daten auf den DTA-Leitungen verfügbar sind, die von dem Adapter angenommen werden sollen. Diese Leitung erstreckt sich von dem Modul 300 nach dem Adapter und sie zeigt bei einem indirekten Modus dem Adapter an, daß der Multiplexer 300 nunmehr in
6 0 9 8 8 A /0790
PIDFA
ADFA
AD-BÜSY
einer Daten-Selbstübertragungsweise arbeitet; der Kanal bleibt belegt, bis die Daten-Selbstübertragungsoperation beendigt ist. Bei einer direkten Betriebsweise wird diese Leitung gesetzt, wenn eine Speicher-ZAC-Anweisung von dem Adapter empfangen wird und sie bleibt gesetzt, bis entweder die angeforderten gelesenen Daten übertragen sind oder der Status von dem Speichermodul zurückgeholt worden ist. Diese Leitung erstreckt sich von dem Modul 300 nach dem Adapter und sie zeigt im gesetzten Zustand an, daß der Modul 300 bereit ist, weitere Daten oder Anweisungen von dem Adapter anzunehmen. Diese Leitung erstreckt sich von dem Modul 300 nach dem Adapter und sie wird während Daten-Selbstübertragungsoperationen im indirekten Modus benutzt, um anzuzeigen, daß das letzte Wort der Daten übertragen worden ist (schreiben) oder das letzte Wort der Daten gespeichert wurde (lesen).
Dieser Datenweg umfaßt 40 Leitungen, die sich von dem Steueradapter nach dem Modul 300 erstrecken und die benutzt werden, um Daten zu übertragen, die Status-Speicheradressen und Anweisungen für den Modul 300 umfassen.
Dieser Datenweg umfaßt zwei Leitungen von dem Adapter nach dem Modul 300, wobei diese Leitungen zusammen mit den Unterbrechungsleitungen benutzt werden, um anzuzeigen, welcher Unteranschluß des Steueradapters die Unterbrechung verursacht.
Diese Leitung erstreckt sich von dem Adapter nach dem Modul 300 und sie zeigt im gesetzten Zustand an, daß Daten oder eine Speicheranweisung auf den DFA-Leitungen ansteht und von dem Modul angenommen werden soll.
Diese Leitung erstreckt sich von dem Adapter nach dem Modul 300 und sie zeigt im gesetzten Zustand an, daß der Adapter eine programmierbare Schnittstellenanweisung angeommen hat und nicht in der Lage ist, irgendwelche weitere Anweisungen anzunehmen. 609884/0790
ADR Diese Leitung erstreckt sich von dem Adapter nach dem Modul 300 und sie zeigt im gesetzten Zustand dem Kanal an, daß der Adapter bereit ist, mehr Daten anzunehmen.
IFA DieserDatenweg umfaßt vier Leitungen, die sich von dem Steueradapter nach dem Modul 300 erstrecken und die den Typ der Unterbrechungsanforderung anzeigen. TFA Diese Leitung erstreckt sich von dem Adapter nach dem Modul 300 und sie zeigt im gesetzten Zustand an, daß eine Datenübertragungsoperation nach dem Modul 300 beendigt ist.
Es sei an dieser Stelle erwähnt, daß die Steueradapter-Schnittstelle weitere Leitungen aufweist, die beispielsweise für eine Auslösung, eine Freigabe usw. erforderlich sind.
Die Ausgangssignale des Schalters 302-4 werden einem weiteren zweistufigen Auswahlschalter 302-6 zugeführt, dem ferner Datensignale auf den DFA-Leitungen durch den zugeordneten Steueradapter zugeführt werden. Während einer Datenübertragungsoperation werden die Ausgangssignale der DFA-Position des Schalters 302-6 in verschiedene Register der 40-Bit-Datenregister 302-8 geladen, um über diese zu dem gemeinsamen Abschnitt 301 über einen vierstufigen Schalter 302-12 oder zu dem Steueradapter über einen zweistufigen Auswahlschalter 302-10 übertragen zu werden. Außerdem werden Ausgangssignale des WD~Schalters 302-4 über die WD-Position des Schalters 302-10 zu dem Steueradapter übertragen. Verschiedene Register der Register 302-8 werden zum Laden und Entladen durch Adressignale ausgewählt, wobei die Adressignale in Lese- und Schreibadressregistern des Blockes 302-14 gespeichert sind und die Inhalte dieser Register durch Signale modifiziert werden, die durch die Schaltkreise des Blockes 302-7 erzeugt werden. Diese Schreibadress- und Leseadress-Register liefern Signale, die die Anzahl der gespächerten Worte angeben, die ihrerseits benutzt werden, um den Status einer Übertragungsoperation zu bestimmen.
609 884/079 0
Während einer Datenübertragungsoperation prüfen die Paritäts-Schaltkreise des Blockes 302-14 die Parität der von dem Steueradapter über den Schalter 302-6 empfangenen Datensignale und erzeugen die geeignete Parität. Es ist ferner ersichtlich, daß dem Schalter 302-4 Signale von dem ersten Paar der Kanal-Schreibdatenregister (W-Register 0, W-Register 1) zugeführt werden, wobei diese Register zwei Informationsworte speichern, die eine übertragung von dem H-Schalter 301-42 zu irgendeinem der Register 302-8 oder eine direkte übertragung zu dem Steueradapter über den Auswahlschalter 302-10 festlegen.
Detaillierte Beschreibung der Abschnitte 301-4 und 301-34
In den Figuren 4c und 4d sind verschiedene Ausführungsbeispiele eines Teiles der Schaltkreise dargestellt, wie sie innerhalb der Blöcke 301-4 und 301-34 in Übereinstimmung mit den Prinzipien der vorliegenden Erfindung verwirklicht sind. Gemäß Figur 4c weisen die Schaltkreise des Blockes 301-4 Flip-Flops 301-402, 301-414, einen Binär/Dezimal-Decodierschaltkreis 301-416 und mehrere NAND-Gatter 301-417, 301-434 und 301-436 sowie UND-Gatter 301-401, 301-404 bis 301-412, 301-418 bis 301-422, 301-430 und 301-432 in der dargestellten Anordnung auf.
Das Flip-Flop 301-402 wird über das UND-Gatter 301-401 auf "1" geschaltet, wenn eine programmierbare Schnittstellenanweisung (PI-Anweisung) empfangen worden ist, was durch den Anstieg der APC-Leitung, die ein nicht dargestelltes Flip-Flop auf "1" schaltet und hierdurch das Signal PCRCVDlO auf "1" setzt,angezeigt wird und wenn die Anweisung gültig ist, d. h. wenn das Bit 0 des Anweisungswortes gemäß den Figuren 7a und 7b den Wert "1" aufweist, was durch den Wert "1" des Signales PIVLDlO signalisiert wird. Das UND-Gatter 301-404 setzt das Signal HSMXCMDlO auf "1" wenn das Bit 28 des PI-Anweisungswortes "O" ist, wodurch angezeigt wird, daß die Anweisung durch den Hochgeschwindigkeitsmultiplexer und nicht durch einen Kanal auszuführen ist. Die UND-Gatter 301-406 und 301-408 bringen ein
609884/0790
externes PI~Anweisungssignal EXPICOMlO auf "1", wenn das Anweisungswort eine Registeroperation festlegt. Dies ist beispielsweise der Fall, wenn die Bits 27 und 31 den Wert "0" aufweisen.
Das UND-Gatter 301-409 setzt ein Register-Ladesignal PCLDREGlO auf "1", wenn das Anweisungswort eine Register-Ladeanweisung darstellt, d. h. wenn die Bits 1 und 27 die Werte "1" und "0" entsprechend aufweisen und wenn das Anweisungswort nicht das Laden eines vorangegangenen Anweisungsinhalts betrifft, d.h. wenn das Signal PREVPCOl den Wert "1" aufweist. Das Signal PCLDREGlO wird an jedes Register weitergegeben, dessen Inhalt durch ein Benutzer- oder Nebenprogramm modifiziert werden kann. Im bevorzugten Ausführungsbeispiel speichern diese Register in noch näher zu erläuternder Weise in erster Linie Daten in Abhängigkeit von Benutzerbefehlen. Das Laden dieser Regiser erfolgt somit auf einer unbeschränkten Basis.
Das Signal PCLDREGlO wird zusätzlich an das UND-Gatter 301-411 angelegt, welches dieses mit dem externen PI-Anweisungssignal EXPICOMlO und einem durch das Bit 2 des PI-Anweisungswortes erzeugten restriktiven Bitsignal PCREG0210 verknüpft. Das UND-Gatter 301-411 setzt ein Register-Anweisungs-Ladesignal C0MLDREG10 auf "1", wenn das Bit 2 den Wert "1" aufweist. Wie aus Figur 4c ersichtlich, wird das Signal COMLDREGlO als Freigabesignal einem Eingang des Binär/Dezimal-Schaltkreises 301-416 zugeführt, dem ebenfalls ein 3 Bit-Code entsprechend den Bits 32 bis 34 des PI-Anweisungswortes zugeführt wird. Wie noch näher zu erläutern* sein wird, definieren die Bits 29 bis 35 eine dreistellige oktale Registernummer. Das Bit 29 bestimmt die erste oktale Ziffer, die Bits 30 bis 32 bestimmen die zweite oktale Ziffer und die Bits 33 bis 35 bestimmen die dritte oktale Ziffer. Zusätzliche Decodier-Gatterschaltkreise sind erforderlich, um die geeigneten Steuersignale an die verschiedenen Schalter zum Laden der ausgewählten Register zu legen.
60S884/0790
Wenn der Schaltkreis durch das Signal PCLDREGlO freigegeben ist, so nimmt einer seiner Ausgänge den Wert "1" ein. Die verschiedenen Ausgänge erzeugen Register-Ladesignale PILDDAlO, PILDDTlO und PILDLPWlO, die an verschiedene der beschränkt zugänglichen Register 301-46 über die UND-Gatter 301-418, 301-420 und 301-422 angelegt werden. In Abhängigkeit von verschiedenen Gruppen binärer oktal codierter Signale, die an den Schaltkreis 301-416 angelegt werden, werden unterschiedliche Ausgangssignale erzeugt.
Wenn das UND-Gatter 301-418 durch das Signal PILDDTSOO des NAND-Gatters 301-417 vorbereitet ist, so schaltet sein Ausgang auf "1", wenn die Signale PCREG341O, PCREG321O und PCREG331O einen Oktalwert von "4" aufweisen, wodurch die Adresse des DA-Registers festgelegt wird. Die UND-Gatter 301-420 und 301-422 schalten am Ausgang auf "1", wenn die Signale PCREG341O, PCREG321O und PCREG331O Oktalwerte von 5 und 6 aufweisen. Das NAND-Gatter 301-417 ist vorbereitet, wenn das Signal PC3010 den Wert "0" aufweist, wodurch festgelegt ist, daß die zweite Oktalziffer einen Wert kleiner als 4 besitzt. In gleicher Weise schalten die Ausgänge der UND-Gatter 301-430 und 301-432 auf "1", wenn die Signale PCREG341O, PCREG321O und PCREG331O einen Oktalwert von 0 auf v/eisen, wodurch der Schaltkreis 301-416 in die Lage versetzt wird, ein Signal PIWRTC0M10 mit dem Wert "1" abzugeben. Die Signale PCREG35OO und PCREG351O des PC-Anweisungsregisters 301-2 wählen zwischen Registern aus, die entsprechend den Bits 29 bis 35 der PI-Anweisung gemäß Figur 7a oktale Adressennummern von 000 und 001 aufweisen.
Das Paar von NAND-Gattern 301-434 und 301-436 erzeugt verschieden codierte Kombinationen von Signalen LDDTSOO und LDDTSlO die an invertierende Eingangsschaltkreise der Registerbank 301-64 angelegt werden. Dies erlaubt die Auswahl eines von vier durch die Registernummerη 042, 046, 052 und 056 gekennzeichnete Register. Die Signale PCREG3010, PCREG321O und PCREG331O entsprechend der zweiten und dritten Oktalziffer erzeugen die geeignete Registerausnwahl. Zu diesem Zeitpunkt sperrt das Signal PCREG3010 über
6 0 9884/0790
das NAND-Gatter 301-417 das Signal PILDDTSOO gegen eine Annahme des Wertes "1". Das UND-Gatter 301-412 setzt ein Ausnahmesignal SETEXCPT10 in Abhängigkeit von den Signalen PCLDREGlO und EXPICOMlO auf 11I", wenn das Komplement des restriktiven Bitsignales PCREG0210 den Wert "1" aufweist. Das Flip-Flop 301-414 schaltet in Abhängigkeit von dem Signal SETEXCPTIO das Signal EXCPTlO auf den Wert "1". Das Ausnahmesignal wird dem Block 301-34 zur Verarbeitung zugeführt. Das Flip-Flop 301-414 schaltet durch Signale RSTEXCPTCO in Abhängigkeit von einer PI-Anweisung auf den Wert "0".
Wie aus Figur 4c ersichtlich, weist der Abschnitt 301-34 mehrere NAND- und UND-Gatter 301-340 bis 301-348 auf. Das Gatter 3O1-34O gibt ein Unterbrechungssignal TYPE310 vom Typ 3 ab, wenn das Maskensignal MSK300 des ausgewählten Maskenregisters den Wert "1" aufweist. Zum gleichen Zeitpunkt schaltet das Gatter 301-340 das Signal TYPE300 auf "0", wodurch andere Prioritäts-Codier-. gatter gesperrt v/erden, die in gleicher Weise wie die Gatter 301-344 bis 301-348 angeordnet sind. Das Gatter 301-342 verknüpft das Signal TYPE310 mit anderen FehlerSignalen r wodurch das Signal TYPEOIlOO vom Typ 3 auf "0" gesetzt wird, falls Unterbrechungen mit höherer Priorität nicht vorhanden sind. Das Signal TYPEOIlOO versetzt die NAND-Gatter 301-344 bis 301-348 in die Lage, einen Code von "011" zu erzeugen. Die Ausgangssignale TYPEOlO,.TYPElIO und TYPE210 werden an die CAO-Pegelschaltkreise 301-28 angelegt.
Figur 4d zeigt eine andere Ausführungsform der Schaltkreise des Blockes 301-4. Zur Bezeichnung der Gatter wurden die gleichen Bezugsziffern verwendet, sofern diese gleiche Funktionen wie in Figur 4c ausführen. Eine Unterscheidung wurde lediglich durch einen nachgestellten Buchstaben getroffen. Es sei darauf verwiesen, daß die Bits 25 und 26 des PI-Anweisungswortes zur Festlegung einer besonderen Klasse von beschränkten Registern benutzt werden, wie noch zu erläutern sein wird. Wenn die Bits 25 und 26 beide den Wert "o" aufweisen, so setzt das UND-Gatter 3Ol-4O9b in Abhängigkeit von dem UND-Gatter 3Ol-4O9a das Signal
609884/0790
PCLDREGlO auf "1" und das Register-Ladesignal LDREGGOlO auf "1". Dieses Signal wird nicht-restriktiven Registern zugeführt, die in der Gruppe IV zusammengefaßt sind.
Wenn die Bits 25 und 26 die Codierungen "01" aufweisen, so gibt das UND-Gatter 301-411a ein zweites Register-Ladesignal LDREGGIlO mit dem Wert "1" aus. Wenn das Bit 2 des PC-Registers den Wert "1" aufweist, so gibt das UND-Gatter 301-411e das Signal C0MLDREG110 mit dem Wert "1" aus, wodurch der Binär/Dezimal-Schaltkreis 301-416a in-die Lage versetzt wird, individuelle Ladesteuersignale für die Register der Gruppe I zu erzeugen. Das NAND-Gatter 301-417a erzeugt ebenfalls das Signal PILDDTSOO, welches mit den Ladesignalen verknüpft wird, wie dies aus Figur 4c hervorgeht. In gleicher Weise erzeugen die UND-Gatter 301-411b bis 301-432a die Ladesteuersignale für die Register der Gruppe II, wenn die Bits 25 und 26 die Codierung "10" aufweisen. Schließlich erzeugen die UND-Gatter 301-4lic und 301-412g zusammen mit den NAND-Gattern 301-434d und 3Ol-436d Ladesteuersignale für die Register der Gruppe III, wenn die Bits 25 und 26 die Codierung "11" aufweisen.
Bezüglich der Ausnahmesignale werden von den UND-Gattern 301-412b, 301-412c und 301-412d Ausnahmesignale an ein gemeinsames ODER-Gatter 3Ol-412a gelegt, wenn die entsprechenden Bits der Bitpositionen 2 bis 4 des PC-Registers auf "0" gesetzt sind. Hierdurch wird am Ausgang des Gatters 301-412a das Gruppen-Ausnahmesignal SETEXCPT10 erzeugt, wodurch das Ausnahme-Flip-Flop 301-414a gesetzt wird, dessen Ausgangssignal mit dem Wert "1" dem Block 301-34 zugeführt wird. Das Flip-Flop 301-414a wird über eine PI-Anweisung zurückgestellt, die das Signal RSTEXCPTOO auf "1" setzt. Dem Statusregister 301-45 werden zusetzlich die individuellen Ausnahmesignale zugeführt, um die die Art der Registerübertretung kennzeichnenden Signale zu speichern. In dem Ausführungsbeispiel gemäß Figur 4c ist dies nicht erforderlich, da die Art der Unterbrechung zu einer
603884/0790
Information führt, die die Unterbrechung als eine Registerübertretung kennzeichnet.
Bevor die Wirkungsweise des Systems gemäß der vorliegenden Erfindung erläutert wird, sei noch auf die Figuren 7a und 9a bis 9c Bezug genommen. Diese Figuren zeigen die Formate von PI-Anweisungen und von Prozeß-Zustandsregistern für die Ausführungsformen gemäß den Figuren 4c und 4d. Figur 7a zeigt das bei dem Ausführungsbeispiel gemäß Figur 4c verwendete Format der PI-Anweisung. Die PI-Anweisung wird durch den Prozessor 200 in Abhängigkeit von einem WREX-Befehl erzeugt, der das Format gemäß Figur 6 aufweist.
Aus Figur 7a ist ersichtlich, daß das Bit 0 auf "1" gesetzt ist, um ein PI-Anweisungswort zu definieren. Das Bit 1 wird durch den Inhalt des PSR-Registers des Prozessors 200 vorgegeben und es wird auf "1" oder "0" gesetzt, um dementsprechend eine externe Registerschreiboperation (laden) bzw. eine externe Registerleseoperation (lesen) zu definieren. Das Bit 2, welches dem Bit 9 des PSR-Registers gemäß Figur 9a entspricht, legt fest, ob das laufende Programm den Inhalt bestimmter externer Register in Übereinstimmung mit der vorliegenden Erfindung verändern kann. Das Bit 3 wird gleichgesetzt mit der Prozessor-Paarnummer, wie sie von der Schnittstelleneinheit SIU-IOO geliefert wird, während das Bit 4 normalerweise den Wert "0" aufweist. Die Bits 5 bis werden auf den Wert der Bits 4 bis 7 des PSR-Registers gesetzt und sie bestimmen den zu adressierenden Anschluß des Multiplexers. Das Bit 27 wird im Falle einer Register-Ladeoperation auf 11O" gesetzt, während das Bit 28 auf "0" gesetzt wird, um festzustellen, wann eine Anweisung, eine Multiplexer-Anweisung ist. Wie zuvor erwähnt, legen die Bits 29 bis 35 eine dreistellige Oktaladresse eines Registers fest, das geladen oder ausgelesen wird. Die Oktaladressen für diese Register sind in den Figuren 7d und 7e angegeben. Figur 9a zeigt das Format des PSR-Registers. Wie zuvor erläutert, liefern die Bits 0 bis 7 eine bestimmte Steuerinformation, die die Bits 5 bis 8 der PI-Anweisung umfaßt.
609884/0790
Die Steuerungsinformation wird in das Steuerungsregister 204-16 des Prozessors 200 geladen, wodurch die geeignete übertragung der PI-Anweisung freigegeben wird. Das Bit 9 stellt das externe Register-Lade-Erlaubnisbit dar, das durch das Bit 2 der PI-Anweisung geliefert wird. Die verbleibenden Bits dienen den zuvor erwähnten Funktionen. Da sie im Zusammenhang mit der vorliegenden Erfindung keine Rolle spielen, sollen sie nicht weiter erläutert werden.
In Figur 9c ist das Format der PI-Anweisung bezüglich der Ausführung gemäß Figur 4d dargestellt. Es ist ersichtlich, daß die Bits 2 bis 4 den Bits 10 bis 12 des PSR-Registers gemäß Figur 9b entsprechen und daß sie jene Arten von Register definieren, die ein laufendes Programm in über eins tinimung mit der vorliegenden Erfindung verändern können. Insbesondere sind die Register des Multiplexers 300 in vier Gruppen unterteilt. Die erste Gruppe von Registern (Gruppe I) entspricht den in den Figuren 7b und 7e aufgelisteten Multiplexerregistern, die während der Ausführung einer E/A-Datenübertragungsoperation benötigten absoluten Speicheradressen enthalten. Wie erläutert, kann das Laden dieser Register nur durch ein in hohem Maße privilegiertes Programm, wie beispielsweise ein E/A-Überwachungsprogramm erfolgen. Es kann daher nur dieser Programmtyp das Bit 2 (Rl) auf "1" setzen. Dies gewährleistet die Aufrechterhaltung der Systemsicherheit, was nachfolgend anhand der Figuren 10a und 10b näher erläutert wird.
Die Bits 25 und 26 werden zur Bestimmung einer jeden Gruppe herangezogen. Im Falle der Codierung "01" definieren sie die Gruppe I der Register. Im Falle der Codierung "10" bestimmen die Bits 25 und 26 die Gruppe II der Register. Diese Register enthalten Unterbrechungsinformation, z.B. Unterbrechungs-Vektoradressen, Prioritätspegel usw. wobei diese Information während einer durch die Hardware erzeugten Unterbrechung des Prozessors 200 benutzt wird. Im bevorzugten Ausführungsbeispiel ist das
609884/0790
Laden, dieser Register auf ein Programm mit hoher Priorität beschränkt, z. B. auf ein E/A-Prozessorsteuerung-überwachungsprogramm, um die Systemsicherheit zu gewährleisten. Lediglich dieser Programmtyp ist daher in der Lage, das Bit 3 (R2) auf den Wert "1" zu setzen.
Die nächste Klasse von Registern wird durch die Codierung "11" der Bits 25 und 26 festgelegt. Diese Register werden nicht direkt während der Ausführung eines E/A-Programmes geladen, sondern werden zur Erleichterung der Diagnose von Kanalfehlern benutzt. Im vorliegenden Ausführungsbeispiel ist das Laden dieser Register auf Test- und Diagnoseprogramme beschränkt. Auf diese Weise ist nur dieser Programmtyp in der Lage, das Bit R3 auf "1" zu setzen.
Die letzte Klasse von Registern wird durch eine Codierung "00" der Bits 25 und 26 vorgegeben. Diese Register werden durch Kanal-Steuerprogramme benutzt und sie weisen keine Ladebeschränkungen auf. Wie zuvor erwähnt, speichern diese Register Daten in Abhängigkeit von Benutzer- und Nebenprogrammen. Die Bits 2 bis 4 müssen natürlich nicht auf "1" gesetzt werden.
Die anderen Bits der PI-Anweisung, wie beispielsweise die Bits 0, 1 und 27 bis 35 weisen das in Figur 7a dargestellte Format auf. Das Bit 9 enthält die gleiche Information wie das Bit 3.
Figur 9b zeigt das Format des PSR-Registers, das zusammen mit der PI-Anweisung gemäß Figur 9c benutzt wird. Mit Ausnahme der Bits 10 bis 12 sind die verbleibenden Bits wie jene Bits in Figur 9a codiert. Die Bits 10 bis 12 werden benutzt, um die Bits 2 bis 4 der PI-Anweisung gemäß Figur 9c zu liefern. Die nicht benutzten Bits des Prozeß-Zeitgeberfeldes werden zur Lieferung der beiden zusätzlich erforderlichen externen Register-Lade-Erlaubnisbits herangezogen.
609884/079 0
Aus dem anhand der Figuren 1 bis lob beschriebenen Aufbau des Systems ergibt sich folgende Wirkungsweise:
Zunächst sei die Wirkungsweise des Multiplexers 300, der die Einrichtung gemäß Figur 4c aufweist unter Bezugnahme auf die Figuren 10a und 10b beschrieben. Figur 10a zeigt die verschiedenen Steuertabellen, die den Softwaremodul der zentralen Systemschnittstelle (CSI) umfassen. Dieser Modul überwacht jegliche
die
E/A-Aktivität,, durch den Prozessor 200 unter Steuerung durch eine Anzahl von Geräte-Behandlungsroutinen bearbeitet wird. Jede der Geräte-Behandlungsroutinen steuert einen oder mehrere Kanäle. Der Modul umfaßt eine Ansammlung verschiedener Routinen zur Erzeugung einer zentralen Systemkommunikation und einer internen E/A-Kommunikation. Im allgemeinen überwacht oder steuert die Schnittstelle CSI jegliche Kommunikation zwischen dem zentralen System und dem Prozessor 200 oder den verschiedenen Modulen des Systemes gemäß Figur 1. Im ersten Fall wird die Kommunikation durch Verbindungsbefehle des Zentralprozessors ausgelöst und im zweiten Fall wird die Kommunikation durch eine vorbestimmte Befehlsfolge ausgelöst, die in eine Warteschlange des Verteilers im internen Speicher 500 auf einem niedrigeren Prioritätspegel eintritt. Dies umfaßt die übertragung logischer Kanalnummern in physikalische Kanalnummern, die Errichtung temporärer Tabellen (z.B. PTT, IDCW und DCW), denen nicht erledigte E/A-Operationen zugeordnet sind und dies umfaßt die übertragung der Steuerung auf geeignete Geräte-Behandlungsroutinen zur Ausführung der E/A-Operation. Bei Beendigung der E/A-Operation reiht die Geräte-Behandlungsroutine den resultierenden Status und die Beendigungs-Codesignale in eine Warteschlange ein zur nachfolgenden Bezugnahme durch die CSI-Routine. Die CSI-Routine verschiebt sodann den Status zurück zu dem anfordernden Benutzerprogramra und sie löst im Falle der Anwendbarkeit eine Beendigung des Unterbrechungsprozesses aus und vervollständigt die E/A-Transaktion durch Freigabe der errichteten temporären Tabellen und Listen für einen anderweitigen Gebrauch.
609884/0790
Die CSI-Routine, die die durch den Steuerungs-Überwachungsmodul errichteten Untersystem-Tabellen benutzt, bildet während der Systemauslösung die Steuertabellen gemäß Figur 10a in ihrem eigenen Speicher. Die Tabellen sind vom Typ der verketteten Liste und sie v/erden beim Empfang eines Verbindungsbefehls des Zentralprozessors dem Speicher zugeordnet und beim Empfang eines Beendigungs-Statussignals vom Speicher getrennt.
Die zentrale System-Konfigurationstabelle umfaßt bis zu 64 Kanäle, wobei die ersten 8 Kanäle zur Ausführung von übergeordneten Operationen benutzt werden, die sich auf Systemfehler und spezielle Unterbrechungen beziehen, welche nicht Gegenstand der vorliegenden Erfindung sind. Die verbleibenden 56 Kanäle sind periphere zur Ausführung von E/A-Operationen benutzte Kanäle. Jede der 56 Kanal-Eingangsstellen der Konfigurationstabelle umfaßt Information, die dem peripheren Gerät eine Kanalnummer zuordnet. Beispielsweise ist die Eingangsstelle 10 einer Platteneinheit zugeordnet und umfaßt Information, die den Anschluß A und den Kanal CAO für den Multiplexer auswählt.
Nach der Ausgabe eines Verbindungsbefehls durch den Zentralprozessor speichert die Schnittstelle CSI eine Hinweisadresseninformation im Kanal 10. Die CSI-Routine errichtet ebenfalls in diesem Zeitpunkt die verbleibenden Tabellen, die für die Dauer der Transaktion gebraucht werden. Die Routine benutzt die periphere Transaktionstabelle zur Speicherung von Speicher-Hinweisadressen, welche auf den Speicherort von Steuerworten im Hauptspeichermodul verweisen und die zur Bezugnahme auf Listen von Datensteuerworten benutzt werden. Beim Errichten der peripheren Transaktionstabelle ruft die CSI-Routine vom Hauptspeichermodul die Datensteuerwortliste ab, die die Operation steuert und sie speichert diese im internen Speicher 500. Während dieser Operation trennt sie die peripheren Anweisungen, die Befehlsdatensteuerworte (IDCW) genannt werden von den Datensteuerworten (DCW) bei fehlender Anweisung. Die CSI-Routine errichtet sodann im Speicher 500 eine Befehlsdatensteuerworttabelle, die eine
609884/0790
Länge von 4 Worten aufweist. Sie sichert eine Anweisung in dieser Tabelle und setzt die Befehlsdatensteuerworttabelle mittels einer LPW-Hinweisadresse zu der anderen Tabelle in Beziehung, welche die Liste der Datensteuerworte speichert, die ihrerseits Hinweisadressen zu den Informationsspeicherbereichen im Speicher sind. Nachfolgend wird das Listen-Hinweisadressenwort LPW in eines der LPW-Register des Multiplexers 300 geladen. Die Befehlsdatensteuerworte IDCW und die Datensteuerworte DCW besitzen das in Figur 10a und 8b dargestellte Format. Jedes IDCW weist einen Geräte-Befehlscode von 6 Bit auf, der die Art der Operation (z.B. lesen, schreiben, suchen usw.) bestimmt und einen Gerätecode von 6 Bit, durch den das bestimmte Gerät festgelegt wird. Jedes Datensteuerwort DCW besteht aus zwei Worten, von denen das erste die Steuerinformation beschreibt und das zweite eine Wortadresse enthält.
Es sei beispielsweise angenommen, daß eine Platteneinheit-Behandlungsroutine zugeteilt worden ist, um eine Übertragungsoperation gelesener Daten von der Platteneinheit zu dem Steueradapter 303 durchzuführen, was das Laden eines der LPW-Register gemäß Figur 4a erfordert. Die Geräte-Behandlungsroutinen sind Nebenroutinen und im Hinblick auf die Verwendung der Register beschränkt. Dies bedeutet, daß wenn immer ein Fehler oder ein Softwareproblem in einer Geräte-Behandlungsroutine auftritt, diese Routine nicht in die Operation anderer Routinen eingreifen muß oder in der Lage sein muß{ einennicht-autorisierten Zugriff auf Information zu gewinnen, wodurch das System unsicher würde. Die Sicherheit des Systems und der Schutz des Speichers erfordert, daß jede Geräte-Behandlungsroutine keinen Zugriff auf Bereiche außerhalb jener zugeteilten Bereiche gewinnen darf. Jene Register in den Kanälen, welche die absoluten Adressen stexiern und bearbeiten, müssen daher durch Programme mit höherem Rang gesteuert werden, wie sie in Form der CSI- und CS-Routinen gemäß Figur 10b vorgegeben sind. Diese Register, welche das LPW-Register mit umfassen, werden gemäß Figur 7c als
609384/0790
beschränkt zugänglich definiert, was bedeutet, daß nur ein Programm, das die geeignete Autorisierung zum Laden der Register aufweist, in der Lage ist, diese Register zu laden. Das CSI-Programm umfaßt eine Mastermodus-Routine, die die Zuteilung der Operationen durchführt und direkt die Geräte-Behandlungsroutinen steuert. In einer ersten Ausführungsform überwacht diese Routine das Laden der beschränkt zugänglichen Register, um die Sicherheit des Systems zu gewährleisten.
Wenn ein E/A-Verbindungsbefehl durch den Zentralprozessor an den Prozessor 200 ausgegeben wird, so verursacht dieser eine Unterbrechung. Der Prozessor 200 tritt auf Grund der Unterbrechung in die CSI-Routine über einen Unterbrechungssteuerblock ICB ein. Die CSI-Routine überprüft die Anweisung und teilt die geeignete Geräte-Behandlungsroutine zu. Bevor die Zuteilung stattfindet, errichtet die CSI-Routine die geforderten Parameter, welche an die Platteneinheit-Behandlungsroutine weitergereicht und in vier Generalregistern gespeichert werden. Bestimmte Parameter sind im Register GRlO des zugeordneten Prozessranges gespeichert (z.B. Unterbrechungsrang 5). Die ersten 15 Bitpositionen des Registers GRlO speichern die periphere Transaktions-Tabellenadresse, die nächsten vier Bitpositionen speichern den Ursprung (im allgemeinen das Zentralsystem), die nächsten 11 Bitpositionen speichern einen Geräte-Identifizierungscode während die nächsten sechs Bitpositionen einen Geräte-Behandlungs-Identif i*zierungscode speichern, der einer Subsystem-Nummer entspricht, wobei jeweils eine verschiedene Nummer jedem geladenen Programm zugeordnet ist. Die CSI-Routine ruft das erste Befehlsdatensteuerwort IDCW ab und lädt dieses in das Register GR12. Andere Parameter sind in den Registern GRlI und GR13 gespeichert.
Wenn die Platteneinheit-Behandlungsroutine das IDCW von dem Register GR12 angenommen hat, so decodiert sie die Anweisung und findet heraus, daß es sich um eine Datenübertragungsanweisung handelt, worauf sie das Laden des LPW-Registers durch
609884/0790
die Operation bewerkstelligt. Wenn die Routine feststellt, daß es sich um eine übertragung gelesener Daten handelt, so führt der Prozessor 200 eine Befehlsfolge zur Feststellung der Verfügbarkeit des durch das IDCW gekennzeichneten Gerätes aus. Wenn die Routine feststellt, daß das Gerät verfügbar ist, dann lädt sie einen Aktionscode in das Register GR13. Vor dem Eintritt in die CSI-Routine lädt die Geräte-Behandlungsroutine verschiedene seiner Generalregister. Wie erwähnt lädt die Routine das Register GR13 mit einem Code, der die durch die CSI-Routine vorzunehmende Aktion bestimmt (z.B. wird ein Code von 01 für das Laden eines LPW-Registers im Multiplexer 300 benutzt). Eine Kopie des Inhalts des Registers GRlO, der zum Zeitpunkt der Verbindung an die Geräte-Behandlungsroutine weitergereicht wird und im Speicher 500 abgespeichert wird, wird zu diesem Zeitpunkt aufgerufen. Dieser Registerinhalt wird sodann im Register GRlO gespeichert und dient als ein Identifizierungscode für die CSI-Routine. Es sei darauf verwiesen, daß die in das Register zu ladende Information nicht zu der Geräte-Behandlungsroutine weitergereicht wird. Die Information führt sodann einen Mastermodus-Eingangsstellenbefehl durch, um die CSI-Routine aufzurufen.
In den Mastermodus-Prozeß (CSI) wird über einen Ausnahme-Steuer block (z.B. ECBl) eingetreten, wobei der Ausnahme-Steuerblock durch die niedrigrangigsten 4 Bits eines Sofort-Operandenfeldes des Mastermodus-Eingangsstellenbefehles festgelegt wird. Dies sind beispielsweise die Bits 10 bis 13 desjenigen Befehls, der in seinem Format ein 8 Bit-Operationscodefeld, ein 4 Bit-Sofortwertfeld und ein 4 Bit-Allgemeinregisterfeld aufweist.
Gemäß Figur 10a ist ersichtlich, daß der interne Speicher 500 eine Anzahl von Ausnahmesteuerblöcken aufweist, die durch die CS-Routine fortgeschrieben werden, wobei jeder Ausnahmesteuerblock das dargestellte Format aufweist. Im Detail weist jeder Ausnahmesteuerblock ECB vier Worte auf. Das erste Wort besitzt das Format des PSR-Registers und legt die Eigenschaften der
609884/0790
durch das vierte Wort festgelegten CSI-Routine fest. Im in Figur 10a dargestellten Beispiel weisen die Bits 9 und 10 des ersten Wortes den Wert "1" auf. Dies bedeutet, daß die CSI-Routine beschränkt zugängliche Register laden kann. Das Bit 10 zeigt an, daß die Operation seitenunterteilt ist. Im vorliegenden Ausführungsbeispiel werden die Inhalte eines jeden der Ausnahmesteuerblocke ECB während der Systemauslösung durch die CS-Routine geladen. Im allgemeinen nimmt die CS-Routine auf andere durch sie fortgeschriebene Tabellen Bezug und lädt die in den Tabellen aufgelisteten Eigenschaften für jede Routine in verschiedene Ausnahmesteuerblöcke ECB.
Während der Ausführung des Mastermodus-Eingangsstellenbefehles speichert der Prozessor 200 den Inhalt des CSR-Registers in einem der Allgemeinregister und lädt die PSR-Information, die aus dem Ausnahmesteuerblock (Wort 1) erhalten wird. Der Prozessor 200 speichert ebenfalls zusätzliche Information über den laufenden Prozeß (z.B. IC, GR2, GR3, usw.).
Die CSI-Routine, deren Position durch das Wort 4 des Ausnahmesteuerblockes ECB vorgegeben ist, wird aufgerufen. Die Routine wählt die zugehörige periphere Transaktionstabelle durch den Geräte-Behandlungs-Identifizierungscode aus. Von hier aus nimmt die CSI-Routine unter Benutzung der Hinweisadresse auf die entsprechende IDCW-Tabelle Zugriff, auf deren Information. Als nächstes führt die CSI-Routine einen WREX-Befehl aus, der das Format gemäß Figur 6 aufweist, wodurch die Information in das LPW-Register des Multiplexers 300 in der erläuterten Weise geladen wird. Da die Geräte-Behandlungsroutine bereits die geeignete Steuerungsinformation in das PSR-Register geladen hat, wenn der Aufruf erfolgt, muß die CSI-Routine den zu adressierenden physikalischen Kanal nicht mehr bestimmen. Ebenso sind die dem LPW-Register zugeordneten Beschränkungen in das PSR-Register geladen worden.
609884/0790
Wie zuvor erläutert, erzeugt der Prozessor 200 gemäß Figur 2 bei der Ausführung eines WREX-Befehles eine PI-Anweisung, die das Format gemäß Figur 7a aufweist. Im Detail bestimmt das GRl-FeId des WREX-Befehles durch seinen Code, welches der Allgemeinregister im Zwischenspeicher 203-10 die in das LPW-Register zu ladende Adresseninformation enthält, wobei die Adresse des LPW-Registers durch das Adressenfeld festgelegt ist.
Der Operationscode des WREX-Befehles wird durch, den Schalter 202-4 an den Speicher 201-2 gegeben, wodurch die Bezugnahme auf einen der Speicherplätze verursacht wird. Der Inhalt des Speicherplatzes umfaßt ein Paar von Adressen, die die Startadressen der Mikrobefehlsfolgen im Steuerspeicher 201-10 vorgeben, welche für die Befehlsverarbeitung erforderlich sind. Das Adressenfeld des WREX-Befehles wird unter Mikroprogrammsteuerung an die B-Operandeneingänge des Addierers/Verschiebers 204-2 angelegt, während der Inhalt "Null" des Zwischenspeicherpuffers an die A-Operandeneingänge gegeben wird. Die sich ergebende Summe, die dem Adressenfeld des PI-Anweisungswortes gemäß Figur 7a entspricht, wird in das Arbeitsregister R2 übertragen.
Als nächstes wird der durch das GRl-FeId festgelegte Allgemeinregisterspeicherplatz adressiert und der Inhalt in den Puffer 203-16 ausgelesen. Während der Ausführungsphase des WREX-Befehles wird die in dem R2-Register stehende PI-Anweisung in das Daten-Ausgangsregister 204-14 geladen. Der Prozessor 200 lädt zusätzlich unter Mikroprogrammsteuerung Signale von dem Register 201-15 und dem PSR-Register 204-20 in die Bitpositionen 0 bis 8 des Steuerungsregisters 204-16. Diese Signale geben die erforderliche Steuerungsinformation für die Schnittstelleneinheit SIU-100 vor und sie dient der übertragung der PI-Anweisung zu dem Multiplexer 300 oder zu der Anschlußstelle (z.B. Anschluß A)f zu dem der Multiplexer eine Verbindung herstellt.
60S884/0790
Der Prozessor 200 setzt die Leitung AOPR auf "1" und verzögert die Ausführung des nächsten Mikrobefehls bis er über die Leitung ARA ein Signal empfängt, das die Annahme der Anforderung durch die Schnittstelleneinheit SIU-IOO anzeigt. Unter der Voraussetzung, daß die Annahme gegeben ist, setzt die Schnittstelleneinheit SIU-IOO die Leitung ARA auf "1". Gleichzeitig setzt die Schnittstelleneinheit SIU-IOO die Leitung APC auf "1", wodurch dem Multiplexer 300 angezeigt wird, daß er die PI-Anweisung anzunehmen hat.
Gemäß Figur 4c verursacht der Wert "1" auf der Leitung ACA die Umschaltung des Signales PCRCVDlO auf den Wert "1". Das PI-Anweisungswort wird ferner über die Leitungen PDFS in das PC-Register 301-2 geladen. Bei Feststellung einer Änderung des logischen Zustandes auf der Leitung ARA vervollständigt der Prozessor 200 unter Mikrobefehlssteuerung die Verarbeitung des VIREX-Befehles durch Übertragung des LPW-Datenwortes, welches das Format gemäß Figur 8a aufweist, von dem Puffer 203-16 zu dem Daten-Ausgangsregister 204-14. Das LPW-Wort wird über die Leitungen PDFS in das PD-Register 301-5 geladen.
Die Gatterschaltkreise gemäß Figur 4c decodieren das PI-Anweisungswort und setzen die Signale EXPICOMlO und C0MLDREG10 auf 11I". Der durch das Signal C0MLDREG10 freigegebene Schaltkreis 301-416 decodiert die Adressensignale entsprechend den Bits 32 bis 34 des Anweisungswortes und setzt das Signal PILDLPWlO auf "1". Dieses Signal gibt seinerseits das LPW-Register zum Laden durch den Inhalt des PD-Registers 301-5 frei.
Es sei darauf verwiesen, daß die verschiedenen Schalter, wie beispielsweise PD, H und CW durch geeignete nicht dargestellte Schaltkreise betätigt werden, die ebenfalls die Adressensignale des PI-Anweisungswortes decodieren. Beispielsweise wird der DT-Schalter nicht betätigt, wenn das Signal PILDDTSOO den Wert "1" aufweist, während die anderen erwähnten Schalter betätigt
609884/0790
werden. Da in diesem Beispiel das Laden des LPW-Registers gestattet ist, weist das Signal PCREG0200 den Wert "O" auf. Das Ausnahme-Flip-Flop 301-414 verbleibt deshalb in dem Zustand 11O".
Es ist ersichtlich, daß; wenn beispielsweise die Geräte-Behandlungsroutine einen WREX-Befehl auszuführen versucht, der ein Adressenfeld enthielt, durch das das LPW-Register als das zu ladende Register gekennzeichnet wird, das von dem PSR-Register erhaltene Bit 2 auf den Wert "0" gesetzt ist. In diesem Fall behält das Ladesignal CDMLDREG10 den Wert "0" bei, wodurch der Schaltkreis 301-416 an seiner Freigabe gehindert wird. Das Signal PCREG0200 besitzt den Wert "1"-, wodurch das Gatter 301-412 das Signal SETEXCPT10 auf "1" gesetzt wird und das Flip-Flop 301-414 auf "1" umschaltet.
Das Ausnahmesignal EXCPTlO versetzt die Schaltkreise des Blockes 301-34 in die Lage, eine Unterbrechung vom Typ 3 zu erzeugen, sofern keine anderen Unterbrechungen mit höherer Priorität vorliegen. Diese Signale wählen die geeigneten Pegelsingale von den Schaltkreisen des Blockes 301-28 aus, die dem Unterbrechungs-Rang-Priorität-Netzwerk 301-24 zugeführt werden.
Die Pegel- und Typsignale für den Kanal Null (CAO) werden sodann in das Register 301-22 zusammen mit der anderen Unterbrechungsinformation geladen. Zu diesem Zeitpunkt wird das Unterbrechungs-Anforderungs-Flip-Flop 301-21 ebenfalls auf den Wert "1" durch Schaltkreise geschaltet, die im Block 301-34 vorhanden sind. Da die Unterbrechung vom Typ 3 normalerweise den Auftritt einer Ausnahme anzeigt, ist es nicht erforderlich, daß ein weiterer Status durch den Multiplexer 300 zu dem Prozessor 200 gegeben wird.
609884/0790
" 68 "" 2629268
Aus vorstehendem ist ersichtlich, daß nur jene Rotuinen, die auf Grund ihrer zugeordneten Eigenschaften einen unbeschränkten Gebrauch der Multiplexerregister gestatten, diese Register auch laden können. Im gerade beschriebenen Beispiel gibt es nur eine Klasse beschränkter Register. Im Gegensatz hierzu ist in Figur 4d eine Einrichtung dargestellt, bei der verschiedenen beschränkten Registern gemäß Figur 7d eine Anzahl von Beschränkungen zugeordnet ist. Diese Beschränkungen werden nunmehr unter Bezugnahme auf Figur lOb beschrieben.
Figur 10b zeigt schematisch die verschiedenen Klasse von Registern und sie zeigt ferner, welchen Steuerroutinen Eigenschaften zur Steuerung des Ladens derselben zugeordnet sind. Wie aus Figur lob ersichtlich, steuert die CSI-Routine das Laden der Register der Gruppe I, welche wie zuvor erwähnt, Speicheradressen speichern. Diese Register entsprechen den LPW-, den DA- und DT-Registern 301-46 gemäß Figur 4a. Die Steuerungs-Uberwachungsroutine (CS-Routine) steuert das Laden der Register der Gruppe II, die wie zuvor erwähnt, Information für die Unterbrechungsverarbeitung speichern, wie beispielsweise Unterbrechungsvektoren und Unterbrechungs-Prioritätsränge. Diese Register entsprechen den ICB-Registern 301-IO, den Pegelregistern 3O1-12 und den Maskenregistern 301-14 gemäß Figur 4a. Die Wartungssystem-Routine (MSOS-Routine) steuert das Laden der Register der Gruppe III, wobei diese Information für Testabläufe und Diagnoseoperationen benötigt wird. Diese Register entsprechen dem ZAC-, PDTS-, Daten 1- und Daten 2-Registern der Registerreihe 301-64 gemäß Figur 4a. Schließlich steuern die Geräte-Behandlungsroutinen, wie beispielsweise die Platteneinheit-Behandlungsroutine direkt das Laden der Register der Gruppe IV, die normalerweise Daten speichern, die durch Benutzerprogramme bearbeitet werden und keinen Ladebeschränkungen unterliegen. Diese Register entsprechen den verschiedenen Registern des Blockes 302 gemäß Figur 4a.
609884/0790
Die Steuerungs-Überwachungsroutine gibt die Eigenschaften für jede andere Routine vor, obgleich die CS-Routine nur das Laden der Register der Gruppe II steuert. Die CS-Routine kann daher das Laden aller der beschränkt zugänglichen Register des Multiplexers 300 steuern. Wie zuvor erwähnt, sind die den verschiedenen Routinen zugeordneten Eigenschaften in dem ersten Wort eines jeden Ausnahmesteuerblockes gemäß Figur 10a enthalten, xtfelches bei der Systemauslösung durch die CS-Routine geladen wird. Die infolge einer Ausnahmeverarbeitung aufzurufende Routine wird durch das Wort 4 des Ausnahmesteuerblockes vorgegeben.
Die Art und Weise, in der die Register der Gruppe I geladen werden, entspricht im wesentlichen derjenigen Art und Weise, wie sie im Zusammenhang mit Figur 10a beschrieben wurde. Die Unterschiede betreffen die Formate des PSR-Registers und der PI-Anweisung. Insbesondere umfassen die Eigenschaftssignale entsprechend dem ersten Wort des Ausnahmesteuerblockes ECBl gemäß Figur 10a drei Lade-Erlaubnisbits anstelle von einem. Demgemäß weist eine von dem Prozessor 200 in Abhängigkeit von dem WREX-Befehl ausgegebene PI-Anweisung das Format gemäß Figur 9c auf.
Die PI-Anweisungsworte werden zu dem Multiplexer 300 in der gleichen zuvor beschriebenen Weise übertragen und in dem PC-Register 301-2 und dem PD-Register 301-5 gespeichert. Die Schaltkreise gemäß Figur 4d decodieren das Anweisungswort, was dazu führt, daß das UND-Gatter 301-411e das Signal C0MLDREG110 auf "1" setzt. Hierdurch wird der Schaltkreis 301-416a in die Lage versetzt, die Signale PC321O bis PC341O zu decodieren, wodurch eines der Ladesignale der Register der Gruppe I auf "1" gesetzt wird (z.B. der Registercode von 013 setzt das LPW-Ladesignal PILDLPWlO auf "1"). Das Ausnahme-Flip-Flop 301-414a behält den Wert "0" bei.
609884/0790
2623268
Es ist ersichtlich, daß für den Fall, daß ein unterschiedlicher restriktiver Bitcode durch die PI-Anweisung ausgewählt wurde und der gleiche. Registercode aufgerufen wurde, keine Ladesignale für die Register der Gruppe I erzeugt werden. Das UND-Gatter 301-412b setzt das Signal SETEXCPGIOO auf den Wert 11O", wodurch das Ausnahme-Flip-Flop 301-414a auf "1" umschaltet. Gleichzeitig setzt das Gatter 301-412b das Signal SETEXCPG110 auf "1", wodurch ein vorbestimmtes Bit innerhalb der Bitpositionen des Statusregisters 301-45 auf "1" umgeschaltet wird. Hierdurch wird dem System die besondere Art der Registerübertretung angezeigt. Der Inhalt des Statusregisters 301-45 wird gelesen.
Die anderen Gatter des Schaltkreises gemäß Figur 4d arbeiten in ähnlicher Weise, um Laderegistersignale für die anderen beschränkt zugänglichen Register nur dann zu erzeugen, wenn die Routinen, die die PI-Anweisungen ausgeben, auf "1" gesetzte, geeignete Erlaubnisbits aufweisen. Beim Feststellen einer Übertretung sperren diese Schaltkreise die Erzeugung der Ladesignale, setzen die geeigneten Bitpositionen des Statusregisters 301-45 und schalten das Ausnahme-Flip-Flop 301-414a auf den Wert "1".
Da die Register der Gruppe II Unterbrechungsinformation behandeln, werden diese Register normalerweise durch die CS-Routine als Teil einer Ladeoperation geladen. Dies bedeutet, daß die CS-Routine zunächst in den internen Speicher 500 geladen wird. Ist die Routine einmal geladen, so erzeugt sie verschiedene Tabellen und anschließend wird die CSI-Routine geladen. Als nächstes werden die Geräte-Behandlungsroutinen geladen. Sind sie einmal geladen, so führt die Geräte-Behandlungsroutine eine Auslösungsroutine durch, während der die CS-Routine über einen Mastermodus-Eingangsstellenbefehl zum Laden der Register der Gruppe II aufruft. Vor der Ausführung des Mastermodus-Eingangsstellenbefehles lädt die
609884/0790
Geräte-Behandlungsroutine das Allgemeinregister 14 mit Information, um anzuzeigen, welches Register zu laden ist und sie lädt das Allgemeinregister 8 mit der Steuerungsinformation, die zur Auswahl des Kanales erforderlich ist (z.B. PSR-Bits 0 bis 7).
Wie zuvor erläutert, geht die Steuerung auf die CS-Routine über, welche einen WREX-Befehl zum Laden der angeforderten Unterbrechungsinformation in die Register der Gruppe II (z.B. Registernummer 001) ausführt. Wie in Figur 10a dargestellt, nimmt die Geräte-Behandlungsroutine auf einen Ausnahmesteuerblock ECB Bezug, um den vorstehenden Befehl zu verwirklichen.
Die letzte Routine, der ein unbeschränkter Zugriff auf bestimmte Register des Multiplexers 300 gestattet ist, ist die MSOS-Routine. Wenn immer ein Fehler in einem Kanal festgestellt wird, so wird hierdurch der Multiplexer 300 veranlaßt, den Prozessor 200 zu unterbrechen. Der Prozessor 2OO tritt über einen Unterbrechungssteuerblock ICB in die CSI-Routine ein, welche feststellt,
welches Kanalprogramm oder welche Geräte-Behandlungsroutine zu diesem Zeitpunkt ausgeführt worden ist und er gibt die Steuerung an diese : Routine ab, wodurch bestimmte, infolge eines Fehlers unterbrochene Operationen vervollständigt werden können. Bei der Vervollständigung wird eine Ausnahme erzeugt, wobei die Geräte-Behandlungsroutine die CS-Routine über einen Mastermodus-Eingangsstellenbefehl aufruft. Vor dem Aufruf lädt die Geräte-Behandlungsroutine Information in das Allgemeinregister 13, wodurch der Grund des Fehlers angezeigt wird und sie lädt das Allgemeinregister 14}durch dessen Inhalt die angeforderte Steuerungsübernahme durch die MSOS-Routine angezeigt wird. Die CS-Routine bewirkt auf Grund des Inhalts verschiedener Generalregister (PSR, IC und PTBR) den Steuerungsübergang auf die MSOS-Routine anstelle der Geräte-Behandlungsroutine bei der Rückkehr der Steuerung über einen Mastermodus-
609 8 84/0790
Befehl, der eine Wiederherstellung des Prozeßzustandes verursacht, der gerade vor dem Auftritt der letzten Ausnahme bestand. Die CS-Routine sichert ebenfalls Information, durch die die anfordernde Routine gekennzeichnet ist.
Da die CS-Routine bei der Wiedererrichtung des vorangegangenen Prozeßzustandes die Information verändert hat, auf die Bezug genommen werden muß, geht die Steuerung auf die MSOS-Routine über. Die MSOS-Routine prüft den Inhalt des Allgemeinregisters 13, um festzustellen, ob die Steuerung des Kanals den Ablauf sofortiger Test- und Diagnoseprogramme erfordert. Wird eine sofortige Kanalsteuerung gewünscht, so ruft die MSOS-Routine über einen Mastermodus-Eingangsstellenbefehl durch Erzeugung einer Ausnahme die CS-Routine auf. Die CS-Routine übernimmt die Information, die die Geräte-Behandlungsroutine kennzeichnet. Sie lädt sodann die Information in die zugehörigen Generalregister und führt eine Rückkehr von dem Mastermodus-Befehl durch. Hierdurch kehrt die Steuerung auf die Geräte-Behandlungsroutine zurück, welche die CS-Routine zur Freigabe des Kanals auffordert. Bei einer Signalisierung der Freigabe durch die CS-Routine signalisiert die Geräte-Behandlungsroutine der MSOS-Routine die Freigabe.
Die MSOS-Routine fordert die CS-Routine zur Zuordnung des Kanales auf, damit die Test- und Diagnoseroutinen hinsichtlich des Kanales ablaufen können. Zu diesem Zeitpunkt fordert die MSOS-Routine die CS-Routine auf, das Unterbrechungssteuerblockregister (Registernummer 001) mit der geeigneten Unterbrechungssteuerblockinformation zu laden, um alle Unterbrechungen zurück zu der MSOS-Routine und nicht zu der Geräte-Behandlungsroutine zu leiten. Nur die CS-Routine ist daher in der Lage, dieses Register zu laden, da es ein Register der Gruppe II ist.
Die CS-Routine führt in der zuvor erläuterten Weise einen WREX-Befehl aus, der eine PI-Anweisung zum Laden des Unterbrechungssteuerregisters des Kanals erzeugt. Bei Beendigung
G --] ? ° 9- h / 0 7 9 0
dieses Befehls kehrt die CS-Routine zu der MSOS-Routine zurück, die nunmehr den Kanal direkt steuern kann. Da die MSOS-Routine berechtigt istr Zugriff auf die Register der Gruppe III zu nehmen, ist sie auch in der Lage, diese Register zu laden, wie dies beim Ablauf von Test- und Diagnoseroutinen erforderlich ist.
Bei der Vervollständigung des Ablaufs von Test- und Diagnoseroutinen ruft die MSOS-Routine die CS-Routine auf und lädt das Allgemeinregister 14 mit einer Anforderung, daß die Steuerung auf die Geräte-Behandlungsroutine überzugehen hat. Durch Umkehrung der zuvor erwähnten Operationen holt die CS-Routine die Steuerung von dem Kanal auf die Geräte-Behandlungsroutine zurück. Bei der Steuerungsaufnahme ersucht die Geräte-Behandlungsroutine die CS-Routine,das ünterbrechungssteuerregxster des Kanals erneut mit der geeigneten ICBD-Information zu laden, so daß neue Unterbrechungen zu dieser Routine zurückgeleitet werden.
Aus vorstehendem ergibt sich, daß die Anordnung gemäß der vorliegenden Erfindung Systemsicherheit dadurch sicherstellt, daß verschiedene Routinen vorgesehen sind, die durch Modifikation verschiedener Register innerhalb des Multiplexers 300 den Aufruf einer geeigneten Steuerroutine erzeugen, die die erforderlichen Eigenschaften zum Laden der beschränkt zugänglichen Register aufweisen. Dies geschieht durch die Verwendung von Aufnahmesteuerblöcken, die die erforderliche Eigenschaftsinformation (z.B. PSR von Wort 1) aufweisen. Durch Veränderung der Codierung der verschiedenen PSR-Wörter dieser Blöcke ist die CS-Routine in der Lage, die Systemsicherheit wirksam zu steuern. Ebenso ist die CS-Routine in der Lage, die Registerbeschränkungen in Übereinstimmung mit den Anforderungen des Systems zu verändern.
608884/0790
Liste der verwendeten Abkürzungen
AD-BUSY - Adapter Busy - Adapter belegt ADR - Adapter Data Ready - Adapter Daten bereit
ADTA - Accept Data To Adapter - Daten nach dem Adapter angenommen
ACTA - Accept Control To Adapter - Steuerung nach dem Adapter
angenommen
AIL - Active Interrupt Level - Aktiver Unterbrechungspegel
AOPR - Active Output Port Request - Aktive Ausgangsanschluß-Anforderung
APC - Accept Programmable Interface Command - Programmierbare Schnittstellenanweisung angenommen
ARA - Active Request Accepted - Aktive Anforderung angenommen
ARDA - Accept Read Data - Gelesene Daten angenommen
AST - Accept Status - Status angenommen
CA - Channel Adapter - Kanal-Adapter
CAI - Channel Adapter Interface - Kanal-Adapter Schnittstelle
CBB - Control Block Base - Steuerblockbasis
CDR - Channel Data Ready - Kanal-Daten bereit
CHBSY - Channel Busy - Kanal belegt
CSA - Control Store Adress - Steuerspeicheradresse
DA - Data Adress - Datenadresse
DAI - Device Adapter Interface - Geräte Adapter-Schnittstelle
DCW - Data Control Word - Datensteuerwort
DFM - Data From Memory - Daten vom Speicher
DFS - Data From SIU - Daten von der Schnittstelleneinheit
DFA - Data From Adapter - Daten vom Adapter
DT - Data Transfer - Datenübertragung
DTA - Data To Adapter - Daten zum Adapter
DPFM - Double Precision From Memory - Doppelpräzision vom
Speicher
DPFS - Double Precision From SIU - Doppelpräzision von der
Schnittstelleneinheit
DTM . - Data To Memory - Daten zum Speicher DTS - Data To SIU - Daten zur Schnittstelleneinheit ECB - Exception Control Block - Ausnahme-Steuerblock
603884/07 9 0
EDT EV
GR
HLIP
IC
ICB IDA IDR
IFA IMID
LZP MIFS
NIR PCR PDFS
PI
PIR
End Data Transfer - Ende der Datenübertragung
Event - Ereignisauftritt
General Register - Allgemeinregister
Higher Level Interrupt Present - Unterbrechung mit höherem Pegel vorhanden
High Speed Multiplexer - Hochgeschwindigkeits-
Multiplexer
Instruction Counter - Befehlszähler
Interrupt Control Block - Unterbrechungssteuerblock
Interrupt Data - Unterbrechungsdaten
Interrupt Data Request - Uriterbrechungsdatenanforde-
rung
Interrupt From Adapter - Unterbrechung vom Adapter
Interrupt Multiport Identifier - Unterbrechungs-Mehr fachanschluß-Identifizierer
Input/Output-Processor - Eingang/Ausgang-Prozessor Interrupt Request - Unterbrechungsanforderung List Pointer Word - Listen-Hinweisadressenwort
Low Speed Multiplexer - Niedriggeschwindigkeits-
Multiplexer
Level Zero Present - Pegel Null vorhanden
Multiport Identifier From SIU - Mehrfachanschluß-Identifizierer von der Schnittstelleneinheit
Multiport Identifier To SIU - Mehrfachanschluß-Identifizierer nach der Schnittstelleneinheit
Next Instruction Read - Nächster Befehl gelesen Process Control Register - Prozeßsteuerregister
Programmable Interface Date From SIU - Programmierbare Schnittstellendaten von der Schnittstelleneinheit
Programmable Interface Data To SIU - Programmierbare Schnittstellendaten zur Schnittstelleneinheit
Programmable Interface - Programmierbare Schnittstelle
Programmable Interface Ready - Programmierbare Schnittstelle bereit
Process State Register - Prozeßzustandsregister
Page Table Base Register - Seitentabellenbasisregister
Port Identifier From Adapter - Anschlußidentifizierer
vom Adapter
6 G 0 3 8 4 / 0 7 9
RDAA RDTR
RDEX RIFM
RLS
ROM
SDTS
SIU
SLTM
SYS-CLK -
WREX WRR
ZAC
ZIR
Read Data Accepted - Gelesene Daten angenommen
Read Data Transfer Request - Übertragungsanforderung gelesener Daten
Read External - Externes Lesen
Request Identifier From Memory - Anforderungsidentifizierer vom Speicher
Request Identifier To Memory - Anforderungsidentifizierer zum Speicher
Release - Freigabe Read Only Memory - Festwertspeicher
Steering Data To SIU - Steuerungsdaten zur Schnittstelleneinheit
System Interface Unit - Systemschnittstelleneinheit Specification Lines To Memory - Bestimmungsleitungen
zum Speicher
System Clock - Systemtakt Terminate From Adapter - übertragungsbeendigung vom
Adapter
Write External - Externes Schreiben Working Register Output For Supplying Operands Arbeitsregisterausgang für die Operandenlieferung
Working Register Output For Paging - Arbeitsregisterausgang für Seitenadressierung Zone Address and Command - Zonenadresse und Anweisung ZAC Interface Ready - ZAC-Schnittstelle bereit
609884/0790

Claims (12)

Patentansprüche
1. Ein/Ausgabe-System zur Steuerung von Ein/Ausgabe-Operationen mehrerer, an einen Multiplexer angeschlossener peripherer Geräte, wobei die Operationen auf Grund von Benutzer-Programmbefehlen ausgeführt werden, mit einem Speicher, einem Prozessor zur Erzeugung von Anweisungen in Abhängigkeit von den Benutzerbefehlen und mit einer Einrichtung zur Datenverbindung des Speichers mit dem Prozessor und dem Multiplexer auf einer Prioritätsbasis, dadurch gekennzeichnet, daß der Multiplexer umfaßt:
mehrere Register zur Speicherung von durch die Anweisungen übertragenen Daten und Steuerinformationen, die zur Ausführung von Ein/Ausgabe-Operationen durch den Multiplexer erforderlich sind, wobei
einem ersten dieser Register jede dieser Anweisungen zugeführt wird;
an die Register angeschlossene Steuereinrichtungen, welche ihrerseits umfassen:
an verschiedene Register angeschlossene Signalerzeugereinrichtungen und an das erste Register und die Signalerzeugereinrichtung angeschlossene Decodiereinrichtungen, wobei diese auf jede Anweisung ansprechen, die auf Grund ihrer Codierung das Laden eines der Register festlegt, und wobei diese ausgewählten Register die Signalerzeugereinrichtung in die Lage versetzen, ein Ausgangssignal zu erzeugen, das das Laden des einen Registers nur dann gestattet, wenn die Anweisung durch ihre Codierung anzeigt, daß das Laden von dem System autorisiert ist.
609884/0790
2629288
2. System nach Anspruch 1, dadurch gekennzeichnet , daß jede Register-Ladeanweisung mehrere Felder aufweist, von denen jedes wenigstens ein Bit umfaßt, daß ein erstes Feld durch seine Codierung die Register-Ladeoperation festlegt, daß ein zweites Feld mit wenigstens einem Bit anzeigt, wenn das Laden untersagt ist und daß die Signalerzeugungseinrichtung ein erstes Gatter aufweist, das an die Signale des ersten und zweiten Feldes angeschlossen ist und in Abhängigkeit dieser Signale das Ausgangssignal zum Laden des einen Registers in Übereinstimmung mit dem ersten Feld erzeugt, wenn das zweite Feld anzeigt, daß das Laden gestattet ist.
3. System nach Anspruch 2, dadurch gekennzeichnet , daß die Signalerzeugungseinrichtung ein zweites Gatter aufweist, dem die Signale der ersten und zweiten Felder zugeführt sind und das ein Ausnahmesignal erzeugt, wenn das zweite Feld anzeigt, daß das Laden durch das System nicht gestattet ist.
4. System nach Anspruch 3, dadurch gekennzeichnet, daß der Multiplexer ferner eine an die Steuereinrichtung angeschlossene Logikschaltung aufweist und die Logikschaltung ein zweites Gatter umfaßt, dem das Ausnahmesignal zugeführt ist und das eine Unterbrechung für den Prozeß erzeugt.
5. System nach Anspruch 4, dadurch gekennzeichnet , daß der Multiplexer weiterhin ein an das zweite Gatter angeschlossenes Statusregister aufweist, das durch das Ausnahmesignal in einen vorbestimmten Zustand geschaltet wird, um den Typ des nicht gestatteten Ladeversuches anzuzeigen.
609884/0790
262926$
6. System nach Anspruch 2, dadurch gekennzeichnet , daß die Register-Ladeanweisung erste und zweite Worte umfaßt, wobei das erste Wort die Vielzahl von Feldern und das zweite Wort die in das eine Register zu ladenden Daten aufweist und wobei dem einen der Register das erste Wort und einem zweiten aus der Vielzahl von Registern das zweite in das eine Register zu ladende Wort zugeführt wird.
7. System nach Anspruch 1, dadurch gekennzeichnet , daß jede Register-Codeanweisung mehrere Felder aufweist, daß ein erstes Feld die Register-Ladeoperation bestimmt, daß ein zweites Feld mehrere Bits aufweist, die durch ihre Codierung Beschränkungen hinsichtlich des Ladens verschiedener Gruppen innerhalb dieser Register vorgeben, daß ein drittes Feld durch seine Codierung ein Register innerhalb einer Registergruppe festlegt, daß mehrere Gatter angeordnet sind, daß jedem Gatter Signale entsprechend dem ersten Feld und einem Bit aus der Vielzahl der Bits des zweiten Feldes zugeführt sind und jedes Gatter auf Grund der zugeführten Signale ein Ausgangssignal zum Laden des durch das dritte Feld in Übereinstimmung mit dem ersten Feld festgelegten Registers erzeugt, wobei das Laden nur erfolgt, wenn das entsprechende Bit des zweiten Feldes anzeigt, daß das Laden gestattet ist.
8. System nach Anspruch 7, dadurch gekennzeichnet , daß jedes der Gatter an die Signale des dritten Feldes angeschlossen ist und daß das dritte Feld eine Anzahl Bits aufweist, die durch ihre Codierung die verschiedenen Gruppen von zu ladenden Registern bestimmen , wobei
ein erstes codiertes Bitmuster aus der Anzahl von Bits eine erste Gruppe von Registern zur Speicherung absoluter Speicheradressen festlegt;
609884/0790
ein zweites codiertes Bitmuster aus der Anzahl von Bits eine zweite Gruppe von Registern zur Speicherung von Unterbrechungsdaten zur Unterbrechung des Prozesses festlegt;
ein drittes codiertes Bitrauster aus der Anzahl von Bits eine dritte Gruppe von Registern zur Speicherung von Information festlegt, die zur Diagnoseerleichterung des Multiplexers benutzt wird und
ein viertes codiertes Eitmuster aus der Anzahl von Bits eine vierte Gruppe von Registern zur Speicherung von Information während der Ausführung.der E/A-Operationen festlegt.
9. System nach Anspruch 8, dadurch gekennzeichnet , daß die eine Vielzahl von Speicherplätzen aufweisende Speichereinrichtung Gruppen von Speicherplätzen zur Befehlsspeicherung besitzt, wobei die Befehle verschiedene Steuerroutinen und Geräte-Behandlung sr outinen umfassen, daß eine erste Steuerroutine der Steuerung der Geräte-Behandlungsroutine dient und den Prozessor in die Lage versetzt, eines der Register aus der ersten Gruppe der beschränkt zugänglichen Register zu laden, daß eine zweite Steuerroutine der Steuerung von E/A-Systemmittel dient und den Prozessor in die Lage versetzt, eines der Register aus der zweiten Gruppe der beschränkt zugänglichen Register zu laden, daß eine dritte Steuerroutine der Steuerung von Fehlerdiagnosen innerhalb des Multiplexers dient und den Prozessor in die Lage versetzt, eines der Register aus der dritten Gruppe der beschränkt zugänglichen Register zu laden und daß die Geräte-Behandlungsroutine den Prozessor in die Lage versetzt, eines der Register aus der vierten Gruppe der beschränkt zugänglichen Register zu laden.
609884/0790
262926S
10. System nach Anspruch 1, dadurch gekennzeichnet , daß der Prozessor aufweist:
ein Prozessor-Zustandsregister zur Speicherung von Informationen, die zur Steuerung der Operation einer gerade auf dem Prozessor bearbeiteten Routine erforderlich ist, wobei die Information durch ihre Codierung Hinweise auf mit der laufenden Routine verbundene Beschränkungen aufweist und
mikroprogrammierte Steuereinrichtungen zur Ausführung eines jeden Befehles innerhalb der eine E/A-Operation festlegenden Routine durch Erzeugung von Signalen in Abhängigkeit von der Codierung entsprechender Anweisungen, um anzuzeigen, ob das Laden von dem System autorisiert ist.
11. System nach Anspruch 10,dadurch gekennzeichnet , daß die Speichereinrichtung eine Vielzahl von Speicherplätzen zur Speicherung von Gruppen von Ausnahmesteuerblöcken aufweist, die durch ihre Codierung die in das Prozeß-Zustandsregister zu ladende Information sowie eine auf Grund einer Ausnahmebedingung auszuwählende Steuerroutine festlegen und daß der Prozessor eine der Peststellung.des Ausnahmezustandes dienende Ausnahmesteuerung aufweist, die folgende Einrichtungen umfaßt:
ein erstes Register zur Speicherung einer Steuerblockbasisadresse für die Steuerblöcke,
ein zweites Register zur Speicherung einer den Typ der Ausnahme festlegenden Konstanten und
einen Addierer, der an die beiden Register angeschlossen ist und aus der Steuerblockbasisadresse und der Konstanten eine einen bestimmten Steuerblock bestimmende Adresse bildet, wobei der adressierte Steuerblick der Verarbeitung der Ausnahme und dem Laden des Prozessor-Zustandsregisters mit den der Steuerroutine zugeordneten Beschränkungen dient.
60S884/0790
12. System nach Anspruch 1, dadurch gekennzeichnet , daß der Multiplexer als E/A-Multiplexer mehrere Anschlüsse aufweist, an die verschiedene periphere Geräte angeschlossen sind und die der Verarbeitung von Ereignisauftritten während auf Grund von Benutzer-Programmbefehlen ausgeführter E/A-Operationen dienen, daß ferner hinsichtlich des Multiplexers mehrere Kanalabschnitte angeordnet sind, von denen jeder an einen Anschluß angeschlossen ist und daß jeder Kanalabschnitt eine Anzahl von Registern aufweist, die der Speicherung der durch die Anweisungen übertragenen Daten und Steuerinformationen dienen und die zur Ausführung der E/A-Operationen durch den Multiplexer erforderlich sind.
609884/0790
Leerseite
DE19762629266 1975-06-30 1976-06-30 Ein/ausgabe-system Withdrawn DE2629266A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/591,563 US4017839A (en) 1975-06-30 1975-06-30 Input/output multiplexer security system

Publications (1)

Publication Number Publication Date
DE2629266A1 true DE2629266A1 (de) 1977-01-27

Family

ID=24366962

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19762629266 Withdrawn DE2629266A1 (de) 1975-06-30 1976-06-30 Ein/ausgabe-system

Country Status (7)

Country Link
US (1) US4017839A (de)
JP (1) JPS526432A (de)
BE (1) BE843562A (de)
CA (1) CA1074456A (de)
DE (1) DE2629266A1 (de)
FR (1) FR2316657A1 (de)
GB (1) GB1557672A (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4271466A (en) * 1975-02-20 1981-06-02 Panafacom Limited Direct memory access control system with byte/word control of data bus
US4124889A (en) * 1975-12-24 1978-11-07 Computer Automation, Inc. Distributed input/output controller system
US4313160A (en) * 1976-08-17 1982-01-26 Computer Automation, Inc. Distributed input/output controller system
US4494186A (en) * 1976-11-11 1985-01-15 Honeywell Information Systems Inc. Automatic data steering and data formatting mechanism
US4093986A (en) * 1976-12-27 1978-06-06 International Business Machines Corporation Address translation with storage protection
US4104721A (en) * 1976-12-30 1978-08-01 International Business Machines Corporation Hierarchical security mechanism for dynamically assigning security levels to object programs
US4156907A (en) * 1977-03-02 1979-05-29 Burroughs Corporation Data communications subsystem
US4296464A (en) * 1977-03-03 1981-10-20 Honeywell Inc. Process control system with local microprocessor control means
US4115854A (en) * 1977-03-28 1978-09-19 International Business Machines Corporation Channel bus controller
JPS5530730A (en) * 1978-08-22 1980-03-04 Nec Corp Data processor
US4384322A (en) * 1978-10-31 1983-05-17 Honeywell Information Systems Inc. Asynchronous multi-communication bus sequence
US4370708A (en) * 1978-10-31 1983-01-25 Honeywell Information Systems Inc. Logic system for selectively reconfiguring an intersystem communication link
US4287562A (en) * 1979-09-06 1981-09-01 Honeywell Information Systems Inc. Real time adapter unit for use in a data processing system
US4310895A (en) * 1979-11-02 1982-01-12 International Business Machines Corporation Plural null digital interconnections
DE3041219C2 (de) * 1980-11-03 1983-11-03 Bruker Analytische Meßtechnik GmbH, 7512 Rheinstetten Vorrichtung zur Speicherung von Meßdaten
US4425615A (en) 1980-11-14 1984-01-10 Sperry Corporation Hierarchical memory system having cache/disk subsystem with command queues for plural disks
US4831523A (en) * 1986-10-31 1989-05-16 Bull Hn Information Systems Inc. Multiple DMA controller chip sequencer
AU2814089A (en) * 1987-11-10 1989-06-01 Echelon Systems An input/output section for an intelligent cell which provides sensing, bidirectional communications and control
US5113498A (en) * 1987-11-10 1992-05-12 Echelon Corporation Input/output section for an intelligent cell which provides sensing, bidirectional communications and control
JPH07122868B2 (ja) * 1988-11-29 1995-12-25 日本電気株式会社 情報処理装置
US5185865A (en) * 1989-08-04 1993-02-09 Apple Computer, Inc. System for simulating block transfer with slave module incapable of block transfer by locking bus for multiple individual transfers
GB9010603D0 (en) * 1990-05-11 1990-07-04 Int Computers Ltd Access control in a distributed computer system
US5530901A (en) * 1991-11-28 1996-06-25 Ricoh Company, Ltd. Data Transmission processing system having DMA channels running cyclically to execute data transmission from host to memory and from memory to processing unit successively
US5692170A (en) * 1995-04-28 1997-11-25 Metaflow Technologies, Inc. Apparatus for detecting and executing traps in a superscalar processor
EP0825739A1 (de) * 1996-08-15 1998-02-25 Koninklijke KPN N.V. Verfahren zum Laden von Befehlen in ein Sicherheitsmodul eines Endgerätes
US6320501B1 (en) 1999-05-25 2001-11-20 Pittway Corporation Multiple sensor system for alarm determination with device-to-device communications
KR100792213B1 (ko) * 2005-08-11 2008-01-07 삼성전자주식회사 메모리 컨트롤러와 메모리를 인터페이싱하는 랩퍼 회로
US7530106B1 (en) 2008-07-02 2009-05-05 Kaspersky Lab, Zao System and method for security rating of computer processes

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL294416A (de) * 1962-06-22
US3328768A (en) * 1964-04-06 1967-06-27 Ibm Storage protection systems
US3530438A (en) * 1965-12-13 1970-09-22 Sperry Rand Corp Task control
US3447135A (en) * 1966-08-18 1969-05-27 Ibm Peripheral data exchange
US3562717A (en) * 1968-02-23 1971-02-09 Gen Electric System protection apparatus
US3815101A (en) * 1972-11-08 1974-06-04 Sperry Rand Corp Processor state and storage limits register auto-switch
US3845425A (en) * 1973-06-15 1974-10-29 Gte Automatic Electric Lab Inc Method and apparatus for providing conditional and unconditional access to protected memory storage locations
US3839706A (en) * 1973-07-02 1974-10-01 Ibm Input/output channel relocation storage protect mechanism

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BORNEMANN, Helmut, Hrsg.: Jahrbuch des elektrischen Fernmeldewesens, 18. Jg., Bad Windsheim: Verlag für Wissenschaft und Leben Georg Heidecker, 1987, S. 18-22 *

Also Published As

Publication number Publication date
FR2316657B1 (de) 1979-07-20
JPS526432A (en) 1977-01-18
BE843562A (fr) 1976-10-18
AU1422976A (en) 1977-12-01
FR2316657A1 (fr) 1977-01-28
GB1557672A (en) 1979-12-12
US4017839A (en) 1977-04-12
CA1074456A (en) 1980-03-25

Similar Documents

Publication Publication Date Title
DE2629266A1 (de) Ein/ausgabe-system
DE2755897C2 (de)
DE2750721A1 (de) Ein/ausgabe-system
DE2755371A1 (de) Ein/ausgabe-verarbeitungssystem
DE2612139A1 (de) Ein/ausgang-steuerungssystem
DE3716229C2 (de) Mikroprozessorchip mit einem Stapelrahmen-Cache
DE2612083A1 (de) Verfahren und vorrichtung zur ein/ausgang-datenverarbeitung
DE2755952C2 (de)
DE2722099C2 (de)
DE2714805C2 (de)
DE2224537C2 (de) Einrichtung und Verfahren zur Instruktionsauswahl in einem Fließbandprozessor
DE2411963C3 (de) Elektronische Datenverarbeitungsanlage mit einer Prioritätssteuerschaltung mit änderbaren Steuerblöcken
DE3127349C2 (de)
DE2230830C2 (de) Datenverarbeitungsanlage
DE3114961C2 (de)
DE2806045A1 (de) Dv-system mit pufferspeicher
DE4104781C2 (de) Speicherzugriffssteuerung
DE2165767A1 (de) Datenverarbeitungssystem
DE2657848A1 (de) Steuereinheit fuer ein datenverarbeitungssystem
DE2806024A1 (de) Speichersystem mit fehlerfeststell- und korrekturmoeglichkeit
DE3131341A1 (de) &#34;pufferspeicherorganisation&#34;
DE2750299A1 (de) Ein/ausgabe-system
DE3606211A1 (de) Multiprozessor-computersystem
DE2517276A1 (de) Datenverarbeitungssystem
DE2755608A1 (de) Wartungseinrichtung in einem dv-system

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 3/04

8139 Disposal/non-payment of the annual fee