DE2144051A1 - Programm Unterbrechungsanordnung für eine Datenverarbeitungsanlage - Google Patents
Programm Unterbrechungsanordnung für eine DatenverarbeitungsanlageInfo
- Publication number
- DE2144051A1 DE2144051A1 DE19712144051 DE2144051A DE2144051A1 DE 2144051 A1 DE2144051 A1 DE 2144051A1 DE 19712144051 DE19712144051 DE 19712144051 DE 2144051 A DE2144051 A DE 2144051A DE 2144051 A1 DE2144051 A1 DE 2144051A1
- Authority
- DE
- Germany
- Prior art keywords
- data processing
- register
- interrupt
- memory
- processing unit
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/42—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
- H04Q3/54—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
- H04Q3/545—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
- H04Q3/54541—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme using multi-processor systems
- H04Q3/5455—Multi-processor, parallelism, distributed systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/42—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
- H04Q3/54—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
- H04Q3/545—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
- H04Q3/54575—Software application
- H04Q3/54583—Software development, e.g. procedural, object oriented, software generation, software testing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13057—Object-oriented software
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
Description
Unser Zeichen; P 2123
PLESSEY HANDEL UND INVESTMENTS AG.
Gartenstraße 2, 6300 Zug / Schweiz
Gartenstraße 2, 6300 Zug / Schweiz
Programmunterbrechungsanordnung für eine Datenverarbeitungsanlage
Die Erfindung bezieht sich auf sogenannte Programmunterbrechungsanordnungen
zur Verwendung in Datenverarbeitungsanlagen; sie befaßt sich insbesondere mit der Schaffung
einer solchen Anordnung für eine Modul-Datenverarbeitungsanlage .
Modul-Datenverarbeitungsanlagen bestehen grundsätzlich aus einem oder mehreren Datenverarbeitungsmodulen, einem oder
mehreren Eingabe-Ausgabe-Modulen, an die ein oder mehrere Peripheriegeräte angeschlossen sein können, einem Speicher
(der gleichfalls in Modulbauweise aus mehreren Speichermodulen aufgebaut sein kann) und einer Datenübertragungs-Wechselverkehrseinrichtung,
welche für die Verbindung zwischen den Modulen und dem Speicher sorgt. Solche Systeme eignen sich
in hervorragender Weise für bestimmte Steuerfunktionen, beispielsweise für die Steuerung von automatischen Fernmeldevermittlungseinrichtungen
aufgrund gespeicherter Programme, da sie von sich aus hinsichtlich der Erweiterungsmöglichkeiten
sehr anpassungsfähig sind. Ein auf dem Modulprinzip aufgebautes Datenverarbeitungssystem
läßt sich leicht durch den Einbau zusätzlicher Module des erforderlichen Typs und die entsprechende Erv/eiterung der
WechselVerkehrseinrichtung erweitern. Bei den bisher
Lei/S.
209811/1275
21U051
bekannten Modulsystemen erforderten jedoch die in den Datenverarbeitungsmodulen für die Programmunterbrechung
vorgesehenen Einrichtungen den Anschluß von mehreren Unterbrechungssignalleitungen an allen Datenverarbeitungsmodulen. Bei solchen Modulsystemen erfordert die Einführung
eines zusätzlichen Datenverarbeitungsmoduls nicht nur eine Erweiterung der Zwischenverkehrseinrichtung,
sondern es ist auch notwendig, die Systemunterbrechungssignalleitungen zu dem neuen Datenverarbeitungsmodul zu
führen. Auch durch die Hinzufügung neuer oder zusätzlicher Peripheriegeräte kann es notwendig werden, weitere Unterbrechungssignalleitungen
zu allen vorhandenen Datenverarbeitungsmodulen zu führen,'
Das Ziel der Erfindung ist die Schaffung einer Programmunterbrechungsanordnung
für den Einbau in eine Modul-Datenverarbeitungsanlage, welche die zuvor geschilderten
Probleme verringert oder beseitigt.
Nach der Erfindung ist eine Programmunterbrechungsanordnung für eine Datenverarbeitungsanlage mit wenigstens einer
Datenverarbeitungseinheit, einem Speicher mit wenigstens einem Speichermodul, wenigstens einer Peripherieeinheit und
einer Verbindungseinrichtung für den Wechselverkehr zwischen dem Speicher und den Datenverarbeitungs- und Peripherieeinheiten,
wobei in dem Speicher mehrere Maschinencodeprogramme und mehrere Steuerprogramme gespeichert sind, dadurch gekennzeichnet,
daß der Speicher einen diskreten gemeinsamen Speicherbereich für die Speicherung einer Anzahl von Unterbrechungsanforderungskennzeichnungsbits
enthält, wobei die Anordnung so getroffen ist, daß ein diskretes Unterbrechungsanforderungskennzeichnungsbit
markiert wird, wenn eine Datenverarbeitungs- oder Peripherieeinlieit eine Systemunterbrechung
benötigt, daß jede Datenverarbeitungseinheit mit
209811/1275
_3- 2U4051
einer periodisch betätigbaren Anordnung zur Sperrung der Operationen eines laufenden Programms und mit einer
Anordnung zum Abfragen des Zustande der Bits in dem diskreten gemeinsamen Speicherbereich versehen ist, und daß
bei Feststellung eines markierten Unterbrechungsanforderungskennzeichnungsbits eine Abfrageverarbeitungseinheit
die Durchführung des gesperrten laufenden Programms aussetzt und die Durchführung eines der Steuerprogramme
einleitet.
Eine bevorzugte Ausführungsform der Erfindung besteht darin, daß der Speicher mehrere zugeteilte örtliche
Speicherbereiche enthält, von denen jeder einer der Datenverarbeitungseinheiten zugeordnet ist, daß jeder zugeteilte
örtliche Speicherbereich eine Speicherung für eine vom Programm einstellbare Unterbrechungszulassungsbitmaske
enthält, welche die Unterbrechungsanforderungen kennzeichnet, die jeweils für eine Datenverarbeitungseinheit
zulässig sind, und daß die Abfrageverarbeitungseinheit mit einer Anordnung versehen ist, welche die Zustände der Unterbrechungsanforderungskennzeichnungsbits
mit den Zuständen der Unterbrechungszulassungsbitsmaske in dem eigenen örtlichen
Speicherbereich vergleicht, um festzustellen, ob irgendwelche der für die abfragende Datenverarbeitungseinheit
gerade zulässigen Unterbrechungsanforderungskennzeichnungsbits markiert sind.
Eine v/eitere Ausgestaltung der Erfindung besteht darin, daß jede Datenverarbeitungseinheit ein besonderes Register
enthält, das für die Speicherung eines Unterbrechungszulassung
sworts eingerichtet ist, daß die Abfrageverarbeitungseinheit
eine Codegruppe berechnet, die einem der markierten zulässigen Unterbrechungsanforderungskennzeichnungsbits
entspricht, und daß die Codegruppe in das besondere Register eingeschrieben wird.
209811/1275
In diesem Fall ist die Anordnung vorzugsweise so getroffen, daß die Abfrageverarbeitungseinheit das der
Codegruppe in dem besonderen Register entsprechende markierte Bit in dem diskreten gemeinsamen Speicherbereich
löscht.
Vorzugsweise ist dann die Abfrageverarbeitungseinheit für eine Periode, die mit der Sperrung der Operationen des
laufenden Programms beginnt und unmittelbar nach der Löschung des zugelassenen markierten Unterbrechungsanforderungskennzeichnungsbits
endet, ausschließlich mit dem Speichermodul verbunden, in welchem der diskrete gemeinsame Speicherbereich liegt.
Eine weitere vorteilhafte Ausgestaltung der Erfindung besteht darin, daß der örtliche Speicherbereich Informationen
enthält, welche die Abfrageverarbeitungseinheit auf den Anfang eines Unterbrechungsdurchführungssteuerprogramms
richten, das von der Abfragevorarbeitungseinheit nach dem Abladen der Parameter des ausgesetzten
laufenden Programms eingeleitet wird.
Gemäß einer Weiterbildung der Erfindung ist es vorgesehen,
daß jede Datenverarbeitungseinheit mit zwei Registern versehen ist, die eine periodisch v/eitergeschaltete
Echtzeit-Zählung durchführen, wobei das erste Register so angeordnet ist, daß es einen Zählerstand speichert, welcher
eine Anzeige für die Zeitdauer ist, die für die Durchführung des laufenden Programms verbraucht worden ist,
während das zweite Register so ausgeführt ist, daß es einen Zählerstand speichert, der eine Anzeige für die Zeitdauer
ist, die seit der Durchführung eines bestimmten Steuerprograinms verstrichen ist, und daß die Datenverarbeitungseinheiten so ausgeführt sind, daß sie eine Anforderung für
eine sofortige Unterbrechung erzeugen, wenn eines der Register einen vorbestimmten Zählerstand erreicht.
209811/1275
Die Erfindung wird anhand der Zeichnung beispielshalber "beschrieben. Darin zeigen:
Fig. 1 das vereinfachte Blockschema einer typischen Modul-Datenverarbeitungsanlage,
bei der die Erfindung anwendbar ist,
Fig. 2a und 2b zusammen das Blockschema eines nach der Erfindung ausgeführten Datenverarbeitungsmoduls,
Fig. 3 die Anordnung der sogenannten Akkumulatorregistergruppe
in dem Datenverarbeitungsmodul,
Fig. 4 die Anordnung der sogenannten Fähigkeitsregistergruppe
in dem Datenverarbeitungsmodul,
Fig. 5 das Format eines typischen Befehlsworts für das Datenverarbeitungsmodul,
Fig. 6 die Bedeutung der Segmentbezeichnungen, die in den
Fähigkeitsregistern des Datenverarbeitungsmoduls festgehalten v/erden und für die beschriebene Ausführuhgsform
der Erfindung von Bedeutung sind, und
Fig. 7 das Flußdiagramm der Operationen, die aufgrund einer Unterbrechungsanforderung bei der beschriebenen
Ausführungsform der Erfindung durchgeführt werden.
209811/1275
Unter Bezugnahme auf Fig.1 soll zunächst eine typische
Modul-Datenverarbeitungsanlage kurz betrachtet werden. Die Anlage besteht aus einem Speicher MEM mit mehreren
Speichermodulen SM1 bis SM5, mehreren Datenverarbeitungsmodulen EM1 bis PM3 und mehreren Eingabe—Ausgabe-Modulen
IOM1 bis IOM3, welche die Peripheriegeräte PU1, PU2 und
PUA bis PUN bedienen, zusammen mit einer WechselVerkehrs—
einrichtung ICM für die Verbindung des Speichers mit den Date nverar be itungs modulen aod den Eingabe-Aus gäbe-Modulen.
Die in Pig.1 gezeigte Anzahl der verschiedenen Module ist nur als Beispiel anzusehen. Die EingabeyAusgabe-Module IOM1 bis
IOM3 können so angeordnet sein, daß sie ein einziges Peripheriegerät (z.B. PU1) oder , über eine Peripheriegerät-Vermittlungsschaltung
PUASN , mehrere Peripherie— geräte (z.B.PUA bis PUIi) in einem Zeittei!verfahreη
bedienen.
Jedes Date η ve rar be it ungs modal kann durch die Wechselver—
kehrseinrichtung ICM mit irgendeinem der Speichermodule
SM1 bis SM5 verbunden werden, und der Speicher MEM ermöglicht die Speicherung aller Maschinencode-und Steuerprogramme
sowie der dafür erforderlichen Arbeitsdaten und Festwerte. Während der Durchführung eines Programms
schickt ein Datenverarbeitungsmodul zu der Wechselverkehrseinrichtung
ICM eine Anforderung, welche die gewünschte Speicheradresse angibt, und die Wechselverkehrseinrichtung
ICM verteilt die Zugriffsanforderungen in einem Zeittei!verfahren
auf die verschiedenen Speichermodule. Die Eingabe-Ausgabe-Module IOM1 bis IOM3 können für den
Austausch von Informationen zwischen
209811/1275
~7~ 21U051
bestimmten Speicherbereichen und dgi Peripher ie ge rät en
gleichfalls Zugang zum Speicher haben.
In dem Speicher MEM ist ein geraeinsamer Speicherbereich
vorgesehen, der mehrere Wörter umfassen kann und zur Speicherung eines Systemunterbrechungswort SIW dient.
In der Darstellung liegt dieses Wort in dem Speichermodul SM2, doch bann dafür jedes beliebige Speichermodul
verwendet werden, vorausgesetzt, daß alle Datenverarbeitungsmodule
und Eingabe-Ausgabe-Module Kenntnis von dem verwendeten Speichermodul haben. Das Systemunterbre cnungswort
SIW, das in dem Einsatz in der linken unteren Ecke von Fig.1 dargestellt ist, kann im typischen Fall aus eineir
einzigen Wort mit 24 Bits bestehen. Die beiden Bits des größten Stellenwerts (Bits 23 und 24) des Systetmnterbrechungsworts,
die mit ÜB bezeichnet sind, werden nicht als aktive Bits verwendet, und ihre Bedeutung wird später
zu erkennen sein. Die übrigen Bits, also bei dem gewählten Fall eines 24 Bit-Worts die Bits 1 bis 22, werden als
zugeteilte Datenverarbeitungsmodul-oder Eingabe-Ausgabe-Modul-Unterbrechungsanforderungsbits
verwendet. Bei dem gewählten Beispiel sind die in ihrer Gesamtheit mit PMB
bezeichneten Bits 20 bis 22 den Datenverarbeitungsmodulen
PM1 bis PM3 zugeteilt, während die Bits 18 und 19 den Eingabe-ftus gäbe-Modulen I0M1 und I0M2 zugeteilt sind und
die ,restlichen Bits für die Verwendung durch das Eingabe-Ausgabe-Modul
I0M3 vorgesehen sind. Bei dieser Anordnung können die Bits des Systemunterbrechungsworts markiert
(d.h. auf einen bestimmten Wert eingestellt) werden, wenn irgendeines der Datenverarbeitungsmodule oder irgendeines
der Peripheriegerate die Einleitung einer Systemunterbrechung
erfordert. Die Zuteilung eines bestimmten Bits
209811/1275
zu jedem Peripheriegerät ist wieder nur ein Baispiel;
es können auch Maßnahme· getroffen vierden, damit alle
Eingabe-Ausgabe-Module Zugang zu allen Peripheriegeräten haben, beispielsweise über eine Peripheriegerät-Vermittlungsschaltung,
die an beiden Seiten Mehrfachanschlüsse
hat. In diesem Fall würden die Bits des System unter bre cn ungs worts
eindeutig den E ingäbe-A us gäbe-Module η zugeteilt sein,
und das die Datenübertragung durchführende Eingabe-Aus gäbe-Modul
würde entweder eine Information enthalten, welche die Bestimmung und den Ursprung der Datenübertragung anzeigt,
oder diese Information würde in einem Eingabe-Ausgabe-Modul-Verwaltungsbereich
des Speichers untergebracht, um die durchgeführte Übertragung zu kennzeichnen.
Aus vorstehender Beschreibung ist zu erkennen, daß es durch das vorgesehene System unt erbrech ungs wort SIW
ermöglicht wird, daß jedes beliebige Datenverarbeitungsoöer Eingabe-Ausgabe-Modul dem System "signalisiert",
daß es die Durchführung einer Unterbrechung der normalen Datenverarbeitung benötigt. Grundsätzlich könnte ein
Datenverarbeitungsmodul ein Unterbrechungsanforderungssignal
erzeugen, wenn es beispielsweise eine bestimmte Operation vollendet hat, oder wenn eine bestimmte kritische Zeitdauer
verstrichen ist, oder wenn die für die Durchführung einer bestimmten Funktion zugeteilte Zeit verstrichen ist,
oder wenn das Datenverarbeitungsmodul einen Fehler zustand
angetroffen hat (d.h. in irgendeiner Situation, in welcher es für dieses oder ein anderes Datenverarbeitungsmodul
notwendig ist, die laufende Datenverarbeitungsstruktur
des Systems zu ändern). Die Eingabe-Aus gäbe-Module sind
jedoch so ausgeführt, daß sie das entsprechende Bit des Systemunterbrechungsworts markieren, wenn sie eine
periphere Übertragung beendet haben, oder wenn im Verlauf einer solchen Übertragung ein Fehler aufgetreten
209811/1275
-^- 21U051
ist. Wenn eine ausgehende periphere Übertragung durchgeführt worden ist, wird die Markierung des entsprechenden Bitsdes
Systemunterbrechungsworts von einem Unterbrechungsdurchführungssteuerprogramm
so gedeutet, daß es anzeigt, daß ein Speicherblock aus dem Speicher MEM entnommen und
in das entsprechende Peripheriegerät gebracht worden ist,
während die Markierung des entsprechenden Bits bei einer eingehenden peripheren Übertragung anzeigt, daß
ein Speicherblock in dem Speicher mit Informationen von
'einem Peripheriegerät gefüllt worden ist.
Jedes der Datenverarbeitungsmodule enthält einen Unterbrechungszyklusgenerator,
der bewirkt, daß eine periodische Abfragung des System unter brechungs worts durchgeführt wird.
Die Unterbrechungszyklusgeneratoren in den Datenverarbeitungsmodulen sind nicht miteinander synchronisiert, so.
daß alle Datenverarbeitungsmodule das Systemunterbrechungswort
SIW in dem Speicher völlig unabhängig von und asynchron mit jedem beliebigen anderen Datenverarbeitungsmodul
abfragen kann.
Infolge des Vorhandenseins des Systemanterbrechungsworts
und der periodischen Abfragung dieses Worts durch die Datenverarbeitungsmodule ist es möglich, ein Unterbre
chungs system zu schaffen, das , soweit Eingabe-Ausgabe-Übertragungen
betroffen sind, zeitkritische Unterbrechungs zustände vermeidet. Wenn eine Zustandsänderung ..in
einem Peripheriegerät auftritt, oder wenn eine Übertragung
vollendet ist, markiert das Eingabe-Aus gabe-Modul das entsprechende Bit in dem Systemunterbrechungswort,
wodurch die Zustandsänderung jedem beliebigen Datenverarbeitungsmodul (d.h. dem nächsten dieses Wort
abfragenden Datenverarbeitungsmodul ) zur Kenntnis
209811/1275
- 21U051
■J9
gebracht wird. Es ist daher nicht notwendig, die Datenverarbeitungsmodule
mit besonderen Eingabe-Ausgabe-Befehlen zu versehen, da die Datenübertragung während einer Eingabe-Ausgabe-Operation
autonom durchgeführt wird. Ferner ist keine aktive Anordnung (Datenverarbeitungsmodul oder
Eingabe-Ausgabe-Modul) elektrisch an Unterbrechungsleitungen
gebunden. Das einzige Verbindungsglied zwischen
den Modulen für die Handhabung von Unterbrechungen ist
das Systeraunterbrechungswort, das an irgendeiner Stelle eines Speichermoduls des gemeinsamen Speichers festgehalten
werden kann.
Wenn ein Datenverarbeitungsmodul einen Zugriff zu dem Systemunterbrechungsword SIW vornimmt, bewirkt es eine
Abtastung dieses Worts, und wenn es feststellt, daß irgendein Bit markiert ist, veranlaßt es sofort die Aussetzung
der laufenden Programmoperationen und die Übertragung der Steuerung auf das Unterbrechungsdurchführungssteuerprogramm.
Zusätzlich ist jedem Datenverarbeitungsmodul ein kleiner Speicherabschnitt in dem Speicher zugeteilt,
und diese Speicherabschnitte dienen zur Speicherung einer Verbindung zu dem Unterbrechungsdurchführung3programm
und einer Unt er bre chungszulassungs maske. Mit Hilfe der
Maske ist es möglich,daß bestimmte Datenverarbeitungs—
module daran gehindert werden, bestimmte Unterbrechungen
zu bedienen ., so daß es mit einem Minimum an schneller und wirksamer Hardware möglich ist, eine Software-Steuerung
von mehreren Unterbrechungskonzepten zu realisieren, die dem Modulaufbau des Systems angepaßt sind. Der eigentliche
Betrieb eines Datenverarbeitungsmoduls bei der Zulassung einer Unterbrechungsanforderung folgt aus der nachstehenden
detaillierten Beschreibung der in ein typisches Datenverarbeitungsmodul eingebauten Anordnungen.
209811/1275
2U4051
In fig.2a und Fig. 2b, die so nebeneinander zu legen sind,
daß Fig.2b rechts liegt, sind die wesentlichen Einzelheiten eines typischen Datenverarbeitungsmoduls dargestellt,
das Einrichtungen zur Durchführung von Unterbrechungen in der beschriebenen Weise enthält. Das
Datenverarbeitungsmodul eignet sich in idealer Weise für den Einbau in eine Modul-Datenverarbeitungsanlage,
da es nach einem System von sogenannten "Fähigkeiten"
aufgebaut ist, bei welchem die im Speicher festgehaltenen Daten in "Segmente" (Datenblöcke) unterteilt sind und
jedes Segment durch eine Basiscodegruppe und eine Endcodegruppe definiert ist. Dieses System der sogenannten Fähigkeiten
ist in dem Buch "lime-Sharing Computer Systems" von Professor M.Y. Vilkes beschrieben, und der Aufbau des
eigentlichen Datenverarbeitungsmoduls ist in der Patentanmeldung P 21 26 206.6 beschrieben. Alle die verschiedenen
Arten der im Speicher festgehaltenen Daten .sind auf einer Segmentbasis aufgebaut, so daß die Segmentbezeichnungen
sich auf viele verschiedene Segmentarten beziehen (d.h. Programmsegmente, Arbeitsdatensegmente, Festwertdatensegmente,
Fähigkeitslistensegmente usw.}.
Das Datenverarbeitungsmodul CPU besteht aus einem Befehlsregister IR, einer Akkumulator-ZArbeitsregistergruppe ACC
STK, einem Ergebnisregister RES REGr, einem Haskenregister MSK REG, einem Operandenregister OP RES, einem Mikroprogramm-Leitwerk
yuPROGr, einem Rechenwerk MIIlD, einer Datenvergleichsschaltung COMP, einem Speicherdaten-Eingangsregister
SDI REG, zwei Speicherschutzregistergruppen BASE STK und TC/HfE STK und einer Unterbrechungszustands-Abfrageauslöseschaltung
ISIC.
209811/1275
Typischerweise können die drei Registergruppen (ACC STK,
BASE STK und TC/LMT STK ) unter'Verwendung sogenannter
Zwischenspeichereinheiten ("scratch-pad units") aufgebaut sein, und diese Zwischenspeichereinheiten sind mit
Leitungsauswahlschaltungen (SELA, SELB bzw. SELL) ausgestattet, die die Verbindung des benötigten Registers
mit den Eingangs- und Ausgangsleitungen der G-ruppe steuern.
Das Datenverarbeitungsmodul CPU ist für eine Parallelverarbeitung organisiert, doch sind zur Vereinfachung
der Darstellung die verschiedenen Datenwege in Pig.2a und Fig.2b als einzelne Leiter dargestellt. Das
Datenverarbeitungsmodul CPU besitzt eine sogenannte Haupt vielfach le it u ng MHW, eine Speichereingangs-Vielfachleitung
SIH und eine S pe ic he raus gangs-Vielfachleitung
SOH. Jede dieser Vielfachleitungen steht für 24 Bits entsprechender Größe eines Speicherworts.
Der Speicher ist in Fig.2 nicht dargestellt;
es wird angenommen, daß das Datenverarbaitungsmodul CPU über die Speicherausgangs-Vielfachleitung SOH und die
Speichereingangs-Vielfachleitung SIH und eine Wechselverkehrseinrichtung mit einem Speichermodulfeld verbunden
ist, wie in Fig.1 gezeigt ist. Die beiden Speichervielfachleitungen sind mit zugehörigen
Speichersteuersignal-Vielfachleitungen SOHCS bzw. SIHCS versehen, die dazu dienen, Steuersignale zwischen
dem Speicher und dem Datenverarbeitungsmodul zu führen.
Den verschiedenen Vielfachleitungen sind eine Reihe von
durch Mikroprogrammsignale gesteuerte Und-Gatter zugeordnet,
wie das Und-Gatter G6 (d.h. die Gatter, in die die Ziffer 2 eingesetzt ist). Es ist zu bemerken,
209811/1275
-»- 2H4051
daß viele der dargestellten Gatter in Wirklichkeit aus 24 Gattern bestehen, nämlich eines für jede Leitung
der 24 Bit-Vielfachleitungen. Diese Gatter werden unter
der Steuerung durch das Mikroprogramm so betätigt, daß sie das Einschreiben der Daten auf den verschiedenen
Vielfach leitungen in die ausgewählten Register nach Bedarf erlauben. Und-Gatter, wie das Gatter G3, sind
auch an den Ausgängen der Register und Registergruppen vorgesehen, damit ein wahlweises Verbinden der verschiedenen
Register mit den Eingangsanschlüssen des Rechenwerks Mill möglich ist. In Pig. 2 sind auch eine
Reihe von Oder-Gattern (d.h. die Gatter, in die die Ziffer 1 eingesetzt ist ) dargestellt, die nur zu
Trennzwecken verwendet werden, damit zwei oder mehr Signalwege durch eine Oder-Verknüpfung zu einem Eingangsweg
zusammengeführt werden können.
Diese Z wische ns pe icher einheit wird zur Bereitstellung
einer Anzahl von Akkumulator registerη (ACCO-ACC7),die
auch als Maskenregister oder Änderungsregister verwendet
werden können) verwendet, und das davon benötigte Register kann durch das Mikroprogramm oder durch die
Steuerfeldbits eines Befehlsworts ausgewählt werden. In der Akkumulatorregistergruppe ACC STK sind auch
ein Befehlszählregister SQR und zusätzliche Register
enthalten, wie ein Zeitplan-Takt register STR , ein Intervallzeitgeberregister ITR, ein U nt erbrech ungszulaasungswortregister
IAR und ein Abladestapelkellerhinweisregister DSPPR. Diese letzte Gruppe von Registern
ist nur unter Steuerung durch das Mikroprogramm oder durch besonderen Befehl wählbar; äie wird später genauer
erläutert. Fig.3 zeigt die Anordnung der Register in
209811/1275
2U4051
der Akkumulatorregistergruppe ACC STK. Das für eine Operation benötigte Register wird dadurch ausgewählt,
daß eine Auswahlcodegruppe zu der Zwischenspeichereinheit
-A us wahl schal tu ng SELA übertragen wird.
Basisregistergruppe BASE STK
Diese Zwischenspeichereinheit wird dazu verwendet, eine Anzahl von "halben" Fähigkeitsregistern für
das Datenverarbeitungsmodul CPU bereitzustellen.
Es wurde bereits oben erwähnt, daß das Speicherschutzsystem
mehrere sogenannte Fähigkeitsregister enthält, von denen jedes eine Segmentbe zeichnung festhält, die
aus einer Basisadresse, einer Endadresse und einer die erlaubte Zugriffsart angebenden Codegruppe besteht. Die
Basisregistergruppe enthält die Basisadressen aller Fähigkeitsregister. Auf der linken Seite von Fig.4 sind
die in dieser Gruppe enthaltenen halben Fähigkeitsregister dargestellt; sie bestehen aus acht sogenannten
"Arbeitsspeicher-"Fähigkeitsregistern WCRO bis WCR7
und aus einer Anzahl von Fähigkeitsregistern mit sogenannter
"verdeckter"Fähigkeit. In Fig. 4 sind nur vier der Register mit verdeckter Fähigkeit dargestellt
(DCR, ICR, MCR und LSCR) , da nur diese Register für das Verständnis der Erfindung von Bedeutung sind.
Die Arbeitsspeicher-Fähigkeitsregister können durch Auswahlcodegruppen in dem Befehlsregister IR und durch
Mikroprogramm-Steuersignale ausgewählt werden, während die Register mit verdeckter Fähigkeit nur durch besondere
Befehlswort-Steuercodegruppen und durch vom Mikroprogramm
erzeugte Auswahlcodegruppen ausgewählt werden können.
209811/1275
-*<■ 21U051
/ff
Die Arbeitsspeicher-Fähigkeitsregister wexden zur Speicherung von Segmentbezeichnungen verwendet, die
einige der Arbeitsbereiche des Speichers definieren, 25U denen das betreffende Datenverarbeitungsmodul
Zugang benötigt. Eines oder mehrere der Arbeitsspeicher-Fähigkeitsregister wird zum Speichern einer Segmentbezeichnung
verwendet, die als "Hinweisliste der reservierten Segmente (RS)" definiert ist; übereinkunftsgemäß
ist die RS-Haupthinweisliste für das laufende Programm durch die im Arbeitsspeicher-Fähigkeitsregister
WCR6 aufgezeichnete Segmentbezeichnung definiert. Die Bedeutung dieser RS-Haupthinweisliste ist in der
deutschen Patentanmeldung P 21 26 206.6 genauer beschrieben; für die vorliegende Beschreibung genügt die
Feststellung, daß sie eine Reihe von Hinweisen enthält, die sich auf eine Hauptfähigkeitsliste beziehen, welche
die Basisadressen und die Endadressen aller gerade im Speicher befindlichen Segmente enthält. Die RS-Hlnweisliste
bildet für jedes Programm eine Liste von Hinweisen auf die Segmente, zu denen das betreffende Programm Zugriff
haben muß. Die Zugriffsart (d.h. das Codewort für die erlaubte Zugriffsart) für jedes Segment ist gleichfalls in
der Hinweisliste festgehalten. Ferner ist übereinkunftsgemäß das Arbeitsspeicher-Fähigkeitsregister YKJR7 so ausgebildet,
daß es die Segmentbezeichnung für das Segment enthält, welches die Befehlswörter für den gerade laufenden
Prograimnblock enthält.
Die Register mit verdeckter Fähigkeit werden für die Speicherung von Segmentbezeichnungen verwendet, die
"Verwaltungs" -Segmente definieren. Das Fähigkeitsregister DOR ist das Abladebereich-Fähigkeitsregister,
209811/1275
welches das Segment definiert, in dem die Parameter des gerade laufenden Programms abzuladen sind, wenn die
Operationen dieses Programms ausgesetzt werden. Das Fähigkeitsregister ICR definiert den Speicherbereich,
in welchem sich das System unter bre chungs wort SIW befindet, zu dem ein Zugriff bei den Unterbrechungsoperationen erforderlich
ist." Das Iähigkeitsregister MCR definiert das
Segment, in dem sich die Hauptfähigkeitsiiste befindet,
während das Fähigkeitsregister ISCR ein sogenanntes "örtliches Anlaufsegment" für das betreffende Datenverarbeitungsmodul
definiert. Die Bedeutung dieser Segmente und ihrer Segmentbezeichnungeη wird später
bei der genaueren Beschreibung des Betriebs des Unterebre chungs systems zu erkennen sein.
Jede Basisadresse eines Fähigkeitsregisters bezeichnet:
a) das Spaichermodul ( 8 Bits), in dem sich das Segment
befindet;
b) die Basis-oder Anfangsadresse des Segments in dem
Speichermodul (16 Bits).
Diese Gruppe stellt die andere "Hälfte" der Fähigkeitsregister bereit und ist auf der rechten Seite von Fig. 4
dargestellt. Jedes Fähigkeitsregister wird von einer entsprechenden
Zeile sowohl in der Basisadressengruppe als auch in der Endadressengruppe gebildet. Die Endadresse
hat eine Länge von 16 Bits, da es nicht notwendig ist, daß die gleiche Moduladresse, die in dem entsprechenden
Basisadressenteil des Fähigkeitsregisters enthalten ist,
209811/1275
nochmals wiederholt wird. Die acht verbleibenden Bits
werden für die Speicherung der Zugriffsart-rCodegruppe
für die Segment be zeichnung verwendet.
Dieses Register wird über die Hau ptviel fach leitung MHW
des Datenverarbeitungsmoduls gespeist und kann zur vorübergehenden Speicherung des Ergebnisses einer Rechenoperation
verwendet werden.
Maskenregister MSK REG
Dieses Register wird von der Speicherausgangsvielfachleitung SOH gespeist, und dient später zur Speicherung
der Unterbrechungszulassungsmaske von dem örtlichen Anlaufbereich, wenn ein Unterbrechungsabfragevorgang durchgeführt
wird.
Dieses Register kann entweder von der Hauptvielfachleitung MHW oder von der Speicherausgangsvielfachleitung
SOH gespeist werden und dient als Zwischenregister für die Bildung einer Speicherzugriffsadresse. Die Versetztwert-Adresse
eines Befehlsworts wird in dieses Register eingegeben, wenn ein Befehlswort aus dem Speicher geholt
wird.
Dieses Register wird zum Speichern der Steuerbitfelder
eines Befehlsworts verwendet, wenn dieses aus dem Speicher geholt wird.Die Bedeutung der verschiedenen Felder wird
später bei der Durchführung eines bestimmten Befehls
209811/1275
" 2H4051
in Verbindung mit dem Unterbrechungsdurchführungssteuerprogramm
erörtert.
Diese Einheit, die typischerweise einen Festspeicher
enthalten kann, steuert den Ablauf der Durchführung der Operationen des Datenverarbeitungsmoduls durch die Abgabe
von zeitlich festgelegten Steuersignalfolgen (u PGCS) zu den verschiedenen Eingangs- und Ausgangsgatterη der
Register, zu dem Rechenwerk MILL (Leitungen AUuS) und z.U. der Datenvergleichsschaltung COMP (CuS). Das Mikroprogramm-Leitwerk
ist auch in der Lage, verschiedene Register über Leitungen RSEL und CRSEL auszuwählen,
und es erzeugt Steuercodegruppen, die über die Speichersteuersignal-Vielfachleitung SIHCS in Übereinstimmung
mit der Zugriffsart-Codegruppe der angesteuerten Segmentbezeichnung zum Speicher gelangen.
Dem Mikroprogramm-Leitwerk werden auch verschiedene innere Steuersignale zugeführt, welche verschiedene
Zustände und Anzeiger kennzeichnen, die jeweils in dem Datenverarbeitungsmodul aktiv sind. Diese Signale
sind unter der Sammelbezeichnung AÜCS zusammengefaßt. Die Speichersteuersignat-Vielfachleitung SOHCS , die Steuercodegruppen
liefert, welche die über die Speicherdaten Vielfachleitung SDH gehenden Daten begleiten, ist ebenfalls
mit dem Mikroprogramm-Leitwerk verbunden.
Diese Anordnung ist ein konventionelles Rechenwerk, das parallel Rechenoperationen mit den Datenwörtern
durchführen kann, die ihm über 'seine beiden Eingangsgruppen zugeführt werden. Das Ergebnis einer Operation
209811/1275
im Rechenwerk MILL wird über die Hauptvielfachleitung MHW einem vom Mikroprogramm festgelegten Bestimmungsort
zugeführt. Die jeweils vom Rechenwerk MILL durchgeführten
Operationen sind durch die Rechenwerk-Mikroprogrammsteuersignale AUaS festgelegt. Das Rechenwerk MILL enthält auch
eine Schnellverschiebeschaltung und eine Korrelationsschaltung, deren Bedeutung später beschrieben werden soll»
Diese Schaltung vergleicht die in das Speicherdaten-Eingangsregister
SDI REG eingegebenen Adressen und die angeforderten Zugriffsoperationen mit den Grenzen
(d.h. Basisadresse und Endadresse) und mit der Codegruppe für die zugelassene Zugriffsart der sich auf den
Speicherzugriff beziehenden Segmentbe zeichnung. Ihre Zustandsanzeigeausgangssignale CIS werden dem Mikroprogramm-Leitwerk
uPROG als Teil der Rechenwerkbedingungssignale AUCS zugeführt. Die Bedeutung der Funktion
der Datenvergleichsschaltung wird später noch erkennbar werden.
Dieses Register wirkt als Ausgangsregister für
die von dem Datenverarbeitungsmodul zum Speicher zu
gebenden Daten ("CPU-Speicher-Ausgangsregister"), und die für die Übertragung zum Speicher bestimmten
Daten werden in diesem Register vor ihrer Weitergabe zum Speicher über die Speichereingangsvielfächleitung
SIH gesammelt.
209811/1275
-a*-- ' ■·" 21U051
«Ο
Diese Schaltung wirkt als Auslöseschaltung für die Sperrung der Operationen des laufenden Prozesses
(d.h. Maschinencodeprogramms) und zur Steuerung der Abfragung des Systemunterbrechungswortes. Wie zuvor
erwähnt wurde, wird der Vorgang der Abfragung des Systemunterbrechungswortes periodisch unter der
Steuerung eines Unterbrechungstaktgenerators ICG eingeleitet. Dieser Generator ist so ausgeführt,
daß er die Unterbrechungszustand-Abfrageauslöseschaltung beispielsweise in einem 100/us-Zyklus
aktiviert. Die Auslöseschaltung ist so ausgeführt, daß sie den 100yus-Impuls festhält, bis das Datenverarbeitungsmodul
den laufenden Befehlsschritt beendet hat. Die Auslöseschaltung wird auch asynchron durch
die Einstellung einer der Zeitgeberregister-Fullstands-Kippschaltungen
STRZ und ITRZ aktiviert. Diese Kippschaltungen werden eingestellt, wenn das Rechenwerk
MILL den Zählerstand Null in dem Zeitplan-Zeitgeberregister STR oder in dem Intervall-Zeitgeberregister ITR
feststellt. Diese beiden letzten Zustände sind als "innere· Unterbrechungen" definiert, während eine zugelassene Unterbrechung
als Ergebnis eines 100 ^us-Impulses als "Systemunterbrechung"
angesehen wird.
Jeder Prozeß (Maschinencodeprogramm) ist mit einer -Zeitzählung
versehen, welche die gesamte Verarbeitungszeit anzeigt, die das Maschinencodeprogramm erfahren sollte,
bevor der Eintritt in das Zeitplanprogramm erfolgt. Diese Maßnahme gewährleistet, daß ein Hintergrundprogramm, das
eine beträchtliche Länge haben kann, nicht die Verarbeitungszeit auf Kosten anderer Programme monopolisiert. Jedesmal,
wenn ein Programm ausgesetzt wird, wird die Einstellung
209811/1275
2U4051
des Zeitplan-Zeitgeberregisters STR in den Parameterabladebereich für diesen Prozeß eingeschrieben.
Das Intervall-Zeitgeberregiater ITR dient als Zeitmesser
für kritische Zeitperioden. Es wird am Beginn der Zeitperiode auf einen bestimmten Zählerstand eingestellt, und
sein Inhalt wird periodisch verringert. Im typischen Fall könnte beispielsweise bei der Verwendung in Verbindung
mit automatischen Pernsprechverraittlungsanlagen das Intervall-Zeitgeberregister als Taktgeber für die
Impulsübertragung verwendet werden.
Im typischen Fall würde das Impulssendeprogramm ausgesetzt
werden, nachdem die Pernsprechleitungs-Überwachungsanordnung den Befehl erhalten hat, die Leitungsschleife zu öffnen,
und das Intervall-Zeitgeberregister würde mit einem Zähler-
2
stand gefüllt werden, der 66^ Millisekunden entspricht. Das Intervall-Zeitgeberregister ITR wird dann periodisch mit einer Normgeschwindigkeit (z.B. in Abständen von einer Drittel Millisekunde) abgezählt, und wenn es den Zählerstand Null erreicht, wird die Intervall-Zeitgeberregister-Nullstands-Kippschaltung ITRZ eingestellt. Dies würde die Durchführung einer Unterbrechung erlauben, damit zu dem ausgesetzten Impulssendeprogramm zurückgekehrt wird, so daß die Leitungsüberwachungsanordnung den Befehl erhalten kann, die Leitungsschleife zu schliessen. Das Intervall-Zeitgeberregister wird dann mit einem Zählerstand für 33j Millisekunden für die Zeitsteuerung der Herstellung der Verbindung gefüllt.
stand gefüllt werden, der 66^ Millisekunden entspricht. Das Intervall-Zeitgeberregister ITR wird dann periodisch mit einer Normgeschwindigkeit (z.B. in Abständen von einer Drittel Millisekunde) abgezählt, und wenn es den Zählerstand Null erreicht, wird die Intervall-Zeitgeberregister-Nullstands-Kippschaltung ITRZ eingestellt. Dies würde die Durchführung einer Unterbrechung erlauben, damit zu dem ausgesetzten Impulssendeprogramm zurückgekehrt wird, so daß die Leitungsüberwachungsanordnung den Befehl erhalten kann, die Leitungsschleife zu schliessen. Das Intervall-Zeitgeberregister wird dann mit einem Zählerstand für 33j Millisekunden für die Zeitsteuerung der Herstellung der Verbindung gefüllt.
Es soll nun die Punktion des Datenverarbeitungsmoduls bei der Durchführung einer Systemunterbrechungswort-Abfragung
betrachtet werden.
209811/1275
Wenn ein 100 /ls-Impuls auftritt (Systemunterbrechungsabfragung
erforderlich), oder wenn eines der Zeitgeberregister den Zählerstand Null erreicht hat (innere
Unterbrechung erzeugt), vollendet das Datenverarbeitungsmodul
die laufende Befehlsoperation, und dann empfängt das Mikroprogramm-Leitwerk /lPROG ein Signal IIS von der
Unterbrechungszustand-Abfrageauslöseschaltung ISIC. Dieser Zustand ist der Startpunkt für den Unterbrechungsabfragevorgang,
dessen Flußdiagramm in Fig. 7 dargestellt ist. Die folgende Beschreibung ist in Abschnitte aufgeteilt,
die den Schritten entsprechen, die bei der Durchführung des Flußdiagramms von Fig. 7 ausgeführt werden, jedoch
wird für die von dem Datenverarbeitungsmodul bei der Durchführung der Flußdiagrammoperationen ausgeführten
Funktionen oft auf Fig.2a und Fig.2b Bezug genommen. Zum
besseren Verständnis dieser Operationen v/ird manchmal auch auf Fig. 3, 4, 5 und 6 Bezug genommen.
Nach Beendigung des laufenden Befehlsschritts nimmt das Mikroprogramm-Leitwerk/uPROG (Fig.2b) das aktive
IIS-Signal an, und es sperrt die weitere Durchführung des laufenden Programms. An dieser Stelle ist zu bemerken,
daß das Datenverarbeitungsmodul so organisiert ist, daß am Ende jedes Befehlsschritts die drei Hardware-Register
RES REG, MSK REG und OP REG Informationen enthalten,
die nicht mehr benötigt werden. Jede Information, die in diesen Registern im Verlauf eines Befehlsschritts
enthalten ist und für den nächsten Befehlsschritt des Programms festzuhalten wäre, würde gleichzeitig auch
an einer Stelle der Akkumulatorregistergruppe ACC STK aufgezeichnet werden.
209811/1275
Das Mikroprogramm-Leitwerk/uPROG bewirkt, daß ein Zugriff
zum Speicher erfolgt, damit die Unterbrechungszulassungsbitmaske
IMV/ aus dem dem Datenverarbeitungsmodul zugeteilten
örtlichen Anlaufbereich DlSA (Pig.6) abgelesen wird. Diese
Operation wird unter Verwendung des Anlauffähigkeitsregisters
LSCR (Pig.4 und 6) mit einem vom Mikroprogramm
erzeugten Versetztwert durchgeführt. Das Mikroprogramm-Leitwerk ^uPROG bewirkt die Auswahl des Pähigkeitsregisters
LSGR über Leitungen CRSEL (Pig.2a und 2b) und öffnet
die Gatter Gl, was zur PoIge hat, daß die Basisadresse des DLSA-Segments in das Rechenwerk MILL übertragen
wird. Zur gleichen Zeit führen die Leitungen GOS den für die Definition der Unterbrechungszulassungsbitsmaskenwortadresse
erforderlichen Versetztwert, und das Rechenwerk MILL erhält den Befehl, eine' Addition durchzuführen.
Das Ergebnis der Addition wird über die Hauptviel.fachleitung MIIW dem Speicherdaten-Eingangsregister SDI RlG durch
öffnen der Gatter G2 zugeführt.
In Übereinstimmung mit dem Gedanken des Speicherschutzsystetns,
das durch das Konzept der in Pähigkeitsregistern festgehaltenen Segmentbezeichnungen geschaffen
ist, wie in der Patentanmeldung P 21 26 206.6 beschrieben ist, ist es erforderlich, daß die Speicheradresse, die
soeben in das Speicherdaten-Eingangsregister SDI-REG eingebracht worden ist, im Hinblick auf die Grenzen
des zugeteilten örtlichen Anlaufsegments geprüft wird,
und daß der angeforderte Zugriff im Hinblick auf den erlaubten Zugriff geprüft wird* Das Mikroprogramm-Leitwerk
,uPROG veranlaßt, daß die Gatter G3 und &4
an dieser Stelle geöffnet werden, was zur PoIge hat, daß die Datenvergleichsschaltung COMP die zuvor
erwähnten Prüfungen durchführt und die Zuführung einer
209811/1275
2U4051
Codegruppe "Lesen" zu der Speichereingangssteuersignal-Vielfachleitung
SIHC erlaubt. Die Datenvergleichsschaltung COMP ist durch Erzeugung der VergleichsschaltungB-Mikrosteuersignale
C/is instruiert, die erforderlichen Vergleiche durchzuführen, und sie zeigt
die erfolgreiche Durchführung der Prüfung dem Mikroprogrammleitwerk yuPROG über Leitungen CIS an. Wenn
die erfolgreiche Prüfung dem Mikroprogramm-Leitwerk /iPROG angezeigt wird, öffnet es die Gatter G5,
wodurch ein Taktgeberdraht der Speichersteuersignalv Vielfachleitung SIHCS erregt wird, damit die Durchführung
der Leseoperation ausgelöst wird.
Wenn der Speicher das ünterbrechungszulassungsbitmaskenwort
IMW ausgegeben hat, erregt er einen Taktgeberdraht in der Speicherausgangssteuersignal-Vielfachleitung SOHCS,
was zur EoIge hat, daß das Mikroprogramm-Leitwerk die
Gatter G6 und G7 öffnet und dadurch die Eingabe des Unterbrechungszulassungsbitmaskenworts
in das Maskenregister MSK REG erlaubt. Das Datenverarbeitungsmodul führt nun den Schritt S2 des Plußdiagramms von Pig.7 durch.
Dieser Schritt bewirkt, daß ein Zugriff zu dem Systemunterbrechungswort
SIW (Pig.6) für eine Operation "Lesen-Ändern-Schreiben"
erfolgt. Diese Operation hat die Wirkung, daß das Speichermodul des Speichers, in dem das .System-·
Unterbrechungswort steht, mit diesem Datenverarbeitungsmodul verriegelt wird, bis der Schreibvorgang durchgeführt
ist. Der Schreibvorgang erfolgt entweder in dem Schritt S5
209811/1275
oder in dem Schritt S9, die später beschrieben werden. Der in unterbrochenen Linien gezeichnete Kasten SMLP
in Pig.7 zeigt die Dauer dieser Verriegelung des Speiohermoduls
an. Diese Maßnahme ist natürlich notwendig, um zu verhindern, daß irgend ein anderes Datenverarbeitungsmodul in einer Modul-Datenverarbeitungsanlage in dieser
Zeit Zugriff zu dem Systemunterbrechungswort bekommt.
Das Mikroprogramm-Leitwerk uPROG wählt (über Leitungen CRSEL ) das Unterbrechungsfähigkeitsregister ICR (Pig.4 und 6)
aus, und es erfolgt ein Zugriff zu dem Speicher für die Operation "Lesen-Ändern-Schreiben" durch Öffnen der
Gatter G1, G2, G3, G4, G5, wobei die zuvor erwähnten Prüfungen der Grenzen und des Zugriffs unter Veraendung ■
der ICR-Segmentbezeichnung durchgeführt werden. In Pig.6(oben) ist der gemeinsame Speicherbereich,
in dem das Systeraunter brechungs wort SIW stbtht, so
dargestellt, daß er aus mehreren Wörtern besteht. Unter bestimmten Umständen, die von der Anzahl der
benötigten Systemunterbrechungsbits abhängen, können
mehrere Wörter erforderlich sein, und dann ist auch eine entsprechende Anzahl von Unterbrechungszulassungsbitmaskenwörtern
IMW in dem zugeteilten örtlichen Anlaufbereich für die Datenverarbeitungsmodule erforderlich.
Zur leichteren Darstellung soll jedoch gegenwärtig angenommen werden, daß es nur ein Systemunterbrechungswort
SIW gibt, so daß die Endadresse im !Fähigkeitsregister ICR gleich der Basisadresse ist, und daß nur
ein Unterbrechungszulassungsbitmaskenwort IMW in Jedem zugeteilten örtlichen Anlaufbereich DLSA vorhanden ist.
Die Anordnung mit mehreren SystemunterbrechungsWörtern SIW
wird später betrachtet werden.
209811/1275
Wenn das Systemunterbrechungswort SIW aus dem Speicher ausgelesen ist, wird es durch.öffnen der Gatter G6 und G8
unter Steuerung durch das Mikroprogramm in das Operandenregister OP REG gebracht. Gleichzeitig werden die Gatter
G8A geöffnet, wodurch die Zustände der beiden Zeitgeberregister-Nullstands-Kippschaltungen
in die beiden Bits des größten Stellenwerts im Operandenregister gebracht
werden können. Zuvor wurde erwähnt, daß die Bits 23 und 24 des Systemunterbrechungsworts SIW (die in Fig. 6
schraffiert dargestellt sind) nicht als aktive Bits verwendet werden; sie werden in Wirklichkeit von den inneren
Zeitgeberregistern HR bzw. STR benutzt. Wenn daher der
Unterbrechungsablauf durch das Füllen eines dieser Zähler anstatt durch das Auftreten des 100 /is-Unterbreehungszustandabfrageimpulses
ausgelöst worden ist, zeigt nun auch das Operandenregister (d.h. das Systemunterbrechungswort)
diesen Zustand an. Das Datenverarbeitungsmodul enthält in dieser Stufe das Systemunterbrechungswort SIVi in seinem
Operandenregister OP REG und sein eigenes Unterbrechungszulassungsbitmaskenwort in dem Maskenregister MSK REG.
Nun wird der Schritt S3 durchgeführt.
In diesem Schritt öffnet das Mikroprogramm-Leitwerk die Gatter G9, GlO und GIl, und es erteilt dem Rechenwerk
MILL den Befehl, die beiden seinen Eingangsanschlüssen zugeführten Wörter durch eine Und-Terknüpfung
zu vereinigen. Diese Operationen haben zur Folge, daß in das Ergebnisregister RES REG ein Wort eingeschrieben
wird, das markierte Zustände (d.h. den Zustand "1") in denjenigen Bits hat, für die sowohl im Systemunterbrechungswort
SIW als auch im Uhterbrechungszulassungsbitmaskenwort IMW eine Markierung vorhanden ist. Alle
209811/1275
in dem Systeraunterbrechungswort markierten Bits,
für die sich das entsprechende Bit in dem Unterbrechungszulassungsbitmaskenwort im Zustand "O"
befindet, werden als "D" in das Ergebnisregister RES REG
eingeschrieben. Nun wird der Schritt S4 durchgeführt.
In diesem Schritt werden die Gatter G12 geöffnet, und
das Rechenwerk MILL erhält den Befehl, das zugeführte
Wort abzufragen, um zu sehen, ob es Null ist. Wenn in dem zugeführten Wort nur Ziffern "0" vorhanden sind,
wird der Schritt S5 durchgeführt, da das Systemunterbrechungswort
keine gerade zulässigen Unterbrechungsanforderungen enthält, soweit das Datenverarbeitungsmodul
betroffen ist. Wenn jedoch eines oder mehrere Bits in dem Ergebnisregister RES REG im Zustand "1" sind,
wird der Schritt S6 durchgeführt, damit die Unterbrechungsanforderung
zugelassen wird.
Dieser Schritt, der nur durchgeführt wird, wenn keine zulässigen Unterbrechungsanforderungen vorhanden sind,
beendet nach seiner Durchführung die Verriegelungsperiode
des Speichers für die Operation "Lesen-Ändern-Schreiben".
Das Mikroprogramm-Leitwerk uPROG Öffnet die Gatter G10,
G2 und G5, damit das Systemunterbrechungswort SIW unverändert wieder in den Speicher eingeschrieben werden
kann.
209811/1275
2U4051
In üiesetn Schritt öffnet das Mikroprogramm-Leitwerk iiPROG
die Gatter G12 , und es erteilt dem Rechenwerk MILL den Befehl, die Funktion einer Korrelation durchzuführen. Bei
der Durchführung der Korrelation tastet das Rechenwerk MILL das zugeführte Wort von der höchsten Stelle an bis
zur kleinsten Stelle ab, bis das erste Bit im Zustand "1" gefunden wird. Das Ergebnis ist eine Zahl, welche die
gefundene Bitstelle darstellt.
Das Ergebnis des Schritts S6 wird in das UnterbrechungszulassungsWortregister
IAR in der Akkumulatorregistergruppe AGC STK dadurch eingebracht, daß.die Gatter G3
geöffnet werden (Schritt S7 in Tig.7), und das "gewählte" Bit wird ferner in dem Operandenregister OP REG gelöscht,
oder die entsprechende Zeitgeberregister-Nullstands-Kippschaltung
ITRZ oder STRZ wird zurückgestellt. Die zuletzt erwähnte Rückstellung (Schritt S8 inFig;7) ist in Fig. 2a
und Fig.2b der einfacheren Darstellung wegen nicht gezeigt; es ist jedoch für den Fachmann erkennbar, daß die Rechenwerke
nze ige Signa Ie AUIS für die Durchführung der erforderlichen
Löschung im Operandenregister OP REG oder zur Steuerung der Rückstellung der Kippschaltung ITRZ bzw.
STRZ verwendet werden können.
Die Operationen in diesem Schritt sind die gleichen wie in dem zuvor erwähnten Schritt S5, doch ist hervorzuheben,
daß in dem in den Speicher wieder eingeschriebenen System -
209811/1275
21U051
Unterbrechungswort SI¥ das zugelassene Unterbrechungsanforderungsbit
gelöscht ist. Nach der Durchführung der Operationen dieses Schritts wird das Speichermodul 'iTreigegeben",
in welchem das Systemunterbrechungswort SIW für die Abfragung durch irgendein anderes Datenverarbeitungsmodul
des Systems stehenbleibt.
Das Datenverarbeitungsmodul hat in dieser Stufe nur die Operationen des Programms gesperrt, das es vor
der Erzeugung des Signals IIS durchgeführt hat; nachdem es nun eine TJnterbreehungsanforderung zugelassen hat,
muß das Datenverarbeitungsmodul eine"Programmwechsel"-Operation
durchführen, damit die Parameter des gesperrten Programms im Speicher bewahrt und aus dem Speicher
die Parameter des Unterbrechungsdurchführungsprogramras
entnommen werden. Diese Operationen werden in diesem Schritt und in den Schritten SIl, S12 und S13 durchgeführt.
Es ist zuvor erwähnt worden, daß jedes Programm mit einem sogenannten Abiadebereichsegment versehen ist (wie
in Pig.6 unten gezeigt ist), und dieses Segment ist durch die Segmentbezeichnung in dem Abladebereich-Pähigkeitsregister
DCR in dem Datenverarbeitungsmodul definiert. Jedes Abiadebereichsegment enthält Informationen über
den Zustand des gerade laufenden Programms, wie die Werte der Hinweise auf die reservierten Segmente (RS-Hinweise),
die jedem der Arbeltsspeicher-Fähigkeitsregister
WCRO bis WCR5 entsprechen. Diese Stellen in dem Abladebereichsegment
werden mit dem entsprechenden RS-Hinweis gefüllt, wenn ein Pähigkeitsregister gefüllt wird, wie
in der Patentanmeldung P 21 26 206.6 gezeigt ist. Das Abiadebereichsegment wird jedooh auch dazu verwendet, den
209811/1275
to
Inhalt der Register der Akkumulator register gruppe ACC STK und die RS-Hinweise für das Segment fälxigke its reg ister WCR7
des laufenden Programms und die Haupthinweisliste WCR6 der reservierten Segmente des laufenden Programms zusammen
mit dem Wert des Befehlszählregisters SCR zu speichern, wenn das laufende Programm geändert (d«h. ausgesetzt)
wird. Fig.6 zeigt die Einteilung desProgrammabladebereichs,
und während der "Programmwechsel"-Folge verursacht der
Schritt S1O, daß der Inhalt jedes der Akkumulatorregister
ACCO bis ACC7 und die laufende Einstellung des Zeitplanzeitgeberregisters
STR sowie die Inhalte der primären Anzeigeregister PIS abgeladen werden. Die in dem Datenverarbeitungsmodul
wirklich durchgeführten Operationen erfordern:
(i) die Bildung der ersten Abladebereichsadresse durch
Auswahl der DCR-Basisadresse (Über Leitungen CRSEL) und
den Zugriff zum Speicher (durch Öffnen der Gatter G1, G2,
G3, G4, G5 mit den üblichen Grenzen- und Zugriffsprüfungen)
im Abladebereich, wobei die Abladebereichsadresse für aufeinanderfolgende
Zugriffe zum Abladebereich auch im Ergebnisregister RES REG (durch Öffnen der Gatter G11 zugleich
mit dem Öffnen der Gatter G2)aufbewahrt wird;
(ii) die Überführung der zutreffenden Registerinhalte
(über die Gatter GH, G2 und G5) für jede zutreffende Eingabe in die Akkumulatorregistergruppe ACC STK
mit der Erhöhung der Zugriffsadresse um 1 (durch Öffnen der Gatter G12 und G11 und der Lieferung des Befekls
"addiere 1" zu den) Rechenwerk MILL).
Die zuvor mit (i) und (ii) bezeichneten Operationen werden für jede der ersten zehn Eingaben in den Abladebereish
wiederholt.
209011/1275
2U4051
Weiterhin liegt im Abladebereit;!! ein Kellerhinweis PDP,
und der Wert in dieser Stelle bezieht sich auf den in Fig.6 darunterliegenden verbleibenden Bereich des
Abladebereichsegraents, der als "KeIler"-Abschnitt
betrieben wird. Der Wert in dem Kellerhinweis definiert das gerade zugängliche 3-Wort-"Paket" in dem Kellerabschnitt
und ist ein Versetztwert von der Basis des Abiadebereichsegments. Der Inhalt des Kellerhinweises
PDP wird in das Abladestapelkellerhinweisregister DSPPR (Fig.3) in der Akkumulatorregistergruppe ACC STK geschrieben,
wenn das entsprechende Programm zur Verarbeitung durch das Date nve rar be itungs modul gewählt wird.
Dieses Hinweisregister DSPPR wird dann verwendet, wenn verschachtelte Unterprogramme aufgerufen oder von solchen
zurückgekehrt wird, und für die Versehachtelung dieser Unterprogramme wird durch die 3-Wort-Pakete des Kellerabschnitts
des Abladestapels gesorgt. Jedes Paket enthält die RS-Hinvfeise für die Fähigkeitsregister WCR7 und WCR6
zusammen mit dem relativierten Wert des Befehlszählregisters SGR. Der Schritt S1O bewältigt somit auch
die Beschickung des Kellerhinweises PDP im Abladebereich mit dem entsprechenden Wert von dem Hinweisregister DSPPR.
Bei einer normalen programmgesteuerten "Programmwechsel"-Folge
wird das Datenverarbeitungsmodul in dem entsprechenden
Befehlswort mit dem Versetzt wert weiter unten in der RS-Hinweisliste versehen, der für den Zugriff zu der Hauptfähigkeitsliste
verwendet wird, damit das Abladebereichsegment für das Programm erhalten wird, auf das der
Wechsel erfolgen soll. Bei der gegenwärtigen Situation
erfolgt jedoch die Programmwechselfolge automatisch, d.h. als Ergebnis der Zulassung einer Systemunterbrechungs-
209811/1275
■ ·· 2U4051
anforderung, und demzufolge muß das Abiadebereichsegment für das Unterbrechungsdurchftihrungaprogramm auf andere Weise
erhalten werden. In Fig.6 ist das zugeteilte örtliche Anlaufbereichsegment
gezeigt, das den Datenverarbeitungsmodul zugeordnet ist, und dieses ist durch die Segmentbezeichnung in
dem örtlichen Anlauffähigkeitsregisters LSORangegeben. Dieses
örtliche Anlauf bereichsegment ist so ausgebildet, daß es einen Unterbrechungsdurchführungaprogramm-Abladebereichhinweis IDAP
enthält, zusammen mit der Codegruppe für die zulässige Zugriffsart.
Im Schritt S11 wird dieser Hinweis dazu verwendet, die Adressen in der Hauptfähigkeitsliste zu erhalten,
in denen die Grenzen und die Summenprüfcodegruppen
für das Unterbrechungsdurchführungsprogramm-Abladebereichsegment
enthalten.sind. Die durchgeführten Operationen sind die gleichen, wie sie für jede
Operation "Lad eFähigke its register" verwendet werden, wie sie in der zuvor erwähnten Patentanmeldung
P 21 26 206.6 beschrieben ist, mit der Ausnahme, daß das Mikroprogramm-Leitwerk aPROG von Fig.2b über seine
Auswahlleitungen CRSEL das Abladefähigkeitsregister DCR
bezeichnet, in das die Segmentbezeichnung zu bringen ist. Das eigentliche Füllen des Abladebereich ähigkeitsregisters
erfolgt im Schritt S12 des Flußdiagramms
von Fig.7.
Schritt S13 - Entnimm Parameter.für, ünterbrechungsdurchführungsprogramm
In diesem Schritt wird das neu beschickte Abladebereichfähigkeitsregister
DCR, das nun natürlich die" Abladebereichsegment be zeichnung fles Unter bre chungs dur chführungsprogramms
enthält, dazu verwendet, die verschiedenen Parameter dieses Programms in den entsprechenden Registern
des Datenverarbeitungsmoduls nachzubilden. Fig.6 unten
209811/127S
zeigt die Ausbildung des Abiadebereichsegments. Jedes der
Pähigkeits register WCRO bis WGR7 wird gefüllt, indem der
im Abladebereich gespeicherte RS-Hinweis für den Zugriff
zu der Hauptfähigkeitsliste verwendet wird, ähnlich wie in der Patentanmeldung P 21 26 206.6 beschrieben ist,
und der Absolutwert des Befehls Zählregisters SCR wird abgeleitet, wenn dieses Register durch Addition des
Basisadressenwerts aus dem Pähigkeitsregister WCR7 gefüllt ist.
*~ Unterbrechung "vflurchf uhren
Nach Beendigung der Operationen des Schritts S13 ist der Programmwechsel auf das Unterbrechung sdur ch führung sprogramm
vollständig. Das Unt erbrech ungs durch führ ungsprogramm
muß jedoch Kenntnis von der zugelassenen Unterbrechung haben, und dies erfolgt durch Bezugnahme auf
die Codegruppe, die im Schritt S7 in das UnterbrechungszulassungsWortregister
IAR in der Akkumulator registergruppe ACC STK eingebracht worden ist. Es ist zu
beachten, daß der Inhalt dieses Registers von dem Abladeoder E nt nähme pro ze s s der Schritte S1O und S13 nicht
betroffen ist.
Beim Beginn des Unterbrechungsdurchführungsprogramms
kann es notwendig sein, daß dieser Prozess vor Unterbrechungen geschützt wird, und dies kann dadurch
erfolgen, daß eines der. Akkumulator register in der
Gruppe ACC STK gelöscht und dann ein Befehl Q SWAP R durchgeführt wird.
Wie in Fig.5 dargestellt ist, ist das Befehlswort für
diesen Befehl so ausgebildet, daß es definiert :
209811/127S
(i) einen Speichervorgang S (Bit 24 = l);
(ii) Änderung unter Verwendung des Inhalts" des Registers
in der Akkumulatorregistergruppe ACC STK, das durch die Codierung von M definiert ist, falls notwendig;
(iii) das zuvor gelöschte Register (durch die Markierung
der SR-Bits);
(iv) eine SWAP-Funktionscodegruppe (FC);
(v) ein Arbeitsspeicherfähigkeitswregister (durch die ..
Codegruppe in WCRS definiert), das eine Segmentbezeichnung
enthält, welche das zugeteilte örtliche Anlaufbereichsegment DLSA für das betreffende Datenverarbeitungsmodul
definiert ;
(vi) einen Versetztwert (OS), der auf das Unterbrechungsmaskenwort
IMW in diesem Bereich hinweist.
Der Befehl sorgt daher dafür, daß lauter Ziffern "O"
in das Unterbrechungsmaskenwort IMW eingeschrieben werden,
und daß das ursprüngliche Unterbrechungsmaskenwort IMW
ita das gelöschte Register eingebracht wird, wodurch gewährleistet ist, daß während des Unterbrechungsdurchführungsprogramms
keine Unterbrechungsanforderungen zugelassen werden. Das Unterbrechungsdurchführungsprogramra
endet mit einem weiteren Befehl Q SWAP R , der die gleichen Register und die gleiche Speicherstelle definiert, wodurch
das ursprüngliche Unterbrechungsmaskenwort in das örtliche
Anlaufbereichsegment zurückgebracht wird.
Aus der vorstehenden Beschreibung eines AusführungsbeispieI3
ist zu erkennen, daß ein einfaches, aber sehr anpassungsfähiges
Unterbrechungs system zur Verwendung in einem Modul-Computersystem
geschaffen worden ist. Dadurch, daß ein
209811/1275
. 21U051
gemeinsames Systemunterbrechungswort vorgesehen worden ist, ist beispielsweise die Handhabung jeder Unterbrechungsanforderung für eine Eingabe-Ausgabe-Übertragung durch
irgendeines der Datenverarbeitungsmodule berücksichtigt,
und dadurch, daß eine Unterbrechungsanforderungszulassungsmaske
vorgesehen ist, wird erreicht, daß jedes Datenverarbeitungsmodul wahlweise auf eine oder mehrere
dieser Anforderungen ansprechen kann· Die Anordnung eines Unterbrechungsanforderungszulassungsregisters
in jedem Datenverarbeitungsmodul hat den doppelten Vorteil, daß eine bequeme Programowechseladresse zur
Verwendung in dem UnterbrechungBdurchführungsprogramm
geschaffen wird, und daß es möglich wird, die Codegruppe für den zugelassenen Zugriff für den örtlichen
Anlaufbereich ohne Löschung auszulesen» soweit
das örtliche Anlauffähigkeitsregister betroffen ist..
Der letzte Punkt gewährleistet, daß der örtliche Anlaufbereich nicht durch einen Fehler in dem Datenverarbeitungsmodul zerstört werden kann, wenn dieses beispielsweise
ein kompliziertes Maschinencodeprogramm durchführt. Die einzigen Programme, bei denen in diesen örtlichen Anlaufbereich
eingeschrieben wird, sind Steuerprogramme, wie das Unterbrechungsäurchführungsprogramm, und diese
Programme können so ausgebildet sein, daß sie vollkommen sicher sind.
Schließlich ist zuvor erwähnt worden, daß bei der besonderen Ausführungsform angenommen worden ist, daß das
System unter bre chungs wort und das Unterbrechungsanforderungszulassungswort
in Wirklichkeit die Größe eines Computerworts haben, obgleich eine Situation vorstellbar ist,
bei der wegen der großen Anzahl von Anordnungen in dem Modulsystem mehr als ein Computerwort benötigt wird.
209811/1275
21U051
In einem solchen EaIl würde die Und-Verknüpfung des
Systemunterbrechungsworts mit den Unterbrechungsanforderungszulassungsmaskenwörtern
im Schritt S6 von Fig.7
jeweils Wort für Wort durchgeführt werden, und das Korrelatibnsergebnis würde nicht nur den Zählwert für
das zugelassene Bit, sondern auch den Zählwert für
das zugelassene Wort festhalten. Ferner ist angenommen, worden, daß jedes Systemunterbrechungswortbit eine«
bestimmten Modul oder Peripheriegerät zugeteilt ist. Dies ist jedoch nicht als einschränkende Festlegung anzusehen,
denn für den Fachmann ist es offensichtlich, daß beispielsweise
ein Eingabe-Ausgäbe-Modul so gesteuert werden kann,
daß es ein bestimmtes Bit markiert, wenn eine bestimmte Datenübertragung durchgeführt worden ist, und das Unterbrechungsäur
cnführungsprogramm kann dann so aufgebaut
sein, daß es eine Suche nach dem so gesteuerten Modul durchführt, um festzustellen, welche Übertragung beendet
worden ist. Andere· mögliche Ausführungen sind für den
Fachmann erkennbar; beispielsweise kann es in bestimmten kleinen Anlagen vorkommen, daß der Peripherieübertragungsverkehr
nicht ausreichend groß ist, um die Verwendung eines eigenen Eingabe-Ausgabe-Moduls zu rechtfertigen,
so daß in solchen Fällen die Peripheriegeräte den Zugang zum Speicher über die D^tenverarbeitungsmodule
erhalten, die dann als Eingabe-Ausgabe-Module arbeiten,
wenn sie Peripherieübertragungen handhaben.
209811/1275
Claims (1)
- Patentansprüche1. Programmunterbrechungsanordnung für eine Datenverarbeitungsanlage mit wenigstens einer Datenverarbeitungseinheit, einem Speicher mit wenigstens einem Speichermodul, wenigstens einer Peripherieeinheit und einer Verbindungseinrichtung für den Wechselverkehr zwischen dem Speicher und den Datenverarbeitungs- und Peripherieeinheiten, wobei in dem Speicher mehrere Maschinencodeprogramme und mehrere Steuerprogramme gespeichert sind, dadurch gekennzeichnet, daß der Speicher einen diskreten gemeinsamen Speicherbereich für die Speicherung einer Anzahl von Fnterbrechungsanforderungskennzeichnungsbits enthält, wobei die Anordnung so getroffen ist, daß ein diskretes Unterbrechungsanforderungskennzeichnungsbit markiert wird, wenn eine Datenverarbeitungs- oder Peripherieeinheit eine Systemunterbrechung benötigt, daß jede Datenverarbeitungseinheit mit einer periodisch betätigbaren Anordnung zur Sperrung der Operationen eines laufenden Programms und mit einer Anordnung zum Abfragen des Zustands der Bits in dem diskreten gemeinsamen Speicherbereich versehen ist, und daß bei Feststellung eines markierten Unterbrechungsanforderungskennzeichnungsbits eine Abfrageverarbeitungseinheit die Durchführung des gesperrten laufenden Programms aussetzt und die Durchführung eines der Steuerprogramme einleitet.2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Speicher mehrere zugeteilte örtliche Speicherbereiche enthält, von denen jeder einer der Datenverarbeitungseinheiten zugeordnet ist, daß jeder zugeteilte örtliche Speicherbereich eine Speicherung für eine Unterbrechungszulassungsbitmaske enthält,■**-■ . 21U051welche die Unterbrechungsanforderungen kennzeichnet, die jeweils für eine Datenverarbeitungseinheit zulässig sind, und daß die Abfrageverarbeitungseinheit mit einer Anordnung versehen ist, welche die Zustände der Unterbrechungsanforderungskennzeichnungsbits mit den Zuständen der Unterbrechungszulassungsbitsmaske in dem eigenen örtlichen Speicherbereich vergleicht, um festzustellen, ob irgendwelche der für die abfragende Datenverarbeitungseinheit gerade zulässigen Unterbrechungsanforderungskennzeichnungsbits markiert sind.3. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß jede Datenverarbeitungseinheit ein besonderes Register enthält, das für die Speicherung eines Unterbrechungszulassungsworts eingerichtet ist, daß die Abfrageverarbeitungseinheit eine Codegruppe berechnet, die einem der markierten zulässigen Unterbrechungsanforderungskennzeichnungsbits entspricht, und daß die Codegruppe in das besondere Register eingeschrieben wird.4. Anordnung nach Anspruch 3, dadurch gekennzeichnet, daß die Abfrageverarbeitungseinheit das der Codegruppe in dem besonderen Register entsprechende markierte Bit in dem diskreten gemeinsamen Speicherbereich löscht.5v Anordnung nach Anspruch 4, dadurch gekennzeichnet, daß die Abfrageverarbeitungseinheit für eine Periode, die mit der Sperrung der Operationen des laufenden Programms beginnt und unmittelbar nach der Löschung des zugelassenen markierten Unterbrechungsanforderungskennzeichnungsbits endet, ausschließlich mit dem Speichermodul verbunden ist, in welchem der diskrete-gemeinsame Speicherbereich liegt.209ÖÜ/127S6. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der örtliche Speicherbereich Informationen enthält, welche die Abfrageverarbeitungseinheit auf den Anfang eines Unterbrechungsdurchführungssteuerprogramms richten, das von der Abfrageverarbeitungseinheit nach dem Abladen der Parameter des ausgesetzten laufenden Programms eingeleitet wird.7. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß jede Datenverarbeitungseinheit mit zwei Zeitzählern versehen ist, daß der erste Zeitzähler so angeordnet ist, daß er Informationen liefert, welche eine Anzeige für die Zeitdauer sind, die für die Durchführung des laufenden Programms verbraucht worden ist, während der zweite Zeitzähler so ausgeführt ist, daß er Informationen liefert, die eine Anzeige für die Zeitdauer sind, die seit der Durchführung eines bestimmten Steuerprogramms verstrichen ist, und daß die Datenverarbeitungseinheiten erste und zweite innere Unterbrechungsanforderungsanzeigeeinrichtungen enthalten, die in den Anforderungszustand umgeschaltet werden, wenn der erste bzw. der zweite Zähler einen vorbestimmten Zählerstand erreicht.8. Anordnung nach Anspruch 7f dadurch gekennzeichnet, daß die beiden inneren Unterbrechungsanforderungsanzeigeeinrichtungen so ausgeführt sind, daß sie bei Umschaltung in den Anforderungszustand unmittelbar die Anordnung zur Sperrung der Operationen des laufenden Programms in Gang setzen.9» Anordnung nach Anspruch 8, dadurch gekennzeichnet, daß die Bits in dem diskreten gemeinsamen Speicherbereich20αβ11/1275aus dem Speicher entnommen und zusammen mit den Zuständen der beiden Unterbrechungsanforderungsanzeigeeinriehtungen in ein inneres Register in der Abfrageverarbeitungseinheit eingegeben werden.10. Anordnung nach Anspruch 9, dadurch gekennzeichnet, daß die Datenverarbeitungseinheiten jeweils mit einem Maskenregister versehen sind, in welches die zugehörige UnterbrechungBZulassungsbitmaske eingegeben wird, und daß in der Abfrageverarbeitungseinheit Anordnungen vorgesehen sind, welche die Information in dem inneren Register mit der Information in dem Maskenregister verknüpfen.11. Anordnung nach den Ansprüchen 3 und 10, dadurch gekennzeichnet, daß die Datenverarbeitungseinheiten Anordnungen zur Korrelation des Ergebnisses der Verknüpfung der Information des inneren Registers mit der Information des Maskenregisters enthalten, und daß das Ergebnis der Korrelation in das besondere Register eingeschrieben wird.12. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Codegruppe in dem besonderen Register zur Bestimmung der zugelassenenf Unterbrechungsanforderung bei der Durchführung des Unterbrechungsdurchführungssteuerprogramms verwendet wird.209811/1275Leerseite
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB4195170 | 1970-09-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2144051A1 true DE2144051A1 (de) | 1972-03-09 |
Family
ID=10422123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19712144051 Pending DE2144051A1 (de) | 1970-09-02 | 1971-09-02 | Programm Unterbrechungsanordnung für eine Datenverarbeitungsanlage |
Country Status (7)
Country | Link |
---|---|
US (1) | US3757307A (de) |
AU (1) | AU460058B2 (de) |
CA (1) | CA945264A (de) |
DE (1) | DE2144051A1 (de) |
GB (1) | GB1332797A (de) |
NL (1) | NL7111990A (de) |
ZA (1) | ZA715705B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2213540A1 (de) * | 1973-01-04 | 1974-08-02 | Int Standard Electric Corp |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4995548A (de) * | 1973-01-12 | 1974-09-10 | ||
US3969701A (en) * | 1973-04-09 | 1976-07-13 | Telefonaktiebolaget L M Ericsson | Function block oriented SPC system |
FR2253430A5 (de) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
FR2258113A5 (de) * | 1973-11-30 | 1975-08-08 | Honeywell Bull Soc Ind | |
US3974480A (en) * | 1974-05-08 | 1976-08-10 | Francois Gernelle | Data processing system, specially for real-time applications |
NL7411989A (nl) * | 1974-09-10 | 1976-03-12 | Philips Nv | Computersysteem met busstruktuur. |
US4010448A (en) * | 1974-10-30 | 1977-03-01 | Motorola, Inc. | Interrupt circuitry for microprocessor chip |
US4003028A (en) * | 1974-10-30 | 1977-01-11 | Motorola, Inc. | Interrupt circuitry for microprocessor chip |
US4037204A (en) * | 1974-10-30 | 1977-07-19 | Motorola, Inc. | Microprocessor interrupt logic |
US4117278A (en) * | 1977-09-19 | 1978-09-26 | Bell Telephone Laboratories, Incorporated | Service observing terminal |
US4315314A (en) * | 1977-12-30 | 1982-02-09 | Rca Corporation | Priority vectored interrupt having means to supply branch address directly |
US4268904A (en) * | 1978-02-15 | 1981-05-19 | Tokyo Shibaura Electric Co., Ltd. | Interruption control method for multiprocessor system |
US5781187A (en) * | 1994-05-31 | 1998-07-14 | Advanced Micro Devices, Inc. | Interrupt transmission via specialized bus cycle within a symmetrical multiprocessing system |
US6212593B1 (en) * | 1998-06-01 | 2001-04-03 | Advanced Micro Devices, Inc. | Method and apparatus for generating interrupts on a buffer by buffer basis in buffer descriptor ring direct memory access system |
US7979601B2 (en) * | 2008-08-05 | 2011-07-12 | Standard Microsystems Corporation | External direct memory access of embedded controller memory |
US8214390B2 (en) * | 2009-06-03 | 2012-07-03 | Yahoo! Inc. | Binary interest vector for better audience targeting |
-
1971
- 1971-08-24 GB GB4195170A patent/GB1332797A/en not_active Expired
- 1971-08-26 ZA ZA715705A patent/ZA715705B/xx unknown
- 1971-08-30 AU AU32871/71A patent/AU460058B2/en not_active Expired
- 1971-08-31 US US00176464A patent/US3757307A/en not_active Expired - Lifetime
- 1971-08-31 NL NL7111990A patent/NL7111990A/xx unknown
- 1971-08-31 CA CA121,816A patent/CA945264A/en not_active Expired
- 1971-09-02 DE DE19712144051 patent/DE2144051A1/de active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2213540A1 (de) * | 1973-01-04 | 1974-08-02 | Int Standard Electric Corp |
Also Published As
Publication number | Publication date |
---|---|
NL7111990A (de) | 1972-03-06 |
US3757307A (en) | 1973-09-04 |
CA945264A (en) | 1974-04-09 |
ZA715705B (en) | 1972-04-26 |
AU460058B2 (en) | 1975-04-17 |
GB1332797A (en) | 1973-10-03 |
AU3287171A (en) | 1973-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2645537C2 (de) | ||
DE2144051A1 (de) | Programm Unterbrechungsanordnung für eine Datenverarbeitungsanlage | |
DE3300260C2 (de) | ||
DE3300263C2 (de) | ||
DE2629459C2 (de) | ||
DE2847216C2 (de) | Datenverarbeitungsanlage mit Mehrprogrammbetrieb | |
DE2303596A1 (de) | Datenverarbeitungsanordnung | |
DE2953861C2 (de) | ||
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
CH619309A5 (de) | ||
DE2165767A1 (de) | Datenverarbeitungssystem | |
DE2359178A1 (de) | Speicheranordnung | |
DE1449532B2 (de) | Datenverarbeitungsanlage | |
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE2332734A1 (de) | Datenverarbeitungssystem | |
DE2717702A1 (de) | Speicher-zugriffs-steuersystem | |
CH615521A5 (de) | ||
DE1499182B2 (de) | Datenspeichersystem | |
DE1929010B2 (de) | Modular aufgebaute datenverarbeitungsanlage | |
DE1499206C3 (de) | Rechenanlage | |
DE19957594B4 (de) | Verfahren zum Synchronisieren von threads eines Computerprogramms | |
DE2912073A1 (de) | Stapelspeicheranordnung zur kurzzeitigen speicherung von informationen bei nichtabsetzbarkeit dieser informationen in einem datenverarbeitungssystem | |
DE1774053A1 (de) | Digitaldaten-UEbertragungssystem | |
DE2558417A1 (de) | Datenverarbeitungssystem | |
DE1774849C3 (de) | Adressierungseinrichtung für eine Speicherabschnittkette |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OHJ | Non-payment of the annual fee |