DE4028317B4 - Einem Busarbitrationsverfahren nachgeschaltetes Verfahren zur dezentralen Überwachung des Zugriffs auf gemeinsam nutzbare Komponenten eines Multimikrocomputersystems - Google Patents

Einem Busarbitrationsverfahren nachgeschaltetes Verfahren zur dezentralen Überwachung des Zugriffs auf gemeinsam nutzbare Komponenten eines Multimikrocomputersystems Download PDF

Info

Publication number
DE4028317B4
DE4028317B4 DE19904028317 DE4028317A DE4028317B4 DE 4028317 B4 DE4028317 B4 DE 4028317B4 DE 19904028317 DE19904028317 DE 19904028317 DE 4028317 A DE4028317 A DE 4028317A DE 4028317 B4 DE4028317 B4 DE 4028317B4
Authority
DE
Germany
Prior art keywords
access
microcomputer
occupancy
signal
time
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
Application number
DE19904028317
Other languages
English (en)
Other versions
DE4028317A1 (de
Inventor
Hermann-Josef Dipl.-Ing. Wiegand
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE19904028317 priority Critical patent/DE4028317B4/de
Publication of DE4028317A1 publication Critical patent/DE4028317A1/de
Application granted granted Critical
Publication of DE4028317B4 publication Critical patent/DE4028317B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/372Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a time-dependent priority, e.g. individually loaded time counters or time slot

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Einem Busarbitrationsverfahren nachgeschaltetes Verfahren zur dezentralen Überwachung des Zugriffs auf gemeinsam nutzbare Komponenten eines Multimikrocomputersystems, wobei
a) für diese Komponenten einheitlich dieselbe maximale Belegungszeit (TLOCK) vorgesehen ist, welche in jedem Mikrocomputer ab dem Quittierungssignal (LRDY bzw. GRDY) für den jeweils ersten Zugriff seines Prozessors überwacht wird und nach deren Ablauf das vom Prozessor bewirkte Belegungssignal (LLOCK bzw. GLOCK) unter gleichzeitiger Aktivierung seines Interrupteingangs (NMI) aufgehoben wird, sowie
b) in jedem Mikrocomputer die Wartezeit nach seiner Zugriffsanforderung (ALE) bzw. bei Zugriffsarbitrierung nach seinem Zuteilungssignal (AEN) bis zum Eintreffen des Quittierungssignals (LRDY bzw. GRDY) ermittelt wird und für den Fall, daß diese Zeit größer ist als die maximale Belegungszeit (TLOCK) ein Zwangsquittierungssignal (FRDY bzw. GRDY) unter gleichzeitiger Aktivierung des Interrupteinganges (NMI) seines Prozessors ausgegeben wird.

Description

  • Die Erfindung betrifft ein einem Busarbitrationsverfahren nachgeschaltetes Verfahren zur dezentralen Überwachung des Zugriffs auf gemeinsam nutzbare Komponenten eines Multimikrocomputersystems.
  • In einem Multimikrocomputersystem sind die einzelnen Mikrocomputer über einen gemeinsamen (globalen) Bus miteinander verbunden, an welchen weitere, allgemein nutzbare Systemkomponenten wie Massenspeicher, Peripheriebausteine und Eingabe/Ausgabe-Schnittstellen angeschlossen sind. Neben einem globalen Speicher, in welchem für mehrere Mikrocomputer bedeutsame Daten geführt werden, sind oft auch noch weitere, ebenfalls mit dem gemeinsamen Bus verbundene Speicher vorhanden, auf welche einerseits jeweils ein Mikrocomputer über einem nur ihm zugeordneten lokalen Bus zugreift, während andererseits die übrigen Mikrocomputer auf diesen – auch mit "Dual-Port-Speicher" charakterisierten – Speicher über den gemeinsamen Bus zugreifen können. Die Kommunikation der einzelnen Mikrocomputer untereinander erfolgt vorwiegend unter Verwendung dieser Dual-Port-Speicher. Jeder Mikrocomputer kann zur Koordinierung seiner Zugriffe ein Belegungssignal für den ihm zugeordneten Dual-Port-Speicher oder den globalen Bus aktivieren, mit welchem er nachfolgende Zugriffsversuche anderer Mikrocomputer vereiteln und so die betreffende Systemkomponente ausschließlich für sich reservieren kann. Das Belegungssignal – auch als "LOCK-Signal" bezeichnet – und, seine Aufhebung bzw. Abschaltung werden softwaregesteuert genutzt.
  • Eine falsche Nutzung des LOCK-Signals besteht darin, daß es zur Durchführung einer zu großen Anzahl von Zugriffen zu lange aktiviert wird oder zu spät oder gar nicht abgeschaltet wird, so daß die anderen Mikrocomputer in der Nutzung der entsprechenden Systemkomponente über Gebühr beeinträchtigt werden.
  • Eine weitere Art von softwarebedingten Nutzungsfehlern des LOCK-Signals ergibt sich durch den Einsatz der Dual-Port-Speicher und der damit verbundenen Mehrbusstruktur des Multimikrocomputersystems und ist unter der Bezeichnung "DEAD LOCK" bekannt, womit eine Selbsthemmung bzw. eine nicht ohne Neustart des Systems auflösbare gegenseitige Behinderung der einzelnen Mikrocomputer verstanden wird.
  • Die Fehlnutzung des LOCK-Signals eines zugreifenden Mikrocomputers brachte bisher in einem anderen zugriffswilligen Mikrocomputer dessen Quittierungsüberwachung zum Ansprechen, welche das Ausbleiben des Quittierungssignals auf seinen Zugriffsversuch feststellt. Abgesehen davon, daß diese Fehlermeldung nicht beim Verursacher der Fehlnutzung entsteht, sondern beim "schuldlosen" Mikrocomputer und der Verursacher daher zunächst nicht geortet werden kann, verliert sie auch den Charakter der Eindeutigkeit, denn sie soll nur bei einem Defekt oder dem Fehlen einer mit dem Zugriff angesprochenen Baugruppe, also bei Hardware-Fehlern auftreten. Entsprechend mühsam und zeitaufwendig gestaltet sich dann die Fehlerdiagnose, denn nach Ansprechen der Quittierungsüberwachung bei einem LOCK-Fehler muß zunächst mit Sicherheit ausgeschlossen werden können, daß ein Hardeware-Fehler vorliegt und zur darauffolgenden Nachbesserung der fehlerhaften Software sind die Programme sämtlicher Mikrocomputer in ihrer gegenseitigen zeitlichen Durchdringung zu untersuchen.
  • Die EP 0 382 469 A2 beschreibt ein Computersystem mit Buszugriff-Arbitrierung, welches eine Vielzahl von Geräten umfaßt, die gemeinsam einen Bus benutzen. Jedes der Geräte legt, wenn es Zugriff zu dem Bus braucht, ein Anforderungssignal an den Bus an. Eine mit dem Bus gekoppelte Arbitrierungsschaltung erfaßt jedes solches Anforderungssignal und legt an den Bus ein Arbitrierungssignal an, um eine Arbitrierungsbedingung einzurichten. Jedes der Geräte legt in Reaktion auf das Arbitrierungssignal ein Prioritätssignal an und eines der Geräte, das das höchste Prioritätsniveau anlegt, erlangt Kontrolle über den Bus. Dabei enthält eines der Geräte eine Zeitschaltung, um zu verhindern, daß es das Anforderungssignal während eines ausgewählten Zeitraumes nach Abschluß des Gebrauchs des Busses anlegt.
  • Die Erfindung stellt sich daher die Aufgabe, ein einem Busarbitrationsverfahren nachgeschaltetes Verfahren der angegebenen Art zu Schaffer um Ort und Ursache von Zugriffsstörungen unterscheidbar nach Belegungsfehlern und Hardwarefehlern zu erkennen und diagnostizierbar zu machen sowie im Falle von Belegungsfehlern die Auswirkungen derselben auf den verursachenden Mikrocomputer zu begrenzen.
  • Erfindungsgemäß wird diese Aufgabe mit den im Hauptanspruch angegebenen Maßnahmen gelöst. Damit kann bei Zugriffsstörungen die Beeinträchtigung von Dynamik und Leistung des Multimikrocomputersystems vermindert und die Fehlerbehebung erleichtert werden.
  • Die Erfindung samt ihren weiteren Ausgestaltungen, welche in Unteransprüchen gekennzeichnet sind, soll nachstehend anhand der Figuren näher erläutert werden. Dabei zeigt
  • 1 eine beispielhafte Konfiguration eines Multimikrocomputersystems,
  • 2 den prinzipiellen Aufbau eines nach dem erfindungsgemäßen Verfahren arbeitenden Mikrocomputers,
  • 3 eine zusätzliche Ausgestaltung zum Erkennen möglicher DEAD-LOCK-Situationen.
  • In dem in 1 dargestellten Multimikrocomputersystem 1 sind an einen gemeinsamen Kommunikationsbus GB vier Mikrocomputer MC1 bis MC4, ein Speicher GM sowie eine Eingabe/Ausgabe-Schnittstelle IF angeschlossen. Man bezeichnet einen solchen gemeinsamen Kommunikatinsbus auch als globalen Bus und den allen Mikrocomputern in gleicher Weise zugänglichen Speicher GM als globalen Speicher. Den Mikrocomputern MC1 und MC3 sind jeweils auch noch über nur ihnen zugeordnete (lokale) Busse LB1 bzw. LB3 zugängliche Speicher DPM1 bzw. DPM3 zugeordnet, welche als sogenannte Dual-Port-Speicher auch noch mit dem Globalbus GB in Verbindung stehen. Außerdem steht dem Mikrocomputer MC3 auch noch ein rein lokaler, mit LM3 bezeichneter Speicher zur Verfügung, welcher für ihn ebenfalls über seinen lokalen Bus LB3 erreichbar ist. Jeder der beiden Mikrocomputer MC1 und MC3 greift über seinen lokalen Bus LB1 bzw. LB3 auf den ihm zugeordneten Dual-Port-Speicher DPM1 bzw. DPM3 zu, während die anderen Mikrocomputer nur über den globalen Bus GB auf diese Speicher zugreifen können. Die Kommunikation zwischen den einzelnen Mikrocomputern, d.h. der Datenaustausch erfolgt immer über die Speichereinheiten, die von mehreren Mikrocomputern angesprochen werden können, im vorliegenden Beispiel also über den gemeinsamen Speicher GM und die Dual-Port-Speicher DPM1 und DPM3.
  • 2 gibt den Aufbau eines nach dem erfindungsgemäßen Verfahren arbeitenden Mikrocomputers wieder. Dieser könnte beispielsweise der in 1 mit MC1 bezeichnete Mikrocomputer sein. Charakteristisch für ihn ist, daß er an den globalen Bus GB angeschlossen ist und außerdem über einen lokalen, d.h. nur ihm zugeordneten Bus LB1, mit dem Dual-Port-Speicher DPM1 verbunden ist, wobei letzterer auch noch mit dem gemeinsamen, globalen Bus GB in Verbidung steht. Über den lokalen Bus LB1 kann der Mikrocomputer MC1 auf den ihm zugeordneten Dual-Port-Speicher DPM1 zugreifen, während er über den globalen Bus GB auf den gemeinsamen Speicher GM bzw. andere gemeinsame nutzbare Komponenten wie z.B. die Eingabe/Ausgabe-Schnittstelle IF oder die anderen Mikrocomputer zugeordneten Dual-Port-Speicher zugreift.
  • In der 2 ist mit 2 der Prozessor des Mikrocomputers MC1 bezeichnet, welcher im wesentlichen eine Zentraleinheit mit ihrem Arbeitsspeicher enthält. Vom Prozessor 2 können auf den lokalen Bus LB1 und auf den gemeinsamen Bus GB Daten ausgegeben bzw. auf die an diese Busse angeschlossenen Speichermedien zugegriffen werden. Der Zugriff erfolgt im einzelnen in der Weise, daß nach einer Zugriffsanforderungssignal ALE bzw. bei Zugriffarbitrierung in Bezug auf den globalen Bus GB nach einem von einer Priorisierungseinrichtung 3 ausgegebenen Zuteilungssignal AEN die Leitungen der entsprechenden Adreßbusse mit der Zugriffsadresse beaufschlagt werden und nach Erhalt des vom angesprochenen Speichermedium an den Prozessor abgegebenen Quittierungssignals LRDY bzw. GRDY eine Schreib- oder Leseoperation mit der adressierten Speicherstelle ausgeführt wird. Der Signalzustand auf der mit LW/R bzw. GW/R bezeichneten Steuerleitung des Prozessors 2 bestimmt dabei, ob eine Leseoperation oder eine Schreiboperation durchgeführt wird. Für den Fall, daß mehrere Zugriffe nacheinander auf dasselbe Speichermedium erfolgen sollen, werden vom Prozessor die Signale LLOCK' bzw. GLOCK' ausgegeben, mit denen die Belegungssignale LLOCK bzw. GLOCK wirksam werden. Nach Beendigung der Zugriffe wird das jeweilige Belegungssignal inaktiviert und so der Bus bzw. das Speichermedium für Zugriffe anderer Mikrocomputer freigegeben.
  • Erfindungsgemäß wird nun für eine hardwareseitige Begrenzung der softwaregesteuerten Belegungszeit gesorgt. Dies geschieht mittels der dem lokalen Bus LB1 bzw, dem globalen Bus GB zugeordneten Timern LBT bzw. GBT. Diese Timer werden jeweils gestartet vom Ausgangssignal einer bistabilen Kippstufe 4 bzw. 5, welche gesetzt werden, wenn nach einem vom Prozessor 2 ausgegebenen Signal LLOCK' bzw. GLOCK' das Quittierungssignal LRDY bzw. GRDY eintrifft und zurückgesetzt werden, wenn diese Signale verschwinden, wobei dann auch die Timer LBT und GBT jeweils über ihren Reset-Eingang zurückgesetzt werden. Sollte jedoch nach Starten der Timer LBT bzw. GBT eine Zeit vergangen sein, welche größer ist als eine bestimmte maximale Belegungszeit TLOCK, dann geben diese Timer ein Signal aus, mit welchen UND-Glied 6 bzw. 7 gesperrt werden und so eine Inaktivierung des jeweiligen Belegungssignals LLOCK für den lokalen Bus bzw. GLOCK für den globalen Bus GB, erzwingen. Bei einem solchen Ansprechen der Timer LBT und GBT wird gleichzeitig auch der Interrupteingang NMI des Prozessors 2 aktiviert, um ihn zu einer entsprechenden Behandlung dieses Software-Nutzungsfehlers zu veranlassen. Auch kann das Auftreten dieses Fehlers mittels eines Anzeigeinstrumentes AZS visualisiert werden. Auf diese Weise wird sichergestellt, daß der einzelne Mikrocomputer jeweils nur für die bestimmte maximale Zeit TLOCK seinen lokalen Bus LB1 bzw. den globalen Bus GB belegen kann und nicht eine unbegrenzte Anzahl von Schreib-Leseoperationen unter Verdrängung der übrigen Mikrocomputer des Systems durchführt. Als zweckmäßig hat es sich gezeigt, etwa 100 aufeinanderfolgende Schreib-Leseoperationen zuzulassen und die maximale Belegungszeit TLOCK dementsprechend zu wählen.
  • Zur Überwachung der Wartezeit, die nach einer Zugriffsanforderung des Mikrocomputers für den lokalen Bus LB1 auf den ihm zugeordneten Dual-Port-Speicher vergeht, bis das von diesem ausgesendete, den Zugriff bestätigende Quittierungssignal LRDY bei ihm eintrifft, ist ein weiterer Timer LWT vorgesehen. Wenn der Prozessor 2 die Zugriffsadressen auf den Lokalbus LB1 aufgeschaltet hat, ist auch das Signal ALE (Address Latch ENABLED) vorhanden, mit welchem der Wartetimer LWT gestartet wird. Entsprechendes gilt bei Aufschaltung der Zugriffsadressen auf den globalen Bus GB und das vom Arbiter 3 erzeugte Zuteilungssignal AEN (Address ENABLED), mit dem der Wartetimer GWT gestartet wird. Beide Wartetimer sind auf eine Zeit eingestellt, welche etwas größer ist, als die maximale Belegungszeit TLOCK; zwecks einfacher Realisierung wird man sie meist gleich dem Doppelten dieser Zeit wählen. Durch die den lokalen Bussen bzw. dem globalen Bus zugeordneten Belegungstimern LBT bzw. GBT ist sichergestellt, daß kein Mikrocomputer die entsprechenden Busse länger als die vorgegebene maximale Belegungszeit TLOCK in Anspruch nehmen kann. Wenn also nach Auftreten des Zugriffsanforderungssignals ALE bzw. – des Zuteilungssignals AEN innerhalb der im Wartetimer LWT bzw. GWT eingestellten Zeit das Quittierungssignal LRDY bzw. GRDY eintrifft, wird der Wartetimer LWT bzw. GWT über seinen Reset-Eingang zurückgestellt und der Rechnerbetrieb läuft ungestört weiter. Anderenfalls spricht der entsprechende Wartetimer an, gibt ein über ein ODER-Glied 8 bzw. 9 dem Prozessor 2 zugeführtes Zwangsquittierungssignal FRDY aus, aktiviert über eine weitere Ausgangsleitung den Interrupteingang NMI des Prozessors 2 und bringt über ein ODER-Glied 10 eine Anzeigeeinrichtung AZH zum Ansprechen, womit ein Hardware-Fehler signalisiert wird.
  • Die Regelung der Zugriffsreihenfolge der einzelnen im System vorhandenen Mikrocomputer auf den globalen Bus GB erfolgt in der üblicher Weise dadurch, daß in jedem Mikrocomputer auf sein Zugriffsanforderungssignal ALE mit der computereigenen Priorisierungseinrichtung 3 – auch mit Arbiter bezeichnet – der zugriffswillige Mikrocomputer mit den übrigen um die Zuteilung des Busses ringen muß. Hat er den globalen Bus erobert, kann er die von ihm gewünschten Zugriffsadressen auf den globalen Bus aufschalten, was durch das Signal AEN angezeigt wird, mit welchem, wie schon erwähnt der Wartetimer GWT gestartet wird. Nachdem dafür gesorgt wurde, daß kein Mikrocomputer einen Bus länger als die maximale Belegungszeit TLOCK für sich reservieren kann, bestimmt sich nach einem Zugriffsversuch auf den globalen Bus – eine sogenannte faire Arbitrierung vorausgesetzt – eine maximale Zeit, nach welcher bei intakter Hardware das Zuteilungssignal AEN bzw, das darauffolgende Quittierungssignal QRDY für einen zugriffswilligen Mikrocomputer erscheinen muß. Bei n in Zugriffskonkurrenz stehenden Mikrocomputern wäre dieses eine Zeit von (2n – 1) × TLOCK. Es wird daher ein weiterer Timer GWT1 vorgesehen, welcher auf eine Zeit eingestellt ist, welche größer ist als diese Zeit. Dieser wird mit dem Zugriffsanforderungssignal ALE gestartet und mit dem Quittierungssignal QRDY zurückgesetzt. Vergeht nach seinem Start eine Zeit, welche größer ist als seine eingestellte Zeit, so bewirkt er über ein ODER-Glied ein Zwangsquittierungssignal FRDY sowie über das ODER-Glied 10 ein Ansprechen der Anzeigeeinrichtung AZH und aktiviert den Interrupteingang NMI des Prozessors 2. Bei der in 1 dargestellten Konfiguration wäre n = 4 und die Überwachungszeit des Timers GWT1 also größer als die siebenfache Belegungszeit TLOCK. Zur einfacheren Realisierung wird man bei diesem Beispiel jedoch zweckmäßigerweise den achtfachen Wert von TLOCK wählen. Mit dem Timer GWT1 wird also das ordnungsgemäße Arbeiten des Arbiters 3 und des Wartezeittimers GWT überwacht.
  • Wesentlich ist, daß mit der erfindungsgemäßen Überwachung der jeweils busspezifischen Belegungs- und Wartezeiten eine eindeutige Aussage über Ort und Ursache des aufgetretenen Fehlers gemacht werden kann: Bei Software-Nutzungsfehler sprechen nur die Timer LBT bzw. GBT an, während bei Hardware-Fehlern, d.h. bei Fehlen oder Fehlfunktion einer Baugruppe die Timer LWT bzw. GWT ansprechen, wobei in allen Fällen dann durch Aktivierung des Interrupteingangs NMI des Prozessors 2 eine dementsprechende, gezielte Fehlerbehandlungsroutine gestartet werden kann.
  • Unter der Voraussetzung, daß ein Mikrocomputer gleichzeitig nur auf einen Bus zugreifen wird, können die Funktionen der Belegungstimer LBT und GBT sowie die Funktionen der Wartetimer LWT und GBT jeweils von einem einzigen Timer mit der eingestellten Zeit von TLOCK bzw. > TLOCK übernommen, wenn durch eine diesen Timern vorgeordnete Logikschaltung die für den jeweiligen Zugriff – Zugriff auf den lokalen oder den globalen Bus – erforderliche, aus 2 ersichtliche Beaufschlagung ihrer Eingänge bewirkt wird. Damit kann, insbesondere bei umfangreichen Systemen die Zahl der vorzusehenden Timern erheblich reduziert werden und außerdem können dann Bauteiltoleranzen nicht mehr zu unterschiedlichen Belegungszeiten (TLOCK) bzw. Wartezeiten für den lokalen sowie für den globalen Bus führen.
  • In der Regel wird nach Ansprechen der Timer LBT bzw. GBT, d.h. bei einem Software-Nutzungsfehler eine genauere Analyse der eingesetzten Software zum Zweck einer Nachbesserung erforderlich. Um diese zu erleichtern und zu beschleunigen, sind jeweils für den lokalen Bus LB1 und für den Globalbus GB in jedem Mikrocomputer Adreßzähler LAC und GAC vorgesehen, welche die jeweils während eines Busbelegungssignals LLOCK bzw. GLOCK erfolgenden Zugriffe zählen, sowie Zugriffsadreßregister LAR bzw. GAR mit welchen jeweils zwei aufeinanderfolgende Zugriffsadressen abgespeichert werden. Außerdem ist ein weiteres Register CR vorgesehen, mit welchem der jeweils zugehörige aktuelle Befehlscode abgespeichert wird.
  • Mit dem bisher geschilderten Verfahren wird es möglich, LOCK-Belegungsfehler bei ihrem Auftreten zu erkennen, sogenannte DEAD-LOCKs zu zerschlagen und deren Auswirkungen auf den verursachenden Mikrocomputer zu begrenzen. Um jedoch schon der Entstehung eines DEAD-LOCKs vorzubeugen, empfiehlt sich der in 3 dargestellte Zusatz. Ihm liegt die Erkenntnis zugrunde, daß ein DEAD-LOCK nur dann entstehen kann, wenn ein Mikrocomputer auf beide ihm zur Verfügung stehenden Zugriffswege gleichzeitig zugreift. Dem lokalen Bus LB1 und dem globalen Bus GB sind daher jeweils Belegungsspeicher LBS bzw. GBS – im dargestellten Beispiel in Form von bistabilen Kippstufen – zugeordnet, welche bei aktiven Zugriffsanforderungssignal ALE bzw. bei aktivem Zugriffszuteilungssignal AEN und aktiviertem Belegungssignal LLOCK' bzw. GLOCK' gesetzt werden und bei passivem Belegungssignal zurückgesetzt werden. Die den Setzeingängen zugeordneten Ausgänge werden einem UND-Glied 11 zugeführt, dessen Ausgang über eine Taste 12 mit dem Interrupteingang NMI des Prozessors 2 verbunden werden kann. Bei einem Testlauf wird die Taste 12 betätigt und das Ausgangssignal des UND-Gliedes 11 wird bei jedem Auftreten einer Doppelbelegung den Interrupteingang NMI des Prozessor 2 aktivieren und diesen damit anhalten. Es kann dann fallweise eine detallierte Prüfung dahingehend einsetzen, ob die jeweils aufgetretene Doppelbelegung zulässig ist oder nicht, wobei auch hier die Adreßregister GAR, LAR und das Coderegister CR (2) zur Unterstützung einer solchen Prüfung herangezogen werden können. Auf diese Weise läßt sich eine große Zahl von möglichen DEAD-LOCK-Fällen eliminieren.

