DE2755952C2 - - Google Patents

Info

Publication number
DE2755952C2
DE2755952C2 DE2755952A DE2755952A DE2755952C2 DE 2755952 C2 DE2755952 C2 DE 2755952C2 DE 2755952 A DE2755952 A DE 2755952A DE 2755952 A DE2755952 A DE 2755952A DE 2755952 C2 DE2755952 C2 DE 2755952C2
Authority
DE
Germany
Prior art keywords
register
instruction
counter
interrupt
lines
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.)
Expired
Application number
DE2755952A
Other languages
English (en)
Other versions
DE2755952A1 (de
Inventor
Jerome J. Twibell
Victor Michael Phoenix Ariz. Us Griswold
Jaime Glendale Ariz. Us Calle
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Inc
Original Assignee
Honeywell Bull Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Bull Inc filed Critical Honeywell Bull Inc
Publication of DE2755952A1 publication Critical patent/DE2755952A1/de
Application granted granted Critical
Publication of DE2755952C2 publication Critical patent/DE2755952C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)
  • Measurement Of Unknown Time Intervals (AREA)
  • Measurement Of Predetermined Time Intervals (AREA)

Description

Die vorliegende Erfindung bezieht sich auf einen Intervall­ zeitgeber für eine Datenverarbeitungseinheit nach dem Gattungsbegriff des Patentanspruches 1.
Ein derartiger Intervallzeitgeber ist aus dem IBM "Technical Disclosure Bulletin", Band 17, Nr. 5, Oktober 1974, Seiten 1455-1459 bekannt. Dort wird mittels eines internen Zeitgebers ein Zähler hochgezählt, dessen decodierter Zählstand in der Lage ist, eine Unterbrechungsanforderung auszugeben. Der Prozessor ist jedoch im allgemeinen nicht in der Lage, auf einen Zeitablaufzustand innerhalb einer minimalen Zeitperiode nach Empfang der Zeitgeberunter­ brechung zu antworten. Deswegen muß der Prozessor die normale Bearbeitung sofort unterbrechen, um unmittelbar auf jede von einem Zeitgeber erzeugte Unterbrechung zu antworten und gleichzeitig die Verfälschung einer nachfolgenden Zeitgeberunterbrechung zu verhindern. Da der Zeitgeberunter­ brechung normalerweise ein niedriger Prioritätspegel zugeordnet ist, ist eine sofortige Unterbrechung insbesondere von Ein/Ausgabe-Operationen nicht immer erwünscht.
Ausgehend von diesem Stand der Technik ist es daher die Aufgabe der vorliegenden Erfindung, einen Intervallzeitgeber anzugeben, bei dem die Bildung von Zeitgeberunterbrechungen ohne Zeitverfälschung möglich ist und der Prozessor nicht gezwungen ist, seine Verarbeitung sofort zu unterbrechen. Die Lösung dieser Aufgabe gelingt gemäß den kennzeichnenden Merkmalen des Patentanspruches 1. Weitere vorteilhafte Ausgestaltungen des erfindungsgemäßen Intervallzeitgebers sind den Unteransprüchen entnehmbar.
Anhand eines in den Figuren der beiliegenden Zeichnungen dargestellten Ausführungsbeispieles sei die Erfindung im folgenden näher beschrieben. Es zeigen:
Fig. 1 ein Blockdiagramm eines Ein/Ausgabe-Systems, bei dem die vorliegende Erfindung Anwendung findet.
Fig. 2 einen der Prozessoren des Prozessorpaares 200-0 gemäß Fig. 1 in näheren Einzelheiten.
Fig. 3a bis 3b die System-Schnittstelleneinheit gemäß Fig. 1 in näheren Einzelheiten.
Fig. 4a ein Blockdiagramm des Systems gemäß Fig. 1, das die erfindungsgemäße Einrichtung enthält.
Fig. 4b bestimmte Teile von Fig. 4a in näheren Einzelheiten.
Fig. 4c den Zeitgeber 103-50 gemäß Fig. 4b in näheren Einzelheiten.
Fig. 5a bis 5d die verschiedenen Schnittstellen gemäß Fig. 1.
Fig. 6 das Format von WREX- und RDEX-Programmbefehlen.
Fig. 7a bis 7c das Format verschiedener von dem Prozessorpaar 200-0 gemäß Fig. 1 benutzter Anweisungen
Fig. 8a bis 8c die Formate des Inhalts verschiedener Register innerhalb der System-Schnittstelleneinheit 100 gemäß Fig. 1.
Fig. 9 die Signalfolge für die Verarbeitung einer Unterbrechung.
Fig. 10a und 10b die Signalfolgen für die Übertragung einer WREX-Anweisung.
Fig. 10c und 10d die Signalfolgen für die Übertragung einer RDEX-Anweisung.
Fig. 11 das Format eines Unterbrechungs-Datenwortes.
Fig. 12 das Format eines Types von Steuerungsdaten.
Allgemeine Beschreibung
Gemäß Fig. 1 umfaßt das System gemäß der vorliegenden Erfindung ein Ein/Ausgabe-Prozessorpaar (IOPP) 200-0, eine System-Schnitt­ stelleneinheit (SIU) 100, einen Hochgeschwindigkeits-Multiplexer (DSMX) 300, einen Niedriggeschwindigkeits-Multiplexer (LSMX) 400, einen Zentralprozessor 700, einen internen Speichermodul 500 und einen Hauptspeichermodul 800. Verschiedene dieser Module sind jeweils an einen aus einer Reihe von Anschlüssen der System-Schnittstellen­ einheit 100 über eine Vielzahl von Leitungen angeschlossen, die ihrerseits verschiedene Arten von Schnittstellen 600-603 bilden. Insbesondere sind das E/A-Prozessorpaar 200-0, der Zentral­ prozessor 700 und der Hochgeschwindigkeitsmultiplexer 300 an die Anschlußstellen G, H, D und A angeschlossen, während der Niedrig­ geschwindigkeitsmultiplexer 400 und die Speichermodule 500 und 800 an die Anschlußstellen J, LMO und RMO angeschlossen sind.
Das E/A-System gemäß Fig. 1 kann als ein System betrachtet werden, das eine Anzahl von "aktiven Modulen", "passiven Modulen" und "Speichermodule" aufweist. Der E/A-Prozessor 200, der Zentral­ prozessor 700 und der Hochgeschwindigkeitsmultiplexer 300 arbeiten als aktive Module, indem jeder die Fähigkeit besitzt, Anweisungen auszugeben. Die aktiven Module sind normalerweise an die Anschlußstellen A-H angeschlossen. Mehrere passive Module sind an die Anschlußstellen J, K und L angeschlossen. Diese Module sind durch die Niedrigeschwindigkeitsmultiplexer 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 beispiels­ weise 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äß Fig. 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 Daten­ schnittstelle, eine programmierbare Schnittstelle und eine Unterbrechungs-Schnittstelle repräsentieren. Die Anschlußstellen F und E weisen Schnittstellen auf, die einen Anschluß von Multiplexer- oder Prozessormodulen gemäß Fig. 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 34 13 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, und er verarbeitet Unterbrechungsanforderungen, die er von der System-Schnittstelleneinheit 100 erhält und schließlich steuert er periphere an den Niedriggeschwindigkeitsmultiplexer 400 angeschlossene Geräte. Das Prozessorpaar 200-0 ist über die Datenschnittstelle 600 und die Unterbrechungs-Schnittstelle 602 mit den Anschluß­ stellen G und H verbunden. Der Niedriggeschwindigkeitsmultiplexer 400 kann ebenfalls eine herkömmliche Ausbildung aufweisen. Er ist über periphere Adapter mit peripheren Geräten niedriger Geschwindigkeit verbunden, wobei die Adapter an die Leitungen einer Geräte-Adapter-Schnittstelle DAI angeschlossen sind. Schnittstelle und Adapter können in der Art ausgebildet sein, wie dies in der US-PS 37 42 457 beschrieben ist. Die peripheren Geräte mit niedriger Geschwindigkeit umfassen Kartenleser, Karten­ stanzer und Drucker. Wie aus Fig. 1 ersichtlich, ist der Multi­ plexer 400 über die programmierbare Schnittstelle 601 mit der Anschlußstelle J verbunden.
Der Hochgeschwindigkeitsmultiplexer 300 steuert direkt die Daten­ übertragung zwischen der Gruppe von Platteneinheiten und Band­ einheiten 309-312, die an verschiedene Kanaladapter 203-306 angeschlossen sind. Jeder der Kanal-Steueradapter 303-306 ist seinerseits über die Leitungen einer Kanal-Adapter-Schnittstelle CAI-301-1 an verschiedene Anschlußstellen 0-3 angeschlossen. Der Hochgeschwindigkeitsmultiplexer 300 ist mit der Anschluß­ stelle A über eine Datenschnittstelle 600, eine programmierbare Schnittstelle 601 und eine Unterbrechungs-Schnittstelle 602 an­ geschlossen. Jeder der Kanal-Steueradapter 303-306 kann so ausgebildet sein, wie dies in der zuvor erwähnten US-PS 37 42 457 beschrieben ist.
Wie zuvor erwähnt, ist jeder der Module an verschiedene Anschluß­ stellen der System-Schnittstelleneinheit 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 500 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 feststellen 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 Unter­ brechungsanforderungen feststellen und die höchste Prioritäts­ anforderung auswählen und über ein Schaltnetzwerk zu dem Prozessor 200 weiterleiten.
Anschluß-Schnittstellen
Bevor die verschiedenen Module gemäß Fig. 1 näher beschrieben werden, sollen anhand der Fig. 5a-5d die Schnittstellen 600- 603 näher erläutert werden. Gemäß Fig. 5a ist ersichtlich, daß die dort dargestellten Leitungen die Datenschnittstelle darstellen, die eine der Schnittstellen bildet, die für den Austausch von Informationen zwischen einem aktiven Modul und der System-Schnittstelleneinheit 100 erforderlich sind. Der Informations­ austausch 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.
Gemäß Fig. 5a umfaßt die Schnittstelle mehrere Leitungen mit folgender Bedeutung: Aktive Ausgangs-Anschluß-Anforderung AOPR; Daten zur Schnittstelleneinheit DTS 00-DTS 35, P 0-P 3; 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, P 0-P 3; Mehrfach­ anschluß-Identifizierer von der Schnittstelleneinheit, MIFS 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
BezeichnungBeschreibung AOPRDiese 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. DTS 00-34, P 0-P 3Diese Leitungen stellen einen Datenübertragungsweg mit einer Breite von vier Bytes dar, die sich in einer Richtung zwischen jedem der aktiven Module und der Schnittstelleneinheit SIU erstrecken und die zur Übertragung von Anweisungen oder Daten von jedem aktiven Modul zu der Schnittstelleneinheit SIU-100 benutzt werden SDTS 0-6, PDiese Leitungen erstrecken sich von jedem aktiven Modul nach der Schnittstelleneinheit SIU- 100. Sie dienen der Steuerung von Daten zur 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 der Bits 0 gibt die Art der Anweisung an, die über die DTS-Leitung zugeführt wird. Die Anweisung kann hierbei eine programmier­ bare 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 inter­ pretiert).
c) Der Zustand des Bits 5 zeigt an, ob ein oder zwei Worte der Anweisungsinformation zwischen dem anfordernden aktiven Modul und dem aus­ gewählten empfangenen Modul übertragen werden sollen (ein Wort bestimmt eine Übertragung mit einfacher Präzision und zwei Worte bestimmen eine Übertragung mit doppelter Präzision).
d) Der Zustand des Bits 6 zeigt die Richtung der Übertragung zwischen dem anfordernden Modul und dem ausgewählten empfangenden Modul an.
e) Das Bit P ist ein Paritäts-Bit, das von dem anfordernden aktiven Modul erzeugt wird und von einer in der Schnittstelleneinheit SIU-100 enthaltenen Anordnung geprüft wird. MITS 0-3, PDiese Leitungen erstrecken sich von dem aktiven Modul zu der Schnittstelleneinheit SIU-100. Sie zeigen durch ihre Codierung an, welcher Unterkanal oder Anschluß innerhalb eines aktiven Moduls das Setzen der Leitungen AOPR verursacht hat. ARADiese 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 Anforderungen durch den aktiven Modul angenommen hat, wodurch dem Modul gestattet wird, die angeforderte Information von den Daten- Schnittstellenleitungen zu entfernen. ARDADiese 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, P 0-P 3Die Daten von der Schnittstelleneinheit werden auf einem anderen Satz von Datenübertragungs­ leitungen ü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, PDiese 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 Schnitt­ stelleneinheit SIU-100 aufzunehmen hat. DPFSDiese 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 Vervollständigung einer Übertragung aufzunehmen sind (Leseanweisung) ASTDiese 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 DFS-Leitungen zugeführte Statusinformation aufnehmen soll.
Die Leitungen der programmierbaren Schnittstelle 601 sind in Fig. 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 Signalleitungen bewerkstelligt, wobei dies in Übereinstimmung mit zuvor errichteten Regeln erfolgt, die eine als "Dialog" bezeichnete Signalfolge ausführen. Die programmierbare Schnittstelle umfaßt verschiedene Leitungen, denen folgende Bedeutung zugeordnet ist: Programmierbare Schnittstellenanweisungen angenommen APC; programmierte Schnittstellendaten von der Schnittstelleneinheit SIU PDFS 00-35, P 0-P 3; programmierbare Schnittstelle bereit PIR; Anforderung der Übertragung gelesener Daten RDTR; programmierbare Schnittstellendaten zu der Schnittstelleneinheit SIU PDTS 00-35; P 0-P 3 und gelesene Daten angenommen RDAA. Eine Beschreibung der Schnittstellenleitungen wird nachfolgend in näheren Einzelheiten gegeben.
Programmierbare Schnittstellenleitungen
BezeichnungBeschreibung APCDiese 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 Schnittstellen­ einheit SIU zugeführt worden ist und durch den Modul aufgenommen werden soll. PDFS 00-35, P 0-P 3Diese 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 Schnittstellen­ information von der System-Schnitteinheit SIU-100 zu. PIRDiese 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, P 0-P 3Diese 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 Schnittstellen­ information zu der Schnittstelleneinheit SIU-100 benutzt. RDTRDiese 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. RDAADiese 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 auf­ genommen worden sind und daß der Modul die Information von diesen Leitungen wegnehmen kann.
Gemäß Fig. 5c ist als weitere Schnittstelle die Unterbrechungs­ schnittstelle 602 dargestellt, die für die Unterbrechungsverarbeitung durch den E/A-Prozessor 200 vorgesehen ist. Diese Schnitt­ stelle gestattet die Übertragung von Unterbrechungsinformation von einem aktiven Modul zu der Schnittstelleneinheit SIU-100 sowie die Übertragung von Unterbrechungsinformation von der Schnittstelleneinheit SIU-100 zu dem E/A-Prozessor 200 zwecks Verarbeitung. Entsprechend den anderen Schnittstellen wird die Übertragung der Unterbrechungsanforderung durch Steuerung der logischen Zustände der verschiedenen Signalleitungen verwirklicht, wobei dies in Übereinstimmung mit zuvor errichteten Regeln erfolgt, die durch eine als "Dialog" bezeichnete Signalfolge ausgeführt werden. Die Unterbrechungsschnittstelle weist verschiedene Leitungen mit folgender Bedeutung auf: Unterbrechungs­ anforderung IR; Unterbrechungsdaten IDA 00-11, P 0-P 1 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 Unter­ brechungsschnittstelle ferner Leitungen mit folgender Bedeutung auf: Pegel Null vorhanden LZP; höhere Pegelunterbrechung vorhanden HLIP; Unterbrechungsdaten-Anforderung IDR; Freigabe RLS und aktiver Unterbrechungspegel AIL 0-2. Wie auf Fig. 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
BezeichnungBeschreibung IRDiese 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, P 0/
IDA 4-11, P 1Diese Unterbrechungs-Datenleitungen erstrecken sich von einem aktiven Modul nach der Schnitt­ stelleneinheit SIU-100. Durch ihre Codierung enthalten diese Leitungen Steuerinformation, deren Übertragung nach dem E/A-Prozessor angefordert wird, wenn eine Unterbrechungsanforderung von dem Prozessor angenommen worden ist. Diese Bits sind wie folgt codiert:
a) Der Zustand des Bits 0 signalisiert der Schnitt­ stelleneinheit SIU-100, welcher der beiden Prozessoren die Unterbrechungsanforderung verarbeiten soll.
b) Die Bits 1-3 zeigen durch ihre Codierung die Priorität oder die Pegelnummer der Unterbrechungs­ anforderung der Schnittstelleneinheit SIU-100 an.
c) Das Bit P 0 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 Bezug­ nahme auf die korrekte Prozedur bei der Verarbeitung der Unterbrechung erforderlich ist (z. B. eine Unterbrechungssteuerblocknummer ICBN).
e) Das Bit P 1 ist ein Paritäts-Bit für die Bits 4-11. IMID 00-03Diese 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. LZPDiese Leitung erstreckt sich von der Schnitt­ stelleneinheit SIU-100 zu dem E/A-Prozessor 200 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. HLIPDiese Leitung erstreckt sich von der Schnitt­ stelleneinheit 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. IDRDiese 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. RLSDiese 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-2Die den aktiven Unterbrechungspegel führenden Leitungen erstrecken sich von der Schnittstellen­ einheit 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äß Fig. 1 benutzt wird, wird durch interne Speicher­ schnittstellen-Leitungen gemäß Fig. 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 aus­ führen. Die interne Speicherschnittstelle weist eine Anzahl von Leitungen auf, denen folgende Bedeutung zugeordnet ist: Daten zum Speicher DTM 00-35, P 0-P 3; Datenidentifizierer zum Speicher RITM 0-7, P 0-P 1; 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, P 0-P 3; Anforderungsidentifizierer vom Speicher RIFM 07-, P 0-P 1; Doppelpräzision vom Speicher DPFM; QUAD; gelesene Daten angenommen RDAA und Systemtakt SYS-CLK. Eine ähnliche Schnittstelle wird benutzt, um den Hauptspeichermodul 800 mit der Schnittstelleneinheit SIU-100 zu verbinden.
Speicher- und programmierbare Schnittstellenanweisung werden über die gleichen Datenleitungen der Schnittstelle übertragen. Die Schnittstelle weist keine Leitungsgruppe zur Verarbeitung von Unterbrechungsanforderungen auf, so daß die an den internen Speicher über die Schnittstelleneinheit SIU-100 angeschlossenen Module nicht direkt eine Speicherunterbrechung verursachen können. Eine Beschreibung der internen Speicherschnittstellenleitungen wird nachstehend in näheren Einzelheiten gegeben.
Interne Speicher-Schnittstellenleitungen
BezeichnungBeschreibung DTM 00-35, P 0-P 3Diese Leitungen weisen eine Breite von 4 Bytes auf (36 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 Speicher- oder programmierbaren Schnittstellenanweisungen zu dem internen Speicher 500 benutzt. RITM 0-3, P 0
RITM 4-7, P 1Diese 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. SLTM 0-3, PDiese Leitungen erstrecken sich von der Schnittstellen­ einheit 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 folgendermaßen codiert:
a) Die Bits 0-1 stellen Anschlußnummer-Auswahl- Bits dar, die durch ihre Codierung anzeigen, welcher Anschluß oder Unterkanal innerhalb des beigefügten Moduls die zu dem Modul gesendete Speicheranweisung empfangen oder interpretieren soll.
b) Bit 2 ist ein Lese/Schreib-Bit zum Speicher, das in der von dem aktiven Modul empfangenen Steuerinformation enthalten ist und von der Schnittstelleneinheit SIU nach dem internen Speicher 500 weitergereicht wird, wenn von der Schnittstelleneinheit SIU-100 eine neue Anweisung zu dem Speicher abgesendet wird. Der Zustand dieses Bits zeigt die Richtung der Datenübertragung an.
c) Bit 3 ist ein Doppelpräzisions-Bit zum Speicher, das durch seine Codierung den Betrag der zu übertragenden Daten anzeigt. Es ist ebenfalls in der durch den aktiven Modul erzeugten Steuerinformation enthalten, wobei es durch die Schnittstelleneinheit SIU-100 nach dem internen Speichermodul 500 übertragen wird, wenn eine neue Anweisung nach dem Speichermodul abgesendet wird. AZCDiese Leitung erstreckt sich von der Schnittstellen­ einheit SIU-100 nach dem internen Speichermodul 500 und sie zeigt im gesetzten Zustand dem internen Speichermodul 500 an, daß eine von der Schnittstelleneinheit SIU-100 auf den anderen Leitungen angebotene ZAC-Anweisung und Steuer­ information anzunehmen ist. Das Setzen dieser Schnittstellenleitungen erfolgt wechselseitig exklusiv mit dem Setzen der Schnittstellenleitung APC. APCDiese 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 Speicher­ modul 500 anzunehmen ist. PIR/ZIRDiese Leitung signalisiert die Bereitschaft der programmierbaren Schnittstelle und der ZAC- Schnittstelle und sie erstreckt sich von dem internen Speichermodul 500 zu der Schnittstellen­ einheit SIU-100. Im gesetzten Zustand zeigt diese Leitung der Schnittstelleneinheit SIU-100 an, daß der interne Speichermodul 500 in der Lage ist, eine programmierbare Schnitt­ stellenanweisung bzw. eine ZAC-Speicheranweisung anzunehmen. RDTRDiese 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, P 0-P 3Diese 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. RIFM 0-3, P 0
RIFM 4-7, P 1Die 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. DPFM und QUADDie Doppelpräzisionsleitung vom Speicher und die QUAD-Leitung erstrecken sich von dem internen Speichermodul 500 nach der Schnittstellen­ einheit 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 den Übertragungsanforderungen der gelesenen Daten zu übertragen sind. Diese Leitungen sind folgendermaßen codiert:
DSD 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 Status­ information bezieht, wenn die Leitung RDTR gesetzt ist. Im gesetzten Zustand zeigt diese Leitung an, daß eine Statusinformation von ein oder zwei Worten (QUAD =0) zu übertragen ist. Wenn diese Leitung den Binärwert Null einnimmt, so wird 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. RDAA 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­ 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 Taktgeberquelle innerhalb des E/A-Prozessors 200 angeschlossen und sie dient der Synchronisation der Operationen eines jeden Speichermoduls durch den gemeinsamen System­ takt.
E/A-Prozessor 200
Gemäß Fig. 2 weist der Prozessor 200 einen mikroprogrammierten Steuerabschnitt 201 auf, der in Abhängigkeit von in einem Steuer­ speicher 201-10 gespeicherten Mikrobefehlen Steuersignale für die Ausführung von Befehlen erzeugt. Ferner umfaßt der Prozessor 200 eine 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 Mikroprogrammen.
Steuerspeicherabschnitt 201
Der Steuerspeicher 201-10 besteht beispielsweise aus Abschnitten eines Festwertspeichers ROM. Der Steuerspeicher 201-10 ist über 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 Adreßkonstanten auf zum Verzweigen des Steuerspeichers 201-10 auf geeignete Mikroprogrammroutinen.
Wie aus Fig. 2 ersichtlich, sind folgende Steuerspeicher-Ursprungs­ adressen 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-Adreßregisterposition, die an die über einen Addierschaltkreis 201-24 in ein Register 201-22 eingespeicherte Nächst-Adresseninformation angeschlossen ist; eine Rückkehr­ adreßregisterposition, der der Inhalt eines Rückkehrregisters 201-20 als Rückkehradresse zugeführt ist; eine Ausführungs- Adreßregisterposition, der von einem Wegsucherspeicher 201-2 über ein Speicherausgangsregister 201-4 eine Adresse zugeführt wird; eine Folgeadreßregisterposition, 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 Adreßsignale in Form einer durch den Schalter 201-14 ausgewählten Ursprungs­ adresse und als ein anderer Operand Signale von Sprung-Steuer­ schaltkreisen eines Blockes 201-26 zugeführt werden. Die Sprung- Steuerschaltkreise werden durch in dem Steuerspeicherregister 201-15 gespeicherte Konstantensignale beeinflußt und sie erzeugen einen geeigneten Wert als einen Operandeneingang für den Addierschaltkreis 201-24. Die durch den Addierschaltkreis 201-24 erzeugte resultierende Adresse ergibt sich als Summe von durch den Schalter 201-14 ausgewählten Adressen und von Konstanten­ signalen, die durch die Sprung-Steuerschaltkreise des Blockes 201-26 erzeugt werden. Die verschiedenen Positionen des Schalters 201-14 werden in Abhängigkeit von aus dem Steuerspeicher 201-10 ausgelesenen Mikrobefehlen ausgewählt, um wiederum geeignete Adressen fü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 Operations­ code eines Programmbefehls bestimmt ist. Der Operationscode des Befehls wird dem Wegsucherspeicher 201-2 über den Datenweg 201-6 zugeführt. Die Rückkehr-Adreßregisterposition des Schalters 201-14 wird während der Programmfolge als Folge einer Verzweigungsoperation ausgewählt, während die Konstenregister­ position 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 Fig. 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 204-14 anlegen. Das über die Leitung HLIP angelegte Signal wird mit einem Unterbrechungs- Sperrsignal aus einem Prozeßsteuerregister 201-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.
Ausnahmen anzeigende Signalleitungen sind an nicht dargestellte Steuerschaltkreise angeschlossen, die dem Schalter 201-14 zugeordnet sind und verursachen die Auswahl der Ausnahme/Unterbrechungs­ position. 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 wird bei 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 Fig. 2 bezeichnete Zeittaktsignale werden durch Takt­ schaltkreise 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äß Fig. 1. Die Taktschaltkreise weisen als einen Eingang die STOP-Leitung auf, die einen weiteren Betrieb des Steuerabschnittes 201 sperrt, wenn sie auf den Binärwert "1" gesetzt ist. Der Block 201-30 umfaßt Schaltkreise, um der Schnittstelleneinheit SIU-100 über die OPI-Leitung zu signalisieren, daß sich der Prozessor 200 im Betrieb befindet. Im Falle der vorliegenden Erfindung können die Taktschaltkreise ebenso wie die anderen Schaltkreise gemäß Fig. 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 Takt­ schaltkreise 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 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 Operations­ zyklus in eine Anzahl getrennter Steuerfelder unterteilt, die die erforderlichen Eingangssignale für die verschiedenen Auswahlschalter gemäß Fig. 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 Registern 202-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äß Fig. 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.
Der Zwischenspeicher 203-10 wird über einen Daten-Auswahlschalter 203-14 mit acht Schaltstellungen adressiert, wodurch den Adreß­ eingängen 203-12 selektiv eine 7-Bit-Adresse aus einer der acht Ursprungsadressen zugeführt wird. Die drei höchstrangigsten Bit- Positionen der Adreßeingänge 203-12 wählen eine der acht Register­ gruppen 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öchst­ rangigsten Bits den Adreßeingängen 203-12 des Zwischenspeichers zu. Die verbleibenden Signale werden von dem Steuerspeicher­ register 201-15 oder Felder des über IRSW zugeführten Befehls erzeugt.
Das Schreib-Adreßregister 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-Adreßregister weist somit Adressen­ speicherraum für das Laden oder das Rückführen eines Ergebnisses in eines der Allgemeinregister 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 Schreibtakt­ signal 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-Adreßregisters 203-22 wird über den Aus­ wahlschalter 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 von dem Prozeßzustandsregister 204-20 ein Modussignal zugeführt. Das Modussignal zeigt an, ob der Prozessor 200 in der Haupt- bzw. Nebenbetriebsweise betrieben wird, und es wird mit dem Ausgangs­ signal 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/Unterbrechungs­ position des Schalters 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 Zwischen­ speicher-Pufferregister 203-16 übernommen. Der Inhalt des Puffer­ registers 203-16 wird sodann über einen weiteren Datenauswahl­ schalter 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ßzustandsregister­ speicherplatz (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 Register­ inhalt 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ähl­ standes, der periodisch heruntergezählt wird, während der zugeordnete Prozeß aktiv ist. Wegen der für eine Modifikation oder Bezugnahme erforderlichen Frequenz des Zugriffs auf den Inhalt des Prozeßzustandsregisters sind Signale entsprechend dem Inhalt dieses Registers in einem der Register des Verarbeitungsabschnittes 204 (z. B. Register 204-20) gespeichert. Der Speicher­ platz 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 (Allgemein­ register GR 1) zur Speicherung der Adresse des laufenden Befehls des zugeordneten Prozesses auf. Zusätzlich weist jede Gruppe von Registern ein Seitentabellen-Basisregister (Allgemein­ register GR 15) und eine Anzahl von Allgemeinregistern (Allgemein­ register 2-14) zur temporären Speicherung von Operanden und Adresseninformationen 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 Ausnahme­ steuerblockes 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 Steuerblockbasis­ information. 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 Haupt­ betriebsweise eintritt. In allen anderen Fällen weist die Ausnahme­ nummer den Wert 0 auf. Die Ausnahmenummer (ECB-Nummer) wird zur Bestimmung eines der Ausnahmesteuerblöcke ECB mit vier Worten benutzt, welcher auf eine Ausnahme-Verarbeitungsroutine verweist.
Die Byte-Adresse eines Ausnahmesteuerblockes ECB entspricht der Steuerblockbasis CBB-16 (ECB-Nummer -1). Jeder Ausnahmesteuerblock ECB weist Werte zum Laden der Register PSR, IC und PTBR auf sowie zusätzlich einen Wert für eine Sicherungsbereich-Hinweis­ adresse, 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 Unterbrechungs­ wort in der erläuterten Weise gewonnen. Der Unterbrechungs- Steuerblock stellt ebenfalls einen Block von vier Worten dar und er enthält Werte für die Register PSR, IC, GR 14 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/Verschiebe­ einheit 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 Datenauswahl­ schalter 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 R 0 bis R 3, die der temporären Speicherung des Inhalts des Befehlszählers und der Adressen während einer Befehls­ ausfü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äß Fig. 2 sind die Register an ein Paar von Ausgangsschienen WRP und WRR angeschlossen. Die WRP-Schiene ist an Adreßeingänge 204-5, an den Schalter 203-18 und den Zwischenspeicher 203-10 an­ geschlossen. Die WRR-Schiene ist an den A-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-Schiene ausgewählten Register werden durch ein Feldpaar eines Mikrobefehls bestimmt, der aus dem Register 201-15 ausgelesen wird.
Gemäß Fig. 2 weist der Verarbeitungsabschnitt 204 ein Prozeß­ zustandsregister 204-20 und ein Prozeßsteuerregister 204-22 auf. Das Prozeßszustandsregister 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-PositionAusnahmetyp 0Operation nicht vollständig; keine Antwort der Schnittstelleneinheit SIU-100 auf den Leitungen ARA oder ARDA. 1Seitenadreß-Grenzfehler (Kennschlüsselprüfung) 2Seiten-Zugriffsfehler 3Seite im Speicher nicht vorhanden 4Illegale Operation 5Prozeß-Zeitgeber-Ablauf 6Überlauf 7Verriegelungsfehler 8Adressen-Fehlausrichtung
Der Ausdruck "Fehler" bezieht sich nicht notwendigerweise auf den Auftritt eines Hardware-Fehlers, sondern umfaßt auch Fehler­ zustände usw.
Die Bit-Positionen 9-12 speichern die durch das Datenweg-Substrat festgestellten Paritätsfehler. Die Bit-Position 13 zeigt an, wenn ein Paritätsfehler in dem Daten-Eingangsregister festgestellt wird. Die Bitpositionen 14-15 speichern Hinweise auf Paritätsfehler, die von dem Steuerspeicher und dem Wegsucherspeicher festgestellt werden. Das Bit 15 signalisiert, daß keine Antwort auf die Unterbrechung mit dem Pegel 0 vorliegt. Die Bit-Positionen 23-26 bestimmen die Prozessornummer und den Pegel, die über die Leitungen PNID und AIL erhalten werden. Die Bit-Positionen 27 stellen ein Unterbrechungs­ Sperr-Bit dar, während die Bit-Positionen 28-35 Unterbrechungs- Anforderungs-Bits speichern, die für den Fall, daß sie den Wert "1" aufweisen, eine Unterbrechung mit einem der Bit-Position entsprechenden Pegel anzeigen (z. B. Bit 28 = Pegel 0). Die Bit- Positionen 27-35 können durch einen Programmbefehl über die Ausgangsschiene WRR aus der Reihe von Registern des Blockes 204-12 geladen werden. Die Inhalte eines jeden Registers 204-20 und 204-22 werden selektiv über einen Datenauswahlschalter 204-24 mit zwei Positionen einer der Positionen des Datenauswahlschalters 204-8 zugeführt. Das Register 204-20 ist ferner mit der PI- Position eines zweistufigen Steuerungs-Auswahlschalters 204-10 und eines vierstufigen Adressen-Auswahlschalters 204-6 verbunden. Der Steuerungsschalter 204-10 erzeugt Steuerungsinformation für die Schnittstelleneinheit SIU-100, welche zur Übertragung der Anweisung zu dem richtigen Modul verwendet wird. Eines der Felder des aus dem Register 201-15 ausgelesenen Mikrobefehls wählt die geeignete Position entweder für eine Speicher oder eine programmierbare Schnittstellenanweisung aus. Die Steuerungsinformation für eine Speicheranweisung wird erzeugt durch Felder innerhalb des Mikrobefehls und durch seitenunterteilte Adresseninformation vom Zwischenspeicher 204-4 oder durch absolute Adressen­ information von der Schiene WRP. Im Falle einer programmierbaren Schnittstellenanweisung wird die Steuerungsinformation wie folgt erzeugt: Das Bit 0 wird bei einer programmierbaren Schnittstellen­ anweisung zwangsläufig auf den Wert "1" gesetzt; die Bits 1-4 entspreichen 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. Bei Start eines Speicher­ zyklus 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 Daten­ schnittstelle 600 des Prozessors 200 zuteilt. Die zusätzliche Steuerungsinformation aufweisende Anweisung wird durch die Position 2 des Adressenschalters 204-6 im Falle einer programmier­ baren Schnittstellenanweisung erzeugt.
Wie der Fig. 2 weiterhin entnehmbar ist, umfaßt der Verarbeitungs­ abschnitt 204 einen Zwischenspeicher 204-4, der über Adreß­ eingänge 204-5 adressierbar ist. Der Zwischenspeicher 204-4 gestattet eine Seitentabellen-Adreßspeicherung 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 Zwischen­ speichers 204-4 kein besonderes Merkmal der vorliegenden Erfindung bildet, wird auf eine näherer Diskussion dieser Speicher­ technik 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 Arbeits­ registern 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 Schnitt­ stellenanweisung mit folgenden Bits: Bit 0 weist den Wert "0" auf; Bit 1 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 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 Schnitt­ stellenanweisung liefert.
System-Schnittstelleneinheit 100 Unterbrechungsabschnitt 101
Die System-Schnittstelleneinheit 100 dient dem Nachrichtenaus­ tausch zwischen den Modulen des Systems gemäß Fig. 1 über mehrere Doppelkanalschalter. Verschiedene Doppelkanalschalter werden zum Sammeln der Signale auf den Leitungen der verschiedenen Schnittstellen der Module verwendet. In Fig. 3a sind die Schalter und Schaltkreise des Unterbrechungsabschnittes 101 zum Verarbeiten der Modul-Unterbrechungsschnittstellen dargestellt. Im System gemäß Fig. 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äß Fig. 1 ab.
Gemäß Fig. 3a gibt jeder Modul, wenn er eine Bearbeitung anfordert, ein Signal auf seiner Unterbrechungsanforderungsleitung IR zusammen mit einer geeigneten Unterbrechungs-Bestimmungsinformation auf den Leitungen IDA ab, wobei diese Leitungen den Schaltkreisen eines Unterbrechungsprioritäts- und Steuerblocks 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äts­ anforderung zugeordnete Identifizierungsinformation auf den Prozessor 200. Die Identifizierungsinformation weist eine Unter­ 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 die Prozessornummer und die Unterbrechungs-Anforderungs­ signale decodieren. Unter der Voraussetzung, daß kein Paritäts­ fehler vorliegt, werden die Ausgangssignale der Decodierschaltkreise den Prioritäts-Logikschaltkreisen des ausgewählten Prozessors zugeführt. Die Prioritäts-Logikschaltkreise decodieren die Unterbrechungs-Pegelsignale und bestimmen den höchsten Prioritäts­ pegel 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 innerhalt 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äß Fig. 1, daß der Anschluß des laufenden Prozesses die höchste Priorität gefolgt von der Schnittstelleneinheit SIU-100, dem Hochgeschwindigkeits­ multiplexer 300, dem Zentralprozessor 700, dem Prozessor 200 und dem Niedrigeschwindigkeitsmultiplexer 400 aufweist.
Die Prioritätsschaltkreise des Blockes 101-2 erzeugen ein Ausgangs­ signal auf einer Leitung von N-Ausgangsleitungen, wobei die Zahl N der Anzahl der unterbrechenden Module innerhalb des Systems entspricht. Die N-Ausgangsleitungen werden einem Daten- Auswahlschalter 101-4 mit acht Positionen zugeführt, der die Unterbrechungs-Pegelsignale eines Unterbrechungspegels mit einer höheren Priorität als des gerade bearbeiteten Pegels auswählt und in ein Register 101-6 überträgt. Die Ausgangssignale des Registers 101-6 werden auf den Leitungen AIL ausgegeben, wenn der Prozessor 200 die Leitung IDR den Wert "1" annehmen läßt, vorausgesetzt, daß die Schnittstelleneinheit SIU-100 zuvor 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 Identifizierungs­ information enthält. Das Unterbrechungswort weist im einzelnen folgendes Format auf:
Bit 0 ist eine neue Unterbrechungs-Bit-Position. Wenn dieses Bit auf den Wert "1" gesetzt ist, so zeigt es an, daß es sich bei der Unterbrechung um eine neue Unterbrechung handelt und wenn es auf den Wert "0" gesetzt ist, so zeigt es an, daß die Unterbrechung einen zuvor unterbrochenen Prozeß betrifft, der wieder aufgenommen wird.
Bits 1-17 werden nicht benutzt und weisen den Wert "0" auf.
Bits 18-27 bestimmen die Unterbrechungs-Stuerblocknummer, wobei die Bits 18 und 27 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ß fest­ legen, 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äß Fig. 1 erzeugt:
CodeIdentifizierter Schnittstelleneinheit-Anschluß 0000Interner Speichermodul - Anschluß LMO 0001Anschluß K 0010Schnittstelleneinheit SIU-100 - Anschluß L 0101Niedriggeschwindigkeitsmultiplexer 400 - Anschluß I 0110Prozessor 200 - Anschluß G 1101Hochgeschwindigkeitsmultiplexer 300 - Anschluß A 1110Zentralprozessor 700 - Anschluß E
Der von dem Auswahlschaltkreis 101-8 erzeugte Vier-Bit-Code wird seinerseits einer Gruppe herkömmlicher UND-Gatterschaltkreise zugeführt, die in dem Gatternetzwerk 101-12 enthalten sind, Die andere Identifizierungsinformation, die von den verschiedenen Ursprungs­ modulen des System 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 Unterbrechungs­ schnittstelle 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 gibt die Schnittstelleneinheit SIU-100 über eine Stellung des Auswahlschalters 101-20 die Signale des Gatternetz­ werkes 101-12 an die Leitungen DFS der Prozessor-Datenschnitt­ stelle 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übertragungsabschnitt 102
In Fig. 3b ist der Datenübertragungsabschnitt 102 der System­ schnittstelleneinheit 100 dargestellt. Dieser Abschnitt enthält Prioritätsschaltkreise, welche festlegen, welcher Modul über seine programmierbare Schnittstelle 601 Anweisungen zu dem Hoch­ geschwindigkeitsmultiplexer 300 übertragen hat und welcher Quellenmodul über seine Datenschnittstelle 600 Daten zu dem Multiplexer 300 zu übertragen hat. Weiterhin weist der Abschnitt 102 Prioritätsschaltkreise auf, welche festlegen, welcher Quellen­ modul entweder Daten oder Anweisungen nach dem internen Speicher­ modul 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äß Fig. 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äß Fig. 2 geladen ist. Die Leitungen SDTS führen Signale, die durch eine Mikroprogrammsteuerung erzeugt werden, welche in das Prozessor-Steuerungsregister 204-16 gemäß Fig. 2 geladen ist.
Hinsichtlich des Systems gemäß Fig. 1 übertragen nur E/A- Prozessoren 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 Steuerungs­ information des Prozessors decodieren, falls der Prozessor 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 Aufgabe einer programmierbaren Schnittstellenanweisung an den Multiplexer 300 veranlaßt, so legt der Prozessor 200 die Prozessornummeridentifikation im Bit 3 der Anweisung ab. Der Multiplexer 300 speichert die Prozessor­ nummer, die in der Anweisung enthalten ist, bis er eine Unterbrechungsanforderung abzugeben wünscht, wobei dann die Prozessor­ nummer einen Teil der Unterbrechungsdaten bildet. Wenn die programmierbare Schnittstellenanweisung dem Multiplexers 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 Multiplexer 300 durch Erzeugung einer Übertragungsforderung gelesener Daten an die Schnittstellen­ einheit 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äß Fig. 1 ist der Speicher­ modul 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 Multiplexer 300 an den Speichermodul 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ß-Identifizierungs­ information gehört. Die Information ist in dem Speichermodul 500 gespeichert und wird zu der Schnittstelleneinheit SIU-100 zurückgeholt, wenn der Modul 500 eine Übertragungsan­ forderung 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 Operations­ zyklus 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 Identifizierungssignale und falls diese Signale anzeigen, daß der interne Speichermodul 500 bereit ist, Information zu dem Multiplexer 300 zu übertragen und daß der Multiplexer 300 bereit ist, die Information aufzunehmen, so legt das Decodiernetzwerk 102-14 die geeigneten Signale an den Auswahl­ schalter 102-12 und an Schaltkreise innerhalb eines Gatternetz­ werkes 102-16 an. Zusätzlich legt das Decodiernetzwerk 102-14 ein Signal an die Leitung ARDA der Datenschnittstelle an und signalisiert hiermit dem Multiplexer 300, daß er auf den Leitungen DFS seiner Schnittstelle 600 die Daten von der Schnittstellen­ einheit SIU-100 anzunehmen hat. Die Schaltkreise des Blockes 102-16 legen die geeignete Mehrfachanschluß-Identifizierungs­ information 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 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 Schnittstellen­ einheit SIU-100 zur Übertragung von programmierbaren Schnittstellen- und Speicheranweisungen von einem der Module gemäß Fig. 1 nach dem internen Speichermodul 500 verwendet. Der Modul 500 bewirkt, daß entweder die Leitung PIR oder die an das Decodiernetzwerk 102-20 angeschlossene Leitung ZIR den Wert "1" einnimmt, wenn er bereit ist, eine programmierbare Schnittstellen- oder Speicheranweisung anzunehmen. Zusätzlich führen der Prozessor 200, der Prozessor 700 und der Multiplexer 300 dem Netzwerk 102-20 Signale auf der Leitung AOPR 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 Datenschnitt­ stelle 603 des internen Speichermoduls 500 gibt.
Die letzten beiden Netzwerke 102-30 und 102-40 werden zur Über­ tragung von Speicherdaten und von programmierbaren Schnittstellendaten zu dem Prozessor 200 benutzt, wobei dies in Abhängigkeit von Speicheranweisungen und programmierbaren Schnittstellen­ anweisungen erfolgt, die zuvor durch den Prozessor 200 erzeugt wurden. Wie aus Fig. 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äß Fig. 3a weiterzuleiten. Es sei darauf verwiesen, daß kein Konflikt zwischen den Modulen, die Daten an den 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äß Fig. 1 abgegeben hat. Die Schnittstelleneinheit SIU-100 wirkt bei der Aufnahme der Anforderung des Prozessors auf die Leitung ARA ein, wodurch der Prozessor zur Verzögerung der Operationen veranlaßt wird.
Das separate Netzwerk 102-40 verarbeitet Anforderungen von Rück­ kehrdaten von jenen Modulen, die auf programmierbare Schnittstellen­ anweisungen 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 Schnittstellen­ einheit 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 Datenauswahl­ schalter 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äß Fig. 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.
Steuerabschnitt 103
Die vorstehend erwähnten Abschnitte der System-Schnittstellen­ einheit SIU-100 bilden einen Teil des Blockdiagrammes gemäß Fig. 4a. Gemäß Fig. 4a ist ersichtlich, daß die Schnittstellen­ einheit SIU-100 ferner einen Steuerabschnitt 103 umfaßt. Der Abschnitt 103 umfaßt die Schaltkreise der Blöcke 103-20, 103-24 und 103-25, die an eine programmierbare Schnittstelle 603 angeschlossen sind und die programmierbare Schnittstellenanweisungen (Pl-Anweisungen) interpretieren und bearbeiten, die an die internen Logikschaltkreise der Schnittstelleneinheit SIU-100 über den Anschluß L gerichtet werden. Die PI-Anweisungen werden normalerweise durch das Prozessorpaar PO erzeugt und über den Übertragungsabschnitt 102 gemäß Fig. 3b zugeführt.
Gemäß Fig. 4a umfassen die internen Logikschaltkreise zusätzlich zu den Schaltkreisen, die PI-Anweisungen verarbeiten, einen Intervallzeitgeber 103-40 und ein internes Unterbrechungs­ steuerregister 103-30, das an interne Unterbrechungslogikschalt­ kreise 103-28 angeschlossen ist. Diese Schaltkreise sind in ihrem Aufbau den Prioritäts-Unterbrechungslogikschaltkreisen 101 gemäß Fig. 3a ähnlich. Die internen Unterbrechungslogik­ schaltkreise 103-28 erzeugen 8 Arten von Unterbrechungen. Die Unterbrechungsarten gemäß dem Ausführungsbeispiel der vorliegenden Erfindung sind folgende:
1= beim Nulldurchgang des Intervallzeitgebers erzeugte Intervallzeitgeber-Abarbeitung; 4= Prozessorfehler, festgestellt bei Fehlvergleich; 5= Fehlvergleich-Fehler, festgestellt zusammen mit einem Prozessorfehler; und 6= Fehlvergleich-Fehler mit keinen anderen bestehenden Fehlern.
Die Unterbrechungspriorität innerhalb des Anschlusses L basiert auf der Typnummer der Unterbrechung und die Prioritätsanordnung ist folgende:
TypRang 4höchster 5
6
7
0
1
2
3niedrigster
Die Unterbrechungstypen 4-7 sind mit dem Pegel 0 fest verdrahtet, während die Unterbrechungspegel für die anderen Typen (z. B. 0, 1, 2 und 3) unter Benutzung der codierten Pegelsignale, die in dem Unterbrechungssteuerregister 103-30 gespeichert sind, programmierbar sind. Die Schaltkreise 103-28 bilden die Unterbrechung mit der höchsten Priorität und erzeugen geeignete Anforderungssignale, die den Unterbrechungslogikschaltkreisen 101 zugeführt werden. Das Format der Anforderung ist in Fig. 11 dargestellt. Wie erwähnt, leiten die Schaltkreise 101 die Unterbrechungen an das ausgewählte E/A-Prozessorpaar weiter.
Die internen Logikschaltkreise der System-Schnittstelleneinheit gestatten in Abhängigkeit von einem WREX-Befehl an den Anschluß L das Laden verschiedener Schnittstellen-Register (z. B. Register 103-30) und des Zeitgebers 103-40 über den Abschnitt 102. Das Unterbrechungssteuerregister 103-30, dem die Oktaladresse 1 zugeordnet ist, speichert die Unterbrechungs-Pegeltypen. Dieses Register weist das Format gemäß Fig. 8a auf.
Wie im Hinblick auf die Fig. 4b und 4c in näheren Einzelheiten beschrieben, umfaßt der Intervallzeitgeber 103-40 gemäß dem Ausführungsbeispiel vorliegenden Erfindung ein 12 Bit-Register, dem die Oktaladresse 2 zugeordnet ist, zur Speicherung eines ein bestimmtes Zeitintervall definierenden Zählstandes. Das Format dieses Registers ist in Fig. 8b dargestellt. Die internen Logikschaltkreise der Schnittstelleneinheit SIU ermöglichen auf Grund eines RDEX-Befehls an den Anschluß L das Auslesen des Inhalts verschiedener Register und des Zeitgebers 103-40 über einen Mehrstellungs- Auswahlschalter 103-50. Das Zeitgeberregister weist das in Fig. 8c dargestellte Format auf.
Fig. 4b zeigt in Blockdiagrammdarstellung den Intervallzeitgeber 103-40 sowie einen Teil der Anweisungs-Decodierschaltkreise des Blockes 103-20. Gemäß Fig. 4b sind der Zeitgeber 103-40, ein 12 Bit-Voreinstellregister 103-400 ein 24 Bit- Zähler 103-402, ein 4 Bit-Durchlaufzähler 103-404 und eine Anzahl von Unterbrechungsanforderungsschaltkreisen 103-406 in der dargestellten Weise angeordnet. Es ist von Bedeutung, daß nur die 12 signifikantesten Bitpositionen 0-11 des Zählers 103-402 von dem Voreinstellregister 103-400 über das Daten­ register 103-24 geladen werden, wobei dies in Abhängigkeit von einem Laderegister-Anweisungssignal LDREGO210 geschieht, das durch ein UND-Gatter 103-200 des Blockes 103-20 erzeugt wird. Ein weiteres UND-Gatter 103-20 erzeugt ein Register-Ladesignal LDREG0110 für das Register 103-30.
Aus den Fig. 4b und 8c ist ferner ersichtlich, daß nur die 16 signifikantesten Bitpositionen des Zählers 103-402 über einen Mehrstellungs-Schalter 103-408 (IT-Zählerposition) auf Grund einer Anweisung lesbar sind. Gemäß Fig. 8c wird der Inhalt des Durchlaufzählers 103-404 und des Voreinstellregisters 103-400 ebenfalls über den Schalter 103-408 gelesen.
Fig. 4c zeigt in näheren Einzelheiten den Zeitgeberzähler 103-402, den Durchlaufzähler 103-404 und die internen Unterbrechungs- Anforderungsschaltkreise 103-406. Jeder der Zähler 103-402 und 103-404 umfaßt eine Anzahl von synchronen reversiblen Zähler­ abschnitten von 4 Bit mit paralleler Lademöglichkeit. Dies bedeutet, daß der Zähler 103-402 sechs Zählerabschnitte 103-412 bis 103-417 mit jeweils 4 Bit aufweist, während der Zähler 103-404 aus einem einzigen Zählerabschnitt mit 4 Bit besteht.
Die Eingänge (CIN, BIN) und Ausgänge (COUT, BOUT) für den Übertrag (carry) und den Rücktrag (borrow) ermöglichen die Kaskadenschaltung von 4 Bit-Zählerabschnitten, um Zähler beliebiger Länge zu bilden. Dies geschieht durch Verbindung der Leitungen COUT und BOUT eines Zählerabschnittes mit niederer Ordnung mit den Leitungen CIN und BIN des Zählerabschnittes nächsthöherer Ordnung. Die Leitung CIN bzw. BIN des Zählerabschnittes mit der niedrigsten Ordnung muß den Binärwert "1" aufweisen, um den Zählstand weiterzuschalten. Wenn die Leitungen CIN und BIN den Binärwert "0" aufweisen, so ist die Zählung gesperrt.
Die Leitung COUT des Zählerabschnittes 103-412 gibt einen Hinweis darauf, daß alle vorangegangenen Bits den Binärwert "1" aufweisen. Dementsprechend ist die Leitung COUT von den signi­ fikantesten Bits des Zählers als Übertragseingang dem Durchlauf­ zähler 103-404 und als 27013 00070 552 001000280000000200012000285912690200040 0002002755952 00004 26894Setzeingang einem internen Unter­ brechungsanforderungs-Flip-Flop 103-436 des Blockes 103-406 über ein Gatter 103-440 zugeführt. Das Signal auf der Leitung COUT wird durch ein Gatter 103-418 invertiert und über ein NAND-Gatter 103-438 als ein Rückstelleingang dem Flip-Flop 103-436 zugeführt.
Daten können in die signifikantesten Zählerabschnitte auf Grund eines Taktsignales CLOCK020 immer dann geladen werden, wenn der Ladeeingang den Binärwert "1" aufweist. Im Falle der 3 signifikantesten Zählerabschnitte (Bitpositionen 0-11) des Zählers 103-402 wird jeder angeschlossene Ladeeingang auf den Binärwert "1" gesetzt, wenn das Signal COUT des Abschnittes 103-412 auf den Binärwert "1" umschaltet. Dies ermöglicht das automatische Laden von dem Voreinstellregister 103-400. Es sei darauf verwiesen, daß das 1er-Komplement des in dem Register 103-400 gespeicherten Wertes in die Zählerabschnitte geladen wird. Dies erleichtert das Löschen der Zählerabschnitte auf Grund eines Löschsignales CLEAR110. Das Löschen findet nur statt, wenn das System an Spannung gelegt oder ausgelöst wird. Hinsichtlich des Zählers 103-104 wird dessen Ladeeingang auf den Binärwert "1" über ein UND/NAND-Gatter 103-426 auf Grund einer Lese/Lösch- Anweisung an das Voreinstellregister 103-400 gesetzt (z. B. wenn beide Signale READ/CLR10 und RDRE60210 auf den Binärwert "1" gesetzt sind).
Alle Zählerabschnitte der Zähler 103-402 und 103-404 werden auf den Binärwert "0" zurückgestellt, wenn der Rückstelleingang R den Binärwert "1" aufweist. Wenn der Freigabeeingang der verschiedenen Abschnitte der Zähler 103-402 und 103-404 mit dem Binärwert "1" beaufschlagt wird, so werden Ausgangssignale an die Ausgangsanschlüsse der Zähler geliefert. Da die am wenigsten signifikanten Bits der Abschnitte des Zählers 103-402 nicht aus­ gelesen werden, werden ihre Freigabeeingänge mit dem Binärwert "0" beaufschlagt.
Die Schaltkreise des Blockes 103-406 umfassen zusätzlich zu dem internen Unterbrechungsanforderungs-Flip-Flop 103-436 ein Unter­ brechungsfreigabe-Flip-Flop 103-450. Dieses Flip-Flop wird auf den Binärwert "1" auf Grund einer Steueranweisung umgeschaltet, in der das Bit 23 auf den Binärwert "1" gesetzt ist (siehe Fig. 7b). Ebenso wird das Flip-Flop 103-450 auf den Binärwert "0" über ein NAND-Gatter 103-456 auf Grund einer Steueranweisung zurückgestellt, in der das Bit 23 auf den Binärwert "0" gesetzt ist (siehe Fig. 7b). Die Binärausgänge mit dem Wert "1" der Flip-Flops 103-436 und 103-450 werden einem NAND-Gatter 103-458 zugeführt, um das Vorliegen einer Unterbrechung vom Typ 1 anzuzeigen. Beide getakteten Flip-Flops 103-436 und 103-450 sind so geschaltet, daß sich ein Betrieb vom RS-Typ ergibt. Die Eingangs­ abschnitte der Flip-Flops weisen ein Paar von UND-Gattern auf und die Ausgänge sind nach Art einer fest verdrahteten ODER- Schaltung zusammengefaßt. Wenn beide Eingänge S und R den Binärwert "1" aufweisen, so wird das Flip-Flop auf den Binärwert "1" gesetzt.
Es sei darauf verwiesen, daß im Falle der vorliegenden Erfindung die Blöcke gemäß Fig. 4c aus herkömmlichen Schaltkreisen aufgebaut sein können.
Beschreibung der Wirkungsweise
Auf Grund der Fig. 1 bis 12 und insbesondere anhand der Fig. 4a sei die Wirkungsweise des bevorzugten Ausführungs­ beispieles gemäß der vorliegenden Erfindung im folgenden näher beschrieben.
Ein Zentralsystem-Schnittstellen (CSI)-Softwaremodul führt jeglichen Dialog zwischen dem Zentralsystem und dem Prozessor­ paar 200-0 (ausgelöst durch Zentralprozessor-Verbindungsbefehle) oder zwischen den verschiedenen Modulen des Systems gemäß Fig. 1 aus. Der Dialog zwischen den verschiedenen Modulen wird durch eine vorbestimmte Folge von Befehlen ausgelöst, die eine Eintrittsstelle in einer Warteschlange im internen Speicher­ modul 500 vorgeben, die später auf einem niedrigen Prioritäts­ pegel zugeteilt wird. Der CSI-Modul überwacht ferner jegliche Ein/Ausgabe-Aktivität des Prozessorpaares 200-0 unter der Steuerung einer Anzahl von Gerätebehandlungsroutinen. Hinsichtlich weiterer Informationen bezüglich des CSI-Moduls sei auf die US-Patentanmeldung mit der Seriennummer 591 563 vom 30. Juni 1975 verwiesen.
Das Prozessorpaar 200-0 bildet die verschiedenen Prozeß-Prioritäts­ pegel, die durch das System gemäß Fig. 1 bei der Verarbeitung von Unterbrechungen benutzt werden. Die Prozeßpegel sind folgendermaßen zugeordnet:
0= IOPP-Fehlvergleich und von der Hardware der Schnittstelleneinheit SIU festgestellte Fehler. 1= festgestellte Fehler hinsichtlich des internen und des externen Speichers. 2= Multiplexer-Datensteuerwort-Übertragungsunterbrechungen, Fehler des Multiplexers 400, Fehler des Multiplexers 300. 3= Multiplexeradapter-Behandlung mit hoher Priorität (z. B. festgestellter Adapterfehler) und Datenübertragungen des Multiplexers 400. 4= Datenübertragungsbeendungs-Fehler des Adapters des Multiplexers 300. 5= SIU -Zeitgeber-Zeitablauf, keine wirklichen Zeitereignisse auf hohem Pegel hinsichtlich des Adapters des Multiplexers 300 und Ereignisse auf hohem Pegel hinsichtlich des Multiplexers 400. 6= programmierbare Unterbrechung und Ereignisse auf niedrigem Pegel hinsichtlich des Adapters des Multiplexers 300, Behandlungsunterbrechungen und Verbindungen hinsichtlich des Zentralprozessors. 7= Zeitsparaufgaben.
Es sei darauf verwiesen, daß den SIU -Zeitgeberunterbrechungen gemäß der vorliegenden Erfindung, bezogen auf die anderen Arten von Unterbrechungen, eine niedrige Priorität zugeordnet ist. Die Prioritätszuordnung erfolgt durch das Prozessorpaar 200-0 auf Grund eines WREX-Befehls mit dem Format gemäß Fig. 6. Der Befehl erzeugt eine PI-Anweisung mit dem Format gemäß Fig. 7a. Das Feld LT 1 des Datenwortes gibt durch seine Codierung einen Oktalwert von 5 vor, während das Anweisungswort auf Grund seiner Codierung die Anzahl der Unterbrechungssteuerregister 103-30 festlegt.
In näheren Einzelheiten legt das GR 1-Feld des WREX-Befehls durch seine Codierung fest, welches der Allgemeinregister des Zwischenspeichers 203-10 die Steuerinformation enthält, die in das Unterbrechungssteuerregister 103-30 zu laden ist, dessen Adresse durch die Adreßbits 32-35 festgelegt ist.
Der Operationscode des WREX-Befehls wird über den Schalter 202-4 dem Speicher 201-2 zur Bezugnahme auf bestimmte Speicher­ plätze zugeführt. Der Speicherplatzinhalt enthält ein Paar von Adressen, die Adressen im Steuerspeicher 201-10 hinsichtlich der für die Befehlsbearbeitung erforderlichen Mikrobefehlsfolge festlegen. Das Adressenfeld des WREX-Befehls wird unter Mikroprogrammsteuerung dem B-Operandeneingang des Addierers/Verschiebers 204-2 zugeführt, während der Inhalt mit dem Binärwert "0" des Zwischenspeicherpuffers an den A- Operandeneingang angelegt wird. Die Summe entsprechend dem Adressenfeld des PI-Anweisungswortes gemäß Fig. 7a wird zu dem Arbeitsregister R 2 des Blockes 204-12 übertragen.
Als nächstes wird der durch das GR 1-Feld festgelegte Allgemein­ registerspeicherplatz adressiert und der Inhalt wird in den Puffer 203-16 ausgelesen. Während der Ausführung wird die in dem Register R 2 formatierte PI-Anweisung in das Daten-Ausgangs­ register 204-14 geladen. Das Prozessorpaar 200-0 lädt ferner unter Mikroprogrammsteuerung Signale von dem Register 201-15 und dem PSR-Register 204-20 in die Bitpositionen 0-7 des Steuerungsregisters 204-16 (siehe Fig. 12). Diese Signale bilden die erforderliche Steuerungsinformation für die Schnittstellen­ einheit SIU-100 bei der Übertragung der PI-Anweisung an die SIU -Schaltkreise oder an den Anschluß (z. B. den Anschluß L), mit dem die Schnittstelleneinheit SIU-100 verbunden ist. Die Folge bei der Übertragung einer PI-Schreibanweisung ist in den Fig. 10a und 10b dargestellt.
Das Prozessorpaar 200-0 setzt die Leitung AOPR auf den Binär­ wert "1" und verzögert die Ausführung des nächsten Mikrobefehls bis es ein Signal über die Leitung ARA empfängt, das die Annahme der Anforderung durch die Schnittstelleneinheit SIU-100 anzeigt. Liegt eine Annahme vor, so setzt die Schnittstelleneinheit SIU-100 die Leitung ARA auf den Binärwert "1". Gleichzeitig setzt die Schnittstelleneinheit SIU-100 die Leitung APC auf den Binärwert "1", um den Schaltkreisen des Anschlusses L zu signalisieren, daß die Anweisung anzunehmen ist.
Gemäß Fig. 4a veranlaßt die Leitung APC mit dem Binärwert "1" die Schaltkreise 103-20 das Signal ACPTPICMD100 zu erzeugen, durch welches das PI-Anweisungswort über die Leitungen PDFS in das Register 103-25 geladen wird. Bei Feststellung einer Zustandsänderung auf der Leitung ARA vervollständigt das Prozessor­ paar 200-0 unter Mikroprogrammsteuerung die Bearbeitung des WREX-Befehles durch Übertragung des gemäß Fig. 8a formatierten Datenwortes aus dem Puffer 203-16 in das Daten-Ausgangsregister 204-14. Das Datenwort wird über die Leitungen PDFS in das Register 103-24 auf Grund von Steuersignalen der Schalt­ kreise 103-20 geladen.
Die Schaltkreise 103-20 setzen bei der Decodierung der Bits des PI-Anweisungswortes das Ladesignal LOADREG10 auf den Binär­ wert "1". Zusätzlich decodieren nicht dargestellte Decodier­ schaltkreise das Register-Nummernfeld und setzen das Signal REGO1120 auf den Binärwert "1". Diese Signale setzen über das UND-Gatter 103-202 gemäß Fig. 4b das Signal LDREGO110 auf den Binärwert "1", was zu dem Laden des Unterbrechungssteuerregisters 103-30 mit dem Inhalt des Registers 103-24 führt. Das Unterbrechungs­ steuerregister 103-30 speichert somit eine Information, die das Format gemäß Fig. 8a und die erwähnten Werte (z. B. Unter­ brechungspegeltyp 1 besitzt den Oktalwert 5) aufweist.
Als nächstes bildet das Prozessorpaar 200-0 das spezielle Zeit­ intervall und setzt den Typ der Unterbrechung. Der in das Vorein­ stellregister 103-400 gemäß Fig. 4b zu ladende Wert wird im allgemeinen unter Beachtung der Anforderungen des zu bearbeitenden Benutzerprogrammes und des für irgendein Benutzerprogramm erforderlichen minimalen Zeitablaufs festgelegt. Im vorliegenden System wird der Zeitablaufwert mit 100 ms festgelegt. Dies bedeutet, daß jedesmal, wenn der SIU -Intervallzeitgeber die Ablaufzeit überschreitet, dieser automatisch mit dem Wert von 100 ms erneut geladen wird.
Unter Beachtung des vorstehenden Sachverhaltes führt das Prozessor­ paar 200-0 die Bearbeitung eines anderen WREX-Befehls durch. Dieser Befehl erzeugt eine PI-Anweisung, die das Laden des Voreinstellregisters 103-400 mit einem Wert festlegt, dessen Komplement das geforderte Intervall von 100 ms festlegt. Der Befehl erzeugt ferner eine PI-Steueranweisung, die die Freigabe des Flip-Flops 103-450 (z. B. Bit 23=1) vorgibt. Es sei angenommen, daß die oben erwähnte Anweisung in der zuvor beschriebenen Weise erzeugt wird.
Zunächst setzt die PI-Anweisung über die Schaltkreise 103-20 sowohl das Ladesignal LOADREG10 als auch das Signal REGO2120 auf den Binärwert "1". Das Signal LOADREG10 ergibt sich erneut aus der Decodierung des PI-Anweisungswortes welches in das Register 103-25 geladen wird. Das Signal REGO2120 ergibt sich aus der Decodierung der Registernummer oder des Adressen­ feldes des PI-Anweisungswortes. Die Signale LOADREG10 und REGO2120 setzen über das UND-Gatter 103-200 das Register-Lade­ signal LDREGO210 auf den Binärwert "1". Hierdurch kann das Voreinstell­ register 103-400 mit dem Inhalt des Registers 103-24 auf Grund eines Taktsignales CLOCKO10 geladen werden.
Weiterhin schaltet das Register-Ladesignal LDREGO210 zusammen mit dem Signal PIBIT2310 über das UND-Gatter 103-452 gemäß Fig. 4c das Freigabe-Flip-Flop 103-450 auf den Binärwert "1" um. Dies gestattet die Erzeugung einer Unterbrechung vom Typ 1, wenn das interne Unterbrechungs-Flip-Flop 103-436 durch den Intervallzähler 103-402 in der zuvor erläuterten Weise auf den Binärwert "1" umgeschaltet wird.
Gemäß Fig. 4a sei angenommen, daß der Modul eine gemeinsame Routine zum Fortschreiben der Anzahl verschiedener Werte aufweist, die in die Überwachungszeitgebertabellen durch individuelle den verschiedenen Modulen gemäß Fig. 1 zugeordnete Benutzerprogramme geladen worden sind. Die Zeitablaufwerte in den Überwachungszeitgebertabellen werden jedesmal fortgeschrieben, wenn der Modul auf eine SIU -Intervallzeitgeberunterbrechung antwortet. Dies geschieht jedesmal, wenn der Zeitgeber seinen Zählstand überschreitet.
Es sei darauf verwiesen, daß gemäß Fig. 4c die 12 signifikantesten Bitpositionen des Zählers 103-402 automatisch mit dem Komplement des Inhalts des Voreinstellregisters 103-400 jedesmal dann geladen werden, wenn der Zähler 103-402 seinen Zähl­ stand überschreitet (z. B. Ausgang COUT = 1). Dies bedeutet, daß jedesmal, wenn der Zähler 103-402 in allen Stellen den Binärwert "i" aufweist (Übertragungszustand), die 12 signifikantesten Bitpositionen mit dem Komplement des Inhalts des Voreinstell­ registers 103-400 beim Auftreten des Taktsignales CLOCKO30 voreingestellt werden. Während des gleichen Taktsignales werden die am wenigsten signifikanten 12 Bitpositionen von dem Binär­ wert "1" auf den Binärwert "0" umgeschaltet und der Zähler 103-402 setzt seine Zählung fort.
Es sei darauf verwiesen, daß, obgleich der Zähler in Aufwärts­ richtung zählt, in seiner Betriebsweise vom System her betrachtet als abwärtszählend angesehen werden kann (z. B. sind die 12 signifikantesten Bitpositionen voreingestellt, wenn der Zähler auf Null herunterzählt, wobei zur gleichen Zeit die 12 am wenigsten signifikanten Bitpositionen den Binärwert "1" aufweisen).
Wenn das Signal CARRY10 am Ausgang COUT den Binärwert "1" aufweist und somit die Beendigung eines Intervalles signalisiert, so veranlaßt dies die Erhöhung des Zählstandes des Durchlaufzählers 103-424 um 1 und die Umschaltung des internen Unter­ brechungs-Flip-Flops 103-436 auf den Binärwert "1". Über das NAND-Gatter 103-458 wird somit das Signal INTTYPE10 auf den Binärwert "0" gesetzt.
Das Signal INTTYPE10 wird als Eingangsignal an die internen Unterbrechungslogikschaltkeise 103-28 angelegt. Die Unterbrechungslogikschaltkreise 103-28 vergleichen den dem Zeitgeberunterbrechungstyp zugeordneten Prioriätspegel mit den Prioritätspegeln anderer vorliegender Unterbrechungstypen. Durch Zuordnung eines niedrigen Prioritätswertes zu der Zeitgeberunterbrechung ist das Prozessorpaar 200-0 in der Lage, die Bearbeitung dringenderer Ereignisse mit höheren Prioritäten in der zuvor erläuterten Weise zu beenden. Die sich ergebende und dem Prozessorpaar 200-0 angebotene Unterbrechungsanforderung weist das in Fig. 11 dargestellte Format auf. In diesem Fall ist die Pegelnummer auf den Wert 5 gesetzt, während der Unterbrechungstyp mit "001" (Typ 1) codiert ist.
Wenn das Prozessorpaar 200-0 schließlich die Zeitgeberunterbrechung über die Folge gemäß Fig. 9 beantwortet, so führt es einen RDEX-Befehl aus. Dieser veranlaßt das Prozessorpaar 200-0 zur Erzeugung einer PI-Anweisung, die das in Fig. 7a dargestellte Format aufweist und die auf Grund ihrer Codierung das Lesen und das Löschen des Registers 02 vorgibt (z. B. Bit 28 weist den Binärwert "1" auf). Die Bearbeitung des RDEX-Befehls und die Erzeugung der PI-Lese/Lösch-Anweisung erfolgt in der gleichen Weise, wie dies hinsichtlich des WREX-Befehls und der PI- Schreibanweisung der Fall war. Die Folge zum Übertragen der PI-Leseanweisung ist in Fig. 10d dargestellt.
Das Anweisungswort der PI-Anweisung wird über die Leitungen PDFS übertragen und in das Register 103-25 gemäß Fig. 4a geladen. Die Schaltkreise 103-20 gemäß Fig. 4a decodieren die Anweisung und setzen die Signale READ/CLR10 und RDREGO210 auf den Binärwert "1". Wie aus Fig. 4c ersichtlich, setzt hierauf das NAND/UND-Gatter 103-426 das Signal CLREGO210 auf den Binärwert "1" und das Signal CLREGO200 auf den Binärwert "0".
Normalerweise stellen die Signale CLREGO210 und CLREGO200 den Durchlaufzähler 103-424 und das Unterbrechungsanforderungs-Flip-Flop 103-436 beim Auftritt des nächsten Taktsignales CLOCK030 auf den Binärwert "0" zurück. Wenn jedoch die Lese/Lösch-Anweisung während des gleichen Taktsignales mit der Erzeugung eines Übertragsignales CARRY10 auftritt, so bleibt das Unterbrechungsanforderungs-Flip-Flop 103-436 gesetzt und der Durchlaufzähler 103-424 wird auf einen Wert von "0001" gesetzt. Dies stellt sicher, daß keine Intervalle verlorengehen.
Fig. 8c veranschaulicht das Format der Signale, die über den Schalter 103-50 an die Schaltkreise des Abschnittes 102 gemäß Fig. 3b angelegt werden. Von dort werden die Zeitgeber-Informationssignale über die Schaltkreise des Abschnittes 101 an die Leitungen DFS des Prozessorpaares 200-0 angelegt. Wie aus Fig. 10d ersichtlich, wartet das Prozessorpaar 200-0, bis es die angeforderten Zeitgeber-Informationssignale von der Schnittstelleneinheit SIU-100 empfängt, was von der Schnittstelleneinheit SIU-100 signalisiert wird, indem das Signal ARDA auf den Binärwert "1" gesetzt wird, nachdem die Zeitgerberinformation an die Leitungen DFS angelegt worden ist.
Nach dem Empfang der Zeitgeber-Informationssignale bearbeitet das Prozessorpaar 200-0 die zuvor erwähnte gemeinsame Routine. Die Routine nimmt Bezug auf die verschiedenen Zeitablaufwerte in jeder Überwachungszeitgebertabelle, wobei dies über geeignete ZAC-Speicheranweisungen an das Modul 500 geschieht. Wenn der Wert positiv ist, so wird die Information bei der Übertragung über den Ausgangsabschnitt 500-10 zu dem Prozessorpaar 200-0 um die Fehlzeit erniedrigt und geprüft. Wenn sich irgendeiner dieser Werte von einem Wert größer als Null auf einen Wert Null oder kleiner als Null verändert, so setzt die Routine eine Eintrittsstelle in der Ereigniswarteschlange, um die Steuerung auf das Benutzerprogramm zu übertragen und zu vermerken, daß ein Zeitablauf aufgetreten ist.
Es sei darauf verwiesen, daß die gemeinsame Routine die Zeitakkumulierung im internen Speicher 500 basierend auf dem Zeitgeberintervall (Voreinstellwert) und dem Zählstand des Durchlaufzählers fortschreibt. Wenn der Intervallzähler auf den Wert "1" gesetzt ist, so werden die Überwachungszeitgeberwerte durch diesen Intervallwert fortgeschrieben. Wenn der Intervallzähler mehr als einmal durchlaufen worden ist, so multipliziert das Prozessorpaar 200-0 die Anzahl der Intervalle mit dem Intervallwert und benutzt das Produkt zur Fortschreibung der Überwachungszeitgeberwerte.
Es sei vermerkt, daß das Prozessorpaar 200-0 in der Lage ist, andere Typen von PI-Anweisungen auszugeben, die das Auslesen des Zeitgebers ohne Löschung und das Sperren von Zeitgeberunterbrechungen ermöglichen. Diese Anweisungen werden in der gleichen zuvor beschriebenen Weise erzeugt.
Während Testoperationen und während des Systemstarts kann der Prozessor 200-0 beispielsweise an die Schnittstelleneinheit SIU-100 eine Steueranweisung richten, in der das Bit 23 auf den Binärwert "0" gesetzt ist. Die Schaltkreise 103-20 setzen auf Grund der Anweisung das Signal LDREG0210 auf den Binärwert "1". Es ist aus Fig. 4c ersichtlich, daß die Signale LDREG0210 und PIBIT2300 über die Gatter 103-456 und 103-454 das Freigabe-Flip-Flop 103-450 von dem Binärwert "1" auf den Binärwert "0" umschalten. Demgemäß wird verhindert, daß eine erzeugte Unterbrechungsanforderung vom Typ 1 an die Schaltkreise 103-28 gemäß Fig. 4a angelegt wird. Es sei darauf verwiesen, daß, ungeachtet der Sperrung von Zeitgeberunterbrechungen, der Zeitgeber 103-40 seinen Betrieb fortsetzt. Mit dem Durchlaufzähler 103-404 können bis zu 15 Intervalle gezählt werden, bevor die akkumulierte Zeitgeberinformation nicht mehr benutzt werden kann, um die im Speicher gespeicherten Werte fortzuschreiben.
Aus vorstehendem wird ersichtlich, daß das System nur ein Minimum an Gesamtverarbeitungszeit benötigt, um die Operation des Zeitgebers 103-40 zu steuern. Die Einrichtung erfordert nur eine einzige Anweisung, um Unterbrechungsanforderungen zu sperren und freizugeben und den gewünschten niedrigen Prioritätspegel zuzuordnen.
Wie zuvor erwähnt, können die Werte des Zeitgebers 103-40 von dem Prozessor 200-0 auch zu anderen Zeitpunkten als beim Auftreten einer Unterbrechungsanforderung gelesen werden. In diesem Fall ist das Bit 28 der das Format gemäß Fig. 7a aufweisenden Leseanweisung auf den Binärwert "0" gesetzt. Hierdurch wird das Löschen des Durchlaufzählers 103-404 in Fig. 4c verhindert (z.B. Signal READCLR10=0). Dies ermöglicht dem Prozessorpaar 200-0 die Berechnung von Intervallteilen, um die genaue Zeit feststellen zu können, zu der ein bestimmte Ereignis im System aufgetreten ist bzw. um die Tageszeit zu berechnen.
Zusätzlich zu der Speicherung von Überwachungszeitgeberwerten speichert eine Tabelle einen Tageszeitwert. Wenn das Prozessorpaar 200-0 eine Anforderung hinsichtlich der Tageseit empfängt, so erzeugt es zunächst eine ZAC-Speicheranweisung, um die Anzahl der in der Intervallzeitgeber-Eintrittsstelle gespeicherten Intervalle festzustellen. Als nächstes erzeugt der Prozessor eine Leseanweisung an die Schnittstelleneinheit SIU-100, um den Inhalt des Registers 2 auszulesen. Hierdurch wird sowohl eine im Zähler 103-402 gespeicherte Subintervallinformation als auch eine im Durchlaufzähler 103-404 gespeicherte Intervallinformation erhalten. Der Inhalt des Durchlaufzählers 103-404 zeigt das Vorliegen einer Zeitgeber-Unterbrechungsanforderung an.
Normalerweise nimmt das Prozessorpaar 200-0 den Zeitgeberzähler- Erhöhungswert und addiert diesen zu dem aus dem Speicher 500 ausgelesenen Wert. Wenn der Zählstand des Durchlaufzählers nicht Null war, so wird der mit dem Durchlaufzähler-Zählstand multiplizierte Intervalwert ebenfalls zu der vorangegangenen Summe addiert. Hierdurch wird jedoch der Speicherwert nicht fortgeschrieben, da dies zu Ungenauigkeiten führen würde. Die Summe wird statt dessen zu dem anfordernden Benutzerprogramm übertragen.
Durch die vorstehenden Ausführungen wird ein bevorzugtes Aus­ führungsbeispiel der vorliegenden Erfindung beschrieben, das eine Vielzahl von Zeitgeberfunktionen im Zusammenhang mit einem Ein/Ausgabe-Verarbeitungssystem liefert. Die Einrichtung reduziert die Gesamtverarbeitung auf ein Minimum des Aufwandes, wie er normalerweise bei der Ausführung solcher Zeitgeberfunktionen erforderlich ist.
Darüber hinaus ermöglicht die Anordnung gemäß der vorliegenden Erfindung die Ausführung von Zeitgeberoperationen mit einer niedrigen Priorität, ohne daß hierbei die Genauigkeit des Zeitgebers beeinträchtigt wird. Dies gestattet dem System die leichtere Verwaltung der Ereignisverarbeitung auf einer Prioritäts­ pegel-Unterbrechungsbasis. Ferner sieht die Anordnung die Änderung der Prioritätspegel vor, die Unterbrechungen zugeordnet sind, welche von dem Zeitgeber herrühren. Dies führt zu einer größeren Flexibilität des Systems beim Gebrauch seiner System­ mittel.
Die erfindungsgemäße Einrichtung benötigt ferner nur eine minimale Steuerung und Überwachung. Beispielsweise können Zeitgeber­ operationen auf Grund einer einzigen Anweisung freigegeben oder gesperrt werden. Der Zeitgeber kann auf Grund einer einzigen Anweisung gelesen und gelöscht werden.
Es liegt dem Fachmann auf der Hand, daß vielerlei Änderungen hinsichtlich der dargestellten Ausführungsform vorgenommen werden können, ohne daß hierbei der Rahmen der vorliegenden Erfindung verlassen wird. Beispielsweise können irgendwelche herkömmlichen Zählerschaltkreise und Anweisungsformate in Übereinstimmung mit der Lehre der vorliegenden Erfindung verwendet werden, während im bevorzugten Ausführungsbeispiel der Zeitgeber innerhalb der System-Schnittstelleneinheit enthalten ist, um eine Duplizierung zu vermeiden, kann dieser auch in anderen Modulen enthalten sein, wobei diese Module anderen über Anweisungen adressierbaren Anschlüssen zugeordnet sind.

Claims (5)

1. Intervallzeitgeber für eine Datenverarbeitungseinheit mit einem ersten Zähler, der auf einen bestimmten Digitalwert voreinstellbar ist, der dem maximalen, für die Bearbeitung einer Aufgabe notwendigen Zeitintervall entspricht, wobei der eingestellte Wert periodisch durch einen Zeittakt während der Bearbeitung der Aufgabe erhöht bzw. erniedrigt wird, so daß ein Ausgangs­ signal durch den ersten Zähler erzeugt wird, wenn die Bearbeitungs­ zeit der Aufgabe das vorgegebene Zeitintervall überschreitet und wobei ein Unterbrechungssignal auf Grund dieses Ausgangssignales erzeugt wird, um den Auftritt eines solchen Ereignisses zu signalisieren, gekennzeichnet durch
einen zweiten Zähler (103-404) zum Zählen der Anzahl der Auftritte dieses Ausgangssignales; ein Register (103-400) zur Speicherung des bestimmten Digital­ wertes; und
eine gleichzeitige Verbindung des Ausganges des ersten Zählers (103-402) mit dem Eingang des zweiten Zählers (103-404) und mit seinem eigenen Ladeeingang, um gleichzeitig das Ausgangs­ signal dem zweiten Zähler zuzuführen und den Zählstand des ersten Zählers auf den in dem Register gespeicherten Digital­ wert voreinzustellen.
2. Intervallzeitgeber nach Anspruch 1, gekennzeichnet durch eine an den ersten Zähler (103-402) angeschlossene Unterbrechungsanforderungs­ einrichtung (103-406), die aufgrund jedes Ausgangs­ signales des ersten Zählers einen vorbestimmten Unter­ brechungsanforderungstyp mit einer niedrigen Priorität erzeugt, wobei jedes Ausgangssignal den ersten Zähler in die Lage versetzt, den Zählstand des Registers (103-400) für das Zählen eines anderen Intervalles aufzunehmen und zugleich den zweiten (103-404) in die Lage versetzt, den Zählstand um 1 weiterzuschalten, wodurch der Datenverarbeitungseinheit (200-0) die Verarbeitung von Zeitgeberanforderungen mit einer minimalen Verarbeitungszeit ermöglicht wird.
3. Intervallzeitgeber nach Anspruch 2, gekennzeichnet durch
ein Anweisungsregister (103-25), dem Anweisungen von der Datenverarbeitungseinheit (200-0) zugeführt werden; an das Anweisungsregister angeschlossene Anweisungs­ decodierschaltkreise (103-20) die aufgrund einer anfänglichen Anweisung von der Datenverarbeitungseinheit Signale zum Laden des Registers (103-400) mit dem durch die anfängliche Anweisung festgelegten Zählstand erzeugen; und
wobei die Datenverarbeitungseinheit bei der Verarbeitung der Unterbrechungsanforderungen einen ersten Anweisungstyp an das Anweisungsregister anlegt und die Anweisungs­ decodierschaltkreise aufgrund des ersten Anweisungstyps Signale zum Löschen des zweiten Zählers (103-404) nur dann erzeugen, wenn der erste Zähler (103-402) nicht dabei ist, ein anderes Zeitintervall zu Ende zu zählen.
4. Intervallzeitgeber nach Anspruch 3, dadurch gekennzeichnet, daß die Unterbrechungs­ anforderungseinrichtung (103-406) umfaßt;
eine bistabile Freigabeeinrichtung (103-450) mit Setz- und Rückstellgatter, wobei die Setz- und Rückstellgatter jeweils an das Anweisungsregister (103-25) und die Anweisungsdecodierschaltkreise (103-20) angeschlossen sind;
eine bistabile Unterbrechungseinrichtung (103-436) mit Setz- und Rückstellgatter, wobei das Setzgatter zwecks Zuführung des Ausgangssignales an den ersten Zähler (103-402) und das Rückstellgatter an den ersten Zähler und die Anweisungsdecodierschaltkreise (103-20) angeschlossen ist; und
ein an die bistabile Freigabeeinrichtung (103-450) und die bistabile Unterbrechungseinrichtung (103-436) angeschlossenes Ausgangsgatter (103-458), das für den Fall, daß beide bistabile Einrichtungen auf den Binärwert "I" gesetzt sind, den vorbestimmten Unterbrechungs­ anforderungstyp erzeugt.
5. Intervallzeitgeber nach Anspruch 4, dadurch gekennzeichnet, daß die Datenverarbeitungseinheit (200-0) eine Anweisung vom Steuertyp erzeugt, die aufgrund ihrer Codierung die bistabile Freigabeein­ richtung (103-450) auf den Binärzustand "I" umschaltet und somit die Erzeugung von Unterbrechungsanforderungen gestattet.
DE19772755952 1976-12-30 1977-12-15 Ein/ausgabe-verarbeitungssystem mit einer zeitgebereinrichtung Granted DE2755952A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/755,907 US4090239A (en) 1976-12-30 1976-12-30 Interval timer for use in an input/output system

Publications (2)

Publication Number Publication Date
DE2755952A1 DE2755952A1 (de) 1978-07-06
DE2755952C2 true DE2755952C2 (de) 1988-03-31

Family

ID=25041182

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19772755952 Granted DE2755952A1 (de) 1976-12-30 1977-12-15 Ein/ausgabe-verarbeitungssystem mit einer zeitgebereinrichtung

Country Status (7)

Country Link
US (1) US4090239A (de)
JP (1) JPS5384780A (de)
AU (2) AU509808B1 (de)
CA (1) CA1099820A (de)
DE (1) DE2755952A1 (de)
FR (1) FR2376466A1 (de)
GB (1) GB1553046A (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AR227513A1 (es) * 1978-09-08 1982-11-15 Fujitsu Ltd Disposicion de control para una pluralidad de aparatos de entrada y salida
US4220990A (en) * 1978-09-25 1980-09-02 Bell Telephone Laboratories, Incorporated Peripheral processor multifunction timer for data processing systems
US4521848A (en) * 1978-10-31 1985-06-04 Honeywell Information Systems Inc. Intersystem fault detection and bus cycle completion logic system
US4449183A (en) * 1979-07-09 1984-05-15 Digital Equipment Corporation Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
US4482982A (en) * 1980-09-29 1984-11-13 Honeywell Information Systems Inc. Communication multiplexer sharing a free running timer among multiple communication lines
JPS57101957A (en) * 1980-12-17 1982-06-24 Hitachi Ltd Storage control device
US4484269A (en) * 1982-05-05 1984-11-20 Honeywell Information Systems Inc. Apparatus for providing measurement of central processing unit activity
US4538273A (en) * 1982-11-12 1985-08-27 Honeywell Inc. Dual input watchdog timer
JPS59127266A (ja) * 1983-01-07 1984-07-23 Canon Inc 情報再生装置
US4701841A (en) * 1984-07-25 1987-10-20 Digital Equipment Corporation System for altering data transmission modes
JPS63123218A (ja) * 1986-11-12 1988-05-27 Nec Corp タイマ/カウンタ回路
US5261084A (en) * 1988-05-06 1993-11-09 Nec Corporation Error judgment method
US5115513A (en) * 1988-08-18 1992-05-19 Delco Electronics Corporation Microprogrammed timer processor
US5355470A (en) * 1992-01-03 1994-10-11 Amdahl Corporation Method for reconfiguring individual timer registers offline
US5280628A (en) * 1992-01-15 1994-01-18 Nitsuko Corporation Interruption controlling system using timer circuits
US5367661A (en) * 1992-11-19 1994-11-22 International Business Machines Corporation Technique for controlling channel operations in a host computer by updating signals defining a dynamically alterable channel program
US5581794A (en) * 1992-12-18 1996-12-03 Amdahl Corporation Apparatus for generating a channel time-out signal after 16.38 milliseconds
US5471608A (en) * 1993-12-09 1995-11-28 Pitney Bowes Inc. Dynamically programmable timer-counter having enable mode for timer data load and monitoring circuit to allow enable mode only upon time-out
FR2764759B1 (fr) * 1997-06-16 1999-09-03 Texas Instruments France Dispositif de controle de periodicite des messages transitant sur un reseau multiplexe de transmission d'une formation de type can
JP3557522B2 (ja) * 2000-07-10 2004-08-25 沖電気工業株式会社 割込信号生成装置
US20070248111A1 (en) * 2006-04-24 2007-10-25 Shaw Mark E System and method for clearing information in a stalled output queue of a crossbar
US7831862B2 (en) * 2007-01-30 2010-11-09 Freescale Semiconductor, Inc. Selective timer control during single-step instruction execution
US7853834B2 (en) * 2007-01-30 2010-12-14 Freescale Semiconductor, Inc. Instruction-based timer control during debug
US7831818B2 (en) * 2007-06-20 2010-11-09 Freescale Semiconductor, Inc. Exception-based timer control
US20110081945A1 (en) * 2009-10-06 2011-04-07 Microvision, Inc. High Efficiency Laser Drive Apparatus
CN103366793B (zh) 2012-03-28 2017-08-11 飞思卡尔半导体公司 同步存储器数据传输中的时序控制

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3568157A (en) * 1963-12-31 1971-03-02 Bell Telephone Labor Inc Program controlled data processing system
US3333252A (en) * 1965-01-18 1967-07-25 Burroughs Corp Time-dependent priority system
US3599162A (en) * 1969-04-22 1971-08-10 Comcet Inc Priority tabling and processing of interrupts
US3831151A (en) * 1973-04-04 1974-08-20 Gte Automatic Electric Lab Inc Sense line processor with priority interrupt arrangement for data processing systems
GB1448866A (en) * 1973-04-13 1976-09-08 Int Computers Ltd Microprogrammed data processing systems
US3964054A (en) * 1975-06-23 1976-06-15 International Business Machines Corporation Hierarchy response priority adjustment mechanism

Also Published As

Publication number Publication date
AU3061377A (en) 1979-05-24
FR2376466B1 (de) 1984-11-16
AU509808B1 (en) 1980-05-22
US4090239A (en) 1978-05-16
DE2755952A1 (de) 1978-07-06
FR2376466A1 (fr) 1978-07-28
CA1099820A (en) 1981-04-21
JPS5384780A (en) 1978-07-26
GB1553046A (en) 1979-09-19

Similar Documents

Publication Publication Date Title
DE2755952C2 (de)
DE2755897C2 (de)
DE2806045A1 (de) Dv-system mit pufferspeicher
DE2750721A1 (de) Ein/ausgabe-system
DE2755371A1 (de) Ein/ausgabe-verarbeitungssystem
DE2829550C2 (de)
DE2612083A1 (de) Verfahren und vorrichtung zur ein/ausgang-datenverarbeitung
DE2856483C2 (de)
DE2411963C3 (de) Elektronische Datenverarbeitungsanlage mit einer Prioritätssteuerschaltung mit änderbaren Steuerblöcken
DE2806024A1 (de) Speichersystem mit fehlerfeststell- und korrekturmoeglichkeit
DE2612139A1 (de) Ein/ausgang-steuerungssystem
DE3851928T2 (de) Steuerung von asynchron arbeitenden Peripheriegeräten.
DE3114961C2 (de)
DE1524102C3 (de) Elektronische, aus Baueinheiten aufgebaute Datenverarbeitungsmaschine
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE3127349A1 (de) Signalverarbeitungssystem mit verteilten elementen
DE2755608A1 (de) Wartungseinrichtung in einem dv-system
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
DE2629266A1 (de) Ein/ausgabe-system
DE2750299A1 (de) Ein/ausgabe-system
DE2030812A1 (de) Modulare Datenrechnersysteme
DE2912738A1 (de) System mit direkter uebertragung zwischen subsystemen
DE3725343A1 (de) Vielzweck-kanalsteuersystem
DE2902465A1 (de) Datenverarbeitungsanordnung
DE3114934A1 (de) Zentrales subsystem fuer eine datenverarbeitungsanlage

Legal Events

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

Ipc: G06F 1/04

8127 New person/name/address of the applicant

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

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee