DE3243830A1 - Multiprozessor-unterbrechungsanordnung - Google Patents
Multiprozessor-unterbrechungsanordnungInfo
- Publication number
- DE3243830A1 DE3243830A1 DE19823243830 DE3243830A DE3243830A1 DE 3243830 A1 DE3243830 A1 DE 3243830A1 DE 19823243830 DE19823243830 DE 19823243830 DE 3243830 A DE3243830 A DE 3243830A DE 3243830 A1 DE3243830 A1 DE 3243830A1
- Authority
- DE
- Germany
- Prior art keywords
- interrupt
- processor
- dipl
- processors
- memory
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
Description
Die Erfindung betrifft eine Unterbrechungsanordnung für jeden Prozessor einer Multiprozessoranlage sowie
eine solche Multiprozessoranlage und ein Verfahren zur Steuerung der Unterbrechungen.
Die Multiprozessor-Verarbeitung ist in Fernsprech- und Rechneranlagen zu einem Standardverfahren geworden,
das die Möglichkeit gibt, eine große Anzahl von unabhängigen Prozessen gleichzeitig stattfinden zu lassen,
die jeweils nur in minimalem Umfang miteinander in Verbindung treten müssen. In solchen Multiprozessoranlagen
ergeben sich Schwierigkeiten dahingehend, daß häufig ein unabhängiger Prozessor einen anderen Prozessor im
Netzwerk unterbrechen muß. Solche Unterbrechungen werden beispielsweise benutzt, um die jeweilige Aufgabe des anderen
Prozessors zu ändern.
Es werden gegenwärtig drei grundlegende Lösungswege
beschritten. Dabei handelt es sich
1) um ein voll miteinander verbundenes Netzwerk von Unterbrechungen,
" ■ . 2) besondere Sammelleitungszyklen der Anlage und
3) eine Abfrage von Merkbits (Flags) im örtlichen Speicher .
Bei der ersten Anordnung wird ein besonderes Unterbrechungssignal von jedem Prozessor im Netzwerk zu
den anderen Prozessoren verwendet. Für große Anlagen wird dann die Anzahl der Unterbrechungsverbindungen unzweckmäßig.
Der zweite Lösungsweg erfordert zusätzliche Signal-
• I · ·
-4-
wege zwischen den" Prozessoren, um Unterbrechungszyklen
von normalen Speicherübertragungszyklen zu unterscheiden. Der dritte Lösungsweg macht es erforderlich, daß jeder
Prozessor regelmäßig bestimmte Speicherstellen abfragt, um festzustellen, ob er unterbrochen worden ist oder
nicht.
Der Erfindung liegt die Aufgabe zugrunde, einen besseren Lösungsweg für die erläuterten Probleme verfügbar
zu machen. Die Erfindung sieht dazu eine Unterbre- IQ chungsanordnung für jeden Prozessor einer Multiprozessoranlage
vor, die gekennzeichnet ist durch eine Einrichtung, die einen FIFO-Speicher enthält und so ausgelegt ist, daß
sie über die Anlage gelieferte Unterbrechungsvektoren in eine Wartschlange einreiht und sequentiell einem zugeordneten
Prozessor ein Unterbrechungssignal für jeden eingereihten Vektor durchführt. Unter PIFO-Speicher versteht
man dabei einen Speicher, bei dem eine zuerst eingegebene Information auch als erste wieder ausgelesen wird (von
£ir st-JCn-Fir st-Out) . Weiterhin sieht die Erfindung eine
Multiprozessoranlage vor, in der Informationen zwischen
Prozessoren über ein Übertragungsmedium übertragen werden, wobei jeder Prozessor eine Unterbrechungsanordnung der
vorgenannten Art aufweist.
Darüberhinaus sieht die Erfindung ein Verfahren zur Steuerung von Unterbrechungen bei Prozessoren einer
Multiprozessoranlage vor, bei der Informationen zwischen
Prozessoren eines Übertragungsmediums übertragen werden, wobei das Verfahren gekennzeichnet ist durch folgende
Verfahrensschritte:
Übertragen eines Unterbrechungsvektors durch einen sendenden Prozessor zu einem Zielprozessor über das Übertragungsmedium
;
Speichern des Unterbrechungsvektors in einem FIFQ-Speicher
bei dem Zielprozessor ;
sequentielle Lieferung eines Unterbrechungssignals an den Zielprozessor für jeden der in eine Wartschlange eingereihten
Unterbrechungsvektoren.
Mit der Erfindung wird ein Unterbrechungsschema
Ι bereitgestellt, das die Unterbrechungssignale zwischen
den Prozessoren als Daten behandelt, wodurch die Unterbrechungsinformationen
während der üblichen Datenlese- und Schreibzyklen der Anlagensammelleitung übertragen werden
können. Dadurch besteht die Möglichkeit., Unterbrechungsnachrichten an gewählte andere Prozessoren auszusenden,
wobei die Nachricht beispielsweise die Quellenidentität des sendenden Prozessors sowie den Unterbrechungstyp enthält.
IQ Die Bedienung sequentieller Unterbrechungen von
IQ Die Bedienung sequentieller Unterbrechungen von
mehreren Quellen wird durch ein FIFO-Register als Bauteil
möglich gemacht, das sich bei jedem Prozessor befindet. Die Funktion des FIFO-Registers besteht darin, die empfangenen
Unterbrechungsnachrichten in eine Wartschlange einzureihen und ein Unterbrechungssignal an den örtlich zugeordneten
Prozessor zu liefern.
Ein sendender Prozessor benutzt die Nachrichtenübertragungssammelleitung
der Anlage und adressiert das FIFO-Unterbrechungsregister, das einem bestimmten Zielprozessor
zugeordnet ist. Es wird dann eine Unterbrechungsnachricht zum FIFO-Register über den normalen Datenübertragungsweg
der Anlage übertragen. Wenn die Nachricht am Ausgangsregister des FIFO-Speichers ankommt, wird ein Signal
zum Prozessor ausgesendet. Der Prozessor gewinnt dann die im FIFO-Ausgangsregister gespeicherten Daten wieder.
Die Daten können alle vom Prozessor benötigten Informationen
enthalten oder auf eine Stelle des örtlichen Speichers hinweisen, die insgesamt für die Anlage reserviert ist.
Die Speicherstelle kann dann die von dem Prozessor für die Unterbrechungsverarbeitung benutzten Daten enthalten.
Nachfolgend wird die Erfindung anhand der Zeichnungen beschrieben. Es zeigen:
Fig. 1 ein Gesamtschaltbild einer Multiprozessor-
anlage nach der vorliegenden Erfindung; Fig. 2 ein genaueres Schaltbild eines der Prozes
sormodule der Anlage nach Fig. 1; Fig. 3 die Aufteilung des Speicherraums für die
Multiprozessoranlage nach Fig. 1.
Die Multiprozessoranlage nach Pig. 1 enthält eine Anzahl von individuellen Prozessoren 10, 20, 30, 40, die
je unabhängig voneinander Verarbeitungsvorgänge mit Informationsdaten durchführen, die über die Anlagensammelleitung
105 geliefert werden.
Vor einer Erläuterung des Unterbrechungsschemas soll ein Überblick über die Arbeitsweise der Aufbaublöcke
jedes Prozessors gegeben werden. Dazu zeigt Fig.2 eine Sammelleitungs-Schnittstellenschaltung, die Daten
IQ auf die Anlagensammelleitung 105 gibt und von dieser aufnimmt.
Die Schnittstellenschaltung ist so ausgelegt, daß sie Konkurrenzprobleme lösen kann, derart, daß nicht mehr
als ein Prozessor gleichzeitig Daten auf die Sammelleitung sendet. Hierzu kann beispielsweise eine Schnittig
stellenschaltung entsprechend der Veröffentlichung "Intel
Multibus Interfacing" Intel Publication Nr. 9800587A,
verwendet werden. Es können natürlich auch andere Anordnungen
verwendet werden, um sicherzustellen, daß Konkurrenzprobleme bei Prozessoren gelöst werden, die um einen
Zugriff zur gemeinsamen Sammelleitung wetteifern. Die Sammelleitungs-Schnittstellenschaltung 11 führt außerdem
eine Adressendecodierung durch, so daß für den zugeordneten Prozessor bestimmte Daten von der Sammelleitung aufgenommen
und richtig gespeichert werden können.
Die Prozessoreinheit (CPU) 15 kann jeder Prozessortyp sein, der so ausgelegt ist, daß er jede Art von
Verarbeitungsfunktion ausführen kann. Ein Beispiel wäre der INTEL-Mikroprozessor 8086. Der gemeinsame Speicher
13 kann jeder Typ eines Schreib-Lesespeichers sein, beispielsweise ein Speicher Mostek MK 4802. Das programmierbare
Unterbrechungssteuergerät 14 kann ein Baustein INTEL 8259A sein, der ein Unterbrechungssignal aufnimmt und auf
besondere Weise so verarbeitet, daß die Prozessoreinheit 15 so bald als zweckmäßig die gerade bearbeitete Aufgabe
verläßt und die Unterbrechung bearbeitet. Der FIFO-Unterbrechungswarteschlangenspeicher
12 kann ein Baustein Fairchild 9403 sein, bei dem es sich um einen FIFO-Speicher
handelt. Der in Fig. 2 dargestellte Prozessor 10
kann ebenfalls beispielsweise ein Einplatinenrechner vom Typ INTEL iSBC 86/12A unter Hinzufügung des FIFO-Unterbrechungswarteschlangenspeichers
mit einer geeigneten Adressendecodierung sein.
Bei der Multiprozessoranlage nach Fig. 1 läßt sich klar erkennen, daß keine getrennte Verdrahtung der verschiedenen Prozessoren zwecks einer Unterbrechungssignalgabe vorgesehen ist, wie dies nach dem Stand der Technik der Fall ist, beispielsweise bei der Anordnung
Bei der Multiprozessoranlage nach Fig. 1 läßt sich klar erkennen, daß keine getrennte Verdrahtung der verschiedenen Prozessoren zwecks einer Unterbrechungssignalgabe vorgesehen ist, wie dies nach dem Stand der Technik der Fall ist, beispielsweise bei der Anordnung
IQ entsprechend der Intel Multibus Specification. Demgemäß
kann bei der vorliegenden Anmeldung jede beliebige Zahl von Prozessoren zur Sammelleitung hinzugefügt oder weggenommen
werden, wobei lediglich eine Zuordnung von Speicherraum erforderlich ist.
Gemäß Fig. 3 ist in der Anlage ein Speicherraum anlagenübergreifend zugeordnet und für die Verarbeitung
der Unterbrechungen reserviert. Jeder Prozessor besitzt eine identifizierbare FIFO-Adressenstelle in seinem örtlichen
Speicher, und dieser Adressenraum ist für alle Prozessoren zugänglich. Ein Vorteil einer solchen Anordnung
besteht darin, daß der örtliche Speicher durch jeden anderen Prozessor adressiert werden kann und daß Informationen
aus dem örtlichen Speicher entnommen werden können, die beispielsweise allein den sendenden Prozessor betreffen.
Demgemäß braucht der sendende Prozessor nichts außer der Anlagenspeicherliste über den Zielprozessor zu
"wissen", um Unterbrechungsnachrichten auszusenden. Diese Operation soll nachfolgend noch genauer beschrieben werden
.
In Fig. 3 ist die Unterbrechungsinformation durch
die Speicherstelle C+l bis D im gemeinsamen Speicher dargestellt.
Demgemäß gibt das durch die Anlagensammelleitung benutzte, speicherbezogene Adressierverfahren jedem
Prozessor die Möglichkeit, einen Teil oder alle seine örtlichen Hilfsmittel mit anderen· Prozessoren der Anlagensammelleitung
zu teilen. Diese Lösung stellt eine einheitliche Hilfsmitteladressierung im Netzwerk sicher, da
die Prozessoren entfernte Hilfsmittel auf die gleiche
-δ-Weise wie ihren örtlichen Speicher adressieren.
Entsprechend der Darstellung in den Fig. 1 und 3 ist der jedem Prozessor zugeordnete FIFO-Unterbrechungswarteschlangenspeicher
12 Teil der gemeinsamen Hilfsmittel des Prozessors, der für alle anderen Prozessoren zugänglich
ist. Asynchrone Hardware- und Softwareunterbrechungen werden über die Anlagensammelleitung 105 unter
Verwendung dieser FIFO-Speicher übertragen. Zum Zweck einer Unterbrechung schreibt der Quellenprozessor einen
IQ Unterbrechungsvektor (der den Typ der Unterbrechung beschreibt)
in den FIFQ-Unterbrechungswarteschlangenspeicher des gewünschten Zielprozessors. Dieser Prozessor
wird hinter weiteren Unterbrechungsvektoren eingereiht, die vorher zum Zielprozessor ausgesendet worden sind. Die
Vektoren durchlaufen die FIFO-Unterbrechungswarteschlange
und unterbrechen einer nach dem anderen den Zielprozessor auf eine Weise, die zum ersten durch das Programm-Unterbrechungssteuergerät
und zum zweiten durch den steuernden Vektor am Ausgang der FIFO-Unterbrechungswarteschlange
bestimmt wird.
Die Konkurrenzverarbeitung der Anlagensammelleitung,
nämlich die Schnittstellenschaltungen 11, 21, 31, 41 ordnen die Unterbrechungsanforderungen von den verschiedenen
Quellen nacheinander ein, und die FIFO-Unterbrechungswarteschlangenspeicher
12, 22, 32, 42 stellen die Pufferspeicher dar, die erforderlich sind, um die
schwebenden Vektoren festzuhalten, bis der Prozessor sie bedienen kann. Die Länge und Breite jedes FIFO-Unterbrechungswarteschlangenspeichers
läßt sich bei der Schal tungsauslegung wählen, wobei die Länge durch die Anzahl von zu erwartenden Unterbrechungen bestimmt wird, die
für jeden Prozessor in der Anlage vorgesehen sind, und
die Breite durch die Anzahl von unterschiedlichen Unterbrechungstypen
bestimmt wird, die durch einen Prozessor bedient werden, oder durch die Anzahl von Informationsbits
auf der Anlagensammelleitung.
Dieses Verfahren zur Behandlung von Unterbrechungen nutzt verfügbare Hilfsmittel der Anlagensammelleitung
ohne Zuhilfenahme von besonderen Sammelleitungs-Unterbrechungssignalen
oder Sammelleitungszyklen aus. Wenn der Unterbrechungswarteschlangenspeicher des Zielprozessors
voll ist, tritt ein Sammelleitungsfehler auf, der die
Quelle davon unterrichtet, daß die Unterbrechung nicht abgeliefert worden ist. Erneute Versuche werden durch
Programm-Mittel im Quellenprozessor behandelt. Da eine zusätzliche Verdrahtung nicht erforderlich ist, können Prozessoren
ohne Schwierigkeiten hinzugefügt oder weggenom-IQ men werden.
Zur Erläuterung soll ein spezielles Beispiel genauer beschrieben werden, bei dem der Prozessor 30 (Fig.l)
den Prozessor 20 unterbricht. Dieses Beispiel bezieht sich auf die gestrichelten Linien in Fig. 1. Dort gilt
folgendes:
(1) Der Prozessor 30 belegt die Sammelleitung 105;
(2) der Quellenprozessor 30 liefert η Datenbits (die
den Unterbrechungsvektor darstellen) an den Unterbrechungswarteschlangenspeicher
des Zielprozessors 20. Die aktuelle Datenübertragung erfolgt
mittels eines Speicherschreibzyklus unter Steuerung des Prozessors 30;
(3) der Unterbrechungsvektor wird im FIFO-Unterbrechungswarteschlangenspeicher
22 des Zielprozessors 20 gespeicher;
(4) der gespeicherte Unterbrechungsvektor durchläuft den Speicher 22, und ein Signal, das diese Tatsache
angibt, wird mittels des Signals (ORE) für nicht leeres Ausgangsregister zum programierbaren
Unterbrechungssteuergerät (PIC) 24 gegeben;
(5) das Steuergerät 24 gibt unter Anwendung seiner vorprogrammierten Maskierungen und Prioritäten
ein Unterbrechungssignal an die Prozessoreinheit (CPU) 25;
(6) die CPU 25 liest unter Steuerung des Unterbrechungs· signals den Unterbrechungsvektor aus dem Unterbrechungswarteschlangenspeicher
22 und bedient diese Unterbrechung.
-ΙΟΙ Eine Alternative für den oben angegebenen Schritt
(6) besteht darin, daß der im FIFO-Unterbrechungswarteschlangenspeicher
enthaltene Vektor nicht die eigentliche Unterbrechungssteuerinformation enthält, sondern auf
eine besondere Stelle im gemeinsam benutzten Speicher hinweist. In diesem Fall liefert der sendende Prozessor
30 eine Adressenstelle im gemeinsam benutzten Speicher des Zielprozessors, die diejenige Information enthält,
die dem sendenden Prozessor gesondert zugeordnet ist. Diese Speicherstelle enthält dann die Informationen, die
sich auf die eigentliche Unterbrechung beziehen.
Die gemeinsam benutzten Speicher aller Prozessoren können auch so angeordnet sein, daß sie einen gemeinsamen
Satz von Unterbrechungssteuernachrichten enthalten, ^g In diesem Fall muß der sendende Prozessor nur die Adressenstelle
des gewünschten Unterbrechungstyps aussenden. Der Zielprozessor adressiert dann unter Steuerung der
Information im FIFO-Unterbrechungswarteschlangenspeicher
den örtlichen Speicher und führt die Unterbrechung entsprechend der Information durch, die vorher an der angegebenen
Adresse abgelegt worden ist. Wie oben erläutert, kann dies deswegen erreicht werden, weil die Anlage als
Ganzes den Adressenraum gemeinsam benutzt, so daß mit Bezug auf eine gegebene Unterbrechung der gleiche Vektor
(Unterbrechungsnachricht) an jeden Prozessor geliefert werden kann.
Bei Verwendung der oben beschriebenen Unterbrechung sanOrdnung muß die CPU nicht kontinuierlich Prozessorzeit
zur Abfrage eines Kennzeichenbits verbrauchen, um festzustellen, ob ein Unterbrechungssignal auf eine
Verarbeitung wartet, da das eigentliche Unterbrechungssignal in positiver Weise über den FIFO-Unterbrechungswarteschlangenspeicher
nur dann an die CPU gegeben wird, wenn ein Unterbrechungsvektor vorhanden ist. Da der Speieher
gemeinsam benutzt wird, besteht die Möglichkeit, Nachrichten auszusenden, die länger sind als Nachrichten,
die im anderen Fall während eines einzigen Zyklus übertragen werden, da die gesendete Nachricht die Adresse von
örtlich gespeicherten Daten enthalten kann, die bei Übertragung durch den sendenden Prozessor mehr als einen solchen
Zyklus erfordern würde.
Der FIFO-Unterbrechungswarteschlangenspeicher
dient als Warteschlange und nimmt viele Unterbrechungsnachrichten von vielen Prozessoren auf und speichert sie
In typischer Weise wird die Anlage so ausgelegt, daß sie jeweils nur eine solche Unterbrechung von jedem sendenden
Prozessor gleichzeitig verarbeitet, so daß der sendende Prozessor dann nachfolgende Unterbrechungen behandeln
kann, die zum gleichen Zielprözessor auszusenden sind. Bei einer solchen Anlage muß der FIFO-Unterbrechungswarteschlangenspeicher
dann nur genügend lang sein, um eine Unterbrechung von jedem anderen Prozessor verarbeiten
zu können. Es besteht aber natürlich die Möglichkeit, mehrere Unterbrechungen vom gleichen Prozessor zuzulassen,
indem einfach nur der FIFO-Unterbrechungswarteschlangenspeicher
länger gemacht wird. Außerdem besteht die Möglichkeit, den Unterbrechungen eine Prioritätsreihenfolge
zuzuordnen, und zwar abhängig von einer Anzahl von Faktoren, beispielsweise dem Unterbrechungstyp, dem sendenden
Prozessor usw. Dies läßt sich erreichen, indem eine Anzahl von FIFO-Registern so angeordnet wird, daß
die Unterbrechungsnachricht entweder'direkt ein bestimmtes
Register adressiert, oder indem eine Speicherprogrammsteuerung benutzt wird, um die Unterbrechungen bei ihrem
Eintreffen zu sortieren. Nachdem der Eingangsvektor in einem bestimmten FIFO-Register eingespeichert ist, werden
die Ausgangssignale der FIFO-Register der CPU auf der Grundlage einer Prioritätsanordnung zugeführt, wobei
die einfachste Anordnung dieser Art darin besteht, ein FIFO-Register zu leeren, bevor nach weiteren Vektoren
in einem anderen FIFO-Register Ausschau gehalten wird. Eine weitere Anordnung besteht darin, den gemeinsamen
Speicher und den Prozessor zusammen zu benutzen, um festzustellen, welche Unterbrechung als nächste bedient werden
muß.
Es versteht sich, daß zwar die beschriebene
-12-
MultiprOzessor-Unterbrechungsanlage in Verbindung mit
einer örtlich verdrahteten Sammelleitungsanordnung dargestellt ist, daß aber keine praktische Einschränkung dahingehend
besteht, wie die Prozessoren miteinander verbunden sind. Diese Verbindung kann sich über große geographische
Bereiche mit der einzigen Anforderung erstrecken, daß der Quellenprozessor in der Lage sein muß, dem Unterbrechungswarteschlangenspeicher
des Zielprozessors Unterbrechungsinformationen zuzuführen.
10
10
Claims (8)
- BLUMBACH ■ WESER · BERGEISi · KRAMER ZWIRNER · HOFFMANNPATENTANWÄLTE IN MÜNCHEN UND WIESBADENPatentconsult Radeckestraße 43 8000 München 60 Telefon (089) 883603/883604 Telex 05-212313 Telegramme Patenlconsult Patentconsult Sonnenberger Straße 43 6200 Wiesbaden Telefon (06121) 562943/561998 Telex 04-186 237 Telegramme PatenfconsultWestern Electric Company Incorporated Brown, S.S.1-2-1 New York, N.Y. 10038, USAPatentansprücheUnterbrechungsanordnung für jeden Prozessor einer Multiprozessoranlage,
gekennzeichnet durch : eine Einrichtung (12, 14), die einen FIFO-Speicher (12) enthält und so ausgelegt ist, daß sie über die Anlage gelieferte Unterbrechungsvektoren in eine Warteschlange einreiht und sequentiell einem zugeordneten Prozessor (10) ein Unterbrechungssignal für jeden eingereihten Vektor zuführt. - 2. Unterbrechungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß jeder Vektor über die Anlage auf die gleiche Weise übertragen wird, wie andere Daten zwischen zwei Prozessoren übertragen werden.
- 3. Unterbrechungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß die von dem FIFO-Speicher gelieferten Vektoren benutzt werden, um die Aufgaben des Prozessors (10) zu steuern.
- 4. Unterbrechungsanordnung nach Anspruch 2, gekennzeichnet durch eine Einrichtung einschließlich eines Speichers (13) mit gemeinsam von allen Prozessoren benutzten Adressenstellen zur Speicherung von Informationen, die sich auf Unterbrechungsauf gabeji beziehen, wobei die Einrichtung durch Vektoren adressierbar sind, die in demMünchen: R. Kramer Dipl.-Ing. · W. Weser Dipl.-Phys. Dr. rer. nat. · E. Hoffmann Dipl.-Ing. Wiesbaden: P. G. Blumbach Dipl.-Ing. · P. Bergen Prof. Dr. jur. Dipl.-Ing., Pat.-Ass., Pat.-Anw. bis 1979 · G. Zwirner Dipl.-Ing. Dipl.-W.-Ing.FIFO-Speicher (12) eingereiht sind.
- 5. Multiprozessoranlage, bei der Informationen zwischen Prozessoren über ein Übertragungsmedium übertragen werden,dadurch gekennzeichnet, daß jeder Prozessor eine Unterbrechungfanordnung nach einem der vorhergehenden Ansprüche aufweist.
- 6. Verfahren zur Steuerung von Unterbrechungen bei Prozessoren einer Multiprozessoranlage, bei der Informationen zwischen Prozessoren über ein Übertragungsmedium übertragen werden,gekennzeichnet durch die Verfahrensschritte: Übertragen eines Unterbrechungsvektors eines sendenden Prozessors (30) zu einem Zielprozessor (20) über das Übertragungsmedium (105);Einspeichern des Unterbrechungsvektors in einem FIFO-Speicher (22) bei dem Zielprozessor (20); sequentielles Bereitstellen eines Unterbrechungssignals zum Zielprozessor (20) für jeden eingereihten Unterbrechungsvektor.
- 7. Verfahren nach Anspruch 6,gekennzeichnet durch den weiteren Verfahrensschritt: Lesen des in dem FIFO-Speicher (12) gespeicherten, jedem Unterbrechungssignal zugeordneten Unterbrechungsvektor aus dem FIFO-Speicher (12) unter Steuerung des Zielprozessors (20 ).
- 8. Verfahren nach Anspruch 6,dadurch gekennzeichnet, daß bei dem Verfahrensschritt der Übertragung eines Unterbrechungsvektors Konkurrenz Situationen hinsichtlich des Übertragungsmediums gelöst werden .
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/326,908 US4604500A (en) | 1981-12-02 | 1981-12-02 | Multiprocessing interrupt arrangement |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3243830A1 true DE3243830A1 (de) | 1983-06-16 |
DE3243830C2 DE3243830C2 (de) | 1995-03-09 |
Family
ID=23274259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3243830A Expired - Lifetime DE3243830C2 (de) | 1981-12-02 | 1982-11-26 | Unterbrechungsanordnung und Verfahren zur Steuerung von Unterbrechungen bei Prozessoren einer Multiprozessor-Fernsprech- und Datenübertragungsanlage |
Country Status (13)
Country | Link |
---|---|
US (1) | US4604500A (de) |
JP (1) | JPS58149557A (de) |
AU (1) | AU559645B2 (de) |
BE (1) | BE895188A (de) |
CA (1) | CA1186802A (de) |
DE (1) | DE3243830C2 (de) |
ES (2) | ES8402091A1 (de) |
FR (1) | FR2517442B1 (de) |
GB (1) | GB2110442B (de) |
IE (1) | IE54282B1 (de) |
IT (1) | IT1154388B (de) |
NL (1) | NL192228C (de) |
SE (1) | SE8206640L (de) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62184544A (ja) * | 1986-02-10 | 1987-08-12 | Nec Corp | 仮想計算機システム |
JPS62243058A (ja) * | 1986-04-15 | 1987-10-23 | Fanuc Ltd | マルチプロセツサシステムの割込制御方法 |
CA1280216C (en) * | 1986-08-05 | 1991-02-12 | At&T Global Information Solutions Company | Time slot protocol in the transmission of data in a data processing network |
JPS63186360A (ja) * | 1987-01-29 | 1988-08-01 | Matsushita Graphic Commun Syst Inc | マルチcpu装置 |
FI884026A (fi) * | 1987-09-03 | 1989-03-04 | Honeywell Bull | Mikroprocessors vektoravbrott. |
JPH02503121A (ja) * | 1987-10-06 | 1990-09-27 | ベル、コミュニケーションズ、リサーチ、インコーポレーテッド | マルチプルプロセッサシステムにおける各プロセッサ用選択受信器 |
JPH01151350U (de) * | 1988-04-08 | 1989-10-19 | ||
US5283869A (en) * | 1989-07-25 | 1994-02-01 | Allen-Bradley Company, Inc. | Interrupt structure for network interface circuit |
JPH0619759B2 (ja) * | 1990-05-21 | 1994-03-16 | 富士ゼロックス株式会社 | マルチプロセッサシステムにおける相互通信方法 |
US5125093A (en) * | 1990-08-14 | 1992-06-23 | Nexgen Microsystems | Interrupt control for multiprocessor computer system |
US5870497A (en) * | 1991-03-15 | 1999-02-09 | C-Cube Microsystems | Decoder for compressed video signals |
US5805841A (en) * | 1991-07-24 | 1998-09-08 | Micron Electronics, Inc. | Symmetric parallel multi-processing bus architeture |
EP0535821B1 (de) * | 1991-09-27 | 1997-11-26 | Sun Microsystems, Inc. | Verfahren und Gerät für die dynamische Zuweisung von unadressierten Unterbrechungen |
US5581770A (en) * | 1992-06-04 | 1996-12-03 | Mitsubishi Denki Kabushiki Kaisha | Floating interruption handling system and method |
US5438677A (en) * | 1992-08-17 | 1995-08-01 | Intel Corporation | Mutual exclusion for computer system |
US5481724A (en) * | 1993-04-06 | 1996-01-02 | International Business Machines Corp. | Peer to peer computer-interrupt handling |
US6170003B1 (en) * | 1993-08-10 | 2001-01-02 | International Computers Limited | Apparatus and method for communicating messages between data processing nodes using remote reading of message queues |
CA2123447C (en) * | 1993-09-20 | 1999-02-16 | Richard L. Arndt | Scalable system interrupt structure for a multiprocessing system |
JPH07105023A (ja) * | 1993-09-20 | 1995-04-21 | Internatl Business Mach Corp <Ibm> | データ処理システム内でスプリアス割込みを検出するための方法及び装置 |
JPH07262152A (ja) * | 1994-03-24 | 1995-10-13 | Hitachi Ltd | コンピュータシステム |
US5553293A (en) * | 1994-12-09 | 1996-09-03 | International Business Machines Corporation | Interprocessor interrupt processing system |
US5560018A (en) * | 1994-12-16 | 1996-09-24 | International Business Machines Corporation | Providing external interrupt serialization compatibility in a multiprocessing environment for software written to run in a uniprocessor environment |
US5872982A (en) * | 1994-12-28 | 1999-02-16 | Compaq Computer Corporation | Reducing the elapsed time period between an interrupt acknowledge and an interrupt vector |
US5689713A (en) * | 1995-03-31 | 1997-11-18 | Sun Microsystems, Inc. | Method and apparatus for interrupt communication in a packet-switched computer system |
US6098105A (en) * | 1997-04-08 | 2000-08-01 | International Business Machines Corporation | Source and destination initiated interrupt method for message arrival notification |
US6105071A (en) * | 1997-04-08 | 2000-08-15 | International Business Machines Corporation | Source and destination initiated interrupt system for message arrival notification |
US6098104A (en) * | 1997-04-08 | 2000-08-01 | International Business Machines Corporation | Source and destination initiated interrupts for message arrival notification, and related data structures |
US6247091B1 (en) * | 1997-04-28 | 2001-06-12 | International Business Machines Corporation | Method and system for communicating interrupts between nodes of a multinode computer system |
US6192439B1 (en) * | 1998-08-11 | 2001-02-20 | Hewlett-Packard Company | PCI-compliant interrupt steering architecture |
US20020178313A1 (en) * | 2001-03-30 | 2002-11-28 | Gary Scott Paul | Using software interrupts to manage communication between data processors |
US7480697B2 (en) * | 2002-05-28 | 2009-01-20 | International Business Machines Corporation | Method and apparatus using attached hardware subsystem to communicate between attached hosts |
US8984199B2 (en) * | 2003-07-31 | 2015-03-17 | Intel Corporation | Inter-processor interrupts |
US7752371B2 (en) * | 2003-12-29 | 2010-07-06 | Broadcom Corporation | System and method for interrupt abstraction |
US7444449B2 (en) * | 2006-02-09 | 2008-10-28 | Sony Ericsson Mobile Communications Ab | Method, computer program product and computer system for controlling execution of an interruption routine |
US9661521B2 (en) | 2015-01-08 | 2017-05-23 | Freescale Semiconductor, Inc. | Interrupt handling system for cellular communication network |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4271468A (en) * | 1979-11-06 | 1981-06-02 | International Business Machines Corp. | Multiprocessor mechanism for handling channel interrupts |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4320451A (en) * | 1974-04-19 | 1982-03-16 | Honeywell Information Systems Inc. | Extended semaphore architecture |
JPS50156336A (de) * | 1974-06-05 | 1975-12-17 | ||
US4015243A (en) * | 1975-06-02 | 1977-03-29 | Kurpanek Horst G | Multi-processing computer system |
JPS5537680A (en) * | 1978-09-08 | 1980-03-15 | Nec Corp | Decentralized control system |
NL7907179A (nl) * | 1979-09-27 | 1981-03-31 | Philips Nv | Signaalprocessorinrichting met voorwaardelijke- -interrupteenheid en multiprocessorsysteem met deze signaalprocessorinrichtingen. |
JPS5835294B2 (ja) * | 1980-02-06 | 1983-08-02 | 富士通株式会社 | マルチプロセツサ処理方式 |
US4323967A (en) * | 1980-04-15 | 1982-04-06 | Honeywell Information Systems Inc. | Local bus interface for controlling information transfers between units in a central subsystem |
US4414624A (en) * | 1980-11-19 | 1983-11-08 | The United States Of America As Represented By The Secretary Of The Navy | Multiple-microcomputer processing |
US4424561A (en) * | 1980-12-31 | 1984-01-03 | Honeywell Information Systems Inc. | Odd/even bank structure for a cache memory |
US4420806A (en) * | 1981-01-15 | 1983-12-13 | Harris Corporation | Interrupt coupling and monitoring system |
-
1981
- 1981-12-02 US US06/326,908 patent/US4604500A/en not_active Expired - Lifetime
-
1982
- 1982-11-22 SE SE8206640A patent/SE8206640L/ not_active Application Discontinuation
- 1982-11-23 FR FR8219574A patent/FR2517442B1/fr not_active Expired
- 1982-11-26 DE DE3243830A patent/DE3243830C2/de not_active Expired - Lifetime
- 1982-11-29 GB GB08233921A patent/GB2110442B/en not_active Expired
- 1982-11-29 CA CA000416598A patent/CA1186802A/en not_active Expired
- 1982-11-29 AU AU90951/82A patent/AU559645B2/en not_active Expired
- 1982-11-30 BE BE0/209604A patent/BE895188A/fr unknown
- 1982-12-01 IT IT24548/82A patent/IT1154388B/it active
- 1982-12-01 IE IE2859/82A patent/IE54282B1/en unknown
- 1982-12-01 ES ES517861A patent/ES8402091A1/es not_active Expired
- 1982-12-01 NL NL8204670A patent/NL192228C/nl not_active IP Right Cessation
- 1982-12-02 JP JP57210713A patent/JPS58149557A/ja active Pending
-
1983
- 1983-11-08 ES ES527124A patent/ES8407348A1/es not_active Expired
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4271468A (en) * | 1979-11-06 | 1981-06-02 | International Business Machines Corp. | Multiprocessor mechanism for handling channel interrupts |
Also Published As
Publication number | Publication date |
---|---|
IT1154388B (it) | 1987-01-21 |
ES517861A0 (es) | 1984-02-01 |
IE822859L (en) | 1983-06-02 |
SE8206640D0 (sv) | 1982-11-22 |
NL192228B (nl) | 1996-11-01 |
SE8206640L (sv) | 1983-06-03 |
NL192228C (nl) | 1997-03-04 |
GB2110442A (en) | 1983-06-15 |
ES527124A0 (es) | 1984-09-16 |
DE3243830C2 (de) | 1995-03-09 |
ES8407348A1 (es) | 1984-09-16 |
JPS58149557A (ja) | 1983-09-05 |
US4604500A (en) | 1986-08-05 |
IT8224548A0 (it) | 1982-12-01 |
AU559645B2 (en) | 1987-03-19 |
GB2110442B (en) | 1985-07-24 |
ES8402091A1 (es) | 1984-02-01 |
FR2517442A1 (fr) | 1983-06-03 |
FR2517442B1 (fr) | 1988-09-16 |
NL8204670A (nl) | 1983-07-01 |
CA1186802A (en) | 1985-05-07 |
AU9095182A (en) | 1983-06-09 |
IE54282B1 (en) | 1989-08-16 |
BE895188A (fr) | 1983-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3243830A1 (de) | Multiprozessor-unterbrechungsanordnung | |
DE1549532C2 (de) | Unterbrechungs-Direktorschalrwerk für eine Datenverarbeitungsanlage mit mehreren Rechenanlagen und mehreren perpheren Geräten | |
DE2913288C2 (de) | Multiprozessoranlage mit einer Vielzahl von Prozessorbausteinen | |
DE3004827C2 (de) | Datenverarbeitungsanlage | |
DE3300261C2 (de) | ||
DE3300263C2 (de) | ||
DE2332734A1 (de) | Datenverarbeitungssystem | |
EP0329005B1 (de) | Verfahren zum Einrichten von über Koppelvielfache einer mehrstufigen Koppelanordnung verlaufenden virtuellen Verbindungen | |
DE3222389A1 (de) | Kanalschnittstellenschaltung | |
DE3137627C1 (de) | Anordnung zur schnellen Nachrichtenuebertragung zwischen Rechnern | |
DE4313190B4 (de) | Vorrichtung und Verfahren zur Initialisierung einer Datenschnittstelle für eine programmierbare Steuerung | |
DE1549474C3 (de) | Anordnung In einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls | |
EP0184706B1 (de) | Schnittstelleneinrichtung | |
EP0185260B1 (de) | Schnittstelle für direkten Nachrichtenaustausch | |
CH653783A5 (de) | Steuereinrichtung, insbesondere fuer fernsprechvermittlungsanlagen. | |
DE1774039A1 (de) | Rechner | |
DE1524127B2 (de) | Mehrfachrechenanlage mit internen verbindungsleitungen zwischen den datenverarbeitungsgeraeten | |
EP0133577B1 (de) | Datenübertragungsverfahren in einem digitalen Übertragungsnetzwerk und Vorrichtung zur Durchführung des Verfahrens | |
DE2833048A1 (de) | Schaltungsanordnung zur aufnahme und abgabe von informationsdaten und signalisierungsdaten bei einer programmgesteuerten vermittlungszentrale | |
EP0193096A2 (de) | Schnittstellenbaustein | |
EP0454218B1 (de) | Zeitvielfachübermittlungssystem | |
DD142135A3 (de) | Mehrrechnerkopplung | |
DE60115998T2 (de) | Verbesserungen in oder zu Vermittlungsvorrichtungen | |
DE3325791C2 (de) | Schaltungsanordnung für mit einer zentralen Steuereinrichtung zusammenarbeitende periphere Einheiten | |
DE2900380C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8127 | New person/name/address of the applicant |
Owner name: AT & T TECHNOLOGIES, INC., NEW YORK, N.Y., US |
|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8328 | Change in the person/name/address of the agent |
Free format text: BLUMBACH, KRAMER & PARTNER, 65193 WIESBADEN |
|
8364 | No opposition during term of opposition |