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 ZugriffssteuerungInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 12
- 238000012546 transfer Methods 0.000 claims description 44
- 238000012360 testing method Methods 0.000 claims description 36
- 230000002093 peripheral effect Effects 0.000 claims description 18
- 238000012544 monitoring process Methods 0.000 claims description 14
- 230000000694 effects Effects 0.000 claims description 12
- 229920006395 saturated elastomer Polymers 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims 5
- 238000009738 saturating Methods 0.000 claims 1
- 230000004044 response Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- 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/368—Handling 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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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).
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)
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)
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 |
-
1989
- 1989-01-10 US US07/295,639 patent/US5099420A/en not_active Expired - Lifetime
-
1990
- 1990-01-02 DE DE69031506T patent/DE69031506T2/de not_active Expired - Fee Related
- 1990-01-02 EP EP90100012A patent/EP0378070B1/de not_active Expired - Lifetime
- 1990-01-09 CA CA002007376A patent/CA2007376C/en not_active Expired - Fee Related
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 |