JPH0436852A - Dma controller - Google Patents
Dma controllerInfo
- Publication number
- JPH0436852A JPH0436852A JP2142886A JP14288690A JPH0436852A JP H0436852 A JPH0436852 A JP H0436852A JP 2142886 A JP2142886 A JP 2142886A JP 14288690 A JP14288690 A JP 14288690A JP H0436852 A JPH0436852 A JP H0436852A
- Authority
- JP
- Japan
- Prior art keywords
- address
- page
- addresses
- registers
- dma
- 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.)
- Pending
Links
- 230000000873 masking effect Effects 0.000 claims description 2
- 230000002093 peripheral effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 3
- 230000007257 malfunction Effects 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 206010000210 abortion Diseases 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000035987 intoxication Effects 0.000 description 1
- 231100000566 intoxication Toxicity 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は、仮想記憶またはアドレス変換機構を備えたコ
ンピュータ・システムにおいてDMAデータ転送を制御
する装置に関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an apparatus for controlling DMA data transfer in a computer system equipped with a virtual memory or address translation mechanism.
[従来の技術]
仮想記憶システムにおいては、第3図に示すように、ユ
ーザかプログラムを記述するための仮想のメモリ空間(
A)と、実際の記憶装置で得られる実メモリ空間(B)
とがあって、これらのメモリ空間(A)、(B)は互い
にページ!114位(例えば18にバイトのメモリ会ブ
ロック)で対応づけられる。通常、仮想メモリ空間(A
)内で連続的に配置されたページPO,P1..P2.
・・・・は、実メモリ空間(B)内ではランダムに配置
される。そして、仮想メモリ空間(A) 、1−のアド
レスは、CPUの実行段階でアドレス変換機構により実
メモリ空間(B) lのアドレスに変換される。[Prior Art] In a virtual memory system, as shown in Fig. 3, a virtual memory space (
A) and the real memory space obtained from the actual storage device (B)
These memory spaces (A) and (B) are pages! It is associated with the 114th position (for example, the 18th byte memory block). Usually, virtual memory space (A
) pages PO, P1 . .. P2.
... are randomly arranged in the real memory space (B). Then, the address in the virtual memory space (A), 1- is translated into the address in the real memory space (B), 1, by an address translation mechanism during the execution stage of the CPU.
このようなシステム環境ドにおいて、りMA(ランダム
・メモリ・アクセス)によるデータ転送を行う場合、第
4図に示すように、プログラム(仮想メモリ空間(A)
)−J−では連続したページP +、P j、・・・・
にわたってデータ転送のメモリアクセスを行うように規
定していても、実際(実メモリ空間(B))上は不連続
なベーンP I + P j’+ ・・・・にまたがっ
てデータ転送のメモリアクセスが行われることか多い。In such a system environment, when data is transferred by MA (random memory access), the program (virtual memory space (A)
)-J-, consecutive pages P+, Pj,...
Even if it is specified that memory access for data transfer is to be performed across discontinuous vanes P I + P j'+ ... in reality (actual memory space (B)), memory access for data transfer is is often done.
このようなりMAデータ転送を行うための従来の制御装
置は、実メモリ空間(B)に対するメモリ・アドレスを
生成するためのアドレス・カウンタを備え、1ページ(
Pl′)分のメモリアクセスか終rするといったんD
M Aデータ転送を打ち切って、その旨をCPUに知ら
せ、CPUに次のベーン(Pj’)のアドレス初期値A
J゛を該アドレス中カウンタにセットさせるとともにデ
ータ転送要求元の再設定をさせるようにしていた。A conventional control device for performing such MA data transfer is equipped with an address counter for generating a memory address for the real memory space (B), and has an address counter for generating a memory address for the real memory space (B).
As soon as the memory access for Pl′) is completed, D
M Aborts the data transfer, notifies the CPU of this, and sends the CPU the initial address value A of the next vane (Pj').
J' is set in the address counter and the data transfer request source is reset.
[発明か解決しようとする課題]
し、かじ、」二重のように1ページ分のメモリアクセス
か終了する度毎にデータ転送を打ち切りCP、。[Problem to be solved by the invention] The CP aborts data transfer every time one page worth of memory access is completed, as in a double case.
Uに設定処理を行わせるのでは、DMAデータ転送の速
度の低下を来すたけてなく、CPUの負担を重<シ、ス
ループットの低−ドを招いていた。Having U perform the setting process does not reduce the speed of DMA data transfer, increases the load on the CPU, and reduces throughput.
本発明は、かかる問題点に鑑みてなされたもので、仮想
記憶またはアドレス変換機構を備えたコンピュータ・シ
ステムにおいてCPUに負(11をかけずに高速なデー
タ転送を可能きするD M A制御−3=
= 4
装置を提供することを目的とする。The present invention has been made in view of such problems, and is a DMA control method that enables high-speed data transfer without multiplying the CPU in a computer system equipped with a virtual memory or an address conversion mechanism. 3===4 The purpose is to provide a device.
[課題を解決するための手段]
l−記の目的を達成するため、本発明のDMA制御装置
は、記憶装置内にページ中位でランダムなアドレスに配
置された記憶領域についてl) M Aによるデータ転
送を制御するためのI) M Aデータ転送制御装置に
おいて、ページ内のアドレスを下位メモリ・アドレスと
して生成するアドレス・カウンタと、DMAデータ転送
でアクセスされるべき複数のページのアドレスをそれぞ
れ保持する複数のレジスタと、これら複数のレジスタよ
りそれぞれ与えられるページ・アドレスを所定の順序で
択一的に選択してそれを−1−位メモリ・アドレスとし
て出力する]二位メモリ・アドレス選択手段とを具備す
る構成とした。[Means for Solving the Problems] In order to achieve the object described in item 1-, the DMA control device of the present invention provides the following method for storage areas arranged at random addresses in the middle of pages in a storage device: 1) According to M.A. I) M A data transfer control device for controlling data transfer includes an address counter that generates an address within a page as a lower memory address, and an address counter that each holds the addresses of multiple pages to be accessed in DMA data transfer. a plurality of registers, and a second memory address selection means for selectively selecting page addresses respectively given from the plurality of registers in a predetermined order and outputting them as a -1- memory address; The configuration includes the following.
また、少ない個数のレジスタで多数のページをアクセス
するDMAデータ転送に対応するため、アドレス中カウ
ンタが1ページ分のアドレスを出力し終えると、それを
検出し、CPUに新たなぺ一ノ・アドレスを所定のレジ
スタにロードすべきことを知らせる手段を備える構成と
した。In addition, in order to support DMA data transfer that accesses many pages with a small number of registers, when the address counter finishes outputting one page's worth of addresses, it is detected and the CPU receives a new page address. The configuration includes means for notifying that the data should be loaded into a predetermined register.
また、レジスタに保持されているページ・アドレスが全
部無効(使用済み)の時のDMAデータ転送を防止する
ため、それぞれのレジスタに格納すしているページ・ア
ドレスの各々が使用済みか否かを示すフラグ働ビy)を
格納する上位アドレス・フラグ・レジスタと、この」二
位アドレスΦフラグ・レジスタのフラグ・ビットに基づ
いて全てのページ・アドレスか使用済みである時はデー
タ転送要求元からの要求をマスクする手段を備える構成
とした。In addition, to prevent DMA data transfer when all page addresses held in registers are invalid (used), each page address stored in each register is shown whether or not it is used. Based on the flag bits in the upper address flag register that stores the flag function bit (byy) and the flag bit in the second address Φ flag register, if all page addresses are already used, the The configuration includes means for masking requests.
[作用]
例えば、1ページが16 Kバイトで、記憶装置の実メ
モリ空間が16Mバイトの場合、このメモリ空間内のペ
ージ数、すなわちページ・アドレス数はIK(1024
)である。[Operation] For example, if one page is 16 Kbytes and the real memory space of the storage device is 16 Mbytes, the number of pages in this memory space, that is, the number of page addresses is IK (1024
).
ソフトウェア−1一連続する複数のページP i、P
L・・・PqにわたってD M Aデータ転送を行う場
合、= 6−
それらのページに対応する実メモリ空間上の複数のベー
ンP + ’、P J ’1曲Pq′のアドレス(通常
、連続せす、ランダムに配置されている)がページ・テ
ーブル等より得られる。Software-1 Multiple consecutive pages P i, P
When performing DMA data transfer over L...Pq, = 6 - the address of multiple vanes P+', PJ' and one song Pq' in the real memory space corresponding to those pages (usually consecutive (randomly arranged) can be obtained from a page table, etc.
これらのページ・アドレスは、CPUより本発明の制御
装置の複数のレジスタにそれぞれロードされる。しかし
て1.I)MAによるデータ転送を行う時、上位メモリ
書アドレス選択手段かアクセスすべきページPxlのペ
ージΦアドレスを保持している1/シスタを逐次選択し
、それを」1位アドレスとしてメモリに与える。一方、
アドレス・カウンタは、ページ内のアドレスをド位メモ
リーアドレスとして生成し、それをメモリに与える。−
上位アドレスの切替と下位アドレスの発生周期は同期し
アドレス・カウンタが1ページ分のアドレス(下位アド
レス)を発生し終えると、上位アドレス選択手段が1−
位アドレス(ページ・アドレス)を次の1−位アドレス
に切り替え、アドレス・カウンタは再び1ページ分のア
ドレスを初期値から発生し始める。These page addresses are each loaded into a plurality of registers of the control device of the present invention by the CPU. However, 1. I) When performing data transfer by MA, the upper memory write address selection means sequentially selects the 1/sister holding the page Φ address of the page Pxl to be accessed, and provides it to the memory as the 1st address. on the other hand,
The address counter generates an address within a page as a memory address and provides it to memory. −
The switching of the upper address and the generation cycle of the lower address are synchronized, and when the address counter finishes generating addresses for one page (lower address), the upper address selection means changes to 1-
The first address (page address) is switched to the next one-place address, and the address counter starts generating addresses for one page again from the initial value.
このように、本発明の制御装置では、DMAデータ転送
に使用すべきページのアドレスを予めレジスタに保持し
ておき、それらを所定の順序で択一的に選択して−L上
位アドレス出力すると同時にアドレス・カウンタより下
位アドレスを各ページ毎に周期的に出力するようにした
ので、不連続な記憶領域についてのi) M Aデータ
転送でも、ページ間で中断なく連続的・高速にデータ転
送を行うことができ、そのうえCPUには負担をかけな
いためスループットを−1−げることかできる。As described above, in the control device of the present invention, the addresses of pages to be used for DMA data transfer are held in advance in the register, and they are selectively selected in a predetermined order and the -L upper address is output at the same time. Since lower addresses than the address counter are output periodically for each page, data can be transferred continuously and at high speed without interruption between pages even when transferring data to discontinuous storage areas. Moreover, since no load is placed on the CPU, the throughput can be increased by -1.
また、アドレス・カウンタが1ページ分の下位アドレス
の出力を終わる度に(すなわち1ページ分のアクセスか
終rする度に)、CPUに新たな(後続の)ページ・ア
ドレスをレジスタにロードすべきことを知らせることで
、レジスタの保持するページ・アドレスを更新すること
か可能で、これにより不連続な多くのページにわたるD
M A転送にも対処することかできる。Also, each time the address counter finishes outputting a lower address for one page (that is, each time one page is accessed or completed), the CPU should load a new (successful) page address into the register. It is possible to update the page address held in the register by notifying the
It can also handle MA transfer.
また、−上位アドレス・フラグ・し7スタを設けてその
フラグ内容から、レジスタに格納されてい−7=
るベーン・アドレスの全部が無効になっている時は転送
要求元からの転送要求をマスクすることで誤動作を防止
し、D M A制御の信頼性を砿保することができる。In addition, a -7= upper address flag is provided, and based on the contents of the flag, if all of the -7= vane addresses stored in the register are invalid, transfer requests from the transfer request source are masked. By doing so, malfunctions can be prevented and the reliability of DMA control can be maintained.
[実施例]
以ド、第1図および第2図を参!((イして本発明の実
施例によるDMA制御装置を説明する。[Example] Please refer to Figures 1 and 2! ((A) A DMA control device according to an embodiment of the present invention will now be explained.
先ず、第2図に示すように、この実施例のD MA制御
装置10は、共通のアドレス嗜バス12゜データ・バス
14を介してCPU16. メモリ18および転送要
求元の周辺装置(例えばフロッピーディスク会ドライブ
)20に接続されるとともに、個別的に、CPU1f3
との間に制御線50゜52が、周辺装置20との間に制
御線5415Bが配線される。このコンピュータ・シス
テムにおいて、DMA制御装置10は、メモリ18から
周辺装置20へ、または反対に周辺装置20からメモリ
18へDMAによるデータの転送を行うときにCPU1
6に代わってメモリ18にアドレス信号を′jえる。First, as shown in FIG. 2, the DMA controller 10 of this embodiment connects the CPU 16 . It is connected to the memory 18 and the peripheral device (for example, a floppy disk drive) 20 that is the source of the transfer request, and is also individually connected to the CPU 1f3.
A control line 50°52 is wired between the terminal and the peripheral device 20, and a control line 5415B is wired between the peripheral device 20 and the peripheral device 20. In this computer system, the DMA control device 10 controls the CPU 1 when transferring data from the memory 18 to the peripheral device 20, or conversely from the peripheral device 20 to the memory 18.
An address signal is sent to the memory 18 instead of 6.
このコンピュータ・システムでは、仮想記憶機構が採ら
れ、例えばメモリ18の実メモリ空間は16Mバイト、
1ぺ−7は16にバイトである。This computer system employs a virtual storage mechanism; for example, the real memory space of the memory 18 is 16 MB,
1 Pe-7 is 16 bytes.
したかって、アドレス信号は24ビツトで、その中の」
二位10ビットがページの(先頭)アドレスを与え、ド
位14ビットがページ内アドレスを与える。後述するよ
うに、I)MA制御装置10は、それらの1−位アドレ
ス(10ビツト)と下位アドレス(14ビツト)を別々
に生成し、両者を合わせて24ビツトのアドレス信号と
する。Therefore, the address signal is 24 bits, and the address signal is 24 bits.
The second 10 bits give the (starting) address of the page, and the 14th bits give the intra-page address. As will be described later, I) The MA control device 10 separately generates the 1st-order address (10 bits) and the lower address (14 bits), and combines them into a 24-bit address signal.
第1図は、このD M A制御装置10の要部の具体的
回路構成例を示す。FIG. 1 shows a specific example of the circuit configuration of the main parts of this DMA control device 10. As shown in FIG.
互いに並列的に設けられたN個のページ−アドレス・レ
ジスタRGO,RG1.・・・・RGn−1は、それぞ
れの入力端子がCPUIEfに接続されるとともに、そ
れぞれの出力端子が上位アドレス・セレクタ30の入力
端子に接続される。N page-address registers RGO, RG1 . . . . RGn-1 has its respective input terminals connected to CPUIEf, and its respective output terminals connected to the input terminals of the upper address selector 30.
これらのページ・アドレス・レジスタには、各D M
Aデータ転送で使用されるべき(アクセスされるべき)
実メモリ空間のページのそれぞれのページ・アドレス(
10ビツト)かCPU1eより酊込制御信号WRのアク
ティブ状態下でロードされる。その際、各ページの使用
(アクセス)順序に合わせて、レジスタRGO,RGI
、・・・・RGn−1の順にベーン拳アドレスがロード
される。したがって、使用されるページの個数をMとす
ると、M>N(ページ・アドレス・レジスタの個数)の
ときは後尾のレジスタ(RGn−1等)が余り、M<H
のときはlノジスタが足りなくなる。しかし、この後者
の場合は、後述するような制御によって、先頭のレジス
タRGO,RGI、・・・・が使用済みになり次第、そ
こに後続の新たなページ・アドレスがロードされるよう
になっている。These page address registers contain each DM
Should be used (accessed) in A data transfer
The page address of each page in real memory space (
10 bits) is loaded from the CPU 1e under the active state of the intoxication control signal WR. At that time, registers RGO and RGI are set according to the order of use (access) of each page.
, . . . Vane fist addresses are loaded in the order of RGn-1. Therefore, if the number of pages used is M, then when M>N (number of page address registers), the trailing registers (RGn-1, etc.) are left over, and M<H
In this case, the l nozzle is insufficient. However, in this latter case, as soon as the first registers RGO, RGI, etc. are used up, the subsequent new page address is loaded into them by the control described below. There is.
また、各ベーン・アドレス・レジスタRGiにベーン拳
アドレスをロードする度、CPU16はそのレジスタR
G+に対応する上位アドレス・フラグ−レジスタ32の
フラグ・ビットを立てる(“1”にする)ようになって
いる。このフラグ・レジスタ32は、ページのアドレス
・レジスタRGo、RGI、−RGn−1の個数(N)
に対応してNビット容量を有している。Also, each time a Vane fist address is loaded into each Vane address register RGi, the CPU 16 loads that register R
The flag bit of the upper address flag-register 32 corresponding to G+ is set (set to "1"). This flag register 32 is the number (N) of page address registers RGo, RGI, -RGn-1.
It has an N-bit capacity corresponding to .
1−4位アドレス・セレクタ30は、ページ・アドレス
・レジスタRGO,RGI、・・・・より受けたベーン
・アドレスの中から、I)MAデータ転送の進行に合わ
せていずれか1つを選択し、それを24ビ・ノドアドレ
ス信号の」1位アドレス(10ビ・ソト)としてアドレ
ス・バス1.2.1:に出力する。本実施例では、L記
のようにDMAの使用(アクセス)順に各ページのアド
レスかレジスタRG O、RG I 、・・・・に保持
されるので、■―位アドレスφセレクタ30ではレジス
タRGO,RGI、・・・・の順に切り替えることにな
る。この切替のンーケンスおよびタイミングは、後述す
るように、−1−位アドレス・コントローラ36によっ
て制御される。The 1st to 4th address selector 30 selects one of the vane addresses received from the page address registers RGO, RGI, . . . in accordance with the progress of I) MA data transfer. , and outputs it to the address bus 1.2.1: as the 1st address (10 bit address) of the 24 bit address signal. In this embodiment, the address of each page is held in the registers RGO, RG I, . . . in the order of DMA use (access) as shown in L. It will be switched in the order of RGI, . . . The sequence and timing of this switching is controlled by the -1- position address controller 36, as will be described later.
下位アドレス・カウンタ34は、1ページ分のアトL/
ス、すなわち下位アドレス(14ビツト)を周期的に生
成するアドレス・カウンタである。The lower address counter 34 has one page worth of atto L/
This is an address counter that periodically generates a lower address (14 bits).
このカウンタ34からの下位アドレスは、アドレス・バ
ス121−に1七力されるとともに、」1位アトレス・
コントローラ36に与えられる。The lower address from this counter 34 is applied to the address bus 121-, and
is provided to controller 36.
−1−位アドレス会コントローラ36は、下位アドレス
が1ページ分の最終値(it Onもしくは“16K”
“)に達すると、それを検出し、上位アドレス・セレク
タ30に切替信号SWを与える。セレクタ30は、その
切替(、; S;SWを受けると、ベーン拳アドレスΦ
レジスタRG+を次のレジスタRG j+Iに切り替え
る。これにより、」−位アドレスが次のページの先頭ア
ドレスの値に切り替わる。The −1− address meeting controller 36 sets the lower address to the final value for one page (it On or “16K”).
"), it is detected and a switching signal SW is given to the upper address selector 30. When the selector 30 receives the switching (,;
Switch register RG+ to the next register RG j+I. As a result, the "-" address is switched to the value of the start address of the next page.
この相前後する2つのページがメモリ空間で不連続な場
合、−上位アドレスは前のページの終端のアドレスから
後のページの先頭アドレスにジャンプすることになる。If these two successive pages are discontinuous in the memory space, the -higher address will jump from the end address of the previous page to the start address of the next page.
さらに、コントローラ36は、上位アドレスが1ページ
分出力されたこと、すなわち1ページ分のアクセスが終
了したことで、その使用済み(アクセス済み)になった
ページ・アドレス命レジスタRG+につき−上位アドレ
ス−フラグ−レジスタ32の対応フラグ・ビットを“0
”に倒す。そして、当該DMAデータ転送で使用される
ページの個数Mに対してページ・アドレス・レジスタの
個数Nが少ないときは、コントローラ36は、その使用
済みになったレジスタRGiに後続の新たなページ・ア
ドレスをロードするようCPU16にページ・アドレス
書換要求信号を送る。Furthermore, since the upper address for one page has been output, that is, the access for one page has been completed, the controller 36 outputs - upper address - for the page address register RG+ that has become used (accessed). Flag - Set the corresponding flag bit in register 32 to “0”
”. Then, when the number N of page address registers is smaller than the number M of pages used in the DMA data transfer, the controller 36 assigns a subsequent new register to the used register RGi. A page address rewrite request signal is sent to the CPU 16 to load the page address.
方、アドレス・カウンタ34は、1ページ分の上位アド
レスを生成し終えるとりセットされ、再び1ページ分の
下位アドレスを初期値から出力する。この下位アドレス
は、ページ・アドレス・レジスタRG I+1より上位
アドレス・レジスタ30を介して出力される」1位アド
レスと合わさってアドレス・バス12上ひいてはメモリ
18へ送ららる。On the other hand, the address counter 34 is set when the generation of the upper address for one page is completed, and outputs the lower address for one page again from the initial value. This lower address is combined with the first address output from page address register RG I+1 via upper address register 30 and sent on address bus 12 and then to memory 18.
転送要求コントローラ38は、」1位アドレスのフラグ
・レジスタ32のフラグ・ビット内容に基づいて転送要
求マスク回路40を制御する。すなわち、フラグ・ビッ
トの1つでも立っている間は(未使用のページ・アドレ
ス・レジスタRGXがある間は)、転送要求元の周辺装
置20より外部転送要求信号RQを受は取ると、これに
応動して= 14−
転送要求マスク回路40はアクノリッジ信号ACKを周
辺装置20に送り返すようになっている。The transfer request controller 38 controls the transfer request mask circuit 40 based on the flag bit contents of the flag register 32 at the first address. That is, as long as even one of the flag bits is set (as long as there is an unused page address register RGX), when an external transfer request signal RQ is received from the peripheral device 20 that is the source of the transfer request, this In response to =14-, the transfer request mask circuit 40 sends an acknowledge signal ACK back to the peripheral device 20.
本制御装置内の他の各部に転送制御を指示するための指
令信号CMを出力する。しかし、フラグ争ビットの全部
か倒れているhは(有効なベーン・アドレス・レジスタ
RGXかない時は)、転送要求コントローラ38か転送
要求マスク回路40に作用して外部転送要求信号RQを
マスクさせ、アクノリッジ信号ACKも転送指令信号R
Qも出力させないようにする。これにより、転送中にベ
ーン−アドレス・レジスタRGO,・・・・RG n−
1ニ何効な(未使用の)ページ・アドレスが格納されて
いない時は、転送要求元から外部転送要求が来てもそれ
を受け(1けないようになっている。A command signal CM for instructing other parts in the control device to perform transfer control is output. However, when all of the flag contention bits are down (when there is no valid vane address register RGX), it acts on the transfer request controller 38 or the transfer request mask circuit 40 to mask the external transfer request signal RQ, Acknowledge signal ACK is also transfer command signal R
Do not output Q either. This causes the vane-address registers RGO,...RG n-
1. When no valid (unused) page address is stored, even if an external transfer request comes from the transfer request source, it will be accepted (it will not be 1 digit).
以上のように、本実施例のシステムでは、DMAデータ
転送で使用すべき実メモリ空間内ページのアドレスをC
PU1f3よりページ・アドレス・レジスタRGo、R
G+、・・・・RGn−1に予めロードしておき、転送
中は下位アドレス・カウンタ34より1ページ内のアド
レス(下位アドレス)を出力させると同時に、それと同
期して」1位アドレス・コントローラ36および−1−
位アドレス・セレクタ30の制御によりレジスタRGO
,RG+、・・・・RGn−1を択一的に選択してアク
セスされるべきベーンのアドレスを−上位アドレスとし
て出力するようにした。これにより、メモリ18の実メ
モリ空間−4二に不連続に配置された複数のページにつ
いてのI)AMデータ転送であっても、レジスタが瞬間
的に切り替わるたけで、ページ間で転送か中断すること
はなく、連続的で高速なりMAデータ転送が可能で、ま
たCPU16に負担をかけないため、CP U 1.
eのスループットを上げることができる。As described above, in the system of this embodiment, the address of the page in the real memory space to be used in DMA data transfer is
Page address register RGo, R from PU1f3
G+,...RGn-1 is loaded in advance, and during transfer, the address within one page (lower address) is output from the lower address counter 34, and at the same time, the 1st address controller 36 and -1-
Register RGO is controlled by address selector 30.
, RG+, . . . RGn-1 are alternatively selected, and the address of the vane to be accessed is output as a -higher address. As a result, even if the I)AM data transfer is for multiple pages discontinuously arranged in the real memory space of the memory 18, the transfer may be interrupted between pages just by momentarily switching the register. The CPU 1.
e throughput can be increased.
また、1ページ分のアクセスが終了する度切に−上位ア
ドレス・コントローラ36 ヨリCP U 16に対し
て後続のページアドレスのロード(補充)を要求するよ
うにしたので、DMA転送で使用されるページの数か多
いとき、あるいはベーン・アドレス・レジスタRGO,
RGI、・・・・RGn−1の個数(設置台数)か少な
いときでも、支障を生ずることはない。In addition, each time an access for one page is completed, the upper address controller 36 and the CPU 16 are requested to load (replenish) the subsequent page address. or vane address register RGO,
Even if the number of RGI, . . . RGn-1 (number of installed units) is small, no problem will occur.
さらに、」−位アドレスΦフラグ会レジスタ32を設け
、そのフラグ・ビットの内容を基に、ページ幸アドレス
・レジスタRGO,RGI、・・・・RGn−1に保持
されている各ページ・アドレスの有効(未使用)/無効
(使用済み)を管理するようにし、特に全てのページ・
アドレスが無効になっている時は転送要求元からの転送
要求をマスクするようにしたので、誤動作を防止し、I
) M A制御の41・:軸性を確保することができる
。Furthermore, a "-address Φ flag register 32 is provided, and based on the contents of the flag bit, each page address held in the page address registers RGO, RGI,...RGn-1 is Manage valid (unused)/invalid (used), especially all pages.
When the address is invalid, transfer requests from the transfer request source are masked to prevent malfunctions and
) M A control's 41.: axis property can be ensured.
[発明の効果]
本発明は、上述したような構成を有することにより、次
のような効果を奏する。[Effects of the Invention] By having the above-described configuration, the present invention provides the following effects.
請求項1のI) M A制御装置によれば、DMAデー
タ転送に使用すべき複数のページのアドレスを予め複数
のレジスタに保持しておき、」1位アドレス選択手段に
よりそれらのページ・アドレスを所定の順序で択一的に
選択して」1位アドレスを出力すると同時に、アドレス
・カウンタより下位アドレスを各ページ毎に周期的に出
力するようにしたのて、不連続な記憶領域についてのI
) M Aデータ転送でも連続的・高速なデータ転送を
可能とし、かつCPUに負担をかけないので、CPUの
スルーブツトの向」−を特徴とする
請求項2のDMA制御装置によれば、1ベ一ジ分の下位
アドレスの出力が終わる度に(すなわち1ページ分のア
クセスか終了する度に)、CPUに新たな(後続)のペ
ージ・アドレスをレジスタにロードすべきことを知らせ
るようにしたので、D M A転送で使用されるページ
の数か多いときでも、少ない個数のレジスタでもって対
応するこきができる。According to the I) MA control device of claim 1, addresses of a plurality of pages to be used for DMA data transfer are held in a plurality of registers in advance, and those page addresses are selected by the first address selection means. By selectively selecting in a predetermined order and outputting the first address, and at the same time outputting lower addresses from the address counter periodically for each page, I
) According to the DMA control device of claim 2, the DMA control device is characterized in that it enables continuous and high-speed data transfer even in MA data transfer, and does not place a burden on the CPU. Every time the output of one page's worth of lower addresses is finished (that is, every time one page's worth of access is completed), the CPU is notified that a new (successful) page address should be loaded into the register. , even when the number of pages used in DMA transfer is large, it can be handled with a small number of registers.
請求項3のDMA制御装置によれば、レジスタに格納さ
れているページ・アドレスの全部が無効になっている時
は、上位アドレス・フラグ拳しンスタのフラグ争ビット
の内容を基に、転送要求元からの転送要求をマスクする
ようにしたので、誤動作を防止し、r)MA制御のイS
=頼性を確保することかできる。According to the DMA control device of claim 3, when all the page addresses stored in the register are invalid, the transfer request is made based on the contents of the flag contention bit of the upper address flag register. Since the original transfer request is masked, malfunctions can be prevented, and r) MA control
= It is possible to ensure reliability.
= 17= 17
第1図は、本発明の一実施例によるDMA制御装置の要
部の具体的回路構成を示すブロック図、第2図は、実施
例のDMA制御装置を適用したコンピュータ・システム
における主要な各部間の接続関係を示すブロック図、
第3図は、仮想記憶システムのメモリ空間を示すメモリ
空間図、
第4図は、仮想記憶システムにおけるDMAデータ転送
を説明するためのメモリ空間図である。
10・・・・DMA制御装置、 16・・・・CPU
。
18・・・・メモリ、 20・・・・周辺装置、 RG
O〜RGni・・・・ページ会アドレス・レジスタ、
30・・・・上位アドレス・レジスタ、 32・・・・
」1位アドレス・フラグ・レジスタ、 34・・・・ア
ドレスΦカウンタ、 38・・・・転送要求コントロー
ラ、 40・・・・転送要求マスク回路。FIG. 1 is a block diagram showing a specific circuit configuration of the main parts of a DMA control device according to an embodiment of the present invention, and FIG. FIG. 3 is a memory space diagram showing the memory space of the virtual storage system. FIG. 4 is a memory space diagram illustrating DMA data transfer in the virtual storage system. 10...DMA control device, 16...CPU
. 18...Memory, 20...Peripheral device, RG
O~RGni...Page association address register,
30... Upper address register, 32...
” 1st address flag register, 34: address Φ counter, 38: transfer request controller, 40: transfer request mask circuit.
Claims (3)
配置された記憶領域についてDMA(ダイレクト・メモ
リ・アクセス)によるデータ転送を制御するためのDM
A制御装置において、 ページ内のアドレスを下位アドレスとして生成するアド
レス・カウンタと、 DMAでアクセスされるべき複数のページのアドレスを
それぞれ保持する複数のレジスタと、前記複数のレジス
タにそれぞれ保持されるページ・アドレスを所定の順序
で択一的に選択してそれを上位アドレスとして出力する
上位アドレス選択手段と、 を具備することを特徴とするDMA制御装置。(1) DM for controlling data transfer using DMA (Direct Memory Access) for storage areas arranged at random addresses in page units within a storage device
A control device includes an address counter that generates an address within a page as a lower address, a plurality of registers each holding addresses of a plurality of pages to be accessed by DMA, and a page held in each of the plurality of registers. - A DMA control device comprising: upper address selection means for selectively selecting addresses in a predetermined order and outputting the selected addresses as upper addresses.
を出力し終えた時、それを検出し、CPUに新たなペー
ジ・アドレスを所定の前記レジスタにロードすべきこと
を知らせる手段を備えたことを特徴とするDMA制御装
置。(2) It includes means for detecting when the address counter has finished outputting addresses for one page and notifying the CPU that a new page address should be loaded into a predetermined register. Characteristic DMA control device.
ドレスの各々が使用済みか否かを示すフラグ・ビットを
格納する上位アドレス・フラグ・レジスタと、この上位
アドレス・フラグ・レジスタのフラグ・ビットに基づい
て全てのページ・アドレスが使用済みである時はデータ
転送要求元からの要求をマスクする手段を備えたことを
特徴とするDMA制御装置。(3) an upper address flag register that stores flag bits indicating whether each of the page addresses stored in the plurality of registers has been used; and a flag bit of this upper address flag register; A DMA control device comprising means for masking a request from a data transfer request source when all page addresses are used based on the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2142886A JPH0436852A (en) | 1990-05-31 | 1990-05-31 | Dma controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2142886A JPH0436852A (en) | 1990-05-31 | 1990-05-31 | Dma controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0436852A true JPH0436852A (en) | 1992-02-06 |
Family
ID=15325882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2142886A Pending JPH0436852A (en) | 1990-05-31 | 1990-05-31 | Dma controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0436852A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09114772A (en) * | 1995-10-20 | 1997-05-02 | Kofu Nippon Denki Kk | Dma device and dma address conversion device |
JP2009512919A (en) * | 2005-10-07 | 2009-03-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | System and method for improved DMAC conversion mechanism |
EP2096549A1 (en) * | 2008-02-28 | 2009-09-02 | Fujitsu Limited | Data transfer device |
-
1990
- 1990-05-31 JP JP2142886A patent/JPH0436852A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09114772A (en) * | 1995-10-20 | 1997-05-02 | Kofu Nippon Denki Kk | Dma device and dma address conversion device |
JP2009512919A (en) * | 2005-10-07 | 2009-03-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | System and method for improved DMAC conversion mechanism |
EP2096549A1 (en) * | 2008-02-28 | 2009-09-02 | Fujitsu Limited | Data transfer device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2571067B2 (en) | Bus master | |
JPH0764853A (en) | Variable-accuracy indirect addressing method for simd multiprocessor and apparatus for execution of it | |
JPH02208771A (en) | Memory constitution used in means for interfacing between system controller for multiprocessor system and system main memory | |
WO1997029430A1 (en) | Fast access to a shared resource on a computer bus | |
JPH05204786A (en) | Direct memory-access device | |
JPH0128409B2 (en) | ||
US4949247A (en) | System for transferring multiple vector data elements to and from vector memory in a single operation | |
US6360285B1 (en) | Apparatus for determining memory bank availability in a computer system | |
JP4531223B2 (en) | Data processing apparatus having a plurality of processors sharing a collective memory | |
JPH0436852A (en) | Dma controller | |
JPH07191901A (en) | Holding device of data information | |
EP0067519B1 (en) | Telecommunications system | |
JPH11232213A (en) | Data transfer system for input/output device | |
US4954946A (en) | Apparatus and method for providing distribution control in a main memory unit of a data processing system | |
JPH0554009A (en) | Program load system | |
JP2972557B2 (en) | Data transfer control device and control method | |
JP3246605B2 (en) | Data transfer method | |
JP3206013B2 (en) | Direct memory access transfer controller | |
JP3038257B2 (en) | Electronic computer | |
JP2550964B2 (en) | Memory access control method | |
JPH0769896B2 (en) | Vector processing system | |
JPH0329041A (en) | Decentralized paging control system | |
JPS61177557A (en) | Control system for cache memory | |
JP2847729B2 (en) | Information processing device | |
JPS60253083A (en) | Storage device controlling system |