DE69937585T2 - Verfahren zum willkürlichen Zugriff auf einen Speicherbereich einer digitalen Verarbeitungsvorrichtung in einem physikalischen Adressierungsmodus und einem virtuellen Adressierungsmodus und Vorrichtung zur Durchführung des Verfahrens - Google Patents

Verfahren zum willkürlichen Zugriff auf einen Speicherbereich einer digitalen Verarbeitungsvorrichtung in einem physikalischen Adressierungsmodus und einem virtuellen Adressierungsmodus und Vorrichtung zur Durchführung des Verfahrens Download PDF

Info

Publication number
DE69937585T2
DE69937585T2 DE69937585T DE69937585T DE69937585T2 DE 69937585 T2 DE69937585 T2 DE 69937585T2 DE 69937585 T DE69937585 T DE 69937585T DE 69937585 T DE69937585 T DE 69937585T DE 69937585 T2 DE69937585 T2 DE 69937585T2
Authority
DE
Germany
Prior art keywords
address
page number
physical
addressing mode
memory area
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 - Lifetime
Application number
DE69937585T
Other languages
English (en)
Other versions
DE69937585D1 (de
Inventor
Nadia Bouraoui
Jean-Pascal Mazzilli
Jean Dominique Sorace
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.)
Bull SA
Original Assignee
Bull SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bull SA filed Critical Bull SA
Application granted granted Critical
Publication of DE69937585D1 publication Critical patent/DE69937585D1/de
Publication of DE69937585T2 publication Critical patent/DE69937585T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means

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)

Description

  • Die vorliegende Erfindung betrifft ein Verfahren, um in physikalischer Adressierungsbetriebsart auf einen Speicherbereich einer Digitalverarbeitungsmaschine zuzugreifen, auf den in virtueller Adressierungsbetriebsart zugegriffen werden kann. Die vorliegende Erfindung betrifft auch eine Digitalverarbeitungsmaschine, die einen Speicherbereich umfaßt, auf den in physikalischer und in virtueller Adressierungsbetriebsart zugegriffen werden kann.
  • Die virtuelle Adressierungsbetriebsart erlaubt es, einem gerade auf der Maschine ausgeführten Prozeß ein oder mehrere virtuelle Speichersegmente in einem virtuellen Adressierungsraum zuzuweisen. Ein virtuelles Speichersegment besteht traditionellerweise aus Seiten einer festen Größe, wobei auf jede mittels einer logischen Seitenzahl zugegriffen werden kann. Wenn auf einen Speicherbereich der Maschine mittels virtueller Adressen zugegriffen werden kann, wobei jede aus einer logischen Seitenzahl und einer relativen Adresse gebildet ist, entspricht eine gegebene physikalische Seitenzahl während des Zugriffs der betrachteten logischen Seitenzahl. Die relative Adresse ist das, was die Adresse im Innern einer logischen Seite präzisiert. Die physikalische und die virtuelle Seite sind von gleicher Größe. Der tatsächliche Zugriff auf den Speicherbereich der Maschine erfolgt mittels eines bekannten Mechanismus, der die virtuelle Adresse übersetzt in eine physikalische Adresse, die sich aus der physikalischen Seitenzahl und der relativen Adresse zusammensetzt. Ein virtueller Adressierungsraum ist interessant, weil er eine Adressierungsmöglichkeit für einen Prozeß (process in Englisch) oder eine Aufgabe (thread in Englisch) dieses Prozesses bereitstellt, ohne daß es notwendig ist, sich um die tatsächliche Existenz einer physikalischen Seite im Speicher zu kümmern, noch um die Lage dieser Seite im physikalischen Speicher, falls sie existiert. Da der Zusammenhang zwischen logischer Seitenzahl und physikalischer Seitenzahl über einen effektiven Zugriff des Prozesses auf die virtuelle Adresse erzeugt wird, entsprechen zwei aufeinanderfolgende logische Seitenzahlen nicht unbedingt zwei aufeinanderfolgenden physikalischen Seitenzahlen im physikalischen Speicher.
  • Die physikalische Adressierungsbetriebsart erlaubt es einem Prozeß oder einer Aufgabe dieses Prozesses direkt auf den physikalischen Speicher zuzugreifen, ohne den Mechanismus zu verwenden, der eine virtuelle Adresse so wie zuvor erläutert, in eine physikalische Adresse übersetzt. Diese Adressierungsbetriebsart ist besonders nützlich für gewisse Funktionen des Betriebssystems der Maschine. Zum Beispiel kann der vorerwähnte Mechanismus die physikalische Adressierungsbetriebsart verwenden.
  • Ein für die Ausführung eines Prozesses notwendiger Speicherbereich kann mehr als eine physikalische Seite der Maschine bedecken. Der Speicherbereich kann z. B. vorgesehen sein, um ausführbaren Befehlscode oder Daten wie die eines Stapelspeichers, eines Pufferspeichers oder eines Verzeichnisses zu enthalten. Um auf den Speicherbereich zuzugreifen, führt der Prozeß Adressenberechnungen durch, die erforderlich werden durch das Lesen einer Befehlszeile, die einem laufenden Befehl folgt, oder einer Befehlszeile, die durch eine Verzweigung in dem Falle, in dem der Speicherbereich ausführbaren Befehlscode enthält, definiert ist, der Prozeß führt außerdem Adressenberechnungen durch, die notwendig werden durch das Lesen oder Schreiben eines Datenwerts, der einem zuvor verarbeiteten Datenwert folgt, oder eines Datenwertes, der sich in einem festen Abstand zu einem zuvor verarbeiteten Datenwert befindet.
  • In virtueller Adressierungsbetriebsart werden diese Berechnungen auf logischen Adressen durchgeführt. Auf den Speicherbereich wird mittels logischer Seitenzahlen zugegriffen, die eine fortlaufende Folge bilden. Auf diese Weise wird die Berechnung einer neuen Adresse, die einer laufenden Adresse folgt, auf einfache Art ausgeführt, indem eine ganze Zahl zur laufenden Adresse hinzugefügt wird. Der Fall, in dem die neue Adresse aus einer logischen Seitenzahl besteht, die anders ist als diejenige der laufenden Adresse, stellt kein besonderes Problem dar. Es ist unwichtig, daß die physikalischen Seiten, auf die im Speicherbereich zugegriffen wird, eine bruchstückhafte Gesamtheit bilden. Der Mechanismus zur Verwaltung des virtuellen Adressenraums kümmert sich um die passende Zuordnung zwischen logischer Seitenzahl und physikalischer Seitenzahl.
  • Allerdings stellt sich in physikalischer Adressierungsbetriebsart des Speicherbereichs ein Problem, wenn die physikalischen Seitenzahlen, die den Bereich abdecken, nicht eine fortlaufende Reihe bilden. In der Tat besteht das Risiko, daß durch eine simple Addition zu einer laufenden Adresse eine physikalische Seitenzahl generiert wird, die nicht dem Speicherbereich zugeordnet ist. Andererseits bewirkt der Mechanismus zur Verwaltung des virtuellen Adressenraums im allgemeinen, daß sich die dem Speicherbereich zugeordneten physikalischen Seitenzahlen während der Ausführung der verschiedenen Prozesse auf der Maschine ändern.
  • Eine übliche Lösung besteht darin, vom Start der Maschine an einen Speicherbereich zu reservieren, auf den in physikalischer Adressierungsbetriebsart zugegriffen werden kann, indem eine fortlaufende Reihe von festgelegten physikalischen Seitenzahlen reserviert wird, d. h. Seitenzahlen, deren Zuordnung durch den Mechanismus der virtuellen Adressierung nicht verändert werden kann während die Maschine läuft.
  • Die übliche Lösung weist viele Nachteilen auf. Die reservierten Seitenzahlen verringern die Möglichkeiten des Mechanismus, zur Verwaltung des virtuellen Speichers physikalische Seitenzahlen logischen Seitenzahlen zuzuordnen. Es entstehen Schwierigkeiten, in der virtuellen Adressierungsbetriebsart einen Speicherbereich zu definieren, auf den in physikalischer Adressierungsbetriebsart zu einem beliebigen Zeitpunkt während die Maschine läuft, zugegriffen werden kann, weil der Mechanismus zur Verwaltung des virtuellen Adressierungsraumes in starkem Maße Gefahr läuft, logischen Seitenzahlen physikalische Seitenzahlen zuzuordnen, die keine fortlaufende Reihe bilden.
  • EP-A-0566421 offenbart Zeiger auf die in einer dafür vorgesehenen Struktur im Speicher enthaltenen virtuellen und physikalischen Adressen.
  • Um die zuvor genannten Nachteile zu überwinden, schlägt die Erfindung ein Verfahren vor, um in physikalischer Adressierungsbetriebsart zuzugreifen auf einen Speicherbereich einer Digitalverarbeitungsmaschine, auf den in virtueller Adressierungsbetriebsart mittels virtueller Adressen zugegriffen werden kann, von denen jede aus einer logischen Seitenzahl und einer relativen Adresse gebildet ist, auf eine betrachtete logische Seitenzahl, die einer gegebenen physikalischen Seitenzahl entspricht und auf eine an die betrachtete logische Seitenzahl angrenzende logische Seitenzahl, die einer anderen physikalischen Seitenzahl entspricht, die nicht notwendigerweise an die genannte gegebene physikalische Seitennummer angrenzt, dadurch gekennzeichnet, daß das Verfahren darin besteht, die genannte andere physikalische Seitenzahl an die Adresse zu schreiben, die gebildet ist aus der betrachteten logischen Seitenzahl und aus einer relativen Adresse eines ersten bestimmten Wertes.
  • Es ist damit möglich, auf einen gleichen Speicherbereich der Digitalverarbeitungsmaschine zuzugreifen, unabhängig davon, ob es sich um die physikalische Adressierungsbetriebsart oder die virtuelle Adressierungsbetriebsart handelt.
  • Gemäß einem bestimmten Ausführungsbeispiel ist das Verfahren dadurch gekennzeichnet, daß jede Inkrementierung einer früheren laufenden Adresse, die eine neue relative Adresse erzeugt, einen Vergleich der neuen relativen Adresse mit dem ersten bestimmten relativen Adressenwert hervorruft und eine neue laufende Adresse erzeugt, dergestalt, daß:
    • – die neue laufende Adresse gebildet ist aus der betrachteten logischen Seitenzahl für die virtuelle Adressierungsbetriebsart, aus der entsprechenden physikalischen Seitenzahl für die physikalische Adressierungsbetriebsart und aus der neuen relativen Adresse, die erzeugt wird, falls die neue relative Adresse unter dem ersten bestimmten relativen Adressenwert liegt,
    • – die neue laufende Adresse gebildet ist aus einer logischen Seitenzahl, die angrenzt an die betrachtete logische Seitenzahl für die virtuelle Adressierungsbetriebsart, aus der genannten anderen physikalischen Seitenzahl für die physikalische Adressierungsbetriebsart und aus einer relativen Adresse eines zweiten bestimmten Wertes, falls die neue relative Adresse über oder gleich dem ersten bestimmten relativen Adressenwert ist.
  • Die angefügten Zeichnungen illustrieren die Erfindung:
  • 1 wiederholt kurz die Funktionsweise einer segmentierten virtuellen Adressierung, deren Ausdrücke nützlich sein können zur Erklärung der Erfindung unter Bezug auf die folgenden Figuren.
  • 2 zeigt einen Speicherbereich, der die Erfindung anwendet.
  • 3 und 4 zeigen eine Maschine, die die Erfindung verwendet.
  • Unter Bezug auf diese Zeichnungen wird als effektive Adresse EA eine logische Einheit 113 bezeichnet, die im wesentlichen drei Felder STE, SPN und SPRA umfaßt. Das Feld STE enthält i Bits, um einen Tabelleneintrag des Segments 106 zu kodieren, das aus 2i Registern besteht. Beispielsweise enthält die Tabelle 106 sechzehn Register, falls i den Wert 4 hat. Jedes Register ist dafür vorgesehen, eine Anzahl m von Bits zu enthalten, um einen Segmentidentifizierer SD zu referenzieren. Damit kann ein Adressierungsraum in 2m virtuelle Speichersegmente unterteilt werden. Beispielsweise erlaubt es der Identifizierer SD sechzehn Mega-Segmente zu unterscheiden, wenn m den Wert 24 hat. Die Vorsilbe Mega ist hier im Sinn der Informatik zu verstehen, d. h. 1024 Kilo umfassend, wobei das Kilo selbst 1024 Einheiten umfaßt. Das Feld SPN enthält j Bits, um eine Seitenzahl im Segment zu kodieren. Ein Segment kann somit 2j unterschiedliche Seiten des virtuellen Speichers enthalten, beispielsweise 64 Kilo-Seiten, falls j den Wert 16 hat. Das Feld SPRA enthält k Bits, um eine relative Byte-Adresse innerhalb einer Seite zu kodieren, wobei das Byte die kleinste Einheit von Daten innerhalb der Informatik ist, im allgemeinen 8 oder 9 Bits, die durch das System adressierbar ist.
  • Eine Seite kann somit 2k Informatik-Bytes enthalten, z. B. 4 Kilo-Bytes, falls k den Wert 12 hat.
  • Eine Verknüpfung von Identifizierer des Segments SD und der Seitenzahl SPN ergibt eine logische Seitenzahl LPN 107. Es ist damit möglich, 2m+j unterschiedliche logische Seiten zu referenzieren, somit z. B. Tera-Seiten, falls m + j den Wert 40 hat. Indem die Bytes jeder Seite mittels des Feldes SPRA adressiert werden, ist es somit möglich, einen virtuellen Adreßraum von 4 Peta-Bytes zu erhalten, wobei die Vorsilben Tera und Peta wieder im Sinne der Informatik zu verstehen sind.
  • Eine Tabelle LPT 110 der logischen Seiten erlaubt es, eine physikalische Seitenzahl PPN einer gegebenen logischen Seitenzahl LPN zuzuordnen. Indem die physikalische Seitenzahl PPN mit einer relativen Adresse PRA in der so referenzierten Seite verknüpft wird, erhält man eine physikalische Byte-Adresse 112. Die relative Adresse PRA ist eine direkte Abschrift des Feldes SPRA. Falls z. B. die physikalische Seitenzahl auf 20 Bits kodiert ist, ist es möglich, eine physikalische Adresse zu erhalten, die auf 32 Bits kodiert ist, um auf einen physikalischen Speicher von 4 Mega-Byte zuzugreifen.
  • Unter den verschiedenen möglichen Mechanismen zur Verwendung der Tabelle 110 kann die aus dem Patent US4279014 von J-C. Cassonnet et al. genannt werden, aus dem verschiedene Bezugszeichen der 1 bewußt in der vorliegenden Beschreibung unter Verweis auf diese Figur wiederbenutzt werden.
  • Die virtuelle Adressierung erlaubt es, einen Adreßraum zu erhalten, der deutlich größer ist als der verfügbare physikalische Adreßraum. Der Fachmann kennt noch weitere Vorteile, wie beispielsweise das Erleichtern der dynamischen Herstellung von Verbindungen bei der Ausführung von Programmen.
  • Die beachtliche Größe des virtuellen Adreßraums bewirkt, daß zu einem bestimmten Augenblick eine logische Seitenzahl LPN nicht notwendigerweise in der Tabelle LPT referenziert ist. Es kann jedoch sein, daß eine physikalische Seitenzahl PPN im physikalischen Speicher existiert, die geeignet ist, der logischen Seitenzahl LPN zugeordnet zu werden.
  • Unter Bezugnahme auf 2 kann auf den physikalischen Speicher 1 einer Datenmaschine in virtueller Adressierungsbetriebsart mittels eines logischen Raums 2 zugegriffen werden. Ein Prozeß definiert im logischen Raum 2, daß ein Speicherbereich, der beispielsweise aus den Seiten 3 bis 7 besteht, die zusammenhängenden logischen Seitenzahlen i, i + 1, i + 2, i + 3, i + 4 hat. Die Seiten 3 bis 7 sind physikalisch im physikalischen Speicher 1 durch die Seiten 8 bis 12 respektive repräsentiert. Die Zahlen der physikalischen Seiten q, s, t, r, u bzw. der Seiten 8 bis 12 sind nicht notwendigerweise zusammenhängend, denn die Tabelle 110 ordnet jeder logischen Seitenzahl eine physikalische Seitenzahl zu in Abhängigkeit von den physikalischen Seitenzahlen q, r, s, t, u, die zum Zeitpunkt, zu dem die Zuordnung erfolgt, verfügbar sind.
  • Die Zuordnungen zwischen logischen Seitenzahlen i, i + 1, i + 2, i + 3, i + 4 und den physikalischen Seitenzahlen q, s, t, r, u werden eingefroren, um zu verhindern, daß die physikalischen Seitenzahlen q, r, s, t, u anderen logischen Seitenzahlen zugeordnet werden können, solange die Maschine Prozesse ausführt, die den Speicherbereich verwenden.
  • Gemäß dem Beispiel der 2, hat die Seite 3 des virtuellen Adreßraums 2 als physikalische Repräsentation die Seite 8 im Speicher 1 der Maschine. Die physikalische Seitenzahl q ist der logischen Seitenzahl i in der Tabelle 110 zugeordnet. Die Seite 4 des virtuellen Adreßraums 2 hat als physikalische Abbildung die Seite 9 im Speicher 1 der Maschine. Die physikalische Seitenzahl s ist der logischen Seitenzahl i + 1 in der Tabelle 110 zugeordnet.
  • Wenn ein Prozeß, der durch einen Prozessor in virtueller Adressierungsbetriebsart ausgeführt wird, von der Seite 3 auf die Seite 4 übergeht, genügt es ihm, die logische Seitenzahl zu inkrementieren. Im Gegensatz dazu kann ein Prozeß, der von einem Prozessor in physikalischer Adressierungsbetriebsart ausgeführt wird, nicht von der Seite 8 auf die Seite 9 durch eine einfache Inkrementierung der physikalischen Seitenzahl q übergehen, denn er würde dann eine Seite 18 der physikalischen Seitenzahl q + 1 adressieren, die nicht notwendigerweise der Seite 4 zugeordnet ist.
  • Ein erfindungsgemäßes Verfahren besteht darin, die physikalische Seitenzahl s an die Adresse zu schreiben, die aus der logischen Seitenzahl i und einer relativen Adresse 13 eines bestimmten Wertes besteht. Durch den Zuordnungsmechanismus findet sich deshalb die physikalische Seitenzahl an der relativen Adresse 13 der Seite 8 wieder.
  • Somit kann ein Prozeß, der von einem Prozessor in physikalischer Adressierungsbetriebsart ausgeführt wird, von der Seite 8 auf die Seite 9 übergehen, indem er zuvor auf der relativen Adresse 13 der Seite 8 die physikalische Seitenzahl s liest, die darin enthalten ist. Da die relative Adresse 13 von einem bestimmten Wert ist, wird der Prozeß dergestalt programmiert sein, daß er Kenntnis von diesem bestimmten Wert hat.
  • Da der in 2 dargestellte Speicherbereich aus den Seiten 3 bis 7 im virtuellen Adreßraum 2 besteht, ist es interessant, die physikalischen Seitenzahlen t, r, u an die Adresse zu schreiben, die aus der logischen Seitenzahl i + 1, i + 2, i + 3 und einer relativen Adresse 15, 16, 14 des bestimmten Werts besteht. Durch den Zuordnungsmechanismus finden sich damit die physikalischen Seiten t, r, u an der relativen Adresse 15 der Seite 9, der relativen Adresse 16 der Seite 10 bzw. an der relativen Adresse 14 der Seite 11 wieder. Abhängig von der Nutzung, für die der Speicherbereich bestimmt ist, kann vorgesehen werden, an die Adresse, die aus der logischen Seitenzahl i + 4 und einer relativen Adresse 17 des bestimmten Werts besteht, einen Indikator für das Ende des Speicherbereichs für eine rein sequentielle Verwendung, die physikalische Seitenzahl q für eine Verwendung mit zirkularem oder direktem Zugriff auf den Speicherbereich oder nichts zu schreiben, da keine Seite in virtueller Adressierungsbetriebsart auf die Seite 7 bzw. auf die Seite 12 in physikalischer Adressierungsbetriebsart folgt. Selbstverständlich ist der Zugriff in physikalischer Adressierungsbetriebsart auf den Speicherbereich durch einen Prozeß vereinfacht, wenn alle relativen Adressen 13 bis 16 oder 17 vom gleichen bestimmten Wert sind.
  • Bestimmte Prozesse benutzen einen Speicherbereich durch aufeinanderfolgende Inkrementierung der Adressen im Speicherbereich. Das ist beispielsweise der Fall für Prozesse, die sequentiellen Programmcode ohne Verzweigungen ausführen. Das ist auch der Fall beispielsweise für Prozesse, die einen Speicherbereich füllen oder leeren, der einem Puffer, einem Stapel oder einer Tabelle zugewiesen ist.
  • Das erfindungsgemäße Verfahren bietet einen zusätzlichen Vorteil für diese spezielle Art von Prozessen, wenn jede Inkrementierung einer früheren laufenden Adresse der logischen Seitenzahl i oder der physikalischen Seitenzahl q, die eine neue relative Adresse erzeugt, einen Vergleich der neuen relativen Adresse mit dem ersten bestimmten relativen Adressenwert 13 hervorruft und eine neue laufende Adresse erzeugt, dergestalt, daß:
    • – die neue laufende Adresse gebildet ist aus der betrachteten logischen Seitenzahl i für die virtuelle Adressierungsbetriebsart, aus der entsprechenden physikalischen Seitenzahl q für die physikalische Adressierungsbetriebsart und aus der neuen relativen Adresse, die erzeugt wird, falls die neue relative Adresse unter dem ersten bestimmten relativen Adressenwert 13 liegt,
    • – die neue laufende Adresse gebildet ist aus einer logischen Seitenzahl i + 1, die angrenzt an die betrachtete logische Seitenzahl i für die virtuelle Adressierungsbetriebsart, aus der anderen physikalischen Seitenzahl s für die physikalische Adressierungsbetriebsart und aus einer relativen Adresse eines zweiten bestimmten Wertes, falls die neue relative Adresse über oder gleich dem ersten bestimmten relativen Adressenwert 13 ist.
  • Indem man als zweiten bestimmten Wert den Wert Null nimmt, greift die neue laufende Adresse auf den Anfang der folgenden Seite zu, sobald sie den ersten bestimmten Wert der Adresse 13 erreicht.
  • Indem man als ersten bestimmten Wert denjenigen der letzten Adresse nimmt, auf die von der laufenden Seite zugegriffen werden kann, verwendet man also in einer Seite, und bevor man auf die folgende Seite übergeht, die Gesamtheit der Bytes, die sie bilden weniger denen, die notwendig sind, um die physikalische Seitenzahl der folgenden Seite zu speichern.
  • Unter Bezugnahme auf 3, umfaßt eine Maschine 19 einen oder mehrere Prozessoren 20, die auf den Speicher 1 der Maschine mit Hilfe eines Bussystems 21 zugreifen.
  • Im nicht einschränkenden Beispiel besteht ein Speicherbereich im Speicher 1 aus zwei Reihen von Seiten, wobei jede einen Puffer realisiert, in dem der Prozessor 20 Daten, die aufeinanderfolgen, schreiben oder lesen kann. Der erste Puffer besteht aus den Seiten mit den physikalischen Seitenzahlen d1 bis f1, unter denen die physikalische Seitenzahl c1 diejenige der laufenden Seite ist, auf die vom Prozessor 20 lesend oder schreibend zugegriffen wird. Die Zahl c1 kann einen beliebigen Wert aus denen annehmen, die durch eine Verkettung definiert sind, die derjenigen, die unter Bezugnahme auf 2 beschrieben wurde, ähnelt, einschließlich der Zahlen d1 und f1, in dem Fall ist die Seite c1 gleich mit der Seite d1 bzw. f1. Eine Unterbrechung 23 in der Verbindung zwischen dem Ende der Seite mit der Zahl d1 und dem Anfang der Seite mit der Zahl c1 stellt die Tatsache dar, daß eine beliebige Anzahl von Seiten zwischen diesen beiden Seiten verkettet sein kann, einschließlich der Tatsache, daß diese Seiten miteinander gleich sein können. Eine Unterbrechung 24 in der Verbindung zwischen dem Ende der Seite mit der Zahl c1 und dem Anfang der Seite mit der Zahl f1 stellt die Tatsache dar, daß eine beliebige Anzahl von Seiten zwischen diesen beiden Seiten verkettet sein kann, einschließlich der Tatsache, daß diese Seiten miteinander gleich sein können.
  • Entsprechend besteht der zweite Puffer aus den Seiten mit den physikalischen Seitenzahlen d2 bis f2, unter denen die physikalische Seitenzahl c2 die der laufenden Seite ist, auf die durch den Prozessor 20 lesend oder schreibend zugegriffen wird.
  • Ein Steuerblock 22 ist auf einer Seite enthalten, die dem Speicherbereich eigens zugewiesen ist, unterschieden von den zuvor für diesen Bereich beschriebenen Seiten. Der Steuerblock 22 enthält unter anderem 12 Zeiger.
  • Ein Zeiger r_beg_wptr enthält eine reelle Anfangsadresse Ar1, ein Zeiger r_end_wptr enthält eine reelle Endadresse Ar3 und ein Zeiger r_cur_wptr enthält eine reelle laufende Adresse Ar2 des Puffers, um schreibend auf diesen Puffer in physikalischer Adressierungsbetriebsart zuzugreifen.
  • Ein Zeiger r_beg_rptr enthält eine reelle Anfangsadresse Ar4, ein Zeiger r_end_rptr enthält eine reelle Endadresse Ar6 und ein Zeiger r_cur_rptr enthält eine reelle laufende Adresse Ar5 des Puffers für einen Lesezugriff auf diesen Puffer in physikalischer Adressierungsbetriebsart.
  • Ein Zeiger v_beg_wptr enthält eine effektive Anfangsadresse Av1, ein Zeiger v_end_wptr enthält eine effektive Endadresse Av3 und ein Zeiger v_cur_wptr enthält eine effektive laufende Adresse Av2 des Puffers für einen Schreibzugriff auf diesen Puffer in virtueller Adressierungsbetriebsart.
  • Ein Zeiger v_beg_rptr enthält eine effektive Anfangsadresse Av4, ein Zeiger v_end_rptr enthält eine effektive Endadresse Av6 und ein Zeiger v_cur_rptr enthält eine effektive laufende Adresse Av5 des Puffers für einen Lesezugriff auf diesen Puffer in virtueller Adressierungsbetriebsart.
  • Der Mechanismus für die virtuelle Adressierung, so wie er mit Bezug auf 1 beschrieben wurde, ordnet jeder effektiven Adresse 113 der Werte Av1 bis Av6 eine reelle Adresse 112 der respektiven Werte Ar1 bis Ar6 zu. Die Verwendung des erfindungsgemäßen Verfahrens wie unter Bezug auf 4 beschrieben, erlaubt es, die reellen Adressen Ar1, Ar2, Ar3, Ar4, Ar5, Ar6 identisch zu machen den Werten, die in den respektiven Zeigern r_beg_wptr, r_cur_wptr, r_end_wptr, r_beg_rptr, r_cur_rptr, r_end_rptr enthalten sind.
  • Die Ausführung des Verfahrens gemäß 4 ist besonders nützlich für alternierende Füll- und Entleervorgänge für zwei Puffer durch Prozesse, die von Prozessoren sowohl in physikalischer Adressierungsbetriebsart als auch in virtueller Adressierungsbetriebsart ausgeführt werden. Diese Anwendung ist z. B. nützlich, um die Ablaufverfolgung 84 eines Ereignisses durchzuführen, die während der Prozeßausführung durch die Maschine stattfindet. Die Ablauf verfolgung 84 wird bei jedem Befehl 77, der vom einem Prozeß generiert wird, aktiviert.
  • Ein Vorbereitungsschritt 79 dient dazu, zwei Puffer zu definieren, die vorübergehend die protokollierten Ereignisse aufnehmen, bevor sie in einem Massenspeicher der Maschine abgelegt werden. Ein Speicherbereich von 2n Seiten wird in virtueller Adressierungsbetriebsart reserviert. Die virtuelle Adressierungsbetriebsart wird für die Reservierung der 2n Seiten empfohlen, denn der Schritt 79 findet während des Betriebs der Maschine statt und die reservierten Seiten werden physikalisch im Speicher 1 mittels des Mechanismus zur virtuellen Adressierung unter den verfügbaren Seiten genommen werden, die eventuell im Speicher 1 verstreut sind. Eine Anzahl n von Seiten ist für einen laufenden Puffer vorgesehen, und eine Anzahl n von Seiten ist für einen Hilfspuffer vorgesehen. Die so reservierten Seiten sind bis zu Ihrer Freigabe festgelegt. Die Freigabe der Seiten erfolgt beispielsweise, wenn man keine Ereignisse mehr verfolgen will.
  • Immer noch in der virtuellen Adressierungsbetriebsart im Schritt 79, wird der Steuerblock 22 erzeugt. Eine Anfangsadresse Av1 des laufenden Puffers wird in den Zeiger v_beg_wptr und in den Zeiger v_cur_wptr geschrieben. Eine Endadresse Av3 des laufenden Puffers wird in den Zeiger v_end_wptr geschrieben. Der Unterschied zwischen den Adreßwerten Av1 und Av3 ist ungefähr gleich n Mal dem Inhalt einer Seite. Eine Anfangsadresse Av4 des Hilfspuffers wird in den Zeiger v_beg_rptr und in den Zeiger v_cur_rptr geschrieben. Eine Endadresse Av6 des Hilfspuffers wird in den Zeiger v_end_rptr geschrieben. Der Unterschied zwischen den Adreßwerten Av4 und Av6 ist ungefähr gleich n Mal dem Inhalt einer Seite. Die physikalischen Adressen, auch reelle Adressen Ar1, Ar3, Ar4, Ar6 genannt, die den Adressen in der virtuellen Adressierungsbetriebsart Av1, Av3, Av4 bzw. Av6 entsprechen, werden ausgehend von der Zuordnungstabelle 110 berechnet, siehe 1. Die Adressen Ar1, Ar3, Ar4, Ar6 werden in die Zeiger r_beg_wptr und r_cur_wptr, r_end_wptr, r_beg_rptr und r_cur_rptr, bzw. r_end_rptr geschrieben.
  • Somit wird der laufende Puffer durch die Zeiger v_beg_wptr, v_cur_wptr, r_beg_wptr und r_cur_wptr initialisiert, die auf den Anfang der Seite d1 zeigen, in indirekter Weise für die zwei ersteren und direkt für die zwei letzteren und durch die Zeiger v_end_wptr und r_end_wptr, die auf das Ende der Seite f1 zeigen, indirekt für den ersteren und direkt für den zweiten. Entsprechend wird der Hilfspuffer initialisiert durch die Zeiger v_beg_rptr, v_cur_rptr, r_beg_rptr und r_cur_rptr, die auf den Anfang der Seite d2 zeigen, in indirekter Weise für die zwei ersteren und direkt für die zwei letzteren und durch die Zeiger v_end_rptr und r_end_rptr, die auf das Ende der Seite f2 zeigen, in indirekter Weise für den ersteren und direkt für den zweiten.
  • Immer noch im Schritt 79 in der virtuellen Adressierungsbetriebsart, erlaubt es ein Lesen der Tabelle 110 jede physikalische Seitenzahl PPN zu kennen, die einer logischen Seitenzahl LPN des initialisierten Hilfspuffers und des initialisierten laufenden Puffers entspricht. Auf die logische Seitenzahl LPN der ersten Seite des laufenden Puffers folgt eine logische Seitenzahl LPN + 1, der in der Tabelle 110 eine physikalische Seitenzahl PPN(LPN + 1) entspricht. Eine Adresse, die aus der Zahl PPN(LPN + 1) und einer relativen Adresse, die Null ist, besteht, wird an das Ende der Seite mit der logischen Seitenzahl LPN geschrieben. Das Ende der Seite wird definiert durch eine Adresse mit einem bestimmten Wert wie beispielsweise der des letzten Bytes der Seite, verringert um die Anzahl der Bytes, die vorgesehen sind, um je Paket in den laufenden Puffer geschrieben zu werden. Die vorangegangene Operation wird für jede Seitenzahl LPN + i wiederholt bis i = n – 1, wie PPN(LPN + n – 1) = f1. Die gleichen Operationen werden für die Seiten des Hilfspuffers ausgeführt.
  • Nach dem Schritt 84 testet ein Schritt 85, ob der laufende Puffer voll ist. Der Test erfolgt sowohl in physikalischer Adressierungsbetriebsart als auch in virtueller Adressierungsbetriebsart durch das Lesen des Zeigers v_cur_wptr und des Zeigers v_end_wptr. Liegt der Wert des Zeigers v_cur_wptr deutlich unter dem Wert des Zeigers v_end_wptr, so ist der laufende Puffer nicht voll und ein Schritt 86 wird aktiviert. Ansonsten ist der laufende Puffer voll und ein Schritt 89 wird aktiviert.
  • In Schritt 86 erfolgt ein Füllen des laufenden Puffers durch das Schreiben eines Datenpakets an die Adresse, die in dem Zeiger v_cur_wptr in virtueller Adressierungsbetriebsart enthalten ist oder an die Adresse, die in dem Zeiger r_cur_wptr in physikalischer Adressierungsbetriebsart enthalten ist. Ein Wert, der der Größe der als Adressen geschriebenen Daten entspricht, ist dem Inhalt der Zeiger v_cur_wptr und r_cur_wptr hinzugefügt. Falls der relative Adreßteil des Inhalts des Zeigers v_cur_wptr oder der Inhalt des Zeigers r_cur_wptr den relativen Adressenteil der Adresse mit festem Wert (Ende der Seite) erreicht oder überschreitet, wird der relative Adressenteil des Inhalts der beiden Zeiger ersetzt durch einen Wert Null, der Teil logische Seitenzahl des Inhalts des Zeigers v_cur_wptr wird um eine Einheit inkrementiert und der Teil physikalische Seitenzahl des Inhalts des Zeigers r_cur_wptr wird ersetzt durch die physikalische Seitenzahl PPN, die an der Adresse des bestimmten Wertes enthalten ist. So wie die Zeiger v_cur_wptr und r_cur_wptr am Ende des Schritts 79, in der virtuellen Adressierungsbetriebsart und in der physikalischen Adressierungsbetriebsart auf ein gleiches Byte am Anfang der Seite d1 zeigten, zeigen die Zeiger v_cur_wptr und r_cur_wptr bei jeder Aktivierung des Schritts 86 in der virtuellen Adressierungsbetriebsart und in der physikalischen Adressierungsbetriebsart auf ein gleiches Byte einer laufenden Seite c1.
  • Folgend auf Schritt 86 überprüft ein Schritt 87, ob der laufende Puffer voll ist. Der Test erfolgt sowohl in physikalischer Adressierungsbetriebsart als auch in virtueller Adressierungsbetriebsart durch Lesen des Zeigers v_cur_wptr und des Zeigers v_end_wptr. Falls der Wert des Zeigers v_cur_wptr deutlich unter dem Wert des Zeigers v_end_wptr liegt, ist der laufende Puffer nicht voll und ein Schritt 88 wird aktiviert. Anderenfalls ist der laufende Puffer voll und ein Schritt 89 wird aktiviert.
  • Der Schritt 88 leitet zurück auf den folgenden Befehl 78 des gerade ausgeführten Prozesses.
  • Der Schritt 89 überprüft, ob der Hilfspuffer leer ist. Der Test erfolgt sowohl in der physikalischen Adressierungsbetriebsart wie auch in der virtuellen Adressierungsbetriebsart durch Lesen des Zeigers v_cur_rptr und des Zeigers v_beg_rptr. Falls der Wert des Zeigers v_cur_rptr gleich ist dem Wert des Zeigers v_beg_rptr, ist der Hilfspuffer leer und ein Schritt 91 wird aktiviert. Anderenfalls ist der Hilfspuffer nicht leer und der Schritt 88 wird aktiviert.
  • Der Schritt 91 bewirkt einen Austausch des Hilfspuffers mit dem laufenden Puffer, indem der Inhalt der Zeiger r_cur_wptr und v_cur_wptr durch den Inhalt der Zeiger r_beg_wptr bzw. v_beg_wptr ersetzt wird, und der Inhalt der Zeiger r_beg_wptr, r_cur_wptr und r_end_wptr ersetzt wird durch den Inhalt der Zeiger r_beg_rptr, r_cur_rptr bzw. r_end_rptr und umgekehrt, und indem der Inhalt der Zeiger v_beg_wptr, v_cur_wptr und v_end_wptr ersetzt wird durch den Inhalt der Zeiger v_beg_rptr, v_cur_rptr bzw. v_end_rptr und umgekehrt.
  • Nach jedem Durchlaufen des Schritts 91, wird der Puffer, der im Schritt 89 der Hilfspuffer war, der neue laufende Puffer und der Puffer, der der laufende Puffer war, wird der neue Hilfspuffer. Nach mehrfachem Durchlaufen des Schritts 91, ist der Zustand der Maschine 19 z. B. der, der in 3 dargestellt ist, in dem der neue Hilfstampon aus den Seiten d2, ..., c2, ..., f2 besteht. Auf Schritt 91 folgt ein Schritt 90.
  • In Schritt 90 wird ein Leeren des Hilfspuffers in asynchroner Form aktiviert, d. h., einmal aktiviert, erfolgt das Leeren parallel, unabhängig vom Ablauf der Schritte der 4. Das Leeren erfolgt immer in virtueller Adressierungsbetriebsart: Es wird durchgeführt, indem ein Datenpaket an der Adresse gelesen wird, die im Zeiger v_cur_rptr ursprünglich gleich dem Inhalt des Zeigers v_beg_rptr enthalten ist, und anschließend dieses Datenpaket in einen Massenspeicher geschrieben wird. Dies wird nach den darauffolgenden Aktionen wiederholt, bis der Inhalt des Zeigers v_cur_rptr gleich ist dem Inhalt des Zeigers v_end_rptr. Ein Wert, der der Größe der in Form von Adressen gelesenen Daten entspricht, wird dem Inhalt des Zeigers v_cur_rptr hinzugefügt. Falls der relative Adressenteil des Inhalts des Zeigers v_cur_rptr den relativen Adreßteil der Adresse des bestimmten Werts (Ende der Seite) erreicht oder übersteigt, wird der relative Adressenteil des Inhalts des Zeigers durch einen Wert Null ersetzt; der Teil der logischen Seitenzahl des Inhalts des Zeigers v_cur_rpt wird um eine Einheit inkrementiert. Am Ende des Schritts 90, werden die Zeiger v_cur_rptr und r_cur_rptr mit dem Inhalt der Zeiger v_beg_rptr bzw. r_beg_rptr aktualisiert. Sie zeigen damit in der virtuellen Adressierungsbetriebsart bzw. in der physikalischen Adressierungsbetriebsart auf ein gleiches Byte am Anfang der Seite d2.
  • Folgend auf die Aktivierung des Leerens in Schritt 90 wird der Schritt 86 aktiviert dergestalt, daß das Datenpaket, das durch Schritt 84 beschafft wurde, in den neuen laufenden Speicher geschrieben wird.

Claims (5)

  1. Verfahren, um in physikalischer Adressierungsbetriebsart zuzugreifen auf einen Speicherbereich einer Digitalverarbeitungsmaschine (19), auf den in virtueller Adressierungsbetriebsart mittels virtueller Adressen zugegriffen werden kann, von denen jede aus einer logischen Seitenzahl (LPN) und einer relativen Adresse (SPRA) gebildet ist, auf eine betrachtete logische Seitenzahl (i), die einer physikalischen Seitenzahl (q) entspricht und auf eine an die betrachtete logische Seitenzahl (i) angrenzende logische Seitenzahl (i + 1), die einer anderen physikalischen Seitenzahl (s) entspricht, die nicht notwendigerweise an die genannte gegebene physikalische Seitennummer (q) angrenzt, dadurch gekennzeichnet, daß das Verfahren darin besteht, die genannte andere physikalische Seitenzahl (s) an die Adresse zu schreiben, die gebildet ist aus der betrachteten logischen Seitenzahl (i) und aus einer relativen Adresse eines ersten bestimmten Wertes.
  2. Verfahren nach Anspruch 1, um in physikalischer Adressierungsbetriebsart auf einen Speicherbereich einer Digitalverarbeitungsmaschine (19) zuzugreifen, dadurch gekennzeichnet, daß jede Inkrementierung einer früheren laufenden Adresse, die eine neue relative Adresse erzeugt, einen Vergleich der neuen relativen Adresse mit dem ersten bestimmten relativen Adressenwert hervorruft und eine neue laufende Adresse erzeugt, dergestalt, daß: – die neue laufende Adresse gebildet ist aus der betrachteten logischen Seitenzahl (i) für die virtuelle Adressierungsbetriebsart, aus der entsprechenden physikalischen Seitenzahl (q) für die physikalische Adressierungsbetriebsart und aus der neuen relativen Adresse, die erzeugt wird, falls die neue relative Adresse unter dem ersten bestimmten relativen Adressenwert liegt, – die neue laufende Adresse gebildet ist aus einer logischen Seitenzahl (i + 1), die angrenzt an die betrachtete logische Seitenzahl (i) für die virtuelle Adressierungsbetriebsart, aus der genannten anderen physikalischen Seitenzahl (s) für die physikalische Adressierungsbetriebsart und aus einer relativen Adresse eines zweiten bestimmten Wertes, falls die neue relative Adresse über oder gleich dem ersten bestimmten relativen Adressenwert ist.
  3. Verfahren nach Anspruch 1 oder 2, um in physikalischer Adressierungsbetriebsart auf einen Speicherbereich einer Digitalverarbeitungsmaschine (19) zuzugreifen, dadurch gekennzeichnet, daß das Verfahren darin besteht, in einem Steuerblock (22) des genannten Speicherbereichs eine effektive Adresse (Av1) plus eine entsprechende physikalische Adresse (Ar1) des Speicherbereichanfangs, eine im Speicherbereich laufende effektive Adresse (Av2) plus eine entsprechende physikalische Adresse (Ar2) und eine effektive Adresse (Av3) plus eine entsprechende physikalische Adresse (Ar3) des Speicherbereichendes zu speichern.
  4. Digitalverarbeitungsmaschine (19) umfassend einen Speicherbereich, auf den zugegriffen werden kann mittels virtueller Adressen, von denen jede gebildet ist aus einer logischen Seitenzahl (LPN) und einer relativen Adresse (SPRA), auf eine betrachtete logische Seitenzahl (i), die einer physikalischen Seitenzahl (q) entspricht und auf eine an die betrachtete logische Seitenzahl (i) angrenzende logische Seitenzahl (i + 1), die einer anderen physikalischen Seitenzahl (s) entspricht, die nicht notwendigerweise an die genannte gegebene physikalische Seitennummer (q) angrenzt, dadurch gekennzeichnet, daß der Speicherbereich an der Adresse, die gebildet ist aus der betrachteten logischen Seitenzahl (i) und aus einer relativen Adresse eines ersten bestimmten Wertes, die genannte andere physikalische Seitenzahl (s) enthält.
  5. Digitalverarbeitungsmaschine nach Anspruch 4, dadurch gekennzeichnet, daß sie einen Steuerblock (22) zum Steuern des Speicherbereichs umfaßt, enthaltend eine effektive Adresse (Av1) und eine physikalische Adresse (Ar1) des Speicherbereichanfangs, eine laufende effektive Adresse (Av2) und eine laufende physikalische Adresse (Ar2) im Speicherbereich, eine effektive Adresse (Av3) und eine physikalische Adresse (Ar3) des Speicherbereichendes.
