DE2635592C2 - Schaltungsanordnung zum Abruf von Prozessor- und Speicheranforderungen in einer Multiprozessoranlage - Google Patents

Schaltungsanordnung zum Abruf von Prozessor- und Speicheranforderungen in einer Multiprozessoranlage

Info

Publication number
DE2635592C2
DE2635592C2 DE2635592A DE2635592A DE2635592C2 DE 2635592 C2 DE2635592 C2 DE 2635592C2 DE 2635592 A DE2635592 A DE 2635592A DE 2635592 A DE2635592 A DE 2635592A DE 2635592 C2 DE2635592 C2 DE 2635592C2
Authority
DE
Germany
Prior art keywords
processor
memory
circuit
memory section
wire
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2635592A
Other languages
English (en)
Other versions
DE2635592A1 (de
Inventor
Geoffrey Broomfield Township Col. Probert jun.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Corp
Original Assignee
Western Electric Co Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Western Electric Co Inc filed Critical Western Electric Co Inc
Publication of DE2635592A1 publication Critical patent/DE2635592A1/de
Application granted granted Critical
Publication of DE2635592C2 publication Critical patent/DE2635592C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/366Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a centralised polling arbiter

Description

Die Erfindung betrifft eine Schaltungsanordnung nach dem Oberbegriff des Anspruchs 1.
Jn Multiprozessoranlagen müssen mehrere Prozessoren miteinander um den Zugriff zu einem Speicher konkurrieren, da dieser im allgemeinen immer jeweils nur einen Rechner gleichzeitig bedienen kann. Ein bekanntes Verfahren zur Verringerung der Schwierigkeiten bei einem solchen gleichzeitigen Zugriff besteht darin, den Speicher in eine Anzahl von getrennten, unabhängigen und verhältnismäßig kleinen Speicherabschnitten aufzuteilen. Ein zentraler Wähler kann dann jeden Speicherabschnitt mit jedem Prozessor verbinden. Um den Eindruck eines einzigen Speichers zu erzeugen, werden durch eine Adrsssenverschachtelung die aufeinanderfolgenden Adressen jeweils einem anderen Speicherabschnitt zugeordnet. Wenn jeder Speicherabschnitt unabhängig betrieben wird, werden Störungen zwischen den Prozessoren, die den Speicher ansprechen, wesentlich verringert. Es läßt sich leicht zeigen, daß mit größer werdender Zahl von Speicherabschnitten die Wahrscheinlichkeit wächst, daß ein anfordernder Prozessor Zugriff zu einem bestimmten Speicherabschnitt erhält.
Es sind verschiedene Versuche und Verfahren benutzt worden, um verschachtelte Speicherabschnitte mit den Prozessoren zu verbinden. So ist in bekannter Art eine Raumvielfach-Koppelanordnung mit einer ausreichend großen Zahl von festen Verbindungen vorgesehen, um einen Zugriff zwischen jedem Prozessor und jedem Speicherabschnitt zu ermöglichen. Komplizierte Steuerschaltungen, gegebenenfalls unter Einfluß eines Steuerrechners, sind dabei erforderlich, um die Raumvielfach-Koppelanordnung zu steuern. Der Hauptvorteil eines Raumvielfach-Koppelverfahrens besteht darin, daß viele Prozessoren gleichzeitig unterschiedliche Speicherabschnitte benutzen können. Das Raumvielfach-Koppelverfahren kann jedoch außerordentlich aufwendig werden, und die Kosten für ein solches Koppelfeld steigen schnell mit der Anzahl von Prozessoren und/oder Speicherabschnitten an.
Es ist auch bekannt (US-PS 37 98 591), eine Zeitmultiplex-Sammelleitung zur Verbindung der Prozessoren mit den Speicherabschnitten zu benutzen. Eine solche Lösung ist billig, und die Kosten steigen nur unwesentlich mit zunehmender Zahl von Prozessoren und Speicherabschnitten. Es müssen jedoch logische Schnittstellenschaltungen mit Decodierern für jeden Prozessor und für jeden Speicherabschnitt vorgesehen sein. Ein Hauptproblem bei solchen Zeitmultiplex-Multiprozessoranlagen besteht darin, daß die Leistungsfähigkeit der Anlage durch die Kapazität der Sammelleitung begrenzt ist, wenn Prozessoren hinzugefügt werden. Die Steuerung des Datenflusses von den Prozessoren zu den Speicherabschnitten und umgekehrt erfordert komplizierte Steuerschaltungen. Dies trifft insbesondere deswegen zu, weil mehrere Prozessoren gleichzeitig einen Zugriff zu demselben Speicherabschnitt verlangen können. Bei der bekannten Anlage wird dazu eine Prioritätsanordnung benutzt, die jedoch dazu führen kann, daß Anforderungen dur~h Prozessoren niedriger Priorität unzulässig verzögert werden.
Der Erfindung liegt die Aufgabe zugrunde, die Steuerschdtungen für den Zugriff der Prozessoren zu den Speicherabschnitten einer Multiprozessoranlage zu vereinfachen, wobei die Anlage ohne Schwierigkeiten sowohl um Prozessoren als auch um Speicherabschnitte erweiterbar sein soll.
Die Lösung der Aufgabe ist im Anspruch 1 angegeben.
Weiterbildungen der Erfindung sind Gegenstand der Unteransprüche.
Nachfolgend wird die Erfindung anhand der Zeichnungen näher beschrieben. Es zeigt
F i g. 1 eine Multiprozessoranlage nach einem Ausführungsbeispiel der Erfindung;
F i g. 2 die logische Schnittstellenschaltung mit einem der in F i g. 1 gezeigten Vielzahl von Prozessoren;
F i g. 3 die logische Schnittstellenschaltung mit einer Vielzahl von Speicherabschnitten gemäß Fig. I;
Fig.4 die Zeiisteuerungs-Impulsfolgen zur Aktivierung der logischen Schnittstellenschaltung gemäß Fig. 2;
F i g. 5 die Zeitsteuerungs-Impulsfolgen zur Aktivierung der Schnittstellenschaltung nach F i g. 3.
In F i g. 1 ist das Blockschaltbild einer Multiprozessoranlage mit einer Vielzahl von Prozessoren 10, einer Vielzahl von Speicherabschnitten 20 und einer Zeitsteuerungsschaltung 30 dargestellt.
Um die Erläuterung bei vollständiger Offenbarung der Erfindung soweit als möglich zu vereinfachen, sind nur drei Prozessoren CO, Ci, Ci dargestellt. Darüberhinaus sind nur drei Speicherabschnitte MO, Ml, Mj gezeigt. In einer wirklichen Multiprozessoranlage kann jedoch eine größere Zahl solcher Prozessoren und Speicher verwendet werden. Beispielsweise kinn eine typische Multiprozessoranlage nach der Erfindung 16 Prozessoren 10 und 16 Speicherabschnitte 20 enthalten.
Die Arbeitsweise der in Fig. 1 dargestellten Anlage wird nur so weit beschrieben, wie es für ein vollständiges Verständnis der Erfindung erforderlich ist.
Bei Multiprozessorsystemen bekannter Art soll jeder Prozessor 10 in der Lage sein, einen Zugriff zu jedem Speicherabschnitt 20 zu erlangen, vorausgesetzt, daß der angeforderte Speicherabschnitt nicht gerade durch einen Zugriff eines anderen Prozessors belegt ist. Entsprechend sollte jeder Speicherabschnitt 20 in der Lage sein, einen Zugriff zu jedem Prozessor 10 zu erlangen, um dem anfordernden Prozessor Daten von diesem Speicherabschnitt zu liefern. Entsprechend dem Ausführungsbeispiel der Erfindung wird daher ein Zugriff von jedem Prozessor 10 zu jedem Speicherabschnitt 20 über die Zeitmultiplex-Speichersammelleitung 12 gegeben. Auf entsprechende Weise kann jeder Speicherabschnitt 20 Zugriff zu jedem Prozessor 10 über die Zeitmultiplex-Prozessorsammelleitung 16 erhalten. Die Speichersammelleitung 12 \md die Prozessorsammelleitung 16 ermöglichen die Übertragung von Informationen zur Indentifizierung des anfordernden Prozessors oder des Speicherabschnitts, der Adresse von Daten im angeforderten Speicherabschnitt und gemischten Steuerkommandos. Die gespeicherten Da-
!5 ten werden dann zwischen den Prozessoreinheiten 10 und den Speicherabschnitten 20 über eine Zeitmultiplex-Datensammelleitung 14 ausgetauscht
Das Ausführungsbeispiel der Erfindung verwendet identische Prozessoreinheiten 10 und identische Speicherabschnitte 20.
Die Verwendung von Zeitmultiplex-Sammelleitungen 12, 14 und 16 zur Verbindung der Prozessoren 10 mit den Speicherabschnitten 20 entspricht dem Stand der Technik. Bei Verwendung von Zeitmultiplex-Sammelleitungen in einer Multiprozessoranlage müssen die Kennzeichnungen für jeden Prozessor 10 und jeden Speicherabschnitl 20 erzeugt werden. Bei einem Ausführungsbeispiel der Erfindung mit 16 Prozessoren 10 und 16 Speicherabschnitten 20 läßt sich die Kennzeichnung jedes Prozessors oder jedes Speicherabschnittes eindeutig durch unterschiedliche Gruppierung von 4 Binärziffern angeben. Daher müssen die Speichersammelleitung 12 und die Prozessorsammelleitung 16 eine Übertragungsmöglichkeit für die Kennzeichnung der Speicherabschnitte und der Prozessoren besitzen. Die Kennzeichnung des Speicherabschnittes, zu dem ein Zugriff erfolgen soll, wird über die Adern MR der Speichersammelleitung 12 übertragen. Jedem Speicherabschnitt 20 ist ein Decodierer zugeordnet, der dauernd die auf den Adern MR der Sammelleitung 12 erscheinenden Daten analysiert. Wenn ein angeforderter Speicherabschnitt seinen Code auf den Adern MR feststellt, bearbeitet er die Anforderung. Dabei gewinnt der angeforderte Speicherabschnitt 20 Zugriff zu den anfordernden Prozessor, indem er den er den Kennzeichnungscode des Prozessors an die Adern CR der Prozessorsammelleitung 16 anlegt. Jeder Prozessor 10 weist ebenfalls einen ihm zugeordneten Decodierer auf, der dauernd die auf den Adern CR erscheinende Information analysiert, um ihren Kennzeichnungscode festzustellen. Die vorstehend beschriebene Verwendung von Kennzeichnungscodierungen für jeden Prozessor 10 und jeden Speicherabschnitt 20 sowie entsprechenden Decodierern, die jedem Prozessor 10' und jedem Speicherabschnitt 20 zugeordnet sind, entspricht dem Stand der Technik.
Wenn ein Prozessor einen Zugriff zu einem Speicherabschnitt 20 anfordert, müssen weitere Informationen dem Speicherabschnitt zugeführt werden. Die Kennzeichnung des Prozessors, der den Zugriff anfordert, wird dem angeforderten Speicherabschnitt über Adern CRM zugeführt. Diese Information bezüglich des anfordernden Prozessors wird benötigt, wenn später der angeforderte Speicherabschnitt Daten, die ajs der jeweiligen Adressenstelle gelesen worden sind, zum anfordernden Prozessor gibt. Die Kennzeichnung des anfordernden Prozessors, die über die Adern CRM zum angeforderten Speicherabschnitt gegeben
worden sind, wird nachfolgend an die Adern CR der Sammelleitung 16 angelegt, so daß der anfordernde Prozessor seinen eigenen Kennzeichnungscode erkennt, um Daten vom angeforderten Speicherabschnitt über die Datensammelleitung 14 aufzunehmen.
Wenn ein anfordernder Prozessor Informationen aus einem Speicherabschnitt lesen will, muß er nicht nur die Kennzeichnung des Speicherabschnitts über die Adern MR und seine eigene Kennzeichnung über die Adern CRM aussenden, sondern außerdem die Adresse der Daten im Speicherabschnitt über Adern AD liefern. Darüber hinaus muß der Prozessor angeben, ob diese Adresse zum Lesen von Daten aus der Adressenstelle oder zum Einschreiben von Daten in die Adressenstelle benutzt werden soll, und zwar durch Übertragung entsprechender Signale auf der Lese/Schreibader RW. Die Adern RD und LFC werden zur Signalgabe benutzt. Das soll später noch beschrieben werden.
Wenn das Signal auf der Lese/Schreibader RW angibt, daß eine Schreiboperation stattfinden soll, nimmt der angeforderte Speicherabschnitt die in die angegebene Adressenstelle einzuschreibenden Daten über die Datensammelleitung 14 auf. Für diese Operation empfängt der anfordernde Prozessor seine eigene Kennzeichnung vom Speicherabschnitt auf den Adern CR sowie eine Angabe vom Speicherabschnitt auf der Ader LDRC, daß der Speicherabschnitt bereit ist, die einzuschreibenden Daten vom Prozessor aufzunehmen. Der anfordernde Prozessor überträgt dann die in die angegebene Adressenstelle einzuschreibenden Daten über die Datensammelleitung zum Speicherabschnitt.
Bei der vorliegenden Erfindung wird eine Adressenverschachtelung benutzt, um die Illusion zu erzeugen, daß die Vielzahl von Prozessoren 10 einen einzigen Hauptspeicher statt einer Vielzahl getrennter und diskreter Speicherabschnitte adressiert. Dieses Konzept ist bekannt.
Es sei angenommen, daß der Prozessor Ci mit einer nicht gezeigten peripheren Schaltung zur Verarbeitung von Informationssignalen zusammenarbeitet. Das Programm, dem der Prozessor Ci folgen muß, ist in der Vielzahl von Speicherabschnitten 20 gespeichert, wobei jeder Speicherabschnitt unterschiedliche Abschnitte des Programms enthält. Wenn beispielsweise das Programm aus nur 16 Wörtern zusammengesetzt ist, so würde bei einer typischen Anlage mit 16 Speicherabschnitten jeder Abschnitt ein Programmwort enthalten. Wenn demgemäß der Prozessor Ciseine Programmliste abarbeitet, so kann sich das erste Programmwort im Speicherabschnitt MO befinden, während das sechzehnte Programmwort im Speicherabschnitt Λ/15 liegen kann.
Die Zeitsteuerungsschaltung 30 steuert auf eine später noch genauer zu beschreibende Weise die Wechselwirkung zwischen den Prozessoren 10 und den Speicherabschnitten 20. Die Zeitsteuerungsschaltung 30 enthält zwei getrennte und asynchrone Taktgeber 22 und 28, die je einen Abrufzähler 26 bzw. 32 weiterschalten. Der CL-Taktgeber 22 erzeugt Binärimpulse auf der Ader CL1 für die Prozessorabrufschaltung 26, die beim vorliegenden Ausführungsbeispiel ein 4-Bit-Binärzähler ist, der kontinuierlich vom Taktgeber 22 über die Ader CL 1 weitergeschaltet wird. Die Größe des Zählers hängt ab von der Anzahl von Prozessoren, beispielsweise könnte ein 3-Bit-Zähler maximal 8 Prozessoren bedienen. An den Ausgängen der Prozessorabrufschaltung 26 wird der oben erwähnte Prozessor-Kennzeichnungscode erzeugt, der den Speicherabschnitten 20 über die Adern CRM zugeführt wird. Außerdem wird der Code über die Adern CRM zu jedem anderen Prozessor 10 übertragen.
Wenn die Prozessorabrufschaltung 26 vom Binärwert 0 auf den Binärwert 15 weitergeschaltet wird, so wird jeder der Prozessoren 10 nacheinander auf eine nachfolgend noch zu beschreibende Weise abgefragt, um festzustellen, ob ein abgefragter Prozessor Zugriff zu einem Speicherabschnitt verlangt. Wenn dieser Prozessor jetzt einen Zugriff zu einem Speicherabschnitt wünscht, dann wird ihr Zugriff zu einem gewünschten Speicherabschnitt über die Speichersammelleitung 12 gegeben.
Auf entsprechende Weise gibt der ΛίΖ,-Taktgeber 28 binäre Zeitsteuerungsimpulse über die Ader ML 1 an eine 4-Bit-Speicherabrufschaltung 32. Diese fragt den Zustand jedes der Speicherabschnitte 20 ab, um festzustellen, ob einer der Abschnitte einen Zugriff zu einem anfordernden Prozessor benötigt. Wenn ein Speicherabschnitt einen solchen Zugriff wünscht, wird der Zugriff zum anfordernden Prozessor über die Sammelleitung 16 ermöglicht. Man erkannt, daß der CL-Taktgeber 22 und der ML-Taktgeber 28 unabhängig voneinander arbeiten und daß für einen Speicherabschnitt die Möglichkeit besteht, Zugriff zu einem Prozessor während des gleichen Zeitintervalls zu erlangen, zu dem ein anderer Prozessor Zugriff zu einem anderen Speicherabschnitt hat.
Es ergibt sich, daß entsprechend der Erfindung die Möglichkeit gegeben wird, daß eine Vielzahl von Prozessoren 10 Zugriff zu einer Vielzahl von Speicherabschnitten 20 hat, während gleichzeitig die Vielzahl von Speicherabschnitten 20 unabhängig Zugriff zu der Vielzahl von Prozessoren 10 besitzt, und zwar unter Überwachung einer Zeitsteuerungsschaltung 30, die ein Minimum von Bauteilen enthält.
Ins einzelne gehende Erläuterung
F i g. 2 zeigt die Einzelheiten eines Prozessors, beispielsweise des Prozessors Ci, die den Prozessor 100 und seine zugeordnete logische Schnittstellenschaltung enthält.
Gemäß F i g. 1 muß die logische Schnittstellenschaltung dem Prozessor Ci Steuerfunktionen für drei grundsätzliche Arbeitsvorgänge der Anlage durchführen. Der erste Arbeitsvorgang betrifft die Erkennung einer Prozessoranforderung und beinhaltet den Übergang zwischen dem Prozessor Ci und der Zeitsteuerungsschaltung 30 über die Adern SCY* und CRM. Der zweite und dritte Arbeitsvorgang betrifft Wechselwirkungen zwischen dem Prozessor Ci und einem angeforderten Speicherabschnitt, wenn Daten entweder aus dem Speicherabschnitt gelesen oder in den Speicherabschnitt eingeschrieben werden. Die letztgenannten beiden Arbeitsvorgänge machen eine Informationsübertragung über die Adern MR, AD, RW, DATA, RD, CR und LDRCerforderlich. Jede dieser Arbeitsvorgänge wird in den nachfolgenden Abschnitten beschrieben.
Der erste Arbeitsvorgang oder die erste Wechselwirkung zwischen der Zeitsteuerungsschaltung 30 und dem Prozessor Ci findet statt, wenn die Prozessorabrufschaltung 26 jeden Prozessor 10 abfragt um festzustellen, ob irgendeine Einheit einen Zugriff zu irgendeinem Speicherabschnitt 20 benötigt Wenn die Abrufschaltung 26 die Kennzeichnung oder den Code des Prozessors Ci abgibt so liefert der Komparator 50
(F i g. 2) ein Signal H auf der Ader 52, das die Gatter 54 und 56 vorbereitet. Dabei bedeutet ein Signal H ein Signal mit verhältnismäßig hohem Pegel entsprechend Logisch 1 im Gegensatz zu einem Signal L mit verhältnismäßig niedrigem Pegel entsprechend Logisch 0.
Jeder Komparator ist entsprechend dem Code des Prozessors fest verdrahtet, von der er Teil ist. Wenn demgemäß entsprechend Fig.2 der Komparator 50 seinen eigenen Code von der Prozessorabrufschaltung 26 über die Adern CRM aufnimmt, so stellt der Komparator mit Hilfe seiner internen Verdrahtung eine Übereinstimmung fest, die dazu führt, daß ein Ausgangssignal an die Ader 52 angelegt wird. Das Ansprechen der Schallungen gemäß Fig.2 auf dieses Ausgangssignal des Komparators auf der Ader 52 hängt von dem augenblicklichen Zustand der Schaltungen und insbesondere davon ab, ob der Prozessor 100 einen Zugriff zu einem Speicherabschnitt verlangt hat oder nicht. Die alternativen Vorgänge, die dann in Abhängigkeil vom Ausgangsimpuls des Komparators ablaufen, werden in den nachfolgenden Abschnitten im einzelnen beschrieben.
F i g. 4 erläutert die zeitlichen Beziehungen zwischen den Ausgangssignalen CLl, CL 2 und CL 3 des Taktgebers 22 und dem Ausgangssignal des Komparators 50 dann, wenn der Komparator das Eintreffen seines eigenen Kennzeichnungscodes von der Prozessorabrufschaltung 26 feststellt. Die Vorderflanke des Impulses CL 1 schaltet die Abrufschaltung 26 um eine Position weiter. Es sei angenommen, dab die Abrufschaltung 26 zu diesem Zeitpunkt die Kennzeichnung des in F i g. 2 gezeigten Prozessors Ci angibt und an die Adern CRM anlegt. Dann erzeugt der Komparator 50 einen Ausgangsimpuis, der im wesentlichen mit der Vorderflanke des impulses CL 1 zusammenfällt. Dieser Ausgangsimpuls des Komparators ist in F i g. 4 dargestellt und dauert bis zur Vorderflanke des nächsten Impulses CL 1. Zu diesem Zeitpunkt wird die Prozessorabrufschaltung 26 auf eine andere Position weitergeschaltet und gibt die Kennzeichnung eines anderen Prozessors an.
Die Impulse CL 2 und CL 3 treten sequentiell nach dem Impuls CL1 auf. Die Zeitdauer einer einzigen Folge dieser drei Impulse kann sich abhängig davon ändern, ob der adressierte Prozessor zu diesem Zeitpunkt Zugriff zu einem Speicherabschnitt verlangt oder nicht Wie in F i g. 4 für die erste Folge dieser drei Impulse CL- gezeigt, hat eine einzige Folge sowie das Ausgangssignal des Komparators 50 eine Dauer von 1000 ns, wenn der adressierte Prozessor Zugriff zu einem Speicherabschnitt wünscht. Eine Folge dieser Dauer wird entsprechend der Angabe in F i g. 4 »langer Zyklus« genannt Eine Folge der drei Impulse CL-umfaßt nur 400 ns und wird »kurzer Zyklus« genannt, wenn der adressierte Prozessor zu diesem Zeitpunkt keinen Zugriff zu einem Speicherabschnitt verlangt Die letzte Folge von Impulsen CL- in F i g. 4 zeigt einen kurzen Zyklus.
Wie nachfolgend noch im einzelnen beschrieben wird, ω bestimmt das Ansprechen des Gatters 56 das Ausgangssignal des Komparators auf der Ader 52, ob die Prozessorabrufschaltung 26 in einen langen oder einen kurzen Zyklus eintritt Das Flipflop FF3, 62 ist immer dann zurückgestellt, wenn der Prozessor keine Bedienung anfordert Zu diesem Zeitpunkt ist die zum unteren Eingang des Gatters 56 führende Ausgangsader 66 auf H, und das Eintreffen eines Komparator-Ausgangssignals am oberen Eingang des Gatters 56 schaltet das Gatter ein und bringt dessen Ausgang auf L. Dieses Signal L läuft dann über die Ader SCY* zurück zum CL-Taktgeber 22. Dieses Signal SCV" gibt dem CL-Taktgeber an, daß der adressierte Prozessor im Augenblick keine Bedienung anfordert. Der CL-Taktgeber erzeugt dann einen kurzen Zyklus von 400 ns.
Alternativ ist das Flipflop FFZ immer dann im eingestellten Zustand und die Ader 66 auf L, wenn der Prozessor eine Bedienung wünscht. In diesem F:~'i schaltet das Gatter 56 bei Empfang eines Komparatu, ausgangsimpulses nicht ein, und die Ader SCY* bleibt auf H. Dadurch wird der CL-Taktgeber 22 veranlaßt, einen langen Zyklus von Ausgangsimpulsen zu erzeugen, wie für den ersten Zyklus in F i g. 4 gezeigt.
Jedes Prozessorelement 100, beispielsweise das Prozessoreiement i00 in Fig.2 für den Prozessor Ci, führt seine Arbeitsfunktion unabhängig von der Zeitsteuerungsschaltung 30 in F i g. 1 aus und erzeugt Anforderungen für einen Zugriff zu einem Speicherabschnitt. Solche Anforderungen haben den Zweck, entweder vom Prozessor gelieferte Information in den Speicherabschnitt einzuschreiben oder alternativ Informationen vom angegebenen Speicherabschnitt zwecks Verwendung im Prozessor aufzunehmen. Zur Durchführung ihrer verschiedenen Funktionen einschließlich der Anforderung eines Zugriffs zu einem angegebenen Speicherabschnitt erzeugt der Prozessor die an der Unterseite des Blockes 100 in Fig.2 dargestellten Zeitsteuerungsimpulse, wobei die Impulse in der Reihenfolge von links nach rechts, also in der Reihenfolge Ti, TZ WAIT und T3 erzeugt werden. Wie nachfolgend noch im einzelnen beschrieben wird, führt der Impuls TX die höherstelligen 8 Bits von der Sammelleitung 102 in das Register R1 und der Impuls T2 führt die niedrigerstelligen 8 Bits von dieser Sammelleitung zum Register Λ2 (114). Der Impuls Γ2 wird außerdem zur Vorbereitung an den oberen Eingang eines UND-Gatters 80 angelegt. Wenn zu diesem Zeitpunkt der Prozessor 100 einen Zugriff zu einem Speicherabschnitt 20 verlangt, so erscheint ein Signal H auf der Ader 82, wodurch das Gatter 80 eingeschaltet wird. Dadurch wird über die Ader 76 das Flipflop FF2 (74) eingestellt Die Einstellung dieses Flipflops veranlaßt die Übertragung eines Signals H über die Ader 72 zur Vorbereitung des Gatters 70, so daß ein nachfolgender Taktimpuls CL 3 von der Zeitsteuerungsschaltung 30 des Gatters 70 einschaltet und das Flipflop FF3 über die Ader 68 voreinstellt. Diese Voreinstellung des Flipflops bringt die Ader 66 auf L und die Ader 64 auf H. Das Signal H auf der Ader 64 löscht das Flipflop FF2 und bereitet das Gatter 54 vor. Das Signal L auf der Ader 66 hält das Gatier 56 im abgeschalteten Zustand
Eine Teilzusammenfassung der vorhergehenden Erläuterung ergibt, daß der voreingestellte Zustand des Flipflops FFZ angibt, daß der Prozessor 100 im Augenblick einen Zugriff zu einem Speicherabschnitt anfordert Alternativ zeigt der Normalzustand des Flipflops FF3 an, daß der Prozessor im Augenblick keinen Speicherzugriff wünscht Der Einstellzustand des Flipflops bereitet das UND-Gatter 54 vor, so daß es auf einen nachfolgenden Komparator-Ausgangsimpuls auf der Ader 52 ansprechen kann. Der Normalzustand des Flipflops FF3 bereitet das UND-Gatter 56 vor, so daß es auf einen Komparator-Ausgangsimpuls auf der Ader 52 ansprechen kann, wenn der Prozessor Ci durch die Prozessorabrufschaltung 26 adressiert wird.
Es sei zunächst angenommen, daß der Prozessor Ci im Augenblick keinen Zugriff zu einem Speicherabschnitt anfordert, wenn sich durch die Prozessorabrufschaltung 26 adressiert wird. Dann befindet sich das Flipflop FF3 im Ruhezustand, und das Gatter 56 ist durch das Signal H auf der Ader 66 vorbereitet. Der Komparator 50 stellt jetzt seinen Kennzeichnungscode auf den Adern CRM fest und gibt ein Signal H über die Ader 52 zum oberen Eingang des Gatters 56. Dadurch schaltet das Gatter ein und gibt ein Signal L zur Ader SCY* die zum CZ.-Taktgeber 22 in F i g. 1 führt. Der Taktgeber wird dadurch veranlaßt, in seine Arbeitsweise »kurzer Zyklus« einzutreten und dadurch entsprechend der Darstellung in F i g. 4 die Taktimpulse auf den Adern CL 2 und CL 3 abzukürzen. Auf diese Weise wird der Ci/Taktgeber 22 schnell auf den Code des nächsten Prozessors 10 weiiergeschaitei, so daß sie auf die gleiche Weise wie die Einheit Ci in F i g. 2 abgefragt werden kann.
Es ist bekannt, Taktgeber mit der Möglichkeit von sowohl langen als auch kurzen Zyklen auszustatten.
Die Wechselwirkung zwischen der Zeitsteuerungsschaltung 30 und den Prozessoren 10 erfordert entsprechend dem vorliegenden Ausführungsbeispiel der Erfindung nur 5 Adern: 4 Adern werden für die Übertragung des Prozessorkennzeichnungscodes auf den Adern CRAf und eine Ader für die Rückübertragung des Signals »kurzer Zyklus« auf der Ader SCY* benötigt. Die Ader SCY* wird normalerweise auf H gehalten, so daß der Ausgangs des Gatters 56, der durch Verdrahtung eine ODER-Verknüpfung mit entsprechenden Ausgängen der übrigen Prozessoren 10 bildet, beim Auftreten eines Signals »Keine Speicheranforderung« auf der Ader 66 und Feststellung der Prozessoreinheitskennzeichnung auf der Ader 52 auf L geht.
Es sei als nächstes angenommen, daß der Prozessor 100 die Register R 1 und R 2 geladen hat und sich im Zustand »WAIT« befindet. Er fordert daher einen Zugriff zu einem Speicherabschnitt an, wenn er durch die Prozessorabrufschaltung 26 adressiert wird. Das Flipflop FF3 befindet sich dann im voreingestellten Zustand, wie oben erläutert, so daß das Gatter 54 über die Ader 64 vorbereitet und das Gatter 56 über die Ader 66 ausgeschaltet ist. Das Galter 56 hält demgemäß die Ader SCY* auf H, wenn das Komparator-Ausgangssignal über die Ader 52 ankommt Dadurch wird der CL-Taktgeber veranlaßt, Zeitsteuerungsimpulse eines langen Zyklus auf die Adern CL 2 und CL 3 zu geben, wenn er den Code der Prozessoreinheit Ci an die Ader CAM anlegt.
Außerdem ist, da sich das Flipflop FF3 im Augenblick im voreingestellten Zustand befindet, das Gatter 54 durch das Signal H auf der .Ader 64 vorbereitet, so daß es beim Auftreten des Kennzeichnungscodes für die Prozessoreinheit Ciauf den Adern CRAf einschaltet und ein Signal H an die Gatter 60 gibt Dieses Signal bereitet die Gatter 112, 118 und 122 vor. Wie nachfolgend erläutert werden soll, liefert der Ausgang dieser Gatter den Kennzeichnungscode des angeforderten Speicherabschnitts an die Adern MR, die Adresse der Daten innerhalb dieses Speicherabschnitts an die Adern AD und ein Signal an die Ader RW, das angibt, ob die jeweilige Speicheranforderung eine Lese- oder eine Schreibanforderung ist Diese Informationen werden an die Sammelleitung 12 gegeben. Beim nächsten Auftreten des Zeitsteuerungsimpulses CL 2 vom CL-Taktgeber 22 am Eingang des Gatters 111 (Fig.2) wird ein Signal über die Ader LFC* in den Speicherabschnitt geführt. Die Zeitsteuerungsfolge für CL 2 ist in F i g. 4 dargestellt. Das Ausgangssignal des Komparators 50 auf der Ader 52 läuft außerdem zum Takteingang des Flipflops FF3. Dadurch wird das Flipflop FF3 bei der Rückflanke des in F i g. 4 gezeigten Ausgangssignals des Komparators 50 gelöscht.
In teilweiser Zusammenfassung kann entsprechend der Erfindung jede der Prozessoreinheiten 10 schnell abgefragt werden, um festzustellen, ob sie einen Zugriff zu irgendeinem Speicherabschnitt 20 benötigt oder nicht. Wenn ein Prozessor 10 einen solchen Zugriff zu einem Speicherabschnitt 20 verlangt, dann wird dem Prozessor ein langer Zyklus von CL-Taktimpulsen zugeführt, damit der Prozessor einen Zugriff zum angeforderten Speicherabschnitt über die Zeitmultiplex-Sammelleitung 12 durchführen kann. Es ergibt sich, daß dieser Zugriff ein besonders zugeordneter Zugriff ist und kein weiterer Prozessor 10 während dieser Zeit einen Zugriff zum Speicherabschnitt erlangen kann. Zu solchen Zeiten überträgt der aufgerufene Prozessor eine Speicherschreib- oder Speicherleseanforderung an einen angegebenen Speicherabschnitt. Der Prozessor geht dann in den Zustand »WAIT«und bleibt in diesem Zustand, bis seine Speicheranforderung honoriert wird.
Der zweite und dritte Arbeitsvorgang, den die logische Schnittstellenschaltung ausführt, treten nur auf, wenn ein Prozessor 100 aufgrund einer früher von ihm erzeugten Anforderung einen Zugriff zu einem der Speicherabschnitte 20 für eine Lese- oder Schreiboperation erlangt. Die Leseoperation soll zuerst erläutert werden. Sie beinhaltet ein zweistufiges Verfahren, das von den internen Zeitsteuerungssignalen Ti, T2, WAIT und T3 des Prozessors 100 abhängt
Vor der Voreinstellung des Flipflops FF3 zur Erzeugung einer bereits beschriebenen Speicheranforderung hat der Prozessor 100 das Register Rl mit Daten geladen, die er auf die Sammelleitung 102 (eine 8-Bit-ParalIelsammelleitung) anlegt. Dies geschah durch Aktivierung der Eingabeleitung 109 des Registers R 1 während des Zustands Tl. Während des Zustands Γ2 hat das Register R 2 Informationen von der Datensammelleitung 102 auf entsprechende Weise aufgenommen. Das Register R 1 nahm den Kennzeichnungscode für den angeforderten Speicherabschnitt in seinen höherstelligen 4 Bits auf. Diese wurden an die Gatter 118 angelegt. Die niedrigerstelligen 4 Bits des Registers R 1 wurden an die Gatter 112 gegeben und mit den 6 höchststelligen Bits des Registers R 2 kombiniert, um die Adresse der gewünschten Daten innerhalb des Speicherabschnitts zu bilden. Ein Bit im Register R 2 wurde zum Gatter 122 gegeben und gab an, ob die Speicheranforderung eine Lese- oder Schreibanforderung war.
Während der früher beschriebenen Zeitsteuerungsabschnitte Tl und T2 wurden also die Register R1 und R 2 mit Daten geladen, die über die Adern 110 bzw. 116 zu den Gattern 112, 118 und 122 zu übertragen sind. Diese Daten wurden zu einem angegebenen Speicherabschnitt übertragen und gespeichert Sie stellen dort eine Lese- oder Schreibanforderung durch den Prozessor an den Speicherabschnitt dar.
Der Prozessor 100 befindet sich jetzt im Zustand » WAIT« und wartet darauf, daß er durch den Speicher bedient wird. Auf später noch zu beschreibende Weise hat der Speicherabschnitt 20 seinen Kennzeichnungscode über die Adern AfR aufgenommen, die Adresse des Datenwortes über die Adern AD, ein Signal, das angibt, ob es sich um einen Lese- oder Schreibvorgang handelt
über die Ader RW sowie die Kennzeichnung des Prozessors, von dem die Anforderung stammt, über die Adern CRM.
Wenn die Leseanforderung des Prozessors durch den Speicher honoriert wird und Daten vom angeforderten Speicherabschnitt zum anfordernden Prozessor 10 übertragen werden, so wird die Kennzeichnung des anfordernden Prozessors Ci durch den Speicherabschnitt auf die Adern CR der Sammelleitung 16 gegeben und zum Komparator 90 übertragen, der ähnlich wie der Komparator 50 ausgebildet ist und ein Signal H auf der Ader 92 erzeugt, wenn sein Kennzeichnungscode festgestellt wird. Ein Signal H auf der Ader 92 bereitet das Gatter 98 vor. das dann durch ein Signal H auf der Ader LDRC von dem angeforderten Speicherabschnitt und ein Eingangssignal H auf der Lese/Schreibader 120 betätigt wird. Ein Signal H auf der Ader 120 gibt an, daß eine Leseoperation stattfindet, während ein Signal L angibt, daß es sich um eine Schreiboperation handelt. Das Gatter 98 erzeugt dann ein Ausgangssignal H auf der Ader 99, die über das ODER-Gatter 154 zur Eingangsader 156 des Registers R 3 führt.
Der Binärzustand der Ader 120 vom Register R 2 steuert außerdem den Multiplexer 160. Eine Leseanzeige auf der Ader 120 (d. h. ein Signal H) veranlaßt den Multiplexer 160, Daten von der Datensammelleitung 14 aufzunehmen und in das Register R 3 einzugeben. Eine Schreibanzeige (d.h. ein Signal L) auf der Ader 120 veranlaßt den Multiplexer 160, Daten von der Sammelleitung 102 aufzunehmen. Dahe: ist für das vorliegende Beispiel die Ader 120 au" .1, und der Multiplexer 160 nimmt die Daten von de: Datensammelleitung 14 auf und gibt sie über die / :r 162 zum Register Λ 3.
Zusammengefaßt liefert also der angeforderte Speicherabschnitt eine Angabe auf der Ader LDRC, daß er zur Übertragung von Daten über die Datensammelleitung 14 bereit ist, und gibt außerdem den Kennzeichnungscode des Prozessors Ciauf die Ader CR.
Das Signal H auf der Ader LDRCbetätigt das Gatter 98 und lädt das Register R 3 mit den Daten auf der Sammelleitung 14 über den Multiplexer 160.
Der Ausgang 92 des Komparator 90 bereitet außerdem das Gatter 87 vor, das bei Eintreffen des LDKC-Signals das Flipflop RFF(M) einstellt. Durch die Einstellung dieses Flipflops wird angezeigt, daß die angeforderte Speicherinformation in das Register R 3 geführt ist, so daß der Prozessor 100 den Zeitsteuerungszustand WAIT verlassen und in den Zustand 103 eintreten kann. Dadurch können die Daten aus dem Register R 3 über die Gatter 104 in den Prozessor 100 geführt werden. Damit ist der Lesearbeitsvorgang zwischen dem Prozessor Ci und einem Speicherabschnitt 20 beendet.
Der letzte Arbeitsvorgang, den die logische Schnittstellenschaltung des Prozessors Ci durchführt, ist der Schreibarbeitsvorgang. Während der Zeitsteuerungszustände Ti und Γ2, die der ursprünglichen Bedienungsanforderung durch den Prozessor zugeordnet sind, wurden die Register R 1 und R 2 mit dem Kennzeichnungscode des Speicherabschnitts, der Adresse des zu lesenden oder einzuschreibenden Speicherwortes sowie einem Bit geladen, das angibt, ob der Arbeitsvorgang ein Lese- oder ein Schreibvorgang ist Der Prozessor bleibt dann im Zustand WAIT, bis seine Anforderung nach einem Schreibvorgang honoriert wird.
Wenn der adressierte Speicherabschnitt 20 bereit ist, die in ihn einzuschreibenden Daten aufzunehmen.
überträgt er den Kennzeichnungscode des anfordernden Prozessors Ciüber die Adern CR zum Komparator 90, woraufhin die Ader 92 auf H geht. Der Speicherabschnitt legt dann ein Signal H an die Ader LDRC, das zusammen mit dem Signal H auf der Ader 92 die Einstellung des Flipflops ftFFveranlaßt
Bei eingestelltem Flipflop ÄFF verläßt der Prozessor den Zeitsteuerungszustand WAIT und tritt in den Zustand Γ3 ein. Das Zustandssignal TZ und das ίο Schreibsignal auf der Ader 120 betätigen zusammen das Gatter 150, das ein Signal H auf der Ader 152 ti.
um das Einführen der auf der Sammelleitung 162 erscheinenden Daten in das Register Λ 3 zu veranlassen. Diese Information werden von der Sammelleitung 102 über den Multiplexer 160 empfangen.
Während der Prozessor 100 sich weiterhin im Zustand Γ3 befindet, wird das Flipflop FF4 eingestellt, so daß das Gatter 134 nachfolgend durch ein Signal ML3 betätigt werden kann. Der in Fig. 1 gezeigte 2Q A/L-Taktgeber 28 steuert jetzt die Übertragung von Daten aus dem Register R 3 zum angeforderten Speicherabschnitt. Beim Auftreten des Zeitsteuerungsimpulses ML 3 (gezeigt in Fig. 5) erzeugt das Gatter 134 ein Signal H auf der Ader 136, um das Flipflop FF5 einzustellen. Dann erscheint ein Signal H auf der Ader 142. Das nächste Auftreten der Kennzeichnung für den Prozessor auf den Adern CR und das Signal LDRC vom Speicher veranlaßt die Betätigung des Gatters 94 und die Rückstellung des Flipflops F"F4, um es für den nächsten Schreibvorgang vorzubereiten. Das Signal H auf der Ader 142 bereitet außerdem die Gatter 164 und 166 vor. Die einzuschreibende Information wird jetzt vom Prozessor Ci über die Adern DATA zum angeforderten Speicherabschnitt geführt, da die Gatter 166 und 164 vorher durch das Ausgangssignal H auf der Ader 96 des Gatters 94 vorbereitet worden sind. Außerdem wird dem Speicher vom Gatter 164 über die Ader R 3 ein Bereit-Signa! zugeführt. Der Prozessor 100 verläßt jetzt den Zeitsteuerungszustand Γ3 und setzt die normale Datenverarbeitung fort
Ein typischer Speicherabschnitt Mj ist in F i g. 3 dargestellt und enthält einen Speicher 200, in den bzw. aus dem jeder Prozessor 10 Daten einschreiben bzw. lesen kann, sowie einen F/FO-Speicher 190, der Rechnereinheiten-Anforderungen speichert. Die dargestellte logische Schnittstellenschaltung kann drei verschiedene Arbeitsvorgänge oder Wechselwirkungen ausführen. Der erste Arbeitsvorgang tritt zwischen den Prozessoren 10 und dem Speicherabschnitt Mj auf, wenn einer oder mehrere Prozessoren Zugriff zum gleichen Speicherabschnitt anfordern. Diese Anforderungen werden im F/FO-Speicher 190 gespeichert und äüi uicSc WciSc bedieili, daß die zuerSi eingegebene Anforderung zuerst ausgelesen wird (first-in first-out). Der zweite Arbeitsvorgang findet statt, wenn Daten aus dem Speicher 200 gelesen werden. Der dritte Arbeitsvorgang ergibt sich, wenn Daten in den Speicher 200 geschrieben werden. Jeder Arbeitsvorgang soll jetzt im einzelnen beschrieben werden.
Wenn unter Bezugnahme auf F i g. 2 einem Prozessor 10 durch die Zeitsteuerungsschaltung 30 ein Zugriff zu einem Speicherabschnitt 20 ermöglicht wird, so wird die Kennzeichnung des angeforderten Speicherabschnitts über die Adern MR der Sammelleitung 12, die Adresse der Speicherstelle, die gelesen oder geschrieben werden soil, über die Adern AD der Sammelleitung 12 und eine Anzeige, ob die Daten aus dem angeforderten Speicherabschnitt zu lesen oder in ihm einzuschreiben
ist, über die Ader R Wder Sammelleitung 12 übertragen. Außerdem wird die Kennzeichnung des anfordernden Prozessors über die Adern CRAf der Sammelleitung 12 gegeben.
Wenn unter Bezugnahme auf F i g. 3 der Speicherabschnitt Mj seinen Kennzeichnungscode auf den Adern MR aufnimmt, gibt der Komparator 180 ein Ausgangssignal H auf die Ader 182, um die Kennzeichnung des anfordernden Prozessors auf den Adern CRAf über Gatter 184 zu den Eingängen des F/FO-Speichers 190 zu übertragen. Auf entsprechende Weise wird die auf den Adern AD erscheinende Adresse über Gatter 186 zum F/FOSpeicher 190 und die Lese-Schreibinformation von der Ader RW über ein Gatter 188 zum F/FOSpeicher 190 übertragen. Das nachfolgende Auftreten eines Signals auf der Ader LFC* veranlaßt, wie oben erläutert, den Speicher 190, die angegebenen Informationen aufzunehmen. Der F/fö-Speicher 190 umfaßt zwei übliche Speicherelemente mit 32 Wörtern und 8 Bits.
Die Art der im Speicher 190 enthaltenen Daten ist in F i g. 3 angegeben, wobei die Bits 0 bis 9 die Adresse AD belegen, das Bit 10 nicht benutzt wird, das Bit 11 das Lese/Schreibbit RW ist und die Bits 12 bis 15 die Prozessorkennzeichnungsbits CR darstellen.
Beim vorliegenden Ausführungsbeispiel besitzt der F/FOSpeicher 190 genügend Speicherraum, um Anforderungen von jedem der Prozessoren 10 aufzunehmen. Wenn daher 16 Prozessoreinheiten vorhanden sind, würden 16 Speicherstellen im Speicher 100 vorhanden sein. Wenn alls 16 Prozessoren 10 gleichzeitig einen Zugriff zum Speicherabschnitt Mj fordern, so ergibt sich, daß dann jede dieser Anforderungen in der Reihenfolge der Aufnahme durch den F/FOSpeicher 190 gespeichert wird. In einem solchen Fall wird, wenn entsprechend F i g. 1 der CL-Taktgeber 22 die Prozessorabrufschaltung 26 weiterschaltet, die Anforderung von jedem Prozessor 10 sequentiell in den F/FOSpeicher 190 gegeben.
Man beachte, daß das Einspeichern in den F/FOSpeicher 190 unabhängig von den übrigen Vorgängen im Speicherabschnitt Mj stattfindet und allein von der Zeitsteuerung des CL-Taktgebers 22 in der Zeitsteuerungsschaltung 30 abhängig ist.
Die übrigen Schnittstellenschaltungen in Fig.3 betreffen allein die nächste Prozessoranforderung, die zu bedienen ist Dies ist die Prozessoranforderung 191, die den unteren Teil des F/FOSpeichers 190 einnimmt. Wie in F i g. 3 gezeigt, wird die Kennzeichnung des Prozessors CR, von dem die Speicheranforderung ausgeht, über Adern 196, Gatter 198 und die CÄ-Adern der Sammelleitung 16 zum anfordernden Prozessor zurückübertragen, wenn die Gatter 198 nachfolgend durch die Ader 242 betätigt werden.
Die Adresse AD der Information im Speicher wird direkt über Ader 192 zum Adresreneingang AD des Speichers 200 übertragen.
Das Lese/Schreibbit RW wird an mehrere Stellen gegeben, die nachfolgend genauer erläutert werden sollen.
Während einer Speicherleseoperation (d. h. wenn das Bit R W auf H ist) führt ein ODER-Gatter 210 das Signal H auf der Ader 194 über die Ader 211 zum Start-Eingang des Speichers 200. Bei diesem Speicher handelt es sich um eine Ausführung bekannter Art.
Bei Beendigung der Speicherleseoperation aufgrund des Erscheinens der Adresseninformation auf den Adern 192 wird ein Signal DONEüber die Ader 201 zum
Gatter 236 übertragen. Dieses Signal veranlaßt in Kombination mit einem Signal H durch das Lese/ Schreibbit RW auf der Ader 194 und der Feststellung
durch den Komparator 202 des Speicherabschnittes Mj, daß der Kennzeichnungscode des Speicherabschnitts auf den Adern MRC eingetroffen ist (d. h. ein Signal H auf der Ader 204) das Gatter 236, ein Signal H auf die
Ader 237 zu geben. Wenn demgemäß der AfL-Taktgeber 28 in Fig. 1
ίο einen Zeitsteuerungsimpuls auf der Ader ML1 erzeugt, um die Speicherabruf schaltung 32 auf den Kennzeichnungscode für den Speicherabschnitt Mj weiterzuschalten, veranlaßt das Signal H des Komparator 202 das Gatter 236, ein Ausgangssignal H über die Ader 237, das ODER-Gatter 240 und die Ader 242 weiterzuleiten, um den Kennzeichnungscode CA dem Prozessor, von dem die Leseanforderung stammt, über die Gatter 198 und die Adern CR der Sammelleitung 16 abzugeben. Außerdem wird das Ausgangssignal H des Gatters 236 über die Ader 237 zum Gatter 222 übertragen, um die Weiterleitung der aus dem Speicher gelesenen Daten über die Adern 220, das Gatter 222 und die Datensammellcitung 14 zu ermöglichen. Schließlich veranlaßt die Betätigung des Gatters 236 die Vorberei tung des Gatte· j 224, das dann bei späterer Ansteuerung durch den Zeitsteuerungsimpuls AiL 2 vom AfL-Taktgeber 28 ein Signal H über die Ader 230, das ODER-Gatter 232 und die Ader LDRC zum anfordernden Prozessor überträgt Die zeitliche Folge der Impulse vom A/L-Taktgeber 28 ist in F i g. 5 dargestellt. Die Aufnahme der Informationen CA, LDRC und DATA auf der Sammelleitung 16 durch den anfordernden Prozessor bei einem Lesevorgang ist oben für den Prozessor Ci analysiert worden.
Es sei darauf hingewiesen, daß die Speicherabrufschaltung 32 in F i g. 1 die erforderlichen Zeitsteuerungssignale über den Komparator 202 abgibt um dem Speicherabschnitt Mj einen speziell zugeordneten Zugriff über die Sammelleitung 16 zur anfordernden Speichereinheit zu ermöglichen, und daß während dieser Zeitspanne kein anderer Speicherabschnitt 20 über die Sammelleitung 16 Zugriff zu irgendeinem Prozessor hat. Die gerade beschriebene logische Schnittstellenschaltung führt die Lesefunktion aus und wartet dann, bis sie bei der Zeitmultiplex-Sammelleitung 16 an die Reihe kommt Das wird durch das Erscheinen ihres Kennzeichnungscodes im Komparator 202 angegeben. Sobald die aus dem Speicher 200 gelesenen Daten an den Prozessor gegeben sind, wird der nächste Prozessor im F/FO-Speicher 190 auf übliche Weise zur Speicherposition 191 gegeben. Wenn die nächste Anforderung ein Schreibvorgang ist, dann muß eine Information vom anfordernden Prozessor zur Schnittstelleinschaltung des Speicherabschnitts Mj übertragen werden, bevor die Schnittstellenschaltung irgendeine andere Arbeit tun kann. Wenn demgemäß das Bit R W auf L ist (d. h einen Schreibvorgang angibt), so erscheint ein Signal L auf der Ader 194 und wird zu den invertierender Eingängen der Gatter 226 und 234 geführt. Beim nächsten Eintreffen des Kennzeichnungscodes des Speicherabschnitts Af/ im Komparator 202 wird eir Signal H auf der Ader 204 erzeugt, das zum Gatter 234 läuft und in Kombination mit dem Signal L auf der Adei 194 ein Signal H über die Ader 238 und da« ODER-Gatter 240 überträgt, so daß die Gatter 198 der Kennzeichnungscode CR des anfordernden Prozessor; von den Adern 196 über die Adern CR dei
Sammelleitung 16 übertragen können. Beim Erscheinen des Zeitsteuerungsimpulses AiL 2 vom AfL-Taktgeber 28 gibt das Gatter 226 ein Signal H über die Ader 228, das ODER-Gatter 232 und die Ader LDRC der Sammelleitung 16.
Wie oben bei der Erläuterung von F i g. 2 erwähnt wartet, wenn die Schnittstellenschaltung des Prozessors Ci ein Schreibkommando verarbeitet, der Prozessor 100 auf die Rückgabe eines Signals auf der Ader LDRC. Wenn ein Signal H auf der Ader LDRC in F i g. 2 ankommt und der Komparator 90 den Kennzeichnungscode CR des Prozessors feststellt, wird das Gatter 87 betätigt und gibt ein Signal H über die Ader 89, um das RFF-Flipflop 84 einzustellen und den Prozessor 100 aus dem Zeitsteuerungszustand WAIT zu bringen. Außerdem wird das Gatter 94 durch das Signal H auf der Ader 92, das Signal H auf der Ader LDRC und das Signal L auf der Lese-Schreibader 120 betätigt. Das Gatter 94
veranlaßt dann die Gatter 164 und 166, das Bereit-Signal auf der Ader RD und die in den Speicherabschnitt Mj einzuschreibenden Daten über die Adern DATA abzugeben.
Entsprechend Fig.3 wird beim Eintreffen eines Signals H auf der Bereit-Ader RD das Gatter 206 veranlaßt, ein Signal H über die Ader 208, das ODER-Gatter 210 und die Ader 211 zum Start-Eingang des Speichers 200 zu geben. Gleichzeitig werden die einzuschreibenden Daten vom Prozessor über das betätigte Gatter 212 und über den Weg 216 in das Register R 4 übertragen. Dieses Register gibt die Daten über den Weg 218 direkt zum Dateneingang aes Speichers 200. Demgemäß werden die im Register R 4 stehenden Daten in die Adresse AD auf den Adern 192 angegebene Speicherstelle eingeschrieben, und zwar beim Erscheinen des Start-Kommandos auf der Ader 211.
Hierzu 3 Blatt Zeichnungen

Claims (4)

Patentansprüche:
1. Schaltungsanordnung zum Abruf von Prozessor- und Speicheranforderungen in einer Multiprozessoranlage mit einer Vielzahl von Prozessoren, wenigstens einem Speicher, der eine Vielzahl getrennt adressierbarer Abschnitte besitzt, einem Zeitmultiplex-Sammelleitungsnetzwerk, das jeden Prozessor mit jedem Speicherabschnitt verbindet, und einer Zeitsteuerung zur Erzeugung einer Vielzahl von Zeitsteuersignalen, dadurch gekennzeichnet,
daß die Schaltungsanordnung folgende Bauteile aufweist:
eine erste Schaltung (26), die unter Anprechen auf erste Zeitsteuerungssignale (CLi) wiederholt und sequentiell alle Prozessoren (10) abfragt, um festzustellen, ob einer der abgefragten Prozessoren (10) Zugriff zu irgendeinem Abschnitt der Speicherabschnitte (20) benötigt,
eine Prozessorschaltung (62, 54, 112, 118, 122), die bei Feststellung, daß der abgefragte Prozessor gerade einen Zugriff benötigt, den abgefragten Prozessor über ein erstes Sammelleitungsnetzwerk (12) mit einem der Speicherabschnitte (20) für einen durch die erste Schaltung (26) gesteuerten Zeitabschnitt verbindet, und der abgefragte Prozessor während dieses Zeitabschnittes Bedienungsanforderungsinformationen (MR) über das erste Sammelleitungsnetzwerk (12) zu dem einen Speicherabschnitt überträgt, eine zweite Schaltung (32), die unter Ansprechen auf zweite Zeitsteuerungssignale (ML X) wiederholt und sequentiell alle Speicherabschnitte (20) abfragt, um festzustellen, ob einer der abgefragten Speicherabschnitte (20) gerade einen Zugriff zu irgendeinem der Prozessoren (10) benötigt, wobei die zweite Schaltung (32) asynchron mit Bezug auf die erste Schaltung (26) betrieben wird,
eine Speicherschaltung (198, 236, 240), die bei Feststellung, daß der abgefragte Speicherabschnitt gerade Zugriff zu einem Prozessor benötigt, den abgefragten Speicherabschnitt über das zweite Sammelleitungsnetzwerk (16) für einen durch die zweite Schaltung (32) gesteuerten Zeitabschnitt mit dem angegebenen Prozessor verbindet,
so daß die Informationen zwischen dem abgefragten Speicherabschnitt und dem einen Prozessor während des letztgenannten Zeitabschnittes übertragen werden.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß die erste Schaltung (26) unter Ansprechen auf die Zeitsteuerungssignale eine Folge von Kennzeichnungscodierungen einer ersten Gruppe erzeugt, wobei jeder Code einem der Prozessoren (10) eindeutig zugeordnet ist und jeder erzeugte Code nacheinander an alle Prozessoren (10) angelegt wird, und daß ein Prozessor (10) mit einer Bedienungsanforderung den Kennzeichnungscode des angeforderten Speicherabschnittes (20) und seinen eigenen Kennzeichnungscode zum angeforderten Speicherabschnitt (20) überträgt, der die Anforderung speichert,
3. Schaltungsanordnung nach Anspruch 1 und 2, dadurch gekennzeichnet, daß die zweite Schaltung (32) unter Ansprechen auf die zweiten Zeitsteuerungssignale eine Folge von Kennzeichnnungscodierungen einer zweiten Gruppe erzeugt, wobei jeder
Code einem der Speicherabschnitte (20) eindeutig zugeordnet ist und jeder erzeugte Code nacheinander an alle Speicherabschnitte (20) angelegt wird, und daß ein Speicherabschnitt mit einer Bedienungsanforderung unter Ansprechen auf eine Anforderung von einem angeforderten Prozessor (10) die geforderte Operation ausführt
4. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet,
daß die Zeitsteuerung (30) in Abhängigkeit davon, daß ein abgefragter Prozessor (10) einen Zugriff zu einem der Speicherabschnitte (20) benötigt, eine Gruppe von Zeitsteuersignalen (CLl, CL 2, CL 3) langer Dauer an den abgefragten Prozessor (10) gibt, daß der Prozessor (10) unter Ansprechen auf die Steuersignale langer Dauer die Übertragung von Signalen vom abgefragten Prozessor (10) zum Speicherabschniti (20) steuert,
und daß die Zeitsteuerung (30) in Abhängigkeit davon, daß ein abgefragter Prozessor keinen Zugriff zu einem der Speicherabschnitte benötigt, eine Gruppe von Zeitsteuersignalen (CLI, CL 2, CL 3) kurzer Dauer an den abgefragten Prozessor (10) gibt.
DE2635592A 1975-08-08 1976-08-07 Schaltungsanordnung zum Abruf von Prozessor- und Speicheranforderungen in einer Multiprozessoranlage Expired DE2635592C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/603,178 US4034347A (en) 1975-08-08 1975-08-08 Method and apparatus for controlling a multiprocessor system

Publications (2)

Publication Number Publication Date
DE2635592A1 DE2635592A1 (de) 1977-02-17
DE2635592C2 true DE2635592C2 (de) 1983-03-31

Family

ID=24414394

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2635592A Expired DE2635592C2 (de) 1975-08-08 1976-08-07 Schaltungsanordnung zum Abruf von Prozessor- und Speicheranforderungen in einer Multiprozessoranlage

Country Status (5)

Country Link
US (1) US4034347A (de)
JP (1) JPS5221736A (de)
CA (1) CA1077593A (de)
DE (1) DE2635592C2 (de)
FR (1) FR2320604A1 (de)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4188668A (en) * 1976-10-04 1980-02-12 International Business Machines Corporation Computer-controlled copier-printers
JPS547252A (en) * 1977-06-20 1979-01-19 Hitachi Ltd Program control system
US4169480A (en) * 1977-08-19 1979-10-02 Biotronik Mess- Und Therapiegerate Gmbh & Co. Demand pacer with programmable rate hysteresis
GB1601955A (en) * 1977-10-21 1981-11-04 Marconi Co Ltd Data processing systems
US4164787A (en) * 1977-11-09 1979-08-14 Bell Telephone Laboratories, Incorporated Multiple microprocessor intercommunication arrangement
JPS6027348Y2 (ja) * 1977-11-11 1985-08-17 株式会社日立製作所 冷蔵庫の貫通孔構造
JPS5479056U (de) * 1977-11-16 1979-06-05
US4363094A (en) * 1977-12-29 1982-12-07 M/A-COM DDC, Inc. Communications processor
US4228500A (en) * 1978-03-27 1980-10-14 Honeywell Information Systems Inc. Command stacking apparatus for use in a memory controller
JPS54146549A (en) * 1978-05-09 1979-11-15 Hitachi Ltd Information processor
US4558412A (en) * 1978-12-26 1985-12-10 Honeywell Information Systems Inc. Direct memory access revolving priority apparatus
US4277827A (en) * 1979-01-02 1981-07-07 Texas Instruments Incorporated Microprocessor based system for the development and emulation of programmable calculator control read only memory software
US4282572A (en) * 1979-01-15 1981-08-04 Ncr Corporation Multiprocessor memory access system
JPS55105763A (en) * 1979-02-05 1980-08-13 Fanuc Ltd Address instruction system
US4254464A (en) * 1979-03-23 1981-03-03 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Common data buffer system
JPS567161A (en) * 1979-06-28 1981-01-24 Hitachi Ltd Memory interface device
FR2462745B1 (fr) * 1979-07-30 1986-01-03 Jeumont Schneider Dispositif de partage temporel de l'acces a une memoire connectee a un bus unique entre un calculateur central et une pluralite de calculateurs peripheriques
US4325116A (en) * 1979-08-21 1982-04-13 International Business Machines Corporation Parallel storage access by multiprocessors
WO1981001066A1 (en) * 1979-10-11 1981-04-16 Nanodata Computer Corp Data processing system
US4376975A (en) * 1980-06-26 1983-03-15 Gte Automatic Electric Labs Inc. Arbitration controller providing for access of a common resource by a plurality of central processing units
US4374413A (en) * 1980-06-26 1983-02-15 Gte Automatic Electric Labs Inc. Arbitration controller providing for access of a common resource by a plurality of central processing units
DE3118818C2 (de) * 1981-05-12 1984-12-20 Siemens AG, 1000 Berlin und 8000 München Verfahren und Schaltungsanordnung zur Übermittlung einer Anforderung eines Prozessors an einen Speichermodul in einem Multiprozessorsystem mit mehreren Speichermoduln
JPS58501602A (ja) * 1981-09-18 1983-09-22 クリスチャン ロプシング エ−・エス マルチプロセッサ・コンピュ−タシステム
US4473880A (en) * 1982-01-26 1984-09-25 Intel Corporation Arbitration means for controlling access to a bus shared by a number of modules
GB2123189B (en) * 1982-06-05 1987-06-10 British Aerospace Communication between computers
US4608663A (en) * 1983-08-31 1986-08-26 Wolsten's Computer Devices, Inc. Computer network for using a common peripheral device
US4722052A (en) * 1984-04-02 1988-01-26 Sperry Corporation Multiple unit adapter
US4773005A (en) * 1984-09-07 1988-09-20 Tektronix, Inc. Dynamic address assignment system
JPH0120629Y2 (de) * 1984-10-02 1989-06-21
US4736317A (en) * 1985-07-17 1988-04-05 Syracuse University Microprogram-coupled multiple-microprocessor module with 32-bit byte width formed of 8-bit byte width microprocessors
US4755937A (en) * 1986-02-14 1988-07-05 Prime Computer, Inc. Method and apparatus for high bandwidth shared memory
US5010476A (en) * 1986-06-20 1991-04-23 International Business Machines Corporation Time multiplexed system for tightly coupling pipelined processors to separate shared instruction and data storage units
US4933846A (en) * 1987-04-24 1990-06-12 Network Systems Corporation Network communications adapter with dual interleaved memory banks servicing multiple processors
US4982321A (en) * 1987-10-23 1991-01-01 Honeywell Inc. Dual bus system
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
US5159686A (en) * 1988-02-29 1992-10-27 Convex Computer Corporation Multi-processor computer system having process-independent communication register addressing
US5050070A (en) * 1988-02-29 1991-09-17 Convex Computer Corporation Multi-processor computer system having self-allocating processors
AU625293B2 (en) * 1988-12-09 1992-07-09 Tandem Computers Incorporated Synchronization of fault-tolerant computer system having multiple processors
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
US5203004A (en) * 1990-01-08 1993-04-13 Tandem Computers Incorporated Multi-board system having electronic keying and preventing power to improperly connected plug-in board with improperly configured diode connections
JPH056344A (ja) * 1991-06-28 1993-01-14 Fujitsu Ltd プログラム走行情報採取処理方式
US7328314B2 (en) * 2002-06-19 2008-02-05 Alcatel-Lucent Canada Inc. Multiprocessor computing device having shared program memory
US7492186B2 (en) * 2005-07-15 2009-02-17 Tabula, Inc. Runtime loading of configuration data in a configurable IC
US7904759B2 (en) * 2006-01-11 2011-03-08 Amazon Technologies, Inc. System and method for service availability management
US9037698B1 (en) 2006-03-14 2015-05-19 Amazon Technologies, Inc. Method and system for collecting and analyzing time-series data
US8601112B1 (en) 2006-03-14 2013-12-03 Amazon Technologies, Inc. Method and system for collecting and analyzing time-series data
US7979439B1 (en) 2006-03-14 2011-07-12 Amazon Technologies, Inc. Method and system for collecting and analyzing time-series data
US9195498B2 (en) 2007-02-28 2015-11-24 International Business Machines Corporation Supply capability engine weekly poller

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3242467A (en) * 1960-06-07 1966-03-22 Ibm Temporary storage register
US3229260A (en) * 1962-03-02 1966-01-11 Ibm Multiprocessing computer system
US3349375A (en) * 1963-11-07 1967-10-24 Ibm Associative logic for highly parallel computer and data processing systems
US3348210A (en) * 1964-12-07 1967-10-17 Bell Telephone Labor Inc Digital computer employing plural processors
US3510844A (en) * 1966-07-27 1970-05-05 Gen Electric Interprocessing multicomputer systems
US3480914A (en) * 1967-01-03 1969-11-25 Ibm Control mechanism for a multi-processor computing system
US3593300A (en) * 1967-11-13 1971-07-13 Ibm Arrangement for automatically selecting units for task executions in data processing systems
US3566363A (en) * 1968-07-11 1971-02-23 Ibm Processor to processor communication in a multiprocessor computer system
US3568160A (en) * 1968-09-03 1971-03-02 Sperry Rand Corp Access control for plural magnetic memories
US3551892A (en) * 1969-01-15 1970-12-29 Ibm Interaction in a multi-processing system utilizing central timers
US3560934A (en) * 1969-06-10 1971-02-02 Ibm Arrangement for effecting vector mode operation in multiprocessing systems
DE2104427C3 (de) * 1971-01-30 1978-09-07 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur Zeitsteuerung von Übertragungsvorgängen
US3715729A (en) * 1971-03-10 1973-02-06 Ibm Timing control for a multiprocessor system
NL7106491A (de) * 1971-05-12 1972-11-14
GB1394431A (en) * 1971-06-24 1975-05-14 Plessey Co Ltd Multiprocessor data processing system
US3798591A (en) * 1971-09-28 1974-03-19 Gen Electric Co Ltd Access circuit for a time-shared data processing equipment
US3812468A (en) * 1972-05-12 1974-05-21 Burroughs Corp Multiprocessing system having means for dynamic redesignation of unit functions
US3840859A (en) * 1972-07-03 1974-10-08 Burroughs Corp Method and apparatus for regulating input/output traffic of a data processing system
US3820081A (en) * 1972-10-05 1974-06-25 Honeywell Inf Systems Override hardware for main store sequencer
US3812473A (en) * 1972-11-24 1974-05-21 Ibm Storage system with conflict-free multiple simultaneous access

Also Published As

Publication number Publication date
FR2320604A1 (fr) 1977-03-04
JPS5221736A (en) 1977-02-18
CA1077593A (en) 1980-05-13
JPS5438031B2 (de) 1979-11-19
US4034347A (en) 1977-07-05
DE2635592A1 (de) 1977-02-17
FR2320604B1 (de) 1979-09-28

Similar Documents

Publication Publication Date Title
DE2635592C2 (de) Schaltungsanordnung zum Abruf von Prozessor- und Speicheranforderungen in einer Multiprozessoranlage
DE2448212C2 (de) Asynchrone Sammelleitung zur Kommunikation mit selbstbestimmter Priorität zwischen Mutterrechnergeräten und Tochterrechnergeräten
DE2856483C2 (de)
DE2628363C2 (de) Datenverarbeitungs-Netzwerk
DE2646296A1 (de) Assoziative elektronische schaltungsanordnung aus digitalen prozessoren
DE3126363C2 (de) Steuerschaltung mit direktem Speicherzugriff und Verfahren zur Steuerung für die Übertragung von Datenwörtern
DE2953861C2 (de)
DE1524882A1 (de) Vorrangschaltung fuer Speicher verschiedener Zugriffszeiten
DE2162806A1 (de) Digitales Eingabe-Ausgabe-Steuersystem mit Kanalpufferung
DE2363846A1 (de) Verfahren zum steuern des transfers von daten zwischen einem speicher und einem oder mehreren peripheren geraeten und nach diesem verfahren arbeitende datenverarbeitungsanlage
DE1524111C3 (de) Elektronische Datenverarbeitungsanlage
DE1954202B2 (de) Elektronische digitale Datenverarbeitungsanordnung
DE2063195A1 (de) Verfahren und Einrichtung zur Opera tionssteuerung einer Anzahl von Speicher einheiten
DE1191145B (de) Elektronische Zifferrechenmaschine
DE2720842C3 (de) Datenübertragungssystem
DE1237812B (de) Datenverarbeitungsgeraet mit mehreren Speichern
DE1499191B2 (de) Elektronische einrichtung fuer eine datenverarbeitungsanlage
DE2412634C3 (de) Prozessor für eine Kleinstrechenanlage
DE1524181B2 (de) Auswahlvorrichtung fuer ein und ausgabegeraete einer daten verarbeitungsanlage
DE2404887C2 (de) Schaltungsanordnung für den Informationsaustausch mit einem Rechner
DE2610428A1 (de) Anordnung zur steuerung der zwischenspeicherung von zwischen zwei funktionseinheiten zu uebertragenden daten in einem pufferspeicher
DE2817135C3 (de)
DE2810434A1 (de) Zwischenschaltung zwischen synchronen fuehl- und steuermatrizen fuer fernmelde- schaltkennzeichen und einem rechner fuer fernmeldedaten
DE2813016A1 (de) Vorrichtung zum verarbeiten von fernmeldesignalisierungen
DE2004762A1 (de) Übertragungsanschlussgerät

Legal Events

Date Code Title Description
8128 New person/name/address of the agent

Representative=s name: BLUMBACH, P., DIPL.-ING., 6200 WIESBADEN WESER, W.

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee