DE69031506T2 - Verfahren und Gerät zur Anwendungsbeschränkung eines asynchronen Bus mit verteilter Zugriffssteuerung - Google Patents

Verfahren und Gerät zur Anwendungsbeschränkung eines asynchronen Bus mit verteilter Zugriffssteuerung

Info

Publication number
DE69031506T2
DE69031506T2 DE69031506T DE69031506T DE69031506T2 DE 69031506 T2 DE69031506 T2 DE 69031506T2 DE 69031506 T DE69031506 T DE 69031506T DE 69031506 T DE69031506 T DE 69031506T DE 69031506 T2 DE69031506 T2 DE 69031506T2
Authority
DE
Germany
Prior art keywords
bus
network
processor
data transfer
signal
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
DE69031506T
Other languages
English (en)
Other versions
DE69031506D1 (de
Inventor
George J Barlow
John W Bradley
Edward F Getson
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.)
Bull HN Information Systems Inc
Original Assignee
Bull HN Information Systems Inc
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 Bull HN Information Systems Inc filed Critical Bull HN Information Systems Inc
Publication of DE69031506D1 publication Critical patent/DE69031506D1/de
Application granted granted Critical
Publication of DE69031506T2 publication Critical patent/DE69031506T2/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Small-Scale Networks (AREA)