Claims (5)

  1. Einem Busarbitrationsverfahren nachgeschaltetes Verfahren zur dezentralen Überwachung des Zugriffs auf gemeinsam nutzbare Komponenten eines Multimikrocomputersystems, wobei a) für diese Komponenten einheitlich dieselbe maximale Belegungszeit (TLOCK) vorgesehen ist, welche in jedem Mikrocomputer ab dem Quittierungssignal (LRDY bzw. GRDY) für den jeweils ersten Zugriff seines Prozessors überwacht wird und nach deren Ablauf das vom Prozessor bewirkte Belegungssignal (LLOCK bzw. GLOCK) unter gleichzeitiger Aktivierung seines Interrupteingangs (NMI) aufgehoben wird, sowie b) in jedem Mikrocomputer die Wartezeit nach seiner Zugriffsanforderung (ALE) bzw. bei Zugriffsarbitrierung nach seinem Zuteilungssignal (AEN) bis zum Eintreffen des Quittierungssignals (LRDY bzw. GRDY) ermittelt wird und für den Fall, daß diese Zeit größer ist als die maximale Belegungszeit (TLOCK) ein Zwangsquittierungssignal (FRDY bzw. GRDY) unter gleichzeitiger Aktivierung des Interrupteinganges (NMI) seines Prozessors ausgegeben wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß bei Zugriffsarbitrierung in jedem an der Arbitrierung teilnehmenden Mikrocomputer die Wartezeit nach seiner Zugriffsanforderung (ALE) bis zum Eintreffen des Quittierungssignals (GRDY) überwacht wird und für den Fall, daß diese Zeit größer als eine bestimmte, von der maximalen Belegungszeit (TLDCK) und der Anzahl (n) aller in Zugriffskonkurrenz stehenden Prozessoren abhängigen Zeit ist, ein Zwangsquittierungssignal (FRDY) unter gleichzeitiger Aktivierung des Interrupteingangs (NMI) seines Prozessors ausgegeben wird.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß in jedem Mikrocomputer die während seiner wirksamen Busbelegungssignale (LLOCK bzw. GLOCK) erfolgenden Zugriffe mittels Zähler (LAC bzw. GAC) gezählt und jeweils mindestens zwei aufeinanderfolgende Zugriffsadressen samt dem dazugehörigen Befehlscode in Registern (LAR bzw. GAR, CR) abgespeichert werden.
  4. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Überschreitung der maximalen Belegzeit (TLOCK) und der Wartezeiten durch Anzeigeeinrichtungen (AZS bzw. AZH) angezeigt werden.
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß in jedem Mikrocomputer jedem Bus (LB1 bzw. GB) ein Belegungsspeicher (LBS bzw. GBS) zugeordnet ist, welcher jeweils mit der Zugriffsanforderung bzw. Zugriffszuteilung (ALE bzw. AEN) bei aktivem Belegungssignal (LLOCK' bzw. GLOCK') gesetzt und bei passivem Belegungssignal rückgesetzt wird, wobei der Interrupteingang (NMI) des Prozessors (2) aktivierbar ist, wenn beide Belegungsspeicher gleichzeitig gesetzt sind.
DE19904028317 1990-09-06 1990-09-06 Einem Busarbitrationsverfahren nachgeschaltetes Verfahren zur dezentralen Überwachung des Zugriffs auf gemeinsam nutzbare Komponenten eines Multimikrocomputersystems Expired - Fee Related DE4028317B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19904028317 DE4028317B4 (de) 1990-09-06 1990-09-06 Einem Busarbitrationsverfahren nachgeschaltetes Verfahren zur dezentralen Überwachung des Zugriffs auf gemeinsam nutzbare Komponenten eines Multimikrocomputersystems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19904028317 DE4028317B4 (de) 1990-09-06 1990-09-06 Einem Busarbitrationsverfahren nachgeschaltetes Verfahren zur dezentralen Überwachung des Zugriffs auf gemeinsam nutzbare Komponenten eines Multimikrocomputersystems

Publications (2)

Publication Number Publication Date
DE4028317A1 DE4028317A1 (de) 1992-03-12
DE4028317B4 true DE4028317B4 (de) 2004-12-02

Family

ID=6413748

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19904028317 Expired - Fee Related DE4028317B4 (de) 1990-09-06 1990-09-06 Einem Busarbitrationsverfahren nachgeschaltetes Verfahren zur dezentralen Überwachung des Zugriffs auf gemeinsam nutzbare Komponenten eines Multimikrocomputersystems

Country Status (1)

Country Link
DE (1) DE4028317B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764931A (en) * 1996-05-31 1998-06-09 Sun Microsystems, Inc. Method and apparatus for passing bus mastership between processors using predefined bus mastership states

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4393446A (en) * 1979-08-20 1983-07-12 General Electric Company Routine timer for computer systems
JPS6039255A (ja) * 1983-08-12 1985-03-01 Mitsubishi Electric Corp ウオツチドグタイマのリセツト回路
DE3342209A1 (de) * 1982-11-26 1985-05-30 Brown, Boveri & Cie Ag, 6800 Mannheim Anordnung zur ueberwachung der funktion eines prozessors
JPS60183657A (ja) * 1984-03-02 1985-09-19 Ricoh Co Ltd 共通バス障害検知方式
EP0366434A2 (de) * 1988-10-25 1990-05-02 Hewlett-Packard Company Quasi-unparteiisches Arbitrierungsschema mit beschleunigtem Zugriff für den Businhaber
EP0382469A2 (de) * 1989-02-06 1990-08-16 Compaq Computer Corporation Buszugriffsarbitrierung in digitalen Rechnern

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4393446A (en) * 1979-08-20 1983-07-12 General Electric Company Routine timer for computer systems
DE3342209A1 (de) * 1982-11-26 1985-05-30 Brown, Boveri & Cie Ag, 6800 Mannheim Anordnung zur ueberwachung der funktion eines prozessors
JPS6039255A (ja) * 1983-08-12 1985-03-01 Mitsubishi Electric Corp ウオツチドグタイマのリセツト回路
JPS60183657A (ja) * 1984-03-02 1985-09-19 Ricoh Co Ltd 共通バス障害検知方式
EP0366434A2 (de) * 1988-10-25 1990-05-02 Hewlett-Packard Company Quasi-unparteiisches Arbitrierungsschema mit beschleunigtem Zugriff für den Businhaber
EP0382469A2 (de) * 1989-02-06 1990-08-16 Compaq Computer Corporation Buszugriffsarbitrierung in digitalen Rechnern

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Färber, G.: Ein dezentralisierter fairer Bus- Arbeiter, In: Elektronik 8/80, S. 65-68 *

