DE2355814C2 - Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung - Google Patents

Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung

Info

Publication number
DE2355814C2
DE2355814C2 DE2355814A DE2355814A DE2355814C2 DE 2355814 C2 DE2355814 C2 DE 2355814C2 DE 2355814 A DE2355814 A DE 2355814A DE 2355814 A DE2355814 A DE 2355814A DE 2355814 C2 DE2355814 C2 DE 2355814C2
Authority
DE
Germany
Prior art keywords
memory
channel
address
block
buffer memory
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
DE2355814A
Other languages
English (en)
Other versions
DE2355814A1 (de
Inventor
Dana Royce Wappinger Falls N.Y. Spencer
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 DE2355814A1 publication Critical patent/DE2355814A1/de
Application granted granted Critical
Publication of DE2355814C2 publication Critical patent/DE2355814C2/de
Expired legal-status Critical Current

Links

Classifications

    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6028Prefetching based on hints or prefetch instructions

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)
  • Multi Processors (AREA)

Description

Die Erfindung betrifft eine Kanalzugriffseinrichtung gemäß dem Oberbegriff des Anspruchs 1.
In einer hierarchischen Speicheranordnung werden in einem großen, relativ langsamen Großraumspeicher eine verhältnismäßig große Anzahl von Datenblocks gespeichert, während ein kleiner, aber rascher Pufferspeicher eine geringe Anzahl von Datenblöcken speichert. Wenn sich die Datenblöcke, die bei einer Datenverarbeitung benötigt werden, gerade im Pufferspeicher befinden, arbeitet die Speicheranordnung mit einer Geschwindigkeit, welche so hoch ist, wie die des Pufferspeichers und mit einer Kapazität, welche gleich ist der Kapazität des Großraumspeichers. In der Praxis werden oft eine hohe Anzahl von Speicherzugriffen zu einem kleinen Teil der Speicherstellen, die außerdem meist in benachbarten Datenblöcken liegen, ausgeführt, so daß dann nur eine geringe Anzahl von Übertragungen von Datenblöcken zwischen den Speichern durchgeführt werden muß.
Zur Durchführung von Datenzugriffen von einer Kanaleinrichtung aus ist es bekannt, diese Zugriffe zum Großraumspeicher des hierarchischen Hauptspeichers durchzuführen (DE-AS 19 56 6(M. DIi-OS 2129 268). Diese Methode hat zwar den Vorteil, dall im Großraumspeicher jeweils die aktuellsten Daten stehen, bringt jedoch den großen Nachteil mil sich, dall die rasche Funktionsweise des Pufferspeichers nicht ausgenutzt werden kann und die Zugriffe somit nur langsam abgewickelt werden können.
Bei einem Zugriff der Kanaleinrichtung direkt zum Pufferspeicher treten aber dann große Verzögerungen auf, wenn sich der gewünschte Datenblock nicht im Pufferspeicher befindet und erst aus dem Großraumspeieher geholt werden muß.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, in einer Kanalzugriffseinrichtung der eingangs beschriebenen Art eine vorausschauende Übertragung von benachbarten Datenblöcken in den Puffer-Speicher zu ermöglichen und damit die Durchführung von Kanalzugriffen direkt zum Pufferspeicher zu vereinfachen und zu beschleunigen.
Diese Aufgabe wird erfindungsgemäß durch die im Kennzeichen des Hauptanspruches beschriebene Einrichtung gelöst.
Mit der vorliegenden Erfindung können in den meisten Fällen die Verzögerungen vermieden werden, die durch die notwendige Übertragung von Datenblöcken vom Großraumspeicher in den Pufferspeicher entstehen. Kanalzugriffe im vorliegenden Sinne werden z. B. von mechanischen Anschlußeinheiten, wie Platten- oder Bandspeichern durchgeführt und es ist in einem solchen Falle wegen des umständlichen Aufbaues einer solchen Kanalverbindung unumgänglich notwendig, daß die Speichereinrichtung dem Kanal zur Verfügung steht, wenn die periphere Einheit bereit ist, einen Lese- oder Schreibvorgang auszuführen. Stehen nämlich die gewünschten Daten der Kanaleinrichtung nicht direkt zur Verfügung, kann es zu einer Unterbrechung der Kanal-Operation kommen und die genannte Kanalverbindung müßte unter Umständen in zeitraubender Weise wieder aufgebaut werden.
Ein Ausführungsbeispiel der Erfindung soll nun anhand von Figuren beschrieben werden. Es zeigt
J5 Fig. I eine Datenverarbeitungsanlage mit einer Kanaleinrichtung, einem Hauptspeicher und Schnittstelleneinrichtungcn, und
Fig.2 die Anordnung von Daten in einem Großraumspeichcr. wie sie in der in F i g. 1 gezeigten Einrichtung Verwendung findet.
Fig. 1 zeigt einen Hauptspeicher 12 mit einem Pufferspeicher 14 und einem Großraumspeicher 17. Dieser ist wesentlich größer als der Pufferspeicher 14 und es werden Datenblöcke zwischen den Speichern auf einem Leitungssystem 18 übertragen. Auf der Leitung 19 werden Daten zwischen dem Pufferspeicher 14 und der zentralen Verarbeitungseinheit CPU übertragen. Auf der Leitung 23 werden Daten zwischen dem Pufferspeicher 14 und dem Kanal 25 übertragen. Für den Speicher 12
so ist ein Adreßregister 26 vorgesehen, welches Adressen von der CPU auf einer Leitung 27 und vom Kanal 25 auf einer Leitung 29 erhält.
Die hochwertigen Adressenbits im Register 26 definieren einen Speicherblock im Speicher 17 und die niederwertigen Adressenbits definieren ein bestimmtes Wort in diesem Block. Ein Block hat dabei dieselbe Größe sowohl im Pufferspeicher 14 als auch im Großraumspeicher 57 und der Wortteil im Adreßregister 26 gilt sowohl für den Speicher 14 als auch für den Speicher 17.
bo Der Wortteildes Adreßregisters 26 wird den Pufferspeichcr-Adreßschaltungen direkt auf der Leitung 30 zugeführt. Im Pufferspeicher 14 werden weniger Datcnblocks als im Großraumspeichcr 17 gespeichert und einem Datenbloek wird eine neue Blockadresse zugeteilt.
h"> wenn dieser Block vom Speicher 17 in den Speicher 14 übertragen wird. Für jeden üatenblock im Pufferspeicher 14 wird in einem Verzeichnis 32 die Blockpresse gespeichert, welche die Lage des Blocks im Großraum-
speicher 17 angibt Wird die Blockadresse vom Register 26 ausgelesen, gibt das Verzeichnis 32 die entsprechende Blockadresse auf einer Leitung 34 zum Pufferspeicher 14. Wenn sich der adressierte Block üicht im Pufferspeicher 14 befindet, wird durch das Verzeichnis 32 und eine Austauscheinrichtung 35 erreicht, daß ein Datenblock aus dem Pufferspeicher 14 entfernt wird und damit Platz gemacht wird für den nunmehr adressierten und aus dem Großraumspeicher 17 zu übertragenden Datenblock. Das Verzeichnis 32 erzeugt ein Signal »Austausch« auf einer Leitung 37 und startet damit die Austauschoperation. Auf einer Leitung 38 liefert das Verzeichnis 32 die Blockadressen, welche für die Austauschoperation benötigt werden. Die Austauscheinrichtung 35 Hefen die Adressen zum Pufferspeicher 14 auf einer Leitung 41 und gibt damit die Speicherstelle des Datenblocks an, der ersetzt werden soll und liefert feiner Adressen zum Großraumspeicher 17 auf einer Leitung 42, um zuerst die Adresse zu bestimmen, in die der zu ersetzende Block aus dem Pufferspeicher 14 einzulesen ist und sodann die Blockadresse des Blocks, welcher vom Speicher 17 zum Pufferspeicher 14 übertragen werden soll. Aus dem Hauptspeicher 12 werden auch verschiedene Statussignale zum Kanal geliefert, wie z. B. ein Signal auf der Leitung 43, dessen Bedeutung weiter unten erläutert wird.
Die oben beschriebenen Teile des Hauptspeichers 12 sind bekannt und in hierarchischen Speicheranordnungen gebräuchlich. Zusätzlich zu diesen Einrichtungen liefert das Verzeichnis 32 ein Auswahlsignal auf der Leitung 44, welches den Pufferspeicher 14 veranlaßt, au? die Adresse auf den Leitungen 30 und 34 zu antworten und eine Lese- oder Schreiboperation einzuleiten. Außerdem ist noch ein UND-Glied 45 vorgesehen, welches die Übertragung des Auswahlsignales vom Verzeichnis 32 zum Pufferspeicher 14 in Abhängigkeit vom Signal auf der Leitung 48 steuert. Dies soll weiter unten noch näher erläutert werden.
F i g. 2 zeigt die Anordnung von Daten im Großraumspeicher 17 für eine typische Kanaloperation. In Fi g. 2 ist der Großraumspeicher 17 als eine Serie von Datenblocks dargestellt, welche mit den Buchstaben A bis P bezeichnet sind. Im gezeigten Beispiel enthält jeder Block 16 kanaladressierbare Einheiten. Der Block B ist in Fig. 1 in der Anordnung 50 näher dargestellt und zeigt die einzelnen kanaladressierbaren Einheiten und ihre Adressen. Die Einheit 15 des Blocks B ist in der Anordnung 53 näher bezeichnet. Auf ähnliche Weise zeigt die Anordnung 54 den Inhalt der Blöcke L und M und die Anordnung 55 den Inhalt einiger kanaladressierbarer Einheiten dieser Blöcke. Die Anordnungen 57,58, 59 und 60 zeigen den Inhalt von bestimmten kanaladressierbaren Einheiten in den Blöcken O, C, Fund /.
Wie bereits erwähnt, ist ein Block die kleinste Einheit von Daten, die vom Großraumspeicher 17 zum Pufferspeicher 14 übertragen werden kann. Hierbei beginnt jeder Block an der Adresse, welche im 31ockteil des Adreßregisters 26 in den hochwertigen Bits angegeben ist. Bei einem Speicherzyklus des Pufferspeichers 14 wird ein Datenwort verarbeitet, dessen Adresse im Wortteil des Adreßregisters 26 angegeben ist. Hierbei kann das Wort aus verschiedenen Bytes zusammengesetzt sein und es kann durch den Pufferspeicher 14 auch die Adressierung eines einzelnen Bytes vorgesehen sein.
Eine »kanaladressierbare Einheit« ist eine Dateneinheit, welche aus einem oder mehr Bytes besteht und auf der Leitung 23 bei Operationen, an denen der Kanal und das Speichersystem beteiligt sind, übertragen wird. Die Wortgröße des Pufferspeichers kann auf bekannte Weise den Erfordernissen des Kanals angepaßt werden. Im Ausführungsbeispiel beträgt die Breite des Speicherwortes und der kanaladressierbaren Einheit je 32 Bits.
In K i g. 2 ist in den Anordnungen 58 und 59 ein Kanalprogramm dargestellt, welches in den Speicherstellen 4, 5 und 6 im Block Cund an der Speicherstelle 12 im Biock F gespeichert ist. Ein Kanaladreßwort wird an einer bestimmten Stelle, welche im vorliegenden Beispiel willkürlich mit O 5 bezeichnet wurde, gespeichert und wird vom Kanal zu Beginn einer Operation ausgelesen. In den Anordnungen 53 und 60 sind Speicherstellen dargestellt, welche Informationen enthalten, die für die Kanaloperation benötigt werden. In der Anordnung 55 sind Speicherstellen dargestellt, in denen die Daten gespeichert werden, welche während der Kanaloperation erzeugt werden. Wie bereits beschrieben, wird bei einer Datenübertragung jeweils ein ganzer Datenblock von dem in F i g. 1 und 2 dargestellten Großraumspeicher 17 zum Pufferspeicher 14 übertragen, wenn der Dateninhalt dieses Blocks von der CPU verarbeitet werden sollen.
Zu Beginn der in F i g. 2 dargestellten Operation holt der Kanal das Kanaladreßwort von der Adresse OS.
Die Bitpositionen 8 bis 31 des Kanaladreßwortes enthalten die Adresse CA des ersten Kanalkommandowortes des Kanalprogramms. Die Bits 0 bis 7 des Kanalkommandowortes geben die Operation an, welche der Kanal ausführen soll und welche im vorliegenden Beispiel eine Aufsuch-Operation ist, z. B. das Aufsuchen einer Datenspur auf einer Platte. Die Bitpositionen 8 bis 31 enthalten eine Adresse, B 15, an der Informationen gespeichert sind, welche während der Aufsuchoperation benötigt werden. Der Kanal erzeugt dann eine Speicheranförderung, um die Speicherstelle 15 des Blocks B auszulesen. Das nächste Kanalkommandowort, »Suchen«, enthält eine Adresse /8, welche die Speicherbitstelle angibt, an der Informationen gespeichert ist, welche die Suchoperation steuert. Das nächste Kanalkommando-
wort enthält ein Kommando, welches als »Übertragung im Kanal« bezeichnet wird, wobei dessen Adreßteil die Speicherstelle F12 bezeichnet, an der die Sequenz der Kanalkommandoworte weiterläuft. Das Kanalkommandowort an dieser Adresse leitet eine Leseoperatton ein, wobei sein Adreßteil eine Serie von Adressen bezeichnet, welche an der Stelle L 12 beginnt, an der die von der Anschlußeinheit ausgelesenen Daten zu speichern sind. Wie nun beschrieben werden soll, führt die gezeigte Einrichtung eine Datenübertragung vom Großraumspeicher 12 zum Pufferspeicher 14 aus, bevor die entsprechende Kanalanforderung auftritt.
In der in F i g. 1 gezeigten Einrichtung erzeugt der Kanal 25 eine Multibitadresse auf der Leitung 64 , welche durch eine Reihe von Torschaltungen, welche in F i g. 1 durch ein ODER-Glied dargestellt ist, übertragen wird, und sodann das Adreßsignal auf der Leitung 29 darstellt. Der Kanal 25 erzeugt durch das gebräuchliche Anforderungssignal auf der Leitung 67, welches über Torschaltungen auf eine Leitung 68 übertragen wird und eine Lese- oder Schreiboperation des Hauptspeichers 12 einleitet.
Außerdem erzeugt der Kanal 25 ein Signal auf der Leitung 70, wenn die Anforderung für ein Kanaladreßwort oder ein Kanalkommandowort erfolgt, während andererseits ein komplementäres Signal auf der Leitung 71 erzeugt wird, wenn die Anforderung für Daten und nicht für ein Kanaladreßwort oder ein Kanaikomniandowort erfolgt. Ein UND-Glied 72 erzeugt aus den Si-
gnalen auf den Leitungen 67 und 70 ein Signal »SW ANF« (Steuerwort-Anfordening) auf der Leitung 74. Ein UND-Glied 75 erzeugt aus den Signalen auf den Leitungen 67 und 7t ein Signal »Daten ANF« (Datenanforderung) auf der Leitung 77. Die ODER-Glieder 78 und 79 kombinieren diese beiden Signale, sowie ein Eingangssignal 80, dessen Bedeutung weiter unten erläutert wird, zu einem Signal »Anforderung« auf der Leitung 68. Die Leitungen 74 und 77 geben also an. ob die Kanalanforderung auf der Leitung 67 für ein Kanaladreßwort oder ein Kanalkommandowort. wie in den Anordnungen 57, 58 und 59 in F i g. 2 gezeigt, oder für eine Datenanforderung, wie in Fig. 2 in den Anordnungen 53, 55 und 60 gezeigt, ist.
Das Register 82 erhält Daten über die Leitung 23 und eine Reihe von UNÜ-Giiedern 83 spricht auf Eingangssignal auf einer Leitung 84 an, und überträgt den Adreßteil der Daten im Register 82 zu den ODER-Gliedern 65. womit die Adresse dem Hauptspeicher 12 angeboten wird. Ferner ist eine Verriegelungsschaltung 87 vorgesehen, welche durch ein Signal SVVAnforderung auf der Leitung 74 gesetzt wird und ist ein ODER-Glied 88 vorgesehen, welches ein Eingangssignal 84 zum UND-Glied 83 liefert, wenn die Verriegelungsschaltung 87 gesetzt ist und ein Signal am Ausgang der Inverterschaltung 89 erscheint, welches anzeigt, daß das Signal SW Anforderung, welches die Verriegelungsschaltung 87 gesetzt hat, fällt. Die Verriegelungsschaltung 87 zeigt also das Auftreten einer Anforderung für ein Kanaladreßwort oder ein Kanalkommandowort an und speichert eine Anzeige dieses Auftretens bis nach Ende der Anforderung. Ferner zeigt das Ausgangssignal der Torschaltung 89 an, daß die Anforderung für das Kanaladreßwort oder das Kanalkommandowort beendet wurde und daß eine Hilfsanforderung zur Speicherstelle, welche im Adreßregister 82 definiert ist. gemacht werden kann.
Das Register 93 erhält die Kanaladresse auf der Leitung 64. Ein UND-Glied 94 liefert ein Ausgangssignal, wenn das Signal Datenanforderung auf der Leitung 77 anliegt und im Wortteil des Registers 93 lauter Einsen gespeichert sind, womit angezeigt wird, daß die letzte adressierbarc Einheit eines Blocks adressiert wird. Das Ausgangssignal des UND-Gliedes 94 setzt die Vcrriegeiungsschaltung 95. Eine Schaltung 96 erhält die Adresse im Register 93 und erzeugt auf der Leitung 97 die Adresse des nächsthöheren Blockes. Die Schaltung % besteht aus einem binären Addierer und addiert 1 zu den niederwertigen Bits der Adresse im Register 93 oder addiert 1 entsprechend zu dem niederwertigen Bit der Biockadresse und setzt den Wortteil der Adresse auf der Leitung 97 auf lauter Nullen. Ein UND-Glied 98 und eine Reihe von UND-Gliedern 99 erhalten als Eingangssignale den gesetzten Zustand der Verriegelungsschaltung 95 und das Ausgangssignal der Torschaltung 89, welches das Absinken des Signales Datenanforderung anzeigt, wonach die Adresse auf der Leitung 97 zu den ODER-Gliedern 65 und der Leitung 29 übertragen wird.
Die Arbeitsweise der oben beschriebenen Einrichtung ist also so. daß wenn eine Kanalabrufoperation für ein Steuerwort oder für die letzte adressierbare Einheit eines Blocks erfolgt, eine Adresse auf der Leitung 29 erzeugt wird und eniweder die Verricgelungsschaltung 87 oder die Verriegelungsschaltung95 gesetzt wird.
Das ODER-Glied 102 empfängt als Eingangssignal^ die Ausgänge der UND-Glieder 88 und 98 erzeugt ein Signal am Eingang 80 des ODER-Gliedes 79. Damit wird ein Hilfsanforderungssignal auf der Leitung 68 erzeugt. Die Inverterschaltung 103 erzeugt ein Nullsignal auf der Leitung 48 während der Hilfsanforderung.
Das Hilfsanforderungssignal auf der Leitung 68 bewirkt, daß der Hauptspeicher 12 durch die Adresse auf der Leitung 29 adressiert wird. Diese Adresse wird am Ausgang der Schaltung 96 oder der Tore 83 für eine Hilfsanforderung erzeugt. Bei jeder anderen Anforderung zum Hauptspeicher 12 werden die Tabellen im Verzeichnis 32 durchsucht, um herauszufinden, ob der
H) adressierbare Block sich im Pufferspeicher 14 befindet. Wenn dies der Fall ist, erzeugt das Verzeichnis 32 auf der Leitung 44 ein Auswahlsignal. Bei einem normalen Hauptspeicherzugriff spricht der Pufferspeicher auf das Auswahlsignal dadurch an, daß eine Lese- oder Schreib-
r> operation an der Stelle ausgeführt wird, welche durch die Adresse auf den Leitungen 30 und 34 definiert ist. Während der Speicheroperation erzeugt der Pufferspeicher ein Belegtsignal, welches einen Zugriff zum Puffer durch andere Einheiten verhindert. Die normale Operation wird durch das Signal auf der Leitung 48 ermöglicht, das jedoch das Auswahlsignal während einer Hilfsanforderungsopcration verhindert und damit auch verhindert, daß der Pufferspeicher einen Speicherzyklus ausführt.
Wenn sich der adressierte Block nicht im Pufferspeicher 14 befindet, findet die oben beschriebene Operation des Verzeichnisses 32 statt und es wird ein geeigneter Block aus dem Pufferspeicher 14 zu seiner Blockadresse im Großraumspeicher 17 zurückübertragen, wenn zumindest kein Block im Pufferspeicher frei ist, und es wird der gewünschte Datenblock auf die freigemachte Stelle im Pufferspeicher übertragen.
Es sind verschiedene Anordnungen in einer hierarchischen Speichereinrichtung bekannt, welche es dem Kanal oder der CPU gestatten, eine Anforderung zu einer bestimmten Speicherstelle im Hauptspeicher zu machen, während der betreffende Datenblock vom Großhauptspeicher zum Pufferspeicher übertragen wird. In der in F i g. 1 gezeigten Einrichtung übertragen das Verzeichnis 32 und die Austauscheinrichtung 35 zuerst einen Datenblock zum Pufferspeicher 14 und erzeugen dann das Auswahlsignal auf der Leitung 44, wodurch ein Zugriff zum adressierten Wort im Pufferspeicher ausgeführt werden kann. Das Signal auf der Leitung 48 verhindert also die zusätzliche Leseoperation nach einer Austauschoperation in der gleichen Weise, wie bereits für eine Hilfsanforderung, welche keine Austauschoperation erfordert, beschrieben wurde. In anderen hierarchischen Operationen kann ein Zugriff zum adressierten Wort durchgeführt werden, bevor die Blockübertragung stattgefunden hat und kann solch eine Operation dadurch verhindert werden, daß das Auswahlsignal zum Großraumspeicher 17 unterbunden wird. Diese Wirkungsweise ist aus F i g. 1 ersichtlich.
Es kann auch ein Zugriff zum adressierten Wort ausgeführt werden, wenn seine Adresse in der Übertragungssequenz der Worte des Datenblocks erscheint und es kann die Blockübertragungszeit dadurch verkürzt werden, daß ein Teil dieser Übertragungsoperation,
bo welcher nichts zur Blockübertragung beiträgt, verhindert wird.
Der Hauptspeicher 12 erzeugt verschiedene Statussignalc während eines Speicherzyklus und während einer Blockübcrtragungsinformation. Das Statussignal auf der Leitung 43 erscheint zu einer Zeit, wenn die Signale auf den Leitungen 29, 23 und 68 nicht mehr für die Hilfsanfordcrung gebraucht werden. Genauer gesagt erscheint das Auswahlsignal auf der Leitung 44 dann.
wenn das Verzeichnis 32 auf die Austauscheinrichtung 35 die entsprechende Tätigkeit beendet haben und somit ein passendes Statussignal erzeugen. Es ist ferner eine Verriegclungsschaltung 105 vorgesehen, welche durch das Ausgangssignal des ODER-Gliedes 102 zu Beginn jeder Hilfsanforderung gesetzt wird. Ein UND-Glied 107 ist mit dem Rückstelleingang der Verricgelungsschaltungen 87, 95, 105 verbunden und stellt die Verriegelungsschaltungen bei Koinzidenz des Signales Status und des gesetzten Zustandes der Verriegelungsschaltung 105 zurück.
Am Ende einer Hilfsanforderung ist die Schaltung also für eine weitere Operation bereit. Über die Verriegelungsschaltung 105 wird das Rückstellen der Verriegelungsschaltungen 87 und 95 verhindert, bis die Hilfsanforderung ausgeführt ist.
Es soll nun der Funktionsablauf des in F i g. 2 gezeigten Kanalprogrammes in der in F i g. 1 gezeigten Einrichtung beschrieben werden. Am Beginn dieser Operation erzeugt der Kanal 25 die Adresse O 5 auf der Leitung 64, und Signale auf den Leitungen 67 und 70, welche anzeigen, daß die Operation eine Anforderung für ein Steuerwort ist. Die ODER-Glieder 78 und 79 übertragen das Anforderungssignal über die Leitung 68 zum Eingang des Hauptspeichers 12 und die ODER-Glieder 65 übertragen die Adresse zum Eingang 29 des Adreßregisters 26. Ferner wird die Adresse auch in das Adreßregister 93 geladen. Da es sich bei der Operation jedoch nicht um eine Datenanforderung handelt, führt die Leitung 77 kein Signal (Nullniveau) und kann die Torschaltung 94 und die angeschlossene Schaltung keine Adresse am Eingang der ODER-Glieder 65 erzeugen. Das Signal SW Anforderung auf der Leitung 74 setzt die Verriegelungsschaltung 87. Der Komplementärwert dieses Signales am Ausgang der Inverterschaltung 89 verhindert jedoch die mit der Verriegelungsschaltung 87 verbundenen Schaltungen eine Adresse am Eingang der ODER-Glieder 65 zu erzeugen.
In Beantwortung dieser Anforderung sendet der Hauptspeicher 12 dem Kanal 25 das Kanaladreßwort 57. Dieses Wort wird auch in das Register 82 geladen, und die Adresse CA erscheint am Eingang der UND-Glieder 83. Am Ende dieser Operation verschwindet das Signal SW Anforderung auf der Leitung 74 und ein Signal erscheint am Ausgang der Inverterschaltung 89. Dieses Ausgangssignal der Schaltung 89 öffnet die Torschaltung 88. deren Ausgangssignal die Torschaltung 83 öffnet, wodurch die Adresse C4 über die ODER-Glieder 65 zum Register 26 übertragen wird. Der Ausgang des UND-Gliedes 88 wird auch über die ODER-Glieder 102 und 79 übertragen, und bildet damit das Hilfsanforderungssigr.a! auf der Leitung 86. Durch die Adresse C 4 und das Anforderungssignal wird bewirkt, daß der Block Cvom Großraumspeicher 17 zum Pufferspeicher 14 übertragen wird, wenn sich dieser Block nicht bereits im Pufferspeicher befindet Am Ende dieser Übertragungsoperation wird die Verriegelungsschaltung 87 zurückgestellt
Im nächsten Schritt dieses Programmes lädt der Kanal 25 die Adresse C4 auf die Leitung 64 und leitet damit eine normale Operation ein, während der das erste Kanalkommandowort des Kanalprogrammes geholt wird. Die oben beschriebene Operation bietet eine Gewährleistung dafür, daß sich der Block C nun tatsächlich im Pufferspeicher befindet Der Speicher 12 sendet dem Kanal 25 auf der Leitung 23 das erste Kanalkommandowort, welches, wie in F i g. 2 bei 58 gezeigt, die Adresse B 15 enthält an der eine Information für die betreffende Kanaloperation gespeichert ist. Dieses Kanalkommandowort wird in das Register 82 geladen und leitet eine Übertragungsoperation ein. während der der Block Sin den Pufferspeicher 14, wie für den Block C beschrieben, r, geladen wird.
AK i-'olge des ersten Kanalkommandowortes lädt der Kanal hierauf die Adresse B 15 auf die Leitung 64, wodurch die Information, welche in Fig. 2 bei 53 dargestellt ist, geholt wird. Der Kanal erzeugt auch ein Signal Datenanforderung auf der Leitung 77. In dem hier beschriebenen Beispiel wird nun das letzte Wort eines Blocks adressiert und damit erzeugt das UND-Glied 94 als Folge des Signales auf der Leitung 77 und dem Inhalt des Wortteiles des Registers 93 ein Signal und setzt die Verriegelungsschaltung 95. Wenn das Datenanforderungssignal fällt, erzeugen die UND-Glieder 98 und 99 ein Signal und erzeugen die nächsthöhere Adresse CO, am Eingang 29 des Adreßregisters 26. Das UND-Glied 98 erzeugt auch das Signal Anforderung auf der Leitung 68 und das Inhibier-Signal auf der Leitung 48. Als Folge dieser Signale und der Hilfsanforderung führt der Hauptspeicher 12 eine Übertragungsoperation aus und überträgt den Block Czum Pufferspeicher 14, wenn sich dieser Block nicht bereits im Pufferspeicher befindet. Die Schaltung spricht also auf eine Anforderung zum Wort 15 in der beschriebenen Weise an, da Anforderungen oft zu einer Sequenz von Wortspeicherstellen durchgeführt werden und die Wahrscheinlichkeit groß ist, daß nach einer Datenanforderung zu der Speicherstelle S15 eine Datenanforderung zur Speicherstelle Ci folgen wird. Durch das gezeigte Beispiel wird zugleich bewiesen, daß dies nicht immer der Fall ist, und daß, wie im gezeigten Beispiel, die Hilfsanforderung überflüssig sein kann.
Das Ausführungsbeispiel zeigt die vorteilhafte Verwendung des Signales auf der Leitung 48, womit alle Teile einer Speicheroperation, die nicht für eine Hilfsanforderung gebraucht werden, vermieden werden. Durch die beschriebene, überflüssige Hilfsanforderung wird also nur das Verzeichnis 32, welches mit hoher Geschwindigkeit arbeitet, sowie eventuell die Austauscheinrichtung 35 in Tätigkeit gesetzt, je nachdem, ob der überflüssigerweise verlangte Block sich bereits im Pufferspeicher befindet oder nicht.
Der Kanal holt dann das nächste Kanalkommandowort und die gezeigte Einrichtung erzeugt ein Hilfsanforderungssignal zur Speicherstelle /18. Während dieser normalen Operation holt der Kanal 25 die Daten an der Speicherstelle /8 und hierauf das nächste Kanalkommandowort. Das nächste Kanalkommandowort enthält die Adresse F12 und es wird der Block F zum Pufferspeicher 14 in einer Hilfsanforderungs-Operation übertragen. Das Kanalkommandowort, welches an der Speicherstelle F12 gespeichert ist, enthält als Adresse L 12, welche die Beginnadresse einer Gruppe von Wortspeicherstellen angibt, an denen der Kanal die Daten der Ausgabeoperation speichern soll. Diese Gruppe von Wortspeicherstellen enthält die Speicherstellen 12 bis 15 des Blockes L und die Wortspeicherstelle 0 des Blokkes M. Als Folge der Adresse L 12 im Kanalkommandowort 59 wird der Block L in den Pufferspeicher geladen, jedoch wird keine Operation bezüglich des Blockes M ausgeführt Indem der Kanal 25 die Daten in diese Speicherstelle des Puffers 14 einschreibt erzeugt er eine Sequenz von Adressen L 12 bis L 15 auf der Leitung 64. Wenn auf der Leitung 64 die Adresse L 15 erscheint, spricht die Schaltung in der bereits beschriebenen Art an und es wird eine Hilfsanforderung zur Speicherstelle
MO erzeugt, so daß der Block M in den Pufferspeicher 14 vorgeladen wird, in Erwartung der kommenden Kanalzugriffe zu diesem Block.
Zusammenfassend kann die Arbeitsweise des gezeigten Ausführungsbeispiels wie folgt beschrieben werden: Es sind Einrichtungen vorgesehen, welche es gestatten, gewisse Operationen festzustellen, welche höchstwahrscheinlich von einer Anforderung zu einer bekannten Adresse in der Speicheranordnung gefolgt werden. Wird eine solche Situation festgestellt, wird eine Hilfsanforderung zu dieser Speicherstelle durchgeführt. Die Steuerschaltungen des Speichers übertragen dann den adressierten Block vom Großraumspeichcr zum Pufferspeicher, sofern sich der Block nicht bereits im Pufferspeicher befindet. Ein großer Teil der erzeugten Hilfsanforderungen wird dabei tatsächlich von Kanaianforderungen zu derselben Speicherstelle gefolgt, wobei die tatsächliche Anforderung zu einem Zeitpunkt auftritt, welcher genügend lange nach dem Zeitpunkt der Hilfsanforderung liegt, jedoch auch wieder nicht so lange nachher, daß der betreffende Block inzwischen vielleicht zum Speicher zurückübertragen worden wäre.
Die gezeigte Einrichtung gestattet es im besonderen, Kanalanforderungen für Steuerworte festzustellen, welche Adressen von Speicherstellen enthalten können, welche der Kanal für nachfolgende Operationen benutzen soll. Zum Beispiel kann das für eine Eingabe/Ausgaueoperation nötige Kanalprogramm aus Kanalkommandoworten bestehen, welche in einem Adreßteil eine Hauptspeicheradresse angeben, welche zusätzliche Information enthält, die für die Kanaloperation benötigt wird. Während der normalen Kanaloperation holt der Kanal das nächste Kanalkommandowon und holt daraufhin das in diesem Kommandowort adressierte Wort. Die gezeigte Einrichtung erzeugt eine Hilfsanforderung zu der im Kanalkommandowort definierten Adresse und bewirkt damit eine Vorausübertragung des betreffenden Blocks vom Großraumspeicher in den Pufferspeicher. Auf ähnliche Weise wird die Adresse des ersten Kanalkommandowortes des Kanalprogrammes in einem Kanaladreßwort gespeichert. Nach der Kanaloperation, in der das Kanaladreßwort geholt wird, wird das erste Kanalkommandowort des Kanalprogrammes geholt. Hierbei wird die Adresse des Kanalkommandowortes aus dem Kanaladreßwort erhalten und wird eine Hilfsanforderung erzeugt, welche den entsprechenden Datenblock in den Pufferspeicher bringt.
Kanalzugriffe zum Hauptspeicher werden normalerweise zu aufeinanderfolgenden Speicherstellen ausgeführt. In der beschriebenen Einrichtung sind Mittel dargestellt, mit denen festgestellt werden kann, wann ein Kanalzugriff zu der letzten adressierbaren Speicherstelle eines Blocks stattfindet. Die Einrichtung inkrementiert die Blockadresse hierauf und erzeugt ein Hilfsanforderungssignal zum nächsten Block. Diese Hilfsanforderung bringt einen Datenblock in den Pufferspeicher, der wahrscheinlich im weiteren Verlauf des Kanalprogrammes adressiert wird.
Manche dieser Hilfsanforderungen können sich als überflüssig erweisen. Die Anzahl solcher unnützer Hilfsanforderungen wird jedoch klein gehalten. Zusätzlich wird durch die gezeigte Einrichtung erreicht, daß während einer Hilfsanforderung der Pufferspeicherzyklus verhindert wird, welcher die normale Operation einer Übertragung eines adressierten Blockes vom Großraumspeicher in den Pufferspeicher begleitet. Hierdurch wird von der Einrichtung erreicht, daß weniger Speicherzykluszeit zur Vorausübertragung eines adressierten Blocks benötigt wird.
Die Einrichtung kann auch in hierarchischen Speicheranordnungen verwendet werden, welche mehr als zwei Niveaus aufweisen. Hierbei kann der Kanal mit einem beliebigen höheren Niveau verbunden werden.
Hierzu 2 Blatt Zeichnungen

Claims (3)

Patentansprüche:
1. Kanalzugriffseinrichtung für Zugriffe zum Pufferspeicher eines hierarchischen Hauptspeichers mit einem Großraumspeicher und einem Pufferspeicher, wobei im Hauptspeicher zur Adressierung des Pufferspeichers ein Adressenregister mit einem Blockadressenteil und einem Wortadressenteil vorgesehen ist, dadurch gekennzeichnet, daß in der Zugriffseinrichtung (Fig. 1) ein Adressenregister (93) mit einem Blockadressenteil und einem Wortadressenteil vorgesehen ist,
daß eine logische Einrichtung (94) mit dem Wortadressenteil zur Feststellung der letzten Adresse eines Datenblockes verbunden ist,
und daß eine Einrichtung (WS) zur Erhöhung der Blockadresse um 1 vorgesehen ist, deren Ausgang (97) über ein UND-Glied (99) mit dem Blockadressenteil des Adressenregisters (26) im Hauptspeicher (12) verbunden ist, wobei der weitere Eingang des UND-Gliedes (99) mit dem Ausgang der logischen Einrichtung (94) verbunden ist und wobei dieser Ausgang außerdem dem Hauptspeicher ein Anforderungssignal (68) zur Durchführung einer Datenblockübertragung vom Großraumspeicher (17) zum Pufferspeicher (14) zuführt.
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß der Ausgang der logischen Einrichtung (94) außerdem mit einer Einrichtung (103, 45) zur Sperrung des Pufferspeichers (14) während der Datenblockübertragung verbunden ist.
3. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die logische Einrichtung aus einem UND-Glied (94) besieht.
DE2355814A 1972-12-06 1973-11-08 Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung Expired DE2355814C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US00312551A US3839704A (en) 1972-12-06 1972-12-06 Control for channel access to storage hierarchy system

Publications (2)

Publication Number Publication Date
DE2355814A1 DE2355814A1 (de) 1974-06-12
DE2355814C2 true DE2355814C2 (de) 1984-06-28

Family

ID=23211983

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2355814A Expired DE2355814C2 (de) 1972-12-06 1973-11-08 Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung

Country Status (6)

Country Link
US (1) US3839704A (de)
JP (1) JPS5317457B2 (de)
DE (1) DE2355814C2 (de)
FR (1) FR2212959A5 (de)
GB (1) GB1400353A (de)
IT (1) IT1001595B (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5816263B2 (ja) * 1975-11-28 1983-03-30 株式会社日立製作所 ジヨウホウシヨリソウチ
DE2853501A1 (de) * 1978-12-12 1980-06-26 Ibm Deutschland Speicherhierarchie mit ladungsverschiebungsspeicher
US4442488A (en) * 1980-05-05 1984-04-10 Floating Point Systems, Inc. Instruction cache memory system
US4571674A (en) * 1982-09-27 1986-02-18 International Business Machines Corporation Peripheral storage system having multiple data transfer rates
US11307773B1 (en) 2018-05-02 2022-04-19 Innovium, Inc. Memory-based power stabilization in a network device

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3533075A (en) * 1967-10-19 1970-10-06 Ibm Dynamic address translation unit with look-ahead
US3569938A (en) * 1967-12-20 1971-03-09 Ibm Storage manager
US3588829A (en) * 1968-11-14 1971-06-28 Ibm Integrated memory system with block transfer to a buffer store
US3670309A (en) * 1969-12-23 1972-06-13 Ibm Storage control system
US3647348A (en) * 1970-01-19 1972-03-07 Fairchild Camera Instr Co Hardware-oriented paging control system
CA954232A (en) * 1970-06-15 1974-09-03 International Business Machines Corporation Channel-memory bus control
FR10582E (fr) * 1970-06-29 1909-07-30 Paul Alexis Victor Lerolle Jeu de serrures avec passe-partout
US3693165A (en) * 1971-06-29 1972-09-19 Ibm Parallel addressing of a storage hierarchy in a data processing system using virtual addressing

Also Published As

Publication number Publication date
US3839704A (en) 1974-10-01
JPS5317457B2 (de) 1978-06-08
FR2212959A5 (de) 1974-07-26
IT1001595B (it) 1976-04-30
GB1400353A (en) 1975-07-16
JPS4989448A (de) 1974-08-27
DE2355814A1 (de) 1974-06-12

Similar Documents

Publication Publication Date Title
DE2241257C3 (de) Datenverarbeitende Anlage
DE1951552C3 (de) Speichereinrichtung mit Sicherung durch Schutzschlüssel
DE2415900C3 (de) Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen
DE1956604C3 (de) Datenverarbeitungsanlage
DE2515696C2 (de) Datenverarbeitungssystem
DE3151745C2 (de)
DE3932474C2 (de) Plattenzugriff-Steuerverfahren
DE2717702C2 (de) Speicher-Zugriff-Steuersystem
DE2154106A1 (de) Arbeitsspeicherwerk
DE2523414A1 (de) Hierarchische speicheranordnung
DE2617408B2 (de) Speichermodul für ein Datenverarbeitungsgerät mit Speicherhierarchie
EP0046976A2 (de) Halbleiterspeicher aus Speicherbausteinen mit redundanten Speicherbereichen
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE1524788A1 (de) Schaltungsanordnung zur Erkennung und zum automatischen Ersetzen von schadhaften Speicherstellen in Datenspeichern
DE2355814C2 (de) Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung
EP0009625B1 (de) Datentransferschalter mit assoziativer Adressauswahl in einem virtuellen Speicher
DE1774211C3 (de) Datenspeicheranordnung für ein Datenverarbeitungssystem
DE2605617A1 (de) Schaltungsanordnung zum adressieren von daten
DE2004934A1 (de)
DE1449816C3 (de) Schaltungsanordnung zur Steuerung des Zugriffs zu einem Magnettrommelspeicher
DE2854286A1 (de) Schaltungsanordnung mit einem befehlspuffer fuer eine cachespeichereinheit eines datenverarbeitungssystems
DE2505518C2 (de)
DE2927451A1 (de) Verfahren und vorrichtung zur gewaehrleistung der informationskohaerenz zwischen den vorspeichern und weiteren speichern eines informationsverarbeitungssystems mit mehrfachverarbeitung
DE3016269C2 (de)
EP0075715B1 (de) Cachespeicher und Verfahren zu seinem Betrieb

Legal Events

Date Code Title Description
OD Request for examination
8181 Inventor (new situation)

Free format text: SPENCER, DANA ROYCE, WAPPINGER FALLS, N.Y., US

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee