DE2612083A1 - Verfahren und vorrichtung zur ein/ausgang-datenverarbeitung - Google Patents

Verfahren und vorrichtung zur ein/ausgang-datenverarbeitung

Info

Publication number
DE2612083A1
DE2612083A1 DE19762612083 DE2612083A DE2612083A1 DE 2612083 A1 DE2612083 A1 DE 2612083A1 DE 19762612083 DE19762612083 DE 19762612083 DE 2612083 A DE2612083 A DE 2612083A DE 2612083 A1 DE2612083 A1 DE 2612083A1
Authority
DE
Germany
Prior art keywords
interrupt
register
signals
data
processor
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
DE19762612083
Other languages
English (en)
Inventor
Jaime Calle
Earnest M Monahan
Garvin W Patterson
William A Shelly
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 Inc
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 DE2612083A1 publication Critical patent/DE2612083A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4818Priority circuits therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority

Description

5202533 Ge 22. März 1976
HONEYWELL INFORMATION SYSTEMvS INC.
200 Smith Street Waltham, Mass., USA
Verfahren und Vorrichtung zur Ein/Ausgang-Datenverarbeitung
Die Erfindung bezieht sich auf ein Verfahren zur E/A-Verarbeitung der Signale mehrerer peripherer Geräte, die über E/ASteuereinheiten mit einem Prozessor in Nachrichtenaustausch stehen.sowie auf eine Vorrichtung zur Durchführung dieses Verfahrens .
Im allgemeinen weisen D/V-Systeme eine Anzahl von Unterbrechungs-
Subroutinen als Teil der Betriebs-Softwareauf, um Unterbrechungen erzeugende Ereignisauftritte zu verarbeiten. Diese Ereignisauftritte können durch interne Zustände innerhalb eines Systems ebenso wie durch Zustände innerhalb der E/A-Geräte des Systemes erzeugt werden. Die Unterbrechungen werden aufgrund einer vorgegebenen Priorität durch die Zentraleinheit und den peripheren Geräten des Systems zugeordnete Steuereinheiten erkannt und verarbeitet. Wenn daher einmal die Priorität für Ereignisauftritte bei der Datenverarbeitung festgelegt ist, so werden diese Ereignisauftritte auch entsprechend dieser Priorität verarbeitet. Ein gewisser Nachteil dieser bekannten Systeme besteht darin, daß bestimmte Ereignisauftritte die Zentraleinheit zur Unterbrechung eines wichtigen Programmes zwecks Verarbeitung einer Unterbrechung im Zusammenhang mit einem weniger wichtigen Programm veranlassen. Dies führt wiederum zur Vergeudung von
6J09841/0898
wertvoller Verarbeitungszeit, hervorgerufen durch die überflüssige Umschaltung zwischen Programmen als Folge einer im Voraus errichteten Priorität für die Verarbeitung der Ereignisauftritte. Weiterhin veranlaßt die Zentraleinheit bei diesem bekannten System im Fall eines festgestellten Ereignisauftrittes eine Unterbrechung, welche das System auf einen vorbestimmten Speicherplatz im Speicher verweist, der Adresseninformationen zur Bezugnahme auf eine gemeinsame Unterbrechungsroutine speichert. Die in diesen Fällen erzeugte Speicheradresse liegt im Hinblick auf die durch das Gerät_ erzeugte Unterbrechung fest. Diese bekannten Systeme machen es erforderlich, daß die Zentraleinheit den Grund der Unterbrechung feststellt und die geeignete Routine für die Bearbeitung der Unterbrechung auswählt, obwohl mitunter verschiedene Unterbrechungsarten die gleiche Unterbrechungsroutine erfordern. Dies führt ebenfalls zu einer Verschwendung wertvoller Rechenzeit, die dadurch verursacht wird, daß die Zentraleinheit das geeignete Programm für die Verarbeitung der Unterbrechung aufrufen muß. Ferner erfordern die bekannten Systeme Abfrageprogramme, was zu einer Programmverdopplung führt.
Wenn ein System der bekannten Art Anweisungen an eine der Geräte-Steuereinheit ausgibt, so ist hierzu normalerweise ein Verzögerungssystem für die Datenübertragung erforderlich, bzw. es können solche Anweisungen nur während Intervallen abgegeben werden, die den Datenübertragungs-Operationen vorausgehen oder nachfolgen. Auch hierdurch wird die Wirtschaftlichkeit der E/ADatenverarbeitung verringert.
Es ist daher die Aufgabe der vorliegenden Erfindung, ein Verfahren zur E/A-Verarbeitung von Signalen mehrerer peripherer Geräte anzugeben, bei dem die Verarbeitung von Ereignisauftritten wesentlich wirtschaftlicher erfolgen kann. Die Lösung dieser Aufgabe gelingt gemäß der im Anspruch 1 gekennzeichneten Erfindung. Weitere vorteilhafte Ausgestaltungen des erfindungsgemäßen Verfahrens sowie eines Systems zur Durchführung dieses Verfahrens sind den Unteransprüchen entnehmbar.
609841/0896
~ 3 —
Gemäß der Erfindung weist das E/A-System mehrere Module auf. Verschiedene System-Module sind an eine entsprechende Anzahl von Anschlußstellen einer System-Schnittstelleneinheit angeschlossen. Jede solche Anschlußstelle bestimmter System raodule weist zusätzlich zu den Schnittstellen des normalen Types eine programmierbare Schnittstelle auf. Die Systemmodule umfassen eine E/A-Verarbeitungseinheit und wenigstens eine Einheit, die mehrere Anschlußstellen besitzt. Jede Anschlußstelle ist an einen Steueradapter und die durch den Adapter gesteuerten E/AGeräte angeschlossen.
Die E/A-Verarbeitungseinheit gibt erfindungsgemäß Anweisungen über die programmierbare Schnittstelle an eine Multiplexereinheit aus, wodurch diese veranlaßt wird, 'Information in in ihr enthaltene. Register einzuspeichern bzw. herauszuholen, wobei diese Register operativ mit der programmierbaren Schnittstelle gekoppelt sind und während der Ausführung der E/A-Operationen benutzt werden. Jedes der Register innerhalb der Multiplexereinheit weist wiederum Register für die Verarbeitung von Unterbrechungen auf, wobei die Unterbrechung von an die Einheit angeschlossenen Geräten gefordert wird. Gemäß der Erfindung speichern die Register eine Unterbrechungs-Steuerblockinformatian, die so codiert ist, daß sie einen Satz von Unterbrechungsroutinen festlegt, der bei der Verarbeitung verschiedener Arten von UntertxschungsSignalen benutzt wird. Zusätzlich werden in den Registern Prioritätspegelsignale gespeichert, durch die die Bedeutung festgelegt wird, die der Verarbeitung der Ereignisauftritte zuzuordnen ist.
In der Multiplexereinheit enthaltene Schaltkreise erzeugen eine Ünterbrechungsanforderung an die E/A-Verarbeitungseinheit in Abhängigkeit eines von einem peripheren Gerät erhaltenen Unterbrechungssignales. Die Ünterbrechungsanforderung umfaßt Signale, die sowohl der Unterbrechungssteuerblock-Information als auch dem Prioritätspegel zugeordnet sind. Die Schaltkreise erzeugen ferner einen vorbestimmten Code, der die Art der Unterbrechung
609841/0896
kennzeichnet, welche ebenfalls einen Teil der Unterbrechungsanforderung bildet. Wenn der vorliegenden Priorität durch die Unterbrechungsschaltkreise innerhalb der System-Schnittetelleneinheit stattgegeben wird, so werden das Unterbrechungs-Steuerblocksignal und das die Art der Unterbrechung anzeigende codierte Signal zu der Verarbeitungseinheit übertragen und von dieser VerarbeitungseMieit zur Auswahl der geeigneten Routine für die Verarbeitung der Unterbrechung benutzt. Die Prioritätspegelsignale, die ebenfalls durch die System-Schnittstelleneinheit übertragen werden, zeigen der Verarbeitungseinheit den Pegel an, auf dem der Prozeß abläuft.
Indem die die Unterbrechung erzeugende Quelle Signale erzeugt, die die spezielle für die Verarbeitung der besonderen Art der Unterbrechung erfoderliche Unterbrechungsroutine festlegen, wird die Verarbeitung von Unterbrechungen wesentlich wirtschaftlicher gestaltet, da die Verarbeitungseinheit davon befreit wird, mit der unterbrechenden Quelle in Nachrichtenaustausch zu treten, um das geeignete Programm auszuwählen. Aufgrund der Tatsache, daß der Inhalt der Unterbrechungssteuerblockregister durch die programmierbare Schnittstelle verändert werden kann, kann ferner die E/A-Verarbeitungseinheit verschiedene periphere Geräte aufweisen, die das gleiche oder unterschiedliche Programme auslösen. Dadurch ergibt sich eine vollständige Flexibilität bei der Verarbeitung von Unterbrechungen, da verschiedene durch den Auftritt verschiedener Ereignisse hervorgerufene Arten von Unterbrechungen irgendeiner der verfügbaren Anzahl von Unterbrechungsroutinen zugeordnet sein können. Ferner können solche Veränderungen parallel mit Datenübertragungs-Operationen vorgenommen werden.
Da die Zuordnung des Prioritätspegels mittels über die programmierbare Schnittstelle zugefilhrter Anweisungen veränderbar ist, wird es für die Multiplexereinheit einfach, wichtige Ereignisauftritte von weniger wichtigen Ereignisauftritten zu unterscheiden und diese Ereignisauftritte zu kassifizieren. Diese Anordnung führt somit zu einer wirtschaftlichen Programmumschaltung,
609841/0896
da nur jene Ereignisse^die tatsächlich einem höheren Prioritätspegel zugeordnet sind, die Umschaltung des Programms durch die Verarbeitungseinheit veranlassen. Ferner wird die Verarbeitungseinheit daran gehindert, ein wichtiges Programm in seiner Ausführung zu unterbrechen, nur um festzustellen, daß ein weniger wichtiges Ereignis aufgetreten ist.
Es sei schließlich darauf verwiesen, daß die programmierbare Schnittstelle für Test- und Diagnoseoperationen benutzt werden kann, da sie von den anderen Schnittstellen unabhängig ist. Normalerweise bildet die Anzeige und Ausgabe des Inhalts von Registern innerhalb der verschiedenen Module des Systems einen wesentlichen Teil bei solchen Operationen. Da die Verarbeitungseinheit über Anweisungen die Register irgendeines Moduls beeinflussen kann, kann bei der vorliegenden Erfindung auf solche Vorrichtungen verzichtet werden.
Anhand eines in den Figuren der beiliegenden Zeichnung dargestellten Ausführungsbeispieles wird die Erfindung im folgenden näher beschriebent Es zeigen:
Figur 1 ein Blockdiagramm eines E/A-Systemes gemäß der vorliegenden Erfindung;
Figur 2 die E/A-Verarbeitungseinheit gemäß Figur 1 in näheren Einzelheiten;
Figuren 3a-3c die System-Schnittstelleneinheit gemäß Figur 1 in näheren Einzelheiten;
Figuren 4a und 4b eine Multiplexereinheit gemäß Figur 1 in näheren Einzelheiten;
Figur 5a die Leitungen, welche gemäß der vorliegenden Erfincdung eine Daten-Schnittstelle bilden; Figur 5b die Leitungen, welche eine programmierbare Schnittstelle in dem System gemäß Figur 1 bilden; Figur 5c die Leitungen, welche die Unterbrechungs-Schnittstelle gemäß Figur 1 bilden;
Figur 5d die Leitungen, welche eine interne Speicherschnittstelle gemäß Figur 1 bilden;
609841/0896
Figur 6 das Format der Programmbefehle WREX und RDEX;
Figuren 7a-7c die Formate von Schnittstellen-Anweisungen;
Figur 7d eine Anzahl verschiedener Register-Ladeanweisungen, die im Zusammenhang mit dem Multiplexermodul 300 gemäß Figur 1 benutzt werden;
Figur 7e eine Anzahl verschiedener Register-Leseanweisungen, die im Zusammenhang mit dem Multiplexermodul 300 gemäß Figur 1 benutzt werden;
Figuren 8a und 8b die Formate verschiedener Kanal-S'teuerworte; Figur 9 die Signalfolge bei der Verarbeitung einer Unterbrechung ;
Figuren 10a und 10b die Signalfolgen bei der Übertragung einer WREX-Anwei sung.
Figur 10c die Signalfolge bei der Ausführung einer Anweisung RDEX;
Figur 1Od die Signalfolge bei der Ausführung einer Anweisung WREX;
Figuren 11a und 11b die Signalfolgen hinsichtlich der Ausführung von Speichervlese- und Schreiboperationen unter Verwendung einer negativen Logik;
Figur 12 die Signalfolge bei der Datenübertragungsoperation
aus einem peripheren Gerät;
Figur 13 das Format eines Unterbrechungs-Datenwortes;
Figur 14 das Format eines Types von Steuerungsdaten;
Figur 15 die Anordnung eines Unterbrechungs-Steuerblocks im
Speichermodul 500 für den Multiplexer 300 gemäß Figur 1 und
Figur 16 die schematische gleichzeitige Datenübertragung
innerhalb des Multiplexers 300.
Allgemeine Beschreibung
Gemäß Figur 1 weist das System der vorliegenden Erfindung
wenigstens einen E/A-Prozessor IOPP-200, eine Systemschnittstelleneinheit SIU-100, einen Hochgeschwindigkeitsmultiplexer HSMX-300, einen Niedriggeschwindigkeitsmultiplexer LSMX-400,
609841/0896
einen Zentralprozessor 700 und wenigstens einen Speichermodul entsprechend einem internen Speichermoudul 500 auf. Verschiedene dieser Module sind jeweils an einen aus einer Reihe von Anschlüssen der System-Schnittstelleneinheit 100 über eine Vielzahl von Leitungen angeschlossen, die ihrerseits verschiedene Arten von Schnittstellen 600-603 bilden. Insbesondere sind der E/A-Prozessor 200, der Zentralprozessor 700 und der Hochgeschwindigkeitsmultiplexer 300 an die Anschlußstellen G, E und A 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 Zentraiprozessor 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 an die Anschlußstellen J, K und L angeschlossen. Diese Module sind durch die Niedriggeschwindigkeitsmultiplexer und die System-Schnittstelleneinheit 100 gegeben und sie sind in der Lage, Anweisungen zu; interpretieren und auszuführen, die auf den Leitungen der Schnittstelle 601 zugeführt werden. Die letzte Gruppe der Module wird durch die internen Speichermodule und die nicht dargestellten externen Speichermodule gebildet,wie sie beispielsweise im Hauptsystem gegeben sind und die in der Lage sind, zwei verschiedene Arten von Anweisungen auszuführen, die auf den Leitungen der Schnittstelle 603 zugeführt werden.
Das E/A-System gemäß Figur 1 arbeitet normalerweise als ein E/A-Untersystem in Abhängigkeit von durch den Zentralprozessor 700 ausgegebenen E/A-Befehlen, die an die Anschlußstelle E über die Schnittstellen 600, 601 und 602 angeschlossen sind und eine Datenschnittstelle, eine programmierbare Schnittstelle und eine
609841/0896
— O —
Unterbrechungs-Schnittstelle repräsentieren. Die Anschlußstellen P und 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 sind j und er verarbeitet Unterbrechungsanforderungen, die er von der System-Schnittstelleneinheit 100 erhält und schließlich steuert er periphere an den Niedriggeschwindigkeitsmüitiplexer 400 angeschlossene Geräte. Der Prozessor 200 ist über die Datenschnittstelle 600 und die Ünterbrechungs-Schhittstelle 602 mit der Anschlußstelle H verbünden» 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 einer Geräte-Adapter^-SchnittsteÜe DÄI 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, Kartenstanzer und Drucker» Wie äüs Figur 1 ersichtlich; ist der Multiplexer 400 über die programmierbare Schnittstelle 601 mit der Anschlußstelle J verbünden*
Der Hochgeschwindigkeitsiiiultipiexer 30Ö steuert direkt die Datenübertragung zwischen der Gruppe von Platteneinheiten und Bandeinheiten 309-312, die an verschiedene Kanaladapter 203-306 angeschlossen sind4 Jeder der Kanal-Steuerädapter 303-306 ist seinerseits über die Leitungen einer Kanal-Adapter-Schnittstelle CAI-301-1 an verschiedene Anschlußstellen 0-3 angeschlossen. Der Hochgeschwindigkeitsmultiplexer 300 ist mit der Anschlußstelle A über eine Datehschnittstelle 600/ eine programmierbare Schnittstelle 601 und eine Ünterbrechungs-Sehnittstelle 602 angeschlossen. Jeder der Kanal-Steueradapter 303-306 kann so, ausgebildet sein, Wie dies ih der zuvor erwähnten US-PS 3 742 457 beschrieben ist. 609841/089S
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 festellen 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 Unterbrechungsanforderungen 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.
609841/0896
Gemäß Figur 5a umfaßt die Schnittstelle mehrere Leitungen mit folgender Bedeutung: Aktive Ausgangs-Anschluß-Anforderung AOPR/ Daten zur Schnittstelleneinheit DTS OO-DTS 35, PO-P3,· Steuerung von Daten zur Schnittstelleneinheit SDTS 0-6, P/identifizierte Mehrfachanschlüsse zur Schnittstelleneinheit MITS 0-3, P/ aktive Anforderung angenommen ARA/ gelesene Daten angenommen ARDA· Daten von der Schnittstelleneinheit DFS 00-35, P0-P3; Mehrfachanschluß- Identifizierer von der Schnittstelleneinheit, MIF.S 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, P0-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
609841/0896
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 ent-
* haltenen Anordnung geprüft wird.
MITS 0-3, P Diese Leitungen erstrecken sich von dem aktiven
Modul zu der Schnittstellenheit SIU-100. Sie zeigen durch ihre Codierung an, welcher Unterkanal oder Anschluß innerhalb eines aWtiven
609841/08SS
Moduls das Setzen der Leitungen AOPR verursacht hat.
ARA Diese Leitung erstreckt sich von der Schnitt
stelleneinheit 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-Sclmtbstellenleitungen zu entfernen.
ARDA Diese Leitung erstreckt sich von der Schnitt
stelleneinheit 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.
DFS 00-35, P0-P3 Die Daten von der Schnittstelleneinheit werden
auf einem anderen Satz von Datenübertragungsleitungen übertragen, welche eine Breite von vier Bytes aufweisen 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.
MIFS 0-3, P 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.
DPFS Diese Doppelpräzisions-Leitung erstreckt sich
von der Schnittstelleneinheit SIU zu jedem der aktiven Module. Durch den Zustand dieser Leitung wird angezeigt, ob ein oder zwei Worte der gelesenen Daten von dem aktiven Modul zur Ver-
609841/0896
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 ARDA ist, signalisiert dem aktiven Modul, daß er die auf den DPS-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 "Dialog1.1 be-zei-
chnete 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;. P0-P3; 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.
609841/0896
PDFS 00-35, PO-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-
609841/0896
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 Regelnerfolgt, 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 Steuerinformatiön, deren übertragung nach dem E/A-Prozessor angefordert wird, wenn eine Unterbrechungsanforde-
609841/0896
rung von dem Prozessor angenommen worden ist. Diese Bits sind wie folgt.codiert: a) Der Zustand des Bits O signalisiert der Schnittstelleneinheit SIUrIOO, 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.
IMID 00-03 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. LZP 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.
HLIP 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.
609841/0896
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; PI-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
609841/0896
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 SIü-100 angeschlossenen Module nicht direkt eine Speicherunterbrechung veursachen können. Eine Beschreibung der internen Speicherschnittstellenleitungen wird nachstehend in näheren Einzelheiten gegeben.
Beschreibung _
auf,
Diese Leitungen weisen eine Breite von 4 Bytes
RITM 0-3, PO RITM 4-7, P1
Interne Speicher-Schnittstellenleitungen
Bezeichnung DTM 00-35, PO-P3
06 Informationsleitungen 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 Anforderungsidentifizierung 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
609841/0896
SLTM 0-3, P
— 1 Q —
• 1-7
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 Schnxttstelleneinheit 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äzisioris-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 Schnxttstelleneinheit 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 Schnxttstelleneinheit SIU-100 nach dem internen Speichermodul 500 und sie zeigt im gesetzten Zustand dem internen Speichermodul 500 an, daß eine von der Schnxttstelleneinheit 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.
609841/0896
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.
609841/0398
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 Schnittstelleneinheit 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 vdrd 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-
609841/0896
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-Prozessor 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 Steuerspeicher 201-10 gespeicherten Mikrogrogrammen.
Steuerspeicherabschnitt 201
Der Steuerspeicher 201-10 besteht beispielsweise aus Abschnitten eines Festwertspeichers ROM. Der Steuerspeicher 201-10 ist über
609841/0896
Signale von irgendeiner von acht Ursprungsadressen adressierbar, 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-Ursprurcpadressen 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.•►Steuerschaltkreisen 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
609341/0896
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 v/erden 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.
609841/0896
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
SO 9841/0896
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.
609841/0896
Der Zwischenspeicher 203-10 wird über einen Daten-Auswahlschalter 2O3-1"4 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
609841/0896
2 6 1 2 Π 8 3
von dem Prozeßzustandsregister 204-20 ein Modussignal zugeführt. Das Modussignal zeigt an, ob der Prozessor 200 in der Hauptbzw. Nebenbetriebsweise betrieben wird t 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
609841/0896
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) ges.peichert. 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 Allgemeinregisteifn (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 Unterbrechungssteuerblocktabellen 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 Unterbrechungs-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 O auf. Die Ausnahmennummer (ECB-Nummer) wird zur Bestimmung eines der Ausnahmesteuerblöcke ECB mit vier Worten benutzt, welcher auf eine Ausnahme-Verarbeitungsrcutine verweist.
609841/0896
Die Byte-Adresse eines Ausnahmesteuerblockes ECB entspricht der Steuerblockbasis CBB-16 (ECB-Nummer -1). Jeder Ausnahmesteuerblock ECB v/eist 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 Ausgangs-· leitungen 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 204-5 j an den Schalter 203-18 und den Zwischenspeicher 203-10 an-
609841/0896
" 31 " 2612 08?,
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 Verarbeitungsabschnitt 204 ein Prozeßzustandsregister 204-20 und ein Prozeßsteuerregister 204-22 auf. Das Prozeßzustandsregaster 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-
609841/0896
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 O). 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-
609841/0896
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
609841/0896
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 Schiene 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 Ünterbrechungsanforderungsleitung 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-
609841/0896
brechungs-Steuerblocknummer von 8 Bit einschließlich eines Paritäts-Bits auf sowie eine Unterbrechungs-Pegelnummer von 3 Bit und eine Prozessornummer von einem Bit mit einem Paritäts-Bit und schließlich eine Kanalnummer von 4 Bit.
Die Schaltkreise des Blockes 101-2 weisen Decodierschaltkreise auf, die ^rozessornummer 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 Ünterbrechungs-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 Ünterbrechungs-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
6G9841/0896
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 "O" 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:
609841/0896
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 Identfizierungsinformation, die von den verschiedenen Ursprungsmodulen des Systems erzeugt wird, wird anderen Gatterschaltkreisen 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
609841/0896
Multiplexer 300 zu übertragen hat. Weiterhin weist der Abschnitt 102 Prioritätsschaltkreise auf, welche festlegen, welcher Quelleni'iodul 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
609841/0896
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 200 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 unterbrechungsanforderung 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 300 überträgt. Eine solche übertragung erfolgt beim Auftritt einer Speicherleseanweisung ZAC, die über das Netzwerk 102-20 von dem
609841/0^96
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ür.gelesene 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 f 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
609841/0896
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 Speichermödul 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
60 9841/0896
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.
609841 /089 δ
Hochgeschwindigkeitsraultiplexer 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 3O1«5 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.
609841/0896
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 ünterbrechungs-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 30H0 sind in Abhängigkeit von durch ein Unterbrechungspegel-Prioritätsnetzwerk 301-24 erzeugten Signalen selektiv an ein Ünterbrechungs 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 Ünterbrechungsanforderungen
609841/0898
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-Unberbrechung; 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 Unterbrechungsanförderungen 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-Unterbrechungsanforderung mit den Nummern 0-3 entsprechend EVO-EV3 bezeichnet sind, während die vier Steueradapter-Unterbrechungsanforderuncpmit 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.
6Q9841/Q89S
Die Schaltkreise innerhalb des Blockes 301-34 kombinieren die Signale von jedem der Maskenregister des Blockes 301-14 mit den UnterbrechungsrAnforderungsSignalen 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. CA0=00XX=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,
809841/0896
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 werden 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. D.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.
609841/0896
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 werden. Die Ausgangssignale des DT-Schalters 301-20 und des ZAC-Schalters 3Of61 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-Register 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
609841/0896
H-Schalter 301-42 zugeführt erhält. Die Signale des Datenübertragungsschalters 301-6 werden über Treiberschaltkreise des Blockes 302-2 einem zweistufigen Datenausv/ahlschalter 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
609841/0896
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.
CDR 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.
EDT 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).
DFA 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.
PIDFA 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.
ADFA 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.
AD-BUSY 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.
609841/Q(FUe
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 gespeicherten Worte angeben, die ihrerseits benutzt werden, um den Status einer Ubertragungsoperation zu bestimmen.
609841/0896
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.
Beschreibung der Wirkungsweise
Die Wirkungsweise des Systems gemäß der vorliegenden Erfindung wird nunmehr anhand der Figuren 1-16 im Zusammenhang mit der Ausführung einer Übertragungsoperation gelesener Daten beschrieben, wobei angenommen sei, daß eine Platteneinheit an den mit CAO bezeichneten Kanalabschnitt angeschlossen ist. Es sei hier vermerkt, daß vor der Ausgabe von Anweisungen an irgendeinen Modul der Prozessor 200 die verschiedenen Module gemäß Figur 1 initialisiert haben muß. Betrachtet man den Modul 300, so führt der Prozessor 200 als Teil einer Initialisierungsfolge eine Reihe von WREX-Befehlen aus, die aus dem Speichermodul abgerufen v/erden und die verschiedene Register des Multiplexers 300 laden.
Figur 6 zeigt das Format des WREX-Befehles, wobei der Operationscode so codiert ist, daß er eine externe Schreib-Registeroperation festlegt, die durch die Erzeugung einer programmierbaren Schnittstellenanweisung ausgeführt wird. Das GRi-FeId gibt durch seine Codierung an, welches der Allgemeinregister des Zwischenspeichers 303-10 die Information enthält, die in ein externes durch das Adressenfeld bestimmtes Register zu laden ist.
Der Operationscode des Befehls wird durch den Befehlsregisterschalter 202-4 dem Speicher 201-2 zugeführt, wodurch der Speicher
6098A1/C89S
zur Bezugnahme auf einen der Speicherplätze veranlaßt wird. Der Inhalt des Speicherplatzes wird in das Register 201-4 ausgelesen und er beinhaltet ein Adressenpaar, das die Startadresse im Steuerspeicher 201-10 der Mikrobefehlsfolge festlegt, die für die Befehlsbearbeitung erforderlich ist.
Während einer ersten Befehlsphase erzeugt der B-Schalter 204-1 Signale entsprechend dem Adressenfeld des WREX-Befehles an den B*-Qperandeneingängen der Addier/Verschiebeeinheit 204-9 über die IL-Position des B-Schalters 204-1, während der Inhalt (Null) des Zwischenspeicherpuffers 203-16 über den A-Schalter 203-20 an die A-Operandeneingänge gelegt wird. Die Summe der beiden Operanden, die dem Adressenfeld der Anweisung gemäß Figur 7a entspricht, wird in das Arbeitsregister R2 übertragen. Danach wird der durch das GRi-FeId des WREX-Befehls festgelegte Allgemeinregister-Speicherplatz über die Adresseneingänge 203-14 adressiert und der Inhalt des Datenwortes in den Puffer 203-16 übertragen.
Während der Ausführungsphase des WREX-BefenIs wird die in dem Register R2 enthaltene programmierbare Schnittstellenanweisung auf die WRP-Datenschiene gegeben und über die Pl-Position des Adressenschalters 204-6 und den Doppelkanal-Schalter 204-8 in das Datenausgangsregister 204-14 geladen. Die Signale weisen einen Pegel oder einen Typ von Steuerungsinformation auf (z.B. die Kanalnummer gemäß 7a), die als Teil der Anweisung übertragen wird und zur Auswahl eines Teiles des Multiplexers 300 benutzt wird, und sie weisen eine Prozessornummer auf, die den Anschluß, an den der Prozessor anzuschließen ist, und die Identität des Prozessors bestimmt. Die Schnittstelleneinheit SIU-100 versorgt den Prozessor 200 über ein nicht dargestelltes Leitungspaar mit der Prozessor-Identifikationsnummer, Im Falle des Prozessors besitzt die Information den Wert Null und es wird daher das Prozessornummer-Bit 3 der programmierbaren Schnittstellenanweisung auf den Wert "0" gesetzt. Zusätzlich lädt unter der Steuerung eines Mikroprogrammes der Prozessor 200 Signale aus dem
609841/0896
Register 201-15 und dem PSR-Register 204-20 über die PI-Position des Steuerungsschalters 204-10 in die Bit-Positionen 0-8 des Steuerungsregisters 204-16. Diese Signale besitzen das Format gemäß Figur 14 und sie ergeben einen anderen Pegel oder eine andere Art von Steuerungsinformation vor, die von der Schnittstelleneinheit SIU-Ί00 zur übertragung der programmierbaren Schnittstellenanweisung zu dem Multiplexer 300 oder zu dem Anschluß ,an den der Multiplexer 300 angeschlossen ist, verwendet wird.
Nach dem Laden der beiden Register 204-14 und 204-16 veranlaßt der Prozessor 200 die Leitung AOPR zur Annahme des Wertes "1", wodurch die Signalfolge zur übertragung der programmierbaren Schnittstellenanweisung nach dem Multiplexer 300 beginnt. Der Prozessor 200 erhöht ferner den Zählstand des Befehlszählers IC und speichert das Ergebnis im Arbeitsregister R3 ab. Sodann verzögert der Prozessor 200 die Ausführung des nächsten Mikrobefehles, bis er ein Signal über die Leitung ARA von der Schnittstelleneinheit SIU-100 erhält, wodurch die Annahme der Anforderung angezeigt wird.
Die Signalfolge für die Anweisungsübertragung ist in Figur 10a dargestellt. Die Schnittstelleneinheit SIU-100 betrachtet die programmierbare Schnittstellenanweisung als eine ein Zykluspaar erfordernde Anweisung, wobei ein Adressen/Anweisungszyklus von einem mit A und B in Figur 10a bezeichneten Datenzyklus abgelöst wird. Die Leitung PIR weist den Wert "1" auf, wenn der Multiplexer 300 bereit ist, die programmierbare Schnittstellenanweisung anzunehmen. Das Prioritätsnetzwerk 102-4 gemäß Figur 3b liefert während des ersten Operationszyklus die Anweisung über den Auswahlschalter 102-2 an die Leitungen PDFS des Multiplexers 300. Der Prozessor 200 verzögert die Informationsspeicherung in dem Datenausgangsregister 204-14 solange bis die Schnittstelleneinheit des SIU 100 die Leitung ARA auf den Wert "0" umschaltet. Simultan mit diesem Vorgang schaltet die Schnittstelleneinheit SIU-100 die Leitung APC auf "1", wodurch dem Multiplexer 300 angezeigt wird, daß er programmierbare Schnittstellenanweisung annehmen kann.
609841/0836
— '"ι Jl η
Bei Feststellung der Änderung des Signalzustandes auf der Leitung ARA, vervollständigt der Prozessor 200 unter Steuerung durch einen Mikrobefehl die Verarbeitung des WREX-Befehls, indem er das Datenwort gemäß Figur 7a von dem Puffer 203-16 über die Addier/Verschiebeeinheit 204-2 und die Addier/Verschiebestellung des Schalters 204-8 in das Daten-Ausgangsregister 204-14 überträgt. Wie aus Figur 10a ersichtlich, wird dieses Wort der Schnittstelleneinheit SIU-100 während des ersten Taktimpulses angeboten, nachdem der Prozessor 200 die Veränderung des Signalzustandes auf der Leitung ARA festgestellt hat. Das Datenwort bleibt auf den Leitungen DTS bis zum Erscheinen des nächsten Taktimpulses erhalten, wobei zu diesem Zeitpunkt die Operation vervollständigt ist.
Aus Figur 4a ist ersichtlich, daß das Anweisungswort und das Datenwort über die Leitungen PDFS in das PC-Register 301-2 und das PD-Register 301-5 geladen werden. Die Schaltkreise des Blockes 301-4 decodieren das Anweisungssignal und erzeugen Steuersignale, durch welche die Datensignale in dem PD-Register 301-5 in eines der ICB-Register 301-10 und der Kanalpegelregister 301-12 geladen werden, wobei diese Register durch das Adressenfeld der programmierbaren Schnittstellenanweisung über die PD-Position des Schalters 301-6 und die Treiberschaltkreise 301-8 und 301-15 angewählt werden.
Bei Beendigung der Ausführung der vier WREX-Befehle sind alle Register 301-10 und 301-12 mit den geeigneten Signalen geladen, die die Gruppe der durch jeden Kanal zu benutzenden Unterbrechungssteuerblöcke und die jedem der acht möglichen Unterbrechungszustände pro Kanal zugeordneten Prioritätspegel festlegen. In gleicher Weise werden die Maskenregister 301-14 durch programmierbare Schnittstellenanweisungen vorbereitet, die in Abhängigkeit von einem anderen Satz von WREX-Befehlen erzeugt werden. Im gesetzten Zustand erlaubt der Inhalt dieser Register die Maskierung bestimmter Unterbrechungsbedingungen. Hierdurch ist der Prozessor 200 nicht gezwungen, durch Software jene Unterbrechungen festzulegen, auf die er zu reagieren beabsichtigt und die er dem Multiplexer 300 anzeigen möchte.
609841/0896
Hinsichtlich des Multiplexers 300 sind die Gruppen von Unterbrechungssteuerblöcken im allgemeinen durch die Art der peripheren Geräte definiert. Insbesondere sind während der Auslösung des Multpliexers 300 die an Platteneinheiten angeschlossenen Kanäle einem Satz von Unterbrechungssteuerblockroutinen zugeordnet, während die an Bandeinheiten angeschlossenen Kanäle einem arideren Satz von Unterbrechungssteuerblockroutinen zugeordnet sind. Es sei jedoch darauf verwiesen, daß auch beide Gerätetypen dem gleichen Satz von Unterbrechungssteuerblockroutinen zugeordnet sein können. Da die Unterbrechungssteuerblocknummer aus der 5-Bit-ICBD-Nummer und der 3-Bit-Typnummer besteht, weist jeder Satz von Unterbrechungssteuerblockroutinen acht Routinen auf, wobei jede der Verarbeitung eines Unterbrechungstypes dient. Die 32 Sätze von Unterbrechungssteuerblöcken, die zur Bearbeitung von bis zu 256 Unterbrechungsvektoren benutzt werden, sind daher in dem internen Speichermodul 500 in der in Figur 15 dargestellten Weise angeordnet. Diese Anordnung, bei der die unterbrechende Stelle die Routine für die Verarbeitung des Unterbrechungstypes bestimmt, veranlaßt den Prozessor 200 zum direkten Eintritt in eine Routine, die auf das auslösende Ereignis zugeschnitten ist. Damit wird der normalerweise erforderliche Aufwand, der für die Bearbeitung von Unterbrechungen durch Suchprogramme erforderlich ist, eliminiert. Insbesondere gestattet diese Anordnung die Modifizierung der Unterbrechungs-Steuerblocknummer, falls die Ausführung spezieller Operationen, wie beispielsweise Test- und Diagnoseoperationen oder solcher Operationen zum Betrieb eines Gerätes in unterschiedlichen Betriebsweisen, gefordert wird.
Was die Zuordnung der Prioritätspegel zu den verschiednen Arten von Kanaladapter-Unterbrechungen anbelangt, so wird diese durch die Echtzeitdringlichkeit der Unterbrechung in der zuvor erwähnten Weise festgelegt. Insbesondere liegt die Operationsgeschwindigkeit für eine vollständige Datenauffindung hinsichtlich der Platteneinheit im' ms-Bereich, während eine Datenübertragung in weniger als einer ms-Sekunde ausgeführt werden kann.
60S841/0896
Es ist daher für eine wirksame Systemoperation wichtig, daß der Prozessor 200 eine das Ende einer Datenübertragung anzeigende Unterbrechung sofort bearbeitet, um feststellen zu können, welche anderen Geräte eine Datenübertragung beginnen können, so daß der Kanal für die größtmögliche Zeit belegt ist. Dementsprechend wird der der Datenübertragungsbeendigung zugeordneten Unterbrechung eine höhere Priorität als der vollständigen Datenaufsuche zugeordnet, die als ein Offline-Ereignis betrachtet werden kann. Das durch den Steueradapter signalisierte Ereignis der vollständigen Datenaufsuche kennzeichnet somit den Zustand, indem die Platteneinheit ihre Lese/Schreibköpfe auf dem ausgesuchten Zylinder.positioniert hat. Der Steueradapter wird daher immer, wenn dies geeignet erscheintj feststellen, ob dieses Gerät dasjenige ist, das die nächste Datenübertragungs-Anweisung auszusenden hat.
Hinsichtlich der Unterbrechung betreffend die abgefühlte Umdrehungsposition erzeugt der Steueradapter das Unterbrechungssignal, um demProzessor 200 an-zuzeigen, daß ein bestimmtes Gerät am dich-.testen an einem gesuchten Sektor angeordnet ist. Dadurch wird für den Prozessor 200 eine Priorität gebildet, durch die das nächste Gerät zum Beginn einer Datenübertragung ausgewählt wird. Wenn der Prozessor 200 diesen Typ der Unterbrechung empfängt, so besitzt er normalerweise weniger als eine ms Zeit, um mit der nächsten Operation zu beginnen. Da die zeitliche Behandlung in diesem Fall sehr kritisch ist, wird dieser Unterbrechung eine höhere Priorität als in dem zuvor erwähnten Fall zugeordnet. Bei einer Platteneinheit ergeben sich somit folgende Prioritätspegel: Ein durch die Hardware festgestellter Fehler weist die höchste Priorität mit EV4 auf; eine abgefihlte Umdrehungsposition besitzt die Priorität EV5; die Beendigung einer Datenübertragung die Priorität EV6 und die Vervollständigung einer Datensuche mit EV7 die geringste Priorität.Da .durch die von der Hardware festgestellten Fehler weitere Operationen gesperrt werden.muß diesem Ereignis die höchste Priorität zugeordnet werden.
6098A1/Q898
Da es besonders wünschenswert ist, verschiedene Typen von Steueradaptern und Geräten an verschiedene Multiplexerkanale anzuschließen, erleichtert die Anordnung gemäß der vorliegenden Erfindung solche Veränderungen. Insbesondere macht es die vorliegende Anordnung möglich, die den verschiedenen Typen von Ereignisauftritten zugeordneten Prioritätspegel zu modifizieren, falls ein Ereignisauftritt eines Steueradapters eine höhere Priorität als der gleiche Ereignisauftritt eines anderen Steueradapters erfordert. In Abhängigkeit von der Anordnung des Steueradapters können somit verschiedene Zeitanforderungen für die gleichen Ereignisauftritte bestehen. Unterschiedliche Geschwindigkeiten und Spurenformate der Platteneinheit können ebenfalls unterschiedliche EV5- und EV6-Prioritätspegel erfordern.
609841/0896
Nach.der Ausführung der WREX-Befehle ist der Multiplexer 300 entsprechend vorbereitet, um Unterbrechungen, die ihm von irgendeinem der vier Steueradapter 303-306 zugeführt werden, zu verarbeiten. Es sei angenommen, daß der Zentralprozessor 700 Befehle ausführt, die den Prozessor 200 zur Auswahl des Kanales CAO veranlassen, um eine Operation betreffend die Übertragung gelesener Daten auszuführen, wovon irgendeine der an den Steueradapter angeschlossenen Platteneinheiten betroffen ist.
Wie zuvor erwähnt, weist jeder Kanalabschnitt ein Modusregister 302-5 auf. Die ersten vier Bit-Positionen des Registers 302-5 bestimmen durch ihre Codierung die Operation des Kanals und die nächsten vier Bit-Positionen die Operation des Steueradapters. Im vorliegenden Beispiel führt der Prozessor 200 einen anderen .WREX-Befehl aus, der eine programmierbare Schnittstellenanweisung zum Laden des Modusregisters 302-5 erzeugt. Die Anweisungs- und Datenworte werden in das PC-Register 301-2 und das PD-Register •305 geladen. Das in dem PC-Register 301-2 gespeicherte Anweisurigswort umfaßt eine Adresse, die durch ihre Codierung das Kanal-Modusregister 302-5 als dasjenige Register festlegt, das mit den Datenwortsignalen zu laden ist. Die Schaltkreise des Blockes 301-4 werden in die Lage versetzt, Signale zu erzeugen, um die Datensignale in dem PD-Register 301-5 über die PD-Position des Schalters 301-6, die Treiberschaltkreise 301-8 und den DTA-Schalter nach dem WD-Schalter 302-4 gemäß Figur 4b zu übertragen. Die in dem PC-Register 301-2 gespeicherte Kanalnummer ist so codiert, daß sie die DTA-Position des geeigneten WD-Kanalschalters (z.B. 302-4) auswählt, wodurch das Datenwort in das Kanalmodusregister 302-5 geladen werden kann.
Die erste Bit-Position im Modusregister 302-5 gibt durch ihre Codierung an, ob der Kanal in einer direkten oder indirekten Datenübertragungsweise arbeiten soll; die zweite Bit-Position legt fest, ob der Kanal eine Lese- oder Schreiboperation durchführen -soll; die dritte Bit-Position legt fest, ob die Operation von einem Datensteuerwort gesteuert wird oder nicht und die vierte Bit-Position bestimmt, ob es sich bei der Operation
609841/08^6
-«τ- 2612UB3
um eine Operation im Testmodus handelt. Es sei angenommen, daß die erwähnten Bits so codiert sind, daß sie eine indirekte Leseoperation, eine von einem Datensteuerwort gesteuerte Operation sowie eine normale Operation festlegen.
Nach dem- Laden des Kanal-Modusregisters 302-5 führt der Prozessor 200 einen weiteren WREX-Befehl aus, der eine programmierbare Schnittstellenanweisung zum Starten des Steueradapters 303 erzeugt. Das Anweisungswort ist so codiert, daß es die übertragung von Signalen entsprechend dem Anweisungswort an den Steueradapter 303 festlegt.(z.B. Bit 28=1). Insbesondere versetzt das in dem PC-Register 302 gespeicherte Anweisungswort die Schaltkreise des Blockes 301-4 in die Lage, Signale zu erzeugen, durch die Anweisungssignale über die PC-Position des Schalters 301-6, den CAO-DTA-Schalter zu den Treiberschaltkreisen 301-2 und über die DTA-Position des WD-Schalters 302-4 zu dem D-Schalter 302-10 übertragen werden. Die Anweisungssignale werden zu dem Steueradapter 303 über die WD-Position des D-Schalters 302-10 auf den DTA-Leitungen der CA-Schnittstelle 300-1 weitergeleitet.
Unter der Annahme, daß die programmierbare Schnittstellenanweisung eine Operation zum Laden eines Registers festlegt, setzt das in dem PC-Register 301-2 gespeicherte Anweisungswort die Schaltkreise des Blockes 301-4 in die Lage, Signale zu erzeugen, durch die das in dem PD-Register 301-5 gespeicherte Datenwort über die DTA-Leitungen zu dem Steueradapter 303 übertragen wird. Das Datenwort ist so codiert,daß es die in ein Modusregister zu ladende Modusinformation enthält, wobei das Modusregister in dem Adapter enthalten ist und dem Kanal-Modusregister ähnlich ist.
Mit Vervollständigung der Konditionierung des Steueradapters 303 und des Kanales 302 ist der Prozessor 200 bereit, den Beginn der Datenübertragungsoperation zu signalisieren. Im Falle eines Betriebes des Kanales in einer indirekten Betriebsweise erfordert der Kanal weitere Information zur Ausführung einer Datenübertragung. In der indirekten Betriebsweise steuert der Mutliplexer 300 die Datenübertragung mit den angeschlossenen Steueradaptern.
609841/0896
-ar-
2612U83
Aus diesem Grund muß der Kanal mit äatengesteuerten Worten versorgt werdenf die Informationen betreffend den Speicherplatz der Daten, den Betrag der zu übertragenden Daten und der Betriebsweise der Datenübertragung enthalten. Im Unterschied zu der direkten Betriebsweise überträgt der Steueradapter Speicheradressen, Anweisungen und Steuerungsinformation-zu einem Kanal, die ihrerseits durch den Multiplexer 300 über die Schnittstelleneinheit SIU-100 zu dem Speichermodul 500 weitergeleitet werden. Die Liste der äatengesteuerten Worte, deren Vollständigkeit durch den Prozessor 200 überprüft wird, umfaßt ein in dem internen Speichermodul 500 gespeichertes Kanalprogramm.Die Adresse der Liste ist in einem Listen-Hinweisadressenwort LPW des Kanalprogrammes enthalten.
Zur Auslösung der Kanaloperation führt der Prozessor 200 einen weiteren WREX-Befehl aus, wodurch eine programmierbare Schnittstellenanweisung erzeugt wird, die das Laden des LPW-Registers des Kanals (z.B. CAO) bewirkt. Das Anweisungswort, das.darauf-" folgend in das PC-Register 301-2 geladen wird, versetzt die Schaltkreise des Blockes 301-4 in die Lage, Signale zu erzeugen, durch die der Datenwortinhalt des PD-Registers 301-5 über die PD-Positionen der Schalter 301-6 und 301-42 und die HSW-Position des CW-Schalters 301-44 in das LPW-Registers desjenigen Kanales geladen wird, der in Abhängigkeit von den in dem PC-Register 301-2 gespeicherten Signalen ausgewählt wird. Das LPW-Register enthält nunmehr eine Adresse, die auf die Liste der datengesteuerten Worte verweist. Das Format des Listen-Hinweisadressenwortes LPW-ist in Figur 8a dargestellt. Nach der Ladung des Kanal- LPW-Registers führt der Prozessor 200 einen anderen WREX-Befehl aus, der eine programmierbare Schnittstellenanweisung erzeugt, durch die eine Lade-Steueroperation festgelegt wird, die anzeigt, daß das in dem PD-Register 301-5 gespeicherte Datenwort nicht zu beachten ist. Das programmierbare Schnittstellen-Anweisungswort ist gemäß Figur 7b codiert.
Das in dem PC-Register 301-2 gespeicherte Anweisungswort versetzt die Schaltkreise des Blockes 301-4 in die Lage, Signale zu
60 9841/0896
erzeugen, durch die Signale aus dem PC-Register 301-^-2 über die PC-Position des PD-Schalters 301-6 und die DTA-Position des WD-Schalters 302-4 in eine Gruppe von Kanal-Steuer-Flip —Flops 302-3 übertragen werden. Eines der Flip-Flops ist ein Auto-Flip-Flop, das in Übereinstimmung mit dem Bit 35 der programmierbaren Schnittstellenanweisung auf den Wert "1" gesetzt wird (Siehe z.B. Figur 7b). Im gesetzten Zustand zeigt dieses Flip-Flop dem Kanal an, daß mit der Datenübertragung begonnen werden kann.
Das Auto-Flip-Flop legt ein erstes Listensignal an einen der vier Eingänge des Prioritäts-Auswahl- und Steuerschaltkreises 301-48 sowie ein Behandlungs-Anforderungssignal an eine der beiden Anforderungsleitungen des Kanals an. Die Schaltkreise 301-48 wählen den Kanal mit der höchsten Priorität unter den Kanälen aus, die eine Behandlung anfordern, wobei dieser ausgewählte Kanal seinerseits durch seine vier Eingänge festlegt, welches der Register auszuwählen ist. Die Prioritätsschaltkreise 301-48 verschlüsseln das CAO-Behandlungs-Anforderungssignal in einem 2-Bit-Code (CAO=OO), wobei dieses codierte Signal den Schaltkreisen 301-4 zugeführt wird. Unter der Annahme, daß keine andere Operation im Prozeß auftritt, die das Eingehen auf die Anforderung verhindert (z.B. wenn keine Daten vom Speichermodul 500 übertragen werden), legen die Schaltkreise 301-4 Freigabesignale an die Schaltkreise 301-48 an. Die Schaltkreise 301-48 erzeugen ein Signal mit dem Wert "1" auf der Behandlungsleitung ANS des Kanales CAO. Dieses Signal macht den Kanal CAO für die Datenübertragung bereit.
Das von dem Kanal CAO über die Schaltkreise 301-48 weitergeleitete Listensignal veranlaßt die Schaltkreise 301-4 zur Auswahl der LPW-Position des C-Schalters 301-50. Signale entsprechend dem 2-Bit-Kanal-Code und dem Listensignal werden in die ersten 3-Bit-Positionen des Registers 301-65 geladen. Die beiden höchstrangigsten Bit-Positionen des Registers 301-65 bestimmen die Kanal-Anforderungsdaten. Wie aus Figur 4a ersichtlich(wird der Inhalt des Registers 301-65 auf die MITS-Leitungen gegeben.
609841/0896
Signale auf den Kanal-Auswahlleitungen von den Schaltkreisen 301-48 veranlassen die Auswahl des LPW-Registers- für den Kanal CAO.
Die Adresse in dem LPW-Register wird in das ZAC-Register der Registerreihe 301-64 geladen, wobei dieses Register in Abhängigeilt von Signalen ausgewählt wird, die von den Schaltkreisen 3OT-4 über die CSW-Positiqn des DT-Schalters 301-20 zugeführt werden, wobei die Position des Schalters 301-20 in Abhängigkeit von durch die Schaltkreise 301-48 zugeführten Signalen ausgewählt wird. Zusätzlich werden durch die Schaltkreise 301-48 Signale über die Zonen/CMD-Positionen des ZAC-Schalters 301-61 zugeführt, die in die erste Byte-Position des ZAC-Registers geladen werden. Dies führt zu einer Formatierung eines ZAC-.Anweisungswortes, wie dies in Figur 7c dargestellt ist. Die von verschiedenen Eingängen der vier Kanaleingänge (direkt oder indirekt, lesen oder schreiben, Einfach- oder Doppelpräzision und Liste) zugeführten Signale bestimmen den Status des Anweisungsteiles des ZAC-Anweisungswortes. Da der Multiplexer 300 nur ZAC-Anweisungen erzeugt,weist die Bit-Position 0 .des ZAC-Registers den Wert "0" auf. Da dies eine Listenbehandlung ist, sind die Bits des Anweisungsteiles so codiert, daß sie eine Lese-Doppelpräzisions-Anweisung bestimmen.
Während des Ladens des ZAC-Registers wird die LPW-Adresse dem Paar von Addiernetzwerken 301-52 und 301-54 zugeführt, wo die Adresse um 2 erhöht wird ( 2 Worte oder 8 Bytes), eine neue Parität erzeugt wird und das Ergebnis über die Ergänzungsposition des CW-Schalters 301-44 in das LPW-Kanalregister zurückgeholt wird. Zusätzlich wird die in dem LPW-Register enthaltene Steuerungsinformation in das Steuerungsregister 301-60 über die .CSW-Position des Steuerungsschalters 301-59 geladen. Das Laden des ZAC-Registers verursacht das Setzen des AOPR-Flip-Flops 301-69 auf den Wert "1".
609841/0896
Der Multiplexer 300 wartet,bis das Netzwerk 102-20 der Schnittstelleneinheit SIU-100 gemäß Figur 3b die Anforderung annimmt, die von der Leitung AOPR signalisiert wird, wenn die Leitung ARA den Wert "1" einnimmt. Die Dialog-Signalfolge zwischen der Schnittstelleneinheit SIU-100 und dem internen Speichermodul 500 ist in Figur 11a dargestellt. Wenn, die Schnittstelleneinheit SIU-100 die Anforderung von dem Multiplexer 300 angenommen hat, so zwingt sie die Leitung AZC zur Einnahme des Wertes "1", wodurch der Modul 500 zur Auslösung eines Lese/Schreibzyklus der Operation veranlaßt wird. Wie aus Figur 11a ersichtlich, werden gleichzeitig mit dem Setzen der Leitung AZC die Signale ID des Anforderers, die ZAC-Anweisungssignale und das Doppelpräzisionssignal des Multiplexers 300 an die Leitungen RITM, DTM und SLTM der Schnittstelle 603 in Abhängigkeit von Signalen des Netzwerkes 102-20 angelegt.
Wie zuvor erwähnt, behält der.t'hterne Speichermodul 500 die I.D.Signale des Anforderers bei und holt diese zu der Schnittstelleneinheit SIU-100 als Steuerungsinformation mit den gelesenen Daten zurück. Gemäß Figur 11a ist ersichtlich, daß der interne Speichermodul 500 beim Schalten der ZIR-Leitung auf den Wert "0" anspricht. Hierdurch wird die Schnittstelleneinheit SIU-100 in die Lage versetzt, den Datenweg des Anforderers zu sperren. Der interne Speichermodul 500 löst die übertragung von Daten zu der Schnxttstelleneinheit SIU-100 aus, indem die Leitung RDTR auf "1" gesetzt wird und die von dem Multiplexer 300 herkommenden I.D.-Signale sowie ein Doppelpräzisionssignal auf den Leitungen RIFM und DPFM der Schnittstelle 603 abgegeben werden.
Die Schnittstelleneinheit SIU-100 reagiert auf das Umschalten des Signalzustandes auf der Leitung RDTR, indem sie den Signalzustand auf der Leitung RDAA auf den Wert "1" schaltet, wie dies in Figur 11a dargestellt ist. Dadurch wird dem internen Speichermodul 500 angezeigt, daß der Datenweg zu dem anfordernden Modul 300 geöffnet ist und mit der Datenübertragung weitergefahren werden kann. Das Signal auf der Leitung RDAA veranlaßt
609841/0896
ferner den Modul 5OOf ein zweites Datenwort an die Schnittstelle 603 abzugeben, wobei die Abgabe mit der abfallenden Flanke des Taktimpulses erfolgt, der auf den Empfang der Signale auf der Leitung RDAA folgt, wie dies aus Figur 11a ersichtlich ist. Bei einer Vervollständigung der Operation, d.h. sobald der Modul bereit ist, eine andere Anweisung anzunehmen, wird die Leitung ZIR auf den Wert "1" umgeschaltet.
Zum Zeitpunkt der Umschaltung der Leitung RDAA zeigt die Schnittstelleneinheit SIU-100 dem anfordernden Multiplexermodul 300 an, daß ein Datenwort an seine Leitungen DFS angelegt worden ist, indem die Leitung ARDA auf den Wert "1" gesetzt wurde. Die Schnittstelleneinheit SIU-100 legt ferner die ID-Signale des Anforderers an die Leitungen MITS an, wodurch die Signale in dem Register 301-68 gespeichert werden. Die in dem Register 301-68 gespeicherten ID-Signale werden an die· Schaltkreise 301-48 angelegt und decodiert und verursachen die Auswahl der geeigneten Kanalregister sowie die zusätzliche Freigabe des Kanales CAO über die CAO-Auswahlleitung. Das erste Datenwort wird in das H.Register 301-40 über die Treibers-haltkreise 301-3 geladen. Dessen Inhalt wird in das DT-Register des Kanales CAO über die H-Registerposition des Schalters 301-42 und die H-Registerposition des CW-Schalters 301-44 geladen. Das zweite Datenwort wird einen Taktimpuls später als das erste Datenwort in das Register 301-42 geladen und anschließend nach dem DA-Register 301-40 des Kanals CAO übertragen.
Wie zuvor erwähnt, wird durch die Signale der Schaltkreise 301-48 die Reihe der auszuwählenden Kanalregister gebildet. Wenn der Multiplexer 300 auf das Listenanforderungssignal des Kanales CAO anspricht, so erzeugen die Schaltkreise 201-48 ebenfalls ein Signal, das die Kanalschaltkreise 302-7 gemäß Figur 4b veranlaßt, das Listen-Flip-Flop auf den Wert "0" zurückzustellen. Zu diesem Zeitpunkt veranlassen die Schaltkreise 302-7 ein nicht dargestelltes Kanal-Beleg-Flip-Flop den Wert "1" einzunehmen, wobei dieses Flip-Flop als ein weiteres Steuer-Flip-Flop betrachtet werden kann. Dieses Flip-Flop legt seinerseits ein "1"-
609841/0898
26 Ί 2083
Signal an die Kanal-Beleg -Leitung des Kanals CA1 des Steueradapters 303 an, wodurch angezeigt wird, daß dieser Kanal für eine Datenübertragung bereit ist.
Die Formate der beiden Datenworte des datengesteuerten Wortes DCW, die in den Registern DT und DA enthalten sind, sind in Figur 8b dargestellt. Das DT-Register weist eine Bit-Position auf, die anzeigt, ob die erste übertragung von Daten zu dem Speichermodul 500 eine Einfach- oder Doppelpräzisionsübertra— gung darstellt. Es sei angenommen, daß diese Bit-Position den Wert "0" aufweist und damit eine Doppelpräzisionsübertragung anzeigt.
Der Steueradapter 303, der einen herkömmlichen Aufbau aufweisen kann, führt eine Suchoperation durch, um auf der zuvor durch eineroiangegangene ausgegebene Suchanweisung ausgewählten Platteneinheit die Daten aufzusuchen, deren Übertragung nach dem internen Speicher 500 gefordert wird. Bei der Feststellung der Daten bewirkt der Steueradapter 300 das Lesen und die Übertragung der gesammelten Bytes von der Platteneinheit. Wenn der Steueradapter 303 ein vollständiges Datenwort (z.B. 4 Bytes) erfaßt hat, so zwingt er die Leitung ADFA zur Annahme des Wertes "1", wodurch dem Multiplexer 300 angezeigt wird, daß das erste Datenwort an die Leitungen DFA angelegt ist und übernommen werden kann. Die Signalfolge zwischen dem Kanal und Steueradapter 303 ist in Figur 12 dargestellt.
Gemäß Figur 4b versetzt das Signal auf der Leitung ADFA die Schaltkreise 302-7 in die Lage, Signale zu erzeugen, durch die die DFA-Position des D-Schalters 302-6 ausgewählt wird und das erste Wort in das D-Register 0 der Reihe 302-8 geladen wird.. Da sowohl das Lese- als auch das Schreibadressregister des Blockes 302-14 anfänglich auf den Wert 11O" zurückgestellt ist, wird das D-Register 0 ausgewählt. Da es sich um eine Operation mit Doppelpräzision handelt, wartet der Kanal CAO, bis er das zweite Wort von dem Adapter303 empfangen hat. In der gleichen bereits erwähnten Weise veranlaßt der Kanal CAO das Laden des zweiten Wortes
609841/0896
in das nächste Register (z.B. D-Register 1) der Reihe 302-8. Es sei hier vermerkt, daß die in dem Schreibregister gespeicherte Adresse nach jeder Wortübertragung um 1 erhöht wird. Bei der Feststellung des Vorhandenseins zweier Worte in der Registerreihe 302-8 veranlassen die Schaltkreise des Blockes 302-7 die Erzeugung eines Behändlungs-Anforderungssignales, das an die Schaltkreise 301-48 gemäß Figur 4a angelegt wird. Die Schaltkreise 302-7 zwingen die Kanaleingangsleitungen ferner zur Signalisation einer Schreiboperation mit Doppelpräzision. Zu diesem Zeitpunkt nimmt die Listenleitung den Wert "0" ein, während die Modusleitung noch durch ihren Zustand die indirekte Betriebsweise signalisiert.
Bei der Annahme der Behandlungsanforderung erzeugen die Schaltkreise 301-48 einen Code auf den Behandlungs-Auswahlleitungen, die an die Schaltkreise 301-4 angeschlossen sind. Die Schaltkreise 301-4 versetzen die Schaltkreise 301-48 in die Lage, ANS-Behändlungssignale zu erzeugen und ein Auswahlsignal für den Kanal CAO vorzugeben. Ferner verusachen die Schaltkreise 301-4 die Auswahl der DA-Position des C-SÖhalters 301-50, um die letzten drei Positionen des ZAC-Registers der Reihe 301-64 und das Steuerungsregister 301-60 zu laden. Das Laden erfolgt über die Zonen/CMD-Schaltposition des ZAC-Schalters 301-61, den DT-Schalter 301-20 und den Steuerungsschalter 301-59. Ebenso werden die ersten zwei Bit-Positionen des Registers 301-65 mit Nullstellen geladen, wodurch der Kanal CAO als Anforderer festgelegt wird. Die Bit-Position 3 nimmt den Wert "0" ein, wodurch angezeigt wird, daß keine Listenbehandlung vorliegt.
Zu diesem Zeitpunkt wird die Leitung AOPR zur Einnahme des Wertes "1" gezwungen. Während des gleichen Zeitabschnittes und während des auf die Kanalauswahl folgenden zweiten Taktimpulses wird die Adresse DA durch das Addiernetzwerk 301-52 um 2 erhöht, und über die Ergänzungsposition des CW-Schalters 301-44 in das DA-Register zurückgeholt. Als nächstes wird die DT-Registerposition des C-Schalters 301-50 ausgewählt, die Daten-Zählerinhalte· dem Addiernetzwerk 301-52 zugeführt und in diesem um 2 erniedrigt und c^s^i ;eßend Cb(f den Schalter 301-44 in das
609841/0898
DT-Register zurückgeführt.
Während des nächsten Taktimpulses nimmt der DT-Schalter 301-20 die CAO-DS-Position ein, wodurch der Inhalt des Datenregisters in das Datenregister 1 der Registerreihe 301-64 geladen wird. Nach der Kanalauswahl erhöhen die CAO-Kanalschaltkreise 302-7 den Inhalt des Lese/Adress-Registers um 1, wodurch der Inhalt des Datenregisters 1 in das Datenregister 2 der Registerreihe 301-64 geladen wird.
Eine Signalfolge ähnlich der zurvorbeschriebenen wird ausgelöst, um durch die Schnittstelleneinheit SIU-100 die ZAC-Anweisung zu übertragen, wobei diese Anweisung das Format gemäß Figur 7c aufweist (z.B. wird die Leitung AOPR zur Einnahme des Wertes "1" gezwungen, wenn das ZAC-Register geladen ist). Die Signalfolge zwischen der Schnittstelleneinheit SIU-100 und dem Speichermodul 500 für die Schreiboperation in Doppelpräzision ist in Figur 11b dargestellt. Gemäß dieser Figur ist ersichtlich, daß die Schreibfolge in der gleichen Weise wie die Lesefolge ausgelöst wird (z.B. erzwingt die Schnittstelleneinheit SIU-100 den Signalzustand "1" auf der Leitung ACZ). Wenn der Multiplexer ein Signal empfängt, das anzeigt, daß die Schnittstelleneinheit SIU-100 die Anforderung angeommen hat, so verursachen die Schaltkreise 301-4 die Ausgabe des Inhalts des Datenregisters der Registerreihe 301-64 auf den Leitungen DTS. Der Speichermodul 500 spricht hierauf an, indem er den Signalzustand auf der Leitung ZIR auf den Wert "0" einstellt.
Das erste von dem Multiplexer 300 auf den Leitungen DTS ausgegegebene Datenwort wird während des Taktintervalles an die Leitungen DTM gelegt, wenn die Leitung AZC auf "0" umschaltet. Während des nächsten Taktintervalles wird der Inhalt des Datenregisters 2 der Registerreihe 301-64 auf den Leitungen DTS ausgegeben. Das zweite Wort folgt auf das erste Wort, wie dies in
ist
Figur 11b dargestellt und es vervollständigt die übertragung der beiden Worte zu dem Speichermodul 500.
Die vorstehend beschriebene und teilweise in den Figuren 11b und 12 dargestellte Folge setzt sich fort, bis der Daten-Zählerinhalt
609841/0896
des Kanalregisters DT auf Null herabgezählt ist. Wenn der Daten-Zählerinhalt beim Auslesen und beim Herabzählen um 2 den Wert einnimmt, so wird durch das Addiernetzwerk ein Signal mit dem Wert "1" erzeugt. Zu diesem Zeitpunkt überprüfen die Schaltkreise 301-4 den Zustand des Bits4 des Wortes DT um festzustellen, ob die Übertragung vollständig ist. Wenn das Bit 4 den Wert "0" aufweist, wird der Kanal CAO in die Lage versetzt, ein anderes datengesteuertes Wort DCW aus dem Speichermodul unter Benutzung des Inhalts des LPW-Kanalregisters abzurufen. Nimmt das Bit 4 den Wert "1" ein, so veranlaßt dies die Schaltkreise 301-4 zur Erzeugung eines Signales für den Kanal CAO, das anzeigt, daß der Datenzähler abgelaufen ist.
Beim Empfang des Signales CTZ=O von den Schaltkreisen 301-4 zwingen die Kanalschaltkreise 202-7 die Leitungen EDT des Kanals CA1 zur Einnahme des Wertes "1", wodurch eine Vervollständigung der Übertragung angezeigt wird (siehe Figur 12). Es sei vermerkt, daß der Steueradapter 303 die Anweisung zu Ende führt (z.B. vervollständigt der Adapter das Lesen bis zum Ende eines Sektors, falls ein ganzer Sektor nicht gelesen wurde, führt die erforderlichen Prüfoperationen aus und stellt Fehler fest usw.). Liegen keine Fehler vor, so zwingt der Steueradapter 303 bei Beendigung aller Operationen eine vorbestimmte Leitung von den vier Unterbrechungsleitungen des Kanales CA1 zur Annahme des Wertes "1". Die Unterbrechung entspricht einer Beendigungsunterbrechung, die vom Typ her normalerweise eine EV6-Unterbrechung darstellt.
609841/0896
Das Unterbrechungssignal wird als ein Eingangssignal dem Block 301-34 gemäß Figur 4a zugeführt. Das unterbrechungssignal veranlaßt die Schaltkreise des Blockes 301-34 zur Erzeugung einer Anforderung und zur Auswahl der Prioritätspegelsignale, die in dem CAO-Pegelregister der höchsten Prioritätsunterbrechung (EV0-EV7) gespeichert sind, wobei diese Auswahl über die sechste Position des Multiplexerschalters 301-28 erfolgt und die Prioritätssignale zusammen mit dem Anforderungssignal dem Netzwerk 301-24 aufgeschaltet werden. Das Netzwerk 301-24 vergleicht den 3-Bit-Pegelcode mit Prioritätspegelsignalen, die durch irgendeine mögliche Unterbrechung von den anderen Kanälen CA1-CA3 erzeugt werden. Das unterbrechungssignal veranlaßt ferner die Schaltkreise 301-34 zur Erzeugung einer 3-Bit-Typnummer (z.B. Code von 001), die als ein Eingangssignal der CAO-Position des Schalters 301-35 zusammen mit den Prioritätspegelsignalen von dem Schalter 301-28 zugeführt wird.
Es sei vermerkt, daß in dem Fall, wo der Steueradapter 303 einen anderen Unterbrechungstyp weiterleitet (z.B. EV4, EV5 oder EV6)f die Schaltkreise 301-34 die Prioritätspegelsignale für eine andere Unterbrechung und nicht die Pegelsignale für die Unterbrechung vom Typ EV6 auswählen. Es sei angenommen daß keine anderen Unterbrechungen mit höherer Priorität vorliegen.
Wenn das Unterbrechungssignal des Kanales CAO die höchste Priorität besitzt, so erzeugt das Netzwerk 301-24 einen 2-Bit-Code (z.B. Code von 00), wodurch der Inhalt des CAO-ICB-Rßgistersfdas die
609841/0896
Unterbrechungs-Steuerblocknummer und die Prozessornummer enthält, in das IDA-Register 301-22 geladen wird. Der durch das Netzwerk 301-24 erzeugte, die Kanalnummer darstellende 2-Bit-Code, wird in die- zwei höchstrangigen Bit-Positionen des ' IMID-Registers 301-23 geladen. Da der Steueradapter 303 an Platteneinheiten angeschlossen ist, gibt es keinen Unterkanal. Aus diesem Grund werden die niedrigstrangigsten Bit-Positionen des IMID-Registers mit "0" geladen. Das Anforderungssignal zwingt sein zugeordnetes IR-Flip-Flop zur Annahme des Wertes "1", wodurch die Unterbrechung der Schnittstelleneinheit SIU-100 signalisiert wird.
Aus Figur 3a ist ersichtlich, daß das XR-Signal dem Unterbrechungs-Prioritätsnetzwerk 101-2 zugeleitet wird. Das Netzwerk 101-2 bewirkt die Decodierung der Prozessornummer und der Unterbrechungspegel-Anforderungssignale, die über die Leitungen IDA zugeführt werden. Zu diesem Zeitpunkt überprüft das Netzwerk 101-2 die Parität der Unterbrechungsdaten und beim NichtVorhandensein eines Paritätsfehlers werden die Pegelsignale Schaltkreisen zugeführt, die die Pegelsignale mit dem Pegel des laufenden durch den Prozessor 200 bearbeiteten Prozeß vergleichen.
Wenn der Pegel der Signale des Multiplexers 300 höher ist> so gibt das Netzwerk 101-2 auf der Leitung HLIP den Wert "1" aus, wodurch dem Prozessor 200 das Vorhandensein der Unterbrechung mit höherem Pegel angezeigt wird. Ferner gibt das Netzwerk 101-2 ein Ausgangssignal an einem vorbestimmten Ausgang seiner N-Ausgänge ab, wodurch der Multiplexer 300 als Quelle der Unterbrechung bestimmt wird. Wird dieses Signal dem Daten-Auswahlschaltkreis 101-8 zugeführt, so verursacht dieses die Erzeugung eines ; 4-Bit-Code,(z.B. 1101), welches den Multiplexer 300 oder den Anschluß A als Unterbrechungsquelle identifiziert. Das Signal veranlaßt ferner die Datenauswahlschalter 101-4 und 101-14,die Pegelsignale und Steuerungssignale als Ausgänge auszuwählen, die durch den Multiplexer 300 den Leitungen IDA 0-3 und IMID zugeführt werden.
609841/089$
Wie zuvor erwähnt, führt der Prozessor 200 Unterbrechungen bei der Vervollständigung von Programmbefehlen aus. Das auf der Leitung HLIP auftretende Signal veranlaßt die in dem Steuerspeicher-Adressenschalter 201-14 enthaltenen Logikschaltkreise zur Auswahl der Ausnahme/Unterbrechungsposition, wenn die in dem CSA-FeId des Mikrobefehls enthaltenen Steuer-Bits,die in das Register 201-15 ausgelesen werden, die Auswahl der Standardfolge-Position des CSA-Schalters 201-14 bewirken. Die an die Eingangsklemmen der Ausnahme/Unterbrechungsposition angelegten Signale veranlassen, daß an den Steuerspeicher 201-10 eine Adresse einer Unterbrechungsfolge anstelle der nächsten Befehls-Standardfolge angelegt wird.
Unter Steuerung durch die Unterbrechungsfolge versorgt der Prozessor 200 das Arbeitsregister R1 der Registerreihe 204-12 mit Signalen entsprechend dem Inhalt des PSR-Registers 204-2O7 wobei die Zuführung der Signale über die PSR-Position des Schalters 204-24 und die PSR/PCR-Position des Doppelkanalschalters 204-8 erfolgt. Der Inhalt des Arbeitsregisters wird über die Datenschiene WRP in den Zwischenspeicherplatz GRO übertragen.
Der Prozessor 200 fordert zusätzlich Unterbrechungsdaten von der Schnittstelleneinheit SIU-100 an, indem er die Leitung IDR zur Annahme des Wertes "1" zwingt und er verzögert sodann die Ausführung des nächsten Mikrobefehls,bis er eine Antwort von der Schnittstelleneinheit SIU-100 erhält.
Die Schnittstelleneinheit SIU-100 lädt beim Empfang des Signales IDR den neuen Unterbrechungspegel in das AIL-Register 101-6 und gibt die Unterbrechungs-Datenwortsignale an die Leitungen DFS der Prozessor-Schnittstelle 600 ab. Zur gleichen Zeit zwingt die Schnittstelleneinheit SIU-100 die Leitung ARDA zur Annahme des Wertes "1", um dem Prozessor 200 zu signalisieren, daß das Datenunterbrechungswort auf den Leitungen DFS ansteht. Diese gerade beschriebene Signalfolge ist in Figur 9 veranschaulicht.
609841/0898
Das Format des Unterbrechungs-Datenwortes ist in Figur 13 dargestellt. Aus dieser Figur ist ersichtlich, daß die Steuerungsinformation, die dem Prozessor 200 zugeführt wird, durch Schaltkreise erzeugt wird, die in dem Multiplexer 300 und der Schnittstelleneinheit SIU-100 enthalten sind, je nach der physikalischen Anordnung der Unterbrechungsquelle in dem System gemäß Figur 1.
Gemäß Figur 2 ist ersichtlich, daß das Signal ARDA das Laden des Unterbrechungswortes in das Daten-Eingangsregister 204-18 bewirkt. Zu diesem Zeitpunkt kann die Schnittstelleneinheit SIU-100 die Daten auf den Leitungen DFS hinwegnehmen. Zusätzlich kann der Prozessor 200 beim Empfang des Signales ARDA die Leitung A0P"R auf den Wert "0" zurückstellen.
Als nächstes ruft der Prozessor 200 unter Mikroprogrammsteuerung die Steuerblockbasis CBB vom Zwischenspeicherplatz Null während der Zeit ab, wo das Unterbrechungs-Datenwort in das Daten-Eingangsregister 204-18 geladen wird. Das Unterbrechungswort wird über die Di-Position des B-Schalters 204-1, über die Addier/ Verschiebeeinheit 204-2 und über die Addier/Verschiebeposition des Schalters 204-8 ,,in das Arbeitsregister IC der Registereihe 204-12 übertragen. Ferner wird das Zwischenspeicher-Adressregister 203-12 auf den Wert "0" gesetzt, um die Steuerblockbasis CBB aus dem Zwischenspeicher 203-10 in den Puffer 203-16 auszulesen.
Da angenommen wird, daß dieser eine neue Unterbrechung darstellt, muß die primäre Steuerblockbasis CBB durch Linksverschiebung um 11-Bit-Positionen ausgerichtet werden. Die Steuerblockbasis CBB wirddem A-Operandeneingang der Addier/Verschiebeeinheit 204-2 über die SPB-Position des A-Schalters 203-20 zugeführt. Das Ergebnis wird über den Schalter 204-8 in das Arbeitsregister R2 übertragen. Es sei vermerkt, daß im Falle einer alten Unterbrechung der Inhalt an den Speicherplätzen PSR und IC des Zwischenspeichers direkt benutzt werden kann.
609841/0896
Unter Steuerung durchN das Mikroprogramm bildet der Prozessor die Unterbrechungssteuerblockadresse, indem er zunächst die Unterbrechungsdaten des Arbeitsregisters R1 über die Datenschiene WRR und die WRR-Position des A-Schalter 203-20 der Addier/Verschiebeeinheit 204-2 zuführt, in welcher sie um 9-Bitpositionen nach rechts verschoben werden und anschließend in das Arbeitsregister R2 lädt. Das Arbeitsregister R2 speichert somit die Steuerblockbasisnummer 1. Durch die Verschiebung wird die Unterbrechungs-Steuerblocknummer von dem Ünterbrechungsdatenwort entfernt. Während des gleichen Zyklus wird sodann der Inhalt des Arbeitsregisters R2 über die Datenschiene WRP zu dem Puffer 203-16 übertragen. Als nächstes wird die Unterbrechungs-Steuerblocknummer aus dem Puffer 203-16 über den A-Schalter 203-20 der Addier/Verschiebeeinheit 204-2 zugeführt und um 4-Bitpositionen nach links verschoben. Das verschobene Resultat wird sodann in das Arbeitsregister R2 geladen. Die Verschiebeoperation erwirkt die Multiplikation der Unterbrechungs-Steuerblocknummer mit 16. Die Addier/Verschiebeeinheit 204-2 summiert bzw. kombiniert den Inhalt des Puffers 203-16, der über den A-Schalter 203-20 angelegt wird, mit dem Inhalt des Arbeitsregisters R2, der über den B-Schalter 204-1 angelegt wird. Das Resultat, welches die Adresse des Unterbrechungs-Steuerblockes im internen Speichermodul 500 angibt, wird in das Arbeitsregister R2 geladen. Wie zuvor im Zusammenhang mit Figur 15 erwähnt worden ist, bestimmt der Unterbrechungstyp die besondere Unterbrechungssteuerblockroutine, durch die vom Multiplexer 300 erhaltene Datenübertragungs-Beendigungsunterbrechung verarbeitet wird. Der Unterbrechungssteuerblock legt seinerseits den Prozeß fest, den der Prozessor 200 auf einem Pegel ausführt, der durch die auf den Leitungen AIL durch die Schnittstelleneinheit SIU-100 zugeführten Signale vorgegeben wird. Wie zuvor ermähnt, kann irgendeiner der 256 Prozesse auf irgendeinem der acht verschiedenen Pegel ablaufen. Die Anordnung gestattet daher t die gleichzeitige Ausführung von bis su acht verschiedenen Prozessen oder die Ausführung verschiedener Prozesse auf mehreren Pegeln.
6Q3341/089Ö
Der Prozessor 200 löst unter Mikroprogrammsteuerung eine Lese-Doppeloperation zum Abruf eines Doppelwortes des Unterbrechungssteuerblockes ICB (z.B. PSR und E) von dem Modul 500 aus, wobei die ICB-Adresse im Arbeitsregister R2 benutzt wird. Die ICB-Adresse wird zusammen mit anderer Information in das Daten-Ausgangsregister 304-14 aus dem Register R2 über die ABS-Position des Adressenschalters 204-6 und die Datenschiene WRP geladen. Zusätzlich wird der Inhalt des Steuerungsregisters 204-16 über die R/W-Position des Steuerungsschalters 204-10 geladen und der Prozessor 200 zwingt die Leitung AOPR zur Annahme des Wertes "1", um der Schnittstelleneinheit SIU-100 eine Speicheranforderung zu signalisieren. Ferner wird die ICB-Adresse um 8 erhöht und in das Arbeitsregister R2 zurückgeführt. Der Prozessor 200 verzögert sodann die Ausführung weiterer Mikrobefehle, bis die Schnittstelleneinheit SIU-100 die Annahme der Anforderung signalisiert (z.B. zwingt das Netzwerk 102-20 die Leitung ARA zur Annahme des Wertes " 1") .
Als nächstes lädt der Prozessor 200 den Inhalt des PCR-Registers 204-22 in das Arbeitsregister R3. Zu diesem Zeitpunkt speichern die Arbeitsregister R1, R2 und R3 das Unterbrechungswort, die ICB-Adresse plus 8 und den Inhalt von PCR. Der in dem Arbeitsregister R3 gespeicherte Inhalt von PCR wird überprüft, um festzustellen, ob eine Antwort der Schnittstelleneinheit SIU-100 auf der Leitung ARA oder ARDA erfolgte. Bei einer normalen Operation (z.B. keine Ausnahmen) erzeugt der Prozessor 200 unter Mikroprogrammsteuerung eine andere doppelte Leseanforderung an den Speichermodul 500 zum Abruf der nächsten beiden Worte des Unterbrechungs-Steuerungblockes ICB.
Während der Prüfung des Inhalts von PCR werden die PSR- und IC-Worte vom Speichermodul 500 in das Daten-Eingangsregister 204-18 übertragen. Das erste Wort (z.B. PSR) wird über die Di-Position des B-Schalters 204-1 und die Addier/Verschiebeeinheit 204-2 zu dem Arbeitsregister R3 übertragen. Das zweite Wort (z.B. IC) wird in das Arbeitsregister IC geladen.
609841/0896
Der Prozessor 200 führt unter Mikroprogrammsteuerung die erforderlichen Operationen zum Laden der Unterbrechungswortsteuerung in das PSR-Register 204-20 durch. Zuerst wird der Inhalt des PS-des Arbeitsregisters R3 um 8-Bit-Positionen nach links verschoben. Dadurch wird das Steuerungsfeld in dem am weitesten links stehenden Byte des Wortes eliminiert, da es für die Verarbeitung der Unterbrechung keine Bedeutung aufweist. Das Ergebnis wird sodann in das Arbeitsregister R3 übertragen. Das in dem Arbeitsregister R1 enthaltene Unterbrechungswort wird über die Datenschiene WRP zu dem Puffer 203-16 übertragen. Es sei darauf verwiesen, daß die Bits 28-35 die durch die Schnittstelleneinheit SIU-100 und den Multiplexer 300 erzeugte Steuerungsinformation beinhalten, die in das PSR-Register 204-20 einzusetzen ist.
Während eines nächsten Operationszyklus wird der Inhalt des Arbeitsregisters R3 über die Datenschiene WRR und die WRR-Position des B-Schalters 204-1 dem B-Operandeneingang der Addier/Verschiebeeinheit 204-2 zugeführt, während der Inhalt des Puffers 203-16 über die SPB-Position des A-Schalters 203-20 dem A-Operandeneingang der Addier/Verschiebeeinheit 204-2 zugeführt wird. Die Operanden A und B werden miteinander verknüpft und durch die Verschiebeeinheit ausgerichtet, um den neuen Inhalt des Registers PSR zu bilden, der in das Arbeitsregister R1 übertragen wird.
Der Prozessor 200 verzögert die Ausführung weiterer Mikrobefehle bis zum Empfang der nächsten beiden Worte des Unterbrechungssteuerblockes ICB. Beim Empfang des Signales ARDA von der Schnittstelleneinheit SIU-100 überträgt der Prozessor 200 den neuen Inhalt PSR des Arbeitsregisters R1 über die Datenschiene WRR in das PSR-Register 204-20. Während darauffolgender Zyklen werden die von dem Unterbrechungssteuerblock ICB in das Daten-Eingangsregister 204-18 geladenen Worte in geeignete Speicherplätze des Zwischenspeichers übertragen (z.B. GR14 und PTBR-Adressen). Danach ruft der Prozessor 200 Befehle des Programmes ab, das durch die Unterbrechungs-Verarbeitungsroutine unter Benutzung des Inhalts des IC-Arbeitsregisters gestartet wurde.
809841/0896
Aus Vorstehendem wird klar, daß dadurch/daß der Prozessor 200 die durch die Schnittstelleneinheit SIÜ-100 und den Multiplexer 300 erzeugte Steuerungsinformation in das PSR-Register einsetzt, irgendwelche programmierbare Schnittstellenanweisungen, die in Abhängigkeit von WREX und RDEX-Befehlen erzeugt werden, automatisch dem Multiplexerkanal zugeleitet werden, der durch die Hardware-erzeugte Steuerungsinformation festgelegt wurde. Wie zuvor erläutert, fügt der Prozessor 200 bei der Erzeugung einer jeden programmierbaren Schnxttstellenanweisung automatisch die von dem PSR-Register 204-20 erhaltene Steuerungsinformation in das Steuerungsregister 204-15 und in das Daten-Ausgangsregister 204-14 ein. Die in das Steuerungsregister 204-16 eingesetzten Steuerungsdaten besitzen das Format gemäß Figur 14, während die als Teil der programmierbaren Schnxttstellenanweisung eingesetzten Steuerungsdaten das Format gemäß Figur 7a aufweisen.
Es sei vermerkt, daß zu irgendeinem Zeitpunkt, wo ein Benutzerbefehl des Prozesses das Laden von Nullstellen in das Schreibadressregister 203-22 bewirkt und der Inhalt dieses Register zur Übertragung zum Adressregister 203-12 ausgewählt wir, der Decodierschaltkreis 203-28 ein Ausnahmesignal erzeugt, bis die Bit-Position 8 des PSR-Registers 204-20 gesetzt wird, um eine Hauptbetriebsweise festzulegen. Das Ausnahmesignal zwingt seinerseits die Bit-Position 4 des PCR-Registers 204-22 zur Annahme des Wertes "1", wodurch die illegale Operation angezeigt wird und der Prozessor 200 zum automatischen Eintritt in eine Ausnahme-Verarbeitungsroutine veranlaßt wird. Es sei darauf verwiesen, daß bestimmte andere Speicherplätze des Zwischenspeichers gegen einen nicht.genehmigten Zugriff durch Benutzer geschützt sein können.
Gemäß Figur 16 ist festzustellen, daß der Multiplexer 300 gleichzeitig mit der gerade beschriebenen Übertragungsoperation gelesener Daten noch andere Operationen ausführen kann. Wie dieser Figur 'entnehmbar, gibt der Prozessor 200 in Abhängigkeit von einem RDEX-Befehl eine programmierbare Schnxttstellenanweisung
6-09841/08S8
über die programmierbare Schnittstelle aus, wodurch festgelegt wird, daß der Inhalt eines der Steueradapter-Register (z.B. CA2) in den Prozessor zurückzuführen ist. Dies geschieht während der Zeit, in der der Steueradapter CAO Daten-Bytes ναι der Platteneinheit empfängt und während die aufgenommenen Bytes über den zugeordneten Kanal in den internen Speichermoudul 500 eingeschrieben werden.
In entsprechender Weise wie dies im Zusammenhang mit einem WREX-Befehl beschrieben wurde, erzeugt der Prozessor 200 eine programmierbare Schnittstellenanweisung mit dem Format gemäß Figur 7a, die in das Daten-Ausgangsregister 201-14 geladen wird, wobei die Steuerungsinformation mit dem Format gemäß Figur 14 gleichzeitig in das Steuerungsregister 204-16 geladen wird. Die Signalfolge für die Übertragung der programmierbaren Schnittstellenanweisung von dem Prozessor 200 zu dem Multiplexer 300 über die Schnittstelleneinheit SIU-100 ist in Figur 10c dargestellt. Aus dieser Figur ist ersichtlich, daß die Adressen- und Daten-Zyklen (A- und D-Zyklen) nicht in aufeinanderfolgenden Zyklen ausgeführt werden können, da die Schnittstelleneinheit SIU-100 keinen Datenweg aufweist, über den der Multiplexer 300 den Inhalt des ausgewählten Datenregisters zu dem Prozessor übertragen kann. Es liegt somit an dem adressierten Modul (Multiplexer 300), einen Datenzyklus anzufordern, indem die Leitung RDTR zur Annahme des Wertes "1" gezwungen wird. Wenn der Multiplexer 300 den Anforderer mit der höchsten Priorität darstellt, so wird für ihn ein Datenweg bereitgestellt.
Die Signalfolge zur übertragung des Inhalts des durch den Multiplexer 300 ausgewählten Registers zu dem Prozessor 200 ist in Figur 1Od näher dargestellt. Das durch den Multiplexer 300 übertragene Datenwort kann ein Format entsprechend dem Format gemäß Figur 7d aufweisen. Sobald Signale entsprechend dem Dateninhalt des ausgewählten Registers in PDTS-Register der Registerreihe 301-64 über den DT-Schalter 301-20 geladen worden sind, veran-
809841/0898
lassen die Schaltkreise 301-4 die Leitung RDTR zur Annahme des Wertes "1", indem ein nicht dargestelltes Flip-Flop gesetzt wird. Zu diesem Zeitpunkt wird der Inhalt des PDTS-Registers den Leitungen PDTS der Schnittstelle 601 zugeführt. Wenn die Schnittstelleneinheit SIU-100 die Anforderung des Multiplexers 300 annimmt, so veranlaßt das Netzwerk 102-40 gemäß Figur 3b die Leitung RDAA zur Annahme des Wertes "1"/ wodurch die Anforderungsannahme des Multiplexers 300 bestätigt wird. Zu diesem Zeitpunkt kann der Multiplexer 300 das Datenwort wegnehmen und das Anforderungs-Flip-Flop zurückstellen.
Wie aus Figur TOd ersichtlich, schaltet die Schnittstelleneinteit SIU-100 gleichzeitig mit der Leitung RDAA auch die Leitung ARDA auf den Wert "1". Dadurch wird dem Prozessor 200 angezeigt, daß der auf den Leitungen PDTS anstehende Registerinhalt auf den Leitungen DFS der Prozessorschnittstelle 600 ansteht; Beim Auftritt eines nächsten Taktimpulses wird die Operation vervollständigt. Wenn der Multiplexer 300 nicht in der Lage ist,
ne
gelese/^programmierbare Schnittstellenanweisungen zu speichern, so hält er die Leitung PIR auf dem Wert "0", wodurch der Schnittstelleneinheit SIU-100 angezeigt wird, daß der Multiplexer zur Aufnahme einer anderen Anweisung nicht bereit ist.
Aus Vorstehendem ergibt sich, daß der Multiplexer 300 zwei verschiedene Arten von Operationen gleichzeitig ausführen kann, bei denen von der Anordnung gemäß der vorliegenden Erfindung Gebrauch gemacht wird. Es sei ferner vermerkt, daß der Multiplexer 300 ebenfalls zusätzliche Datenübertragungsoperationen ausführen kann, wenn andere Speichermodule vorhanden sind, die an andere Anschlüsse der Schnittstelleneinheit SIU-100 angeschlossen sind.
Das System gemäß der vorliegenden Erfindung erlaubt eine wirtschaftliche Verarbeitung von Unterbrechungen, wobei die durch das Umschalten zwischen verschiedenen Programmen erweiterte 'Verarbeitungszeit auf ein Minimum reduziert bleibt. Dies wird durch den Gebrauch von Anweisungen verwirklicht die verschiedene
609841/0896
Module.die an periphere Geräte des Systems angeschlossen sind, so vorbereiten, daß sie in die Lage versetzt werden, geeignete Prioritätspegel den verschiedenen Ereignisauftritten zuzuordnen. Der Modul ist auf diese Weise in der Lage, zwischen wichtigen und weniger wichtigen Ereignisauftritten zu unterscheiden und eine Unterbrechung der Systemverarbeitungseinheit nur anzufordern, wenn der Fall einer höheren Priorität gegeben ist. Durch die zusätzliche Ausstattung eines jeden Moduls mit der Möglichkeit, eine Unterbrechungsanforderung zu erzeugen, die die bei der Verarbeitung der Unterbrechung zu verwendende Unterbrechungsroutine festlegt, wird Zeit gespart, die sonst die Verarbeitungseinheit benötigt, um den Grund der Unterbrechung und seine relative Wichtigkeit festzustellen.
Das System gemäß der vorliegenden Erfindung macht es durch die Anordnung einer getrennten Schnittstelle für die Übertragung von Anweisungen möglich, daß ein Modul Datenübertragungsoperationen parallel mit der Bearbeitung von Anweisungen, die durch die getrennte Schnittstelle zugeführt werden, durchführt.
Ohne von dem Grundgedanken der Erfindung abzuweichen, sind vielerlei Änderungen möglich. Während die bevorzugte Ausführungsform des Systems von der Vorbereitung der Systemmodule über durch eine getrennte Schnittstelle zugeführte Anweisungen Gebrauch macht, kann das System beispielsweise auch von der Verwendung solcher Anweisungen Gebrauch machen, die von anderen Schnittstellen in dem System, wie z.B. der Datenschnittstelle, herrühren. Insbesondere kann durch Auswahl der DFS-Position des Schalters 301-1 gemäß Figur 4a eine Anweisung über die Leitungen DFS anstelle über die Leitung PDFS zugeführt werden. Alternativ können beispielsweise im Falle des Niedriggeschwindigkeitsmultiplexers Anweisungen und Daten übertragen werden, indem nur die programmierbare Schnittstelle benutzt wird. Wenn daher die Simultanbearbeitung hinsichtlich der Systemoperationen nicht wesentlich ist, so kann die Anzahl der Schnittstellen reduziert werden, was zu einer entsprechenden Reduzierung der Kosten des Systems führt.
609841/0896
Es sei weiter vermerkt, daß das System Änderungen unterworfen werden kann, um eine bessere Simultanverarbeitung der Systemoperationen durchzuführen, indem der Prozessor 200 mit zusätzlichen Logikschaltkreisen versehen wird, zur Erzeugung von programmierbaren Schnittstellenanweisungen parallel mit Speicheranweisungen. Anstelle der Benutzung des Operationscodes des Befehls zur Bestimmung des Types der Schnittstelle,über die der Prozessor eine Anweisung übertragen soll, können zusätzliche Bits in dem Speicheradressteil eines Befehls vorgesehen sein, die durch ihre Codierung die Schnittstelle bestimmen. Insbesondere können die oberen Adress-Bits der Adresse als ein Hinweis dienen und eine Adresse außerhalb der normalen Adressen festlegen, die einer externen Registeradresse entsprechen kann. Hierdurch wird das Erfordernis unterschiedlicher Befehlstypen für die Steuerung von Daten- und Anweisungs-Schnittstellen vermieden. Es sei ferner darauf verwiesen, daß die bei dem vorliegenden Ausführungsbeispiel in der Systemschnittstelleneinheit untergebrachte Priorität-Unterbrechungslogik ebenso einen Teil des Prozessors bilden kann.
609841/0896
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
609841/0896
EDT EV
GR
HLIP
IC
ICB IDA IDR
IFA IMID
IOP IR
LPW LSMX
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 - Unterbrechungsdatenanforderung
Interrupt From Adapter - Unterbrechung vom Adapter
Interrupt Multiport Identifier - Unterbrechungs-Mehrfachanschluß-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
609841/0896
RDAA RDTR
RDEX RIFM
RLS
ROM
SDTS
SYS-CLK TFA
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
6098A1/0896

Claims (14)

35" 2612Ü83 Patentansprüche 5202533 Ge
1.) Verfahren zur Ein/Ausgang-Verarbeitung der Signale mehrerer peripherer Geräte, die über E/A-Steuereinheiten mit einem ■ Prozessor in Nachrichtenaustausch stehen, dadurch gekennzeichnet , daß jeder E/A-Steuereinheit Prioritätssignale der peripheren Geräte während der Datenübertragung zwischen den peripheren Geräten und einem Speicher zugeführt werden, daß die Anzahl der möglichen ünterbrechungsauftrittssignale durch eine entsprechende Anzahl von Codierungen in eine Anzahl unterschiedlicher Prioritätspegel unterteilt wird, daß die Codierungen in den Steuereinheiten gespeichert werden und daß die Codierungen als Teil einer Unterbrechungsanforderung zu dem Prozessor übertragen werden.
2. Verfahren nach Anspruch 1, wobei der Prozessor Unterbrechungssteuereinrichtungen zur Verarbeitung von Unterbrechungsanforderungen unter Verwendung einer Anzahl von in dem Speicher gespeicherten Unterbrechungsroutinen aufweist, dadurch gekennzeichnet, daß in der Steuereinrichtung mehrere Konstanten zur Bestimmung einer Unterbrechungsroutine gespeichert werden, und daß diese Konstanten und die den Unterbrechungsauftritt klassifizierenden Codierungen dem Prozessor zugeführt werden, um die Unterbrechungsroutine für den Ereignisauftritt mit dem höheren Prioritätspegel zu bestimmen.
3. Ein/Ausgang-Datenverarbeitungssystem zur Durchführung des Verfahrens nach Anspruch 1, mit Speichermitteln, einem Prozessor und Multiplexereinrichtungen, dadurch gekennzeichnet , daß eine Einrichtung zum Nachrichtenaustausch auf einer Prioritätsbasis zwischen den Speichermitteln, dem Prozessor und der Multiplexereinrichtung vorgesehen ist, und daß die Multiplexereinrichtung aufweist:
609841/0896
mindestens einen Adapteranschluß für ein peripheres Gerät,
mehrere Register' zur Speicherung von Steuerinformation für eine Unterbrechung, die von Anweisungen übertragen wird, die der Prozessor bei der Verarbeitung von E/AOperationen der Multiplexereinrichtung erzeugt, wobei ein erstes Register codierte Signale enthält, die einen numerischen Wert bestimmen, der seinerseits zur Festlegung einer von mehreren durch den Prozessor zu verarbeitenden Unterbrechungsroutinen benutzt wird und ein zweites Register codierte Signale enthält, die einen numerischen Wert bestimmen, der seinerseits zur Feststellung von Prioritätspegeln dient, wobei die Prioritätspegel durch die Multiplexereinrichtung einem von mehreren Unterbrechungssignalen der peripheren Geräte zugeordnet werden,
eine Unterbrechungslogik, der von dem Adapteranschluß die Unterbrechungssignale zugeführt werden, ein an die Unterbrechungslogik und das zweite Register angeschlossene Schaltung zur Erzeugung von Signalen, die in Abhängigkeit von von der Unterbrechungslogik erhaltenen Unterbrechungssignalen die Anforderung mit der höchsten Priorität anzeigen, wobei die höchste Priorität in Übereinstimmung mit im zweiten Register gespeicherten Werten definiert ist und
ein an die Prioritätsschaltung und die die Steuerinformation enthaltenden Register angeschlossenes Ausgangsregister, wobei die Signale der Prioritätsschaltung die Übertragung des Inhalts des ersten und zweiten Registers in das Ausgangsregister veranlassen zwecks übertragung als Teil einer Unterbrechungsanforderung zu der Nachrichtenaustausch-Einrichtung .
609841/0896
4. System nach Anspruch 3, dadurch gekennzeichnet, daß die Nachrichtenaustausch-Einrichtung eine Datenübertragungs-Schnittstellensammelleitung und eine von dieser unabhängige Anweisungs-Schnittstellensammelleitung aufweist, die an die Multiplexereinrichtung zwecks Empfang der Anweisungen des Prozessors während der Datenübertragungsoperationen angeschlossen ist.
5» System nach Anspruch 4, dadurch gekennzeichnet , daß die Anweisungs-Schnittstellensammelleitung mehrere an den Prozessor angeschlossene Steuerleitungen aufweist und der Prozessor eine Einrichtung zum Auslösen einer Anweisungs-übertragungsfolge auf den Steuerleitungen aufweist.
6. System nach Anspruch 3 oder einem der folgenden, dadurch gekennzeichnet, daß der Prozessor einen Taktgeber zur Erzeugung von Zeittaktsignalen auf v/eist, wobei die Zeittaktsignale den Speichern, der Nachrichtenaustausch-Einrichtung und den Multiplexereinrichtungen zwecks Synchronisation der Anforderungen zugeführt werden.
7. System nach Anspruch 3 oder einem der folgenden, dadurch gekennzeichnet, daß die Nachrichtenaustausch-Einrichtung Prioritätsschaltkreise aufweist, denen die Unterbrechungs-Anforderungen vori den Multiplexereinrichtungen zugeführt werden und die die durch die Prioritätsrangnummernsignale definierte Anforderung mit der höchsten Priorität bestimmen und diese Signale als Teil der Unterbrechungsanforderung zu dem Prozessor übertragen.
609841/0896
8. System nach Anspruch 3 oder einem der folgenden, dadurch gekennzeichnet, daß die Speichermittel mehrere Speicherplätze zur Speicherung von Gruppen von Unterbrechungsroutinen, die der Behandlung einer entsprechenden Anzahl möglicher Unterbrechungsauftritte dienen, aufweisen, daß der Prozessor Unterbrechungs-Steuereinrichtungen umfasst, denen die Unterbrechungs-Anforderungen zugeleitet werden und die ihrerseits umfassen:
Ein Adressregister zur Speicherung einer Steuerblockbasisadresse der Gruppen von Routinen,
ein Register zur Speicherung des numerischen Wertes der von der Nachrichtenaustausch-Einrichtung erhaltenen Unterbrechungsroutine und
• einen mit dem Adressregister und dem Speicherregister in Verbindung stehenden Addierer zur Kombination der Steuerblockbasisadresse und des numerischen Wertes zwecks Bildung einer Adresse, die die spezifische Gruppe von Unterbrechungsroutinen innerhalb des Speichers auswählt.
9. System nach Anspruch 3 oder einem der folgenden, dadurch gekennzeichnet, daß der Prozessor Prozeß-SteuerSpeichermittel umfasst, die Gruppen von Registern zur Speicherung von Prozeßinformation für eine entsprechende Anzahl von Prozeßpegeln aufweisen, wobei die Prozeßpegel von einer hohen nach einer niedrigen Priorität abgestuft sind und nur ein Prozeßpegel zu jedem Zeitpunkt aktiv sein kann,
daß die Nachrichtenaustausch-Einrichtung Mittel zur übertragung der von der Multiplexereinrichtung erhaltenen Prioritätspegelsignale aufweist und
daß die Unterbrechungs-Steuereinrichtung an die Prozeß-Steuereinrichtungen angeschlossene Auswahleinrichtungen aufweist, die die Gruppe von Registern für den Prioritätspegel auswählen, der dem zu bearbeitenden durch die Unterbrechungsroutine bestimmten Prozeß zugeordnet ist.
609841/0896
10. System nach Anspruch 8, dadurch gekennzeichnet , daß jede Gruppe von Unterbrechungsroutinen im Speicher eine Anzahl von Routinen zur Bearbeitung eines speziellen Unterbrechungsauftrittes aufweist und daß die Unterbrechungslogik in Abhängigkeit von den Signalen der Unterbrechungsauftritte codierte Signale erzeugt, die die Art des signalisierten Unterbrechungsauftrittes festlegen, wobei die codierten Signale dem Ausgangsregister als Teil der Unterbrechungsanforderung zugeführt werden.
11. System nach den Ansprüchen 8 und 10, dadurch gekennzeichnet , daß das Register der Unterbrechungs-Steuereinrichtung des Prozessors das codierte Signal des Unterbrechungstypes und den numerischen Wert der Unterbrechungsroutine speichert und daß der Addierer die Steuerblockbasisadresse mit einer Unterbrechungssteuerblocknummer zur Auswahl der Unterbrechungsroutine kombiniert, wobei die Unterbrechungssteuerblocknummer aus dem numerischen V7ert und dem Typsignal besteht.
12. System nach Anspruch 3 oder einem der folgenden, dadurch gekennzeichnet, daß das zweite Register Sätze von Unterbrechungspegelnummernsignalen speichert, wobei ein Satz für jede mögliche Art eines Unterbrechungsauftrittes vorgesehen ist und daß die MuItiplexereinrichtung ferner aufweist:
eine Multiplexer-Auswahleinrichtung mit mehreren Ausgangsanschlüssen, mehreren Sätzen von Eingangsanschlüssen, wobei jedem Satz von Eingangsanschlüssen ein unterschiedlicher Satz von Unterbrechungspegelnummernsignale von dem zweiten Register zugeführt werden und mit einem Satz von Steuer-Eingangsanschlüssen, denen die Typnummernsignale von der Unterbrechungslogik zugeführt werden.
609841/0898
13. System nach Anspruch 12, dadurch gekennzeichnet , daß die Multiplexereinrxchtung mehrere Auswahleinrichtungen und mehrere Kanalabschnitte aufweist und daß die Kanalabschnitte mehrere Register aufweisen und an unterschiedliche Adapterstellen angeschlossen sind.
14. System nach Anspruch 12, dadurch gekennzeichnet , daß jedem Kanalabschnitt erste und zweite Register zugeordnet sind und daß die Kanalabschnitte codierte Signale aufweisen, die gleiche und unterschiedliche Routinen zur Verarbeitung der Unterbrechungssignale bestimmen.
609841/0896
Leerseite
DE19762612083 1975-03-26 1976-03-22 Verfahren und vorrichtung zur ein/ausgang-datenverarbeitung Withdrawn DE2612083A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/562,364 US4006466A (en) 1975-03-26 1975-03-26 Programmable interface apparatus and method

Publications (1)

Publication Number Publication Date
DE2612083A1 true DE2612083A1 (de) 1976-10-07

Family

ID=24245983

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19762612083 Withdrawn DE2612083A1 (de) 1975-03-26 1976-03-22 Verfahren und vorrichtung zur ein/ausgang-datenverarbeitung

Country Status (10)

Country Link
US (1) US4006466A (de)
JP (1) JPS5930290B2 (de)
BE (1) BE840024A (de)
BR (1) BR7601585A (de)
CA (1) CA1064623A (de)
CH (1) CH616251A5 (de)
DE (1) DE2612083A1 (de)
FR (1) FR2305790A1 (de)
GB (1) GB1547384A (de)
NL (1) NL7603019A (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2722124A1 (de) * 1976-05-21 1977-12-08 Honeywell Inf Systems Anordnung zum feststellen des prioritaetsranges in einem dv-system
DE2755371A1 (de) * 1976-12-16 1978-06-29 Honeywell Inf Systems Ein/ausgabe-verarbeitungssystem
DE2828731A1 (de) * 1977-07-05 1979-01-25 Ibm Kanalspeicher-adapter

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4325119A (en) * 1977-01-19 1982-04-13 Honeywell Information Systems Inc. Process and apparatus employing microprogrammed control commands for transferring information between a control processor and communications channels
US4156907A (en) * 1977-03-02 1979-05-29 Burroughs Corporation Data communications subsystem
US4099236A (en) * 1977-05-20 1978-07-04 Intel Corporation Slave microprocessor for operation with a master microprocessor and a direct memory access controller
US4384327A (en) * 1978-10-31 1983-05-17 Honeywell Information Systems Inc. Intersystem cycle control logic
US4462073A (en) * 1978-11-08 1984-07-24 Data General Corporation Apparatus for fetching and decoding instructions
US4217640A (en) * 1978-12-11 1980-08-12 Honeywell Information Systems Inc. Cache unit with transit block buffer apparatus
US4293909A (en) * 1979-06-27 1981-10-06 Burroughs Corporation Digital system for data transfer using universal input-output microprocessor
US4445176A (en) * 1979-12-28 1984-04-24 International Business Machines Corporation Block transfers of information in data processing networks
US4418382A (en) * 1980-05-06 1983-11-29 Allied Corporation Information exchange processor
US4547849A (en) * 1981-12-09 1985-10-15 Glenn Louie Interface between a microprocessor and a coprocessor
US4456970A (en) * 1981-12-10 1984-06-26 Burroughs Corporation Interrupt system for peripheral controller
US4598359A (en) * 1983-04-01 1986-07-01 Honeywell Information Systems Inc. Apparatus for forward or reverse reading of multiple variable length operands
US4939644A (en) * 1983-05-19 1990-07-03 Data General Corporation Input/output controller for controlling the sequencing of the execution of input/output commands in a data processing system
US4901232A (en) * 1983-05-19 1990-02-13 Data General Corporation I/O controller for controlling the sequencing of execution of I/O commands and for permitting modification of I/O controller operation by a host processor
US4698770A (en) * 1984-01-13 1987-10-06 Bell & Howell Company Computer controlled video device and slide projector interface arrangement
JPS6139582U (ja) * 1984-08-17 1986-03-12 秀工電子株式会社 玉貸機に投入されたコインの枚数の計数装置
US4660143A (en) * 1984-09-24 1987-04-21 The United States Of America As Represented By The Secretary Of The Air Force Programmable realtime interface between a Block Floating Point processor and memory
US4792890A (en) * 1985-12-31 1988-12-20 International Business Machines Corp. Method for resolving conflicts between interrupt sources sharing the same priority level
US4788640A (en) * 1986-01-17 1988-11-29 Intel Corporation Priority logic system
JPH0545351Y2 (de) * 1986-11-23 1993-11-18
US4901226A (en) * 1987-12-07 1990-02-13 Bull Hn Information Systems Inc. Inter and intra priority resolution network for an asynchronous bus system
US5261084A (en) * 1988-05-06 1993-11-09 Nec Corporation Error judgment method
US5111423A (en) * 1988-07-21 1992-05-05 Altera Corporation Programmable interface for computer system peripheral circuit card
US4972342A (en) * 1988-10-07 1990-11-20 International Business Machines Corporation Programmable priority branch circuit
JPH07122868B2 (ja) * 1988-11-29 1995-12-25 日本電気株式会社 情報処理装置
US4964033A (en) * 1989-01-03 1990-10-16 Honeywell Inc. Microprocessor controlled interconnection apparatus for very high speed integrated circuits
US5347637A (en) * 1989-08-08 1994-09-13 Cray Research, Inc. Modular input/output system for supercomputers
CA2036688C (en) * 1990-02-28 1995-01-03 Lee W. Tower Multiple cluster signal processor
US5517624A (en) * 1992-10-02 1996-05-14 Compaq Computer Corporation Multiplexed communication protocol between central and distributed peripherals in multiprocessor computer systems
US6266731B1 (en) 1998-09-03 2001-07-24 Compaq Computer Corporation High speed peripheral interconnect apparatus, method and system
US6816934B2 (en) * 2000-12-22 2004-11-09 Hewlett-Packard Development Company, L.P. Computer system with registered peripheral component interconnect device for processing extended commands and attributes according to a registered peripheral component interconnect protocol
US6877060B2 (en) * 2001-08-20 2005-04-05 Intel Corporation Dynamic delayed transaction buffer configuration based on bus frequency
US7487502B2 (en) 2003-02-19 2009-02-03 Intel Corporation Programmable event driven yield mechanism which may activate other threads
US7849465B2 (en) * 2003-02-19 2010-12-07 Intel Corporation Programmable event driven yield mechanism which may activate service threads
US9208109B2 (en) 2011-06-01 2015-12-08 Altera Corporation Memory controllers with dynamic port priority assignment capabilities

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3419849A (en) * 1962-11-30 1968-12-31 Burroughs Corp Modular computer system
US3665415A (en) * 1970-04-29 1972-05-23 Honeywell Inf Systems Data processing system with program interrupt priority apparatus utilizing working store for multiplexing interrupt requests
US3728693A (en) * 1972-04-28 1973-04-17 Burroughs Corp Programmatically controlled interrupt system for controlling input/output operations in a digital computer

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL164143C (nl) * 1965-09-10 Ibm Gegevensverwerkend systeem met variabele prioriteiten.
US3421150A (en) * 1966-08-26 1969-01-07 Sperry Rand Corp Multiprocessor interrupt directory
US3386083A (en) * 1967-01-13 1968-05-28 Ibm Interruptions in a large scale data processing system
US3676861A (en) * 1970-12-30 1972-07-11 Honeywell Inf Systems Multiple mask registers for servicing interrupts in a multiprocessor system
GB1397438A (en) * 1971-10-27 1975-06-11 Ibm Data processing system
IT971304B (it) * 1972-11-29 1974-04-30 Honeywell Inf Systems Sistema di accesso a priorita variabile dinamicamente

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3419849A (en) * 1962-11-30 1968-12-31 Burroughs Corp Modular computer system
US3665415A (en) * 1970-04-29 1972-05-23 Honeywell Inf Systems Data processing system with program interrupt priority apparatus utilizing working store for multiplexing interrupt requests
US3728693A (en) * 1972-04-28 1973-04-17 Burroughs Corp Programmatically controlled interrupt system for controlling input/output operations in a digital computer

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Schecher, Funktioneller Aufbau digitaler Rechenanlagen, Springer-Verlag 1973, S. 142-149 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2722124A1 (de) * 1976-05-21 1977-12-08 Honeywell Inf Systems Anordnung zum feststellen des prioritaetsranges in einem dv-system
DE2755371A1 (de) * 1976-12-16 1978-06-29 Honeywell Inf Systems Ein/ausgabe-verarbeitungssystem
DE2828731A1 (de) * 1977-07-05 1979-01-25 Ibm Kanalspeicher-adapter

Also Published As

Publication number Publication date
JPS5930290B2 (ja) 1984-07-26
US4006466A (en) 1977-02-01
CA1064623A (en) 1979-10-16
GB1547384A (en) 1979-06-20
NL7603019A (nl) 1976-09-28
BR7601585A (pt) 1976-09-28
BE840024A (fr) 1976-07-16
FR2305790B1 (de) 1982-03-05
CH616251A5 (de) 1980-03-14
JPS51117839A (en) 1976-10-16
FR2305790A1 (fr) 1976-10-22
AU1117076A (en) 1977-09-01

Similar Documents

Publication Publication Date Title
DE2612083A1 (de) Verfahren und vorrichtung zur ein/ausgang-datenverarbeitung
DE2755897C2 (de)
DE2612139A1 (de) Ein/ausgang-steuerungssystem
DE2750721A1 (de) Ein/ausgabe-system
DE2755952C2 (de)
DE2755371A1 (de) Ein/ausgabe-verarbeitungssystem
DE2411963C3 (de) Elektronische Datenverarbeitungsanlage mit einer Prioritätssteuerschaltung mit änderbaren Steuerblöcken
DE2806045A1 (de) Dv-system mit pufferspeicher
DE2856483C2 (de)
DE2750299A1 (de) Ein/ausgabe-system
CH522921A (de) Rechneranlage
DE2629266A1 (de) Ein/ausgabe-system
DE1524102C3 (de) Elektronische, aus Baueinheiten aufgebaute Datenverarbeitungsmaschine
DE2806024A1 (de) Speichersystem mit fehlerfeststell- und korrekturmoeglichkeit
DE2030812A1 (de) Modulare Datenrechnersysteme
DE2332734A1 (de) Datenverarbeitungssystem
DE2243956A1 (de) Speicherprogrammierte datenverarbeitungsanlage
DE3127349A1 (de) Signalverarbeitungssystem mit verteilten elementen
DE1449532B2 (de) Datenverarbeitungsanlage
DE1549523B2 (de) Datenverarbeitungsanlage
DE2755608A1 (de) Wartungseinrichtung in einem dv-system
DE2714805A1 (de) Datenverarbeitungssystem
DE2459956A1 (de) Prozessor und diesen verwendendes peripheres verarbeitungssystem
DE3741850A1 (de) Ausfuehrungseinheit fuer einen i/o-prozessor
DE1929010B2 (de) Modular aufgebaute datenverarbeitungsanlage

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
Q176 The application caused the suspense of an application

Ref document number: 2722124

Country of ref document: DE

8127 New person/name/address of the applicant

Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US

8130 Withdrawal