Description

    HINTERGRUND DER ERFINDUNG Anwendungsgebiet
  • Diese Erfindung bezieht sich auf Datenverarbeitungssysteme, in welchen ein Systembus-Netzwerk gemeinsam benutzt wird von einer Anzahl von Einheiten und insbesondere auf ein Verfahren und eine Vorrichtung zum Begrenzen der Nutzung eines solchen Systembus-Netzwerkes.
  • Stand der Technik
  • In vielen Datenverarbeitungssystemen wird ein Bus-Netzwerk häufig genutzt, um verschiedene Elemente miteinander zu verbinden. In bestimmten Typen von diesen Systemen wird der Zugang von einem oder mehreren Master- Controllern zu dem Bus-Netzwerk gesteuert durch ein einziges Bus-Schiedsmodul, welches Zugang zu den Master-Controllern auf einer Prioritätsbasis gewahrt. Der vom Bus-Master gewährte Zugang führt die bestimmte Anfrage durch, welche in bestimmten Fällen die Durchführung von Stoßtypübertragungen erfordert. Abhängig vom Typ der Anforderungen, die von der Mehrzahl von Master-Controllern durchgeführt werden sollen, ist die zentrale Verarbeitungseinheit des Systems, der normalerweise eine niedrige Priorität gewährt wird, praktisch von der Benutzung des Bus-Netzwerkes ausgeschlossen gewesen.
  • Um dies zu verhindern, offenbart das System in US-Patent Nr. 4,719,567 eine Vorrichtung innerhalb des Bus-Master-Controllers, welche seine Aktivität während eines bestimmten Zeitintervalls auf der Grundlage der Busaktivität während eines vorangegangenen Zeitintervalls begrenzt. Jedoch erfordert die Anordnung eine zentralisierte Anordnung, die in einer synchronen Weise arbeitet. Ebenso bestimmt die Anordnung die Aktivität des Busses durch Unterteilen der Aktivität des Bus-Master-Controllers in eine Abfolge von Probenintervallen, die eine gewählte Anzahl von Taktzyklen des Bus-Master- Controllers umfassen. Während jedes solcher Probenintervalle bestimmt der Bus-Master-Controller die Benutzungsrate de Bus-Netzwerkes als Verhältnis der Anzahl von Taktzyklen, während denen das Gewährungsquittierungssignal eines solchen Controllers aktiv ist, zu der Anzahl von Taktzyklen, die in dem Probenintervall enthalten sind. Wenn die Benutzungsrate des Bus-Netzwerkes während eines bestimmten Probenintervalls festgestelltermaßen über einer gewählten Schwelle liegt, dann wird der Bus-Master-Controller daran gehindert, sich für die Verwendung des Bus-Netzwerkes während des darauffolgenden nächsten Probenintervalls zu entscheiden. Wenn die Benutzungsrate festgestelltermaßen unterhalb der vorbestimmten Schwelle liegt, dann wird dem Bus-Master-Controller erlaubt, für sein Recht an der Benutzung des Bus-Netzwerkes zu streiten. Diese Form der Bemessung, die die Messung von Verhältnissen der Intervalle einschließt, hat sich in gewisser Weise als ineffektiv herausgestellt, insofern es die Systemleistung vermindert.
  • WO-A-8001925 offenbart ein System, in welchem eine Überwachungseinrichtung arbeitet, um eine Feststellung zu treffen, ob ein asynchroner Bus in Ruhe ist vor einer bestimmten Zeit und um die Datenübertragung oder -verzögerung in Abhängigkeit von der Antwort zuzulassen.
  • Ebenso ist das System des US-Patents Nr. 4,558,428 von Interesse dadurch, daß es offenbart, wie eine Hochprioritätseinheit, wie beispielsweise ein Speicher-Controller, während der Ausführung von beispielsweise Stoßtyptransferoperationen, welche ein asynchrones Bus-Netzwerk saturieren können, in der Lage ist, einen Zyklus der Stoßtyptransferoperation zu überspringen, wodurch einer Einheit niedriger Priorität Zugang zum Speicher eines Memory-Controllers gewährt wird. Diese Anordnung verbessert zwar die Gesamtsystemleistung, indem sie einer Einheit niedriger Priorität Zugang zu dem Speicher während eines Stoßtyptransfers ermöglicht, doch verhindert sie nicht, daß das Bus-Netzwerk durch andere Einheiten, welche um den Bus- Netzwerk-Zugang konkurrieren, gesättigt wird.
  • Entsprechend ist es eine primäre Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung zur Begrenzung der Benutzung eines asynchronen Bus-Systems durch eine Benutzer-Bus-Einheit bereitzustellen.
  • Es ist insbesondere eine Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung bereitzustellen zur Begrenzung des Zugangs zu einem asynchronen Bus-Netzwerk durch irgendeine einer Mehrzahl von Einheiten, die mit dem Netzwerk verbunden sind und Zugang erhalten durch ein Prioritätslogik-Netzwerk, das unter solchen Einheiten verteilt ist.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die obige und andere Aufgaben der vorliegenden Erfindung werden gelöst durch die bevorzugte Ausführungsform, welche eine Anzahl von Einheiten umfaßt, die angekoppelt sind, um Anforderungen und Daten über ein asynchrones Bus-Netzwerk während der zugeteilten Bus-Transfer-Zyklen zu übertragen. Jede Einheit hat einen gemeinsamen Schnittstellenteil, welcher Bus-Anforderungsschaltungen und Antwortschaltungen zum Quittieren von Anforderungen, welche von anderen Einheiten empfangen werden, umfaßt.
  • Ein die Gleichrangigkeit aufhebendes Bus-Prioritäts-Netzwerk ist verteilt auf den gemeinsamen Schnittstellenteil von jeder der Anzahl von Einheiten, welches Bus-Zyklen gewährt und gleichzeitige Anforderungen auf einer Prioritätsbasis löst. Im allgemeinen wird eine Priorität gewährt auf der Basis der physikalischen Stellung einer Einheit auf dem Bus-Netzwerk. In dem System der bevorzugten Ausführungsform wird die höchste Priorität dem Speicher-Subsystem des Systems gewährt und die niedrigste Priorität der zentralen Verarbeitungseinheit des Systems gewährt, wobei die anderen Einheiten dazwischen angeordnet sind auf der Basis ihrer Leistungsanforderungen.
  • Gemäß den Lehren der vorliegenden Erfindung umfaßt mindestens eine Einheit, wie beispielsweise ein peripheres Controller-Subsystem des Plattentyps, eine Bus-Sättigungs-Detektorvorrichtung innerhalb des gemeinsamen Schnittenstellenteils zum Überwachen der Bus-Aktivität. Die Aktivität wird überwacht durch Detektieren der Abwesenheit von unbenutzten Bus-Zyklen, die in einem gegebenen Zeitintervall auftreten. Das Detektieren des Auftretens von einem oder mehreren verfügbaren Zyklen über das gegebene Zeitintervall wird benutzt, um anzuzeigen, daß das Bus-Netzwerk nicht in einem gesättigten Zustand ist. Wenn jedoch die Anwesenheit von mindestens einem unbenutzten oder verfügbaren Bus-Zyklus nicht detektiert wird, zeigt dieses an, daß das Bus-Netzwerk gesättigt ist.
  • Genauer gesagt umfaßt das periphere Controller-Subsystem einen mikroprogrammierten Prozessor, welcher einen Indikator setzt innerhalb der Bus- Sättigungs-Detektorvorrichtung auf einen vorbestimmten Zustand unter einer Mikroprogrammsteuerung zu Beginn eines Transferoperationsintervalls. Der Detektor überwacht den Zustand von mindestens einem bestimmten Signal, das von dem Bus-Prioritäts-Netzwerk zur Bestimmung des Ausmaßes der Busbenutzung verwendet wird. Die Detektorvorrichtung schaltet den Zustand dieses Indikators um beim Detektieren des Auftretens eines nicht benutzten oder verfügbaren Zyklus'. Die Ausgabe des Detektorindikators wird auf Zweigtestschaltungen gegeben, die in dem Prozessor enthalten sind. Am Ende des Transferintervalls testet das Subsystem den Zustand des Detektorsättigungsindikators. Wenn der Detektorindikator angibt, daß der Bus nicht gesättigt ist, dann setzt er den Zustand des Indikators zurück und beginnt ein anderes Intervall.
  • Dieser Vorgang setzt sich fort, wobei der periphere Controller periodisch den Zustand des Detektorsättigungsindikators löscht und feststellt, ob er noch in dem vorbestimmten Zustand ist. Wenn der Indikator angibt, daß das Bus- Netzwerk gesättigt ist, dann drosselt das periphere Subsystem seinen Betrieb herunter durch Erhöhen des Zeitbetrages zwischen der Ausgabe von Anforderungen. In der bevorzugten Ausführungsform wird dies erreicht durch Inkrementieren oder Erhöhen eines "Wartezählwertes".
  • Zusätzlich kann der Prozessor seinen Betrieb abstimmen durch Ändern oder Wechseln seiner Priorität von hoch zu tief in Abhängigkeit von den Testergebnissen der Bus-Sättigung. Folglich kann der Prozessor leicht programmiert werden, um eine gewünschte Übertragungsrate beizubehalten, die für den effizienten Betrieb erforderlich ist.
  • Die neuen Merkmale, welche die Erfindung kennzeichnen, sowohl in Hinsicht auf die Organisation wie das Betriebsverfahren zusammen mit weiteren Aufgaben und Vorteilen, werden besser verstanden werden an Hand der folgenden Beschreibung in Verbindung mit den begleitenden Zeichnungen. Es wird ausdrücklich darauf hingewiesen, daß jede der Zeichnungen nur zum Zwecke der Erläuterung gegeben ist und nicht als eine Definition der Grenzen der vorliegenden Erfindung beabsichtigt ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 ist ein Blockdiagramm eines Datenverarbeitungssystems, welches die Vorrichtung gemäß der Erfindung umfaßt.
  • Fig. 2 zeigt ausführlich das periphere Subsystem von Fig. 1, welches die Vorrichtung gemäß der vorliegenden Erfindung enthält.
  • Fig. 3a und 3b zeigen genauer das Subsystem von Fig. 2.
  • Fig. 4a und 4b zeigen das Format von einem Mikrobefehl und einer Anordnung von Mikroanweisungen, die in dem Subsystem von Fig. 2 enthalten sind.
  • Fig. 5 ist ein Flußdiagramm, das zur Erklärung des Betriebs der vorliegenden Erfindung verwendet wird.
  • BESCHREIBUNG DES SYSTEMS VON FIG. 1
  • Fig. 1 zeigt ein Datenverarbeitungssystem 10, welches eine Anzahl von Subsystemen 14 bis 20 enthält, die gemeinsam an ein asynchrones Systembus-Netzwerk 12 angekoppelt sind. Die gezeigten Subsysteme umfassen ein zentrales Subsystem 14, ein Speichersubsystem 16, ein Plattenperipher-Subsystem 18 und ein LAN-Subsystem (LAN local area network) 20. Jedes Subsystem umfaßt einen Schnittstellenbereich, welcher der Einheit oder den Einheiten, die damit assoziiert sind, die Übertragung oder den Empfang von Anforderungen in Form von Befehlen, Interrupts, Daten oder Antworten/- Status zu oder von anderen Einheiten auf dem System-Bus 12 in asynchroner Weise erlaubt.
  • Zum Zwecke der Erläuterung sind nur vier Subsysteme in Fig. 1 gezeigt.
  • Jedoch umfaßt das Datenverarbeitungssystem 10 normalerweise zusätzliche Subsysteme zum Anschließen eines vollen Komplements von peripheren Einrichtungen, anderen Verarbeitungseinheiten und Kommunikationseinheiten mit dem Systembus 12. Zwar kann jeder Schnittstellenbereich der peripheren Subsysteme die Vorrichtung gemäß der Erfindung umfassen, doch wird angenommen, daß nur die Schnittstelle 18-1 des Subsystems 18 diese Vorrichtung umfaßt. Daher wird nur das Subsystem 18 ausführlicher mit Bezug auf Fig. 2 im folgenden beschrieben.
  • BESCHREIBUNG DES PERIPHEREN SUBSYSTEMS 18
  • Mit Bezug auf Fig. 2 ist zu erkennen, daß der Plattenperipher-Subsystem- Schnittstellenbereich 18-01 einen Abschnitt 18-10 umfaßt, der die Bustreiber und Empfängerschaltungen von Block 18-12, das verteilte Systemprioritäts- Netzwerk und die Bus-Anforderungs-Logikschaltungen von Block 18-14 und die Bus-Sättigungs-Detektorschaltung von Block 18-16 enthält. Die Schaltungen von Block 18-14 und 18-16 sind an den Systembus 12 über die Treiber- und Empfängerschaltungen von Block 18-12 angekoppelt.
  • Das periphere Subsystem 18-2 umfaßt ein Paar von Prozessoren 18-20 und 18-22, welche unter der Steuerung von Sequenzen von Mikrobefehlen, die in einer Steuerspeichereinheit 18-24 gespeichert sind, laufen. Der Prozessor 18-20 handhabt solche Aufgaben, welche die Subsystem-Systembus-Schnittstelle mit einbeziehen, wie beispielsweise Übertragungsbefehle, Daten etc., wohingegen der Prozessor 18-22 solche Aufgaben handhabt, die die Subsystem-Einrichtungsschnittstelle mit einbezieht. Beide Prozessoren teilen sich einen Notizblockspeicher und einen Datenpufferspeicher, der als Teil der Subsystem-Speichereinheit 18-26 enthalten ist. Der Notizblockspeicher umfaßt Registerplätze, die zum Speichern von Einrichtungsparameterinformation zusätzlich zur Bereitstellung von zeitweiligen Speichern für Steuer- und Datenhandhabungsvorgänge (z.B. Status- und Adresseninformation) verwendet werden. Der Datenpufferspeicher speichert verschiedene Blöcke von Datenbytes, die sowohl über das System wie auch die Einrichtungsschnittstellen übertragen werden.
  • Das periphere Subsystem 18-2 umfaßt ebenfalls die Geräteschnittstellen- Schaltungen von Block 18-28. Diese Schaltungen errichten eine Schnittstelle zwischen den Plattenspeichereinrichtungen 18-4 und 18-5 von Fig. 1 zum Steuern von Einrichtungsoperationen und Erzeugen der erforderlichen Dialogsequenzen über die assozuerte Einrichtungspegel-Schnittstelle. In einer bevorzugten Ausführungsform ist die Einrichtungspegel-Schnittstelle eine SCSI- Einrichtung. Dieser Typ von Schnittstelle wird beschrieben in einem Artikel mit dem Titel "Adding SCSI to the 58180 Computer, Part 1: Introduction" von Steve Ciarcia, publiziert im Mai 1986, erschienen im Magazin Byte.
  • Für weitere Informationen bezüglich des Betriebs der verschiedenen Blöcke von Fig. 2 kann Bezug genommen werden auf schwebende zugehörige Patentanmeldungen.
  • Die Einzelheiten des Prozessors 18-20 werden nun in den notwendigen Einzelheiten beschrieben, um zu verstehen, wie er das Verfahren und die Vorrichtung gemäß der vorliegenden Erfindung einsetzt. Kurz gesagt umfaßt der Prozessor 18-20 einen ALU-Abschnitt 18-200, ein Befehlsregister und einen Dekodierabschnitt 18-210 und einen Testmultiplexer und einen Mikrosequenzer-Logikabschnitt 18-220. Der ALU-Abschnitt 18-200 ist in der Lage, logische und arithmetische Operationen an A- und B-Operandensignalen durchzuführen, die von verschiedenen Quellen einschließlich des Notizblockspeichers und des Abschnittes 18-220 empfangen werden. Diese Operationen werden unter der Steuerung von Mikroanweisungen durchgeführt, die in einem Befehlsregister von Abschnitt 18-210 des Steuerspeichers 18-24 geladen sind. Die ALU gibt nach der Durchführung des bestimmten Vorganges das Ergebnis über ein Ausgaberegister an verschiedene Einheiten einschließlich des Notizblockspeichers und der Bus-Anforderungs-Logikschaltungen der Schnittstelle 18-10 aus.
  • Das Befehlsregister und der Dekodierabschnitt 18-210 umfassen, wie gezeigt, das Befehlsregister zum Speichern von jedem Mikrobefehl, der aus dem Steuerspeicher 18-24 ausgelesen wird, während eines Prozessorbetriebszyklus'. Die verschiedenen Felder werden dekodiert und als Eingänge auf eine Anzahl von Testmultiplexerschaltungen gegeben, welche in dem Fall von bestimmten Typen von Mikrobefehlen (z.B. Verzweigung) den Mikrosequenzer-Logikschaltungen erlauben, Adressen des nächsten Mikrobefehls, der aus dem Steuerspeicher 18-24 ausgelesen werden soll, zu erzeugen. Bestimmte Teile dieser Schaltungen werden ausführlicher mit Bezug auf Fig. 3b be schrieben.
  • AUSFÜHRLICHE BESCHREIBUNG VON SCHALTUNGEN DER FIG. 2
  • Fig. 3a zeigt ausführlich das verteilte Systemprioritäts-Netzwerk und die Bus-Anforderungs-Logikschaltungen von Block 18-14. Wie gezeigt, übertragen und empfangen diese Schaltungen Signale zu und von dem asynchronen Systembus-Netzwerk 12 über die Treiber- und Empfängerschaltungen von Block 18-12. Ein erstes solches Signal ist das Bus-Datenzyklus-Jetzt-Signal BSDCNN+ 10. Dieses Signal geht durch eine 60 Nanosekunden-Verzöge rungsleitung 18-140. Die sechzig (60) Nanosekunden-Dauer erlaubt der Einheit mit der höchsten Prioritätsanforderung die Benutzung des nächsten Bus-Zyklus' ohne Kollision. Zur selben Zeit verwendet die empfangende Einheit oder Sklave dieses Signal als ein Synchronisationssignal.
  • Das sich ergebende Ausgangssignal BSDCNN+00 und das Signal BSDCNN+ 10 werden logisch in einem ersten OR-Gatter 18-141 kombiniert, welches ein Strobe-Signal BSDCNB+00 erzeugt. Dieses Signal wird verwendet, um das verteilte Prioritäts-Netzwerk zwischen den Systembuszyklen freizumachen. Ein OR-Gatter 18-142 kombiniert das Ausgangssignal-Datenzyklus-Jetzt-Belegt-Signal BSDCBN+00 mit dem höchsten Pegel und die Tiefpegel-Bus-Anforderungssignale BSREQH+00 und BSREQL+ 10, die als Ausgangs-Bus-Anforderungssignal BSREQT-10 von einem NOR-Gatter 18-144 empfangen werden, wie es gezeigt ist.
  • Das Signal BSDCNB+00 filtert aus dem sich ergebenden Ausgangssignal PRIBSY-00 jede momentane Störung, die auf den Bus-Anforderungsleitungen auftreten, da das Signal BSDCNB+00 während des Intervalls, in welchem die Signale, die an diesen Leitungen anliegen, sich ändern, aus. Auf diese Weise überbrückt das Signal BSDCNB+00 jedes Loch, das zwischen aufein anderfolgenden Benutzeranforderungen auftritt.
  • Wenn das Signal BSRQT-00 von einer binären EINS zu einer binären NULL umschaltet, veranlaßt es ein OR-Gatter 18-142, das Prioritäts-Bus- Signal PRIBSY-00 auf eine binäre NULL bei Abwesenheit eines Signa/s BSDCNB+00 zu zwingen. Das Signal PRIBSY-00 verbleibt auf einer binären NULL, bis das Signal BSDCNB+00 auf eine binäre EINS gezwungen ist. Das Signal PRIBSY-00 definiert, wann das verteilte Prioritäts-Netzwerk von Bus 12 von einem Leerlaufzustand in einen Belegt-Zustand umschaltet. Das bedeutet, daß das Signal PRIBSY-00 auf eine zwanzig (20) Nanosekunden-Verzögerungsleitungsschaltung gegeben wird. Das bedeutet, daß das Prinet-Belegt-Signal PRIBSY-00 auf eine zwanzig (20) Nanosekunden- Verzögerungsleitung 18-143 gegeben wird, welche als Ausgangssignale PRIBSY-20 und PRIBSY-40 erzeugt. Das Signal PRIBSY-20 verhindert, wenn es auf einer binären NULL steht, die Speicherung von jeglicher Anforderung, die von dem Prozessor 18-20 während eines Prioritäts-Netzwerk-Lösungszyklus' erzeugt wird.
  • Die Signale PRIBSY-20 und PRIBSY-40 werden kombiniert innerhalb eines NOR-Gatters 18-145, um das Signal PRIBSY+50 zu erzeugen, welches als eine Eingabe auf ein NAND-Gatter 18-149 gegeben wird, das festlegt, ob oder ob nicht das Subsystem 18 Zugang zu dem Systembus 12 bekommt.
  • Das reihengeschaltete NAND-Gatter 18-146, das D-Typ-Zulassungs-Flip-Flop 18-147 und das NOR-Gatter 18-148 werden verwendet, um das Mein-Anforderungssignal MYREQT+ 10 in Antwort auf das periphere Subsystem 18, welches Zugang zu dem Systembus 12 anfordert (das Signal CYCREQ+00 = 1), zu erzeugen. Dieses Mein-Anforderungssignal MYREQT-00 wird als ein Eingang auf das NOR-Gatter 18-148 gegeben, welches eine zweite Eingabe empfängt, ein Hochprioritäts-Anforderungssignal HIREQT+00. Beim Fehlen einer Hochprioritätsanforderung (d.h. Signal HIREQT+00 = 1) veranlaßt das Prozessoranforderungssignal MYREQT-00 das NOR-Gatter 18-148, das Anforderungsignal MYREQT+ 10 auf eine binäre EINS zu zwingen. Das NAND-Gatter 18-149 empfängt ebenfalls als Eingänge die Ver teilungs-Prioritäts-Netzwerksignale BSBUOK+00 bis BSGUOK+00, welche denen der Subsysteme entsprechen, die an Hochprioritätspositionen auf dem Systembus 12 angeordnet sind. Bei Abwesenheit einer Subsystemanforderung mit höherer Priorität zwingt das NAND-Gatter 18-149 das Einstelldatenzyklus-Jetzt-Signal SETDCN-00 auf eine binäre NULL. Das zwingt seinerseits den Mein-Datenzyklus-Jetzt-D-Typ-Flip-Flop 18-150 auf eine binäre NULL. Der Empfang von irgendeiner Antwort von einem Systembus 12 veranlaßt ein NOR-Gatter 18-154, ein Rücksetzsignal CLRDCN-00 zu erzeugen.
  • Das NAND-Gatter 18-151, die Treiberschaltung 18-152 und der D-Typ-Flip Flop 18-153 werden verwendet, um ein Hochprioritäts-Anforderungssignal HIREQT+00 zu erzeugen, um die Anwesenheit eines Hochprioritäts-Anforderungssignals anzuzeigen in Antwort auf das Signal HIREQS-00, das in Antwort auf eine Hochprioritätsanforderung vom Systembus 12 erzeugt wird.
  • Die Signale MYHPRI+00, MYHPRI-00 und MYHREQ+00 veranlassen ein Paar von AND-Gattern 18-155 und 18-156 Koch- und Tiefprioritäts-Anforderungssignale MYREQH+00 bzw. MYREQL+00 zu erzeugen. Diese Signale werden auf den Systembus 12 über die Treiberschaltungen von Block 18-12 gegeben.
  • Fig. 3b zeigt ausführlich den Bus-Sättigungs-Detektor 18-16. Wie gezeigt, empfängt der Detektor das Bus-Daten-Zyklus-Jetzt-Belegt-Signal BSDCNB +00 von den Schaltungen von Block 18-14, welches auf ein OR-Gatter 18-160 gegeben wird. Das sich ergebende Signal REQDCN+00 wird auf den Eingang einer Verzögerungsleitung 18-161 und auf einen Eingang eines OR- Gatter 18-162 gegeben.
  • Das Signal REQDCN wird verzögert, um einen vorbestimmten Betrag und dann als Signal RQDCDL+00 als eine zweite Eingabe auf das OR-Gatter is 18-162 gegeben. Der vorbestimmte Betrag der Verzögerung wird gewählt durch Messen der Verzögerungen, die von dem Bus-Daten-Zyklus-Jetzt-Signal BSDCNN+ 10 und dem Bus-Anerkennungssignal BSACKR+ 10, die in Fig. 3a gezeigt sind, verursacht werden. Der Wert wird so gewählt, daß das Signal BCYSMP+00, das durch logische Kombination der Signale REQDCN+00 mit RQDCDL+O0 in einem OR-Gatter 18-162 erzeugt wird, konstant bleibt während der Zeitdauer, in welcher der Systembus 12 gesättigt ist. Der Wert beträgt ungefähr 150 Nanosekunden.
  • Wie aus Fig. 3b zu erkennen ist, wird das Signal BCYSMP+00 angelegt, um den Eingangsanschluß des D-Typ-Bus-Sättigungs-Detektor-Indikator-Flip- Flop 18-162 zurückzusetzen oder zu löschen. Der voreingestellte Eingang wird verbunden, um ein Probensteuersignal SMPLBS-00 von dem Prozessor 18-20 zu empfangen. Wenn es auf eine binären NULL gezwungen wird, dann schaltet das Signal den Flip-Flop 18-162 auf eine binäre EINS. Das binäre EINS-Ausgangssignal BUSSAT+00 wird als eine Eingabe auf eine der Bedingungstest-Multiplexerschaltungen von Block 18-220 gegeben.
  • Ebenso zeigt Fig. 3c ausführlich bestimmte Prozessordekoder- und Testschaltungen. Es ist zu erkennen, daß die Prozessordekoderschaltungen 18-210 ein Paar von Dekoderschaltungen 18-2 10a und 18-2 10b umfassen, welche verwendet werden, um spezifizierte Felder eines Mikrobefehls zu dekodieren, was zur Erzeugung eines Probensteuersignals SMPLBS-00 führt. Die Prozessortestbedingungs-Multiplexerschaltungen von Block 18-220 umfassen die Testbedingungs-Multiplexerschaltung 18-221, welche in Antwort auf eines der Steuerfelder eines Test- und Zweigtyp-Mikrobefehls von Fig. 4a eine von acht möglichen Ausgangsbedingungen, die wählbar sind, wählt. Das gewählte Ausgangsbedingungssignal BTSTMX-00 wird verglichen durch ein Exklusiv- OR-Gatter 18-222, und das Ergebnis wird in einem Zweigtest-Einschalt-D Typ-Flip-Flop 18-224 gespeichert. Das Ausgangssignal BTSTEN-00 wird als ein Eingang auf die Mikrosequenzer-Logikschaltungen des Prozessors gegeben.
  • Eines der Eingangssignale, deren Status durch die Schaltung 18-221 getestet wird, umfaßt das Signal BZSSAT+00. Wie gezeigt, wird dieses Signal angelegt als einer der Eingaben an eine Multiplexerschaltung 18-223. Ein anderes Feld des Test- und Zweigmikrobefehls von Fig. 4a wird verwendet, um auszuwählen, welcher der Testeingänge zum Testen auszuwählen ist. Der Ausgang der Multiplexerschaltung 18-223, der dem Signal BLUAX6+00 entspricht, wird ebenfalls als Signal BAOPB6+00 auf das ALU gegeben.
  • MIKROBEFEHLS-FORMAT
  • Fig. 4a zeigt das Format des Test- und Zweigmikrobefehls, der in Verbindung mit der vorliegenden Erfindung verwendet wird. Die Bits 0-1 werden verwendet, um den Typ von Mikrobefehl zu spezifizieren. Diese Bits sind "10" in dem Fall des Test- und Zweigmikrobefehls.
  • Das Bit 2 ist ein Einzelbitfeld, dessen Status spezifiziert, FALLS der Notizblockspeicher einzuschalten ist. Das Bit 3 ist ein Testfeldbit, welches auf einen NULL-Wert gesetzt ist und verwendet wird, um den Status eines Signals, das zum Testen ausgewählt ist, zu testen. Die Bits 4-6 sind ein Multiplexer-Bedingungstestfeld.
  • Es gibt bis zu acht Multiplexer-Schaltungsausgänge, welche unter Verwendung des TFZ-Bit 3 getestet werden können. Die Bits 7-10 sind ein AOP- Feld, das in Verbindung mit Bit 2 verwendet wird, um auszuwählen, welcher Eingang der Multiplexerschaltungen getestet werden soll. Das Mußgleich-null-(must be zero, MBZ)-Bit 11 ist auf NULL gesetzt. Die Bits 12-23 sind eine 12-Bit-Zweigadresse, welche verwendet wir als nächste Adresse, wenn die getestete Bedingung wahr ist.
  • BESCHREIBUNG DER BETRIEBSWEISE
  • Mit besonderem Bezug auf das Flußdiagramm von Fig. 5 wird nun das Verfahren und der Betrieb der Bus-Sättigungs-Detektorvorrichtung gemäß der vorliegenden Erfindung mit Bezug auf die Fig. 1 bis 3b und 4a beschrieben. Anfänglich wird das periphere Subsystem konfiguriert oder initialisiert, um mit maximaler Effizienz oder Leistung zu laufen. Beispielsweise wird angenommen, daß es als eine Hochprioritätseinrichtung betrieben wird, was durch Setzen eines Registerbits festgelegt wird.
  • In diesem Beispiel gibt der Prozessor 18-20 aufeinanderfolgende Speicher- Lese-Anforderungen aus, die jeweils kodiert werden, um eine Stoßübertragung zu spezifizieren. In Antwort auf jede dieser Anforderungen überträgt das Speichersubsystem 16 eine Anzahl von Doppel worten von Daten über eine Anzahl von aufeinanderfolgenden Buszyklen, in welchen das Subsystem 16 den höchsten Prioritätszugang hat. Dieser Betriebstyp führt am wahrscheinlichsten zu einer Sättigung des Systembusses 12. Zwar kann die Anordnung von US-Patent Nr. 4,558,429 bis zu einem gewissen Grad diese Bedingung in Bezug auf bestimmte Übertragungstypen erleichtern, doch nichtsdestoweniger kann die Sättigung auftreten, wenn verschiedene Hochgeschwindigkeitseinheiten ebenfalls bei maximaler Effizienz betrieben werden.
  • Das Verfahren und die Vorrichtung gemäß der vorliegenden Erfindung erlaubt solchen Einheiten durch Versehen des Subsystems mit der Fähigkeit, den Buszugang zu begrenzen, in einer mehr ausgeglichenen, kooperativen Weise zu laufen, wenn Bus-Sättigungen auftreten.
  • Das periphere Subsystem 18-20 wirkt auf erkennbare Dateneinheiten, wobei ein solcher Datenblock 256 Informationsbytes enthält. Diese Dateneinheit entspricht der Datenmenge, die in einem Sektor einer Platte gespeichert ist. In dem System von Fig. 1 ist das Speichersubsystem 14, wenn es in einem Stoßmodus betrieben wird, in der Lage, bis zu acht Doppeiworte oder 32 Bytes an Information in Antwort auf eine einzige Platten-Controller-Leseanforderung zu übertragen. Eine Anzahl solcher Anforderungen ist notwendig, um die Übertragung eines Blocks zu vervollständigen. Normalerweise erfordert das Platten-Subsystem 18 die Übertragung von mehreren solcher Blöcke für den effizienten Betrieb. Entsprechend wird die Information, die sich auf die Anzahl von zu übertragenden Blöcken bezieht, in einem Notizblockspeicher gespeichert und unterliegt dem Zugriff durch den Prozessor 18-20 während des Übertragungsvorganges.
  • Ebenso bestimmt der Platten- Peripher-Subsystem-Prozessor 18-20 die Anzahl von Anforderungen, welche nacheinander ausgegeben werden, um jeden Datenblock zu erhalten. In dem vorliegenden System wird diese Anzahl, die acht entspricht, als ein Bus-Zykluszähler verwendet und wird gespeichert in einem Notizblock-Registerplatz. Ein anderer Wert, der "Warte-Zähler" genannt wird, wird verwendet, um die Wartedauer oder das Zeitintervall zwischen der Ausgabe von aufeinanderfolgenden Anforderungen durch das Subsystem 18 festzustellen. In dem vorliegenden Beispiel wird angenommen, daß jeder Zählwert einer festen Verzögerung entspricht. Diese Verzögerung kann leicht wie gewünscht eingestellt werden.
  • Mit Bezug auf Fig. 5 ist zu erkennen, daß der Prozessor 18-20 unter der Steuerung der Bus-Sättigungs-Routine von Fig. 4a zunächst den "Warte- Zähler" auf null initialisiert, wie in Block 500 gezeigt ist. Der "Warte- Zähler"-Wert wird dann gespeichert in einem vorgegebenen Registerplatz in dem Notizblockspeicher. Als nächstes lädt der Prozessor 18-20 den Bus- Zähler von acht in den Bus-Zyklus-Registerplatz des Notizblockspeichers, was den Block 502 vervollständigt.
  • Unter der Mikrobefehlssteuerung führt der Prozessor 18-20 den Block 503 aus, indem er die Dekoderschaltungen 18-210 von Fig. 3c veranlaßt, das Probensignal SMPLBS-00 auf eine binäre Null zu zwingen. Dies wiederum setzt den Bus-Sättigungs-Detektor-Indikator-Flip-Flop 18-162 auf einen Binär- Eins-Zustand. Wie in Block 504 gezeigt ist, erzeugt der Prozessor 18-20 eine Bus-Zyklus-Anforderung (d.h. das Signal CYCREQ+00= 1) zur Übertragung der ersten Speicher-Lese-Anforderung, die so kodiert ist, daß ein Stoßtyptransfer spezifiziert ist. Dieser Typ von Anforderung wird spezifiziert durch Schalten von bestimmten Bus-Befehlsleitungssignalen (d.h. BSDBPL, BSDBWD, BSWRET) auf die richtigen Zustände. Das Signal CYCREQ+00, das von einem Prozessor 18-20 erzeugt wird, ermöglicht in Anwesenheit eines Bus- Leerlaufsignals PRISBY-00 dem Mein-Anforderungs-Flip-Flop 18-147 von Fig. 3a, auf eine binäre EINS geschaltet zu werden. Ebenso zwingt der Prozessor 18-20 das Hochprioritäts-Anforderungssignal MYHPRI+00 auf eine binäre EINS. Dies veranlaßt seinerseits das AND-Gatter 18-156 von Fig. 3a das Hochprioritäts-Anforderungssignal MYREQH+00 auf eine binäre EINS zu schalten. Gleichzeitig verhindert das Signal MYHPRI+Oo das Schalten des Hochprioritäts-Benutzer-Flip-Flops 18-153.
  • Wenn dem peripheren Subsystem 18 Zugang zu dem Systembus 12 gewährt ist, dann schaltet das NAND-Gatter 18-149 das Einstelldaten-Zyklus-Jetzt- Signal SETDCN-Oo auf eine binäre NULL. Dies schaltet seinerseits den Mein-Datenzyklus-Jetzt-Flip-Flop 18-150 auf einen binären EINS-Zustand. Das Signal MYDCNN+00 wird verwendet, um die erste Stoß-Lese-Anforderung an den Systembus 12 durchzuschalten. Der Flip-Flop 18-150 wird rückgesetzt auf einen binären NULL-Zustand beim Empfang eines Quittierungssignals BSACKR+ 10 von einem Speichersubsystem 14. Danach wirkt das Speichersubsystem 14 dahingehend, daß die 32 Bytes an Daten über acht aufeinanderfolgende Bus-Betriebszyklen übertragen werden. Mit der Vervollständigung der Übertragung dekrementiert der Prozessor 18-20 den Bus-Zykluszähler um eins. Dies vervollständigt die Vorgänge von Block 504 von Fig. 5.
  • Da der "Warte-Zähler" den Wert null hat, gibt es keine Verzögerung beim Ausgeben der nächsten Stoß-Lese-Anforderung an das Speichersubsystem 14. Bevor jedoch die Anforderung ausgegeben wird, kontrolliert der Prozessor 18-20 den Bus-Zykluszähler, wie in Block 506 gezeigt ist. Da der Bus Zykluszähler nicht gleich null ist, wiederholt der Prozessor 18-20 die Sequenz der Blöcke 504 und 505, wie oben beschrieben wurde. Nachdem acht aufeinanderfolgende Leseanforderungen von dem Prozessor 18-20 ausgegeben wurden, ist der Bus-Zykluszähler auf null dekrementiert, was die Vervollständigung der Übertragung eines ganzen Informationsblockes anzeigt.
  • Wie aus Fig. 5 zu erkennen ist, wenn der Prozessor 18-20 das Testen der Bus-Zykluszählung von Block 506 durchführt, dann veranlaßt ein Null-Zähler den Prozessor 18-20 dazu, zu Block 507 fortzuschreiten. Da es mehr Datenblöcke zu übertragen gibt, führt das Ergebnis des Testens in Block 507 dazu, daß der Prozessor 18-20 zu Block 509 geht.
  • Zu dieser Zeit testet unter der Steuerung eines Mikrobefehls mit dem Format, das in Fig. 4a gezeigt ist, der Prozessor 18-20 den Zustand des Bus-Sättigungs-Detektorindikators 18-162 von Fig. 3b. Dieses Testen läuft über die Multiplexerschaltungen 18-221 und 18-223, der Exklusiv-OR-Schaltung 18-222 von Fig. 3b, unter der Steuerung der TFZ- und TESTBITS- Felder des Mikrobefehls von Fig. 4a. Unter der Annahme, daß der übertragene Block die Sättigung des Systembusses 12 verursachte, bleibt Signal BSDCNB+00 in einem Hoch-Zustand während des gesamten Zeitintervalls, in welchem die Übertragung des Blocks stattfand. Das bedeutet, daß während dieses Zeitintervalls der Detektor jede Anwesenheit von keinen unbenutzten oder verfügbaren Zyklen detektiert.
  • Wie aus Fig. 5 erkennbar ist, schaltet die Tatsache, daß das Bus-Sättigungs- Signal BUSSAT+00 eine binäre EINS ist, das Zweit-Test-Flip-Flop 18-224 von Fig. 3b auf eine binäre EINS. Das Ausgangssignal BTSTCN-00 veranlaßt die Prozessor-Mikrosequenzer-Logikschaltungen von Fig. 2 zur Übertragung der Zweigadresse, die in dem Mikrobefehl als nächste Adresse enthalten ist. Das Ergebnis des Testens in Block 509 veranlaßt den Prozessor 18-20, zu dem Block 510 weiterzugehen. Der Prozessor 18-20 liest erneut den "Warte-Zähler"-Registerplatz von dem Notizblockspeicher und erhöht ihn um eins. Da dies das erste Mal ist, daß der Warte-Zähler inkrementiert wird, führt das Testen in Block 510 dazu, daß der Prozessor 18-20 veranlaßt wird, zu Block 511 weiterzugehen, was dazu führt, daß der "Warte-zähler" um eins erhöht wird. Das Testen durch Block 512 führt dazu, daß der Prozessor 18-20 zu Block 502 geht. Nach dem Laden des Bus-Zyklus-Zähiwertes erzeugt der Prozessor 18-20 erneut das Signal SMPLBS-00, welches den Bus-Sättigungs-Detektor-Indikator-Flip-Flop 18-162 auf eine binäre EINS setzt.
  • In der gleichen Weise, wie oben beschrieben, gibt der Prozessor 18-20 eine zweite Folge von Stoß-Lese-Anforderungen an das Speichersubsystem 14 aus. Jedoch wartet der Prozessor 18-20 jetzt zweimal länger als zuvor mit der Ausgabe einer nachfolgenden Leseanforderung. Dies hat die Wirkung eines Herunterdrosseins des Subsystems, so daß es 32 Byte-Stöße von Daten mit einer Rate von ungefähr der Hälfte der ursprünglichen Übertragungsrate empfängt. Mit Abschluß der Übertragung eines zweiten Blocks von 256 Bytes bestimmt der Prozessor 18-20 erneut, ob mehr Information übertragen werden soll,
  • Wie aus Fig. 5 zu erkennen ist, geht bei der Bestimmung, daß noch weiterhin Informationsblöcke unter der Steuerung von Block 507 zu übertragen sind, der Prozessor 18-20 erneut zu Block 507. Der Prozessor 18-20 testet erneut den Zustand des Sättigungs-Detektor-Indikator-Flip-Flops 18-162. Wenn der Zustand des Indikator-Flip-Flops 18-162 umgeschaltet ist auf eine binäre NULL, zeigt dies an, daß durch das Herunterdrosseln des Subsystembetriebes eine Bus-Sättigung vermieden wurde. Er nimmt dann die Übertragung bei maximaler Geschwindigkeit wieder auf.
  • Wenn Block 509 feststellt, daß der Systembus 12 noch gesättigt ist, dann erhöht der Prozessor 18-20 den "Warte-Zähler" erneut um eins. Dies verlängert die Zeit zwischen der Ausgabe von Leseanforderungen weiter, was die Geschwindigkeit, mit welcher Datenstöße übertragen werden, weiter drosselt. Der Drosselvorgang setzt sich fort, solange der Systembus 12 gesättigt bleibt. Bei einem gegebenen Punkt vollzieht der Prozessor 18-20 eine weitere Einstellung der Geschwindigkeit durch Änderung der Subsystempriorität. Wie aus Fig. 5 zu erkennen ist, wird dieser Punkt bestimmt durch einen "Warte-Zähler" von 4. Zu dieser Zeit testet der Prozessor 18-20, um die Bus-Prioritätszugangseinstellung zu bestimmen. Wenn sie auf eine hohe Priorität gesetzt ist, dann schaltet der Prozessor 18-20 die Priorität von hoch auf tief, wie durch Block 516 von Fig. 5 angezeigt ist. Durch die Fähigkeit zur Einstellung der Subsystempriorität wird eine größere Flexibilität bei der Einstellung der Geschwindigkeit, mit welcher Datenstöße durch das Speichersubsystem 14 an das Subsystem 18 übertragen werden, ermöglicht.
  • Wie aus Fig. 5 zu erkennen ist, fährt der Prozessor 18-20 fort, die Zeit zwischen aufeinanderfolgenden Leseanforderungen zu verlängern, solange der Bus fortfährt gesättigt zu sein, bis ein minimaler Leistungspegel erreicht ist.
  • Dieser Minimumpegel ist festgelegt als Punkt, wo der "Warte-Zähler" einen maximalen Zähler von acht erreicht. Wenn dieser Zählwert erreicht ist, dann findet keine weitere Erhöhung statt, und die Übertragung der Datenblöcke setzt sich auf diesem Pegel fort. Alternativ könnte der Prozessor 18-20 programmiert werden, um die Übertragung zu beenden durch Eingeben in die DMA-Beendigungs-Routine von Fig. 4b. In diesem Fall würde das Subsystem 18 fortfahren, den Vorgang zu einer späteren Zeit erneut zu versuchen. Wenn jedoch unter der Annahme, daß der Vorgang fortgesetzt wird, der Block 507 detektiert, daß die erforderliche Anzahl von Blöcken übertragen wurde, dann verläßt der Prozessor 18-20 die Bus-Sättigungs- Routine und beginnt die Ausführung der DMA-Beendigungs-Routine von Fig. 4b.
  • Es ist deutlich, daß viele Änderungen dahingehend möglich sind, daß verschiedene Operationen der Blöcke von Fig. 5 durchgeführt werden. Ebenso können Änderungen in dem Bus-Zykluszähler und den "Warte-Zähler"-Werten wie erforderlich vorgenommen werden, um die gewünschten Ergebnisse zu erhalten.
  • Aufgrund ihrer Einfachheit und ihrer leichten Installation kann die Bus- Sättigungs-Detektor-Vorrichtung gemäß der vorliegenden Erfindung verteilt werden unter den verschiedenen Benutzersystemen, wodurch jedem Benutzersubsystem ermöglicht wird, zu jeder gegebenen Zeit zu detektieren, wenn der Systembus 12 in einem Sättigungszustand ist.
  • Zwar ist gemäß den Vorschriften und Statuten die beste Form der Erfindung erläutert und beschrieben worden, doch können bestimmte Änderungen vorgenommen werden, ohne von der Erfindung abzuweichen, wie sie in den beigefügten Ansprüchen dargelegt wird.

