-
Modularer Arbeitsspeicher für eine Datenverarbeitungsanlage und Verfahren
zum Durchführen von Speicherzugriffen an diesem Speicher.
-
Die Erfindung bezieht sich auf einen modularen Arbeitsspeicher für
eine Datenverarbeitungsanlage gemäß dem Oberbegriff des Hauptanspruches und auf
ein Verfahren zum Durchführen von Speicherzugriffen an diesem Speicher.
-
Modular aufgebaute Arbeitsspeicher sind an sich bekannt. So ist in
der US-Patentschrift 3 242 467 eine Speicheranordnung beschrieben, in der eine Anzahl
von getrennt ansteuerbaren Speichermoduln mit einer Mehrzahl von selbständig arbeitenden
Prozessoren über zwei Busleitungen Daten in beiden Richtungen austauschen. So kann
äeder Prozessor mit einer beliebigen Speichereinheit in Verbindung treten, solange
diese noch nicht durch einen anderen Prozessor belegt ist.
-
Der Speichermodul besitzt neben der eigentlichen Speichereinric.htung
eine Modul steuereinheit, die den Zugriff zu der Speichere inrichtung und den Ablauf
des Speicherzugriffs steuert. Dazu gehört eine Zeitsteuerung, die bei einer Anforderung
eines Prozessors angestoßen wird und den Ablauf der geforderten Operation, abgeleitet
von einem Zentraltakt, in einem definierten Zeitablauf steuert.
-
Weiterhin ist eine Einrichtung zur Modulauswahl vorgeseher die auf
eine Anforderung anspricht, sobald sie für den Modul signifikante Auswahlsignale
selektiert. Eine ähnlich aufgebaute Einrichtung zur Prozessorausashl stellt fest,
welchem Prozessor die empfangene Anforderung zuzuordnen ist.
-
Schließlich ist eine Prioritätssteuereinheit vorgesehen, die es gestattet,
dringende Anforderungen eines Prozessors bevorzugt zu bedienen. Eine normale Anforderung
an einen bereits durch einen
anderen Prozessor belegten Speichermodul
kann nicht bedient werden und geht verloren. In vielen Fällen ist dies nicht kritisch,
da der Prozessor die Anforderung beim nächsten Zyklus wiederholen kann. In manchen
Fällen können aber bei solchen Verzögerungen Daten verlorengehen, solche Anforderungen
werden daher bevorzugt behandelt. Dazu wird in der Prioritätssteuereinheit die vom
anfordernden Prozessor ausgesandte Information zwischengespeichert, wenn der angeforderte
Speichermodul bereits belegt ist. Alle folgenden Anforderungen unmittelbar nach
der Freigabe des Speichermoduls werden blockiert, während die zwischengespeicherte
Anforderung in den Speichermodul übernommen wird.
-
Auch in der US-Patentæchrift 3 200 380 ist eine Datenverarbeitungsanlage
mit einem aus mehreren Moduln bestehenden Speicher beschrieben. Die Speichermoduln
werden jedoch nicht über eine Busleitung adressiert, in den einzelnen Moduln sind
daher keine Einrichtungen zur Decodierung der Adresse des angeforderten Moduls und
zur Belegtanzeige vorgesehen. Dafür muß die Ansteuerung der Speichermoduln zentral
überwacht werden.
-
Aus der deutschen Auslege schrift 1 449 479 schließlich ist eine im
einzelnen beschriebene Schaltungsanordnung zur Adressierung eines aus mehreren Moduln
bestehenden Arbeitsspeichers bekannt, die eine dezentralisierte Speicheransteuerung
in Jedem Speichermodul besitzt. Zur Überwachung und Verwaltung der Speicheranforderungen
zugleich mit der Datenübertragung ist diese Speichersteuerung eingangsseitig mit
einem Entschlüssler und einem Belegungs-Flip-Flop des Speichermoduls verbunden.
ober eine Steuerbusleitung liefert sie Signale an eine zentrale Speichersteuerungslogik,
die mit einer Mehrzahl von Anforderungsregistern verbunden ist. Nur dann, wenn die
Speichersteuerungslogik von einem freien Speichermodul ein Annahme signal empfängt,
wird die betreffende Speicheranforderung aus einem der Anforderungsregister in eines
einer Mehrzahl von Annahmeregistern übertragen. Diese dezentralisierte Steuerung
der Speicherzugriffe ermöglicht eine weitgehend voneinander unabhängige Funktion
der einzelnen Speichermoduln,
die zeitlich geringfügig gegeneinander
versetzt ansteuerbar sind, so daß sich ihre Arbeitszyklen zeitlich überlappen.
-
Entspricht dieser zeitliche Versatz zwischen zwei Speicherzugriffen
der Dauer eines Maschinenzyklus der angeschlossenen Prozessoren und benötigt ein
Speicherzyklus in einem Speichermodul die mfache Zeit, so lassen sich maximal m
Speichermoduln gleichzeitig betreiben. Bei einer stochastischen Adressenfolge ist
die Wahrscheinlichkeit, daß eine Speicheranforderung auf einen bereits belegten
Speichermodul trifft, im Mittel (m-1):n, wenn n die Zahl der tatsächlich vorhandenen
Speichermoduln beträgt. Da eine Anforderung an einen belegten Speichermodul so lange
abgewiesen wird, bis dessen gerade bearbeitete Anforderung abgewickelt ist, erhöht
diese Wartezeit die Speicherzugriffszeit. Sie verringert damit zugleich den Datendurchsatz
im Arbeitsspeicher, da man im allgemeinen nicht davon ausgehen kann, daß zu Jeder
Taktzeit mehrere Speicheraufträge auf ihre Erledigung warten, von denen mindestens
einer einen gerade nicht arbeitenden Speichermodul vorfindet Um den Datendurchsatz
durch einen modular aufgebauten Arbeitsspeicher zu erhöhen, sind drei Lösungsmöglichkeiten
bekannt: Durch Verbesserung der Speichertechnologie läßt sich die Zykluszeit verkürzen,
was aber im allgemeinen erhöhte Kosten bedeutet. Weiterhin kann man eine größere
Anzahl von Speichermoduln vorsehen.
-
Schließlich kann man versuchen, die Anzahl der in einem Speicherzyklus
ablaufenden Verarbeitungszyklen der Prozessoren zu erhöhen, so daß eine größere
Anzahl von Speichermoduln zeitlich versetzt zueinander betrieben werden kann.
-
Wenn man die Kosten für einen schnellen Arbeitsspeicher mit geringer
Zykluszeit nicht aufwenden möchte, so bleiben bisher nur die beiden letztgenannten
Möglichkeiten. Eine einfache Erhöhung der Anzahl der Speichermoduln bedeutet gleichzeitig,
die Zahl der Steuervorrichtungen in Jedem Speichermodul, die in erster Näherung
unabhängig von dessen Größe ist, zu vervielfachen. Unterhalb
einer
bestimmten Modulgröße, d.h. einer ausreichenden Speicherkapazität Jedes Speichermoduls
ist diese Lösung daher unwirtschaftlich.
-
Unter obigen Voraussetzungen und Definitionen ist die letztebekannte
Lösung schließlich unwirksam, sobald die Anzahl der Prozessortakte m größer wird
als die Anzahl der vorhandenen Speichermoduln.
-
Insgesamt läßt sich zu den bekannten Lösungen feststellen, daß mit
einer wachsenden Anzahl von Speichermoduln und einer größeren Zahl von Prozessorzyklen
pro Speicherzyklus die technischen Schwierigkeiten bei der Realisierung eines derartigen
Konzepts nur steigen. Denn es wird immer schwieriger, von einer zentralen Speichersteuerung
aus sehr viele Speichermoduln in rascher Folge hintereinander anzusteuern, weil
dabei auch die Streuungen der Laufzeiten auf den einzelnen Leitungen bei entsprechend
hohen Übertragungsfrequenzen bereits ins Gewicht fallen.
-
Der Erfindung liegt daher die Aufgabe zugrunde, einen modularen Arbeitsspeicher
der eingangs genannten Art zu schaffen, der mit geringem zusätzlichen Aufwand insbesondere
bezüglich der Herstellungskosten gegenüber bekannten modularen Arbeitsspeichern
einen erhöhten Datendurchsatz besitzt.
-
Bei einem modularen Arbeitsspeicher der eingangs genannten Art wird
diese Aufgabe erfindungsgemäß gelöst durch die im Kennzeichen des Hauptanspruches
genannten Merkmale. Bei dieser Lösung werden die Speichermoduln nicht mehr als funktionell
unteilbare Einheiten betrachtet, sondern in mehrere, weitgehend unabhängig voneinander
funktionsfähige Submoduln unterteilt. Um diese sinnvoll auszulasten, ist in Jedem
Speichermodul ein eigener Auftragspuffer, bestehend aus einer Reihe von Adress-
und Datenregistern vorgesehen, der Bestandteil der zentralen Modulsteuereinheit
ist. Die Steuerung eines Speichermoduls wird besonders einfach, wenn das Speicherkonzept
so ausgelegt ist, daß gleichzeitig in einem Submodul
Daten eingeschrieben
und aus einem anderen Daten ausgelesen werden.
-
Soll aber ein Speichermodul gleichzeitig mehrere Lese- oder Schreibzyklen
in verschiedenen seiner Submoduln abwickeln können, dann müssen nicht nur einige
der Adressen- oder Steuersignalübertragungswege, sondern vor allem auch die Datenübertragungswege
innerhalb des Moduls mehrfach ausgeführt sein. Dieser Aufwand für die Ubertragungswege
ist umso geringer, Je kleiner die parallel zu verarbeitende Datenbreite ist.
-
Wenn man die einzelnen Submoduln in einem Speichermodul zeitlich nicht
streng parallel, sondern ur zeitlich gestaffelt, d.h. überlappt, betreibt, lassen
sich diese genannten Übertragungswege innerhalb des Speichermoduls im Zeitmultiplex
mehrfach ausnutzen.
-
Dies allerdings erhöht den Aufwand für die Steuerung im Submodul,
da dieser dann Jeweils ein eigenes Adress- und Datenregister, sowie eine, wenn auch
sehr einfache, z.B. durch einen Binärzähler verwirklichte Submodulsteuerung besitzen
muß. Dieser zählt und speichert dann Taktimpulse, die von der Modulsteuereiriheit
abgegeben werden. Den letztgenannten Forderungen kommt Jedoch die moderne Halbleitertechnologie
entgegen, da heute bereits vielfach einfache Ansteuerungen intern in die Speicherbaus.eine
integriert sind.
-
Ein erfindungsgemäß ausgebildeter modularer Arbeitsspeicher mit einer
begrenzten Anzahl von Speichermoduln stellt daher in der Regel eine wirtschaftlichere
Lösung dar als ein Arbeitsspeicher mit gleich hohem Datendurchsatz, der zu diesem
Zweck in eine Vielzahl von Speichermoduln aufgeteilt ist. Weiterbildungen der Erfindung
sind in Unteransprüchen gekennzeichnet und in der nachfolgenden Beschreibung eines
Ausführungsbeispiels der Erfindung näher erläutert.
-
Bei dieser Beschreibung eines Ausführungsbeispieles gemäß der Erfindung
wird auf die Zeichnung Bezug genommen. Dabei zeigt: Fig. 1 ein Prinzipschaltbild
einer Datenverarbeitungsanlage mit mehreren Prozessoren, die mit einem modular aufgebauten
Arbeitsspeicher verkehren,
Fig. 2 das Blockschaltbild eines erfindungsgemäß
ausgebildeten Speichermoduls und Fig. 3 ein Blockschaltbild eines erfindungsgemäß
ausgebildeten Submoduls für einen Speichermodul gemäß Fig. 2.
-
Das in Fig. 1 dargestellte Prinzipschaltbild einer Datenverarbeitungsanlage
enthält eine Mehrzahl von selbständig arbeitenden Prozessoren Pl bis Pm, die unabhängig
voneinander zu einem modular aufgebauten Arbeitsspeicher ASP zugreifen und bei einer
Anforderung je einen seiner Speichermoduln Ml bis Mn belegen. Diese Prozessoranforderungen
werden durch eine dem Arbeitsspeicher ASP zugeordnete Speichersteuerung eingeleitet,
die selbst Prozessoreigenschaften haben kann und deshalb mit PS bezeichnet ist.
Dieses und ähnliche Systemkonzepte sind s.B. aus dem Aufsatz r'Main Memory Technologyu
in Computer, Sept. 73, Seiten 21 bis 27 oder auch aus den in der Beschreibungseinleitung
genannten Literaturstellen nach Aufbau und Funktion bekannt und werden daher hier
im Detail nicht mehr einzeln erläutert.
-
In Fig. 2 ist einer der Speichermoduln M des Arbeitsspeichers ASP
detaillierter dargestellt. Er enthält eine Anzahl von Submoduln SMl bis SMp. Ihre
Anzahl p kann z.B. 8 betragen. Bei einer Zykluszeit von 400 ns und einem zeitlichen
Versatz zwischen den Zyklen zweier Submoduln mit einem ganzzahligen Vielfachen von
100 ns ist die Zahl der maximal gleichzeitig arbeitenden Submoduln auf o-4 beschränkt.
-
Diese untereinander parallel geschalteten Submoduln SM verkehren mit
einer ihnen zentral im Speichermodul zugeordneten Modul steuereinheit MS über interne
Busleitungen ALi, D/I und D/A zur Übergabe von Speicheradressen bzw. zur Dateneingabe
und -Ausgabe.
-
Außerdem übergibt die Modulsteuereinheit MS an die Submoduln SM Zeitsteuersignale
über Taktleitungen MT.
-
Die Modulsteuereinheit MS enthält eine zentrale Steuereinheit ZST,
die neben einer eventuell aus dem Zentraltakt der Datenverarbeitungsanlage
abgeleiteten
Taktversorgung des Speichermoduls die Steuerungen zum Verkehr mit den Prozessoren
P bzw. mit den Submoduln SM und andere Steuereinrichtungen besitzt. Bei diesen kann
es sich um Einrichtungen zur Auffrischung der in den Submoduln SM gespeicherten
Daten oder beispielsweise auch um Einrichtungen zur Fehlerüberwachung und -korrektur
handeln. Solche einem Speichermodul zugeordneten Steuereinrichtungen sind an sich,
beispielsweise auch aus den in der Beschreibungseinleitung genannten Literaturstellen
bekannt. Sie werden daher hier nicht näher erläutern. Damit die Modulsteuereinheit
NS diese Aufgaben wahrnehmen kann, ist die zentrale Steuereinheit ZST über ein Steuerleitungssystem
SL mit der Speichersteuerung Ps verbunden.
-
Ein wesentlicher Bestandteil der Modulsteuereinheit ist ein in diesem
Ausführungsbeispiel mindestens vierstelliger Auftragspuffer, bestehend aus einander
nebengeordneten Adressregistern AR und Datenregistern DR. Dieser Auftragspuffer
speichert die im Speichermodul eingehenden Aufträge, d.h. Anforderungen von beliebigen
Prozessoren P auf einen Speicherzugriff in der Reihenfolge ihres Einganges. Da die
zwischengespeicherten Aufträge im Speichermodul intern gesteuert werden, enthält
die erwähnte zentrale SteuereinFachtung ZST auch Einrichtungen zur Verwaltung des
Auftragspuffers und ist mit diesem über interne Steuerleitungen SLi verbunden. Die
im Auftragspuffer zwischenzuspeichernden Adressen und Daten werden diesem von der
Speichersteuerung Ps über externe Adressleitungen AL bzw. Datenleitungen DL zugeführt.
-
Vor der Beschreibung der Funktion der Modulsteuereinheit NS und der
Abläufe im Speichermodul M bei einem Speicherzugriff wird zweckmäßigerweise zunächst
noch der in Fig. 3 dargestellte Aufbau eines Submoduls SM näher erläutert. ~Jeder
Submodul enthält i Speicherbausteine SB. Hinsichtlich der Technologie werden hier
Halbleiter-Speicherbausteine in integrierter Technik vorausgesetzt. Diese besitzen
heute bereits vielfach eine interne Ansteuerung mit einem Adressregister ARB, einem
Datenregister DRB und eine einfache Zeitsteuerung BS. Da die Submoduln SM eines
Speichermoduls
M im Zeitmultiplex betrieben werden sollen, enthält Jeder Submodul SM eine eigene
Submodulsteuerung SMS, z.B. einen mehrstufigen Binärzähler, der über die Modultaktleitungen
MT angesteuert wird. Dieser registriert und zählt die von der zentralen Steuereinrichtung
ZST im Speichermodul M abgegebenen Taktsignale und leitet daraus über Taktleitungen
T den Speicherbausteinen S3 zugeführte Zeitsteuersignale ab.
-
Da die Speicherbausteine vor«ussetzungsgemäß selbst Jeweils ein Adressregister
ARB und ein Datenregister DRB besitzen, können ihnen die Adresse und die Daten bei
einer Speicheranforderung aus dem Auftragspuffer in der Modulsteuereinheit über
die internen Adressleitungen ALi bzw. die Dateneingabeleitungen D/I direkt zugeführt
werden. Da diese Datenübernahme in den Speicherbaustein SB Jedoch getaktet erfolgt,
sind diese Daten eventuell nochmals zwischenzuspeichern, falls die Taktzeit zu kurz
ist. Nur für diesen Fall sind zwischen die bezüglich der genannten Leitungen parallel
geschalteten Speicherbausteine SB und den Auftragspuffer nochmals Jeweils ein Pufferregister
ARS und DRS für die Adresse bzw. die Eingabedaten geschaltet. Für die Ausgabe der
Daten über die Datenausgabeleitungen D/A ist in Jedem Fall eineverstärkeranordnung
als Datensendeverstärker DSV zwischen den Speicherbausteinen SB und dem Auftragspuffer
der Modulsteuereinheit MS angeordnet.
-
Diese vier genannten, in Jedem Submodul einmal zentral vorgesehenen
Einrichtungen sind über einen Decodierer DEC aktivierbar, der auf die Adresse des
Submoduls anspricht.
-
Ein derartig ausgebildeter Speichermodul M arbeitet nur folgendermaßen:
Eine erste, von der zentralen Speichersteuerung Ps ausgegebene Anforderung eines
Prozessors P wird mit der dabei angegebenen Adresse und den u.a. die geforderte
Operation beschreibenden Daten sofort an den davon betroffenen Submodul SM weitergeleitet.
Außerdem wird sie in den Auftragspuffer mit den Adressregistern AR und den Datenregistern
DR übernommen und dann auch nach außen über eine der Steuerleitungen SL mit einer
Bereitmeldung
quittiert. Daraufhin trifft ein neuer Auftrag von
außen ein. Dieses Wechselspiel wiederholt sich solange, bis ein bereits belegter
Submodul MS, dessen Auftrag noch im Auftragspuffer niedergelegt ist, einen weiteren
Auftrag erhält. Dieser neue Auftrag wird erst dann von der Modulsteuereinheit MS
mit einer Bereitmeldung quittiert, wenn der vorhergehende Auftrag des Submoduls
abgearbeitet ist. In der Zwischenzeit werden keine weiteren Anforderungen angenommen.
Damit ist sichergestellt, daß die Aufträge in der Reihenfolge ihres Eintreffens
abgearbeitet werden und der AuS-tragspuffer im Speichermodul M'hicht überläuft1,.
-
Bei dieser Kontrolle der Aufträge übernimmt der Auftragspuffer eine
wesentliche Funktion. Da in ihm sämtliche noch nicht abgearbeiteten Aufträge zwischengespeichert
sind, kann die Modulsteuereinheit MS ohne Zugriff zu den einzelnen Submoduln SM
Jeden tätigen Submodul unmittelbar feststellen. Die Adressregister AR im Auftragspuffer
enthalten u.a. Bitstellen, die die Adresse des Submoduls wiedergeben. Gemäß Fig.
2 seien dies die höchstwertigen Bitstellen, die bei einem Ausbau eines Speichermoduls
M mit acht Submoduln SM die Bitstellen ~ bis 2 umfassen. Bei Jedem eintreffenden
Auftrag werden die Bitstellen ~ bis 2 aller Adressregister AR assoziativ abgefragt
und ein Treffer in einer Adressenvergleichseinrichtung AV festgestellt. Bei einem
Treffer ist der angeforderte Submodul bereits tätig, der Speichermodul darf daher
keine weiteren Aufträge mehr annehmen. Das Treffersignal ist daher ein Kriterium
dafür, daß das Quittungssignal für eine Bereitmeldung unterbleibt.
-
Mit den für dieses Beispiel angenommenen Zahlenwerten ist die Wahrscheinlichkeit,
daß ein gerade belegter Submodul erneut angefordert wird, im Mittel gleich: 1) (q-1):p=3:8
Die Wartezeit tw bei einem solchen Ereignis, d.h. die Zeit, in der der Speichermodul
M keine weiteren Aufträge mehr entgegennimmt, ist daher bei den oben angenommenen
Verhältnissen mit
einer Speicherzykluszeit von 400 ns uns einem
zeitlichen Versatz zwischen den Zyklen zweier Submoduln SM mit einem ganzzahligen
Vielfachen von 100 ns:
Die mittlere effektive Zykluszeit tceff des Speichermoduls M ergibt sich danach
zu:
= 175 ns = °s44 ~ tSM, wobei tSM die Zeit für einen Speicherzyklus im Submodul bedeutet.
-
Der Mittlere Datendurchsatz ist in diesem speziellen Anwendungsbeispiel
also, solange die Verteilung aufeinanderfolgender Speicheraufträge auf die einzelnen-Submoduln
stochastisch erfolgt, mehr als doppelt so groß wie der Datendurchsatz durch einen
gleich schnellen, konventionellen Speichermodul, der nicht in Submoduln unterteilt
ist.
-
Die Unterteilung von Speichermoduln in Submoduln ist allerdings nur
bei größeren Ausbaustufen eines Arbeitsspeichers sinnvoll, denn die Größe eines
Submoduls hängt natürlich auch von den vorgesehenen Speicherbausteinen ab. Es wurde
bereits darauf hingewiesen, daß in den Bausteinen moderner Halbleiterspeicher ein
Adressenregister intern bereits enthalten ist. Der Mehraufwand für die Unterteilung
eines Speichermoduls in Submoduln beschränkt sich daher - gegenüber den einfachen
Speicherkarten konventionel-1er Speichermoduln - auf eine Entschlüsselungseinrichtung,
den Adressdecodierer für den Submodul und eine einfache Zeitsteuerung.
-
Diesem geringen Aufwand stehen weiter die Vorteile gegenüber, daß
hier die Speichermoduln insgesamt auch noch eine wesentlich größere Speicherkapazität
aufweisen können. Das bedeutet einen sinkenden Anteil der Modulsteuereinheit an
den Bitkosten, auch dann, wenn die Modulsteuereinheit selbst etwas aufwendiger wird.
-
Bei sehr umfangreichen Speichermoduln ist es dann sogar bei entsprechenden
Kosten
pro Bit ohne weiteres vertretbar, weitere Aufgaben von anderen Einheiten, z.B. von
der Zentralspeichersteuerung, auf die Modulsteuereinheit zu übertragen. Diese Dezentralisierung
von Datenverarbeitungsaufgaben ordnet sich somit dem Prinzip einer modularen Struktur,
unter, das in modernen Datenverar beitungsanlagen immer mehr angestrebt wird. Hier
wird allerdings nicht einfach die Zahl der Speichermoduln erhUht - wie bei bekannten
Lösungen - sondern eine weiterführende, weiter unterteilte Parallelarbeit realisiert.
-
5 Patentansprüche 3 Figuren