DE2314070C3 - Verfahren und Schaltungsanordnung zum Erstellen der Einträge eines Kettungslistenspeichers in einem Verfahren und einer Schaltungsanordnung zum Durchfuhren von sequentiell ablaufenden Eingabe-/Ausgabeoperationen bei einer mit virtueller Adressierung arbeitenden Datenverarbeitungsanlage - Google Patents
Verfahren und Schaltungsanordnung zum Erstellen der Einträge eines Kettungslistenspeichers in einem Verfahren und einer Schaltungsanordnung zum Durchfuhren von sequentiell ablaufenden Eingabe-/Ausgabeoperationen bei einer mit virtueller Adressierung arbeitenden DatenverarbeitungsanlageInfo
- Publication number
- DE2314070C3 DE2314070C3 DE19732314070 DE2314070A DE2314070C3 DE 2314070 C3 DE2314070 C3 DE 2314070C3 DE 19732314070 DE19732314070 DE 19732314070 DE 2314070 A DE2314070 A DE 2314070A DE 2314070 C3 DE2314070 C3 DE 2314070C3
- Authority
- DE
- Germany
- Prior art keywords
- memory
- page number
- address
- linked list
- physical
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- 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/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
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)
- Bus Control (AREA)
Description
Die Schaltungsanordnung zur Durchführung des neuen Verfahrens gemäß der Erfindung ist dadurch
gekennzeichnet, daß dem die Seitentafel enthaltenden Adreßübersetzungs-Speicher als Auswahlanordnung
ein erster Decodierer zugeordnet ist, dessen Eingänge an ein Übersetzungstafel-Basisregister und wahlweise
entweder zum Auswählen des vorhergehenden Seitentafeleintfages Über einen »1 «-Addierer an ein erstes Arbeitsregister angeschlossen sind, in dem die jeweils laufende virtuelle Seitennummer gespeichert ist,
daß einem Kettungslisten-Speicher als Auswahlanordnung ein zweiter Decodierer zugeordnet ist, dessen
Eingänge an ein Kettungslisten-Basisregister und wahlweise entweder zum Auswählen des vorhergehenden Kettungslisteneintrages an die Informationsausgänge des Adreßübersetzungs-Speichers oder zum
Auswählen des laufenden Kettungslisteneintrages an die Ausgänge eines rweiten Arbeitsregisters angeschlossen sind, in dem die der laufenden virtuellen
Seitennummer zugeordnete physikalische Seitennummer gespeichert ist, und daß die Ausgänge des
zweiten Arbeitsregisters zum Zeitpunkt der Auswahl des laufenden Seitentafeleintrages mit den Informationseingängen des Adreßübersetzungs-Speichers und
zum Zeitpunkt der Auswahl des vorhergehenden Kettungslisteneintrages mit den Informationseingängen
des Kettungslisten-Speichers verbunden sind, die ihrerseits zum Zeitpunkt der Auswahl des laufenden
Kettungslisteneintrages an die Informationsausgänge des Adreßübersetzungs-Speichers angeschlossen sind,
in dem zu diesem Zeitpunkt der der vorangehenden virtuellen Seitennummer zugeordnete Seitentafeleintrag ausgewählt ist.
Die neue Schaltungsanordnung benötigt somit nur einige wenige Bausteine, die aber entsprechend den
einzelnen Phasen der Präparierung der Kettungsliste in unterschiedlicher Weise zusammenarbeiten.
Ein Ausführungsbeispiel der Erfindung wird im folgenden an Hand der Zeichnunger näher erläutert.
Es zeigen
schaltbild einer Schaltungsanordnung zum Präparieren der Einträge im Kettungslisten-Speicher in zwei
nacheinander ablaufenden Phasen, und
Fig. 3 zur Erläuterung der Wirkungsweise der in Fig. 1 und 2 dargestellten Schaltungsanordnung ein
auf die wesentlichen Verfahrensschritte bei der Präparierung des Kettungslisten-Speichers reduziertes
Ablaufschema.
Bevor im folgenden das Ausführungsbeispiel näher beschrieben wird, sei zunächst kurz darauf hingewiesen, daß die beiden in Fig. 1 und Fig. 2 dargestellten
Schaltungsanordnungen im Grunde lediglich zwei verschiedene Darstellungen ein und derselben Schaltungsanordnung sind. Wie im folgenden deutlich werden wird, hat diese Darstellung den Vorteil, daß in
den auf die wesentlichen Merkmale reduzierten Blockschaltbildern auch die Funktion deutlicher erkennbar wird. Wegen dieser Besonderheit sollen
die beiden in den Fig. 1 und 2 dargestellten Schaltungsanordnungen auch gemeinsam beschrieben werden.
Beide Figuren enthalten einen Adreßübersetzungs-Speicher AUT. In diesem ist eine Seitentafel
mit einer Reihe von virtuellen Seitennummern zeilenweise aufgelistet. Die Eintragszeilen sind in konsekutiver Folge jeweils einer virtuellen Seitennummer
VSN zugeordnet. Die virtuellen Seitennummern bilden daher einen Teil der Adresse für eine Eintragszeile des Adreßübersetzungs-Speichers A UT. Diese
Seitentafeln sind benutzerindividuell, da jeder Benut-
zer einer virtuell adressierenden Datenverarbeitungsanlage von einem eigenen virtuellen Speicher ausgeht.
Daher müssen solche Seitentafeln auch bei der Präparierung eines jeden Benutzerprogramms entweder
neu eingeführt oder geändert werden.
ίο DafUr ist dem Adreßübersetzungs-Speicher AUT
eine Auswahleinrichtung, def erste Decodierer DECi, zugeordnet. Zur Präparierung eines Benutzerprogramms werden die Seitennummern VSN der
dabei verwendeten virtuellen Speicherseiten nachein-
i) ander in einem ersten allgemeinen Arbeitsregister
GPRl gespeichert, dessen Ausgänge mit einem ersten Decodierer DECi parallel über ein Leitungsvielfach
verbunden sind. Dieses Leitungsvielfach ist wie andere in den SuiiaiiuiigSdiiurdrrüngen dargestellte Lei
tungsvielfache aufgespalten dargestellt, um die Zusammensetzung der benötigten Speicheradressen bzw.
den Datenfluß deutlicher werden zu lassen.
Da der Adreßübersetzungs-Speicher AUT ein Teil des physikalischen Arbeitsspeichers ist, genügt die im
gewählten Beispiel 12stellige virtuelle Seitennummer
VNN allein nicht, um eine Eintragszeile des Adreßübersetzungs-Speichers AUT auszuwählen. Aus diesem Grvwide ist ein weiteres Register, das sogenannte
Übersetzungstafel-Basisregister UBR vorgesehen.
jo Dieses Register enthält eine 12stellige Fußpunktadresse des Adreßübersetzungs-Speichers AUT.
Seine Ausgänge sind ebenfalls parallel mit dem ersten Decodierer DECl verbunden.
sehen das erste Arbeitsregister GPRl und den ersten
Decodierer DECl zusätzlich noch ein Addierer ADD eingeschaltet. Wie in der Zeichnung angedeutet, vermindert dieser Addierer ,4DD die in dem ersten Arbeitsregister GPRl enthaltene virtuelle Seitennum-
mer VSN um den Wert »1«, d. h. daß in diesem Falle
mit dieser Adresse über den ersten Decodierer DECl eine Eintraeszeile im Adreßübersetzungs-Speicher
AUT auswählbar ist, die der im Laufe der Präparierung vorhergegangenen virtuellen Seitennummer
Beide Schaltungsanordnungen gemäß Fig. 1 und Fig. 2 enthalten weiterhin einen Kettungslisten-Speicher KSP, dem als Auswahlanordnung ein weiterer
Decodierer DEC2 zugeordnet ist. An diesen ist ein
dem Übersetzungstafel-Basisregister UBR vergleichbares Kettungslisten-Basisregister KBR überei-τ Leitungsvielfach angeschlossen. Dieses Register enthält
die Fußpunktadresse für den Kettungslisten-Speicher KSP, die in diesem Beispiel ebenfalls durch eine
12stellige Binärziffer ausgedruckt ist. Weiterhin ist ein
zweites allgemeines Arbeitsregister GPR2 vorgesehen, in dem jeweils eine physikalische Seitennummer
PSN gespeichert ist, die von der Speicherverwaltung — als einem Teil des Betriebssystems der datenverar
beitenden Anlage - derjenigen virtuellen Seitennum
mer VSN zugeordnet wird, die gerade in dem ersten Arbeitsregister GPRl gespeichert ist.
In dem weiteren Verbindungsaufbau unterscheiden sich nun die beiden Schaltungsanordnungen nach
Fig. 1 bzw. Fig. 2. Wie bereits oben angedeutet, ist in Fig. i der Verbindungsaufbau der Schaltangsanordnung für eine Phase während der Präparierung der
Kettungslisten dargestellt, in der im Adreßüberset-
zungs-Speicher AUT eine Eintragszeile ausgewählt ist, die der im Ablauf der Präparierung vorangegangenen
virtuellen Seitennummer VSNv zugeordnet ist. Aus dieser Eintragszeile ist dann eine physikalische
Seitennummer PSNx auslesbaf, die die reelle Über- s
setzung der im Programmablauf vorangegangenen visuellen Speieherseite VSNv bedeutet. Setzt man
diese vorangehende physikalische Seitennummer PSNx mit der im Kettungslisten-Basisregister KBR
enthaltenen Fußpunktadresse für dien Kettutigsllsten-Speicher
KSP zu einer Adresse KZA für eine Eintragszeile im Kettungslisten-Speicher KSP zusammen,
dann ist damit eine Eintragszeile des Kettungslisten-Speichers adressierbar, die der im Programmablauf
vorhergehenden physikalischen Seitennummer PSN zugeordnet ist. Nach dem Aufbau
des Kettungslisten-Speichers bzw. der Zusammenset-
tennummer der im Programmablauf folgenden physikalischen Speicherseite einzutragen. Diese ist derzeit
im zweiten allgemeinen Arbeitsregister GPRl gespeichert. Bei der in Fig. 1 dargestellten Anordnung
sind daher die parallelen Ausgänge des zweiten Arbeitsregisters GPRl mit Informationseingängen des
Kettungslisten-Speichers verbunden, so daß in den Kettungslisten-Speicher KSP eine Folgeseitennummer
einspeicherbar ist.
In Fig. 2 ist die bei der Präparierung der Einträge in den Kettungslisten-Speicher folgende Phase darges"
^Ht. Die parallelen Ausgänge des zweiten Arbeitsregisters
GPRl sind gemeinsam mit den Ausgängen des Kettungslisten-Basisregisters KBR an den zweiten
Decodierer DECl geführt. Damit ist im Kettungslisten-Speicher
KSP eine Eintragszeile adressierbar, die der gegenwärtig im zweiten Arbeitsregister GPRl
gespeicherten physikalischen Seitennummer PSN zugeordnet ist. In diese Eintragszeile muß nun nach dem
organisatorischen Aufbau des Kettungslisten-Speichers KSP die im Programmablauf vorhergehende
physikalische Seitennummer PSNx abgelegt werden. Die Informationseingänge des Kettungslisten-Speicners
KSP sind daher, wie in Mg. 2 angedeutet, in
diesem Fall mit dem an den Adreßübersetzungs-Speicher AUT angeschlossenen Leitungsvielfach verbunden.
Da weiterhin in Fig. 2 durch den Inhalt des Übersetzungstafel-Basisregisters
UBR und des ersten Arbeitsregisters GPRl die Adresse einer Eintragszeile
des Adreßübersetzungs-Speichers AUT auswählbar ist, die der gegenwärtig zu übersetzenden virtuellen
Seitennummer VSN zugeordnet ist, sind die Ausgänge des zweiten Arbeitsregisters GPR auch mit Informationseingängen
des Adreßübersetzungs-Speichers A UT verbunden. Damit kann in der ausgewählten
Eintragszeile dieses Speichers die laufende physikalisehe
Seitennummer PSN abgelegt werden.
Vorstehende Erläuterungen haben wohl gezeigt, daß in den einzelnen Phasen der Präparierung der
Kettungsliste immer wieder dieselben Bausteine, wenn auch in anderer Konfiguration, verwendet werden.
Dem Fachmann ist klar, daß sich derartige Umschaltungen
des Verbindungsaufbaus durch elektronische Schalter verwirklichen lassen, die allseits
bekannt und daher hier in die Darstellung der Schaltungsanordnung nicht eingefügt sind. Es sei hier nur
kurz darauf hingewiesen, daß mit entsprechenden Takten und z. B. einfachen UND-Schaltungen die
einzelnen Leitungsvielfache derart umschaltbar ausgelegt werden können, daß sie entsprechend der fester
Folge der Präparierungsphasen durehgeschaltet werden.
Die Wirkungsweise der erläuterten Schaltungsanordnung soll im folgenden zusammengefaßt an Hanc
des in Fig. 3 dargestellten Ablauf Schemas erläuter werden. In seiner äußeren form und auch in der Sym
bolik entspricht dieses Ablaufschema eitler Darstel lung, die sonst üblicherweise für Programmabläufe
verwendet wird. Wegen ihrer Einprägsamkeit und dei allen Fachleuten auf dem Gebiet der Datenverarbeitung
geläufigen Darstellungsweise sei sie jedoch aucl· hier zur Darstellung der Funktion einer Schaltungsan
Ordnung verwendet.
Bevor die Präparierung der Einträge in den Ket tungslisten-Speicher KSP beginnen kann, wird in den·
ersten allgemeinen Arbeitsregister GPRl eine virtiipllp ^pitpnnummpr l/\*^' itnH in ripm Tuspitpn allop.
meinen Arbeitsregister GPRl die dieser zugeordnete physikalische Seitennummer PSN durch das Betriebssystem
gespeichert. Mit dem Inhalt des Übersetzungstafel-Basisregisters UBR und der virtuellen Seitennummer
VSN wird dann durch die in den Fig. 1 und 2 dargestellte Schaltungsanordnung die Adresse
AZA einer Eintragszeile des Adreßübersetzungs-Speichers A UT gebildet. In den durch diese Adresse
AZA bezeichneten Speicherplatz des Adressenübersetzungs-Speichers
A UT wird die physikalische Seitennummer PSN übertragen.
In der anschließenden zweiten Phase des Präparierungszyklus wird die im Programmablauf vorausgehende
virtuelle Seitennummer VSNv nachgebildei und dann die laufende virtuelle Seitennummer um der
Wert »1« vermindert. Diese und der Inhalt des Übersetzungstafel-Basisregisters UBR ergeben eine
Adresse AZAv, mit der die der vorhergehenden virtuellen Seitennummer VSNv zugeordnete Eintragszeile des Adreßübersetzungs-Speichers A UT auswählbar
ist.
Nun ist, wie vorausgesetzt, der Kettungslisten-Speicher KSP derart organisiert, daß er in konsekutiver
Foige iur jede Seitennummer des physikalischer Speichers eine Eintragszeile enthält. Jede Eintragszeile kann zwei wesentliche Einträge aufnehmen
nämlich einen Eintrag für die im Programmablaui vorhergehende Speicherseite an einem durch eine erste
Adresse KZAl bezeichneten Speicherplatz unc einen weiteren Eintrag für die im Programmablaui
folgende physikalische Speicherseite mit an einem Speicherplatz einer zweiten Adresse KZAl. Die
Adresse KZA einer Eintragszeile im Kettungslisten-Speicher KSP wird aus dem Inhalt des Kettungslisten-Basisregisters
KBR und dem Inhalt der irr Adreßübersetzungs-Speicher ausgewählten Eintragszeile AZAv gebildet. Der Inhalt dieser Eintragszeile
ist mit der der vorhergehenden virtuellen Seitennummer VSNv zuzordnenden physikalischen Seitennummer
PSNx identisch. In den zweiten Eintrag mit dei Adresse KZAZ der so ausgewählten Eintragszeile des
Kettungslisten-Speichers wird der Inhalt des zweiter Arbeitsregisters GPR2, d. h. die laufende physikalische
Seitennummer PSN übertragen.
In der nächsten Phase des Präparieningszyklus wire
nun mit dem Inhalt des Kettungslistenbasisregisten KBR und der im zweiten Arbertsxegister GPR2 abgelegten
physikalischen Seitennummer PSN die Adresse KZA einer neuen Eintragszeile im Kettungslisten-Speicher
gebildet, die der laufenden physikalischer
Seitennummer PSN zugeordnet ist. In den ersten Ein· trag mit der Adresse KZAi ist der Inhalt der durch
die vorhergehende virtuelle Seitennummer VSNv ausgewählten Eintragszeile des Adreßübersetzungs-Speichers AUT niederzulegen.
Im vorstehend geschilderten Ausfühmngsbeispiel sind die wesentlicheir Merkmale des Verfahrens und
der zur Durchführung dieses Verfahrens erforderlichen Schaltungsanordnung ausführlich erläutert, Dabei wurde auch deutlich, daß selbst diese Darstellung
noch auf ihre prinzipielle Struktur vereinfacht ist. Jedoch ist dies kein Mangel, da die Technik der virtuellen Adressierung einer datenverarbeitenden Anlage
und die dafür notwendige Übersetzung virtueller in reelle Adressen bereits allgemein bekannt ist. Deshalb
wurde unter anderem auch darauf verzichtet, noch näher zu erläutern, in welcher Weise auch die neben
10
den physikalischen Seitennummern in einer Eintragszeile des Adreßübersetzungs-Speichers einzutragenden Steuerbits parallel dazu in den Kettungslisten-Speicher übertragen werden können, Für die Verwendung solcher in den Kettungslisten*Speicher übernommener Steuerbits sei hier nur kurz eine
Möglichkeit angedeutet. Bei einer Seitengrenzüberschreitung während einer Eingabe-/Ausgabeoperation kann der Fall eintreten, daß def Zugriff zu der
nächsten physikalischen Speicherseite im Ablauf dieses Programms nicht oder nur unter gewissen Voraussetzungen erlaubt sein soll. Enthalten nun Einträge
im Kettungslisten-Speicher u. a. auch solche Steuerbits, die eine Speicherschutzroutine zulassen, dann
läßt sich ein derartiger Speicherschutz auch ohne weiteres allein mit den Einträgen aus dem Kettungslisten-Speicher verwirklichen.
Claims (3)
- Patentansprüche;1, Verfahren zum Erstellen der Einträge eines Kettungslisten-Speichers in einer Schaltungsan-Ordnung zum Durchführen von sequentiellen Eingabe-Ausgabe-Operationen einer mit virtueller Adressierung arbeitenden Datenverarbeitungsanlage mit einer Vielzahl von über einen Eingabe-Ausgabe-Kanal angeschlossenen peripheren ι ο Geräten, gesteuert durch ursprünglich virtuell oder reell adressierte, jedoch stets reell adressiert ablaufende Kanalprogramme, bei denen während des Ablaufes eines reell adressierten Kanalbefehles durch ihn festgelegte und in einem Daten- is adreß-Speicher als Adresse eines Datenbytes gespeicherte, physikalische Datenadressen gelesen und decodiert werden und damit jeweils ein Speicherplatz in einem Datenspeicher ausgewählt wird, der einen Teil des Arbeitsspeichers bildet und zwischen dem und einem der angeschlossenen peripheren Geräte ein Datenbyte transferiert wird, wobei für das Verarbeiten von Eingabe-Ausgabe-Operationen mit einer Seitengrenzüberschreitung im Datenspeicher, die auf Grund einer 2s einen Teil der physikalischen Datenadresse bildenden Bytenummer feststellbar ist, der KettungsIisten-Speicher vorgesehen ist, in dem jeder physikalischen Seite des Arbeitsspeichers in konsekutiver Folge eine Eintragszeile zugeordnet ist, die mit einer den anderen Teil der physikalischen Datenadresse bildenden physikalischen Seitennummer adressierbar ist una in der die physikalische Seitennumrner der i/n Programmablauf folgenden virtuellen SpeicherseiU. gespeichert ist, die zusammen mit der gültigen Bytenummer die neue physikalische Datenadresse anch einer Seitengrenzüberschreitung darstellt, gemäß Patent 2302379, gekennzeichnet durch die Kombination folgender Merkmale: *oa) Grundsätzlich wird eine physikalische Seitennummer (PSN), die als Distanzadresse für einen neuen Eintrag im Kettungslisten-Speicher (KSP) bzw. aber auch als Teileintrag selbst verwendet wird, aus einem der vom Betriebssystem ständig aktualisierten Einträge von benutzerindividuellen Seitentafeln gewonnen, die beim Verarbeiten eines Benutzerprogrammes zum Übersetzen der virtuellen in reelle Adressen dienen, und dazu wird mit der zugehörigen virtuellen Seitennummer (IkWAO eine Distanzadresse für einen Eintrag in einer in einem Adreßübersetzungs-Speicher (AUT) niedergelegten Seitentafel gebildet und die in diesem adressier- ten Eintrag der Seitentafel enthaltene physikalische Seitennummer ausgelesen;b) nach der Vergabe eines Seitenrahmens im physikalischen Arbeitsspeicher an eine neue virtuelle Speicherseite mit der aktuellen virtuetlen Seitennummer (VSN) wird zunächst mit der im Programmablauf vorhergehenden, also bei Ein-/Ausgabeoperationen mit fort' laufender Adreßerhöhung um den Wert»1« niedrigeren, virtuellen Seitennummer (VSN-I) nach Maßgabe des Merkmals a) die letzterer zugeordnete physikalische Seiten' nummer (PSNx mit z. B. x- n) ermittelt;c) mit dieser physikalischen Seitenmwnmer (PSNn) als Distanzadresse wird eine Eintragszeile (n) im Kettungslisten-Speicher (KSP) ausgewählt und dort an den Speicherplatz, der bei Ein-Ausgabeoperationen mit fortlaufender Adreßerhöhung für die Folgeseitennummer vorgesehen ist, die ebenso nach Maßgabe des Merkmals a) mit der aktuellen virtuellen Seitennummer ( VSN) erhaltene physikalische Seitennummer (PSNy mit z. B. y=k) eingespeichert;d) im Kettungslisten-Speicher (KSP) wird weiterhin mit dieser, der aktuellen virtuellen Seitennummer (VSN) zugeordneten physikalischen Seitennummer (PSNk) als Distanzadresse eine zweite Eintragszeile (k) ausgewählt und dort am Speicherplatz für die Seitennummer einer bei Ein-/Ausgabe-Operationen mit fortlaufender Adreßerhöhung im Programmablauf vorhergehenden Speicherseite die der vorhergehenden virtuellen Seitennummer ( VSN-I) zugeordnete physikalische Seitennummer (PSNn) gespeichert.
- 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß den laufenden physikalischen Seitennummern (PSN) zugeordnet in weitere Speicherplätze der Eintragszeilen des Kettungslisten-Speichers (KSP) aus der Seitentafel im Adreßübersetzungs-Speicher (AUT) auch dort noch enthaltene Steuerbits übertragen werden.
- 3. Schaltungsanordnung zur Durchführung eines Verfahrens nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, daß dem die Seitentafel enthaltenden Adreßübersetzungs-Speicher (AUT) als Auswahlanordnung ein erster Decodierer (DECl) zugeordnet ist, dessen Eingänge an ein Übersetzungstafel-Basisregister (UBR) und wahlweise entweder zum Auswählen des laufenden Seitentafeleintrages direkt oder zum Auswählen des vorhergehenden Seitentafeleintrages über einen »1 «-Addierer (ADD) an ein erstes Arbeitsregister (GPRl) angeschlossen sind, in dem die jeweils laufende virtuelle Seitennummer (VSN) gespeichert ist, daß einem Kettungslisten-Speicher (KSP) als Auswahlanordnung ein zweiter Decodierer (DECl) zugeordnet ist, dessen Eingänge an ein Kettungslisten-Basisregister (KBR) und wahlweise entweder zum Auswählen des vorhergehenden Kettungslisteneintrages an die Informationsausgänge des Adreßübersetzungs-Speichers oder zum Auwählen des laufenden Kettungslisteneintrages an die Ausgänge eines zweiten Arbeitsregisters (GPRl) angeschlossen sind, in dem die der laufenden virtuellen Seitennummer zugeordnete physikalische Seitennummer (PSN) gespeichert ist, und daß die Ausgänge des zweiten Arbeitsregisters zum Zeitpunkt der Auswahl des laufenden Seitentafeleintrages mit den Informationseingängen des Adreßübersetzungs-Speichers und zum Zeitpunkt der Auswahl des vorhergehenden Kettungslisteneintrages mit den Informationseingängen des Kettungslisten-Speichers verbunden sind, die ihrerseits zum Zeitpunkt der Auswahl des laufenden Kettungslisteneintrages an die Informationsausgänge des AdreßübersetzungS'Speichers angeschlossen sind, in dem zu diesem Zeitpunkt der der vorangehen-den virtuellen SeitennUmmer (VSNn) zugeordnete Sejtentafeleintrag ausgewählt ist.Das Hauptpatent 2302379 betrifft ein Verfahren zum Durchfühlen von sequentiellen Eingabe-Ausgabe-Operationen einer mit virtueller Adressierung ι ο arbeitenden Datenverarbeitungsanlage mit einer Vielzafü von über eine» Eingabe-Ausgabe-Kanal angeschlossenen peripheren Geräten, gesteuert durch ursprünglich virtuell oder rell adressierte, jedoch stets reell adressiert ablaufende Kanalprogramme, bei denen während des Ablaufes eines reeli adressierten Kanalbefehles durch ihn festgelegte und in einem Datenadreß-Speicher als Adresse eines Datenbytes gespeicherte, physikalische Datenadressen gelesen und decodiert werden und damit jeweils ein Speicherplatz in einem Datenspeicher ausgewählt wird, der einen Teil des Arbeitsspeichers bildet und zwischen dem und einem der angeschlossenen peripheren Geräte ein Datenbyte transferiert wird, wobei für das Verarbeiten von Eingabe-Ausgabe-Operationen mit einer Seitengrenzüberschreitung im Datenspeicher, die auf Grund einer einen Teil der physikalischen Datenadresse bildenden Bytenummer feststellbar ist, der Kettungslisten-Speicher vorgesehen ist, in dem jeder physikalischen Seite des Arbeitsspeichers in konsekutiver Folge eine Eintragszeile zugeordnet ist, die mit einer den anderen Teil der physikalischen Datenadresse bildenden physikalischen Seitennummer addressierbar ist und in der die physikalische Seitennummer der im Programmablauf folgenden virtuellen Speicherseite gespeichert ist, die zusammen mit der gültigen Bytenummer die neue physikalische Datenadresse nach einer Seitengrenzüberschreitung darstellt.Die Erfiri Jung betrifft nun eine Weiterbildung dieses Verfahrens und eine Schaltungsanordnung zur Durchführung des neuen Verfahrens. Bei den vorgenannten Verfahren lassen sich nämlich die Vorteile des Kettungslisten-Speichers bei Eingabe-/Ausgabeoperationen nur dann voll ausnutzen, wenn es möglich ist, seine Einträge jeweils auf einfache Weise zu präparieren.Die Aufgabe der Erfindung besteht daher in der Schaffung eines Verfahrens zum Erstellen der Einträge für den Kettungsl^ten-Speicher in einer nach so dem Verfahren des Patentes 23023379 arbeitenden Schaltungsanordnung, das möglichst einfach ist und sich in bestehende Eingabe-/Ausgabesysteme organisch einfügen läßt, sowie in der Schaffung einer entsprechend arbeitenden Schaltungsanordnung.Diese Aufgabe wird einerseits dadurch gelöst, daß folgende Merkmale kombiniert werden:
a) Grundsätzlich wird eine physikalische Seitennummer, die als Distanzadresse für einen neuen Eintrag im Kettungslisten-Speicher bzw. aber auch als Teileintrag selbst verwendet wird, aus einem der vom Betriebssystem ständig aktualisierten Einträge von benutzerindividuellen Seitentafeln gewonnen, die beim Verarbeiten eines Benutzerprngramms zum Übersetzen der virtuellen in reelle Adressen dienen, und dazu wird mit der zugehörigen virtuellen Seitennummer eine Distanzadressß für einen Eintrag in einer in einem Adreßübersetzungs-Spejcher niedergelegten Seitentafel gebildet und die in diesem adressierten Eintrag der Seitentafel enthaltene physikalische Seitennummer ausgelesen;b) nach der Vergabe eines SeitenrahnW.E im physikalischen Arbeitsspeicher an eine neue virtuelle Speicherseite mit der aktuellen virtuellen Seitennummer wird zunächst mit der im Programmablauf vorhergehenden, also bei Ein-/ Ausgabeoperationen mit fortlaufender Adreßerhöhung um den Wert »1« niedrigeren, virtuellen Seitennummer nach Maßgabe des Merkmals a) die letzterer zugeordnete physikalische Seitennummer ermittelt;c) mit dieser physikalischen Seitennummer als Distanzadresse wird eine Eintragszeile im Kettungslisten-Speicher ausgewählt und dort an den Speicherplatz, der bei Ein-Ausgabeoperationen mit fortlaufender Adreßerhöhung für die Folgeseitennummer vorgesehen ist, »He ebenso nach Maßgabe des Merkmales a) mit 3er aktuellen virtuellen Seitennummer erhaltene physikalische Seitennummer eingespeichert;d) im Kettungslisten-Speicher wird weiterhin mit dieser, der aktuellen virtuellen Seitennummer zugeordneten physikalischen Seitennummer als Distanzadresse eine zweite Eintragszeile ausgewählt und dort am Speicherplatz für die Seitennummer einer bei Ein-/Ausgabe-Operationen mit fortlaufender Adreßerhöhung im Programmablauf vorhergehenden Speicherseite die der vorhergehenden virtuellen Seitennummer zugeordnete physikalische Seitennummer gespeichert.Dieses Verfahren hat den Vorteil, daß sich der Inhalt des Kettungslisten-Speichers jeweils bei einer Einführung bzw. einer Änderung einer benutzerindividuellen Seitentafel allein auf Grund der dort notwendigen Daten erstellen läßt und somit ohne weiteres als eine bloße Erweiterung der Adreßübersetzurigsroutine in bestehende Datenverarbeitungssysteme mit virtueller Adressierung einzusetzen ist. Das läßt sich ohne weiteres durch einen privilegierten Befehl »Schreiben in Seitentafel« bewerkstelligen, mit dem eine Adreßübersetzungsroutine und darüber hinaus eine Präparierung der Einträge des Kettungslisten-Speichers auslösbar ist. Mit einem derartigen Befehl ist zu erreichen, daß die Kettungsliste und auch ihre Präparierung für das Betriebssystem unsichtbar bleiben.Eine Weiterbildung der Erfindung besteht darin, daß den laufenden physikalischen Seitennummern zugeordnet in weitere Speicherplätze der Eintragszeilen des Kettungslisten-Speichers aus der Seitentafel im Adreßübersetzungs-Speicher auch dort enthaltene Steuerbits übertragen werden. In diesem Fall können auch das Betriebssystem und die normalen Benutzerprogramme Nutzen aus den Einträgen in dem Kettungslisten-Speicl:jr ziehen. Das gilt z. B. bei sequentiell arbeitenden Benutzerdatenbefehlen und einer Kettung der Befehlsadresse bei Seitengrenzüberschreitungen. Weiterhin gilt auch allgemein, daß die Seitentafel während des Ablaufes von Eingabe-/Aus* gabeoperationen im Arbeitsspeicher nicht mehr resident zu sein braucht, da zu einer Seitentafel nur während des Ablaufes eines normalen Benutzerprogramms zugegriffen werden muß. Das bedeutet eine Entlastung des für das Betriebssystem vorgesehenen
Priority Applications (22)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR108891D FR108891A (de) | 1973-01-18 | ||
DE19732302379 DE2302379C3 (de) | 1973-01-18 | 1973-01-18 | Schaltungsanordnung zum Durchführen von sequentiell ablaufenden Eingabe/Ausgabeoperationen bei einer mit virtueller Adressierung arbeitenden Datenverarbeitungsanlage |
DE19732314070 DE2314070C3 (de) | 1973-01-18 | 1973-03-21 | Verfahren und Schaltungsanordnung zum Erstellen der Einträge eines Kettungslistenspeichers in einem Verfahren und einer Schaltungsanordnung zum Durchfuhren von sequentiell ablaufenden Eingabe-/Ausgabeoperationen bei einer mit virtueller Adressierung arbeitenden Datenverarbeitungsanlage |
GB5705473A GB1447680A (en) | 1973-01-18 | 1973-12-10 | Data processing systems |
FR7401140A FR2214923B1 (de) | 1973-01-18 | 1974-01-14 | |
LU69174D LU69174A1 (de) | 1973-01-18 | 1974-01-16 | |
NL7400649A NL7400649A (de) | 1973-01-18 | 1974-01-17 | |
BE139975A BE809930A (fr) | 1973-01-18 | 1974-01-18 | Procede et circuit pour l'execution d'operations d'entree/sortie se deroulant en sequence dans une installation de traitement des donnees |
GB691174A GB1454357A (en) | 1973-01-18 | 1974-02-15 | Data processing systems |
ZA00741249A ZA741249B (en) | 1973-03-21 | 1974-02-26 | Data processing system |
IT4931174A IT1047014B (it) | 1973-03-21 | 1974-03-15 | Sistema e disposizione circuitale per esequire operazioni di immissione od emissione con decorso sequenziale in un impianto elaboratore di dati che lavora con formulazione di indirizzi virtuali |
FR7409060A FR2222696B2 (de) | 1973-01-18 | 1974-03-18 | |
NL7403609A NL7403609A (de) | 1973-01-18 | 1974-03-18 | |
LU69663A LU69663A1 (de) | 1973-01-18 | 1974-03-19 | |
BR217774A BR7402177A (pt) | 1973-03-21 | 1974-03-20 | Aperfeicoamentos em sistemas de processamento de dados |
BR211774A BR7402117D0 (pt) | 1973-03-21 | 1974-03-20 | Aperfeicoamentos em sistemas de processamento de dados |
ES424482A ES424482A2 (es) | 1973-03-21 | 1974-03-21 | Procedimiento y disposicion de circuito para realizar opera-ciones de entrada-salida discurrentes de manera secuente en un sistema de tratamiento de datos operante con direcciona- miento virtual. |
BE142284A BE812640R (fr) | 1973-01-18 | 1974-03-21 | Procede et circuit pour l'execution d'operations d'entree/sortie se deroulant en sequence dans une installation de traitement des donnees |
DE19742444406 DE2444406A1 (de) | 1973-01-18 | 1974-09-17 | Verfahren zum durchfuehren von eingabe-/ausgabeoperationen bei einer mit virtueller adressierung arbeitenden datenverarbeitungsanlage |
NL7510623A NL7510623A (nl) | 1973-01-18 | 1975-09-09 | Werkwijze voor het uitvoeren van invoer-/uit- voerhandelingen bij een informatieverwerkings- inrichting, die werkt met virtuele adressering. |
FR7527583A FR2285658A2 (fr) | 1973-01-18 | 1975-09-09 | Procede et circuit pour l'execution d'operations d'entree/sortie se deroulant en sequence dans une installation de traitement des donnees qui fonctionne avec adressage virtuel |
BE160129A BE833520R (fr) | 1973-01-18 | 1975-09-17 | Procede et circuit pour l'execution d'operations d'entree/sortie se deroulant en sequence dans une installation de traitement des donnees |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19732302379 DE2302379C3 (de) | 1973-01-18 | 1973-01-18 | Schaltungsanordnung zum Durchführen von sequentiell ablaufenden Eingabe/Ausgabeoperationen bei einer mit virtueller Adressierung arbeitenden Datenverarbeitungsanlage |
DE19732314070 DE2314070C3 (de) | 1973-01-18 | 1973-03-21 | Verfahren und Schaltungsanordnung zum Erstellen der Einträge eines Kettungslistenspeichers in einem Verfahren und einer Schaltungsanordnung zum Durchfuhren von sequentiell ablaufenden Eingabe-/Ausgabeoperationen bei einer mit virtueller Adressierung arbeitenden Datenverarbeitungsanlage |
DE19742444406 DE2444406A1 (de) | 1973-01-18 | 1974-09-17 | Verfahren zum durchfuehren von eingabe-/ausgabeoperationen bei einer mit virtueller adressierung arbeitenden datenverarbeitungsanlage |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2314070A1 DE2314070A1 (de) | 1974-10-10 |
DE2314070B2 DE2314070B2 (de) | 1979-11-29 |
DE2314070C3 true DE2314070C3 (de) | 1980-08-07 |
Family
ID=27184986
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19732302379 Expired DE2302379C3 (de) | 1973-01-18 | 1973-01-18 | Schaltungsanordnung zum Durchführen von sequentiell ablaufenden Eingabe/Ausgabeoperationen bei einer mit virtueller Adressierung arbeitenden Datenverarbeitungsanlage |
DE19732314070 Expired DE2314070C3 (de) | 1973-01-18 | 1973-03-21 | Verfahren und Schaltungsanordnung zum Erstellen der Einträge eines Kettungslistenspeichers in einem Verfahren und einer Schaltungsanordnung zum Durchfuhren von sequentiell ablaufenden Eingabe-/Ausgabeoperationen bei einer mit virtueller Adressierung arbeitenden Datenverarbeitungsanlage |
DE19742444406 Pending DE2444406A1 (de) | 1973-01-18 | 1974-09-17 | Verfahren zum durchfuehren von eingabe-/ausgabeoperationen bei einer mit virtueller adressierung arbeitenden datenverarbeitungsanlage |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19732302379 Expired DE2302379C3 (de) | 1973-01-18 | 1973-01-18 | Schaltungsanordnung zum Durchführen von sequentiell ablaufenden Eingabe/Ausgabeoperationen bei einer mit virtueller Adressierung arbeitenden Datenverarbeitungsanlage |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19742444406 Pending DE2444406A1 (de) | 1973-01-18 | 1974-09-17 | Verfahren zum durchfuehren von eingabe-/ausgabeoperationen bei einer mit virtueller adressierung arbeitenden datenverarbeitungsanlage |
Country Status (6)
Country | Link |
---|---|
BE (3) | BE809930A (de) |
DE (3) | DE2302379C3 (de) |
FR (4) | FR2214923B1 (de) |
GB (2) | GB1447680A (de) |
LU (2) | LU69174A1 (de) |
NL (3) | NL7400649A (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2437300A1 (fr) * | 1978-09-26 | 1980-04-25 | Cii Honeywell Bull | Procede de detection anticipee de franchissement de limite de page et dispositif comportant application de ce procede |
-
0
- FR FR108891D patent/FR108891A/fr active Active
-
1973
- 1973-01-18 DE DE19732302379 patent/DE2302379C3/de not_active Expired
- 1973-03-21 DE DE19732314070 patent/DE2314070C3/de not_active Expired
- 1973-12-10 GB GB5705473A patent/GB1447680A/en not_active Expired
-
1974
- 1974-01-14 FR FR7401140A patent/FR2214923B1/fr not_active Expired
- 1974-01-16 LU LU69174D patent/LU69174A1/xx unknown
- 1974-01-17 NL NL7400649A patent/NL7400649A/xx not_active Application Discontinuation
- 1974-01-18 BE BE139975A patent/BE809930A/xx not_active IP Right Cessation
- 1974-02-15 GB GB691174A patent/GB1454357A/en not_active Expired
- 1974-03-18 NL NL7403609A patent/NL7403609A/xx not_active Application Discontinuation
- 1974-03-18 FR FR7409060A patent/FR2222696B2/fr not_active Expired
- 1974-03-19 LU LU69663A patent/LU69663A1/xx unknown
- 1974-03-21 BE BE142284A patent/BE812640R/xx not_active IP Right Cessation
- 1974-09-17 DE DE19742444406 patent/DE2444406A1/de active Pending
-
1975
- 1975-09-09 NL NL7510623A patent/NL7510623A/xx not_active Application Discontinuation
- 1975-09-09 FR FR7527583A patent/FR2285658A2/fr active Granted
- 1975-09-17 BE BE160129A patent/BE833520R/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
NL7403609A (de) | 1974-09-24 |
NL7510623A (nl) | 1976-03-19 |
DE2302379A1 (de) | 1974-08-15 |
GB1447680A (en) | 1976-08-25 |
FR108891A (de) | |
FR2222696A2 (de) | 1974-10-18 |
BE809930A (fr) | 1974-07-18 |
GB1454357A (en) | 1976-11-03 |
LU69174A1 (de) | 1974-04-08 |
FR2285658A2 (fr) | 1976-04-16 |
FR2285658B2 (de) | 1978-09-08 |
LU69663A1 (de) | 1974-10-17 |
DE2444406A1 (de) | 1976-03-25 |
DE2302379B2 (de) | 1977-03-31 |
FR2222696B2 (de) | 1978-09-08 |
FR2214923A1 (de) | 1974-08-19 |
DE2302379C3 (de) | 1978-12-07 |
FR2214923B1 (de) | 1978-08-04 |
DE2314070A1 (de) | 1974-10-10 |
NL7400649A (de) | 1974-07-22 |
BE812640R (fr) | 1974-09-23 |
BE833520R (fr) | 1976-03-17 |
DE2314070B2 (de) | 1979-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2451982C2 (de) | ||
DE2322674C3 (de) | Mikroprogramm-Steuereinrichtung | |
DE2117936B2 (de) | Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems | |
DE2339636A1 (de) | Programmsteuereinrichtung | |
DE2364408A1 (de) | System zur erstellung von schaltungsanordnungen aus hochintegrierten chips | |
DE2360303C2 (de) | Datenverarbeitungsanlage mit Adreßübersetzung für Ein-/Ausgabekanäle | |
DE2556661A1 (de) | Steuerschaltung mit adressenerweiterung | |
DE2717658A1 (de) | Anordnung zur ansteuerung eines mikroprogrammspeichers | |
DE2364254B2 (de) | Schaltungsanordnung fuer datenverarbeitende geraete | |
DE3043100C2 (de) | ||
DE2063195C2 (de) | Verfahren und Einrichtung zur Operationssteuerung einer Anzahl von externen Datenspeichern | |
DE2213953C3 (de) | Schaltungsanordnung zum Darstellen von Zeichen auf dem Bildschirm eines Sichtgerätes | |
DE2458525B2 (de) | Speicheranordnung mit Haupt- und Pufferspeicher | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2403039C2 (de) | Einrichtung zur Befehlsausführung in einer adressenerweiterten elektronischen Datenverarbeitungsanlage | |
DE2314070C3 (de) | Verfahren und Schaltungsanordnung zum Erstellen der Einträge eines Kettungslistenspeichers in einem Verfahren und einer Schaltungsanordnung zum Durchfuhren von sequentiell ablaufenden Eingabe-/Ausgabeoperationen bei einer mit virtueller Adressierung arbeitenden Datenverarbeitungsanlage | |
DE2847737C2 (de) | Schaltung zur Umsetzung virtueller Adressen in eine reelle Adresse von größerer Länge | |
DE1774896C2 (de) | Datenverarbeitungsanlage mit einem Rechenwerk, einem Hauptspeicher und einem Aktivspeicher | |
DE2349590A1 (de) | Vorrichtung zur datenverarbeitung | |
DE2601379C3 (de) | Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle Adressen | |
DE1499284A1 (de) | Datenbearbeitungsanlage | |
DE2234982A1 (de) | Expanderschaltung fuer ein programmierbares steuergeraet | |
DE1524264C3 (de) | Einrichtung zur Erzeugung einer Bildaufzeichnung | |
DE2150292C2 (de) | Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen | |
DE2017879B2 (de) | Speicheranordnung mit freiem Zugriff |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8340 | Patent of addition ceased/non-payment of fee of main patent |