DE69937585T 1998-04-15 1999-04-14 Verfahren zum willkürlichen Zugriff auf einen Speicherbereich einer digitalen Verarbeitungsvorrichtung in einem physikalischen Adressierungsmodus und einem virtuellen Adressierungsmodus und Vorrichtung zur Durchführung des Verfahrens Expired - Lifetime DE69937585T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9804692A FR2777672B1 (fr) 1998-04-15 1998-04-15 Procede pour acceder indifferemment en mode d'adressage physique et en mode d'adressage virtuel a une meme zone memoire de machine de traitement numerique et machine mettant en oeuvre ce procede
FR9804692 1998-04-15

Publications (2)

Publication Number Publication Date
DE69937585D1 DE69937585D1 (de) 2008-01-03
DE69937585T2 true DE69937585T2 (de) 2008-10-23

Family

ID=9525263

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69937585T Expired - Lifetime DE69937585T2 (de) 1998-04-15 1999-04-14 Verfahren zum willkürlichen Zugriff auf einen Speicherbereich einer digitalen Verarbeitungsvorrichtung in einem physikalischen Adressierungsmodus und einem virtuellen Adressierungsmodus und Vorrichtung zur Durchführung des Verfahrens

Country Status (4)

Country Link
US (1) US6272613B1 (de)
EP (1) EP0950957B1 (de)
DE (1) DE69937585T2 (de)
FR (1) FR2777672B1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001016702A1 (en) * 1999-09-01 2001-03-08 Intel Corporation Register set used in multithreaded parallel processor architecture
US6782466B1 (en) * 1999-11-24 2004-08-24 Koninklijke Philips Electronics N.V. Arrangement and method for accessing data in a virtual memory arrangement
US20040193833A1 (en) * 2003-03-27 2004-09-30 Kathryn Hampton Physical mode addressing
US20040193832A1 (en) * 2003-03-27 2004-09-30 Garcia David J. Physical mode windows
US7617376B2 (en) * 2003-08-14 2009-11-10 Hewlett-Packard Development Company, L.P. Method and apparatus for accessing a memory
US7203813B1 (en) * 2003-11-24 2007-04-10 American Megatrends, Inc. Methods, computer systems, and computer readable media for changing module pointer values upon switches between different modes of memory addressing
KR100885783B1 (ko) * 2007-01-23 2009-02-26 주식회사 하이닉스반도체 플래시 메모리 장치 및 동작 방법
US20100325374A1 (en) * 2009-06-17 2010-12-23 Sun Microsystems, Inc. Dynamically configuring memory interleaving for locality and performance isolation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2400729A1 (fr) * 1977-08-17 1979-03-16 Cii Honeywell Bull Dispositif pour la transformation d'adresses virtuelles en adresses physiques dans un systeme de traitement de donnees
US5220669A (en) * 1988-02-10 1993-06-15 International Business Machines Corporation Linkage mechanism for program isolation
US4951194A (en) * 1989-01-23 1990-08-21 Tektronix, Inc. Method for reducing memory allocations and data copying operations during program calling sequences
US5274811A (en) * 1989-06-19 1993-12-28 Digital Equipment Corporation Method for quickly acquiring and using very long traces of mixed system and user memory references
US5657471A (en) * 1992-04-16 1997-08-12 Digital Equipment Corporation Dual addressing arrangement for a communications interface architecture

Also Published As

Publication number Publication date
EP0950957A1 (de) 1999-10-20
EP0950957B1 (de) 2007-11-21
FR2777672B1 (fr) 2000-05-19
FR2777672A1 (fr) 1999-10-22
DE69937585D1 (de) 2008-01-03
US6272613B1 (en) 2001-08-07

Similar Documents

Publication Publication Date Title
DE2455047C2 (de) Datenverarbeitungssystem mit einem Informationsspeicher
DE3011552C2 (de)
EP1393184B1 (de) Vorrichtung und verfahren zum ermitteln einer physikalischen adresse aus einer virtuellen adresse unter verwendung einer hierarchischen abbildungsvorschrift mit komprimierten knoten
DE2431379A1 (de) Datenverarbeitungseinrichtung
CH657218A5 (de) Mehrbenuetzer-datenverarbeitungsmaschine mit virtuellem speicher.
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2725718A1 (de) Verarbeitungssystem mit mehreren virtuellen adressenraeumen
DE2445617A1 (de) Hierarchische speicheranordnung
DE3726192A1 (de) Stacksteuerung
DE2517302C2 (de) Mehrprogramm-Datenverarbeitungsgerät
DE2339636A1 (de) Programmsteuereinrichtung
DE2218839C3 (de) Einrichtung zur Zuteilung von Speicheradressen zu einer Gruppe von Datenelementen
DE69937585T2 (de) Verfahren zum willkürlichen Zugriff auf einen Speicherbereich einer digitalen Verarbeitungsvorrichtung in einem physikalischen Adressierungsmodus und einem virtuellen Adressierungsmodus und Vorrichtung zur Durchführung des Verfahrens
DE60036667T2 (de) Prozess zur Seitenfreigebung für virtuellen Adressierungsmechanismus
DE2556357A1 (de) Adressiereinrichtung
DE19905541A1 (de) Verfahren zum Steuern des Speicherzugriffs in einer Maschine mit einem Speicher mit ungleichmäßigem Zugriff und Maschine zur Ausführung eines solchen Verfahrens
DE2842288A1 (de) Datentransferschalter mit assoziativer adressauswahl in einem virtuellen speicher
DE2714106A1 (de) Verfahren zum zwischenspeichern von informationen in einem fifo-speicher
DE2601379C3 (de) Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle Adressen
WO2004042740A1 (de) Verfahren zum betreiben einer speicheranordnung
DE2419522A1 (de) Verfahren und anordnung zur unterteilung eines oder mehrerer nicht benutzter bereiche eines mit einem rechner verbundenen speichers
WO1998049622A1 (de) Chipkarte mit speicherzugriffsmaximierung und protokollierung
DE2302379C3 (de) Schaltungsanordnung zum Durchführen von sequentiell ablaufenden Eingabe/Ausgabeoperationen bei einer mit virtueller Adressierung arbeitenden Datenverarbeitungsanlage
DE4342521C1 (de) Verfahren und Anordnung zur Expansion komprimierter Daten
DE69925183T2 (de) Verfahren zur Speicherung und Auspacken von Objektattributen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition