DE2350884A1 - Datenverarbeitungssystem - Google Patents
DatenverarbeitungssystemInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/652—Page 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)
- 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 8physikalisch 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 Seitenadressenregister409816/0918 - - 21 -BAD OFtKaINALbio 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/0918COPY BÄD oMGINALund 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/0918BAD ΟΛ,tiLeerseite
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)
| 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)
| 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 |
-
1972
- 1972-10-10 US US00296026A patent/US3854126A/en not_active Expired - Lifetime
-
1973
- 1973-10-09 CA CA182,900A patent/CA995822A/en not_active Expired
- 1973-10-10 GB GB4734773A patent/GB1413739A/en not_active Expired
- 1973-10-10 IE IE1815/73A patent/IE38700B1/xx unknown
- 1973-10-10 DE DE2350884A patent/DE2350884C2/de not_active Expired
- 1973-10-11 JP JP48114324A patent/JPS4994240A/ja active Pending
Non-Patent Citations (1)
| 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 |