DE3438869C2 - - Google Patents
Info
- Publication number
- DE3438869C2 DE3438869C2 DE3438869A DE3438869A DE3438869C2 DE 3438869 C2 DE3438869 C2 DE 3438869C2 DE 3438869 A DE3438869 A DE 3438869A DE 3438869 A DE3438869 A DE 3438869A DE 3438869 C2 DE3438869 C2 DE 3438869C2
- Authority
- DE
- Germany
- Prior art keywords
- address
- memory
- segment
- bus
- virtual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority 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)
- Bus Control (AREA)
Description
Die Erfindung betrifft ein Computersystem mit Adreßumwandlung
nach dem Oberbegriff des Anspruchs 1.
In einem typischen Computersystem steht eine Zentraleinheit
(CPU) direkt sowohl mit einem Adreß- als auch einem Datenbus
in Verbindung. Diese Busse sind mit einem Hauptspeicher (oder
einem Hauptspeichersystem) sowie anderen Einrichtungen, wie
Eingabe/Ausgabe-Ports (I/O-Ports), Spezialprozessoren, Direkt
speicherzugriffseinheiten (DMA) und dergleichen verbunden. Die
effiziente Ausnutzung des des Computerhauptspeichers durch die CPU
oder andere Einrichtungen ist im Hinblick auf die Vermeidung
unerwünschter Zeitverzögerungen, auf Datenmehrdeutigkeit und
im Hinblick auf eine Reduzierung von Kosten, kritisch.
Speichermanagementeinheiten (MMU′s) ermöglichen Mehrfachadreß
räume für getrennte Prozesse, gemeinsame Benutzung des Spei
chers für Prozesse, Verschiebung von logischen Prozeßadressen
in physikalische Speicheradressen und den Schutz von gewünsch
ten Speicherplätzen, indem nur bestimmte Operationen in diesen
Bereichen, wie Lesen, Schreiben oder Ausführen, zugelassen
werden.
Zusätzlich sind Speichermanagementeinrichtungen häufig mit
sogenannten virtuellen Speicherfähigkeiten versehen. Virtuelle
Speicher ermöglichen es, daß eine CPU eine größere Speicher
kapazität adressieren kann, als physikalisch im Hauptspeicher
vorhanden ist. Dies wird gewöhnlich durch die Aufteilung des
gesamten Speicherraumes in viele kleine Einheiten gleicher
Größe, sogenannte Seiten, erreicht. Der gesamte Speicherraum
ist in einer sekundären Speichereinrichtung, z. B. einem Plat
tenspeicher abgespeichert. Während des Programmablaufes werden
auf Anforderung nur solche Seiten in den Hauptspeicher ge
bracht, die benötigt werden, wobei sie nicht länger benötigte
andere Seiten ersetzen. Virtuelle Speichermanagementpläne
weisen üblicherweise zur Unterstützung der Seitenaustausch
operation Mechanismen auf, wie das Festhalten eines Status für
jede Seite, der angibt, ob die Seite kürzlich benutzt worden
ist oder ob in sie eingeschrieben wurde.
Die Prinzipien des Speichermanagements sind seit langem be
kannt und in bekannten Computereinrichtungen üblich. Die Ver
wendung von Speichermanagementsystemen ergibt normalerweise
einen Leistungsverlust für das Computersystem, da jeder Zu
griff zum Speicher durch die Speichermanagementeinheit über
tragen und überprüft werden muß. Diese Zeit addiert sich zur
Speicher-Zugriffszeit und ergibt eine Verzögerung zwischen dem
Zeitpunkt, in dem der Prozessor die zu übertragende Adresse
ausgibt und dem Datenerhalt durch den Speicher.
Zusätzlich ermöglichen bekannten Speichermanagementsysteme
typischerweise nur der CPU den Zugriff auf die MMU und die
Umwandlung einer virtuellen Adresse in eine reale Adresse.
Andere Eingabe/Ausgabe- (I/O) Einrichtungen, z. B. Platten
steuereinheiten, greifen unter Verwendung physikalischer
Adressen auf den Hauptspeicher zu. Die Verwendung physikali
scher Adressen durch diese Einrichtungen kann Probleme verur
sachen, da Adressen der I/O-Einrichtungen nicht in der glei
chen Weise, wie virtuelle Adressen von der CPU umgewandelt und
geprüft werden.
Aus der GB 20 08 821 A ist ein Computersystem der gattungsge
mäßen Art bekannt, bei der virtuelle Adressen jeweils in drei
Teile, nämlich ein Segmentfeld, ein Untersegmentfeld und ein
Verschiebungsfeld aufgeteilt werden. Die Inhalte des Verschie
bungsfeldes sind sowohl in der virtuellen Adresse als auch in
der realen physikalischen Adresse gleich, so daß keine Umwand
lung dieses Feldes erforderlich ist. Das Untersegmentfeld
bestimmt, ob die Umwandlung in einem zusammenhängenden Seg
mentmodus oder einem unzusammenhängenden Untersegmentmodus
stattfindet. In dem zusammenhängenden Segmentmodus wird die
reale Adresse durch Addition eines Teils der virtuellen Adres
se zu einer den Ausgangsplatz eines Segments des realen Spei
chers entsprechend dem virtuellen Adreßfeld definierenden
Adresse gebildet. Das Segmentfeld der virtuellen Adresse gibt
eine Tabelleneingabeadresse einer Segment-Deskriptortabelle
bei der Adreßumwandlung an. Wenn eine Segment-Deskriptoreinga
be ausgewählt worden ist, werden die selektierten Bits des
Segmentdeskriptors mit dem nachfolgenden Feld der virtuellen
Adresse summiert. Das Verschiebungsfeld wird mit dieser Summe
verkettet, wodurch eine reale Adresse definiert wird. Ent
sprechend arbeitet der nicht-zusammenhängende Untersegmentmo
dus. Unterschiedlich ist nur, daß die Verschiebung mit einer
realen Adresse entsprechend der Ausgangsposition eines Unter
segments verknüpft wird.
Der Erfindung liegt die Aufgabe zugrunde, bei dem gattungsge
mäßen Computersystem unter wirksamerer Ausnutzung des daten
verarbeitenden Betriebsmittels mehreren selektiv mit dem vir
tuellen Adreßbus verbindbaren DV-Einrichtungen einen besonders
schnellen und den individuellen Bedürfnissen angepaßten Zu
griff auf den Adreßraum zu ermöglichen.
Diese Aufgabe wird bei dem gattungsgemäßen Computersystem
erfindungsgemäß gelöst durch die kennzeichnenden Merkmale des
Anspruchs 1.
Das erfindungsgemäße Computersystem eröffnet der virtuellen
Speichertechnik ausgedehntere Anwendungsmöglichkeiten. Zu dem
Computersystem gehören zumindest eine CPU und andere Datenverarbei
tungseinrichtungen, wie I/O-Einrichtungen, DMA-Einheiten, ein
Systembus usw., die über den virtuellen Adreßbus zur Übertra
gung virtueller Adreßinformationen an die MMU angeschaltet
sind. Der Zugriff auf den virtuellen Adreßbus wird bei der
Erfindung durch eine Entscheidungseinrichtung gesteuert, die -
wie beispielsweise aus Elektronik, Heft 2, 29. Januar 1982,
Seite 93 an sich bekannt - den Buszugriff jeweils nur einer
Datenverarbeitungseinrichtung gestattet.
Bei einer bevorzugten Weiterbildung der Erfindung identifi
ziert die für den Zugriff zum virtuellen Bus ausgewählte DV-
Einrichtung den besonderen zur Umsetzung ihrer Adresse zu
verwendenden Speicherraum der Speichermanagementeinheit (MMU),
indem sie der MMU spezielle Kontextbits zur Bezeichnung des
Speicherraums aufgibt.
Der virtuelle Adreßbus teilt Speicheradressen in vorbestimmte
reale (direkte) und virtuelle (indirekte) Adressensegmente
auf. Die realen Adreßsegmente (niedriger Ordnung) sind direkt
mit einem Hauptspeicherfeld (Hauptspeichermatrix) mit
Zeilen und Spalten von Steuerleitungen gekoppelt, an deren
Schnittpunkten Bitspeicherelemente vorgesehen sind. Während
die realen Adreßsegmente direkt zur Adressierung der Zeilen oder Spalten des
Hauptspeichers verwendet werden, sind die virtuellen Adreßseg
mente (höherer Ordnung) zusammen mit den Kontextbits mit einer
Speichermanagementeinheit verbunden, die aufgrund der Kontext
bits feststellt, welcher MMU Raum für die Umwandlung zu ver
wenden ist und die dann die virtuellen Segmente in reale phy
sikalische Adressen umsetzt. Die umgewandelten indirekten
(virtuellen) Adreßsegmente werden dann zur Adressierung der
Spalten bzw. der Zeilen des Hauptspeicherfeldes verwendet, so daß die
Zeilen und Spalten des Hauptspeicherfeldes einerseits von den
direkten (realen) Adreßsegmenten und andererseits von den
umgewandelten indirekten (ursprünglich virtuellen) Adreßseg
menten gesteuert werden. Die Zeilen und Spalten des Hauptspei
cherfeldes sind mit Treiberschaltungen verbunden, die den
Zugriff zu den Speicherelementen ermöglichen. Eine Zeitgabe
schaltung ist für die Abtastung (strobing) der Zeilen- und
Spaltentreiberschaltungen mit sequentiellen Pulsen vorgesehen.
Während die direkten realen Adreßsegmente als erste im Haupt
speicher ankommen und als erste abgetastet werden, kommen die
umgewandelten virtuellen Adreßsegmente wenig später an und
werden als zweite abgetastet, wodurch der Zugriff zu den Spei
cherplätzen im Hauptspeicher ermöglicht wird. Die Zeit zwi
schen den zwei Abtastimpulsen wird für die Umwandlung der
virtuellen Adressen in der MMU verwendet und überlappt sich
mit dem Zugriff zum Hauptspeicher, wodurch die Hauptspeicher
zugriffszeit verringert wird.
Zusätzlich minimiert die Erfindung die Adreßumwandlungszeit
der Speichermanagementeinheit, indem sie statische Hochge
schwindigkeits-RAMs (Direktzugriffspeicher) für den Umwand
lungsprozeß verwendet und indem sie die gleichen RAM-Adreßlei
tungen sowohl für die Adreßeingabe als auch für den Zugriff
auf die Eingänge der Speichermanagementmittel benutzt, um die
Umwandlung zu ändern.
In der Zeichnung ist schematisch ein Ausführungsbeispiel der
Erfindung dargestellt. Es zeigt
Fig. 1 ein Blockschaltbild eines Hochgeschwindigkeits
computerspeichers;
Fig. 2 ein Blockschaltbild einer speziellen Implemen
tierung der in Fig. 1 dargestellten Speicher
managementeinrichtung;
Fig. 3 ein Zeitdiagramm, das das Eintreffen der direk
ten und umgewandelten indirekten Adressensegmen
te im Hauptspeicher im Verhältnis zu den Zeilen-
und Spaltenadreß-Ansteuerimpulsen (strobes)
darstellt;
Fig. 4 ein Blockschaltbild eines Computersystems
gemäß der Erfindung;
und
Fig. 5 eine schematische Darstellung der
Anwendung von Kontextbits zur
Identifizierung von spezifischen Umwandlungsräu
men in der MMU.
Es wird ein verbessertes Speichermanagementsystem beschrieben,
das besondere Anwendungsmöglichkeiten in Verbindung mit vir
tuelle Speichertechniken verwendenden Computersystemen eröff
net. In der folgenden Beschreibung werden zwecks Erläuterung
spezifische Speichergrößen, Bitanordnungen, Zahlen, Datenraten
usw. angegeben, um die vorliegende Erfindung zu verdeutlichen.
Für den Fachmann ist es jedoch klar, daß die vorliegende Er
findung ohne diese speziellen Details ausgeführt werden kann.
Andererseits sind bekannte Schaltungen in Form von Block
schaltbildern dargestellt, um die vorliegende Erfindung nicht
unnötig mit Details zu belasten.
Im folgenden wird auf Fig. 1 Bezug genommen. Eine nicht ge
zeigte Zentraleinheit (CPU) steht mit dem System der vorlie
genden Erfindung über einen Adreßbus 12 in Verbindung. Der Bus
12 weist eine Vielzahl von Einzelleitungen auf, die Adressen
in Form von Multibitwörtern führen. Typischerweise verwenden
Prozessoren Adreßbusse zwischen 16 und 32 Bits, in denen die
Bits parallel über individuelle, einen Adreßbus bildende Lei
tungen oder Drähten übertragen werden. In der vorliegenden
Erfindung sind die über den Adreßbus übertragenen Adressen so
aufgebaut, daß die Bits niederer Ordnung ein direktes (reales)
Adreßsegment für den Hauptspeicher bilden, wobei die Bits
niederer Ordnung von dem Adreßbus über Leitung 14 abgetrennt
werden. Adreßbits höherer Ordnung bilden ein indirektes (vir
tuelles) Adreßsegment, das über die Leitung 16 abgenommen und
zu einer Speichermanagementeinrichtung 18 übertragen wird. Zum
Beispiel können für den Fall einer 24-Bit-Adresse 11 Bits niederer
Ordnung die direkte, reale, über die Leitung 14 übertragene
Adresse bilden, während 13 Bits höherer Ordnung als indirektes
Adreßsegment über die Leitung 16 übertragen werden. Das am
höchsten bewertete Bit kann ein über die Steuerleitung 20
übertragenes Kontrollbit sein.
Die Speichermanagementeinheit (MMU) 18 ist eine Direktzu
griffsspeichereinheit relativ hoher Geschwindigkeit, z. B. ein
schneller statischer RAM. Die MMU 18 erhält als Eingangssignal
über die Leitung 16 das indirekte virtuelle Adreßsegment, die
vom Prozessor gelieferte logische virtuelle Adresse und er
zeugt als Ausgangssignal auf der Leitung 38 ein umgewandeltes
physikalisches (reales) Adreßsegment. Das umgewandelte physi
kalische Adreßsegment spezifiziert in Verbindung mit dem di
rekten Adreßsegment niederer Ordnung auf der Leitung 14 den
aktuellen physikalischen Platz der gewünschten Daten im Haupt
speicher.
Der Prozessor weist ein Paar Datenbusse auf, wobei Daten über
den Datenbus 22 zum Prozessor und über den Datenbus 24 vom
Prozessor fließen. Vom Prozessor geht ebenso eine Schreib
steuerleitung 26 aus. Von den Datenbussen 22 und 24 und ebenso
von der Steuerleitung 26 sind Leitungen abgezweigt, die zur
Speichermanagementeinheit 18 und zum Hauptspeicher 28 führen.
Zweigleitungen 32, 34 und 36 sind entsprechend mit den Daten
bussen 22 und 24 und der Schreibsteuerleitung 26 verbunden.
Die Zweigleitungen sind mit Treibern 33, 35 und 37 verbunden,
die durch Dreiecke mit in Richtung des Datenflusses weisenden
Spitzen dargestellt sind. Jeder der Treiber weist einen mit
der Steuerleitung 20 verbundenen Freigabeport auf. Die Leitung
32 dient zur Übertragung von Daten von der Speichermanagement
einheit 18 über den Treiber 33 und den Datenbus 22 zum Prozes
sor. Vom Prozessor kommende Daten werden über die Leitung 36
und den Treiber 37 zur MMU 18 geleitet. Die Schreibsteuerlei
tung 26 übermittelt über die Leitung 34 und den Treiber 35 ein
Signal zur Speichermanagementeinheit 18, was der MMU 18 ermög
licht, vom Prozessor über die auch das indirekte virtuelle
Adreßsegment führende Leitung 16 übermittelte Daten einzu
schreiben. Von der MMU 18 über die Leitung 32 ausgegebene
Daten werden über die Leitung 38 und den Treiber 39 auch zum
Hauptspeicher 28 übertragen. Der Treiber 39 wird durch Anspre
chen der Leitung 41 durch eine Zeitgabeschaltung 43 freige
schaltet. Die Zeitgabeschaltung 43 erzeugt Zeilen- und Spal
tenadreßabtastimpulse (strobes), z. B. Spaltenadreß-Abtastim
pulse auf der Leitung 41 und dann auf der Leitung 45 und Zei
lenadreßabtastimpulse auf der Leitung 52 und dann auf der
Leitung 54.
Der verwendete Hauptspeicher (Hauptspeicherfeld) 28 weist Zeilen- und Spalten
steuerleitungen auf an deren Schnittstellen Speicherelemente
angeordnet sind. Die Lage der Speicherelemente ist durch
Adressen einschließlich der durch die Speichermanagementein
heit 18 in physikalische Adressen umgewandelten indirekten
virtuellen Adreßsegmente, spezifiziert, die über die Leitung
38 und den Treiber 39 zum Hauptspeicher 28 für jede der Zeilen
und Spalten des Hauptspeichers ausgegeben werden. Die andere
der Zeilen und Spalten erhält über die Leitung 14 und den
Treiber 47 ein direktes reales Adreßsegment. Die gleichen
Leitungen, die Daten zwischen dem Prozessor und der MMU 18
übermitteln, dienen auch zur Verbindung an den Hauptspeicher
28. Die Datenbusse zu und vom Prozessor, nämlich die Leitungen
22 und 24, sind über die Treiber 53 und 57 an den Hauptspei
cher 28 angeschlossen. Die Schreibsteuerleitung 26 ist über
den Treiber 55 mit dem Hauptspeicher 28 verbunden. Die Treiber
53, 55 und 57 werden durch die Steuerleitung 20 aufgesteuert,
die zum Zwecke der Anzeige, welche der beiden Einheiten mit
dem Prozessor verbunden ist, zwischen der Speichermanagement
einheit 18 und dem Hauptspeicher 28 wählen kann.
Die Zeitgabeschaltung 43 erzeugt zwei aufeinanderfolgende
Impulse zur Abtastung der Zeilen- und Spaltenadreßleitungen
des Hauptspeichers 28. Der Zeilenadreß-Abtastimpuls wird über
die Leitung 52 und die Leitung 54 zu den Zeilensteuerleitungen
übertragen. Der gleiche Impuls schaltet den Treiber 47 frei,
so daß rechtzeitig für den Abtastimpuls Zeilenadressen im
Hauptspeicher 28 ankommen. Die auf der Leitung 14 übertragenen
direkten (realen) Adreßsegmente werden nicht umgewandelt, so
daß bei der Übermittlung der direkten Adreßsegmente vom Pro
zessor keine Verzögerung auftritt. Der Abtastimpuls für die
direkten Adreßsegmente erscheint etwas früher als ein zweiter
über die Leitung 41 übertragener Impuls. Der zweite oder ver
zögerte Impuls dient zur Abtastung der umgewandelten indirek
ten virtuellen Adreßsegmente. Die von der Speichermanagement
einrichtung 18 in physikalische Adressen umgewandelten indi
rekten Adressen kommen etwas später als die umgewandelten
indirekten Speicheradressen beim Hauptspeicher 28 an. In Fig.
3 ist die Zeitfolge der vom Hauptspeicher 28 empfangenen Si
gnale gezeigt. Zum Zwecke der klareren Darstellung wurde das
Eintriffen der entsprechenden Adressen und Zeilen/Spalten-Ab
tastimpulse voneinander getrennt. In der Praxis wurde gefun
den, daß das Vorhandensein der MMU 18 eine Verzögerungszeit
von angenähert 90 µmsec bis zum Anlegen der umgewandelten
virtuellen (jetzt physikalischen) Adressen an den Hauptspei
cher 28 ergibt. Diese Zeitspanne entspricht angenähert der
Verzögerungszeit zwischen dem Anlegen der Zeilen- und Spalten
adreß-Abtastimpulse.
Die in der Speichermanagementeinheit 18 gespeicherte Umwand
lungstabelle kann durch Einschreiben neuer Daten in die Spei
chermanagementeinheit geändert werden. Die Steuerleitung 20
dient zur Freigabe oder Wahl des Schreib- und Lesezugriffs für
die MMU 18 oder den Hauptspeicher 28, indem einerseits die
betreffenden Treiber 33, 35 und 37 oder andererseits die Trei
ber 53, 55 und 57 freigegeben und gesperrt werden. Ein Ein
schreiben in die Speichermanagementeinheit 18 wird unter Ver
wendung der Steuerleitung 26, der Leitung 16 der indirekten
virtuellen Segmentadresse und der Steuerleitung 20 vorgenom
men. Anders ausgedrückt können die gleichen, zuvor zum Lesen
der Umwandlungstabelle in der Speichermanagementeinheit 18
verwendeten Adreßleitungen für das Einschreiben einer neuen
Tabelle in die MMU 18 verwendet werden.
Im Betrieb wird eine auf den Adreßbus 12 gegebene Adresse, wie
vorher beschrieben, in ein direktes (reales) und ein indirek
tes (virtuelles) Adreßsegment aufgeteilt. Ein direktes Adreß
segment, z. B. eine Zeilenadresse, wird über die Leitung 14 in
den Hauptspeicher 28 eingegeben, während ein indirektes vir
tuelles Adreßsegment, z. B. eine Spaltenadresse, über die Lei
tung 16 in die Speichermanagementeinheit 18 eingegeben wird.
In der MMU 18, einem relativ schnellen Direktzugriffsspeicher,
wird das indirekte virtuelle Adreßsegment in eine reale physi
kalische Adresse umgewandelt und über die Leitung 38 zum
Hauptspeicher 28 übertragen. In dem Hauptspeicher gehen se
quentielle Zeitgabeimpulse der Zeitgabeschaltung 43 ein, um
die Zeilenadressen und die umgewandelten Spaltenadressen se
quentiell zu den Zeilen- und Spaltensteuerleitungen des Haupt
speichers 28 auszutasten und so den Zugriff zu den gewünschten
Speicherplätzen zu erhalten. Sobald vom Prozessor über die
Leitung 12 eine Adresse empfangen und der Zeitgabeschaltung 43
über die Leitung 42 eine gültige Adresse angezeigt wird, er
zeugt die Zeitgabeschaltung 43 auf der Leitung 52 einen Zei
lenadreß-Abtastimpuls. Wenn die Speichermanagementeinheit 18
das indirekte Adreßsegment umgewandelt und das neue reale
Adreßsegment auf die Leitung 38 gegeben hat, erzeugt die Zeit
gabeschaltung 43 auf der Leitung 41 einen Spaltenadreß-Ab
tastimpuls.
Wie in Fig. 2 dargestellt, kann die Speichermanagementeinheit
selbst aufgeteilt werden, und es können zwei Stufen von indi
rekten virtuellen Adressen zur Spezifizierung der gewünschten
Lage im Hauptspeicher verwendet werden. Die linke Spalte 62
symbolisiert eine logische Multibitadresse eines Mikroprozes
sors. Die Erfindung wurde bisher unter Verwendung einer von
einem Motorola-Prozessor 68 010 mit einem 24-Bit-Adreßwort
gelieferten Adresse realisiert. Es war nicht nötig, alle
Adreßleitungen zu verwenden. Vier der Bits im Block 65 werden
als von einer anderen Quelle gelieferte Kontext-Bits identifi
ziert, die zum Schalten zwischen 16 getrennten Teilen der mit
unterbrochenen Linien 70 gekennzeichneten Speichermanagement
einheit dienen. Die vier Kontext-Bits sind über die Leitung 63
mit einem Segmentplan (Segment map) 72 verbunden, der als
Direktzugriffsspeicher zur Umsetzung virtueller Logikadressen
in auf die Ausgangsleitung 73 gegebene umgewandelte Adressen
dient. Das Eingangssignal für den Segmentplan 72 wird von dem
indirekten virtuellen Adreßsegment abgeleitet, das durch den
Block 64 symbolisiert wird, wobei dieser angibt, welcher der
getrennten Teile des Segmentplanes 72 zu benutzen ist. Wenn
diese Identifikation durchgeführt ist, kann das indirekte
virtuelle Adreßsegment des Blocks 64 umgewandelt werden. Ein
direktes reales Adreßsegment wird durch den Block 66 symboli
siert und direkt über die entweder mit den Zeilen- oder Spal
ten-Steuerleitungen des Hauptspeichers verbundene Leitung 74
zum Hauptspeicher übertragen.
Wie vorher erwähnt, wandelt der Segmentplan 72 virtuelle lo
gische Adressen des Blockes 64 in auf die Ausgangsleitung 73
gegebene Adressen um. Zusätzlich können über die Leitung 75
kodierte Datenbits in den Segmentplan 72 eingegeben werden, um
den Speicher zu schützen. Zum Beispiel kann über die Leitung 75 eine
Lese- oder Schreibdatenanzeige, wie auch andere Schutzcodes,
eingegeben werden. Andere Leitungen, wie Leitung 76, können für
weitere Schutz- oder Steuermaßnahmen vorgesehen werden. Die
Leitungen 75 und 76 werden typischerweise auf Befehl von dem
Prozessor gesteuert. Die durch den Segmentplan erzeugte Adres
se 73 wird auf einen Seitenplan 82 (page map), einen Direktzu
griffsspeicher, übertragen, der die gleiche oder eine unter
schiedliche Größe im Vergleich zum Segmentplan 72 haben kann.
Die Funktion des Seitenplans 82 besteht darin, die über die
Leitung 73 übertragene Adresse aufzunehmen und mit einem zwei
ten indirekten virtuellen Adreßsegment, symbolisiert durch den
Block 67, zu kombinieren, um eine reale physikalische Adresse
zu erzeugen und auf die Ausgangsleitung 83 zu geben. Es ist
daher zu sehen, daß die Speichermanagementeinheit 70 zwei
Stufen von indirekten virtuellen Adressen verwendet, wobei
eine erste Stufe, symbolisiert durch den Block 64, auf den
Segmentplan 72 und eine zweite Stufe 67 auf den Seitenplan 82
übertragen wird. Beide Stufen stellen lediglich spezifizierte
Adreßbits dar, die von einem Adreßwort abgetrennt und direkt
zu dem gewünschten Speicherplatz gekoppelt werden. Der Seiten
plan 82 ist mit Steuerleitungen 85 und 86 versehen, die zu
Schutzzwecken, ähnlich den Leitungen 75 und 76, verwendet
werden können.
Wenn die Art der auszuführenden Operationen gesichert ist und
nicht ausgeführt werden kann, wird die Operation abgebrochen.
Zum Beispiel könnte eine Sicherung für NUR-LESEN eingegeben sein und
eine Schreiboperation versucht werden. Die Schutzeinrichtung
würde die Schreiboperation verhindern. Dieses wird durch Er
zeugung eines Fehlersignales, das das Durchlaufen des Schreib
impulses sperrt, erreicht; selbst wenn der Zugriff auf den
Hauptspeicher bereits eingeleitet wurde, bleiben die im Haupt
speicher befindlichen Daten ungeändert.
Das Ausgangssignal des Seitenplans 82 ist ein physikalisches
reales Adreßsegment, das über die Leitung 83 entweder mit den
nicht mit der Leitung 74 verbundenen Zeilen oder Spalten des
Hauptspeichers verbunden ist. Die Leitungen 74 und 83 steuern
zusammen die Zeilen und Spalten des Hauptspeichers gemäß Fig.
1. Die die Zeilen- und Spaltenadreß-Abtastimpulse liefernde
Zeitgabeschaltung ist nicht gezeigt. Da die Leitung 74 direkt
mit dem Hauptspeicher 28 verbunden ist, erreichen die auf
dieser Leitung anstehenden Bits den Hauptspeicher etwas früher
als das jetzt umgewandelte virtuelle Adreßsegment. Die Zeitga
beschaltung tastet als erstes das direkte Adreßsegment und als
zweites das umgewandelte virtuelle Segment ab, so daß Zeilen-
und Spaltenadreßleitungen des Hauptspeichers für den Zugriff
spezifizierter Bitspeicherplätze im Hauptspeicherfeld akti
viert werden.
Einer der Vorteile der vorliegenden Erfindung ist dadurch
gegeben, daß durch die Aufteilung der Adressen in direkte
reale und indirekte virtuelle Segmente Zeit zum Eingriff auf
den Hauptspeicher 28 gespart wird, weil der Zugriff zum Haupt
speicher bereits beginnt, bevor die virtuellen Speicheradres
sen durch die Speichermanagementeinheit 18 in physikalische
Adressen umgewandelt sind. So ist der Zugriff zum Hauptspei
cher zeitüberlappt oder "pipe-lined" mit der Umwandlung des
indirekten virtuellen Adreßsegmentes. Das direkte reale Adreß
segment fließt ohne Zeitverlust direkt zum Speicher, während
nur das indirekte virtuelle Segment umgewandelt wird. Durch
gleichzeitiges Vorsehen einer Hochgeschwindigkeitsmanage
menteinrichtung, z. B. eines schnellen Direktzugriffsspeichers,
kann die Umwandlungszeit minimiert werden, so daß sowohl die
direkten als auch die umgewandelten indirekten Adreßsegmente
durch nur leicht gegeneinander versetzte Zeitpulse in den
Speicher getastet werden können.
Unter Bezugnahme auf Fig. 4 wird die vorliegende Erfindung in
Verbindung mit Systemen mit mehreren Datenverarbeitungsein
richtungen, die virtuelle Adreßverfahren benutzen, erläutert.
Das System weist eine Speichermanagementeinheit (MMU) 100 auf,
die der erläuterten und unter Bezugnahme auf die Fig. 1 und
2 beschriebenen ähnlich ist. Die MMU 100 ist, wie dargestellt,
über virtuelle Adreßleitungen 104 mit einem "virtuellen"
Adreßbus 102 verbunden, der in dem vorliegenden bevorzugten
Ausführungsbeispiel eine Mehrzahl von Adressen in Form von
Multibitwörtern führenden Einzelleitungen aufweist. Eine Mehr
zahl von Datenverarbeitungseinrichtungen, wie z. B. eine CPU
106, ein Plattenschnittstellensteuergerät 108 und eine Netz
werkschnittstelle 110 können mit dem virtuellen Bus 102 gekop
pelt sein. Die Netzschnittstelle 110 kann beispielsweise einen
begrenzten Netzbereich, wie "Ethernet", "DECnet" o. dgl. mit
der Erfindung verbinden. Zusätzlich ist, wie dargestellt, ein
mit "realen" physikalischen Adressen arbeitender Systembus 120
für die Verbindung einer Mehrzahl (0 bis N + 1) Systembusein
richtungen 122 derart vorgesehen, daß der Systembus 120 über
die Systembusschnittstelle 125 mit dem virtuellen Bus 102
verbunden ist. Wie beschrieben werden wird, betrachtet die MMU
100 den Systembus 120 mit allen mit ihm verbundenen Systembus
einrichtungen 122 als eine einzige Datenverarbeitungseinrich
tung, die einen Bereich von vorbestimmten virtuellen Adressen
verwendet.
Die MMU 100 ist durch physikalische Adreßleitungen 130 mit dem
physikalischen Adreßbus 140 verbunden. Ein Hauptspeicher 128
ist durch den physikalischen Adreßbus 140 mit der MMU 100
verbunden, so daß, wie unter Bezugnahme auf die Fig. 1, 2
und 3 vorher beschrieben, die MMU 100 ein aus einer virtuellen
Adresse in ein reales Adreßsegment umgewandeltes indirektes
Adreßsegment an den Hauptspeicher 128 ausgibt. Ähnlich werden,
wie vorher erläutert, auf dem virtuellen Adreßbus 102 anste
hende, direkte (reale) Adreßsegmente unter Umgehung der MMU
100 direkt an den Hauptspeicher 128 angelegt. Die MMU 100 ist
ferner über den physikalischen Adreßbus 140 mit verschiedenen
Datenverarbeitungsbetriebsmitteln verbunden. Diese umfassen
Eingabe/Ausgabe- (I/O) Einrichtungen, denen einige physika
lische Adreßräume zugeordnet sind, die allgemein einen von den
Datenverarbeitungseinrichtungen, wie der CPU 106, dem Netzwerk
110 o. dgl. zugreifbaren Bereich physikalischer Adressen auf
weisen. Es ist klar, daß das in Fig. 4 dargestellte System
lediglich den Fluß der Adressen und Befehle zwischen den Da
tenverarbeitungseinrichtungen sowohl auf den virtuellen als
auch auf den realen Abschnitten des Systems darstellt und daß
andere für den Betrieb des Systems erforderliche Leitungen,
wie z. B. Daten- und Steuerleitungen, um die Übersichtlichkeit
zu wahren, nicht dargestellt wurden.
Wie in Fig. 4 gezeigt, greifen die Datenverarbeitungseinrich
tungen, wie die CPU 106, die Plattensteuereinrichtung 108 oder
die Systembuseinrichtung 122 durch Erzeugung einer indirekte
und direkte Adreßsegmente enthaltenden virtuellen Adresse auf
dem virtuellen Bus 102 zum Hauptspeicher 128 und/oder zu den
I/O-Adreßräumen zu. Es ist eine mit jeder Datenverarbeitungs
einrichtung und jeder Schnittstelle verbundene Entscheidungs
einrichtung 150 vorgesehen, um den Zugriff zum virtuellen Bus
102 zuzuordnen und sicherzustellen, daß jeweils nur eine Da
tenverarbeitungseinrichtung den virtuellen Bus 102 belegen und
benutzen kann, wodurch eine Mehrdeutigkeit und ein Chaos ver
hindert werden. Die spezielle Implementierung der Entschei
dungseinrichtung 150 kann verschiedene Entscheidungsprotokolle
bekannter Art benutzen, um die Verwendung des virtuellen
Busses 102 angemessen oder selektiv zuzuordnen. Der Systembus
120 wird für MMU 100 Operationen so angesehen, als wiese er
eine einzige Einrichtung mit einem Bereich virtueller Adreß
räume auf, die den mit dem Systembus 120 verbundenen verschie
denen Systembuseinrichtungen 122 untergeordnet sind.
Im folgenden wird auf Fig. 5 Bezug genommen. Eine Datenver
arbeitungseinrichtung, z. B. eine Plattenschnittstelle 108,
sucht beispielsweise zu im Hauptspeicher 128 gespeicherten
Daten zuzugreifen und gibt eine ein indirektes (virtuelles)
Adreßsegment und ein direktes (reales) Adreßsegment enthal
tende Adresse auf den virtuellen Bus 102, nachdem sie über die
Entscheidungseinrichtung 150 auf den Bus 102 Zugriff erhalten
hat. Wie dargestellt, enthält die durch die Plattenschnitt
stelle 108 (oder eine andere Richtung) gelieferte Adreßin
formation Kontext-Bits 160, die einen einzigen vorher zugeord
neten virtuellen Adreßraum innerhalb des Segmentplans 165
identifizieren. Dieser entspricht den umzuwandelnden Daten,
die benötigt werden, um die virtuelle Adreßinformation der
Plattenschnittstelle 108 in ein vom Hauptspeicher 128 verwend
bares physikalisches Adreßsegment umzuwandeln. Wie gezeigt,
weist der Segmentplan 165 vorgegebene Umwandlungsräume für jede mit dem
virtuellen Bus 102 verbundene Datenverarbeitungseinrichtung
auf, wie CPU Systemraum 166, CPU Benutzerräume 167 und 168,
sowie Plattenschnittstellenraum 170 und den Netzwerkraum 172.
Jeder dieser Adreßplätze innerhalb des Segmentplans 165 weist
die notwendige Information zur geeigneten Umsetzung virtueller
Adreßsegmente 176 auf, die durch die entsprechende Datenver
arbeitungseinrichtung mit dem virtuellen Bus 102 verbunden
sind. Wie unter Bezugnahme auf die Fig. 1 und 2 beschrieben
wurde, wird ein zweites virtuelles Adreßsegment 178 nach der
Kombination mit dem Ausgangssignal des Segmentplanes 165 mit
einem Seitenplan 182 verbunden. Wie gezeigt, wird ein reales
Adreßsegment 186 unter Umgehung der MMU 100 von dem physika
lischen Adreßbus 140 direkt mit dem Hauptspeicher 128 oder
einer anderen Einrichtung verbunden.
Im Betrieb ist die CPU 106 sowohl dem Systemraum 166 als auch
einer Mehrzahl von Benutzerräumen, wie 167 und 168 zugeordnet,
um sowohl die Umsetzung von virtuellen Adressen des Betriebs
systems als auch von der Anwendersoftware zugeordneten vir
tuellen Adressen zu ermöglichen. In dem vorliegenden Ausfüh
rungsbeispiel ist jeder Adreßraum, wie der DMA Plattenschnitt
stellenraum 170 von Null bis zu einem vorbestimmten gewissen
Bereich adressiert, und der Raum wird zu Beginn durch den
Inhalt der Kontext-Bits 160 identifiziert. Für einen Fachmann
ist es klar, daß die Verwendung von Kontext-Bits 160 nicht
immer erforderlich ist. Zum Beispiel ist es möglich, innerhalb
der MMU 100 virtuelle Speicheradreßräume derart festzulegen,
daß jede Datenverarbeitungseinheit, wie die CPU 106, die Sy
stembusschnittstelle 125 und dergleichen einem speziellen
virtuellen Adreßplatz zugeordnet ist. Zum Beispiel können der
Plattenschnittstelle 108 zugeordnete virtuelle Adreßplätze
innerhalb der MMU 100 die notwendigen Informationen zur geeig
neten Umsetzung virtueller Adressen innerhalb eines für die
Plattenschnittstelle vorgegebenen Bereiches aufweisen. Es
wurde gefunden, daß die Verwendung von Kontext-Bits eine effi
zientere Ausnutzung von mit dem virtuellen Bus 120 verbundenen
Datenverarbeitungsbetriebsmitteln erlaubt, da Adressen inner
halb jedes definierten Raumes des Segmentplans 165 gemäß den
Adreßanforderungen der speziellen Datenverarbeitungseinrich
tung zugeordnet werden können.
Obwohl jede Datenverarbeitungseinrichtung, wie die Netzwerk
schnittstelle 110 ein Kontext-Bitregister aufweisen kann, so
daß die Netzwerkschnittstelle 110 betreffende Kontext-Bits zur
Übermittlung zur MMU 100 an den virtuellen Bus 102 angelegt
werden können, kann auch ein einziges Kontext-Register von
allen mit dem virtuellen Bus 102 verbundenen Datenverarbei
tungseinrichtungen verwendet werden. In diesem Fall werden die
Inhalte der Kontext-Bits zyklisch selektiv geändert, um die
speziellen, eine virtuelle Adreßinformation innerhalb der MMU
100 enthaltenden Datenverarbeitungseinrichtungen zu berück
sichtigen. Eine andere Implementierung der vorliegenden Erfin
dung braucht nur zwei Kontext-Register zu verwenden, eines für
die Systemanwendung und eines für die Benutzeranwendung, wobei
sowohl für die CPU 106 als auch alle anderen Datenverarbei
tungseinrichtungen, wie die DMA Plattenschnittstelle 108, die
Netzwerkschnittstelle 100 und die Systembusschnittstelle 125
Systemraum vorgegeben ist.
Wie bei dem in Fig. 2 beschriebenen Ausführungsbeispiel können
kodierte Datenbits zum Speicherschutz über die Leitungen 75
und/oder 76 nach Bedarf in den Segmentplan 165 eingegeben
werden. Ähnlich können Leitungen 85 und 86 beim Seitenplan 182
für die Datensicherung vorgesehen sein. Wenn die Art der
durchzuführenden Operation geschützt ist, können verschiedene
bekannte Schutzroutinen zur Sicherung der Daten verwendet
werden.
Es sei z. B. angenommen, daß eine mit dem Systembus 120 verbun
dene Systembuseinrichtung 122 zum Hauptspeicher 128 oder an
dere mit dem physikalischen Adreßbus 140 verbundene physika
lische Adreßräume zugreifen will. Die spezielle Systembusein
richtung verbindet die auf dem Systembus anstehende "vir
tuelle" Adresse (sowohl direkte als indirekte Adreßsegmente)
mit der Systembusschnittstelle 125. Nach Erhalt der virtuellen
Adresse von der Einrichtung 122 fordert die Schnittstelle 125
von der Entscheidungseinrichtung 150 Zugriff auf den vir
tuellen Bus 102. Wie oben festgestellt, wird die Systembus
schnittstelle 125 sowohl von der Entscheidungseinrichtung 150
als auch von der MMU 100 einfach als andere, mit dem vir
tuellen Bus 102 verbundene Datenverarbeitungseinrichtung ange
sehen.
Wenn die Systembusschnittstelle 125 Zugriff auf den virtuellen
Bus 102 erhält, legt sie die durch die Systembuseinrichtung
122 gelieferte Adreßinformation an die MMU 100 an. Direkte
(reale) Adreßsegmente werden abgetrennt und, wie beschrieben
wurde, direkt zum Hauptspeicher 28 übertragen, während die
virtuellen Adreßsegmente zusammen mit den Kontext-Bits 160
über virtuelle Adreßleitungen 104 zur MMU 100 übertragen wer
den.
Wie in Fig. 5 dargestellt, identifizieren die Kontext-Bits
160 einen speziellen Adreßraum (Umwandlungsraum) innerhalb der MMU 100, der
Umwandlungsdaten für die Umwandlung von virtuellen Systembus
adressen in physikalische Adressen enthält. In der Praxis ist
der dem Systembus 120 zugeordnete Adreßraum innerhalb des
Segmentplanes 165 der MMU 100 in eine Mehrzahl von Bereichen
unterteilt, wobei jeder Bereich spezielle Umwandlungsdaten für
jede einzelne Einrichtung 122 enthält. Demgemäß entspricht die
durch den Inhalt der Kontext-Bits 160 identifizierte Adresse
einem Unterteilungsbereich für die Umsetzung virtueller Adres
sen, die einer speziellen Buseinrichtung 122 zugeordnet sind.
Nachdem die Umwandlung stattgefunden hat, wird das jetzt phy
sikalische Adreßsegment an die physikalischen Adreßleitungen
130 angelegt und zusammen mit dem vorher übertragenen direkten
(realen) Adreßsegment 186 zum Hauptspeicher 128 (oder einer
anderen Einrichtung) gekoppelt.
Es wurde ein verbessertes Speichermanagementsystem beschrie
ben, das besondere Anwendungsmöglichkeiten in mit virtueller
Speichertechnik arbeitenden Computersystemen eröffnet. Obwohl
die MMU mit einem Segmentplan 165 und einem Seitenplan 182
dargestellt und beschrieben wurde, ist klar, daß die vorlie
gende Erfindung auch angewandt werden kann, wenn ein einziger
Plan für die Umwandlung virtueller Adreßsegmente in physika
lische Adreßsegmente verwendet wird.
Claims (12)
1. Computersystem mit Adreßumwandlung, bei dem mehrere
Datenverarbeitungseinrichtungen (106, 108, 110, 125) zur Über
tragung von Speicheradressen mit einem virtuellen Adreßbus
(102) selektiv verbindbar sind, wobei der Adreßbus (102) Mit
tel zur Aufteilung der Speicheradressen in direkte (186) und
indirekte (176, 178) Adreßsegmente aufweist,
bei dem ferner eine Speichermanagementeinheit (18; 70; 100) vorgesehen ist, die auf Eingangsleitungen (104) die in direkten Segmente (176, 178) der Speicheradresse erhält, ein indirektes Adreßsegment (176, 178) aus einer logischen Adres se, spezifiziert durch eine der Datenverarbeitungseinrichtungen (106, 108, 110, 125), in eine physikalische Adresse umwandelt und einen Ausgang über physikalische Adreßleitungen (130) hat,
und bei dem ein physikalischer Adreßbus (140) mit der Speichermanagementeinheit (100) und mit wenigstens einem eine Mehrzahl von physikalischen Adressen aufweisenden Datenver arbeitungsbetriebsmittel verbunden ist,
dadurch gekennzeichnet,
daß eine Entscheidungseinrichtung (150) mit den Datenver arbeitungseinrichtungen (106, 108, 110, 125) verbunden ist und letztere (106, 108, 110, 125) derart selektiv mit dem vir tuellen Adreßbus (102) koppelt, daß jeweils nur eine der Da tenverarbeitungseinrichtungen eine Speicheradresse an den virtuellen Bus (102) anlegt; und
daß das datenverarbeitende Betriebsmittel einen Haupt speicher (28) mit Zeilen- und Spaltensteuerleitungen und an den Kreuzungspunkten der Zeilen- und Spaltensteuerleitungen lie genden Speicherelementen aufweist, wobei der Platz der Speicherelemente durch umgewandelte indirekte Adreßsegmente und direkte Adreßsegmente bezeichnet ist und wobei die Zeilen- und Spaltensteuerleitungen so geschaltet sind, daß die einen mit dem direkten Segment der Speicheradresse und die anderen mit dem umgewandelten indirekten Teil der Adresse auf den physikalischen Adreß leitungen angesteuert werden,
wobei die Anordnung so getroffen ist, daß eine Datenver arbeitungseinrichtung (106, 108, 110, 125) mit hoher Geschwin digkeit zum Datenverarbeitungsbetriebsmittel zugreifen kann, indem ein direktes Adreßsegment (186) direkt und ein indirektes Adreßsegment (176, 178) umgewandelt zum Betriebsmittel geleitet werden, wobei ein physikalischer Adreßraum definiert wird.
bei dem ferner eine Speichermanagementeinheit (18; 70; 100) vorgesehen ist, die auf Eingangsleitungen (104) die in direkten Segmente (176, 178) der Speicheradresse erhält, ein indirektes Adreßsegment (176, 178) aus einer logischen Adres se, spezifiziert durch eine der Datenverarbeitungseinrichtungen (106, 108, 110, 125), in eine physikalische Adresse umwandelt und einen Ausgang über physikalische Adreßleitungen (130) hat,
und bei dem ein physikalischer Adreßbus (140) mit der Speichermanagementeinheit (100) und mit wenigstens einem eine Mehrzahl von physikalischen Adressen aufweisenden Datenver arbeitungsbetriebsmittel verbunden ist,
dadurch gekennzeichnet,
daß eine Entscheidungseinrichtung (150) mit den Datenver arbeitungseinrichtungen (106, 108, 110, 125) verbunden ist und letztere (106, 108, 110, 125) derart selektiv mit dem vir tuellen Adreßbus (102) koppelt, daß jeweils nur eine der Da tenverarbeitungseinrichtungen eine Speicheradresse an den virtuellen Bus (102) anlegt; und
daß das datenverarbeitende Betriebsmittel einen Haupt speicher (28) mit Zeilen- und Spaltensteuerleitungen und an den Kreuzungspunkten der Zeilen- und Spaltensteuerleitungen lie genden Speicherelementen aufweist, wobei der Platz der Speicherelemente durch umgewandelte indirekte Adreßsegmente und direkte Adreßsegmente bezeichnet ist und wobei die Zeilen- und Spaltensteuerleitungen so geschaltet sind, daß die einen mit dem direkten Segment der Speicheradresse und die anderen mit dem umgewandelten indirekten Teil der Adresse auf den physikalischen Adreß leitungen angesteuert werden,
wobei die Anordnung so getroffen ist, daß eine Datenver arbeitungseinrichtung (106, 108, 110, 125) mit hoher Geschwin digkeit zum Datenverarbeitungsbetriebsmittel zugreifen kann, indem ein direktes Adreßsegment (186) direkt und ein indirektes Adreßsegment (176, 178) umgewandelt zum Betriebsmittel geleitet werden, wobei ein physikalischer Adreßraum definiert wird.
2. Computersystem nach Anspruch 1, dadurch gekennzeichnet,
daß die Speichermanagementeinheit (100) eine Mehrzahl von
Umwandlungsräumen aufweist, von denen wenigstens einer jeder
Datenverarbeitungseinrichtung (106, 108, 110, 125) derart
zugeordnet ist, daß jedes der indirekten Adreßsegmente (176,
178) auf einen speziellen, Umwandlungsdaten für die Umwandlung
eines indirekten Adreßsegmentes in eine physikalische Adresse
enthaltenden Umwandlungsraum (165 . . . 172) gerichtet ist.
3. Computersystem nach Anspruch 1 oder 2, dadurch gekenn
zeichnet, daß das indirekte Adreßsegment die spezielle Adresse
desjenigen Umwandlungsraumes (165 . . . 172) definierende Kon
text-Bit (160) enthält, welcher (165 . . . 172) der das indi
rekte Adreßsegment (176, 178) liefernden Datenver
arbeitungseinrichtung (106, 108, 110, 125) zugeordnet ist.
4. Computersystem nach Anspruch 3, dadurch gekennzeichnet,
daß die speziellen Kontext-Bits (160) in einem mit dem vir
tuellen Bus (102) verbundenen Kontext-Register gespeichert
sind, dessen Inhalt aktualisiert wird, wenn eine andere Daten
verarbeitungseinrichtung Zugriff auf den virtuellen Bus (102)
erhält.
5. Computersystem nach einem der Ansprüche 1 bis 4, dadurch
gekennzeichnet, daß eines der datenverarbeitenden Betriebsmit
tel eine Zeitgabeschaltung (43) zur Abtastung der Zeilen- und
Spaltenadreßleitungen des Hauptspeichers (28) aufweist,
wobei ein Abtastimpuls für das direkte Adreßsegment
kurz vor dem Abtastimpuls für das umgewandelte indirekte
Adreßsegment erscheint und wobei die Abtastimpulse die
Verwendung von umgesetzten indirekten und direkten Adreßseg
menten zur Spezifizierung von Speicherräumen im Hauptspeicher
feld veranlassen.
6. Computersystem nach einem der Ansprüche 1 bis 5, dadurch
gekennzeichnet, daß eine der Datenverarbeitungseinrichtungen
eine Systembusschnittstelle (125) aufweist, die einen eine
Mehrzahl von physikalischen Adressen führenden Systembus (120)
mit der Speichermanagementeinheit (18; 70; 100) über den vir
tuellen Bus (102) koppelt.
7. Computersystem nach Anspruch 6, dadurch gekennzeichnet,
daß der Systembus (120) mit mehreren Systembuseinrichtungen
(122) gekoppelt ist und daß jeder der Systembuseinrichtungen
(122) eine Teilmenge der dem Systembus (120) zugewiesenen vir
tuellen Adressen zugeordnet ist.
8. Computersystem nach einem der Ansprüche 4 bis 7, dadurch
gekennzeichnet, daß die Speichermanagementeinheit (18; 70;
100) in eine Segmentplaneinrichtung (72) und eine Seitenplan
einrichtung (82) unterteilt ist, daß die Segmentplaneinrich
tung (72) so geschaltet ist, daß sie ein erstes indirektes
Adreßsegment erhält und eine an die Seitenplaneinrichtung (82)
angelegte Zwischenadresse erzeugt, daß die Seitenplaneinrich
tung (82) so geschaltet ist, daß sie ein zweites indirektes
Adreßsegment erhält und die Zwischenadresse und das zweite indi
rekte Adreßsegment in eine physikalische Adresse umwandelt, und daß
die Segmentplaneinrichtung (72) die Mehrzahl von durch Kon
text-Bits identifizierbaren Umwandlungsräumen enthält.
9. Computersystem nach Anspruch 8, dadurch gekennzeichnet,
daß die Segmentplaneinrichtung (72) eine Eingangs-Schutzein
richtung (75, 76) zur Festlegung von Bedingungen für den Da
tenzugriff aufweist.
10. Computersystem nach Anspruch 8 oder 9, dadurch gekenn
zeichnet, daß die Seitenplaneinrichtung (82) eine Eingangs-
Schutzeinrichtung (85, 86) zur Festlegung von Bedingungen für
den Datenzugriff aufweist.
11. Computersystem nach einem der Ansprüche 8 bis 10, da
durch gekennzeichnet, daß mit der Speichermanagementeinheit
(18; 70; 100) eine Schreib-Freigabesteuerleitung (26) verbun
den ist, die die Eingabeleitungen (16; 104) der indirekten Adreß
segmente sowohl für das Lesen als auch das Schreiben der Daten
aus der und in die Speichermanagementeinheit (18; 70; 100)
verwendet.
12. Computersystem nach einem der Ansprüche 1 bis 11, da
durch gekennzeichnet, daß für die Speichermanagementeinheit (18; 70; 100) ein Hochgeschwindigkeitsspeicherfeld
im Form eines statischen Direktzugriffsspeichers vorgesehen ist und der Hauptspeicher (28)
als dynamischer Direktzugriffsspeicher ausgebildet sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/547,397 US4550368A (en) | 1982-07-02 | 1983-10-31 | High-speed memory and memory management system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3438869A1 DE3438869A1 (de) | 1985-05-09 |
DE3438869C2 true DE3438869C2 (de) | 1989-12-14 |
Family
ID=24184505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19843438869 Granted DE3438869A1 (de) | 1983-10-31 | 1984-10-24 | Computersystem mit adressumwandlung |
Country Status (6)
Country | Link |
---|---|
US (1) | US4550368A (de) |
JP (1) | JPS60114953A (de) |
DE (1) | DE3438869A1 (de) |
FR (1) | FR2560411B1 (de) |
GB (1) | GB2149158B (de) |
SE (1) | SE455740B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3890141T1 (de) * | 1987-03-03 | 1989-04-13 | Tandon Corp | Computersystem mit computeradressenmodifiziersystem |
Families Citing this family (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6336180B1 (en) | 1997-04-30 | 2002-01-01 | Canon Kabushiki Kaisha | Method, apparatus and system for managing virtual memory with virtual-physical mapping |
US4805097A (en) * | 1984-08-03 | 1989-02-14 | Motorola Computer Systems, Inc. | Memory management unit with dynamic page allocation |
US4774659A (en) * | 1986-04-16 | 1988-09-27 | Astronautics Corporation Of America | Computer system employing virtual memory |
JPH0814803B2 (ja) * | 1986-05-23 | 1996-02-14 | 株式会社日立製作所 | アドレス変換方式 |
US4803621A (en) * | 1986-07-24 | 1989-02-07 | Sun Microsystems, Inc. | Memory access system |
JPS63163648A (ja) * | 1986-12-26 | 1988-07-07 | Hitachi Ltd | メモリ管理装置 |
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 |
US4849875A (en) * | 1987-03-03 | 1989-07-18 | Tandon Corporation | Computer address modification system with optional DMA paging |
US5293597A (en) * | 1987-03-09 | 1994-03-08 | At&T Bell Laboratories | Concurrent context memory management unit |
US4839796A (en) * | 1987-07-16 | 1989-06-13 | Icon International, Inc. | Static frame digital memory |
US4914577A (en) * | 1987-07-16 | 1990-04-03 | Icon International, Inc. | Dynamic memory management system and method |
US5101339A (en) * | 1987-08-10 | 1992-03-31 | Tandon Corporation | Computer address modification system using writable mapping and page stores |
JPH02500224A (ja) * | 1987-08-10 | 1990-01-25 | タンドン コーポレーション | コンピュータ・アドレス変換装置を備えたコンピュータ・システム |
GB2210480B (en) * | 1987-10-02 | 1992-01-29 | Sun Microsystems Inc | Flush support |
JP2644780B2 (ja) * | 1987-11-18 | 1997-08-25 | 株式会社日立製作所 | 処理依頼機能を持つ並列計算機 |
IT1216086B (it) * | 1988-03-15 | 1990-02-22 | Honeywell Bull Spa | Memoria tampone ad indirizzamento pseudo virtuale. |
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. |
US4974146A (en) * | 1988-05-06 | 1990-11-27 | Science Applications International Corporation | Array processor |
US4937791A (en) * | 1988-06-02 | 1990-06-26 | The California Institute Of Technology | High performance dynamic ram interface |
GB8814076D0 (en) * | 1988-06-14 | 1988-07-20 | Int Computers Ltd | Data processing system |
US5121487A (en) * | 1989-02-21 | 1992-06-09 | Sun Microsystems, Inc. | High speed bus with virtual memory data transfer capability using virtual address/data lines |
US5097483A (en) * | 1989-02-21 | 1992-03-17 | Sun Microsystems, Inc. | Tri-statable bus with apparatus to drive bus line to first level and then second level for predetermined time before turning off |
US5150471A (en) * | 1989-04-20 | 1992-09-22 | Ncr Corporation | Method and apparatus for offset register address accessing |
JPH031260A (ja) * | 1989-05-30 | 1991-01-07 | Hitachi Ltd | 計算機方式 |
US5307468A (en) * | 1989-08-23 | 1994-04-26 | Digital Equipment Corporation | Data processing system and method for controlling the latter as well as a CPU board |
JP2945757B2 (ja) * | 1989-09-08 | 1999-09-06 | オースペックス システムズ インコーポレイテッド | 多重装置オペレーティングシステムのアーキテクチャ |
US5163131A (en) * | 1989-09-08 | 1992-11-10 | Auspex Systems, Inc. | Parallel i/o network file server architecture |
US5584003A (en) * | 1990-03-29 | 1996-12-10 | Matsushita Electric Industrial Co., Ltd. | Control systems having an address conversion device for controlling a cache memory and a cache tag memory |
US5659797A (en) * | 1991-06-24 | 1997-08-19 | U.S. Philips Corporation | Sparc RISC based computer system including a single chip processor with memory management and DMA units coupled to a DRAM interface |
DE69315630T2 (de) * | 1992-07-23 | 1998-07-16 | Rockwell International Corp | Datenzugriff in einem RISC-Digitalsignalprozessor |
WO1994029796A1 (en) * | 1993-06-03 | 1994-12-22 | Network Appliance Corporation | A method for allocating files in a file system integrated with a raid disk sub-system |
US6604118B2 (en) | 1998-07-31 | 2003-08-05 | Network Appliance, Inc. | File system image transfer |
US6138126A (en) * | 1995-05-31 | 2000-10-24 | Network Appliance, Inc. | Method for allocating files in a file system integrated with a raid disk sub-system |
EP1003103B1 (de) * | 1993-06-03 | 2008-10-01 | Network Appliance, Inc. | Verfahren und Vorrichtung zum Beschreiben beliebiger Bereiche eines Dateisystems |
US7174352B2 (en) | 1993-06-03 | 2007-02-06 | Network Appliance, Inc. | File system image transfer |
EP0701715A4 (de) * | 1993-06-04 | 1999-11-17 | Network Appliance Corp | Verfahren zur paritätsdarstellung in einem raid-untersystem unter verwendung eines nichtflüchtigen speichers |
US5652872A (en) * | 1994-03-08 | 1997-07-29 | Exponential Technology, Inc. | Translator having segment bounds encoding for storage in a TLB |
US5440710A (en) * | 1994-03-08 | 1995-08-08 | Exponential Technology, Inc. | Emulation of segment bounds checking using paging with sub-page validity |
US5897662A (en) * | 1995-08-18 | 1999-04-27 | International Business Machines Corporation | Pseudo-random address generation mechanism that reduces address translation time |
US5848293A (en) * | 1995-11-03 | 1998-12-08 | Sun Microsystems, Inc. | Method and apparatus for transmission and processing of virtual commands |
US5659798A (en) * | 1996-02-02 | 1997-08-19 | Blumrich; Matthias Augustin | Method and system for initiating and loading DMA controller registers by using user-level programs |
CA2205313C (en) * | 1996-05-28 | 2005-01-18 | Tecton Products | Method of manufacture of a plastic component which is insensitive to the elements, and a plastic component so manufactured |
AUPO648397A0 (en) | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Improvements in multiprocessor architecture operation |
AUPO647997A0 (en) * | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Memory controller architecture |
US6259456B1 (en) | 1997-04-30 | 2001-07-10 | Canon Kabushiki Kaisha | Data normalization techniques |
US6707463B1 (en) | 1997-04-30 | 2004-03-16 | Canon Kabushiki Kaisha | Data normalization technique |
US6414687B1 (en) | 1997-04-30 | 2002-07-02 | Canon Kabushiki Kaisha | Register setting-micro programming system |
US6289138B1 (en) | 1997-04-30 | 2001-09-11 | Canon Kabushiki Kaisha | General image processor |
US6195674B1 (en) | 1997-04-30 | 2001-02-27 | Canon Kabushiki Kaisha | Fast DCT apparatus |
US6457130B2 (en) | 1998-03-03 | 2002-09-24 | Network Appliance, Inc. | File access control in a multi-protocol file server |
US6317844B1 (en) | 1998-03-10 | 2001-11-13 | Network Appliance, Inc. | File server storage arrangement |
US6343984B1 (en) | 1998-11-30 | 2002-02-05 | Network Appliance, Inc. | Laminar flow duct cooling system |
JP5220974B2 (ja) | 1999-10-14 | 2013-06-26 | ブルアーク ユーケー リミテッド | ハードウェア実行又はオペレーティングシステム機能の加速のための装置及び方法 |
JP3604977B2 (ja) * | 1999-10-14 | 2004-12-22 | Necエレクトロニクス株式会社 | バスインタフェース回路作成装置及び記録媒体 |
DE10116862A1 (de) * | 2001-04-04 | 2002-10-17 | Infineon Technologies Ag | Programmgesteuerte Einheit |
US7457822B1 (en) | 2002-11-01 | 2008-11-25 | Bluearc Uk Limited | Apparatus and method for hardware-based file system |
US8041735B1 (en) | 2002-11-01 | 2011-10-18 | Bluearc Uk Limited | Distributed file system and method |
US7937499B1 (en) * | 2004-07-09 | 2011-05-03 | Oracle America, Inc. | Methods and apparatus for dynamically switching between polling and interrupt mode for a ring buffer of a network interface card |
US7516247B2 (en) | 2005-08-12 | 2009-04-07 | Advanced Micro Devices, Inc. | Avoiding silent data corruption and data leakage in a virtual environment with multiple guests |
US7543131B2 (en) | 2005-08-12 | 2009-06-02 | Advanced Micro Devices, Inc. | Controlling an I/O MMU |
US7793067B2 (en) * | 2005-08-12 | 2010-09-07 | Globalfoundries Inc. | Translation data prefetch in an IOMMU |
US7480784B2 (en) | 2005-08-12 | 2009-01-20 | Advanced Micro Devices, Inc. | Ensuring deadlock free operation for peer to peer traffic in an input/output memory management unit (IOMMU) |
TW200712997A (en) * | 2005-09-23 | 2007-04-01 | Elan Microelectronics Corp | Method for compensating sensitivity of touch pad sensor |
US7653803B2 (en) * | 2006-01-17 | 2010-01-26 | Globalfoundries Inc. | Address translation for input/output (I/O) devices and interrupt remapping for I/O devices in an I/O memory management unit (IOMMU) |
US7613898B2 (en) * | 2006-01-17 | 2009-11-03 | Globalfoundries Inc. | Virtualizing an IOMMU |
US7548999B2 (en) * | 2006-01-17 | 2009-06-16 | Advanced Micro Devices, Inc. | Chained hybrid input/output memory management unit |
US7673116B2 (en) * | 2006-01-17 | 2010-03-02 | Advanced Micro Devices, Inc. | Input/output memory management unit that implements memory attributes based on translation data |
US7739474B2 (en) * | 2006-02-07 | 2010-06-15 | International Business Machines Corporation | Method and system for unifying memory access for CPU and IO operations |
US7743221B2 (en) * | 2006-07-03 | 2010-06-22 | Mediatek Inc. | Memory sharing method for sharing SRAM in an SOC device |
US7849287B2 (en) | 2006-11-13 | 2010-12-07 | Advanced Micro Devices, Inc. | Efficiently controlling special memory mapped system accesses |
US7873770B2 (en) | 2006-11-13 | 2011-01-18 | Globalfoundries Inc. | Filtering and remapping interrupts |
CN101231616B (zh) * | 2007-01-22 | 2010-12-22 | 联发科技股份有限公司 | 存储器共享方法 |
US20080270737A1 (en) * | 2007-04-26 | 2008-10-30 | Hewlett-Packard Development Company, L.P. | Data Processing System And Method |
US9292533B2 (en) | 2010-06-08 | 2016-03-22 | Dell Products L.P. | Systems and methods for improving storage efficiency in an information handling system |
US8631212B2 (en) | 2011-09-25 | 2014-01-14 | Advanced Micro Devices, Inc. | Input/output memory management unit with protection mode for preventing memory access by I/O devices |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3487373A (en) * | 1965-11-16 | 1969-12-30 | Gen Electric | Apparatus providing symbolic memory addressing in a multicomputer system |
US3412382A (en) * | 1965-11-26 | 1968-11-19 | Massachusetts Inst Technology | Shared-access data processing system |
US3723976A (en) * | 1972-01-20 | 1973-03-27 | Ibm | Memory system with logical and real addressing |
US3902164A (en) * | 1972-07-21 | 1975-08-26 | Ibm | Method and means for reducing the amount of address translation in a virtual memory data processing system |
US3854126A (en) * | 1972-10-10 | 1974-12-10 | Digital Equipment Corp | Circuit for converting virtual addresses into physical addresses |
US3976978A (en) * | 1975-03-26 | 1976-08-24 | Honeywell Information Systems, Inc. | Method of generating addresses to a paged memory |
US4037215A (en) * | 1976-04-30 | 1977-07-19 | International Business Machines Corporation | Key controlled address relocation translation system |
JPS5326543A (en) * | 1976-08-24 | 1978-03-11 | Nec Corp | Logical operation equipment |
US4092715A (en) * | 1976-09-22 | 1978-05-30 | Honeywell Information Systems Inc. | Input-output unit having extended addressing capability |
JPS53121426A (en) * | 1977-03-31 | 1978-10-23 | Hitachi Ltd | Data processor having address conversion unit |
GB2008821B (en) * | 1977-11-04 | 1982-01-13 | Sperry Rand Corp | Digital computers |
JPS5847742B2 (ja) * | 1978-04-27 | 1983-10-24 | 株式会社東芝 | 記憶制御方式 |
US4388685A (en) * | 1978-08-04 | 1983-06-14 | Digital Equipment Corporation | Central processor with apparatus for extended virtual addressing |
JPS56134384A (en) * | 1980-03-26 | 1981-10-21 | Hitachi Ltd | Memory access system |
US4434459A (en) * | 1980-04-25 | 1984-02-28 | Data General Corporation | Data processing system having instruction responsive apparatus for both a basic and an extended instruction set |
US4519032A (en) * | 1982-06-09 | 1985-05-21 | At&T Bell Laboratories | Memory management arrangement for microprocessor systems |
-
1983
- 1983-10-31 US US06/547,397 patent/US4550368A/en not_active Expired - Lifetime
-
1984
- 1984-09-27 GB GB08424377A patent/GB2149158B/en not_active Expired
- 1984-10-24 DE DE19843438869 patent/DE3438869A1/de active Granted
- 1984-10-30 FR FR848416569A patent/FR2560411B1/fr not_active Expired - Fee Related
- 1984-10-31 SE SE8405456A patent/SE455740B/sv not_active IP Right Cessation
- 1984-10-31 JP JP59228087A patent/JPS60114953A/ja active Granted
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3890141T1 (de) * | 1987-03-03 | 1989-04-13 | Tandon Corp | Computersystem mit computeradressenmodifiziersystem |
Also Published As
Publication number | Publication date |
---|---|
SE455740B (sv) | 1988-08-01 |
DE3438869A1 (de) | 1985-05-09 |
FR2560411A1 (fr) | 1985-08-30 |
FR2560411B1 (fr) | 1991-04-26 |
SE8405456L (sv) | 1985-05-01 |
JPS60114953A (ja) | 1985-06-21 |
JPH0584532B2 (de) | 1993-12-02 |
US4550368A (en) | 1985-10-29 |
SE8405456D0 (sv) | 1984-10-31 |
GB2149158A (en) | 1985-06-05 |
GB2149158B (en) | 1987-06-17 |
GB8424377D0 (en) | 1984-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3438869C2 (de) | ||
DE3724317C2 (de) | ||
DE2819571C2 (de) | ||
DE3151745C2 (de) | ||
DE3636394C2 (de) | Einrichtung und Verfahren zur Speicherorganisation | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2364408A1 (de) | System zur erstellung von schaltungsanordnungen aus hochintegrierten chips | |
DE1774052B1 (de) | Rechner | |
DE2912073C2 (de) | ||
DE2062228A1 (de) | Datenverarbeitungssystem mit gleich zeitigem Zugriff auf mehrere Speicher stellen | |
DE2758829A1 (de) | Multiprozessor-datenverarbeitungssystem | |
DE68929482T2 (de) | Integrierter Schaltkreis mit synchronem Halbleiterspeicher, ein Verfahren zum Zugriff auf den besagten Speicher sowie ein System, das einen solchen Speicher beinhaltet | |
DE3441640A1 (de) | Streifenfeldspeichercontroller | |
DE2718551B2 (de) | ||
DE3911721C2 (de) | ||
DE3013064C2 (de) | Schaltungsanordnung zur Übertragung von Bitgruppen zwischen einer von mehreren peripheren Einheiten und einem Pufferspeicher | |
DE4114053A1 (de) | Computersystem mit cachespeicher | |
DE2749884C2 (de) | ||
DE10105627B4 (de) | Mehrfachanschlussspeichereinrichtung, Verfahren und System zum Betrieb einer Mehrfachanschlussspeichereinrichtung | |
EP0111161B1 (de) | Vorrichtung zur Mikrobefehls-Bereitstellung für mindestens zwei unabhängig arbeitende Funktionseinheiten in einem integrierten, mikroprogrammierten elektronischen Baustein und Verfahren zu ihrem Betrieb | |
DE2747304A1 (de) | Einrichtung zur mikrobefehlssteuerung | |
DE2349253A1 (de) | Programmgesteuerte rechenanlage | |
DE2235883B2 (de) | Datenverarbeitungseinrichtung | |
DE3149926A1 (de) | Programmierbare vergleichsschaltung | |
DE4408695C1 (de) | Mehrtorige Datenspeicheranordnung und Verfahren zum Betrieb derselben |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 12/10 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |