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 Datenverarbeitungsanlage

Info

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
Application number
DE19732314070
Other languages
English (en)
Other versions
DE2314070A1 (de
DE2314070C3 (de
Inventor
Albrecht Dipl.-Ing. 8124 Seeshaupt Baer
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.)
Siemens AG
Original Assignee
Siemens AG
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
Priority to FR108891D priority Critical patent/FR108891A/fr
Priority to DE19732302379 priority patent/DE2302379C3/de
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE19732314070 priority patent/DE2314070C3/de
Priority to GB5705473A priority patent/GB1447680A/en
Priority to FR7401140A priority patent/FR2214923B1/fr
Priority to LU69174D priority patent/LU69174A1/xx
Priority to NL7400649A priority patent/NL7400649A/xx
Priority to BE139975A priority patent/BE809930A/xx
Priority to GB691174A priority patent/GB1454357A/en
Priority to ZA00741249A priority patent/ZA741249B/xx
Priority to IT4931174A priority patent/IT1047014B/it
Priority to FR7409060A priority patent/FR2222696B2/fr
Priority to NL7403609A priority patent/NL7403609A/xx
Priority to LU69663A priority patent/LU69663A1/xx
Priority to BR217774A priority patent/BR7402177A/pt
Priority to BR211774A priority patent/BR7402117D0/pt
Priority to BE142284A priority patent/BE812640R/xx
Priority to ES424482A priority patent/ES424482A2/es
Priority to DE19742444406 priority patent/DE2444406A1/de
Publication of DE2314070A1 publication Critical patent/DE2314070A1/de
Priority to FR7527583A priority patent/FR2285658A2/fr
Priority to NL7510623A priority patent/NL7510623A/xx
Priority to BE160129A priority patent/BE833520R/xx
Publication of DE2314070B2 publication Critical patent/DE2314070B2/de
Application granted granted Critical
Publication of DE2314070C3 publication Critical patent/DE2314070C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • 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/10Address translation
    • G06F12/1081Address 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)

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 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;
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
DE19732314070 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 Expired DE2314070C3 (de)

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)

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

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