Claims (9)

1. Bus-Sättigungs-Erkennungsvorrichtung (18-16) zum Erkennen von Sättigung auf einem asynchronen Bus-Netzwerk (12), gemeinsam verbunden mit einer Mehrzahl von Datenbearbeitungseinheiten (14, 16, 18, 20), wahrend des asynchronen Datentransfers zwischen verschiedenen der Einheiten während Bus-Operationszyklen, die auf einer Prioritätsbasis, gesteuert durch ein Prioritäts-Netzwerk (18-14), welches als Teil des Bus-Netzwerkes enthalten ist, zugeteilt werden, wobei das Prioritäts- Netzwerk auf jede der Mehrzahl von Einheiten verteilt wird, wobei die Bus-Sättigungs-Vorrichtung in mindestens einer der Einheiten enthalten ist, wobei diese Vorrichtung aufweist:
Mittel (18-160, 161, 162), mit dem Bus-Netzwerk verbunden zum Überwachen des Zustands einer vorbestimmten von einer Anzahl von Leitungen des Bus-Netzwerks, welches dazu bestimmt ist, die Bus- Aktivität anzuzeigen; und
Bi-Status-Anzeigemittel (18-16), verbunden mit den Überwachungsmitteln, wobei das Anzeigemittel in einen vorbestimmten Status bei einem Beginn eines Datentransferintervalls durch die eine Einheit gesetzt wird und wobei das Bi-Status-Anzeigemittel in einen anderen Status durch die Überwachungsmittel geschaltet wird, wenn die Übe rwachungsmittel erkennen, daß das Bus-Netzwerk nicht gesättigt ist, wie durch ein Auftreten eines ungenutzten Bus-Operationszyklus bezeichnet wird.
2. Vorrichtung nach Anspruch 1, wobei das Überwachungsmittel Verzögerungsschaltungsmittel aufweist, we[che mit der vorbestimmten der Anzahl von Leitungen verbunden ist, wobei die Verzögerungsschaltungsmittel Signale verzögern, welche von der vorbestimmten der Leitungen empfangen werden, um einen Betrag, der einem normalen Intervall zwischen sukzessive zugeteilten Bus-Zyklen zum Halten der Anzeigemittel in dem vorbestimmten Status, welcher die Erkennung des unbenutzten Bus-Operationszyklus ermöglicht, entspricht.
3. Vorrichtung nach Anspruch 1, wobei das Anzeigemittel einen Eingang und einen Ausgang hat, wobei die eine Einheit mit einem Prozessormittel mit dem Eingang und dem Ausgang verbunden ist, wobei das Prozessormittel ein Signal an den Eingang beim Beginn des Datentransferintervalls anlegt zum Schalten der Anzeigemittel in den vorbestimmten Status und wobei das Prozessormittel Signale erzeugt bei einem Abschluß des Datentransferintervalls, um den Status der Anzeigemittel zu testen.
4. Vorrichtung nach Anspruch 3, wobei das Prozessormittel Signale erzeugt zum wiederholten Setzen der Anzeigemittel in den vorbestimmten Status vor dem Beginn eines jeden sukzessiven Datentransferintervalls und zum Testen der Anzeigemittel bei dem Abschluß eines jeden Datentransferintervalls zum Bestimmen, ob das Prozessormittel eine Bus-Sättigung während eines vorherigen Datentransferintervalls verursacht hatte.
5. Vorrichtung nach Anspruch 4, wobei das Prozessormittel mikroprogrammierte Steuerungsmittel aufweist zum Speichern von Sequenzen von Mikrobefehlen zum Steuern des Datentransfers zwischen der Einheit und dem Bus-Netzwerk, wobei die Sequenzen Test- und Verzweigungsmikrobefehle aufweisen, wobei jede eine Verzweigungsadresse und erste und zweite Felder, kodiert zum Spezifizieren des Testens des Status der Anzeigemittel, aufweist. und wobei das Prozessormittel mit dem Bestimmen, daß die Anzeigemittel in dem vorbestimmten Status sind, in eine Sequenz von Mikrobefehlen verzweigt, welche durch die Verzweigungsadresse spezifiziert sind, zum Herunterdrosseln des Datentransfers zwischen der Einheit und dem Bus-Netzwerk.
6. Peripherie-Controller zum Steuern des Hochgeschwindigkeits-Datentrans fers von mindestens einer Eingabelausgabe-Vorrichtung zu und von einem asynchronen Bus-Netzwerk, welches den Controller gemeinsam mit einer Mehrzahl von Datenbearbeitungseinheiten verbindet zum asynchronen Transferieren von Daten zwischen verschiedenen der Einheiten während Bus-Operationszyklen, die auf einer Prioritätsbasis zugeteilt werden, welche durch ein Prioritäts-Netzwerk gesteuert wird, welches als Teil des Bus-Netzwerkes enthalten ist, wobei das Prioritäts- Netzwerk auf jede der Mehrzahl von Einheiten verteilt ist, wobei der Controller aufweist:
einen Bus-Sättigungs-Detektor, der mit dem Bus-Netzwerk verbunden ist, wobei der Detektor aufweist:
Mittel, verbunden mit dem Bus-Netzwerk zum Überwachen des Status' einer vorbestimmten von einer Anzahl von Leitungen des Bus-Netzwerks, dazu bestimmt, die Bus-Aktivität anzuzeigen; und
einen bistabilen Indikator, der mit dem Überwachungsmittel verbunden ist, wobei der bistabile Indikator von einem ersten Status in einen zweiten Status durch das Überwachungsmittel geschaltet wird, wenn das Überwachungsmittel erkennt, daß das Bus-Netzwerk nicht gesättigt ist, wie durch ein Auftreten eines ungenutzten Bus- Operationszyklus' bezeichnet wird; und
ein Prozessormittel zum Erzeugen von Signalen zum Transferieren von Datenblöcken zwischen der Eingabe/Ausgabe-Vorrichtung und dem Bus- Netzwerk, wobei das Prozessorm ittel mit dem Bus-Sättigungsdetektor verbunden ist, wobei das Prozessormittel den Indikator in dem ersten Status bei einem Beginn eines Datentransferoperations-Intervalls setzt und
wobei das Prozessormittel Mittel aufweist zum Testen des Status' des Indikators bei einem Abschluß des Datentransferoperations-lntervalls.
7. Verfahren zum Verhindern der Sättigung eines asynchronen Bus-Netzwerks, welches gemeinsam mit einer Mehrzahl von Datenbearbeitungseinheiten verbunden ist, in welchem Daten asynchron zwischen verschiedenen der Einheiten transferiert werden während Bus-Operationszyklen, die auf einer Prioritätsbasis zugeteilt werden, gesteuert durch ein Prioritäts-Netzwerk, welches als Teil des Bus-Netzwerks enthalten ist, wobei das Prioritäts-Netzwerk auf jede der Mehrzahl von Einheiten verteilt ist, wobei das Verfahren die folgenden Schritte aufweist:
Einbeziehen als Teil einer Bus-Schnittstelle jeder einer Anzahl von Einheiten einer Bus-Sättigungs-Erkennungsschaltung;
Überwachen der Bus-Zyklusaktivität durch Verbinden eines Eingangs des Bus-Sättigungsdetektors mit einer vorbestimmten Leitung des Bus-Netzwerks, dazu bestimmt, die Bus-Aktivität anzuzeigen;
Setzen der Detektorschaltung in einen ersten Status beim Beginn eines Datentransfers durch einen Prozessor, welcher in jeder einer Anzahl von Einheiten enthalten ist;
Schalten der Detektorschaltung von einem ersten Status in einen zweiten Status, wenn die Detektorschaltung ein Auftreten eines unbenutzten Bus- Zyklus' erkennt;
Testen des Status' der Detektorschaltung beim Ende des Datentransferintervalls durch den Prozessor zum Feststellen, ob das Bus-Netzwerk gesättigt ist. und
Herunterdrosseln der Rate, mit welcher Daten transferiert werden durch den Prozessor in einer vorbestimmten Weise, derart, daß das Bus- Netzwerk vor der Sättigung bewahrt wird.
8. Vorrichtung zum Begrenzen der Benutzung eines System-Busses (12) durch eine (18) einer Mehrzahl von Datenbearbeitungseinheiten (14, 16, 18, 20), wobei der Bus ein asynchroner Typ ist, wobei die Mehrzahl von Datenbearbeitungseinheiten mit dem Bus verbunden sind zum Teilnehmen an Operationen, bei welchen Daten über den Bus zwischen Paaren von den Einheiten übertragen werden und wobei jede der Einheiten solch eine Datentransferoperation durch Erzeugen eines Signals (CYCREQ), welches die Benutzung des Busses für eine Datentransferoperation fordert, initiieren kann; wobei die Vorrichtung gekennzeichnet ist durch:
eine Überwachungsschaltung (18-160, 161, 162) verbunden, um eine vorbestimmte Leitung des Busses zu überwachen, welche dazu bestimmt ist, die Aktivität auf dem Bus anzuzeigen, und zum Erzeugen eines Ausgangssignals (BCYSMP) in einem jeden der ersten und zweiten Status, wobei der erste Status bezeichnet, daß der Bus aktiv beim Ausführen einer Datentransferoperation ist;
eine Signalerzeugungsschaltung (18-210) zum Erzeugen eines Signals (SMPLBS), wenn die eine Datenbearbeitungseinheit eine Anforderung für die Benutzung des Busses initiiert;
ein Fiip-Flop (18-163), welches in jedem von einem ersten und einem zweiten Status betrieben werden kann, wobei das Flip-Flop mit der Signalerzeugungsschaltung verbunden ist und auf das Signal (SMPLBS) reagiert, welches hierdurch erzeugt wird, zum Transferieren in dessen ersten Status, welcher die Benutzung des Busses bezeichnet, wobei das Flip-Flop mit der Überwachungsschaltung verbunden ist und auf den zweiten Status des Ausgangssignals (BCYSMP) reagiert, welches durch die Überwachungsschaltung erzeugt wird, zum Transferieren in dessen zweiten Status, welcher das Auftreten eines unbenutzten Bus-Operationszyklus' bezeichnet; und
eine Erkennungsschaltung (18-220), verbunden mit dem Flip-Flop zum Erfassen dessen Operationsstatus und zum Liefern eines Signals (BTSTCN), welches die kontinuierliche Benutzung des Busses durch die eine Einheit während eines vorbestimmten Intervalls angibt.
9. Vorrichtung nach Anspruch 8, weiter gekennzeichnet durch:
eine Prozessoreinheit, welche auf das Auftreten des Signals (BTSTCN) reagiert, welches durch die Erkennungsschaltung geliefert wird, zum Steigern des Intervalls zwischen sukzessiven der Anforderungssignale (CYCREQ).
DE69031506T 1989-01-10 1990-01-02 Verfahren und Gerät zur Anwendungsbeschränkung eines asynchronen Bus mit verteilter Zugriffssteuerung Expired - Fee Related DE69031506T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/295,639 US5099420A (en) 1989-01-10 1989-01-10 Method and apparatus for limiting the utilization of an asynchronous bus with distributed controlled access

Publications (2)

Publication Number Publication Date
DE69031506D1 DE69031506D1 (de) 1997-11-06
DE69031506T2 true DE69031506T2 (de) 1998-04-23

Family

ID=23138585

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69031506T Expired - Fee Related DE69031506T2 (de) 1989-01-10 1990-01-02 Verfahren und Gerät zur Anwendungsbeschränkung eines asynchronen Bus mit verteilter Zugriffssteuerung

Country Status (4)

Country Link
US (1) US5099420A (de)
EP (1) EP0378070B1 (de)
CA (1) CA2007376C (de)
DE (1) DE69031506T2 (de)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5243702A (en) * 1990-10-05 1993-09-07 Bull Hn Information Systems Inc. Minimum contention processor and system bus system
CA2072178A1 (en) * 1991-06-24 1992-12-25 Said S. Saadeh Innate bus monitor for computer system manager
CA2071804A1 (en) * 1991-06-24 1992-12-25 Ronald G. Ward Computer system manager
CA2068010C (en) * 1991-08-30 1996-10-22 Robert Chih-Tsin Eng Alternate master bursting data rate management techniques for use in computer systems having dual bus architecture
JPH0594409A (ja) * 1991-10-02 1993-04-16 Nec Eng Ltd バス調停システム
US5444855A (en) * 1992-04-17 1995-08-22 International Business Machines Corporation System for guaranteed CPU bus access by I/O devices monitoring separately predetermined distinct maximum non CPU bus activity and inhibiting I/O devices thereof
WO1993024889A1 (en) * 1992-05-22 1993-12-09 Seiko Epson Corporation Adaptive system bus bandwidth allocator
US5479613A (en) * 1992-08-05 1995-12-26 International Business Machines Corporation Real-time ring bandwidth utilization calculator, calculating bandwidth utilization based on occurrences of first and second predetermined bit patterns
US5546550A (en) * 1994-11-21 1996-08-13 Unisys Corporation Method for assuring equal access to all input/output devices coupled to a SCSI bus
US5913040A (en) * 1995-08-22 1999-06-15 Backweb Ltd. Method and apparatus for transmitting and displaying information between a remote network and a local computer
US6078742A (en) * 1996-12-19 2000-06-20 Ati International Hardware emulation
US6311223B1 (en) * 1997-11-03 2001-10-30 International Business Machines Corporation Effective transmission of documents in hypertext markup language (HTML)
US6178486B1 (en) * 1998-02-19 2001-01-23 Quantum Corporation Time allocation shared memory arbitration for disk drive controller
US6784890B1 (en) * 1998-03-02 2004-08-31 Intel Corporation Accelerated graphics port expedite cycle throttling control mechanism
WO1999060504A1 (en) 1998-05-15 1999-11-25 Unicast Communications Corporation A technique for implementing browser-initiated network-distributed advertising and for interstitially displaying an advertisement
US6404441B1 (en) 1999-07-16 2002-06-11 Jet Software, Inc. System for creating media presentations of computer software application programs
US8086697B2 (en) * 2005-06-28 2011-12-27 Claria Innovations, Llc Techniques for displaying impressions in documents delivered over a computer network
US7475404B2 (en) 2000-05-18 2009-01-06 Maquis Techtrix Llc System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching
US6820152B2 (en) * 2001-04-25 2004-11-16 Matsushita Electric Industrial Co., Ltd. Memory control device and LSI
US7062394B2 (en) * 2002-09-20 2006-06-13 Intel Corporation Performance characterization using effective processor frequency
US7603341B2 (en) 2002-11-05 2009-10-13 Claria Corporation Updating the content of a presentation vehicle in a computer network
US9003548B2 (en) 2004-04-13 2015-04-07 Nl Systems, Llc Method and system for digital rights management of documents
US8078602B2 (en) 2004-12-17 2011-12-13 Claria Innovations, Llc Search engine for a computer network
US8255413B2 (en) 2004-08-19 2012-08-28 Carhamm Ltd., Llc Method and apparatus for responding to request for information-personalization
US7693863B2 (en) 2004-12-20 2010-04-06 Claria Corporation Method and device for publishing cross-network user behavioral data
US8073866B2 (en) 2005-03-17 2011-12-06 Claria Innovations, Llc Method for providing content to an internet user based on the user's demonstrated content preferences
US8239682B2 (en) 2005-09-28 2012-08-07 Nl Systems, Llc Method and system for digital rights management of documents
WO2007045051A1 (en) 2005-10-21 2007-04-26 Honeywell Limited An authorisation system and a method of authorisation
CN101765995B (zh) * 2007-05-28 2012-11-14 霍尼韦尔国际公司 用于调试访问控制装置的系统和方法
EP2150901B1 (de) * 2007-05-28 2015-09-16 Honeywell International Inc. Systeme und verfahren zum konfigurieren von zugangskontrolleinrichtungen
US20110071929A1 (en) * 2008-01-30 2011-03-24 Honeywell International Inc. Systems and methods for managing building services
US20090324461A1 (en) * 2008-06-27 2009-12-31 Greatpoint Energy, Inc. Four-Train Catalytic Gasification Systems
US9704313B2 (en) 2008-09-30 2017-07-11 Honeywell International Inc. Systems and methods for interacting with access control devices
WO2010099575A1 (en) 2009-03-04 2010-09-10 Honeywell International Inc. Systems and methods for managing video data
EP2408984B1 (de) 2009-03-19 2019-11-27 Honeywell International Inc. Systeme und verfahren zur verwaltung von zugangssteuerungsvorrichtungen
US9280365B2 (en) * 2009-12-17 2016-03-08 Honeywell International Inc. Systems and methods for managing configuration data at disconnected remote devices
US8707414B2 (en) * 2010-01-07 2014-04-22 Honeywell International Inc. Systems and methods for location aware access control management
US8787725B2 (en) 2010-11-11 2014-07-22 Honeywell International Inc. Systems and methods for managing video data
US9894261B2 (en) 2011-06-24 2018-02-13 Honeywell International Inc. Systems and methods for presenting digital video management system information via a user-customizable hierarchical tree interface
US9344684B2 (en) 2011-08-05 2016-05-17 Honeywell International Inc. Systems and methods configured to enable content sharing between client terminals of a digital video management system
US10362273B2 (en) 2011-08-05 2019-07-23 Honeywell International Inc. Systems and methods for managing video data
CN104137154B (zh) 2011-08-05 2019-02-01 霍尼韦尔国际公司 用于管理视频数据的系统和方法
US10523903B2 (en) 2013-10-30 2019-12-31 Honeywell International Inc. Computer implemented systems frameworks and methods configured for enabling review of incident data
US9954832B2 (en) 2015-04-24 2018-04-24 Encryptics, Llc System and method for enhanced data protection

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3840859A (en) * 1972-07-03 1974-10-08 Burroughs Corp Method and apparatus for regulating input/output traffic of a data processing system
US4199663A (en) * 1978-11-06 1980-04-22 The Boeing Company Autonomous terminal data communications system
US4462084A (en) * 1981-02-23 1984-07-24 Gen Rad, Inc. Bus request buffer circuit for interfacing between field maintenance processor and device specific adaptor
US4558429A (en) * 1981-12-17 1985-12-10 Honeywell Information Systems Inc. Pause apparatus for a memory controller with interleaved queuing apparatus
US4519031A (en) * 1982-02-22 1985-05-21 Texas Instruments Incorporated Microcomputer with accumulator saturation upon overflow
US4719567A (en) * 1982-04-29 1988-01-12 Motorola, Inc. Method and apparatus for limiting bus utilization

Also Published As

Publication number Publication date
DE69031506D1 (de) 1997-11-06
CA2007376C (en) 1999-02-23
EP0378070B1 (de) 1997-10-01
US5099420A (en) 1992-03-24
CA2007376A1 (en) 1990-07-10
EP0378070A3 (de) 1991-10-09
EP0378070A2 (de) 1990-07-18

Similar Documents

Publication Publication Date Title
DE69031506T2 (de) Verfahren und Gerät zur Anwendungsbeschränkung eines asynchronen Bus mit verteilter Zugriffssteuerung
DE68922784T2 (de) Mehrfachbus-Mikrorechnersystem mit Busarbitrierung.
DE69021899T2 (de) DMA-Steuerung.
DE69021594T2 (de) Hochgeschwindigkeitsdatenübertragung auf einem Rechnersystembus.
DE69124905T2 (de) Datenverarbeitungsvorrichtung zur dynamischen Zeiteinstellung in einem dynamischen Speichersystem
DE3300262C2 (de)
DE68928772T2 (de) Datenverarbeitungssystem mit sich um Zugriff auf verteilte Betriebsmittel bewerbenden Einheiten und mit auf den Status der verteilten Betriebsmittel reagierender Schiedsrichtereinheit
DE3650036T2 (de) Mehrfachport-Diensterweiterungsadapter für Übertragungssteuerung.
DE3224034C2 (de)
DE69120586T2 (de) Rechnersystem mit synchronem Bus
DE2856483C2 (de)
DE3688763T2 (de) Mehrfachport-Übertragungsadaptiervorrichtung.
DE69731323T2 (de) Steuervorrichtung für externe Speicher und Datenübertragungsverfahren zwischen Steuervorrichtungen für externe Speicher
DE69132344T2 (de) Dynamische Busarbitrierung
DE3783370T2 (de) Schaltung zur blockierungsverhinderung von hochprioritaetsanforderungen an eine systemsteuerung.
DE69423928T2 (de) Dynamisch programmierbarer Busarbiter mit Einrichtung zur historischen Rückmeldung
DE69127851T2 (de) Direktspeicherzugriffübertragungssystem und Benutzung
DE3704056A1 (de) Peripherer dma-controller fuer datenerfassungssysteme
DE69710515T2 (de) Verfahren und Vorrichtung zur Bestimmung von Wartezuständen auf einer Zyklusbasis in einem Datenverarbeitungssystem
DE69016837T2 (de) VME-Multibus II-Schnittstellen-Anpassungsbaustein.
DE68920929T2 (de) Zeitgeberkanal mit mehreren Zeitgeberreferenzmerkmalen.
DE69515355T2 (de) Mehrfacharbitrierungsschema
DE4018481C2 (de)
DE3810231A1 (de) Digitalrechner mit programmierbarer dma-steuerung
DE4135749A1 (de) Prozessormodul fuer eine programmierbare steuerung mit einer intelligenten funktionsmodulschnittstelle

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee