DE4123550A1 - Informationsverarbeitungssystem mit direktem speicherzugriff - Google Patents
Informationsverarbeitungssystem mit direktem speicherzugriffInfo
- Publication number
- DE4123550A1 DE4123550A1 DE4123550A DE4123550A DE4123550A1 DE 4123550 A1 DE4123550 A1 DE 4123550A1 DE 4123550 A DE4123550 A DE 4123550A DE 4123550 A DE4123550 A DE 4123550A DE 4123550 A1 DE4123550 A1 DE 4123550A1
- Authority
- DE
- Germany
- Prior art keywords
- main memory
- dma
- memory
- access
- address
- 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; 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/38—Information transfer, e.g. on bus
-
- 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
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0835—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
-
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Bus Control (AREA)
Description
Die vorliegende Erfindung betrifft ein Verfahren zur Steuerung des direkten
Speicherzugriffs (DMA) in einem Informationsverarbeitungssystem.
Viele Informationsverarbeitungssysteme haben eine Adressenübersetzung zur Übersetzung
logischer Adressen, die durch Programme verarbeitet werden, in Hauptspeicheradressen,
d. h. physikalische Adressen zum Implementieren eines virtuellen
Speichersystems.
Die Adressenübersetzung bedient sich üblicherweise eines Seitensystems, in dem
ein logischer Adressenraum in Räume aufgeteilt wird, die jeweils eine vorbestimmte
Größe haben, d. h. Seiteneinheiten, und Übersetzung von logischen zu physikalischen
Adressen wird in Seiteneinheiten durchgeführt.
Obwohl die Benutzungseffizienz eines Hauptspeichers durch auf dem Seitensystem
beruhenden Adressenübersetzungen erhöht wird, ist eine Vielzahl von kontinuierlichen
Seiten in den logischen Adressen relevant für diskrete Seiten in dem Hauptspeicher.
Dementsprechend ist eine Steuerung notwendig, die es ermöglicht, Daten aus einer
Vielzahl von kontinuierlichen Seiten in die logischen Adressen zu überführen, um
einen direkten Speicherzugriff von der Eingabe-/Ausgabesteuerung zum Hauptspeicher
durchzuführen (weiterhin als DMA bezeichnet).
In dem Stand der Technik gibt es ein System, in dem eine Adressenübersetzungstabelle
für DMA vorgesehen ist, wie es in JP-A-1-1 93 961 beschrieben ist.
Die DMA-Adressenübersetzungstabelle hat Seitenadressen zum Erzeugen physikalischer
Adressen aus logischen Adressen, die von einer Eingabe-/Ausgabesteuerung
ausgegeben werden.
Mit dem oben genannten System kann die Eingabe-/Ausgabesteuerung mit einer
relativ einfachen Hardware implementiert werden. DMA-Übertragung in einen kontinuierlichen
Bereich in den logischen Adressen kann erreicht werden.
Um eine Übereinstimmung zwischen dem Inhalt eines Hilfespeichers und dem
Inhalt eines Hauptspeichers während DMA-Zugriffes sicher zu stellen, wurde im
allgemeinen eine Einrichtung vorgesehen, mit der man sich auf den Hilfsspeicher
während DMA-Zugriffes beziehen kann.
Da der Hilfsspeicher für DMA-Zugriff belegt ist, während DMA nach dem Stand
der Technik durchgeführt wird, ist der Zugriff von der Zentraleinheit (CPU) zum
Hilfsspeicher nicht möglich, während des DMA-Zugriffs.
Daher bestand ein Problem darin, daß während des DMA-Betriebs die Betriebsleistungen
der CPU herabgesetzt werden.
Es ist ein Ziel der vorliegenden Erfindung, die Betriebsleistung einer CPU zu
erhöhen, in dem man den Zugriff von der CPU zu einem Hilfsspeicher während
DMA-Betriebs ermöglicht.
Um das oben genannte Ziel zu erreichen, sieht die vorliegende Erfindung vor, ein
Informationsverarbeitungssystem, mit einer zentralen Recheneinheit, einem Hauptspeicher,
einer Hauptspeichersteuerungseinrichtung zur Steuerung des Hauptspeichers,
einem Hilfsspeicher, dessen Inhalt zumindest ein Teil der im Hauptspeicher
gespeicherten Adressen ist, zumindest einer DMA-Steuerungseinrichtung, die in der
Lage ist, auf den Hauptspeicher und die DMA-Adressenübersetzungseinrichtung
zurückgreifen, um eine von der DMA-Steuerungseinrichtung ausgegebene logische
Adresse in eine physikalische Adresse zu übersetzen, um auf den Hauptspeicher
zurückzugreifen, dadurch gekennzeichnet, daß die DMA-Adressenübersetzungseinrichtung
ein Kennzeichen besitzt, das angibt, ob auf den Hilfsspeicher während des
DMA-Zugriffs zurückgegriffen wird oder nicht, und daß die Hauptspeichersteuerungseinrichtung
entweder auf den Hilfsspeicher zurückgreift oder direkt auf den
Hauptspeicher zurückgreift, abhängig von dem Kennzeichen während des DMA-
Zugriffs.
Die CPU stellt im voraus Information für die Adressenübersetzung ein, bevor die
CPU der DMA-Steuerungseinrichtung befiehlt, den DMA-Transfer zu beginnen.
Zu diesem Zeitpunkt stellt die CPU fest, ob es nötig ist oder nicht, auf den
Hilfsspeicher zurückzugreifen, um einen Wert für das Kennzeichen voreinzustellen
(Hilfsspeicherrückgriffssteuerkennzeichen).
Nach dem der DMA-Zugriff von der CPU begonnen wird, bestimmt die Hauptspeichersteuereinrichtung
zur Steuerung des Hauptspeichers eine Hauptspeicheradresse,
auf die die DMA-Adressenübersetzungseinrichtung zurückgreifen soll in Übereinstimmung
mit einer von der DMA-Steuerungseinrichtung ausgegebenen Adresse.
Falls der Wert des Rückgriffsteuerkennzeichens des Hilfsspeichers in der DMA-
Adressenübersetzungseinrichtung angibt, daß Rückgriff auf den Hilfsspeicher nötig
ist, wird auf den Hilfsspeicher zurückgegriffen.
Falls der Wert des Rückgriffssteuerkennzeichens des Hilfsspeichers angibt, daß
Rückgriff auf den Hilfsspeicher nicht nötig ist, wird auf den Hilfsspeicher nicht
zurückgegriffen, und Zugriff zum Hauptspeicher findet direkt statt. Daher ergibt
sich daß, falls auf den Hilfsspeicher nicht einmal während des DMA-Betriebes
zurückgegriffen wird, Zugang von der CPU zu dem Hilfsspeicher möglich wird, so
daß eine Erniedrigung der CPU-Verarbeitungsleistung aufgrund des DMA-Betriebes
unterdrückt werden kann.
Weitere Vorteile, Merkmale und Anwendungsmöglichkeiten der vorliegenden Erfindung
ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen
in Verbindung mit der Zeichnung. Darin zeigen:
Fig. 1 ein Blockdiagramm, das die Struktur eines ersten Ausführungsbeispiels
der vorliegenden Erfindung zeigt;
Fig. 2 eine erklärende Ansicht, die ein Zugriffsverfahren durch eine DMA-
Adressenübersetzungstabelle zeigt;
Fig. 3 eine erklärende Ansicht, die ein Adressenfeld des Hauptspeichers
zeigt;
Fig. 4 ein Blockdiagramm, das die Struktur eines zweiten Ausführungsbei
spiels der vorliegenden Erfindung zeigt; und
Fig. 5 eine erklärende Ansicht, die ein Zugriffsverfahren für die DMA-
Adressenübersetzungstabelle in dem zweiten Ausführungsbeispiel der
vorliegenden Erfindung zeigt.
Fig. 1 ist ein Blockdiagramm, das die Struktur eines ersten Ausführungsbeispiels
eines Informationsverarbeitungssystems der vorliegenden Erfindung zeigt.
Das erste Ausführungsbeispiel beinhaltet eine CPU 101, welche eine Zentraleinheit
ist, eine Adressenübersetzungseinrichtung 102, einen Hilfsspeicher 103, einen CPU-
Bus 104, eine Hauptspeichersteuerungseinrichtung 105, welche eine Hauptspeichersteuerungseinrichtung
zur Steuerung des Hauptspeichers ist, einen Hauptspeicher
106, eine DMA-Adressenübersetzungssteuerungseinrichtung 107 und eine DMA-
Adressenübersetzungstabelle 108, welche DMA-Adressenübersetzungseinrichtungen
sind, einen Systembus 109 und von eins bis n durchnumerierte Eingabe-/Ausgabesteuerungseinrichtungen
110a bis 110b, welche DMA-Steuerungseinrichtungen
sind.
Eine oder mehrere Eingabe-/Ausgabevorrichtungen (nicht gezeigt) sind mit jeder
der Eingabe-/Ausgabesteuerungseinrichtungen verbunden.
Nun wird die Betriebsweise beschrieben. Falls auf ein im Hauptspeicher gespeichertes
Datenprogramm durch die CPU 101 zurückgegriffen wird, wird eine logische
Adresse in eine Adresse des Hauptspeichers (physikalische Adresse) durch die
Adressenübersetzungseinrichtung 102 übersetzt, und Zugriff zu dem Hilfsspeicher 103
oder dem Hauptspeicher 106 findet durch den CPU-Bus 104 statt.
Befindet sich in dem Hilfsspeicher 103 ein relevanter Adresseninhalt, findet kein
Datentransfer zwischen dem Hauptspeicher 106 und dem Hilfsspeicher 103 statt,
und Programm- oder Datentransfer findet zwischen der CPU 101 und dem Hilfsspeicher
103 durch den CPU-Bus 104 statt.
Während DMA-Zugriffs wird eine von der Eingabe-/Ausgabesteuerung ausgegebene
Adresse, eine logische Adresse, die von irgendeinem der mit eins bis n durchnumerierten Eingabe-/Ausgabesteuerungseinrichtungen 110a bis 110b ausgegeben
wird, in die DMA-Adressenübersetzungssteuerungseinrichtung 107 durch den Systembus
109 eingegeben.
Dann wird die von der Eingabe-/Ausgabesteuerungseinrichtung ausgegebene Adresse
201 durch die DMA-Adressenübersetzungssteuerungseinrichtung 107, in eine Hauptspeicheradresse
übersetzt (physikalische Adresse) 202, wobei die DMA-Adressenübersetzungstabelle
108 verwendet wird.
Die übersetzte Hauptspeicheradresse 202 wird in die Hauptspeichersteuerungseinrichtung
105 eingegeben, so daß auf den Hauptspeicher 106 zurückgegriffen wird.
Nun wird die Adressenübersetzung während des DMA-Zugriffes unter Bezugnahme
auf Fig. 2 im Detail beschrieben.
Die von der Eingabe-/Ausgabesteuerung ausgegebene Adresse 201 wird in ein
Adressenkennzeichen 203 und einen Versatz 204 aufgeteilt. Der Inhalt in der
DMA-Adressenübersetzungstabelle 108 wird ausgelesen in Übereinstimmung mit
dem Wert des Adressenkennzeichens 203, welches für die Bezugsbestimmung
(Eingabe) in die DMA-Adressenübersetzungstabelle steht.
Jede Eingabe in die DMA-Adressenübersetzungstabelle 108 hat eine Seitennummer
206, ein V-Bit 207 und ein S-Bit 208.
Der Seitennummer 206 wird der Absatz 204 der von der Eingabe-/Ausgabesteuerung
ausgegebenen Adresse 201 zugefügt, um eine Hauptspeicheradresse 202 zu
werden.
Das V-Bit 207 ist ein Kennzeichen, welches angibt, ob die Seitennummer in der
Eingabe für die DMA-Adressenübersetzungstabelle 108 gültig ist oder nicht.
Das S-Bit 208 ist ein Kennzeichen, welches angibt, ob Rückgriff auf den Hilfsspeicher
nötig ist im Zusammenhang mit dem betreffenden DMA-Zugriff oder
nicht. Falls S=1, stellt dies dar, daß Rückgriff auf den Hilfsspeicher nicht nötig ist. Der Wert
des ausgelesenen S-Bits 208 wird in die Hauptspeichersteuerungseinrichtung 105 zusammen
mit der Hauptspeicheradresse 202 eingegeben. Falls S=1, führt die Hauptspeichersteuerung
nur Entscheidungen aus im Zusammenspiel mit der CPU 101
und erlangt Buspriorität über den CPU-Bus 104, um auf den Hilfsspeicher 103
zurückzugreifen.
Arbeitsweise falls der Hilfsspeicher 103 sich im folgenden Zustand befindet:
Falls der Inhalt der betreffenden Adresse in dem Hilfsspeicher 103 existiert, wird
der Inhalt ausgelesen oder auf den neuesten Stand gebracht gemäß Bedarf.
Falls der Inhalt der betreffenden Adresse in dem Hilfsspeicher 103 nicht existiert,
wird auf den Hauptspeicher 106 zurückgegriffen.
Falls S=0, wird auf den Nebenspeicher 103 nicht zurück
gegriffen, und es wird auf den Hauptspeicher 106 direkt zurückgegriffen.
Nun wird die Vorgabe des Inhaltes der DMA-Adressenübersetzungstabelle beschrieben.
Der Inhalt der DMA-Adressenübersetzungstabelle 108 wird von der CPU gesteuert.
Die Seitennummer 206, welche Adressenübersetzungsinformation ist, ist voreingestellt
aufgrund der Wechselbeziehung zwischen der logischen Adresse 201 und der
Hauptspeicheradresse 202.
Das Voreinstellen des Wertes des S-Bits 208 wird beschrieben unter Bezugnahme
auf ein Adressenfeld des Hauptspeichers 106, wie in Fig. 3 dargestellt.
Der Wert des S-Bits wird bestimmt, je nach dem ob die Möglichkeit besteht, daß
der Bereich des Hauptspeichers 106, welcher dem DMA-Transfer unterliegt, in dem
Nebenspeicher existiert oder nicht.
D. h., der Hauptspeicher 106 ist unterteilt in Programmdatenbereiche 301a und
301b, in welchen gewöhnliche Programme und Daten jeweils gespeichert werden
und einen DMA-Pufferbereich 302. Der DMA-Pufferbereich 302 unterliegt nicht
dem Nebenspeicher bei Zugriff von der CPU.
Wenn der DMA-Pufferbereich 302 in der DMA-Adressenübersetzungstabelle 108
registriert ist, wird das S-Bit der DMA-Adressenübersetzungstabelle auf 0 gesetzt.
Wenn die gewöhnlichen Programm- und Datenbereiche in der DMA-Adressenübersetzungstabelle
108 registriert werden, wird es auf 1 gesetzt.
In dem ersten Ausführungsbeispiel findet direkter Zugriff zu dem Hauptspeicher
statt, ohne den Transfer zwischen der CPU und dem Hilfsspeicher zu unterbrechen,
wenn DMA-Transfer in einen Bereich stattfindet, in welchem Rückgriff auf den
Hilfsspeicher nicht nötig ist.
Daher kann eine durch DMA-Zugriff verursachte Senkung der CPU-Verarbeitungsleistung
reduziert werden.
Da die Entscheidung darüber, ob bei DMA-Transfer auf den Hilfsspeicher zurückgegriffen
werden muß oder nicht, getroffen wird, basierend darauf, ob der Bestimmungsbereich
des DMA-Transfers der Benutzungsbestimmungsbereich des Hilfsspeichers
ist oder nicht, wird auf den Benutzungsbestimmungsbereich des Hilfsspeichers
bei DMA-Transfer auch zurückgegriffen, und auf das Gebiet des Hilfsspeichers,
welches nicht der Benutzugsbestimmungsbereich ist, wird beim DMA-
Transfer nicht zurückgegriffen.
Demgemäß kann es nicht zu einer Nichtübereinstimmung zwischen dem Inhalt des
Hilfsspeichers und dem Inhalt des Hauptspeichers aufgrund von DMA-Transfer
kommen.
Information darüber, ob auf den Hilfsspeicher zurückgegriffen wird oder nicht, ist
nicht auf das Voreinstellen des Kennzeichens in der DMA-Adressenübersetzungstabelle
begrenzt. Eine eigenständige Vorrichtung, die Information beinhaltet,
darüber ob zurückgegriffen wird oder nicht, kann bereitgestellt werden.
Weiterhin kann die DMA-Steuerungseinrichtung mit einer Tabelle ausgestattet
werden, die diese Information beinhaltet.
Ein zweites Ausführungsbeispiel der vorliegenden Erfindung wird beschrieben.
Fig. 4 ist ein Blockdiagramm, das die Struktur des zweiten Ausführungsbeispieles
zeigt. Fig. 5 ist eine Ansicht, die ein Verfahren des Zugriffs auf die DMA-Adressenübersetzungstabelle
in dem zweiten Ausführungsbeispiel zeigt.
Die Struktur des zweiten Ausführungsbeispiels ist gekennzeichnet dadurch, daß die
DMA-Adressenübersetzungssteuerungseinrichtung 107, welche die DMA-Adressenübersetzungseinrichtung
ist, mit einem Index ausgestattet ist, der dazu dient, eine
Führungsadresse der DMA-Adressenübersetzungstabelle abzuspeichern, und daß eine
DMA-Adressenübersetzungstabelle 402 in dem Hauptspeicher 106 vorhanden ist.
Das zweite Ausführungsbeispiel beinhaltet: eine CPU 101, welche eine zentrale
Recheneinheit ist, eine Adressenübersetzungseinrichtung 102, einen Hilfsspeicher 103,
einen CPU-Bus 104, eine Hauptspeichersteuerungseinrichtung 105, welche die
Hauptspeichersteuerungseinrichtung zur Steuerung des Hauptspeichers ist, einen
Hauptspeicher 106, eine DMA-Adressenübersetzungssteuerungseinrichtung 107 und
eine DMA-Adressenübersetzungstabelle 108, welche DMA-Adressenübersetzungseinrichtungen
sind, einen Systembus 109, und von 1 bis n durchnumerierte Eingabe-/
Ausgabesteuerungseinrichtungen 110a bis 110b, welche DMA-Steuerungseinrichtungen
sind.
Eine oder mehrere Eingabe-/Ausgabevorrichtungen (nicht gezeigt) sind an jede der
Eingabe-/Ausgabesteuerungseinrichtungen angeschlossen.
Nun wird die Funktionsweise beschrieben.
Falls auf ein Programm oder Daten, die im Hauptspeicher gespeichert sind, durch
die CPU 101 zurückgegriffen wird, wird eine logische Adressse in eine Adresse des
Hauptspeichers (physikalische Adresse) durch die Adressenübersetzungseinrichtung
102 übersetzt, und Zugriff auf den Hilfsspeicher 103 oder den Hauptspeicher 106
findet durch den CPU-Bus 104 statt.
Falls ein relevanter Adresseninhalt in dem Hilfsspeicher 103 existiert, findet
Datentransfer zwischen dem Hauptspeicher 106 und dem Hilfsspeicher nicht statt,
und ein Programm- oder Datentransfer zwischen der CPU 101 und dem Hilfsspeicher
103 findet durch den CPU-Bus 104 statt.
Während des DMA-Zugriffs wird der Inhalt der DMA-Adressenübersetzungstabelle
402 in dem Hauptspeicher 106 gelesen unter Zuhilfenahme der Adressenmarke 203
der von der Eingabe-/Ausgabesteuerungseinrichtung ausgegebenen Adresse 201,
welche von irgendeiner der mit eins bis n durchnumerierten Eingabe-/Ausgabesteuerungseinrichtungen
110a bis 110b und des Indexes bzw. Zeigers 401 ausgegeben
wird, und in der Hauptspeicheradresse 202 übersetzt.
Die Struktur jeder Eingabe in die DMA-Adressenübersetzungstabelle 402 und die
Einzelheiten im Betrieb der Adressenübersetzung bei DMA sind identisch mit
denen des ersten Ausführungsbeispiels. In Übereinstimmung mit dem zweiten
Ausführungsbeispiel, ergibt sich der Effekt, daß die DMA-Adressenübersetzungstabelle
108 gewöhnlicherweise mit dem Hauptspeicher 105 benutzt werden kann, so
daß die Menge an Hardware verringert werden kann, zusätzlich zu dem Effekt des
ersten Ausführungsbeispiels.
Claims (4)
1. Informationsverarbeitungssystem mit einer zentralen Recheneinheit (101), einem
Hauptspeicher (106), einer Hauptspeichersteuereinrichtung (105) zur Steuerung
des Hauptspeichers, einem Hilfsspeicher (103), dessen Inhalt zumindest
ein Teil der im Hauptspeicher gespeicherten Adressen ist, zumindest einer
DMA-Steuerungseinrichtung (107), welche in der Lage ist, auf den Hauptspeicher
zurückzugreifen, und einer DMA-Adressenübersetzungseinrichtung (108)
zur Übersetzung einer von der DMA-Steuerungseinrichtung ausgegebenen
logischen Adresse in eine physikalische Adresse für den Rückgriff auf den
Hauptspeicher,
wobei die DMA-Adressenübersetzungseinrichtung (108) ein Kennzeichen hat, stellvertretend dafür, ob auf den Hilfsspeicher (103) während des DMA-Zugriffs zurückgegriffen wird oder nicht, und wobei die Hauptspeichersteuerungseinrichtung (105) entweder auf den Hilfsspeicher (103) zugreift oder auf den Hauptspeicher (106) direkt zugreift, in Abhängigkeit von dem Kennzeichen während des DMA-Zugriffs.
wobei die DMA-Adressenübersetzungseinrichtung (108) ein Kennzeichen hat, stellvertretend dafür, ob auf den Hilfsspeicher (103) während des DMA-Zugriffs zurückgegriffen wird oder nicht, und wobei die Hauptspeichersteuerungseinrichtung (105) entweder auf den Hilfsspeicher (103) zugreift oder auf den Hauptspeicher (106) direkt zugreift, in Abhängigkeit von dem Kennzeichen während des DMA-Zugriffs.
2. Informationsverarbeitungssystem nach Anspruch 1, in dem der Hauptspeicher
(106) unterteilt ist in einen Benutzungsbestimmungsbereich und einen Nichtbenutzungsbestimmungsbereich
des Hilfsspeichers (103) und das Kennzeichen
so voreingestellt ist, daß auf den Hilfsspeicher zurückgegriffen wird, wenn auf den Benutzungsbestimmungsbereich des Hilfsspeichers auf dem Hauptspeicher
beim DMA-Zugriff zurückgegriffen wird.
3. Informationsverarbeitungssystem mit einer zentralen Recheneinheit (101), einem
Hauptspeicher (106), einer Hauptspeichersteuereinrichtung (105) zur Steuerung
des Hauptspeichers, einem Hilfsspeicher (103), der einen Inhalt von zumindest
einem Teil der Adressen, die im Hauptspeicher (106) gespeichert sind, aufweist,
und zumindest einer DMA-Steuerungseinrichtung (107), welche in der
Lage ist, auf den Hauptspeicher (106) zurückzugreifen, wobei das System eine
Halteeinrichtung aufweist zum Halten von Information, welche stellvertretend
ist dafür, ob auf den Hilfsspeicher während DMA-Zugriffs zurückgegriffen wird
oder nicht, wobei die Hauptspeichersteuerungseinrichtung (107) entweder auf
den Hilfsspeicher zugreift oder direkt auf den Hauptspeicher (106) zugreift,
basierend auf dem Kennzeichen während des DMA-Zugriffs.
4. DMA-Steuerungsvorrichtung, in welcher ein Informationsverarbeitungssystem, das
einen Hilfsspeicher (103) und einen Hauptspeicher (106) aufweist, eine oder
mehrere DMA-Steuerungseinrichtungen (107) und Ausgabeeinrichtungen zur
Ausgabe von DMA-Adresseninformation an das Informationsverarbeitungssystem
aufweist, beruhend auf Information von der DMA-Steuerungseinrichtung (107),
wobei die DMA-Steuerungseinrichtung (107) eine Tabelle hat zum Halten von
Information, stellvertretend dafür, ob auf den Hilfsspeicher beim DMA-Zugriff
zurückgegriffen wird oder nicht, und die Ausgabeeinrichtung Information
darüber ausgibt, ob auf den Hilfsspeicher (103) zurückgegriffen wird oder ob
direkt auf den Hauptspeicher zurückgegriffen wird, basierend auf dieser Information.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2187442A JP2774862B2 (ja) | 1990-07-16 | 1990-07-16 | Dma制御装置および情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4123550A1 true DE4123550A1 (de) | 1992-01-23 |
DE4123550C2 DE4123550C2 (de) | 2003-07-31 |
Family
ID=16206139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4123550A Expired - Fee Related DE4123550C2 (de) | 1990-07-16 | 1991-07-16 | Informationsverarbeitungssystem mit direktem Speicherzugriff |
Country Status (4)
Country | Link |
---|---|
US (1) | US5749093A (de) |
JP (1) | JP2774862B2 (de) |
KR (1) | KR940005790B1 (de) |
DE (1) | DE4123550C2 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0674267A2 (de) * | 1994-03-24 | 1995-09-27 | Hewlett-Packard Company | Kohärente DMA Schreibtransaktionen für Teilzeilen eines Cache-Speichers |
EP0674270A2 (de) * | 1994-03-24 | 1995-09-27 | Hewlett-Packard Company | Ein-/Ausgabeadressübersetzungsmechanismen |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997034228A1 (fr) * | 1996-03-13 | 1997-09-18 | Hitachi, Ltd. | Unite de traitement d'informations comportant une fonction permettant de supprimer les effractions, unite de commande de memoire et procede de traitement d'acces direct en memoire |
US5918070A (en) * | 1996-10-18 | 1999-06-29 | Samsung Electronics Co., Ltd. | DMA controller with channel tagging |
US5982672A (en) * | 1996-10-18 | 1999-11-09 | Samsung Electronics Co., Ltd. | Simultaneous data transfer through read and write buffers of a DMA controller |
JPH11272555A (ja) * | 1998-03-20 | 1999-10-08 | Fujitsu Ltd | キャッシュメモリ制御システム |
KR100331330B1 (ko) * | 1998-09-05 | 2002-09-05 | 삼성전자 주식회사 | 참조정보를저장하는방법및장치 |
US6256683B1 (en) * | 1998-12-23 | 2001-07-03 | Bops, Inc. | Methods and apparatus for providing direct memory access control |
US6412057B1 (en) * | 1999-02-08 | 2002-06-25 | Kabushiki Kaisha Toshiba | Microprocessor with virtual-to-physical address translation using flags |
US6389527B1 (en) * | 1999-02-08 | 2002-05-14 | Kabushiki Kaisha Toshiba | Microprocessor allowing simultaneous instruction execution and DMA transfer |
US6785759B1 (en) | 2000-05-10 | 2004-08-31 | International Business Machines Corporation | System and method for sharing I/O address translation caching across multiple host bridges |
US6779049B2 (en) * | 2000-12-14 | 2004-08-17 | International Business Machines Corporation | Symmetric multi-processing system with attached processing units being able to access a shared memory without being structurally configured with an address translation mechanism |
US7734842B2 (en) * | 2006-03-28 | 2010-06-08 | International Business Machines Corporation | Computer-implemented method, apparatus, and computer program product for managing DMA write page faults using a pool of substitute pages |
US7769919B2 (en) * | 2008-05-15 | 2010-08-03 | International Business Machines Corporation | Protecting computer memory from simultaneous direct memory access operations using active and inactive translation tables |
JP5526659B2 (ja) | 2008-09-25 | 2014-06-18 | ソニー株式会社 | ミリ波誘電体内伝送装置 |
US20100169673A1 (en) * | 2008-12-31 | 2010-07-01 | Ramakrishna Saripalli | Efficient remapping engine utilization |
US8661169B2 (en) * | 2010-09-15 | 2014-02-25 | Lsi Corporation | Copying data to a cache using direct memory access |
CN111813451B (zh) * | 2020-06-05 | 2023-03-24 | 上海赛昉科技有限公司 | 一种cpu数据读取装置及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4504902A (en) * | 1982-03-25 | 1985-03-12 | At&T Bell Laboratories | Cache arrangement for direct memory access block transfer |
US4669043A (en) * | 1984-02-17 | 1987-05-26 | Signetics Corporation | Memory access controller |
US4719568A (en) * | 1982-12-30 | 1988-01-12 | International Business Machines Corporation | Hierarchical memory system including separate cache memories for storing data and instructions |
EP0275157A2 (de) * | 1987-01-12 | 1988-07-20 | Fujitsu Limited | Durch Direktspeicherzugriff gesteuertes System |
JPH01193961A (ja) * | 1988-01-29 | 1989-08-03 | Hitachi Ltd | アドレス変換装置 |
US4912636A (en) * | 1987-03-13 | 1990-03-27 | Magar Surendar S | Data processing device with multiple on chip memory buses |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0814803B2 (ja) * | 1986-05-23 | 1996-02-14 | 株式会社日立製作所 | アドレス変換方式 |
JPS63163648A (ja) * | 1986-12-26 | 1988-07-07 | Hitachi Ltd | メモリ管理装置 |
US5179689A (en) * | 1987-03-13 | 1993-01-12 | Texas Instruments Incorporated | Dataprocessing device with instruction cache |
EP0426413B1 (de) * | 1989-11-03 | 1997-05-07 | Compaq Computer Corporation | Multiprozessorarbitrierung in für Einzelprozessor bestimmten Arbitrierungsschemas |
EP0447145B1 (de) * | 1990-03-12 | 2000-07-12 | Hewlett-Packard Company | Durch Anwender festgelegter direkter Speicherzugriff mit Anwendung von virtuellen Adressen |
US5161162A (en) * | 1990-04-12 | 1992-11-03 | Sun Microsystems, Inc. | Method and apparatus for system bus testability through loopback |
JPH04353947A (ja) * | 1991-02-13 | 1992-12-08 | Hewlett Packard Co <Hp> | メモリページ特性タグ付けシステム |
US5327570A (en) * | 1991-07-22 | 1994-07-05 | International Business Machines Corporation | Multiprocessor system having local write cache within each data processor node |
-
1990
- 1990-07-16 JP JP2187442A patent/JP2774862B2/ja not_active Expired - Lifetime
-
1991
- 1991-07-15 KR KR1019910012050A patent/KR940005790B1/ko not_active IP Right Cessation
- 1991-07-16 DE DE4123550A patent/DE4123550C2/de not_active Expired - Fee Related
-
1995
- 1995-02-14 US US08/389,080 patent/US5749093A/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4504902A (en) * | 1982-03-25 | 1985-03-12 | At&T Bell Laboratories | Cache arrangement for direct memory access block transfer |
US4719568A (en) * | 1982-12-30 | 1988-01-12 | International Business Machines Corporation | Hierarchical memory system including separate cache memories for storing data and instructions |
US4669043A (en) * | 1984-02-17 | 1987-05-26 | Signetics Corporation | Memory access controller |
EP0275157A2 (de) * | 1987-01-12 | 1988-07-20 | Fujitsu Limited | Durch Direktspeicherzugriff gesteuertes System |
US4912636A (en) * | 1987-03-13 | 1990-03-27 | Magar Surendar S | Data processing device with multiple on chip memory buses |
JPH01193961A (ja) * | 1988-01-29 | 1989-08-03 | Hitachi Ltd | アドレス変換装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0674267A2 (de) * | 1994-03-24 | 1995-09-27 | Hewlett-Packard Company | Kohärente DMA Schreibtransaktionen für Teilzeilen eines Cache-Speichers |
EP0674270A2 (de) * | 1994-03-24 | 1995-09-27 | Hewlett-Packard Company | Ein-/Ausgabeadressübersetzungsmechanismen |
EP0674267A3 (de) * | 1994-03-24 | 1995-11-29 | Hewlett Packard Co | Kohärente DMA Schreibtransaktionen für Teilzeilen eines Cache-Speichers. |
EP0674270A3 (de) * | 1994-03-24 | 1996-06-26 | Hewlett Packard Co | Ein-/Ausgabeadressübersetzungsmechanismen. |
US5586297A (en) * | 1994-03-24 | 1996-12-17 | Hewlett-Packard Company | Partial cache line write transactions in a computing system with a write back cache |
Also Published As
Publication number | Publication date |
---|---|
US5749093A (en) | 1998-05-05 |
KR940005790B1 (ko) | 1994-06-23 |
JP2774862B2 (ja) | 1998-07-09 |
DE4123550C2 (de) | 2003-07-31 |
JPH0477847A (ja) | 1992-03-11 |
KR920003181A (ko) | 1992-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4123550C2 (de) | Informationsverarbeitungssystem mit direktem Speicherzugriff | |
DE4410060B4 (de) | Übersetzungsvorrichtung zum Umsetzen einer virtuellen Speicheradresse in eine physikalische Speicheradresse | |
EP0010198B1 (de) | Vorrichtung zur Steuerung des Seitenaustausches in einem Datenverarbeitungssystem mit virtuellem Speicher | |
DE2235841C2 (de) | Datenverarbeitungsanlage mit Speichersteuerung für mindestens einen Prozessor und diesen zugeordneten Pufferspeichern | |
DE2807476C2 (de) | Speichereinrichtung mit mehreren virtuellen Adreßräumen | |
DE2459006C2 (de) | Einrichtung zum Bilden einer absoluten Adresse in einer Datenverarbeitunsanlage | |
DE2227882A1 (de) | Virtuelle Speicheranordnung | |
DE2260353A1 (de) | Verfahren und vorrichtung zur speichersteuerung und adressenumsetzung | |
DE2726488C2 (de) | Adressenübersetzungseinrichtung | |
DE69527383T2 (de) | Virtuelle Speicheranordnung | |
DE69708933T2 (de) | Adressenuebersetzung in rechnerbusbrueckegeraeten | |
DE2346525A1 (de) | Virtuelle speichereinrichtung | |
DE2556661A1 (de) | Steuerschaltung mit adressenerweiterung | |
DE3750740T2 (de) | Verfahren zur Steuerung von Mehradressräumen. | |
DE3833933A1 (de) | Informationsverarbeitungseinrichtung mit einer adressenerweiterungsfunktion | |
DE69130468T2 (de) | DMA-Steuerung mit Sprungfunktion | |
DE3502147A1 (de) | Datenverarbeitungssystem mit verbesserter pufferspeichersteuerung | |
DE69028836T2 (de) | Datenverarbeitungssystem mit Direktspeicherzugriffssteuerung und Verfahren zur Busmasteränderung unter Verwendung Unterbrechungen mit gegebener Priorität | |
DE3718750C2 (de) | ||
DE69119149T2 (de) | Struktur zur direkten Speicher-zu-Speicher-Übertragung | |
DE69027919T2 (de) | Anordnung und Verfahren zur Unterstützung des Zugriffs auf E/A-Geräte durch grosse, direkt abgebildete Datencache-Speicher | |
DE69229203T2 (de) | Verfahren und System zur Adressierung eines sehr grossen Speichers | |
DE2718551B2 (de) | ||
DE2539929C2 (de) | Datenverarbeitungsanlage mit einer zentralen Einheit und über einen Bus mit der zentralen Einheit verbundenen Peripheriegeräte-Steueranordnungen | |
DE69429503T2 (de) | Übersetzungsmechanismus für Ein-/Ausgabeadressen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8125 | Change of the main classification |
Ipc: G06F 13/28 |
|
8304 | Grant after examination procedure | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |