DE3146769C2 - - Google Patents

Info

Publication number
DE3146769C2
DE3146769C2 DE19813146769 DE3146769A DE3146769C2 DE 3146769 C2 DE3146769 C2 DE 3146769C2 DE 19813146769 DE19813146769 DE 19813146769 DE 3146769 A DE3146769 A DE 3146769A DE 3146769 C2 DE3146769 C2 DE 3146769C2
Authority
DE
Germany
Prior art keywords
input
output
unit
address
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE19813146769
Other languages
English (en)
Other versions
DE3146769A1 (de
Inventor
Valerij Leonidovic Dzchunian
Eduard Evgen'evic Ivanov
Sergej Savvic Kovalenko
Pavel Romanovic Masevic
Aleksej Alekseevic Moskva Su Ryzov
Vjaceslav Viktorovic Moskau/Moskva Su Telenkov
Jurij Egorovic Moskva Su Cicerin
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE19813146769 priority Critical patent/DE3146769A1/de
Publication of DE3146769A1 publication Critical patent/DE3146769A1/de
Application granted granted Critical
Publication of DE3146769C2 publication Critical patent/DE3146769C2/de
Granted 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

Die Erfindung betrifft ein Mehrrechnersystem nach dem Oberbegriff des Patentanspruchs 1.
Die Erfindung kann zum Bauen von Multiprozessor- und Multiprogrammrechnersystemen verwendet werden, bei denen sich der Verkehr bzw. Datenaustausch zwischen den Prozessoren mit hoher Intensität vollzieht. Sehr oft werden die Rechner­ systeme in Anlagen zur Steuerung von technologischen Pro­ zessen benutzt.
Bekannt ist ein Rechnersystem (US-PS 36 14 740), das eine Speichereinheit zur Speicherung von Programmen, Unterpro­ grammen, Unterbrechungsbehandlungsprogrammen und einen Pro­ zessor umfaßt, der die Ausführung einer Befehlsfolge über­ nimmt, die durch den Programmzähler festgelegt ist. Im Speicher des Systems gibt es einen freien Bereich für die Speicherung von Rücksprungadressen und ein Stapelanzeiger-Register. Tritt im Programm eine Unterbrechung auf, so steuert das Leitwerk des Prozessors die Speicherung des älteren In­ haltes des Befehlszählers und des Prozessorzustandsregisters im freien Speicherbereich und wählt einen neuen Inhalt des Befehlszählers und des Prozessorzustandsregisters aus zwei hintereinander angeordneten Speicherzellen unter Verwen­ dung eines Unterbrechnungsvektors aus.
Es gibt Rechnersysteme, bei denen die obenerwähnte Unterbrechungsorganisation angewendet wird. Der Übergang zu den Unterprogrammen und Programmen zur Behandlung von Unterbrechungen erleichtert die Programmierung und die Zusammenwirkung mit peripheren Geräten und ermöglicht die Organisation von internen Prozeduren zur Unterbrechungsver­ arbeitung.
Es gibt auch ein Rechnersystem, das zur Lösung eines Stromes von Aufgaben ("Multiprocessing adds muscle to MPS, Elektronic Design, Nr. II, May 24, 1978, S. 238-244) bestimmt ist. Dieses bekannte Rechnersystem enthält folgende, an eine Datenadreß- und Steuersignalleitung angeschlossene Funk­ tionseinheiten: Mindestens zwei Prozessoren zur Datenver­ arbeitung, eine Speichereinheit zur Speicherung von Program­ men und Daten, ein Ein-/Ausgabegerät.
Im gegebenen Fall stellt die Datenadreß- und Steuer­ signalleitung eine für mindestens zwei Prozessoren gemein­ same Schiene zur Übertragung von Datenadressen- und Steuer­ signalen dar. Jeder Prozessor des Rechnersystems umfaßt eine Arithmetik-Logik-Einheit, die arithmetische und logische Operationen während der Datenverarbeitung ausführt, einen Schnellspeicher zur Speicherung von während der Datenver­ arbeitung erhaltenen Zwischenresultaten, ein Interface, das über die Datenadreß- und Steuersignalleitung die Zusammen­ wirkung des Prozessors mit der Speichereinheit, dem Ein-/ Ausgabegerät und den anderen Prozessoren sichert, ein Pro­ zessorzustandsregister zur Speicherung des laufenden Pro­ zessorzustandswortes und ein Leitwerk, das die Erzeugung von Steuersignalen übernimmt, durch welche die genannten Einheiten, der Prozessor und das Register für den während der Datenverarbeitung herrschenden Zustandes des Prozessors gesteuert werden, wobei diese Funktionseinheiten über den internen Prozessor-Datenbus untereinander verbunden sind. Der erste Steuereingang des Leitwerkes steht mit den Steuer­ eingängen der Arithmetik-Logik-Einheit, des Schnellspeichers, des Interfaces und des Prozessorzustandsregisters in Verbin­ dung. Der Ein-/Ausgang der Arithmetik-Logik-Einheit ist mit dem Ein-/Ausgang des Prozessorzustandsregisters verbunden. Der Ausgang des Prozessorzustandsregisters ist an den ersten Eingang des Leitwerkes geschaltet. Der Ein-/Ausgang des In­ terfaces ist an die Datenadreß- und Steuersignalleitung an­ geschlossen. Der Prozessor enthält auch einen internen Takt­ impulsgeber, der mit den Eingängen des Interfaces und des Leitwerkes in Verbindung steht. Außerdem ist ein Akkumulator vorhanden, der an den internen Prozessor-Datenbus ange­ schlossen ist.
Das Interface umfaßt ein Adressenregister, ein Zwei­ weg-Pufferelement und eine Synchronisierungseinheit.
Der Verkehr bzw. Datenaustausch zwischen den Prozessoren erfolgt in die­ sem System unter Verwendung von solchen Befehlen wie "test and set", die ununterbrochen ausgeführt werden. Durch diese Befehle wird der Zustand einer ausgewählten Speicherzelle überprüft, die "Signal" oder "Postkasten" genannt wird. Zum Zeitpunkt, wo sich im "Postkasten" eine Nachricht darüber befindet, daß ein bestimmtes Programm abzuarbeiten ist, be­ ginnt der Prozessor, der diese Nachricht empfangen hat, mit der Ausführung des Programms und sendet eine weitere Nach­ richt, daß er zur Ausführung des Programms überging. Um mögliche Konfliktsituationen zu vermeiden, muß die Überprüfung und die Einstellung eines neuen Wertes in den "Postkasten" un­ unterbrochen vorgenommen werden. Die beschriebene Organisa­ tion des Rechenvorganges nimmt für das Durchsuchen der aus­ gewählten Speicherzellen viel Zeit in Anspruch, was die Lei­ stungsfähigkeit des Systems vermindert. Darüber hinaus wird die Software des Systems komplizierter, weil auf programmier­ tem Wege Warteschlangen von zusammenwirkenden Programmen zusätzlich gebildet werden müssen.
Ein Mehrrechnersystem, bei dem wenigstens zwischen zwei Prozessoren die anstehende Datenverarbeitung auf­ geteilt wird und bei der jeder der Prozessoren mindestens eine Arithmetik-Logik-Einheit, einen Speicher, ein Befehlswerk und ein Interface aufweist, ist durch Electronics, February 14, 1980, S. 166-170, bekannt­ geworden. Bei dieser Anlage hat auch jeder Prozessor zudem eine Unterbrechungssteuerung ("interrupt control"), die jedoch im Gegensatz zur vorliegenden Erfindung nach einem zeitaufwendigen Prioritätsschema erst die Rangfolge prüft und untersucht, welcher der Prozessoren auf den Unterbrechungsanruf hin tätig werden soll.
Ein weiteres Beispiel einer solchen Unterbrechungs­ steuerung ist durch die Firmendruckschrift der Fa. Intel, The 8086 Family User's Manual, October 1979, S. B-106 bis B-109, bekanntgeworden. Auch bei der somit bekanntgewordenen Mehrrechner-Anordnung wird im Gegensatz zur vorliegenden Erfindung nicht von einer speziellen Adressenunterbrechungseinheit Gebrauch gemacht, durch die im Unterbrechungsfall sofort die erforderlichen Befehlsadressen bereitgestellt werden können.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein Mehrrechnersystem zu schaffen, bei dem durch eine verbesserte Adressenunterbrechungseinheit, die den Verkehr zwischen den Prozessoren steuert, die Verarbeitungsge­ schwindigkeit gesteigert und die zum Datenaustausch notwendige Software vereinfacht wird.
Gelöst wird diese Aufgabe durch die im kennzeichnenden Teil des Patentanspruchs 1 angegebenen Merkmale. Eine zweckmäßige Weiterbildung und Ausgestaltung der Erfindung ist im Unteranspruch angegeben.
Erfindungsgemäß ermöglicht die in jedem Prozessor des Mehrrechnersystems vorgesehene Adressenunterbrechungseinheit eine Steigerung der Leistung des Systems dadurch, daß auf unergiebiges Durchsuchen der Speicherzellen verzichtet wird. Außerdem wird die Programmierung des Verkehrs zwischen den Prozessoren im System vereinfacht. Zur Organisation des Verkehrs zwischen den Prozessoren wird ein einheitlicher Mechanismus der Datenübertragung mit Hil­ fe von Übertragungsleitungen für Datenadressen- und Steuer­ signale herangezogen, was mit verhältnismäßig kleinem gerätetech­ nischem Aufwand verwirklicht werden kann.
Nachstehend wird die Erfindung an Hand eines konkre­ ten Ausführungsbeispiels unter Bezugnahme auf die Zeichnungen näher erläutert. Es zeigt
Fig. 1 - ein Gesamtschema eines Mehrrechnersystems;
Fig. 2 - ein Strukturschema eines Prozessors, der bei der Erfindung angewendet wird;
Fig. 3 - ein Funktionsschema einer Adressenunterbrechungs­ einheit nach der Erfindung;
Fig. 4 - ein Funktionsschema eines Leitwerkes gemäß der Erfindung;
Fig. 5 - ein Funktionsschema eines Baugliedes zur Schreibimpulserzeugung gemäß der Erfindung.
Das Mehrrechnersystem zur Lösung einer Reihe bzw. eines Stromes von Aufga­ ben enthält mindestens zwei Prozessoren 1 (Fig. 1), die zur Datenverarbeitung bestimmt sind, eine Speichereinheit 2 zur Speicherung von Programmen und Daten, ein Ein-/Ausgabegerät 3, welche untereinander über eine Datenadreß- und Steuer­ signalleitung 4 verbunden sind. Im einfachsten Fall kann als Leitung 4 eine Sammelleitung zur Übertragung von Daten­ adressen- und Steuersignalen verwendet werden. Dabei umfaßt jeder Prozessor 1 des Rechensystems eine Arithmetik-Logik­ einheit 5 (Fig. 2), ein Leitwerk 6, einen Schnellspeicher 7, dem ein Befehlszähler, Indexregister und Zwischenergebnis­ register (nicht gezeigt) zugeordnet sind, ein Interface bzw. eine Schnittstelle 8 und ein Prozessorzustandsregister 9, welche untereinander über einen internen Prozessor-Datenbus 10 verbunden sind. Der erste Steuerausgang 11 des Leitwerkes 6 liegt an den Steuereingängen der Arithmetik-Logik-Einheit 5, des Schnell­ speichers 7, des Interfaces 8 und des Prozessorzustands­ registers 9. Der Ein-/Ausgang 12 des Registers 9 ist mit dem Ein-/Ausgang der Arithmetik-Logik-Einheit 5 verbunden, während der Ausgang 13 des Registers 9 an den ersten Ein­ gang des Leitwerkes 6 angeschlossen ist. Der Ein-/Ausgang 14 des Interfaces 8 ist mit der Datenadreß- und Steuersi­ gnalleitung 4 verbunden.
Der Prozessor 1 ist zusätzlich mit einer Adressen­ unterbrechungseinheit 15 versehen. Der Ein-/Ausgang 16 der Einheit 15 ist an die Leitung 4 geschaltet. Der erste Aus­ gang der Adressenunterbrechungseinheit 15 ist an einen in­ ternen Prozessor-Datenbus 10 angeschlossen, ihr zweiter Ausgang 17 steht mit dem zweiten Eingang des Leitwerkes 6 in Verbindung, dessen zweiter Steuerausgang am Eingang 18 der Adressenunterbrechungseinheit 15 liegt. Die Arithmetik- Logik-Einheit 5 führt arithmetische und logische Operationen während der Datenverarbeitung aus. Der Schnellspeicher 7 ist zur Speicherung von Zwischenergebnissen im Laufe der Datenverarbeitung bestimmt. Im Prozessorzustandsregister 9 wird ein laufendes Zustandswort für den Prozessor 1 aufbe­ wahrt. Das Leitwerk 6 bildet Steuersignale, durch die die Arithmetik-Logik-Einheit 5, der Schnellspeicher 7, das Inter­ face 8 und das Prozessorzustandsregister 9 im Laufe der Da­ tenverarbeitung gesteuert werden. Das Interface 8 stellt über die Datenadreß- und Steuersignalleitung 4 die Zusammen­ wirkung des Prozessors 1 mit der Steuereinheit 2, dem Ein-/ Ausgabegerät 3 und den anderen Prozessoren sicher.
Die Adressenunterbrechungseinheit 15 (Fig. 3) umfaßt eine Gruppe 19 von Unterbrechungsvektorregistern, wobei die Eingänge jedes der Unterbrechungsvektorregister 20 an den Ein-/Ausgang 16 der Adressenunterbrechungseinheit 15 ange­ schlossen sind. Die Ausgänge 21 jedes der Register 20 stehen mit dem ersten Ausgang 10 der Adressenunterbrechungseinheit 15 in Verbindung. Der erste und der zweite Steuereingang jedes der Register 20 der Gruppe 19 sind jeweils an die Ausgänge 22, 23 jedes der UND-Glieder 24, 25 der ersten und der zweiten Gruppe 26 bzw. 27 angeschlossen. Die Ausgänge 22, 23 jedes der UND-Glieder 24, 25 der ersten und der zweiten Gruppe 26 bzw. 27 von UND-Gliedern sind an den ersten bzw. den zweiten Eingang des Zustandsregisters 28 geschaltet, das einen Paraphasensignalausgang besitzt. Der erste Ausgang 29 des Zustandsregisters 28 für die Einheit 15 ist an die Eingänge einer ersten Vorrangschaltung 30, eines ODER-Glie­ des 31 und eines UND-Gliedes 32 angeschlossen. Der zweite Ausgang 33 des Zustandsregisters 28 für die Einheit 15 ist mit dem Eingang einer zweiten Vorrangschaltung 34 verbun­ den. Die Ausgänge 35, 36 der ersten und zweiten Vorrang­ schaltungen 30 bzw. 34 sind mit den ersten Eingängen jedes der UND-Glieder 24, 25 der ersten und der zweiten Gruppe 26 bzw. 27 verbunden. Die zweiten Eingänge jedes der UND- Glieder 24 der ersten Gruppe 26 sind an den Eingang 18 der Adressenunterbrechungseinheit 15 angeschlossen. Der Aus­ gang des ODER-Gliedes 31 steht mit dem zweiten Ausgang 17 der Adressenunterbrechungseinheit 15 in Verbindung. Die zweiten Eingänge jedes der UND-Glieder 25 der Gruppe 27 sind mit dem Ausgang 37 eines Baugliedes 38 zur Schreibim­ pulserzeugung verbunden. Der erste Eingang 39 des Bauglie­ des 38 ist an den Ausgang des UND-Gliedes 32 und der zweite Eingang 40 an den Ausgang eines Adressendecoders 41 ange­ schlossen, wobei dessen Eingang und der Ein-/Ausgang des Bauglie­ des 38 mit dem Ein-/Ausgang 16 der Adressenunterbrechungs­ einheit 15 in Verbindung stehen.
Das Leitwerk 6 (siehe Fig. 4) umfaßt einen Mikroprogrammspeicher 42, der als programmierbare logische Matrix ausgeführt ist, und ein Befehlsregister 43. Der Eingang des Registers 43 ist mit dem internen Prozessor-Datenbus 10 verbunden, während der Ausgang 44 dieses Registers an den ersten Eingang des Mikroprogrammspeichers angeschlossen ist. Der erste Aus­ gang des Mikroprogrammspeichers ist mit dem Eingang 45 des Mikrobefehlsregisters 46 verbunden, dessen Ausgang 47 mit dem ersten Steuerausgang 11 und dem zweiten Steuerausgang des Leitwerkes 6 in Verbindung steht. Der zweite Ausgang 48 des Mikroprogrammspeichers 42 ist mit dem Eingang eines Adressenregisters 49 für den darauffolgenden Mikrobefehl verbunden, dessen Ausgang 50 am Eingang des Adressenregi­ sters 51 für den laufenden Mikrobefehl liegt. Der Ausgang des Adressenregisters 51 für den laufenden Mikrobefehl ist mit dem zweiten Eingang 52 des Mikroprogrammspeichers 42 verbunden. Der dritte und der vierte Eingang 53 bzw. 54 des Mikroprogrammspeichers 42 sind jeweils an den ersten und den zweiten Eingang des Leitwerkes 6 geschaltet.
Das Bauglied 38 (Fig. 5) zur Schreibimpulserzeugung enthält einen monostabilen Multivibrator 55, der aus einer Verzögerungs­ schaltung 56 und einem Inverter 57, deren Eingänge an den Eingang 58 des monostabilen Multivibrators 55 und deren Ausgänge jeweils an den ersten und den zweiten Eingang 59 bzw. 60 des NOR- Gliedes 61 angeschlossen sind, besteht. Der Ausgang des NOR-Gliedes 61 bildet einen Ausgang 62 für den monostabilen Multivibrator 55. Der Eingang 58 des monostabilen Multivibrators 55 steht mit dem Ein-/Ausgang des Baugliedes 38 in Verbindung. Der Ausgang 62 des monostabilen Multivibrators 55 ist mit den ersten Eingängen des ersten und des zweiten UND-Gliedes 63 bzw. 64 verbunden, deren zweite Eingänge an den zweiten Eingang 40 des Baugliedes 38 angeschlossen sind. Der erste Eingang 39 des letzteren ist mit dem dritten Eingang des zweiten UND-Gliedes 64 und dem Eingang des Inverters 65 verbunden. Der Ausgang 66 des Inverters 65 steht mit dem dritten Eingang des ersten UND- Gliedes 63 in Verbindung. Der Ausgang 67 des zweiten UND- Gliedes 64 ist mit dem Ein-/Ausgang des Baugliedes 38 zur Schreibimpulserzeugung verbunden, wobei der Ausgang des ersten UND-Gliedes 63 mit dem Ausgang 37 des Baugliedes 38 und dem ersten Eingang 68 des Flipflops 69 in Verbindung steht. Der Ausgang 70 und der Eingang 71 des Flipflops 69 sind an den Ein-/Ausgang des Baugliedes 38 zur Schreibim­ pulserzeugung angeschlossen.
Das erfindungsgemäße Mehrrechnersystem ist für den Multi­ programmbetrieb geeignet. Die Prozessoren 1 (Fig. 2) des Systems bearbeiten eine Reihe bzw. einen Strom von Aufgaben. Program­ me und Daten für jede Aufgabe werden in die Speichereinheit über das Ein-/Ausgabegerät 3 eingegeben und der Informations­ austausch innerhalb des Systems vollzieht sich über die Datenadreß- und Steuersignalleitung 4. Um dabei ein belie­ biges Programm mittels eines beliebigen der Prozessoren 1 ausführen zu können, ist jedem Programm ein Kopfsatz zuge­ ordnet, in dem alle nötigen Informationen zur Ausführung des Programms angegeben sind. Insbesondere werden im Kopf­ satz Informationen über den Anfangswert des Befehlszählers, den Anfangswert des Prozessorzustandsregisters 9 (Fig. 2) und den Anfangswert des Schnellspeichers gespeichert. Im Kopfsatz des Programms wird ein gewisses Feld zur Organisa­ tion von internen Prozeduren reserviert. Außer den Pro­ grammen und ihren Kopfsätzen wird in der Speichereinheit 2 (Fig. 1) ein Block von Bezugnahmen auf die angegebenen Kopf­ sätze gespeichert. Der Verkehr zwischen den Prozessoren 1 im vorliegenden Rechensystem erfolgt mittels vektorieller Unterbrechungen. Diese werden durch Übertragung eines Unter­ brechungsvektors über die Datenadreß- und Steuersignallei­ tung 4 zur Adressenunterbrechungseinheit 15 (Fig. 2) reali­ siert. Die Adressenunterbrechungseinheit 15 des Prozessors, in die der Unterbrechungsvektor eingetragen ist, erzeugt an ihrem Ausgang 17 ein Signal, das die Notwendigkeit einer Unterbrechung angibt. Dieses Signal wird an den zweiten Eingang des Leitwerkes 6 übermittelt, das eine gewünschte Folge von Steuersignalen liefert, wenn zu diesem Zeitpunkt der im Prozessorzustandsregister 9 gespeicherte Zustand des Prozessors 1 eine Unterbrechung ermöglicht. Anderenfalls wird die Unterbrechung so lange unterbunden, bis der Zustand des Prozessors 1 verändert wird. Die Un­ terbrechungsprozedur beinhaltet die Bildung eines laufenden Kopfsatzes des auszuführenden Programms, wozu in den Bereich des Kopfsatzes der laufende Zustand des Schnellspeichers des Prozessors 1 und des Prozessorzustandsregisters 9 eingetra­ gen wird. Dann wird durch das Leitwerk 6 ein Signal am Aus­ gang 18 der Adressenunterbrechungseinheit 15 erzeugt, durch das die Übermittlung des Unterbrechungsvektors an den inter­ nen Prozessor-Datenbus 10 gesteuert wird. Der Unterbrechungs­ vektor wird als Adresse der Bezugnahme auf den Kopfsatz ei­ nes neuen Programms benutzt. Unter Verwendung der Bezug­ nahme stellt dann der Prozessor 1 nach dem Kopfsatz des Programms einen neuen Wert im Prozessorzustandsregister 9 ein, füllt den Schnellspeicher 7 mit einem neuen Inhalt und trägt im Kopfsatz des neuen Programms in den reservierten Speicherbereich eine Bezugnahme auf den Kopfsatz des unter­ brochenen Programms ein. Nach der Ausführung des neuen Pro­ gramms benutzt der Prozessor 1 diese Bezugnahme für den Rück­ sprung zum unterbrochenen Programm. Auf solche Weise wird die Organisation interner Prozeduren realisiert.
Die Steuerung des Informationsaustausches sowie die Modifikation von Speicheradressen und die Ausführung des Programms erfolgen durch die Zusammenarbeit der Arith­ metik-Logik-Einheit 5, des Interfaces 8, des Schnellspei­ chers 7 und des Prozessorzustandsregisters 9 unter Einwir­ kung der vom Leitwerk 6 eintreffenden Signale.
Zur Erfüllung ihrer Funktionen weist die Adressen­ unterbrechungseinheit 15 (Fig. 3) eine Gruppe von Unterbre­ chungsvektorregistern auf, in die Unterbrechungsvektoren eingetragen werden. Die Anzahl an Unterbrechungsvektorregi­ stern 20 in der obengenannten Gruppe 19 richtet sich nach der Intensität des Unterbrechungsstromes und muß gleich mindestens eins sein. Bei der konkreten Ausführungsform der Erfindung wird angenommen, daß die Anzahl an Unterbrechungs­ vektorregistern 20 in der Gruppe 19 und die Anzahl von UND-Glie­ dern 24, 25 in der ersten und der zweiten Gruppe 26, 27 gleich drei ist. Die Registerlänge des Zustandsregisters 28 für die Adressenunterbrechungseinheit ist ebenfalls gleich drei.
Das Bauglied 38 zur Schreibimpulserzeugung erzeugt unter Verwendung der über die Leitung 4 (Fig. 2) übertrage­ nen Steuersignale einen Impuls an seinem Ausgang 37 (Fig. 3), wenn am Ausgang des Adressendecoders ein Signal vorhanden ist, das angibt, daß die zu übertragende Adresse eine solche ist, die der Adressenunterbrechungseinheit 15 zugeteilt ist. Der Impuls gelangt an die Eingänge der UND-Glieder 25 der zweiten Gruppe 27. Am Ausgang eines der UND-Glieder 25 der zweiten Gruppe wird ein Schreibimpuls zum Einschreiben der Unterbrechungsvektoren ins Register 20 erzeugt. Zur gleichen Zeit wird die dem gegebenen Register 20 entsprechende Bit­ stelle des Zustandsregisters 28 für die Adressenunterbre­ chungseinheit 15 in den Eins-Zustand eingestellt. Durch die erste Vorrangschaltung 30 wird das höchstwertige Register 20 zugeteilt, in das die Eintragung des Unterbrechungsvek­ tors vorgenommen ist. Die zweite Vorrangschaltung wählt ein höherwertiges Register 20 aus, in das noch keine Eintragung des Unterbrechungsvektors vorgenommen ist. Dazu wird dem Eingang der ersten Vorrangschaltung 30 ein Signal vom ersten Ausgang 29 des Zustandsregisters 28 für die Adressenunter­ brechungseinheit 15 und dem Eingang der zweiten Vorrang­ schaltung 34 ein Signal vom zweiten Ausgang 33 des Zustands­ registers für die Einheit 15 zugeführt. Das am Eingang 18 der Einheit 15 liegende Signal gelangt zu den Eingängen der UND-Glieder 24 der ersten Gruppe 26 und ruft die Über­ tragung der Information eines der Register 20 der Gruppe 19 zum ersten Ausgang der Adressenunterbrechungseinheit 15 hervor.
Dabei wird die dem gegebenen Register 20 entsprechen­ de Bitstelle des Zustandsregisters 28 für die Adressenunter­ brechungseinheit 15 in den Null-Zustand gebracht, so daß das Register 20 der Gruppe 19 zu einer neuen Eintragung frei wird. Das Vorliegen mindestens einer Eins im Zustands­ register 28 der Einheit 15 ruft das Erscheinen eines Eins- Signals am Ausgang des ODER-Gliedes 31 hervor, das an den zweiten Ausgang 17 der Adressenunterbrechungseinheit 15 übermittelt wird und die Notwendigkeit einer Unterbrechung angibt. Ist das Zustandsregister 28 für die Einheit 15 mit allen Einsen belegt, dann wird am Ausgang des UND-Gliedes 32 ein Eins-Signal erzeugt, durch das der Algorithmus der Arbeitsweise des Baugliedes 38 zur Erzeugung eines Schreib­ impulses verändert wird, und zwar wird kein Schreibimpuls, sondern ein Signal formiert, durch das angezeigt wird, daß alle Register 20 der Gruppe 19 belegt sind.
Das Bauglied 38 (Fig. 5) zur Schreibimpulserzeugung arbeitet wie folgt. Nachdem von der Leitung 4 ein Si­ gnal zum monostabilen Multivibrator 55 eingetroffen ist, erzeugt dieser einen Impuls, der die Richtigkeit der zu übertragenden Information anzeigt. Im Anfangszustand, in dem am Eingang 58 des monostabilen Multivibrators 55 ein der logischen Null entsprechendes Si­ gnal anliegt, wird am zweiten Eingang 60 des NOR-Gliedes 61 eine logische Eins vom Inverter 57 und am Ausgang des NOR-Glie­ des 61 das Signal einer logischen Null erzeugt, wobei am Ausgang der Verzögerungsschaltung 56 ein Signal eingestellt wird, das einer logischen Null entspricht. Nachdem das Eins- Signal am Eingang 58 des monostabilen Multivibrators 55 angekommen ist, wird am Ausgang des Inverters 57 das Signal einer logi­ schen Null gebildet, wobei am Ausgang der Verzögerungs­ schaltung 56 der vorherige Zustand der logischen Null er­ halten bleibt und am Ausgang des NOR-Gliedes 61 eine lo­ gische Eins erzeugt wird. Das Eins-Signal vom Ausgang der Verzögerungsschaltung 56 trifft am zweiten Eingang 59 des NOR-Gliedes 61 ein, an dessen Ausgang die logische Null wiedereingestellt wird. Auf solche Weise wird ein Impuls erzeugt, dessen Zeitdauer gleich der Verzögerungszeit des Signals für dessen Durchgang durch die Verzögerungsschal­ tung 56 ist. Dieser Impuls gelangt an die ersten Eingänge der zwei Glieder 63, 64, deren zweiten Eingängen ein Signal vom Ausgang des Adressendecoders 41 (Fig. 3) zugeführt wird. Nimmt nun das Signal am zweiten Eingang des Baugliedes 38 zur Schreibimpulserzeugung den Null-Wert an, so passiert der Impuls das erste UND-Glied 63 (Fig. 5); beim Eins-Wert aber wird er durch das zweite UND-Glied 64 durchgeleitet.
Der Impuls vom Ausgang des ersten UND-Gliedes 63 wird an den Eingang 37 des Baugliedes 38 und den ersten Eingang des Flipflops 69 übermittelt, so daß dieses in den Eins- Zustand gesetzt wird. Das Signal vom Ausgang 70 des Flip­ flops 69 ist ein solches, das den Empfang des Unterbre­ chungsvektors in der Adressenunterbrechungseinheit bestä­ tigt. Nachdem der Informationsaustausch über die Daten­ adreß- und Steuersignalleitung 4 zum Abschluß gekommen ist, wird das Flipflop 69 (Fig. 5) in den Ausgangszustand durch das an seinem zweiten Eingang 71 liegende Signal zurück­ gestellt. Der Impuls am Ausgang 67 des zweiten UND-Gliedes 64 wird zur Anzeige der Belegung aller Register 20 (Fig. 3) der Gruppe 19 benutzt. In diesem Falle muß vom den Unter­ brechungsvektor übertragenden Prozessor 1 (Fig. 1) die Ein­ tragung nach Ablauf einer gewissen Zeit wiederholt werden. Somit wird vermieden, daß eine Unterbrechung, wenn sie noch nicht verarbeitet ist, bei wiederholter Eintragung des Un­ terbrechungsvektors ins Register 20 (Fig. 3) der Gruppe 19 verlorengeht.
Das Leitwerk 6 (Fig. 4) erzeugt eine Reihenfolge von Steuersignalen an seinen Steuereingängen in Übereinstimmung mit einem Mikroprogramm, das im Mikroprogrammspeicher 42 gespeichert wird. Jeder nächste Mikrobefehl wird dabei aus dem Mikroprogrammspeicher entsprechend einem über den inter­ nen Prozessor-Datenbus 10 eintreffenden und im Befehls­ register 43 gespeicherten Befehl sowie entsprechend einer Information über den Zustand des Prozessors ausgewählt, die im Prozessorzustandsregister 9 (Fig. 2) gespeichert und an den dritten Eingang 53 (Fig. 4) des Mikroprogrammspei­ chers 42 übermittelt wird. Der Mikrobefehl wird auch ent­ sprechend einem an dessen viertem Eingang 54 des Mikropro­ grammspeichers 42 eintreffenden Unterbrechungssignal und einer ins Register 51 für die laufende Mikrobefehlsadresse eingetragenen Information ausgewählt.
Als Ausgangsinformation des Mikroprogrammspeichers 42 werden ein Mikrobefehl, der im Mikrobefehlsregister 46 ein­ getragen und an den ersten Steuereingang 11 und den zweiten Steuereingang des Leitwerkes 6 übermittelt wird, und eine Adresse des nächsten Mikrobefehls benutzt, die im Adreß­ register 49 für den nächsten Mikrobefehl zwischengespei­ chert und dann ins Adressenregister 51 für den laufenden Mikrobefehl umgeschrieben wird. Auf solche Weise erfolgt die Verkettung der einzelnen Mikrobefehle zu einem Mikro­ programm.
Das Vorhandensein des Unterbrechungssignals am vier­ ten Eingang des Mikroprogrammspeichers 42 ermöglicht den Abruf eines Unterbrechungsmikroprogramms. Dieses Mikropro­ gramm beinhaltet die Übertragung des Unterbrechungsvektors von der Adressenunterbrechungseinheit 15 (Fig. 2) über den internen Prozessor-Datenbus 10, wozu am zweiten Ausgang des Leitwerkes 6 ein Eins-Signal erzeugt wird.
Somit ermöglicht die vorliegende Erfindung eine Stei­ gerung der Leistung des Mehrrechnersystems dadurch, daß auf un­ ergiebiges Durchsuchen der Speicherzellen verzichtet wird. Außerdem wird die Programmierung des Verkehrs zwischen den Prozessoren im System vereinfacht. Ferner wird im System zur Organisation des Verkehrs zwischen den Prozessoren ein einheitlicher Mechanismus der Datenübertra­ gung mit Hilfe einer Datenadreß- und Steuersignalleitung benutzt, was einen verhältnismäßig kleinen gerätetechnischen Auf­ wand erfordert.

Claims (6)

1. Mehrrechnersystem mit folgenden, an eine Daten-Adreß- und Steuersignalleitung angeschlossenen Funktionseinheiten:
  • - mindestens zwei Prozessoren, die Daten verarbeiten,
  • - einer Speichereinheit, die Programme und Daten spei­ chert und
  • - einem Ein- und Ausgabegerät,
wobei jeder Prozessor folgende über einen internen Prozes­ sordatenbus untereinander verbundene Einheiten umfaßt:
  • - eine Arithmetik-Logikeinheit, die arithmetische und logische Operationen während der Datenverarbeitung ausführt,
  • - einen Schnellspeicher, der während der Datenverarbei­ tung erhaltene Zwischenergebnisse speichert,
  • - ein Prozessorzustandsregister, das ein laufendes Prozes­ sorzustandswort speichert,
  • - ein Interface, das über die Daten-Adreß- und Steuer­ leitung das Zusammenwirken jedes Prozessors mit der Speichereinheit, dem Ein- und Ausgabegerät und den anderen Prozessoren gewährleistet,
  • - eine Steuereinheit, die Steuersignale zur Steuerung der Arithmetik-Logikeinheit, des Schnellspeichers, der Interface-Einheit und des Prozessorzustandsregisters während der Datenverarbeitung erzeugt, und
  • - eine Adressenunterbrechungseinheit, die ein vom Prozes­ sor auszuführendes Programm unterbricht und Mittel zur Speicherzellenadressierung verwendet,
und wobei die Einheiten jedes Prozessors in folgender Weise miteinander verbunden sind:
  • - der erste Steuerausgang der Steuereinheit mit den Steuereingängen der Arithmetik-Logikeinheit, des Schnellspeichers, der Interface-Einheit und des Prozessorzustandsregisters,
  • - der Ein/Ausgang der Arithmetik-Logikeinheit mit dem Ein/Ausgang des Prozessorzustandsregisters,
  • - der Ausgang des Prozessorzustandsregisters mit dem ersten Eingang der Steuereinheit,
  • - der Ein/Ausgang der Interface-Einheit mit der Daten­ adreß- und Steuersignalübertragungsleitung,
  • - der Ein/Ausgang der Adressenunterbrechungseinheit mit der Daten-Adreß- und Steuersignalleitung,
  • - der erste Ausgang der Adressenunterbrechungseinheit mit dem internen Prozessordatenbus,
  • - der zweite Ausgang der Adressenunterbrechungseinheit mit dem zweiten Eingang der Steuereinheit, und
  • - der zweite Steuerausgang der Steuereinheit mit dem Eingang der Adressenunterbrechungseinheit,
dadurch gekennzeichnet, daß die Adressenunterbrechungseinheit (15) enthält:
  • - eine Gruppe (19) von Unterbrechungsvektorregistern (20) mit jeweils
    • - einem Dateneingang,
    • - einem Datenausgang (21) und
    • - einem ersten und einem zweiten Steuereingang,
  • - eine erste Gruppe (26) von UND-Gliedern (24), mit
    • - Ausgängen (22) und
    • - ersten und zweiten Eingängen,
  • - eine zweite Gruppe (27) von UND-Gliedern (25), mit
    • - Ausgängen (23) und
    • - ersten und zweiten Eingängen,
  • - eine erste Vorrangschaltung (30) mit
    • - einem Eingang und
    • - einem Ausgang (35),
  • - eine zweite Vorrangschaltung (34) mit
    • - einem Eingang und
    • - einem Ausgang (36),
  • - ein einzelnes UND-Glied (32),
  • - ein einzelnes ODER-Glied (31),
  • - ein Zustandsregister (28) mit
    • - einem ersten und zweiten Eingang und
    • - einem ersten und zweiten Ausgang (29, 33),
  • - ein Bauglied (38) zur Schreibimpulserzeugung mit
    • - einem ersten Eingang (39),
    • - einem zweiten Eingang (40),
    • - einem Ausgang (37) und
    • - einem Ein/Ausgang,
wobei die Elemente der Adressenunterbrechungseinheiten in folgender Weise miteinander verbunden sind:
  • - der Dateneingang jedes Unterbrechungsvektorregisters (20) mit dem Ein/Ausgang (16) der Adressenunterbre­ chungseinheit (15),
  • - der Datenausgang (21) jedes Unterbrechungsvektor­ registers (20) mit dem internen Prozessor-Datenbus (10),
  • - die Ausgänge (22) der UND-Glieder (24) jeweils mit den ersten Steuereingängen jedes Unterbrechungsvektorregi­ sters (20),
  • - die Ausgänge (23) der UND-Glieder (25) jeweils mit den zweiten Steuereingängen jedes Unterbrechungsvektorregi­ sters (20),
  • - der Ausgang (35) der ersten Vorrangschaltung (30) mit den ersten Eingängen der UND-Glieder (24),
  • - der Ausgang (36) der zweiten Vorrangschaltung (34) mit den ersten Eingängen der UND-Glieder (25),
  • - die zweiten Eingänge der UND-Glieder (24) mit dem Eingang (18) der Adressenunterbrechungseinheit (15),
  • - der erste Eingang des Zustandsregisters (28) mit den Ausgängen (22) der UND-Glieder (24),
  • - der zweite Eingang des Zustandsregisters (28) mit den Ausgängen (23) der UND-Glieder (25),
  • - der erste Ausgang (29) des Zustandsregisters (28) mit dem Eingang des UND-Glieds (32) und dem Eingang des ODER-Glieds (31),
  • - der zweite Ausgang (33) des Zustandsregisters (28) mit dem Eingang der zweiten Vorrangschaltung (34),
  • - der Ausgang des ODER-Glieds (31) mit dem zweiten Aus­ gang (17) der Adressenunterbrechungseinheit (15),
  • - der Eingang (39) des Bauglieds (38) zur Schreibimpuls­ erzeugung mit dem Ausgang des UND-Glieds (32),
  • - der Ausgang (37) des Bauglieds (38) mit den zweiten Eingängen der UND-Glieder (25),
  • - der Ausgang des Adressendecoders (41) mit dem zweiten Eingang (40) des Bauglieds (38) und
  • - der Ein/Ausgang des Bauglieds (38) und der Eingang des Adressendecoders (41) mit dem Ein/Ausgang (16) der Adressenunterbrechungseinheit (15).
2. Mehrrechnersystem nach Anspruch 1, dadurch gekennzeichnet, daß das Bauglied (38) zur Schreibimpulserzeugung umfaßt:
  • - einen monostabilen Multivibrator (55), der besteht aus:
  • - einer Verzögerungsschaltung (56),
  • - einem Inverter (57) und
  • - einem NOR-Glied (61), wobei
  • - der Eingang der Verzögerungsschaltung (56) und des Inverters (57) an den Eingang (58) des monostabilen Multivibrators (55) und ihre Ausgänge an den ersten bzw. den zweiten Eingang (59 bzw. 60) des NOR-Gliedes (61) angeschlossen sind, dessen Ausgang mit dem Ausgang (62) des monostabilen Multivibrators (55) in Verbindung steht, sowie
  • - ein erstes und ein zweites UND-Glied (63 bzw. 64), deren erste und zweite Eingänge mit dem Ausgang (62) des monostabilen Multivibrators (55) bzw. dem zweiten Eingang (40) des Baugliedes (38) zur Schreibimpuls­ erzeugung verbunden sind, während der dritte Eingang des UND-Gliedes (64) mit dem ersten Eingang (39) des Bau­ gliedes (38) zur Schreibimpulserzeugung in Verbindung steht,
  • - ein Flipflop (69) und einen Inverter (65), dessen Ausgang (66) mit dem dritten Eingang des ersten UND-Gliedes (63) und dessen Eingang mit dem ersten Eingang (39) des Baugliedes (38) zur Schreibimpulserzeugung verbunden ist, wobei der Ausgang des ersten UND-Gliedes (63) an den Ausgang (37) des Baugliedes (38) zur Schreibimpulserzeugung und an den ersten Eingang (68) des Flipflops (69) angeschlossen ist, und wobei dessen zweiter Eingang (71), der Eingang (58) des monostabilen Multivibrators (55), der Ausgang (67) des zweiten UND-Gliedes (64) und der Ausgang (70) des Flipflops an den Ein-/Ausgang des Baugliedes (38) zur Schreibimpulserzeugung geschaltet sind.
DE19813146769 1981-11-25 1981-11-25 Rechensystem Granted DE3146769A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19813146769 DE3146769A1 (de) 1981-11-25 1981-11-25 Rechensystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19813146769 DE3146769A1 (de) 1981-11-25 1981-11-25 Rechensystem

Publications (2)

Publication Number Publication Date
DE3146769A1 DE3146769A1 (de) 1983-06-09
DE3146769C2 true DE3146769C2 (de) 1988-06-30

Family

ID=6147203

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19813146769 Granted DE3146769A1 (de) 1981-11-25 1981-11-25 Rechensystem

Country Status (1)

Country Link
DE (1) DE3146769A1 (de)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3508206A (en) * 1967-05-01 1970-04-21 Control Data Corp Dimensioned interrupt
US3614740A (en) * 1970-03-23 1971-10-19 Digital Equipment Corp Data processing system with circuits for transferring between operating routines, interruption routines and subroutines
US3940743A (en) * 1973-11-05 1976-02-24 Digital Equipment Corporation Interconnecting unit for independently operable data processing systems
US4365294A (en) * 1980-04-10 1982-12-21 Nizdorf Computer Corporation Modular terminal system using a common bus

Also Published As

Publication number Publication date
DE3146769A1 (de) 1983-06-09

Similar Documents

Publication Publication Date Title
DE2714805C2 (de)
DE3751164T2 (de) Datenprozessor mit verschiedenen Unterbrechungsverarbeitungsarten.
DE69130630T2 (de) Synchrones Verfahren und Gerät für Prozessoren
DE2411963C3 (de) Elektronische Datenverarbeitungsanlage mit einer Prioritätssteuerschaltung mit änderbaren Steuerblöcken
DE2839726A1 (de) Datenverarbeitungsanlage mit verteilter steuerarchitektur in einem multiprozessor-system
DE1549523B2 (de) Datenverarbeitungsanlage
DE2907181A1 (de) Befehlssatz-modifizierregister fuer einen datenprozessor
DE2744531A1 (de) Elektronische datenverarbeitungsanlage
DE1549522B1 (de) Datenverarbeitungsanlage mit simultanverarbeitung mehrerer programme mittels mehrerer rechner
DE1549474C3 (de) Anordnung In einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls
DE4207158A1 (de) Speicher-zugriffssteuerung
DE2911909C2 (de) Digitales Datenverarbeitungsgerät
DE2064383C3 (de) Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen
DE1499206B2 (de) Rechenanlage
DE3587446T2 (de) Signalverarbeitungsprozessor und hierarchische Multiverarbeitungstruktur mit mindestens einem solchen Prozessor.
DE4005042A1 (de) Architektur eines digitalen bewegungssteuerungselements hoher geschwindigkeit
DE68903280T2 (de) Vektorschlange in computern mit vektorregister.
DE2745204A1 (de) Mikroprogramm-leitwerk fuer eine datenverarbeitungsanlage
DE3146769C2 (de)
DE69327270T2 (de) Job-Ausführungsmethode in einem Multiprozessor-System
DE2622140C3 (de) Einrichtung zur Steuerung manueller Operationen
DE69521089T2 (de) Vektordatenumgehungsmechanismus für einen Vektorrechner
DE2727188A1 (de) Anordnung zum adressieren eines speichers
DE10228778A1 (de) Hardware-Verfahren zum Implementieren von atomischen Semaphoroperationen unter Verwendung von Codemakros
DE3542436A1 (de) Datenflussprozessorsystem

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee