DE2355814A1 - Kanalzugriffseinrichtung fuer eine hierarchische speicheranordnung - Google Patents

Kanalzugriffseinrichtung fuer eine hierarchische speicheranordnung

Info

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
Application number
DE19732355814
Other languages
English (en)
Other versions
DE2355814C2 (de
Inventor
Dana Royce 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

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
Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung
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)

  1. - ie - 23558U
    PATENTANSPRÜCHE
    Kanalzugriffseinrichtung 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. 2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß Einrichtungen (74, 77) vorgesehen sind, welche Kanalanforderungen für Steuerworte und für Daten anzeigen.
  3. 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. 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. 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. 6. Einrichtung nach Anspruch 5, mit einem Kanalprogramm, welches durch ein Kanaladreßwort eingeleitet wird, und
    po 972 on AO 982 4/069 9
    ~-15~ 23558U
    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 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/0699
    972 011
    - 14 - iJMtS Ϊ4
    sä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/0699
    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 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 9
    23B58U
    - 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 auch
    po 972 on 40 98 2 4/069 9
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 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)

* 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

Citations (2)

* Cited by examiner, † Cited by third party
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)

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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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