DE3134428T1 - Cached multiprocessor system with pipeline timing - Google Patents
Cached multiprocessor system with pipeline timingInfo
- Publication number
- DE3134428T1 DE3134428T1 DE813134428T DE3134428T DE3134428T1 DE 3134428 T1 DE3134428 T1 DE 3134428T1 DE 813134428 T DE813134428 T DE 813134428T DE 3134428 T DE3134428 T DE 3134428T DE 3134428 T1 DE3134428 T1 DE 3134428T1
- Authority
- DE
- Germany
- Prior art keywords
- devices
- memory
- control
- data
- information
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0857—Overlapped cache accessing, e.g. pipeline by multiple requestors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
-
- 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/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Description
WO 81/02210 - A - PCT/US81 /00126 ':
Notizblockspeicherergänztes Multiprozessorsystem mit Pipeline- ! Timing j
! In der Beschreibung eines Ausführungsbeispiels wird auf die
folgenden Patente und Patentanmeldungen Bezug genommen, die " |*
dem gleichen Abtretungsempfänger abgetreten, wurden wie die ■»'"'.
folgende Erfindung, und die durch Bezugnahme mit in diesen "".'
Text übernommen werden. ".1.1"
US-Patent Nr. 3.815.099, erteilt am 4. Juni 1974 für '"'*■*
DATA PROCESSING SYSTEM ' ;-·-:·
US-Patent Nr. 3.999.163, erteilt am 21. Dezember 1976 für . !' SECONDARY STORAGE FACILITY FOR DATA PROCESSING SYSTEMS
/ US-Patent Nr. 4.045.781, erteilt am 30. August 1977 für
MEMORY MODULE WITH SELECTABLE BYTE ADDRESSING FOR DIGITAL ! DATA PROCESSING SYSTEM
ι . . ■
. US-Patent Nr. 4.229.791, erteilt am 21. Oktober 1980 für DISTRIBUTED ARBITRATION CIRCUITRY FOR DATA PROCESSING SYSTEM
US-Patent Nr. 3.614.741, erteilt am 19. Oktober 1971 für
j DATA PROCESSING SYSTEM
ι ■ .
j US-Patent Nr. 3.893.084, erteilt am 1. Juli 1975 für ,
MEMORY ACCESS CONTROL SYSTEM !
j US-Patent Nr. 3.854.126, erteilt am 10. Dezember 19 74 für
CIRCUIT FOR CONVERTING VIRTUAL ADDRESSES INTO PHYSICAL ADDRESSES !
US-Patent Nr. 3.710.324, erteilt am 9. Januar 1973 für
DATA PROCESSING SYSTEM
US-Patent Nr. 4.055.851, erteilt am 25. Oktober 1977 für ι
■ ■ i
MEMORY MODULE WITH MEANS FOR GENERATING CONTROL SIGNAL.
Hintergrund der Erfindung
'<
Die Erfindung bezieht sich auf ein digitales Datenverarbeitungs;-"V·
system und, genauer gesagt, auf ein Multiprozessorsystem, das aus .;
einer Mehrzahl von digitalen Datenprozessoren, die sich in ge- ;**ί";
meinsame Steuerschaltkreise, Speicher- und peripherische Geräte, ,'-.
teilen, besteht. "*"i".
Eine Anzahl von digitalen Datenverarbeitungssystemen wurden bis-*.1",
her auf der Grundlage von Mehrfachprozessoren gebaut. Diese als \
Multiprozessorsysteme bezeichneten Systeme hatten sehr viele ve*r-|
schiedene Konstruktionen. Sie reichten von unabhängigen Prozes- ! soren ohne Verbindung über engverbundene Prozessorennetze, die
miteinander durch den Austausch von Botschaften kommunizieren, ·
bis hin zu Multiprozessoren, die sich in gemeinsame Steuerschaltkreise, Speicher und peripherische Geräte teilen. Eine ausgezeichnete
Erörterung von Multiprozessoren und der Vorteile bei Systementwicklungen, die von dem Grad der Verbindung und der
Aufteilung in diesem System abhängen, wird in Kapitel 16 des
Buches mit dem Titel Computer Engineering von C. Gordon Bell et al, Digital Press (1978), vorgestellt.
Bis vor kurzem war die Verwendung von Multiprozessorsystemen auf hochspezialisierte Anwendungszwecke begrenzt, wie z.B. auf
solche, die eine hohe Verfügbarkeit oder eine hohe Zuverlässig- \
keit bzw.Leistung erforderten, die über die hinausging, die bei einer gegebenen Technologie mit einem einzelnen Prozessor möglich
ist. Ein Grund dafür war die weitgehend akzeptierte Philoso- ■
phie, daß ein besseres Einzelprozessorsystem mit höherer Leistung immer gebaut werden kann. Eine hohe Leistung in Einzelprozessorsystemen
wird jedoch im allgemeinen nur zu Lasten von beträchtlichen zusätzlichen Entwurfs-und Ingenieurentwicklungsarbeiten
erreicht, was häufig die Verfügbarkeit einschränkt und Auswirkungen auf die Systemzuverlässigkeit und Flexibilität hat.
Außerdem kann beim Endverbraucher, der eine höhere Leistung
•ν
wünscht/ der Ersatz eines vorhandenen Systems durch ein neues Einzelprozessorsystem zu Problemen der Systemanpassung und der
Personalausbildung führen.
: Das Erscheinen von Niedrigpreis-Mikroprozessoren mit substantieller
Funktionalität, wie z.B. die PDP-11-Datenverarbeitungsfami-··.
lie, die von dem Abtretungsempfänger dieses Patentes hergestellt wird, schuf neue Möglichkeiten für Multiprozessorsysteme. Auf- "j "
ι grund der hohen Verfügbarkeit und der geringen Kosten pro Rechen'-!"
j zyklus solcher Mikroprozessoren haben daraus bestehende Multi- "I'
\ Prozessorsysteme das Potential der Lieferung von Rechnerleistun-»*·]·'
gen, die sich über Bereiche erstrecken, die . von vielen kon-.**.J*_
ventionellen Einzelprozessorsystemen zu vergleichbaren Kosten ** r
gedeckt werden. Für den Endverbraucher bieten sie den Vorteil ei1**"
nes Wachstums nach dem Baukastensystem über begrenzte und genau ;
definierte Leistungsbereiche bei minimalen Ausbildungs- und son-'
stigen Einsatzkosten. ■■..-!
Dementsprechend liegt der Erfindung die Aufgabe zugrunde, ein !
neues und verbessertes digitales Datenverarbeitungssystem auf der;
Grundlage der Verwendung von Mehrfachprozessoren zu schaffen. :
Eine weitere Aufgabe der Erfindung ist die Schaffung eines Multi-;
prozessorsystems, das Leistungsfähigkeiten aufweist, die mit kon-'
ventionellen Einzelprozessorsystemen zu vergleichbaren Kosten vergleichbar sind.
' Noch eine Aufgabe der Erfindung ist die Schaffung eines Multi- :
prozessorsystems, das sich bewährte Technologien des Speichermanagements und der Input/Output-Steuerung zu Nutzen macht.
Schließlich ist eine Aufgabe der Erfindung die Schaffung eines ,
Multiprozessorsystems, das einen hohen Grad von Multiprocessing-Effizienz aufweist und gleichzeitig die Kompatibilität mit existenten
Prozessorprotokollen aufrechterhält. j
Zusammenfassung '
■ Der Erfindung liegt die Aufgabe zugrunde, ein Multiprozessorsystem
zu schaffen, das aus einer variierenden Zahl von modularen Komponenten
einschließlich Prozessormodulen, Speichermodulen, Massenspeichervorrichtungen
und Input/Output-Vorrichtungen zusammengesetzt werden kann, die sämtlich über eine gemeinsame Steuerein-
•W ^q —
heit in Verbindung stehen und über diese miteinander kommunizieren.
Eine spezifischere Aufgabe der Erfindung ist die Schaffung eines
solchen modularen Multiprozessorsystems, dessen Prozessoren sich
ohne unzumutbare Verschlechterung der Gesamtsystemleistung in einen gemeinsamen Notizblockspeicher teilen.
Eine allgemeinere Aufgabe der Erfindung ist die Schaffung eines
solchen modularen Multiprozessorsystems, das wirtschaftlich in : einer Konfiguration zusammengesetzt und anschließend auf eine ,
größere Konfiguration erweitert werden kann, wenn der Bedarf an
Verarbeitungs- und Datenspeicherungskapazität zunimmt, ohne daß; dabei die Notwendigkeit besteht, existente Systemkomponenten, zu
ersetzen oder zu verändern.
Eine weitere Aufgabe der Erfindung ist die Schaffung eines solchen
modularen Multiprozessorsystems, bei dem die gemeinsame, Steuf ereinheit mit verschiedenen synchronen und asynchronen Protokol-
<■ len, Adressenübersetzungsschaltkreisen und Speicherverwaltungsrou- |
tinen, die in Multiprozessorsystemen mit verschiedenen Betriebs- |
Charakteristiken gewünscht werden, vereinbar ist.
In Übereinstimmung mit diesen und weiteren Aufgaben der Erfindung
umfaßt ein Multiprozessorsystem eine gemeinsame Steuereinheit mit einem Speicherverwaltungsschaltkreis,einem Adressenübersetzungsschaltkreis
und einem Notizblockspeicher, die in einer geordneten Pipeline-Sequenz durch mindestens einen Prozessor, mindestens
e^n Massenspeichersteuerungsgerät mit mindestens einer Datenspei-j
chereinrichtung, mindestens einem Speichermodul und mindestens j
einer Input/Output-Vorrichtung (beispielsweise ein I/O-Terminal)
gemeinsam genutzt wird. Alle Prozessoren sind mit der gemeinsamen Steuereinheit über eine synchrone zusätzliche Prozessor-Hauptschiene
ohne Verriegelungsschaltung verbunden. Die Prozessor-Hauptschiene weist eine Reihe von Adressen-und Steuerleitern für die Übertragung von Identifikationssignalen, Speicheradressensignalen und
Funktionsschlüsselnummernsignalen zur gemeinsamen Steuereinrichtung
auf; und eine Reihe von Daten-und Steuerleitungen zur Beförderung von verarbeiteten und Speicherdaten zusammen mit anderen
Steuersignalen. Alle Input/Output-Vorrichtungen sind mit der gemeinsamen Steuereinheit über eine asynchrone Input/Output-Hauptschiene
verbunden, deren Signale ebenfalls über die
3 B
sor-Hauptschiene auf die gemeinsame Steuereinheit übertragen werden. Speichermodule sind ebenfalls über eine asynchrone Speicherhauptschiene
mit der gemeinsamen Steuereinheit verbunden.Alle Massenspeichersteuereinrichtungen sind mit der gemeinsamen Steuer··
einheit über eine synchrone Massenspeicherhauptschiene verbunden.
■■ ... . . »·
Die Speicherhauptschiene und die Massenspeicherhauptschiene sind" mit einem Speicherschnittstellenschaltkreis in der gemeinsamen Steüe^-;
einheit zwecks Zugang zum Hauptspeicher verbunden. Die Prozessorer und Input/Output-Vprrichtungen haben, wenn notwendig,über den Spei-:
cherschnittstellenschaltkreis ebenfalls Zuqriff zum Hauptspeiche»"
Dementsprechend können Steuerungen auf der Prozessorhauptschiene#;
der Massenspeicherhauptschiene oder der Input/Output-Hauptschieine·
ausgelöst 'werden, um so Informationen zu jeder beliebigen reagier.;
renden Vorrichtung zu übertragen, die mit der Prozessorhauptschiene, der Speicherhauptschiene, der Massenspeicherhauptschiene oder
der Input/Output-Hauptschiene verbunden ist, je nachdem, wie der Fall liegt. Da einige Transaktionen mehrere Zugänge zu den Ressourceneinheiten
der gemeinsamen Steuereinrichtung erforderlich machen, um Speicherdaten aufzufinden, die in dem Notizblockspeicher
nicht vorhanden sind, oder um Daten in den Notizblockspeicher einzutragen, umfaßt die gemeinsame Steuerung Steuereinrichtungen,
so daß sie Zugang zu ihren eigenen Elementen haben kann, um ihren Notizblockspeicher anzupassen oder zuzuordnen und/oder um Speicher
daten zur Steuereinheit zurückzuführen. · Die bevorzugte Struktur der gemeinsamen Steuereinrichtung umfaßt
einen getrennten Steuerinformationsweg und einen getrennten Speicherdatenweg
jeweils zur Übertragung der Vorrichtungsidentifikation,
der Speicheradressensignale und der Funktionscodesignale einerseits; und der verarbeiteten Daten, der Speicherdaten und
der dazugehörigen Steuersignale unter den Vorrichtungen des MuI-tiprozessorsystems
andererseits.
Im Steuerinformationsweg der gemeinsamen Steuereinheit wird die Steuerinformation über ein mehrstufiges Register übertragen, wobei
die erste Stufe die Vorrichtungsidentifikationssignale, die
Funktionscodesignale und die Signale der virtuellen Adressen erhält.
Interne Steuersignale und Signale für tatsächliche Adressen werden von der gemeinsamen Steuereinheit erzeugt und werden dann
im Steuerinformationsregister für Transaktionen erneut in Umlauf]
-Jo
gebracht, die einen zweiten Durchlauf durch die gemeinsame Steuereinheit erforderlich machen. Der Steuerinformationsweg umfaßt auclji
auf einer Stufe einen Speicherverwaltungsschaltkreis, der die Art von Operationen einschränkt, die mit gewissen Speicherstellen
in den Speichermodulen ausgeführt werden können; in einer spätste
Stufe einen Adressenübersetzungsschaltkreis, der virtuelle Adres'hi.
sen, die von einer Steuereinrichtung erzeugt werden, in tatsächliche;
Adressen in einer reagierenden Vorrichtung umsetzt. Und in einem*"
noch späteren Stadium erfolgt durch Notizblockspeichervergleichs-«
Schaltkreisvorrichtungen ein Lesen, Anpassen und Zuordnen von Operationen in einem Notizblockspeicher. .'*.
Der Datenweg in der gemeinsamen Steuereinheit umfaßt auch eine"
mehrstufig"e Registeranordnung. Ein Register der ersten Stufe enthält verarbeitete oder Speicherdaten aus einer Steuervorrichtung
oder aber verarbeitete bzw. Speicherdaten, die in einer reagie- j
renden Vorrichtung aufgefunden wurden.
Ein weiterer Aspekt der Erfindung umfaßt einen Prozessörindex-RAM
und eine Anzeige von laufenden Schreibvorgängen. Da gewisse von der
ι Steuereinrichtung ausgelöste Transaktionen einen zweiten Durchlauf;
durch die Einrichtungen der gemeinsamen Steuereinheit zur Anpassung
des Notizblockspeichers bei einem "Schreibtreffer" oder die Zu-y
Ordnung des Notizblockspeichers aufgrund eines "Verfehlens" desselben erfor- ! dern und weil eine weitere Steuereinrichtung den Inhalt des Notiz|
blockspeichers ändern kann, bevor ein weiterer Durchlauf die j
Transaktion beendet, weist der Notizblockspeicher außerdem einen Prozessorindexspeicher mit direktem Zugriff (PIR) der eine Index- ;
speicherstelle hat, die jedem Prozessor zur Speicherung einer Adressenmarkierung
für eine gerade geschriebene Speicherstelle zugeordnet ist4
sowie eine damit verbundene Schreib-(WIP)Anzeige, die, wenn sie gesetzt
ist, andere Steuereinrichtungen daran hindert, diese Speicher-,
stelle im Notizblockspeicher abzufragen. Wenn der Schreibvorgang beim zweiten Durchlauf durch die gemeinsame Steuereinheit abgeschlossen
ist, wird die WlP-Anzeige gelöscht.
Da der PIR nur eine Adressenmarkierung für jede steuernde Vorrichtung
aufweist und da eine Steuereinrichtung anschließend einen weiteren Schreibbefehl aufgeben kann, bevor der erbte
Schreibbefehl erledigt ist, umfaßt das Multiprozessorsystem vorzugsweise
in der Steuereinheit ein WIP-Anzeige.-rSteuer-Bit,
das dazu verwendet wird, eine steuernde Einrichtung daran zu hindern,
einen späteren Schreibbefehl zu geben, während der erste Schreibbefehl noch bearbeitet wird.
Dementsprechend kann die gemeinsame Steuereinheit eine Mehrzahl identischer Prozessoren, Speichermodule, Massenspeichervorrich**.
Dementsprechend kann die gemeinsame Steuereinheit eine Mehrzahl identischer Prozessoren, Speichermodule, Massenspeichervorrich**.
• ·« tungen und Ihput/Output-Vorrichtungen bedienen und dementsprechend,
ein wirtschaftliches, erweiterungsfähiges, modulares Multiprozes*-"
sorsystem schaffen.
Vorstehend wurde eine bevorzugte Ausführungsform der Erfindung ''";;
beschrieben. Der Geltungsbereich der Erfindung wird jedoch ins~---
besondere in den beigefügten Patentansprüchen dargestellt. Wei;-»- ·
tere erfindungswesentliche Merkmale und Vorteile gehen aus der ·· ·|
nachstehenden Beschreibung hervor, in der mit Bezug auf die Zeichnungen
Ausführungsbeispiele erläutert werden.
In den Zeichnungen zeigen
Fig. 1 ein Blockdiagramm eines zessorsystems;
erfindungsgemäßen Multipro-
Fig. 2A bis 2E verschiedene Zeitsignale, die Informationsübertragungen
zwischen den in Fig. 1 gezeigten Elementen synchronisieren;
Fig. 3A bis 3E die Zeitintervalle für die in Fig. 1 gezeigten
Elemente, wenn ein Prozessor einen Lesevorgang an einer Speicherstelle in dem Notizblockspeicher nach Fig. 1 ausführt;
Fig. 4A bis 4D die Zeitintervalle für die in Fig. 1 gezeigten Elemente, wenn ein Prozessor eine Transaktion durchführt,
die zwei Zugriffe zu dem Notizblockspeicher nach Fig. 1 erfordern;
Fig. 5 eine tabellarische Auflistung der internen,in der gemeinsamen
Steuereinheit als Reaktion auf verschiedene dort auftretende Zustände durchgeführten Operationen;
-V-
Fig. 6 ein detaillierteres Diagramm der in Fig. 1 verwendeten gemeinsamen Steuereinrichtung;
Fig. 7 ein Diagramm des internen Speicherschlichtungs-
und des SpeicherrücklaufSchaltkreises der gemeinsamen Steuereinheit nach Fig. 6; und . '..**!
Fig. 8A und 8B funktioneile Elemente der geteilten Ressourcen ^
in der gemeinsamen Steuereinheit nach Fig. 1.
A. Allgemeine Beschreibung des Multiprozessorsystems , : .■ :
In der folgenden Beschreibung werden gewisse Ausdrücke verwendet, die verschiedene Bedeutungen haben können. Um jedoch das Verständnis
dieser Erfindung zu erleichtern, geben wir die folgenden Begriffsbestimmungen.
Durch Verwendung des Ausdruckes "Information" wird beabsichtigt, Vorrichtungsidentifikationssignale, Speicheradressensignale, Signale,
die den Betrieb einer Vorrichtung steuern (beispielsweise Steuerungs- und Zeitsignale) und Datensignale aus Speicher- oder
Verarbeitungsvorrichtungen zu bezeichnen. Alternativ umfaßt "Information" im wesentlichen Adressen-, Steuer-und Datensignale.
Der Ausdruck "Vorrichtung" bedeutet jede Komponente eines Daten- I Verarbeitungssystems. Der Ausdruck "Speicherdaten" (memory data) |
bezieht sich auf Informationen in Verbindung mit einem Speicher- \
modul mit direktem Zugriff. Der Ausdruck "Speicherdaten" (storage ι
data) bedeutet Information in Verbindung mit einer Massenspeicher-jeinrichtung,
wie z.B. einer Plattenkarteitrommeleinheit oder einer Magnetbandeinheit. Der Ausdruck "Notizblockspeicherdaten"
bedeutet Informationen in Verbindung mit einem Notizblockspeicher Im wesentlichen bedeutet der Ausdruck "Daten" Speicherdaten (memory
data, storage data), Registerdaten oder Notizblockspeicherdaten. Der Ausdruck "Speicherinformation" (storage information)
umfaßt Daten und die dazugehörigen Kontrollsignale,, die zu bzw. von einer Datenspeichervorrichtung auf den Weg gebracht werden.
Der Ausdruck "Identifikationssignal" oder "ID-Signal" bedeutet
■ - 4 -
Signale, die eine Vorrichtung in einem Datenverarbeitungssystem identifizieren. Der Ausdruck "Adressensignal" oder "Speicheradressensignal"
bedeutet Signale, die eine zugängliche Stelle in einer Datenspeichervorrichtung identifizieren. Der Ausdruck;
"Funktionscode" oder "Steuer-Bits" bedeutet· Signale, die spezi-*·
fizieren, wie eine Vorrichtung zu funktionieren hat bzw. arbeiten1'
muß. Der Ausdruck "Steuerinformation" umfaßt Adressen-, Steuer-.; I
und Datensignale, die zusammen bestimmen, wie eine Vorrichtung"..»,
innerhalb einer gegebenen Reihe von Operationen zu funktionieren"
hat. Der Ausdruck "Hauptschiene" (bus) bedeutet eine Mehrzahl von parallelen Leitern, an die mehrere Vorrichtungen parallel
zur übertragung von Informationen angeschlossen werden können. Der Ausdruck "Hauptschienenverbindung" (bus connection) bedeutet
die elektrische Verbindung zwischen einer Vorrichtung und einer Hauptschiene. Der Ausdruck "Verbindung" (connection) bedeutet
eine direkte Verbindung zwischen zwei Vorrichtungen über einen einzelnen Leiter oder mehrere Leiter. Eine "steuernde (commanding)
Vorrichtung" ist eine Vorrichtung, die einen Steuerbefehl abgibt. Eine "reagierende Vorrichtung" (responding) ist eine Vorrichtung,
die auf eine Steuervorrichtung reagiert. Eine "Transaktion" bedeutet alle notwendigen Operationen zur Ausführung eines von einer
Steuervorrichtung abgegebenen Steuerbefehles. In dieser Beschreibung bedeutet dies die Durchführung sämtlicher Schritte in
einem geordneten Pipeline-Ablauf von Geschehnissen, die zur vollständigen
Ausführung des Steuerbefehles notwendig sind.
Entsprechend den vorstehenden Begriffsbestimmungen wird nunmehr
ein erfindungsgemäß konstruiertes Multiprozessorsystem beschrieben.
Ein solches System wird in Fig. 1 gezeigt. Alle Vorrichtungen desselben stehen über eine gemeinsame Steuereinheit (CCU) 10 in
Verbindung. Die CCU 10 umfaßt das, was als"geteilte Pipeline-Ressourcen"
(shared pipeline resources) bezeichnet wird, einschließlich eines Notizblockspeichers 20, eines SpeicherverwaltungaBchaltkreises
22, eines Adressenübersetzungschaltkreises 24 und eines Zeit- und Steuerschaltkreises 26. Weitere geteilte
Pipeline-Ressourcen umfassen Input-Register für den Empfang von Reihen von Steuersignalen und Output-Register für den Empfang von
Datensignalen in Verbindung mit den Reihen von Steuersignalen.
J* 313ΛΑ28
Der Notizblockspeicher 20 wird zur Speicherung von Kopien von Informationen verwendet, die in den Speichermodulen mit direktem
Zugriff 28 enthalten sind, so daß die Daten für jeden der Prozessoren 30 (P, P, ...P) schnell zugänglich sind, die zusammen ihre
Datenverarbeitungszyklen schneller durchführen als es der Ge- ;„
schwindigkeit entsprechen würde, mit der Speicherdaten in den ".."
Speichermodulen 28 aufgefunden werden können. In diesem System*«-.'
kann die Speicherzugriffszeit für das Auffinden von Daten bei- .„,
spielsweise 500 Na.nosekunden ausmachen, während die Geschwindig—--keit,
mit der die CCU .10 ein Speicherdatum im Notizblockspeicher«,
20 abrufen kann, 133 Nanosekunden beträgt- Ein Notizblockspeicher;;·
schaltkreis 20, der mit dieser Erfindung zusammen verwendet wer4ej*
kann, wird in einem US-Patent der Anmelderin Nr. 4.055.851 be-I».
schrieben. Der Speicher.verwaltungsschaltkreis 22 im CCU 10 ermöglicht einen entsprechenden Zugriff zu gewissen Totspeicher- odei
nur für Eintragungen zuständigen Speicherstellen in den Speichermodulen
mit direktem Zugriff 28 entsprechend vorher festgelegten
Regeln. Der Speicherverwaltungsschaltkreis 22 bietet auch eine Neuadressierkonstante, die vom Adressenübersetzungschaltkreis 24 i
verwendet wird. Ein Speicherverwaltungsschaltkreis 22, der mit die ser Erfindung verwendet werden kann, ist der in dem am 1. Juli
1975 erteilten Patent der Anmelderin Nr. 3.893.084 beschriebene. Der Adressenübersetzungsschaltkreis 24 wird zur Umwandlung von
virtuellen Adressen in tatsächliche Adressen verwendet. Virtuelle
Adressen sind Speicheradressen, die von einer Steuervorrichtung erzeugt werden und die eindeutig eine spezifische Adressenstelle
in einer reagieren Vorrichtung definieren. Tatsächliche Adressen definieren eindeutige Adressen. Der Übersetzungsschaltkreis 24
schafft eine tatsächlicheAdresse durch Verwendung einer arithmetischen
Einheit, um die Neuadressierungskonstante aus einem Register im Schaltkreis 22 zu der virtuellen, aus der den Steuerbefehl
abgebenden Vorrichtung erhaltenen Adresse hinzuzuaddieren. Beispielsweise verwandelt der Adressenübersetzungsschaltkreis 24
eine 18-Bit-Adresse, die von einen Prozessor 30 erzeugt wurde,
in eine 22-Bit-Adresse, die in eindeutiger Weise eine bestimmte Stelle in den Speichermodulen 28 angibt. Ein solcher Adressenübersetzungsschaltkreis
24, der in Verbindung mit dieser Erfindunc verwendet werden kann, wird ebenfalls in einem am 10. Dezember '
1974 erteilten US-Patent mit der Nummer 3.854.126 der Anmelderin beschrieben.
Die gemeinsame Steuereinheit 10 umfaßt auch eine Speicherabfragewarteschlange
34, die im folgenden beschrieben wird, um Anfragen nach Zugang zu den Speichermodulen 28 zu ordnen. Wenn angefragt^-J·
Daten in dem Notizblockspeicher 20 nicht vorhanden sind, veran^äß^
die CCU die Speicheranfragewarteschlange 34 zur Speicherung von - j ID-Signalen zur Identifikation des Steuersignals, des tatsächlichem
Adressensignals zur Identifikation der physischen Adresse in den."
an dem Transfer beteiligten Speichermodulen 28 und Funktionscode;-""
signale (beispielsweise Lese- oder Schreibbefehlen) zur Identif 1"V
kation der Operation, die mit den Speichermodulen 28 durchzuführer
ist. Diese'Anforderungen werden dann einem Speicherschnittstelienschaltkreis
26 über eine Verbindung 38 zugeleitet. Die Wartschlange 34 enthält 32 Sätze von Steuerinformationen. Eine Warteschlange
ist notwendig, weil der Umfang der Anfragen nach Zugriff während des Betriebes des Multiprozessorsystems variiert. Diese Anforderur
gen können sich aus den Steuerschaltkreisen in den Zeit- und Steuerschaltkreisen 26, aus den Prozessoren 30, den I/O-Vorrichtungen
32 oder dem Notizblockspeicherschaltkreis 20 ergeben.
Der Speicherschnittstellenschaltkreis 36 erhält auch Anforderungen
zur Auffindung oder Speicherung von Speicherinformation aus den Massenspeichersteuereinheiten 40 und 42 über eine Hauptschienenverbindung
44. Die Massenspeichersteuereinrichtungen 40 und 42 sind mit einer 32-Bit breiten synchronen Massenspeicherhauptschiene
46 verbunden, die sowohl Speicher-wie auch Steuerinformationen weiterleitet. Die Massenspeicherhauptschiene 46 und die
Massenspeichersteuereinrichtungen 40 und 42 werden im US-Patent Nr. 3.999.163 beschrieben und sind im Handel als PDP 11/70 Large
Scale memory bus bekannt.
Ein konventioneller Schlichtungsschaltkreis an der Speicherschnittstelle
36 bestimmt, ob Anfragen aus der Speicheranfragenwarteschlange 34. oder den Massenspeichersteuereinrichtungen
40 oder 42 honoriert werden. Der nicht gezeigte Speicherschnittstellenschaltkreis
könnte auch adaptiert werden, um Anfragen nach Zugriff zu behandeln, die direkt aus den UNIBUS-Vorrichtungen 32
über den UNIBUS-Schnittstellenschaltkreis 64 kommen. Nach Abschluß der Schlichtung werden sowohl die Steuerinformationssig-
-Vi-
nale wie auch die Datensignale auf eine Speicherhauptschiene 48
übertragen, wobei diese Signale dann auf ein geeignetes Speichermodul 50, 52 oder 54 übertragen werden.
Die Speicherhauptschiene 48 enthält auch weitere Steuerschalt-,
kreise zur Beförderung von Steuerinformationen und Speicherdatftrt,,
zwischen den Speichermodulen 28 und dem Speicherschnittstellenf ; schaltkreis 36. Eine detailliertere Beschreibung der Speicher- ·
hauptschiene 48 und der Speichermodule 28 mit der dazugehörigen^
Steuerlogik wird in einem US-Patent der Anmelderin mit der 4.045.781 gegeben.
Eine SpeicherrücklaufWarteschlange 65 speichert die adressierten;
Speicherdaten zusammen mit ID-Signalen und der tatsächlichen Adresse,
woher sie kamen. In die Speichermodule 28 einzutragende Daten werden ebenfalls in der Warteschlange 65 gespeichert. Die Schreib-·
daten werden für eine spätere Anpassung des Notizblockspeichers 20 verwendet. Diese Information wird auf den CCU 10 zurückübertragen,
um dann in den Pipeline-Ressourcen erneut in Umlauf gebracht zu werden, um gegebenenfalls den Notizblockspeicher anzupassen
oder zuzuordnen,und werden schließlich an die steuernde Vorrichtung übertragen, die ursprünglich die Speicherdaten abrief,
Ob eine Anpassung des Notizblockspeichers erfolgt, hängt von dem Ergebnis der Adressenvergleiche im Duplikatmarkierungsspeicher
ab. Die Vorteile und der Betrieb werden im folgenden beschrieben.
Übertragungen von Steuerinformationen und Daten finden auch zwischen
I/O-Vorrichtungen 32, wie z.B. der peripherischen Vorrichtung
26 und dem Terminal 58 (beispielsweise Operatorkonsole, Fernschreiber oder sogar eine Datenfernverarbeitungseinrichtung)
über eine asynchrone I/O-Hauptschiene 60 statt, die im Handel als
UNIBUS bekannt ist und im US-Patent der Anmelderin Nr. 3.710.324 beschrieben wird. Steuerungen aus den I/O-Vorrichtungen 32 gelangen
zur gemeinsamen Steuereinheit 10 durch die P-Hauptschienenschnittstelle 64. Diese Steuerungen gelangen zunächst über eine ·,
Hauptschienenverbindung 6 2 in den UNIBUS-Schnittstellenschaltkreis 6 4 und werden dann anschließend über getrennte Adressen- und Datenhauptschienenverbindungen
66 in den P-Hauptschienenschnittstellenachaltkrois 61 Übertragern. Danach stouort dor 7,oit~ und
Steuerschaltkreis 26 die Ausführung der aus den I/O-Vorrichtungen
32 stammenden Steuerbefehle zum Zugriff zu internen Registern in
den Pipeline-Ressourcen, dem Notizblockspeicher 20, den Speichermodulen
28 oder den Massenspeichersteuereinrichtüngen 40 und 42 oder deren Vorrichtungen 68 und 70. Steuerbefehle des Prozessors
30 an die I/O-Vorrichtungen 32 auf dem UNIBUS gelangen anderer-T.
' *t seits in die UNIBUS-Anforderungswarteschlange 72. Danach gelang.öh»f.
diese Steuerbefehle ebenso wie Steuerbefehle aus anderen Vor- "]
richtungen im System in den UNIBUS-Schnittstellenschaltkreis 64V"
der dann den Steuerbefehl über die Hauptschienenverbindung 62 %-in
die richtige I/O-Vorrichtung 32 leitet.
Die Prozessoren 30 stehen über eine Prozessorhauptschiene 76, d±«e,
auch als P-Hauptschiene bezeichnet wird, mit der gemeinsamen *" Steuereinheit 10 in Verbindung. Bei dem bevorzugten Ausführungs*-*
beispiel können die Prozessoren 30 eine beliebige Zahl von Prozessoreneinheiten 78 bis 84 aufweisen. Jeder der Prozessoren 30
ist mit der P-Hauptschiene 76 über entsprechende Schnittstellen-Schaltkreise 86 bis 92 verbunden. Diese Schaltkreise umfassen
verteilte Schlichtungs-Netze für die Steuerung des Zuganges der
Prozessoren zur P-Hauptschiene 76. Siehe das US-Patent 4.229.791 der Anmelderin wegen der Beschreibung des Schlichtungs-Netzes.
Jeder Schnittstellenschaltkreis 86 bis 92 verbindet die P-Hauptschiene
76 über ihre jeweiligen Paare von Adressen- und Datenhauptschienehverbindungen
93 bis 100.
Die P-Hauptschiene 76 ist eine synchrone Zusatz-Hauptschiene J ohne Verriegelungsschaltkreis und umfaßt eine getrennte "Adressen"' Hauptschiene 102 und eine getrennte "Daten"-Hauptschiene 104. Jede Hauptschiene 102 und 104 weist eine Anzahl von parallelen Leitern auf. Die Adressenhauptschiene 102 weist Leiter zum Transport von Vorrichtungsidentifikations-, Informations(ID)-Signalen, Funktionscode (F)-Signalen, Speicheradresseninformations-(ADRS) Signalen und weitere Steuerinformationen, wie z.B. Paritätsüberprüfungs-Bits und Zeitsignale auf. Das ID-Signal identifiziert eine steuernde Vorrichtung, wenn es an die CCU 10 gerichtet ist. Ansonsten identifiziert das ID-Signal die reagierende Vorrichtung.Die Daten-und Steuerhauptschiene 104 trägt Datensignale zwischen den Prozessoren 30 und dem Notizblockspeicher 20. Die Prozessoren 30 können auch miteinander über die P-Hauptschiene 76 ohne Verwendung der Pipeline-Ressourcen 20 bis 26 kommunizieren.
Die P-Hauptschiene 76 ist eine synchrone Zusatz-Hauptschiene J ohne Verriegelungsschaltkreis und umfaßt eine getrennte "Adressen"' Hauptschiene 102 und eine getrennte "Daten"-Hauptschiene 104. Jede Hauptschiene 102 und 104 weist eine Anzahl von parallelen Leitern auf. Die Adressenhauptschiene 102 weist Leiter zum Transport von Vorrichtungsidentifikations-, Informations(ID)-Signalen, Funktionscode (F)-Signalen, Speicheradresseninformations-(ADRS) Signalen und weitere Steuerinformationen, wie z.B. Paritätsüberprüfungs-Bits und Zeitsignale auf. Das ID-Signal identifiziert eine steuernde Vorrichtung, wenn es an die CCU 10 gerichtet ist. Ansonsten identifiziert das ID-Signal die reagierende Vorrichtung.Die Daten-und Steuerhauptschiene 104 trägt Datensignale zwischen den Prozessoren 30 und dem Notizblockspeicher 20. Die Prozessoren 30 können auch miteinander über die P-Hauptschiene 76 ohne Verwendung der Pipeline-Ressourcen 20 bis 26 kommunizieren.
Entsprechend weisen die jeweiligen Schnittstellenschaltkreise 86 bis 92 eine Reihe von "Adressen"-Hauptschienenverbindungen 93,
95, 97 und 99 auf; und eine Reihe von "Daten"-Hauptschienenverbindungen 94, 96, 98 und 100. Diese Hauptschienenverbindungen
93 bis 100 ermöglichen es den Prozessoren 30,mit der gemeinsamen Steuereinheit 10 über getrennte Adressenhauptschienenleiter 106"*-*
einerseits und getrennte Datenhauptschienenleiter 108 anderer-* '!
seits zu kommunizieren. Jede Reihe von Leitern stellt eine Haupt-*j:
schienenverbindung zwischen der P-Hauptschiene 76 und der P-Haupt4
Schienenschnittstelle 61 her. Die Trennung der Leiter ermöglicht" die gleichzeitige Verwendung der Hauptschiene 102 durch eine Vor=-'
richtung und die Verwendung der Hauptschiene 104 durch eine an-" dere Vorrichtung. Wenn beispielsweise der Prozessor 78 einen La-"
sebefehl ausführt, der die Verwendung der Datenhauptschiene 104 der P-Hauptschiene 76 nicht erfordert, muß die gemeinsame 'Steuereinheit
10 nicht abwarten, um die Hauptschiene 104 dazu zu verwenden,Daten
an einen wartenden Prozessor oder an die UNIBUS-Vorrichtung
zu übermitteln. Diese Anordnung verbessert die Gesamtleistung des Multiprozessorsystems· In der P-Hauptschiene und in
den Prozessoren 30 ausgeführte Operationen werden mit einer internen Uhr der CCU TO synchronisiert. Genauer gesagt, treibt eine
interne Vierphasenuhr in der Zeit-und Steuerungseinheit 26 die Operationen auf der P-Hauptschiene 76 und den Prozessoren 30-.
Bei der spezifischen Ausführungsform nach der Erfindung sind die
Prozessoren 78 bis 84 PDP-11-Datenverarbeitungssysteme, die von
der Abtretungsempfängerin dieses Patentes hergestellt werden.
Diese Systeme werden in einer US-Patentanmeldung der Anmelderin mit der Nummer 3.614.741 beschrieben. Ihre Beschreibung ist auch
im "Micro-computer Processor Handbook" (1979), das von der Anmelderin veröffentlicht wird, enthalten.
Da die in den Pipeline-Ressourcen anfallenden Transaktionen sich nicht gegenseitig verriegeln, können gewisse andere Transaktionen
in der gemeinsamen Steuereinheit 10 auftreten, bevor der Notizblockspeicher mit der neuen Information zugeordnet oder angepaßt
wird. Ein gegenseitiges Verriegeln von Steuerungen, die den Inhalt des Notizblockspeichers 20 verändern, würde die Leistung
des Gesamtsystems verschlechtern. Dementsprechend wird bei einer .
anderen Ausführungsform der Erfindung ein Prozessorindex-RAM (PIR] 2OC geliefert, der die Notwendigkeit vermeidet, diese Transaktionen
gegenseitig zu verriegeln, wobei trotzdem eine zeitsparende Effizienz eines Multiprozessorsystems aufrechterhalten wird. V
Zum Verständnis des PIR 2OC wird kurz der Betrieb ·*'.
des Notizblockspeichers 20 erklärt. Der Notizblockspeicherschalt-* j *
kreis 20 der gemeinsamen Steuereinheit 10 ist ein direkt abbilden1!',
der durchschreibender Notizblockspeicher. Das heißt, die Speicher«^
module mit direktem Zugriff 28 werden immer beschrieben, bevor ä&s
Notizblockspeicher 20 angepaßt werden kann. Dementsprechend müssen,
neue in die Speichermodule mit direktem Zugriff 28 eingeschriebene
Daten dann in den Notizblockspeicher 20 reflektiert werden, wenn"
die geschriebene tatsächliche Adresse mit einer der Adressen in dem Markierungsspeicher 2OA übereinstimmt. Ansonsten könnten die Daten
im Notizblockspeicher überaltern. Da das Durchschreibemerkmal angeboten wird, müssen gewisse Betriebserfordernisse zwischen
den Vorrichtungen des Datenverarbeitungssystems bestehen, um immer frische Daten in dem Notizblockspeicher 20 zu haben.
Der Notizblockspeicher 20 enthält einen Datenspeicher 2OB, der
eine gewisse Zahl von Adressenspeichersteilen aufweist sowie einen Adressenmarkierspeicher 2OA, der eine entsprechende Zahl von
Datenspeicherstellen aufweist. Der Datenspeicher 2OB enthält Kopien an Speicherdaten, die in den Speichermodulen 28 liegen. Die
spezifische Adressenstelle in den Speichermodulen 28, die in
dem Datenspeicher 2OB gedoppelt werden, werden durch die entspre- i chende Adresseninformation in einer entsprechenden Stelle des
Markierungsspeichers 2OA identifiziert. So wird der Notizblockspeicher als mit den Speichermodulen 28 "verbunden" bezeichnet,
und dementsprechend wird er auch als ein Assoziativspeicher bezeichnet.
Wenn eine Steuereinrichtung in dem Datenverarbeitungssystem Information
von einer Stelle in den Speichermodulen 28 benötigt, überprüfen die Pipeline-Ressourcen der CCU 10 während eines Notizblockspeicherintervalles
den Markierungsspeicher 2OA, um zu entscheiden, ob Zugriff zum Speicher 28 zur Auffindung der ange-
-geforderten Daten erforderlich ist oder nicht. Wenn nicht, werden
am Ende des ersten Durchlaufes durch die Pipeline-Ressourcen;die Notizblockspeicherdaten vom Notizblöckspeicher 2OB an die Steuervorrichtung
zurückgegeben. In diesem Fall wird gesagt, daß die steuernde Einrichtung bei ihrer Anforderung von Information aus; ·
den Speichermodulen 28 den Notizblockspeicher "trifft". Im Gegensatz dazu wird gesagt, daß die steuernde Vorrichtung
den Notizblockspeicher verfehlt, wenn die angeforderten Daten j: dort nicht gebildet wurden. In diesem Fall wird jedes Notiz- . ,"
blockspeicherdatum, das auf den Datenlinien erscheint, am Ende .*
des ersten Durchlaufes durch die Pipeline-Ressourcen ungültig :"'-gemacht. Zur gegebenen Zeit ordnet der Zeit- und Steuerungsscha.lt·+
kreis 26 die Anforderung in der Speicherwarteschlange 34 für eine J
spätere Anforderung an die Speichermodule 28 ein. Die von de'r
steuernden Vorrichtung ausgelöste Transaktion kann solange nicht abgeschlossen werden, bis ein zweiter Durchlauf durch die Pipeline-Ressource
erfolgt. Der zweite Durchlauf wird von der CCU für die steuernde Einheit durchgeführt, um die Daten zu lesen.
Wenn die angeforderten Daten aufgefunden werden, werden sie dann von der CCU 10 an die steuernde Einheit zurückgeleitet· Inzwischen wartet die steuernde Einheit die angeforderte Information
ab. Beim zweiten Durchlauf durch die Pipeline-Ressourcen ordnet die gemeinsame Steuereinheit 10 sowohl den Markierungsspeicher
2OA wie auch den Datenspeicher 2OB den neuen Informationen aus den Speichermodulen 28 zu.
Die Durchschreibevorrichtung erfordert, daß das System ein Schreibablauf-(WIP)-Steuer-Bit in WIP-Schaltkreisen 79, 81, 83
und 85 jeweils in Verbindung mit den Prozessoren 78, 80, 82 und 84 aufweist; und einen Prozessorindexspeicher mit direktem Zugriff
(PIR) in Verbindung mit dem Notizblockspeicher 20. Diese Schaltkreise hindern einen Prozessor 30 am Ablesen einer Speicher-]
stelle in dem Speichermodul 28, für die gerade eine Eintragung erfolgt. Genauer gesagt, wenn das WIP-Bit gesetzt ist, überprüft der Prozessor die Adresse im PIR. Wenn der Prozessor versucht,
diese Stelle im PIR anzuschreiben, zwingen diese Schaltkreise den Prozessor, den Notizblockspeicher bei jeder weiteren
Lesesteuerung solangezu"verfehlen", bis das WIP-Steuer-Bit ge-
löscht ist. Dieses Steuer-Bit wird vom CCU 10 bei seinem zweiten
Durchlauf durch die Pipeline-Ressourcen gelöscht, um sich in Reaktion auf den vorher abgegebenen Schreibtreffer, der vom Prozessor
abgegeben wurde, anzupassen. Da der PIR lediglich eine Adressenspeichersteile für jeden Prozessor hat, prüft jeder Prozessoij*·
sein WIP-Steuermarkier-Bit 79, 81, 83 und 85>und wenn dies ge-:** \
setzt ist, verläßt er die Abgabe seiner anschließenden Schreib- . i steuerung. :
Ebenso können andere Vorrichtungen, wie z.B. die Input/Output-Vorrichtungen
32 oder die Massenspeichersteuereinrichtungen 40,*".· und 42, die Notizblockspeicherdaten durch die Abgabe einer "SchreiE)
treff"-Steuerung beeinflussen. Sie können, obwohl sie nicht ge-*"
zeigt werden, gegebenenfalls einen Vorrichtungs-Index-RAM (DIR) und ein entsprechendes WIP-Steuermarkier-Bit aufweisen, die zusammen
das System in die Lage versetzen, im Notizblockspeicher 20 stets frische Daten zu haben.
j Wenn eine Steuereinrichtung einen Schreibbefehl abgibt, prüft die j
gemeinsame Steuereinheit 10 einen Duplikatmarkierspeicher 67, der \
im folgenden beschrieben wird, um zu entscheiden, ob er die Adres se im Speicher hat, an die die Schreibsteuerung gerichtet ist.
Wenn dies der Fall ist, paßt der Steuerschaltkreis 26 die betreffende Stelle im Notizblockspeicher 2OB an, während die ent-
sprechende MarkierSpeichersteile unverändert bleibt. Der Anpas- j
sungsvorgang bei diesem Schreibzyklus ist mit einer Verrieglung !
versehen, so daß keine andere Operation innerhalb des Notizblock- '
Speicherschaltkreises 20 auftreten kann, während die Anpassung ι
erfolgt. Dementsprechend ist also der Notizblockspeicher 20 ein J direkt abbildender durchschreibender Notizblockspeicher.
In einer im folgenden hierin beschriebenen Weise steuert der Zeit-!
und Steuerschaltkreis 26 eine Pipeline-Sequenz von Ereignissen ! im CCU 10, wobei die Reihenfolge bei allen in die Pipeline gelan- !
genden Steuerungen eingehalten wird. Bei der bevorzugten Aus- j führungsform aktiviert ein Vierphasen-Uhrsignal mit 133 Nanosekun-j
den-Intervallen sukzessive jede Ressource in der gemeinsamen Steuereinheit in einer geordneten Abfolge, womit jede Steuerung
durch die Stufen der CCU 10 geleitet wird. Wie vorher angegeben, können die Steuerungen von jedem der Prozessoren 30, den UNIBUS-Vorrichtungen
56 oder 58 oder den Massenspeichersteuereinrichtungen 40 oder 42 ausgelöst werden. Die gemeinsame Steuervorrichtung
10 weist auch interne Register auf, die von einer Vorrichtung ;*· zur Einholung von Zustandsinformationen gelesen werden können.DjLe;-'
se Steuerregister können auch von jeder beliebigen Vorrichtung oder mit Kontrollinformationen geschrieben werden, die vom CCU '-selbst
geschaffen werden, womit ihr internes Funktionieren kon-·
trolliert wird, wenn sie einen zweiten Durchlauf durchführt, um . ihren Notizblockspeicher anzupassen oder zuzuordnen und um die:"
angeforderten Daten einer steuernden Vorrichtung zuzuleiten. .
(2) Die P-Hauptschiene
Die P-Hauptschiene ist in zwei Abschnitte unterteilt: einen Adres-j-
sen- und Steuerabschnitt 102 und einen Daten- und Steuerabschnitt|
ι 104. Der Adressenabschnitt trägt virtuelle Adressensignale (VA),
die Speicherstellen identifizieren, Funktionscodesignale (F), die
angeben, welche Art von Transaktion durchgeführt wird, und Iden- '
tifikationssignale (ID), die angeben, welche Vorrichtungen an ι
der Transaktion beteiligt sind. Beispielsweise können ID-Signale >
sagen, welche Vorrichtung die Transaktion auslöste oder an welche Vorrichtung die Transaktion gerichtet ist. In den Fällen, in
denen das ID-Signal die auslösende Vorrichtung identifiziert, wird
die Transaktion speziell an die gemeinsame Steuereinheit gerichtet
Der Zugang zur P-Hauptschiene 76 wird durch Schlichtungsschalt-
kreise kontrolliert, die auf die verschiedenen mit der P-Haupt- -i
schiene 76 verbundenen Vorrichtungen aufgeteilt sind (beispiels- |
weise die gemeinsame Steuerung CCU und jeden einzelnen Prozessor PC). Diese Schlichtungsschaltkreise, die Teil der P-Hauptschienen-1·
Schnittstellenschaltkreise 86, 88, 90, 92 und 61 bilden, werden in der parallel laufenden Anmeldung von John V. Levy et al,
Serial Nr. 954.456, beschrieben, die an die Inhaberin dieser Patentschrift abgetreten wurde und hierin mit übernommen wird.
Jede solche Vorrichtung hat eine getrennte Priorität und eine unabhängige Anforderungslinie, die Teil des Adressenteils der P- |
ι Hauptschiene ist. Um zu der P-Hauptschiene Zugang zu haben, si- ι
chert die Vorrichtung ihre Anforderungslinie,und wenn keine An- j förderung mit höherer Priorität vorhanden ist., wenn die P-Haupt- J
schiene verfügbar wird, gewinnt die Vorrichtung die Kontrolle über die P-Hauptschiene· Die gemeinsame Steuerung CC hat die ;·
höchste Priorität. Die Prozessoren PC haben bestimmte niedrigere;J·
durch ihre jeweiligen Positionen längs der P-Hauptschiene bestimftif
te Prioritäten. Anforderungen nach Zugang zur P-Hauptschiene νοΛ-r,
UNIBUS 60 werden über die Anforderungslinie der gemeinsamen Steü'-rj
erung CC bedient. "··-
Ein Zeitvorgabeschaltkreis 26 in der gemeinsamen Steuerung CC ·· ·[
verteilt die Zeitsignale, die die Transaktionen über die P-Hauptschiene kontrollieren. Diese Zeitsignale werden auf jeden der
Schnittpunktschaltkreise 86, 88, 90, 92 und 61 verteilt. Wie in den Figuren 2A bis 2B gezeigt, umfassen die Zeitvorgabesignale
PO CLK bis P3 CLK Quadraturphasensignale, die jeweils eine 50%igei
Einschaltdauer haben. Die führenden Kanten der PO CLK bis P3 CLK-Impulse definieren PO über die P3-Zeitvorgabezeiten, wie in
Fig. 2E gezeigt. Das Zeitintervall zwischen sukzessiven PO-Zeitsteuerungszeiten
definiert einen vollständigen Hauptschienenzyklus und wird dementsprechend Hauptschienenzykluszeit genannt.
Im allgemeinen sichert jede Zugang zur P-Hauptschiene suchende Vorrichtung ihre Anforderungslinie bei PO während eines gegebenen
Hauptschienenzyklus. Die Schlichtung erfolgt zwischen PO und P3 des gleichen Haüptschienenzyklus, und wenn die Kontrolle
erreicht ist, wird sie bei P3 dieses Zyklus gegeben. Weitere Vorgänge folgen sequenziell wie nachstehend beschrieben.
! In dem spezifischen Ausführungsbeispiel beträgt das Intervall
ι ·
ι zwischen sukzessiven P0-Zeiten und dementsprechend die Haupt-Schienenzykluszeit
ungefähr 133 Nanosekunden.
! (3) Pipe line ·<■ Ressourcen
ι ■ ■
Die P-Hauptschiene 7 6 und die Teile der gemeinsamen Steuerein- ! heit 10, die von einem Prozessor Pn benötigt werden, um Daten
ι im Notizblockspeicher 20 zu lesen, werden in einer Pipeline orga-
nisiert. Weiterhin ist die Konzeption der Pipeline optimiert, um
die Zugangszeit einesPn-Prozessors auf ein Minimum zu reduzieren, der eine Speicherablesung vornimmt, die den Notizblockspei- ;
eher 20 trifft. Die Ressourcen in der Pipeline sind folgende: ■
1) Adresse, ID, F und interne Register ;.
2) Speicherverwaltungsschaltkreis 22 ".""'
3) Adressenübersetzungsschältkreis 24 in der gemeinsamen Steüe- ".,·.·"
rung CC . ;
4) Notizblockspeicher 20 ,:""":
5) Prüf schaltkreis für das Treffen des Notizblockspeichers 3.8 un<l·'-
6) Register für Daten und Steuer information. ."["
Jedesmal, wenn eine Vorrichtung die Kontrolle der P-Hauptschiene erhält, erhält sie die Gesamtheit der obigen Pipeline-Ressourcen.ι
Es gibt keine Möglichkeit für irgendeine Vorrichtung, nur einen
j Teil der Ressourcen in der Pipeline anzufordern. Jedoch müssen
[ nicht alle Ressourcen von der Vorrichtung genutzt werden. So
! können eine oder mehrere Ressourcen während einer bestimmten
j Transaktion leerlaufen, wenn diese Ressourcen für die Transak-
tion nicht erforderlich sind. ,
■■■·,
Die Ressourcen in der Pipeline werden immer sequentiell in der
ι oben angegebenen Reihenfolge zugeteilt. Mit anderen Worten ver-
wendet eine Vorrichtung, die die Kontrolle über die P-Hauptschiene
erzielt, den Adressenteil der P-Hauptschiene während eines ersten Zeitabschnittes, der sofort beginnt, wenn die P-Hauptschiene
zugeteilt wird. Die Vorrichtung verwendet dann den Speicherverwaltungsschaltkreis
22 in der gemeinsamen Steuereinheit 10 während eines zweiten Zeitabschnittes, der am Ende des ersten
Zeitabschnittes beginnt usw.,bis die Nutzung der Datenregister in der P-Hauptschiene abgeschlossen ist. Wie angemerkt, wird diese
Reihenfolge gewählt, um die Zugangszeit eines Prozessors Pn,der eine Speicherablesung durchführt, die den Notizblockspeicher tifft,
auf ein Mindestmaß zu reduzieren. Notizblockspeicher-Simulations- .
Studien weisen darauf hin, daß"Treffer"beim Ablesen bei PDP-11 ^
Datenverarbeitungssystemen des in diesem Ausführungsbeispiel
j verwendeten Typs vorherrschen. Siehe das oben erwähnte Buch mit
-Widern Titel Computer Engineering von C. Gordon Bell et al,
Digital Press- (1978), insbesondere das Kapitel 10 desselben. Anfang und Ende jedes Ressourcen-Zeitabschnittes werden mit den
Zeitvorgaben PO bis P3 der Fig. 2E, wie unten erklärt, synchronisiert.
Fig. 3 zeigt das Timing für einen Prozessor Pn, der eine Speicher/-ablesung
durchführt, die den Notizblockspeicher 20 trifft. Die Zeitvorgaben PO bis P3 der Fig. 2E werden in Fig. 3A wiederholt"·..
Angenommen,der Prozessor PCO, der einen Lesevorgang im Speiche» ;
durchführen will, sichert seine Anforderungsleitung bei PO eines" gegebenen Hauptschienenzyklus. Wenn der Prozessor P die höchste./·%
Priorität unter denen hat, die zum fraglichen Zeitpunkt die P-:,..;
Hauptschiene anfordern, erhält er die P-Hauptschiene bei P3 des gleichen Hauptschienenzyklus. Das Zeitintervall zwischen der Anforderung
und der Gewährung wird in Fig. 3 als REQUEST bezeichnet.
Von P3. des gleichen Hauptschienenzyklus bis P2 des nächsten Hauptschienenzyklus
benutzt der Prozessor P den Adressenbereich der P-Hauptschiene zur übertragung eines Funktionscodes F, der auf
eine Speicherablesung hinweist, seinen ID, und die virtuelle Adres se VA der abzulesenden Speicherstelle an die gemeinsame Steuereinheit
CC. Dieses Zeitintervall wird in Fig. 3B als TRANSMIT
bezeichnet.
Von diesem P2 bis zum nächsten PI, d.h. während eines MANAGE-Inter
valls in Fig.3B, verwendet der Prozessor P den Speicherverwaltungs
schaltkreis 22 in der gemeinsamen Steuerung CC. Während des MANAGE
Intervalls prüft der Speicherverwaltungsschaltkreis den Funktionscode F und die virtuelle Adresse VA, die vom Prozessor PCO empfangen
wurde, um festzustellen, ob die von der Adresse definierte Speicherstelle eine solche ist, für die eine Ablesung zulässig
ist. Wenn die Speicherstelle gelesen werden kann, erzeugt der Schaltkreis 22 auch eine neue Adressierungskonstante.
Von diesem P1 bis zum nächsten PO, d.h. während eines Übersetzungs
Intervalls in Fig. 3B, verwendet der Prozessor P den Adressenübersetzungsschaltkreis
24 in der gemeinsamen Steuereinheit 10. Eine
arithmetische Einheit im Schaltkreis 24 addiert die neue Adressierungskonstante
zur vom Prozessor PCO empfangenen virtuellen Adresse VA/ um die tatsächliche Adresse PA zu erzeugen.
Das nächste Intervall ist CACHE. Während dieses Intervalls wird :\
der Notizblockspeicher 20 unter Verwendung der physischen Adres*-""
se PA abgelesen. Das CACHE-lntervall erstreckt sich auf einen
vollen Hauptschienenzyklus, d.h. vom letzten PO bis zum darauf':*"'
folgenden PO, und dementsprechend ist es das längste Zeitinter- ,♦
vall sämtlicher Ressourcen in der Pipeline. Das CACHE-Intervall'_"
ist dagegen lediglich lang genut, um einen Zugang zum Notiz- .".
blockspeicher 20 zu ermöglichen.
Das nächste Intervall ist HIT CHECK. Während dieses Intervalls wird der Notizblockspeicher-Trefferprüfschaltkreis in der gemeinsamen
Steuereinheit 10 verwendet, um festzustellen, ob die Ablesung den Notizblockspeicher 20 trifft. Das HIT CHECK-Intervall
erstreckt sich von PO am Ende des CACHE-Intervalls bis zum
.nächsten. P.3.. ("HIT CHECK" = Trefferprüfung)
Das letzte Intervall in Fig. 3B ist das DATA-Intervall. Während
des DATA-Intervalls, das sich vom letzten P3 bis zum nächsten
P2 erstreckt, wird der Datenbereich der P-Hauptschiene benutzt, um die aus dem Notizblockspeicher 20 gelesenen Daten zum Prozessor
P zurückzuübertragen.Am Ende des DATA-Intervalls ist die
Speicherablesung abgeschlossen.
Wenn der Trefferüberprüfungsschaltkreis angibt, daß die Speicherablesung
den Notizblockspeicher 20 trifft, wird der vom Prozessor P abgesandte ID nicht benötigt. Der Prozessor P, der mit dem
P-Hauptschienentiming synchronisiert ist, überstreicht den Datenbereich der P-Hauptschiene während des DATA-Intervalls, um die
Daten.zu erhalten. Der ID wird benötigt, wenn die Speicherablesun
den Notizblockspeicher,wie unten erklärt, nicht trifft.
In diesem Stadium der Beschreibung iat einige zusätzliche Timing-Nomenklatur
sinnvoll. Wie angemerkt, beginnen alle Transaktionen, wenn eine Vorrichtung ihre Anforderungslinie sichert, und endet,
wenn die letzte Ressource in der Pipeline ihren Betrieb abschließt.
Die Zeit ab dem Beginn einer Transaktion kann in Hauptschienenzyklen und in Steueruhrzeiten gezählt werden. Es möge
sich also Tm,η auf eine Transaktionszeit beziehen, die bei der
η-ten Uhrzeit nach dem m-ten Hauptschienenzyklus nach dem Beginn
einer Transaktion auftritt. So sichert beispielsweise der oben?*, beschriebene Prozessor PCO, der eine Ablesung im Speicher vor- ."
nimmt, seine Anforderung«leitung bei T0,0, verwendet den Adressen-)·*
teil der P-Hauptschiene von TO,3 bis T1,2 usw. bis er bei T5,2 ,*
die Daten erhält. Die Zeitsteuerung (timing) der Pipeline für '".,
den Prozessor PCO wird in Fig. 3B in Form von Transaktionszeite'n*«*
Tm,η dargestellt.
Es ist möglich, die Ressourcen der Pipeline für eine Speicher-"""
ablesung zur Verfügung zu stellen, die den Notizblockspeicher 20 bei P3 jedes aufeinanderfolgenden Hauptschienenzyklus trifft.
Wenn dies eintritt, wird jede Ressource in der Pipeline zu einer gegebenen Zeit eine Operation für eine verschiedene Speicherablesung
durchführen. Fig. 3D zeigt den Zeitablauf für eine Ablesung im Notizblockspeicher, die von einem Prozessor P begonnen wird,
der eine geringere Priorität hat als der oben beschriebene Prozessor P. Fig. 3E zeigt den Zeitablauf des Ablesens im Notizblockspeicher
durch den Prozessor P ausgedrückt in Transaktionszeiten
Tm,n.
Bei der oben beschriebenen Pipeline-Ressource-Organisation werden die Datenregister der P-Hauptschiene benutzt, nachdem auf den Notizblockspeicher
20 zurückgegriffen wurde. Dementsprechend erfordern Speicherablesungen, die den Notizblockspeicher 20 treffen,
lediglich einen Durchlauf durch die Pipeline zur Auffindung der
gewünschten Daten. Jedoch erfordern Speicherablesungen,die den Notizblockspeicher 20 verfehlen, ebenso wie alle Speichereintragun
gen den Zugriff zu den Hauptspeichereinheiten 28. Um des weiteren die Gültigkeit der im Notizblockspeicher 20 gespeicherten
Daten zu wahren, müssen, wenn der Notizblockspeicher verfehlt wird
Anpassungen am Notizblockspeicher 20 durchgeführt werden (beispielsweise Änderungen sowohl des Markierspeichers 2OA wie auch
des Datenspeichers 20B), während Speichereintragungen an Speicher-
stellen im Notizblockspeicher 20 den Notizblockspeicher 20 anpassen
müssen (beispielsweise Änderung seines Datenspeichers 20B)
Wenn also der Notizblockspeicher nicht getroffen, sondern verfehlt wird bzw. bei Schreibvorgängen ist ein zweiter Durchlauf
durch die Pipeline-Ressourcen erforderlich- Die letzteren Transf·*·
aktionen werden nachstehend beschrieben. . :**
(4) Gemeinsame Steuerfunktionen bei der Warteschlangenbildung ;*"
für Speicheranfragen , , ·■
Fig. 6 zeigt weitere Einzelheiten der gemeinsamen Steuerung CC·»*".
Der Betrieb der gemeinsamen Steuereinheit 10 wird am besten da-*" durch illustriert, daß beschrieben wird, wie sie auf Speicherat»-*"
lesungen reagiert, die den Notizblockspeicher 20 verfehlen,sowie auf Speichereintragungen. Zunächst werden Ablesungen, die nicht
treffen, beschrieben.
Angenommen, der Prozessor P wünscht, Daten aus einer Speicherstelle
abzulesen,die im Notizblockspeicher 20 nicht enthalten ist
Der Prozessor P wird synchron die Ressourcen der Pipeline in der gleichen Weise durchlaufen wie oben für den Prozessor P beschrieben,
der eine Ablesung vornimmt, die den Notizblockspeicher triff 1: In der Tat werden die Daten zum Prozessor P über die Datenregister
der P-Hauptschiene während des DATA-Intervalls der Pipeline
auch dann gesandt, wenn der Trefferprüfschaltkreis 162 bestimmt,
daß die Ablesung den Notizblockspeicher 20 verfehlte. Die zurücklaufenden Daten sind also nicht korrekt. Um dies zu berücksichtigen,
unterdrückt der Trefferprüfschaltkreis 162 beim Erfassen
eines Verfehlens des Notizblockspeichers ein DATA VALID-Signal
und überträgt das unterdrückte DATA VALID-Signal vom Signal des Registers 163 zurück zum Prozessor P über den Datenbereich der
P-Hauptschiene mit den nicht korrekten Daten. Das unterdrückte DATA VALID-Signal bringt den Prozessor P in einen WAIT(Warte-)-Zustand,
bis während des TRANSMIT (Übertragung)-Intervalls einer anschließenden Pipeline-Sequenz der Prozessor P sein eigenes ID
auf der P-Hauptschiene ertastet. Die korrekten Daten für die vom
Prozessor P gelesene Speicherstelle werden vier Zyklen später von dem Datenbereich der P-Hauptschiene während des DATA-Intervalls
dieser anschließenden Pipeline-Sequenz empfangen.
Die Transaktionszeiten werden oberhalb der in Fig. 4 gezeigten
Komponenten angegeben. Sie geben die Zeit an, bei der die entsprechende Komponente ihren Betrieb in der Pipeline beendet.
• ■ *
Wie bemerkt, versucht der Prozessor P eine Ablesung aus einer Speicherstelle, die im Notizblockspeicher 20 nicht enthalten
ist. Nach Erfassen des Verfehlens desselben gibt der Treffer- .· prüf schaltkreis j.m Notizblockspeicher 20 einen Funktionscode F "
für eine Ablesung, den ID des Prozessors P und die tatsächlichen:..
Adresse PA der in den Registern des Multiplexers 158 abzulesenden.
Speicherstelle ein. Die Information wird in die Register bei T5./.2.
verriegelt. Bei T6,1 wird die gleiche Information in die ent- *·..:
sprechenden Warteschlangen oder Puffer 172, 174 oder 176 eingegeben.
Wenn die Information einmal in den Warteschlangen oder Puffern gespeichert ist, ist der erste Durchlauf der verfehlten
Ablesung durch die Pipeline-Ressourcen abgeschlossen.
Wie vorher bemerkt·, arbeitet die Speicherhauptschiene 48 in bezug
auf die P-Hauptschiene asynchron. Die Speicherbezugszeichen werden asynchron durch einen Speicherhauptschienen-Schlichtungs-Schaltkreis
186 aufgerufen, bis die Warteschlange leer ist. Der Hauptschienen-Schlichtungs-Schaltkreis 76 wird in dem oben erwähnten
US-Patent Nr. 4.045.781 beschrieben. Die Ordnung wird in jeder der Warteschlangen 172 und 176 gewahrt, und dementsprechend
werden alle Speicherzugriffe auf einer first-in-first-out-Basis
behandelt.
Wenn eine Steuerung die Kontrolle der Speicherhauptschiene 48 erhält, erhält sie Zugriff zu der gewünschten Stelle in den Speichereinheiten
184. Wenn der Speicherzugriff abgeschlossen ist, werden die tatsächliche Adresse PA und die aus den Speichereinheiten
184 abgelesenen Daten von der Speicherhauptschiene 48 in eine Speicherrückläufwarteschlange 188 übertragen. Die Speicherrücklaufwarteschlange
188 arbeitet ebenfalls auf einer first-in-first-l
out-Basis. Ein Duplikat-Markierungsspeicher 182 wird ebenfalls J am Eingang der Speicherrücklaufwarteschlange 188 als eine Kopie
des Markierspeichers 2OA im Notizblockspeicher 20 gehalten. Nach
Eingabe der Daten in die Speicherrücklaufwarteschlange 188 wird eine Duplikatmarkierung im Duplikatmarkierspeicher 182 geschrieben
und gibt die tatsächliche Adresse PA der gerade gelesenen Speicherstelle an. Der Zweck des Duplikatmarkierspeichers 182 wird
nachstehend erklärt. . : <
Wenn die Daten aus Speichern in der Speicherrücklaufwarteschlange
188 gespeichert sind, muß die gemeinsame Steuerung CC die Pipe-*
line anfragen, um wieder Zugriff zum Notizblockspeicher 20 zu ha«-
ben und um die korrekten Daten an den Prozessor Pn, der das Ab'f*'
lesen mit Verfehlen des Notizblockspeichers startete, zurückzu^,·,
senden. Die gemeinsame Steuereinheit 10 beginnt so eine neue Transaktion durch Sicherung ihrer Anforderungsleitung bei TO,θ
eines neuen Hauptschienenzyklus. Wie bei allen mit der P-Hauptschiene
verbundenen Vorrichtungen muß die gemeinsame"Steuerung
CC über den Zugang zur P-Hauptschiene entscheiden. Die gemeinsame Steuerung CC hat jedoch die höchste Priorität unter allen
Hauptschienenvorrichtungen. Wenn bei. TO,3 der Zugang zur P-Hauptschiene
gewährt wird, gibt die gemeinsame Steuerung CC einen Funk-·
tionscode F, der auf eine Ablesung hinweist, die tatsächliche Adresse PA und den ID aus der Speicherrücklaufwarteschlange 188 in den
Adressenbereich der P-Hauptschiene ein. Bei T4,0 ordnet die gemeinsame Steuerung CC den Notizblockspeicher 20 dadurch zu, daß
der Markierspeicher 2OA des Notizblockspeichers 20 die Eintragung der tatsächlichen Adresse PA der gerade gelesenen Speicherstelle
erhält und die Daten in der entsprechenden Stelle des Notizblockspeicher-Datenspeichers 2OB einträgt. Bei T4,3 werden
die Daten auf den Datenbereich der P-Hauptschiene zwecks Empfang durch den Prozessor P übertragen. Die Operation mit Verfehlen
des Notizblockspeichers ist damit abgeschlossen.
Vom Vorrichtungsstandpunkt aus sind Schreibvorgänge an Stellen
im Speicher einfach. Die eine solche Eintragung auslösende Vorrichtung fordert die Pipeline an, bringt die Information über
die virtuelle Adresse VA in den Adressenbereich der P-Hauptschiene während des TRANSMIT-Intervalls ein, bringt die einzutragenden
Daten während des DATA-Intervalls in den Datenabschnitt der P-Haupt
schiene, womit der Vorgang erledigt ist.Für die gemeinsame Steuereinheit
GC sind jedoch Eintragungen wichtiger. Die gemeinsame Steuereinheit
CC muß den Notizblockspeicher 20 anpassen, wenn die geschriebene Speicherstelle im Notizblockspeicher 20 ist. Da die Reihenfolge
der Ressourcen in der Pipeline so ist, daß die zu schreibenden ;·„
Daten dann nicht in der gemeinsamen Steuerung CC zur Verfügung .*·,
sind, wenn während des ersten Durchlaufes durah die Pipeline Zu-*
griff zum Notizblockspeicher besteht, muß ein zweiter Pipeline-»**" durchlauf gestartet werden.
Wenn während des ersten Durchlaufes durch die Ressourcen der
line die gemeinsame Steuereinheit 10 einen Funktionscode F er faßt, der auf eine Eintragung im Speicher hinweist, bringt
Funktionscode F, die tatsächliche Adresse PA der zu beschreibenden
Stelle und die zu schreibenden Daten in das Register 158 ein. Die Information wird dann auf die Warteschlange 172 oder 176 oder auf
den Puffer 174 übertragen,je nachdem, welche ID-Signale vorhanden
sind, wenn der erste Durchlauf durch die Pipeline-Ressourcen abgeschlossen ist.
Nachdem die Steuerung über die Speicherhauptschiene 48 die Kontrol
Ie gewinnt, nimmt sie eine Eintragung in den Speichereinheiten 184 vor. Wenn der Speicherzyklus abgeschlossen ist, werden die
Daten aus dem Speicher und die tatsächliche Adresse PA der gerade in den Speicher 184 eingetragenen Speicherstelle in die Speicherrücklaufwarteschlange
188 eingegeben. Der Duplikatmarkierspeicher 182 wird dann geprüft, um festzustellen, ob die gerade beschriebene
Speicherstelle eine ist, die im Notizblockspeicher 20 enthalten ist. Wenn nicht, wird veranlaßt, daß die gemeinsame Steuerung
CC die Eintragung vornimmt. Wenn ja, veranlaßt die gemeinsame Steuerung CC die Pipeline, einen zweiten Durchlauf durch
die Ressourcen der Pipeline zu starten. Während des zweiten Durchlaufes wird der Datenspeicher 2OB des Notizblockspeichers
20 mit den in den Speicher eingetragenen Daten angepaßt.
Wie bemerkt, wird der Duplikatmarkierspeicher 86 als eine Kopie
des Markierspeichers 2OA im Notizblockspeicher 20 aufrechterhalten. Die Gültigkeit dieser Kopie wird dadurch gewahrt, daß A'nde-
rungen im Duplikatmarkierspeicher 182 und Änderungen in dem Notizblockmarkierspeicher
2OA gegenseitig verriegelt werden. Der Duplikatmarkierspeicher 182 verhindert, daß eine bestimmte
Notizblockspeicherstelle, die noch durch eine Eintragung anzupassen ist, die den Notizblockspeicher 20 trifft, zwischen zwei
Durchläufen der Eintragung durch die Ressourcen der Pipeline ei^(
ner anderen Speicherstelle zugeordnet wird. Eine solche irrtüm-·^*
liehe Neuzuordnung könnte beispielsweise dann eintreten, wenn zweite Durchlauf einer Ablesung, die den Notizblockspeicher 20
verfehlte, rechtzeitig zwischen dem ersten und dem zweiten Schreitldurchlauf
aufträte.
Als Beispiel sei angenommen, daß der Duplikatmarkierspeicher iä2:,
eliminiert wird und daß zu einer gegebenen Zeit TO die Notiz-;,^.
blockspeicherstelle X der Speicherstelle A entspricht. Weiter sei angenommen, daß bei Zeit TO der erste Durchlauf einer Ablesung
durch die Ressourcen der Pipeline, die den Notizblockspeicher verfehlt, abgeschlossen ist, jedoch nicht der zweite Durchlauf
dieser Ablesung. Zu einem späteren Zeitpunkt T1 geht eine Eintragung bei der Speicherstelle A bei der gemeinsamen Steuerung
CC ein. Da die Speicherstelle A in der Notizblockspeicherstelle X enthalten ist, würde die Eintragung wie ein Treffer des Notizblockspeichers
behandelt werden. Weiter sei angenommen, daß zum Zeitpunkt T2 der zweite Durchlauf einer Ablesung, die den Notizblockspeicher
20 verfehlte, die Notizblockspeicherstelle X einer anderen Speicherstelle, beispielsweise der Speicherstelle B zuordnet.
Zum Zeitpunkt T3 paßt der zweite Durchlauf der als ein Notizblockspeicher-Treffer behandelten Eintragung die Notizblockspeicherstelle
X mit den neuen Daten aus der Speicherstelle A an., Dies führt dazu, daß in der Notizblockspeicherstelle X falsche
Daten gespeichert werden.
Dieses Problem wird erfindungsgemäß durch die Schaffung des Dupli-j
katmarkierspeichers 182 am Eingang der Speicherrücklaufwarte- ]
schlange 188 vermieden. Es wurde festgestellt, daß lediglich Eingänge aus der Speicherrücklaufwarteschlange 188 eine Notizblockspeichermarkierung
ändern können. Durch die Anbringung des Duplikatmarkierspeichers 182 am Eingang der Speicherrücklaufwarte-
schlange 188 und durch die Aufrechterhaltung der Ordnung in der
Warteschlange 188 kann sichergestellt werden, daß die im Duplikat-·
markierspeicher 182 gefundene Markierung identisch zu der ist, di€:
sich tatsächlich im Notizblockspeicher 20 zu dem Zeitpunkt befindet, in dem die betreffende Eintragung den Notizblockspeicher 50. j:
erreichte. Falls eine bestimmte Notizblockspeicherstelle X einer*.',
neuen Speicherstelle zugeordnet wird, bevor die Eintragung ihrer{ zweiten Durchlauf durch die Pipeline abgeschlossen hat, zeigt
eine Prüfung eines Duplikatmarkierspeichers 182. In diesem FalJ.#*«J
wird die Eintragung wie ein Verfehlen des Notizblockspeichers Kfe**
handelt, obwohl die gewünschte Stelle möglicherweise während de^",
ersten Durchlaufes durch die Ressourcen der Pipeline im Notiz-"* blockspeicher 20 war. Als Ergebnis wird der Notizblockspeicher"****
nicht falsch angepaßt.
Der Duplikatmarkierspeicher 182 dient noch zu einem weiteren
Zweck. Wie angemerkt, kann der Inhalt der Speichereinheiten 184 durch die Massenspeichersteuereinrichtungen 40 oder 42 geändert
werden, und diese Änderung muß sich im Inhalt des Notizblockspeichers 20 reflektieren. Es ist jedoch ineffizient, ständig durch
den Notizblockspeicher 20 zu gehen, wenn der Inhalt der Speichereinheiten 184 durch die Einheiten 40 oder 42 geändert wird.
Im erfindungsgemäßen System werden alle Zugänge zu den Speichereinheiten
28, einschließlich derjenigen aus den Sekundärspeichereinrichtungen 40 oder 42, über den Speicher-Schlichtungs-Schaltkreis
186 und die Speicherrücklaufwarteschlange 188 mit eingehaltener Reihenfolge gesteuert. Dies vermeidet Konflikte zwischen
Transaktionen, die von den Einheiten 40 und 42 gestartet werden und denjenigen, die von P-Hauptschienenvorrichtungen gestartet
werden, die aber die gleiche Stelle in den Speichereinheiten 184
betreffen. Darüber hinaus prüfen Transaktionen aus den Einheiten 40 oder 42, ebenso wie diejenigen aus den P-Hauptschienenvorrichtungen,
den Duplikatmarkierspeicher 182 vor dem Beginn einer Anpassung des Notizblockspeichers. Wenn der Duplikatmarkierspeicher
182 angibt, daß die von den Einheiten 40 oder 42 angeschriebene Stelle im Notizblockspeicher 20 liegt, wird der Notizblockspeicher
20 angepaßt; ansonsten nicht. Dies ermöglicht, daß der
Notizblockspeicher 20 nur dann verwendet wird, wenn eine tatsächliche
Anpassung erforderlich ist, womit eine ständige Verwendung des Notizblockspeichers 20 für jeden Fall der Belegung einer
Speicherstelle durch die Einheiten 40 oder 42 verwendet wird. Auf diese Weise kann der Notizblockspeicher 20 für P-Hauptschienentätigkeit
ohne Teilung der Bandbreite des Notizblockspeichers·. 20 mit Anpassungen aus den Einheiten 40 und 4 2 verwendet werden.^.
Wie angemerkt, erfordern Eintragungen, die eine bestimmte Stelle ·
in dem Notizblockspeicher 20 treffen, einen zweiten Durchlauf ""j"
- - Γ durch die Ressourcen der Pipeline zur Anpassung des Notizblock-'-.",}.
Speichers 20. Es ist möglich, daß ein Prozessor PC, der dabei ist*
die Stelle- anzupassen, versuchen wird, die gleiche Stelle abzu— \"
lesen, bevor die Anpassung abgeschlossen ist. Dies würde zum Rücklauf
von nicht modifizierten ungültigen Daten führen.
Dieses Problem könnte dadurch vermieden werden, daß die Stelle im Notizblockspeicher 20, die beschrieben wird, beim ersten Durchlauf
des Schreibvorganges durch die Ressourcen der Pipeline ungültig gemacht wird. Dies würde jedoch dazu zwingen, daß der die
Eintragung vornehmende Prozessor für die gesamte Dauer der Eintragung stillsteht. Dies könnte auch dazu führen, daß eine von
einer anderen P-Hauptschienenvorrichtung genutzte Notizblockspeicherstelle ungültig wird. Beides würde die Gesamtleistung des
Systems reduzieren.
Erfindungsgemäß wird ein prozessor-indexiertesRAM (PIR) 167 als
Teil des Notizblockspeichers 20 implementiert. Der PIR 167 wird
statt irgendeines Notizblockspeicher-Ungültigkeitsschemas verwendet. Der PiR 167 weist eine Stelle für jeden Prozessor 30 im
System 10 auf. Der PIR 90 wird durch die ID der Prozessoren PC indiziert und ist ein Bit breiter als der 12-Bit-Index des Notizblockspeichers
20. Das zusätzliche Bit im PIR-Index wird als ein Indikator einer laufenden Eintragungsoperation verwendet.
Beim ersten Durchlauf eines Schreibvorganges durch die Ressourcen der Pipeline wird die Stelle des PIR 167, die dem die Eintragung
durchführenden Prozessor Pn entspricht, mit der Markierung der
zu beschreibenden Speicherstelle beschrieben. Gleichzeitig wird '
das zusätzliche Bit in dieser Stelle des PIR 167 gesetzt. Wenn immer ein Prozessor Pn versucht, eine Stelle im Notizblockspeichel
20 abzulesen, hat er Zugang zur entsprechenden Stelle im PIR 167 während des CACHE-Zeitintervalls und prüft die Markierung und das
darin gespeicherte zusätzliche Bit, um festzustellen, ob die ; |
Stelle, die er versucht abzulesen, eine ist, bei der eine Ein- : ,.
tragung läuft. Wenn ja, wird der Lesevorgang als ein Verfehlen des Notizblockspeichers auch dann behandelt, wenn die betreffende
Stelle sich im Notizblockspeicher 20 befindet. Die Ablesung ist. .■
dementsprechend gezwungen, hinter der Eintragung in die Speicher-f"
warteschlange 172 einzutreten. Wenn nicht, läuft der Ablesevor-^ *".
garig wie üblich, d.h. wie ein Lesetreffer, wenn die Stelle sich Ί im Notizblockspeicher 20 befindet oder als ein Verfehlen, wenn "die!
Speicherstelle sich nicht im Notizblockspeicher 20 befindet.' Wenn ι
der Schreibvorgang durch die Ressourcen der Pipeline das zweite Mal läuft, löscht er das zusätzliche Bit im PIR 167 während des
CACHE-Intervalls, um darauf hinzuweisen, daß die Eintragung in j
der Speicherstelle abgeschlossen wurde.
Fig. 4B zeigt den' Zeitablauf für einen Lesevorgang, der vom Prozessor
P begonnen wird und den Notizblockspeicher 20 verfehlt. Fig. 4C zeigt den Zeitablauf für einen SchreibVorgang, der vom
Prozessor B begonnen wird und den Notizblockspeicher 20 trifft. Der Prozessor P hat eine niedrigere Priorität als der Prozessor
P. Fig. 4D zeigt den Zeitablauf eines Schreibvorganges,der von einem Prozessor P begonnen wird und den Notizblockspeicher verfehlt.
Der Prozessor P hat eine niedrigere Priorität als der Prozessor P und der Prozessor P. Die Steuerzeiten PO bis P3 werden
in Fig. 4A gezeigt.
Bei diesem spezifischen Ausführungsbeispiel weist der PIR 90 nur eine Stelle für jeden Prozessor PC im System 10 auf. Dementsprechend
kann der PIR 167 für jeden Prozessor Pn lediglich einen lau-: fenden Schreibvorgang festhalten. Es ist jedoch möglich, daß bei |
: einem bestimmten Prozessor Pn mehr als ein Schreibvorgang auf ein-1
mal abläuft. Wenn dies geschieht, verhindert der PIR 90 lediglich,1
daß die erste beschriebene Speicherstelle abgeschrieben wird.
j ■ . ι
L , __ j
Die folgenden beschriebenen Speicherstellen können vom Prozessor j
PC gelesen werden, was zur Rückführung von ungültigen Daten führt]
In diesem spezifischen Ausführungsbeispiel wird dieses Problem
durch die Implementierung einer WRITE IN PROGRESS (Schreibvor- :
gang) (WIP)-Anzeige in der Hardware der Prozessoren 30 vermieden*./ Die WIP-Anzeige verhindert, daß ein einzelner Prozessor Pn mohj;
als einen ausstehenden Schreibvorgang auf einmal hat. Wenn ein Pj;<i
zessor PC einen Schreibvorgang beginnen will, prüft er seine WIP-Λ
Anzeige, bevor er die P-Hauptschiene anfordert. Wenn die WIP-An-" f ι
zeige gesetzt ist, prüft der Prozessor PC die WIP-Anzeige, bis " I
die WIP-Anzeige gelöscht ist. Wenn die WIP-Anzeige gelöscht ist,.-J
fordert.der Prozessor Pn die P-Hauptschiene an, überträgt sein.:j;Di
einen Schreibfunktionscode F und die VA der zu beschreibenden Speicherstelle über den Adressenbereich der P-Hauptschiene und
' setzt dann seine WIP-Anzeige. Wenn der Prozessor Pn dann sieht, J
' daß die gemeinsame Steuereinheit 10 Zugang zu den Pipeline-Res- :
sourcen hat, um den Notizblockspeicher anzupassen und um das zuj
sätzliche Bit im PIR 167 zu löschen, löscht der Prozessor Pn auch, seine WIP-Anzeige. Bei diesem Approach müssen alle Schreibinforma7
! tionen zu einem zweiten Durchlauf durch die Pipeline-Ressourcen ;
auch dann gezwungen werden, wenn eine Prüfung des Duplikatmarkier-·
Speichers 182 angibt, daß die beschriebene Speicherstelle nicht j im Notizblockspeicher 20 enthalten ist, um das Bit im PIR 167 und'
die WIP-Anzeige im Prozessor Pn zu löschen.
Als Alternative zu diesem Ansatz könnte der PIR 167 so implemen-'
tiert werden, daß er für jeden Prozessor Pn im System 10 mehr als,
) eine Stelle aufweist. Der PIR 167 wäre dann in der Lage, den Fall,
zu berücksichtigen, bei dem ein einzelner Prozessor PC zu einem ι
j gegebenen Zeitpunkt mehr als einen Schreibvorgang anstehen hat.
Bei einem typischen Ablauf beginnen die Input/Output-Vorrichtun- ;
gen 32 (die möglicherweise auch eine Datenfernverarbeitungsvorrichtung umfassen können) und die Prozessoren 30 Transaktionen
mit den Pipeline-Ressourcen durch Absendung von ID-, Funktionscode- und Signalen von virtuellen Adressen an den Hochgeschwin- '■
digkeits-P-Hauptschienen-Schnittstellenschaltkreis 61. Die Speicher-
-IA- i
module 28 werden nur dann vom CCU 10 angesprochen, wenn diese '
Transaktion den Notizblockspeicher bei Durchführung einer Lesesteuerung"verfehlt"
oder aber den Notizblockspeicher"trifft", wenn eine Schreibsteuerung durchgeführt wird. Wie vorher erklärt,
treten einige dieser Transaktionen synchron auf, andere asynchron,! und einige können sogar direkten Zugang zu den Speichermodulen · "
28 oder internen Steuer/Statusregistern des CCU 10 haben, wenn diö
Steuerung dies ermöglicht. Die Massenspeichersteuereinrichtungen *
40 und 42 andererseits haben immer direkt Zugang zu den Speicher.^,
modulen 28 über die Speicher Schnitts te lie 36 und verwenden dem-; ;"j:
entsprechend die Ressourcen der Pipeline nicht. Die gemeinsame . {
·· ., Steuereinheit 10 überwacht jedoch Steuerbefehle aus den Massen4 ; ;
Speichersteuereinrichtungen 40 und 42, und wenn eine Stelle im. Notizblockspeicher 20 betroffen ist, erfolgt eine Anpassung des !
Notizblockspeichers durch CCU 10. Es ist dementsprechend klar, j
daß, abgesehen von synchronen Zugriffen zum Notizblockspeicher j 20, Anfragen nach Zugriff zu den Speichermodulen 28 zu verschie- !
denen zufälligen Zeitperioden auftreten. Um diese Anforderungen ; optimal zu bedienen, wird in den Figuren 6 und 7A ein Warteschlangen- und Speicherregelungssystem für die Entgegennahme der Anforderungen
nach Zugang zu den Speichermodulen 28 gezeigt, womit : ein effizienter Datendurchläuf für das Multiprozessorsystem ge- '
schaffen wird. Alle Warteschlangen arbeiten auf einer first-infirst-out-Basis
(FIFO).
In Fig. 6 treten tatsächlidne Adressen-,Funktionscode- und ID-Signale
und Datensignale (bei Schreibanforderungen) in das Register der ersten Stufe 152 von der P-Hauptschiene 76 oder von einem internen
Schlichter 150 ein. Diese Signale kommen von einer Hauptschienenverbindung 156 bei einem ersten Durchlauf durch die Pipeline oder
kommen von einer Hauptschienenverbindung 154 bei einem zweiten Durchlauf durch die Pipeline als Ergebnis einer internen Anforderung
des CCU 10 zur Anpassung oder Zuordnung des Notizblock--i Speichers, um Daten zu einer UNIBUS-Vorrichtung zu führen oder
um Informationssignale erneut in Umlauf zu bringen, je nachdem, ; j was notwendig ist. Angenommen, die Anforderung wird intern erj
zeugt, dann wählt ein Multiplexer 158 die Inputs in das Register ; 152 entsprechend den Funktionscode-Signalen und den intern erzeug-
ten CCF-Steuerbits CCF2-CCF0/ die von einem später beschriebenen CCF-Generator erzeugt werden. Diese Steuerbits werden von allen
Nullen beim ersten Durchlauf durch die Pipeline,wie in Tabelle 1
beschrieben,entsprechend den Funktionscodesignalen,ID-Signalen und
dem Trefferprüfschaltkreis 162 geändert. Die CCU 10 weist Steuerschaltkreise
auf, die auf diese Steuerbits reagieren, um den in-*' ternen Betrieb der CCU 10 bei dem zweiten Durchlauf durch die ■·,·■
Pipeline zu verändern. Das interne Schlichtungs-Netz 150 bestimmt,
ob die CCU 10 Zugang zu ihren Ressourcen erhält, um ihren
Notizblockspeicher 166 anzupassen oder zuzuordnen, ob eine UNIBUSH
Vorrichtung zur Durchführung einer Transaktion Zugriff erhält oder-'
ob die Speicheranordnung 168 Zugriff zum Rücklauf von angeforderter Daten erhält. Massen-Hauptschienenvorrichtungen stehen nicht inv-Wettbewerb
zur Verwendung der Ressourcen.
Zur weiteren Klarstellung sei angenommen, daß ein Lese-"Verfehlen'
bei einem ersten Durchlauf durch die Pipeline auftrat. Dies könnte,
dann auftreten, wenn die angeforderten Daten sich nicht im Notiz- [ blockspeicher 20 befinden oder wenn die Anfrage an eine Stelle erj
folgt, bei der eine Eintragung läuft. Es werden keine Daten über ; die P-Hauptschiene 76 zurückgeleitet. Stattdessen sendet bei T
ein Multiplexer 170 die entsprechenden Funktionscode-, physischen
! Adressen-und ID-Signale an eine Prozessor/UNIBUS-Warteschlange j
172, einen UNIBUS-Speicherpuffer 174 oder eine Prozessor/Speicher-j
warteschlage 176. Bei einem Schreib-"Treffer" bringt der Multiplexer
170 die gleichen Signale in der betreffenden Warteschlange
170 oder 172 oder im Puffer 174 in eine Warteschlange ein, statt den Notizblockspeicher anzupassen. Außerdem sind Steuerschaltkreise
vorhanden, um die Datensignale zu wählen,die zu den Funktionscode-
,tatsächlichen Adressen- und ID-Signalen gehören. Die Datensignale folgen, wie bereits bemerkt, den Adressensignalen
in einem Abstand von vier P-Hauptschienenzyklen.
j Die Prozessor/UNIBUS-Warteschlange 172 gibt ihren Steuerbefehl J an einen UNIBUS-Schnittstellenschaltkreis 178, der die Steuerung
entsprechend dem asynchronen UNIBUS-Protokoll behandelt, das im US-Patent 3.710.324 enthalten ist. Bei der bevorzugten Ausführungsform
nimmt die Warteschlange 172 bis zu 16 Datensätze,
tatsächlichen Adressen-, Funktionscode- und ID-Signalen auf. Sie
wie vorher angegeben, während der T-Zeitperiode geladen. Wenn eine UNIBUS-Vorrichtung auf eine Prozessor/UNIBUS-Steuerung reagiert, bringt sie ihre Daten-, Funktionscode- und ID-Signale in
einen UNIBUS-Rücklaufpuffer 178 ein. Wenn der CCU-Schlichtungs- ;
Schaltkreis 150 Informationen aus dem UNIBUS-Rücklaufpuffer 178 \
akzeptiert, sendet der CCF-Generator die entsprechende'Kontrqll- \,\
information an die Prozesser/UNIBUS-Warteschlange 172, womit er-.*! möglicht wird, daß ein weiterer Satz von Steuerinformationen in .-J.
den UNIBUS-Schnittstellenschaltkreis 178 hineinkommt. Diese Pro»;.'
zeduren ermöglichen es dem CCU 10, mit dem UNIBUS-Protokoll korn-"
patibel zu sein. ".,-
Desgleichen speichert der UNIBUS-Speicherpuffer 174 einen einzelnen
Satz von Daten-, Adressen- und Steuersignalen, die von einer UNIBUS-Vorrichtung stammen. Eine Steuerung aus einer UNIBUS-Vorrichtung
tritt in den UNIBUS-Rücklaufpuffer 178 ein,und wenn sie
einmal erfolgreich Zugriff zu den Pipeline-Ressourcen erhalten ; hat, erhält sie Daten aus dem Notizblockspeicher 166 über die ι
Prozessor/UNIBUS-Warteschlange 172, wenn die Daten in dem Notiz- j
blockspeicher 166 vorhanden sind. Ansonsten bringt sie ihre Lese- |
oder Schreibsteuerinformation in den UNIBUS-Speicherpuffer 174. Wenn die UNIBUS-Steuerung zu einem Lese-"Verfehlen" führen sollte,
führt die CCU die Lesedaten zur Prozessor/UNIBUS-Warteschlange 172 bei einem anschließenden Durchlauf durch die Pipeline zurück.
Falls die UNIBUS-Steuerung zu einem Schreib-"Treffer" führt, merkt
die CCU diese Transaktion vor und paßt ihren Notizblockspeicher 166 entsprechend an. Der CCU-Generator merkt den Status der Trans-!
aktion vor, wenn sie durch die Stufen-Pipeline führt, womit die ■
entsprechenden Steuer-Bits CCF2-CCF0 zur Steuerung des internen Betriebes der CCU in jedem Stadium erzeugt werden.
Eine Prozessor/Speicherwarteschlange 176 erhält Steuerungen von den Prozessoren 30, die an die Speichermodule 184 gerichtet sind.
Diese Steuerungen umfassen Lesen, Schreiben, Schreiben/Ändern <
oder Lese^· oder Schreibvorgänge bei internen Registern in den j
Speichermodulen oder in der CCU 10. Angenommen, daß ein "verfehltes Lesen" oder ein "Schreibtreffer" eintrat, werden sämtliche
Steuerinformationen in die Warteschlange 176 bei T eingeordnet. Die Steuersignale werden anschließend zur Ausführung durch den
Speicher-Schlichtungsschaltkreis 186 ausgewählt. Nach dem ;
Ausführen werden die Schreibdaten (an den Speicher) oder die Lesedaten (aus dem Speicher) über die Speicherrücklaufwarteschlange
188 zusammen mit ihren dazugehörigen Funktionscode-ID-Signalen
zurückgeleitet. Dabei erhält die von der Speicherrücklaufwarteschlange 188 zurückgesandte Steuerung Zugang zu den.*.
Pipelineressourcen- über das interne Schlichtungs-Netz 150. ...·"-J."
Danach werden die entsprechenden in Tabelle I spezifizierten : -'
GCU-Funktionen des zweiten Durchlaufes in der gemeinsamen Steuereinheit ausgeführt. \.:_
Steuerbefehle aus Vorrichtungen an der Massenspeicherhauptschiene 46 treten andererseits in den Speicher-Schlichtungsschaltkreis
176 aus einem Puffer in dem Schnittstellenschaltkreis 177 ein. Die einzige Gelegenheit, bei der ein Speicherzugang durch eine
Massenspeichervorrichtung die Verwendung der Pipeline-Ressourcen erfordert, ist die, bei der eine Massenspeichervorrichtung eine
Eintragung im Speicher 184 an einer Stelle durchführt, die im Notizblockspeicher 166 gehalten wird. Diese Entscheidung erfolgt
mit Informationen aus einem Duplikatmarkierspeicher 182. Da der Duplikatmarkierspeicher 182 nicht Teil der Pipeline-Ressourcen
ist, benötigen lediglich Schreib-"Treffer" Zugang zur Pipeline. Diese Anordnung verbessert die Gesamtleistung des Multiprozessorsystems.
Wie erwähnt, produziert ein CCU-Generator Kontroll-Bits CCF2-CCF0,
die den Arbitrator 150 steuern, um sich selbst die höchste
Priorität zu geben, wenn eine Anpassung oder Zuordnung ihres Notizblockspeichers 166 erforderlich ist. Tabelle I zeigt die
vom CCF-Generator 160 während eines ersten Durchlaufes durch die Pipeline-Ressourcen zur Verwendung durch die CCU während des
zweiten Durchlaufes durch die Pipeline-Ressourcen erzeugten CCF-Steuer-Bits CCF2-CCF0.. Diese Steuer-Bits werden zusammen mit
den ID- und Funktionscodesignalen an einen Dekoder im CCU-Generator geliefert, um die entsprechenden Steuersignale zu den entsprechenden
Zeitperioden zu produzieren und damit die Multiplexer,
Gatter, Verriegelungen und Register innerhalb des CCU 10 entsprechend
dem oben beschriebenen Algorithmus zu produzieren. Ein konventioneller Totspeicher (ROM) könnte einen Dekoder 81
bilden. Spezifisch könnte der ROM beispielsweise mit Informationen so versorgt werden, daß der Inhalt der von den ID- und
Funktionscodesignalen identifizierten Speicherstelle die dort
gespeicherten CCF-Bits repräsentiert. Diese CCF-Bits werden dann· !*
erneut in der Pipeline in Umlauf gebracht, womit ihre Funktion ' I·
während des zweiten Durchlaufes gesteuert wird.
Einige spezifische von der CCU bei der bevorzugten Ausführungs-.* ;
form während des zweiten Durchlaufes durchgeführten Maßnahmen umfassen: Auswahl von Inputs für das Register 152 durch Steuerungc&iS
Multiplexers 158; Aktivierung der Warteschlangen 172, 174 oder:..
176 zur Einordnung einer Anforderung; Anpassung oder Zuordnung des Notizblockspeichers 166; Anpassung des PIR; und Anpassung
des Duplikatmarkierspeichers 182. Auch weitere Arbeiten können erledigt werden. Die spezifische Gatter-und Steuerschaltkreise
können von Fachkräften normaler Qualifikation geschaffen werden und werden dementsprechend hierin nicht im Detail beschrieben.
Alle Bezüge auf den Speicher 184 aus den Prozessoren 30, den UNIBUS-Vorrichtungen 32 oder den Massenhauptschienenvorrichtungen
68 und 70 kommen in den Speicher-Schlichtungsschaltkreis 186. Der Speicher-Schlichtungsschaltkreis 186 entscheidet darüber,
welcher der Puffer 174, der Warteschlange 172 oder der Warteschlange 176 Zugriff zu den Speichermodulen 184 erhält, um beispielsweise
eine Speicherablesung oder eine Schreibsteuerung auszuführen. Von dem Speichermodul 184 zurückgeführte Lesedaten werden zeitweise in einer Speicherrücklaufwarteschlange 188 gespeichert,
bevor sie in die gemeinsame Steuereinheit 10 zurückgeleitet werden. Da die gemeinsame Steuereinheit 10 einen Durchschreibenotizblockspeicher
20 verwendet, werden Daten, die in das Speichermodul 184 eingetragen werden, auch vorübergehende in
der Speicherrücklaufwarteschlange 188 zur späteren Verwendung durch die gemeinsame Steuereinheit 10 zur Anpassung ihres Notizblockspeichers
20 verwendet. Ob eine Anpassungsoperation durchgeführt wird, hängt davon ab, ob ein "Schreibtreffer" im Duplikat-
markierspeicher 182 auftritt. Es wurde vorher erwähnt, daß der
Duplikatmarkierspeicher 182 Aufzeichnungen über alle Zuordnungen
des Notizblockspeichers 20 in der Weise hat, daß eine laufende Liste von Adressenmarkierungen geführt wird, die den darin enthaltenen
Speicherdaten entsprechen. Dieses Merkmal ermöglicht/ daß die gemeinsame Steuereinheit 10 ihren Notizblockspeicher 20 *(
bei einem einzigen Durchlauf durch die Pipeline-Ressourcen an- ·..
paßt. Zwei Durchläufe wären ansonsten notwendig, da der Treffer-,^
prüfschaltkreis in der Pipeline solange nicht verwendet wird,
bis Zugriff zum Notizblockspeicher 20 besteht. ■ -'
Fig. 7 beschreibt den Speicher-Schi ich tungs-und Rücklauf schalt- :_ -"
kreis 168. Wie dort gezeigt, erhält der Speicherhauptschienen--. Arbitration-Schaltkreis 186 Signale für tatsächliche Adressen, Funktionscodesignale,
Identifikationsignale und Datensignale (bei Schreibsteuerungen) aus der Prozessor/Speicherwarteschlange 172,
aus dem UNIBUS/Speicherpuffer 174 und aus einem Massenspeicherschnittstellenschaltkreis
177. Jede der Verbindungen weist einen getrennten Satz von Leitungen zur übertragung von Signalen für tatsächliche
Adressen, Funktionscodesignalen, Identifiaktionssignalen
und Datensignalen aus einem ausgewählten Puffer 174, einer Warteschlange 176 oder einem Schnittstellenschaltkreis 177 auf.
Wie bei Fig. 6 geben die Zeichnungen lediglich die Wege an, wie sich diese Leiter erstrecken und zeigen nicht die einzelnen getrennten
Leiter. Die Auswahl kann durch konventionelle Techniken erfolgen, wie z.B. durch Rotationspriorität, abgetretene Priorität
oder je nach der Zahl von Steuerungen in den Warteschlangen.
Wenn einmal eine bestimmte Steuerung von dem Schlichtungsschaltkreis
186 ausgewählt wird, werden die Signale für tatsächliche Adressen, (gegebenenfalls) die Schreibdaten, die Funktionscodesignale
und die ID-Signale über die Leiter 198 auf einen Steuerpuffer übertragen. Vom Steuerpuffer 196 werden diese Signale zu den
Speichermodulen 184 und zu einer Speichersteuerwarteschlange über getrennte Sätze von Leitern 202, 204 und 206 geführt. Ein
Steuerdekoder 208 erhält die Funktionscodesignale und die ID-Signale und dekodiert dieselben, um damit die entsprechenden
Steuersignale zur Steuerung der Speichervorgänge in den Speichermodulen
184 zu produzieren. Wenn eine Lesesteuerung auszuführen ist, werden die Speicherdaten von den Modulen 184 über eine Speicherhauptschienenverbindung
210 zu einem Multiplexer 212 geführt. Falls eine Schreibsteuerung auszuführen ist, geben die Steuerschaltkreise
im Speichermodul 184 die Schreibdaten in die durch die tatsächliche Adresse auf den Leitern 202 für tatsächliche Adr es sön*
identifizierte Speicherstelle ein. Und dann werden die genannten;[
Schreibdaten in die Speichersteuerwarteschlange 200 eingegeben. Je nach dem mit der Steuerung verbundenen Funktionscode wird dSr
Multiplexer 212 von der Steuerlogik in der geordneten Speicher,-_■*-
Steuerwarteschlange 200 zur übertragung der Lesedaten von den """"
Speichermodulen 184 oder für die Rückführung der Schreibdaten .aus.
der Speichersteuerwarteschlange 200 umgeschaltet, womit die entsprechenden Daten zusammen mit ihren Funktionscode-, ID- und -""*
Signalen für tatsächliche Adressen in die Speicherrücklaufwarteschlange
188 eingegeben werden, die in der bevorzugten Ausführung!; form bis zu 16 Steuersätze aufnehmen kann.
Der Output der SpeicherrücklaufWarteschlange 188 wird dann zur
Massenspeicher-Hauptschienenschnittpunkt-Schaltkreisgruppe 177, zum gemeinsamen internen Steuer-Schlichtungs-Netz 150 und zum
Duplikatmarkierspeicher 182 geführt. Wenn der Funktionscode und die ID-Signale spezifizieren, daß Lesedaten zu einer Massenspeichervorrichtung
zurückzuführen sind, akzeptiert der Massenspeicher-Hauptschienenschnittstellen-Schaltkreis
177 die Lesedaten ohne Verwendung der Pipeline-Ressourcen und hat dementsprechend keinen
Zugriff zum Notizblockspeicher, ordnet diesen auch nicht zu und hat auch sonst keinen Zugriff zu sonstigen Pipeline-Ressourcen.
Die Adressen von in die Speichermodule 184 durch eine Massenspeichervorrichtung oder durch irgendeine andere Vorrichtung dafür
eingetragenen Daten werden von einem Markiervergleicherschaltkreis 214 überwacht, und wenn ein Schreibtreffer im Duplikatmarkierspeicher
182 auftritt, verlangt die CCU 10 Zugang zu den Pipeline-Ressourcen zur Anpassung ihres Notizblockspeichers
20. Solche Anpassungsvorgänge werden dadurch vollzogen, daß die Schreibsteuerung von der Speicherrücklaufwarteschlange 188 zum
internen Schlichtungs-Netz 150 geführt wird, das sofortigen Zugriff
zu den Ressourcen gewährt. Steuerungen zur Anpassung des Notizblockspeichers
haben eine der höchsten Prioritäten für den Zugriff zu den Pipeline-Ressourcen.
Aus dem Speichermodul 184 gelesene Daten, die zu den Prozessoren 30 oder den ÜNIBÜS-Vorrichtungen 32 zurückgesandt werden, werden
ihre dazugehörigen Speicheradressen in den Duplikatmarkierspei- .*-
eher 182 eingegeben, bevor sie in die Speicherrücklaufwarteschlan--·
ge 188 eingegeben werden. Dementsprechend enthält der Duplikatmarkierspeicher 182 Adressen von sämtlichen Markieradressen des Notizblockspeichers
20, ob nun der Notizblockmarkierspeicher 2OA' schon zugeordnet wurde oder nicht. Schreibdatensteuerbefehle in'.der
Warteschlange 188, die den Notizblockspeicher 20 anpassen sollen.,!
um Zugriff zum Duplikatmarkierspeicher 182 nach Verlassen der Warteschlange 188 zu haben. Selbst wenn der Notizblockspeicher:-2Θ--noch
nicht durch die dafür vorgesehenen Lesedaten zugeordnet wurd4>
wird dementsprechend eine Schreibsteuerung den Notizblockspeicher dann nicht anpassen, wenn in der Warteschlange 188 eine Zuordnungsoperation ansteht. Entsprechend einem weiteren Merkmal der Erfindung
verhindert dementsprechend die Warteschlangenanordnung falsche Anpassungen einer Notizblockspeicherstelle, die in Kürze
durch eine Lesesteuerung zugeordnet werden wird, die in der Warteschlange 188 vorhanden, aber noch nicht ausgeführt ist. Diese
Anordnung vermeidet das Erfordernis von gegenseitiger Blockierung von Steuerungen, die den Markierspeicher 2OA des Notizblockspeichers
20 verändern. Ein solches gegenseitiges Verriegeln würde die Gesamtleistung des Systems ernsthaft vermindern.
Wie bereits ausgeführt, weist die P-Hauptschiene 76 getrennte Adressen-und Datenbereiche zur übertragung von Adressen und Kontrollsignalen
einerseits und Datensignalen andererseits auf. Dementsprechend ist die Ressource der gemeinsamen Steuereinheit in
getrennte Adressenbereiche, siehe Fig. 8A, und getrennte Datenbereiche, siehe Fig. 8B, aufgeteilt. Bei einer Steuerung, mit
der Datensignale verbunden sind, erfolgt eine Aufbringung auf der P-Hauptschiene 76 durch eine P-Hauptschienenvorrichtung, wobei
die Funktionscodesignale, die ID-Signale und die Adressensignale
in einem Register der ersten Stufe 352 während eines
ersten P-Hauptschienenzyklus aufgebracht werden, und die Datensignale
werden auf einem Register der ersten Stufe 306 des Datenbereiches der gemeinsamen Steuereinheit vier Zyklen später aufgebracht.
Wenn der nächste Satz von Steuerinformation in die erste Stufe 352 eingebracht wird, geht der erste Satz von Steuersignalen
weiter zu den Registern der zweiten Stufe 354, und Datensignale, die mit der gegebenenfalls vorhandenen zweiten
Steuerung in Verbindung stehen, werden in das Register 306 e
bracht. Der vorherige Satz von Datensignalen lief zum· Datenre- '
gister der zweiten Stufe 308 weiter. Jedesmal, wenn ein Satz von..
Steuerinformationen in das Register 352 eingebracht wird, folgfeö^
die entsprechenden Datensignale vier Zyklen später im Datenregister 306·. Der Vorteil der Übertragung der Datensignale vier -*
Zyklen nach den Funktionscode-, Adressen- und ID-Signalen ist:_ :<
aufgrund einer kurzen Prüfung der gemeinsamen Steuereinheit 10 nach Fig. 6 ersichtlich. Angenommen, daß der Notizblockspeicher
166 verfehlt wird. Ein Zugriff zu den Speichermodulen wird durchgeführt, und die entsprechenden Daten werden über das interne
Schlichtungs-Netz zurückgeleitet. Die Funktionscode-·, die ID- und die Signale für tatsächliche Adressen kommen vom Schlichtungs-Netz
150 auf Datenleiter 155, während die entsprechenden Datensignale über Leiter 154 zum Register der ersten Stufe 152 geführt werden.
Wenn die Funktionscode-, ID- und tatsächlichen Adressensignale die P-Hauptschiene 76 über die Outputregister 163 erreichen, wird
die P-Hauptschienenvorrichtung, die die Lesesteuerung auslöste, über das Eintreffen der Datensignale benachrichtigt, die vier
Zyklen später über die Ressourcen der gemeinsamen Steuereinheit weitergeleitet werden. Da die Signale für Funktionscode, ID und
Adressen die Ressourcen der gemeinsamen Steuerung nicht benötigen, insbesondere den Speicherverwaltungsschaltkreis und den Adressenübersetzungsschaltkreis
24, können diese Ressourcen für andere Sätze von Steuerinformationen, die durch die Pipeline-Ressourcen
laufen, verfügbar sein. Die Trennung der Adressen- und Datensignale
schafft dementsprechend einen effizienteren Betrieb und
eine bessere Nutzung der gemeinsamen Steuerressourcen.
Nun zu den Figuren 8A und 8B. Der CCF-Generator 34 0 steuert den Betrieb sämtlicher Register, Multiplexer und der internen Logik
¥i -
der Register der Figuren 8A und 8B. Der gemeinsame Steuer-Arbitrat
tor 336 und der CCF-Generator 34 0 überwachen die Informationssignale, die mit den Steuerungen verbunden sind, wenn sie in der
Reihenfolge durch die Ressourcen der Pipeline geleitet werden. Beim ersten Durchlauf des Satzes von Steuerinformation durch die.
Pipeline erhält der CCF-Generator 340 Informationen, die zur P- Hauptschiene 76 über die Leiter 370, 374 und 378 zurückzuleitensind.
Als Reaktion auf diese Informationen produziert der CCF-Generator einen Satz von Steuer-Bits CCF2-CCF0, die dann in die-_
CCF-Sektion des Registers 360 eingegeben werden. Weitere Steuer·-."
signale vom CCF-Generator 340 werden in einen Multiplexer-Steuerr schaltkreis 350 eingegeben, der die Auswahl der Multiplexer 364V-366
und 368 bei weiteren Durchläufen der Steuerinformation durch
die Pipeline-Ressourcen steuert. Außerdem steuert der Multiplexer-Steuerschaltkreis
350 die Auswahl von Notizblockspeicherdaten auf den Leitern 318 oder von Pipeline-Daten, die über den Leiter 316
durch den Multiplexer 314 geleitet werden. Die Voraussetzungen, unter denen die Auswahl erfolgt, wurden bereits erläutert. Der
Multiplexer-Steuerschaltkreis 350 steuert auch einen Multiplexer 300, um damit die Datensignale aus der Pipeline über die Leiter
302 oder Datensignale aus dem internen Schlichtungsschaltkreis 150 über die Leiter 304 auszuwählen.
Die gemeinsame Steuereinheit 10 umfaßt auch einen Prozessorindex RAM 326 nach Fig. 8B. Der Prozessorindex RAM enthält eine Indexposition
325 zur Speicherung von tatsächlichen Adressen-und ID-Signalen
und ein Schreib-Bit 327 zur Angabe, ob die von den darin enthaltenen ID-Signalen identifizierte Vorrichtung eine Schreibsteuerung abgegeben hat, die noch nicht im Notizblockspeicher
eingetragen wurde. Wenn die Steuerinformation einer steuernden Vorrichtung die Notizblockspeicherstufe der Pipeline-Ressourcen
erreicht, prüft es nicht nur den Adressenmarkierspeicher im
Notizblockspeicher 328, um festzustellen, ob die angeforderten
Daten im Notizblockspeicher vorhanden sind, sondern es prüft auch die Indexposition 325 und das Schroib-B.it 327. Selbst wenn
die angefordert« information im Nol-l/blook-upulclier S2ii vorhanden
ist, wird dementsprechend, wenn das Schreib-Bit 327 gesetzt ist, der Schaltkreis 330 die steuernde Vorrichtung zwingen, ihren
-MS-
Speicherzugriff zum Notizblockspeicher zu "verfehlen". Der Schaltkreis 330, der zum "Verfehlen" zwingt, verändert die Kontrolllogik
in dem Markiervergleichungs- und Datengültigkeitslogikschaltkreis 342, womit die entsprechenden Datengültigkeitssignale
dann unterdrückt werden, wenn der Treiber 346 aktiviert ist. Vorgänge können durch eine Verzögerungsleitung 348 zugelassen r
werden, die die übertragung der Steuer-und Dateninformation so-S ;[;
lange verzögert, bis ein Markiervergleich und ein Zugriff zum Prozessorindex RAM 3 26 möglich sind. '
Zur weiteren Optimierung der effizienten Nutzung der Pipeline- .
Ressourcen für den Fall, daß angeforderte Lesedaten durch den
Datenabschnitt der Pipeline-Ressourcen zurückgeführt werden sol-_
len, ordnet das gemeinsame Steuer-Schlichtung-Netz 336 die Rücklauf
information einem P-Hauptschienen-Zeitabschnitt nur dann zu, wenn keine Daten mit einer anderen Steuerung in der Pipeline übertragen
werden. Wenn diese Art von Zeit zur Verfügung ist, veranlaßt die Multiplexer-Steuerung 350 die Multiplexer 364, 366 und
368 die Funktionscodesignale, die ID-Signale und einen Teil der
Signale für tatsächliche Adressen in das Register 360 einzugeben, wobei diese Signale dann auf die P-Hauptschiene 76 zur gleichen
Zeit gebracht werden, zu der die angeforderten Lesedaten zum Pipeline-Input-Puffer 306 geführt werden. Wenn die Daten, die zum
Datenregister 360 geführt wurden, den Output-Puffer 320 eben
noch erreichen, bevor sie auf die Pipeline getrieben werden, wird die gemeinsame Steuereinheit die Funktionscodesteuersignale, die
ID-Signale und die tatsächlichen Adressensignale wieder an sich selb t zurückgeführt haben, so daß die gesamten Informationen die Outputpuffer
306 und 320 zur gleichen Zeit erreichen,so daß sie zusammen auf die P-Hauptschiene 76 gebracht werden können. Auch weitere
Arbeiten werden in der gemeinsamen Steuereinheit, je nach dem Status der CCF-Generatorsteuer-Bits CCF2-CCF0 durchgeführt.
Diese Steuer-Bits werden über die Registerstufen 352, 354,-356,
358 und 350 und 360 erneut in Umlauf gebracht, womit gewisse
Maßnahmen innerhalb des Prozessorindex-RAM 326 und innerhalb des Notizblockspeichers 328 begonnen werden. Fig. 5 beschreibt
alle Arbeiten, die intern innerhalb der gemeinsamen Steuereinheit entsprechend der Art der Steuerung, dem Bereich der tatsächli-
chen Adressen und den Funktionscodesignalon F3-F0 durchgeführt werden. Die richtige Information wird von den Registern an die
Steuerschaltkreise in der gemeinsamen Steuereinheit zur Durchführung dieser Operationen geliefert.
Die vorstehende Beschreibung ist auf eine spezifische Ausführung^
form dieser Erfindung begrenzt. Es ist jedoch klar, daß diese Erfindung mit Datenverarbeitungssystemen ausgeführt werden kann;,
die eine andere Basiskonstruktion haben, oder mit Systemen, die*.,
andere interne Schaltkreise verwenden als in dieser Beschreibungbeschrieben,
wobei einige oder sämtliche vorstehenden Merkmale, und Vorteile der Erfindung erreicht werden. Dementsprechend ist";
Zweck der folgenden Patentansprüche, alle solchen Abweichungen und Veränderungen als in den Erfindungsrahmen fallend zu schützen.
- Patentansprüche -
Claims (13)
1. Ein Mulitprozessor-Datenverarbeitungssystem, g e k e η η zeichnet
durch:
A. eine gemeinsame Steuereinheit, die umfaßt
I. Pipeline-Ressourcen-Mittel, einschließlich dazugehöriger*
Speichermittel, die eine Mehrzahl von adressierbaren Speicherstellen zur Speicherung von Informationen in .·--
denselben aufweisen, *··;
II. zwei Input-Einrichtungen, die einen Steuerbereich zum.:..
Empfang von Steuerinformationssignalen aufweisen, die ,* t
die Nutzung der genannten Pipeline-Ressourcen-Mittel *..*.
ermöglichen und einen Datenbereich zum Empfang von Signalen, die dahin übertragen werden, und
III. Output-Einrichtungen, die einen Steuerbereich zur übertragung von Steuerinformationen von dort und einen Da-
tenbereich zur übertragung von Datensignalen von dort j aufweisen, und
IV. Speicherschnittstelleneinrichtungen zur Übertragung
ι von Informationssignalen von und in die genannte gemeinsame
Steuereinheit, und
' V. Input- und Output-Schnittstelleneinrichtungen für die
übertragung von externen Informationssignalen in und aus der genannten gemeinsamen Steuereinheit;
B. Speichereinrichtungen mit direktem Zugriff, die mit den genannten Schnittstelleneinrichtungen verbunden sind und
aufweisen:
I. mindestens ein Speichermodul, daß adressierbare Speicherstellen
zur Speicherung von Informationssignalen aufweist, und
ΓΙ. Speicherhauptschieneneinrichtungen zur gegenseitigen Verbindung der genannten Speicherschnittstelleneinrichtungen
und der genannten Speichermodule zur übertragung von Informationssignalen zwischen denselben;
C. sekundäre Speichereinrichtungen/ die mit den genannten Speicherschnittstelleneinrichtungen verbunden sind und
aufweisen
I. mindestens eine sekundäre Speichervorrichtung zur Speicherung von Informationssignalen in derselben,
II. Steuereinrichtungen in Verbindung mit den genannten
sekundären Speichervorrichtungen zur Steuerung der Übertragung von Informationssignalen von und in die
genannten sekundären Speichervorrichtungen, und
III. Massenspeicher-Hauptschieneneinrichtungen zur gegen-"--··
seitigen Verbindung der genannten Speicherschnittstel-;_
leneinrichtungen und der genannten sekundären Speicher^·
Steuereinrichtungen zur Übertragung von Informations-^. .·.
Signalen zwischen denselben; :...:.
D. Input- und Output-Einrichtungen in Verbindung mit den genannten
Input- und Output-Schnittstelleneinrichtungen, die aufweisen
I. mindestens eine Input- und Output-Vorrichtung zur Schaffung der externen Kommunikation mit dem genannten Datenverarbeitsungssystem,
und
II. Input- und Output-Hauptschieneneinrichtungen zur gegenseitigen
Verbindung der genannten Input- und Output-Schnittstelleneinrichtungen und der genannten Input-
und Output-Vorrichtungen zur übertragung von Informationssignalen zwischen denselben, und
E. Multiprozessoreinrichtungen in Verbindung mit den genannten Input-Vorrichtungen und den genannten Output-Vorrichtungen
der genannten gemeinsamen Steuereinheit, wobei die genannten Mikroprozessoreinrichtungen umfassen
I. eine Mehrzahl von Prozessoren, und
II. Prozessor-Hauptschieneneinrichtungen zur synchronen übertragung von Informationen zwischen der genannten
Mehrheit von Prozessoreinrichtungen und der genannten gemeinsamen Steuereinheit, wobei die genannten Prozossor-Hauptschienenelnrichtungen
einen ersten Satz von
Leitungsmitteln aufweisen, die mit den Steuerabschnitten der genannten Input-Einrichtungen und den genannten
Output-Einrichtungen zur synchronen Übertragung von Adressen und Steuersignalen mit der genannten gemeinsamen
Steuereinheit verbunden sind, und einen zweiten Satz von Leitungseinrichtungen, die mit den Datenbereichen
der genannten Input-Einrichtungen und der ge- m nannten Output-Einrichtungen zur synchronen übertragung'
von Datensignalen mit der genannten gemeinsamen Steuex einheit verbunden sind.
r übertragun
313442
Datenverarbeitungssystem mit der Möglichkeit zur übertragung
von Informationen zwischen Vorrichtungen im Datenverarbeitungssystem, bei dem die Vorrichtungen Steuersignale abgeben, die
Datensignale und Steuerinformationen umfassen, wobei die Steuerinformation Codesignale, die die Art des durchzuführenden Informationstransfers
bestimmen, Vorrichtungsidentifikationssignale zur Identifikation der am Informationstransfer beteiligten Vorrichtung,
und Adressensignale, die die Stelle in der Vorrichtung angeben, an die oder von der die Information zu übertragen ist;,
aufweist, dadurch gekennzeichnet, daß *..'
dieses Datenverarbeitungssystem umfaßt:
A. Speichereinrichtungen mit direktem Zugriff (28) zur Speiche-"";;
rung von Informationen in einer Mehrheit von darin enthalte- — nen
frei zugänglichen Speicherstellen,
B. gemeinsame Steuereinheiten mit
■ I. . Pipeline-Ressourcen-Vorrichtungen mit einem Steuerten
(Fig. 8a) und einem Datenteil (Fig. 8B) zur Verarbeitung von Steuerbefehlen in einer geordneten Pipelinesequenz,
die umfassen
a. Steuerbefehl-Eingabeeinrichtungen(352)im Steuerbereich
zur Entgegennahme von Steuerinformation und Daten-Eingabeeinrichtungen
(306) im Datenbereich zur Entgegennahme von Datensignalen;
b. Assoziativspeichereinrichtungen (20), die Datenspeichermittel (20B) einschließen, die frei zugängliche
Speicherstellen für das Speichern von Kopien von Information enthalten, die in den genannten Speichereinrichtungen
mit direktem Zugriff enthalten sind, und j Adressenmarkierspeichereinrichtungen (20A) zur Speicherung
von Speicheradressen, die die frei zugänglichen Speicherstellen in den genannten Speichereinrichtungen
mit direktem Zugriff spezifizieren, zu denen die in den genannten Datenspeichervorrichtungen
enthaltenen Informationen gehören;
I c. Markierstellen-Vergleichereinrichtungen (162), um festtzustellen,
ob von einem Steuersignal angeforderte
! Speicherdaten in den genannten Assoziativspeichereinrichtungen vorhanden sind,
ι d. Arbeitswarteschlagen-Einrichtungen (176) zur Entgegen-
! nähme von Steuerbefehlen, die anstreben, zu den genannj-
ten Speichereinrichtungen mit direktem Zugriff Zugaiig_ T.
zu finden, und ."-[
! e. Steucrbefehlabgabe-Einrichtungen (163) im Steuerbe- ··
I
reich zur davon ausgehenden übertragung von Steuer;----
I informationen und Daten-Output-Einrichtungen (163) iltr*
\ Datenbereich zur davon ausgehenden übertragung von *.:,
! ' Datensignalen. .. .
ι ι II. Speicher-Schnittstellen-Einrichtungen zur gegenseitigen Ver---\j
bindung der Speichereinrichtungen mit direktem Zugriff und j
I der gemeinsamen Steuereinheit, die umfassen:
a. Steuerbefehlempfangseinrichtungen (196) zur Aufnahme von
' Steuerbefehlen, die Information in den genannte Speichereinrichtungen
mit direktem Zugriff lesen oder eintragen;
ί ι
! b. Speicherrücklaufvorrichtungen (65) zur Speicherung von ,
Informationen, die aus den genannten Speichereinrichtungen j mit direktem Zugriff entnommen oder in diese eingetragen |
werden, und ' ,
ι . ■ ■ ■ ;
ι c. Speichersteuereinrichtungen (208) , die mit den genannten ι
j Befehlsempfangseinrxchtungen und den genannten Speicher- '■
I rücklaufvorrichtungen zur Steuerung der übertragung von ι
j Informationen zwischen den genannten Speichereinrichtungen
ι mit direktem Zugriff (184), den genannten Steuerbefehlsempfangsvorrichtungen
und den genannten Speicherrücklauf-
j vorrichtungen (65), verbunden sind, und
i III. Zeitvorgabe- und Steuereinrichtungen (26) zur Steuerung des
i ■
; Betriebes der genannten gemeinsamen Steuereinheit, die umi fassen:
sy
I a. Pipeline-Zeitvorgabe-Vorrichtungen zur sequentiellen |
; Steuerung des Durchlaufs durch sukzessive Stufen der ge- j
nannten Pipeline-Einrichtungen, die außerdem auf die ge- \
j nannten .Markierstellen-Vergleichsmittel reagieren, um die übertragung von Daten zu ermöglichen, die durch einen !
Steuerbefehl der genannten Assoziativspeichereinrichtungen1
J an die genannten Steuerbefehls-Abgabevorrichtungen dann j angefordert werden, wenn die von diesem Steuerbefehl ange-j
j forderten Daten in den Assoziativspeichereinrichtungen vorf j handen sind, und . ■"". j;
b. Arbeitswarteschlangensteuereinrichtungen (158), die auf--"'-1!.
die genannten Markierstellenvergleichsmittel reagieren, < ί um einen Steuerbefehl in die genannten Arbeitswarteschlan-'
genmitte1 (176) dann einzugeben, wenn von dem Steuersignal)
I verlangte Daten nicht in den genannten Assoziativspeicher-, ι einrichtungen vorhanden sind, wobei die genannte Arbeite-'·
warteschlangensteuereinrichtung des weiteren auf die Steuerinformation in diesem Steuersignal so reagiert, daß
sie sie in die genannten Arbeitswarteschlangeneinrichtungen (176) dann eingibt, wenn der Steuerbefehl
darauf zielt, Informationen in die genannten Speichereinrichtungen mit direktem Zugriff einzubringen.
2. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, daß die genannten Speicherschnittstelleneinrichtungen dop- ;
pelte Markierspeichervorrichtungen (182) enthalten, um Kopien i von Informationen in den genannten Markierspeichermitteln (20A)
' aufrechtzuerhalten, wobei die genannten Zeitvorgabe- und Steuer- ;
vorrichtungen weiter umfassen:
i i
ι ι
! a. Anpassungsvorrichtungen (335,340,350), die auf Informa- !
j ■ i
j tion in dem genannten Duplikatmarkierspeichermittel (182) ;
' reagieren, um die genannten Datenspeichermittel (20B) <
ι dann anzupassen, wenn ein Steuerbefehl Informationen in die
genannten Speichereinrichtungen mit direktem Zugriff ein- ■ ' bringt, und
Sl
d. Zuordnungseinrichtungen (336,340,350), die auf Codesignale
in den genannten Steuersignalen reagieren, um die genannten Markierstellenspeichermittel (20A) und die genannten
Datenspeichermittel (20B) dann zuzuordnen, wenn Informationen, die in den genannten Assoziativspeichereinrichtungen
nicht vorhanden sind, von dort abgelesen werden
3. Datenverarbeitungssystem nach Anspruch 2, dadurch gekennζeicfa— ·
net, daß die genannten Zeitvorgabe- und Steuereinrichtungen des\.*j.:
weiteren umfassen: * I
e. Mittel zur sequentiellen Steuerung der Informationen ^
Steuerbefehles durch den Steuerteil der genannten Ressourcen-Einrichtungen
in einer ersten Zeitphase und zur se—_/-j
quentiellen Steuerung der Datensignale der Steuerbefehl«. - j durch den Datenteil in einer zweiten Zeitphase und
f. Mittel (150) zur überwachung der Steuerbefehle, deren
Durchlauf durch die genannten Ressourcenmittel sequen- I tie 1.1 gesteuert wird, und zur übertragung von Datensignalen'
auf die genannten reagierenden Einrichtungen, die dazu be-j stimmt sind, die genannten Assoziativspeichereinrichtungen j
während eines Steuerinformationszeitablaufes anzupassen oder zuzuordnen, bei dem assoziative Datensignale fehlen,
womit die Verwendung eines ansonsten vakanten Zeitab- \ schnittes im Datenbereich möglich wird.
4. Datenverarbeitungssystem nach Anspruch 3, dadurch gekenn- j
zeichnet, daß die Pipeline-Einrichtungen des weiteren aufweisen: |
a..(1). Speicherverwaltungseinrichtungen (22) zur Steuerung des Zuganges zu gewissen Speicherstellen in den genannten
Speichereinrichtungen mit direktem Zugriff, und
I a.(2). Adressenübersetzungseinrichtungen (24) zur Umwandlung j
von virtuellen Adressen in der Steuerung in tatsächliche Adressen in den Vorrichtungen des Datenverarbeitungssystems.
5. Datenverarbeitungssystem nach Anspruch 3, dadurch gekennzeichnet, daß es des weiteren umfaßt:
C. Multiprozessoreinrichtungen mit einer Mehrzahl von unabhängig voneinander funktionierenden Prozessoreinrichtungen (30) zur
Ausführung von Steuerbefehlen, und ".'
D. Prozessorhauptschieneneinrichtungen (76) zur übertragung -■
von Information zwischen der genannten Mehrzahl von Datenverarbeitungseinrichtungen
und der genannten gemeinsamen Steuereinheit, wobei die genannten Prozessorhauptschienen- --einrichtungen
umfassen:
I. erste Leitungsmittel (102) zur Verbindung mit den
genannten Steuerbefehl-Eingabeeinrichtungen (352) und den genannten Steuer-Abgabeeinrichtungen (360), wodurch
Steuerinformationen mit der genannten gemeinsamen Steuereinheit ausgetauscht werden können, und
II. zweite Leitungsmittel (104) zur Verbindung mit den genannten Daten-Eingabeeinrichtungen (306) und den genannten
Daten-Ausgabeeinrichtungen (320), wodurch Datensignale mit der genannten gemeinsamen Steuereinheit ausgetauscht
werden können.
6. Datenverarbeitungssystem nach Anspruch 5, dadurch gekennzeichnet,
daß die genannten Pipeline-Zeitvorgabeeinrichtungen j synchron arbeiten, um dadurch die Steuerinformation durch den j
Steuerteil (Fig. 8A) synchron sequentiell zu steuern und um j gleichzeitig Datensignale sequentiell zu steuern durch den Da- :
tenbereich (Fig. 8A), wobei die genannten Zeitvorgabe-und Steuereinrichtungen außerdem aufweisen: ,
c. Prozessor-IIauptschienen-Zeitvorgabevorrichtungen, die mit
den Pipeline-Zeitvorgabeeinrichtungen synchronisiert sind, um es einer Prozessoreinrichtung zu ermöglichen, zu den genannten
Prozessor-Hauptschienenvorrichtungen (76) Zugang zu haben, wobei die genannten Prozessor-Hauptschienenzeitvorgabeeinrichtungen
so funktionieren, daß sie Steuerinformationssignale aus den genannten Prozessoreinrichtungen
auf die genannten ersten Leitungseinrichtungen (102) aufzug
bringen, womit es ermöglicht wird, daß die Steuerinforma-_"
tionssignale in einer ersten Zeitphase durch den Steuer- ·- bereich (Fig. 8A) sequentiell gesteuert werden, und die .·-■
weiter in der Lage sind, Datensignale aus den genannten "l[
Prozessoreinrichtungen auf die genannten zweiten Leitungseiryi-1-richtungen
(104) zu legen, wodurch die Datensignale in _-. . einer zeitlich verschobenen zweiten Zeitphase sequentiell-- -!'
durch den Datenteil (Fig. 8B) geleitet werden können. ;-· ■{-
7. Datenverarbeitungssystem nach Anspruch 1, 2 oder 6, dadurch gekennzeichnet, daß die genannte gemeinsame Steuereinheit Prozessorindexmittel
(326) in den Assoziativspeichereinrichtungen aufweist mit
a. einem Indexfeld (325) , das mit jeder Prozessoreinrichtung zur Speicherung von Adressensignalen verbunden ist, die
von einem Schreibsteuerbefehl getragen werden, der von den genannten Prozessoreinrichtungen abgegeben wird, und
b. Schreibbefehl-Anzeigeeinrichtungen (327) zur Angabe, ob die
genannte Prozessoreinrichtung versucht, Daten in die Spei- J chereinrichtung mit direktem Zugriff an einer in dem i
genannten Indexfeld angegebenen Speicherstelle einzutra- i gen, und . '
wobei die erwähnten Markierstellen-Vergleichseinrichtungen | Mittel aufweisen, die auf die genannten Eintragungsanzeige- >
mittel reagieren, um einen späteren Steuerbefehl daran zu hin-[
dern, zu der Information in den genannten Datenspeicherein- | richtungen (20B) Zugang zu erhalten, die zu einer Speicher-
313AA28
stelle in den genannten Speichereinrichtungen gehört, bei
der eine Eintragung läuft, wobei die genannten Zeitvorgabe- und Steuereinrichtungen außerdem Mittel aufweisen, um die
genannte Anzeige der laufenden Eintragung dann zu unterdrücken, wenn die Eintragungsdaten in den Speichermitteln
(20B) angepaßt wurden.
8. Datenverarbeitungssystem nach Anspruch 7, dadurch gekenn- ^
zeichnet, daß jede Prozessoreinrichtung Kennzeichnungseinrich- \
tungen für laufende Eintragungen (89, 81, 83, 85) aufweist, die*,,-wenn
sie gesetzt sind, die genannten jeweiligen Prozessoreinricb*-r
tungen solange daran hindern, eine anschließende Eintragungs- \..r
steuerung auszugeben, bis die vorher ausgegebene Eintragungs- · : 1:
steuerung die genannten Assoziativspeichereinrichtungen angepaßt j hat. . -' ·
9. Datenverarbeitungssystem nach Anspruch 7, dadurch gekennzeichnet,
daß es außerdem aufweist:
E. Input/Output-Vorrichtungen für die Schaffung externer Kommunikation
mit dem genannten Datenverarbeitungssystem, die um-
I fassen: \
I. Input/Output-Schnittstellen-Vorrichtungen (64,72), die mit
den genannten Prozessor-Hauptschienenvorrichtungen (76) verbunden sind, um externe Informationssignale mit der
genannten gemeinsamen Steuereinheit auszutauschen, II. mindestens eine Input/Output-Vorrichtung (32) und '
III. Input/Output-Hauptschienenvorrichtungen (60), die die ge-j
nannten Input-und Output-Schnittstellen-Vorrichtungen und ι die genannten Input- und Output-Vorrichtungen verbinden, ;
um zwischen ihnen asynchron Informationssignale zu über- ι tragen. I
10. Datenverarbeitungssystem nach Anspruch 9, dadurch gekennzeich-j
net, daß die genannten Input/Output-Schnittstellen-Vorrichtungen I
aufweisen:
fi 313442a
I. Input/Output-Steuerbefehls-Ubertragungseinrichtungen
(172), die mit den genannten asynchronen Hauptschienenvorrichtungen (60) zur Übertragung von Steuerinformationeifi
und Datensignalen aus der genannten gemeinsamen Steuerein·;-heit
(10) verbunden sind,
II. Input/Output-Steuerbefehlempfangseinrichtungen (178), die mit
den genannten asynchronen Hauptschienenvorrichtungen(60)
zur Entgegennahme von Steuerinformationen und Datensignä'-j
len aus den genannten Input/Output-Vorrichtungen verbünde^
sind, wobei die genannten Zeitvorgabe- und Steuermittel * j weitere Mittel zur Steuerung der genannten Steuerbefehls-].
Übertragungsmittel (172) und der genannten Steuerbefehls empfangsvorrichtungen (178) in der Weise aufweisen, daß"
der Betrieb der genannten gemeinsamen Steuereinheit für den ."-,
Transfer von Informationen mit dem Betrieb der genannten asyn- *!
chronen Hauptschienenvorrichtung (60) für die Übertragung von- j
Informationen kompatibel ist. j
11. Datenverarbeitungssystem nach Anspruch 9, dadurch gekennzeichnet,
daß es außerdem aufweist:
F. sekundäre Speichereinrichtungen zur Speicherung von Information,
die umfassen. \
I. mindestens eine sekundäre Speichereinrichtung (68) zur i
Speicherung von Informationen, !
II. Steuereinrichtungen (40), die mit den genannten sekundären
Steuereinrichtungen verbunden sind, um den Transfer von : Informationen aus und in die genannten sekundären Speichereinrichtungen
zu steuern, und I
III. Massenspeicher-Hauptschienenvorrichtungen (46) zur Verbindung
mit den genannten sekundären Speichersteuerungsvorrichtungen zur übertragung von Informationssignalen
über dieselben, und
IV. Massen-Hauptschienenschnittstelleneinrichtungen (177), !
. die mit den genannten Speicherrücklaufmitteln (188) und !
den genannten Steuerbefehlsempfangsvorrichtungen (186,196)]
zur Übertragung von Informationen zwischen den genannten Speichereinrichtungen mit direktem Zugriff und den ge-
-er
nannten sekundären Speichereinrichtungen über die genannten Massenspeicher-Hauptschienenvorrichtungen (46) verbunden
sind.
12. Datenverarbeitungssystem nach Anspruch 11, dadurch gekennzeichnet,
daß die genannten Speicherschnittstellenvorrichtungen
außerdem Speicherschlichtungsvorrichtungen (186) zur Entscheidung darüber aufweisen, welcher Steuerbefehl Zugang zu den ge- „
nannten Speichereinrichtungen mit direktem Zugriff erhält.
13. Datenverarbeitungssystem nach Anspruch 12, dadurch gekenn- "]
zeichnet, daß die genannte gemeinsame Steuereinheit des Weiteren, v;
aufweist:
IV. Eine gemeinsame Steuerbefehl-Schlichtungsvorrichtung . ; (150)
zur Entgegennahme von einer Mehrheit von Steuerbefehlen, wobei die genannte Schlichtungsvorrichtung
dazu dient, einem der genannten Steuerbefehle Zugang zu den Ressourcen der genannten Pipeline-Ressourcen-Vor- ,
richtungen zu verschaffen, wobei die genannte Schlich- ; tungsvorrichtung dazu dient, Steuerbefehlen aus den ge- <
nannten Speicherrücklaufvorrichtungen Vorrang zu verschaffen, die anstreben, die Assoziativspeichereinrichtungen
(20) anzupassen bzw. zuzuordnen.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/116,083 US4345309A (en) | 1980-01-28 | 1980-01-28 | Relating to cached multiprocessor system with pipeline timing |
PCT/US1981/000126 WO1981002210A1 (en) | 1980-01-28 | 1981-01-28 | Cached multiprocessor system with pipeline timing |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3134428T1 true DE3134428T1 (de) | 1982-05-06 |
DE3134428C2 DE3134428C2 (de) | 1991-07-25 |
Family
ID=22365126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE813134428T Granted DE3134428T1 (de) | 1980-01-28 | 1981-01-28 | Cached multiprocessor system with pipeline timing |
Country Status (6)
Country | Link |
---|---|
US (1) | US4345309A (de) |
EP (1) | EP0046781B1 (de) |
JP (2) | JPS6319904B2 (de) |
DE (1) | DE3134428T1 (de) |
GB (1) | GB2078408B (de) |
WO (1) | WO1981002210A1 (de) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4493033A (en) * | 1980-04-25 | 1985-01-08 | Data General Corporation | Dual port cache with interleaved read accesses during alternate half-cycles and simultaneous writing |
US4467409A (en) * | 1980-08-05 | 1984-08-21 | Burroughs Corporation | Flexible computer architecture using arrays of standardized microprocessors customized for pipeline and parallel operations |
US4410944A (en) * | 1981-03-24 | 1983-10-18 | Burroughs Corporation | Apparatus and method for maintaining cache memory integrity in a shared memory environment |
US4445174A (en) * | 1981-03-31 | 1984-04-24 | International Business Machines Corporation | Multiprocessing system including a shared cache |
DE3266636D1 (en) * | 1981-05-29 | 1985-11-07 | Gen Electric Co Plc | Telecommunications system |
JPS58129550A (ja) * | 1982-01-27 | 1983-08-02 | Toshiba Corp | 演算制御装置 |
JPS58222361A (ja) * | 1982-06-18 | 1983-12-24 | Fujitsu Ltd | デ−タ処理システムにおけるアクセス要求の優先順位決定制御方式 |
KR860000904B1 (ko) * | 1982-06-18 | 1986-07-16 | 후지쑤 가부시끼 가이샤 | 데이타 처리 시스템에 있어서의 악세스 요구 제어장치 |
KR870000117B1 (ko) * | 1982-06-30 | 1987-02-11 | 후지쑤 가부시끼가이샤 | 액세스 제어 처리방식 |
US4719568A (en) * | 1982-12-30 | 1988-01-12 | International Business Machines Corporation | Hierarchical memory system including separate cache memories for storing data and instructions |
US4561051A (en) * | 1984-02-10 | 1985-12-24 | Prime Computer, Inc. | Memory access method and apparatus in multiple processor systems |
US4695943A (en) * | 1984-09-27 | 1987-09-22 | Honeywell Information Systems Inc. | Multiprocessor shared pipeline cache memory with split cycle and concurrent utilization |
US4682284A (en) * | 1984-12-06 | 1987-07-21 | American Telephone & Telegraph Co., At&T Bell Lab. | Queue administration method and apparatus |
ATE80480T1 (de) * | 1985-02-05 | 1992-09-15 | Digital Equipment Corp | Vorrichtung und verfahren zur zugriffsteuerung in einer mehrcachespeicherdatenverarbeitungsanordnung. |
JPS6297036A (ja) * | 1985-07-31 | 1987-05-06 | テキサス インスツルメンツ インコ−ポレイテツド | 計算機システム |
JPS62145340A (ja) * | 1985-12-20 | 1987-06-29 | Toshiba Corp | キヤツシユメモリ制御方式 |
US4755936A (en) * | 1986-01-29 | 1988-07-05 | Digital Equipment Corporation | Apparatus and method for providing a cache memory unit with a write operation utilizing two system clock cycles |
EP0259095A3 (de) * | 1986-08-27 | 1990-02-28 | Amdahl Corporation | Warteschlange für einen Cachespeicher |
US4860201A (en) * | 1986-09-02 | 1989-08-22 | The Trustees Of Columbia University In The City Of New York | Binary tree parallel processor |
US4965764A (en) * | 1987-03-04 | 1990-10-23 | Nec Corporation | Memory access control system |
DE3782335T2 (de) * | 1987-04-22 | 1993-05-06 | Ibm | Speichersteuersystem. |
US5168560A (en) * | 1987-05-29 | 1992-12-01 | Amdahl Corporation | Microprocessor system private split cache tag stores with the system tag store having a different validity bit for the same data line |
US5008819A (en) * | 1987-10-07 | 1991-04-16 | Gorbatenko George G | Memory spaced array |
FR2625345A1 (fr) * | 1987-12-24 | 1989-06-30 | Thomson Cgr | Procede de visualisation en trois dimensions d'objets codes numeriquement sous forme arborescente et dispositif de mise en oeuvre |
US5148536A (en) * | 1988-07-25 | 1992-09-15 | Digital Equipment Corporation | Pipeline having an integral cache which processes cache misses and loads data in parallel |
US5018063A (en) * | 1988-12-05 | 1991-05-21 | International Business Machines Corporation | Method for reducing cross-interrogate delays in a multiprocessor system |
US5123097A (en) * | 1989-01-05 | 1992-06-16 | Bull Hn Information Systems Inc. | Apparatus and method for simultaneous execution of a write instruction and a succeeding read instruction in a data processing system with a store through cache strategy |
US5125083A (en) * | 1989-02-03 | 1992-06-23 | Digital Equipment Corporation | Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system |
US5155816A (en) * | 1989-02-10 | 1992-10-13 | Intel Corporation | Pipelined apparatus and method for controlled loading of floating point data in a microprocessor |
US5058116A (en) * | 1989-09-19 | 1991-10-15 | International Business Machines Corporation | Pipelined error checking and correction for cache memories |
US5206941A (en) * | 1990-01-22 | 1993-04-27 | International Business Machines Corporation | Fast store-through cache memory |
US5315708A (en) * | 1990-02-28 | 1994-05-24 | Micro Technology, Inc. | Method and apparatus for transferring data through a staging memory |
US5450564A (en) * | 1990-05-04 | 1995-09-12 | Unisys Corporation | Method and apparatus for cache memory access with separate fetch and store queues |
DE69127936T2 (de) * | 1990-06-29 | 1998-05-07 | Digital Equipment Corp | Busprotokoll für Prozessor mit write-back cache |
US5261071A (en) * | 1991-03-21 | 1993-11-09 | Control Data System, Inc. | Dual pipe cache memory with out-of-order issue capability |
US6124865A (en) * | 1991-08-21 | 2000-09-26 | Digital Equipment Corporation | Duplicate cache tag store for computer graphics system |
EP0553743A1 (de) * | 1992-01-31 | 1993-08-04 | Motorola, Inc. | Cachespeichersteuerungseinrichtung |
US5546593A (en) * | 1992-05-18 | 1996-08-13 | Matsushita Electric Industrial Co., Ltd. | Multistream instruction processor able to reduce interlocks by having a wait state for an instruction stream |
US6021471A (en) * | 1994-11-15 | 2000-02-01 | Advanced Micro Devices, Inc. | Multiple level cache control system with address and data pipelines |
US5752264A (en) * | 1995-03-31 | 1998-05-12 | International Business Machines Corporation | Computer architecture incorporating processor clusters and hierarchical cache memories |
US5581729A (en) * | 1995-03-31 | 1996-12-03 | Sun Microsystems, Inc. | Parallelized coherent read and writeback transaction processing system for use in a packet switched cache coherent multiprocessor system |
US7007151B1 (en) * | 2000-10-04 | 2006-02-28 | Nortel Networks Limited | System, device, and method for controlling access to a memory |
US7035908B1 (en) * | 2001-07-26 | 2006-04-25 | Lsi Logic Corporation | Method for multiprocessor communication within a shared memory architecture |
US20040255230A1 (en) * | 2003-06-10 | 2004-12-16 | Inching Chen | Configurable decoder |
US7562364B2 (en) * | 2003-12-30 | 2009-07-14 | Intel Corporation | Adaptive queue scheduling |
DE102005037219A1 (de) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Vorrichtung und Verfahren zur Speicherung von Daten und/oder Befehlen in einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten und wenigstens einem ersten Speicher oder Speicherbereich für Daten und/oder Befehle |
CN100412850C (zh) * | 2005-10-17 | 2008-08-20 | 应广科技股份有限公司 | 单芯片多重微控制器的架构及时序控制方法 |
JP4820654B2 (ja) * | 2006-02-06 | 2011-11-24 | 富士通セミコンダクター株式会社 | サイクルシミュレーション方法、サイクルシミュレーションプログラム、該プログラムを記録した記録媒体、およびサイクルシミュレータ |
US10303575B2 (en) * | 2017-01-10 | 2019-05-28 | International Business Machines Corporation | Time-slice-instrumentation facility |
CN109395391A (zh) * | 2018-09-07 | 2019-03-01 | 北京龙拳风暴科技有限公司 | 一种游戏信息的自动更新方法及装置 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3771137A (en) * | 1971-09-10 | 1973-11-06 | Ibm | Memory control in a multipurpose system utilizing a broadcast |
US3787673A (en) * | 1972-04-28 | 1974-01-22 | Texas Instruments Inc | Pipelined high speed arithmetic unit |
JPS5617753B2 (de) * | 1973-07-17 | 1981-04-24 | ||
US3883854A (en) * | 1973-11-30 | 1975-05-13 | Ibm | Interleaved memory control signal and data handling apparatus using pipelining techniques |
JPS5440182B2 (de) * | 1974-02-26 | 1979-12-01 | ||
JPS5441291B2 (de) * | 1974-09-24 | 1979-12-07 | ||
US3967247A (en) * | 1974-11-11 | 1976-06-29 | Sperry Rand Corporation | Storage interface unit |
JPS5177038A (de) * | 1974-12-27 | 1976-07-03 | Fujitsu Ltd | |
US3964054A (en) * | 1975-06-23 | 1976-06-15 | International Business Machines Corporation | Hierarchy response priority adjustment mechanism |
JPS5263041A (en) * | 1975-11-19 | 1977-05-25 | Fujitsu Ltd | Buffer memory invalidation control system |
US4045781A (en) * | 1976-02-13 | 1977-08-30 | Digital Equipment Corporation | Memory module with selectable byte addressing for digital data processing system |
US4070706A (en) * | 1976-09-20 | 1978-01-24 | Sperry Rand Corporation | Parallel requestor priority determination and requestor address matching in a cache memory system |
US4080652A (en) * | 1977-02-17 | 1978-03-21 | Xerox Corporation | Data processing system |
US4136386A (en) * | 1977-10-06 | 1979-01-23 | International Business Machines Corporation | Backing store access coordination in a multi-processor system |
FR2407522B1 (fr) * | 1977-10-25 | 1989-03-31 | Digital Equipment Corp | Systeme de traitement de donnees avec division de l'operation de lecture |
AU521383B2 (en) * | 1977-12-16 | 1982-04-01 | Honeywell Information Systems Incorp. | Cache memory command circuit |
JPS5849945B2 (ja) * | 1977-12-29 | 1983-11-08 | 富士通株式会社 | バツフア合せ方式 |
JPS54136235A (en) * | 1978-04-14 | 1979-10-23 | Nec Corp | Memory control system |
US4245304A (en) * | 1978-12-11 | 1981-01-13 | Honeywell Information Systems Inc. | Cache arrangement utilizing a split cycle mode of operation |
JPS6319904A (ja) * | 1986-07-14 | 1988-01-27 | Mitsubishi Electric Corp | アンテナ装置 |
-
1980
- 1980-01-28 US US06/116,083 patent/US4345309A/en not_active Expired - Lifetime
-
1981
- 1981-01-28 EP EP81900540A patent/EP0046781B1/de not_active Expired
- 1981-01-28 GB GB8127279A patent/GB2078408B/en not_active Expired
- 1981-01-28 JP JP56500824A patent/JPS6319904B2/ja not_active Expired
- 1981-01-28 DE DE813134428T patent/DE3134428T1/de active Granted
- 1981-01-28 WO PCT/US1981/000126 patent/WO1981002210A1/en active IP Right Grant
-
1989
- 1989-07-10 JP JP1177847A patent/JPH02168341A/ja active Granted
Also Published As
Publication number | Publication date |
---|---|
US4345309A (en) | 1982-08-17 |
JPS57500175A (de) | 1982-01-28 |
EP0046781A4 (de) | 1984-06-13 |
GB2078408B (en) | 1984-08-15 |
WO1981002210A1 (en) | 1981-08-06 |
EP0046781B1 (de) | 1988-03-30 |
JPS6319904B2 (de) | 1988-04-25 |
GB2078408A (en) | 1982-01-06 |
JPH0526225B2 (de) | 1993-04-15 |
JPH02168341A (ja) | 1990-06-28 |
EP0046781A1 (de) | 1982-03-10 |
DE3134428C2 (de) | 1991-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3134428T1 (de) | Cached multiprocessor system with pipeline timing | |
DE69832943T2 (de) | Sequenzsteuerungsmechanismus für ein switch-basiertes Mehrprozessorsystem | |
DE69529381T2 (de) | Warteschlangen-Arbitrierungsmechanismus für Datenverarbeitungssystem | |
DE69519926T2 (de) | Verfahren und vorrichtung zum einhalten der transaktionssteuerung und zur unterstützung von verzögerten antworten in einer busbrücke | |
DE69701078T2 (de) | Mikroprozessorarchitektur mit der Möglichkeit zur Unterstützung mehrerer verschiedener Prozessoren | |
DE69732020T2 (de) | Wiedereinordnung von Speicheranforderungen in einem Datenverarbeitungssystem | |
DE69128107T2 (de) | Busanordnung für Speicherzugriff | |
DE69904758T2 (de) | Flexible sondierungsbefehl/sondierungrespons-leitweglenkung zur aufrechterhaltung der speicherkohärenz | |
DE69033272T2 (de) | Verbundarchitektur für ein hochgradig paralleles skalar/vektor-multiprozessorsystem | |
DE69729243T2 (de) | Multiprozessorsystem mit Vorrichtung zur Optimierung von Spin-Lock-Operationen | |
DE3642324C2 (de) | Multiprozessoranlage mit Prozessor-Zugriffssteuerung | |
DE3782335T2 (de) | Speichersteuersystem. | |
DE69429279T2 (de) | Multiprozessor-programmierbares unterbrechungskontrollersystem mit prozessor-integrierten unterbrechungskontrollern | |
DE3789625T2 (de) | Methode zur dynamischen Partitionierung von Parallelprozessoren. | |
DE69721891T2 (de) | Deterministisches Kohärenzprotokoll für verteilten Multicache-Speicher | |
DE69721394T2 (de) | Verfahren und Vorrichtung für einen Kohärenzumwandler mit begrenztem Speicher zur Verbindung von Rechnersystem-Kohärenzdomänen | |
DE69424272T2 (de) | Auf Warteschlangen basierender prädiktiver Durchflusssteuerungsmechanismus | |
DE60003834T2 (de) | Vituelle kanäle und entsprechende pufferzuweisungen für einen blockierungfreien rechnersystem -betrieb | |
DE3586486T2 (de) | Interface-vorrichtung zwischen mindestens einem kanal und mindestens einem bus. | |
DE2809602C3 (de) | Kanalbus-Steuereinrichtung | |
DE19807872A1 (de) | Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl. | |
DE69114961T2 (de) | Vorrichtung für Zusammenschaltungskanäle. | |
DE69106384T2 (de) | Skalierbares parallel-vektorrechnersystem. | |
DE112005002432B4 (de) | Verfahren und Vorrichtung zum Bereitstellen eines Quellenoperanden für eine Instruktion in einem Prozessor | |
DE69616226T2 (de) | Ungültigkeitserklärungsbusoptimierung für Multiprozessoren mit verzeichnisbasierten Kohärenzprotokollen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |