DE2355814A1 - Kanalzugriffseinrichtung fuer eine hierarchische speicheranordnung - Google Patents
Kanalzugriffseinrichtung fuer eine hierarchische speicheranordnungInfo
- Publication number
- DE2355814A1 DE2355814A1 DE19732355814 DE2355814A DE2355814A1 DE 2355814 A1 DE2355814 A1 DE 2355814A1 DE 19732355814 DE19732355814 DE 19732355814 DE 2355814 A DE2355814 A DE 2355814A DE 2355814 A1 DE2355814 A1 DE 2355814A1
- Authority
- DE
- Germany
- Prior art keywords
- channel
- address
- block
- memory
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6028—Prefetching 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
23558H
Böbliiigen, den 6. November 1973
lw-sn
Anmelderin: International Business Machines
Corporation, Armonk, N.Y. 10504
Amtliches Aktenzeichen: Neuanmeldung Aktenzeichen der Anmelderin: PO 972 011
Die Erfindung betrifft eine Kanalzugriffseinrichtung für eine
hierarchische Speicheranordnung.
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 und
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 meist eine hohe Anzahl von Speicherzugriffen zu
einem kleinen Teil der Speicherstellen ausgeführt, so daß sich eine hohe Anzahl von Pufferspeicherzugriffen und eine geringe Anzahl
von Zugriffen zu Speicherstellen im Großraumspeicher, ergeben. Im Zusammenhang damit ergibt sich dann auch eine nur geringe Anzahl
von Übertragungen von Datenblocks zwischen den beiden Speichern.
Eine solche hierarchische Speicheranordnung muß auch für Zugriffe
von einer Kanaleinrichtung aus geeignet sein. Eine solche Kanaleinrichtung,
oder auch kurz Kanal genannt, enthält Speichereiri-
409824/0699
23558U
richtungen und logische Schaltungen und führt Datenübertragungen zwischen dem Hauptspeicher der Datenverarbeitungsanlage und
peripheren Anschlußeinheiten, wie Platte oder Band, aus. Bei Verwendung einer hierarchischen Speicheranordnung, ist.es
wünschenswert, die Datenübertragung zwischen dem Kanal und dem Pufferspeicher auszuführen und nicht zwischen dem Kanal und dem
zentralen Großraumspeicher. Wenn jedoch Anschlußeinheiten mit mechanischen Einrichtungen, wie z.B. Platten- oder Bandspeicher,
verwendet werden, muß die Speicheranordnung für den Kanal zur Verfugung stehen, wenn die periphere Einheit bereit ist, einen
Lese- oder Schreibvorgang auszuführen= Kann^die Speicheranordnung
nicht der Anschlußeinheit zur Verfügung gestellt werden, tritt eine nachteilige Situation auf, welche mit "überlauf" bezeichnet
wird.
Es ist Aufgabe der Erfindung, den Zeitaufwand für Kanalzugriffe zu verringern.
Diese Aufgabe wird durch die im Kennzeichen des Hauptanspruches',
beschriebene Einrichtung gelöst=,
Die Erfindung hat den Vorteil, daß weniger Zykluszeit des Hauptspeichers
für die Übertragung von Datenblöcken benötigt wird.
Ein Ausführungsbeispiel der Erfindung soll nun anhand von Figuren
beschrieben werden. Es zeigen:
Fig. 1 eine Datenverarbeitungsanlage mit einer Kanaleinrichtung, einem Hauptspeicher und Schnittstelleneinrichtungen
, und
Fig. 2 die Anordnung von Daten in einem Großraumspeicher,
wie sie in der in Fig. 1 gezeigten Einrichtung Verwendung findet.
Fig. 1 zeigt einen Hauptspeicher 12 mit einem Pufferspeicher 14 und
po 972 on 409824/0699
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. Pur
den Speicher 12 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 Speieher 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 17 und der Wortteil im. Adreßregister 26 gilt sowohl für den Speicher 14 als auch für den Speicher 17» Der Wortteil
des Adreßregisters 26 wird den Pufferspeicher-Adreßschaltungen direkt auf der Leitung 30 zugeführt. Im Pufferspeicher
14 werden weniger Datenblocks als im Großraumspeicher 17 gespeichert und einem Datenblock wird eine neue Blockadresse zugeteilt,
wenn dieser Block vom Speicher 17 in den Speicher 14 über-'tragen wird. Für jeden Datenblock im Pufferspeicher 14 wird in
einem Verzeichnis 32 die Blockadresse gespeichert, welche die Lage des Blocks im Großraumspeicher 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 nicht 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
liefert die Adressen zum Pufferspeicher 14 auf einer Leitung 41
po 972 on 409824/0699'
23558U
und gibt damit die Speicherstelle des Datenblocks an, der ersetzt werden soll und liefert ferner 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 Speieheranordnungen gebräuchlich. Zusätzlich
zu diesen Einrichtungen liefert das Verzeichnis 32 ein Auswahlsignal auf der Leitung 44, welches den Pufferspeicher 14 veranlaßt,
auf 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.
Fig. 2 zeigt die Anordnung von Daten im Großraumspeicher 17 für eine typische Kanaloperation. In Fig. 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 0, C, F und
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 Block-
40-9824/0699
PO 972 Oll
teil 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
angegeben ist. Hierbei kann das Wort aus verschiedenen Bytes zusammengesetzt
sein und kann durch den Pufferspeicher 14 auch die Adressierung eines einzelnen Bytes vorgesehen werden.
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 Fig. 2 ist in den Anordnungen 58 und 59 ein Kanalprogramm dargestellt,
welches in den Speicherstellen 4, 5 und 6 im Block C und an der Speicherstelle 12 im Block F gespeichert ist. Ein Kanaladreßwort
wird an einer bestimmten Stelle, welche im vorliegenden Beispiel willkürlich mit 05 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 SpeiehersteIlen 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 Fig. 1 und in Fig* 2 dargestellten
Großraumspeicher 17 zum Pufferspeicher 14 übertragen, wenn der Dateninhalt dieses Blocks von der CPU verarbeitet werden
sollen. ·
Zu Beginn der in Fig. 2 dargestellten Operation holt der Kanal das
Kanaladreßwort von der Adresse 05. Die Bitpositionen 8 bis 31 des
Kanaladreßwortes enthalten die Adresse C4 des ersten Kanalkömmandowortes
des Kanalprogramms. Die Bits 0 bis 7 des Kanalkommandowortes geben die Operation an, welche der Kanal ausführen soll und welche
972 on 409824/08
im vorliegenden Beispiel eine Aufsuch-Operation ist, z.B. das
Aufsuchen einer Datenspur auf einer Platte. Die Bitpositionen 8 bis 31 enthalten eine Adresse, B15, an der Informationen gespeichert
sind, welche während der Aufsuchoperation benötigt werden. Der Kanal erzeugt dann eine Speicheranforderung, um die
Speicherstelle 15 des Blocks B auszulesen. Das nächste Kanalkommandowort, "Suchen", enthält eine Adrese 18, welche die Speicherbitstelle
angibt, an der Information gespeichert ist, welche die Suchoperation steuert. Das nächste Kanalkommandowort 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 Leseoperation ein, wobei sein Adreßteil eine Serie von Adressen bezeichnet, welche an der Stelle
L12 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 Fig. 1 gezeigten Einrichtung erzeugt der Kanal 25 eine Multibitadresse auf der Leitung 64, welche durch eine Reihe von
Torschaltungen, welche in Fig. 1 durch ein ODER-Glied dargestellt
ist, übertragen wird, und sodann das Adreßsignal auf der Leitung 29 darstellt. Der Kanal 25 erzeugt auch das gebräuchliche
Anforderungssignal auf der Leitung 67, welches über Torschaltungen
auf eine Leitung 68 übertragen wird und eine Leseoder 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 Kanalkommandowort erfolgt. Ein UND-Glied 72 erzeugt aus den Signalen auf den Leitungen 67 und
po 972 on 4098 24/089 9
ein Signal "CW ANF" (Steuerwort-Anforderung) auf der Leitung 74.
Ein UND-Glied -75 erzeugt aus den Signalen auf den Leitungen 67 und
71 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 Fig. 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 UND-Gliedern 83 spricht auf Eingangssignale 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 CW Anforderung 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 CW 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 Hilfsanforäerung
•zur Speieherstelle, 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
po 972 on 409824/0699
letzte adressierbare Einheit eines Blocks adressiert wird. Das Ausgangssignal
des UND-Gliedes 94 setzt die Verriegelungsschaltung 95,
Eine Schaltung 96 erhält die Adresse im Register 9 3 und erzeugt auf der Leitung 97 die Adresse des nächsthöheren Blockes. Die
Schaltung 96 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 Blockadresse und setzt den Wortteil der Adresse auf der Leitung 9 7 auf lauter
Nullen. Ein UND-Glied 98 und eine Reihe von UND-Gliedern 9 9 erhalten als Eingangssignale den gesetzten Zustand der Verriegelungsschaltung 95 und das Äusgangssignal 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 entweder die Verriegelungsschaltung
87 oder die Verriegelungsschaltung 95 gesetzt wird.
Das ODER-Glied 102 empfängt als Eingangssignale die Ausgänge der
UND-Glieder 88 und 98 und 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 HiIfsanforderung.
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 adressierte 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
po 972 011 4098 24/0699
23558U
Auswahlsignal dadurch an, daß eine Lese- oder Schreiboperation 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 Hilfsanforderungsoperation verhindert und damit auch verhindert, daß der Pufferspeicher
einen Speieherzyklus 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 Fig.
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 HiIfsanforderung, 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 inhibiert wird. Diese Wirkungsweise ist aus Fig. 1 ersichtlich.
409824/0699 PO 972 011
- 17 - 235S814
aus Kanalkommandoworten besteht, dadurch gejcennzeichnet,
daß nach Ausführung des Kanaladreßwortes eine Hilfsanforderung zum ersten Kanalkommandowort ausgeführt wird.
PO 972 on 409824/0699
Claims (6)
- - ie - 23558UPATENTANSPRÜCHEKanalzugriffseinrichtung für eine hierarchische Speicheranordnung mit mindestens einem Großraumspeicher und einem Pufferspeicher,gekennzeichnet durch Einrichtungen (93, 94) zur Feststellung der letzten adressierbaren Speicherstelle eines Blocks,durch Einrichtungen (96) zur Erzeugung der nächsthöheren Blockadresse,sowie durch Einrichtungen (95, 98, 99, 65, 26) zur Durchführung einer Hilfsanforderung zu diesem nächsten Block im Hauptspeicher (12) und zur übertragung dieses Blocks in den Pufferspeicher (14).
- 2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß Einrichtungen (74, 77) vorgesehen sind, welche Kanalanforderungen für Steuerworte und für Daten anzeigen.
- 3. Einrichtung nach Anspruch 1, dadurchgekennzeichnet, daß bei einer übertragung eines Datenblocks aufgrund einer Hilfsanforderung Zugriffe für Daten zum Pufferspeicher nicht ausgeführt werden.
- 4„ Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß Hilfsanforderungen sowohl als Folge von Kanalkommandoworten eines Kanalprogrammes als auch als Folge von Datenanforderungen des Kanals ausgeführt werden. :
- 5. Einrichtung nach Anspruch 4, dadurch gekennzeichnet, daß bei Hilfsanforderungen als Folge von Kanalkommandoworten die Adreßteile der Kommandoworte in das Hauptspeicheradreßregister übertragen werden.
- 6. Einrichtung nach Anspruch 5, mit einem Kanalprogramm, welches durch ein Kanaladreßwort eingeleitet wird, undpo 972 on AO 982 4/069 9~-15~ 23558UManche 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 r 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.409 82A/0699972 011- 14 - iJMtS Ϊ4sä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/Ausgabeoperation 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 Kanalkommandowort 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ßraumspeieher 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.p0 972 011 409824/0699Der 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 18 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 SpeiehersteHe F12 gespeichert ist, enthält als Adresse L12, 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 Blockes M. Als Folge der Adresse L12 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 Ll2 bis L15 auf der Leitung 64. Wenn auf der Leitung 64 die Adresse L15 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ührungsbeispieles 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 HiIfsanforderung zu dieser Speicherstelle durchgeführt. Die Steuerschaltungen des Speichers übertragen dann den adressierten Block vom Großraumspeicher zum Pufferspeicher, sofern sich der Block nicht bereits im Pufferspeicher befindet. Ein großer Teil der erzeugten Hilfsanforderungen wird dabei tatsächlich von Kanalänforderungen zu derselben SpeichersteHe gefolgt, wobei die tat-po 972 on 409824 /0699- 12 -Übertragungsoperation ein, während der der Block B in den Pufferspeicher 14, wie für den Block C beschrieben, geladen wird.Als Folge des ersten Kanalkommandowortes lädt der Kanal hierauf die Adresse B15 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 erzeugt damit 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 C zum 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 B15 eine Datenanforderung zur Speicherstelle Cl folgen wird. Durch das gezeigte Beispiel wird zugleich bewiesen, daß dies nicht immer der Fall ist, und daß, wie im gezeigten Beispiel, die HiIfsanforderung ü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 Hilf sandförderung 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.po 972 on 409624/06 9 923B58U- 11 -in das Adreßregister 9 3 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 CW 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 C4 erscheint am Eingang der UND-Glieder 83. Am Ende dieser Operation verschwindet das Signal CW 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 wird auch über die ODER-Glieder 102 und 79 übertragen, und bildet damit das Hilfsanforderungssignal auf der Leitung 86. Durch die Adresse C4 und das Anforderungssignal wird bewirkt, daß der Block C vom 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 ladet 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 Fig. 2 bei 58 gezeigt, die Adresse B15 enthält, an der eine Information für die betreffende Kanaloperation gespeichert ist. Dieses Kanalkommandowort wird in das Register 82 geladen und leitet eine PO 972 on 409824/0699- 10 -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, welcher nichts zur Blockübertragung beiträgt, verhindert wird«Der Hauptspeicher 12 erzeugt verschiedene Statussignale während eines Speicherzyklus und während einer Blockübertragungsinformation ο Das Statussignal auf der Leitung 43 erscheint zu einer Zeit, wenn die Signale auf den Leitungen 29, 23 und 6.8 nicht mehr für die Hilfsanforderung gebraucht werden. Genauer gesagt erscheint das Auswahlsignal auf der Leitung 44 dann, wenn das Verzeichnis 32 und die Austauscheinrichtung 35 die entsprechende Tätigkeit beendet haben und somit ein passendes Statussignal erzeugen. Es ist ferner eine Verriegelungsschaltung 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 Verriegelungsschaltungen 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 Hilf sanf orderung ausgeführt ist.,Es soll nun der Funktionsablauf des in Fig. 2 gezeigten Kanalprogrammes in der in Fig. 1 gezeigten Einrichtung beschrieben werden. Am Beginn dieser Operation erzeugt der Kanal 25 die Adresse 05 auf der Leitung 64, und Signale auf den Leitungen 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 auchpo 972 on 40 98 2 4/069 9
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 true DE2355814A1 (de) | 1974-06-12 |
DE2355814C2 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)
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 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2129268A1 (de) * | 1970-06-15 | 1971-12-30 | Ibm | Steuerschaltung für Kanalanforderungen |
DE1956604B2 (de) * | 1968-11-14 | 1973-10-04 | International Business Machines Corp., Armonk, N.Y. (V.St.A.) | Datenverarbeitungsanlage |
Family Cites Families (6)
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 |
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 |
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 |
-
1972
- 1972-12-06 US US00312551A patent/US3839704A/en not_active Expired - Lifetime
-
1973
- 1973-10-04 GB GB4630873A patent/GB1400353A/en not_active Expired
- 1973-10-17 IT IT30207/73A patent/IT1001595B/it active
- 1973-10-29 FR FR7339436A patent/FR2212959A5/fr not_active Expired
- 1973-11-06 JP JP12410173A patent/JPS5317457B2/ja not_active Expired
- 1973-11-08 DE DE2355814A patent/DE2355814C2/de not_active Expired
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1956604B2 (de) * | 1968-11-14 | 1973-10-04 | International Business Machines Corp., Armonk, N.Y. (V.St.A.) | Datenverarbeitungsanlage |
DE2129268A1 (de) * | 1970-06-15 | 1971-12-30 | Ibm | Steuerschaltung für Kanalanforderungen |
Also Published As
Publication number | Publication date |
---|---|
US3839704A (en) | 1974-10-01 |
FR2212959A5 (de) | 1974-07-26 |
JPS5317457B2 (de) | 1978-06-08 |
DE2355814C2 (de) | 1984-06-28 |
JPS4989448A (de) | 1974-08-27 |
IT1001595B (it) | 1976-04-30 |
GB1400353A (en) | 1975-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3151745C2 (de) | ||
DE3588009T2 (de) | Vorrichtung und Verfahren zum Rekonfigurieren eines Speichers in einer Datenverarbeitungsanordnung. | |
EP0013737B1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2415900C3 (de) | Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen | |
DE3131341C2 (de) | ||
DE2241257C3 (de) | Datenverarbeitende Anlage | |
DE3724317C2 (de) | ||
DE2630323A1 (de) | Datenspeichereinrichtung | |
DE2523414A1 (de) | Hierarchische speicheranordnung | |
DE1956604A1 (de) | Datenverarbeitungsanlage mit einem Speichersystem | |
DE10219623A1 (de) | System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE2856680A1 (de) | Befehlspuffer fuer ein datenverarbeitungssystem | |
DE69030072T2 (de) | Schneller Durchschreib-Cache-Speicher | |
DE3750175T2 (de) | Mikroprozessor mit einem Cache-Speicher. | |
DE2617485B2 (de) | Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen | |
DE69227267T2 (de) | Datencache-Speicher und Verfahren zur Speicherfehlerbehandlung während Zurückschreiben | |
DE2355814C2 (de) | Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung | |
DE69427454T2 (de) | Verfahren zur verwaltung von speichern eines rechnersystems sowie rechnersystem und speicher zur durchführung des verfahrens | |
DE4227784A1 (de) | Rechnersystem und verfahren zum beheben eines seitenfehlers | |
DE3931505C2 (de) | Speichersteuerung in einer Datenverarbeitungsanlage | |
DE69030368T2 (de) | Tandem-Cache-Speicher | |
DE2331394B1 (de) | Datenverarbeitungsanlage mit virtueller adressierung | |
DE3121710C2 (de) | Steuereinrichtung für einen virtuellen Speicher in einer Datenverarbeitungsanlage | |
DE2605617A1 (de) | Schaltungsanordnung zum adressieren von daten |
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 |