JPH11184797A - Dma controller and method therefor and recording medium for recording control program - Google Patents
Dma controller and method therefor and recording medium for recording control programInfo
- Publication number
- JPH11184797A JPH11184797A JP34884997A JP34884997A JPH11184797A JP H11184797 A JPH11184797 A JP H11184797A JP 34884997 A JP34884997 A JP 34884997A JP 34884997 A JP34884997 A JP 34884997A JP H11184797 A JPH11184797 A JP H11184797A
- Authority
- JP
- Japan
- Prior art keywords
- page
- address
- dma
- base address
- pages
- 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.)
- Withdrawn
Links
Landscapes
- Bus Control (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明はDMA制御装置に関
し、特にメインメモリ上の複数ページに対するDMA
(Direct Memory Access)制御方
法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a DMA controller, and more particularly to a DMA controller for a plurality of pages on a main memory.
(Direct Memory Access) control method.
【0002】[0002]
【従来の技術】従来、DMA制御方法としては、CPU
(中央処理装置)が出力する論理アドレスをメモリ管理
ユニットによって物理アドレスに変換して主メモリにア
クセスしている場合、DMA時にDMAデバイスがメモ
リ管理ユニットを経由せずに主メモリに物理アドレスを
直接出力してアクセスする方法がある。2. Description of the Related Art Conventionally, as a DMA control method, a CPU is used.
When the logical address output from the (central processing unit) is converted to a physical address by the memory management unit and the main memory is accessed, the DMA device directly transfers the physical address to the main memory without passing through the memory management unit during DMA. There is a way to output and access.
【0003】この方法の場合、物理アドレスがページ単
位で不連続であるためにページ枠を越えるDMA転送を
簡単に行うことができない。また、主メモリの容量が大
きい場合には、全ての主メモリ領域をアクセスする能力
のないDMAデバイスがDMA転送を行うことができな
い。In this method, since the physical address is discontinuous in page units, it is not possible to easily perform a DMA transfer exceeding a page frame. Further, when the capacity of the main memory is large, a DMA device without the ability to access all the main memory areas cannot perform the DMA transfer.
【0004】これらの問題を解決するために、DMAデ
バイスを論理アドレスバスに接続し、論理アドレスで主
メモリにアクセスさせる方法もある。しかしながら、こ
の方法ではCPUとメモリ管理ユニットとの結合が疎と
なり、CPUの主メモリに対するアクセス性能が低下す
る。In order to solve these problems, there is a method of connecting a DMA device to a logical address bus and accessing a main memory with a logical address. However, in this method, the coupling between the CPU and the memory management unit becomes loose, and the access performance of the CPU to the main memory is reduced.
【0005】マイクロプロセッサの中にはメモリ管理ユ
ニットをCPUチップ上に内蔵し、メモリアクセス性能
を向上させているものもあるが、その場合にはDMAデ
バイスを論理アドレスバスに接続することができない。Some microprocessors have a memory management unit built into a CPU chip to improve memory access performance, but in that case, a DMA device cannot be connected to a logical address bus.
【0006】一方、図8に示すように、図示せぬ主メモ
リ上のアドレス変換テーブル8をサーチしてマッピング
を行う方式のメモリ管理ユニットにおいては、アドレス
変換テーブル8に対するサーチが頻繁に発生すると、論
理アドレスバスの転送能力が落ち、リアルタイム性が要
求されるDMAデバイスを接続することができない。On the other hand, as shown in FIG. 8, in a memory management unit of a system for performing mapping by searching for an address conversion table 8 in a main memory (not shown), if a search for the address conversion table 8 occurs frequently, The transfer capability of the logical address bus is reduced, and it is not possible to connect a DMA device that requires real-time performance.
【0007】そこで、CPUにより生成される論理アド
レスを物理アドレスに変換するアドレス変換テーブルを
持つメモリ管理ユニットとは別に、DMAデバイスから
出力されるDMAアドレスを物理アドレスにマッピング
するDMAアドレス変換テーブルを格納するメモリを備
えることで、上記の問題を解決するものがある。Therefore, apart from a memory management unit having an address conversion table for converting a logical address generated by a CPU into a physical address, a DMA address conversion table for mapping a DMA address output from a DMA device to a physical address is stored. Some of the above-mentioned problems can be solved by providing a memory to be used.
【0008】このDMAアドレス変換テーブルはCPU
によって管理され、物理アドレス上の一部にマッピング
されており、CPUはその物理アドレスをアクセスする
ことでリード/ライトすることができる。このDMA制
御方法については、特開昭63−245545号公報に
開示されている。[0008] This DMA address conversion table has a CPU
And is mapped to a part of the physical address, and the CPU can read / write by accessing the physical address. This DMA control method is disclosed in JP-A-63-245545.
【0009】ある論理アドレス(開始アドレス)から、
あるサイズ(総転送サイズ)の領域を、ある転送サイズ
(単位転送サイズ)に分割してDMA転送する場合の処
理動作を図8及び図9を用いて説明する。尚、説明を簡
単化するために、ページサイズ及び総転送サイズは単位
転送サイズの倍数とする。From a certain logical address (start address),
A processing operation in a case where an area of a certain size (total transfer size) is divided into a certain transfer size (unit transfer size) and DMA-transferred will be described with reference to FIGS. To simplify the description, the page size and the total transfer size are assumed to be multiples of the unit transfer size.
【0010】上記のDMA転送を行う場合、カレント論
理アドレスに開始アドレスを、転送サイズに総転送サイ
ズを夫々代入し(図9ステップS21)、カレント論理
アドレスをページサイズで除した商をページ番号に、そ
の剰余をオフセットに夫々代入する(図9ステップS2
2)。When performing the above-mentioned DMA transfer, the start address is substituted for the current logical address and the total transfer size is substituted for the transfer size (step S21 in FIG. 9), and the quotient obtained by dividing the current logical address by the page size is used for the page number. , And substitute the remainders for the offsets (step S2 in FIG. 9).
2).
【0011】続いて、アドレス変換テーブル8を参照
し、ページ番号に対応したベースアドレスをページアド
レスとして得る(図9ステップS23)。このページア
ドレス(ベースアドレス)にオフセットを加算したもの
をカレント物理アドレスに代入し(図9ステップS2
4)、そのカレント物理アドレスに対して単位転送サイ
ズ分のデータをDMA転送する(図9ステップS2
5)。Subsequently, a base address corresponding to the page number is obtained as a page address by referring to the address conversion table 8 (step S23 in FIG. 9). A value obtained by adding an offset to the page address (base address) is substituted for the current physical address (step S2 in FIG. 9).
4) DMA transfer the data of the unit transfer size to the current physical address (step S2 in FIG. 9).
5).
【0012】その後、残転送サイズから単位転送サイズ
を減算したものを残転送サイズに代入し(図9ステップ
S26)、その残転送サイズが「0」か否かを判定する
(図9ステップS27)。Thereafter, a value obtained by subtracting the unit transfer size from the remaining transfer size is substituted for the remaining transfer size (step S26 in FIG. 9), and it is determined whether or not the remaining transfer size is “0” (step S27 in FIG. 9). .
【0013】残転送サイズが「0」でなければ、オフセ
ットに単位転送サイズを加算したものをオフセットに代
入し(図9ステップS28)、このオフセットがページ
サイズに等しいか否かを判定する(図9ステップS2
9)。尚、残転送サイズが「0」であれば処理を終了す
る。If the remaining transfer size is not "0", a value obtained by adding the unit transfer size to the offset is substituted for the offset (step S28 in FIG. 9), and it is determined whether or not this offset is equal to the page size (FIG. 9). 9 steps S2
9). If the remaining transfer size is "0", the process is terminated.
【0014】オフセットがページサイズに等しい、つま
りカレントページのDMA転送が終了すると、ページ番
号をインクリメント(+1)し、オフセットに「0」を
代入し(図9ステップS29)、ステップS23に移
る。尚、オフセットがページサイズに等しくなければ、
ステップS24に移る。When the offset is equal to the page size, that is, when the DMA transfer of the current page is completed, the page number is incremented (+1), "0" is substituted for the offset (FIG. 9, step S29), and the routine proceeds to step S23. Note that if the offset is not equal to the page size,
Move to step S24.
【0015】[0015]
【発明が解決しようとする課題】上述した従来のDMA
制御方法では、物理アドレス上で連続しているページ間
のページ境界を越えたDMAを行う場合でも、本来のD
MA転送とは直接関係のないベースアドレスリードサイ
クルが常に実行されてしまうので、物理アドレス上で不
連続なページ間のDMAを行う場合と同じ時間が掛かっ
てしまう。SUMMARY OF THE INVENTION The above-described conventional DMA
In the control method, even when performing a DMA that crosses a page boundary between consecutive pages on a physical address, the original D
Since a base address read cycle not directly related to the MA transfer is always executed, it takes the same time as in the case of performing DMA between discontinuous pages on a physical address.
【0016】そこで、本発明の目的は上記の問題点を解
消し、物理アドレス上で連続しているページ間のページ
境界を越えたDMAを行う場合に高速なDMA転送を行
うことができるDMA制御装置及びその制御方法並びに
その制御プログラムを記録した記録媒体を提供すること
にある。Accordingly, an object of the present invention is to solve the above-mentioned problems, and to perform a DMA control capable of performing a high-speed DMA transfer when performing a DMA that crosses a page boundary between consecutive pages on a physical address. An object of the present invention is to provide a device, a control method thereof, and a recording medium on which a control program is recorded.
【0017】[0017]
【課題を解決するための手段】本発明によるDMA制御
装置は、メインメモリ上の複数ページに対してダイレク
トメモリアクセスを行うDMA制御装置であって、前記
メインメモリの各ページのベースアドレスと当該ページ
の連続性に関する情報とを対応付けて格納するアドレス
変換テーブルと、前記ダイレクトメモリアクセス時にア
クセスするページに続く連続ページの有無を前記アドレ
ス変換テーブルを基に判定する判定手段と、前記判定手
段で前記連続ページ有りと判定された時に次ページのベ
ースアドレスを生成する生成手段とを備えている。A DMA controller according to the present invention performs direct memory access to a plurality of pages in a main memory, and includes a base address of each page of the main memory and a corresponding page. An address conversion table that stores information relating to the continuity of the pages in association with each other; a determination unit that determines whether there is a continuous page following the page accessed at the time of the direct memory access based on the address conversion table; Generating means for generating a base address of the next page when it is determined that there is a continuous page.
【0018】本発明によるDMA制御方法は、メインメ
モリ上の複数ページに対してダイレクトメモリアクセス
を行うDMA制御方法であって、前記ダイレクトメモリ
アクセス時にアクセスするページに続く連続ページの有
無を前記メインメモリの各ページのベースアドレスに対
応付けて格納された当該ページの連続性に関する情報を
基に判定するステップと、この判定で前記連続ページ有
りと判定された時に次ページのベースアドレスを生成す
るステップとを備えている。A DMA control method according to the present invention is a DMA control method for performing a direct memory access to a plurality of pages on a main memory, wherein the presence or absence of a continuous page following the page accessed at the time of the direct memory access is determined by the main memory. A step of determining based on the information on the continuity of the page stored in association with the base address of each page, and a step of generating a base address of the next page when it is determined that there is a continuous page in this determination. It has.
【0019】本発明によるDMA制御プログラムを記録
した記録媒体は、メインメモリ上の複数ページに対して
ダイレクトメモリアクセスを行うDMA制御プログラム
を記録した記録媒体であって、前記DMA制御プログラ
ムは前記ダイレクトメモリアクセスを制御する制御手段
に、前記ダイレクトメモリアクセス時にアクセスするペ
ージに続く連続ページの有無を前記メインメモリの各ペ
ージのベースアドレスに対応付けて格納された当該ペー
ジの連続性に関する情報を基に判定させ、この判定で前
記連続ページ有りと判定された時に次ページのベースア
ドレスを生成させている。A recording medium on which a DMA control program according to the present invention is recorded is a recording medium on which a DMA control program for performing direct memory access to a plurality of pages on a main memory is recorded, wherein the DMA control program is the direct memory. The control means for controlling access determines whether or not there is a continuous page following the page to be accessed at the time of the direct memory access based on information on continuity of the page stored in association with the base address of each page of the main memory. The base address of the next page is generated when it is determined that there is the continuous page.
【0020】すなわち、本発明のDMA制御方法では、
アドレス変換テーブルに格納された各ページに対応し
て、当該ページの物理アドレス上で順方向に連続してい
るページ数を格納させている。That is, in the DMA control method of the present invention,
Corresponding to each page stored in the address conversion table, the number of pages that are continuous in the forward direction on the physical address of the page is stored.
【0021】この各ページに連続しているページ数を参
照することによって、当該ページが他のページと物理ア
ドレス上で連続しているかどうかを判断することが可能
となるので、物理アドレス上で連続しているページ間の
ページ境界を越えたDMAを行う場合、本来のDMA転
送とは直接関係のないベースアドレスリードサイクルの
実行を回避することが可能となる。よって、物理アドレ
ス上で連続しているページ間のページ境界を越えたDM
Aを行う場合に高速なDMA転送を行うことが可能とな
る。By referring to the number of pages that are continuous with each page, it is possible to determine whether the page is continuous with another page on a physical address. When performing a DMA that crosses a page boundary between the current pages, it is possible to avoid executing a base address read cycle that is not directly related to the original DMA transfer. Therefore, the DM exceeding the page boundary between the pages that are continuous on the physical address
When performing A, high-speed DMA transfer can be performed.
【0022】[0022]
【発明の実施の形態】次に、本発明の一実施例について
図面を参照して説明する。図1及び図2は本発明の一実
施例によるDMA転送の処理動作を示すフローチャート
であり、図3は本発明の一実施例によるアドレス変換テ
ーブルの構成を示す図である。図3において、アドレス
変換テーブル1にはベースアドレス1aと、連続ページ
数1bとが互いに対応して格納されている。Next, an embodiment of the present invention will be described with reference to the drawings. FIGS. 1 and 2 are flowcharts showing a DMA transfer processing operation according to an embodiment of the present invention, and FIG. 3 is a diagram showing a configuration of an address conversion table according to an embodiment of the present invention. In FIG. 3, the address conversion table 1 stores a base address 1a and a continuous page number 1b corresponding to each other.
【0023】ここで、図示せぬメインメモリ上の複数ペ
ージ(同一サイズ)にはDMA(Direct Mem
ory Access)転送データがマッピングされて
おり、各ページにはベースアドレス1aが下位のものか
ら順にページ番号(自然数)を割当て、また各ページの
ベースアドレス1aの一覧がアドレス変換テーブル1に
格納されている。また、連続ページ数1bとは各ページ
に対して物理アドレス上で順方向に連続しているページ
数を示す。Here, a DMA (Direct Mem) is stored in a plurality of pages (of the same size) on a main memory (not shown).
transfer data is mapped, a page number (natural number) is assigned to each page in ascending order of the base address 1a, and a list of base addresses 1a of each page is stored in the address conversion table 1. I have. The number of continuous pages 1b indicates the number of pages that are continuous in the forward direction on the physical address for each page.
【0024】図4は本発明の一実施例のシステム構成を
示すブロック図である。図において、本発明の一実施例
による情報処理システムはCPU(中央処理装置)2
と、ブリッジ3と、メインメモリ4と、DMAコントロ
ーラ5と、DMAデータ転送元/先6とから構成されて
おり、CPU2及びメインメモリ4はブリッジ3とバス
100とを介してDMAコントローラ5とDMAデータ
転送元/先6とに接続されている。FIG. 4 is a block diagram showing a system configuration according to an embodiment of the present invention. In the figure, an information processing system according to one embodiment of the present invention has a CPU (Central Processing Unit) 2
, A bridge 3, a main memory 4, a DMA controller 5, and a DMA data transfer source / destination 6. The CPU 2 and the main memory 4 communicate with the DMA controller 5 and the DMA controller 5 via the bridge 3 and the bus 100. It is connected to the data transfer source / destination 6.
【0025】図5は図4のDMAコントローラ5の構成
を示すブロック図である。図において、DMAコントロ
ーラ5はシーケンサ51と、演算器類52と、レジスタ
53とから構成されている。FIG. 5 is a block diagram showing the configuration of the DMA controller 5 of FIG. In the figure, the DMA controller 5 includes a sequencer 51, arithmetic units 52, and a register 53.
【0026】図6は本発明の一実施例によるメモリマッ
プを示す図である。図において、メインメモリ4上には
5つのページ(ページ0〜4)にDMA転送データがマ
ッピングされている。この場合、ページ1〜3は物理ア
ドレス上で連続しており、ページ0〜4各々の連続ペー
ジ数は夫々0,2,1,0,0となる。FIG. 6 is a diagram showing a memory map according to one embodiment of the present invention. In the figure, DMA transfer data is mapped on the main memory 4 into five pages (pages 0 to 4). In this case, pages 1 to 3 are continuous on the physical address, and the number of continuous pages of each of pages 0 to 4 is 0, 2, 1, 0, 0, respectively.
【0027】また、メインメモリ4上にはページ0〜4
のほかに、各ページのベースアドレス1aと連続ページ
1bとの一覧を保持するアドレス変換テーブル1が格納
されており、ページサイズを4kバイトとする。これら
図1〜図6を参照して本発明の一実施例によるDMA転
送の処理動作について説明する。尚、図1及び図2に示
す処理動作はDMAコントローラ5が図示せぬ制御メモ
リに記録されたプログラムを実行することで実現され、
制御メモリとしてはフロッピディスクやROM(リード
オンリメモリ)等が考えられる。Also, pages 0 to 4 are stored in the main memory 4.
In addition, an address conversion table 1 that holds a list of a base address 1a and a continuous page 1b of each page is stored, and the page size is 4 kbytes. The processing operation of the DMA transfer according to one embodiment of the present invention will be described with reference to FIGS. 1 and 2 are realized by the DMA controller 5 executing a program recorded in a control memory (not shown).
The control memory may be a floppy disk, a ROM (Read Only Memory), or the like.
【0028】まず、図1及び図2を参照してDMAフロ
ーについて説明する。ここではある論理アドレス(開始
アドレス)から、あるサイズ(総転送サイズ)の領域
を、ある転送サイズ(単位転送サイズ)に分割してDM
A転送する場合の処理動作について説明する。尚、説明
を簡単化するために、ページサイズ及び総転送サイズは
単位転送サイズの倍数とする。First, the DMA flow will be described with reference to FIGS. Here, an area of a certain size (total transfer size) is divided into a certain transfer size (unit transfer size) from a certain logical address (start address),
The processing operation when the A transfer is performed will be described. To simplify the description, the page size and the total transfer size are assumed to be multiples of the unit transfer size.
【0029】上記のDMA転送を行う場合、カレント論
理アドレスに開始アドレスを、転送サイズに総転送サイ
ズを夫々代入し(図1ステップS1)、カレント論理ア
ドレスをページサイズで除した商をページ番号に、その
剰余をオフセットに夫々代入する(図1ステップS
2)。When performing the above-described DMA transfer, the start address is substituted for the current logical address and the total transfer size is substituted for the transfer size (step S1 in FIG. 1), and the quotient obtained by dividing the current logical address by the page size is used for the page number. , And substitute the remainders for the offsets (step S in FIG. 1).
2).
【0030】続いて、アドレス変換テーブル1を参照
し、アドレス変換テーブル1上のページ番号に対応した
ベースアドレスをページアドレスとして、アドレス変換
テーブル1上のページ番号に対応した連続ページ数を連
続ページ数として夫々得る(図1ステップS3)。Subsequently, referring to the address conversion table 1, the base address corresponding to the page number on the address conversion table 1 is set as the page address, and the continuous page number corresponding to the page number on the address conversion table 1 is set as the continuous page number. (Step S3 in FIG. 1).
【0031】このページアドレス(ベースアドレス)に
オフセットを加算したものをカレント物理アドレスに代
入し(図1ステップS4)、そのカレント物理アドレス
に対して単位転送サイズ分のデータをDMA転送する
(図1ステップS5)。A value obtained by adding an offset to the page address (base address) is substituted for the current physical address (step S4 in FIG. 1), and data of a unit transfer size is DMA-transferred to the current physical address (FIG. 1). Step S5).
【0032】その後、残転送サイズから単位転送サイズ
を減算したものを残転送サイズに代入し(図1ステップ
S6)、その残転送サイズが「0」か否かを判定する
(図1ステップS7)。残転送サイズが「0」であれ
ば、上記のDMA転送処理を終了する。Thereafter, a value obtained by subtracting the unit transfer size from the remaining transfer size is substituted for the remaining transfer size (step S6 in FIG. 1), and it is determined whether or not the remaining transfer size is "0" (step S7 in FIG. 1). . If the remaining transfer size is “0”, the above-described DMA transfer processing is terminated.
【0033】残転送サイズが「0」でなければ、オフセ
ットに単位転送サイズを加算したものをオフセットに代
入し(図2ステップS8)、このオフセットがページサ
イズに等しいか否かを判定する(図2ステップS9)。
オフセットがページサイズに等しくなければ、ステップ
S4に移る。If the remaining transfer size is not "0", a value obtained by adding the unit transfer size to the offset is substituted for the offset (step S8 in FIG. 2), and it is determined whether or not this offset is equal to the page size (FIG. 2). Two steps S9).
If the offset is not equal to the page size, the process moves to step S4.
【0034】オフセットがページサイズに等しい、つま
りカレントページのDMA転送が終了すると、ページ番
号をインクリメント(+1)し、オフセットに「0」を
代入する(図2ステップS9)。When the offset is equal to the page size, that is, when the DMA transfer of the current page is completed, the page number is incremented (+1) and "0" is substituted for the offset (step S9 in FIG. 2).
【0035】ここで、連続ページ数が「0」であれば
(図2ステップS11)、ステップS3に移る。また、
連続ページ数が「0」でなければ(図2ステップS1
1)、ベースアドレスにページアドレスを加算したもの
をベースアドレスに代入し、連続ページ数をデクリメン
ト(−1)し(図2ステップS12)、ステップS4に
移る。If the number of continuous pages is "0" (step S11 in FIG. 2), the process proceeds to step S3. Also,
If the number of continuous pages is not "0" (FIG. 2, step S1)
1) The value obtained by adding the page address to the base address is substituted for the base address, the number of continuous pages is decremented (-1) (step S12 in FIG. 2), and the process proceeds to step S4.
【0036】次に、図1と図2と図6とを参照し、本発
明の一実施例によるDMA転送の処理動作について具体
的に説明する。ここで、図6に示すメモリマップの状態
下で、単位転送サイズが32バイトの時に論理アドレス
「1C00h」から2kバイトの領域、つまり論理アド
レス「1C00h」〜「23FFh」の領域をDMA転
送する場合について以下説明する。Next, with reference to FIG. 1, FIG. 2, and FIG. 6, the processing operation of the DMA transfer according to one embodiment of the present invention will be specifically described. Here, under the state of the memory map shown in FIG. 6, when the unit transfer size is 32 bytes, the area of 2 kbytes from the logical address “1C00h”, that is, the area of the logical addresses “1C00h” to “23FFh” is DMA-transferred. Will be described below.
【0037】まず、カレント論理アドレスに開始アドレ
ス「1C00h」を、転送サイズに総転送サイズ「20
48(=2k)バイト」を夫々代入し(図1ステップS
1)、カレント論理アドレスをページサイズで除した商
「1(=1C00h/1000h)」をページ番号に、
その剰余「C00h(=1C00h%1000h)」を
オフセットに夫々代入する(図1ステップS2)。First, the start address “1C00h” is set as the current logical address, and the total transfer size “20” is set as the transfer size.
48 (= 2k) bytes "(step S in FIG. 1).
1) The quotient “1 (= 1C00h / 1000h)” obtained by dividing the current logical address by the page size is used as the page number,
The remainder “C00h (= 1C00h% 1000h)” is substituted for the offset (step S2 in FIG. 1).
【0038】続いて、アドレス変換テーブル1を参照
し、アドレス変換テーブル1上のページ番号「1」に対
応したベースアドレス「1A000h」をページアドレ
スとして、アドレス変換テーブル1上のページ番号
「1」に対応した連続ページ数「2」を連続ページ数と
して夫々得る(図1ステップS3)。Subsequently, by referring to the address conversion table 1, the base address "1A000h" corresponding to the page number "1" on the address conversion table 1 is set as the page address and the page number "1" on the address conversion table 1 is set. The corresponding continuous page number "2" is obtained as the continuous page number (step S3 in FIG. 1).
【0039】このページアドレス(ベースアドレス)に
オフセットを加算したもの「1AC00h(=1A00
0h+C00h)」をカレント物理アドレスに代入し
(図1ステップS4)、そのカレント物理アドレス「1
AC00h」に対して単位転送サイズ分のデータ、つま
り32バイト分のデータをDMA転送する(図1ステッ
プS5)。The value obtained by adding an offset to this page address (base address) is "1AC00h (= 1A00
0h + C00h) "is substituted for the current physical address (step S4 in FIG. 1), and the current physical address" 1 "
DMA transfer of data of the unit transfer size, that is, data of 32 bytes, is performed for "AC00h" (step S5 in FIG. 1).
【0040】その後、残転送サイズから単位転送サイズ
を減算したもの「2016(=2048−32)バイ
ト」を残転送サイズに代入し(図1ステップS6)、そ
の残転送サイズが「0」か否かを判定する(図1ステッ
プS7)。Thereafter, "2016 (= 2048-32) bytes" obtained by subtracting the unit transfer size from the remaining transfer size is substituted for the remaining transfer size (step S6 in FIG. 1), and whether or not the remaining transfer size is "0" Is determined (step S7 in FIG. 1).
【0041】この場合、残転送サイズが「0」でないの
で、オフセットに単位転送サイズを加算したもの「C2
0h(=C00h+32)」をオフセットに代入し(図
2ステップS8)、このオフセットがページサイズに等
しいか否かを判定する(図2ステップS9)。In this case, since the remaining transfer size is not “0”, the value obtained by adding the unit transfer size to the offset “C2
0h (= C00h + 32) "is substituted for the offset (step S8 in FIG. 2), and it is determined whether or not this offset is equal to the page size (step S9 in FIG. 2).
【0042】その結果、オフセット「C20h」がペー
ジサイズ「1000h」に等しくないので、ステップS
4に移り、上記の処理をオフセットがページサイズ「1
000h」に等しくなるまで繰返す。As a result, since the offset “C20h” is not equal to the page size “1000h”, the step S
4 and the offset is changed to the page size “1”.
000h ".
【0043】オフセットがページサイズ「1000h」
に等しくなったら、つまりカレントページのDMA転送
が終了したら、ページ番号に「2(=1+1)」を代入
し、オフセットに「0h」を代入する(図2ステップS
9)。The offset is page size "1000h"
When the DMA transfer of the current page is completed, "2 (= 1 + 1)" is substituted for the page number and "0h" is substituted for the offset (step S in FIG. 2).
9).
【0044】ここで、ページ番号「2」に対応する連続
ページ数が「1」なので(図2ステップS11)、ベー
スアドレスにページアドレスを加算したもの「1B00
0h(=1A000h+1000h)」をベースアドレ
スに代入し、連続ページ数に「1(=2−1)」を代入
し(図2ステップS12)、ステップS4に移る。Here, since the number of continuous pages corresponding to page number "2" is "1" (step S11 in FIG. 2), the sum of the base address and the page address "1B00"
0h (= 1A000h + 1000h) "is substituted for the base address, and" 1 (= 2-1) "is substituted for the number of continuous pages (step S12 in FIG. 2), and the process proceeds to step S4.
【0045】上述した処理は残転送サイズが「0」にな
るまで繰返し行われ、残転送サイズが「0」になると、
上記のDMA転送の処理を終了する。The above processing is repeated until the remaining transfer size becomes "0", and when the remaining transfer size becomes "0",
The above-described DMA transfer processing ends.
【0046】図7は本発明の一実施例の他のシステム構
成を示すブロック図である。図7においては図4に示す
DMAコントローラ5とDMAデータ転送元/先6とが
同一デバイス7上に搭載されている以外は図4に示す情
報処理システムと同様の構成であり、その動作も上述し
た通りである。FIG. 7 is a block diagram showing another system configuration of one embodiment of the present invention. 7, the configuration is the same as that of the information processing system shown in FIG. 4 except that the DMA controller 5 and the DMA data transfer source / destination 6 shown in FIG. 4 are mounted on the same device 7, and the operation thereof is also described above. As you did.
【0047】このように、アドレス変換テーブル1に格
納された連続ページ数情報を基にメインメモリ4のペー
ジ境界部分でのベースアドレスリードサイクルを回避す
ることができ、DMA転送全体にかかる時間が短くなる
ので、物理アドレス上で連続しているページ間のページ
境界を越えたDMAを行う場合、従来の方法よりも高速
にDMA転送を行うことができる。As described above, the base address read cycle at the page boundary portion of the main memory 4 can be avoided based on the continuous page number information stored in the address conversion table 1, and the time required for the entire DMA transfer can be shortened. Therefore, when performing DMA beyond the page boundary between consecutive pages on the physical address, the DMA transfer can be performed at a higher speed than the conventional method.
【0048】尚、アドレス変換テーブル1は図8に示す
従来のアドレス変換テーブル8と比べて連続ページ数の
格納部分が増えた分だけ記憶領域が余分に必要となる。
また、本発明の一実施例によるDMA転送処理を従来の
DMA転送処理よりもステップ数が増えるが、DMA転
送全体にかかる時間が長くなることはない。It should be noted that the address conversion table 1 requires an extra storage area by an amount corresponding to the increase in the storage portion of the number of continuous pages as compared with the conventional address conversion table 8 shown in FIG.
Although the number of steps in the DMA transfer processing according to the embodiment of the present invention is larger than that in the conventional DMA transfer processing, the time required for the entire DMA transfer is not longer.
【0049】これは現在用いられているDMA転送処理
において各ページのベースアドレスの値が1バイト単位
ではなく、もっと大きなバイト単位の値をとるのが一般
的であり、そのために核ベースアドレスの下位ビットが
使用されておらず、その未使用のビット部分に連続ペー
ジ数データを格納すればよく、またそのように連続ペー
ジ数データを格納すれば、ベースアドレスリードサイク
ル時に連続ページ数データも同時にリードすることがで
きるからである。This is because in the currently used DMA transfer processing, the value of the base address of each page is generally not a byte unit but a larger byte value, and therefore, the lower byte of the kernel base address is used. Bits are not used, and it is sufficient to store the continuous page number data in the unused bit portions.If such continuous page number data is stored, the continuous page number data is simultaneously read during the base address read cycle. Because you can.
【0050】[0050]
【発明の効果】以上説明したように本発明によれば、メ
インメモリ上の複数ページに対してダイレクトメモリア
クセスを行うDMA制御装置において、メインメモリの
各ページのベースアドレスと当該ページの連続性に関す
る情報とを対応付けて格納するアドレス変換テーブルを
基に、ダイレクトメモリアクセス時にアクセスするペー
ジに続く連続ページの有無を判定し、連続ページ有りと
判定された時に次ページのベースアドレスを生成するこ
とによって、物理アドレス上で連続しているページ間の
ページ境界を越えたDMAを行う場合に高速なDMA転
送を行うことができるという効果がある。As described above, according to the present invention, in a DMA control device for performing direct memory access to a plurality of pages in a main memory, the base address of each page in the main memory and the continuity of the page. Based on an address conversion table that stores information in association with information, it is determined whether there is a continuous page following the page to be accessed at the time of direct memory access, and when it is determined that there is a continuous page, a base address of the next page is generated. In addition, there is an effect that high-speed DMA transfer can be performed when performing DMA beyond a page boundary between consecutive pages on a physical address.
【図1】本発明の一実施例によるDMA転送の処理動作
を示すフローチャートである。FIG. 1 is a flowchart showing a DMA transfer processing operation according to an embodiment of the present invention.
【図2】本発明の一実施例によるDMA転送の処理動作
を示すフローチャートである。FIG. 2 is a flowchart showing a DMA transfer processing operation according to an embodiment of the present invention.
【図3】本発明の一実施例によるアドレス変換テーブル
の構成を示す図である。FIG. 3 is a diagram showing a configuration of an address conversion table according to one embodiment of the present invention.
【図4】本発明の一実施例のシステム構成を示すブロッ
ク図である。FIG. 4 is a block diagram illustrating a system configuration according to an embodiment of the present invention.
【図5】図4のDMAコントローラの構成を示すブロッ
ク図である。FIG. 5 is a block diagram illustrating a configuration of a DMA controller of FIG. 4;
【図6】本発明の一実施例によるメモリマップを示す図
である。FIG. 6 is a diagram illustrating a memory map according to an embodiment of the present invention.
【図7】本発明の一実施例の他のシステム構成を示すブ
ロック図である。FIG. 7 is a block diagram showing another system configuration according to an embodiment of the present invention.
【図8】従来例によるアドレス変換テーブルの構成を示
す図である。FIG. 8 is a diagram showing a configuration of an address conversion table according to a conventional example.
【図9】従来例によるDMA転送の処理動作を示すフロ
ーチャートである。FIG. 9 is a flowchart showing a DMA transfer processing operation according to a conventional example.
1 アドレス変換テーブル 1a ベースアドレス 1b 連続ページ数 2 CPU 3 ブリッジ 4 メインメモリ 5 DMAコントローラ 6 DMAデータ転送元/先 7 デバイス 1 Address Conversion Table 1a Base Address 1b Number of Consecutive Pages 2 CPU 3 Bridge 4 Main Memory 5 DMA Controller 6 DMA Data Transfer Source / Destination 7 Device
Claims (9)
イレクトメモリアクセスを行うDMA制御装置であっ
て、前記メインメモリの各ページのベースアドレスと当
該ページの連続性に関する情報とを対応付けて格納する
アドレス変換テーブルと、前記ダイレクトメモリアクセ
ス時にアクセスするページに続く連続ページの有無を前
記アドレス変換テーブルの内容を基に判定する判定手段
と、前記判定手段で前記連続ページ有りと判定された時
に次ページのベースアドレスを生成する生成手段とを有
することを特徴とするDMA制御装置。1. A DMA control device for performing direct memory access to a plurality of pages on a main memory, wherein a base address of each page of the main memory and information on continuity of the page are stored in association with each other. An address conversion table, determining means for determining the presence or absence of a continuous page following the page to be accessed at the time of the direct memory access based on the contents of the address conversion table, and a next page when the determining means determines that the continuous page is present. And a generating means for generating a base address of the DMA controller.
該ページの物理アドレス上で順方向に連続しているペー
ジ数であることを特徴とする請求項1記載のDMA制御
装置。2. The DMA controller according to claim 1, wherein the information on the continuity of the page is the number of pages that are consecutive in the forward direction on the physical address of the page.
アクセス時にアクセスするページのベースアドレスとペ
ージサイズとから前記次ページのベースアドレスを生成
するよう構成したことを特徴とする請求項1または請求
項2記載のDMA制御装置。3. The apparatus according to claim 1, wherein said generating means is configured to generate a base address of the next page from a base address and a page size of a page accessed at the time of the direct memory access. The DMA controller according to any one of the preceding claims.
イレクトメモリアクセスを行うDMA制御方法であっ
て、前記ダイレクトメモリアクセス時にアクセスするペ
ージに続く連続ページの有無を前記メインメモリの各ペ
ージのベースアドレスに対応付けて格納された当該ペー
ジの連続性に関する情報を基に判定するステップと、こ
の判定で前記連続ページ有りと判定された時に次ページ
のベースアドレスを生成するステップとを有することを
特徴とするDMA制御方法。4. A DMA control method for performing a direct memory access to a plurality of pages on a main memory, wherein a presence or absence of a continuous page following a page accessed at the time of the direct memory access is determined by a base address of each page of the main memory. And a step of generating a base address of a next page when it is determined that there is a continuous page in this determination. DMA control method.
該ページの物理アドレス上で順方向に連続しているペー
ジ数であることを特徴とする請求項4記載のDMA制御
方法。5. The DMA control method according to claim 4, wherein the information on the continuity of the page is the number of pages that are continuous in the forward direction on the physical address of the page.
るステップは、前記ダイレクトメモリアクセス時にアク
セスするページのベースアドレスとページサイズとから
前記次ページのベースアドレスを生成するようにしたこ
とを特徴とする請求項4または請求項5記載のDMA制
御方法。6. The step of generating a base address of the next page, wherein the base address of the next page is generated from a base address and a page size of a page to be accessed at the time of the direct memory access. A DMA control method according to claim 4 or claim 5.
イレクトメモリアクセスを行うDMA制御プログラムを
記録した記録媒体であって、前記DMA制御プログラム
は前記ダイレクトメモリアクセスを制御する制御手段
に、前記ダイレクトメモリアクセス時にアクセスするペ
ージに続く連続ページの有無を前記メインメモリの各ペ
ージのベースアドレスに対応付けて格納された当該ペー
ジの連続性に関する情報を基に判定させ、この判定で前
記連続ページ有りと判定された時に次ページのベースア
ドレスを生成させることを特徴とするDMA制御プログ
ラムを記録した記録媒体。7. A recording medium on which a DMA control program for performing direct memory access to a plurality of pages on a main memory is recorded, wherein the DMA control program includes: a control unit for controlling the direct memory access; The presence or absence of a continuous page following the page to be accessed at the time of access is determined based on the information on the continuity of the page stored in association with the base address of each page in the main memory. A recording medium on which a DMA control program is recorded, wherein a base address of a next page is generated when the program is executed.
該ページの物理アドレス上で順方向に連続しているペー
ジ数であることを特徴とする請求項7記載のDMA制御
プログラムを記録した記録媒体。8. The recording medium according to claim 7, wherein the information on the continuity of the page is the number of pages that are consecutive in the forward direction on the physical address of the page. .
段に、前記ダイレクトメモリアクセス時にアクセスする
ページのベースアドレスとページサイズとから前記次ペ
ージのベースアドレスを生成させるようにしたことを特
徴とする請求項7または請求項8記載のDMA制御プロ
グラムを記録した記録媒体。9. The program according to claim 1, wherein the DMA control program causes the control means to generate a base address of the next page from a base address and a page size of a page to be accessed at the time of the direct memory access. A recording medium on which the DMA control program according to claim 7 or 8 is recorded.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34884997A JPH11184797A (en) | 1997-12-18 | 1997-12-18 | Dma controller and method therefor and recording medium for recording control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34884997A JPH11184797A (en) | 1997-12-18 | 1997-12-18 | Dma controller and method therefor and recording medium for recording control program |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11184797A true JPH11184797A (en) | 1999-07-09 |
Family
ID=18399801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34884997A Withdrawn JPH11184797A (en) | 1997-12-18 | 1997-12-18 | Dma controller and method therefor and recording medium for recording control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH11184797A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009512919A (en) * | 2005-10-07 | 2009-03-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | System and method for improved DMAC conversion mechanism |
JP2010134659A (en) * | 2008-12-03 | 2010-06-17 | Fujitsu Ltd | Backup apparatus, backup method and backup program |
-
1997
- 1997-12-18 JP JP34884997A patent/JPH11184797A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009512919A (en) * | 2005-10-07 | 2009-03-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | System and method for improved DMAC conversion mechanism |
JP2010134659A (en) * | 2008-12-03 | 2010-06-17 | Fujitsu Ltd | Backup apparatus, backup method and backup program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5864876A (en) | DMA device with local page table | |
US5440708A (en) | Microprocessor and storage management system having said microprocessor | |
JPH04308953A (en) | Virtual address computer system | |
JPH11184797A (en) | Dma controller and method therefor and recording medium for recording control program | |
JPS6175397A (en) | Voice data memory control system | |
JPS63255750A (en) | Memory system | |
JP3276034B2 (en) | Memory area expansion method | |
JPH04337851A (en) | Memory access system | |
JPS6217261B2 (en) | ||
JPS6022777B2 (en) | Data transfer method | |
JPH1040213A (en) | Method for transferring dma data of information processor | |
JPH0754544B2 (en) | Image memory access circuit | |
US6519668B1 (en) | Additional extension device having universal applicability | |
JPS63245743A (en) | Memory access system | |
JPS63255749A (en) | Memory system | |
JPS63223935A (en) | Processor | |
JPS63245545A (en) | Dma system | |
JPS6331816B2 (en) | ||
JP2002183079A (en) | Input/output data transferring method | |
JPS6386047A (en) | Memory extension address system | |
JP2000181788A (en) | File managing method for file system | |
JPS61156450A (en) | Dynamic buffer control system | |
JPH103426A (en) | Cache memory device | |
JPS6194167A (en) | Peripheral controller | |
JPH11143765A (en) | Burst cycle control method and memory access controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20050301 |