DE1966633B2 - Datenverarbeitungsanlage mit überlappter Arbeitswelse bei Verwendung eines Haupt- und Pufferspeichers - Google Patents

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

Info

Publication number
DE1966633B2
DE1966633B2 DE1966633*A DE1966633A DE1966633B2 DE 1966633 B2 DE1966633 B2 DE 1966633B2 DE 1966633 A DE1966633 A DE 1966633A DE 1966633 B2 DE1966633 B2 DE 1966633B2
Authority
DE
Germany
Prior art keywords
memory
address
register
request
block
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.)
Granted
Application number
DE1966633*A
Other languages
English (en)
Other versions
DE1966633A1 (de
DE1966633C3 (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 ■n 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 Grundspeichermoduln zu richten. Falls ein solcher angeforderter Modul besetzt ist, wird die betreffende Speicheranforderung in einem Register zwischengespeichert. 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 Speichersteuerungen 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 Hauptspeicher 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 Hauptspeicher einen kleinen Pufferspeicher vorzusehen, der durch seine begrenzte Kapazität rascher arbeiten kann und der von der Verarbeitungseinheit bei jedem Verarbeitungischritt 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 vorteilhaft, auch im Pufferspeicher eine Organisation nach Datenblöcken zu verwenden. Ein solcher Pufferspeicher ist Gegenstand der Stammanmeldung (vgL DT-OS 1 956 604). Bei der Adressierung des Pufferspeichers werden dabei die Adressenbezeicnnungen 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 3 248 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 angefordert werden, sich nicht im Hauptspdeher 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 Magriettrommeln 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 Verarbeitungseinheit und dem Hauptspeicher den Zeitaufwand bei Datenübertragungen zwischen dem Pufferspeicher und dem Hauptspeicher durch zeitlich überlappende Arbeitsweise, insbesondere bei aufeinanderfolgenden 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, Maschinenzyklen nutzvoll zu verwenden, die in bekannten Einrichtungen nutzlos abgewartet werden mußten. Da jedes Wort eines Blockes in einem anderen Grundspeichermodul gespeichert ist, kann das Auslesen der Worte eines Blockes aus allen betreffenden Grundspeichermoduln gleichzeitig beginnen. Dadurch, daR eine unabhängige Pufferspeichersammelleitung vorgesehen ist, kann 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 Verfügung 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
F i g. 1 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,
F i g. 5 den Inhalt der Übertragungsadressenregister TAR in Fi g. 4a,
F i g. 6 ein Zeitdiagramm einer Datenanforderung vom Pufferspeicher zur Zentraleinheit,
F i g. 7 das Zeitdiagramm einer Vielfach-Ausleseoperation mit überlappender Übertragung der Datenblocks.
Allgemeine Beschreibung
F i g. 1 zeigt eine Datenverarbeitungsanlage in der das vorliegende Ausführungsbeispiel Verwendung finden kann. In der in F i g. 1 gezeigten Datenverarbeitungsanlage ist eine Speichersteuerung (SCLJ) 30 enthalten, welche den Zugriff zum Speichersystem durch die zentrale Verarbeitungseinheit (Zentraleinheit CPEJl), 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 31 enthält eine Befehlseinheit oder/-Einheit und eine Ausführungseinheit oder E-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 Zugriffsanforderungcn zu der Steuerung SCU3Q, wenn so eine Anforderung im Befehl enthalten ist.
Die Speichersteuerung 30 steuert den Zugriff 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 ein«· 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 16fach 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 Gnjndspeichermoduln BSM befinden.
Wie aus F ι 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 Pi speicher befindet Das Auslesen erfolgt nicht zerstörend. Zur Adressierung des Speichers 35 sind 11 Bits notwendig. Die Bits 20 bis 28 der Adres se (F i g. 2) bilden eine Teiladresse eines Speicherwortes zu der noch zwei Bits Sl und Bl hinzugefügt werden, die dynamisch erzeugt werden, wenn der Pufferspeicher gebraucht wird and 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 23. zu vier Blocks.
gegeben durch die zwei dynamischen Adressenbits Bi, Bl, wobei jeder Block aus acht Wörtern besteht 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 gespeichert 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 DDXJ (Fig.4ß) eingeschrieben. Der Datenverteilungsspei eher 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 auf weist. Die Speicherplätze 0 bis 63 werden durch die Gruppenadresse (Fig. 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-Blockbczcichncrs enthält jedes Wort im Datenverieilungsspeicher 37 '-'η Gültigkeitsbit V, das gesetzt wird, wenn ein neuer Blockbezeichner in den betreffenden Block geschi ieben wird. Während einer Einspeicheroperation von einem Kanal aus wird das Güitigkeitsbit 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 würden.
oder im Falle einer Abrufanforderung die Übertragung eines Blockes von Wörtern zum Pufferspeicher auslosen würden.
Weiteres ist für das Speichersystem em Reihenfolgespeicher (CA) 38 vorgesehen. Der Speicher 38 ist ein Speicher mit wahlfreiem Zugriff und zerstörungsfreier Auslesung, welcher 64 Wortplätze aufweht, die durch die Gruppenadresse adressiert werden. Jeder Wortplatz weist sechs Bits auf. Jedesmal wenn ein Wort vom betreffenden Block hn 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 benfitzt werden. Hierzu sind sechs Bits nötig. Diese Bits werden zu Beginn gebraucht, am den Pufferspeicher 35 zu fül· Jen und hierauf das Aseceln eines Blockes zu steuern, wenn ein neuer Block zum Pufferspeicher 35. übertragen wird.
Wenn eine bestimmte Gruppe im Speicher 35 gefüllt
35
45
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 M 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 ID 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 Bi der Pufferspeicherwortadresse zu erzeugen. Die somit gebildete Pufferspeicherwortadresse wird zn m Pufferspeicher 35 übertragen. Das geholte Wort vwrd der Zentraleinheit 31 drei Maschinenzyklen nach Frhalt des Anforderungssignals zugeleitet.
Wenn während des Auslesens aus dem Datenvertei-Iur.gsspeicher 37 kein Signal erzeugt wird, das einen erfolgreichen Vergleich anzeigt, wird das Anforde ningssignal zwischengespeichert und eine Blockübertragungsoperation ausgelöst. Hierzu finden Zugriffe mm Hauptspeicher 34 statt und die acht Wörter des betreffenden Blockes werden seriell ausgelesen Es wird daran erinnert daß während einer solchen Block -iibertragung 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 Anforderungea welche auf die beschriebene Anforderung folgen, die die Obertragongsoperation ausgelost hat erhalten und ausgeführt werden. Auch können während dieser Zeit zusätzliche Auslese- oder Emspeicheranforderungen dem Pufferspeicher zugeführt werden. SoBte eine Ausleseanforderung ein Wort betreffen, welches sich nicht im Pufferspeicher befindet, dann wird hierdurch eine zweite Übertragungsoperation ausgelöst. Wenn diese zweite Anforderung einen Hauptspeicher·' modul 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 Pufferadressensammelleilung gegeben. Wenn die betreffenden Daten nicht im Pufferspeicher gespeichert sind, wird die Anforderung in eines einer
Anzahl von Übertragungsadressenregistern 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 verbundener Grundspeichermoduln in aufeinanderfolgenden Ma schinenzyklen betrieben werden, bevor noch die Da
S5 tenübertragung des ersten Blocks beendet ist Hier durch wird die Verwendung von Maschinenzykler 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 Hauptspeichei durchgeführt werden, wenn sich das adressierte Wor auch im Pufferspeicher befindet Befindet sich da adressierte Wort nicht im Pufferspeicher, wird nur ii den Hauptspeicher eingespeichert Eine Abrufanforde rung von der zentralen Verarbeitungseinheit wird mi an den Pufferspeicher gerichtet Bei Übertragung eine
509508/1!
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 Hauptspei 5 eher ein Wort, welches sich auch im Pufferspeicher befindet, wiro die Adressierung dieses Blockes im Pufferspeicher unmöglich gemacht.
Genaue Beschreibung ,0
Wie aus F i g. 4 ersichtlich ist, enthält die Speichersteuerung SCLBO außer dem Datenverteilungsspeicher und dem Reihenfolgespeicher 38 noch eine Reihe von Ubertragungsadressenregister (TAR) 40, eine Reihe von Einspeicheradressenregister (SAR)4X, eine Reihe von Speicherdater.register (SDB) 42 und einen Zeitstapel (TS) 43. Diese Einheiten sind an ein Sammelleitungssystem angeschlossen, das eine Pufferspeicheradressensammelleitung (BSAB)45, eine Hauptspeicheradressensammelleitung (MSAB) 46, eine Einspeichersammelleitung (SBI)47, eine Speicherauslesesammelleitung (SBO) 48 und eine weitere Sammelleitung SLA9 aufweist.
Es sind drei Übertragungsadressenregister 40 vorgesehen, TARX bis TARi, welche einander gleich sind, so daß nur eines im Detail beschrieben zu werden braucht. TARX enthält eine Anzahl von Kippschaltungen, welche nach F i g. 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 TARX 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 RCX und RC2 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 Verglefchssignal kombiniert, um der Steuerung anzuzeigen, welches Ubertragungsadressenregister 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 Bh wird zur Sperrung anderer Übertragungsanforderungen gebraucht
7. Das Gühigkeitsbit zeigt an. daß der Inhalt vom ÜbertragiHjgsadressenregister 1 gültig ist und auf die Priorität wartet Zugriff zum Speicher zu erhalten. Wenn das Gffltigkeitsbit ausgeschaltet ist zeigt dies an. daß das Übertragungsadressenregister 1 leer ist und über die Sammelleitung BSAB41 mit einer Zentraleinheit Abrufanforderung gela den werden kann. Das Gültigkeitsbit wird gesetzi wenn das Ubertragungsadressenregister 1 geladei ist und es wird zurückgestellt beim Erscheine: eines Übereinstimmungssignals und beim Beendei einer Übertragung.
8. Die Zustandstrigger Sl bis 54 zeigen folgende Zu stände an: Ubertragungsadressenregister 1 »Übertragung in Durchführung und Verbindung zi einem Speicheradressenregister«. Übertragungs adressenregister 1, «Übertragung in Durchführunj beendet, aber noch immer mit einem Speicher adressenregister verbunden«. Übertragungsadres senregister 1, »Übertragung in Durchführuni beendet und nicht verbunden während der Über tragung«. Der 4. Zustandstrigger schließlich gib an, daß eine gültige Zentraleinheitanforderung zi den Übertragungsadressenregistern 1 gemach wird und anhängig ist. Diese Bits dienen den Ablauf von Einspeicher- und Abrufoperatiohen.
9. Die »Verbindung zu SAÄ-Bits« LSI, LS2 und LS zeigen das Speicheradressenregister an, das di< gleiche komplette Adresse, wie im Übertragungs adressenregister enthält. Diese Bits verhindern daß Ubertragungsadressenregister Daten an di( Sammelleitung BSAB45 abzugeben bis der Inhal des verbundenen Speicheradressenregisters au die Sammelleitung BSABgebracht wurde.
Die vorgenannten Bits gibt es in jedem der dre Ubertragungsadressenregister, während die folgender Steuerbits allen drei Übertugungsadressenregisterr gemeinsam sind.
1. Drei »Vergleiche mit TAR-Bhs« lC2(die Adresse in TAR wird mit der in TAR2 verglichen). 2C3 3Cl, welche gesetzt werden, wenn es zwei Abrufe zum selben Block gibt und zeigen an, welche Über tragungsadressenregister die Anforderungen ent halten. Diese Bits werden dazu gebraucht, um e: der ersten Anforderung zu ermöglichen, den ge wünschten Block abzurufen. Die zweite Anforde rung wird zwischengespeichert bis die Übertra gung beendet ist, wonach die zweite Anforderung auf die Sammelleitung BSAB gegeben wird, mil der Wahrscheinlichkeit, daß dann das gewünschte Wort sich im Pufferspeicher 35 befindet 2- Drei Bits XB2 (TARX wird vor TAR2 geladen) 2Ä3 und 3ßl geben die Reihenfolge an. in welcher die Ubertragungsadressenregister gelader sind und er möglichen so eine Erster-Ein-Erster-Aus-Vor rangsbeziehung zwischen den Übertragungsadres senregistern. Diese Bits werden abhängig von der Emgangstorsteuerungen der drei Übertragungs adressenregisterpositionen gesetzt und zurückge stellt
Die Arbeitsweise des Ubertragungsadressenregister· staPfs f «* »ie folgt: Wenn eine Abrufanforderung aut der Sammelleitung 45 während eines Maschinenzyktos erscheint wird die Anforderung über eine Tor schaltung 51 in ein leeres Übertragojigsadressenregi-
Anhängig-Bits
pf! AR<Xäug und AnhängigBits
zu Begmn des nächsten Maschmenzyktos ge- K JÜÜLÜ1* das Sewunsdfe Wort im Puffers}» ™??^ wW «k* Gätig-Bit zn Ende des Ma-BeckgesteBt wodarch festgelegt ist efü^mgsadressenregister hn nächsten ZyiL^"16111^ «» eine andere Anforde-
i&iL^"16111^ «» eine andere Anfordeaufzunehmen. 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 Übertragungsadressenregisterpos'tionen verglichen, um festzustellen, ob die Abrufanforderung sich auf den gleichen Block bezieht. Wenn dies der Fall ist, wird der betreffende Vergleich mit TAR-Bn gesetzt. Auch wird die Adresse des abgerufenen Wortes mit den Adressen der anderen Speicherplätze im Speicheradressenregister 41 verglichen. Ein positiver Vergleich zeigt an, daß eine Speicheranforderung zur gleichen Adresse aussteht. 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 ist, um die Aufnahmebereichsadresse auf die Bestimmungsadressensammelleitung 49 zu geben, einen Zyklus bevor die Daten vom Pufferspeicher 35 auf die Sammelleitung 5ßO48 gegeben werden. Während der Übertragung von Wortblocks verhält sich das Übertragungsadressenregister, 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 HSAB46 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 di? 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 SBCAS gegeben werden seriell über die Torschaltung 53 auf die Sammelleitung BSAB45 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 laufen. Dieser Zähler arbeitet ähnlich wie der Zähler 52 und gibt aufeinanderfolgende Adressen auf die Sammelleitung BSABiS, während aufeinanderfolgender Maschinenzyklen. Auf diese Weise werden die ausgelesenen Worte in die geänderten Speicherplätze im Pufferspeicher 35 eingeschrieben. In dem Maschmenzykhis der dem Maschinenzyklus in dem das erste Wort eines Blockes auf die SammeWeitung 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 Maschinenzykhis wird also das erste Wort im Block nicht ποτ in den Pufferspeicher 35 gelesen, sondern auch dem angewiesenen Bestimmungsplatz Hi der Zentraleinheit 31 zugeführt
Speicheradressenregister 41 und 42 arbeiten wie folgt Wenn eine Zentraleinfaeit-Speicheranforderung auf die Sammefleitnng BSABtS gegeben wird, wird die Anforderung über eine Torschaltung 57 in era leeres der Speicheradressenregister eingelesen. Drei Maschinenzyklen später werden die Daten, die gespeichert werden sollen, ebenfalls über Torschaltungen 58 und 5S auf die betreffende Sammelleitung SDB gegeben Wenn die Daten ankommen, wird ein Signal zu dei 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
ίο MSAB46 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 arbeitet so. daß in dem Zyklus, nach dem die Adresse eines Wortes im Hauptspeicher 34 auf die Sammelleitung MSA Ö46 gegeben wurde, diese Adresse auch aui die Sammelleitung BSABA5 gegeben wird. Der Datenverteilungsspeicher 37 tritt in Tätigkeit, um festzustel- len, ob sich die Speicherstelle auch im Pufferspeicher 35 befindet. Wenn dies der Fall ist, wird ein Puffer Speicherzyklus genommen, welcher synchron verläufl mit dem Eingeben der Daten auf die Sammelleitung Sß/47 und diese Daten werden über die Torschaltung 62 in den Pufferspeicher 35 gegeben.
Wie bereits erwähnt, sind die Speicher ß535, DDiI und C438 Hochgeschwindigkeitsspeicher mit wahlfreiem Zugriff. Diese Speicher werden über Adressendecodierer angesteuert und die ausgelesenen Worte werder in Ausgangsregistern gespeichert. Die Auslesung erfolgt störungsfrei und erfolgt, nachdem die Adressenbits dem Decodierer angeboten wurden. Das Einschreiben in die Speicher geschieht durch gleichzeitiges An legen der Adressen-, Daten-, und Schreibsignale. Die Speicherzykluszeit sowohl für einen Lese- als auch füi einen Schreibzyklus ist ein Maschinenzyklus.
Der Datenverteilungsspeicher 37 enthält vier unabhängige Speicher-DDO-DD3, welche mit einem Datenverieilungsausgangsregister (DDOR) 115 verbunder sind, welches für einen Maschinenzyklus die vier Worte welche aus dem Speicher 37 ausgelesen worden sind aufnimmt, bis ein Rückstellsignal R an das Register an gelegt wird. Über die Leitung 116 werden die Gruppen adressenbits 20 bis 25 von der Sammelleitung BSAMi zum Decodierer 117 des Speichers 37 geführt und übei die Leitung 118 wird der Blockbezeichner ID und die Gültigkeitsbits zu den Dateneingängen der Speichel geführt.
An die Ausgangsleitungen des Registers 115 ist eir
Vergleicher (VERGL) 65 angeschlossen, welchem die vier Blockbezeichner vom Register RWS zugeführt werden. Wenn eine Adresse auf der Sammelleitung BSABA5 erscheint wird sie auch in ein BSAB Registei (R) 67 gegeben. Von diesem Register werden die Bit!
Sj 10 bis 19 einem anderen Eingang des Vergleichers 65 zugeführt um mit den entsprechenden Ausgangssignalen des Registers RX15 verglichen zu werden. Wenn ein erfolgreicher Vergleich stattfindet wird ein Signal vom Ausgang des entsprechendes Teiles des Vergleichen 65 zu dem entsprechenden Eingang einer Und-Tor schaltung AO bis A3 gegeben. Diese Und-Schafomgex (66) erhalten auch Eingangssignale, welche das Gültig kensbit V der Worte weiche ans dem Datenverteilungsspeicher ausgelesen wurden darstellen. Wenn da« Geltigkeitsbit EIN geschaltet ist dann erzeugt die betreffende Torschaltung 66 ein VergieichssigBal aal einer bestimmten der Leitungen 68. Ober die Leitungen 68 werden die Vergieichssignak
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 R67 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 Lei tung 71, Adressenbits auf den Leitungen 72 und Datenbits auf der Leitung 74. Diese Datenbits kommen von der Sammelleitung SBM7 über die Torschaltung 62 oder von der Sammelleitung SBOiS über die Torschaltung 75. Das vom Speicher 35 ausgelesene Wort wird in einem Ausgangsregister BSR107 für einen Maschinenzyklus gespeichert und dieses Register wird hierauf durch ein Rückstellsignal R zurückgestellt. Der 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 iias Register durch ein Rückstellsignal R auf O zurückgestellt wird. Über den Ausgang des Registers SBORIl gelangen die Daten auf die Sammelleitung SiSOIS.
Wie bereits erwähnt, wird der Reihenfolgespeicher O438 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 ium Speicher 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 C438 eingeschrieben werden. Da 6 Bits dazu gebraucht werden können, die Reihenfolge eines Zugriffs oder Abrufoperation von vier verschiedenen Einheiten anzugeben, werden die Bits des geänderten Wortes im Speicher C-438 während jeder Abrufoperation gesetzt, wie in der folgenden Tabelle dargestellt ist.
Tabelle 1
Bit Stelle 1 Bit Zustande
I
IAl
1 1/42 3/4 1
2 1/43 4/41
3 1,4 4 3/42
4 2/43 4/12
5 2/14 4/13
6 3/14
In obiger Tabelle bedeutet z. B. der Code 1 A4, welcher zu dem Bit 3 gehört, daß das Segment I nach dem Segment 4 geholt wurde. Wenn eine Abrufanforderung auf der Sammelleitung ÖS-4Ö45 erscheint und wenn es kein Vergleichsanzeigesignal auf den Leitungen 68 gibi wird die Gruppenadresse vom Register 67 in den Spei eher C/438 gebracht, wodurch von diesem Speicher dii bestimmte Gruppenposition ausgelesen wird. Das aus gelesene Signal wird im Ausgangsregister C4Ä121 de: Speichers 38 für einen Zyklus gespeichert, um Ein gangssignale zu dem Ersetzungscodegeneratoi (RCCEN) 79 liefern zu können und von dem Registei werden die Ersetzungscodebits RCi und RCl erhalter ίο und in dem Übertragungsregister, das die Abrufanfor derung enthält, gespeichert Wie bereits bemerkt, wer den die RC Bits dazu gebraucht, um jede Gruppe inPufferspeicher 35 aufzufüllen und hiernach einen neuer 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 waren.
Der Hauptspeicher besteht aus 32 Grundmodulen BSMO bis DSMiX. Die Adressen auf der Sammelleitung MSAB1A werden in einem Adressenregister AR&2 während eines Maschinenzyklus gespeichert. Ebenso werden die Daten von der Sammelleitung SBI47 in einem Datenregister 83 während eines Maschinenzyklus gespeichert, bevor sie in den Hauptspeicher MS34 eingelesen werden. Lese- und Schreibsigna'e erscheinen auf der Leitung 84. Jeder Grundspeichermodu! hat sein eigenes Speicheradressenregister (SAR), seine eigene Steuerung, Magnetkernmatrizen, Speicherdatenregister (SDR) und Dateneingangstorschaltungen (DlG). Dem Hauptspeicher 34 ist eine Speichervertei lungseinheit SDE zugeordnet, welche 32 Datenausgangstorschaltungen DOGO bis DOGiX 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 TSAi durchgeschaltet, wodurch das abgerufene Wort in das Register SBORIi eingeschrieben wird.
Der Zeitstapel TSAi 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 in 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 //0-Einheiten vorzubereiten. Informationen aufzunehmen. Bit 87 und 88 sind SA R/TA R (S/T) Bits und bilden einen Code welcher das bestimmte SAR oder TAR Register identifiziert. Bit 89 ist ein Speicherbit (8) das eine Speicheroperation anzeigt, wenn es gesetzt wurde und eine Abrufoperation anzeigt, wenn es zurückgestellt wurde. Dieses Bit trägt in Verbindung mit den Bits 87 und 88
«•5 das jeweilige Register SAR oder TAR an. Bit 89 ist ein Erst-Bit (F) und bezeichnet das erste Wort eines übertragenen Blockes. Mit Hilfe dieses Bits wird der Blockbezeichner des ersten Wortes in den Datenverteiliinsr·;-
speicher zur geeigneten Zeit eingeschrieben. Bit 91 ist ein Zuletzt-Bh (L) und wird da?u 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 weiche während des Zyklus 7 des Zeitstapels ansteht, decodiert werden soll 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-Torschahung 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 Grund-Speichermodul sehr lang sein, so daß sich durch die Laufzeit auf dem Kabel wesentliche Verzögerungen ergeben, kann das £>OG-Signal von einer früheren Stufe des Zeitstapels, z. B. von der Stufe 7 abgenommen werden.
Wenn die Speicherstelle 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)99 zur Ungültigmachung vorgesehen. Während einer Kanalspeicheroperation wird die Gruppenadresse und das Gültigkeilsbit 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. Ober die Prioritätslogik werden Steuerungen eingestellt, welche im folgenden Ausgangstorschaltungen genannt werden sollen und in den Zeichnungen als Torschaltungen 103 - 105 dargestellt sind. Diese Steuerkippschaltungen bringen Adressen und damit verbundene Steuerbits auf die Sammelleitungen MSAB und BSAR 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 Sam;· !leitung MSAB 46 wird gesteuert durch die obige ( ;oritätsordnung und die Verfügbarkeit des verlangten Grundspeichermoduls. Über die Prioritätssteueiung 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 PrioriJätsordnung und die Verfügbarkeit des betreffenden BSAB 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 MSAB46 befindet, verlangt ein BSAB-Zeitintervall 10 Zyklen später. Um Konflikte auf den Adressensammelleitungen zu vermei den, 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 BSAB-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 DD 37 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 aufzudatieren. 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 Bestimmungsbereichssammelleitung 49 gegeben, um dem BestimmungEbereich 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 1 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 Fi, Fl und Fi auf die Sammelleitung BSAB 45 während der Maschinenzyklen 1,2 und 8 gegeben werden, wovon die zwei ersten Anforderungen Fi und Fl Blockübertragungen verlangen, während sich die dritte Anforderung auf ein Wort bezieht, das sich bereits im Pufferspeicher befindet. Fi bezieht sich auf Wort 5 (im Grundspeichermodul 5) und Anforderung Fl bezieht sich auf das Wort 13 (im Grundspeichermodul 13). Wenn die Anforderung Fi auf der Sammelleitung BSAB 45 erscheint und der Datenverteilungsspeicher 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 TARi 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 Samme leitung SBO Α» erscheint Die Bits im Speicher 7X4 zeigen nun der Prioritätssteuerung an, daß mit Begin des 13. Zyklus die Sammelleitung BSAB gebraucht wei den wird, um Daten vom Hauptspeicher zum Puffei speicher zu übertragen. Im 13. Zyklus wird also di Speicher- oder Abrufanforderung für das Wort 5 au die Sammelleitung BSAB 45 gebracht Da das Wort da erste Wort einer Blockübertragung ist tritt der Daten Verteilungsspeicher DD 37 in Tätigkeit und der Block bezeichner des Wortes 5 wird in den entsprechende! Teil des Speichers DD 37 in Übereinstimmung mit den Ersetzungscode eingeschrieben. Der Ersetzungscodi RC wird vom Übertragungsadressenregister l zun Adressengenerator 69 gebracht und liefert die beidei Bits Bi, Bl, zur Adressierung des Pufferspeichers 35 Der Speicher CA 38 tritt in Tätigkeit um die Abrufan förderung aufzudatieren. Im Zyklus 14 werden an dei Pufferspeicher 35 ein Schreibsignal, die Adressenbit: und die Bits des Wortes 5 von der Sammelleitung SBC 48 angelegt und hierdurch das Wort 5 in die gewünsch te Speicherstelle eingeschrieben. In gleicher Weis« werden die Worte 6,7 und 0-4 in den Pufferspeicher 3ί in aufeinanderfolgenden Maschinenzyklen eingeschrie ben. Da diese Worte nur im Pufferspeicher 35 gespei ciiert werden, wird der Speicher CA 38 nicht aufdatiert Nachdem die Adresse des letzten Wortes auf die Sam melleitung BSA B 45 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 DL
37 und CA 38 einen Zyklus ve. zögert erfolgt. Nachdem alle Abrufanforderungen der Übertragung des ersten Blockes auf die Sammelleitung MSAB46 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 BSA B 45 erscheint, tritt der Speicher DD 37 in Tätigkeit und die Blockbe zeichnung wird eingeschrieben.
Im Zusammenhang mit der dritten Anforderung Fi 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 ÖS 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 TA R 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 SBO48 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, daß 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ögert hätten und zweitens günstige Auswahlverhältnisse für die Grundspeichermoduln 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 Geb»" 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 befindet 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 länger 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 5-4 Bit des betreffenden Registers TAR gesetzt wird. Nach Beendigung der Einspucheroperation 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-Speicheroperation, 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 Haupt-
vorteil eines Pufferspeichers liegt in der Reduzierung der effektiven Speicherzugriffszeit während Operationen der oben beschriebenen Art und daher werden im nachfolgenden die Zentraleinheitsspeicher-, die Kanalspeicher 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 SDB 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 SBI47 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 DDXl 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 (CBO 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 BSAB45 gebracht und betätigen die Steuerkippschaltung 99, wie bereits früher beschrieben worden war. Die zu der Anforderung gehörigen Daten werden vom Kanal in ein Kanalpuffereingangsregister (CBl)WQ gebracht. Drei Zyklen, nachdem die Speicheranforderung auf die Sammelleitung MSAB 46 gebracht worden war, werden die Daten vom Register CBl 110 auf die Sammelleitung SBl 47 gebracht, um in den Hauptspeicher 34 auf ähnliche Weise wie bereits früher beschrieben eingeschrieben zu werden.
Hierzu 5 Blatt Zeichnungen

Claims (5)

  1. Patentansprüche:
    I. Datenverarbeitungsanlage mit einem in eine Anzahl voneinander unabhhängig funktionierender Grundspeichermoduln unterteilten Hauptspeicher und Unterstützungsspeicher großer Kapazität, mit Registerstapeln zur Zwischenspeicherung von 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 Fi, in F i g. 7) und dem Auslesen dieses Wortes (Maschinenzyklus 30 in Fi 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. 2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß in jedem Register (TAR)des Stapels (40) unter anderem die folgenden Daten gespeichert werden:
    a) Hauptspeicherwortadresse,
    b) Austauschbits (RCX und RCl) zur Anzeige der Speicherstelle im Pufferspeicher, welche 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. 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. 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-Adressensammelleitung (45) gibt, und durch einen zweiten Zähler (52), welcher ebenfalls vom Adressenregisterstapel (40) fortgeschaltet wird und die aufeinanderfolgenden Hauptspeicheradressen auf die Hauptspeicher-Adressensammelleitung (46) gibt
  5. 5. Datenverarbeitungsanlage nach Anspruch 1, gekennzeichnet durch einen weiteren Registerstapel (43) zur zeitlichen Steuerung, der als Verschieberegisterstapel ausgeführt ist und dessen Inhalt bei 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 true DE1966633B2 (de) 1975-02-20
DE1966633C3 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0161336A1 (de) * 1984-04-03 1985-11-21 Siemens Aktiengesellschaft Verfahren und Anordung zum Austausch von Datenwörtern zwischen zwei Speichern, zum Beispiel dem Pufferspeicher in einem Byte-multiplexkanal und einem Pufferspeicher der übergeordneten Ein-Ausgabesteuerung einer Datenverarbeitungsanlage

Families Citing this family (87)

* 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
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0161336A1 (de) * 1984-04-03 1985-11-21 Siemens Aktiengesellschaft Verfahren und Anordung zum Austausch von Datenwörtern zwischen zwei Speichern, zum Beispiel dem Pufferspeicher in einem Byte-multiplexkanal und einem Pufferspeicher der übergeordneten Ein-Ausgabesteuerung einer Datenverarbeitungsanlage

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
DE1966633C3 (de) 1975-11-27
FR2023152A1 (de) 1970-08-07
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
DE2542010C2 (de) Datenverarbeitende Anlage
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2231146A1 (de) Verfahren zum steuern der datenuebertragung in einer datenverarbeitungsanlage und anlage zur durchfuehrung dieses verfahrens
DE3011552A1 (de) Datenverarbeitungsanlage mit einem hauptspeicher sowie wenigsten einem datenprozessor mit zugeordnetem adressenumformer
DE1803767A1 (de) Elektronisches Datenverarbeitungssystem
DE68924719T2 (de) Vorrichtung und Verfahren zur Ausführung eines Unterprogramms in einem Datenverarbeitungssystem mit Blockumschaltung.
DE2432608C3 (de) Speicheranordnung fur eine Datenverarbeitungseinrichtung
DE2441754A1 (de) Prozessor-datenuebertragungssteueranordnung sowie verfahren zur steuerung der datenuebertragung eines prozessors
DE4207158A1 (de) Speicher-zugriffssteuerung
DE1286789B (de) Einrichtung an einem elektronischen Ziffernrechner zum schnellen Datenaustausch zwischen der Verarbeitungseinheit und dem zentralen Speicher
DE2252489A1 (de) Speichersystem
EP0409330B1 (de) Schaltungsanordnung zum Steuern des Zugriffs auf einen Speicher
DE69808700T2 (de) Cachespeichervorrichtung
DE1808678B2 (de) Verfahren und schaltungsanordnung fuer elektronische daten waehlvermittlungsanlagen mit einem zentralen speicher
DE2355814C2 (de) Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung
DE2544071C3 (de) Mehrstufiges Arbeitsspeichersystem
DE2927451A1 (de) Verfahren und vorrichtung zur gewaehrleistung der informationskohaerenz zwischen den vorspeichern und weiteren speichern eines informationsverarbeitungssystems mit mehrfachverarbeitung
DE3851210T2 (de) Datenbussteuerung von ROM-Einheiten in einer Informationsverarbeitungsanordnung.
DE2543589C2 (de) Hierarchisch aufgebautes, mehrstufiges Speichersystem und Verfahren zu dessen Betrieb
DE3013618C2 (de) Schaltungsanordnung zur Bildung zweier miteinander in Beziehung stehender reeller Adressen aus einer zweiteiligen virtuellen Adresse
DE2501119C3 (de) Datenverarbeitungseinrichtung
DE3036034A1 (de) Verfahren und schaltungsanordnung zur aufnahme und zwischenspeicherung von datensignalen in einer datenvermittlungsanlage
DE2002369C3 (de) Datenverarbeitungsanlage mit Pufferspeicher

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