DE1966633C3 - Datenverarbeitungsanlage mit überlappter Arbeitsweise bei Verwendung eines Haupt- und Pufferspeichers - Google Patents

Datenverarbeitungsanlage mit überlappter Arbeitsweise bei Verwendung eines Haupt- und Pufferspeichers

Info

Publication number
DE1966633C3
DE1966633C3 DE1966633*A DE1966633A DE1966633C3 DE 1966633 C3 DE1966633 C3 DE 1966633C3 DE 1966633 A DE1966633 A DE 1966633A DE 1966633 C3 DE1966633 C3 DE 1966633C3
Authority
DE
Germany
Prior art keywords
memory
address
register
buffer memory
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
Application number
DE1966633*A
Other languages
English (en)
Other versions
DE1966633A1 (de
DE1966633B2 (de
Inventor
Lawrence Joseph Boland
Gerry David Granito
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1966633A1 publication Critical patent/DE1966633A1/de
Publication of DE1966633B2 publication Critical patent/DE1966633B2/de
Application granted granted Critical
Publication of DE1966633C3 publication Critical patent/DE1966633C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • 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/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

Die Erfindung betrifft eine Datenverarbeitungsanlage der im Oberbegriff des Hauptanspruches beschriebenen Art.
Eine solche Anlage ist aus der FR-PS 1 538 070 bekanntgeworden. Die Unterteilung des Hauptspeichers in voneinander unabhängige Grundspeichermoduln erfolgte zu dem Zwecke, die Zugriffsgeschwindigkeit zum Speicher zu erhöhen. Nach dieser Einrichtung ist es möglich, Anforderungen gleichzeitig an mehrere Grundspeicherrnoduln zu richten. Falls ein solcher angeforderter Modul besetzt ist. wird die betreffende Speicheranforderung in einem Register zwischengesprichert. Diese Register sind als sogenannte Registerstapel ausgeführt, wobei Stapeln zur Speicherung von Adressen von einzuspeichernden Daten, zur Speicherung von Anforderungen an zur Zeit belegte Moduln und zur Speicherung von gerade verarbeiteten Anforderungen vorgesehen sind. Dieser letzte Annahmeregisterstapel steuert zugleich auch zum Teil den zeitlichen Ablauf der Speicheranforderung und sorgt insbesondere dafür, daß die Datenausgangstore des Speichers zum richtigen Zeitpunkt geöffnet werden. Zur Vergrößerung der Speicherkapazität ist ein weiterer Unterstützungsspeicher vorgesehen, dessen Kapazität ungefähr gleich ist der Kapazität des Hauptspeichers. Die beiden Speicher verwenden gemeinsame Adressen- und Datensammelleitungen, so daß zu einem bestimmten Zeitpunkt nur einer der beiden Speicher adressiert werden kann oder Daten abgeben kann. Zur Steuerung des Hauptspeichers und zur Steuerung des Unterstützungsspeichers sind getrennte Speichenteuerungen vorgesehen, wobei die letzte auch die Steuerung der Kanäle zu den Eingangs/Ausgangs-Einrichtungen übernimmt. Ein Zugriff zum Unterstützungsspeicher setzt zuerst eine Tätigkeit der Speichersteuerung des Hauptspeichers voraus, die sodann Signale zur Speichersteuerung des Unterstützungsspeichers liefert. Zugriffe der zentralen Verarbeitungseinheit zum Unterstützungsspeicher dauern also um einiges länger, als Zugriffe zum Hauptspeicher.
Während für die zentrale Verarbeitungseinheit Arbeitsgeschwindigkeiten von einem Maschinenzyklus pro Bearbeitungsschritt möglich sind, erfordert in dieser bekannten Einrichtung ein Zugriff zum Hauptspeieher 30 Maschinenzyklen. Da außerdem nur vier Grundspeichermoduln vorgesehen sind, die Zeitgewinnmöglichkeiten durch eine gleichzeitige Arbeitsweise dieser Moduln also beschränkt sind, ist mit dieser Einrichtung eine wirkliche Geschwindigkeitsanpassung der zentralen Verarbeitungseinheit an den Hauptspeicher nicht möglich.
Zur besseren Anpassung dieser Geschwindigkeiten ist es bereits bekanntgeworden, zwischen der Verarbei-
tungseinheit und dem Hauptspeichei einen kleinen Pufferspeicher vorzusehen, der durch seine begrenzte Kapazität rascher arbeiten kann und der von der Verarbeitungseinheit bei jedem Verarbeitungsschritt zur Lieferung der benötigten Daten adressiert wird (s. zum Beispiel US-PS 3 248 708, Pufferspeicher 24 und 25).
.- Selbstverständlich ist es wünschenswert, unter Beibehaltung der schnellen Arbeitsweise des Pufferspeichers möglichst viele Daten in diesem Speicher zu speichern. Da die Daten im Hauptspeicher normalerweise in Datenblöcken organisiert sind, ist es voi teilhaf* auch im Pufferspeicher eine Organisation nach Datenblöcken zu verwenden. Ein solcher Pufferspeicher ist Gegenstand dor Stammanmeldung (vgl. DT-OS 1 956 604). Bei der Adressierung des Pufferspeichers werden dabei die Adressenbezeichnungen der Datenblöcke verwendet, wie sie auch im Hauptspeicher Verwendung finden. Diese virtuelle Adressierung ist z. B. im Zusammenhang mit der Speicherung von Datenblöcken in einem externen magnetischen Trommelspeicher und einem internen kleineren Magnetkernspeicher bekanntgeworden (s. US-PS 3248 702). In dieser bekannten Einrichtung adressiert die zentrale Verarbeitungseinheit direkt den internen Hauptspeicher. Ein schneller, an die Arbeitsgeschwindigkeit von zentralen Verarbeitungseinheiten angepaßter Pufferspeicher ist in dieser Einrichtung nicht vorgesehen. Wenn der Datenblock, aus dem gerade ein oder mehrere Wörter von der Verarbeitungseinheit angelordert werden, sich nicht im Hauptspeicher befindet, muß er vom Trommelspeicher in den internen Hauptspeicher übertragen werden. Die Maschine muß bis zum Ende dieser Übertragung mit der Ausführung der Instruktion warten. Auch hierdurch wird die Geschwindigkeit der Datenverarbeitung stark beeinträchtigt. Durch die Organisation von Magnettrommeln erfordert auch die Übertragung eines Datenblocks von der Trommel in den internen Hauptspeicher relativ viel Zeit. Mehrere angeforderte Datenblöcke müssen nacheinander übertragen werden. Während einer Datenübertragung kann der Hauptspeicher nicht zu anderen Zwecken adressiert werden und außerdem muß die Verarbeitungseinheit bis zum Ende der Blockübertragung warten, bevor sie das angeforderte Datenwort erhalten kann.
Es ist also deutlich, daß trotz all der oben beschriebenen, bekannten Maßnahmen noch stets eine Fehlanpassung zwischen der Arbeitsgeschwindigkeit der zentralen Verarbeitungseinheit und der Speichereinrichtungen besteht. Die Verarbeitungsgeschwindigkeit kann dabei wesentlich rascher arbeiten, als Zugriffe zu den Speichern durchgeführt werden können.
Der Erfindung liegt daher die Aufgabe zugrunde, unter Verwendung eines schnellen Pufferspeichers zwischen der zentralen Verarbeitungseir.heit und dem Hauptspeicher den Zeitaufwand bei Datenübertragungen zwischen dem Pufferspeicher und dem Hauptspeicher durch zeitlich überlappende Arbeitsweise, insbesondere bei aufeinanderfolgender Blockübertragungen, zu verringern.
Diese Aufgabe wird durch die im kennzeichnenden Teil des Hauptanspruches angegebenen Merkmale gelöst. Der Vorteil der Erfindung liegt in einer wesentlichen Erhöhung der Arbeitsgeschwindigkeit der kombinierten Speicheranordnung. Durch die voneinander unabhängigen Steuereinrichtungen und Sammelleitungen wird die überlappende Übertragung von Datenblöcken erzielt, wobei ein vorteilhafter Gebrauch von den von einander unabhängigen Grundspeichermoduln gemacht wird Die Erfindung ermöglicht es, Maschineozyklen nutzvoll zu verwenden, die in bekannten Einrichtungen nutzlos abgewartet werdeu mußten. Da jedes Wort eines Blockes in einem-anderen Grundspeichermodul gespeichert ist, kann das Auslesen der Worte eines Blockes aus allen betreffenden Grundspeichefmodufn gleichzeitig beginnen. DaAirch, daß eine.unabhängige Pufferspeichersammelleitung vorgesehen ist karn der Pufferspeicher zu Datenanforderungen benutzt werden, während eine Blockübertragung im Gange ist
Die Blockübertragung beginnt mit dem angeforderten Wort, so daß dieses Wort, welches als erstes der Wörter des übertragenden Blockes eintrifft, sofort der zentralen Verarbeitungseinheit zur Verfugung steht. Hierdurch wird ein Zeitgewinn dadurch erzielt, daß die Verarbeitungseinheit nicht das Ende der Blockübertragung abwarten muß.
Vorteilhafte Weiterbildungen der Erfindung sind den Unteransprüchen zu entnehmen.
Ein Ausführungsbeispiel der Erfindung wird an Hand der Zeichnungen näher erläutert. Es zeigt
Fig.) eine Datenverarbeitungsanlage in der das vorliegende Ausführungsbeispiel Verwendung finden kann,
F i g. 2 die Adressenbits-Anordnung des Speichersystems,
F i g. 3 die Unterteilung des Hauptspeichers und des Pufferspeichers,
F i g. 4 die Anordnungen der F i g. 4a und 4b, welche die wichtigsten Einheiten sowie die Daten und Adreßpfade in der Speichersteuerung und im Speichersystem zeigen,
Fi g. 5 den Inhalt der Übertragungsadressenregister TA R in Fig. 4a,
F i g. 6 ein Zeitdiagramm einer Datenanforderung vom Pufferspeicher zur Zentraleinheit,
F i g. 7 das Zeitdiagramm einer Vielfach-Auslcseoperation mit überlappender Übertragung der Datenblocks.
Allgemeine Beschreibung
Fig. 1 zeigt eine Datenverarbeitungsanlage in der das vorliegende Alisführungsbeispiel Verwendung finden kann. In der in F i g. 1 gezeigten Datenverarbeitungsanlage ist eine Speichersteuerung (SCU) 30 enthalten, welche den Zugriff zum Speichersystem durch die zentrale Verarbeitungseinheit (Zentraleinheit CPE3X), sowie durch Kanäle 32 und Eingangs/Ausgangseinheiten 33 steuert. Das Speichersystem umfaßt einen Magnetkern-Hauptspeicher (MS) 34 und einen Pufferspeicher (BS) 35 mit Hochgeschwindigkeits-Schaltkreisen.
Die Zentraleinheit 3t enthält eine Befehlseinheit oderAEinheit und eine Ausführungseinheit oder £-Einheit, welche in eine Gleitkomma-Einheit (FLPU) und eine Festkomma-Einheit (FXPU) unterteilt ist. Die Zentraleinheit 31 bestimmt den grundlegenden Maschinenzyklus und damit die Zeit- und Arbeitsverhältnisse des Systems. Gestützt auf ein hohes Maß an Gleichzeitigkeit, Überlappung und Pufferung versucht das System einen Befehl pro Maschinenzyklus auszuführen. Die /-Einheit steuert das Abrufen von Befehlen und Operanden vom Speichersystem indem sie geeignete Anforderungen an die Steuerung 30 sendet.
Befehle werden in der /-Einheit gepuffert und von dort nacheinander ausgegeben. Die Befehle werden in der /-Einheit dekodiert. Teilentschlüsselte Befehle wer-
den von der /-Einheit zur FXPU und FLPU-Einheit übertragen und die /-Einheit sendet auch Zugriffsan-"ordcrungen /u der Steuerung SCLßO, wenn so eine Anforderung im Befehl enthalten ist.
Die Speichersteuerung 30 steuert den Zugnff zum Speichersystem und enthält zu diesem Zwecke Vorrangsschaltungen und Steuerschaltungen. Zu Beginn werden alle Informationen in den Hauptspeicher
34 gebracht und am Anfang eines Programms werden Informationsgruppen, d.h. Befehle und Daten, in den Pufferspeicher 35 übertragen. Der Hauptspeicher 34 hat einen Speicherzyklus von 13 Maschinenzyklen und eine Zugriffszeit von 10 Maschinenzyklen, während die effektive Zugriffszeit zum Pufferspeicher 35 drei Maschinenzyklen beträgt. Während der Ausführung eines Programms finden von der Zentraleinheit 31 hauptsächlich Zugriffe zum Pufferspeicher 35 statt und es wird hierdurch eine hohe Verarbeitungsgeschwindigkeit erreicht. Andererseits bietet der Pufferspeicher
35 der Zentraleinheit 31 eine virtuelle Speicherkapazität an, die praktisch gleich der Kapazität des Hauptspeichers 34 ist.
Beispielsweise wird angenommen, daß der Hauptspeicher eine Speicherkapazität von 524.288 Worten zu 72 Bits hat. Hierzu ist der Hauptspeicher in 32 Grundspeichermoduln (BSM) unterteilt, welche zwei Ibfach verzahnte Serien bilden. Jeder Grundspeichermodul hat eine Kapazität von 16.384 Wörtern.
F i g. 2 zeigt die Bitverteilung bei der Adressierung des Speichersystems. Die Adresse besteht aus 19 Adressenbits 10 bis 28. Bit 10 gibt an, welche von den zwei Serien adressiert wird. Bit 25 bis 28 identifizieren den Grundspeichermodul und die Bits 11 bis 24 definieren eine BSM Wortadresse, d. h. die Adresse eines gegebenen Wortes im Grundspeichermodul BSM. Da sich, die BSM Adresse am niederen Wertende der Adresse befindet, ist es deutlich, daß aufeinanderfolgende Wort-Speicherplätze sich in verschiedenen Grundspeichermoduln BSM befinden.
Wie aus F i g. 2 und 3 ersichtlich ist, können die Adressenbits auch in einer anderen Weise betrachtet werden. Man kann sich vorstellen, daß der Hauptspeicher 34 in 64 Gruppen von 1.024 Blöcken zu 8 Worten unterteilt ist. Bits 20 bis 25 geben die Gruppenadresse, Bits 26 bis 28 ergeben die Stelle eines Wortes innerhalb eines Blocks und die Bits 10 bis 19 identifizieren einen bestimmten Block innerhalb einer Gruppe. Zu dieser Blockangabe dient ein Blockbezeichner BLOCK-ID. Der Pufferspeicher 35 ist ein Hochgeschwindigkeitsspeicher mit wahlfreiem Zugriff und einer Kapazität von 2.048 Worten zu 72 Bits. Die tatsächliche Puffer-Zykluszeit ist gleich einem Maschinenzyklus und in dieser Zeit können Daten in einem bestimmten Speicherplatz eingeschrieben oder aus diesem Speicherplatz ausgelesen werden. Die effektive Pufferzugriffszeit ist jedoch wie bereits oben bemerkt drei Maschinenzyklen lang, da vor dem tatsächlichen Zugriff erst festgestellt werden muß, ob sich die gesuchte Information wirklich im Pufferspeicher befindet. Das Auslesen erfolgt nicht zerstörend. Zur Adressierung des Speichers 35 sind 11 Bits notwendig. Die Bits 20 bis 28 der Adresse (F i g. 2) bilden eine Teiladresse eines Speicherwortes zu der noch zwei Bits Bi und Bl hinzugefügt werden, die dynamisch erzeugt werden, wenn der Pufferspeicher gebraucht wird und den Pufferspeicher in vier Segmente 0 bis 3 von 64 Blocks unterteilen.
Der Speicher 35 ist funktionell unterteilt in 64 Gruppen, gegeben durch die Bits 20 bis 25, zu vier Blocks.
gegeben durch die zwei dynamischen Adressenbits Bi. B2, wobei jeder Block aus acht Wörtern besieht und ein Wort definiert wird durch die Bits 26 bis 28. Es ist deutlich, daß zwischen den Speichern 34 und 35 eine derartige Beziehung besteht, daß bestimmten Gruppen im Hauptspeicher 34 bestimmte Gruppen im Pufferspeicher 35 entsprechen. Innerhalb einer gegebenen Gruppe kann jeder Block im Hauptspeicher in einen der vier Blöcke im Pufferspeicher 35 geschrieben werden. In entsprechenden Blöcken nehmen die Wörter die gleiche Stellung ein. Weiter wird daran erinnert, daß durch die Verzahnung der Hauptspeichermoduln die entsprechenden Worte in einem gegebenen Block in verschiedenen Grundspeichermoduln BSM gespcichert sind.
Bei der Übertragung werden die Wörter in den Pufferspeicher 35 serienweise in Blöcken zu acht Wörtern eingeschrieben. Wenn das erste Wort eines Blockes in den Pufferspeicher 35 eingeschrieben wird, wird sein Blockbezeichner auch in einen entsprechenden Wortspeicherplatz im Datenverteilungsspeicher DD37 (Fig.AB) eingeschrieben. Der Datenverteilungsspeicher 37 besteht aus vier unabhängigen Speichern mit wahlfreiem Zugriff DDO bis DD3, wobei jeder der vier Speicher eine Kapazität von 64 Wörtern zu 11 Bits aufweist. Die Speicherplätze 0 bis 63 werden durch die Gruppenadresse (F i g. 2) adressiert, so daß jeder Speicherplatz im Speicher 37 einem verschiedenen Block im Pufferspeicher 35 entspricht. Der Speicher 37 ist ein Hochgeschwindigkeitsspeicher mit zerstörungsfreier Auslesung. Während eines Speicherzugriffes startet die Gruppenadresse eines auzulesenden Wortes das Auslesen von vier Blockbezeichnern vom Speicher 37, die mit dem Blockbezeichner des auszulesenden Wortes verglichen werden, um feststellen zu können, ob sich das betreffende Wort im Speicher 35 befindet oder nicht. Zusätzlich zur Speicherung des 10-Bit-Blockbezeichners enthält jedes Wort im Datenverteilungsspeicher 37 ein Gültigkeitsbit V, das gesetzt wird, wenn ein neuer Blockbezeichner in den betreffenden Block geschrieben wird. Während einer Einspeicheroperation von einem Kanal aus wird das GültigkeitsbiJ des betreffenden Blockbezeichners im Speicher 37 zurückgestellt oder unwirksam gemacht, wenn sich die betreffende adressierte Information auch im Pufferspeicher 35 befindet, so daß hierauf folgende Anforderungen von der Zentraleinheit 31, die sich auf den gleichen Speicherplatz beziehen, im Falle einer Einspeicheroperation zum Hauptspeicher geleitet wurden, oder im Falle einer Abrufanforderung die Übertragung eines Blockes von Wörtern zum Pufferspeicher auslö sen wurden.
Weiteres ist für das Speichersystem ein Reihenfolgespeicher (CA) 38 vorgesehen. Der Speicher 38 ist ein Speicher mit wahlfreiem Zugriff und zerstörungsfreier Auslesung, welcher 64 Wortplätze aufweist, die durch die Gruppenadresse adressiert werden. Jeder Wortplatz weist sechs Bits auf. Jedesmal wenn ein Wort vom betreffenden Block im Pufferspeicher 35 geholt wird, wird das diesem Block entsprechende Wort im Reihenfolgespeicher 38 überschrieben, um die Reihenfolge anzugeben, in der die Blöcke im Pufferspeicher 35 benützt werden. Hierzu sind sechs Bits nötig. Diese Bits werden zu Beginn gebraucht, um den Pufferspeicher 35 zu füllen und hierauf das Auswechseln eines Blockes zu steuern, wenn ein neuer Block zum Pufferspeicher 35 übertragen wird. ;
Wenn eine bestimmte Gruppe im Speicher 35 gefüllt
wird und ein neuer Block übertragen wird, dann wird der viertjüngste Block ersetzt, wie es das betreffende Wort im Speicher 38 angibt.
Die oben beschriebene Unterteilung des Pufferspeichers 35 wurde so gewählt, daß sich ein günstiges Kosten/Leistungsverhältnis ergibt. Hätte der Pufferspeicher 35 eine größere Block- oder Wortkapazität, so würde seine Effektivität nicht in dem Maße wachsen, wie die Kosten wachsen würden. Andererseits würde eine Verminderung der Kapazität des Pufferspeichers 35 seine Leistungsfähigkeit relativ stark vermindern, ohne im gleichen Verhältnis die Kosten zu senken. Für die gegebene Größe des Pufferspeichers 35 ist die Aufteilung in 64 Gruppen zu vier Blöcken vorteilhaft, da hierdurch die Speicherung von einer verhältnismäßig großen Anzahl von auseinanderliegenden Gruppen von Informationen möglich wird bei minimaler Anzahl von Blockübertragungen und -ersetzungen. Auch innerhalb einer Gruppe kann die Leistung nicht wesentlich erhöht werden, wenn man mehr als vier Blöcke vorsieht, wobei jedoch die Verminderung dieser Anzahl von vier Blöcken eine Erhöhung der Anzahl von Blockübertragungen zur Folge hätte und die Leistungsfähigkeit beeinträchtigen würde.
Bei Beginn eines Programmes fordert die Zentraleinheit 31 Befehle und Daten an, und es werden Wortblökke in den Pufferspeicher 35 geschrieben. Das Beginnwort jedes übertragenen Blockes wird zu der Zentraleinheit gesendet während die übrigen Worte im Pufferspeicher 35 während aufeinanderfolgender Maschinenzyklen gespeichert werden. Wenn ein Wort vom Pufferspeicher 35 geholt wird, wird das entsprechende Wort im Reihenfolgespeicher aufdatiert. Wenn eine Anforderung von der Zentraleinheit zu der Speichersteuerung gesendet wird, verursacht die Gruppenadresse des adressierten Wortes das Auslesen von vier Wörtern, die der bestimmten auszulesenden Gruppe entsprechen, aus dem Datenverteilungsspeicher 37 und diese vier Worte werden mit dem Blockbezeichner /D des adressierten Wortes verglichen. Ein erfolgreicher Vergleich zeigt an, daß sich das adressierte Wort im Pufferspeicher 35 befindet und das Vergleichssignal wird dazu benutzt, die zwei dynamischen Adressenbits Bi und Bl der Pufferspeicherwortadresse zu erzeugen. Die somit gebildete Pufferspeicherwortadresse wird zum Pufferspeicher 35 übertragen. Das geholte Wort wird der Zentraleinheit 31 drei Maschinenzyklen nach Erhalt des Anforderungssignals zugeleitet.
Wenn während des Auslesens aus dem Datenverteilungsspeicher 37 kein Signal erzeugt wird, das einen erfolgreichen Vergleich anzeigt, wird das Anforderungssignal zwischengespeichert und eine Blockübertragungsoperation ausgelöst. Hierzu finden Zugriffe zum Hauptspeicher 34 statt und die acht Wörter des betreffenden Blockes werden seriell ausgelesen. Es wird daran erinnert, daß während einer solchen Blockübertragung die Hauptspeicherzykluszeit 13 Maschinenzyklen beträgt und daß die Daten am Ende des 10. Zyklus verfügbar werden, d. h. während des 11. Zyklus. Auf diese Weise entsteht eine Verzögerung von 11 Zyklen, bevor die Worte vom Hauptspeicher 34 zum Pufferspeicher 35 und zur Zentraleinheit 31 übertragen sind. Während dieses Intervalls können andere Anforderungen, welche auf die beschriebene Anforderung folgen, die die Übertragungsoperation ausgelöst hat, erhalten und ausgeführt werden. Auch können während dieser Zeit zusätzliche Auslese- oder Einspeicheranforderungen dem Pufferspeicher zugeführt werden. Sollte eine Ausleseanforderung ein Wort betreffen, welches sich nicht im Pufferspeicher befindet, dann wird hierdurch eine zweite Übertragungsoperation ausgelöst. Wenn diese zweite Anforderung einen Hauptspeichermodul BSM betrifft, welcher verschieden ist von dem in der ersten Anforderung, dann kann dieser Speichermodul ausgewählt werden, sobald Signale zur ersten Gruppe gesendet werden. Auf diese Art wird eine Überlappung in der Auswahl der betreffenden Moduln
ίο und die Übertragung von Daten von anderen Grundspeichermoduln zum Pufferspeicher 35 und zur Zentraleinheit 31 erreicht.
Wie bereits oben bemerkt, werden Einspeicher- und Ausleseanforderungen, welche von den Kanälen 32 stammen, zum Hauptspeicher 34 übertragen. Durch eine Kanalausleseanforderung wird das adressierte Wort direkt vom Hauptspeicher 34 zum Kanal 32 übertragen. Durch eine Kanaleinspeicheranforderung wird der betreffende Block ungültig gemacht, indem das betreffende Gültigkeitsbit im Datenverteilungsspeicher 37 zurückgestellt wird, wenn der Block, der die Adresse enthält, in die eingespeichert werden soll, im Pufferspeicher 35 enthalten ist.
Für den verzahnten Hauptspeicher und den Pufferspeicher sind getrennte und unabhängige Adressensammelleitungen vorgesehen. Speicheranforderungen werden auf die Pufferadressensammelleitung gegeben. Wenn die betreffenden Daten nicht im Pufferspeicher gespeichert sind, wird die Anforderung in eines einer
Anzahl von Überiragungsadressenregistern eingelesen und dieses Register steuert dann die Blockübertragung. Nach Beginn einer Blockübertragung werden die Adressen der aufeinanderfolgenden Wörter eines Blokkes in aufeinanderfolgenden· Maschinenzyklen auf die Hauptspeicheradressensammelleitung gegeben. Zu einem späteren Zeitpunkt werden die Daten aus den Hauptspeichermoduln in aufeinanderfolgenden Maschinenzyklen auf die Ausgangssammelleitung ausgelesen und dem Pufferspeicher zugeführt. Gleichzeitig werden die Adressen, in die die Wörter im Pufferspeicher eingeschrieben werden sollen, auf die Pufferspeicheradressensammelleitung gegeben. Werden mehrere Abrufanforderungen empfangen, die eine Blockübertragung erfordern, kann die verhältnismäßig lange Zeit, die verstreicht, bevor das erste Wort vom Hauptspeicher ausgelesen werden kann, dazu benutzt werden, neue Abruf- oder Einspeicheranforderungen an den Pufferspeicher zu richten. Aufeinanderfolgende Blockübertragungen erfolgen überlappend: während die mit der ersten Anforderung verbundenen Grundspeichermoduln betrieben werden, können gleichzeitig auch die mit der zweiten Anforderung verbundenen Grundspeichermoduln in aufeinanderfolgenden Maschinenzyklen betrieben werden, bevor noch die Da tenübertragung des ersten Blocks beendet ist. Hier durch wird die Verwendung von Maschinenzyklei möglich, welche sonst verschwendet worden wären Die Arbeitsgeschwindigkeit der Anordnung kann hier durch nicht unbeträchtlich erhöht werden.
Es soll noch bemerkt werden, daß Einspeicheranfor derungen von der zentralen Verarbeitungseinheit so wohl im Pufferspeicher als auch im Hauptspeiche durchgeführt werden, wenn sich das adressierte Wor auch im Pufferspeicher befindet Befindet sich da adressierte Wort nicht im Pufferspeicher, wird nur i den Hauptspeicher eingespeichert. Eine Abrufanforde rung von der zentralen Verarbeitungseinheit wird nt an den Pufferspeicher gerichtet. Bti Übertragung eine
509 648/12<
>f QA9
Wortes vom Hauptspeicher in den Pufferspeicher werden auch alle anderen zu diesem Block gehörenden Wörter mit übertragen. Kanalanforderungen werden nur an den Hauptspeicher gerichtet. Betrifft die Einspeicheroperation von einem Kanal in den Hauptspeicher ein Wort, welches sich auch im Pufferspeicher befindet, wird die Adressierung dieses Blockes im Pufferspeicher unmöglich gemacht.
Genaue Beschreibung
Wie aus Fig.4 ersichtlich ist, enthält die Speichersteuerung SCLJ30 außer dem Datenverteilungsspeicher und dem Reihenfolgespeicher 38 noch eine Reihe von Übertragungsadressenregister (TAR) 40, eine Reihe von Einspeicheradressenregister (SAR)41, eine Reihe von Speicherdatenregister (SDB) 42 und einen Zeitstapel (TS) 43. Diese Einheiten sind an ein Sammelleitungssystem angeschlossen, das eine Pufferspeicheradressensammelleitung (BSAB)45, eine Hauptspeichcradressensammelleitung (MSAB) 46, eine Einspeichersammelleitung (SBI)47, eine Speicherauslesesammelleitung (SBO) 48 und eine weitere Sammelleitung SL49 aufweist.
Es sind drei Übertragungsadressenregister 40 vorgesehen, TARi bis TARX welche einander gleich sind, so daß nur eines im Detail beschrieben zu werden braucht. TARi enthält eine Anzahl von Kippschaltungen, welche nach Fig.5 in verschiedene Felder unterteilt sind und Information sowie Steuerbits wie folgt aufnehmen:
1. Hauptspeicherwortadressenbits 10 bis 28 zeigen die Adresse des abberufenen Wortes an. Diese Bits werden gesetzt, wenn eine Abrufanforderung auf der Sammelleitung BSAB45 erscheint und werden überschrieben, wenn eine neue Abrufanforderung in das Register TARi aufgenommen wird.
2. Bits 1 bis 5 des Aufnahmebereiches definieren die Bestimmungsadresse in der Zentraleinheit, zu der die Daten gesendet werden. Diese Bits werden gesetzt und überschrieben zu der gleichen Zeit wie die Wortadressenbits.
3. Die Austauschbits RCi und RCl zeigen das viertjüngst geholte unter den Segmenten im Datenverteilungsspeicher 37 an. Diese Bits werden gesetzt durch Signale von einem Austauschcodegenerator 79 und werden dazu gebraucht, die Wörter einer Blockübertragung in die geeigneten Speicherplätze des Pufferspeichers 35 einzuschreiben.
4. Das »Anhängigbit« wird mit einem Vergleichssignal kombiniert, um der Steuerung-anzuzeigen, welches Übertragungsadressenregister die Abrufanforderung enthält, welche zu einem Speicherzugriff zum Pufferspeicher 35 benutzt wird.
5. Das »Übertragung-Notwendigbit« wird gebraucht, um anzuzeigen, daß eine Blockübertragung vom Hauptspeicher 34 zum Pufferspeicher 35 notwendig ist. Es wird von der Steuerung auch dazu gebraucht, um die Übertragungspriorität zuzuteilen.
6. Das »Übertragung findet statt-Bit« zeigt an, daß das Übertragungsadressenregister 1 tätig ist bei der Auswahl des Hauptspeicherteiles der Blockübertragung. Dieses Bit wird zur Sperrung anderer Übertragungsanforderungen gebraucht.
7. Das Gültigkeitsbit zeigt an, daß der Inhalt vom Übertragungsadressenregister 1 gültig ist und auf die Priorität wartet, Zugriff zum Speicher zu erhalten. Wenn das Gültigkeitsbit ausgeschaltet ist, zeigt dies an, daß das Übertragungsadressenregister 1 leer ist und über die Sammelleitung BSAB45 mit einer Zentraleinheit Abrufanforderung geladen weiden kann. Das Gültigkeilsbit wird gesetzt, wenn das Übertragungsadressenregister 1 geladen ist und es wird zurückgestellt beim Erscheinen
eines Übereinstimmungssignals und beim Beenden einer Übertragung.
8. Die Zustandstrigger 51 bis 54 zeigen folgende Zustände an: Übertragungsadressenregister 1,
»Übertragung in Durchführung und Verbindung zu einem Speicheradressenregister«. Übertragungsadressenregister 1, «Übertragung in Durchführung beendet, aber noch immer mit einem Speicheradressenregister verbunden«. Übertragungsadrcs-
senregister 1. »Übertragung in Durchführung
beendet und nicht verbunden während der Übertragung«. Der 4. Zustandstrigger schließlich gibt an, daß eine gültige Zentraleinheitanforderung zu den Übertragungsadressenregistern 1 gemacht wird und anhängig ist. Diese Bits dienen dem Ablauf von Einspeicher- und Abrufoperationen.
9. Die »Verbindung zu 5,4/?-Bits« LSI, LSI und LS3 zeigen das Speicheradressenregister an, das die gleiche komplette Adresse, wie im Übertragungsadressenregister enthält. Diese Bits verhindern, daß Übertragungsadressenregister Daten an die Sammelleitung BSABA5 abzugeben bis der Inhalt des verbundenen Speicheradressenregisters auf die Sammelleitung BSABgebracht wurde.
Die vorgenannten Bits gibt es in jedem der drei Übertragungsadressenregister, während die folgenden Steuerbits allen drei Übertragungsadressenregistern gemeinsam sind.
1. Drei »Vergleiche mit TAR-B'tts« lC2(die Adresse in TAR wird mit der in TAR2 verglichen), 2C3, 3C1, welche gesetzt werden, wenn es zwei Abrufe zum selben Block gibt und zeigen an, welche Übertragungsadressenregister die Anforderungen enthalten. Diese Bits werden dazu gebraucht, um es der ersten Anforderung zu ermöglichen, den gewünschten Block abzurufen. Die zweite Anforderung wird zwischengespeichert bis die Übertragung beendet ist, wonach die zweite Anforderung auf die Sammelleitung BSAB gegeben wird, mit der Wahrscheinlichkeit, daß dann das gewünschte Wort sich im Pufferspeicher 35 befindet.
2. Drei Bits 1Ö2 (TARi wird vor TAR2 geladen) 2B3 und 3ßl geben die Reihenfolge an, in welcher die Übertragungsadressenregister gelader sind und ermöglichen so eine Erster-Ein-Erster-Aus-Vorrangsbeziehung zwischen den Übertragungsadressenregistern. Diese Bits werden abhängig von den Eingangstorsteuerungen der drei Übertragungsadressenregisterpositionen gesetzt und zurückgestellt.
Die Arbeitsweise des Übertragungsadressenregisterstapels 40 ist wie folgt: Wenn eine Abrufanforderung auf der Sammelleitung 45 während eines Maschinenzyklus erscheint, wird die Anforderung über eine Torschaltung 51 in ein leeres Übertragungsadressenregister eingespeichert. Die TA/?-Gültig und Anhängig-Bits werden zu Beginn des nächsten Maschinenzyklus gesetzt. Wenn sich das gewünschte Wort im Pufferspeicher 35 befindet wird das Gültig-Bit zu Ende des Maschinenzyklus zurückgestellt, wodurch festgelegt ist. daß das Übertragungsadressenregister im nächsten Zyklus gebraucht werden kann, um eine andere Anforderung aufzunehmen. Wenn sich kein erfolgreicher Ver-
gleich ergibt, wird das Anhängig-Bit zurückgestellt, während das Gültig-Bit ein bleibt und dadurch angibt, daß eine Übertragung verlangt ist. Zur selben Zeit ist das Übertragungnotwendig-Bit auf EIN gestellt. Wenn die Abrufanforderung in das Übertragungsadressenregister eingegeben wird, werden die Bits 10 bis 25 der Anforderung mit den entsprechenden Bits in jeder der anderen Übertragungsadrcssenregisterpositionen verglichen, um festzustellen, ob die Abrufanforderiing sich auf den gleichen Block bezieht. Wenn dies der Fall ist, wird der betreffende Vergleich mit TAR-B\l gesetzt. Auch wird die Adresse des abgerufenen Wortes mil den Adressen der anderen Speicherplätze im Speicheradressenregister 41 verglichen. Ein positiver Vergleich zeigt an, daß eine Speicheranforderung zur gleichen Adresse aussieht. Hierauf wird erst die Speicheranforderung beendet, wonach die Abrufanforderung durchgeführt wird. Durch den Vergleich wird das betreffende Verbindungsbit zum Speicheradressenregister gesetzt. Wenn eine Abrufanforderung in das Übertragungsadressenregister eingegeben wird, wird der zweite Zyklus gebraucht, in dem das Übertragungsadressenregister noch stets gültig isl, um die Aufnahmebereichsadresse auf die Bestimmungsadressensammelleitung 49 zu geben, einen Zyklus bevor die Daten vom Pufferspeicher 35 auf die Sammelleitung SBCMS gegeben werden. Während der Übertragung von Wortblocks verhält sich das Überlragungsadressenregister, das die Abrufanforderung enthält, wie eine Adressenschlange und gibt die Adresse jedes Wortes, das vom Hauptspeicher 34 ausgelesen wird, auf die Sammelleitung 46. Hierzu werden die Bits 10 bis 25 direkt auf die Sammelleitung HSABA6 während 8 aufeinanderfolgender Maschinenzyklen gegeben. Die Bits 26 bis 28 werden in einem 3-Bit-Hauptspeicherzähler (MCTR) 52 gegeben. Dieser Zähler hat die Fähigkeit, die erste in ihm gespeicherte 3-Bit-Adresse rasch in einem Maschinenzyklus zu durchlaufen. Während der darauffolgenden sieben Maschinenzyklen wird die Adresse jeweils um eins vermehrt und liefert somit mit den Bits 10 bis 25 die Wortadressen der restlichen sieben Wörter. Auf gleiche Weise werden die Adressen der Worte, welche vom Hauptspeicher 34 ausgelesen werden und serienmäßig auf die Sammelleitung SBOA8 gegeben werden seriell über die Torschaltung 53 auf die Sammelleitung ÖS4Ö45 gegeben. Bits 10 bis 25 werden direkt vom Übertragungsadressenregister auf die Sammelleitung BSAB gegeben, während die Bits 26 bis 28 über einen Pufferzähler (BCTR) 54 laufer. Dieser Zähler arbeitet ähnlich wie der Zähler 52 und gibt aufeinanderfolgende Adressen auf die Sammelleitung BSA B45, während aufeinanderfolgender Maschinenzyklen. Auf diese Weise werden die ausgelesenen Worte in die geänderten Speicherplätze im Pufferspeicher 35 eingeschrieben. In dem Maschinenzyklus der dem Maschinenzyklus in dem das erste Wort eines Blockes auf die Sammelleitung SBO48 gegeben wird vorausgeht, wird die Aufnahmebereichsadresse innerhalb des Registers TAR, das die Übertragung besorgt über eine Torschaltung 55 auf die Sammelleitung 49 gegeben. Während des nächsten Maschinenzyklus wird also das erste Wort im Block nicht nur in den Pufferspeicher 35 gelesen, sondern auch dem angewiesenen Bestimmungsplatz in der Zentraleinheit 31 zugeführt
Speicheradressenregister 41 und 42 arbeiten wie folgt. Wenn eine Zentraleinheit-Speicheranforderung auf die Sammelleitung BSABAS gegeben wird, wird die Anforderung über eine Torschaltung 57 in ein leeres
der Spcicheradressenregisler eingelesen. Drei Maschinenzyklen später werden die Daten, die gespeichert werden sollen, ebenfalls über Torschaltungen 58 und 59 auf die betreffende Sammelleitung SDB gegeben. Wenn die Daten ankommen, wird ein Signal zu der Vorrangschaltung gesandt und ein Vorrang im nächsten Maschinenzyklus verlangt. Die Adresse des Speicherplatzes, in den eingeschrieben werden soll, wird über die Torschaltung 60 auf die Sammelleitung ίο MSABAd gegeben. Auf der Sammelleitung SDB werden die Daten drei Maschinenzyklen verzögert und hierauf über die Torschaltung 62 auf die Sammelleitung SÖ/47 gegeben um in den Hauptspeicher 34 eingeschrieben zu werden. Das Speicheradressenregister 41 arbeilet so, daß in dem Zyklus, nach dem die Adresse eines Wortes im Hauptspeicher 34 auf die Sammelleitung MSABA6 gegeben wurde, diese Adresse auch auf die Sammelleitung BSABAS gegeben wird. Der Datenverteilungsspeichcr 37 tritt in Tätigkeit, um festzustellen, ob sich die Speicherstelle auch im Pufferspeicher 35 befindet. Wenn dies der Fall ist, wird ein Pufferspeicherzyklus genommen, welcher synchron verläuft mil dem Eingeben der Daten auf die Sammelleitung SBIAl und diese Daten werden über die Torschaltung 62 in den Pufferspeicher 35 gegeben.
Wie bereits erwiihnt, sind die Speicher SS35, D/737 und C438 Hochgeschwindigkeitsspeicher mit wahlfreiem Zugriff. Diese Speicher werden über Adressendecodierer angesteuert und die ausgelesenen Worte werden in Ausgangsregistern gespeichert. Die Auslesung erfolgt störungsfrei und erfolgt, nachdem die Adressenbils dem Decodierer angeboten wurden. Das Einschreiben in die Speicher geschieht durch gleichzeitiges Anlegen der Adressen-, Daten-, und Schreibsignale. Die Speicherzykluszeit sowohl für einen Lese- als auch für einen .Schreibzyklus ist ein Maschinenzyklus.
Der Datenverteilungsspeicher 37 enthält vier unabhängige Speicher- DDO-DDZ, welche mit einem Datenverteilungsausgangsregister (DDOR) 115 verbunden sind, welches für einen Maschinenzyklus die vier Worte welche aus dem Speicher 37 ausgelesen worden sind, aufnimmt, bis ein Rückslellsignal R an das Register angelegt wird. Über die Leitung 116 werden die Gruppenadressenbits 20 bis 25 von der Sammelleitung BSABAS zum Decodierer 117 des Speichers 37 geführt und über die Leitung 118 wird der Blockbczeichner /D und die Gültigkeitsbits zu den Dateneingängen der Speicher geführt.
An die Ausgangsleitungen des Registers 115 ist eir Vergleicher (VERGL) 65 angeschlossen, welchem die vier Blockbezeichner vom Register /?115 zugeführt werden. Wenn eine Adresse auf der Sammelleitung BSABAS erscheint, wird sie auch in ein BSAB Registei
(R) 67 gegeben. Von diesem Register werden die Bit; 10 bis 19 einem anderen Eingang des Vergleichers 6i zugeführt um mit den entsprechenden Ausgangssigna len des Registers Al 15 verglichen zu werden. Wenn eir erfolgreicher Vergleich stattfindet wird ein Signal von Ausgang des entsprechenden Teiles des Vergleichen 65 zu dem entsprechenden Eingang einer Und-Tor schaltung ,40 bis /43 gegeben. Diese Und-Schaltungei
(66) erhalten auch Eingangssignale, welche das Gültig keitsbit V der Worte welche aus dem Datenvertei lungsspeicher ausgelesen wurden darstellen. Wenn da Gültigkeitsbit EIN geschaltet ist, dann erzeugt die be treffende Torschaltung 66 ein Vergleichssignal au einer bestimmten der Leitungen 68.
Über die Leitungen 68 werden die Vergleichssignal
&m-
1902
als Eingangssignale einem Adressengenerator 69 zugeführt, welcher die zwei dynamischen Adressenbits Bit 1 und Bit 2 erzeugt, die den Speicher 35 funktionell in vier Segmente unterteilen. Bit 1 und Bit 2 werden mit den Bits 20 bis 28, welche von der Sammelleitung BSAB RSI kommen, kombiniert und ergeben damit eine komplette Adresse auf der Leitung 72 des Wortes, welches im Speicher 35 adressiert wird.
Der Speicher 35 ist ein Hochgeschwindigkeitsspeicher und hat eine Zykluszeit, die gleich ist einem Maschinenzyklus. Eine Leseoperation wird durchgeführt, indem die Adressenbits auf der Leitung 72 dem Decodierer 119 zugeführt werden. Eine Schreiboperation wird begonnen durch ein Schreibesignal auf der Leitung 71, Adressenbits auf den Leitungen 72 und Datenbits auf der Leitung 74. Diese Dätenbits kommen von der Sammelleitung Sß/47 über die Torschaltung 62 oder von der Sammelleitung SßO*8 über die Torschal- ren. tung 75. Das vom Speicher 35 ausgelesene Wort wird in einem Ausgangsregister BSRXO7 für einen Maschinenzyklus gespeichert und dieses Register wird hierauf durch ein Rückstellsignal R zurückgestellt. De; Ausgang des Registers 107 ist mit dem Eingang des Registers SBORTi verbunden und die in diesem Register empfangenen Signale werden hierin für einen Maschinenzyklus gespeichert, wonach das Register durch ein Rückstellsignal R auf O zurückgestellt wird. Über den Ausgang des Registers SBOR73 gelangen die Daten auf die Sammelleitung SB(AS.
Wie bereits erwähnt, wird der Reihenfolgespeicher C438 dazu benutzt, die Reihenfolge des Abrufes von den vier Segmenten des Speichers 35 wiederzugeben. Zu diesem Zwecke sind die Ausgangsleitungen 68 der Torschaltungen 6 mit den Eingängen eines Codierers
77 verbunden, dessen Ausgänge Datenbits zum Speieher 38 liefern. Der Codierer liefert 1 und 0 Datenbits um die Reihenfolge eines Abrufes 95 wie unten beschrieben anzugeben. Jedesmal wenn ein Vergleichssignal auf einer Leitung 68 erscheint, während einer Abrufoperation, wird ein Schreibesignal über die Leitung
78 zum Speicher 38 gesandt. Die Gruppenadresse des Wortes, das abgerufen wird, wird über die Leitung 80 zum Decodierer 120 geführt, wodurch die gewünschten Bits des adressierten Wortes auf geeignete Weise in den Speicher CA38 eingeschrieben werden. Da 6 Bits dazu gebraucht werden können, die Reihenfolge eines Zugriffs oder Abrufoperalion von vier verschiedenen Einheiten anzugeben, werden die Bits des geänderten Wortes im Speicher C438 während jeder Abrufoperation gesetzt, wie in der folgenden Tabelle dargestellt ist.
Tabelle 1
Vergleichsanzeigesignal auf den Leitungen 68 gibt, wird die Gruppenadresse vom Register 67 in den Speicher C438 gebracht, wodurch von diesem Speicher die bestimmte Gruppenposition ausgelesen wird. Das ausgelesene Signal wird im Ausgangsregister CARX2X des Speichers 38 für einen Zyklus gespeichert, um Eingangssignale zu dem Ersetzungscodegenerator (RCGEN) 79 liefern zu können und von dem Register werden die Ersetzungscodebits RCl und RCl erhalten und in dem Übertragungsregister, das die Abrufanforderung enthält, gespeichert. Wie bereits bemerkt, werden die RC Bits dazu gebraucht, um jede Gruppe im Pufferspeicher 35 aufzufüllen und hiernach einen neuen Block in den Pufferspeicher 35 einzuschreiben, wobei der Block überschrieben wird, der an viertältester, d. h. letzter Stelle steht unter den Blöcken, die in jüngster Zeit abgerufen und erfolgreich ausgelesen worden wa-
Bit Stelle 1 Bit Zustände
I
IAl
1 IAl 3/41
2 1Λ3 AAl
3 \AA 2Al
4 ZAi AAl
5 .... 2AA AAZ
6 3AA
55
60
In obiger Tabelle bedeutet z. B. der Code 1Λ4, welcher zu dem Bit 3 gehört, daß das Segment 1 nach dem Segment 4 geholt wurde. Wenn eine Abrufanforderung auf der Sammelleitung BSA B45 erscheint und wenn es kein Der Hauptspeicher besteht aus 32 Grundmodulen BSMO bis BSMiX Die Adressen auf der Sammelleitung MSAB46 werden in einem Adressenregister AR&2 während eines Maschinenzyklus gespeichert. Ebenso werden die Daten von der Sammelleitung Sß/47 in einem Datenregister 83 während eines Maschinenzyklus gespeichert, bevor sie in den Hauptspeicher /WS34 eingelesen werden. Lese- und Schreibsignale erscheinen auf der Leitung 84. jeder Grundspeichermodul hat sein eigenes Speicheradrassenregister (SAR), seine eigene Steuerung, Magnetkernmatrizen, Speicherdatenregister (SDR) und Dateneingangstorschaltungen (DIG). Dem Hauptspeicher 34 ist eine Speicherverteilungseinheit SDE zugeordnet, welche 32 Datenausgangstorsehaltungen DOGO bis DOG31 aufweist, wobei jede dieser Torschaltungen mit einem Grundspeichermodul-Speicherdatenregister verbunden ist. Wenn während eines Lesezyklus die Daten in einem Speicherdatenregister erscheinen, wird die zugehörige Torschaltung DOG durch ein Signal vom Zeitstapel TS43 durchgeschaltet, wodurch das abgerufene Wort in das Register SBOR73 eingeschrieben wird.
Der Zeitstapel TS43 weist einen Registerstapel von 11 Registern auf, wobei der Inhalt eines Registers in das nächstfolgende Register parallel während aufeinanderfolgender Stufen in aufeinanderfolgenden Maschinenzyklen übertragen wird. Der Zweck des Zeitstapels 43 liegt darin, den Zeitablauf des Hauptspeichers 34 mit der Arbeitsweise des Systems zu synchronisieren und Steuerbits zu verschaffen, von denen einige von der Steuerung dazu gebraucht werden, die geeigneten Prioritäten auf BSAB54 zu erhalten, wenn die Daten vom Hauptspeicher 34 als Folge einer Übertragungsoperation ankommen. Jede Stufe des Registerstapels 43 kann eine Vielzahl von Bits (86 bis 97) speichern, welche ir den Zeitstapel in dem Zyklus eingeschrieben werden der auf den Zyklus folgt, während dem der Hauptspeicher 34 adressiert wurde. Bit 86 ist ein Eingangs/Ausgangsbit und wird dazu verwendet, die //O-Einheiter vorzubereiten, Informationen aufzunehmen. Bit 87 unc 88 sind SA R/TA R (SIT) Bits und bilden einen Code welcher das bestimmte SAR oder TAR Register identi fiziert. Bit 89 ist ein Speicherbit (8) das eine Speicher operation anzeigt, wenn es gesetzt wurde und eine Ab rufoperation anzeigt, wenn es zurückgestellt wurd« Dieses Bit trägt in Verbindung mit den Bits 87 und 8: das jeweilige Register SAR oder TAR an. Bit 89 ist ei Erst-Bit (F) und bezeichnet das erste Wort eines übei tragcnen Blockes. Mit Hilfe dieses Bits wird der Blocl· bezeichner des ersten Wortes in den Datenverteilung!
speicher zur geeigneten Zeit eingeschrieben. Bit 91 ist ein Zuletzt-Bit (L) und wird dazu gebraucht, das letzte Wort eines übertragenen Wortes anzuzeigen. Es wird auch dazu gebraucht, das jeweilige Register TAR auszuschalten, das die betreffende Übertragungsoperation steuert Bit 92 ist ein Gültigkeitsbit (V) welches in Verbindung mit den Bits 93 bis 97 dem DOG Decodierer 102 anzeigt, das eine Adresse welche während des Zyklus 7 des Zeitstapels ansteht, decodiert werden soil um die betreffende Torschaltung DOG durchzuschalten, Den Bits 93 bis 97 entsprechen die Adressbits 10 und 25 bis 28. Diese Bits bezeichnen den betreffende Grundspeichermodul. Bits 25 bis 28 zeigen der Steuerung an, welches Grundspeichermodul gerade in Tätigkeit ist. Bits 10 und 25 bis 28 werden auch dazu benützt, während des Zyklus 10 die betreffende DOG-Torschaltung durchzuschalten um damit die ausgelesenen Daten weiter durchzugeben. Mit der oben beschriebenen Einrichtung werden die Verzögerungen auf ein Minumum beschränkt. Sollte jedoch die Zuleitung zu einem Grundspeichermodul sehr lang sein, so daß sich durch die Laufzeit auf dem Kabel wesentliche Verzögerungen ergeben, kann das DOG-Signal von einer früheren Stufe des Zeitstapels, z. B. von der Stufe 7 abgenommen werden.
Wenn die Spcicherstelle in die während einer Kanalspeicheroperation eingeschrieben werden soll, sich gerade im Pufferspeicher 35 befindet, wird der betreffende Block, der die Speicherstelle enthält, ungültig gemacht, wie bereits früher erwähnt wurde. Zu diesem Zweck ist eine Kippschaltung (INVLTH)W zur Ungültigmachung vorgesehen. Während einer Kanalspeicheroperation wird die Gruppenadresse und das Gültigkeitsbit V auf die Sammelleitung BSAB 45 gebracht und über die Torschaltung 100 auf die Schaltung 99 geschaltet. Zur gleichen Zeit wird mit Hilfe der Gruppenadresse der Datenverteilungsspeicher 37 ausgelesen.
Der Blockbezeichner ID wird auch in das Register BSAB R 67 gegeben und dem Vergleicher 65 zugeführt, so daß ein Vergleichssignal erzeugt wird, wenn sich die Speicherstelle im Pufferspeicher BS 35 befindet. Als Folge dieses Signales, das einen erfolgreichen Vergleich anzeigt, überschreibt die Steuerung das Gültigkeitsbit in der Kippschaltung 99 und stellt es auf ungültig zurück. Hierauf wird ein Vorrangzyklus genommen und wenn die Sammelleitung BSAB 45 frei ist, wird im nächsten Zyklus die Gruppenadresse auf die Sammelleitung 45 gegeben und hierdurch der Reihenfolgespeicher DD 37 betätigt und zum gegebenen Zeitpunkt wird das Ungültigkeitsbit in die betreffende Stelle des Speichers 37 eingelesen, womit der betreffende Block ausgeschaltet wird.
Die Vorrangssteuerung in der Speichersteuerung SCU 30 arbeitet wie folgt. Der Zugriff zum Speicher wird eingeleitet, indem auf die Sammelleitungen MSAB oder BSAB die geeignete Information gebracht wird. Da zu einem gegebenen Zeitpunkt mehr als eine dieser Operationen anhängig sein kann, wird eine Vorrangsentscheidung während jedes Zyklus gemacht und be- stimmt, welche Operation die Kontrolle über die Sammelleitungen während des darauffolgenden Zyklus haben soll. Über die Prioritätslogik werden Steuerungen eingestellt, welche im folgenden Ausgangstorschaltungen genannt werden sollen und in den Zeichnungen als Torschallungen 103 - 105 dargestellt sind. Diese Steuerkippschaltungen bringen Adressen und damit verbundene Steuerbits auf die Sammelleitungen MSAB und BSA3. Die Prioritätsordnung ist wie folgt:
1. Kanalanforderung zum Hauptspeicher.
2. TAR-Anforderung zum Hauptspeicher.
3. SAR-Anforderung zum Hauptspeicher.
4. Zentraleinheits-Anforderungen.
Anforderungen der Zentraleinheit haben also die
niederste Priorität. Die Priorität über die Sammelleitung MSAB 46 wird gesteuert durch die obige Prioritätsoranung und die Verfügbarkeit des verlangten Grundspeichermoduls. Über die Prioritätssteuerung wird auch gewährleistet, daß eine Anforderung, welche gerade die Priorität über die Sammelleitung MSAB erhalten soll, auch Priorität auf der Sammelleitung BSAB zur selben Zeit oder nach einer festen Anzahl von Zyklen später erhält, je nach Art der Anforderung. Die Priorität über die Sammelleitung BSAB 45 wird allein bestimmt durch die obige Prioritätsordnung und die Verfügbarkeit des betreffenden ßSAB Zeitintervalls. Beispielsweise sei angenommen, daß der inhalt eines Registers SAR, welcher auf die Sammelleitung BSAB 46 gebracht wird, die Verfügbarkeit der Sammelleitung BSAB in einem Zeitintervall zwei Zyklen später verlangt. Eine TAR-Blockübertragungsanforderung, welche sich auf der Sammelleitung MSA B 46 befindet, verlangt ein ßSAß-Zeitintervall 10 Zyklen später. Um Konflikte auf den Adressensammelleitungen zu vermeiden, löst die Vorrangssteuerung auch Konflikte, welche die SBO und BSAB Ungültigkeitskippschaltungen betreffen, die sich aus gewissen Anforderungen ergeben können. Die Steuerung erzeugt auch Torschaltungssignale C zum öffnen der Tore G und Rückstellsignale R zum Rückstellen der verschiedenen Register.
Abrufanforderung der Zentraleinheit
Beispiel 1
Zwei aufeinanderfolgende Abrufanforderungen vom Pufferspeicher. Ein Zeitdiagramm dieser Operation ist in F i g. 6 gezeigt. Zu Beginn des Maschinenzyklus 1 wird die Abrufanforderung der Zentraleinheit über die Torschaltung 103 auf die Sammelleitung BSAB 45 gegeben. Die Information wird in das 5SAß-Register 67 gegeben und auf diese Weise die Maschinenzyklen 1 und 2 überlappt. Wenn die Gruppenadresse auf der Sammelleitung 45 erscheint tritt der Speicher 37 in Tätigkeit und die Blockbezeichner ID werden vom Datenverteilungsspeicher DD37 gegen Ende des Maschinenzyklus 1 ausgelost. Während des Maschinenzyklus 2 wird ein Vergleichssignal über die Torschaltung 66 erzielt. Dieses Vergleichssignal wird dazu benützt, vom Adressengenerator 69 2 dynamische Bits B1 und B 2 zu erhalten, die mit den Bits 20-28 vom Register R 67 kombiniert werden und die Adresse für den Pufferspeicher 35 bilden. Zu Beginn des Zyklus 2 tritt der Pufferspeicher 35 in Tätigkeit und Daten werden von diesem Speicher in das Register BSR 107 vor dem Ende des zweiten Zyklus ausgelesen. Während des dritten Maschinenzyklus werden Daten vom Pufferspeicherregister 107 in das Register SBO R 73 gelesen und darin behalten, um den Zwischenraum zwischen den Zyklen 3 und 4 zu überbrücken. Die Daten werden in den betreffenden Bestimmungsbereich zu Beginn des Zyklus 4 eingeschrieben. Als Folge des Übereinstimmungssignals tritt der Speicher CA 38 zu Beginn des Zyklus 2 in Tätigkeit um die Bits, die die Reihenfolge des Abrufes wiedergeben aufzudatiercn. Wenn die Abrufanforderung auf die Sammelleitung 45 gegeben wird, läuft sie
weiter in eines der Übertragungsadressenregister TAR ζ. B. in das Register TAR I und dieses Register bleibt für ungefähr 2 Zyklen belegt Während des zweiten Zyklus wird die Adresse des Bestimmungsbereiches über die Torschaltung 55 auf die Bestimmungsbereichssammeüeitung 49 gegeben, um dem Bestimmungsbereich anzuzeigen, daß die Daten im folgenden Zyklus eintreffen werden. Wenn die zweite Abrufanforderung auf die Sammelleitung BSAB 35 im Maschinenzyklus 2 gebracht wird, wie durch die gestrichelte Linie dargestellt ist, wird die gleiche Operation wie vorher beschrieben, durchgeführt, jedoch um einen Maschinenzyklus verschoben« wie durch die gestrichelten Linien in F i g. 6 dargestellt ist. Die Abrufanforderung 2 wird auch in ein von TAR ί verschiedenes Register TAR eingelesen, z. B. in das Register TAR 2.
Beispiel 2
20
Dieses Beispiel illustriert die überlappende Art und Weise von Blockübertragungen. Aus F i g. 4 und 7 ist ersichtlich, daß von der Zentraleinheit Abrufanforderungen Fl, Fl und /3 auf die Sammelleitung BSAB 45 während der Maschinenzyklen 1, 2 und 8 gegeben werden, wovon die zwei ersten Anforderungen Fl und Fl Blockübertragungen verlangen, während sich die dritte Anforderung auf ein Wort bezieht, das sich bereits im Pufferspeicher befindet. Fl bezieht sich auf Wort 5 (im Grundspeichermodul 5) und Anforderung Fl bezieht sich auf das Wort 13 (im Grundspeichermodul 13). Wenn die Anforderung Fl auf der Sammelleitung BSAB 45 erscheint und der Datenverteilungssptricher DD 37 in Tätigkeit tritt, wird kein Übereinstimmungssignal erzeugt, weil sich das abgerufene Wort nicht im Pufferspeicher 35 befindet.
Das Nichtübereinstimmungssignal von den Torschaltungen 66 setzt den Speicher CA 30 in Tätigkeit und dieser erzeugt den Ersetzungscode RC, welcher in das betreffende Register TAR eingeschrieben wird. Im vorliegenden Falle wird angenommen, daß die Register TAR 40 ursprünglich leer waren, so daß die Anforderung Fl in das Register TAR I eingeschrieben wird. Auch der Code RC wird also in das Register TAR I eingeschrieben. Wenn das Register TAR I gültig wird und damit anzeigt, daß eine Übertragung notwendig ist, werden geeignete Signale zu der Steuerung gesandt. Im vorliegenden Falle wird zum leichteren Verständnis der Erfindung angenommen, daß keine Prioritätskonflikte auftreten. Der Zyklus 3 ist somit ein Prioritätszyklus in dem bestimmt wird, daß die Anforderung in TAR I ausgeführt wird. In Zyklus 4 wird die Abrufanforderung für das Wort 5 also auf die Sammelleitung MSAB 46 gebracht. Die Abrufsignale für die übrigen Worte des Blockes werden auch auf die Sammelleitung MSAB 46 in den übrigen 7 Zyklen gebracht. Es wird in Erinnerung gebracht, daß nach dem Absenden einer Abrufanforderung an den Hauptspeicher MS 34 die Daten auf der Sammelleitung SBO 48 in dem 10. Zyklus erscheinen, nachdem die Abrufanforderung dem betreffenden Grundspeichermodul zugeführt worden war. Das Wort 5 erscheint also auf der Sammelleitung SBO 48 während des Maschinenzyklus 14. Da das erste Wort jedes Blockes auch direkt zu der Zentraleinheit gesandt wird, wird das erste Wortbit im Zeitstapel TS 43 dazu benutzt, die Aufnahmebereichsadresse für dieses Wort vom Übertragungsadressenregister 1 auf die Sammelleitung 49 zu bringen, und zwar in dem Zyklus, der dem Zyklus vorausgeht, in dem das Wort 5 auf der Sammelleitung SBO 48 erscheint. Die Bits im Speicher TS 43 zeigen nun der Prioritätssteuerung an, daß mit Beginn des 13. Zyklus die Sammelleitung ÄSAßgebraucht werden wird, um Daten vom Hauptspeicher zum Pufferspeicher zu übertragen. Im 13. Zyklus wird also die Speicher- oder Abrufanforderung für das Wort 5 aul die Sammelleitung BSAB45 gebracht Da das Wort das erste Wort einer Blockübertragung ist, tritt der Datenverteilungsspeicher DD 37 in Tätigkeit und der Blockbezeichner des Wortes 5 wird in den entsprechenden Teil des Speichers DD 37 in Übereinstimmung mit dem Ersetzungscode eingeschrieben. Der Ersetzungscode RC wird vom Übertragungsadressenregister 1 zum Adressengenerator 69 gebracht und liefert die beiden Bits BX, Bl, zur Adressierung des Pufferspeichers 35. Der Speicher CA 38 tritt in Tätigkeit um die Abrufanforderung aufzudatieren. Im Zyklus 14 werden an den Pufferspeicher 35 ein Schreibsignal, die Adressenbits und die Bits des Wortes 5 von der Sammelleitung SBC 48 angelegt und hierdurch das Wort 5 in die gewünschte Speicherstelle eingeschrieben. In gleicher Weise werden die Worte 6, 7 und 0-4 in den Pufferspeicher 35 in aufeinanderfolgenden Maschinenzyklen eingeschrieben. Da diese Worte nur im Pufferspeicher 35 gespeichert werden, wird der Speicher CA 38 nicht aufdatiert. Nachdem die Adresse des letzten Wortes auf die Sammelleitung BSAB45 gegeben worden war, wird das Register TAR I zurückgestellt.
Die Arbeitsweise der Anforderung 2 folgt der Anforderung 1, wobei jedoch die Tätigkeit der Speicher DD
37 und CA 38 einen Zyklus verzögert erfolgt. Nachdem alle Abrufanforderungen der Übertragung des ersten Blockes auf die Sammelleitung MSAB 46 gegeben worden waren, werden hierauf die Anforderungen der zweiten Übertragung auf die Sammelleitung mit Beginn des 12. Zyklus gegeben. Die Worte der zweiten Anforderung erscheinen auf der Sammelleitung SBO 48, anschließend an die Zyklen der ersten Anforderung und diese Worte werden in den Speicher 35 auf ähnliche Weise eingeschrieben, wie oben erwähnt. Wenn das Wort 13, d. h. das erste Wort der zweiten Blockübertragung auf der Sammelleitung BSAB 45 erscheint, tritt der Speicher DD 37 in Tätigkeit und die Blockbezeichnung wird eingeschrieben.
Im Zusammenhang mit der dritten Anforderung Fl ist aus F i g. 7 ersichtlich, daß ein Zeitintervall besteht zwischen den Maschinenzyklen 2 und 13, während dessen die Sammelleitung BSAB 45 nicht benutzt wird. Wenn also die Anforderung Fi im 8. Zyklus erscheint, wird sie in das leere Register TAR 3 (nicht in Fig.7 gezeigt) gebracht werden. Zur selben Zeit tritt der Speicher DD 37 in Tätigkeit. Im vorliegenden Beispiel wird angenommen, daß sich das betreffende Wort im Pufferspeicher 55 35 befindet. Durch das Übereinstimmungssignal wird dementsprechend der Speicher CA
38 aufdatiert was eine erfolgreiche Abrufoperation anzeigt, und zur selben Zeit tritt der Speicher 35 in Funktion. Die Aufnahmebereichsadresse wird vom Register TAR 3 auf die Sammelleitung 49 während des 9. Zyklus gebracht und die Daten werden zu den entsprechenden Aufnahmebereichen gebracht, wenn sie im 10. Zyklus auf der Sammelleitung SBO 48 erscheinen.
Es wird bemerkt (F i g. 7), daß das letzte Wort 4 der ersten Wortübertragung in den Speicher 35 im Zyklus 21 eingeschrieben wird, während das letzte Wort 12 der zweiten Blockübertragung in den Pufferspeicher während des Zyklus 29 eingeschrieben wird. Auf diese
Weise ist klargemacht, wie vorteilhaft die überlappende Blockübertragungsoperation ist, da auf diese Weise viele Maschinenzyklen gespart werden im Falle mehr als eine Blockübertragung gewünscht wird. Es darf jedoch nicht vergessen werden, taß 29 Zyklen für die Übertragung zweier Blocks eine minimale Anzahl darstellen und- nur erzielt wurden, weil erstens keine Anforderungen höherer Priorität eingeschoben wurden welche die Blockübertragung verzöger* hätten und zweitens günstige Auswahlverhältnisse für die Grundspeiehernioduln des ersten und des zweiten Blockes bestanden. Sollte der zweite Block Grundspeichermoduln BSM betreffen, die sich auch innerhalb des ersten Blocks befinden, dann würde eine Verzögerung entstehen beim Geben der Anforderungen auf die Sammelleitung MSAB 46, als Folge der NichtVerfügbarkeit eines Grundspeichermoduls. Der ungünstigste Fall tritt auf, wenn sich das erste Wort des zweiten Blockes sich im selben Grundspeichermodul beendet wie das letzte Wort des ersten Blockes. In diesem Fall muß die Übertragung des zweiten Blockes so lange verzögert werden, bis der entsprechende Grundspeichermodul nicht langer belegt ist.
Andere Abrufanforderungen der Zentraleinheit
Wie bereits bemerkt, wird bei Erscheinen einer Abrufanforderung auf der Sammelleitung BSAB Kanalabrufanforderung, des abzuberufenden Wortes mit allen Adressen in den Registern SAR verglichen. In so einem Falle wird die Abrufanforderung so lange verzögert, bis die Einspeicheroperation beendet ist. Diese Verzögerung wird dadurch realisiert, oder zumindest zum Teil, indem das geeignete »Verbindung zu SARu Bit des betreffenden Registers TAR gesetzt wird. Nach Beendigung der Einspeicheroperation wird dieses Bit zurückgestellt und die Abrufanforderung in dem Register TAR kann nun wieder Beachtung finden.
Eine weitere Art von Abrufanforderung tritt auf, wenn eine zweite Abrufanforderung vorliegt für ein Wort das die gleiche Blockadresse hat als die eines Blockes, der der Gegenstand einer vorhergehenden Abrufanforderung war und zu diesem Zeitpunkt vom Hauptspeicher zum Pufferspeicher übertragen wird. In diesem Fall wird die zweite Anforderung mit der ersten Anforderung dadurch verbunden, daß das entsprechende Bit »Vergleiche mit TAR« gesetzt wird. Nach Beendigung der Blockübertragung wird die zweite Anforderung auf die Sammelleitung BSAB gegeben. Das Wort der zweiten Anforderung wird sich im Pufferspeicher befinden, ausgenommen im Falle einer dazwischenkommenden //O-Speicheroperatior., welche den betreffenden Block ungültig macht.
Wie bereits mehrfach erwähnt, bezieht sich die vorliegende Erfindung auf die Gesamtspeicherorganisation und auf Vielfachblockübertragungen, die beide oben bereits im Detail beschrieben wurden. Der Hauptvorteil eines Pufferspeichers liegt in der Reduzierung der effektiven Speicherzugriffszeit während Operationen der oben beschriebenen Art und daher werden im nachfolgenden die Zentnaleinheitsspeicher-, die ICanalspeicher und die Abrufanforderungen nur im allgemeinen beschrieben werden.
Zentraleinheitspeicheranforderung
Eine Einspeicher-Anforderung der Zentraleinheit wird auf die Sammelleitung BSAB 45 gebracht und in ein leeres Register SAR 41 eingelesen. Drei Zyklen später erscheinen die entsprechenden Daten und werden in das mit dem betreffenden SAR Register verbundene Register SOB gegeben. Die Speichersteuerung SCU verlangt einen Vorrangszyklus und wenn keine höhere Priorität vorliegt, wird der Inhalt des SAR-Registers auf die Sammelleitung MSAB 46 gebracht und ein Speicherzyklus des entsprechenden Grundspeichermoduls im Hauptspeicher MS 34 begonnen. Drei Zyklen später werden die Daten vom Entfernregister SDB über die Torschaltung 62 auf die Sammelleitung SBl 47 und in das Datenregister 83 gebracht. Zwei Zyklen, nachdem die Anforderung auf die Sammelleitung MSAB 43 gebracht worden war, wird die Anforderung auch auf die Sammelleitung BSAB 45 gegeben, und die Gruppenadresse setzt den Speicher DD37 in Tätigkeit, um zu bestimmen, ob die Speicherstelle auch im Pufferspeicher 35 enthalten ist. Wenn dies der Fall ist, wird ein Vergleichssignal erzeugt, und der Speicher BS 35 wird in Tätigkeit gesetzt, so daß die Daten, wenn sie auf der Sammelleitung 47 erscheinen über die Torschaltung 62 in den Pufferspeicher 35 gegeben werden, um darin eingeschrieben zu werden. Wenn sich die Speicherstelle nicht im Speicher 35 befindet, wird kein Vergleichssignal erzeugt und der Speicher BS 35 tritt nicht in Tätigkeit.
Kanalanforderungen werden in einem Kanalanforderungsregister (CRR) 109 gespeichert. Eine Kanalabrufanforderung, die Priorität erhalten hat, gelangt über die Torschaltung 105 auf die Sammelleitung MSAB 46 und die Daten werden, wenn sie auf der Sammelleitung SBO48 erscheinen, in ein Kanalpufferausregister {CBC 111) gebracht, um zum Kanal übertragen zu werden.
Kanalspeicheranforderungen, die sich auf der Sammelleitung MSAB 46 befinden, werden auch über die Torschaltung 104 auf die Sammelleitung BSAB 45 gebrach) und betätigen die Steuerkippschaltung 99, wie bereits früher beschrieben worden war. Die zu der Anforde rung gehörigen Daten werden vom Kanal in ein Kanal· puffereingangsregister (CBI) 110 gebracht. Drei Zyklen nachdem die Speicheranforderung auf die Sammellei tung MS-4B46 gebracht worden war, werden die Da ten vom Register CBI UO auf die Sammelleitung SB
47 gebracht, um in den Hauptspeicher 34 auf ähnliche Weise wie bereits früher beschrieben eingeschrieben ^i werden.
Hierzu 5 Blatt Zeichnungen

Claims (5)

Patentansprüche:
1. Datenverarbeitungsanlage mit einem in eine Anzahl voneinander unabhhängig Funktionierender Grundspeichermoduln unterteilten Hauptspeicher und Unterstützungsspeicher großer Kapazität, mit Registerstapeln zur Zwischenspeicherung vGn Speicheranforderungsinformationen (z. B. Adressen), zur Berücksichtigung des Belegungszustandes der Grundspeichermoduln und zur zeitlichen Steuerung des Ablaufs eines Speicherzugriffs, dadurch gekennzeichnet, daß ein Teil der im Hauptspeicher gespeicherten Datenblöcke auch in einem schnellen Pufferspeicher (35) gespeichert ist, der zur ständigen Datenversorgung der zentralen Verarbeitungseinheit (31) in seiner Zugriffsgeschwindigkeit der Verarbeitungsgeschwindigkeit der Verarbeitungseinheit (31) angepaßt ist wobei für jeden der beiden Speicher (34,35) eine unabhängig funktionierende Adressensammelleitung (45, 46) vorgesehen ist, daß mit den beiden Adressensammelleitungen (45,46) ein Übertragungsadressenregisterstapel (40) zum Speichern und Steuern von Speicheranforderungen verbunden ist, von dem für die aufeinanderfolgenden Wörter eines zwischen den beiden Speichern (34, 35) zu übertragenden Blocks die Hauptspeicheradressen auf die Hauptspeicheradressensammelleitung (46) und Pufferspeicheradressen auf die Pufferspeicheradressensammelleitung (45) gegeben werden können, derart, daß während der Zeit zwischen der Adressierung des letzten Wortes eines Blockes (zwischen dem Maschinenzyklus 19, Anforderung Fl, in Fi g. 7) und dem Auslesen dieses Wortes (Maschinenzyklus 30 in F i g. 7) die Adressierung der Wörter der folgenden Anforderung (Fl) bereits erfolgen kann und daß in der Zeit zwischen einer Anforderung (Fi, Fl) an den Pufferspeicher (35), die eine Blockübertragung in den Pufferspeicher notwendig macht, und dem Eintreffen des ersten Wortes dieses Blockes weitere Zugriffe zum Pufferspeicher (35) möglich sind.
2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß in jedem Register (TA R) des Stapels (40) unter anderem die folgenden Daten gespeichert werden:
a) Hauptspeicherwortadresse,
b) Austauschbits (RCi und RCl) zur Anzeige der Speicherstelle im Pufferspeicher, weiche zur Aufnahme des Blocks freigemacht werden soll,
c) Bits zur Anzeige, daß eine Blockübertragung notwendig ist und stattfindet,
d) ein Gültigkeitsbit zur Anzeige darüber, ob das Register frei oder belegt ist,
e) Bits zur Steuerung der Datenübertragung und der Funktionsreihenfolge der Register.
3. Datenverarbeitungsanlage nach Anspruch 2, dadurch gekennzeichnet, daß bei jeder Datenanforderung zum Pufferspeicher (35) ein Register (TAR) des Adressenregisterstapels (40) geladen wird, und daß das Gültig-Bit in dem Register zurückgestellt wird, wenn die Anforderung vom Pufferspeicher bedient werden kann, also keine Blockübertragung nötig ist.
4. Datenverarbeitungsanlage nach Anspruch 3, gekennzeichnet durch einen ersten Zähler (54), welcher vom Adressenregisterstapel (40) fortgeschaltet wird und die aufeinanderfolgenden Pufferspeicheradressen auf die Pufferspeicher-Adressensammel leitung (45) gibt, und durch einen zweiten Zähl» (52), welcher ebenfalls vom Adressenregisterstape (40) fortgeschaltet wird und die aufeinanderfolgen den Hauptspeicheradressen auf die Hauptspeicher Adressensammelleitung (46) gibt.
5. Datenverarbeitungsanlage nach Anspruch 1 gekennzeichnet durch einen weiteren Registersta pci (43) zur zeitliches Steuerung, der als Verschie beregisterstapel ausgeführt ist und dessen Inhalt be jedem Maschinenzyklus weiter verschoben wird.
DE1966633*A 1968-11-14 1969-11-11 Datenverarbeitungsanlage mit überlappter Arbeitsweise bei Verwendung eines Haupt- und Pufferspeichers Expired DE1966633C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US77685868A 1968-11-14 1968-11-14

Publications (3)

Publication Number Publication Date
DE1966633A1 DE1966633A1 (de) 1973-07-19
DE1966633B2 DE1966633B2 (de) 1975-02-20
DE1966633C3 true DE1966633C3 (de) 1975-11-27

Family

ID=25108583

Family Applications (2)

Application Number Title Priority Date Filing Date
DE1966633*A Expired DE1966633C3 (de) 1968-11-14 1969-11-11 Datenverarbeitungsanlage mit überlappter Arbeitsweise bei Verwendung eines Haupt- und Pufferspeichers
DE1956604A Expired DE1956604C3 (de) 1968-11-14 1969-11-11 Datenverarbeitungsanlage

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE1956604A Expired DE1956604C3 (de) 1968-11-14 1969-11-11 Datenverarbeitungsanlage

Country Status (4)

Country Link
US (1) US3588829A (de)
DE (2) DE1966633C3 (de)
FR (1) FR2023152A1 (de)
GB (1) GB1231570A (de)

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3786427A (en) * 1971-06-29 1974-01-15 Ibm Dynamic address translation reversed
US3735360A (en) * 1971-08-25 1973-05-22 Ibm High speed buffer operation in a multi-processing system
US3806888A (en) * 1972-12-04 1974-04-23 Ibm Hierarchial memory system
US3839704A (en) * 1972-12-06 1974-10-01 Ibm Control for channel access to storage hierarchy system
US3997875A (en) * 1973-01-08 1976-12-14 U.S. Philips Corporation Computer configuration with claim cycles
US3848234A (en) * 1973-04-04 1974-11-12 Sperry Rand Corp Multi-processor system with multiple cache memories
US3898624A (en) * 1973-06-14 1975-08-05 Amdahl Corp Data processing system with variable prefetch and replacement algorithms
US3916384A (en) * 1973-06-15 1975-10-28 Gte Automatic Electric Lab Inc Communication switching system computer memory control arrangement
FR121860A (de) * 1973-07-19
US3840863A (en) * 1973-10-23 1974-10-08 Ibm Dynamic storage hierarchy system
US3889237A (en) * 1973-11-16 1975-06-10 Sperry Rand Corp Common storage controller for dual processor system
NL7317545A (nl) * 1973-12-21 1975-06-24 Philips Nv Geheugensysteem met hoofd- en buffergeheugen.
US3896419A (en) * 1974-01-17 1975-07-22 Honeywell Inf Systems Cache memory store in a processor of a data processing system
US3979726A (en) * 1974-04-10 1976-09-07 Honeywell Information Systems, Inc. Apparatus for selectively clearing a cache store in a processor having segmentation and paging
FR116049A (de) * 1975-03-20
US4056845A (en) * 1975-04-25 1977-11-01 Data General Corporation Memory access technique
US3964054A (en) * 1975-06-23 1976-06-15 International Business Machines Corporation Hierarchy response priority adjustment mechanism
JPS5226124A (en) * 1975-08-22 1977-02-26 Fujitsu Ltd Buffer memory control unit
DE2547488C2 (de) * 1975-10-23 1982-04-15 Ibm Deutschland Gmbh, 7000 Stuttgart Mikroprogrammierte Datenverarbeitungsanlage
US4276596A (en) * 1979-01-02 1981-06-30 Honeywell Information Systems Inc. Short operand alignment and merge operation
US4075686A (en) * 1976-12-30 1978-02-21 Honeywell Information Systems Inc. Input/output cache system including bypass capability
US4084234A (en) * 1977-02-17 1978-04-11 Honeywell Information Systems Inc. Cache write capacity
US4084236A (en) * 1977-02-18 1978-04-11 Honeywell Information Systems Inc. Error detection and correction capability for a memory system
US4149245A (en) * 1977-06-09 1979-04-10 International Business Machines Corporation High speed store request processing control
US4092713A (en) * 1977-06-13 1978-05-30 Sperry Rand Corporation Post-write address word correction in cache memory system
GB2003302B (en) * 1977-08-24 1982-02-10 Ncr Co Random access memory system
US4354232A (en) * 1977-12-16 1982-10-12 Honeywell Information Systems Inc. Cache memory command buffer circuit
US4167782A (en) * 1977-12-22 1979-09-11 Honeywell Information Systems Inc. Continuous updating of cache store
US4195342A (en) * 1977-12-22 1980-03-25 Honeywell Information Systems Inc. Multi-configurable cache store system
US4157587A (en) * 1977-12-22 1979-06-05 Honeywell Information Systems Inc. High speed buffer memory system with word prefetch
JPS5489444A (en) * 1977-12-27 1979-07-16 Fujitsu Ltd Associative memory processing system
US4169284A (en) * 1978-03-07 1979-09-25 International Business Machines Corporation Cache control for concurrent access
US4189770A (en) * 1978-03-16 1980-02-19 International Business Machines Corporation Cache bypass control for operand fetches
US4189768A (en) * 1978-03-16 1980-02-19 International Business Machines Corporation Operand fetch control improvement
US4189772A (en) * 1978-03-16 1980-02-19 International Business Machines Corporation Operand alignment controls for VFL instructions
US4373179A (en) * 1978-06-26 1983-02-08 Fujitsu Limited Dynamic address translation system
FR2431732A1 (fr) 1978-07-19 1980-02-15 Materiel Telephonique Dispositif de conversion d'adresse virtuelle en adresse reelle
GB2072905B (en) * 1978-12-11 1983-08-03 Honeywell Inf Systems Data-processing apparatus
US4208716A (en) * 1978-12-11 1980-06-17 Honeywell Information Systems Inc. Cache arrangement for performing simultaneous read/write operations
US4217640A (en) * 1978-12-11 1980-08-12 Honeywell Information Systems Inc. Cache unit with transit block buffer apparatus
US4313158A (en) * 1978-12-11 1982-01-26 Honeywell Information Systems Inc. Cache apparatus for enabling overlap of instruction fetch operations
GB2037039B (en) 1978-12-11 1983-08-17 Honeywell Inf Systems Cache memory system
US4312036A (en) * 1978-12-11 1982-01-19 Honeywell Information Systems Inc. Instruction buffer apparatus of a cache unit
US4268909A (en) * 1979-01-02 1981-05-19 Honeywell Information Systems Inc. Numeric data fetch - alignment of data including scale factor difference
US4246644A (en) * 1979-01-02 1981-01-20 Honeywell Information Systems Inc. Vector branch indicators to control firmware
US4484262A (en) * 1979-01-09 1984-11-20 Sullivan Herbert W Shared memory computer method and apparatus
WO1980001421A1 (en) * 1979-01-09 1980-07-10 Sullivan Computer Shared memory computer method and apparatus
US4707781A (en) * 1979-01-09 1987-11-17 Chopp Computer Corp. Shared memory computer method and apparatus
US4298929A (en) * 1979-01-26 1981-11-03 International Business Machines Corporation Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability
DE2934771C3 (de) * 1979-08-28 1982-03-25 Siemens AG, 1000 Berlin und 8000 München Speichervorrichtung.
DE2939412C2 (de) * 1979-09-28 1983-11-17 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordung zum Adressieren von Daten für Lese- und Schreibzugriffe in einer Datenverarbeitungsanlage
US4317168A (en) * 1979-11-23 1982-02-23 International Business Machines Corporation Cache organization enabling concurrent line castout and line fetch transfers with main storage
JPS5680872A (en) * 1979-12-06 1981-07-02 Fujitsu Ltd Buffer memory control system
JPS5687282A (en) * 1979-12-14 1981-07-15 Nec Corp Data processor
FR2474201B1 (fr) * 1980-01-22 1986-05-16 Bull Sa Procede et dispositif pour gerer les conflits poses par des acces multiples a un meme cache d'un systeme de traitement numerique de l'information comprenant au moins deux processus possedant chacun un cache
JPS57105879A (en) * 1980-12-23 1982-07-01 Hitachi Ltd Control system for storage device
SE445270B (sv) * 1981-01-07 1986-06-09 Wang Laboratories Dator med ett fickminne, vars arbetscykel er uppdelad i tva delcykler
US4439829A (en) * 1981-01-07 1984-03-27 Wang Laboratories, Inc. Data processing machine with improved cache memory management
US4661903A (en) * 1981-05-22 1987-04-28 Data General Corporation Digital data processing system incorporating apparatus for resolving names
US4490782A (en) * 1981-06-05 1984-12-25 International Business Machines Corporation I/O Storage controller cache system with prefetch determined by requested record's position within data block
US4489378A (en) * 1981-06-05 1984-12-18 International Business Machines Corporation Automatic adjustment of the quantity of prefetch data in a disk cache operation
JPS6049950B2 (ja) * 1981-08-27 1985-11-06 富士通株式会社 Lruエラ−処理方式
US4458310A (en) * 1981-10-02 1984-07-03 At&T Bell Laboratories Cache memory using a lowest priority replacement circuit
US4429363A (en) * 1981-10-15 1984-01-31 International Business Machines Corporation Method and apparatus for managing data movements from a backing store to a caching buffer store
US4466059A (en) * 1981-10-15 1984-08-14 International Business Machines Corporation Method and apparatus for limiting data occupancy in a cache
JPS58133696A (ja) * 1982-02-03 1983-08-09 Hitachi Ltd 記憶制御方式
EP0128945B1 (de) * 1982-12-09 1991-01-30 Sequoia Systems, Inc. Sicherstellungsspeichersystem
US4819154A (en) * 1982-12-09 1989-04-04 Sequoia Systems, Inc. Memory back up system with one cache memory and two physically separated main memories
US4559611A (en) * 1983-06-30 1985-12-17 International Business Machines Corporation Mapping and memory hardware for writing horizontal and vertical lines
DE3469615D1 (en) * 1984-04-03 1988-04-07 Siemens Ag Method and arrangement for exchanging data words between two memories, for example the buffer of a byte multiplex channel and the buffer of the input/output command unit of a higher level of a data-processing system
USRE34052E (en) * 1984-05-31 1992-09-01 International Business Machines Corporation Data processing system with CPU register to register data transfers overlapped with data transfer to and from main storage
US4630195A (en) * 1984-05-31 1986-12-16 International Business Machines Corporation Data processing system with CPU register to register data transfers overlapped with data transfer to and from main storage
GB8613068D0 (en) * 1986-05-29 1986-07-02 Univ Manchester Delay management
US5001624A (en) * 1987-02-13 1991-03-19 Harrell Hoffman Processor controlled DMA controller for transferring instruction and data from memory to coprocessor
US5446844A (en) * 1987-10-05 1995-08-29 Unisys Corporation Peripheral memory interface controller as a cache for a large data processing system
DE3919802C2 (de) * 1988-06-17 1997-01-30 Hitachi Ltd Speichersteuersystem für ein Multiprozessorsystem
US5060136A (en) * 1989-01-06 1991-10-22 International Business Machines Corp. Four-way associative cache with dlat and separately addressable arrays used for updating certain bits without reading them out first
EP0473804A1 (de) * 1990-09-03 1992-03-11 International Business Machines Corporation Ausrichten von Linienelementen zur Übertragung von Daten vom Speicher zum Cache
US5363495A (en) * 1991-08-26 1994-11-08 International Business Machines Corporation Data processing system with multiple execution units capable of executing instructions out of sequence
US5412788A (en) * 1992-04-16 1995-05-02 Digital Equipment Corporation Memory bank management and arbitration in multiprocessor computer system
CA2121852A1 (en) * 1993-04-29 1994-10-30 Larry T. Jost Disk meshing and flexible storage mapping with enhanced flexible caching
DE69506404T2 (de) * 1994-06-10 1999-05-27 Texas Micro Inc., Houston, Tex. Hauptspeichervorrichtung und wiederanlaufkennzeichnungsverfahren für ein fehlertolerantes rechnersystem
JP3086779B2 (ja) * 1995-06-19 2000-09-11 株式会社東芝 メモリ状態復元装置
US5864657A (en) * 1995-11-29 1999-01-26 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
US5745672A (en) * 1995-11-29 1998-04-28 Texas Micro, Inc. Main memory system and checkpointing protocol for a fault-tolerant computer system using a read buffer
US5737514A (en) * 1995-11-29 1998-04-07 Texas Micro, Inc. Remote checkpoint memory system and protocol for fault-tolerant computer system
US5751939A (en) * 1995-11-29 1998-05-12 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system using an exclusive-or memory
TW379298B (en) * 1996-09-30 2000-01-11 Toshiba Corp Memory updating history saving device and memory updating history saving method

Also Published As

Publication number Publication date
DE1956604A1 (de) 1970-06-11
DE1966633A1 (de) 1973-07-19
GB1231570A (de) 1971-05-12
DE1956604C3 (de) 1974-05-09
US3588829A (en) 1971-06-28
FR2023152A1 (de) 1970-08-07
DE1966633B2 (de) 1975-02-20
DE1956604B2 (de) 1973-10-04

Similar Documents

Publication Publication Date Title
DE1966633C3 (de) Datenverarbeitungsanlage mit überlappter Arbeitsweise bei Verwendung eines Haupt- und Pufferspeichers
DE2415900C3 (de) Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen
DE1499182C3 (de) Datenspeichersystem
DE2542010C2 (de) Datenverarbeitende Anlage
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2953861C2 (de)
DE2154106A1 (de) Arbeitsspeicherwerk
DE2432608C3 (de) Speicheranordnung fur eine Datenverarbeitungseinrichtung
DE1286789B (de) Einrichtung an einem elektronischen Ziffernrechner zum schnellen Datenaustausch zwischen der Verarbeitungseinheit und dem zentralen Speicher
DE4207158A1 (de) Speicher-zugriffssteuerung
DE1237812B (de) Datenverarbeitungsgeraet mit mehreren Speichern
EP0409330B1 (de) Schaltungsanordnung zum Steuern des Zugriffs auf einen Speicher
DE69032490T2 (de) Datenspeichersystem und dessen Betriebsverfahren
DE2110458C3 (de) Speicheranordnung in einem datenverarbeitenden System
DE2759120A1 (de) Prozessor fuer datenverarbeitungssysteme
DE1808678B2 (de) Verfahren und schaltungsanordnung fuer elektronische daten waehlvermittlungsanlagen mit einem zentralen speicher
DE2355814C2 (de) Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung
DE1960278A1 (de) Pufferung von Steuerwort- und Datenwort-Systemspeicheruebertragungen in einem UEbertragungssystem-Steuerspeicher
DE1774849C3 (de) Adressierungseinrichtung für eine Speicherabschnittkette
DE2519195A1 (de) Assoziativspeicher
DE1524006B2 (de) Vorrichtung zum erhoehen der informationsuebergaberate eines speichers
DE2927451A1 (de) Verfahren und vorrichtung zur gewaehrleistung der informationskohaerenz zwischen den vorspeichern und weiteren speichern eines informationsverarbeitungssystems mit mehrfachverarbeitung
DE3149678A1 (de) Anordnung zur zwischenspeicherung von zwischen zwei funktionseinheiten in beiden richtungen zu uebertragenden informationen in einem pufferspeicher
DE2509835C3 (de) Arbeitsspeicheranordnung
DE2544071C3 (de) Mehrstufiges Arbeitsspeichersystem

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977
8339 Ceased/non-payment of the annual fee