Also Published As

Publication number Publication date
DE4028317A1 (de) 1992-03-12

Similar Documents

Publication Publication Date Title
DE2847216C2 (de) Datenverarbeitungsanlage mit Mehrprogrammbetrieb
DE2657848C2 (de)
DE2629459C2 (de)
DE102008034500B4 (de) Arbitrierung
DE2411963C3 (de) Elektronische Datenverarbeitungsanlage mit einer Prioritätssteuerschaltung mit änderbaren Steuerblöcken
DE3606211A1 (de) Multiprozessor-computersystem
DE3300260C2 (de)
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
DE4221278C2 (de) Busgekoppeltes Mehrrechnersystem
CH619309A5 (de)
DE3114934A1 (de) Zentrales subsystem fuer eine datenverarbeitungsanlage
DE2612139A1 (de) Ein/ausgang-steuerungssystem
DE4104781A1 (de) Speicherzugriffsverfahren und -vorrichtung
DE60036923T2 (de) Dram-auffrischungsüberwachung und taktgenaue verteilte busarbitrierung in einer multiprozessorumgebung
DE2758023B2 (de) Anschlußschaltung für eine Eingabe-/ Ausgabeschnittstelle einer Datenverarbeitungsanlage
DE69919584T2 (de) Betriebsmittelsteuerung in einer datenverarbeitungsanlage
DE102004003102A1 (de) System und Verfahren zum Bestimmen einer Transaktionszeitüberschreitung
DE102006009034B3 (de) Verfahren zum Betreiben eines Bussystems sowie Halbleiter-Bauelement, insbesondere Mikroprozessor- bzw. Mikrocontroller
DE4028317B4 (de) Einem Busarbitrationsverfahren nachgeschaltetes Verfahren zur dezentralen Überwachung des Zugriffs auf gemeinsam nutzbare Komponenten eines Multimikrocomputersystems
DE60010412T2 (de) Integrierte Schaltung mit Überwachungsmittel von internen Bussen
EP0419723B1 (de) Verfahren und Unterbrechungssteuerung zur Behandlung von Unterbrechungsanforderungen bei Ein-/Ausgabeoperationen in einem virtuellen Maschinensystem
EP1308846B1 (de) Datenübertragungseinrichtung
DE2507405A1 (de) Verfahren und anordnung zum synchronisieren der tasks in peripheriegeraeten in einer datenverarbeitungsanlage
DE10155486A1 (de) Anordnung zur Verarbeitung von Zustandsinformationen externer Einheiten
DE2900380C2 (de)

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee