DE3687257T2 - Arbitrierungsvorrichtung zur bestimmung der zugriffsprioritaet auf einen gemeinsamen bus. - Google Patents
Arbitrierungsvorrichtung zur bestimmung der zugriffsprioritaet auf einen gemeinsamen bus.Info
- Publication number
- DE3687257T2 DE3687257T2 DE8686111148T DE3687257T DE3687257T2 DE 3687257 T2 DE3687257 T2 DE 3687257T2 DE 8686111148 T DE8686111148 T DE 8686111148T DE 3687257 T DE3687257 T DE 3687257T DE 3687257 T2 DE3687257 T2 DE 3687257T2
- Authority
- DE
- Germany
- Prior art keywords
- signal
- request
- decision
- access
- arbiter
- 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
- 238000001514 detection method Methods 0.000 claims 1
- 238000000034 method Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 230000004936 stimulating effect Effects 0.000 description 2
- 241000238557 Decapoda Species 0.000 description 1
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000725 suspension Substances 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/30—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf eine Entscheidungseinrichtung, die die Priorität für den Zugriff auf einen gemeinsamen Bus, basierend auf einem Schema zur Prioritätenrotation, vergibt, wobei das Schema durch den Benutzer selektiv geändert werden kann.
- In einem Computersystem kann es sein, daß die in dem Computersystem befindlichen verschiedenen Prozessoren und Einheiten zur Ein- und Ausgabe, zu ungefähr demselben Zeitpunkt Zugriff auf einen gemeinsamen Datenbus anfordern. Der Datenbus kann jedoch nur einen Zugriff gleichzeitig bearbeiten. Deshalb müssen einige Vorrichtungen verwendet werden, um festzulegen, welche Einheit und welcher Prozessor Zugriff auf den Bus gewährt bekommen.
- Verschiedene Entscheidungsmechanismen werden bei Computersystemen, nach dem Stand der Technik, eingesetzt. In einem Artikel mit der Überschrift "Performance Analysis of High Speed Digital Buses for Multiprocessing Systems" von W.L. Bain und S. R. Ahuja von den Bell Laboratories in Murray Hill, New Jersey werden mehrere Entscheidungsmechanismen diskutiert. Zum Beispiel werden im Artikel der Static Priority Algorithm, der Fixed Time Slice Algorithm, der Dynamic Priority Algorithm, einschließlich des Least Recently Used Algorithmus, des Rotating Daisy Chain Algorithm und des First Come First Served Algorithm besprochen. Dieser Artikel wird durch Bezugnahme in die Erläuterung dieser Anwendung aufgenommen.
- Die meisten der oben angeführten Entscheidungsmechanismen, nach dem Stand der Technik, entscheiden an Hand einer festen Priorität in absteigender Reihenfolge. Keiner der Mechanismen enthält eine der folgenden, speziellen Einrichtungen: Eingabe/Ausgabe- Anforderungen (I/O) auf zwei Ebenen, um Aussperrung des Prozessors zu vermeiden, ein wahlweise vergebbares Gewährungssignal für einen Befehls-Cache-Speicher, das einen Entscheidungszyklus sichert, Daten-Cache-Eingabe- und Auslese-Operationen innerhalb eines Zyklus, wodurch ein Entscheidungszyklus gesichert wird, Gewährung der Prozessor-Bus-Operation (PBO) während der Auffrischung, zur Nutzung von andernfalls verschwendeten Zyklen.
- In der US-Patentschrift 4,449,183 von Flahive et al ist ein Mechanismus zur Zugriffsgewährung, basierend auf einer "rotierenden Priorität'', beschrieben. Das in dieser Patentschrift diskutierte Entscheidungsschema erinnert jedoch an den oben erwähnten Daisy-Chain-Algorithmus. Es gibt keine Beschreibung der oben genannten, speziellen Einrichtungen.
- In der europäischen Patentschrift EP 039 635 ist ein System zur Zugriffsgewährung auf einen gemeinsamen Bus enthalten, das mit festen Prioritäten arbeitet. Die Busanforderer sind, gesteuert von einem Entscheider, in Gruppen geordnet, aber die Zugriffsentscheidung wird zuerst zwischen den Gruppenentscheidern durchgeführt und danach innerhalb jeder Gruppe, unter den Busanforderern. Jeder Gruppenentscheider erhält eine feste Priorität, genauso wie jede Untereinheit innerhalb jeder Gruppe, wobei die Priorität durch den Inhalt eines ROM-Speichers festgelegt wird.
- Es ist deshalb Aufgabe der vorliegenden Erfindung, eine verbesserte Entscheidungseinrichtung bereitzustellen, welche die obengenannten Anforderungen erfüllt. Diese Aufgabe wird durch die Erfindung, wie in Anspruch 1 beschrieben, erfüllt; Ausführungsformen der Erfindung werden in den davon abhängigen Ansprüchen beschrieben.
- Die Entscheidungseinrichtung der Erfindung umfaßt eine Mehrzahl einzelner Entscheidungsmittel, die in einer Prioritätsfolge angeordnet sind. Jedes der Entscheidungsmittel enthält eine Anforderungs- und Freigabeschaltung, welche daran angepaßt ist, ein Signal für eine Zugriffsanforderung aus zumindest einer der Untereinheiten zu empfangen, die einen Zugriff auf den gemeinsamen Bus suchen und um ein Freigabesignal zu empfangen, wobei das Freigabesignal aktiviert ist, wenn das Signal für eine Zugriffsanforderung für ein Entscheidungsmittel, das in der Prioritätsfolge höher steht, während dem letzten Zugriff auf den Bus, nicht aktiviert ist. Dabei bildet ein Entscheidungsmittel ein Gewährungssignal für einen Zugriff auf den gemeinsamen Bus, wenn sowohl das Signal für eine Zugriffsanforderung, als auch das Freigabesignal am Eingang seiner Anforderungs- und Freigabeschaltung aktiv sind und zumindest eines der Entscheidungsmittel am Eingang seiner Anforderungs- und Freigabeschaltung eine Mehrzahl von Signalen für eine Zugriffsanforderung erhält, die einem Untersatz der Untereinheiten entsprechen. Solch eine Entscheidungseinrichtung ist dadurch gekennzeichnet, daß die Anforderungs- und Freigabeschaltung von zumindest einem Entscheidungsmittel, eine Mehrzahl von Latch-Mitteln enthält, entsprechend der Mehrzahl von Untereinheiten, die entsprechend einer festen Prioritätsreihenfolge angeordnet sind. Jedes davon wurde durch eines aus der Mehrzahl von Signalen für eine Zugriffsanforderung von der zugehörigen Untereinheit gesetzt, wenn es keine anderen Signale für eine Zugriffsanforderung von Untereinheiten gibt, die in der festen Prioritätsreihenfolge höher stehen, als die zugehörige Untereinheit, und wenn die Latch-Mittel gesetzt sind und das Freigabesignal bilden. Steuerungsspeichermittel sind mit mindestens einem der Entscheidungsmittel, zur Speicherung einer Mehrzahl von Identifizierungssymbolen verbunden, wodurch die Untereinheiten in dem Untersatz definiert werden. Diese Steuerungsspeichermittel bilden eine Wiederholungsfolge von Ausgangssignalen, die jeweils der Mehrzahl der Identifizierungssymbole entsprechen. Ein Freigabesignal mit der höchsten Priorität wird gebildet, wenn ein Signal für eine Zugriffsanforderung von einer Untereinheit, mit einem Ausgangssignal entsprechend dem Identifizierungssymbol der Untereinheit zusammenfällt, wodurch zumindest eines der Entscheidungsmittel einen Zugriff auf den gemeinsamen Bus gewährt, entweder für die Untereinheit, für die das Freigabesignal mit der höchsten Priorität gebildet wurde oder für die Untereinheit, für die das entsprechende Latch-Mittel ein Freigabesignal gebildet hat, bei Abwesenheit des Freigabesignals mit der höchsten Priorität.
- Ein volles Verständnis der vorliegenden Erfindung wird durch die hier nachfolgende ausführliche Beschreibung der bevorzugten Ausführung ermöglicht, sowie durch die begleitenden Zeichnungen, wobei:
- Fig. 1 ein System-Blockdiagramm eines Computersystems illustriert das eine logische Entscheidungsschaltung enthält, den Entscheidungsmechanismus der vorliegenden Erfindung;
- Fig. 2a bis 2c illustrieren den Aufbau der logischen Entscheidungsschaltung von Fig. 1, entsprechend der vorliegenden Erfindung, die logische Entscheidungsschaltung, einschließlich der Befehlsrotoren, zur Ermöglichung einer rotierenden, selektiv änderbaren Priorität für alle Untereinheiten, auf allen I/O-Ebenen und eine Mehrzahl von einzelnen Entscheidern, zur Feststellung, ob eine Untereinheit auf den gemeinsamen Bus zugreifen soll;
- Fig. 3a bis 3b illustrieren verschiedene Ausführungsformen eines Befehlsrotors, illustriert in Fig. 2a;
- Fig. 4 illustriert eine alternative Ausführung des Befehlsrotors und den Aufbau von jedem der einzelnen Entscheider der Fig. 2a bis 2c;
- Fig. 5 stellt eine Zeitablauffolge für entweder eine Eingabe/Ausgabe-Anforderung (I/O) oder eine Daten-Cache-Speicher-Anforderung (D-Cache) dar;
- Fig. 6 stellt eine Zeitablauffolge für eine Anforderung eines Befehls-Cache-Speichers (I-Cache) dar, wenn eine gemeinsame Einheit nicht aktiv ist; und
- Fig. 7 stellt eine normale Zeitablauffolge für ein Gewährungssignal für einen I-Cache-Speicher dar, wenn die gemeinsame Einheit belegt ist.
- Bezugnehmend auf Fig. 1 ist ein Computersystem 10 illustriert, das die Entscheider-Logikschaltung der vorliegenden Erfindung enthält. In Fig. 1 ist eine Befehlsprozessoreinheit 10a mit einem Befehls-Cache-Speicher (I-Cache) 10b und einem Daten-Cache- Speicher (D-Cache) 10c verbunden. Der Befehls-Cache-Speicher 10b und der Daten-Cache-Speicher 10c sind außerdem noch mit einer gemeinsamen Speichereinheit 10d und der Logikschaltung einer Eingabe/Ausgabe-Schnittstelleneinheit (IOIU-Logik) 10e über einen Speicherbus 10f verbunden. Eine Logikschaltung einer Speichersteuerung 10g ist mit der gemeinsamen Speichereinrichtung 10d über einen Steuerbus 10h verbunden und steht mit der IOIU- Logikschaltung 10e in Verbindung. Die IOIU-Logikschaltung 10e steht weiterhin mit der Logikschaltung eines Entscheiders 10i, entsprechend der vorliegenden Erfindung, in Verbindung. Die Auffrischlogik 10x ist in der Logikschaltung des Entscheiders 10i enthalten. Die Entscheider-Logikschaltung 10i erhält Zugriffsanforderungen vom Befehls-Cache-Speicher 10b über Leitung 2 und vom Daten-Cache-Speicher 10c über Leitung 1. Die IOIU-Logikschaltung 10e ist weiterhin mit einer Eingabe/Ausgabe-Schnittstellensteuerung 1 (IOIC 1) 10j, mit einer Eingabe/Ausgabe- Schnittstellensteuerung 2 (IOIC 2) 10k, mit einer Eingabe/Ausgabe-Schnittstellensteuerung 3 (IOIC 3) 10L und einer Eingabe/- Ausgabe-Schnittstellensteuerung 4 (IOIC 4) 10m über einen Busadapter 10n verbunden. Die Entscheider-Logikschaltung 10i erhält Zugriffsanforderungen von IOIC 1 10j über Leitung 3, von IOIC 2 10k über Leitung 4, von IOIC 3 10L über Leitung 5 und von IOIC 4 10m über Leitung 6. Die IOIC's 10j, 10k, 10L und 10m sind mit verschiedenen I/O-Untereinheiten 10p, 10g, 10r und 10s über I/O- Busse 10t, 10u, 10v und 10w, jeweils entsprechend, verbunden. Die Entscheider-Logikschaltung 10i erhält Zugriffsanforderungen für den Busadapter von der Speichersteuerlogik 10g über Leitung 7, eine Zugriffsanforderung von der Auffrischlogik 10x über Leitung 8 und eine PBO-CS-Anforderung von der Speichersteuerlogik 10g über Leitung 9.
- Das funktionale Verhalten des Computersystems von Fig. 1 wird in den folgenden Abschnitten, mit Bezug auf Fig. 1, beschrieben.
- Die Befehlsprozessoreinheit (IPU) 10a führt die im Befehls-Cache-Speicher 10b gespeicherten Befehle aus, unter Verwendung von Speicherdaten aus dem Daten-Cache-Speicher 10c. Die Ergebnisse der Ausführung werden in der gemeinsamen Speichereinheit 10d gespeichert. Wenn es nötig ist, die Ergebnisse auf verschiedene der I/O-Untereinheiten 10p, 10g, 10r und 10s zu übertragen, werden die Ergebnisse aus der gemeinsamen Speichereinrichtung 10d von der Speichersteuerlogik 10g geladen und zum Busadapter 10n über die IOIU-Logik 10e und zu den I/O-Untereinheiten 10p bis los über die IOIC 10j bis 10m übertragen. Es kann jedoch sein, daß der Befehls-Cache-Speicher 10b, der Daten-Cache-Speicher 10c und/oder einer oder mehrere der IOIC 10j bis 10m gleichzeitig Zugriff auf den gemeinsamen Bus (Speicherbus 10f und den Busadapter 10n) anfordern. Da der gemeinsame Bus nur einen Zugriff gleichzeitig bearbeiten kann, müssen einige Entscheidungsmechanismen verwendet werden, um festzulegen, welche Einheit zu einem bestimmten Zeitpunkt Zugriff auf den Bus bekommt. Um diese Festlegung zu machen, bilden eine Mehrzahl von Einheiten, die Zugriff wollen, unter ihnen der Daten-Cache-Speicher 10c, der Befehls-Cache-Speicher 10b, die IOIC 1 10j, die IOIC 2 10k, die IOIC 3 101, die IOIC 4 10m, die Speichersteuerlogik 10g und die Auffrischlogik 10x, alle ein Signal für eine Zugriffsanforderung, das über die Leitungen 1 bis 9 zur Entscheiderlogik 10i gelangt. In Abhängigkeit von einem speziellen Entscheidungsschema bestimmt die Entscheiderlogik 10i, welche Mehrzahl von Einheiten auf den gemeinsamen Bus zugreifen kann. Das spezielle Entscheidungsschema und der Aufbau der Entscheiderlogikschaltung 10i, werden in den unten stehenden Abschnitten, mit Bezug auf die Fig. 2a bis 7 der Zeichnungen, beschrieben.
- Bezugnehmend auf die Fig. 2a bis 2c wird ein Blockdiagramm illustriert, das den Aufbau der Entscheider-Logikschaltung 10i zeigt.
- Bezugnehmend auf Fig. 2a besteht die Entscheider-Logikschaltung 10i aus einer Mehrzahl von einzelnen Entscheidern, die in den Zeichnungen in Prioritätsreihenfolge angeordnet sind. Ein erster einzelner Entscheider 10i1, erster in der Prioritätsreihenfolge, in Bezug auf die anderen einzelnen Entscheider, stellt den IOIC- Befehlsrotation-Entscheider dar. Der erste Entscheider erhält Anforderungen für Befehlszugriffe von den IOIC 10j bis 10m. Ein zweiter einzelner Entscheider 10i2, zweiter in der Prioritätsreihenfolge, in Bezug auf andere einzelne Entscheider, stellt den Entscheider für eine Zyklusraubanforderung für eine IPU-Busoperation dar. Der zweite Entscheider erhält Zyklusraubanforderungen für Prozessor-Busoperationen (PBO) von der Speichersteuerlogik 10g, nach Entschlüsselung einer IPU-Anforderung. Ein dritter einzelner Entscheider 10i3, dritter in der Prioritätsreihenfolge, in Bezug auf andere einzelne Entscheider, stellt den Entscheider für Rotation von IOIC-Normalanforderungen dar. Diese zweite IOIC-Entscheidungsebene verhindert die Überschneidung von normalen Datenübertragungen mit Befehlsübertragungen, die zu Einheitenüberlaufführen könnten. Der dritte Entscheider erhält Normalanforderungen von den IOIC-Untereinheiten 10j bis 10m.
- Bezugnehmend auf Fig. 2b, ist ein vierter einzelner Entscheider 10i4 enthalten, vierter in einer Prioritätsreihenfolge in Bezug auf andere einzelne Entscheider und stellt einen I-Cache-Speicher-Entscheider für Anforderungen mit fester Priorität dar. Der vierte Entscheider erhält Zugriffsanforderungen vom Befehls-Cache-Speicher 10b. Ein fünfter einzelner Entscheider 10i5, fünfter in der Prioritätsreihenfolge, in Bezug auf andere einzelne Entscheider, stellt einen Entscheider für Anforderungen fester Priorität vom D-Cache-Speicher dar. Der fünfte Entscheider erhält Zugriffsanforderungen vom Daten-Cache-Speicher 10c. Ein sechster einzelner Entscheider 10i6, sechster in der Prioritätsreihenfolge, in Bezug auf weitere einzelne Entscheider, stellt einen Entscheider für den Busadapter, mit fester Prioritätsreihenfolge dar. Der sechste Entscheider erhält Zugriffsanforderungen von der Speichersteuerlogik 10g.
- Bezugnehmend auf Fig. 2c wird die Auffrischlogik 10x illustriert. Die Auffrischlogik 10x besteht aus einem siebten, einzelnen Entscheider 10i7, siebter und letzter in der Prioritätsreihenfolge, in Bezug auf die anderen einzelnen Entscheider. Der siebte Entscheider 10i7 stellt einen Entscheider für eine Auffrischung dar. Dieser Entscheider erhält Zugriffsanforderungen für eine Auffrischung zum Auffrischen der gemeinsamen Speichereinrichtung 10d, vom im Entscheider 10i enthaltenen Auffrischzeitgeber.
- Bezugnehmend auf Fig. 2a hat der darin enthaltene erste einzelne Entscheider 10i1 einen Anforderungseingangsanschluß und einen Freigabeeingangsanschluß. Der Anforderungseingangsanschluß ist in Parallelschaltung mit jedem der IOIC 1 bis 4 verbunden, welche die I/O-Untereinheiten 10p, 10g, 10r und 10s darstellen, entsprechend der Fig. 1. Der Freigabeeingangsanschluß des ersten einzelnen Entscheiders 10i4 ist mit einem Ausgangsanschluß eines UND-Gatters 10i1a verbunden. Die Eingangsanschlüsse des UND-Gatters 10i1a empfangen das Eingangssignal "keine Auffrischung anstehend" und das Eingangssignal "Ermögliche eine Entscheidung". Das UND-Gatter 10i1a hat die folgende Wahrheitstabelle: alle Eingänge müssen positiv sein, damit der Ausgang positiv wird; jeder negative Eingang bewirkt, daß der Ausgang negativ wird.
- Der erste einzelne Entscheider 10i1 ist mit einem ersten Befehlsrotor 10i1b verbunden. Der Befehlsrotor 10i1b speichert die Hummern 1 bis 4, jeweils entsprechend den Untereinheiten 1 bis 4, deren Befehlsanforderungen die Eingänge für den Anforderungseingangsanschluß des ersten einzelnen Entscheiders 10i1 bilden. Die vom Befehlsrotor 10i1b in Fig. 2a gespeicherte Nummernfolge lautet 4, 1, 2 und 3; es kann aber jede beliebige Nummernfolge im Befehlsrotor gespeichert werden. Zum Beispiel könnte der Befehlsrotor 10i1b leicht die Nummern 1, 1, 2, 3 oder die Nummern 1, 2, 3, 3 usw. speichern. In der Fig. 2a kann der Befehlsrotor 10i1b als "rotierend" dargestellt angesehen werden. Damit ist gemeint daß, wenn der Befehlsrotor "rotiert", die Hummern 4, 1, 2, 3 Eingänge für den ersten einzelnen Entscheider 10i1 sein werden und die IOIC 4, 1, 2 und 3 in Folge darstellen.
- Die Rotoren sind nicht auf vier Einträge beschränkt, sie können jede Anzahl von Einträgen enthalten. Die Anzahl der vorhandenen Einträge oder Fächer, bestimmt die Körnigkeit der Prozentpriorität, die jeder Eintrag besitzt.
- Das funktionale Verhalten des ersten einzelnen Entscheiders 10i1 wird im folgenden Abschnitt, mit Bezug auf Fig. 2a, beschrieben.
- Angenommen, daß Befehlsanforderungen aller vier IOIC 1-4 Eingänge für den Entscheider 10i1 sind. Dann erhält der Anforderungseingangsanschluß von Entscheider 10i1 vier Signale für eine Befehlsanforderung von den IOIC 1 bis 4, jeweils entsprechend. Weiterhin angenommen, daß der Befehlsrotor sich in der, in Fig. 2a gezeigten Stellung befindet, daß also die Nummer 4 Eingang für den Entscheider 10i1 ist. Dieser erste Entscheider 10i1 kann als ein Entscheider, der 4 Leitungen für Eingangsanforderungen, aber 5 Entscheidungsebenen in fester, absteigender Prioritätsfolge besitzt, angesehen werden. Die oberste Prioritätsebene wird durch den, im Rotor 10i1b enthaltenen Wert bestimmt. Wenn die Signale "keine Auffrischung anstehend" und "Ermögliche eine Entscheidung" positiv sind, (was bedeutet, daß keine Auffrischung ansteht und daß keine Datenübertragungsoperation oder Auffrischoperation abläuft, was einen Entscheidungsvorgang verhindern würde), dann regt ein positives Signal den Freigabeanschluß des Entscheiders 10i1 an. Wenn der Befehlsrotor 10i1b zu "rotieren" beginnt, wird den IOIC 4, 1, 2 und 3 nacheinander Zugriff auf den gemeinsamen Bus gewährt. Deshalb regen die, den IOIC 4, 1, 2 und 3 entsprechenden Signale für eine Befehlsanforderung nacheinander den gemeinsamen Bus an. Wenn eines der, oder beide Signale "keine Auffrischung anstehend" und "Ermögliche eine Entscheidung" nicht positiv sind, regt ein negatives Signal den Freigabeanschluß des Entscheiders 10i1 an. Wenn ein negatives Signal den Freigabeanschluß anregt, wird allen IOIC 1-4 der Zugriff auf den gemeinsamen Bus verweigert.
- Zugriff auf den gemeinsamen Bus durch die IOIC 1-4, über den Entscheider 10i1, hat eine höhere Priorität, als eine Zyklusraub-Zugriffsanforderung für eine PBO für den gemeinsamen Bus, über den Entscheider 10i2. Wenn die IOIC 1-4 über den Entscheider 10i1 keinen Zugriff auf den gemeinsamen Bus anfordern, kann die Zyklusraubanforderung für eine PBO über den Entscheider 10i2 ausgeführt werden. Die IOIC-Befehlsanforderungen über den Entscheider 10i1 haben höchste Priorität, unter den Entscheidern der Fig. 2a-2c und die Zyklusraubanforderung für eine PBO über den Entscheider 10i2 hat zweite Priorität.
- Der Freigabeanschluß des Entscheiders 10i2 ist mit dem Ausgangsanschluß eines anderen UND-Gatters 10i2b verbunden, das eine Wahrheitstabelle besitzt, die dieselbe ist, wie die Wahrheitstabelle für das UND-Gatter 10i1a. Die Eingangsanschlüsse des UND-Gatters 10i2b empfangen das "Ermögliche eine Entscheidung"- Signal und das "keine IOIC-Befehlsanforderungen"-Signal. Das "keine IOIC-Befehlsanforderungen"-Signal stellt ein Ausgangssignal von einem negativen UND-Gatter 10i2a dar.
- Es ist festzustellen, daß die IOIC-Befehlszugriffsanforderungen (IOIC I-Befehlsanf., IOIC 2-Befehlsanf., usw.), die den Anforderungsanschluß von Entscheider 10i1 anregen, auch die Eingangsanschlüsse des negativen UND-Gatters 10i2a anregen. Deshalb ist, wenn irgendeine IOIC-Befehlsanforderung HIGH ist, der Ausgang des negativen UND-Gatters 10i2a LOW, wobei, wenn alle IOIC-Befehlsanforderungen LOW sind, der Ausgang des negativen UND-Gatters 10i2a HIGH ist. Der Ausgang des UND-Gatters 10i2a wird passenderweise mit "+keine IOIC-Befehlsanf" bezeichnet. Diese Bezeichnungsweise weist darauf hin, daß, wenn es keine hohen (aktiven) IOIC-Befehlsanforderungen gibt, die den Anforderungsanschluß des Entscheiders 10i1 anregen, der erste Eingangsanschluß des UND-Gatters 10i2b HIGH ist. Diese Bezeichnungsweise wird durchgehend, während der ganzen Erläuterung dieser Anwendung verwendet. Zum Beispiel ist das "+keine PBO-CS-Anforderung"-Signal, welches das UND-Gatter 10i3a anregt, im Zustand HIGH, wenn kein "+PBO-CS-Anforderung"-Signal den Anforderungsanschluß des Entscheiders 10i2 anregt. Durchgehend kann während der Erläuterung vorausgesetzt werden, daß entweder ein Invertierer oder ein negatives UND-Gatter verwendet werden würde, um ein "kein---"- Signal zu erzeugen, wie oben beispielhaft gezeigt, unter Anwendung der Bezeichnungsweise.
- Wenn das "keine IOIC-Befehlsanforderung"-Signal positiv ist (was bedeutet, daß keine Leitungen für Anforderungen für IOIC-Befehle über den Entscheider 10i1 aktiv sind) und das "Ermögliche eine Entscheidung"-Signal positiv ist (bedeutend, daß es kein Signal gibt, das den Entscheidungsvorgang unterbrechen könnte), dann ist der Freigabeanschluß von Entscheider 10i2 positiv und der Zyklusraubanforderung für eine PBO wird Zugriff auf den gemeinsamen Bus gewährt. Das "keine Auffrischung anstehend"-Signal ist als Eingang für das Freigabe-UND-Gatter 10i2b nicht vorhanden. Als Folge davon wird den PBO- und Auffrischoperationen erlaubt, gleichzeitig ausgeführt zu werden.
- Der Entscheider 10i3 erhält von den IOIC 1-4 Normalanforderungen für Zugriff auf den gemeinsamen Bus. Wenn die IOIC 1-4 über den Entscheider 10i1 keinen Zugriff auf den Bus anfordern und wenn keine Zyklusraubanforderung für eine PBO, über den Entscheider 10i2 Zugriff auf den Bus anfordert, kann Entscheider 10i3 den IOIC 1-4 Zugriff auf den Bus gewähren. Die IOIC-Normalanforderungen über den Entscheider 10i3 stehen, in Bezug auf die Entscheider 10i1 und 10i2, an dritter Stelle in der Prioritätsreihenfolge. Der Freigabeanschluß von Entscheider 10i3 ist mit einem Ausgangsanschluß von UND-Gatter 10i3a verbunden. Die Eingangsanschlüsse von UND-Gatter 10i3a erhalten die folgenden Eingangssignale: "Keine Auffrischung anstehend", "keine IOIC-Befehlsanforderung", "keine PBO-CS-Anforderung" und "Ermögliche eine Entscheidung". Das UND-Gatter 10i1a hat eine Wahrheitstabelle, die dieselbe ist, wie die von UND-Gatter 10i1a, was bedeutet, wenn alle Eingänge positiv sind, dies einen positiven Ausgang erzeugt, jede andere Kombination erzeugt einen negativen Ausgang. Ein negatives Signal, das den Freigabeanschluß von Entscheider 10i3 anregt, hindert alle IOIC-Normalanforderungen daran, Zugriff auf den gemeinsamen Bus über den Anforderungsanschluß von Entscheider 10i3 zu erhalten. Ein Befehlsrotor 10i3b ist mit dem Entscheider 10i3 verbunden und funktioniert in derselben Weise, wie der Rotor 10i1b. Wenn also ein positives Signal den Freigabeanschluß von Entscheider 10i3 anregt (damit anzeigend, daß keine Anforderung für eine Auffrischung vorliegt, keine IOIC-Befehlsanforderungen und keine Zyklusraubanforderung für eine PBO vorliegen und nichts den Entscheidungsvorgang blockiert), wird den IOIC 1-4 Zugriff auf den Bus über den Entscheider 10i3, in der, durch die "Rotation" des Befehlsrotors 10i3b festgelegten Reihenfolge, gewährt. Entsprechend der Fig. 2a, als Ergebnis einer Rotation des Rotors 10i3b im Gegenuhrzeigersinn, wird den IOIC 1-4 höchste Priorität für den Bus in der folgenden Reihenfolge gewährt: Untereinheiten 3, 4, 1 und 2. Wenn die Auswahl für die höchste Priorität nicht zu der entsprechenden Anforderung paßt, werden die verbleibenden Anforderungen in einer festen Reihenfolge, mit abnehmender Priorität bearbeitet.
- In Fig. 2b erhält der Entscheider 10i4 eine I-Cache-Speicher- Anforderung an seinem Anforderungsanschluß. Wenn die Entscheider 10i1, 10i2 oder 10i3 von Fig. 2a keine Zugriffsanforderungen erhalten, kann der von Entscheider 10i4 empfangenen I-Cache- Speicher-Anforderung Zugriff auf den gemeinsamen Bus gewährt werden, wenn das, am Freigabeanschluß von Entscheider 10i4, empfangene Signal positiv ist. Der Entscheider 10i4 steht nach der Priorität an vierter Stelle, in Bezug auf die Entscheider 10i1, 10i2 und 10i3. Der Freigabeanschluß von Entscheider 10i4 ist mit dem Ausgang eines UND-Gatters 10i4a verbunden. Das UND-Gatter 10i4a besitzt dieselbe Wahrheitstabelle, wie das UND-Gatter 10i3a. Die Eingangsanschlüsse von UND-Gatter 10i4a erhalten die folgenden Eingangssignale: "keine Auffrischanforderung", "keine IOIC-Befehlsanforderungen", "keine PBO-CS-Anforderung", "keine IOIC-Normalanforderungen" und "Ermögliche eine Entscheidung". Wenn irgendeines der, vom UND-Gatter 10i4a, empfangenen Eingangssignale negativ ist, wird am Freigabeanschluß von Entscheider 10i4 ein negatives Eingangssignal empfangen und dadurch verhindert, daß die I-Cache-Speicher-Anforderung Zugriff auf den Bus erhält. Der Ausgangsanschluß von Entscheider 10i4 ist mit einem der beiden Eingangsanschlüsse des ODER-Gatters 10ib4 verbunden. Der zweite Eingang von ODER-Gatter 10i4b ist mit dem Ausgangsanschluß von UND-Gatter 10i4c verbunden. Der Ausgangsanschluß von ODER-Gatter 10i4b wird mit "I-Cache-Speicher-Gewährung" bezeichnet. Der Ausgangsanschluß von UND-Gatter 10i4c wird mit "wahlweise vergebbare I-Cache-Speicher-Gewährung" bezeichnet. Die Eingangsanschlüsse von UND-Gatter 10i4c empfangen die folgenden Signale: "keine höheren Anforderungen", ein positives Signal, das anzeigt, daß von den Entscheidern 10i1, 10i2 und 10i3 keine Anforderungen empfangen werden, "keine niedrigeren Gewährungen", ein positives Signal, das anzeigt, daß die Entscheider 10i5, 10i6 und 10i7, die später noch besprochen werden, keinen Zugriff auf den gemeinsamen Bus gewährt haben; "kein Auffrischzyklus", ein positives Signal, das anzeigt, daß im Augenblick kein Auffrischzyklus durchgeführt wird; und "Ermögliche eine Entscheidung", ein positives Signal, das anzeigt, daß keine Signale vorhanden sind, die die Fortführung des Entscheidungsvorgangs verhindern würden. Angenommen, der Freigabeanschluß von Entscheider 10i4 ist positiv und am Anforderungsanschluß von Entscheider 10i4 wurde nicht kurz vorher eine I-Cache-Speicher- Anforderung empfangen. Wenn nun die Signale "keine höheren Anforderungen" und "keine niedrigeren Gewährungen" positiv sind, und die Signale "kein Auffrischzyklus" und "Ermögliche eine Entscheidung" ebenfalls, dann erzeugt das UND-Gatter 10i4c das Signal "wahlweise vergebbare Gewährung", das das ODER-Gatter 10i4b anregt. Vom ODER-Gatter 10i4b wird ein "I-Cache-Speicher-Gewährung"-Signal erzeugt. Vom Entscheider 10i4 wurde aber noch keine I-Cache-Speicher-Anforderung empfangen. Wenn die I-Cache-Speicher-Anforderung empfangen ist, wird die I-Cache-Speicher-Anforderung, da das Signal I-Cache-Speicher-Gewährung bereits erzeugt ist, im nächstfolgenden Maschinenzyklus Zugriff auf den gemeinsamen Bus gewährt. Diese wahlweise vergebbare Gewährung sichert einen Maschinenzyklus, wodurch die Effektivität des Systems verbessert wird. (Siehe Fig. 6, die die wahlweise vergebbare Gewährung zeigt und Fig. 7, die die normale Gewährung zeigt)
- Der Entscheider 10i5 empfängt eine D-Cache-Speicher-Anforderung an seinem Anforderungsanschluß. Dies stellt eine Zugriffsanforderung für den gemeinsamen Bus vom Daten-Cache-Speicher 10c dar. Der Entscheider 10i5 kann die D-Cache-Speicher-Anforderung gewähren, wenn die Entscheider 10i1, 10i2, 10i3 und 10i4 keine Zugriffsanforderungen erhalten. Entscheider 10i5 steht an fünfter Stelle der Prioritätsreihenfolge, in Bezug auf die Entscheider 10i1 bis 10i4. Der Freigabeanschluß von Entscheider 10i5 ist mit dem Ausgangsanschluß von UND-Gatter 10i5a verbunden. Das UND-Gatter 10i5a besitzt eine Wahrheitstabelle, die dieselbe ist, wie die der UND-Gatter 10i4a und 10i3a. Die Eingangsanschlüsse von UND-Gatter 10i5a empfangen die folgenden Eingangssignale: "keine Auffrischanforderung", ein positives Signal, das anzeigt, daß keine Auffrischung ansteht; "keine IOIC-Befehlsanforderungen" (siehe Beschreibung UND-Gatter 10i2b); "kein PBO CS REQ" (siehe Beschreibung UND-Gatter 10i3a); "keine IOIC-Normalanforderungen" (siehe Beschreibung UND-Gatter 10i4a); "keine I- Cache-Speicher-Anforderung", ein positives Signal, das bedeutet, daß vom Entscheider 10i4 keine I-Cache-Speicher-Anforderung empfangen wurde und "Ermögliche eine Entscheidung", ein positives Signal, das bedeutet, daß nichts den Entscheidungsvorgang verhindert. Wenn alle diese Signale positiv sind, wird am Freigabeeingang von Entscheider 10i5 ein positives Signal empfangen und, als ein Ergebnis wird dem, am Anforderungsanschluß von Entscheider 10i5 empfangenen Signal für eine D-Cache-Speicher-Anforderung, Zugriff auf den gemeinsamen Bus gewährt.
- Entscheider 10i6 empfängt eine Zugriffsanforderung für den Busadapter von der Speichersteuerlogik 10g an seinem Anforderungsanschluß. Entscheider 10i6 kann die Zugriffsanforderung für den Busadapter gewähren, wenn die Entscheider 10i1, 10i2, 10i3, 10i4 und 10i5 keine Zugriffsanforderungen empfangen. Entscheider 10i6 steht an sechster Stelle in der Prioritätsreihenfolge, in Bezug auf die anderen Entscheider 10i1 bis 10i5. Der Freigabeanschluß von Entscheider 10i6 ist mit einem Ausgangsanschluß von UND-Gatter 10i6a verbunden. UND-Gatter 10i6a empfängt die folgenden Eingangssignale: "keine Auffrischanforderung"; "keine IOIC-Befehls-Anforderungen" (für Entscheider 10i1); "kein PBO CS REQ" (für Entscheider 10i2); "keine IOIC-Normalanforderungen" (für Entscheider 10i3); "keine I-Cache-Speicher-Anforderung" (für Entscheider 10i4); "keine D-Cache-Speicher-Anforderung", ein positives Signal, das anzeigt, daß vom Anforderungsanschluß von Entscheider 10i5 keine D-Cache-Speicher-Anforderung empfangen wird und "Ermögliche eine Entscheidung". Wenn irgendeines oder mehrere der obengenannten Eingangssignale, die das UND-Gatter 10i6a anregen, negativ sind, dann regt ein negatives Signal den Freigabeanschluß von Entscheider 10i6 an. Als ein Ergebnis, wird die Anregung des Anforderungsanschlusses von Entscheider 10i6 durch das Signal für eine Anforderung für den Busadapter, von der Speichersteuerlogik 10g blockiert und kein Zugriff auf den gemeinsamen Bus gewährt.
- Bezugnehmend auf Fig. 2c wird die Auffrischlogik 10x, die die Entscheider 10i7 und 10i8 enthält, illustriert. Der Entscheider 10i7 in Fig. 2c empfängt an seinem Anforderungsanschluß ein Signal zum Auffrischen einer Anforderung. Wenn die Entscheider 10i1, 10i2, 10i3, 10i4, 10i5 und 10i6 keine Zugriffsanforderungen empfangen, kann Entscheider 10i7 die Anforderung für die Auffrischung eines Zugriffs gewähren, wenn das Signal an seinem Freigabeanschluß positiv ist. Entscheider 10i7 steht an siebter Stelle in der Prioritätsreihenfolge, in Bezug auf die Entscheider 10i1 bis 10i6. Der Eingangsanschluß von Entscheider 10i7 ist mit dem Ausgangsanschluß von UND-Gatter 10i7a verbunden. UND- Gatter 10i7a besitzt dieselbe Wahrheitstabelle, wie UND-Gatter 10i6a und die anderen UND-Gatter. UND-Gatter 10i7a empfängt die folgenden Eingangssignale: "keine IOIC-Befehlsanforderungen", ein positives Signal, das anzeigt, daß Entscheider 10i1 keine IOIC-Befehlsanforderungen empfängt; "keine IOIC-Normalanforderungen", ein positives Signal, das anzeigt, daß keine Normalanforderungen von Untereinheiten von Entscheider 10i3 empfangen werden; "keine I-Cache-Speicher-Anforderung", ein positives Signal, das anzeigt, daß Entscheider 10i4 keine I-Cache-Speicher- Anforderung empfängt; "keine D-Cache-Speicher-Anforderung", ein positives Signal, das anzeigt, daß Entscheider 10i5 keine D-Cache-Speicher-Anforderung empfängt und "Ermögliche eine Entscheidung", ein positives Signal, das anzeigt, daß keine Signale vorhanden sind, die eine Fortsetzung des Entscheidungsvorgangs verhindern würden. Der Freigabeanschluß von Entscheider 10i1 ist über einen Invertierer 10i7c auch mit einem UND-Gatter 10i7b verbunden. Der andere Eingangsanschluß von UND-Gatter 10i7b ist mit dem Signal zur Auffrischung einer Aufforderung verbunden, das den Anforderungsanschluß von Entscheider 10i7 anregt. Der Ausgang von UND-Gatter 10i7b ist mit dem Setzanschluß einer Setz/Rücksetz-Latch-Schaltung 10i7d verbunden. Der Ausgang Q der Latch-Schaltung 10i7d ist mit dem Anforderungsanschluß eines weiteren Entscheiders 10i8 verbunden. Der Ausgangsanschluß des weiteren Entscheiders 10i8 ist mit einem Eingangsanschluß eines ODER-Gatters 10i9 verbunden. Der andere Eingangsanschluß von ODER-Gatter 10i9 ist mit dem Ausgangsanschluß von Entscheider 10i7 verbunden. Der "Auffrischgewährung" genannte Ausgangsanschluß von ODER-Gatter 10i9 ist mit dem Rücksetzanschluß der Latch-Schaltung 10i7d verbunden. Der Ausgang Q der Latch-Schaltung 10i7d wird mit "+Auffrischung anstehend" bezeichnet und der Ausgang Q quer der Latch-Schaltung 10i7d mit "keine Auffrischung anstehend". Dieses Signal ist mit den Freigabe-UND-Gattern der Entscheider 10i1, 10i2, 10i3, 10i4, 10i5 und 10i6 verbunden. Das funktionale Verhalten der Auffrischlogik 10x wird in den folgenden Abschnitten, mit Bezug auf Fig. 2c, beschrieben.
- Wenn eines der Eingangssignale von UND-Gatter 10i7a negativ ist, dann ist der Freigabeanschluß von Entscheider 10i7 negativ. Deshalb wird das, den Anforderungsanschluß von Entscheider 10i7 anregende Signal "Auffrischanforderung", blockiert und kein Zugriff auf den gemeinsamen Bus gewährt, wegen des Vorhandenseins des negativen Signals am Freigabeanschluß des Entscheiders. Jedoch wird das negative Signal am Freigabeeingang durch den Inverter 10i7c zu einem positiven Signal umgewandelt, das einen Anschluß von UND-Gatter 10i7b anregt. Der andere Anschluß von UND-Gatter 10i7b wird durch das Signal "Auffrischanforderung" angeregt. Durch einen positiven Ausgang von UND-Gatter 10i7b wird die Latch-Schaltung 10i7d gesetzt. Ein positives Signal am Ausgang Q (das Signal +AUFFRISCHUNG ANSTEHEND) von der Latch- Schaltung 10i7d stellt ein Hinweis auf die Aussetzung einer Auffrischung dar (was bedeutet, daß eine höhere Anforderung zur selben Zeit aktiv war, als die Auffrischanforderung aktiv war und die Auffrischoperation verzögert wird, bis die andere Operation abgeschlossen ist). Sobald die andere Operation abgeschlossen ist, geht das Signal "Ermögliche eine Entscheidung" in den Zustand aktiv, was dem Ausgang von Entscheider 10i8 erlaubt, aktiv zu werden. Dieses Ausgangssignal wird auf den Eingang von ODER-Gatter 10i9 gegeben, wodurch das Signal Auffrischgewährung erzeugt wird. Da das Signal "Auffrischanforderung" nur für einen Zyklus aktiv ist, wird die Latch-Schaltung 10i7d gesetzt, während gleichzeitig eine andere Speicheroperation ausgeführt wird. Das Signal am Ausgang Q der Latch-Schaltung 10i7d, die das Signal +AUFFRISCHUNG ANSTEHEND erzeugt, bedeutet, daß eine Auffrischoperation ansteht und durchgeführt wird, sobald das Signal "Ermögliche eine Entscheidung" aktiv wird.
- Bezugnehmend auf Fig. 3a wird ein einfacher Aufbau der Befehlsrotoren 10i1b und 10i3b illustriert. Die in Fig. 3a dargestellten Befehlsrotoren 10i1b und 10i3b können ein einfacher Speicher, mit einem Zeiger, der den Speicher adressiert, sein. In dem Speicher würden die Nummern der Untereinheiten gespeichert. In dem Beispiel von Fig. 3a werden die Hummern 1 bis 4 im Speicher abgelegt. Wenn der Zeiger den Speicher adressiert, werden die Nummern der Untereinheiten 1, 2, 3 und 4 nacheinander ausgelesen.
- Bezugnehmend auf Fig. 3b wird ein ähnlich einfacher Aufbau der Befehlsrotoren 10i1b und 10i3b illustriert. In Fig. 3b stellen die Befehlsrotoren, wie in Fig. 3a einen einfachen Speicher, mit einem Zeiger, der den Speicher adressiert, dar. Wenn der Zeiger den Speicher adressiert, werden die Nummern der Untereinheiten nacheinander ausgelesen. Jedoch ist in Fig. 3b ein anderer Satz von Nummern der Untereinheiten im Speicher abgelegt. Tatsächlich kann jeder beliebige Satz von Nummern der Untereinheiten im Speicher abgelegt werden. Also kann der Satz der Nummern der Untereinheiten vom Benutzer selektiv geändert werden. In der Ausführung von Fig. 3b werden die Nummern der Untereinheiten 1, 2, 2, 3, 3 und 4 nacheinander ausgelesen. Daraus folgt, daß wenn der Untereinheit 3 häufigerer Zugriff auf den gemeinsamen Bus gewährt werden soll, als Untereinheit 1 oder Untereinheit 4, muß die Untereinheitsnummer 3 mehrere Male im Speicher abgelegt werden. Der Prozentsatz von Gewährungen höchster Priorität wird durch die Häufigkeit festgelegt, mit der die Adresse der Untereinheit im Speicherbereich enthalten ist. Die Körnigkeit des Prozentsatz es der höchsten Priorität ist umgekehrt proportional zur Anzahl der belegten Speicherplätze. Mit anderen Worten, wenn nur vier Speicherplätze belegt wurden, wird jede Untereinheit garantiert 25% der Zeit die höchste Priorität bekommen. Wenn acht Speicherplätze belegt wurden, wäre der Prozentsatz 12,5%, woraus folgt, daß eine Untereinheit mit 3 Einträgen 37,5% erhält.
- Bezugnehmend auf Fig. 4 wird ein alternativer Aufbau der Befehlsrotoren 10i1b und 10i3b illustriert. Weiter wird ein ausführlicher Aufbau der Entscheider 10i1 bis 10i8 illustriert.
- In Fig. 4 wird eine Möglichkeit der Ausführung der Befehlsrotoren 10i1b und 10i3b gezeigt. Jeder Befehlsrotor besteht aus einem Multiplexer b1, einer Mehrzahl von, mit dem Multiplexer b1 verbundenen, Registern b2, einem Gattermittel b3, verbunden mit dem Multiplexer b1, zur Auswahl von einem der Register, aus der Mehrzahl von Registern b2, und ein Entschlüsselungsmittel b4 zur Entschlüsselung des Ausgangs von Multiplexer b1 und zur Anregung von Entscheider 10i1 oder 10i3. Die Mehrzahl von Registern b2 enthält die Register b2a, b2b, b2c,...und b2n. Das Gattermittel b3 enthält die Latch-Schaltung b3a, Latch b3b, Latch b3c,... und Latch b3n. Das Entschlüsselungsmittel b4 enthält Entschlüsseler b4 (1), Gatter b4a, Gatter b4b,... und Gatter b4n. Die Gatter b4a bis b4n sind positive NICHT-UND-Gatter. Eine Zugriffsanforderung ist Eingang für Gattermittel b5 und eine abschließende Gewährung wird durch Gattermittel b6 erzeugt. In Fig. 4 ist von jedem der UND-Gatter b5b bis b5e ein Eingangsanschluß, sowie der Eingang von Invertierer b5a, mit dem Ausgang von Entschlüsselungsmittel b4 verbunden und besonders mit den Ausgängen der Gatter b4a bis b4n. Jeweils ein weiterer Eingangsanschluß der UND- Gatter b5b bis b5e ist mit einem positiven Anforderungsanschluß (+Anforderung 1 bis +Anforderung 4) verbunden. Die positiven Anforderungsanschlüsse bestehen aus dem Anforderungsanschluß, zusammen mit den Untereinheiten 1 bis 4 für die Entscheider 10i1 und 10i3. Jeweils ein weiterer Eingangsanschluß der UND-Gatter b5a bis b5e ist mit einem negativen Anforderungsanschluß verbunden. Die mit UND-Gatter b5e (-Anforderung 1 bis -Anforderung 3) zusammenhängenden negativen Anforderungen stellen den Freigabeanschluß der Entscheider 10i1 oder 10i3 dar. Gewährungen 1 bis 4 werden von den Latch-Schaltungen b5f bis b5j über die Gatter b6a bis b6h erzeugt.
- Die Gatter b6a, b6b,... und b6d, verbunden mit den Gattern b6e, b6f,... und b8h empfangen einen Eingang 1DCD, 2DCD,... und 4DCD. Die Eingänge 1DCD, 2DCD,... und 4DCD stellen die einzelnen Ausgänge von Entschlüsseler b4(1) dar.
- Das funktionale Verhalten von einem Befehlsrotor 10i1b oder 10i3b in Zusammenhang mit einem Entscheider 10i1 oder 10i3 wird in den folgenden Abschnitten, mit Bezug auf Fig. 4 der Zeichnungen beschrieben.
- In jedem der Register b2a, b2b, b2c,... b2n ist eine Zahl gespeichert, die jeweils eine bestimmte Befehlsanforderung von einer Untereinheit, zur Anregung des Anforderungsanschlusses von Entscheider 10i1 darstellt oder jeweils eine bestimmte Normalanforderung für eine Untereinheit, zur Anregung des Anforderungsanschlusses von Entscheider 10i3 darstellt. Angenommen, diese Zahlen, die in diesen entsprechenden Registern gespeichert sind, seien Binärzahlen "10, 1, 10, . . . und 01". Die Zahlen werden von jedem der Register b2a, b2b, b2c, . . . und b2n nacheinander ausgewählt, beginnend mit der Binärzahl 10 durch das Gattermittel b3. Die Latch-Schaltung b3a erzeugt ein Ausgangssignal, das Gatter b3 anregt und damit den Ausgang von Register b2a auswählt, Latch-Schaltung b3b erzeugt ein Ausgangssignal, das Gatter b3 anregt und damit den Ausgang von Register b2b auswählt, usw. Als Antwort auf diese Auswahl erzeugt der Multiplexer b1 Ausgangssignale, die den in den Registern b2a, b2b, b2c,..und b2n gespeicherten Zahlen jeweils entsprechen. Der Entschlüsseler b4(1) empfängt die Ausgangssignale von Multiplexer b1 und bildet nacheinander entsprechende Ausgangssignale, genannt 1DCD, 2DCD,... und 4DCD, beginnend mit dem Ausgangssignal "1DCD". Diese entsprechenden, vom Entschlüsseler b4(1) gebildeten Ausgangs- Signale regen nacheinander eine Mehrzahl von Gattern b4a, b4b,... und b4n an. Jedes dieser Gatter b4a,...,b4n empfängt auch gleichzeitig Anforderungssignale, genannt "+Anforderung 1, + Anforderung 2, . . . + Anforderung 4". Diese Anforderungssignale stellen die Signale für eine IOIC-Befehlsanforderung dar, die den Entscheider 10i1 anregen und die Signale für eine IOIC-Normalanforderung, die den Entscheider 10i3 anregen. Die Gatter b4a, b4b,...,b4n erzeugen ein Ausgangssignal auf Grund der Tatsache, daß die ausgewählte höchste Priorität, die durch das, vom Gattermittel b3 ausgewählte Prioritätsregister festgelegt wurde, zu dem zugehörigen Anforderungssignal paßt und deshalb im nächsten Zyklus Zugriff auf den gemeinsamen Bus gewährt bekommt. Dieses Signal "-beliebige höchste Priorität angefordert" regt den Invertierer b5a an, der wiederum die Latch-Schaltung b5f aktiviert. Zur selben Zeit werden die Gatter b5b, b5c,... und b5e alle durch die Wirkung des negativen Signals am ersten Eingangsanschluß eines jeden Blocks ausgeschlossen. Das Ausgangssignal Q der Latch-Schaltung b5f regt einen der Eingänge der NICHT-UND-Gatter b6a, b6b,..., b6d an und wenn es mit demselben Ausgang des Entschlüsselers b4(1), dem Signal "1CDC", "2DCD" oder "4DCD" UND-verknüpft wird, bewirkt dies, daß eines der Gatter b6a bis b6d in den Zustand aktiv geht. Dieses aktive Signal wird das zugehörige negative ODER-Gatter b6e, b6f,...,b6h anregen und das passende Gewährungssignal wird erzeugt.
- Wenn das Signal "-beliebige höchste Priorität angefordert" inaktiv ist, wird der erste Eingangsanschluß zu den Gattern b5b, b5c,...,b5e positiv. Dies erlaubt es, den normalen Entscheidungsvorgang, in absteigender Folge, für die Signale für die Anforderung einer Untereinheit, durchzuführen.
- Das funktionale Verhalten der Entscheider-Logikschaltung 10i von Fig. 1, entsprechend der vorliegenden Erfindung, wird in den folgenden Abschnitten, mit Bezug auf die Fig. 2a bis 2c der Zeichnungen, beschrieben.
- Bezugnehmend auf Fig. 2a wird vorausgesetzt, daß die Signale zur Befehlsanforderung der IOIC 1 bis 4, am Anforderungsanschluß von Entscheider 10i1 angekommen sind und weiterhin, daß der Rotor 10i1b sich in der Position, wie in Fig. 2a gezeigt, befindet. Wenn die beiden Signale "keine Auffrischanforderung" und "Ermögliche eine Entscheidung" jeweils positiv sind> wird der Freigabeanschluß von Entscheider 10i1 durch ein positives Signal angeregt. Da der Rotor 10i1b im Gegenuhrzeigersinn "rotiert", wird den IOIC 4, 1, 2 und 3 nacheinander Zugriff auf den gemeinsamen Bus gewährt.
- Wenn eine Zyklusraubanforderung für eine Prozessor-Bus-Operation (PBO CS REQ) am Anforderungsanschluß von Entscheider 10i2 empfangen wird, wird ihr Zugriff auf den gemeinsamen Bus gewährt, vorausgesetzt, daß Signal "Ermögliche eine Entscheidung" ist positiv, was bedeutet, daß kein Signal vorhanden ist, das den Entscheidungsvorgang verhindern würde und daß das Signal "keine IOIC-Befehlsanforderung" positiv ist, was bedeutet, daß kein Signal zur IOIC-Befehlsanforderung den Anforderungsanschluß von Entscheider 10i1 anregt.
- Wenn die Signale zur Normalanforderung der IOIC 1, 2, 3 und 4 den Anforderungsanschluß von Entscheider 10i3 anregen, wird den IOIC-Untereinheiten 4, 1, 2 und 3 entsprechend der "Rotation" von Rotor 10i3b, wie in Fig. 2a gezeigt, Zugriff auf den gemeinsamen Bus gewahrt. Dies aber nur unter der Voraussetzung, daß das Signal "keine Auffrischung anstehend" positiv ist, was anzeigt, daß keine Auffrischung ansteht, das Signal "keine IOIC- Befehlsanforderung" positiv ist, was bedeutet, daß der Anforderungsanschluß von Entscheider 10i1 von keinen IOIC-Befehlsanforderungen angeregt wird, das Signal "keine PBO-CS-Anforderung" positiv ist, was anzeigt, daß der Anforderungsanschluß von Entscheider 10i2 von keiner Zyklusraubanforderung für eine PBO angeregt wird, und "Ermögliche eine Entscheidung" ebenfalls positiv ist, was bedeutet, daß momentan keine Operation abläuft, die die Fortsetzung des Entscheidungsvorgangs verhindern würde.
- Wenn das Anforderungssignal des I-Cache-Speichers den Anforderungsanschluß von Entscheider 10i4 anregt, dann wird dem I-Cache-Speicher Zugriff auf den gemeinsamen Bus gewährt, vorausgesetzt, daß "keine Auffrischung anstehend" positiv ist, was bedeutet, daß keine Auffrischung ansteht, das Signal "keine IOIC- Befehlsanforderung" positiv ist, was anzeigt, daß der Anforderungsanschluß von Entscheider 10i1 von keiner IOIC-Befehlsanforderung angeregt wird, das Signal "keine PBO-CS-Anforderung für eine PBO" positiv ist, um anzuzeigen, daß keine Zyklusraubanforderung für eine PBO den Anforderungsanschluß von Entscheider 10i2 anregt, "keine IOIC-Normalanforderung" positiv ist, um anzuzeigen, daß keine IOIC-Normalanforderungen den Anforderungsanschluß von Entscheider 10i3 anregen und das "Ermögliche eine Entscheidung" ebenfalls positiv ist, um anzuzeigen, daß momentan keine Operation abläuft, die die Fortsetzung des Entscheidungsvorgangs verhindern würde. Es gibt eine zweite Methode zur Erzeugung der Gewährung für den I-Cache-Speicher, genannt wahlweise vergebbare Gewährung für den I-Cache-Speicher. Sie wird vom UND-Gatter 10i4 erzeugt, wenn das Signal "keine höheren Anforderungen" positiv ist, was bedeutet, daß die entsprechenden Anforderungsanschlüsse der Entscheider 10i2, 10i2 und 10i3 nicht aktiv sind, das Signal "keine niedrigeren Gewährungen" positiv ist, was bedeutet, daß dem D-Cache-Speicher, dem Busadapter oder der Auffrischung keine Gewährung gegeben wurde und sowohl das Signal "Ermögliche eine Entscheidung" als auch das Signal "kein Auffrischzyklus" positiv sind, was anzeigt, daß momentan keine Datenübertragungs- oder Auffrischoperation abläuft.
- In Fig. 2b wird der Anforderungsanschluß von Entscheider 10i5 durch das Signal "D-Cache-Speicher-Anforderung" angeregt, es wird Zugriff auf den gemeinsamen Bus gewährt bekommen und das Signal "D-Cache-Speicher-Gewährung" wird von Entscheider 10i5 gebildet werden, vorausgesetzt, daß das Signal "keine Auffrischung anstehend", das das Gatter 10i5a anregt, positiv ist, anzeigend, daß keine Auffrischung ansteht, daß das Signal "keine IOIC-Befehlsanforderung" positiv ist, was anzeigt, daß keine Signale für Befehlsanforderungen den Entscheider 10i1 anregen, daß das Signal "keine PBO-CS-Anforderung" positiv ist, was anzeigt, daß kein Signal für eine Zyklusraubanforderung für eine PBO den Entscheider 10i2 anregt, daß das Signal "keine IOIC-Normalanforderung" positiv ist, um anzuzeigen, daß keine Signale für Normalanforderungen den Entscheider 10i3 anregen, daß das Signal "keine I-Cache-Speicher-Anf" positiv ist, was anzeigt, daß kein Anforderungssignal für den I-Cache-Speicher den Entscheider 10i4 anregt und daß das Signal "Ermögliche eine Entscheidung", das Gatter 10i5 anregt, ebenfalls positiv ist.
- Wenn das Signal "Busadapter-Anforderung" den Anforderungsanschluß von Entscheider 10i6 anregt, wird ihm Zugriff auf den gemeinsamen Bus gewährt, und das Signal "Gewährung für Busadapter" wird vom Entscheider 10i6 gebildet, vorausgesetzt, daß die Anforderungsanschlüsse der Entscheider 10i1 bis 10i5 von keinen höheren Anforderungen angeregt werden, und vorausgesetzt, daß die, das Gatter 10i6a anregenden, Signale "keine Auffrischung anstehend" und "Ermögliche eine Entscheidung" positiv sind. Jedes der, das Gatter 10i6a anregenden, Signale muß positiv sein, damit das Signal "Busadapter-Anforderung" Zugriff auf den gemeinsamen Bus gewährt bekommt.
- Bezugnehmend auf Fig. 2c wird angenommen, daß der Anforderungsanschluß von Entscheider 10i7 von einem Anforderungssignal zu einer Auffrischung angeregt wird. Weiter angenommen, daß eines der, das Gatter 10i7 anregenden Signale negativ ist (dies zeigt an, daß der Anforderungsanschluß von mindestens einem der Entscheider 10i1 bis 10i6 von einer höheren Anforderung angeregt wird). Dann ist das Signal, das den Freigabeanschluß von Entscheider 10i7 anregt, negativ, wodurch verhindert wird, daß das Signal für eine Auffrischung Zugriff auf den gemeinsamen Bus bekommt. Das negative Signal, das den Freigabeanschluß anregt, wird durch den Invertierer 10i7c in ein positives Signal umgewandelt, mit dem dann ein Anschluß von UND-Gatter 10i7b angeregt wird, der andere Anschluß von UND-Gatter 10i7b wird durch das Signal "Auffrischanforderung" angeregt. Mit einem Ausgang von UND-Gatter 10i7b wird die Latch-Schaltung 10i7d gesetzt. Als Folge davon wird mit einem Ausgangssignal von Ausgangsanschluß Q der Anforderungsanschluß von Entscheider 10i8 angeregt. Wenn das Signal "Ermögliche eine Entscheidung" nach Beendigung einer momentan ablaufenden Operation aktiv wird, dann erzeugt Entscheider 10i8 ein Ausgangssignal. Mit diesem Signal wird das ODER- Gatter 10i9 angeregt, wodurch ein Signal "Auffrischgewährung" erzeugt wird. Die Auffrischoperation beginnt unmittelbar nach Beendigung der vorausgehenden Operation (die vorausgehende Operation bewirkt, daß eines der, das Gatter 10i7 anregenden Signale, negativ ist). Dieses Gewährungssignal von ODER-Gatter 10i9 bewirkt auch, daß das Auffrischung-anstehend-Latch 10i7d zurückgesetzt wird.
- In den Fig. 5 bis 7 wird mit einem Satz von Zeitdiagrammen 1 bis 3 ein typisches zeitliches Ablaufschema für einen Entscheidungsprozeß erläutert.
- In Fig. 5 stellt Zeitdiagramm 1 das zeitliche Ablaufschema für entweder eine I/O-Anforderung oder eine D-Cache-Speicher-Anforderung dar. Im Zyklus 1 ist das Signal "KEIHE HÖHERE ANFORDE- RUNG" positiv, was bedeutet, daß keine höhere Anforderung, als die der momentanen Anforderungsebene aktiv ist, und das Signal "ERMÖGLICHE EINE ENTSCHEIDUNG" ist auch positiv, was bedeutet, das beim nächsten T0 ein Entscheidungsvorgang durchgeführt werden könnte. Im Zyklus 2 wird bei T1 die GEWÄHRUNG an die Einheit vergeben, deren Anforderung bei T0 aktiv war. Zu beachten ist auch die Tatsache, daß das Signal I-Cache-Speicher-Gewährung zurückgenommen wurde, da eine andere Gewährung während diesem Zyklus aktiviert wurde. Das Signal "Ermögliche eine Entscheidung" wird deaktiviert, um weitere Entscheidungsvorgänge, während einer momentan ablaufenden Operation, zu verhindern. Die anfordernde Einheit fährt fort, ihr Gewährungssignal bei T3 abzufragen, bis das Signal aktiv ist und wird dann im folgenden Zyklus, in diesem Fall Zyklus 3, ihren Befehl und ihre Adresse auf den gemeinsamen Bus geben.
- In Fig. 6 stellt das Zeitdiagramm 2 die zeitliche Ablauffolge für eine I-Cache-Speicher-Anforderung dar, wenn die gemeinsame Einrichtung nicht aktiv ist. Das Signal "KEINE HÖHERE ANFORDE- RUNG" ist positiv, was bedeutet, daß keine Anforderungen für Einheiten mit höherer Priorität aktiv sind, das Signal "KEINE NIEDRIGEREN GEWÄHRUNGEN" ist positiv, was bedeutet, daß während diesem Zyklus an Einheiten mit niedrigerer Priorität keine Gewährung vergeben wurde, und das Signal "ERMÖGLICHE EINE ENT- SCHEIDUNG" ist positiv, was bedeutet, daß beim nächsten T0 ein Entscheidungsvorgang durchgeführt werden könnte. Im Zyklus 1 aktiviert der I-Cache-Speicher sein Signal für eine Anforderung und prüft gleichzeitig, ob das Signal für eine Gewährung sich auf einer aktiven Ebene befindet. Wenn beide Signale bei T3 aktiv sind, kann der I-Cache-Speicher seinen Befehl und seine Adresse während dem nächsten Zyklus, in diesem Fall dem Zyklus 2, auf den gemeinsamen Bus geben. Da der normale Entscheidungszyklus, der im Zyklus 2 hätte stattfinden sollen, übersprungen wurde, können der Befehl und die Adresse einen Zyklus früher geschickt werden, wodurch Zeit gespart wird und das Verhalten verbessert wird. Diese Folge wird als wahlweise vergebbare Gewährung für einen I-Cache-Speicher bezeichnet.
- In Fig. 7 stellt das Zeitdiagramm 3 eine normale Gewährungsfolge für einen I-Cache-Speicher dar, wenn die gemeinsame Einrichtung belegt ist. Im Zyklus 1 ist das Signal für eine Anforderung durch den I-Cache-Speicher aktiviert, jedoch ist die Gewährung für den I-Cache-Speicher nicht aktiv, da das Signal "ERMÖGLICHE EINE ENTSCHEIDUNG" bei T0 positiv ist. Der Entscheidungsprozeß findet im Zyklus 2 statt, da das Signal "ERMÖGLICHE EINE ENT- SCHEIDUNG" bei T0 positiv ist. Da das Signal "KEINE HÖHERE AN- FORDERUNG" ebenfalls positiv ist, aktiviert der Entscheider das Signal "GEWÄHRUNG FÜR I-Cache-SPEICHER", was vom I-Cache-Speicher bei T3 bemerkt wird. Der I-Cache-Speicher aktiviert dann den Befehl und die Adresse auf dem gemeinsamen Bus, während Zyklus 3. Diese Folge wird Normalgewährung für den I-Cache-Speicher genannt.
Claims (6)
1. Entscheidungseinrichtung in einem Rechnersystem mit einer
Mehrzahl von Untereinheiten (10b, 10c, 10g, 10x, 10j-10m),
die einen Zugriff auf ein gemeinsames Busbetriebsmittel
(10f) anfordern, wobei die Entscheidungseinrichtung
folgendes aufweist:
eine Mehrzahl einzelner Entscheidungsmittel (10i1-10i7),
die in einer Prioritätsfolge angeordnet sind, wobei jedes
der Entscheidungsmittel folgendes aufweist: einen
Anforderungsanschluß (REQ), um ein Signal für eine
Zugriffsanforderung aus zumindest einer der Untereinheiten zu empfangen,
die einen Zugriff auf den gemeinsamen Bus suchen, und einen
Freigabeanschluß (+ENABLE), um ein Freigabesignal zu
empfangen, wobei das Freigabesignal aktiv ist, wenn keine
Zugriffsanforderung an einen Entscheider gestellt wurde, der
in der Prioritätsfolge höher steht, wodurch ein
Entscheidungsmittel ein Gewährungssignal für einen Zugriff auf den
gemeinsamen Bus bildet, wenn sowohl sein
Anforderungsanschluß als auch sein Freigabeanschluß angeregt sind,
wobei die Entscheidungseinrichtung dadurch gekennzeichnet
ist, daß
zumindest eines der Entscheidungsmittel (10i1 oder 10i3)
eine Mehrzahl von Signalen für eine Zugriffsanforderung
empfängt und eine Mehrzahl von Gewährungssignalen für einen
Buszugriff erzeugt, die einem Untersatz (10j-10m) der
Mehrzahl von Entscheidungsmittel folgendes aufweist:
Steuerungsspeichermittel (b2a-b2n), um eine Mehrzahl von
Identifizierungssymbolen in denselben zu speichern, welche
die Untereinheiten in dem Untersatz identifizieren, wobei
die Steuerungsspeichermittel eine Wiederholungsfolge von
Ausgangssignalen ('1'DCD, . . ., 'n'DCD) erzeugen, die jeweils
der Mehrzahl von Identifizierungssymbolen entsprechen und
identifizieren, welche Untereinheiten in dem Untersatz
höchste Priorität zu irgendeinem gegebenen Augenblick in
der Wiederholungsfolge aufweist,
Erfassungsmittel (b4a-b4n) für eine Koinzidenz, wodurch ein
Koinzidenzsignal erzeugt wird, wenn während der
Wiederholungsfolge eines der Ausgangssignale eine Untereinheit
identifiziert, die zu derselben Zeit ein Signal für eine
Zugriffsanforderung erzeugt,
eine Anforderungsschaltung (b5) mit einer Mehrzahl von
Latch-Mitteln (b5g-b5j), wobei jedes Latch-Mittel einer
Untereinheit des Untersatzes entspricht und ein Signal für
eine Zugriffsanforderung entsprechend einer festen
Prioritätsreihenfolge hält, wenn das Koinzidenzsignal nicht aktiv
ist,
wodurch das zumindest eine der Entscheidungsmittel, falls
dieses aktiviert ist, einen Zugriff auf den gemeinsamen Bus
folgenden gewährt:
entweder der Untereinheit des Untersatzes, die es bewirkt
hat, daß das Koinzidenzsignal aktiv wurde,
oder der Untereinheit des Untersatzes mit der höchsten
Priorität in der festen Prioritätsreihenfolge, wenn das
Koinzidenzsignal nicht aktiv ist.
2. Entscheidungseinrichtung nach Anspruch 1,
bei welcher die Mehrzahl von Identifizierungssymbolen
selektiv geändert werden kann, um einen neuen Satz von
Identifizierungssymbolen zu bilden, welche die Elemente eines
neuen Untersatzes der Mehrzahl von Untereinheiten
identifizieren,
die Zeit, zu der einer speziellen Untereinheit ein Zugriff
auf den gemeinsamen Bus gewährt ist, von der Anzahl
abhängig ist, wie oft ihr entsprechendes Identifizierungssymbol
in den Steuerungsspeichermitteln gespeichert ist.
3. Entscheidungseinrichtung nach Anspruch 1 oder 2, die ferner
folgendes aufweist:
ein erstes Tormittel (10i4b), das als Eingaben das
Gewährungssignal aus einem der Entscheidungsmittel (10i4) und
das Ausgangssignal des zweiten Tormittels (10i4c) empfängt,
wobei das Ausgangssignal anzeigt, daß kein Signal für eine
Zugriffsanforderung eine Zugriffsanforderung ein
Entscheidungsmittel anregt, das höher in der Prioritätsfolge steht
und daß kein Gewährungssignal aus einem Entscheidungsmittel
gebildet wird, das niedriger in der Folge steht,
wobei das Ausgangssignal des zweiten Tormittels ein
wahlweise vergebbares Gewährungssignal ist, der Ausgang des
ersten Tormittels angeregt ist, wenn irgendeiner seiner
Eingänge aktiv ist,
und wodurch das eine der Entscheidungsmittel einen Zugriff
auf den gemeinsamen Bus als nächstes gewährt, ein
nachfolgender Maschinenzyklus dem Eintreffen seiner entsprechenden
Zugriffsanforderung folgt, falls das wahlweise vergebbare
Gewährungssignal beim Eintreffen der Zugriffsanforderung
aktiv war, wodurch ein Entscheidungsmaschinenzyklus
gesichert wird.
4. Entscheidungseinrichtung nach Anspruch 3,
bei welcher das Signal für eine Zugriffsanforderung ein
Anforderungssignal für einen Befehls-Cache-Speicher ist,
das von einer Untereinheit (10b) eines
Befehls-Cache-Speicher gebildet wird, die innerhalb des Rechnersystems
eingerichtet ist.
5. Entscheidungseinrichtung nach irgendeinem der Ansprüche 1
bis 4, die ferner folgendes aufweist:
dritte Tormittel (10i7b, 10i7c), welche das Signal für eine
Zugriffsanforderung und das Freigabesignal eines (10i7) der
Entscheidungsmittel empfangen und ein Setzsignal erzeugen,
wenn das Signal für eine Zugriffsanforderung durch das eine
der Entscheidungsmittel empfangen wird und das
Freigabesignal von dem einen der Entscheidungsmittel nicht empfangen
wird,
ein Latch-Schaltung-Mittel (10i7b), welches das Setzsignal
an seinem Setzeingang und das Gewährungssignal des einen
der Entscheidungsmittel an seinem Rücksetzeingang empfängt
und ein Signal zum Aussetzen einer Anforderung erzeugt,
Tormittel (10i8, 10i9), welche das Signal zum Aussetzen
einer Anforderung und ein "Ermögliche eine Entscheidung"-
Signal empfangen und es bewirken, daß das Gewährungssignal
des einen der Entscheidungsmittel sobald aktiv wird, als
das "Ermögliche eine Entscheidung"-Signal aktiv wird.
6. Entscheidungseinrichtung nach Anspruch 5,
bei welcher das Signal für eine Zugriffsanforderung, das
von dem einen (10i7) der Entscheidungsmittel empfangen
wird, ein Signal zum Auffrischen einer Zugriffsanforderung
ist, das Signal zum Aussetzen einer Anforderung ein Signal
zum Aussetzen einer Auffrischung ist und das
Gewährungssignal ein Gewährungssignal für eine Auffrischung ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/791,647 US4760515A (en) | 1985-10-28 | 1985-10-28 | Arbitration apparatus for determining priority of access to a shared bus on a rotating priority basis |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3687257D1 DE3687257D1 (de) | 1993-01-21 |
DE3687257T2 true DE3687257T2 (de) | 1993-06-09 |
Family
ID=25154347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE8686111148T Expired - Fee Related DE3687257T2 (de) | 1985-10-28 | 1986-08-12 | Arbitrierungsvorrichtung zur bestimmung der zugriffsprioritaet auf einen gemeinsamen bus. |
Country Status (5)
Country | Link |
---|---|
US (1) | US4760515A (de) |
EP (1) | EP0222074B1 (de) |
JP (1) | JPH0812652B2 (de) |
BR (1) | BR8604937A (de) |
DE (1) | DE3687257T2 (de) |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5051946A (en) * | 1986-07-03 | 1991-09-24 | Unisys Corporation | Integrated scannable rotational priority network apparatus |
US4896266A (en) * | 1987-06-03 | 1990-01-23 | Bull Hn Information Systems Inc. | Bus activity sequence controller |
US5038274A (en) * | 1987-11-23 | 1991-08-06 | Digital Equipment Corporation | Interrupt servicing and command acknowledgement system using distributed arbitration apparatus and shared bus |
US4920486A (en) * | 1987-11-23 | 1990-04-24 | Digital Equipment Corporation | Distributed arbitration apparatus and method for shared bus |
JP2504512B2 (ja) * | 1988-03-09 | 1996-06-05 | 富士通株式会社 | Dmaコントロ―ラ |
US4998198A (en) * | 1988-04-07 | 1991-03-05 | Tandem Computers Incorporated | Dynamic burst control for data transfers |
US4924380A (en) * | 1988-06-20 | 1990-05-08 | Modular Computer Systems, Inc. (Florida Corporation) | Dual rotating priority arbitration method for a multiprocessor memory bus |
US4987529A (en) * | 1988-08-11 | 1991-01-22 | Ast Research, Inc. | Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters |
US5032984A (en) * | 1988-09-19 | 1991-07-16 | Unisys Corporation | Data bank priority system |
US4926313A (en) * | 1988-09-19 | 1990-05-15 | Unisys Corporation | Bifurcated register priority system |
US5203007A (en) * | 1988-12-30 | 1993-04-13 | International Business Machines Corporation | Overriding programmable priority and selective blocking in a computer system |
US5311461A (en) * | 1988-12-30 | 1994-05-10 | International Business Machines Corp. | Programmable priority and selective blocking in a compute system |
US5072420A (en) * | 1989-03-16 | 1991-12-10 | Western Digital Corporation | FIFO control architecture and method for buffer memory access arbitration |
JP2833796B2 (ja) * | 1989-10-11 | 1998-12-09 | 日本電気株式会社 | バス調停装置 |
US5293493A (en) * | 1989-10-27 | 1994-03-08 | International Business Machines Corporation | Preemption control for central processor with cache |
US5072363A (en) * | 1989-12-22 | 1991-12-10 | Harris Corporation | Multimode resource arbiter providing round robin arbitration or a modified priority arbitration |
EP0524940A1 (de) * | 1991-02-19 | 1993-02-03 | International Business Machines Corporation | Kanalauswahlsarbitrierung |
US5689657A (en) * | 1991-03-30 | 1997-11-18 | Deutsche Itt Industries Gmbh | Apparatus and methods for bus arbitration in a multimaster system |
US5440752A (en) * | 1991-07-08 | 1995-08-08 | Seiko Epson Corporation | Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU |
US5265223A (en) * | 1991-08-07 | 1993-11-23 | Hewlett-Packard Company | Preservation of priority in computer bus arbitration |
US5369748A (en) * | 1991-08-23 | 1994-11-29 | Nexgen Microsystems | Bus arbitration in a dual-bus architecture where one bus has relatively high latency |
JP2854474B2 (ja) * | 1992-09-29 | 1999-02-03 | 三菱電機株式会社 | バス使用要求調停装置 |
DE69433147D1 (de) * | 1993-04-30 | 2003-10-16 | Packard Bell Nec Inc | Symmetrisches Mehrprozessorsystem mit vereinheitlichter Umgebung und verteilten Systemfunktionen |
US5392434A (en) * | 1993-09-03 | 1995-02-21 | Motorola, Inc. | Arbitration protocol system granting use of a shared resource to one of a plurality of resource users |
TW400483B (en) * | 1994-03-01 | 2000-08-01 | Intel Corp | High performance symmetric arbitration protocol with support for I/O requirements |
US5533200A (en) * | 1994-03-18 | 1996-07-02 | Intel Corporation | Method and apparatus for transmission of signals over a shared line |
US5696983A (en) * | 1994-05-26 | 1997-12-09 | Hitachi, Ltd. | Decentralized system connected by individual buses and bus connection method |
US5625824A (en) * | 1995-03-03 | 1997-04-29 | Compaq Computer Corporation | Circuit for selectively preventing a microprocessor from posting write cycles |
US5966163A (en) * | 1995-10-20 | 1999-10-12 | Scientific-Atlanta, Inc. | Providing constant bit rate upstream data transport in a two way cable system by scheduling preemptive grants for upstream data slots using selected fields of a plurality of grant fields |
US5724527A (en) * | 1995-12-28 | 1998-03-03 | Intel Corporation | Fault-tolerant boot strap mechanism for a multiprocessor system |
US5954809A (en) * | 1996-07-19 | 1999-09-21 | Compaq Computer Corporation | Circuit for handling distributed arbitration in a computer system having multiple arbiters |
US6023748A (en) * | 1997-09-12 | 2000-02-08 | Adaptec, Inc. | Multiple client memory arbitration system capable of operating multiple configuration types |
US6065102A (en) * | 1997-09-12 | 2000-05-16 | Adaptec, Inc. | Fault tolerant multiple client memory arbitration system capable of operating multiple configuration types |
KR100236948B1 (ko) * | 1997-11-28 | 2000-01-15 | 이계철 | 셀 버스 조정 장치 및 방법 |
GB9919208D0 (en) * | 1999-08-13 | 1999-10-20 | Sgs Thomson Microelectronics | An arbiter and a method of arbitrating |
US7143219B1 (en) * | 2002-12-31 | 2006-11-28 | Intel Corporation | Multilevel fair priority round robin arbiter |
KR100585116B1 (ko) * | 2003-12-13 | 2006-06-01 | 삼성전자주식회사 | 멀티 뱅크 메모리의 억세스 효율을 개선한 아비터, 이를구비한 메모리 억세스 중재 시스템 및 그 방법 |
JP4222251B2 (ja) * | 2004-04-27 | 2009-02-12 | ソニー株式会社 | バス調停装置およびバス調停方法 |
US20070150697A1 (en) * | 2005-05-10 | 2007-06-28 | Telairity Semiconductor, Inc. | Vector processor with multi-pipe vector block matching |
US20060259737A1 (en) * | 2005-05-10 | 2006-11-16 | Telairity Semiconductor, Inc. | Vector processor with special purpose registers and high speed memory access |
US20140333779A1 (en) * | 2013-05-13 | 2014-11-13 | Electronics And Telecommunications Research Institute | Apparatus for distributing bus traffic of multiple camera inputs of automotive system on chip and automotive system on chip using the same |
US9892067B2 (en) | 2015-01-29 | 2018-02-13 | International Business Machines Corporation | Multiprocessor cache buffer management |
US10861504B2 (en) | 2017-10-05 | 2020-12-08 | Advanced Micro Devices, Inc. | Dynamic control of multi-region fabric |
US10558591B2 (en) * | 2017-10-09 | 2020-02-11 | Advanced Micro Devices, Inc. | Method and apparatus for in-band priority adjustment forwarding in a communication fabric |
US11196657B2 (en) | 2017-12-21 | 2021-12-07 | Advanced Micro Devices, Inc. | Self identifying interconnect topology |
US11507522B2 (en) | 2019-12-06 | 2022-11-22 | Advanced Micro Devices, Inc. | Memory request priority assignment techniques for parallel processors |
US11223575B2 (en) | 2019-12-23 | 2022-01-11 | Advanced Micro Devices, Inc. | Re-purposing byte enables as clock enables for power savings |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5430626B2 (de) * | 1974-05-22 | 1979-10-02 | ||
US4009470A (en) * | 1975-02-18 | 1977-02-22 | Sperry Rand Corporation | Pre-emptive, rotational priority system |
US3964054A (en) * | 1975-06-23 | 1976-06-15 | International Business Machines Corporation | Hierarchy response priority adjustment mechanism |
US4209838A (en) * | 1976-12-20 | 1980-06-24 | Sperry Rand Corporation | Asynchronous bidirectional interface with priority bus monitoring among contending controllers and echo from a terminator |
US4091455A (en) * | 1976-12-20 | 1978-05-23 | Honeywell Information Systems Inc. | Input/output maintenance access apparatus |
US4103329A (en) * | 1976-12-28 | 1978-07-25 | International Business Machines Corporation | Data processing system with improved bit field handling |
US4229791A (en) * | 1978-10-25 | 1980-10-21 | Digital Equipment Corporation | Distributed arbitration circuitry for data processing system |
US4449183A (en) * | 1979-07-09 | 1984-05-15 | Digital Equipment Corporation | Arbitration scheme for a multiported shared functional device for use in multiprocessing systems |
US4417304A (en) * | 1979-07-30 | 1983-11-22 | International Business Machines Corporation | Synchronous cycle steal mechanism for transferring data between a processor storage unit and a separate data handling unit |
JPS5672752A (en) * | 1979-11-20 | 1981-06-17 | Casio Comput Co Ltd | Controller for occupation of common bus line |
FR2482331B1 (fr) * | 1980-05-06 | 1986-03-21 | Thomson Csf Mat Tel | Procede d'arbitration centralisee, et arbitreur centralise pour systeme multiprocesseur |
EP0048767B1 (de) * | 1980-09-27 | 1985-03-20 | Ibm Deutschland Gmbh | Prioritätsstufengesteuerte Unterbrechungseinrichtung |
JPS5848130A (ja) * | 1981-09-17 | 1983-03-22 | Mitsubishi Electric Corp | バスプライオリテイ制御装置 |
US4488218A (en) * | 1982-01-07 | 1984-12-11 | At&T Bell Laboratories | Dynamic priority queue occupancy scheme for access to a demand-shared bus |
US4463445A (en) * | 1982-01-07 | 1984-07-31 | Bell Telephone Laboratories, Incorporated | Circuitry for allocating access to a demand-shared bus |
US4470112A (en) * | 1982-01-07 | 1984-09-04 | Bell Telephone Laboratories, Incorporated | Circuitry for allocating access to a demand-shared bus |
US4536839A (en) * | 1982-03-30 | 1985-08-20 | Mai Basic Four, Inc. | Memory request arbitrator |
US4535330A (en) * | 1982-04-29 | 1985-08-13 | Honeywell Information Systems Inc. | Bus arbitration logic |
JPS58205237A (ja) * | 1982-05-26 | 1983-11-30 | Fuji Electric Co Ltd | 共通バス優先使用制御方式 |
-
1985
- 1985-10-28 US US06/791,647 patent/US4760515A/en not_active Expired - Fee Related
-
1986
- 1986-08-12 EP EP86111148A patent/EP0222074B1/de not_active Expired
- 1986-08-12 DE DE8686111148T patent/DE3687257T2/de not_active Expired - Fee Related
- 1986-09-19 JP JP61219919A patent/JPH0812652B2/ja not_active Expired - Lifetime
- 1986-10-09 BR BR8604937A patent/BR8604937A/pt not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US4760515A (en) | 1988-07-26 |
BR8604937A (pt) | 1987-07-07 |
DE3687257D1 (de) | 1993-01-21 |
JPH0812652B2 (ja) | 1996-02-07 |
EP0222074A3 (en) | 1989-09-27 |
JPS62113261A (ja) | 1987-05-25 |
EP0222074B1 (de) | 1992-12-09 |
EP0222074A2 (de) | 1987-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3687257T2 (de) | Arbitrierungsvorrichtung zur bestimmung der zugriffsprioritaet auf einen gemeinsamen bus. | |
DE3486299T2 (de) | Bus-Arbitrierungssystem. | |
DE69028017T2 (de) | Arbitrierungssystem mit Beschränkung der aufeinanderfolgenden Zugriffsberechtigungen von Hochprioritätsanforderungen | |
DE69312192T2 (de) | Aufteilung des buszugriffs zwischen mehreren endlichen automaten mit minimaler wartezeit und priorisierung von ähnlichen zyklustypen | |
DE3909948C2 (de) | ||
DE69628609T2 (de) | Distribuiertes Pipeline-Busarbitrierungssystem | |
DE10110504B4 (de) | Verfahren und Computersystem zur Verwaltung von Threads | |
DE69429279T2 (de) | Multiprozessor-programmierbares unterbrechungskontrollersystem mit prozessor-integrierten unterbrechungskontrollern | |
DE69632369T2 (de) | HDLC-Anordnung mit verteiltem internen Bus | |
DE3587439T2 (de) | Gemeinsam benutzter Mehrprozessor-Pipeline-Cachespeicher. | |
DE68928530T2 (de) | Modulare Kreuzschienenzwischenverbindungen in einem digitalen Rechner | |
DE69124905T2 (de) | Datenverarbeitungsvorrichtung zur dynamischen Zeiteinstellung in einem dynamischen Speichersystem | |
DE69423928T2 (de) | Dynamisch programmierbarer Busarbiter mit Einrichtung zur historischen Rückmeldung | |
DE69634182T2 (de) | Direktspeicherzugriffssteuerung mit programmierbarer Zeitsteuerung | |
DE69718892T2 (de) | Busarbitrierungsverfahren und -vorrichtung mit gewichteter bandbreitenzuteilung | |
DE68927375T2 (de) | Arbitrierung von Übertragungsanforderungen in einem Multiprozessor-Rechnersystem | |
DE69224279T2 (de) | Verfahren und Gerät zur Arbitrierung auf Basis der Verfügbarkeit von Betriebsmitteln | |
DE3751391T2 (de) | Verfahren und Vorrichtung zur Speichersteuerung. | |
DE69021603T2 (de) | Buszugriffsarbitrierung in digitalen Rechnern. | |
DE3650036T2 (de) | Mehrfachport-Diensterweiterungsadapter für Übertragungssteuerung. | |
DE69906156T2 (de) | Mikroprozessorvorrichtung mit programmierbaren wartezuständen | |
DE69323861T2 (de) | Multiprozessorsystem mit gemeinsamem Speicher | |
DE69322248T2 (de) | Reservierung, die den normalen vorrang von mikroprozessoren in multiprozessorrechnersystemen annulliert | |
DE69026018T2 (de) | Rechnersystem mit Vorrichtung zur Verbesserung der Wirksamkeit von Übertragungen zwischen einem Hauptprozessor und Peripheriegeräten verbunden durch einen SCSI-Bus | |
DE69026479T2 (de) | Datenprozessor mit Wartezustandsteuerungseinheit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |