DE68915701T2 - Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Verklemmungsverhinderung. - Google Patents
Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Verklemmungsverhinderung.Info
- Publication number
- DE68915701T2 DE68915701T2 DE68915701T DE68915701T DE68915701T2 DE 68915701 T2 DE68915701 T2 DE 68915701T2 DE 68915701 T DE68915701 T DE 68915701T DE 68915701 T DE68915701 T DE 68915701T DE 68915701 T2 DE68915701 T2 DE 68915701T2
- Authority
- DE
- Germany
- Prior art keywords
- block
- bus
- local
- local bus
- access
- 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 - Fee Related
Links
- 230000002265 prevention Effects 0.000 title description 4
- 239000000872 buffer Substances 0.000 claims description 17
- 238000002955 isolation Methods 0.000 claims description 6
- 238000013475 authorization Methods 0.000 claims 3
- 230000003139 buffering effect Effects 0.000 claims 1
- 101100191136 Arabidopsis thaliana PCMP-A2 gene Proteins 0.000 description 11
- 101100048260 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) UBX2 gene Proteins 0.000 description 11
- 238000000034 method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 101150024599 BSC6 gene Proteins 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 102000047724 Member 2 Solute Carrier Family 12 Human genes 0.000 description 2
- 108091006621 SLC12A1 Proteins 0.000 description 2
- 108091006620 SLC12A2 Proteins 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 102100030341 Ethanolaminephosphotransferase 1 Human genes 0.000 description 1
- 101100172525 Homo sapiens SELENOI gene Proteins 0.000 description 1
- 101100437897 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) BSC4 gene Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- 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/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- 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/167—Interprocessor communication using a common memory, e.g. mailbox
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)
- Mathematical Physics (AREA)
- Bus Control (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf ein Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln.
- In dem System ist jeder Prozessor mit wenigstens einem lokalen Arbeitsspeicher versehen, zu dem die anderen Systemprozessoren ebenfalls über einen Systembus Zugriff haben.
- Der Systembus stellt ebenfalls ein gemeinsames allgemeines Betriebsmittel dar.
- Für solche Systeme sind verschiedene Architekturen vorgeschlagen und verwirklicht worden. Die hauptsächlichen zu lösenden Probleme in solchen Architekturen sind Konfliktauflösungen beim Gewähren des Zugriffs auf die allgemeinen oder gemeinsamen Betriebsmittel, Verklemmungsverhinderung und optimale Ausnutzung der verfügbaren Betriebsmittel.
- Ein Datenverarbeitungssystem mit verteilten gemeinsamen Betriebsmitteln umfasst in seiner einfachsten Architektur eine Vielzahl von Prozessoren, von denen jeder mit seinem eigenen lokalen Speicher über einen lokalen Bus kommuniziert, und einen Systembus, der mit den verschiedenen lokalen Bussen über Schnittstellen und Arbitrierungsschaltkreise verbunden ist.
- Um Zugriff auf den lokalen Speicher eines anderen Prozessors zu haben, muß ein Prozessor sowohl Zugriff auf seinen eigenen lokalen Bus und auf den Systembus, als auch auf den lokalen Bus des anderen Prozessors erhalten.
- Vom logischen Standpunkt aus gesehen sind daher drei Arbitrierungsebenen enthalten:
- Eine erste Ebene, um Kontrolle über den lokalen Bus zu erhalten, der zu dem anfragenden Prozessor gehört, eine zweite Ebene, um Kontrolle über den Systembus zu erhalten und eine dritte Ebene, um Kontrolle über den lokalen Bus zu erhalten, der zu dem lokalen Speicher gehört, der antwortet.
- Der anfragende Prozessor kann zu dem lokalen Speicher eines anderen Prozessors nur dann Zugriff erhalten, wenn eine Arbitrierungsphase abgeschlossen ist, durch die alle erforderlichen Betriebsmittel dem anfragenden Prozessor zur Verfügung gestellt werden.
- Wenn der Arbitrierungsprozeß, wie es in der Praxis auftritt, durch Schritte, die logisch und zeitlich aufeinander folgen, durchgeführt wird, in dem Sinn, daß der anfragende Prozessor zuerst Zugriff auf seinen eigenen lokalen Bus, dann auf den Systembus und schließlich auf den lokalen Bus erhält, der zu dem antwortenden, lokalen Speicher gehört, können unaufgelöste Konflikte und eine Verklemmungssituation auftreten.
- Angenommen ein Prozessor A erhält Zugriff auf seinen lokalen Bus BLA und fordert Zugriff auf den Systembus SB an, um einen Schreib/Lesevorgang in dem lokalen Speicher LMB, der zu einem Prozessor B gehört, durchzuführen. In der Zwischenzeit erhält Prozessor B Zugriff auf seinen lokalen Bus BLB und fordert Zugriff auf den Systembus SB an, um einen Schreib/Lesevorgang in dem lokalen Speicher LMA durchzuführen, der zu dem Prozessor A gehört.
- Selbst wenn der Arbitrierungsprozeß dem Prozessor A Zugriffsrecht auf den Systembus gewährt, kann der Prozessor A nicht mit dem lokalen Speicher LMB kommunizieren, da der lokale Bus BLB bereits belegt ist. Deshalb muß er warten, bis der lokale Bus BLB frei wird. Dies ist unmöglich, da der Prozessor B, um den lokalen Bus BLB freizugeben, den Zugriff auf den Systembus benötigt, der unter der Kontrolle des Prozessors A gehalten wird. Dieselbe Situation tritt auf, wenn der Prozessor B anstelle des Prozessors A Zugriff auf den Systembus erhält.
- Verschiedene Anordnungen wurden für die Auflösung dieser Konflikte vorgeschlagen.
- Die Spannweite reicht von "Unterbrechungs- "und "Wiederholungs-"Mechanismen bis hin zu Schaltkreisen für das Erkennen von Verklemmungen und das Abtrennen der Handlungsteilnehmer, die die Verklemmung verursachen, wie z.B. der Busarbitrierer, der in WO-A1- 84/0483 beschrieben ist. Ein weiteres Beispiel solcher Hilfsmittel ist in EP-A-320607 beschrieben, die unter Art. 54(3) EPC fällt.
- Diese Anordnungen haben gravierende Nachteile, sowohl in bezug auf die Verschlechterung der Arbeitsleistung und/oder der Komplexität der Datenübertragungspfade unter den verschiedenen Systemeinheiten, als auch in bezug auf die Arbitrierungs- und Steuerschaltkreise, mit der Konsequenz höherer Kosten.
- Diese Nachteile werden durch das Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Verklemmungsverhinderung überwunden, das Gegenstand der vorliegenden Erfindung nach Anspruch 1 ist und das weiterhin den Vorteil aufweist, mit Systembussteuer - und Arbitrierungseinheiten verwirklicht zu sein, die auf dem Markt in Form von integrierten Schaltkreisen verfügbar sind.
- Weiterhin bietet es den Vorteil eines allgemeinen Anstiegs der Arbeitsleistungen.
- Diese Vorteile werden durch die Verwendung von Schnittstellenelementen zwischen den lokalen Bussen und dem Systembus erreicht, die als Puffer für die Operationen dienen, die durch einen anfragenden Prozessor angefordert werden, und durch die Verwendung einer Schaltung zur Überbrückung solcher Puffer.
- Auf diese Weise kann jeder Prozessor, wenn er einmal eine Zugriffsanforderung zu Betriebsmitteln gestartet hat, die durch den Systembus erreicht werden können, und wenn der Schnittstellenpuffer einmal geladen ist, seinen lokalen Bus freigeben und die Überbrückungsschaltung ermöglicht es, Zugriff von dem Systembus auf den lokalen Bus, falls dieser frei ist, zu erhalten, ohne den Schnittstellenpuffer zu beeinträchtigen.
- Zu diesem Zweck, speziell für eine Leseoperation, ist ein Trennblock für das Abtrennen der Prozessorausgänge von dem lokalen Bus bereitgestellt, um so die Ausführung einer Leseoperation mit einer ersten Belegungsphase (oder Auswahl oder Festhaltephase) des lokalen Busses und einer zweiten Belegungsphase des lokalen Busses oder einer Wiederherstellung der Verbindung zu ermöglichen, um die ausgelesene Information nutzbar zu empfangen. Diese Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung und den beiliegenden Zeichnungen deutlicher werden, die Folgendes darstellen:
- - Fig.1 ist ein Blockschaltbild eines Multiprozessorsystems gemäß der vorliegenden Erfindung.
- - Fig.2 ist ein Blockschaltbild eines Schnittstellenblocks zwischen Prozessor und lokalem Bus für das System der Fig.1.
- - Fig.3 ist ein Blockschaltbild eines Schnittstellenblocks zwischen lokalem Bus und lokalem Speicher in dem System der Fig.1.
- - Fig.4 ist ein Blockschaltbild eines Schnittstellenblocks, um in dem System der Fig.1 Zugriff von dem lokalen Bus auf den Systembus zu erhalten.
- - Fig.5 ist ein Blockschaltbild eines Überbrückungsblocks, um in dem System der Fig.1 Zugriff von dem Systembus auf den lokalen Bus zu erhalten.
- - Fig.6 ist ein Blockschaltbild einer Arbitrierungseinheit, um in dem System der Fig.1 den Zugriff auf den lokalen Bus zu arbitrieren.
- Fig.1 zeigt ein Blockschaltbild eines Multiprozessorsystems gemäß der vorliegenden Erfindung.
- Das System weist eine Vielzahl (zum Beispiel vier) zentraler Verarbeitungseinheiten oder CPU 1,..4 auf.
- Die Einheiten sind zueinander in bezug auf die Einzelheiten der Architektur identisch, die nur unter Bezugnahme auf CPU 1 gezeigt sind.
- Die verschiedenen CPU kommunizieren untereinander über einen Systembus (SB) 5. Zusätzlich zu den verschiedenen CPU können gemeinsame Speicher und Eingabe/Ausgabe Steuereinheiten, nicht dargestellt, mit dem Systembus 5 verbunden werden.
- Eine Takteinheit 6 stellt Taktsignale bereit, die für den Betrieb des Systems benötigt werden. CPU 1 umfasst eine Verarbeitungseinheit 7 oder Mikroprozessor MP1, einen lokalen Speicher 8 (LM1) und eine Schnittstellen- und Arbitrierungseinheit 10 (INT & ARB) des Systembusses. Die Einheiten 7, 8, 10 kommunizieren untereinander über den lokalen Bus 11.
- Genauer gesagt, kommuniziert MP1 7 mit dem lokalen Bus 11 über einen Steuer- und Trennblock 12 und die Schnittstelleneinheit 10 kommuniziert mit dem lokalen Bus 11 über eine Pufferausgabeeinheit 9 oder SBOUT und über einen Eingabeblock 40 oder SBIN.
- Der Zugriff auf den lokalen Bus 11 von den verschiedenen Einheiten wird durch einen Steuer - und Arbitrierungsblock 13 oder ARBT gesteuert.
- Die Schnittstelleneinheit 10 ermöglicht es, den Systembus 5 mit dem lokalen Bus 11 zu verbinden, und zwar über den Block 40, wenn die Zugriffsanforderung auf den lokalen Bus von dem Systembus kommt, oder über den Block 9, wenn die Zugriffsanforderung auf den Systembus von dem lokalen Bus kommt.
- Die Schnittstelleneinheit 10 arbitriert die Kontrolle über den Systembus zusammen mit den entsprechenden Schnittstelleneinheiten der anderen CPU.
- Die Einheiten, die mit dem lokalen Bus verbunden sind, sind von zweierlei Art: "Haupteinheiten", die Zugriff auf den lokalen Bus anfordern und erhalten können, und "Untereinheiten", die aufgrund von Anforderungen der Haupteinheiten ausgewählt werden oder auf die verwiesen wird.
- Typischerweise sind die Einheit MP1 und der Systembus, von der Einheit 10 und dem Block 40 aus gesehen, "Haupteinheiten".
- Der lokale Speicher 8 und der Systembus sind, von den Blöcken 9 und 10 aus gesehen, "Untereinheiten".
- Für den Zweck, Zugriff auf den lokalen Bus zu erhalten, können der Speicher 8 und der Systembus jedoch die Rolle einer "Haupteinheit "übernehmen, um die Antwortphase oder die Operation der Wiederherstellung der Verbindung durchzuführen, die bei Leseoperationen erforderlich ist.
- Mit der oben zusammengefassten Architektur ist jedes Verklemmungsproblem vermieden. Tatsächlich ist, wenn MP1 Zugriff auf den lokalen Bus (durch die Arbitrierungseinheit 13) erhält, der Block 12 in arbeitsfähigen Zustand versetzt und MP1 kann durch die Auswahl von entweder dem lokalen Speicher 8 oder dem Block 9 eine Informationsübertragung durchführen. Bei der zweiten Möglichkeit wirkt der Block 9 als Puffer für Übertragungsanforderungen, die irgendein, außerhalb der CPU1 gelegenes, Betriebsmittel über den Systembus 5 auswählen, wie beispielsweise den lokalen Speicher LM4 der CPU4.
- In diesem Fall überträgt der Block 9 eine Systembuszugriffsanforderung zu der Einheit 10. Falls die Zugriffsanforderung eine Schreiboperation über den Systembus betrifft, werden die Addresse, wohin zu schreiben ist, die zu schreibende Angabe und der verbundene Schreibbefehl in den Puffer 9 geladen.
- Auf diese Weise können der Prozessor MP1 und der Block 12 den lokalen Bus freigeben. Es ist eine Aufgabe des Blocks 9, die Schnittstelleneinheit 10 zu starten, die über ein geeignetes Arbitrierungsprotokoll den Zugriff auf den Systembus erhält, um die so festgehaltene Schreiboperation auszuführen.
- Falls die Zugriffsanforderung eine Leseoperation über den Systembus betrifft, werden die Addresse, wohin zu schreiben ist, und der verbundene Lesebefehl in den Puffer 9 geladen. Der Block 12 kann den lokalen Bus freigeben, während der Prozessor 7 auf die angeforderten Daten wartet.
- Es ist eine Aufgabe des Blocks 9, die Schnittstelleneinheit 10 zu starten, die mit der erforderlichen Arbitrierung den Zugriff auf den Systembus erhält, um die bereits festgehaltene Leseoperation auszuführen.
- In beiden Fällen, falls die Schnittstelleneinheit 10 durch auf dem Systembus vorhandene Signale bereits als empfangende Einheit ausgewählt ist, um eine auf dem Systembus vorhandene Angabe in den lokalen Speicher 8 der CPU1 zu schreiben, oder aus demselben lokalen Speicher eine Angabe zu lesen, die auf den Systembus übertragen werden soll, lädt die Einheit 10 die im Puffer 9 anhängige Anforderung zeitweise außer Acht und kann den Block SBIN 40 starten.
- Die Information, die mit dem Zugriffszyklus verbunden ist, der durch den Systembus SB angefordert wurde, wird in Block 40 gespeichert.
- Der Block 40 kann daraufhin Zugriff auf den lokalen Bus 11 von dem Arbitrierer 13 anfordern und erhalten und kann dadurch den Zugriff auf den lokalen Speicher 8 vervollständigen.
- Wenn die Information einmal gespeichert ist, oder die Leseanforderung festgehalten ist, wird der lokale Bus 11 freigegeben.
- Im Fall einer Schreiboperation wird der Systembus 5 ebenfalls freigegeben, während er im Fall eine Leseanforderung nur freigegeben wird, wenn die angeforderte Information ausgelesen und zu SB5 übertragen wurde.
- Die Freigabe wird durch die Schnittstelleneinheit der CPU bewirkt, die als "anfragende Einheit" wirkt.
- Sobald SB5 freigegeben ist, kann die Schnittstelleneinheit 10 mit einem Arbitrierungsprotokoll Zugriff auf den Systembus 5 anfordern.
- Wenn der Zugriff gewährt ist, kann sie die Übertragung der in dem Puffer 9 anhängigen Lese/Schreibnachricht auf den Bus durchführen.
- Sobald die Operation durchgeführt wurde, wird im Fall einer Schreiboperation der Systembus SB5 freigegeben. Im Fall einer Leseoperation werden die ausgelesenen Daten über SB5 und die Schnittstelleneinheit 10 zu Block 9 übertragen, der Zugriff auf den lokalen Bus anfordert. Der Arbitrierer 13 sendet unter Berücksichtigung der geltenden Prioritäten für ein vorbestimmtes Zeitintervall ein den Zugriff gewährendes Signal zu dem Block 9.
- Dasselbe Signal, das von dem Block 12 empfangen wird, der eine Wartebedingung für von dem Systembus empfangene Daten gespeichert hat, versetzt den Block 12 in den arbeitsfähigen Zustand, um zu erkennen, daß die Daten verfügbar sind.
- Der Block 12 meldet dieses Ereignis dem Prozessor 7, der die Daten empfangen kann. Der Datenübertragungsprozeß wird daher ohne Verklemmung abgeschlossen.
- Es könnte bemerkt werden, daß, während für Leseoperationen, die von einer CPU in dem lokalen Speicher einer anderen CPU durchgeführt werden, ein Prozeß verwendet wird, der aus dem "Festhalten" des Lesebefehls, gefolgt von einer Phase der Wiederherstellung der Verbindung, um die ausgelesenen Daten zu empfangen, besteht, im Fall einer Schreiboperation der verwendete Prozeß nur aus der "Festhalte" Phase besteht. Es wäre jedoch möglich, den Festhalteprozeß und den Prozeß der Wiederherstellung der Verbindung sogar im Fall einer Schreiboperation zu verwenden, um dem anfragenden Prozessor zu ermöglichen, Fehlersignale (Datenübertragungsfehler, nicht existierende oder geschützte Speicherortauswahl) im Verlauf derselben Schreiboperation zu empfangen.
- Es ist offensichtlich, daß während der Zeit, in der der der Prozessor MP1 von dem lokalen Bus getrennt ist und der Übertragungsprozeß auf dem Systembus noch aktiv ist oder in Block 9 anhängig ist, der lokale Bus für andere Zwecke, nicht nur für die Verklemmungsverhinderung, verwendet werden kann. Wenn beispielsweise eine Schreiboperation festgehalten wurde, kann der Prozessor MPI mit dem Durchführen anderer Operationen fortfahren, die die Verwendung des lokalen Busses erfordern, wie beispielsweise dem Zugriff auf einen lokalen Speicher oder auf nicht gezeigte lokale Betriebsmittel, ohne die Erfordernis auf den Abschluß der Operation auf dem Systembus zu warten.
- Falls die festgehaltene Operation eine Leseoperation ist, kann MP1, der auf die Daten wartet, nicht auf den lokalen Bus zu anderen Zwecken zugreifen, aber andere, nicht gezeigte "Haupteinheiten", beispielsweise eine direkte Speicherzugriffseinheit DMA, können Zugriff auf den lokalen Bus haben, um auf eine andere lokale "Untereinheit" als den Block 9 zu verweisen (in dem Fall, daß auf Block 9 ebenfalls für das Festhalten einer Schreiboperation verwiesen wird).
- Es ist daher offensichtlich, daß die Gesamtarbeitsgeschwindigkeit des Systems vergrößert werden kann, da die Verwendung des lokalen Busses nicht mehr durch Operationen, die auf dem Systembus laufen, eingeschränkt ist.
- Es ist weiter offensichtlich, daß, selbst wenn dies nicht für die Verklemmungsaufiösung, sondern für den Vorteil der efflzienteren Verwendung des lokalen Busses erforderlich ist, der lokale Speicher mit einem Puffer versehen werden kann, der ähnlich zu Block 12 ist, so daß Leseoperationen, die an dem lokalen Speicher angefordert werden, mit einem Prozeß der Auswahl (oder Festhalten) und der Wiederherstellung der Verbindung durchgeführt werden können. Aus diesem Grund ist in dem lokalen Speicher 8 der Fig.1 ein Schnittstellenblock 8A gezeigt, der vorgesehen ist, diese Funktion zu haben.
- Eine Verallgemeinerung des Datenübertragungskonzepts zwischen Haupt- und Untereinheit, basierend auf dem Prozeß des Festhaltens und der Wiederherstellung der Verbindung, ermöglicht die Ausführung der zwei Phasen in sehr kurzen Zeitintervallen der Belegung des lokalen Busses, wenn die Puffer der Zielbetriebsrnittel verfügbar sind.
- Ein weiterer Vorteil bei der effizienten Verwendung des lokalen Busses ist daher durch die Bereitstellung eines Arbitrierers für den lokalen Bus erreicht, der einem Anforderer den Zugriff nicht nur durch das Auflösen von Konflikten unter konkurrierenden Haupteinheiten, unter Berücksichtigung geltender Prioritäten, sondern auch in Abhängigkeit der Verfügbarkeit der Zieleinheiten, um den speziellen Typ der angeforderten Operation durchzuführen, gewährt.
- In einem bevorzugten Ausführungsbeispiel des Systems der Fig.1 können die verschiedenen Prozessoren, wie beispielsweise MP1, aus dem integrierten Schaltkreis 68030 der U.S. Firma MOTOROLA bestehen. Das "user manual" dieses Erzeugnisses, veröffentlicht 1987, stellt alle Informationen bereit, die für die Verwendung und das Verständnis der Operationen des Bauteils erforderlich sind.
- Die Schnittstelleneinheit 10 ist vorzugsweise ein integriertes Schaltkreisbauteil MPC "message passing coprocessor "hergestellt von der Firma INTEL und in der Gebrauchsanweisung "MPC user manual" beschrieben, die 1986 veröffentlicht wurde.
- Diese Bauteil ermöglicht es, das Datenübertragungsprotokoll zu verarbeiten und Zugriffsanforderungen auf einen Systembus zu arbitrieren, der als MULTIBUS II bekannt ist und durch den internationalen Standard "High Performance Synchronous 32 bit Bus Standard", veröffentlicht von IEEE am 29.05.1987, festgelegt ist.
- Auf dieses Schriftstück wird für genauere Informationen verwiesen, die sich auf das Datenübertragungsprotokoll und die Merkmale eines solchen Busses beziehen.
- Fig.2 zeigt als Blockschaltbild ein bevorzugtes Ausführungsbeispiel des Schnittstellenblocks 12, der in den zuvor beschriebenen Zusammenhängen besonders einfach ist und im wesentlichen aus einem Satz von Sendern/Empfängern oder "Sender-Empfängern" 14, einem Satz von Gattern 15 mit je drei möglichen Zuständen und einem kombinatorischem Netzwerk oder Dekoder 16 besteht.
- Auf der oberen Seite des Blocks 12 sind Zuleitungen/Signale gezeigt, die mit MPI wechselwirken.
- Auf der unteren Seite des Blocks 12 sind die Signale/Zuleitungen gezeigt, die von dem lokalen Bus verwendet werden.
- Der bidirektionale Datenpfad DBUS von MP1 ist mit einem Datenkanal LBD des lokalen Busses durch den Satz "Sender-Empfänger" 14 verbunden.
- Der Adressenkanal ABUS von MP1 ist mit einem Adressenkanal LBA des lokalen Busses 11 durch den Satz von Gattern 15 verbunden.
- Der Block 12 empfängt weiterhin von MP1 ein Signal AS, das, wenn es gültig ist, die von MP1 ausgegebenen Adressen, Daten und Befehle geltend macht, und ein Signal R/W, das mit seinem logischen Pegel die Art der von MP1 angeforderten Operation festlegt, nämlich eine Schreiboperation (R/W ungültig) oder eine Leseoperation (R/W gültig).
- Der Block 12 sendet zu MP1 ein Signal STERM mit einer festgelegten Phasenbeziehung hinsichtlich eines Taktsignals CK, das verwendet wird, die MP1 Operation zu takten.
- Wenn es gültig ist, zeigt STERM an, daß die von MPI angeforderte Operation abgeschlossen werden kann.
- Im Fall einer Leseoperation zeigt es weiterhin an, daß die angeforderten Daten verfügbar sind oder innerhalb des nächsten Auftretens des CK Takts verfügbar sein werden.
- Der Block 12 empfängt von der Arbitrierungseinheit 13 und durch den lokalen Bus ein Signal ENCPU, das ihm ermöglicht, Zugriff auf den lokalen Bus zu haben.
- Er empfängt weiterhin zwei Signale ENRLM und ENRSB, die anzeigen, daß der lokale Speicher oder der System Bus in den Zustand versetzt sind, die Verbindung mit dem lokalen Bus wiederherzustellen, um ausgelesene Daten der anfordernden "Haupteinheit" bereitzustellen. Über den lokalen Bus werden drei weitere Signale von dem Block 12 empfangen: LMBSY, LMRPG (gültig von Block 8A) und SBBSY (gültig von Block 9).
- Wenn sie gültig sind, zeigen die Signale LMBSY und SBBSY an, daß die zugehörigen Blocks belegt sind und keine neue Anforderung annehmen können.
- Wenn das Signal LMRPG gültig ist, zeigt es an, daß obwohl der Block 8A eine Leseoperation gestartet hat (d.h. er hat die Befehle und Adressen übertragen), die Leseoperation immer noch anhängig ist.
- Die folgenden Signale werden von Block 12 für die Verteilung zu den verschiedenen Einheiten 8A, 13, 9 auf den lokalen Bus 11 gegeben:
- - LBR/W (äquivalent zu R/W), das die angeforderte Operation als eine Lese- oder Schreiboperation festlegt. LBR/W wird durch eines der Gatter des Satzes 15 gesteuert.
- - MPLM, das den lokalen Speicher als "Untereinheit" oder Zieleinheit auswählt.
- - MPSB, das den System Bus (über den Block 9) als Untereinheit auswählt, auf die durch den Befehl verwiesen wird.
- Das Dekodernetzwerk 16 kombiniert die verschiedenen Signale, die in Block 12 eingegeben werden, um die Ausgabesignale und internen Signale für die Steuerung der Gatter 14 und 15 zu erzeugen.
- Die zeitliche Abfolge der erzeugten Signale hängt von der zeitlichen Abfolge der von außen empfangenen Signale ab.
- Besser als jede detaillierte Schaltkreisbeschreibung, beschreiben die folgenden logischen Gleichungen den Betrieb und die Verwirklichung von Block 12, wobei der Buchstabe , der vor dem Namen des Signals steht, hier und im Folgenden das Symbol der logischen Inversion oder Negation anzeigt.
- MPLM = An.AS.ENCPU. LMBSY. R/W + An.AS.ENCPU.R/W. LMRPG. LMBSY
- Diese Gleichung zeigt im wesentlichen an, daß das Signal MPLM, das von dem lokalen Bus aus die Auswahl des lokalen Speichers steuert, gültig ist, wenn ein Bit An (oder mehrere Bits) einer Adresse auf den lokalen Speicher als Zieleinheit für den Befehl verweisen, falls ein solches Bit An durch AS geltend gemacht wird, falls der Prozessor MP durch den Arbitrierer 13 (ENCPU gültig) in den Zustand versetzt ist auf den lokalen Bus zugreifen zu können und falls der lokale Speicher nicht bereits belegt ist (LMBSY ungültig im Fall einer Schreiboperation und LMRPG ungültig im Fall einer Leseoperation).
- Die verschiedene Behandlung der Lese- und Schreibbefehle wird erklärt, wenn man in Betracht zieht, daß ein Schreibbefehl von MP1 in der lokalen Speicherschnittstelle 8A "festgehalten" werden kann, selbst wenn der lokale Speicher eine Leseoperation durchführt, die zuvor von einer anderen Haupteinheit angefordert wurde.
- Wenn der Schreibbefehl einmal festgehalten ist, ist der Prozessor MP frei, mit der Ausführung einer anderen Operation fortzuschreiten.
- Im Gegensatz dazu muß im Fall eines Lesebefehis der Prozessor MP auf jeden Fall auf die ausgelesenen Daten warten. Es ist daher vorzuziehen, den Lesebefeh1 zurückzustellen, bis er effektiv ausgeführt werden kann.
- Zusätzlich wird das Überlappen von Lesebefehlen für den lokalen Speicher, ausgegeben von unterschiedlichen anfordernden Einheiten, vermieden, was die Identifikation der Einheiten, zu denen die Daten geleitet werden wenn sie verfügbar sind, schwierig machen würde. MPLM wird ungültig, wenn der Befehl durch die Schnittstelleneinheit 8A des lokalen Speichers akzeptiert ist.
- Zu diesem Zeitpunkt wird die Einheit 8A auf belegt gesetzt und LMBSY wird gültig. MPLM versetzt die Sender-Empfänger 14 und die Gatter 15 in Hinsicht auf den lokalen Bus in arbeitsfähigen Zustand.
- In gleicher Weise, aber ohne die Unterscheidung zwischen Lese- und Schreiboperationen, wird der Befehl, der Block 9 für den Zugriff auf den Systembus auswählt und um die Sender- Empfänger 12 und die Gatter 15 in Hinsicht auf den lokalen Bus in arbeitsfähigen Zustand zu versetzen, durch die folgende Gleichung ausgedrückt:
- MPSB = Am.AS.ENCPU. SBBSY
- wobei Am ein Bit (oder mehrere Bits) einer Adresse ist, die auf den Systembus als Zielraum (externer Raum) für den Befehl verweist.
- Das Signal STERM wird im Fall einer Schreiboperation durch die folgende Gleichung ausgedrückt:
- STERM=MPLM. R/W + MPSB. R/W
- oder vorzugsweise und nur aus Gründen der Arbeitsgeschwindigkeit durch:
- STERM=An.ENCPU. LMBSY. R/W + Am.ENCPU. SBBSY. R/W
- Im Fall einer Leseoperation:
- STERM=R/W.An.AS.ENRLM.POST+R/W.Am.AS.ENRSB.POST
- wobei POST ein internes Signal von Block 12 ist.
- POST wird gemäß der folgenden Gleichung erzeugt:
- POST=MPLM.R/W+MPSB.R/W+POST. AS
- Mit anderen Worten detektiert der Block 12, basierend auf der Adressenausgabe von MP, wenn er einmal den Lesebefehl (POST gültig) gesendet hat, ob die von dem Arbitrierer 13 durchgeführte Wiederherstellung der Verbindung für ihn selbst oder für eine andere Zieleinheit bestimmt ist.
- Die Sender-Empfänger 14 können durch den gültigen Befehl R/W in den Zustand versetzt werden, Daten von dem lokalen Bus zu empfangen und zu MP zu senden.
- Fig.3 zeigt den Schnittstellenblock 8A des lokalen Speichers als Blockschaltbild.
- Der Block 8A umfasst ein Speichereingabedatenregister 17, ein Speicherausgabedatenregister 18 mit Ausgängen die drei Zustände einnehmen können, ein Adress- und Befehlsregister 19 und eine finite-Zustand-Logik 20.
- Die mit dem lokalen Bus ausgetauschten Signale sind auf der unteren Seite des Blocks 8A gezeigt.
- Vorhanden sind LBD (Daten), LBA (Adressen), LBR/W (Schreib/Lesebefehl), MPLM (Auswahlbefehl, erzeugt durch den Prozessor MP1), SBLM (Auswahlbefehl, erzeugt durch Block 40 für den Zugriff auf den lokalen Speicher von dem Systembus), LMBSY (Ausgabesignal, um anzuzeigen, daß der Block 8A bereits belegt ist), LMRPG (Ausgabesignal, um anzuzeigen, daß eine Leseoperation anhängig ist), LMRQ (Ausgabesignal, um anzuzeigen, daß der lokale Speicher eine Wiederherstellung der Verbindung zu dem lokalen Bus benötigt) und ENRLM (Befehl, der die Wiederherstellung der Verbindung des lokalen Speichers ermöglicht und der durch die Arbitrierungseinheit 13 erzeugt wird).
- Die Signale, die zwischen dem Block 8A und dem lokalen Speicher ausgetauscht werden, sind auf der oberen Seite des Blocks 8A gezeigt.
- Typischerweise sind dies: DI/O (Eingabe-/Ausgabedaten), AD (Adressen), MR/W (Lese- /Schreibbefehl), DRDY (Daten-bereit-Signal), MST (Speicher-Start-Signal) und MBSY (Speicherzyklus-läuft- und Speicher-belegt-Signal).
- Der Block 8A empfängt weiterhin ein periodisches Taktsignal CK von der Einheit 6 (Fig.1).
- Das Laden der Register 17, 19 wird durch den folgenden Befehl durchgeführt:
- LD=CK.MPLM+CK.SBLM
- MPLM und SBLM sind gültig, wenn der Block 8A bereit ist, Befehle zu empfangen, d.h. wenn LMBSY ungültig ist und wenn die zugehörige Haupteinheit, Zugriff auf den lokalen Bus erhalten hat.
- Das Register 18 wird aufgrund des Befehls DRDY mit den aus dem Speicher ausgelesenen Daten geladen.
- Die Ausgänge des Registers 18 werden durch ENRLM in den arbeitsfähigen Zustand versetzt. Das Signal LMBSY ist durch die folgende Gleichung gegeben:
- LMBSY=MPLM.CK+SBLM.CK+LMBSY. (MST.CK)
- Mit anderen Worten wird LMBSY gültig, wenn der Lese-/Schreibbefehl geladen ist und erhält sich selbst aufrecht, bis das gemeinsame Auftreten von CK und MST diesen Zustand beseitigt. Das Speicher-Start-Signal MST ist gegeben durch:
- MST=LMBSY. MBSY
- Es wird gültig (wenn eine Operation in Block 8A festgehalten wird und deshalb LMBSY gültig ist) sobald der Speicher belegt wird.
- Das Signal LMPRG ist durch die folgende Gleichung gegeben:
- LMPRG=MPLM.CK.LBR/W+SBLM.CK.LBR/W+LMRPG. ENLRM
- Mit anderen Worten wird es gültig, wenn eine Lesebefehl zu Block 9 gesendet wird und erhält sich selbst aufrecht, bis der Block 9 durch das gültige Signal ENRLM in den Zustand versetzt wird, die Verbindung zu dem lokalen Bus wiederherzustellen.
- LMRQ ist durch die folgende, selbsterklärende Gleichung gegeben:
- LMRQ=DRDY+LMRQ. ENRLM
- Fig .4 zeigt schematisch die Schnittstellen- und Arbitrierungseinheit 10, den Block 9 und die Verbindungen zwischen den zwei Einheiten und mit dem lokalen Bus auf einer Seite, und dem Systembus auf der anderen Seite.
- Der Block 9 tauscht mit dem lokalen Bus 11 Daten LBD aus und empfängt Adressen LBA und das Signal LBR/W.
- Er empfängt weiterhin den Auswahlbefehl MPSB von Block 12, das Signal für die Wiederherstellung der Verbindung ENRSB von dem Arbitrierer 13 und gibt die Signale SBRQ (zu dem Arbitrierer 13 für die Wiederherstellung der Verbindung zu dem lokalen Bus) und SBBSY (zu dem Arbitrierer 13 und zu Block 12) aus.
- Er empfängt weiterhin das Taktsignal CK von der Einheit 6 (Fig.1).
- Der Block 9 tauscht mit der Einheit 10 die folgenden Signale aus: Daten (DSBUS), Adressen (ASBUS), ein Signal MEMSEL (das die auszuführende Operation beschreibt) und zwei verschiedene Befehle, um eine Leseoperation (R) oder eine Schreiboperation (W) zu starten. Der Block 9 empfängt von der Einheit 10 ein Signal WAIT (es zeigt an, daß die angeforderte Operation läuft) und ein Signal REFADDR, das ein Adressenregister in den Zustand versetzt, die darin gespeicherten Adressen auf den Systembus zu übertragen.
- Das WAIT Signal wird unmittelbar vor der Datenverfügbarkeit auf dem Systembus ungültig. Die oben erwähnten Signale sind die Einzigen, die in dem hier betrachteten Fall, daß die Einheit 10 aus einem Koprozessor MPC von INTEL besteht, benötigt werden.
- Die Einheit 10 umfasst zusätzlich zu dem Koprozessor MPC 21 einen Satz Steuergatter 22, die den Koprozessor mit dem Systembus verbinden. Sie werden durch den Koprozessor gesteuert. Der Koprozessor 21 umfasst zwei Register 23, 24, um die mit Block 9 ausgetauschten Daten (DS BUS) zwischenzuspeichern und handhabt, wenn er durch das Gültigwerden des Signals MEMSEL einmal getriggert ist, in selbständiger Art und Weise die Arbitrierung des Systembusses und seines Datenübertragungsprotokolls.
- Der Block 9 umfasst im wesentlichen einen Satz Sender-Empfänger 27 für das Trennen des lokalen Datenbusses LBD von dem Systemdatenbus DSBUS, ein Register 25, um eine Adresse zwischenzuspeichern und eine finite-Zustand-Logik 26, um Steuersignale als Funktion der als Eingabe empfangenen Signale zu erzeugen.
- Die Steuersignale erfüllen die folgenden Gleichungen:
- MEMSEL=MPSB
- W= LBR/W.MPSB.CK+W.SBBSY
- R=LBR/W.MPSB.CK+R.SBBSY
- SBBSY=MPSB.CK+SBBSY. REFADDR+SBBSY.WAIT
- SBRPG=R.REFADDR+SBRPG. ENRSB
- SBRQ=SBRPG. WAIT
- Diese Gleichungen sind durch die Anforderungen des MPC Koprozessors hinsichtlich des zeitlichen Ablaufs bedingt.
- MEMSEL muß vor dem R oder W Befehl gültig gemacht werden.
- Der R oder der W Befehl müssen wenigstens gültig bleiben, bis das WAIT Signal nicht mehr gültig ist. Letzteres wird mit einer gewissen Verzögerung dann gültig, wenn MEMSEL von dem Koprozessor empfangen wird.
- Aus diesem Grund sind zwei Terme zur Selbstaufrechterhaltung von SBBSY erforderlich. SBRPG ist ein internes Hilfssignal, das für die Erzeugung von SBRQ verwendet wird.
- Die Gatter 27 werden für eine Übertragung zu MPC 21 durch ein Signal EN1=MPSB und für die Übertragung zu dem lokalen Bus durch ein Signal EN2=ENRSB in den arbeitsfähigen Zustand versetzt.
- Das Register 25 wird durch einen Befehl LD=MPSB.CK geladen und seine Ausgänge werden durch ein Signal REFADDR in den arbeitsfähigen Zustand versetzt, das von MPC 21 mit einem zeitlichen Ablauf, der von dem Schnittstellenprotokoll des Systembusses benötigt wird, erzeugt wird.
- Fig.5 zeigt als Blockschaltbild die Schnittstelleneinheit 10, den Block 40 (SBIN) und die Verbindungen der zwei Einheiten untereinander und mit dem lokalen Bus auf einer Seite und mit dem Systembus auf der anderen Seite.
- Wie bereits bemerkt, umfasst die Schnittstelleneinheit 10 den Koprozessor 21 und den Satz von Sendern-Empfängern 22.
- Über diese Sender-Empfänger ist der Systembus, oder besser die Leitungen des Systembusses, die vorgesehen sind, Daten, Adressen und Befehle zu übertragen, sowohl mit Block 10 als auch mit Block 40 verbunden.
- Sie stellen einen Pfad 28 für die Überbrückung der Schiiittstelleneinheit 10 dar.
- Der Block 40 umfasst im wesentlichen ein Pufferregister 29 zum Speichern von Adressen und Befehlen, die von der Überbrückung 28 empfangen wurden und Adress- und Befehlsregister 30, in einer Kaskade mit dem ersten geschaltet, ein Datenregister 31 für Daten, die von der Überbrückung 28 zu dem lokalen Bus gerichtet werden müssen, ein Datenregister 32 für Daten, die von dem lokalen Bus zu der Überbrückung 28 gerichtet werden müssen, und eine finite-Zustand-Logik 33 für die Erzeugung eines Steuersignals als Funktion der Signale, die von dem lokalen Bus und der Einheit 10 empfangen werden.
- Es ist bekannt, daß der Koprozessor 21 fortwährend die auf dem Systembus vorhandenen Signale überwacht und in der Lage ist, zwischen den verschiedenen Phasen der Arbitrierung, der Befehle und der Datenübertragung zu unterscheiden, die auf dem Systembus vorkommen. Er ist weiterhin in der Lage Adressenfelder zu detektieren, die auf ihn als Schnittstelle zu einem Zielraum verweisen.
- Wenn dies geschieht, gibt MPC ein Auswahlsignal SEL zu Block 40.
- SEL bleibt gültig, bis die "Handshaking" Prozedur auf dem Systembus abgeschlossen ist, d.h. bis bestimmte Signale, auf die in der MULTIBUS Beschreibung als BSC2, BSC2, BSC4 verwiesen wird, auf dem Systembus gültig sind.
- Der Koprozessor 21 empfängt ein Signal COM von dem Block 40.
- COM zeigt an, daß der Block 40 bereit ist, die angeforderte Operation abzuschließen.
- Die folgende Information wird zwischen dem Block 40 und dem lokalen Bus ausgetauscht:
- - Daten LBI, ausgegeben vom Register 31 oder zur Eingabe in Register 32,
- - Adressen, von dem Register 30 zu dem lokalen Bus hin ausgegeben,
- - Steuersignale LBR/W, SBINLM und SBR/W zu dem lokalen Bus und Steuersignale ENSB und ENRLM von dem lokalen Bus.
- Der Block 40 empfängt weiterhin ein periodisches Zeitsignal CK1 (zusätzlich zu CK) von der Einheit 6. CK1 ist ein Zeitsignal, das verwendet wird, den Betrieb des Systembusses zu takten.
- Das Register 29 kann als "Einfrier-"Register betrachtet werden, um einen vorübergehenden Zustand zu veffolgen, der auf dem Systembus auftritt, d.h. die Befehlsphase.
- Während der Befehlsphase, gekennzeichnet durch das Gültigwerden eines Signals BSCO auf dem Systembus, sind Adressen und Befehle auf dem Systembus vorhanden.
- Der Ladebefehl für das Register 29 ist daher LD3=BSC0.CK1 und die in Register 29 zwischengespeicherte Information wird festgehalten, bis eine neue Ausgabe von BSC0 erfolgt. Die Register 30, 31 werden durch ein Steuersignal LD4 geladen, das durch die folgende Gleichung gegeben ist:
- LD4=SEL. BSY. SELI
- Mit anderen Worten, wenn der Koprozessor 21 eine auf dem Systembus vorhandene Adresse als Zielraum erkennt, macht er SEL gültig.
- Dies tritt auf, wenn die Adresse auf dem Systembus nicht mehr vorhanden ist und anstatt dessen im Fall einer Schreiboperation die zu schreibende Information vorhanden ist.
- Daher wird bei dem Gültigwerden von SEL das Register 30 mit den Adressen und Befehlen geladen, die bereits in dem Register 29 gespeichert sind und das Register 31 wird mit den Daten geladen, die auf dem Systembus vorhanden sind.
- Die Operation des Ladens wird nur durchgeführt, wenn die zwei internen Signale BSY und SEL1 ungültig sind.
- BSY zeigt an, daß die Register 30 und 31 belegt sind und ist durch folgende Gleichung definiert:
- BSY=LD4+BSY.ENSB.CK
- BSY wird mit LD4 gültig und wird erhält sich selbst aufrecht, bis der Befehl ENSB, der Verbindungsbefehl zu dem lokalen Bus synchronisiert mit dem lokalen Bus Takt von der Einheit 40 empfangen wird.
- SEL1 ist ein Hilfssignal, daß durch die folgende Gleichung definiert ist:
- SEL1=ENSB+SEL1. ( SEL.CK1)
- SEL1 wird gültig, wenn der Befehl ENSB für die Verbindung von Block 40 zu dem lokalen Bus empfangen wird.
- SEL1 erhält sich selbst bis zum Auftreten des ersten Takts CK1 des Systembusses, der dem Ungültigwerden des SEL Signals folgt, aufrecht.
- In der Gleichung, die LD4 definiert, stellt der Term SEL1 sicher, daß nach dem ersten Laden der Register 30, 31 deren Zustand nicht verändert wird, bis das Signal SEL effektiv ungültig ist, selbst wenn das Signal BSY ungültig ist.
- Das Signal SBINLM, durch das der Block 40 Zugriff auf den lokalen Bus anfordert, ist durch die folgende Gleichung definiert:
- SBINLM=BSY
- Das Signal SBR/W ist durch SBR/W=BSC6 gegeben, wobei BSC6 ein Steuersignal ist, das auf dem Systembus während der Befehlsphase erscheint und in dem Register 29 zwischengespeichert wird.
- Wenn es gültig ist, kennzeichnet BSC6 die angeforderte Operation als Schreiboperation. Das Signal SBR/W wird in dem Block 40 verwendet, zu "erinnern", wenn die angeforderte Operation für einen Schreiboperation ist und daher aus dem lokalen Speicher ausgelesene Daten in der Phase der Wiederherstellung der Verbindung empfangen werden müssen. SBR/W wird weiterhin zu dem Arbitrierer 13 gesandt, der verhindert, daß der Block 40 Zugriff auf den lokalen Speicher hat, wenn eine Leseoperation anhängig ist.
- Das Signal COM ist durch die folgende Gleichung definiert:
- COM=SBINLM. SBR/W+ENRLM.SBR/W.SEL1+COM.SEL1
- Es wird mit der Zugriffsanforderung auf den lokalen Bus im Fall einer Schreiboperation und mit dem Befehl für die Wiederherstellung der Verbindung des lokalen Speichers (wobei detektiert wird ob es im Zusammenhang steht, wenn SEL1 gültig ist) im Fall einer Leseoperation gültig.
- COM erhält sich selbst aufrecht bis SEL1 ungültig wird.
- Im Fall einer Schreiboperation signalisiert COM dem Koprozessor MPC, daß das Schnittstellenprotokoll abgeschlossen werden kann.
- Im Fall einer Leseoperation signalisiert COM, daß die ausgelesenen Daten verfügbar sind. Der Koprozessor MPC steuert die Gatter 22 für die Übertragung der ausgelesenen Daten von dem Register 32 (wo sie durch einen Befehl LD5=ENRLM.SBR/W.CK geladen wurden) über die Überbrückung 28 zu dem Systembus.
- Weiterhin ermöglicht er das Schnittstellenprotokoll auf dem Systembus abzuschließen.
- Die Ausgänge des Registers 32 werden durch ein Steuersignal SEL.BSC6 in den arbeitsfähigen Zustand versetzt.
- Die Ausgänge der Register 30, 31 werden durch das Signal ENSB in den arbeitsfähigen Zustand versetzt.
- Fig.6 zeigt die Signale, die an der Arbitrierungseinheit 13 ein- und ausgegeben werden.
- Die Arbitrierungseinheit 13 kann auf verschiedene Weise verwirklicht werden: ein bevorzugtes Ausführungsbeispiel mit einem PLA (Programmierbares logisches Feld) ist beispielsweise in EP-A-0274648 beschrieben.
- Sogar in diesem Fall ist der Betrieb und die Verwirklichung des Arbitrierers 13 eher als durch die Schaltungsausführung durch die logischen Gleichungen beschrieben, die die Ausgabesignale als Funktion der Eingabesignale definieren.
- Im wesentlichen empfängt der Arbitrierer 13 Zugriffsanforderungen auf den lokalen Bus von den verschiedenen Einheiten, prüft die verschiedenen Anforderungen die beim Auftreten eines Taktsignals CK gegenwärtig vorhanden sind und erzeugt, abhängig von der Priorität, die jeder anfordernden Einheit zugewiesen ist, ein Signal, das der Einheit mit der höheren Priorität den Zugriff gewährt.
- Eine bevorzugte Reihenfolge der Prioritäten beim Bedienen von Zugriffsanforderungen ist beispielsweise (mit absteigender Priorität):
- - Anforderungen des lokalen Speichers für eine Wiederherstellung der Verbindung (um die ausgelesenen Daten bereitzustellen)
- - Block 9 (Systembus) für eine Wiederherstellung der Verbindung
- - Block 40 für den Zugriff vom Systembus aus auf den lokalen Speicher
- - Block 12 (d.h. MP1) für den Zugriff auf den lokalen Speicher oder den Systembus.
- Da MP1 die niedrigste Priorität hat, wird der Zugriff auf den lokalen Bus "durch Ausbleiben" gewährt, d.h. beim Fehlen jeder anderen Anforderung höherer Priorität und falls der lokale Bus verfügbar ist, wird das Signal ENCPU stets erzeugt.
- Um zu vermeiden, daß der Arbitrierer 13 die MP1 gewährten Zugriffsrechte auf den lokalen Bus zurücknimmt, wenn MP1 eine Operation auf dem lokalen Bus durchführt, signalisiert der Block 12 mit Hilfe von MPLM, MPSB, daß gegenwärtig eine Operation ausgeführt wird. Ein Merkmal des Arbitrierers 13 ist, daß die Einheiten, die den Zugriff auf den lokalen Bus anfordern, den Typ des angeforderten Betriebsmittels und der durchzuführenden Operation kennzeichnen.
- Auf diese Weise zeigt der Systembusschnittstellenblock 40 beispielsweise an, daß das angeforderte Betriebsmittel der lokale Speicher ist (SBINLM). Zusätzlich zeigt er an, ob die Operation eine Lese- oder Schreiboperation ist (SBR/W).
- Der Arbitrierer 13 gewährt den Zugriff auf den lokalen Bus nicht nur als Funktion der zugeteilten Prioritäten, sondern ebenfalls als Funktion des Zustands des angeforderten Betriebsmittels.
- Mit anderen Worten, falls das Zielbetriebsmittel belegt ist und die spezielle Art der angeforderten Operation nicht durchführen kann, wird die Zugriffsanforderung maskiert und eine Anforderung niedrigerer Priorität, die jedoch für ein verfügbares Betriebsmittel bestimmt ist, wird vorgezogen.
- Aufgrund des Mechanismus der "festgehaltenen" Schreib- und Leseoperationen, die mit dem Festhalten des Befehls und nachfolgender Wiederherstellung der Verbindung durchgeführt werden, benötigt jede Phase der Zuweisung des lokalen Busses an eine anfordernde Einheit, falls das Zielbetriebsmittel verfügbar ist, nur zwei Zyklen des Taktsignals (den Zyklus, der dem Taktsignal CK vorangeht, durch das die Operation in einem Zielregister festgehalten wird und den unmittelbar nachfolgenden Zyklus).
- Aus diesem Grund ist der lokale Bus wirkungsvoll genützt.
- Verschiedene Zugriffsoperationen auf verfügbare Betriebsmittel können in der Zeit durchgeführt werden, die für ein Betriebsmittel erforderlich ist, um verfügbar zu werden, und der lokale Bus wird nicht durch eine Einheit höherer Priorität besetzt gehalten, die auf das Verfügbarwerden einer Zieleinheit wartet.
- Dieselbe Regel wird von Block 12 befolgt, als dem Nutznießer des Zugriffs auf den lokalen Bus durch Ausbleiben.
- Selbst wenn der lokalen Bus verfügbar ist (ENCPU gültig), prüft Block 12 vor dem Gültigmachen von MPSB oder MPLM, daß die Zieleinheit verfügbar ist (SBBSY oder LMBSY ungültig). Im Fall einer Anforderung einer Leseoperation an den lokalen Speicher, prüft er weiterhin, daß eine Leseoperation nicht bereits läuft (LMRPG ungültig).
- Nachdem die vorstehenden Konzepte erläutert wurden, sind die folgenden logischen Gleichungen, die den Betrieb der Arbitrierungseinheit 13 beschreiben, selbsterklärend:
- ENRLM=LMRQ.CK. MPSB. MPLM. ENRSB. ENSB+ENRLM. ( LMRQ.CK)
- ENRSB=SBRQ.CK. MLMRQ. MPLM. MPSB. ENRLM. ENSB+ ENRSB. ( SBRQ.CK)
- ENSB=SBINLM.CK. LMRQ. SBRQ. MPSB. MPLM. ENRSB. ENRLM. LMBSY+ ENSB. ( SBINLM.CK) (Im Fall einer Schreiboperation)
- ENSB=SBINLM.CK. LMRQ. SBRQ. MPSB. MPLM. ENRSB. ENRLM.
- NLMRPG.SBR/W. LMBSY+ENSB. ( SBINLM.CK) (Im Fall einer Leseoperation)
- ENCPU= ENRLM. ENRSB. SBLM
- Wie bereits gesagt wurde, können die verschiedenen logischen Funktionen, die durch die vorstehenden Gleichungen beschrieben werden, durch logische Netzwerke ausgeführt werden, die mit auf dem Markt verfügbaren Komponenten verwirklicht sind, wie UND, ODER, INVERTIERER oder vorzugsweise mit Hilfe von programmierbaren logischen Feldern (PAL) oder logischen Gatterfeldern.
- Beispielhaft ist in Fig.6 ein logisches Netzwerk für die Erzeugung des Signals ENSB gezeigt. Zwei UND Gatter 34, 35 mit invertierenden und nicht invertierenden Eingängen, empfangen die verschiedenen Signale, die den Zustand des lokalen Busses und den Zustand der damit verbundenen verschiedenen Einheiten beschreiben.
- Die UND Gatter 34, 35 geben die Signale ENSB1 und ENSB2 jeweils im Fall einer Schreib - oder Leseoperation aus.
- Die Ausgänge der Gatter 34, 35 sind mit dem Eingang des ODER Gatters 36 verbunden, das das Signal ENSB ausgibt.
- Das sich selbst aufrechterhaltende Signal ENSB am Ausgang von Gatter 36 wird durch das Verbinden des Ausgangs von Gatter 36 mit einem Eingang des UND Gatters 38 erhalten, das einen zweiten Eingang mit dem Ausgang des NAND Gatters 37 verbunden hat.
- Die Signale SBINLM und CK werden in das NAND Gatter 37 eingegeben.
- Der Ausgang des UND Gatters 38 ist mit einem Eingang des Gatters 36 verbunden.
- Es wird bemerkt werden, daß drei Kategorien von Signalen in die Gatter 34, 35 eingegeben werden:
- - Zugriffanforderungssignale auf den lokalen Bus, wobei SBINLM, LMRQ und SBRQ miteinander konkurrieren. Diese Signale werden in konventioneller Weise arbitriert. SBINLM hat eine niedrigere Priorität als LMRQ und SBRQ: Damit SBINLM ENSB gültig machen kann, müssen LMRQ und SBRQ ungültig sein.
- - Signale, die den Zustand des lokalen Busses als belegt anzeigen (MPSB, MPLM, ENRSB, ENRLM). Diese müssen alle ungültig sein, wenn der lokale Bus irgendeiner Einheit zugeteilt wurde.
- - Signale, die den Zustand der Zielbetriebsmittel als belegt anzeigen (LMBSY, LMRPG), die ungültig sein müssen, wenn der lokale Bus für solche Zielbetriebsmittel zugeteilt werden muß. Es wird weiterhin bemerkt werden, daß die Zugriffsanforderung (SBINLM) zusätzlich zu der Anforderung des lokalen Busses die Zieleinheit kennzeichnet (lokaler Speicher) und weiter durch ein begleitendes Anzeigesignal (SBR/W) charakterisiert ist, das die Art der durchzuführenden Operation anzeigt und folglich die zu seiner Ausführung erforderlichen Betriebsmittel.
- In dem gezeigten Beispiel ist die Kennzeichnung der Zieleinheit in dem Signal SBINLM enthalten, da die Einheit 40 nur den lokalen Speicher kennzeichnet.
- Wie es bei dem Prozessor MP der Fall ist, kann die Einheit 40 jedoch auch den Zugriff auf verschiedene Betriebsmittel anfordern, indem eine Vielzahl von Zugriffsanforderungssignalen oder ein einzelnes Zugriffsanforderungsignal auf den lokalen Bus, das von einem Betriebsmittelkennzeichnungssignal begleitet ist, verwendet wird.
- Basierend auf den bereits aufgelisteten logischen Gleichungen ist es einfach, logische Netzwerke für die Erzeugung der Signale ENRLM, ENRSB und ENCPU zu entwerfen.
- Diese Netzwerke sind durch den Block 39 dargestellt.
- Es wird bemerkt werden, daß die Erzeugung der Signale ENRLM und ENRSB nicht die Prüfung des Zustands der Zieleinheit erfordert (die offensichtlich auf die ausgelesenen Daten warten wird und daher verfügbar sein wird, um sie zu empfangen).
- Was ENCPU betrifft, wird dieses Signal durch Ausbleiben erzeugt.
- Deshalb muß der Zustand der Zieleinheit nicht betrachtet werden. Im Gegensatz dazu ist der Zustand der Zieleinheit Bedingung für einen effektiven Zugriff auf den lokalen Bus und die Erzeugung der Signale MPLM und MPSB durch den Block 12.
- Nichts schließt jedoch die Bereitstellung von Zentraleinheiten CPU aus, wo die Prozessoren MP Zugriff auf den lokalen Bus durch eine Arbitrierungseinheit erhalten, auf der Basis von spezifischen Buszugriffsanforderungen und spezifischen Antworten, die den Bus zuteilen, die nicht nur in Übereinstimmung mit der geltenden Priorität und der Verfügbarkeit des lokalen Busses, sondern auch in Abhängigkeit der effektiven Verfügbarkeit des Zielbetriebsmittels erzeugt werden können.
- Es ist weiterhin offensichtlich, daß während auf CPU verwiesen wurde, bei denen die "Haupteinheiten" auf den Prozessor 7 und den Eingabeschnittstellenblock mit dem Systembus (10, 40) beschränkt sind, die CPU eine größere Anzahl von "Haupteinheiten" umfassen können, wie beispielsweise eine direkte Speicherzugriffseinheit (DMA) oder äußere Steuereinheiten. Die gleiche Betrachtung trifft auf die passiven Einheiten oder "Untereinheiten" zu: Registerreihen und andere Betriebsmittel können zusätzlich zu dem lokalen Speicher 8 und dem Ausgabeschnittstellenblock mit dem Systembus (10, 9) in Betracht gezogen werden.
Claims (4)
1. Datenverarbeitungs-Multiprozessorsystem mit verteilten,
gemeinsamen Betriebsmitteln, wobei jede Verarbeitungseinheit
CPU einen Prozessor (7), einen lokalen Speicher (8), eine
Systembusschnittstelleneinheit (10), einen lokalen Bus (11) zur
Datenübertragung zwischen dem Prozessor (7), dem lokalen
Speicher (8) und der Schnittstelleneinheit (10) sowie eine
Arbitrierungseinheit (13) zum Arbitrieren des Zugriffs auf den
lokalen Bus umfaßt, dadurch gekennzeichnet, daß jede CPU umfaßt:
- einen Trennblock (12) des Prozessors (7) von dem lokalen
Bus,
- einen zwischen dem lokalen Bus und der
Schnittstelleneinheit (10) angeordneten Trenn- und Zwischenspeicherblock
(9 SBOUT) zum "Festhalten" von Zugriffsbefehlen für den
Systembus, wobei die Zugriffsbefehle von dem Prozessor
erzeugt werden,
- einen Eingabeblock (40-SBIN) parallel zur
Schnittstelleneinheit, zum Empfang von Zugriffsanforderungen für den
lokalen Speicher von dem Systembus und dem
Zwischenspeicher,
- wobei der Trenn- und Zwischenspeicherblock (9) erste
Schaltungsmittel umfaßt, zum Erzeugen von
Anforderungssignalen zur Wiederherstellung der Verbindung mit dem lokalen
Bus nach Erhalt von Daten von dem Systembus,
- wobei der Trennblock (12) zweite Schaltungsmittel umfaßt,
zur Wiederherstellung der Verbindung des Prozessors mit
dem lokalen Bus, als einem Empfänger, wenn der Trenn- und
Zwischenspeicherblock (9) nach Berechtigung durch die
Arbitrierungseinheit wieder an den lokalen Bus
angeschlossen ist.
2. System nach Anspruch 1, dadurch gekennzeichnet, daß
wenigstens eine CPU des Systems einen Eingabeblock (8A) des
lokalen Speichers zum Zwischenspeichern von
Zugriffsanforderungen für den lokalen Speicher und zum Trennen des lokalen
Speichers von dem lokalen Bus umfaßt, wobei der Eingabeblock (8A)
des lokalen Speichers dritte Schaltungsmittel zum Erzeugen
eines Anforderungssignals zur Wiederherstellung der Verbindung
mit dem lokalen Bus umfaßt, wenn die aus dem lokalen Speicher
ausgelesenen Daten verfügbar werden, und wobei der Eingabeblock
(40) vierte Schaltungsmittel zum Wiederherstellen der
Verbindung mit dem lokalen Bus als einem Datenempfänger umfaßt, wenn
der lokale Speicher nach Berechtigung durch die
Arbitrierungseinheit wieder an den lokalen Bus angeschlossen ist.
3. System nach Anspruch 2, dadurch gekennzeichnet, daß der
Trennblock (12) und der Eingabeblock (40) fünfte und sechste
Schaltungsmittel umfassen, die jeweils zur Identifikation der
Blöcke als Zieleinheit bei der durch die Arbitrierungseinheit
berechtigten Wiederherstellung der Verbindung entweder des
Trenn- und Zwischenspeicherblocks (9) oder des Eingabeblocks
(8A) des lokalen Speichers mit dem lokalen Bus dienen.
4. System nach Anspruch 3, dadurch gekennzeichnet, daß die
Arbitrierungseinheit Zugriffsanforderungssignale für den
lokalen Bus von einer Vielzahl von Anforderungseinheiten oder
"Haupteinheiten" zusammen mit der Angabe einer Zieleinheit für
die Zugriffsanforderungen empfängt und Mittel (34, 35, 36, 37,
38) umfaßt zum Empfangen wenigstens eines Signals, das die
Verfügbarkeit einer Zieleinheit zum Empfangen einer
Zugriffsanforderung angibt, und zum Erzeugen einer Zugriffsberechtigung
für den lokalen Bus ENSB, ausgehend von der den
Anforderungseinheiten zugewiesenen Priorität und der Verfügbarkeit einer
Zieleinheit zum Empfang der Zugriffsanforderung.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT8822651A IT1227711B (it) | 1988-11-18 | 1988-11-18 | Sistema multiprocessore di elaborazione dati a risorse distribuite condivise e prevenzione di stallo. |
Publications (2)
Publication Number | Publication Date |
---|---|
DE68915701D1 DE68915701D1 (de) | 1994-07-07 |
DE68915701T2 true DE68915701T2 (de) | 1994-09-15 |
Family
ID=11198868
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE68915701T Expired - Fee Related DE68915701T2 (de) | 1988-11-18 | 1989-11-04 | Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Verklemmungsverhinderung. |
DE68928772T Expired - Fee Related DE68928772T2 (de) | 1988-11-18 | 1989-11-04 | Datenverarbeitungssystem mit sich um Zugriff auf verteilte Betriebsmittel bewerbenden Einheiten und mit auf den Status der verteilten Betriebsmittel reagierender Schiedsrichtereinheit |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE68928772T Expired - Fee Related DE68928772T2 (de) | 1988-11-18 | 1989-11-04 | Datenverarbeitungssystem mit sich um Zugriff auf verteilte Betriebsmittel bewerbenden Einheiten und mit auf den Status der verteilten Betriebsmittel reagierender Schiedsrichtereinheit |
Country Status (4)
Country | Link |
---|---|
US (1) | US5182808A (de) |
EP (2) | EP0581335B1 (de) |
DE (2) | DE68915701T2 (de) |
IT (1) | IT1227711B (de) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5301337A (en) * | 1990-04-06 | 1994-04-05 | Bolt Beranek And Newman Inc. | Distributed resource management system using hashing operation to direct resource request from different processors to the processor controlling the requested resource |
US5265257A (en) * | 1990-06-22 | 1993-11-23 | Digital Equipment Corporation | Fast arbiter having easy scaling for large numbers of requesters, large numbers of resource types with multiple instances of each type, and selectable queuing disciplines |
DE69230428T2 (de) * | 1991-09-27 | 2000-08-03 | Sun Microsystems, Inc. | Verklemmungserkennung und Maskierung enthaltende Busarbitrierungsarchitektur |
US5283870A (en) * | 1991-10-04 | 1994-02-01 | Bull Hn Information Systems Inc. | Method and apparatus for avoiding processor deadly embrace in a multiprocessor system |
US5426739A (en) * | 1992-03-16 | 1995-06-20 | Opti, Inc. | Local bus - I/O Bus Computer Architecture |
US5309568A (en) * | 1992-03-16 | 1994-05-03 | Opti, Inc. | Local bus design |
US5388224A (en) * | 1992-04-24 | 1995-02-07 | Digital Equipment Corporation | Processor identification mechanism for a multiprocessor system |
US5666511A (en) * | 1992-10-08 | 1997-09-09 | Fujitsu Limited | Deadlock suppressing schemes in a raid system |
US5500946A (en) * | 1992-11-25 | 1996-03-19 | Texas Instruments Incorporated | Integrated dual bus controller |
FR2708766B1 (fr) * | 1993-08-03 | 1995-09-08 | Bull Sa | Procédé d'analyse d'interblocages dans un système d'exploitation. |
US5708794A (en) * | 1993-08-10 | 1998-01-13 | Dell Usa, L.P. | Multi-purpose usage of transaction backoff and bus architecture supporting same |
US5469435A (en) * | 1994-01-25 | 1995-11-21 | Apple Computer, Inc. | Bus deadlock avoidance during master split-transactions |
AU1832295A (en) * | 1994-01-25 | 1995-08-08 | Apple Computer, Inc. | System and method for coordinating access to a bus |
GB9405855D0 (en) * | 1994-03-24 | 1994-05-11 | Int Computers Ltd | Computer system |
US5586289A (en) * | 1994-04-15 | 1996-12-17 | David Sarnoff Research Center, Inc. | Method and apparatus for accessing local storage within a parallel processing computer |
US5878240A (en) * | 1995-05-11 | 1999-03-02 | Lucent Technologies, Inc. | System and method for providing high speed memory access in a multiprocessor, multimemory environment |
US5682537A (en) * | 1995-08-31 | 1997-10-28 | Unisys Corporation | Object lock management system with improved local lock management and global deadlock detection in a parallel data processing system |
KR0172310B1 (ko) * | 1995-12-29 | 1999-03-30 | 김주용 | 교착 상태 방지를 위한 버스 유닛 |
US6006255A (en) * | 1996-04-05 | 1999-12-21 | International Business Machines Corporation | Networked computer system and method of communicating using multiple request packet classes to prevent deadlock |
US6108737A (en) * | 1997-10-24 | 2000-08-22 | Compaq Computer Corporation | Method and apparatus for reducing latency of inter-reference ordering in a multiprocessor system |
US6055605A (en) * | 1997-10-24 | 2000-04-25 | Compaq Computer Corporation | Technique for reducing latency of inter-reference ordering using commit signals in a multiprocessor system having shared caches |
US6085263A (en) * | 1997-10-24 | 2000-07-04 | Compaq Computer Corp. | Method and apparatus for employing commit-signals and prefetching to maintain inter-reference ordering in a high-performance I/O processor |
US6286090B1 (en) * | 1998-05-26 | 2001-09-04 | Compaq Computer Corporation | Mechanism for selectively imposing interference order between page-table fetches and corresponding data fetches |
US6792513B2 (en) | 1999-12-29 | 2004-09-14 | The Johns Hopkins University | System, method, and computer program product for high speed backplane messaging |
CA2322613A1 (en) | 2000-10-06 | 2002-04-06 | Ibm Canada Limited-Ibm Canada Limitee | Latch mechanism for concurrent computing environments |
US6795878B2 (en) * | 2000-12-11 | 2004-09-21 | International Business Machines Corporation | Verifying cumulative ordering of memory instructions |
GB0118294D0 (en) * | 2001-07-27 | 2001-09-19 | Ibm | Method and system for deadlock detection and avoidance |
US8473634B2 (en) * | 2003-10-23 | 2013-06-25 | Microsoft Corporation | System and method for name resolution |
US7185175B2 (en) * | 2004-01-14 | 2007-02-27 | International Business Machines Corporation | Configurable bi-directional bus for communicating between autonomous units |
US7694023B1 (en) | 2006-01-24 | 2010-04-06 | Lockheed Martin Corporation | Routing a processor communication |
WO2008154365A1 (en) * | 2007-06-06 | 2008-12-18 | Hunt Technologies, Llc. | Dsp workload distribution in a power line carrier system |
US8429353B2 (en) * | 2008-05-20 | 2013-04-23 | Oracle America, Inc. | Distributed home-node hub |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4038644A (en) * | 1975-11-19 | 1977-07-26 | Ncr Corporation | Destination selection apparatus for a bus oriented computer system |
NL7907179A (nl) * | 1979-09-27 | 1981-03-31 | Philips Nv | Signaalprocessorinrichting met voorwaardelijke- -interrupteenheid en multiprocessorsysteem met deze signaalprocessorinrichtingen. |
US4698746A (en) * | 1983-05-25 | 1987-10-06 | Ramtek Corporation | Multiprocessor communication method and apparatus |
US4763249A (en) * | 1983-09-22 | 1988-08-09 | Digital Equipment Corporation | Bus device for use in a computer system having a synchronous bus |
US4807109A (en) * | 1983-11-25 | 1989-02-21 | Intel Corporation | High speed synchronous/asynchronous local bus and data transfer method |
CA1239227A (en) * | 1984-10-17 | 1988-07-12 | Randy D. Pfeifer | Method of and arrangement for ordering of multiprocessor operations in a multiprocessor system |
EP0179936B1 (de) * | 1984-10-31 | 1990-01-03 | Ibm Deutschland Gmbh | Verfahren und Einrichtung zur Steuerung einer Sammelleitung |
US4760521A (en) * | 1985-11-18 | 1988-07-26 | White Consolidated Industries, Inc. | Arbitration system using centralized and decentralized arbitrators to access local memories in a multi-processor controlled machine tool |
US4779089A (en) * | 1985-11-27 | 1988-10-18 | Tektronix, Inc. | Bus arbitration controller |
CA1274918A (en) * | 1985-11-27 | 1990-10-02 | John G. Theus | Bus arbitration controller |
JPS62243058A (ja) * | 1986-04-15 | 1987-10-23 | Fanuc Ltd | マルチプロセツサシステムの割込制御方法 |
IT1199745B (it) * | 1986-12-12 | 1988-12-30 | Honeywell Inf Systems | Circuito arbitratore di accesso |
US4831520A (en) * | 1987-02-24 | 1989-05-16 | Digital Equipment Corporation | Bus interface circuit for digital data processor |
US4866664A (en) * | 1987-03-09 | 1989-09-12 | Unisys Corporation | Intercomputer communication control apparatus & method |
US4949239A (en) * | 1987-05-01 | 1990-08-14 | Digital Equipment Corporation | System for implementing multiple lock indicators on synchronous pended bus in multiprocessor computer system |
US4858116A (en) * | 1987-05-01 | 1989-08-15 | Digital Equipment Corporation | Method and apparatus for managing multiple lock indicators in a multiprocessor computer system |
US4937777A (en) * | 1987-10-07 | 1990-06-26 | Allen-Bradley Company, Inc. | Programmable controller with multiple task processors |
US5038274A (en) * | 1987-11-23 | 1991-08-06 | Digital Equipment Corporation | Interrupt servicing and command acknowledgement system using distributed arbitration apparatus and shared bus |
-
1988
- 1988-11-18 IT IT8822651A patent/IT1227711B/it active
-
1989
- 1989-10-20 US US07/424,378 patent/US5182808A/en not_active Expired - Fee Related
- 1989-11-04 EP EP93116232A patent/EP0581335B1/de not_active Expired - Lifetime
- 1989-11-04 EP EP89120432A patent/EP0369264B1/de not_active Expired - Lifetime
- 1989-11-04 DE DE68915701T patent/DE68915701T2/de not_active Expired - Fee Related
- 1989-11-04 DE DE68928772T patent/DE68928772T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE68915701D1 (de) | 1994-07-07 |
DE68928772T2 (de) | 1999-04-08 |
EP0581335B1 (de) | 1998-08-05 |
DE68928772D1 (de) | 1998-09-10 |
US5182808A (en) | 1993-01-26 |
IT8822651A0 (it) | 1988-11-18 |
IT1227711B (it) | 1991-05-06 |
EP0369264B1 (de) | 1994-06-01 |
EP0369264A3 (en) | 1990-07-18 |
EP0581335A2 (de) | 1994-02-02 |
EP0369264A2 (de) | 1990-05-23 |
EP0581335A3 (en) | 1995-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68915701T2 (de) | Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Verklemmungsverhinderung. | |
DE69032481T2 (de) | Buszugriff für Digitalrechnersystem | |
DE68922784T2 (de) | Mehrfachbus-Mikrorechnersystem mit Busarbitrierung. | |
DE69230428T2 (de) | Verklemmungserkennung und Maskierung enthaltende Busarbitrierungsarchitektur | |
DE3853574T2 (de) | Steuerung von Benutzerantworten in einem Übertragungsbus. | |
DE69130106T2 (de) | Arbitrierung von paketvermittelten Bussen, einschliesslich Bussen von Multiprozessoren mit gemeinsam genutztem Speicher | |
DE69108434T2 (de) | Mehrgruppen-Signalprozessor. | |
DE3788805T2 (de) | Prioritaetstechnik für einen zerteilten transaktionsbus in einem multiprozessorrechnersystem. | |
DE69021603T2 (de) | Buszugriffsarbitrierung in digitalen Rechnern. | |
DE69323861T2 (de) | Multiprozessorsystem mit gemeinsamem Speicher | |
DE3851534T2 (de) | Vorrichtung und verfahren zur buszugriffssteuerung. | |
DE69027515T2 (de) | Vorrichtung für Prioritätsarbitrierungskonditionierung bei gepufferter Direktspeicheradressierung | |
DE68925763T2 (de) | Verbindungs- und Zugriffsarbitrierungsanordnung für Multiprozessorsystem | |
DE3689198T2 (de) | Systembus für Kommunikation zwischen Prozessoren. | |
EP0179936B1 (de) | Verfahren und Einrichtung zur Steuerung einer Sammelleitung | |
DE3852698T2 (de) | Multiprozessorsystem mit Vervielfältigung von globalen Daten. | |
DE3783370T2 (de) | Schaltung zur blockierungsverhinderung von hochprioritaetsanforderungen an eine systemsteuerung. | |
DE69901247T2 (de) | Direktspeicherzugriff in einer brücke für ein mehrprozessorsystem | |
DE69736872T2 (de) | Datenverarbeitungssystem | |
DE69901255T2 (de) | Mehrprozessorsystem brücke mit zugriffskontrollierung | |
EP0006164B1 (de) | Multiprozessorsystem mit gemeinsam benutzbaren Speichern | |
DE69515355T2 (de) | Mehrfacharbitrierungsschema | |
DE3882991T2 (de) | Anordnung und methode zur erzielung von unterbrechungen mit einem "pended bus". | |
DE3851445T2 (de) | Durch Direktspeicherzugriff gesteuertes System. | |
DE3642324A1 (de) | Multiprozessoranlage mit prozessor-zugriffssteuerung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Free format text: PATENTANWAELTE RUFF, WILHELM, BEIER, DAUSTER & PARTNER, 70173 STUTTGART |
|
8339 | Ceased/non-payment of the annual fee |