[go: up one dir, main page]

DE2350884A1 - Datenverarbeitungssystem - Google Patents

Datenverarbeitungssystem

Info

Publication number
DE2350884A1
DE2350884A1 DE19732350884 DE2350884A DE2350884A1 DE 2350884 A1 DE2350884 A1 DE 2350884A1 DE 19732350884 DE19732350884 DE 19732350884 DE 2350884 A DE2350884 A DE 2350884A DE 2350884 A1 DE2350884 A1 DE 2350884A1
Authority
DE
Germany
Prior art keywords
address
page
register
virtual
memory
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
DE19732350884
Other languages
English (en)
Other versions
DE2350884C2 (de
Inventor
Robert C Gray
De Goor H A Van
Larry P Wade
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of DE2350884A1 publication Critical patent/DE2350884A1/de
Priority to CH1314174A priority Critical patent/CH583406A5/de
Application granted granted Critical
Publication of DE2350884C2 publication Critical patent/DE2350884C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/652Page size control

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)
  • Memory System (AREA)

Description

PIPL.-PHYS. F. ENDLICH ecm untfrpfaf.-enhofe.-i 8.Okt. 1973
PATENTANWALT pootfach - Ki/Ktz
2 3 B 0 8 8 4 TELEFON (M0NCHEN, 84 36 3a
D1PL.-PHYS. F. ENDLICH. Θ034 UNTERPFAFFENHOFEN. POSTFACH CABLE ADDRESS: PATENDLICH MÜNCHEN
TELEX S 212 3OB
Meine Akte: D-3369
Anmelderin: Digital Equipment Corporation Maynard, Massachusetts, USA
Datenverarbeitungssystem
Die Erfindung betrifft ein Datenverarbeitungssystem und insbesondere ein in einem solchen Datenverarbeitungssystem verwendetes Sirektzugriff-Speichersystem.
Direktzugriff-Speieher speichern Befehle, die als Programme angeordnet sind und Daten zum Wiederauffinden mittels einer zentralen Recheneinheit entsprechen. Die zentrale Recheneinheit führt Befehle der Reihe nach durch und benutzt die Daten, um andere Daten zu erzeugen, die sie dann in dem Direktzugriff-Speicher speichern kann. Jeder Speicherplatz in dem Direktzugriff-Speicher ist gekennzeichnet durch eine eindeutige physikalisch vorhandene Adresse, welche vorgesehen sein muß, um Daten oder Befehle aus dem Speicher zu erhalten oder um Daten oder Befehle in dem Speicher zu speichern.
409816/0918
In Standard-DatenverarbeitungssystenPerzeugt die zentrale Secheneinheit eine Zahl, welche die physikalisch vorhandene bzw. die physikalische Adresse ist. Diese Zahl kann eine bestimmte, genaue oder implizit physikalisch vorhandene Adresse sein. Implizit physikalische Adressen werden durch bekannte Indexierungs-, direkte oder verzögerte Adressierungsverfahren erzeugt.
Moderne Datenverarbeitungssysteme sind oft für eine Anzahl von Benutzer zugänglich und in derartigen Fällen arbeiten sie in einem "Mehrfach- bzw. Multiprogrammverarbeitungsbetrieb11. Um eine maximale Erleichterung zu schaffen, hat jeder Benutzer eine "virtuelle" Maschine. Die einzelnen Programmierer schreiben ihr Programm so als ob es für sich durchlaufen würde; das Programm kann folglich alle Systemhilfsquellen verwenden. Das System schafft die Dienstleistungen, die notwendig sind,, um das Programm zu unterstützen und es im Betrieb mit anderen Programmen zu koordinieren. Diese physikalisch vorhandene Hardware in dem System wird mit einem Organisationsprogramm verknüpft, um eine leistungsfähigere Hardware-Einrichtung zu simulieren, für welche die Programme geschrieben sind. Mit dieser Art von Multiprogrammverarbeitung hat jeder Benutzer in jeder Hinsicht sein eigenes, ihm zur Verfügung gestelltes Rechnersystem.
Moderne Datenverarbeitungssysteme verarbeiten auch im sogenannten "time-sharing" zwei oder mehr Programme. Obwohl Befehle in jedem Programm nacheinander tatsächlich ausgeführt werden, bestimmt ein Organisationssteuerprogramm, wieviel von einem einzelnen Programm zu einer bestimmten Zeit ausgeführt v/ird. Die zentrale Recheneinheit scheint dann auf mehreren Programmen gleichzeitig su arbeiten. Das "time-sharing"-Verfahren enthält somit auch die Multiprogrammverarbeitung.
- 3 -16/0918
Die Multiprogrammverarbeitung führt zu einer Adressierungsschwierigkeit. Der Programmierer oder das Organisationspro gramm müssen sicher sein, daß Adressen in einem Programm nicht in Widerspruch stehen zu physikalisch vorhandenen Adressen in einem anderen Programm. Herkömmliche, physikalische Adressierbegriffe sind daher schwierig in einer Multiprogrammverarbeitungsumgebung auszuführen.
Datenverarbeitungssysteme mit Multiprogrammverarbeitung verwenden daher eine "virtuelle Adressierung". Bei einer virtuellen Adressierung schreibt ein Programmierer sein Programm, als ob das Programm für sich selbst in einer eigenen oder einer virtuellen Maschinen durchläuft. Verschiedene Programme können sich daher auf dieselbe virtuelle Adresse beziehen, dies sind aber verschiedene physikalisch vorhandene Adressen.
In höher entwickelten Systemen werden Programme auch in Hilfs-oder ErgänzungsSpeichereinrichtungen gespeichert. Wenn das Organisationsprogramm einen Bedarf an einem speziellen, besonderen Programm feststellt, geht es in den Speicher an einen ersten Satz oder eine erste Gruppe von physikalisch vorhandenen Daten. Danach kehrt das Programm wieder zu der Hilfs- bzw. Ergänzungsspeichereinheit zurück. Zu einem späteren Zeitpunkt kann es abgerufen, aber in einer anderen Gruppe von physikalischen Adressen gespeichert werden. Die virtuellen Programmadressen ändern sich jedoch nicht.
Eine zentrale Recheneinheit muß daher virtuelle Adressen in physikalische Adressen umsetzen. Hierbei ist es äußerst wichtig und in der Praxis unerläßlich, daß die zentrale Recheneinheit verschiedene Einrichtungen enthält, um sicherzustellen, daß die Umsetzungen richtig durchgeführt werden,
409816/0918
_ 4 —
so daß eine virtuelle Adresse in einem Programm sich nur auf ihre entsprechend physikalische Adresse und nicht auf irgendeine andere physikalische Adresse bezieht, welche derselben virtuellen Adresse in einem anderen Programm entspricht.
Um den Transfer von Programmen und Daten zwischen Speichern zu vereinfachen, v/eisen bekannte Datenverarbeitungssysteme Einrichtungen auf, um entweder den Direktzugriffspeicher oder derartige Hilfs- bzw. Ergänzungsspeicher in Form von Magnetplatten- oder Magnettrommelspeichern zu segmentieren. Grundsätzlich unterteilen diese Systeme eine Speichereinheit beliebig in sogenannte "Seiten". Jede Seite hat eine feste Länge; d.h., die Anzahl Speicherstellen in einer Seite ändert sich nicht von Seite zu Seite. Da die Platzausnutzung in einem Speicher ein wichtiger Gesichtspunkt ist, muß die Seitenlänge in einem System mit seitenfester Länge sorgfältig ausgewählt werden. Wenn die Seiten zu lang sind, befindet sich ein kurzes Programm an nur wenigen Stellen, so daß die restlichen Stellen nicht verwendet werden. Andererseits beeinflussen die Transferseiten zwischen den Hilfs- und Hauptspeichern ganz wesentlich die Zeit, die zur Durchführung eines Programms erforderlich ist. Wenn kurze Seitenlängen verwendet werden, um die Speicherausnutzung zu erhöhen, dann kann ein einziges Programm verschiedene Seiten belegen und verschiedene Übertragungen erfordern, wodurch die Arbeitsgeschwindigkeit verlangsamt wird.
Bei bekannten Datenverarbeitungssystemen ist die Speicherplatzausnutzung in Hilfs- bzw. Ergänzungsspeiehereinrichtungen, wie Magnetplatten- und Magnettrommeleinheiten, aber nicht in einem Hauptspeicher bis zum äußersten ausgenutzt. Bei einer solchen Ausführungsform ist die Hilfsspeichereinrichtung
- 5 409816/0918
in eine Anzahl sehr kleiner Seiten aufgeteilt, und es kann ein einziges Programm auf einer Anzahl aufeinanderfolgender Seiten gespeichert werden. Wenn die zentrale Recheneinheit aas Programm braucht, überträgt sie es in eine erste Seite. Die Seitengröße ist so gewählt, daß die zentrale Recheneinheit alle Befehle auf der Seite ausführen kann, bevor die nächste Seite für einen Transfer zur Verfügung steht. Die zentrale Recheneinheit kann dann entweder die nachfolgenden Seiten ausführen oder umgehen. In diesem System wirkt ein Organisationsprogramm, wenn eine Seite nicht hintereinander gerufen wird, auf ein anderes Programm zurück, indem die zentrale Recheneinheit Hilfsquellen verschiebt. Bei dieser Ausführungsform wird aber für die Übertragungen viel Betriebszeit verbraucht, da jede kurze Seite einen gesonderten Transfer erfordert.
Aufgabe der Erfindung ist es daher, die Leistungsfähigkeit eines Datenverarbeitungssystems, das in einer Multiprogrammverarbeitung arbeitet, insgesamt zu verbessern. Weiterhin soll die Erfindung ein Datenverarbeitungssystem schaffen, bei welchem die Zeit auf ein Minimum herabgesetzt ist, die zur Durchführung von Programmen in einem Multiprogrammverarbeitungssystem erforderlich ist. Ferner soll die Erfindung ein Datenverarbeitungssystem schaffen, in welchem Pragramme in einem Speicher vom Standpunkt der Speicherplatzausnutzung wirksam gespeichert werden.
Gemäß der Erfindung schreibt ein Programmierer sein Programm mit virtuellen Adressen. Wenn die zentrale Recheneinheit ein vorgegebenes Programm ausführt, setzt sie die virtuellen Adressen in dem Programm in die entsprechenden physikalischen Adressen um. Auch ordnet sie Blöcke oder Speicherseiten zur Speicherung des Programmes zu und bestimmt im einzelnen die Länge der Seite, so daß jede Seitenlänge für das Programm, das sie enthält, optimal ausgelegt ist. Auf diese
- 6 409816/0918
Weise kann das Datenverarbeitungssystem arbeiten, so daß jede Seitenlänge für das Programm, daßsie enthält, optimal ausgelegt ist. Auf diese Weise kann das Datenverarbeitungssystem auch arbeiten, indem es eine volle Seite während einer einzigen Trantferoperation überträgt. Die Transferseiten können auf diese Weise erheblich vermindert werden. Andererseits ist die Anzahl der nicht benutzten Speicherstellen auf einer vorgegebenen Seite auf ein Minimum zurückgeführt, so daß die Speicherplatzausnutzung verbessert ist.
Die Erfindung betrifft somit ein Verfahren zur Umsetzung virtueller Adressen in physikalisch vorhandene Adressen in einem Datenverarbeitungssystem. Hierbei werden mit höherwertigen Bits einer virtuellen Adresse ein Seitenadressenregister ausgewählt. Ein Zwischen- bzw. Mittelteil der virtuellen Adresse und der Inhalt eines ausgewählten Seitenadressenregisters werden verknüpft und neben einen dritten !Teil gesetzt, der niedrigerwertige Bits der virtuellen Adresse aufweist um eine physikalisch vorhandene Adresse zu erzeugen. Während geder Umsetzung werden der zweite Teil der virtuellen Adresse und ein Feld in einem Seiten-Deskriptorregister, das dem Seitenadressenregister entspricht^verglichen, um festzustellen, ob die Adresse nach einer Bezugsspeicherstelle außerhalb des zugeordneten Platzes sucht. Wenn diese Bedingung besteht, kann ein Organisationsprοgramm den Inhalt sowohl des Seitenadressen- als auch des Seitendeskriptorregisters ändern, um dadurch den Inhalt der Bezugsspeicherstellen und neue physikalische Adressen neu zu adressieren, ohne die virtuellen Adressen zu ändern.
Weitere Einzelheiten und Vorteile der Erfindung werden nachfolgend anhand von bevorzugten Ausführungsbeispielen unter Bezugnahme auf die beigefügten Zeichnungen erläutert. Es zeigen:
Fig. i ein Blockschaltbild eines Datenverarbeitungssystems gemäß der Erfindung;
409816/0918 - 7 -
Fig. 2 ein 'Blockschaltbild der in Fig. 1 dargestellten Speicher-Kanagementeinheit;
Fig. 5 eine grafische Darstellung eines Seitenadressenregisters und eines Seiten-Deskriptorregisters, die in der in Fig. 2 dargestellten Schaltung verwendet sind;
Fig. 4 ein Ablaufdiagramm, in welchem die Schritte einer Adressenumsetzung dargestellt sind; und
Fig."5 ein Ablaufdiagramm, in welchem der zeitliche Ablauf in der in Fig. 2 dargestellten Schaltung wiedergegeben ist.
In Fig. 1 sind eine zentrale Recheneinheit 10, ein Magnetkernspeicher 11, ein Magnetplattenspeicher 12 und andere periphere Einrichtungen 15 parallel an eine Verteilerschiene oder Hauptleitung 14 geschaltet. Der Magnetkernspeicher 11 ist ein Arbeitsspeicher für die zentrale Recheneinheit 10. Gemäß der Erfindung kann die zentrale Recheneinheit 10 unter Steuerung eines Organisationsprogramms zwei oder mehr in der Speichereinheit 11 gespeicherte "Verbraucherprogramme ausführen und ferner erforderlichenfalls Programme zwischen dem Magnetkernspeicher 11 und dem Magnetplattenspeicher 12 verschieben, um eine wirksame Verarbeitung der verschiedenen Verbraucherprogramme zu fördern. Gemäß der Erfindung kann jedes Programm für seine Ausführung erforderlichenfalls irgendeine Systemhilfsquelle benutzen. Die Steuerung, welche jeder Programmierer mit einer virtuellen Einrichtung schafft, ist in einer Speicher-Managementeinheit 15 enthalten, welche an die zentrale Recheneinheit 10 und an Adressenleitungen in der Hauptleitung angeschlossen ist.
409816/0918
Die Speicher-Managementeinheit 15 erhält über eine virtuelle Adressenvielfachleitung 17 eine virtuelle Adresse von einem Vielfachleitungs-Adressenmultiplexer 16 in der zentralen Recheneinheit 10. Eine Vielfachleitung 20 erhält Daten von einem internen BR-Register 21, welches Daten von mehreren Quellen in der zentralen Recheneinheit 10 erhalten kann. Eine weitere Vielfachleitung 22 schafft einen Datenweg von der Managementeinheit 15 zu einem internen Datenregister (INTD) 23. Steuersignale gelangen von der Steuereinheit 24 in der zentralen Recheneinheit 10 über eine Steuerleitung zu der Speicher-Managementeinheit 15·
Die Zahl der Speicherstellen, welche die zentrale Recheneinheit 10 unmittelbar adressieren kann, wird von der Bitanzahl in einer Adresse gesteuert. Wenn beispielsweise
16 eine Adresse 16 Bits erhält, können nur 2 Worte direkt adressiert werden. Bei einer Multiprogrammverarbeitung kann
jedoch die Speichereinheit 2 Speicherstellen und mehr erfordern. Die Speicher-Managementeinheit 15 gemäß der Erfindung setzt die virtuelle Adresse in eine physikalisch vorhandene Adresse um; d.h. sie setzt eine virtuelle 16-Bit-Adresse ■ in eine eindeutige physikalisch vorhandene 18-Bit-Adresse in dem Magnetkernspeicher 11 um. Die Speicher-Managementeinheit 15 steuert auch die sogenannte Seitenbildung und bemißt jede Seite bezüglich des Programms, welches sie enthält, um ungenutzten Kernspeicherraum für nicht benutzte Seitenteile und damit die Anzahl von Speicherübertragungen auf ein Minimum herabzusetzen.
In Fig. 2 ist eine Speicher-Managementeinheit 15 im einzelnen dargestellt. Diese Einheit kann in einer zentralen Recheneinheit 10 verwendet werden, welche im Kern-, Überwachungsund Benutzer-bzw. Anwenderbetrieb arbeiten kann. Es erfolgt eine entsprechend Programmunterteilung in Kern-, Überwachungs-
- 9 409816/0918
und Benutzer- bzw. Anwenderprogramme. In der Praxis stellen die Kern- und Überwachungsprogramme ein gesamtes- Organisationsprogramm dar. Das Grund-Kernprogramm ermöglicht es Operationen durchzuführen, während das Überwachungsprogramm bestimmte priviligierte Operationen nicht durchführen kann, aber verschiedene Bedienungs- bzw. Dienstprogramme schaffen kann, die in dem Organisationsprogramm oder in dem Benutzer- bzw» Anwenderprogramm verwendbar sind. Ein weiterer Schutz gegen eine Abwandlung des Überwachungsprogramms durch das Anwenderprogramm oder des Kernprogramms entweder durch das Überwachungsprogramm oder durch Anwender- bzw. Benutzerprogramme, resultiert aus Speicherprogrammen in gesonderten Adressenabschnitten. D.h., die physikalische Speicherstelle in dem Kernspeicher 11 ist unterteilt in Kern-, Überwachungs- und Benutzerabschnitte bzw. Sektoren.
Die in Fig. 2 dargestellte Speicher-Managementeinheit 15 arbeitet in Verbindung mit einer zentralen Recheneinheit, welche im Kern-, Überwachungs- "and AnwBnderbetrieb betreibbar ist, in einem Datenverarbeitungssystem. Sobald eine virtuelle Adresse auf der Adressenverteilerleitung 17 anliegt, werden Teile der Adresse in einem Adressenpuffer 30 einem physikalischen Adressenmultiplexer 31 und einer Adressentreiber- bzw. Ansteuerschaltung 32 gespeichert, welche schließlich die physikalisch vorhandene Adresse auf der Vielfachleitung 26, welche an die Adressenleitungen in der Hauptleitung 14 angeschlossen ist9 erzeugte
Um eine physikalische Adresse zu erzeugen, benötigt die Einheit 15 zusätzliche Daten«. Diese Daten sind in einer Reihe von Seiten-Adressenregistern gespeichert9 welche in Gruppen bzw. Sätzen gruppiert sinds die dem jeweiligen Betriebszustand entsprechenο Seitenregister 3^ sind folglich Kernregister9 während die Sätze oder Gruppen 35 und 36 Über-
- 10 £09816/0918
wachungs- bzxv. Anwenderregister sind. ·
Jeder Satz von Seiten-Ädressenregister ist unterteilt in Befehls- und Daten-Teilsätze. In der folgenden Beschreibung ist mit dem Bezugszeichen 3^1 ein Befehls-Seitenadressenregister und mit dem Besugsseiehen 3^D ein entsprechendes Daten-Seitenadressenregister bezeichnet.
Eine Einlese- bzw. Eingabeleitung 40 schafft Adressenbits, um ein spezielles Seitenadressenregister in Jedem Satz zu kennzeichnen, und führt höherwertige Bits der virtuellen Adresse; beispielsweise wird mit den drei höherwertigen Bits in der virtuellen Adresse eine von acht Registern in jedem Satz ausgewählt. Der ausgewählte Registerinhalt wird dann in eine Seitenadressenregister-Vielfachleitung 41 abgegeben. Jedes Malfwenn Adressenbits auf der Eingabeleitung 40 anliegen, werden die Daten auf der Vielfachleitung 41 erhalten. Eine Einschreibleitung 42 führt ebenfalls Adressen und erzeugt eine Schreiöperation, wodurch Daten auf der Vielfachleitung 20 in eines der ausgewählten Register eingelesen werden.
Ein zweiter Satz von Registern ist jeweils einem Seitenadressenregister zugeordnet. Es gibt Seiten-Deskriptorregister 43 bis 45t äie in ähnlicher Weise in Daten-(D) und Befehls-(I)-Abschnitte unterteilt sind. Der Inhalt jedes Seitendeskriptorregisters erscheint gleichzeitfemit dem Inhalt des Seitenadressenregisters auf der Vielfachleitung 42. Der Inhalt des Seitendeskriptorregisters kann auch durch Anliegen der richtigen Adresse auf der Einschreibleitung 42 und von Daten auf der Vielfachleitung 20 geändert werden.
In Fig. 3 ist die Organisation eines Seitenadressen- und eines Seitenaeskrjji ©!»registers dargestellt. Das Seiten-
409816/0918
adressenregister enthält die Grundadresse einer Seite in der Speichereinheit 11 in Form eines 12-Bit Seitenadressenfeldes. Seine Benutzung wird später im einzelnen beschrieben. Das in Fig. 3 dargestellte Seitendeskriptorregister weist mehrere verschiedene Felder auf, welche mit Seitenexpansions-, Seitenlängen- und Zugriffssteuerfeld bezeichnet sind. Insbesondere ein Zugriffssteuerfeld ACF kennzeichnet die Art und Weise, in welcher eine Seite zugänglich sein kann. Wenn das Zugriffssteuerfeld ACF getastet ist, um einen nichtresidenten Zugriff zu kennzeichnen, erzeugt eine Abbruch-(abort) und Fang-(trap)Decodiereinheit 53 ein nicht-residentes Fehlersignal. Festwert- und Fang- oder nur Festwerteinstellungen für das Zugriffssteuerfeld bewirken eine Steuerung in der Speicher-Managementeinheit 15» um irgendwelche weiteren Operationen nicht abzubrechen (abort); die Einheit 4-3 . erzeugt einen Festwertfehler.
Wenn das Zugriffssteuerfeld ACF einen Festwert und eine Fangstelle (read-only-and-trap) kennzeichnet, hält dies die zentrale Recheneinheit 10 an einer bestimmten Stelle im Kernraum (kernel space) in der Magnetspeichereinheit 10 fest. Eine Lese-Schreib- und -Fangeinstellung (trap setting) für das Zugriffssteuerfeld bewirkt, daß die Einheit einen Speicher-Management-Trap an einer Stelle in dem Kernspeicher bei Abschluß entweder einer Lese- oder einer Schreib-Operation durchmacht, während eine Lese-Schreib- und Fang-Operation für eine Leseeinstellung nur den Sprung (trap) bei Beendigung einer Schreiboperation bewirkt. Wenn eine Lese-Schreibeinstellung durch den Inhalt des Zugriffssteuerfelds ACF bestimmt wird, dann kommen Lese- oder Schreib-Operationen ohne irgendwelche Sprung- oder Abbruchsignale von der Fangoder Abbruch-Decodiereinheit vor.
- 12 -
409816/0918
Das nächste höchstwertige Bit (das Bit 3) ist ein ED-Bit, welches die Richtung bestimmt, in weicher sich eine Seite in dem Magnetkernspeicher 11 ausdehnt. Beispielsweise bezeichnet ED = 1 eine Seite, welche sich nach unten ausdehnt (d.h. aufeinanderfolgende Speicherstellen werden durch Verringern einer Adresse erhalten), während ED = O eine Aufwärtsexpansion anzeigt.
Ein Bit 6 (das W-Bit) wird jedesmal dann gesetzt (d.h. W = 1) wenn der Inhalt einer Seite geändert wird. Die Steuereinheit 44 und die Organisationsprogramme überwachen den Zeitpunkt einer Wechsel- bzw. Tauschoperation. Wenn das W-Bit gesetzt wird, dann muß die Seite wieder in den Magnetplatten-Speicherplatz eingeschrieben werden, um dadurch den Inhalt an diesem Speicherplatz auf den neuesten Stand zu bringen. Im übrigen ist kein weiterer Rücktransfer erforderlich, und es wird eine einzige Transferoperation vorgenommen.
Ein Bit 7 (das Α-Bit) bestimmt, ob irgendein Speicherzugriff einen Speichermanagement-Sprung bzw. -Trap erzeugt hat. Dies ist für eine Speichermanagement-Statistik vorteilhaft. Das letzte Feld des Seitendeskriptorregisters weist die Bits bis 14 auf. Es ist ein Seitenlängenfeld und gibt die Länge einer Seite in einer Anzahl vorbestimmter Größenblocks an.
Im folgenden kann nunmehr erläutert werden, wie eine virtuelle Adresse zum Kennzeichnen und Identifizieren einer eindeutigen physikalischen vorhandenen Adresse verwendet werden kann. Die meist grafische Darstellung dieses Vorgangs ist aus Fig. 4, welche sieh auf Fig. 2 bezieht, zu ersehen. Die Erläuterung ist wieder auf eine virtuelle 16-Bit-Adresse in einem System beschränkt, das eine physikalisch vorhandene 18-Bit-Adresse erfordert.
- 13 409816/0918
Wenn eine virtuelle Adresse erhalten wird, wird sie in eine Adresse für ein Seitenfeld (die Bits 13 bis 15), eine Blockzahl (die Bits 6 bis 12) und eine Wortzahl (die Bits 9 bis 5) unterteilt. Wenn gerade numerierte, virtuelle Adressen aufeinanderfolgende WortSpeicherplätze kennzeichnen, dann läuft die Wortzahl in einem Modul von 32 Worten zyklisch um. Wenn daher die virtuelle Adresse um 32 Worten zunimmt, erhöht sich die Blockzahl um eins.
Die drei höherwertigen Bits werden an die in Fig. 2 dargestellte Leseverteilerleitung 40 angekoppelt, um ein Seitenadressenregister und ein entsprechendes Seitendeskriptorregister auszuwählen. Die sich ergebenden Daten werden an einen Multiplexer 45 und an einen Eingang eines Addierers angekoppelt. Der Adressenpuffer 30 koppelt die Blockzahl der virtuellen Adresse an einen anderen Eingang des Addierers 46 in einer Weise an, daß die Blockzahl und das Seitenadressenfeld richtig ausgerichtet sind. Die sich ergebende Adresse wird dann über den Multiplexer 31 an die höherwertigen Bits der Adressensteuerschaltung 32 angeordnet, wo sie neben die Wortzahl der virtuellen Adresse gestellt wird, welche die niedrigstwertigen Bitstellen einnimmt. Wie in Fig. 4 dargestellt, enthält daher die physikalische Adresse 18 Bits. Sechs Bits sind die ursprüngliche Wortzahl und die übrigen 12 Bits werden durch Hinzuaddieren der Blockzahl und der Basisadresse für eine Seite gebildet, welche aus dem Seitenadressenregister erhalten wird, das durch die drei höherwertigen Bits in der virtuellen Adresse gekennzeichnet ist.
Yor der Erläuterung des Flußdiagramms der Fig. 5j welches die zeitliche Aufeinanderfolge für die Speicher-Managementeinheit festlegt, dürfte es zweckmäßig sein, die weiteren Elemente zu erläutern, welche die Speicher-Managementeinheit der Fig. 2 enthält. Ein SEO-Register 50 weist drei mit dem
- 14 409816/0918
Bezugszeichen 50a» 50b und 50c bseichnete Grundabschnitte auf. Dieses Eegister enthält Abbruch-Fehleranzeigen, eine. Speichermanagement-Freigabe und Trap-Fehleranzeigen und speichert weitere wesentliche Informationen, die von dem Organisationsprogramm gefordert werden, um einen Abbruch abzufangen oder um einen Speichermanagement-Trap zu unterhalten.
Ein SE1-Register 51 nimmt jede Information hinsichtlich der automatischen Zunahme- oder Verringerungsoperationen auf. Diese Information wird dann beim Abfangen einer Abbruch-Operation verwendet.
Ein SR2~Begister 52 speichert die virtuelle Adresse am Anfang jedes Befehls oder die Adresse eines Unterbrechungsprogramms zu Beginn einer Unterbrechungsoperatxon. Dieses Eegister weist einen virtuellen Adressenprogrammzähler auf.
Das SRJ-Register 53 speichert schließlich einen Befehl oder eine Datenplatz-Steuerinformation. Dies ist für jeden Modus eine Einbit-Stelle in dem SR3-Register 53· Wenn ein Speicherplatz in dem Modusbit nicht gesetzt ist, dann wird die Registerauswahl von den Sätzen 34·, 35 oder 36 auf den Befehlsabschnitt beschränkt.
Das SR3-Register 53 kann Daten für die Verteilerleitung 22 an die niedrigstwertigen Bitleitungen verschieben. Signale von jeder der übrigen SR-Register 50, 51 und 52 sind über einen internen Leitungsdaten-Multiplexer 54· an die Verteilerleitung 22 angekoppelt. Der interne Leitungsdaten-Multiplexer 54- erhält auch Daten von dem Multiplexer 55·
In Fig. 5 ist die zeitliche Aufeinanderfolge der einzelnen Schritte für die Speicher-Managementeinheit dargestellt,
- 15 409816/0918
welche auf die zentrale Recheneinheit 10 anspricht, die eine virtuelle Adresse erzeugt. Zuerst liegt eine Adresse an der Verteilerleitung 17 an, wie im Schritt 60 dargestellt ist. Beim Schritt 61 bestimmt die Steuereinheit 4-4-, ob die Speicher-Managementeinheit 15 für eine Umsetzung ausgelöst wird. Dies erfolgt durch Prüfen einer bestimmten Bitstelle in dem SRO-Register 50. Wenn die Speicher-Managementeinheit 15 nicht ausgelöst wird, dann findet keine Umsetzung statt und die virtuelle Adresse ist die physikalisch vorhandene Adresse.
Bei dem Schritt 62 bestimmt die Steuereinheit 44- den Betriebsmodus für die zentrale Recheneinheit 10 und verzweigt sich in Abhängigkeit von dem Modus zu einer folgenden Operation. Mittels einer Verzweigung in dem Kernmodus (kernel mode) wird durch Steuereinheit 44 aus dem Inhalt des "zwei"-Bit in dem SR3-Register 53 bestimmt, ob die virtuelle Adresse in einem Datenteil liegt (Schritt 63). Mit dem Schritt 64 wird ein Seitenadressenregister und ein Seitendeskriptorregister aus dem Register 34D aufgrund der virtuellen Adresse ausgewählt. Insbesondere die drei höchstwertigen Bits in der virtuellen Adressen kennzeichnen bzw. identifizieren eines der acht Seitenadressen- und Seitendeskriptorregister.
Analoge Operationen werden durchgeführt, wenn bei dem Schritt 62 zu einem Programm 66 zur Auswahl eines Überwachungsregisters oder beim Schritt 67 zur Auswahl eines Benutzer- oder Anwenderregisters umgelenkt wird. Der Grundunterschied besteht darin, daß in dem Schritt 63 analogen Schritten die Steuereinheit Bits in dem SR3-Register 53 prüft, die der Kon/^troll- oder Überwachungs- bzw. der Benutzerbetriebsart entsprechen.
- 16 -
0 9 816/0918
Nachdem eine Seite gewählt ist, wird beim Schritt 70 das Zugriffssteuerfeld (die Bits O bis 3) in dem ausgewählten Seitendeskriptorregister im Hinblick auf die geforderte Operation geprüft. Wenn während des Schritts 71 festgestellt wird, daß die Steuereinheit 4-4 weitere Adressieroperationen abbrechen sollte, wird beim Schritt 72 eine Abbruch-Folge durchgeführt. Diese Folge kommt beispielsweise vor, wenn ein Versuch gemacht wird, in einen Speicherplatz etwas einzuschreiben, wenn das ZugriffsSteuerfeld ACE des Speicherdeskriptorregisters für Festwertoperationen gesetzt ist.
Wenn dagegen die Folge nicht abgebrochen werden muß, dann wird im Schritt 73 von dem Zugriffssteuerfeld ACi1 des Speicherdeskriptorregisters aus bestimmt, ob im Schritt 74-eine Trap-Fehleranzeige (Trap flag) in dem SRO-Register gesetzt werden sollte. Im Schritt 75 wird mittels der Steuereinheit 44 bestimmt, ob das Adressenfeld nach oben oder unten zu erweitern ist. Dies wird auf der Basis des ED-Bits in dem Speicherdeskriptorregister durchgeführt. Wenn das EB-Bit gesetzt ist, wird von dem Schritt 75 zu dein Schritt 76 umgelenkt, wo die Blockzahl in der virtuellen Adresse und die Zahl in dem Seitenlängenfeld verglichen werden. Wenn die Blockzahl kleiner als die Zahl in dem Seitenlängenfeld ist, liegt eine ungültige Adresse vor und mittels der Steuereinheit 44 wird im Schritt 77 eine Abbruch-Folge durchgeführt.
Wenn die Adresse nach oben zu erweitern ist, xvird beim Schritt 75 zum Schritt 80 umgeleitet, in welchem die Blockzahl der virtuellen Adresse mit dem Seitenlängenfeld ver-
be
glichen xtfird. In diesem Fall wirkt eine größere Blockzahl ein Umlenken vom Schritt 80 zum Schritt 77; im übrigen wird vom Schritt 8o zu dem Schritt 81 umgelenkt, wenn die Steuereinheit 44 die physikalisch vorhandene Adresse an die
- 17 -' 409816/091 8
Verteilerleitung 26 überträgt. Diese Adresse wird, wie oben gezeigt, durch Verknüpfen der virtuellen Adresse und des Inhalts des Seitenadressenregisters erhalten.
Die Schaltung in Fig. 2 setzt daher automatisch durch Verwendung der Seitenadressen- und Seitendeskriptorregister eine virtuelle Adresse in eine physikalisch vorhandene Adresse um. Dies wird durchgeführt, ohne daß die Möglichkeit besteht, daß ein Programm unrichtig in den physikalisch vorhandenen Adressenstellen arbeitet, welche ein anderes Programm verwendet.
Wie aus den Schritten 76 und 80 zu ersehen ist, prüft die Steuereinheit 44 fortwährend, um zu bestimmen, ob eine Adresse als außerhalb eines gegebenen Feldes liegend angegeben wird. Wenn dies der Fall ist, kann das Organisationsprogramm das Feld nur dann ändern, indem aus einer Speicherbelegung von ungenutzten Speicherplätzen, die es zurückhält, ein physikalisch vorhandener Speicherbereich gefunden isLrd, der eine erweiterte Platzmenge aufnehmen kann. Das Organisationsprogramm bringt dann das entsprechende Seitenadressenregister durch Einspeichern einer neuen Seitenadresse und das Seitendeskriptorregister durch Ändern des Seitenlängenfelds auf den neuesten Stand oder ändert es. Wenn das Seitenlängenfeld durch eine bestimmte Blockzahl erhöht wird (d.h. 32-Wortblöcke in dem besonderen Ausführungsbeispiel), kann eine Seitenlänge in einem bestimmten speziellen Programm zugeschnitten werden, um die Speicherausnutzung maximal zu erhöhen. Fernerhin werden die Transferzeiten auf ein Minimum herabgesetzt, da eine einzige Transferoperation eine ganze· Seite bewegt. Infolgedessen schafft die in Fig. 1 und in Fig. 2 im einzelnen dargestellte Speicher-Managementeinheit 15 eine Umgebung für die Multiprogrammverarbeitung und für das sogenannte
- 18 A09816/0918
time-sharing, so daß die,zentrale Recheneinheit" sehr wirksam arbeiten kann. Selbstverständlich können auch mit anderen Ausführungsformen und Steuerfolgen dieselben Setzoperationen und Vorteile erreicht werden.
- Patentansprüche -
409818/0918 - 19 -

Claims (1)

  1. Patentansprüche'
    (Λ JDatenverarbeitungssystem mit einem Direktzugriff-Speicher mit einer Vielzahl von Speicherstellen, welche durch physikalisch vorhandene Adressen gekennzeichnet sind, und mit einer zentralen Recheneinheit zur Verarbeitung von Befehlen, welche virtuelle Adressen mit Hilfe von Adressendaten identifizieren,-wobei die Adresse auf einen Adressenbereich begrenzt ist, der kleiner als die Anzahl der Speicherstellen in dem Speicher sind, dadurch gekennzeichnets daß eine Einrichtung (15) zum Umsetzen der virtuellen Adressen in physikalisch vorhandene Adressen folgende Einrichtungen aufweist:
    A)Einrichtungen (34 bis 369 43 bis 45) zum Speichern einer Grundadresse, um eine bestimmte Speicherstelle in dem Direktzugriff-Speicher (11) zu kennzeichnen; B)eine Einrichtung (40) für einen ersten Teil der virtuellen Adresse, um die Basisseitenadresse zu erhalten;
    C)eine Einrichtung (46) zum Addieren eines zweiten Teils der virtuellen Adresse zu der Basisseitenadresse 9 xfelehe mehr digitale Stellen hat als der zweite Teil der virtuellen Adresse, um eine Zwischensumme zu erhalten; und D)eine Einrichtung (31)? um einen dritten Teil der virtuellen Adresse und die Zwischensumme nebeneinander zu setzen, um eine eindeutige physikalisch vorhandene Adresse zu erhalten.
    2. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet^ daß eine Basisregister-Speichereinheit eine Anzahl von Seitenadressenregistern (34 bis 36) jeweils zur Speicherung einer physikalisch vorhandenen Adresse, welche einen ersten Bereich von
    — 20 — 40981 6/091 8
    physikalisch vorhandenen Adressen festlegt, und ein Seitendeslzriptorre-jister (45 bis 45) aufweist, das jeweils den Scitenadressenrecistern (54 bis 36) entspricht und die Lünr_.e dec durch -Iac Seitenadressenroi'ister bestimmter: Leroichs identifiziert, wobei die Lucicadresco ein Seitenadressenregioter kennzeichnet.
    5- Dafccnverarbeitur.fvssystem nach den Ansprüchen 1 und 2, [; e.ken η zeichnet durch eine Einrichtung (44), welche auf die virtuelle Adresse und das Seitenlängenfeld in den Seitenadressenregister anspricht, um eine Bezugnahme auf den Direktzugriff-Speicher (11) zu beenden, wenn die sich ergebende physikalisch vorhandene Adresse außerhalb der Seite liegt.
    4. Datenverarbeitungssystem nach einem der Ansprüche 1 bis J, gekennzeichnet durch eine Einrichtung (20,42) zur wahlweisen Änderung des Seitenlängenfeldes in dem Seitendeskriptorregister (43 bis 45).
    5. Datenverarbeitungssystem nach den Ansprüchen 3 und 4, dadurch gekennzeichnet, daß die Beendigungseinrichtung eine fehlererzeugende Einrichtung sowie darauf ansprechende Einrichtungen (20,42 bis 45) aufweist, um den Inhalt des Seitendeskriptorregisters zu ändern.
    6. Datenverarbeitungssystem nach den Ansprüchen 4,und 5? dadurch gekennzeichnet, daß die Änderungseinrichtung zusätzlich den Inhalt des Seitenadressenregisters ändert.
    7. Datenverarbeitungssystem nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß die zentrale Recheneinheit (10) in Mehrfachbetrieb betreibbar ist, wobei die Speichersteuereinheit einen Satz Seitenadressenregister
    409816/0918 - - 21 -
    BAD OFtKaINAL
    bio 3ύ) lind Seitendeskriptorregister (43 bis· für ,jede Betriebsart aufweist.
    8. Datenverarbeitungssystem nach den Ansprüchen 2 bin 7» dadurch gekennzeichnet, dai- ,jedes der Seibenadressen- und Seitendeskriptorregister in Befehlssätze und Datensätze getrennt sind.
    9· Datenverarbeitungssystem, insbesondere nach den Ansprüchen 1 bis 3, mit einem Direktzugriff-Speicher mit einer Vielzahl von physikalisch vorhandenen, adressierten Speicherstellen, und mit einer zentralen .Recheneinheit zur Verarbeitung eines in dem Direktzugriff-Speicher gespeicherten Programms, welches zur Operation in einer virtuellen Einrichtung eingeschrieben ist und virtuelle Adressen aufweist, dadurch gekennzeichnet, da£ eine Speichersteuereinheit zum Umsetzen von virtuellen Adressen ir: physikalisch vorhandene Adressen folgende Einrichtungen aufweist:
    eine Anzahl von Seitenadressenregistern (34 bis 36) jeweils zur Speicherung der physikalisch vorhandenen Adresse, welche einen ersten Bereich der physikalischen Actessen bestimmt;
    ein Seitendeskriptorregister (43 bis 45), welches jeweils den Seitenadressenregistern (34- bis 36) entspricht und die Länge des durch das Seitenadressenregister bestimmten Bereichs kennzeichnet;
    eine Einrichtung, die auf einen Teil einer virtuellen Adresse zur Kennzeichnung eines Seitenadressenregisters anspricht und dem Seitendeskriptorregister entspricht; eine Einrichtung, welche auf den Seitenadressenregister-Inhalt und einen zweiten Teil der virtuellen Adresse zur Erzeugung eines Teils einer physikalischen Adresse anspricht, welche einen Speicherstellenblock in der Seite kennzeichnet;
    - 22 4 0 9 8 1 6/0918
    COPY BÄD oMGINAL
    und eine Einrichtung, welche auf die virtuelle Adresse und das Seikenlöngenfeld in dem Seitenadressenregister zur Beendigung einer Bezugnahme auf den Direktzugriffspeicher anspricht, wenn die sich ergebende physikalische Adresse außerhalb der Seite liegt.
    409816/0918
    BAD ΟΛ,
    ti
    Leerseite
DE2350884A 1972-10-10 1973-10-10 Adreßumsetzungseinheit Expired DE2350884C2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CH1314174A CH583406A5 (en) 1973-10-10 1974-09-30 Cannon with target-seeking appts. - fitted beneath horizontal plane beneath cannon's horizontal pivot axis

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US00296026A US3854126A (en) 1972-10-10 1972-10-10 Circuit for converting virtual addresses into physical addresses

Publications (2)

Publication Number Publication Date
DE2350884A1 true DE2350884A1 (de) 1974-04-18
DE2350884C2 DE2350884C2 (de) 1986-05-15

Family

ID=23140281

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2350884A Expired DE2350884C2 (de) 1972-10-10 1973-10-10 Adreßumsetzungseinheit

Country Status (6)

Country Link
US (1) US3854126A (de)
JP (1) JPS4994240A (de)
CA (1) CA995822A (de)
DE (1) DE2350884C2 (de)
GB (1) GB1413739A (de)
IE (1) IE38700B1 (de)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4010451A (en) * 1972-10-03 1977-03-01 National Research Development Corporation Data structure processor
FR129151A (de) * 1974-02-09
US3956739A (en) * 1974-03-06 1976-05-11 Ontel Corporation Data transfer system
FR2269150B1 (de) * 1974-04-25 1977-10-28 Honeywell Bull Soc Ind
JPS5615066B2 (de) * 1974-06-13 1981-04-08
US3990051A (en) * 1975-03-26 1976-11-02 Honeywell Information Systems, Inc. Memory steering in a data processing system
US3976978A (en) * 1975-03-26 1976-08-24 Honeywell Information Systems, Inc. Method of generating addresses to a paged memory
US4037214A (en) * 1976-04-30 1977-07-19 International Business Machines Corporation Key register controlled accessing system
US4037215A (en) * 1976-04-30 1977-07-19 International Business Machines Corporation Key controlled address relocation translation system
JPS533029A (en) * 1976-06-30 1978-01-12 Toshiba Corp Electronic computer
GB1601955A (en) * 1977-10-21 1981-11-04 Marconi Co Ltd Data processing systems
US4285040A (en) * 1977-11-04 1981-08-18 Sperry Corporation Dual mode virtual-to-real address translation mechanism
US4241401A (en) * 1977-12-19 1980-12-23 Sperry Corporation Virtual address translator utilizing interrupt level code
US4218743A (en) * 1978-07-17 1980-08-19 International Business Machines Corporation Address translation apparatus
US4388685A (en) * 1978-08-04 1983-06-14 Digital Equipment Corporation Central processor with apparatus for extended virtual addressing
US4277826A (en) * 1978-10-23 1981-07-07 Collins Robert W Synchronizing mechanism for page replacement control
US4254463A (en) * 1978-12-14 1981-03-03 Rockwell International Corporation Data processing system with address translation
JPS55105763A (en) * 1979-02-05 1980-08-13 Fanuc Ltd Address instruction system
US4295192A (en) * 1979-04-13 1981-10-13 Sperry Rand Corporation Row address memory map overlap
BE876025A (nl) * 1979-05-04 1979-11-05 Bell Telephone Mfg Signaleringsstelsel
GB2062912B (en) * 1979-09-29 1983-09-14 Plessey Co Ltd Data processing system including internal register addressing arrangements
US4507781A (en) * 1980-03-14 1985-03-26 Ibm Corporation Time domain multiple access broadcasting, multipoint, and conferencing communication apparatus and method
US4393443A (en) * 1980-05-20 1983-07-12 Tektronix, Inc. Memory mapping system
JPS5734251A (en) * 1980-08-07 1982-02-24 Toshiba Corp Address conversion and generating system
US4574349A (en) * 1981-03-30 1986-03-04 International Business Machines Corp. Apparatus for addressing a larger number of instruction addressable central processor registers than can be identified by a program instruction
US4509115A (en) * 1982-04-21 1985-04-02 Digital Equipment Corporation Two-port memory controller
US4550368A (en) * 1982-07-02 1985-10-29 Sun Microsystems, Inc. High-speed memory and memory management system
US4926316A (en) * 1982-09-29 1990-05-15 Apple Computer, Inc. Memory management unit with overlapping control for accessing main memory of a digital computer
US4710868A (en) * 1984-06-29 1987-12-01 International Business Machines Corporation Interconnect scheme for shared memory local networks
JPS61190638A (ja) * 1985-02-20 1986-08-25 Hitachi Ltd 仮想計算機のフアイル制御方式
US4868738A (en) * 1985-08-15 1989-09-19 Lanier Business Products, Inc. Operating system independent virtual memory computer system
US4694395A (en) * 1985-11-25 1987-09-15 Ncr Corporation System for performing virtual look-ahead memory operations
US4891752A (en) * 1987-03-03 1990-01-02 Tandon Corporation Multimode expanded memory space addressing system using independently generated DMA channel selection and DMA page address signals
US5101339A (en) * 1987-08-10 1992-03-31 Tandon Corporation Computer address modification system using writable mapping and page stores
JPS6488661A (en) * 1987-09-29 1989-04-03 Toshiba Corp Virtual memory control and management system
JP2507756B2 (ja) * 1987-10-05 1996-06-19 株式会社日立製作所 情報処理装置
NL8800858A (nl) * 1988-04-05 1989-11-01 Philips Nv Rekenmachinesysteem voorzien van een hoofdbus en een tussen processor en geheugen direkt verbonden extra kommunikatielijn.
US5072372A (en) * 1989-03-03 1991-12-10 Sanders Associates Indirect literal expansion for computer instruction sets
US5317706A (en) * 1989-11-15 1994-05-31 Ncr Corporation Memory expansion method and apparatus in a virtual memory system
US5197130A (en) * 1989-12-29 1993-03-23 Supercomputer Systems Limited Partnership Cluster architecture for a highly parallel scalar/vector multiprocessor system
DE10033673B4 (de) * 1999-08-17 2005-10-20 Ibm Verfahren zum Archivieren und Ausliefern von Dokumenten unter Verwendung eines Zentralarchivsystems
US6662289B1 (en) 2001-05-15 2003-12-09 Hewlett-Packard Development Company, Lp. Method and apparatus for direct conveyance of physical addresses from user level code to peripheral devices in virtual memory systems
EP1585028A1 (de) * 2004-04-07 2005-10-12 Stmicroelectronics SA Verfahren und Vorrichtung zur Berechnung der Adressen eines in einem segmentierten Speicher abgelegten Programms
US7386700B2 (en) * 2004-07-30 2008-06-10 Sandisk Il Ltd Virtual-to-physical address translation in a flash file system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1218761B (de) * 1963-07-19 1966-06-08 International Business Machines Corporation, Armonk, N. Y. (V. St. A.) Datenspeidbereinrichtung
US3412382A (en) * 1965-11-26 1968-11-19 Massachusetts Inst Technology Shared-access data processing system
US3533075A (en) * 1967-10-19 1970-10-06 Ibm Dynamic address translation unit with look-ahead
NL6815506A (de) * 1968-10-31 1970-05-04
FR10582E (fr) * 1970-06-29 1909-07-30 Paul Alexis Victor Lerolle Jeu de serrures avec passe-partout

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IBM System Journal, Vol. 5, No. 2, 1966, S. 78-101 *

Also Published As

Publication number Publication date
IE38700L (en) 1974-04-10
DE2350884C2 (de) 1986-05-15
GB1413739A (en) 1975-11-12
US3854126A (en) 1974-12-10
JPS4994240A (de) 1974-09-06
CA995822A (en) 1976-08-24
IE38700B1 (en) 1978-05-10

Similar Documents

Publication Publication Date Title
DE2350884A1 (de) Datenverarbeitungssystem
DE2645537C2 (de)
DE69021899T2 (de) DMA-Steuerung.
DE2716051C2 (de) Datenverarbeitungsanlage mit einem oder mehreren Prozessoren mit mindestem einem Ein-/Ausgabekanal mit mehreren Unterkanälen und mit einer Speicheranordnung, bei der zum Speicherzugriff Schlüssel verwendet werden
DE2209282C3 (de) Datenverarbeitungsanlage
DE1774296C2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE2725718C2 (de) Datenverarbeitungsanordnung zum Übersetzen von virtuellen Adressen
DE2130299C3 (de) Eingabe-/Ausgabekanal für eine Datenverarbeitungsanlage
DE2417795C2 (de) Datenverarbeitungsanlage
DE2322674B2 (de) Mikroprogramm-Steuereinrichtung
DE1956604B2 (de) Datenverarbeitungsanlage
DE2556661A1 (de) Steuerschaltung mit adressenerweiterung
DE2303596A1 (de) Datenverarbeitungsanordnung
DE2635592A1 (de) Multiprozessor-abrufsystem
DE2030812A1 (de) Modulare Datenrechnersysteme
DE2855673C2 (de)
DE2646296A1 (de) Assoziative elektronische schaltungsanordnung aus digitalen prozessoren
DE68929080T2 (de) Anordnung zum Speichern von Informationen für einen Datenanbieterprozessor
DE2542010A1 (de) Datenverarbeitende anlage
DE2054830A1 (de) Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren fur einen Zugriff zu einem derar tigen Speicher
DE2363846A1 (de) Verfahren zum steuern des transfers von daten zwischen einem speicher und einem oder mehreren peripheren geraeten und nach diesem verfahren arbeitende datenverarbeitungsanlage
EP1230590B1 (de) Prozessorsystem
DE2230727C3 (de) Schaltungsanordnung zur dynamischen Zuteilung von Speicherzyklen mit Vorrangs steuerung
DE2726679A1 (de) Kanalsteuerung fuer datenverarbeitungsanlagen und verfahren zu ihrem betrieb
DE2759120A1 (de) Prozessor fuer datenverarbeitungssysteme

Legal Events

Date Code Title Description
OD Request for examination
8125 Change of the main classification

Ipc: G06F 12/10

D2 Grant after examination
8364 No opposition during term of opposition