DE2612083A1 - Verfahren und vorrichtung zur ein/ausgang-datenverarbeitung - Google Patents
Verfahren und vorrichtung zur ein/ausgang-datenverarbeitungInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4818—Priority circuits therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task 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;
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;
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.
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,
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
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
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
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
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.
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.
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
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
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.
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.
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.
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
GR
HLIP
IC
ICB IDA IDR
ICB IDA IDR
IFA IMID
IOP IR
LPW LSMX
LPW LSMX
LZP MIFS
NIR PCR PDFS
PI
PIR
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
ROM
SDTS
SYS-CLK TFA
WREX WRR
ZAC
ZIR
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)
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
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)
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)
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)
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)
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 |
-
1975
- 1975-03-26 US US05/562,364 patent/US4006466A/en not_active Expired - Lifetime
-
1976
- 1976-02-02 CA CA244,734A patent/CA1064623A/en not_active Expired
- 1976-03-16 BR BR7601585A patent/BR7601585A/pt unknown
- 1976-03-19 JP JP51029402A patent/JPS5930290B2/ja not_active Expired
- 1976-03-22 DE DE19762612083 patent/DE2612083A1/de not_active Withdrawn
- 1976-03-23 NL NL7603019A patent/NL7603019A/xx not_active Application Discontinuation
- 1976-03-25 BE BE165554A patent/BE840024A/xx not_active IP Right Cessation
- 1976-03-25 FR FR7608764A patent/FR2305790A1/fr active Granted
- 1976-03-25 CH CH375876A patent/CH616251A5/fr not_active IP Right Cessation
- 1976-03-25 GB GB12050/76A patent/GB1547384A/en not_active Expired
Patent Citations (3)
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)
Title |
---|
Schecher, Funktioneller Aufbau digitaler Rechenanlagen, Springer-Verlag 1973, S. 142-149 * |
Cited By (3)
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 |