DE2222855A1 - Schienentransportsystem fuer Selektionsinformation und Daten - Google Patents

Schienentransportsystem fuer Selektionsinformation und Daten

Info

Publication number
DE2222855A1
DE2222855A1 DE19722222855 DE2222855A DE2222855A1 DE 2222855 A1 DE2222855 A1 DE 2222855A1 DE 19722222855 DE19722222855 DE 19722222855 DE 2222855 A DE2222855 A DE 2222855A DE 2222855 A1 DE2222855 A1 DE 2222855A1
Authority
DE
Germany
Prior art keywords
rail
information
selection
switching arrangement
processors
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.)
Pending
Application number
DE19722222855
Other languages
English (en)
Inventor
Waumans Benny Louisa Angelina
Brandsma Johan Rudolf
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.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
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 Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of DE2222855A1 publication Critical patent/DE2222855A1/de
Pending 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control

Description

PPIN. 5608. BOSS/EVH.
• .»»all
/in...-.,..: ϊ-ΐ. V. Philipe' Cioü'iQfnpenfabrieken
Akte No., pn kr - , ς>
AomelduriQ vom« ,. ". /V °L" L "
"Schienentransport syst em fUr S elekt ions inf ο rmat ion xind Daten",
Die Erfindung betrifft eine Schaltanordnung zum Verbinden einer Anzahl von (n) Prozessoren mit einer Anzahl von (m) Speichermoduln, mit einer Steueranordnung, mittels der jeder der Prozessoren mit jedem der Speichermoduln verbindbar ist, so dass eine Konversation, d.h. ein Informationstransport zwischen jeder Kombination eines Prozessors und eines Speichermoduls in nahezu jedem Moment möglich ist. Die Schaltanordnung enthält dazu eine erste Prioritätsschaltung, mit der bei mehreren Anfragen von mehreren Prozessoren betreffs einer Verbindung mit einem bestimmten Speichermodul die Anfrage mit der höchsten Priorität unter der Bedingung, dass der betreffende Modul frei ist, erfüllt wird. Ferner enthält die Schaltanordnung wenigstens eine
209848/1077 original jnspected
- 2 - PHN.5608.
für alle Speichermoduln gemeinsame Selektionsschiene zum Transport von Selektionsinformation zu den Speichermoduln, zumindest eine zweite Prioritätsschaltung, mit der bei von der genannten ersten Prioritätsschaltung herrührenden Anfragen auf Verbindung mit mehr als einem Speichermodul die Anfrage mit der höchsten Priorität erfüllt und die zugehörige Selektionsinformation über die genannte Selektionsschiene zu dem betreffenden Speichermodul transportiert wird, wonach die Selektionsschiene für den Transport von Selektionsinformation zu einem anderen Speichermodul wieder frei ist, und wenigstens eine für alle Speichermoduln gemeinsame Eingangs- und Ausgangsschiene, um die ausgewählte einzuschreibende und auszulesende Information zu transportieren.
Derartige Komputersysteme, deren verschiedene
Einzelteile mit anderen Einzelteilen des Systems "konversieren", d.h. Information austauschen können, sind bekannt. Hierbei wird mithin ein gemeinsamer Schienenaufbau verwendet, Eine Sammelschiene (Selektionsschiene, Eingangsschiene, Ausgangsschiene englisch "bus") läuft mithin nicht durch das ganze System hindurch, sondern beschränkt sich auf die Schaltanordnung selbst» Ausserdem ist dieser Schienenaufbau grundsätzlich in eine Selektionsschiene und eine Eingangs- und Ausgangsschiene eingeteilt. Die über die Selektionsschiene in einem Speichermodul angekommene Selektionsinformation trifft eine Wahl im Speicher, so dass infolgedessen Information über die Eingangs- oder Ausgangsschiene transportiert wird, je nachdem, ob eingeschrieben oder ausgelesen wird. Bei dieser Organisation bedeutet das, dass die Schienen
209848/1077
- 3 - PHN.5608.
(Selektions-, Eingangs- und Ausgangsschiene) nur dann besetzt sind, wenn tatsächlich ein Transport stattfindet. Während der V/artezeiten zum Selektieren in einem Speicher selbst und beim Schreiben und Lesen in einem Speicher selbst stehen die Selektions-, die Eingangs- und die Ausgangsschiene zum Transportieren zwischen anderen Kombinationen von Prozessoren und Speichermoduln zur Verfügung, Dennoch wird beim beschriebenen bekannten Aufbau kein optimales Ergebnis erzielt. Die Schienen sind nämlich während des Transportvorgangs noch solange besetzt, bis die betreffende Information an ihrem Endziel angekommen ist. Dies gilt für die Selektionsschiene: Die Selelctionsinf ormation muss über die Schiene zu einem Speichermodul gehen. Die zum Transport der Selektionsinformation von der Selektionsschiene zu dem Speichermodul erforderliche Laufzeit hält die Selektionsschiene auch besetzt. Dasselbe gilt hinsichtlich der Eingangs- bzw. Ausgangsschiene für die Laufzeit von Information von der Eingangsschiene zu einem Speichermodul bzw, von der Ausgangsschiene zu einem Proze.ssor. Insbesondere da heutzutage die Entfernungen zwischen Prozessoren und Speichermoduln stets grosser werden und diese Entfernungen ausserdem je Prozessor und/oder Speichermodul in einem System sehr unterschiedlich sind, sollte dafür gesorgt werden, dass die genannten Laufzeiten die Wirksamkeit eines solchen Systems nicht beeinträchtigen. Da die Schienen nämlich durch die erforderlichen Laufzeiten besetzt sind, wird die je Zeiteinheit zu verarbeitende Informationsmenge begrenzt.
2Uü8/f 8/1077
- h - ywN.5608.
2 2.? 2 8 5
Um einen unbehinderten Verkehr zu ermöglichen, ist eine Lösung in Form einer sogenannten Koppelpunktschaltanordnung (cross bar switch) bekannt, die es ermöglicht, dass .jeder Prozessor in jedem Moment mit einem freien Speichermodul in Verbindung treten kann. Um dies zu verwirklichen ist jedoch ein grosser Materialaufwand not\*rendig, weil nämlich jede mögliche Verbindung vollständig vorhanden sein muss.
Die Erfindung bezweckt, eine Lösung für einen schnellen Verkehrsablauf zwischen den Prozessoren und den Speicherraoduln anzugeben, wobei im Vergleich zu der genannten Koppelpunkt schaltanordnung beträchtlich weniger Hardware erforderlich ist, und wobei dennoch jeder Prozessor in nahezu jedem Moment mit oinem freien Speichermodul in Verbindung treten kann. Ausserdem ist die Entfernung zwischen jedem der. Systemeinzelteile unwichtig geworden, und die Schaltanordnung kann an der in praktischer Hinsicht gunstigsten Stelle angeordnet werden, Un dies zu erreichen, ist das erfindungsgernässe Komputeroystem dadurch gekennzeichnet, dass die Schaltanordnung hinter der erwähnten Selektionsschiene Register zur Speicherung der Selektionsinformation enthält, um die Besetztzeit der gemeinsamen Selektάonsschiene um die Uebertragungszeit zu kurzen, die zum Transport von Selektionsinformation von der Folektioiv-ficldenß zu oinein Speichermodul erforderlich i.-.t. Hierniii i_«;t erreicht, dass die Selektionsschiene ζιγί Transport vom " oleic ti oiiaIii forma tion minimal beset:*:! ist, na.i^pllip knn;i in bezug auf den Tnformationstrnnsport filier
2UÜ8A8/1077
- 5 - PHN.5608.
die Eingangs- und Ausgangsschiene erreicht werden. Dazu ist die erf indungsgernässe 3chaItanordnung dadurch gekennzeichne t, dass die Schaltanordnung hinter der genannten Eingangs- und Avisgangsschiene Register zur Speicherung der in die Speichermo''uln einzuschreibend on und daraus auszulesenden Information ι fjLliffJL, hui 'lic Dosetztzeit der Eingangs- und Ausgangs- !'chione um die Ucbertragungszeit zu kürzen, die zum Inforiiia tioiistranaport von der Eingangs schiene zu einem Speichermodul und von der Ausgangsschiene zu einem Prozessor notwendig ist. Die bisher beschriebene Situation hat noch den Nachteil, dass die Prozessoren und Speichermoduln von den Vorgängen in der Schaltanordnung abhängig sind, Wenn ein Prozessor Selektionsinfornation abschickt und die Selektionsschiene nicht frei ist, so muss diese Selektionsinformation weiterhin iia Prozessor verfügbar sein, denn erst wenn die Selektionsschiene frei wird, kann diese Selektionsinformation passieren, usw. Dasselbe gilt für die Eingangsschiene und für die die Ausgangsschiene benutzende Information, Um in einein vollständigen System alle Einzelteile möglichst unabhängig zu machen, bietet die Erfindung noch eine Lösung, die das Kennzeichen aufweist, dass die Schaltanordnung vor der Selektionsschiene Register zur Speicherung von Selektionsinformation, vor der Eingangsschiene Register zur Speicherung der aus den Prozessoren in die Speichermoduln einzuschreibenden Information und vor der Ausgangsschiene Register zur Speicherung der aus den Speichermoduln gelesenen, zu den Prozessoren zu transportierenden Information enthält, um die Prozessoren und Speichermoduln
2ü 9 Ü/, 8/1077
BAD
- 6 - PHN". 5608.
von der Schaltanordnung unabhängig zu machen. In der Praxis kann die Aufnahme der genannten Register in die Schaltanordnung bedeuten, dass die entsprechenden Register in den Prozessoren und/oder den Speichermodtiln entfallen können, so dass durch diese Massnahme kein zusätzlicher Materialaufwand notwendig wird.
Die Erfindung wird anhand einiger in den Zeichnungen dargestellter Ausfuhrungsbeispiele näher erläutert. Ds zeigen:
Fig. 1 ein schematisches Beispiel eines bekannten 3ami!ielschienensystems ,
Fig. 2 ein erstes schematisches Beispiel eines erf indungsgeriässen Systems ,
Fig. 3 ein etwas ausführlicheres Schema eines Beispiels eines Systems entsprechend einem bekannten Aufbau,
Fig. 4a und B Zeitdiagramme für die Anordnungen nach Fig. 3 *
Fig. 5A und B gemeinsam ein ausführliches Schema eines Beispiels einer erfindungsgemSssen Schaltanordnung,
Fig. 6A und B Zeitdiagranime für die erfindungsgemässe Anordnung nach Fig. 5A und B.
Fig. 1 zeigt ein IComputersystem mit einer Sammelschiene, wie sie in der Einführung bereits erwähnt wurde. Das System besteht aus einer Anzahl von Einzelteilen: D1 bis D5, die Prozessoren, Speicher und Peripherieapparate sein können. SW1 bezeiclinet eine Schaltanordnung. SW1 und 1)1 bis D5 sind alle mit der durch das gesamte System hindurch laufenden Sammelschiene CB verbunden. Nanentlich die
209848/ 1077
- 7 - - PHN.5ό08.
2272855
Einzelteile D1 bis D5 "hangen" an der Schiene, und auf diese Weise können noch mehr Einzelteile daran angehängt werf]on. WGiin in diesem System ein Einzelteil Di eine Verbindung zu einem anderen !einzelteil Dj wünscht, so stellt das Einzelteil Di eine diesbezügliche Anfrage an die Schaltanordnung S¥1. Sind mehrere Anfragen eingetroffen, so wird in einer in SV1 vorhandenen Prioritätsschaltung bestimmt, welche Anfrage erfüllt wird. Die Anordnung SV1 enthält fprnor eine V'\r die korrekte Behandlung der Anfragen sorgende Steueranordnung. Die von einem Einzelteil Di herrührende Information lftuft dann über die Schiene CB, und sie wird von einem einzelteil aufgenommen, nach dem Di gefragt hatte. So findet ein Informationsaustausch über die Schiene CB statt. Dabei passiert die Information aus Di alle Dj vorhergehenden Einzelteile. Nach der Erkennung in Dj, dass sie nämlich für Dj bestimmt ist, wird sie darin aufgenommen, und umgekehrt. Während eines solchen Austauschvorgangs, bei dem jedoch nur während eines geringen Teils der Zeit tatsächlich Information transportiert wird, wird die Schiene CB besetzt gehalten. Die für die Selektion, zum Ein- und Auslesen und dergleichen in einem Einzelteil erforderlichen Zeiten, während denen kein Transport stattfindet, gehen mithin verloren. Bei einem notwendigerweise .•■starken Verkehr in einem solchen System ergibt dies unzulässige Behinderungen. Die Erfindung bezweckt, hierfür eine I.Bsung zu geben, ohne dass die Menge der erforderlichen Hardware ein bestimmtes *'n?;s übersteigt, wie es der Fall wffre, wonn die Lösung riit der bereits genannten Koppelpunkt-.-•chn 1 turig'janordnimg gowShlt würde,
2 0 9,1 A 8/1077
BAb ORIGIMAL
- 8 - PHN.5608.
Fig. 2 zeigt einen ersten Aufbau eines erfindungsgemässen Systems, Es ist sofort ersichtli.ch, dass dies ein vollständig anderer ist als der des Systems nach Fig. 1, denn in Fig. 2 ist eine Schaltanordnung SW zwischen einerseits einer Gruppe von hier beispielsweise drei Prozessoren P, Q und R und andererseits einer Gruppe von hier beispielsweise vier Speichermoduln A, B, C und D angeordnet. Diese Zahlen lassen sich beliebig erweitern. Die Anordnung der Schaltanordnung SW hängt von der geographischen Lage der Prozessoren und Speicher und dem dazwischen stattfindenden Verkehr ab. Ferner lassen sich in der Schaltanordnung die folgenden Anordnungen unterscheiden: SWC, eine Steueranordnung, ferner eine Anzahl von entsprechend der Erfindung in der Schaltanordnung SW aufgenommenen Registern, nämlich Selektionsinformat ionsregi st er PSR, QSR und RSR, für jeden Prozessor P, Q und R jeweils einen, und die Selektionsinformationsregister ASR, BSR, CSR und DSR, für jeden Speichermodul A, B, C und D jeweils einen. Zwischen beiden Registergruppen liegt die gemeinsame Selektionsschiene SB. Ferner sind entsprechend der Erfindung die Eingangs- Ausgangsdatenregister PIOR, QIOR und RlDR bzw. AIOR, BIOR, CIOR und DIOR vorhanden. Zwischen diesen letzteren Gruppen liegen die gemeinsame Eingangsschiene IB und die gemeinsame Ausgangsochiene OB. Die Steuerung des Ganzen findet von den Anordnungen SWC + OC aus statt, siehe hierüber im weiteren. Es sei darauf hingewiesen, dass eine beliebige Erweiterung der Anzahl von Schienen ohne weiteres möglich ist, wenn dies im Hinblick auf die Verkehrsdichte erforderlich pein
209848/1077
- 9 - PKN.5608.
sollte. Ein grosses System mit vielen Prozessoren und Speichern kann beispielsweise mit zwei Selektionsschienen und zwei Eingangs- und Ausgangsschienen erweitert werden.
Das System nach Fig. 2 wird zunächst anhand der Anordnung nach Fig. 3 erläutert, mit dem Unterschied, dass in dem Beispiel nach Fig. 3 die erwähnten Registergruppen PSR, ..., ASR, ...,PIOR, ..., AIOR, ... in den Prozessoren bzw. den Speichermoduln vorhanden sind, und nicht, wie bei der Erfindung in der Schaltanordnung.
In Fig. 5A und B sind diese Register entsprechend der Erfindung wieder in die Schaltanordnung SW aufgenommen.. Es sei an dieser Stelle noch bemerkt, dass diese Register sowohl in SW als auch in den Prozessoren bzw, den Speichermoduln vorhanden sein kBnnen.
In Fig. 3 ist ein etwas ausführlicheres Schema einer bekannten Anordnung dargestellt. Nach Erläuterung dieses Aufbaus wird die Erfindung anhand von Fig. 5A und 5B schnell deutlich. Die Prozessoren P, Q und R enthalten die Selektionsinformationsregister PSR, QSR und RSR und die Eingangs-Ausgangsdatenregister PIOR, QIOR und RIOR. Die Speichermoduln A, B, C und D enthalten die Selektionsinformationsregister ASR, BSR, CSR und DSR und die Eingangs-Ausgangsdatenregister AIOR, BIOR, CIOR und DIOR. In diesem Beispiel sind die Speichermoduln gleichartig, sie haben gleich breite Datenpfade und gleiche Zykluszeiten. Da in diesem Beispiel die erwähnten Registergruppen nicht wie bei der Erfindung in die Schaltanordnung SW aufgenommen sind, ist es notwendig, dass die Laufzeiten der Information
209848/1077
zwischen den Prozessoren tind der Schaltanordnung und auch die Laufzeiten der Information zwischen den Gpeichermoduln und der Schaltanordnung untereinander g-leich sind. Es wird einleuchten, dass dies in praktischer Hinsicht schwierig zu verwirklichen ist, aus dem weiteren geht jedoch horvor, dass es mit der Erfindung völlig gelingt.
Die Schaltanordnung SW enthält die Steueranordnung SWG, eine erste Prioritätsschaltung 1 mit den Teilen 1A1 1B, 1C und 1D und den Besetzt-Flipflops FFA, FFB, FFC und FFD, eine zweite Prioritätsschaltung 2 und schliesslich die drei Sammelschienen SB, IB und OB. Die Selektionsschiene enthält die Torschaltungen SB1 bis SB7. Die Eingangsschiene enthält die Torschaltungen IB1 bis IB7 und die Ausgangsschiene die Torschaltungen 0B1 bis 0B7. Diese Torschaltungen sind doppelt eingerahmt, um anzugeben, dass sie aus einer grossen Anzahl von UND-Toren bestehen, nämlich der gleichen Anzahl wie die der Bits in den Informationspfaden (Anzahl Selektionsinformations- und Datenbits). Für die Selektionsinformation können das beispielsweise 30 Bits (Adressen- + Stevierbits) und für Daten beispielsweise *[kk Bits sein.
Die Wirkungsweise ist nun wie folgt. Anfragen auf Zugang zu einem der Speichermoduln gehen von den Prozessoren aus. Hierzu sendet der Teil Pr, Qr und Rr der Selektionsinformat ionsregister PSR, QSR und RSR ein Anfragesignal aus, welches die Nummer des Anfragers (des Prozessors) und die Nummer des Angesprochenen (des Speichermoduls) enthält. Diese Anfragesignale gehen zur Prioritätsschaltung 1 der Anordnung SW. An den Eingängen des Teils 1A werden die
209848/1077
- 11 - PHM.5608.
Anfragen auf Verbindung mit dem Speichermodul A, an denen dos Teils 1B die Anfragen für B, an denen des Teils 1C die Anfraß-on für C und an denen des Teils 1D die Anfragen für D (je.sammelt. In Abhängigkeit davon, ob ein betreffender Modul in dem Moment bereits besetzt ist, was durch die Besetztstellung der Flipflops FFA, .·.., bzw. FFD angegeben wird, wird die Anfrage mit der höchsten Priorität gewertet. Die Priorität kann eine feste sein! So hat beispielsweise der Prozessor P die höchste, Q die bis auf eins höchste Priorität, tisw. Die Priorität kann auch zyklisch oder vollständig variabel sein, was die Prozessoren jeweils untereinander bestimmen müssen,
Alle Ausgänge der Prioritätsschaltungsteile 1A, ..., 1D sind mit der Steueranordnung SWC verbunden. Je Teil 1A, ..., 1D kann jedoch nur eine Ausgangsleitung "hoch" sein. In SWC wird je Modul A, ..., D, die Nummer des anfragenden Prozessors -gespeichert, Ferner enthält die Anordnung SWC je Modul einen Zähler (siehe im weiteren Fig. 5A), mit dem der weitere Verlauf gesteuert wird. Die Ausgänge CA, CB, CC und CD haben Signale, wenn Anfragen für die betreffenden Moduln gestellt worden sind. Diese Ausgänge sind mit den Eingängen der zweiten Prioritätsschaltung 2 verbunden. In dieser Schaltung 2 wird bestimmt, welcher Modul A, ...,D Vorrang vor den anderen Moduln hat, um der Anfrage des den betreffenden Modul verlangenden Prozessors zu genügen. Der Vorrang kann durch die Moduln bestimmt sein: So hat zum Beispiel A die höchste Priorität usw.,, in der Praxis wird dies jedoch durch den anfragenden Prozessor bestimmt.
2Ü98A8/ 1077
- 12 - PHN.5608.
Vergleiche die Erläuterungen hinsichtlich des Prioritätsschemas bei der Schaltung 1, Als Ergebnis ist in jedem Fall einer der Ausgänge von 2 "hoch". Dies wird der Anordnung SWC weitergeleitet. Mit diesem "hohen" Signal an einer der Leitungen A2, B2, C2 oder D2 xiird in der Anordnung SWC festgestellt, welcher Prozessor seine Selektionsinformation weitergeben kann.Hierzu wird eine der Leitungen CSB, von SWC ausgehend, "hoch" und eine der Torschaltungen SB1, SB2 oder SB3 öffnet sich: Die Selektionsinformation PS, QS oder RS geht über die Selektionsschiene SB. Ausserdem ist eine der Torschaltungen SB^, .·., SB7 geöffnet, nämlich diejenige, die von der Schaltung 2 aus angesteuert wird, weil eine der Leitungen A2, ..., D2, "hoch" ist. Auf diese Weise geht die erwähnte Selektionsinformation PS, QS oder RS zu einem der Speichermodulselektions-Informationsregister ASR, BSR, CSR oder DSR. Danach ist die Selektionsschiene wieder frei, so dass ein neuer Transport von Selektionsinformation möglich ist. Es ist letzten Endes so, dass die Selektionsschiene je Anfrage nach einem der Moduln nur dann besetzt ist, solange der Transport von Selektionsinformation vom Eingang einer der Torschaltungen SB1, SB2, SB3 über eine der Schaltungen SB4, ·.·, SB7 zu einem Speichermodul dauert. Die Laufzeit zwischen SW und einem Speichermodul ist hier also von Bedeutung,
In Fig. 4a und ^B sind Zeitdiagramme dargestellt, in denen ein Lese- bzw, ein Schreibvorgang dargestellt ist. Betreffs des Selektionsvorgangs sind beide Figuren gleich. Es sind in den Diagrammen drei Niveaus vorhanden:
209848/ 1077
- 13 - PHN.5608.
das Prozessor-, das Schaltanordnung- und das Speicherniveau. Eine Speicheranfrage Xr benötigt T1 Zeiteinheiten, um von einem Prozessor zur Schaltanordnung SW zu gehen. Nach einer Entscheidungszeit S1 bei der ersten Prioritätsschaltung 1 und einer Entscheidungszeit 02 bei der zweiten Prioritätsschaltung 2 wird eine Anfrage hindurchgelassen, d.h., es geht Selektionsinformation über die Selektionsschiene, und dies dauert eine feste Zeit T, Muss eine Anfrage warten, so kommt noch eine Wartezeit hinzu, die mithin veränderlich sein kann. Danach dauert es noch eine Zeit T2, bevor die Selektionsinformation den Speichermodul erreicht. In diesem Aufbau (keine Register in der Anordnung SW) ist die Selektionsschiene je Transport von Selektionsinformation während einer Zeit T + T2 besetzt.
Unmittelbar beim Empfang von Selektionsinformation startet der Speicherzyklus (Schreibkommando Rd), Da bekannt ist, wie lange es dauert (Zugriffszeit ta), bevor nun Information aus dem Speicher ausgelesen und nach dem Zeitpunkt Rw wieder zurückgeschrieben werden kann, findet in diesem Beispiel folgendes statt. Die Steueranordnung SWC gibt in dem Moment ti, in dem aus einem Modul ausgelesene Information in der Schaltanordnung SW ankommt, ein Signal an eine der Leitungen C0B1, nämlich an diejenige Leitung, die dafUr sorgt, dass sich entweder die Torschaltung 0B1, 0B2, 0B3 oder OB4 öffnet, in Abhängigkeit davon, in welchem Speichermodul Daten ankommen. Die Daten gelangen mithin in die Ausgangsschiene OB, Die Anordnung SWC steuert Über eine der Leitungen C0B2 eine der Torschaltungen 0B5, 0B6 oder 0B7,
209848/1077
- 14 - , PFK.5608.
nämlich genau diejenige, die Zugang zum Prozessor verleiht, der nach den nun vorhandenen Daten gefragt hat. Es besteht wieder eine feste Schienenzeit, nun von der Ausgangsschiene, T und eine Laufzeit T1 für den Datentransport von der Anordnung SW zu dem betreffenden Prozessor. Die Ausgangsschiene ist in. diesem Beispiel mithin je Datentransport T + T1 besetzt. Die gelesenen Daten gehen dabei von dem betreffenden Register AIOR, ..., DIOR über die Ausgangsschiene OB zum betreffenden Register PIOR, ..., RIOR. Vorstehendes bedeutet, dass in bezug auf den Auslesevorgang während eines vollständigen Zyklus eines Speichermoduls (Fig. 4a, Rd - (Rd)) die Selektionsschiene SB zu einem Teil von T + T 2 besetzt ist. Beträgt Rd - (Rd) beispielsweise 300 n/sec und T + T2 = ho + 20 = 60 n/sec, so können mithin über die Selektionsschiene während eines vollständigen Speicherzyklus höchstens 5 Selektions-Informationstransporte stattfinden. Dies hängt von den Abständen zwischen den Speichermoduln und der Schaltanordnung ab. Ueber die Ausgangsschiene können in diesem Fall beispielsweise = —r^rtjt = 5 Ausgangsdaten-Transporte stattfinden. Dies hängt von den Abständen zwischen der Schaltanordnung und den Prozessoren ab. Das Einschreiben von Daten in einen Speichermodul findet wie folgt statt (Fig. 3 und Fig. kB): Der Selektionsvorgang ist gleich dem oben beschriebenen. In einem Moment, nachdem die Selektionsschiene einem anfragenden Prozessor zugewieden ist, sorgt die Steueranordnung SWC in diesem Beispiel dafür, dass die Eingangsschiene IB für die aus einem betreffenden Prozessor in einen betreffenden Modul einzu-
209848/1077
- 15 - ΡΚΝ»5ίΚ>8.
schreibenden Daten bereit steht. Mit anderen Worten» Eine der Leitungen CIB1 ist von der Anordnung SWC aus erregt. Von den Torschaltungen IBI, IB2, IB3 Öffnet sich diejenige, die einem Prozessor zugewiesen ist, der in dem Moment in einen Modul schreiben darf* Die Schaltung Ib1 hat dazu eine Verbindung (Datenpfad) mit dem Register PIOR des Prozessors P: PI, Eingang von IB, Ib2 ist ebenfalls Über QI mit dem Register QIOR von Q und IB3 über RI mit RIOR des Prozessors R verbund en-. Andererseits ist von der Anordnung SWC aus über eine der Leitungen CIB2 diejenige Torschaltung der Torschaltungen XBh, , .., IB? geöffnet, die Zugang zu dem Modul verleiht, der die Daten empfängt, um sie einzuschreiben, XBh ist dazu mit AIOR, und IB5 mit BIOR verbunden, usw.
Aus Fig. hB wird ersichtlich, was das vorhergehend Beschriebene in der Zeit bedeutet. Angenommen, im Zeitpunkt t2 öffnet sich die Eingangsschiene,- und die Daten gehen durch die Schiene IB zu einem Modul; dies dauert T + T 2, In diesem Fall, in dem sich die Registergruppen nicht wie bei der Erfindung in der Schaltanordnung befinden, können die Daten grundsätzlich, wenn ein vorhergehender Lesezyklus stattfand, zugleich mit dem Anfragesignal Xr vom Prozessor abgehen, so dass diese Daten bereits vor dem Zeitpunkt.t2 in SW zur Weitersendung über IB usw. vorhanden sind. War der vorige Zyklus ein Lesezyklus, so ist es möglich, dass die aus einem Modul gelesene Information in dem Moment, in dem Xr für einen Sclireibzyklus zugänglich ist, noch nicht in dem betreffenden Prozessor eingetroffen ist. Dies bedeutet, dass die einzuschreibende Information noch
2üti848/1077
- 16 - PTIN. 5ό08.
nicht aus einem Prozessor wegge schickt werden kann. In dem Beispiel nach Fig. kB ist dies mit einer strichpunktierten Linie angegeben: Der vorhergehende Zyklus ist ein Lesezyklus, und die Daten gelangen in ein Eingangs-Ausgangsregister PIOR,.. in dem Moment to. Nach dem Moment to kann mithin Information zur Schaltanordnung geschickt werden. Die Daten können den Prozessor jedoch auch etwas später verlassen. Dies bedeutet, dass die betreffenden Daten im Prozessor später in einem Eingangs-Ausgangsregister PIOR, ... zur Verfügung stehen dürfen. In diesem Beispiel verlassen die Daten den Prozessor in dem Moment Xd, um zu einer Zeit t2 am Eingang der Scheine IB anwesend zu sein. Aus Fig. *H3 geht hervor, dass der letzte Moment, in dem die Daten den Prozessor verlassen können, durch Xd1 = Wr - T2 - T - T1 ist, damit sie im Moment Wr noch im Modul ankommen ( siehe gestrichelte Linie). In diesem Beispiel bedeutet dies, dass die Eingangsschiene je Transport während T + T2 besetzt ist. Dies bedeutet mit den bereits erwähnten Zahlen, dass = 5 Schreibtransporte über die Eingangsschiene je Speicherzyklus möglich sind. Insgesamt bedeutet das vorstehend Beschriebene, dass innerhalb des Rahmens der· erwähnten Speicherzykluszeit nicht wie im Beispiel k sondern 5 Speichermoduln anschliessbar sind, ohne dass unbedingt eine Behinderung auftritt. Dasselbe gilt für die Anzahl von Prozessoren, die auch 5 sein kann. Ist eine Behinderung erlaubt, selbstverständlich bis zu einem gewissen Masse, so können selbstverständlich noch mehr Prozessoren 'and/oder Speichermoduln angeschlossen werden,
2U9848/1077
- 17 - PUN.5608.
Die Anforderungen, denen die Spe3.chermoduln in dem Au s füll rung sb ei spiel nach. Fig. 3 genügen müssen, können praktische Nachteile haben. Um dies zu verhindern, kann eine Prioritätsschaltung in die Schaltanordnung SW für die Eingangs- und Ausgangsschiene aufgenommen werden. Hiermit wird erreicht, dass eine direkt zu behandelnde Anfrage-angegeben wird, während der Rest warten muss. Dies ist bei Pig. 5A und B beschrieben.
Durch die Aufnahme der erwähnten Registergruppen PSR, ..., ASR, ..., PIOR, ..., AIOR, ... in die Schaltanordnung (siehe Fig. 2) kann die angestrebte Einsparung an Besetztzeit (wie oben genannt bei Fig. 3tk) der jeweiligen Schienen erreicht und die Unabhängigkeit der Systemeinzelteile verwirklicht werden. Diese Punkte werden anhand eines Ausführungsbeispiels entsprechend der Erfindung er'lSutert, das in den Fig. 5A und B dargestellt wird, und anhand der Zoitdiagramuie in Fig. 6"A und B. In den Fig. sind dieselben Bezugszeichen wie in Fig. 3 verwendet. Fig. 5A zeigt einen Teil der Schaltanordnung SW mit der Selektionsschiene, während Fig. 5B teilweise den gleichen Abschnitt wie Fig. 5A uid ferner die Eingangs- und Ausgangsschiene darstellt. In Fig. 5A und B wird die Anordnung anhand einer bestimmten Situation beschrieben: Der Prozessor P fragt nach dem Modul B, '1 nach A und Π nach A bzw. D. Die "hohen" Leitungen sind in diesem Beispiel fett gedruckt dargestellt.
In Fig. 5Λ sind die Selektionsinformationsregisfter PSR, QSR und RSIl entsprechend der Erfindung in die Schaltanordnung GW aufgenommen. Die Prozessoren P, Q und R liegen
209848/1077
- 18 - FUN.5608.
in bestimmten beliebigen Abständen. Im Register PSR ist hier ein Teil für die Aufnahme der Nummer desjenigen Prozessors reserviert, von dem die Selektionöinformation herrührt, nä;nlich Pn. Uebrigens kann eine solche feste Information wie Pn auch fest verdrahtet sein.
Ferner ist eine Stelle zur Aufnahme des Anfragesignals mit Angabe der Richtung reserviert, d.h., an welchen Modul die Anfrage gerichtet ist: PrB, der Prozessor P fragt also nach dem Modul B. Ebenso gibt es Teile Qn, Rn und QrA (Anfragen für A), RrA (Anfragen für A und auch Anfragen für D: Rr1D). Die Anfragesignale Pr, Qr, Rr werden jeweils einem der Prioritätsschaltungsteile 1A, 1B, 1C und 1D der Prioritätsschaltung 1 zugeführt. Dabei müssen für 1A die Anfragen für den Modul Λ, für 1B die Anfragen für den Modul B, für 1C die Anfragen für den Modul C und für 1D die Anfragen für den Modul B gesammelt werden. Dazu wird für 1A die Modulnummer An mit den Modulnummern der Anfragesignale Pr, Qr und Rr in den Vergleichern 101, 102 und 103 verglichen. In 102 besteht eine Uebereinstimmung zwischen An und QrA, der Ausgang von 102 wird mithin "hoch". In 103 besteht eine Uebereinstimnmng zwischen An und RrA, der Ausgang von 103 wird mithin gleichfalls "hoch". Ebenso gibt es Vergleicher 104, 105, 106 für die Modulnummern Bn, 107, 108, 109 für Cn und 110, 111, 112 für Dn. Aufgrund des gewählten Beispiels sind die Ausgänge von 104 und 112 "hoch". Es sei hier bemerkt, dass aus dem Prozessor R eine Anfrage für den Modul A und beispielsweise etwas später eine
209848/1077
Anfrage für den Modul D eingetroffen ist. Es ist möglich, dass wenn die Anfrage für A nicht gewertet wird (wie in diesem Beispiel der Fall ist) in R nicht gewartet wird, sondern dass auf einen anderen Mikroprogrammteil übergegangen wird, wofür in diesem Beispiel eine Anfrage für den Modul D notwendig ist. Die Besetzt-Flipflops FFA, FFB und FFC geben hier an, dass Anfragen, gestellt worden sind und dass aufgrund der vorgewiesenen Priorität einer der Ausgänge von U, 1S und 1D "hoch" ist. Das Flipflop FFC gibt hier mithin kein Besetztsignal für 1C ab. Aufgrund der Priorität, hier beispielsweise: "Eine Anfrage des Prozessors P hat Vorrang.vor einer Anfrage von Q bzw. R," sind die Ausgänge mit der Bezeichnung 1AQ bzw. 1BP bzw. 1DR "hoch". Alle Ausgänge von. 1A-, 1Br 1C und 1D werden der Steueranordnung SWC zugeführt. Dies gilt auch für die Prozessornummern Pn, Qn und Rn aus jeweils PSR, QSR und RSR. In den Torschaltungen (die Anzahl von Toren je Schaltung ist nur begrenzt, beispielsweise 3 auf S Prozessoren) 113» ··· 124 werden die folgenden Faktoren zusammengefasst: In der Schaltung 113 die Nummer Pn mit dem Signal am Ausgang 1AP, in 114 die Nunmer Qn mit dem Signal am Ausgang 1AQ, in 115 die Nummer Rn mit dem Signal am Ausgang 1AR. Dasselbe gilt mutatis'mutandis auch für die Torschaltungen 116, 117 und bzw. 119, 120 und 121 bzw. 122, 123 und 12^. Die Ausgänge der beschriebenen Gruppen der drei Torschaltungen sind in einer ODER-Funktion vereinigt und mit den jeweiligen Pro ze p. nornunimerregist era· XnA, XnB, XnC und XnD verbunden. In XnA wird auf diese Weise die Prozessornummer jenes
2098 4 8/1077
- 20 - PlW, 5608.
Prozessors stehen, dem 1A den Zugang zum Modul A gestattet hat, usw. Dios bedeutet in dem gewählten'Beispiel, dass in XnA Qn stehen wird; in XnB steht Pn und in XnD steht Rn. Mit den Ausgängen der erwähnten Gruppen von drei Torschaltungen sind ferner auch die jeweiligen Zähler CCA, CCB, CCC und CCD verbunden. Diese Zähler liegen an einer Taktleitung Cl,
Weil ein genannter Gruppenausgang (beispielsweise von 113» 11^, 115) "hoch" wird, startet der damit verbundene Zähler CCA. In einem bestimmten Moment sind mithin die Zähler CCA, CCB und CCD gestartet. Solange nichts geschieht, läuft ein oder laufen mehrere Zähler in einem Warteumlauf. Das Starten eines Zählers verursacht gleichfalls, dass eine Leitung CA bzw. CB und CD "hoch" wird. Eine Leitung CC bleibt in diesem Beispiele "niedrig". Diese Leitungen CA, ... CD liegen an den Eingängen der Prioritätsschaltung 2. Hierin wird aufgrund eines Prioritätskriteriums, beispielsweise: "Eine Anfrage für den Modul A hat Vorrang vor einer Anfrage für B" usw. bestimmt, welchem Modul eine Anfrage zugewiesen wird. In diesem Beispiel ist es der Modul A, Damit ist der Ausgang A2 "hoch". In Fig. 5A wird anhand einer Prioritätsschaltung 2' demonstriert, dass es noch andere Möglichkeiten gibt. Dieser Schaltung werden die in den Prozessornummerregistern XnA, ... stehenden Prozessornummern über die Leitungen CA', CB', CC und CD' zugeführt. Anhand jener Nuinnern kann nun festgestellt werden, zu welchem Modul eine Anfrage gehen wird, Beispiel: Die Leitung mit der niedrigsten Prozessornummer erhält Priorität. In diesem Fall wird mithin der B21 Ausgang "hoch", da nämlich der
209848/1077
- 21 - PHN.5608.
Prozessor P nach, dem Modul B fragt. ( In XnB steht die Nummer Pn). Andere Möglichkeiten sehen so aus: In Abhängigkeit von einem bestimmten Zustand hat der Prozessor X Vorrang vor den anderen Prozessoren, Ferner kann eine untereinander wechselnde Reihenfolge festgestellt werden, usw. Alles geschieht entsprechend bekannten Prioritätsmethoden.
Es wird ferner davon ausgegangen, dass der Ausgang A2 von 2 "hoch" ist.
Jeder dieser Ausgänge A2, ... D2 ist mit dem betreffenden Zähler CCA, ... CCD verbunden. Der "hoch" werdende Ausgang von 2 nimmt den betreffenden Zähler (hier A2 also den Zähler CCA) aus dem obengenannten Wartelauf, Der weitere Lauf dieses Zählers steuert nun den weiteren Vorgang, der mit dem Speichermodul A stattfindet. Da nun bekannt ist, zu welchem Modul Zugriff verliehen wird, muss die Kombination Prozessor mit Modul gemacht werden. In diesem Beispiel wird der Prozessor Q mit dem Modul A in Verbindung treten. Diese Kombination wird mit Hilfe der UND-Tore 125, ··· 136 hergestellt. Der Ausgang 1DP des Prioritätsschaltungsteils 1D und der Ausgang D2 von 2 bilden die Eingänge für das UND-Tor der Ausgang TDQ von 1D und der Ausgang D2 von 2 bilden die Eingänge für das UND-Tor 126 usw. für alle Ausgänge der Prioritätsschaltung 1, und von 2 für alle weiteren Tore 127, ... 136. Nur für eines dieser Tore werden zwei Eingänge "hoch" sein. In diesem Beispiel nämlich die von 1AQ und Ä2 herrührenden Eingänge. Hiermit wird die Leitung.CSBQ "hoch". Die anderen Steuerleitungen CSBP und CSBR bleiben "niedrig". Diese Leitungen CSB (P, Q, R) dienen zur Ansteuerung der
20984 8/1077
- 22 - PKW.5608.
Selektionsschiene SB, und sie sind dazu mit den jeweiligen Torschaltungen SB1, SB2 bzw. SB3 verbunden. Die Schaltung SB2 öfFnet sich (CSBQ ist "hoch"), und sie lässt die im RegisterT teil QS des Registers QSR stehende Selektionsinformation zur anderen Seite der Selektionsschiene SB hindurch, nämlich zu den Torschaltungen SB4, ... SB7. Von diesen Torschaltungen ist nur SB4 auf das Durchlassen dieser Selektionsinformation vorbereitet, da nämlich der Ausgang A2 von 2 "hoch" ist. SB5» SB6 und SB7 sind ihrerseits jeweils mit den "niedrigen" Aiisgängen B2, C2 und D2 von 2 verbunden. Der gerade aus dem Wartelauf genommene Zähler CCA gibt mit einem Impuls am Eingang rd don richtigen Moment an, um die Selektionsinformation über die betreffende vorbereitete Torschaltung SB** zu dem betreffenden Selektionsinformationsregister ASR, das gemeinsam mit den anderen Registern BSR, CSR und DSR an den Ausgängen der Seiektionsschiene SB liegt, zu übertragen. Hiernach ist die Selektionsschiene frei, denn der weitere Transport von Selektionsinformation von ASR aus zum Modul A kann nun selbstständig erfolgen. Dies geschieht gemeinsam mit dem genannten Impuls am Ausgang rd des Zählers CCA1 der als Start (read)-impuls für den Speichermodul A dient. Durch den weiteren Lauf des Zählers CCA wird der mit dem Eingang CA der Prioritätsschaltung 2 verbundene Ausgang "niedrig". Dies bedeutet, dass der Weg für eine folgende Anfrage geöffnet wird. Es kann nun beispielsweise eine Anfrage für den Speichermodul B gewartet werden. B2 würde hoch werden, der Zähler CCB wird aus dem Wartelauf genommen, usw. Es kann also bereits während des Transports von
209848/ 1077
- 23 - ΡΗΓΤ.5008.
Selektionsinformation vom Register ASR.zum Modul A wieder Selektionsinformation für einen anderen Speichermodul über die Selektionsschiene kommen.
In Fig. 6A und B ist dies noch einmal in der Zeit dargestellt. Hinsichtlich der Selektion entsprechen diese Fig. 6A und B den Fig. kA und B. Es besteht nun jedoch dieser grundsätzliche Unterschied, dass die Besetzung der Selektionsschiene SB nicht die Zeit T + "C 2 dauert, sondern nur eine Zeit T. Diese Zeit T ist durch eine sogenannte Registerzeit festgelegt ι nämlich diejenige Zeit, in der die Selektionsinformation eines der Register PSR, ... QSR über die Schiene zu einem der Register ASR, .,, DSR läuft, und darin ist die Torschaltzeit einer der Torschaltungen SB1, ... SB3 und SB^, ... SB7 einbegriffen, die in der Praxis die Eingangstore der Register sein können. Eine solche Registerzeit T kann beispielsweise 37»5 nsek sein. Dauert ein vollständiger Speicherzyklus 300 nsek, so bedeutet dies, dass mit einer erfindungsgemässen Selektionsschiene in einem Speicherzyklus = 8 Selektionsinformationstransporte stattfinden können.
Es sei hier noch bemerkt, dass statt mit den UND-Toren 125 bis 136 die genannte Kombination Prozessor-Speichermodul noch auf andere Art und Weise hergestellt werden kann. Es können nämlich auch die in den Registern XnA, ... XnD gespeicherten Prozessornummern in Kombination mit den Ausgängen der Prioritätsschaltung 2 verwendet werden. Siehe die strichpunktierte Linie in Fig. 5A. Die Prozessornummern werden den Torschaltungen (von der gleichen Art
209848/10 7 7
- Zh - ρ.ίΝ.5608.
wie die Tore 113 bis 1.°Λ) 137, 138, 139 und i4ö angeboten. Es öffnet sich nur diejenige Torschaltung, die als Eingang einen "hohen" Ausgang von der Prioritätsschaltung 2 empfängt, hier also 1371 die mit der "hohen" Torschaltung A2 verbunden ist» In diesem Fall steht die Prozessornummer Qn in einem Zwischenregister Xnr» In Vergleichsschaltungen 141, 1^2 und 1^3 wird diese Nummer mit den in den betreffenden Registern PSR, QSR und RSR stehenden Prozessornummern Pn, Qn und Rn verglichen. Bei Uebereinstimmung - hier in 1^2 - wird die Leitung CSBQ "hoch". Die beiden anderen Leitungen CSBP und CSBR bleiben niedrig. Siehe ferner oben, wo die Leitungen CSB (P, Q, R) in die Selektionsschiene SB kommen.
Zur Beschreibung des weiteren Vorgangs wird nun auf die Darstellung in Fig. 5B eingegangen. Hier sind nochmals die Prozessornummerregister XnA, ... XnD,und. die ZShler CCA, ... CCD dargestellt. Ferner sind hier die Eingangsschiene IB und die Ausgangsschiene OB mit den entsprechend der Erfindung in die Schaltanordnung aufgenommenen Register PIOR, ... RIOR und AIOR, ... DIOR dargestellt. Ferner sind in diesem Beispiel noch eine Prioritätsschaltung 3 für die Eingangsschiene IB und eine Prioritätsschaltung h für die Ausgangsschiene OB wiedergegeben. Die Flipflops FFIB und FFOB geben an, ob die jeweiligen Schaltungen 3 und h frei sind oder nicht. Diese Schaltungen 3 und k sind vorhanden, damit die Informationstransporte zwischen den verschiedenen Prozessoren und Speichermoduln über die Schienen IB und OB nicht unbedingt innerhalb enger Zeitgrenzen laufen müssen. Sind diese Schaltungen nicht
20y848/1077
- 25 - PHN,5608.
vorhanden, so darf keine Situation auftreten, in der in einem bestimmten Moment mehr als ein Transport über eine der Schienen stattfinden muss. Insbesondere dann, wenn Speichermoduln mit verschiedenen Zugriffszeiten und/oder mit Datenpfaden verschiedener Breite vorhanden sind, so dass ftir bestimmte Moduln je zu transportierendem Wort beispielsweise mehrere Transporte, nacheinander erforderlich sind, oder wenn grosse Abstandsunterschiede zwischen der Schaltanordnung und den Prozessoren und/oder den Moduln bestehen, so ist eine solche Prioritätsschaltung je Schiene notwendig, um Behinderungen zu vermeiden und auf diese Weise mehrere verschiedene Transporte je Zeiteinheit zu ermöglichen. Nun können Wartezeiten für die Eingangs- und Ausgangsschiene auftreten, die bei einer guten Organisation eines Komputersystems und einer günstigen Wahl des Prioritätskriteriums, vorzugsweise von der gleichen Art wie bei der bereits genannten zur Selektionsschiene gehörigen Prioritätsschaltung 1, klein sind.
Die Wirkungsweise wird anhand der Fig. 5B, 5A und Fig. 6A und B beschrieben. Zunächst wird ein Lesevorgang beschrieben (Fig. 5B mit Fig. 6A). Das Beispiel von Fig. $k (der Prozessor Q fragt nach dem Modul A) wird hier fortgesetzt. Der Zähler CCA hat den Impuls am Ausgang rd (siehe auch Fig, 5A) abgegeben, und damit beginnt die Selektionsschienenzeit T (t3). Der Zähler läuft weiter, und zwar soviel Schritte, gespeist durch Taktimpulse am Takteingang Cl, wie die Zeit tk-tl dauert. Diese Zeit ist je Speichermodul in einer bestimmten Konfiguration eine feste
209848/1077
- 26 - FHX.5608.
Zeit, und sie wird durch eine bestimmte Zählerstellung dargestellt. Sie wird durch die Summe der folgenden Zeiten bestimmt.· T + T2 + Zugriffszeit + T2 - 62, mithin durch die Zeit T, die die Selektionsinformation benötigt, um über die Selektionsschiene zu laufen, und die Zeit, die sie benötigt, um zwischen der Schaltanordnung und dem betreffenden Speichermodul zu laufen ("CZ) und ferner die Zeit, die im Speichermodul notwendig ist, um einen Zugriff auszuführen (ta), und die Zeit T2, die die selektierte Information danach benötigt, um in der Schaltanordnung anzukommen, verringert um die Entscheidungszeit 02 der Prioritätsschaltung k, Wenn nun diese Zeit t^ - t3 abgezogen ist, so geht vom Ausgang po des betreffenden Zählers, hier CCA, ein Anfragesignal zur PrioritStsschaltung k. Dies bedeutet, dass in dem Moment t5, in dem die selektierte und aus dem Speicher A ausgelesene Information im Eingangs-Ausgangsregister AIOR der Schaltanordnung ankommt, die Ausgangsschiene OB diese Information sofort verarbeiten kann. Dies trifft jedoch nur dann zu, wenn diese Schiene OB frei war und wenn mithin die Prioritätsschaltung k die betreffende Anfrage auswertete. Wenn dies nicht geschieht, weil bereits eine Besetzung vorhanden ist, so begibt sich der betreffende Zähler in einen Wartelauf und zShlt nicht weiter. Angenommen, dass entsprechend dem vorliegenden Beispiel die Anfrage aus CCA in der Schaltung k für die Schiene OB gewertet wurde. Damit wird der Ausgang Ak "hoch", die anderen Ausgänge Bk, Ck und Oh bleiben "niedrig". Hiermit erhält der
209848/1077
betreffende Zähler CCA einen Befehl, um weiterzuzahlen» Ausserdem wird nun der Inhalt Qn dssProzessornummerregisters XnA den Vergleichsanordnungen \kkt 145 üiid i4f> angeboten. Der Ausgang Ak von 4 sorgt dafür, dass sich die Torschaltung ÖB1 öffnet, und dass die inzwischen im Register AIÖR vom Modul A angekommene Information durch die Ausgangssöhiene OB geht. Bei den Vergleichs schaltungen 14^-, 1^5, ik6 wurde in der Schaltung 145 eine Uebereinstimmung zwischen dem Inhalt Qn von XnA gefunden, so dass sich die Torschaltung ÖB6 Öffnet, Diese Information gelangt in das Register QIOR, von wo aus sie zum Prozessor Q geht. Damit ist hinsichtlich des Prozessors Q die Anfrage abgewickelt. Die Ausgangssöhiene ist nur während der Schienenzeit T besetzt. Dies ist wiederum wie oben eine Registerzeit, also beispielsweise 37»5 nsek. Bei einer Speicherzykluszeit von 300 nsek ist es mithin möglich, 8 Ausgangsschienentransporte pro Speicherzyklus aus zuführen.
Ist die Information über die Ausgangsschiene transportiert, so erreicht der Zähler, hier CCA, eine dem Moment ±6 entsprechende Stellung. In diesem Moment wird die Schaltung k dadurch freigegeben, dass das Flipflop FFOB über die Leitung ceo rückgestellt wird. Der ZShler CCA läuft nun noch weiter, bis die Endstellung erreicht ist. Dies geschieht im Moment t7. Dieser Moment t7 wird durch das Ende der Zykluszeit des betreffenden Speichermoduls, hier mithin A, festgestellt. Im Zusammenhang mit der Zeit (<Si + <52 + t), die in der Schaltanordnung benötigt wird, nn<] der Tranjsportsseit T 2, die zum Transport zwischen dieser
2098 4 8/1077
- 28 - PnN.5608.
Schaltanordnung und dem Modul benötigt wird, liegt diese Zeit t7 in einem Zeitabstand <Si + 02 + T + X2 vor dem Moment (Rd), d.h. dem Moment, in dem der Modul mit einem neuen Zyklus beginnen kann (siehe gestrichelte Linie in Fig. 6a). Dies bedeutet, dass eine folgende Anfrage für jenen Modul bereits in einem Zeitpunkt Xr1 stattfinden kann. Das Erreichen der Endstellung eines ZShlers CC (A, B, C, D) bedeutet auch, dass der betreffende Prioritätsschaltungsteil 1A, 1B, 1C bzw. 1D wieder freigegeben wird. Dies ist in Fig. 5A mit den jeweiligen Linien ceAf ceB, ceC und ceD angegeben. Hiermit wird der betreffende Modul, hier A, im Zeitpunkt t7 wieder für eine nSchste Anfrage frei.
Ein etwa entsprechender Vorgang findet im Falle eines Schreibvorgangs von Information in einen Speichermodul statt. Die Steuerinformation aus einem Prozessor kommandiert dann den für eine Schreibanfrage für einen bestimmten Modul bestimmten Zähler CC (A, B, C, D) in den sogenannten Schreibmodus. Wenn beispielsweise der Prozessor Q im Modul A einschreibt, so wird beispielsweise zugleich mit der Eintragung der Prozessornummer Qn in das Register XnA dafür gesorgt, dass der Zähler in den Schreibmodus gelangt. Dies bedeutet nur, dass nun der Ausgang pi statt des Ausgangs po ein Signal führen kann. Der Schreibvorgang ist hinsichtlich der Selektion (Fig. 5A) mit demjenigen zum Auslesen aus einem Modul identisch. Siehe auch Fig. 6B. Es steht für den weiteren Schreibvorgang fest, dass die zu schreibende Information nicht vor der Selektionsinformation im Speichermodul ankommen darf. Der Moment, in dem eine Anfrage für die Eingangsschiene IB
2098 48/1077
- 29 - PlW. 5608.
mittels eines Impulses an einem Ausgang p± eines der Zähler CC (A, ...) gestellt wird, muss mithin derart gewählt werden, dass diese Situation nicht auftreten kann. Eine Anfrage für die Eingangsschiene erfordert wenigstens eine Entscheidungszeit <$2, nämlich die Entscheidungszeit der Prioritatsschaltung 3 p die für die Verweisung einer Anfrage zur Eingangsschiene dient und die beispielsweise das gleiche Prioritätskriterium wie 2 und k handhabt. Wenn die Schaltung die Anfrage nicht unmittelbar wertet, so entsteht ein Wartelauf im betreffenden Zähler CC (A .,,). Die Daten können kurz nach der Selektion zur Schaltanordnung transportiert werden, beispielsweise im Zeitpunkt Xd (aber spätestens in Xd', vergleiche Fig. kB), Der Zähler befindet sich in einer Stellung, die dem Zeitpunkt entspricht, in dem die Information in der gegebenen Konfiguration in der Schaltanordnung ankommt, hier also der Zeitpunkt t8 (der zufällig das Ende der Selektionsschienenzeit T ist). In diesem Zeitpunkt t8 gibt der Zähler, hier CCA, einen Anfrageimpuls an den Ausgang pi ab, der zur Eingangeschienen-Prioritätsschaltung 3 geht. Ist keine Wartezeit erforderlich, so läuft der Zähler CCA weiter, weil der Ausgang A3 von 3 "hoch" und mit einem Steuereingang dee Zählers verbunden ist. In Fig. 5B ist das der gleiche Eingang des Zählers CCAj mit dem auch der Ausgang Ak von 4 verbunden ist (der Zähler arbeitet nun jedoch im Schreibmodus statt im Lesemodus). Ebenso ist der Ausgang B3 mit CCB, C3 mit CCC und D3 mit CCD verbunden. Diese Ausgänge sind ferner noch mit den jeweiligen Prozessornummerregistern XnA, ... XnD verbunden. ,
209848/1077
- 30 - PHiS.5608..
Da A3 "hoch" ist, wird die in XnA stehende Nummer pn in den Vergleichsanordnungen 1^7, 148 und 1^9 mit den in PSR, QSR bzw, RSR stehenden Prozessornummern verglichen. Es besteht eine Uebereinstimmung in 148, Die Anordnungen 147> 148, 1^9 sind mit den jeweiligen Torschaltungen IB1, IB2 und IB3 eier Eingangsschiene IB verbunden. Aufgrund der Nummernübereinstirniiiung in 148 wird sich mithin die Torschaltung IB2 öffnen, um die in dem Moment im Register QIOR stehende Information zu den Torschaltungen XBh1 ... IB7 der Eingangsschiene weiterzuleiten. Von diesen Schaltungen ist nur IB^ geöffnet, weil sie mit dem "hohen" Ausgang A3 der Schaltung verbunden ist. Die anderen (lB5, ... IB7) sind mit den hier "niedrigen" Ausgängen B3, C3 bzw. D3 verbunden. Auf diese Art und Weise gelangt die Information nach der Eingangsschienenzeit T im Moment t9 (siehe Fig. 6b) in das Register AIOR, von wo aus diese Information zum Modul A transportiert wird. Auch die Eingangsschiene IB ist auf diese Art und Weise nur während fler Zeit T je Informationstransport besetzt. Ist T wieder = 37,5 nsek und eil Speicherzyklus = 300 nsek, so können in einem Zyklus acht Transporte über die Eingangsschiene stattfinden. Mit diesem Zahlenaufbau und dieser Schaltanordnung können mithin acht Prozessoren und acht Speichermoduln im Komputersystem aufgenommen werden, ohne dass eine nennenswerte Behinderung entstehen kann.
Ist die Information über die Eingangsschiene geführt, so erreicht der Zähler CCA (im Zeitpunkt t9) eine Zwischenendsteilung für den Schreibmodus. Dies wird am Ausgang cei von CCA bzw. für die anderen Moduln am Ausgang cei
209848/1077
- 31 - PHN". 560.8.
von CCB usw. sichtbar. Diese Ausgänge sind mit dem Flipflop FFIB verbunden, urn diesen zurückzustellen, wenn einer dieser Ausgänge "hoch" wird, so dass die Prioritätsschaltung dann wieder frei ist. Der Zähler läuft noch so weit, wie erforderlich, um den Moment t10 zu erreichen, in dem der betreffende Speichermodul für eine nächste dafür bestimmte, in der Schaltanordnung empfangene Anfrage in Betracht genommen werden kann. In dem Moment wird auch, der betreffende Prioritätsschaltungsteil 1A oder 1B oder 1C oder 1D wieder freigegeben. Dieser Moment t10 entspricht dem Moment t7 nach Fig.6A im Lesemodus t da nämlich der Speicherzyklus an sich der gleiche ist. Dies bedeutet, dass zur Freigabe die bereits genannten Ausgänge ceA, ceB, ceC, ceD der Zähler CCA, . .". wie in Fig. 5A verwendet werden können.
209848/1077

Claims (1)

  1. - 32 - PHN.5608.
    PATENTANSPRUIiCHE:
    1»J Schaltanordnung zum Verbinden einer Anzahl von (n) Prozessoren mit einer Anzahl von (m) Speichermoduln, mit einer Steueranordnung, mit der jeder der Prozessoren mit jedem der Speichermoduln verbindbar ist, so dass eine Konversation, d.h. Informationstransport zwischen jeder Kombination eines Prozessors und eines Speichermoduls in nahezu jedem Moment möglich ist, die Schaltanordnung enthalt dazu eine erste Prioritätsschaltung, mit der bei mehreren Anfragen von mehreren Prozessoren auf Verbindung mit einem bestimmten Speichermodul die Anfrage mit der höchsten Prioritttt unter der Bedingung, dass der betreffende Modul frei ist, erfüllt wird, ferner enthalt die Schaltanordnung wenigstens eine für alle Speichermoduln gemeinsame SelektIonsschiene zum Transport von Selektionsinformation zu den Speichermoduln, wenigstens eine zweite Prioritätsschaltung, bei der bei der von der genannten ersten Prioritätsschaltung herrührenden Anfragen auf Verbindung mit mehr als einem Speichermodul die Anfrage mit der höchsten Priorität erfüllt und die zugehörige Selektionsinformation über die genannte Selektion»* schiene zum betreffenden Speichermodul transportiert wird, wonach die Selektionsschiene wieder für einen Transport von Selektionsinformation zu einem anderen Speichermodul frei ist, und wenigstens eine für alle Speichermoduln gemeinsame Eingangs- und Ausgangsschiene zum Tranportieren der infolge jener Selektion einzuschreibenden und auszulesenden Information, ausserdem ist vor der Eingangsschiene noch eine dritte Prioritätsschaltung und vor der Ausgangsschiene noch
    208848/1077
    - 33 - PiW0 5608.
    eine vierte Prioritätsschaltung vorhanden^ di© dafür sorgen, dass der Informationstransport vom und »um Speichermodul über die Eingangs- und Ausgangsschiene entsprechend einem beispielsweise durch die Prozessoren bestimmten PrioritHts^ kriterium verlSuft, dadurch gekennzeiehna 11 dass die Schalt = anordnung hinter der genannten Selektionssehi©ne Register zur Speicherung der Selektionsinforraatlon enthßltj, um die Besetztzeit der gemeinsamen Selektionsschiene tarn die lieber·=' tragungszeit die zum Transport der SeXektiöxxsixrfor-üiatiosi, von der Selektionsschiene zu einem Speiehermodul erfordere lieh ist, zu kürzen,
    2, Schaltanordnung nach Anspruch 1 e dadurch gekenn.= zeichnet, dass die Schaltanordnung hinter der genannten Eingangs- und Ausgangsschiene Register zur Speicherung der in die Speichermoduln einzuschreibenden und daraus ausau«= lesenden Information enthält, um die Besetzt zeit der Ein·= gangs- und Ausgangsschiene um die Uebertragungszeit die zum Informationstransport von der Eingangsschiene zu einem Speichermodul und von der Ausgangsschiene zu einem Prozessor erforderlich ist, zu kürzen,
    3, Schaltanordnung nach Anspruch 1, dadurch gekennzeichnet, dass die Schaltanordnung vor der Selektionsschiene Register zur Speicherung von Selektionsinfqrmation, vor der Eingangsschiene Register zur Speicherung von aus den Prozessoren in die Speichermoduln einzuschreibender Information und vor der Ausgangsschiene Register zur Speicherung von aus den Speichermoduln ausgelesener zu den Prozessoren zu transportierender Information enthSlt1, um die Prozessoren
    2 Ü a ■ 8 4 8 / 7 Q 7 7
    - 3k « . PHN.5608.
    und Speicliermoduln von der Schaltanordnung unabhängig zu machen.
    ht Schaltanordnung nach Anspruch 1r 31 dadurch gekennzeichnet, dass Register zur Speicherung von Selektionsinformation in dorn Prozessoren und/oder in den Speichermoduln entfallene
    5. Schaltanordnung nach Anspruch 2, 3» dadurch gekennzieicirnet, dass Register zur Speicherung der in die Speichermodulxi einzuschreibend en und daraus auszulesenden Information in die Prozessoren und/oder in den Speichermoduln entfallen*
    6« Komputer1 system mit einer- Schaltanordnung nach einem oder mehreren der· vorhergehenden Ansprüche,
    209848/1077
    Leerseite
DE19722222855 1971-05-12 1972-05-10 Schienentransportsystem fuer Selektionsinformation und Daten Pending DE2222855A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL7106491A NL7106491A (de) 1971-05-12 1971-05-12

Publications (1)

Publication Number Publication Date
DE2222855A1 true DE2222855A1 (de) 1972-11-23

Family

ID=19813137

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19722222855 Pending DE2222855A1 (de) 1971-05-12 1972-05-10 Schienentransportsystem fuer Selektionsinformation und Daten

Country Status (6)

Country Link
US (1) US3761879A (de)
JP (1) JPS5230095B1 (de)
CA (1) CA957779A (de)
DE (1) DE2222855A1 (de)
GB (1) GB1392231A (de)
NL (1) NL7106491A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0021254A1 (de) * 1979-06-20 1981-01-07 Siemens Aktiengesellschaft Verfahren und Anordnung zur Anschaltung mehrerer Zentralprozessoren an Datenspeichergeräte über jewels einen von wenigstens zwei Peripherieprozessoren

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4037210A (en) * 1973-08-30 1977-07-19 Burroughs Corporation Computer-peripheral interface
JPS5444161B2 (de) * 1973-09-08 1979-12-24
US3970993A (en) * 1974-01-02 1976-07-20 Hughes Aircraft Company Cooperative-word linear array parallel processor
FR2273317B1 (de) * 1974-05-28 1976-10-15 Philips Electrologica
US4130865A (en) * 1974-06-05 1978-12-19 Bolt Beranek And Newman Inc. Multiprocessor computer apparatus employing distributed communications paths and a passive task register
US3959775A (en) * 1974-08-05 1976-05-25 Gte Automatic Electric Laboratories Incorporated Multiprocessing system implemented with microprocessors
US4136383A (en) * 1974-10-01 1979-01-23 Nippon Telegraph And Telephone Public Corporation Microprogrammed, multipurpose processor having controllable execution speed
US4150428A (en) * 1974-11-18 1979-04-17 Northern Electric Company Limited Method for providing a substitute memory in a data processing system
US4015246A (en) * 1975-04-14 1977-03-29 The Charles Stark Draper Laboratory, Inc. Synchronous fault tolerant multi-processor system
US4034347A (en) * 1975-08-08 1977-07-05 Bell Telephone Laboratories, Incorporated Method and apparatus for controlling a multiprocessor system
JPS5837585B2 (ja) * 1975-09-30 1983-08-17 株式会社東芝 ケイサンキソウチ
US4212057A (en) * 1976-04-22 1980-07-08 General Electric Company Shared memory multi-microprocessor computer system
US4065809A (en) * 1976-05-27 1977-12-27 Tokyo Shibaura Electric Co., Ltd. Multi-processing system for controlling microcomputers and memories
DE2703559A1 (de) * 1977-01-28 1978-08-03 Siemens Ag Rechnersystem
US4309691A (en) * 1978-02-17 1982-01-05 California Institute Of Technology Step-oriented pipeline data processing system
US4236209A (en) * 1978-10-31 1980-11-25 Honeywell Information Systems Inc. Intersystem transaction identification logic
US4237534A (en) * 1978-11-13 1980-12-02 Motorola, Inc. Bus arbiter
WO1980001421A1 (en) * 1979-01-09 1980-07-10 Sullivan Computer Shared memory computer method and apparatus
US4484262A (en) * 1979-01-09 1984-11-20 Sullivan Herbert W Shared memory computer method and apparatus
US4495567A (en) * 1981-10-15 1985-01-22 Codex Corporation Multiprocessor/multimemory control system
GB2170624B (en) * 1982-06-05 1987-06-10 British Aerospace Communication between computers
GB8328396D0 (en) * 1983-10-24 1983-11-23 British Telecomm Multiprocessor system
US4760521A (en) * 1985-11-18 1988-07-26 White Consolidated Industries, Inc. Arbitration system using centralized and decentralized arbitrators to access local memories in a multi-processor controlled machine tool
US4807184A (en) * 1986-08-11 1989-02-21 Ltv Aerospace Modular multiple processor architecture using distributed cross-point switch
AU598101B2 (en) * 1987-02-27 1990-06-14 Honeywell Bull Inc. Shared memory controller arrangement
US5088024A (en) * 1989-01-31 1992-02-11 Wisconsin Alumni Research Foundation Round-robin protocol method for arbitrating access to a shared bus arbitration providing preference to lower priority units after bus access by a higher priority unit
US5274774A (en) * 1989-01-31 1993-12-28 Wisconsin Alumni Research Foundation First-come first-serve arbitration protocol
US5142638A (en) * 1989-02-07 1992-08-25 Cray Research, Inc. Apparatus for sharing memory in a multiprocessor system
US5283877A (en) * 1990-07-17 1994-02-01 Sun Microsystems, Inc. Single in-line DRAM memory module including a memory controller and cross bar switches
US5206952A (en) * 1990-09-12 1993-04-27 Cray Research, Inc. Fault tolerant networking architecture
JPH0594409A (ja) * 1991-10-02 1993-04-16 Nec Eng Ltd バス調停システム
DE69226150T2 (de) * 1991-11-05 1999-02-18 Hsu Fu Chieh Redundanzarchitektur für Schaltungsmodul
US5498990A (en) * 1991-11-05 1996-03-12 Monolithic System Technology, Inc. Reduced CMOS-swing clamping circuit for bus lines
US5576554A (en) * 1991-11-05 1996-11-19 Monolithic System Technology, Inc. Wafer-scale integrated circuit interconnect structure architecture
US5831467A (en) * 1991-11-05 1998-11-03 Monolithic System Technology, Inc. Termination circuit with power-down mode for use in circuit module architecture
AU4798793A (en) * 1992-08-10 1994-03-03 Monolithic System Technology, Inc. Fault-tolerant, high-speed bus system and bus interface for wafer-scale integration
US5655113A (en) * 1994-07-05 1997-08-05 Monolithic System Technology, Inc. Resynchronization circuit for a memory system and method of operating same

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3274554A (en) * 1961-02-15 1966-09-20 Burroughs Corp Computer system
US3200380A (en) * 1961-02-16 1965-08-10 Burroughs Corp Data processing system
US3419849A (en) * 1962-11-30 1968-12-31 Burroughs Corp Modular computer system
US3274561A (en) * 1962-11-30 1966-09-20 Burroughs Corp Data processor input/output control system
US3544965A (en) * 1966-03-25 1970-12-01 Burroughs Corp Data processing system
US3593302A (en) * 1967-03-31 1971-07-13 Nippon Electric Co Periphery-control-units switching device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0021254A1 (de) * 1979-06-20 1981-01-07 Siemens Aktiengesellschaft Verfahren und Anordnung zur Anschaltung mehrerer Zentralprozessoren an Datenspeichergeräte über jewels einen von wenigstens zwei Peripherieprozessoren

Also Published As

Publication number Publication date
CA957779A (en) 1974-11-12
GB1392231A (en) 1975-04-30
JPS5230095B1 (de) 1977-08-05
US3761879A (en) 1973-09-25
NL7106491A (de) 1972-11-14

Similar Documents

Publication Publication Date Title
DE2222855A1 (de) Schienentransportsystem fuer Selektionsinformation und Daten
DE2628363C2 (de) Datenverarbeitungs-Netzwerk
DE3300261C2 (de)
DE2856483C2 (de)
DE2717702C2 (de) Speicher-Zugriff-Steuersystem
DE2415900A1 (de) Rechenautomat mit mehreren mit je einem vorratsspeicher versehenen rechenanlagen
DE2212501C2 (de) Einrichtung zur Übertragung asynchroner, digitaler Signale
DE2346525B2 (de) Virtuelle Speichereinrichtung
CH620306A5 (de)
DE2215066A1 (de) Informationsspeicher mit Schieberegister
DE3044792A1 (de) Elektronisches multiprozessor-system zur behandlung digitaler und analoger daten
DE3535436C2 (de)
DE2031040B2 (de) Verfahren zur festlegung des zugangs von mehreren benutzern zu einer einheit einer datenverarbeitungsanlage und anordnung zur durchfuehrung des verfahrens
DE1499206B2 (de) Rechenanlage
DE2632564A1 (de) Schaltung zur selbsttaetigen auswahl einer unter mehreren speichereinheiten mit einem adressenbereich
DE1271191B (de) Einrichtung zur UEbertragung von Informationseinheiten in die Binaerstellen eines Umlaufspeichers
DE2846054C2 (de) Schaltungsanordnung zur Erweiterung des Adressierungsvolumens einer Zentraleinheit, insbesondere eines Mikroprozessors
DE1474351C3 (de) Datenspeicher
DE2404887C2 (de) Schaltungsanordnung für den Informationsaustausch mit einem Rechner
DE1285218B (de) Datenverarbeitungsanlage
DE2610428A1 (de) Anordnung zur steuerung der zwischenspeicherung von zwischen zwei funktionseinheiten zu uebertragenden daten in einem pufferspeicher
DE1524006B2 (de) Vorrichtung zum erhoehen der informationsuebergaberate eines speichers
DE2917822A1 (de) Schaltungsanordnung zur zweirichtungsuebertragung von signalen
DE1524122A1 (de) Elektronische Datenverarbeitungsanlage mit Zeitaufteilung des Speicherzugriffs
DE1449816C3 (de) Schaltungsanordnung zur Steuerung des Zugriffs zu einem Magnettrommelspeicher

Legal Events

Date Code Title Description
OHW Rejection