DE68902185T2 - Modularer speicher. - Google Patents
Modularer speicher.Info
- Publication number
- DE68902185T2 DE68902185T2 DE8989401392T DE68902185T DE68902185T2 DE 68902185 T2 DE68902185 T2 DE 68902185T2 DE 8989401392 T DE8989401392 T DE 8989401392T DE 68902185 T DE68902185 T DE 68902185T DE 68902185 T2 DE68902185 T2 DE 68902185T2
- Authority
- DE
- Germany
- Prior art keywords
- module
- input
- response
- stage
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000004044 response Effects 0.000 claims description 132
- 230000015654 memory Effects 0.000 claims description 78
- 238000011144 upstream manufacturing Methods 0.000 claims description 9
- 101100033673 Mus musculus Ren1 gene Proteins 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 5
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000000034 method Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 101100194322 Caenorhabditis elegans rei-1 gene Proteins 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 102100036409 Activated CDC42 kinase 1 Human genes 0.000 description 1
- 101000928956 Homo sapiens Activated CDC42 kinase 1 Proteins 0.000 description 1
- 101100033674 Mus musculus Ren2 gene Proteins 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Bus Control (AREA)
- Memory System (AREA)
Description
- Die Erfindung liegt im Bereich der Speicher, die üblicherweise Zentralspeicher genannt werden und in den Zentraleinheiten von Rechnern verwendet werden.
- Der Speicher gemäß der Erfindung ist insbesondere dazu vorgesehen, in Hochleistungssystemen eingesetzt zu werden, die beispielsweise Vektorprozessoren verwenden.
- In diesem Anwendungsbereich werden normalerweise Halbleiterspeicher wie etwa statische Speicher verwendet.
- Eine Zentraleinheit umfaßt im allgemeinen einen oder mehrere Prozessoren, die über eine Speicher-Steuereinrichtung mit einem Zentralspeicher verbunden sind. Die Prozessoren greifen normalerweise auf in dem Speicher enthaltene Daten zu, indem sie an die Speicher-Steuereinrichtung Anforderungen in Form von Befehlssignalen (Lesebefehl oder Schreibbefehl), von Adressierungssignalen und im Fall eines Schreibvorgangs von Datensignalen senden. Vor den Befehlssignalen oder gleichzeitig mit diesen wird ein Ankündigungssignal geschickt, mit dem der Speicher- Steuereinrichtung im voraus gemeldet werden kann, daß eine Anforderung geschickt wird.
- Aufgrund einer solchen Anforderung führt dann die Speicher-Steuereinrichtung eine Reihe von Operationen aus, die insbesondere das Laden der Parameter der Anforderung in ein Eingangsregister umfassen. Im allgemeinen schickt die Steuereinrichtung außerdem Quittierungssignale, um den Prozessor darüber zu informieren, daß die Anforderung akzeptiert wird, weil die Antwort im Ausgangsregister der Steuereinrichtung verfügbar ist.
- Die Antwort umfaßt Daten, die im Falle eines Lesevorgangs an der vom Prozessor gelieferten Adresse enthalten sind. Die Antwort kann außerdem eine Fehlermeldung enthalten, um den Prozessor darüber zu informieren, ob die angeforderte Operation richtig ausgeführt worden ist.
- Die grundlegenden Parameter für die Bewertung der Leistungsfahigkeit eines Speichers sind durch die Zugriffszeit und die Zyklusdauer gegeben. Die Zugriffszeit ist als Zeitintervall definiert, durch das das Senden einer Ankündigung vom Prozessor vom Auftritt eines Quittierungssignals getrennt ist, welches anzeigt, daß die Anforderung vom Speicher berücksichtigt worden ist und daß vom Prozessor eine neue Anforderung an den Speicher adressiert werden kann. Die Zyklusdauer definiert das Zeitintervall, das den Zeitpunkt, in dem die Anforderung vom Speicher empfangen wird, von dem Zeitpunkt trennt, in dem die Antwort im Ausgangsregister des Speichers verfügbar ist.
- Beim aktuellen Entwicklungsstand der Konzeption von Rechnern ist die Bereitstellung von Speichern notwendig, deren Kapazitäten immer weiter steigen. Andererseits wird versucht, Prozessoren zu verwirklichen, deren Leistungen immer weiter steigen, d.h. die eine sehr große Anzahl von Speicherzugriffen pro Sekunde ermöglichen. Um die Leistung eines Prozessors zu erhöhen, werden verschiedene Techniken wie etwa der Einsatz von Multiprozessor-Systemen und/oder eine sogenannte "Pipeline"-Architektur verwendet.
- Um jedoch die bei den Prozessoren verwirklichten Verbesserungen gut zu nutzen, müssen auch die zugehörigen Speicher damit verträgliche Leistungseigenschaften besitzen. Daher müssen Speicher verwirklicht werden, die eine Zugriffszeit und eine Zyklusdauer besitzen, die jeweils so kurz wie möglich sind. Diese Bedingungen sind jedoch mit der Erhöhung der Kapazität des Speichers schwer verträglich, weil bei den gegenwärtigen Technologien die Zugriffszeit eines Speichers mit seiner Kapazität zunimmt.
- Eine herkömmliche Lösung zur Beseitigung dieses Problems besteht in der Verwendung eines aus mehreren Modulen aufgebauten Speichers, wobei jeder Modul eine Zugriffszeit besitzt, die kleiner als diejenige eines nichtmodularen Speichers mit derselben Kapazität ist. Andererseits wird die Verschachtelungstechnik verwendet, gemäß der die von den Prozessoren nacheinander geschickten Anforderungen nacheinander verschiedene Module des Speichers adressieren.
- Diese Lösung hat jedoch ein anderes Problem zur Folge, welches durch die Verbindungen zwischen den Prozessoren und den verschiedenen Speichermodulen gegeben ist. Bei einem ersten bekannten Verfahren werden für jeden der Module verschiedene Zugriffswege verwendet. Ein Prozessor ist daher mit den Modulen über eine Verbindungsschaltung verbunden, die soviele Verbindungen aufweist wie der Speicher Module besitzt. Im Falle eines Multiprozessor-Systems wie etwa eines Vektorprozessors ist die Verbindungsschaltung mit einem "Crossbar"-System funktional äquivalent. Dieses Verfahren besitzt den Vorteil, daß es gleichzeitige Zugriffe der Prozessoren auf mehrere Speichermodule zuläßt. Indessen ist diese Lösung auf den Fall beschränkt, in dem die Anzahl der Module und der Prozessoren verhältnismäßig gering ist. Tatsächlich ist die Verbindungseinrichtung bei mehr als zehn Modulen schwer zu verwirklichen und zu steuern. Außerdem hat sie eine Erhöhung der Zyklusdauer des Systems zur Folge.
- Bei einer weiteren bekannten Lösung kann dieser Nachteil vermieden werden, indem zwischen den Prozessoren und den verschiedenen Modulen eine Verbindung vom Bustyp verwendet wird. In diesem Fall ist pro Modul eine Speicher-Steuereinrichtung vorgesehen, wobei jede Steuereinrichtung mit einem Eingangsregister und mit einem Adressendekoder versehen ist. Üblicherweise werden zwei verschiedene Busse verwendet, um die Anforderungen und die Antworten zu leiten, derart, daß in einer Verschachtelungsbetriebsart die Gesamtzugriffszeit des Speichers gleich der durch die Anzahl der Module dividierten Zugriffszeit eines Moduls ist.
- Diese letztere Lösung besitzt jedoch den folgenden Nachteil. Die Antwort auf eine an einen beliebigen Modul des Speichers adressierte Anforderung ist im Ausgangsregister des Moduls nach Ablauf einer Dauer verfügbar, die der Dauer der Bewegung der Anforderung vom Prozessor zum Modul, verlängert um die Zyklusdauer des Moduls, entspricht. Die Dauer der Bewegung und der Zyklusdauer können jedoch vom einen Modul zum nächsten verschieden sein. Diese Unterschiede treten insbesondere dann hervor, wenn die Zyklusdauer des Prozessors abnimmt und wenn die Anzahl der Module zunimmt, weil es dann möglich ist, daß sich die Antworten auf zwei nacheinander an zwei verschiedene Module adressierte Anforderungen gleichzeitig im Ausgangsbus befinden.
- Eine Lösung zur Beseitigung dieses Problems besteht in der Synchronisation der Austauschvorgänge zwischen den Speichermodulen und den Bussen. So beschreibt das Dokument IEEE, PROCEEDINGS OF THE ANNUAL SYMPOSIUM ON COMPUTER ARCHITECTURE; Long Beach, 23.-25. März 1977, Symp. 4, Seiten 90- 94, US; S.R. AHUJA u.a.: "A modular memory scheme for array processing" einen parallelen Speicher, der für Verarbeitungseinheiten vom Pipeline-Typ bestimmt ist. Der Speicher ist in parallel arbeitenden Modulen organisiert, wobei jeder Modul mit dem Verarbeitungssystem über einen gemeinsamen Eingangsbus und einen gemeinsamen Ausgangsbus verbunden ist. Jeder Modul ist mit dem Bus über mehrere Pufferregister verbunden, die jeweils einer Variablen zugeordnet sind. Die Datenaustauschvorgänge zwischen diesen Registern und den Bussen werden durch eine Gesamtheit von Schleifen gesteuert, deren Anzahl gleich der Anzahl der Puffer ist. Jede Schleife ist einer Variablen zugeordnet und mittels eines rückgekoppelten Ein-Bit-Schieberegisters verwirklicht, bei dem nur eine einzige Stufe den Logikwert 1 hat. Ein Register darf in Abhängigkeit von der Position des zugehörigen Steuerbits mit dem Bus Daten austauschen. Diese Lösung weist jedoch die Nachteile auf, welche die Verwendung von Bussen zur Folge hat. Tatsächlich sind die Busse per definitionem zwischen den Einheiten aufgeteilt, mit denen sie verbunden sind, was eine Beschränkung hinsichtlich des Durchsatzes zur Folge hat und einen Parallelbetrieb verbietet, es sei denn, daß mehrere unabhängige Busse vorgesehen sind. Selbst in diesem Fall ist jedoch der Parallelbetrieb begrenzt, weil die Breite des Busses aus technologischen Gründen nicht beliebig erhöht werden kann.
- Die Erfindung hat zum Ziel, die obigen Nachteile zu beseitigen, indem sie sicherstellt, daß die von den verschiedenen Modulen ausgegebenen Antworten vom Prozessor nacheinander in der gleichen Reihenfolge wie die Reihenfolge des Aussendens der entsprechenden und von den Modulen akzeptierten Anforderungen empfangen werden und dabei jede Beschränkung des Parallelbetriebs vermieden wird.
- Genauer hat die Erfindung einen Speicher mit mehreren Modulen zum Gegenstand, der dazu vorgesehen ist, von wenigstens einem Prozessor die erwähnten Anforderungen zu empfangen, wobei die Anforderungen die Form von Befehls-, Adressierungs- und möglicherweise Datensignalen besitzen, wobei jeder Modul Mittel zum Dekodieren der an seinem Eingang anliegenden Anforderungen und Mittel zum Liefern von Antwortsignalen auf die Anforderungen aufweist, wobei der Speicher dadurch gekennzeichnet ist, daß die Anforderungen über ein Eingangsschieberegister an den Eingang eines jeden der Module übertragen werden, daß die vom Modul ausgegebenen Antworten über ein Ausgangsschieberegister an den Eingang des Prozessors übertragen werden, daß die Anzahl der Stufen des Eingangsschieberegisters für jeden der zugeordneten Module verschieden ist und daß die Gesamtanzahl der den Eingangs- und Ausgangsschieberegistern zugehörigen Stufen, die einem der Module zugeordnet sind, konstant und unabhängig vom betrachteten Modul ist.
- Die Erfindung weist außerdem den Vorteil auf, daß die Verwendung eines komplexen, zentralisierten Synchronisationssystems vermieden wird und eine vollständig modulare Bauweise des Speichers möglich ist.
- Darüber hinaus ermöglicht die Erfindung eine besonders einfache Herstellung; erfindungsgemäß weist der Speicher ein einziges Eingangsschieberegister und ein einziges Ausgangsschieberegister auf, die sämtlichen Modulen gemeinsam sind, wobei der Ausgang des Prozessors mit dem Eingang der ersten Stufe des Eingangsschieberegisters verbunden ist, der Eingang des Prozessors mit dem Ausgang der letzten Stufe des Ausgangsschieberegisters verbunden ist und der Ausgang einer jeden Stufe des Eingangsschieberegisters mit dem Eingang eines der Module verbunden ist, wobei der Ausgang dieses Moduls mit dem Ausgang der Stufe gleichen Ranges des Ausgangsschieberegisters verbunden ist.
- Mit der obigen Lösung ist es gut möglich, die gesuchten Leistungseigenschaften in der verschachtelten Betriebsart zu erhalten. Der Speicher muß jedoch nicht auf diese Betriebsart beschränkt bleiben; es ist daher ein Mechanismus vorzusehen, der verhindert, daß eine Anforderung einen Modul adressiert, der vor weniger als einer bestimmten, minimalen Zeitdauer von einer Anforderung adressiert worden ist, wobei diese Zeitdauer der Zugriffszeit des Moduls entspricht. Dieses Problem besteht auch in dem weiter oben dargestellten Bus-System. Um diese Schwierigkeit zu lösen, wird üblicherweise ein vom Prozessor gesteuertes Fenster-System vorgesehen.
- Es ist außerdem möglich, eine von außerhalb des Prozessors zeitgesteuerte Sperrschaltung vorzusehen, die das Senden einer Anforderung sperrt, die an einen Modul adressiert ist und nach einem Zeitintervall, das kleiner als eine in Abhängigkeit von der diesen Modul kennzeichnenden globalen Zugriffszeit bestimmte Dauer ist, einer an denselben Modul adressierten ersten Anforderung folgt.
- Obwohl diese Lösungen das Problem der Kollision von zu nahe aufeinanderfolgenden Anforderungen beseitigen, ergibt sich aus ihnen eine Komplikation bei der Verwirklichung entweder des Prozessors oder der Sperrschaltung. Diese Lösung weist außerdem den Nachteil auf, daß sie die globale Zyklusdauer des Systems erhöht.
- Gemäß einer Abwandlung der Erfindung wird das obige Problem gemäß dem folgenden Prinzip gelöst: Jeder vom Prozessor ausgegebenen Anforderung wird ein mit der Anforderung mitgeführter Merker zugeordnet, der angibt, daß die Anforderung gültig ist. Wenn die Anforderung von einem der Module des Speichers akzeptiert wird, nimmt dieser Merker einen anderen Wert an, der angibt, daß die Anforderung vom Modul akzeptiert worden ist. Auf diese Weise ist es möglich, in Abhängigkeit vom Wert dieses Merkers festzustellen, ob vom Prozessor eine neue Anforderung gesendet werden kann.
- Die Erfindung hat außerdem auch einen Speicher zum Gegenstand, der dadurch gekennzeichnet ist, daß jeder Modul mit einer Schaltung für die Quittierung der Anforderungen verbunden ist, um jeder Anforderung einen vom Eingangsschieberegister mitgeführten Anforderungsmerker zuzuweisen, wobei die Schaltung für die Quittierung der Anforderungen den Anforderungsmerker auf einen ersten bestimmten Wert zwingt, wenn ein vom Modul ausgegebenes Quittierungssignal angibt, daß der Modul die an seinem Eingang vorliegende Anforderung akzeptiert, und daß das Eingangsschieberegister eine zusätzliche Stufe aufweist, die sich hinter der letzten Stufe des Schieberegisters befindet, wobei der Ausgang der zusätzlichen Stufe mit einer mit dem Prozessor verbundenen Steuerschaltung für die Anforderungen verbunden ist, wobei die Steuerschaltung für die Anforderungen eine Anforderungs-Auswahleinrichtung aufweist, die zuläßt, daß entweder an den Eingang des Eingangsschieberegisters eine neue Anforderung übertragen wird, wenn der Wert des in der zusätzlichen Stufe enthaltenen Merkers gleich dem ersten bestimmten Wert ist, oder daß die in der zusätzlichen Stufe enthaltene Anforderung übertragen wird, wenn das Gegenteil der Fall ist, wobei der Anforderungsmerker, der jeder neuen Anforderung zugewiesen wird, einen zweiten bestimmten Wert annimmt.
- Ein dem obigen analoges Problem stellt sich auch in dem Fall, in dem ein einziges Ausgangsschieberegister für die Leitung der Antworten der verschiedenen Module verwendet wird. Es können tatsächlich Situationen entstehen, in denen eine Antwort, die in einer vor einem der Module befindlichen Stufe des Schieberegisters enthalten ist, mit der Antwort in Konflikt gerät, die am Ausgang dieses Moduls verfügbar ist.
- Eine Lösung könnte darin bestehen, auf Höhe des Prozessors einen Adressensteuermechanismus vorzusehen, um in jedem Fall diese Art von Situationen zu vermeiden. Diese Lösung macht jedoch die Arbeit des Prozessors kompliziert, wodurch dessen Leistungsfähigkeit abgesenkt wird.
- Gemäß einer weiteren Abwandlung der Erfindung wird dieses Problem auf eine zur Lösung des vorhergehenden Problems analoge Weise gelöst. Zu diesem Zweck betrifft die Erfindung außerdem einen Speicher, der außerdem dadurch gekennzeichnet ist, daß das Ausgangsschieberegister eine zusätzliche Stufe aufweist, die hinter der letzten Stufe und vor der ersten Stufe des Ausgangsschieberegisters angeordnet ist, daß der Ausgang der zusätzlichen Stufe mit dem Eingang des Prozessors und mit dem Eingang der dem Prozessor zugeordneten Schaltung für die Quittierung der Antwort verbunden ist, wobei die Antwort-Quittierungsschaltung Mittel aufweist, um jeder an die erste Stufe des Ausgangsschieberegisters übertragenen Antwort einen Antwortmerker zuzuweisen, der vom Ausgangsschieberegister mitgeführt wird, wobei der Antwortmerker einen ersten bestimmten Wert annimmt, wenn die Antwort vom Prozessor akzeptiert wird, und daß jeder Modul einer Antwort-Steuerschaltung zugeordnet ist, die eine Antwort- Auswahleinrichtung aufweist, die zuläßt, daß zu der hinter dem Modul angeordneten Stufe
- - entweder eine am Ausgang des Moduls verfügbare Antwort übertragen wird, wenn der Wert des in der vor dem Modul befindlichen Stufe enthaltenen Antwortmerkers gleich dem ersten bestimmten Wert ist,
- - oder die in der Stufe vor dem Modul enthaltene Antwort übertragen wird, wenn das Gegenteil der Fall ist,
- und daß die Antwort-Steuerschaltung Mittel aufweist, um den Antwortmerker auf einen zweiten bestimmten Wert zu zwingen, wenn eine vom Modul ausgegebene Antwort zu der Stufe hinter dem Modul übertragen wird.
- Weitere Merkmale und Einzelheiten für die Verwirklichung der Erfindung werden in der folgenden Beschreibung mit Bezug auf die Figuren dargestellt, wobei:
- - die Fig. 1 ein Ausführungsschema der vorliegenden Erfindung zeigt;
- - die Fig. 2 eine abgewandelte Ausführung der vorliegenden Erfindung zeigt;
- - die Fig. 3 und 4 Einzelheiten der Ausführungsvariante von Fig. 2 zeigen;
- - die Fig. 5 eine zweite Abwandlung der Ausführung der Erfindung zeigt.
- Die Fig. 1 zeigt einen Speicher der Erfindung gemäß einer vereinfachten Ausführungsform.
- Der Speicher umfaßt mehrere Speichermodule MM&sub1; , MM&sub2;, ..., MMi, ... , MMn. Der Speicher arbeitet mit einer Benutzereinrichtung wie etwa einem Prozessor P zusammen und steht mit diesem über seine Eingangs-/Ausgangsschnittstellen in Verbindung.
- Jeder Modul MMi umfaßt eine Eingangsschnittstelle IEi, um von außen Anforderungen zu empfangen, wobei eine Anforderung einem Befehl zum Lesen oder Schreiben im betrachteten Modul entspricht. Im allgemeinen wird eine Anforderung von einem Funktionscode, der dazu dient, die vom Speicher auszuführende Operation zu definieren, von einer Adresseninformation und im Falle eines Schreibvorgangs von zu schreibenden Daten gebildet. Die Anforderung kann außerdem einen der Identifizierung der Anforderung dienenden Ausgangspunkt-Kennsatz aufweisen.
- Die Eingangsschnittstelle umfaßt ein Eingangsregister, das der Speicherung der empfangenen Anforderungen dient, sowie einen Adressendekoder, der insbesondere der Auswahl des betrachteten Moduls beispielsweise anhand der ersten Stelle der empfangenen Adresse dient.
- Die Ausgangsschnittstelle ISi ist mit den Ausgangsleitungen des Speichers verbunden. Die Schnittstelle ISi umfaßt ein Ausgangsregister, das der Speicherung der Antworten dient, bevor diese vom Prozessor angenommen werden.
- Eine Antwort wird von gelesenen Daten gebildet und im Falle eines Lesevorgangs im allgemeinen von einer Fehlermeldung begleitet, welche dazu dient, den Prozessor zu informieren, ob die geforderte Operation richtig ausgeführt worden ist oder nicht. Eine Antwort kann außerdem einen Zielpunkt-Kennsatz umfassen, der der Identifikation der Antwort dient. Im allgemeinen sind die Ausgangspunkt-Kennsätze einer Anforderung und die Zielpunkt-Kennsätze der entsprechenden Antwort miteinander identisch.
- Im Falle eines Prozessors, der aus mehreren Elementarprozessoren aufgebaut ist, kann der Kennsatz der Identifizierung des Elementarprozessors, der die Anforderung ausgesendet hat, dienen.
- Der Prozessor gibt die Anforderungen über eine Ausgangs-Schnittstellenschaltung, die ein oder mehrere Register enthält, auf Eingangsleitungen LE aus. Eine Eingangsschnittstelle des Prozessors, die ebenfalls ein oder mehrere Register umfaßt, empfängt über Ausgangsleitungen LS die Antworten des Speichers.
- Gemäß der Erfindung greifen die vom Prozessor ausgegebenen Antworten auf die verschiedenen Module des Speichers über ein Eingangsschieberegister zu, das von Stufen RE&sub1; , RE&sub2;, ... , REi,... , REn-1 gebildet wird. Die Eingangsleitungen LE sind mit dem Eingang der ersten Stufe REn-1 des Eingangsschieberegisters verbunden, während der Ausgang einer jeden Stufe REi mit dem Eingang eines entsprechenden Moduls MMi sowie mit dem Eingang der folgenden Stufe REi-1 verbunden ist. Der erste Modul MMn kann direkt mit den Eingangsleitungen LE verbunden sein.
- Der Speicher umfaßt außerdem ein Ausgangsschieberegister, das von den Stufen RS&sub1;, RS&sub2;, ... , RSi, ... , RSn-1 gebildet ist. Jede Stufe RSi des Ausgangsschieberegisters ist mit ihrem Ausgang mit dem Ausgang eines entsprechenden Moduls MMi und mit seinem Eingang mit der folgenden Stufe RSi-1 verbunden.
- Jede Stufe der Eingangs- und Ausgangsschieberegister empfängt an ihrem Takteingang ein Taktsignal h, das von einer Taktgeberschaltung H erzeugt wird. Dieses Taktsignal h wird auch in den Prozessor P eingegeben, um ihn zu synchronisieren.
- Die Einrichtung der Fig. 1 arbeitet auf die folgende Weise: Bei einer vom Prozessor P befohlenen Lese- oder Schreiboperation gibt der Prozessor P auf die Eingangsleitung LE im Rhythmus des Taktsignals h eine Abfolge von Anforderungen D&sub1;, D&sub2;..Dx aus. Jedesmal, wenn es möglich ist, greift der Prozessor in der verschachtelten Betriebsart auf den Speicher zu, wobei in diesem Fall die erste Anforderung D&sub1; an den Modul MM&sub1; adressiert wird, die zweite Anforderung D&sub2; an den Modul MM&sub2; adressiert usw. Nach dem Senden von n Anforderungen, d.h. nach n Verschiebungen, sind die Anforderungen D&sub1;, D&sub2;,...,Dn-1 am jeweiligen Ausgang der Stufen RE&sub1;,RE&sub2;...,REn-1verfügbar, während die Anforderung Dn am Ausgang des Ausgangsregisters des Prozessors P verfügbar ist. Auf diese Weise empfangen die Module MMi gleichzeitig eine Anforderung, die für sie bestimmt ist. Nach einer Zyklusdauer der Module sind die Antworten am Ausgang der Module MMi verfügbar und können in die nächste Stufe, die RSi-1 des Ausgangsschieberegisters entspricht, eingegeben werden. Bei jeder vom Taktsignal h veranlaßten Verschiebung empfängt der Prozessor P eine Antwort, deren Position in der Ankunftsreihenfolge der Position der entsprechenden Anforderung in der Sendereihenfolge entspricht.
- Es ist daher festzustellen, daß die gesamte Zugriffszeit auf die Daten vollständig unabhängig vom Modul ist, in dem sich diese Daten befinden.
- Der Speicher muß auch imstande sein, in einer nicht verschachtelten Betriebsart zu arbeiten, also dann, wenn die aufeinanderfolgenden Anforderungen an beliebige Module adressiert sind. Angesichts der Tatsache, daß die Zyklusdauer der Schieberegister so bemessen ist, daß sie sehr viel kleiner als die Zugriffszeit der Module ist, muß verhindert werden, daß zwei benachbarte Anforderungen denselben Modul adressieren. Ebenso muß verhindert werden, daß eine von einem Modul ausgegebene Antwort mit einer Antwort in Konflikt gerät, die sich in einer vor diesem Modul angeordneten Stufe befindet. Diese Situationen können kraft eines vom Prozessor gesteuerten Adressen-Steuermechanismus verhindert werden. Diese Lösung besitzt jedoch den Nachteil, daß die Arbeit des Prozessors erschwert wird und die Gefahr besteht, daß seine Leistung verringert wird.
- Die in Fig. 2 gezeigte Ausführungsvariante gestattet die Lösung dieses Problems, ohne daß sie die obenerwähnten Nachteile aufweist. In Fig. 2 sind die Speichermodule, die Eingangs- und Ausgangsschieberegister und der Prozessor mit den gleichen Bezugszeichen bezeichnet. Gegenüber der Fig. 1 weist die Fig. 2 die folgenden Unterschiede auf. Zunächst wird das Eingangsschieberegister durch eine zusätzliche Stufe REn vervollständigt, die hinter der letzten Stufe RE&sub1; des Eingangsschieberegisters angeordnet ist. Der Ausgang dieser zusätzlichen Stufe REn ist mit einer Anforderungs- Steuerschaltung 1 verbunden.
- Darüber hinaus ist jeder Speichermodul MMi mit einer Quittierungsschaltung Ai verbunden, deren Eingang mit der vorherigen Stufe REi des Eingangsschieberegisters verbunden ist und deren Ausgang mit der nachfolgenden Stufe REi-1 verbunden ist. Ein weiterer Ausgang der Quittierungsschaltung Ai ist mit dem Eingang des zugehörigen Moduls MMi verbunden. Die Quittierungsschaltung Ai empfängt außerdem ein vom zugehörigen Speichermodul ausgegebenes Quittierungssignal ACKi.
- Der Ausgang der Anforderungs-Steuerschaltung 1 ist direkt mit dem Eingang der dem Modul MMn zugeordneten Quittierungsschaltung An verbunden. Die Anforderungs- Steuerschaltung 1 ist mit ihrem Eingang über Eingangsleitungen LE mit der Ausgangsschnittstelle des Prozessors P verbunden. Diese Schaltung 1 empfängt außerdem vom Prozessor P ein Signal DEM, das angibt, daß der Prozessor zum Senden einer neuen Anforderung bereit ist. Schließlich liefert die Schaltung 1 an den Prozessor P ein Signal SP, das später definiert wird.
- Obwohl in Fig. 2 nicht erkennbar, umfassen die Stufen REi des Eingangsschieberegisters außer den den Anforderungssignalen zugewiesenen Kippschaltungen eine zusätzliche Kippschaltung, ferner umfassen die Verbindungen zwischen den Stufen eine dieser Kippschaltung zugewiesene zusätzliche Leitung. Der Zweck dieser Kippschaltung und dieser zusätzlichen Leitung besteht darin, daß ein Binärmerker B mitgeführt werden kann, dessen logischer Wert angibt, ob die zugehörige Anforderung von einem der Module des Speichers berücksichtigt worden ist oder nicht.
- Mit Bezug auf die Fig. 3 wird die genaue Funktion der Quittierungsschaltungen und der Anforderungs-Steuerschaltung im einzelnen erläutert werden. Dennoch kann bereits in groben Zügen die Funktion des Eingangsschieberegisters gemäß der Variante von Fig. 2 angegeben werden.
- Unter der Annahme, daß eine Anforderung an den Speicher geschicht werden kann, gibt die Steuerschaltung 1 an ihrem Ausgang die Anforderung im engeren Sinne aus, die von dem Merker B begleitet wird, dessen logischer Wert das Vorliegen einer gültigen Anforderung, d.h. einer noch nicht vom Speicher akzeptierten Anforderung angibt. Diese Anforderung und der zugehörige Merker bewegen sich im Schieberegister vorwärts, solange sie nicht den durch die Adresse identifzierten Ziel-Modul erreicht haben. Wenn die Anforderung in der vor dem Ziel-Modul angeordneten Stufe ankommt, wird die in der Anforderung enthaltene Adresse von diesem Modul erkannt, wobei dieser Modul dann, wenn er verfügbar ist, an die Quittierungsschaltung Ai ein Quittierungssignal ACKi überträgt. Während des folgenden Taktintervalls wird die Anforderung an die nachfolgende Stufe übertragen, wobei jedoch die Quittierungsschaltung den Merker B auf einen anderen logischen Wert zwingt, der angibt, daß die Anforderung vom Modul MMi akzeptiert worden ist. Wenn der Modul nicht verfügbar ist, sendet sie ein Quittierungssignal ACKi aus, das den komplementären Wert besitzt. Im folgenden Taktintervall wird die Anforderung ebenfalls an die nachfolgende Stufe übertragen, der Merker B behält jedoch seinen Anfangswert bei. Die Anforderung und ihr Merker bewegen sich dann im Eingangsschieberegister fort und kommen in der zusätzlichen Stufe REn an.
- Wenn der Prozessor zum Senden einer Anforderung bereit ist, stellt er das Signal DEM auf einen ersten bestimmten Wert. Dieses Signal wird von der Anforderungs- Steuerschaltung 1 empfangen, welche Mittel zum Prüfen des logischen Wertes des in der Stufe REn enthaltenen Merkers B umfaßt. Wenn der Wert des Merkers B eine gültige Anforderung angibt, werden die Anforderung und der Merker, die im Register REn enthalten sind, an den Eingang der ersten Quittierungsschaltung An übertragen, wobei nicht zugelassen wird, daß die Anforderung vom Prozessor in das Schieberegister eingegeben wird. Wenn der im Register REn enthaltene Merker eine ungültige Anforderung angibt, wird die Anforderung des Prozessors über die Ausgangsleitung der Anforderungs-Steuerschaltung 1 in das Schieberegister eingegeben. Der Prozessor wird durch das von der Anforderungs-Steuerschaltung 1 erzeugte Signal SP darüber informiert, ob die Anforderung akzeptiert ist oder nicht.
- Es ist ersichtlich, daß diese Lösung das oben angegebene Problem beseitigt, weil sich in dem Fall, in dem zwei zu nahe beieinanderliegende Anforderungen im selben Speichermodul vorhanden sind, die zweite Anforderung, die von diesem Modul nicht berücksichtigt werden kann, im Schieberegister weiter bewegt und nach n Verschiebungen in den Eingang dieses Registers erneut eingegeben wird. Diese Anforderung liegt erneut am Eingang des Ziel-Moduls vor, woraufhin ein neuer Versuch zu ihrer Berücksichtigung von neuem ausgeführt wird.
- Gegenüber der Fig. 1 weist die Ausführungsform der Fig. 2 außerdem Abwandlungen im Ausgangsschieberegister auf.
- Jeder Modul MMi ist mit einer Antwort-Steuerschaltung Ci verbunden, die mit ihrem Ausgang mit dem entsprechenden Modul verbunden ist. Jede Antwort-Steuerschaltung ist mit einem weiteren Eingang mit dem Ausgang der Stufe RSi verbunden, die sich vor dem entsprechenden Modul befindet, während sie mit ihrem Ausgang mit dem Eingang der Stufe RSi-1 verbunden ist, die sich hinter dem entsprechenden Modul befindet. Jede Antwort-Steuerschaltung Ci emptangt außerdem ein Signal Ri, das vom zugehörigen Modul ausgegeben wird und dessen logischer Wert eine am Ausgang des Moduls verfügbare Antwort darstellt.
- Die Antwort-Steuerschaltung C&sub1;, die dem letzten Modul MM&sub1; zugeordnet ist, ist mit ihrem Ausgang mit einer zusätzlichen Stufe RSn des Ausgangsschieberegisters verbunden. Die Antwort-Steuerschaltung Cn, die dem ersten Modul MMn zugeordnet ist, ist mit ihrem Eingang mit dem Ausgang einer Antwort-Quittierungsschaltung 2 verbunden, deren Eingang gleichzeitig mit dem Ausgang der zusätzlichen Stufe RSn und mit dem Eingang des Prozessors verbunden ist. Die Antwort-Quittierungsschaltung 2 empfängt außerdem vom Prozessor P ein Signal RACK, dessen logischer Wert eine vom Prozessor akzeptierte Antwort angibt.
- Jede Antwort-Steuerschaltung Ci liefert an den zugehörigen Modul ein Signal SMi, das später definiert wird.
- Jede Stufe RSi des Ausgangsschieberegisters umfaßt eine (nicht gezeigte) zusätzliche Kippschaltung, während die Verbindungen, die die Stufen miteinander verbinden, eine zusätzliche Leitung umfassen. Die zusätzliche Kippschaltung und die zusätzliche Leitung erlauben die Mitführung eines Antwortmerkers Br, der einen ersten logischen Wert besitzt, wenn die zugehörige Antwort vom Prozessor bereits akzeptiert worden ist und einen zweiten logischen Wert besitzt, wenn diese Antwort nicht akzeptiert worden ist.
- Das Ausgangsschieberegister von Fig. 2 arbeitet auf die folgende Weise. Wenn eine gültige Antwort, d.h. eine noch nicht vom Prozessor akzeptierte Antwort in der zusätzlichen Stufe RSn vorliegt und wenn diese Antwort vom Prozessor akzeptiert wird, sendet der letztere an die Antwort-Quittierungsschaltung ein Signal RACK, das einen ersten logischen Wert besitzt, der angibt, daß die Antwort akzeptiert ist. Die Antwort- Quittierungsschaltung 2 überträgt dann die in der Stufe RSn enthaltene Antwort an die Antwort-Steuerschaltung Cn des ersten Moduls MMn. Gleichzeitig zwingt die Antwort- Quittierungsschaltung 2 den zugehörigen Antwortmerker Br auf den ersten logischen Wert.
- Wenn die Antwort vom Prozessor nicht akzeptiert wird, sendet dieser ein Signal RACK mit einem zweiten logischen Wert und aufgrund dieses Signals überträgt die Antwort- Quittierungsschaltung 2 die in der Stufe RSn enthaltene Antwort und den zugeordneten Merker Br ohne Modifikationen direkt an den Eingang der Antwort-Steuerschaltung Cn.
- Wenn ein Modul MMi eine fertige Antwort besitzt, schickt der letztere an die zugeordnete Antwort-Steuerschaltung Ci ein Signal Ri, das einen ersten logischen Wert besitzt. Wenn der Merker Br, der in der vor dem Modul befindlichen Stufe enthalten ist, den bestimmten ersten logischen Wert besitzt, stellt die Antwort-Steuerschaltung Ci zwischen dem Ausgang des zugehörigen Moduls und dem Eingang der hinter diesem Modul befindlichen Stufe RSi-1 eine Verbindung her. Gleichzeitig zwingt die Antwort- Steuerschaltung Ci den zugeordneten Antwortmerker Br auf den zweiten logischen Wert und überträgt ihn an die entsprechende Kippschaltung der nachfolgenden Stufe Ci-1.
- Wenn der Merker, der in der vor dem Modul befindlichen Stufe enthalten ist, einen Wert besitzt, der gleich dem zweiten logischen Wert ist, wird die am Ausgang des Moduls verfügbare Antwort gesperrt, außerdem wird der Inhalt der vorhergehenden Stufe RSi direkt an die nachfolgende Stufe RSi-1 übertragen.
- Wenn eine im Modul MMi verfügbare Antwort in das Ausgangsschieberegister eingegeben worden ist, wird dies mittels des Signals SMi an den Modul MMi gemeldet.
- Das Ausgangsschieberegister gemäß Fig. 2 ermöglicht daher die Vermeidung einer Kollision von zwei Antworten, von denen eine von einem Speichermodul und die andere von der vor diesem Modul befindlichen Stufe ausgegeben worden ist.
- Die Fig. 3 zeigt die Anforderungs-Steuerschaltung 1 und die Quittierungsschaltungen Ai, die in Fig. 2 verwendet werden, mit mehr Einzelheiten.
- Die Anforderungs-Steuerschaltung 1 wird von einer Wählschaltung 1B und von einer Steuerschaltung 1A gebildet. Die Wählschaltung 1B umfaßt einen ersten Multiplexer 3 mit zwei Eingängen, wobei ein erster Eingang ein festes logisches Signal empfängt, während der andere Eingang mit der den Merker B enthaltenden Kippschaltung der Stufe REn verbunden ist. Ein zweiter Multiplexer 4 mit zwei Eingängen ist mit seinem ersten Eingang mit dem Ausgang des Prozessors P und mit seinem zweiten Eingang mit den Ausgängen der anderen Kippschaltungen der Stufe REn verbunden. Die zwei Multiplexer 3 und 4 werden durch ein Signal SP gesteuert, das von einer Steuerschaltung 1A ausgegeben wird. Die Steuerschaltung 1A empfängt den in der Stufe REn enthaltenen Merker und das Signal DEM.
- In dem gezeigten Ausführungsbeispiel ist angenommen worden, daß der Merker ein Binärelement ist, der, wenn er den logischen Wert 1 annimmt, angibt, daß die Antwort gültig ist und folglich noch nicht vom Speicher akzeptiert ist. Wenn der Merker den logischen Wert 0 annimmt, ist die zugeordnete Anforderung vom Speicher akzeptiert worden. Außerdem ist angenommen worden, daß die Multiplexer 3 und 4 zwischen ihrem oberen Eingang und ihrem Ausgang eine Verbindung herstellen, wenn das Signal SP den logischen Wert 1 annimmt. Schließlich ist angenommen worden, daß das Signal DEM den logischen Wert 1 annimmt, wenn am Ausgang des Prozessors eine Anforderung vorliegt.
- Die Anforderungs-Steuerschaltung arbeitet auf die folgende Weise. Die Steuerschaltung 1A gibt das Signal SP mit dem logischen Wert 1 aus, wenn der Merker B den logischen Wert 0 besitzt und wenn das Signal DEM den logischen Wert 1 besitzt. Das Signal SP nimmt in allen anderen Fällen den logischen Wert 0 an. Somit wird die am Ausgang des Prozessors vorhandene Anforderung dann, wenn SP gleich 1 ist, an den Ausgang des Multiplexers 4 übertragen, wobei gleichzeitig der Merker B am Ausgang des Multiplexers 3 den logischen Wert 1 annimmt. Wenn SP gleich 0 ist, liegt daher der Inhalt der Stufe REn an den Ausgängen der Multiplexer 3 und 4 vor.
- Das Signal SP wird außerdem an den Prozessor P übertragen, um diesen darüber zu informieren, ob die Anforderung in das Eingangsschieberegister eingegeben worden ist oder nicht.
- Die Ausführung der Steuerschaltung 1A wird nicht genauer beschrieben, weil sie für den Fachmann keinerlei Schwierigkeit enthält.
- Die Quittierungsschaltungen An und An-1, die den beiden ersten Modulen MMn und MMn-1 zugeordnet sind, sind in der Fig. 3 ebenfalls gezeigt. Die dem zweiten Modul MMn-1 zugeordnete Quittierungsschaltung An-1 wird einfach durch ein Logikgatter 5 mit zwei Eingängen gebildet, dessen erster Eingang das Quittierungssignal ACKn-1 des zugehörigen Moduls empfängt und dessen zweiter Eingang mit dem Ausgang der dem Merker zugeordneten Kippschaltung der vorhergehenden Stufe verbunden ist. Der Ausgang des Gatters 5 ist mit dem Eingang der dem Merker zugewiesenen Kippschaltung der nachfolgenden Stufe verbunden.
- Wenn im Betrieb an den Modul MMn-1 eine Anforderung adressiert ist und wenn diese Anforderung im Register REn-1 vorhanden ist, wenn die Anforderung gültig ist, d.h. wenn der in diesem letzteren Register enthaltene Merker B den logischen Wert 1 besitzt, und wenn der Speicher verfügbar ist, berücksichtigt der Speicher die Anforderung und gibt ein Quittierungssignal ACKn-1 aus, das den logischen Wert 1 besitzt. Das Logikgatter 5 gibt dann an seinem Ausgang den logischen Wert 0 aus.
- Wenn im Register REn-1 eine ungültige Antwort, also mit B gleich 0, enthalten ist, wird diese Anforderung ohne Modifikation des Merkers B direkt an die nachfolgende Stufe REn-2 geschickt.
- Die dem ersten Modul MMn zugeordnete Quittierungsschaltung ist identisch, mit dem naheliegenden Unterschied, daß ihre Eingänge nicht mit der dem Eingangsschieberegister vorhergehenden Stufe, sondern mit den Ausgängen der Wählschaltung 1B verbunden sind.
- Die anderen Stufen des Eingangsschieberegisters sind mit der ersten identisch und sind daher in Fig. 3 nicht gezeigt.
- Die Fig. 4 zeigt Ausführungsformen der Antwort-Quittierungsschaltung 2 und der Antwort-Steuerschaltungen Ci.
- Die Antwort-Quittierungsschaltung 2 umfaßt im wesentlichen ein Lögikgatter 6, das an seinem ersten Eingang den in der Stufe RSn des Ausgangsschieberegisters enthaltenen Merker Br empfängt. Das Gatter 6 empfängt an seinem zweiten Eingang das vom Prozessor P ausgegebene Signal RACK. Der Ausgang des Gatters 6 ist mit der Antwort- Steuerschaltung Cn des Moduls MMn verbunden.
- Wenn in Übereinstimmung mit der oben erläuterten Konvention der Merker Br den logischen Wert 1 besitzt, bedeutet dies, daß die zugehörige Antwort gültig ist, d.h. daß sie noch nicht vom Prozessor akzeptiert worden ist.
- Es wird außerdem angenommen, daß das Signal RACK den logischen Wert 1 annimmt, wenn der Prozessor eine gültige Anforderung akzeptiert.
- Unter Berücksichtigung dieser Konvention ist der Betrieb der Antwort- Quittierungsschaltung der folgende. Wenn eine im Register RSn enthaltene Antwort einem Antwortmerker Br zugehört, dessen logischer Wert gleich 1 ist, bedeutet dies, daß diese gültige Antwort vom Prozessor berücksichtigt werden wird. Wenn dies der Fall ist, nimmt das vom Prozessor ausgegebene Signal RACK den logischen Wert 1 an, außerdem gibt die Schaltung 6 am Ausgang den logischen Wert 0 aus. im gegenteiligen Fall besitzt das Signal RACK den logischen Wert 1, während der Ausgang der Schaltung 6 den logischen Wert 1 annimmt, was daher bedeutet, daß die Anforderung vom Prozessor nicht akzeptiert worden ist. Wenn dagegen der im Register RSn enthaltene Merker Br den logischen Wert 0 besitzt, nimmt der Ausgang 6 ebenfalls den logischen Wert 0 an.
- Die Fig. 4 zeigt lediglich die den beiden ersten Modulen MMn und MMn-1 zugeordneten Antwort-Steuerschaltungen, weil die den anderen Modulen zugehörigen Schaltungen identisch sind.
- Nun wird die dem zweiten Modul MMn-1 zugehörige Antwort-Steuerschaltung Cn-1 betrachtet. Diese Schaltung wird von einer Wählschaltung 2Cn-1 und von einer Steuerschaltung 1Cn-1 gebildet. Die Wählschaltung 2Cn-1 umfaßt zwei Multiplexer 7 und 8 mit zwei Eingängen. Der erste Eingang des ersten Multiplexers 7 ist mit dem Ausgang des der eigentlichen Antwort zugewiesenen Teils der Stufe RSn-1 verbunden. Der zweite Eingang des Multiplexers 7 ist mit dem Ausgang des Moduls MMn-1 verbunden. Der erste Eingang des zweiten Multiplexers 8 ist mit dem Ausgang der dem Antwortmerker Br zugewiesenen Kippschaltung der Stufe RSn-1 verbunden. Der zweite Eingang wird auf dem logischen Wert 1 gehalten.
- Die Steuerschaltung 1Cn-1 ist an ihrem Eingang mit dem Ausgang der den Antwortmerker Br enthaltenden Kippschaltung der Stufe RSn-1 verbunden. Die Schaltung 1Cn-1 empfängt außerdem das Signal Rn-1 des Moduls MMn-1. Es wird angenommen, daß das Signal Rn-1 den logischen Wert 1 annimmt, wenn im Modul MMn-1 eine Antwort verfügbar ist. Der Ausgang Sn-1 der Schaltung 1Cn-1 ist mit dem Steuereingang der zwei Multiplexer 7 und 8 verbunden. Wenn das Signal Sn-1 den logischen Wert 1 besitzt, stellen die Multiplexer 7 und 8 zwischen ihrem unteren Eingang und ihrem Ausgang eine Verbindung her. Die Steuerschaltung 1Cn-1 ist so beschaffen, daß dann, wenn das Signal Rn-1 den logischen Wert 1 besitzt und der Merker Br den logischen Wert 0 besitzt, das Signal Sn-1 den logischen Wert 0 annimmt und somit die Übertragung der in der Ausgangsschnittstelle des Moduls MMn-1 vorliegenden Antwort in die nachfolgende Stufe RSn-2 zuläßt. Gleichzeitig nimmt der an das Register gelieferte Merker Br den logischen Wert 1 an.
- Wenn der im Register RSn-1 enthaltene Antwortmerker Br den logischen Wert 1 besitzt, was bedeutet, daß die Antwort gültig ist, gibt die Steuerschaltung 1Cn-1 an den Modul MMn-1 ein Signal SMn-1 aus, um diesen Modul darüber zu informieren, daß die Antwort nicht in das Ausgangsschieberegister eingegeben werden kann. Außerdem nimmt das Signal Sn-1 den logischen Wert 0 an, ferner wird die in der Stufe RSn-1 enthaltene Anforderung vollständig in das nachfolgende Register RSn-2 übertragen. Daraus folgt, daß der in das nachfolgende Register eingegebene Antwortmerker den logischen Wert 1 beibehält. Wenn im Modul MMn-1 keine Antwort verfügbar ist und das Signal Rn-1 daher den logischen Wert 0 annimmt, nimmt das Signal Sn-1 selbstverständlich den logischen Wert 0 an, um somit die Übertragung der in der Stufe RSn-1 enthaltenen Anforderung an die Stufe RSn-2 ohne Modifikation zuzulassen.
- Die Antwort-Steuerschaltung Cn, die dem ersten Modul MMn zugeordnet ist, ist identisch, der erste Eingang des zweiten Multiplexers ist jedoch mit dem Ausgang des Logikgatters 6 der Antwort-Quittierungsschaltung 2 verbunden.
- Die Fig. 5 zeigt eine weitere Abwandlung der Ausführung des erfindungsgemäßen Speichers. In dieser Figur sind die bereits in Fig. 2 gezeigten Elemente mit dem gleichen Bezugszeichen bezeichnet. In dieser Variante sind jedoch die Antwort-Steuerschaltungen C&sub1;,...,Ci,...,Cn mit den Ausgängen der vor dem vorhergehenden Modul angeordneten Stufe verbunden. Diese Schaltungen Ci empfangen außerdem das vom vorhergehenden Modul MMi+1 ausgegebene Signal Ri+1.
- Gemäß dieser Variante sind die Antwort-Steuerschaltungen Ci so beschaffen, daß sie eine Zyklusdauer im voraus die Bedingungen festlegen, um die Übertragung einer Antwort des zugeordneten Moduls MMi an die nachfolgende Stufe des Ausgangsschieberegisters zuzulassen.
- Wenn die zweite Antwort-Steuerschaltung Cn-1 betrachtet wird, die dem zweiten Modul MMn-1 zugeordnet ist, läßt diese Schaltung die Übertragung einer im zugeordneten Modul MMn-1 verfügbaren Antwort zu, wenn vor dem Modul MMn keine gültige Antwort vorhanden ist und in diesem letzteren Modul keine Antwort verfügbar ist.
- In dieser Ausführungsvariante ist ein Vorausschau-Mechanismus vorgesehen, der die Kompensation der Verzögerungen ermöglicht, die durch die Antwort-Steuerschaltung der vorhergehenden Stufe möglicherweise eingeführt werden.
- Aus analogen Gründen ist im Eingangsschieberegister ebenfalls ein Vorausschau- Mechanismus vorgesehen. Gemäß dieser weiteren Variante ist die Anforderungs- Steuerschaltung 1 mit dem Ausgang der Stufe RE&sub1; verbunden und empfängt das vom Modul MM1 erzeugte Signal ACK&sub1;. Die Anforderungs-Steuerschaltung ist daher so beschaffen, daß sie zuläßt, daß eine vom Prozessor P ausgegebene Anforderung in das Eingangsschieberegister eingegeben wird, wenn eine in der Stufe RE&sub1; enthaltene Anforderung ungültig ist oder wenn diese Anforderung gültig ist, während das Signal ACK1&sub1; angibt, daß diese Anforderung vom Modul MM&sub1; akzeptiert werden wird, weil sie für diesen Modul bestimmt ist und dieser Modul verfügbar ist.
- Die Verwirklichung gemäß dieser Varianten der Antwort-Quittierungsschaltung 2, der Antwort-Steuerschaltungen Ci, der Anforderungs-Steuerschaltung 1 und der Quittierungsschaltungen Ai erfordert keine zusätzlichen Erläuterungen, weil sie vollständig zum Umfang des Wissens des Fachmanns gehören, wenn die Erläuterungen berücksichtigt werden, die mit Bezug auf die Fig. 3 und 4 bereits gegeben worden sind, in denen die an den Verbindungen vorzunehmenden Modifikationen durch Punkte dargestellt sind.
Claims (9)
1. Speicher mit mehreren Modulen (MMi), der dazu vorgesehen
ist, von wenigstens einem Prozessor (P) Anforderungen zu
empfangen, wobei die Anforderungen die Form von Befehls-,
Adressierungs- und möglicherweise Datensignalen besitzen, wobei
jeder Modul Mittel zum Dekodieren der an seinem Eingang
anliegenden Anforderungen und Mittel zum Liefern von
Antwortsignalen auf die Anforderungen aufweist, wobei der Speicher dadurch
gekennzeichnet ist, daß die Anforderungen über ein
Eingangsschieberegister (RE&sub1;...REi...REn-1) an den Eingang eines jeden
der Module (MMi) übertragen werden, daß die vom Modul (MMi)
ausgegebenen Antworten über ein Ausgangsschieberegister
(RS&sub1;...RSj...RSn-1) an den Eingang des Prozessors (P)
übertragen werden, wobei die Eingangs- und Ausgangsschieberegister
synchron arbeiten, daß die Anzahl der Stufen des
Eingangsschieberegisters, die eine Anforderung durchläuft, um an einem
der Module anzukommen, für jeden der zugeordneten Module
verschieden ist, und daß die Gesamtanzahl der den Eingangs- und
Ausgangsschieberegistern zugehörigen Stufen, die einem der
Module (MMi) zugeordnet sind, konstant und unabhängig vom
betrachteten Modul ist.
2. Speicher gemäß Anspruch 1, dadurch gekennzeichnet, daß er
ein einziges Eingangsschieberegister und ein einziges
Ausgangsschieberegister aufweist, die sämtlichen Modulen
gemeinsam sind, wobei der Ausgang des Prozessors (P) mit dem Eingang
der ersten Stufe (REn-1) des Eingangsschieberegisters
verbunden ist und wobei der Eingang des Prozessors (P) mit dem
Ausgang der letzten Stufe (RS&sub1;) des Ausgangsschieberegisters
verbunden ist, und daß der Ausgang einer jeden Stufe (REi) des
Eingangsschieberegisters mit dem Eingang eines der Module
(MMi)
verbunden ist, wobei der Ausgang des Moduls (MMi) mit
dem Ausgang der Stufe (RSi) gleichen Ranges des
Ausgangsschieberegisters verbunden ist.
3. Speicher gemäß Anspruch 2, dadurch gekennzeichnet, daß der
Ausgang des Prozessors (P) direkt mit dem Eingang eines Moduls
(MMn) verbunden ist, dessen Ausgang mit dem Eingang der ersten
Stufe (RSn-1) des Ausgangsschieberegisters verbunden ist.
4. Speicher gemäß einem der Ansprüche 2 oder 3, dadurch
gekennzeichnet, daß jeder Modul (MMi) mit einer Schaltung für
die Quittierung der Anforderungen (Ai) verbunden ist, um jeder
Anforderung einen vom Eingangsschieberegister mitgeführten
Anforderungsmerker (B) zuzuweisen, wobei die Schaltung für die
Quittierung der Anforderungen (i) den Anforderungsmerker (B)
auf einen ersten bestimmten Wert zwingt, wenn ein vom Modul
(MMi) ausgegebenes Quittierungssignal (ACKi) angibt, daß der
Modul (MMi) die an seinem Eingang vorliegende Anforderung
akzeptiert, und daß das Eingangsschieberegister eine zusätzliche
Stufe (REn) aufweist, die sich hinter der letzten Stufe (RE&sub1;)
des Schieberegisters befindet, wobei der Ausgang der
zusätzlichen Stufe (REn) mit einer mit dein Prozessor verbundenen
Steuerschaltung (1) für die Anforderungen verbunden ist, wobei die
Steuerschaltung (1) für die Anforderungen eine Anforderungs-
Auswahleinrichtung (1B) aufweist, die zuläßt, daß entweder an
den Eingang des Eingangsschieberegisters eine neue Anforderung
übertragen wird, wenn der Wert des in der zusätzlichen Stufe
(REn) enthaltenen Merkers (B) gleich dem ersten bestimmten
Wert ist, oder daß die in der zusätzlichen Stufe (REn)
enthaltene Anforderung übertragen wird, wenn das Gegenteil der Fall
ist, wobei der Anforderungsmerker (B), der jeder neuen
Anforderung zugewiesen wird, einen zweiten bestimmten Wert annimmt.
5. Speicher gemäß Anspruch 4, dadurch gekennzeichnet, daß die
Anforderungs-Steuerschaltung (1) das Quittierungssignal (ACK&sub1;)
des der letzten Stufe (RE&sub1;) des Eingangsschieberegisters
zugeordneten letzten Moduls (MM&sub1;) empfängt und daß die
Anforderungs-Steuerschaltung (1) die Anforderungs-Auswahleinrichtung
(1B)
steuert, um die Übertragung einer neuen Anforderung an
den Eingang des Eingangsschieberegisters zuzulassen, wenn der
Wert des Anforderungsinerkers (B), der in der letzten Stufe
(RE&sub1;) enthalten ist, gleich dem ersten bestimmten Wert ist
oder wenn der Merker den zweiten bestimmten Wert
besitzt und die in der letzten Stufe enthaltene Anforderung den
letzten Modul (MM&sub1;) adressiert und dieser letzte Modul
verfügbar ist.
6. Speicher gemäß einem der Ansprüche 2 bis 5, dadurch
gekennzeichnet, daß das Ausgangsschieberegister eine zusätzliche
Stufe (RSn) aufweist, die hinter der letzten Stufe (RS&sub1;) und
vor der ersten Stufe (RSn-1) des Ausgangsschieberegisters
angeordnet ist, daß der Ausgang der zusätzlichen Stufe (RSn) mit
dem Eingang des Prozessors (P) und mit dem Eingang der dem
Prozessor (P) zugeordneten Schaltung (2) für die Quittierung
der Antwort verbunden ist, wobei die
Antwort-Quittierungsschaltung (2) Mittel aufweist, um jeder an die erste Stufe
(RSn-1) des Ausgangsschieberegisters übertragenen Antwort
einen Antwortmerker (Br) zuzuweisen, der vom
Ausgangsschieberegister mitgeführt wird, wobei der Antwortmerker (Br) einen
ersten bestimmten Wert annimmt, wenn die Antwort vom Prozessor
(P) akzeptiert wird, und daß jeder Modul (MMi) einer Antwort-
Steuerschaltung (Ci) zugeordnet ist, die eine
Antwort-Auswahleinrichtung (2Ci) aufweist, die zuläßt, daß zu der hinter dem
Modul (MMi) angeordneten Stufe (RSi-1)
- entweder eine am Ausgang des Moduls (MMi) verfügbare Antwort
übertragen wird, wenn der Wert des in der vor dem Modul (MMi)
befindlichen Stufe (RSi) enthaltenen Antwortmerkers (Br)
gleich dem ersten bestimmten Wert ist,
- oder die in der Stufe (RSi) vor dem Modul (MMi) enthaltene
Antwort übertragen wird, wenn das Gegenteil der Fall ist,
und daß die Antwort-Steuerschaltung (Ci) Mittel aufweist (1Ci,
2Ci), um den Antwortmerker (Br) auf einen zweiten bestimmten
Wert zu zwingen, wenn eine vom Modul (MMi) ausgegebene Antwort
zu der Stufe (RSi-1) hinter dem Modul (MMi) übertragen wird.
7. Speicher gemäß Anspruch 6, dadurch gekennzeichnet, daß die
Antwort-Steuerschaltung (Ci) eines Moduls (MMi) mit dem
Ausgang der vor dem vorhergehenden Modul (MMi+1) angeordneten
Stufe (RSi+1) verbunden ist und vom vorhergehenden Modul ein
Signal (Ri+1) empfängt, das angibt, daß der vorhergehende
Modul (MMi+i) eine verfügbare Antwort enthält, und daß die
Antwort-Steuerschaltung (Ci) die Antwort-Auswahleinrichtung (2Ci)
steuert, um die Übertragung einer im Modul (MMi) verfügbaren
neuen Antwort an den Eingang der hinter dem Modul (MMi)
befindlichen Stufe (RSi-1) zuzulassen, wenn der Wert des
Antwortmerkers (Br), der in der Stufe (RSi+1) vor dem Modul (Mi)
enthalten ist, gleich dem ersten bestimmten Wert ist und wenn
im vorhergehenden Modul (Mi+1) keine Antwort verfügbar ist.
8. Speicher gemäß einem der vorangehenden Ansprüche, dadurch
gekennzeichnet, daß die Anforderungen parallel einen
Funktionskode, der der Definition der im Speicher auszuführenden
Operation dient, eine Adresseninformation, im Falle des
Schreibens Daten und im Falle des Lesens eine Herkunftskennung
enthalten und daß die Antworten parallel eine Fehlermeldung,
eine der Herkunftskennung der betrachteten Anforderung
entsprechende Zielkennung und im Falle des Lesens Daten
enthalten.
9. Speicher gemäß Anspruch 8, dadurch gekennzeichnet, daß der
Prozessor (P) von einer Mehrzahl von Elementarprozessoren
gebildet wird, wobei die Herkunftskennung die Identität des die
Anforderung aussendenden Elementarprozessors angibt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR8806910A FR2632093B1 (fr) | 1988-05-25 | 1988-05-25 | Memoire modulaire |
Publications (2)
Publication Number | Publication Date |
---|---|
DE68902185D1 DE68902185D1 (de) | 1992-08-27 |
DE68902185T2 true DE68902185T2 (de) | 1993-01-21 |
Family
ID=9366572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE8989401392T Expired - Fee Related DE68902185T2 (de) | 1988-05-25 | 1989-05-22 | Modularer speicher. |
Country Status (5)
Country | Link |
---|---|
US (1) | US5175832A (de) |
EP (1) | EP0344052B1 (de) |
JP (1) | JPH0218639A (de) |
DE (1) | DE68902185T2 (de) |
FR (1) | FR2632093B1 (de) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5249301A (en) * | 1988-10-25 | 1993-09-28 | Bull S.A | Processing communication system having a plurality of memories and processors coupled through at least one feedback shift register provided from ring configured input stations |
JPH05274273A (ja) * | 1991-06-28 | 1993-10-22 | Digital Equip Corp <Dec> | コンピュータ・システムに於ける素子のインターロック・スキーム |
FR2820874B1 (fr) * | 2001-02-13 | 2003-05-30 | St Microelectronics Sa | Procede de gestion a acces aleatoire et rapide d'une memoire dram |
US9021482B2 (en) | 2007-05-04 | 2015-04-28 | International Business Machines Corporation | Reordering data responses using ordered indicia in a linked list |
JP7476676B2 (ja) * | 2020-06-04 | 2024-05-01 | 富士通株式会社 | 演算処理装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3566363A (en) * | 1968-07-11 | 1971-02-23 | Ibm | Processor to processor communication in a multiprocessor computer system |
US4156288A (en) * | 1978-06-13 | 1979-05-22 | Sperry Rand Corporation | Asynchronous shift register with turnpike feature |
IT1118355B (it) * | 1979-02-15 | 1986-02-24 | Cselt Centro Studi Lab Telecom | Sistema di interconnessione tra processori |
US4491915A (en) * | 1982-11-30 | 1985-01-01 | Rca Corporation | Multiprocessor-memory data transfer network |
US4809232A (en) * | 1986-12-16 | 1989-02-28 | The United States Of America As Represented By The United States Department Of Energy | High speed, very large (8 megabyte) first in/first out buffer memory (FIFO) |
JPH0760594B2 (ja) * | 1987-06-25 | 1995-06-28 | 富士通株式会社 | 半導体記憶装置 |
US4918600A (en) * | 1988-08-01 | 1990-04-17 | Board Of Regents, University Of Texas System | Dynamic address mapping for conflict-free vector access |
-
1988
- 1988-05-25 FR FR8806910A patent/FR2632093B1/fr not_active Expired - Lifetime
-
1989
- 1989-05-22 DE DE8989401392T patent/DE68902185T2/de not_active Expired - Fee Related
- 1989-05-22 EP EP89401392A patent/EP0344052B1/de not_active Expired - Lifetime
- 1989-05-23 US US07/355,922 patent/US5175832A/en not_active Expired - Lifetime
- 1989-05-24 JP JP1131224A patent/JPH0218639A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
FR2632093B1 (fr) | 1990-08-10 |
JPH0218639A (ja) | 1990-01-22 |
DE68902185D1 (de) | 1992-08-27 |
EP0344052B1 (de) | 1992-07-22 |
FR2632093A1 (fr) | 1989-12-01 |
EP0344052A1 (de) | 1989-11-29 |
US5175832A (en) | 1992-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2856483C2 (de) | ||
DE68924637T2 (de) | Speicheranordnung für Mehrprozessorsysteme. | |
DE2448212A1 (de) | Asynchrone sammelleitung zur selbstbestimmten kommunikation zwischen mutterrechnergeraeten und tochtergeraeten | |
DE2062211A1 (de) | Speicheranordnung mit gleichzeitigem Zugriff auf n Speicherstellen | |
DE3933361A1 (de) | Einrichtung und verfahren zur warteschlangenbildung von anforderungen und antworten auf einem pipeline-paketbus | |
DE3049774C2 (de) | ||
DE3687867T2 (de) | Mikrorechner. | |
DE3911721C2 (de) | ||
EP0062141B1 (de) | Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem | |
DE2951040C2 (de) | ||
DE3123382A1 (de) | "verfahren und einrichtung zum uebertragen von daten zwischen zentraleinheiten oder prozessoren von mehrprozessorsystemen" | |
DE2912073A1 (de) | Stapelspeicheranordnung zur kurzzeitigen speicherung von informationen bei nichtabsetzbarkeit dieser informationen in einem datenverarbeitungssystem | |
DE1925427A1 (de) | Datenuebertragungsvorrichtung zum UEbertragen von Daten zwischen Informationsspeichern | |
DE1549548A1 (de) | Vorrichtung zur Aktivierung eines bestimmten Befehls aus einer Vielzahl von Befehlen,die in einem Befehlsspeicher eines Rechners gespeichert sind | |
DE68902185T2 (de) | Modularer speicher. | |
DE3307194C2 (de) | ||
DE3142504A1 (de) | Mehrfachplattenspeicher-uebertragungssystem | |
DE69125815T2 (de) | Anordnung und Verfahren zu einer variablen Datenzuweisung | |
DE3850212T2 (de) | Vielfach-CPU-System mit gemeinschaftlichem Speicher. | |
DE2221926B2 (de) | Datenverarbeitungsanlage mit wenigstens einem in Verbindung mit mehreren Peripheriegeräten stehenden Prozessor | |
DE2110458C3 (de) | Speicheranordnung in einem datenverarbeitenden System | |
DE68906224T2 (de) | Zentrale datenverarbeitungseinheit fuer ein datenverarbeitungssystem. | |
DE2235883A1 (de) | Datenverarbeitungseinrichtung | |
DE69127592T2 (de) | Dialogverfahren zwischen den Prozessoren eines Systems, System zu seiner Durchführung und zu seinem Einsatz für die Verteilung von Prozessen auf Prozessoren | |
DE2855856C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |