DE2314070B2 - Verfahren und Schaltungsanordnung zum Erstellen der Einträge eines Kettungslistenspeichers in einem Verfahren und einer Schaltungsanordnung zum Durchführen 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 Durchführen von sequentiell ablaufenden Eingabe-/Ausgabeoperationen bei einer mit virtueller Adressierung arbeitenden DatenverarbeitungsanlageInfo
- Publication number
- DE2314070B2 DE2314070B2 DE19732314070 DE2314070A DE2314070B2 DE 2314070 B2 DE2314070 B2 DE 2314070B2 DE 19732314070 DE19732314070 DE 19732314070 DE 2314070 A DE2314070 A DE 2314070A DE 2314070 B2 DE2314070 B2 DE 2314070B2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- page number
- address
- linked list
- entry
- 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
- 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
Speicherplatzes im Arbeitsspeicher.
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 Seitentafeleintrages ü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 zweiten 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 Zeichnungen näher erläutert,
Es zeigen
Fig. 1 und Fig. 2 jeweils ein vereinfachtes Blockschaltbild 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 AUT. 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.
ι» Dafür ist dem Adreßübersetzungs-Speicher AUT
eine Auswahlcinrichtung, der erste Decodierer DECl, zugeordnet. Zur Präparierung eines Benutzerprogramms
werden die Seitennummern VSN der dabei verwendeten virtuellen Speicherseiten nachein-
n ander in einem ersten allgemeinen Arbeitsregister GPRl gespeichert, dessen Ausgänge mit einem ersten
Decodierer DECl parallel über ein Leitungsvielfach verbunden sind. Dieses Leitungsvielfach ist wie andere
in den Schaltungsanordnungen dargestellte Lei-
2Ii tungsvielfache aufgespalten dargestellt, um die Zusammensetzung
der benötigten Speicheradressen bzw. den Datenfluß deutlicher werden zu lassen.
Da der Adreßübersetzungs-Speicher A UT ein Teil des physikalischen Arbeitsspeichers ist, genügt die im
2Ί gewählten Beispiel 12stellige virtuelle Seitennummer
VNN allein nicht, um eine Eintragszeile des Adreßübersetzungs-Speichers A UT auszuwählen. Aus diesem
Grunde ist ein weiteres Register, das sogenannte Übersetzungstafel-Basisregister UBR vorgesehen.
j" 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.
In der Schaltungsanordnung nach Fig. 1 ist zwi-
r> 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 ADD die in dem ersten Arbeitsregister GPRl enthaltene virtuelle Seitennum-
4(i mer VSN um den Wert »1«, d. h. daß in diesem Falle
mit dieser Adresse über den ersten Decodierer DECl eine Eintragszeile im Adreßübersetzungs-Speicher
A UT auswählbar ist, die der im Laufe der Präparierung vorhergegangenen virtuellen Seitennummer
r, VSNv = VSN-I zugeordnet ist.
Beide Schaltungsanordnungen gemäß Fig. 1 und Fig. 2 enthalten weiterhin einen Kettungslisten-Speicher
KSP, dem als Auswahlanordnung ein weiterei Decodierer DEC2 zugeordnet ist. An diesen ist ein
•in dem Übersetzungstafel-Basisregister UBR vergleichbares
Kettungslisten-Basisregister KBR über ein Leitungsvielfach angeschlossen. Dieses Register enthäli
die Fußpunktadresse für den Kettungslisten-Speichei KSP, die in diesem Beispiel ebenfalls durch eine
12stellige Binärziffer ausgedrückt ist. Weiterhin ist eir
zweites allgemeines Arbeitsregister GPR2 vorgesehen, in dem jeweils eine physikalische Seitennummei
PSN gespeichert ist, die von der Speicherverwaltunj
— als einem Teil des Betriebssystems der datenverar-
«ι behenden Anlage - derjenigen virtuellen Seitennum· mer VSN zugeordnet wird, die gerade in dem erster
Arbeitsregister GPRl gespeichert ist.
In dem weiteren Verbindungsaufbau unterscheidei sich nun die beiden Schaltungsanordnungen naci
es Fig. 1 bzw. Fig. 2. Wie bereits oben angedeutet, is
in Fig. 1 der Verbindungsaufbau der Schaltungsan Ordnung für eine Phase während der Präparierung de:
Kettungslisten dargestellt, in der im Adreßüberset
zungs-Speicher AUT eine Eintragszeüe ausgewählt ist, die der im Ablauf der Präparierung vorangegangenen
virtuellen Seitennummer VSNv zugeordnet ist. Aus dieser Eintragszeüe ist dann eine physikalische
Seitennummer PSNx auslesbar, die die reelle Über- ">
setzung der im Programmablauf vorangegangenen virtuellen Speicherseite VSNv bedeutet. Setzt man
diese vorangehende physikalische Seitennummer PSNx mit der im Kettungslisten-Basisregister KBR
enthaltenen Fußpunktadresse für den Kettungsli- 1(l
sten-Speicher KSP zu einer Adresse KZA für eine Eintragszeüe im Kettungslisten-Speicher KSP zusammen,
dann ist damit eine Eintragszeüe des Kettungslisten-Speicliers adressierbar, die der im Programmablauf
vorhergehenden physikalischen Sei- ir>
tennummer PSN zugeordnet ist. Nach dem Aufbau des Kettungslisten-Speichers bzw. der Zusammensetzung
seiner Einträge ist in diese Eintragszeüe die Seitennummer der im Programmablauf folgenden physikalischen
Speicherseite einzutragen. Diese ist derzeit 2« 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 dargestellt.
Die parallelen Ausgänge des zweiten Arbeitsre- jo gisters 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 Eintragszeüe adressierbar, die der gegenwärtig im zweiten Arbeitsregister GPRl
gespeicherten physikalischen Seitennummer PSN zugeordnet ist. In diese Eintragszeüe muß nun nach dem
organisatorischen Aufbau des Kettungslisten-Speichers KSP die im Programmablauf vorhergehende
physikalische Seitennummer PSNx abgelegt werden. Die Informationseingänge des Kettungslisten-Speichers
KSP sind daher, wie in Fig. 2 angedeutet, in diesem Fall mit dem an den Adreßübersetzungs-Speicher
A UT angeschlossenen Leitungsvielfach verbunden.
Da weiterhin in Fig. 2 durch den Inhalt des Übersetzungstafel-Basisregisters
UBR und des ersten Arbeitsregisters GPRl die Adresse einer Eintragszeüe
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 AUT verbunden. Damit kann in der ausgewählten
Eintragszeüe 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 wer- t>o
den. 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
inicht 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 festen Folge der Präparierungsphasen durchgeschaltet werden.
Die Wirkungsweise der erläuterten Schaltungsanordnung soll im folgenden zusammengefaßt an Hand
des in Fig. 3 dargestellten Ablaufschemas erläutert werden. In seiner äußeren Form und auch in der Symbolik
entspricht dieses Ablaufschema einer Darstellung, die sonst üblicherweise für Programmabläufe
verwendet wird. Wegen ihrer Einprägsamkeit und der allen Fachleuten auf dem Gebiet der Datenverarbeitung
geläufigen Darsteilungsweise sei sie jedoch auch hier zur Darstellung der Funktion einer Schaltungsanordnung
verwendet.
Bevor die Präparierung der Einträge in den Kettungslisten-Speicher
KSP beginnen kann, wird in dem ersten allgemeinen Arbeitsregister GPRl eine virtuelle
Seitennummer VSN und in dem zweiten allgemeinen 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
AUTgebildet. In den durch diese Adresse AZA bezeichneten Speicherplatz des Adressenübersetzungs-Speichers
AUT wird die physikalische Seitennummer PSN übertragen.
In der anschließenden zweiten Phase des Präparierungszyklus
wird die im Programmablauf vorausgehende virtuelle Seitennummer VSNv nachgebildet
und dann die laufende virtuelle Seitennummer um den Wert »!« vermindert. Diese und der Inhalt des Übersetzungstafel-Basisregisters
UBR ergeben eine Adresse AZAv, mit der die der vorhergehenden virtuellen
Seitennummer VSNv zugeordnete Eintragszeüe des Adreßübersetzungs-Speichers AUT auswählbar
ist.
Nun ist, wie vorausgesetzt, der Kettungslisten-Speicher KSP derart organisiert, daß er in konsekutiver
Folge für jede Seitennummer des physikalischen Speichers eine Eintragszeüe enthält. Jede Eintragszeile kann zwei wesentliche Einträge aufnehmen,
nämlich einen Eintrag für die im Programmablauf vorhergehende Speicherseite an einem durch eine erste
Adresse KZAl bezeichneten Speicherplatz und einen weiteren Eintrag für die im Programmablauf
folgende physikalische Speicherseite mit an einem Speicherplatz einer zweiten Adresse KZAl. Die
Adresse KZA einer Eintragszeüe im Kettungslisten-Speicher KSP wird aus dem Inhalt des Kettungslisten-Basisregisters
KBR und dem Inhalt der im Adreßübersetzungs-Speicher ausgewählten Eintragszeüe
AZAv gebildet. Der Inhalt dieser Eintragszeüe ist mit der der vorhergehenden virtuellen Seitennummer
VSNv zuzordnenden physikalischen Seitennummer PSNx identisch. In den zweiten Eintrag mit der
Adresse KZAl der so ausgewählten Eintragszeile des Kettungslisten-Speichers wird der Inhalt des zweiten
Arbeitsregisters GPRl, d. h. die laufende physikalische Seitennummer PSN übertragen.
In der nächsten Phase des Präparierungszyklus wird nun mit dem Inhalt des Kettungslistenbasisregisters
KBR und der im zweiten Arbeitsregister GPRl abgelegten physikalischen Seitennummer PSN die Adresse
KZA einer neuen Eintragszeüe irn Kettungslisten-Speicher gebildet, die der laufenden physikalischen
Seitennummer PSN zugeordnet ist. In den ersten Eintrag mit der Adresse KZAl ist der Inhalt der durch
die vorhergehende virtuelle Seitennummer YSNv
ausgewählten Eintragszeile des Adreßübersetzungs-Speichers A UT niederzulegen.
Im vorstehend geschilderten Ausführungsbeispiel sind die wesentlichen 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ß der 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 Kettungsüsten-Speicher
verwirklichen.
Hierzu 2 Blatt Zeichnungen
Claims (3)
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 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
adressierbar 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 anch einer Seitengrenzüberschreitung darstellt, gemäß Patent
2302379, gekennzeichnet durch die Kombination folgender Merkmale:
a) 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 Benutrerprogrammes
zum Übersetzen der virtuellen in reelle Adressen dienen, und dazu wird mit der zugehörigen virtuellen Seitennummer
(VNN) eine Distanzadresse für einen Eintrag in einer in einem Adreßübersetzungs-Speicher
(AUT) niedergelegten Seitentafel gebildet und die in diesem adressierten
Eintrag der Seitentafel enthaltene physikalische Seitennummer ausgelesen;
b) nach der Vergabe eines Seitenrahmens im physikalischen Arbeitsspeicher an eine neue
virtuelle Speicherseite mit der aktuellen virtuellen Seitennummer ( VSN) wird zunächst
mit der im Programmablauf vorhergehenden, also bei Ein-/Ausgabeoperationen mit fortlaufender
Adreßerhöhung um den Wert »1« niedrigeren, virtuellen Seitennummer
( VSN-I) nach Maßgabe des Merkmals a) die letzterer zugeordnete physikalische Seitennummer
(PSNx mit z. B. x= n) ermittelt;
c) mit dieser physikalischen Seitennummer (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 ArbeiUregister
(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 Seitentafeleintrag ausgewählt ist.
Das Hauptpatent 2302379 betrifft ein Verfahren zum Durchführen von sequentiellen Eingabe-Ausgabe-Operationen
einer mit virtueller Adressierung iu arbeitenden Datenverarbeitungsanlage mit einer
Vielzahl von über einen Eingabe-Ausgabe-Kanal angeschlossenen peripheren Geräten, gesteuert durch
ursprünglich virtuell oder rell adressierte, jedoch stets
reell adressiert ablaufende Kanalprogramme, bei de- ι "> nen während des Ablaufes eines reell 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 2»
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 Vera.'-°;-ten
von Eingabe-Ausgabe-Operationen mit einer Sei- r> tengrenzüberschreitung im Datenspeicher, die auf
Grund einer einen Teil der physikalischen Datenadresse bildenden Bytenummer feststellba- ist, der
Kettungslisten-Speicher vorgesehen ist, in dem jeder physikalischen Seite des Arbeitsspeichers in konseku- κι
tiver 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 r, Speicherseite gespeichert ist, die zusammen mit der
gültigen Bytenummer die neue physikalische Datenadresse nach einer Seitengrenzüberschreitung darstellt.
Die Erfindung betrifft nun eine Weiterbildung die- in
ses 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 v, ist, seine Einträge jeweils auf einfache Weise zu präparieren.
Die Aufgabe der Erfindung besteht daher in der Schaffung einas Verfahrens zum Erstellen der Einträge
für den Kettungslisten-Speicher in einer nach -><> dem Verfahren des Patentes 23 023379 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. v,
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 bo auch als Teileintrag selbst verwendet wird, aus einem der vom Betriebssystem ständig aktualisierten Einträge von benutzerindividuellen Seitentafeln gewonnen, die beim Verarbeiten eines Benutzerprogramms zum Übersetzen der vir- b5 tuellen in reelle Adressen dienen, und dazu wird mit der zugehörigen virtuellen Seitennummer eine Distanzadresse für einen Eintrag in einer in einem Adreßübersetzungs-Speicher niedergelegten Seitentafel gebildet und die in diesem adressierten Eintrag der Seitentafel enthaltene physikalische Seitennummer ausgelesen;
a) Grundsätzlich wird eine physikalische Seitennummer, die als Distanzadresse für einen neuen Eintrag im Kettungslisten-Speicher bzw. aber bo auch als Teileintrag selbst verwendet wird, aus einem der vom Betriebssystem ständig aktualisierten Einträge von benutzerindividuellen Seitentafeln gewonnen, die beim Verarbeiten eines Benutzerprogramms zum Übersetzen der vir- b5 tuellen in reelle Adressen dienen, und dazu wird mit der zugehörigen virtuellen Seitennummer eine Distanzadresse für einen Eintrag in einer in einem Adreßübersetzungs-Speicher niedergelegten Seitentafel gebildet und die in diesem adressierten Eintrag der Seitentafel enthaltene physikalische Seitennummer ausgelesen;
b) nexh der Vergabe eines Seitenrahmens im physikalischen
Arbeitsspeicher an eine neue virtuelle Speicherseite mit der aktuellen virtuellen Ssitennummer
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, die ebenso nach Maßgabe des Merkmales a) mit der 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ßübersetzungsroutine
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-Speicher
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-/Ausg^beoperationen 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 |
NL7403609A NL7403609A (de) | 1973-01-18 | 1974-03-18 | |
FR7409060A FR2222696B2 (de) | 1973-01-18 | 1974-03-18 | |
LU69663A LU69663A1 (de) | 1973-01-18 | 1974-03-19 | |
BR211774A BR7402117D0 (pt) | 1973-03-21 | 1974-03-20 | Aperfeicoamentos em sistemas de processamento de dados |
BR217774A BR7402177A (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 |
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 |
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. |
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 true DE2314070B2 (de) | 1979-11-29 |
DE2314070C3 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 FR FR7409060A patent/FR2222696B2/fr not_active Expired
- 1974-03-18 NL NL7403609A patent/NL7403609A/xx not_active Application Discontinuation
- 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 |
---|---|
BE809930A (fr) | 1974-07-18 |
FR2222696B2 (de) | 1978-09-08 |
DE2314070A1 (de) | 1974-10-10 |
FR2285658A2 (fr) | 1976-04-16 |
BE833520R (fr) | 1976-03-17 |
DE2302379B2 (de) | 1977-03-31 |
FR2285658B2 (de) | 1978-09-08 |
LU69663A1 (de) | 1974-10-17 |
NL7400649A (de) | 1974-07-22 |
FR2222696A2 (de) | 1974-10-18 |
DE2302379C3 (de) | 1978-12-07 |
GB1447680A (en) | 1976-08-25 |
FR2214923B1 (de) | 1978-08-04 |
LU69174A1 (de) | 1974-04-08 |
FR108891A (de) | |
DE2314070C3 (de) | 1980-08-07 |
BE812640R (fr) | 1974-09-23 |
NL7510623A (nl) | 1976-03-19 |
FR2214923A1 (de) | 1974-08-19 |
DE2444406A1 (de) | 1976-03-25 |
GB1454357A (en) | 1976-11-03 |
NL7403609A (de) | 1974-09-24 |
DE2302379A1 (de) | 1974-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2451982C2 (de) | ||
DE2322674C3 (de) | Mikroprogramm-Steuereinrichtung | |
DE2117936B2 (de) | Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2364408A1 (de) | System zur erstellung von schaltungsanordnungen aus hochintegrierten chips | |
DE3300263A1 (de) | Schaltungsanordnung zur zuteilung des zugriffs zu einer auf anforderungsbasis gemeinsam benutzten sammelleitung | |
DE2360303C2 (de) | Datenverarbeitungsanlage mit Adreßübersetzung für Ein-/Ausgabekanäle | |
DE2339636A1 (de) | Programmsteuereinrichtung | |
DE1774513A1 (de) | Schaltungsanordnung zur Bestimmung des Vorrangverhaeltnisses zwischen mehreren Anforderungssignalen fuer programmgesteuerte Datenverarbeitungsanlagen | |
DE2364254B2 (de) | Schaltungsanordnung fuer datenverarbeitende geraete | |
DE1262641B (de) | Mikroprogrammsteuerwerk | |
DE2063195C2 (de) | Verfahren und Einrichtung zur Operationssteuerung einer Anzahl von externen Datenspeichern | |
DE2846054C2 (de) | Schaltungsanordnung zur Erweiterung des Adressierungsvolumens einer Zentraleinheit, insbesondere eines Mikroprozessors | |
DE2245284A1 (de) | 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 | |
DE2230727B2 (de) | Schaltungsanordnung zur dynamischen zuteilung von speicherzyklen mit vorrangssteuerung | |
DE1806172A1 (de) | Prioritaetsschaltung | |
DE2028911C2 (de) | Datenverarbeitungsanlage | |
DE19645057C2 (de) | Vorrichtung zur Selektion von Adressenwörtern mittels Demultiplex-Decodierung | |
DE2601379C3 (de) | Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle Adressen | |
DE2234982A1 (de) | Expanderschaltung fuer ein programmierbares steuergeraet | |
DE1499284B2 (de) | Datenverarbeitungsanlage | |
DE2327375C2 (de) | PCM-Vermittlungsstelle mit Zeitvielfach- und Raumvielfacheinrichtungen | |
EP0262636B1 (de) | Schaltungsanordnung zum Auswählen und/oder Ausrichten von Dateneinheiten in Datenverarbeitungsanlagen | |
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 |