DE2144051A1 - Programm Unterbrechungsanordnung für eine Datenverarbeitungsanlage - Google Patents

Programm Unterbrechungsanordnung für eine Datenverarbeitungsanlage

Info

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
Application number
DE19712144051
Other languages
English (en)
Inventor
David Cockburn London; Cotton John Michael Windsor; OHalloran Michael Maidenhead; Berkshire; Trapnell Frederick Mackay London; Cosserat (Großbritannien)
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.)
Plessey Handel und Investments AG
Original Assignee
Plessey Handel und Investments AG
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 Plessey Handel und Investments AG filed Critical Plessey Handel und Investments AG
Publication of DE2144051A1 publication Critical patent/DE2144051A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit 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/54541Circuit 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/5455Multi-processor, parallelism, distributed systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit 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/54575Software application
    • H04Q3/54583Software development, e.g. procedural, object oriented, software generation, software testing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13057Object-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
SOOD Manchen 60, Erntbergeritrasie 19
PLESSEY HANDEL UND INVESTMENTS AG.
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
Allgemeine Beschreibung
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
Datenverarbeitungsmodal·
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.
Akkumulatorregistergruppe ACC STK
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).
Zugriffsart-/Endadressen-Gruppe TC/LMT STK
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.
Ergebnisregister RES REG
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.
Operandenregister OP REG
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.
Befehlsregister IR
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.
Mikroprogramm-Leitwerk uPROCr
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.
Rechenwerk MILL
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»
Datenver^leichsschaltung COMP
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.
Speicherdaten-Einganflsregister SDI REG
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 «Ο
Unterbreohungszustand-Abfrageauslöseschaltung ISIG
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.
Es soll nun die Punktion des Datenverarbeitungsmoduls bei der Durchführung einer Systemunterbrechungswort-Abfragung betrachtet werden.
209811/1275
Unterbrechungswort-Abfrageoperationen
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.
Schritt Sl - Zugriff zu IMW; Lesen
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.
Schritt S2 - Zugriff zu SIW; Lesen - Ändern
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.
Schritt S3 - Verknüpfe SIW & IMW
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.
Schritt S4 - Verknüpfungsergebnis = 0 ?
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.
Schritt S5 - SIW: wiedereinschreiben
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
Schritt S6 - Verknüpfungser%ebnis korrelieren
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.
Schritte S7 una S8
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.
Schritt S9 - SIVT wiedereinschreiben
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.
Schritt SlO - Parameter des laufenden Programms abladen
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.
Schritt S11 - Zugriff zu neuem Abladehinwei3t Lesen
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.
Befehl Q SVAP R
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.
Patentansprüche
209811/1275

Claims (1)

  1. Patentansprüche
    1. 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,
    ■**-■ . 21U051
    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.
    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ÖÜ/127S
    6. 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 Speicherbereich
    20αβ11/1275
    aus 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 zugelassenen
    f Unterbrechungsanforderung bei der Durchführung des Unterbrechungsdurchführungssteuerprogramms verwendet wird.
    209811/1275
    Leerseite
DE19712144051 1970-09-02 1971-09-02 Programm Unterbrechungsanordnung für eine Datenverarbeitungsanlage Pending DE2144051A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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