JPH1063607A - Dma controller - Google Patents
Dma controllerInfo
- Publication number
- JPH1063607A JPH1063607A JP23247696A JP23247696A JPH1063607A JP H1063607 A JPH1063607 A JP H1063607A JP 23247696 A JP23247696 A JP 23247696A JP 23247696 A JP23247696 A JP 23247696A JP H1063607 A JPH1063607 A JP H1063607A
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- channel
- data
- buffer memory
- area
- 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
Landscapes
- Bus Control (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、コンピュータ・シ
ステムにおいて、中央処理部を介さずにデータを転送す
るダイレクト・メモリ・アクセス(Direct Memory Acce
ss)(以下、「DMA」という。)のコントローラに関
し、特に、データを転送する際に用いるバッファメモリ
における領域の割り当てに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a direct memory access (Direct Memory Access) system for transferring data without using a central processing unit in a computer system.
ss) (hereinafter, referred to as “DMA”), and more particularly to allocating an area in a buffer memory used when transferring data.
【0002】[0002]
【従来の技術】従来から、コンピュータ・システムにお
いては、中央処理部(Central Procesing Unit)に負荷
を掛けることなく、多量のデータを効率良く転送するべ
く、DMAが広く用いられている。そして、DMAを実
現する回路として、DMAコントローラが使われてい
る。図6は、従来のDMAコントローラのブロック図で
ある。このDMAコントローラは、DMA制御部1、D
MA制御部2、バッファメモリ3から構成されている。
DMA制御部1は、システムバス10に接続されてお
り、また、DMA制御部2は、I/Oバス20に接続さ
れている。このように構成されるDMAコントローラ
は、記憶部100に格納されているデータを、システム
バス10、バッファメモリ3、I/Oバス20を経由し
て入出力装置200へ転送したり、また反対に、入出力
装置200に格納されているデータを、I/Oバス2
0、バッファメモリ3、システムバス10を経由して、
記憶部100へ転送したりする。このような転送は、転
送元アドレス、データ量、転送先アドレス等の情報に基
づき、DMA制御部1、2によって実行される。2. Description of the Related Art Conventionally, in computer systems, DMA has been widely used to efficiently transfer a large amount of data without imposing a load on a central processing unit (Central Processing Unit). A DMA controller is used as a circuit for realizing the DMA. FIG. 6 is a block diagram of a conventional DMA controller. This DMA controller includes a DMA controller 1, D
The MA controller 2 includes a buffer memory 3.
The DMA control unit 1 is connected to a system bus 10, and the DMA control unit 2 is connected to an I / O bus 20. The DMA controller configured as described above transfers data stored in the storage unit 100 to the input / output device 200 via the system bus 10, the buffer memory 3, and the I / O bus 20, and vice versa. The data stored in the input / output device 200 is transferred to the I / O bus 2
0, via the buffer memory 3 and the system bus 10,
For example, the data is transferred to the storage unit 100. Such a transfer is performed by the DMA control units 1 and 2 based on information such as a transfer source address, a data amount, and a transfer destination address.
【0003】図7は、複数のチャネルを用いてDMAを
並行して実行する、従来のDMAコントローラのブロッ
ク図である。このDMAコントローラは、上記のDMA
コントローラの構成と概ね同じである。相違点は、DM
A制御部1、2が、それぞれ、複数のDMA制御部1−
1〜n(nは、任意の正の整数)、DMA制御部2−1
〜nから構成されており、また、バッファメモリ3に
は、各チャネル毎に、等しい大きさの、かつ、固定され
た領域が確保されていることである。このDMAコント
ローラは、チャネル1を使って、記憶部100の記憶箇
所100aに格納されているデータを入出力装置200
aへ転送したり、チャネル2を使って、入出力装置20
0bから入力されたデータを記憶部100の記憶箇所1
00bへ転送したりすることを擬似的に並列して実行す
る。なぜならば、ある時刻にシステムバス10を専有で
きるチャネルの数は1つであり、同様にして、ある時刻
にI/Oバス20を専有できるチャネルの数も1つであ
るために、各チャネルは、全く同時に動作することはで
きないためである。従って、バッファメモリ3は、同一
バス側において、同時に複数のチャネルによってアクセ
スされることはない。FIG. 7 is a block diagram of a conventional DMA controller that executes DMA in parallel using a plurality of channels. This DMA controller uses the above DMA
The configuration is almost the same as that of the controller. The difference is the DM
A control units 1 and 2 each include a plurality of DMA control units 1-
1 to n (n is an arbitrary positive integer), DMA controller 2-1
.. N, and the buffer memory 3 has a fixed area of the same size for each channel. The DMA controller uses the channel 1 to transfer data stored in the storage location 100a of the storage unit 100 to the input / output device 200.
a or the input / output device 20 using the channel 2.
0b is stored in storage location 1 of storage section 100.
00b is executed in a pseudo-parallel manner. This is because the number of channels that can occupy the system bus 10 at a certain time is one, and the number of channels that can occupy the I / O bus 20 at a certain time is one. This is because they cannot operate at the same time. Therefore, the buffer memory 3 is not simultaneously accessed by a plurality of channels on the same bus side.
【0004】[0004]
【発明が解決しようとする課題】しかしながら、複数の
チャネルを用いてDMAを実行する場合には、一般に、
各チャネルの転送速度(単位時間当たりに転送されるデ
ータ量)は異なるために、割り当てられた領域の使用効
率にバラツキが生じることになる。例えば、転送速度が
速いチャネルでは、割り当てられた領域が直ちに転送デ
ータで満たされてしまうために、頻繁に発生するチャネ
ルの切換え制御等に要するオーバヘッド時間による遅延
が大きな問題となっていた。However, when performing DMA using a plurality of channels, generally,
Since the transfer speed (the amount of data transferred per unit time) of each channel is different, the use efficiency of the allocated area varies. For example, in a channel with a high transfer rate, an assigned area is immediately filled with transfer data, so that a frequent occurrence of a delay due to an overhead time required for control of channel switching or the like has been a serious problem.
【0005】[0005]
【課題を解決するための手段】本発明は、以上の問題点
を解決するために、次の構成を採用する。 〈構成1〉転送されるべきデータを一時的に蓄積するバ
ッファメモリと、転送元からバッファメモリへデータを
転送する第一のダイレクトメモリアクセス制御部と、バ
ッファメモリから転送先へデータを転送する第二のダイ
レクトメモリアクセス制御部と、バッファメモリを分割
し、その分割された領域を各チャネルに割り当てるダイ
レクトメモリアクセス監視部とからなり、転送元からバ
ッファメモリを介して転送先までの間に、第一のダイレ
クトメモリアクセス制御部と第二のダイレクトメモリア
クセス制御部とから構成されるチャネルを複数形成し、
ダイレクトメモリアクセス監視部が、各チャネル毎に、
転送元からバッファメモリまでの第一のデータ転送速度
と、バッファメモリから転送先までの第二のデータ転送
速度とのうち、遅い方のデータ転送速度を選択し、その
選択されたデータ転送速度に応じて領域を割り当てるこ
とを特徴とするDMAコントローラ。The present invention employs the following structure in order to solve the above problems. <Structure 1> A buffer memory for temporarily storing data to be transferred, a first direct memory access control unit for transferring data from the transfer source to the buffer memory, and a second memory for transferring data from the buffer memory to the transfer destination. A direct memory access control unit, and a direct memory access monitoring unit that divides the buffer memory and allocates the divided area to each channel. Forming a plurality of channels composed of one direct memory access control unit and a second direct memory access control unit,
The direct memory access monitoring unit, for each channel,
From the first data transfer speed from the transfer source to the buffer memory and the second data transfer speed from the buffer memory to the transfer destination, select the slower data transfer speed and set the selected data transfer speed to A DMA controller for allocating an area in accordance with the DMA.
【0006】〈構成2〉構成1において、あるチャネル
が、そのチャネルに割り当てられた領域に相当する量の
データの転送を完了する毎に、ダイレクトメモリアクセ
ス監視部が、改めてバッファメモリを割り当てることを
特徴とするDMAコントローラ。<Structure 2> In structure 1, every time a channel completes transfer of an amount of data corresponding to an area allocated to the channel, the direct memory access monitoring unit reallocates a buffer memory. DMA controller characterized.
【0007】〈構成3〉構成2において、ダイレクトメ
モリアクセス監視部が、改めてバッファメモリを割り当
てる際に、前回のバッファメモリ割当て時に未使用であ
ったチャネルが、引き続き未使用状態である場合には、
その未使用状態のチャネルに割り当てる領域を少なくす
ることを特徴とするDMAコントローラ。<Structure 3> In the structure 2, when the direct memory access monitoring unit allocates a buffer memory again, if a channel that has been unused at the time of the previous buffer memory allocation is still unused,
A DMA controller characterized in that the area allocated to the unused channel is reduced.
【0008】〈構成4〉構成2において、ダイレクトメ
モリアクセス監視部が、改めてバッファメモリを割り当
てる場合に、第一のチャネルに既に割り当てられている
領域の一部を第二のチャネルに割り当てるとき、第一の
チャネルがその領域を使用しているときには、次回に改
めてバッファメモリを割り当てる時までそのままの状態
を維持することを特徴とするDMAコントローラ。<Configuration 4> In configuration 2, when the direct memory access monitoring unit allocates a part of the area already allocated to the first channel to the second channel when the buffer memory is newly allocated, A DMA controller characterized in that when one channel is using the area, the state is maintained until the next time a buffer memory is newly allocated.
【0009】〈構成5〉構成1において、各チャネルに
対し割り当てられたバッファメモリにおける領域が、複
数の領域部分から構成されており、複数の領域部分のう
ち一の領域部分から転送先へあるデータを転送すること
と、転送元から複数の領域部分のうち一の領域部分以外
の他の領域部分へ他のデータを転送することを特徴とす
るDMAコントローラ。<Structure 5> In the structure 1, the area in the buffer memory allocated to each channel is composed of a plurality of area parts, and one of the plurality of area parts has a certain data to the transfer destination. And transferring other data from the transfer source to another area other than the one of the plurality of area parts.
【0010】〈構成6〉転送元から転送先へ複数のチャ
ネルを介して転送されるべきデータを一時的に蓄積する
蓄積手段と、各チャネル毎に、転送元から転送先までの
間におけるデータの転送速度を検出する検出手段と、各
チャネルに対し、蓄積手段の使用を許可する制御手段と
からなり、制御手段が、検出されたデータの転送速度が
より速いチャネルに対し、蓄積手段をより多く使用する
ことを許可することを特徴とするDMAコントローラ。<Structure 6> Storage means for temporarily storing data to be transferred from a transfer source to a transfer destination via a plurality of channels, and data transfer between the transfer source and the transfer destination for each channel. Detecting means for detecting the transfer rate; and control means for permitting the use of the storage means for each channel. The control means increases the number of storage means for the channel having a higher transfer rate of the detected data. A DMA controller, characterized in that the DMA controller permits use.
【0011】〈構成7〉データを複数のチャネルを介し
て入出力する転送元と転送先との間でデータを一時的に
蓄積する蓄積手段と、各チャネル毎に、転送元から蓄積
手段へデータを転送する間におけるデータ転送速度と、
蓄積手段から転送先までデータを転送する間におけるデ
ータ転送速度とのうち遅い方のデータ転送速度を、その
チャネルのデータ転送速度として選択する選択手段と、
各チャネルに対し、そのチャネルのデータ転送速度に基
づき蓄積手段の使用量を決定する制御手段とからなり、
制御手段が、選択されたデータ転送速度がより速いチャ
ネルに対し、蓄積手段をより多く使用することを許可す
ることを特徴とするDMAコントローラ。<Structure 7> Storage means for temporarily storing data between a transfer source and a transfer destination which input / output data via a plurality of channels, and data from the transfer source to the storage means for each channel The data transfer speed during the transfer of the
Selecting means for selecting, as the data transfer rate of the channel, the slower one of the data transfer rate and the data transfer rate during data transfer from the storage means to the transfer destination;
Control means for determining the amount of storage means used for each channel based on the data transfer rate of that channel,
A DMA controller, wherein the control means permits the selected data transfer rate higher channel to use more storage means.
【0012】[0012]
【発明の実施の形態】本発明のDMAコントローラにつ
いて、実施の形態に沿って説明する。実施の形態として
は、具体例1と具体例2とを挙げる。具体例1の主な特
徴点は、DMA監視部がデータの転送速度を監視するこ
とであり、一方、具体例2の主な特徴点は、バッファメ
モリ内の各領域が複数の領域部分から構成されることで
ある。DESCRIPTION OF THE PREFERRED EMBODIMENTS A DMA controller according to the present invention will be described with reference to an embodiment. Specific examples 1 and 2 are given as embodiments. The main feature of the specific example 1 is that the DMA monitoring unit monitors the data transfer rate, while the main feature of the specific example 2 is that each area in the buffer memory is composed of a plurality of area parts. Is to be done.
【0013】〈具体例1の構成〉図1は、本発明のDM
Aコントローラの具体例のブロック図である。このDM
Aコントローラは、複数のDMA制御部1−1〜n、同
数のDMA制御部2−1〜n、バッファメモリ3、DM
A監視部4から構成されている。DMA制御部1−1〜
nは、システムバス10を介して他のモジュール、例え
ば、記憶部100、中央処理部110等に接続されてい
る。同様にして、DMA制御部2−1〜nは、I/Oバ
ス20を介して更に他のモジュール、例えば、入出力装
置200等に接続されている。<Structure of Specific Example 1> FIG.
It is a block diagram of a specific example of A controller. This DM
The A controller includes a plurality of DMA control units 1-1 to n, the same number of DMA control units 2-1 to n, a buffer memory 3,
A monitoring section 4 is provided. DMA controller 1-1
n is connected to another module, for example, the storage unit 100, the central processing unit 110, and the like via the system bus 10. Similarly, the DMA control units 2-1 to n are connected to another module, for example, the input / output device 200 via the I / O bus 20.
【0014】このように構成されるDMAコントローラ
において、DMA制御部1−1〜nは、システムバス1
0側のモジュールとバッファメモリ3との間でのDMA
転送を制御し、一方、DMA制御部2−1〜nは、I/
Oバス20側のモジュールとバッファメモリ3との間で
のDMA転送を制御する。各チャネルでのDMA転送
は、他のチャネルでのDMA転送に影響されることな
く、独自に実行される。DMA監視部4は、システムバ
ス10に接続されている中央処理部110等からのDM
A転送命令に従って、DMA制御部1−1〜n、DMA
制御部2−1〜nに対し、転送元アドレス、転送先アド
レス、転送すべきデータの量、バッファメモリ3におけ
る使用可能な領域等を指示する。In the thus configured DMA controller, the DMA controllers 1-1 to n include a system bus 1
DMA between module 0 and buffer memory 3
The DMA control units 2-1 to n control the transfer.
The DMA transfer between the module on the O bus 20 side and the buffer memory 3 is controlled. The DMA transfer in each channel is independently executed without being affected by the DMA transfer in other channels. The DMA monitoring unit 4 receives the DM from the central processing unit 110 or the like connected to the system bus 10.
DMA control units 1-1 to n, DMA
It instructs the control units 2-1 to n to the transfer source address, the transfer destination address, the amount of data to be transferred, and the available area in the buffer memory 3.
【0015】〈動作〉次に、DMAコントローラの動作
を説明する。図2は、DMAコントローラの動作フロー
チャートである。以下、この動作フローチャートに沿っ
て説明する。なお、システムバス10に接続されている
記憶部100に格納されているデータを、I/Oバス2
0に接続されている入出力装置200へ転送する場合を
想定する。<Operation> Next, the operation of the DMA controller will be described. FIG. 2 is an operation flowchart of the DMA controller. Hereinafter, description will be given along this operation flowchart. The data stored in the storage unit 100 connected to the system bus 10 is transferred to the I / O bus 2
It is assumed that the data is transferred to the input / output device 200 connected to “0”.
【0016】ステップS10: 中央処理部110は、
DMA監視部4に対し、DMA転送を命令する。このD
MA転送命令には、転送元の開始アドレス、転送先の開
始アドレス、転送すべきデータの量等の情報が含まれ
る。 ステップS20: DMA転送命令を受けると、DMA
監視部4は、DMA制御部1−1〜nのうちの一つであ
るDMA制御部1−M(1≦M≦n)に対し、上述した
情報のうち、転送先の開始アドレスと転送すべきデータ
の量とを通知する。また、バッファメモリ3での割り当
て領域q1〜nの開始アドレスとその大きさも通知す
る。この領域q1〜nの大きさは、次の式(1)によっ
て決定される。 q1/min(Vi1,Vo1)=q2/min(Vi2,Vo2)=…=qn/min(Vin,Von) 式(1) この式(1)において、関数min(a、b)は、a、
bのうち、小さい方の数を選択することを意味する。こ
こで、転送速度Vix(1≦x≦n)は、転送元からバ
ッファメモリ3までの間における、単位時間当たりに転
送するデータ量を表し、また、転送速度Voxは、バッ
ファメモリ3から転送先までの間における、単位時間当
たりに転送するデータ量を表す。従って、min(V
a、Vb)は、Va、Vbのうち、遅いデータ転送速度
を表すことになる。なお、各領域q1〜nを全て合算す
ると、バッファメモリ3の総容量と等しくなる。Step S10: The central processing unit 110
Instructs the DMA monitoring unit 4 to perform a DMA transfer. This D
The MA transfer instruction includes information such as the start address of the transfer source, the start address of the transfer destination, and the amount of data to be transferred. Step S20: When a DMA transfer command is received, the DMA
The monitoring unit 4 transfers, to the DMA control unit 1-M (1 ≦ M ≦ n), which is one of the DMA control units 1-1 to n, the start address of the transfer destination and the start address of the transfer destination. Notify the amount of data to be sent. Further, the start address and the size of the allocation areas q1 to n in the buffer memory 3 are also notified. The size of the regions q1 to n is determined by the following equation (1). q1 / min (Vi1, Vo1) = q2 / min (Vi2, Vo2) = ... = qn / min (Vin, Von) Equation (1) In this equation (1), the function min (a, b) is a,
This means that a smaller number among b is selected. Here, the transfer speed Vix (1 ≦ x ≦ n) represents the amount of data to be transferred per unit time from the transfer source to the buffer memory 3, and the transfer speed Vox is determined from the buffer memory 3 to the transfer destination. Represents the amount of data to be transferred per unit time up to. Therefore, min (V
a, Vb) represent the slower data transfer speed of Va and Vb. It should be noted that the sum of all the areas q1 to n becomes equal to the total capacity of the buffer memory 3.
【0017】各チャネル毎の領域q1〜nは、DMA転
送を開始する際に、式(1)に基づいて割り当てられ
る。但し、その割り当たられた領域は、決して固定され
ることなく、DMA転送中においても見直され変更され
る。従って、DMA転送を開始する際に割り当たられた
領域に比べて、DMA転送中に割り当てられた領域が拡
大する場合もあり、反対に、DMA転送の開始時に割り
当たられた領域に比べて、DMA転送中に割り当てられ
た領域が縮小する場合もある。このように、データの転
送を完了する毎に割り当て領域を見直すことにより、常
にその時々のデータ転送速度に適した割当てを即時的に
実現することが可能となる。なお、後者のように、領域
を縮小する場合には、その領域が使用中であるときに
は、いきなり領域を縮小せずに、使用されない状態にな
ったことを確認した後に、その領域を縮小する。このよ
うにして、その縮小された分だけ、他の領域が拡大する
ことになる。このように、割当てを変更するべき領域
が、使用中である場合に、その領域が未使用状態になる
まで割当ての変更を待つことにより、使用中の領域に格
納されているデータを確実に転送することを保証するこ
とができる。Areas q1 to n for each channel are allocated based on equation (1) when starting DMA transfer. However, the allocated area is not fixed but is reviewed and changed even during the DMA transfer. Therefore, the area allocated during the DMA transfer may be larger than the area allocated at the start of the DMA transfer, and conversely, the area allocated at the start of the DMA transfer may be larger than the area allocated at the start of the DMA transfer. The area allocated during the DMA transfer may be reduced. In this way, by reviewing the assigned area each time the data transfer is completed, it is possible to immediately realize the assignment suitable for the current data transfer speed. When the area is reduced as in the latter case, when the area is in use, the area is not reduced immediately, but after confirming that the area is not used, the area is reduced. In this way, other areas are enlarged by the reduced amount. In this way, when the area whose allocation is to be changed is in use, the data stored in the used area is reliably transferred by waiting for the change of the allocation until the area becomes unused. Can be guaranteed.
【0018】また、DMA転送が実行されていないチャ
ネルについても、それらのチャネルをいつでも使用でき
るようにするべく、それらの転送速度を任意に設定し、
その転送速度に対応する大きさの領域を割り当てる。例
えば、全てのチャネルが使用されていない状態である場
合であっても、全てのチャネルが同一の転送速度でDM
A転送していると仮定して、同一の領域を割り当てる。
また、例えば、ある一つのチャネルが第一の転送速度で
DMA転送をしており、他のある一つのチャネルが第二
の転送速度でDMA転送をしている場合には、残りのチ
ャネルには、第一の転送速度と第二の転送速度のうち遅
い方の転送速度よりも遅い転送速度を仮定して、全ての
チャネルに対し、式(1)から算出される領域をそれぞ
れ割り当てるようにする。[0018] Further, even for channels on which DMA transfer has not been executed, their transfer rates are arbitrarily set so that those channels can be used at any time.
An area having a size corresponding to the transfer speed is allocated. For example, even when all the channels are not in use, all the channels have the same
Assuming that A transfer is performed, the same area is allocated.
For example, if one channel is performing DMA transfer at the first transfer rate and another certain channel is performing DMA transfer at the second transfer rate, the remaining channels are Assuming a transfer rate lower than the lower one of the first transfer rate and the second transfer rate, the areas calculated from the equation (1) are allocated to all the channels. .
【0019】ステップS30: DMA制御部1−M
は、その通知された情報に基づき、記憶部100上の所
定の箇所に記憶されているデータを、システムバス10
を介して、バッファメモリ3での割り当てられた領域q
MへDMA転送する。 ステップS40: DMA転送が終了すると、DMA監
視部4は、DMA制御部1−Mに対応するDMA制御部
2−Mに対し、DMA制御部1−Mの場合と同様にし
て、上述した情報を通知する。 ステップS50: DMA制御部2−Mは、バッファメ
モリ3での割り当てられた領域qMに格納されているデ
ータを、入出力装置200へDMA転送する。Step S30: DMA controller 1-M
Transmits the data stored in a predetermined location on the storage unit 100 based on the notified information to the system bus 10.
Via the allocated area q in the buffer memory 3
DMA transfer to M. Step S40: When the DMA transfer is completed, the DMA monitoring unit 4 sends the above information to the DMA control unit 2-M corresponding to the DMA control unit 1-M in the same manner as in the case of the DMA control unit 1-M. Notice. Step S50: The DMA control unit 2-M DMA-transfers the data stored in the allocated area qM in the buffer memory 3 to the input / output device 200.
【0020】〈動作の詳細1〉次に、DMAコントロー
ラの動作をより詳しく説明する。図3は、DMAコント
ローラの動作フローチャート(その2)である。以下、
この動作フローチャートに沿って説明する。なお、チャ
ネル数nを4、バッファメモリ3のサイズを64kB
(kilo byte)、バッファメモリ3の最小割当
てサイズを4Bとする。また、使用されていないチャネ
ルの転送速度を、使用されているチャネルの転送速度の
半分に設定することとする。<Details of Operation 1> Next, the operation of the DMA controller will be described in more detail. FIG. 3 is an operation flowchart (part 2) of the DMA controller. Less than,
A description will be given along this operation flowchart. The number of channels n is 4, and the size of the buffer memory 3 is 64 kB.
(Kilo byte), the minimum allocation size of the buffer memory 3 is 4B. Also, the transfer rate of the unused channel is set to half of the transfer rate of the used channel.
【0021】上記の条件の下で、当初、4つのチャネル
全てが、未使用状態であり、ある時刻に、128kBの
データをDMA転送する命令がなされたと仮定する。ま
た、チャネル1のVi1は、300kB/secであ
り、Vo1は、350kB/secであると仮定する。Under the above conditions, it is assumed that all four channels are initially unused, and that a command to DMA-transfer 128 kB of data is issued at a certain time. It is also assumed that Vi1 of channel 1 is 300 kB / sec and Vo1 is 350 kB / sec.
【0022】ステップS100: 4つのチャネルが使
用されていない場合には、各チャネルには、バッファメ
モリ3において、それぞれ、16kB(=64kB/
4)の領域が割り当てられる。従って、例えば、チャネ
ル1に割り当てられる領域のアドレスは、0000hか
ら3FFFhまでとなる。 ステップS110: DMA転送命令を受けて、DMA
監視部4は、チャネル1を使ってDMA転送することを
決定する。 ステップS120: DMA制御部1−1は、転送すべ
き128kBのデータのうち、割り当てられた領域16
kBに相当するデータを転送する。Step S100: When four channels are not used, each channel has 16 kB (= 64 kB /
The area of 4) is allocated. Therefore, for example, the address of the area assigned to channel 1 is from 0000h to 3FFFFh. Step S110: In response to the DMA transfer instruction, the DMA
The monitoring unit 4 determines to perform the DMA transfer using the channel 1. Step S120: The DMA control unit 1-1 transmits the allocated area 16 of the 128 kB data to be transferred.
Data corresponding to kB is transferred.
【0023】ステップS130: 16kBのデータを
転送し終わると、DMA監視部4は、バッファメモリ3
の割当てを見直す。ここで、チャネル1の転送速度は、
min(Vi1、Vo1)=300kB/secであ
り、他のチャネル2〜4の転送速度は、この300kB
/secの半分である150kB/secに設定され
る。これにより、チャネル1の転送速度、チャネル2の
転送速度、チャネル3の転送速度、チャネル4の転送速
度の比は、2:1:1:1となる。その結果、式(1)
に基づき、チャネル1の領域、チャネル2の領域、チャ
ネル3の領域、チャネル4の領域の比も、2:1:1:
1となる。従って、チャネル1に割り当てられる領域
は、25.6kBとなり、アドレスとしては、0000
hから6665hまでとなる。 ステップS140: DMA制御部1−1は、転送すべ
きデータのうち、割り当てられた領域25.6kBに相
当するデータを転送する。 ステップS150: 25.6kBのデータを転送し終
えると、DMA監視部4は、再び、バッファメモリ3の
割当てを見直す。以下、このような動作を繰り返す。Step S130: When the transfer of 16 kB of data is completed, the DMA monitor 4
Review assignments. Here, the transfer rate of channel 1 is
min (Vi1, Vo1) = 300 kB / sec, and the transfer speed of the other channels 2 to 4 is 300 kB / sec.
It is set to 150 kB / sec, which is half of / sec. As a result, the ratio of the transfer speed of the channel 1, the transfer speed of the channel 2, the transfer speed of the channel 3, and the transfer speed of the channel 4 becomes 2: 1: 1: 1. As a result, equation (1)
, The ratio of the area of the channel 1, the area of the channel 2, the area of the channel 3, and the area of the channel 4 is also 2: 1: 1:
It becomes 1. Therefore, the area allocated to channel 1 is 25.6 kB, and the address is 0000.
h to 6665h. Step S140: The DMA control unit 1-1 transfers data corresponding to the allocated area 25.6 kB among the data to be transferred. Step S150: When the transfer of the data of 25.6 kB is completed, the DMA monitoring unit 4 again reviews the allocation of the buffer memory 3. Hereinafter, such an operation is repeated.
【0024】〈動作の詳細2〉図4は、DMAコントロ
ーラの動作フローチャート(その3)である。以下、こ
の動作フローチャートに沿って動作を引き続き説明す
る。なお、当初、4つのチャネル全てが、未使用状態で
あり、ある時刻に、システムバス10側からI/Oバス
20側へ128kBのデータをDMA転送する第一の命
令がなされ、ほぼ同時刻に、I/Oバス20側からシス
テムバス10側へ128kB/secのデータをDMA
転送する第二の命令がなされたと仮定する。なお、上述
した場合と同じように、チャネル1のVi1は、300
kB/secであり、Vo1は、350kB/secで
あると仮定する。<Detailed Operation 2> FIG. 4 is a flowchart (part 3) of the operation of the DMA controller. Hereinafter, the operation will be continuously described along the operation flowchart. Initially, all four channels are in an unused state, and at a certain time, a first instruction for DMA-transferring 128 kB data from the system bus 10 to the I / O bus 20 is issued. , 128 kB / sec data from the I / O bus 20 to the system bus 10
Assume that a second command to transfer has been made. As in the case described above, Vi1 of channel 1 is 300
Assume that kB / sec and Vo1 is 350 kB / sec.
【0025】ステップS200: 4つのチャネルは未
使用状態であるので、各チャネルには、16kBの領域
が割り当てられる。従って、例えば、チャネル1に割り
当てられる領域のアドレスは、0000hから3FFF
hまでとなり、チャネル2に割り当てられるアドレス
は、4000hから7FFFhまでとなる。 ステップS210: 第一のDMA転送命令と第二のD
MA転送命令とを受けて、DMA監視部4は、チャネル
1を使って第一のDMA転送をすることを決定し、ま
た、チャネル2を使って第二のDMA転送をすることを
決定する。 ステップS220: 第一のDMA転送命令に基づき、
DMA制御部1−1は、転送すべき128kBのデータ
のうち、割り当てられた領域16kBに相当するデータ
を転送する。Step S200: Since four channels are not used, an area of 16 kB is allocated to each channel. Therefore, for example, the address of the area allocated to channel 1 is from 0000h to 3FFFF
h, and the addresses assigned to channel 2 are from 4000h to 7FFFh. Step S210: First DMA transfer instruction and second D
Upon receiving the MA transfer instruction, the DMA monitoring unit 4 determines to perform the first DMA transfer using the channel 1 and determines to perform the second DMA transfer using the channel 2. Step S220: Based on the first DMA transfer command,
The DMA control unit 1-1 transfers data corresponding to an allocated area of 16 kB among 128 kB of data to be transferred.
【0026】ステップS230: 16kBのデータを
転送し終えると、DMA監視部4は、バッファメモリ3
の割当てを見直す。この時点においては、チャネル3、
4のみならず、チャネル2も未使用状態である。従っ
て、チャネル1の転送速度、チャネル2の転送速度、チ
ャネル3の転送速度、チャネル4の転送速度の比は、
2:1:1:1となる。従って、各チャネルに割り当て
られる領域の比も、そのような比となり、結局、チャネ
ル1には、25.6kBの領域(0000h〜6665
h)が割り当てられ、チャネル2には、12.8kBの
領域(6666h〜9999h)が割り当てられること
となる。なお、次にバッファメモリ3の割当てを見直す
際に、依然としてチャネル2、3、4が未使用のままで
ある場合には、チャネル1の領域に重み付けをすること
にことにより、今回の領域の比2:1:1:1を例え
ば、3:1:1:1や4:1:1:1等へ変更すること
になる。このようにすることにより、使用中のチャネル
に対し、より多くの領域を割り当てるようにする。これ
により、バッファメモリをより効率良く使用することが
可能となる。Step S230: When the transfer of 16 kB of data is completed, the DMA monitor 4
Review assignments. At this point, channel 3,
Not only the channel 4 but also the channel 2 is unused. Therefore, the ratio of the transfer rate of channel 1, the transfer rate of channel 2, the transfer rate of channel 3, and the transfer rate of channel 4 is
2: 1: 1: 1. Therefore, the ratio of the area allocated to each channel is also such a ratio, and eventually the channel 1 has the area of 25.6 kB (0000h to 6665).
h) is allocated, and an area of 12.8 kB (6666h to 9999h) is allocated to channel 2. When the channels 2, 3, and 4 are still unused when the allocation of the buffer memory 3 is reviewed next, by weighting the area of the channel 1, the ratio of the current area is determined. 2: 1: 1: 1 will be changed to, for example, 3: 1: 1: 1 or 4: 1: 1: 1. By doing so, more areas are allocated to the channels in use. This makes it possible to use the buffer memory more efficiently.
【0027】ステップS240: 第二のDMA転送命
令に基づき、DMA制御部2−2は、転送すべき128
kBのデータのうち、割り当てられた領域12.8kB
に相当するデータを転送する。Step S240: On the basis of the second DMA transfer command, the DMA control unit 2-2 sets the 128
Of the kB data, the allocated area 12.8 kB
Is transferred.
【0028】ステップS250: 12.8kBのデー
タを転送し終えると、DMA監視部4は、バッファメモ
リ3の割当てを見直す。この時点では、min(Vi
1、Vo1)=300kB/secであり、また、mi
n(Vi2、Vo2)=300kB/secである。従
って、チャネル1の転送速度、チャネル2の転送速度、
チャネル3の転送速度、チャネル4の転送速度の比は、
2:2:1:1となる。その結果、チャネル1の領域、
チャネル2の領域、チャネル3の領域、チャネル4の領
域の比も2:2:1:1にすることが試算される。即
ち、チャネル1に対し、21.3kBの領域(0000
h〜5553h)を割り当てて、チャネル2に対して
も、21.3kBの領域(5553h〜AAA7h)を
割り当てることが試算される。しかし、チャネル1が、
新たにチャネル2に割り当てられるべき4.3kBの領
域(5554h〜6665h)を使用している最中であ
るため、その4.3kBの領域(5553h〜6665
h)をそのままの状態にしておき、その他の17.0k
Bの領域(6666h〜AAA7)をチャネル2に対し
割り当てることになる。Step S250: When the transfer of 12.8 kB of data is completed, the DMA monitoring unit 4 reviews the allocation of the buffer memory 3. At this point, min (Vi
1, Vo1) = 300 kB / sec, and mi
n (Vi2, Vo2) = 300 kB / sec. Therefore, the transfer rate of channel 1, the transfer rate of channel 2,
The ratio of the transfer rate of channel 3 to the transfer rate of channel 4 is
2: 2: 1: 1. As a result, the channel 1 region,
It is estimated that the ratio of the area of the channel 2, the area of the channel 3, and the area of the channel 4 is also 2: 2: 1: 1. That is, for channel 1, a 21.3 kB region (0000)
h to 5553h), and it is estimated that a 21.3 kB area (5553h to AAA7h) is also allocated to channel 2. However, channel 1
Since the 4.3 kB area (5554h to 6665h) to be newly allocated to channel 2 is being used, the 4.3 kB area (5553h to 6665) is being used.
h) as it is, and the other 17.0k
The area B (6666h to AAA7) is allocated to channel 2.
【0029】ステップS260: 次に、再びDMA制
御部1−1が、25.6kBに相当するデータをDMA
転送する。 ステップS270: 第一のDMA転送命令に基づく2
回めの転送が完了すると、DMA監視部4は、バッファ
メモリ3の割当てを見直す。この時点において、チャネ
ル1に対しては、21.3kBの領域(0000h〜5
553h)が改めて割り当てられることとなる。 ステップS280: さらに、再び、DMA制御部2−
2が、17.0kBに相当するデータをDMA転送す
る。 ステップS290: 第二のDMA転送命令に基づく2
回めの転送が終了すると、DMA監視部4は、バッファ
メモリ3の割当てを見直す。このとき、チャネル2に対
しては、21.3kBの領域(5554h〜AAA7
h)が改めて割り当てられることとなる。以下、同様の
動作を繰り返すことになる。Step S260: Next, the DMA controller 1-1 again transmits data corresponding to 25.6 kB to the DMA.
Forward. Step S270: 2 based on the first DMA transfer command
When the second transfer is completed, the DMA monitoring unit 4 reviews the allocation of the buffer memory 3. At this point, for channel 1, an area of 21.3 kB (0000h to 5
553h) will be assigned again. Step S280: Further, the DMA controller 2-
2 performs DMA transfer of data corresponding to 17.0 kB. Step S290: 2 based on the second DMA transfer command
When the second transfer is completed, the DMA monitoring unit 4 reviews the allocation of the buffer memory 3. At this time, for channel 2, a 21.3 kB area (5554 h to AAA7
h) will be assigned again. Hereinafter, the same operation is repeated.
【0030】〈具体例1の効果〉このように、各チャネ
ルの転送速度を比較し、転送速度が速いチャネルに対し
ては、バッファメモリにおける領域を多く割当てて、転
送速度が遅いチャネルに対しては、領域を少なく割り当
てる。これにより、データを転送するのに要する時間に
対する、転送制御に伴うオーバヘッドの占める割合を低
減することが可能となる。<Effect of Specific Example 1> As described above, the transfer speeds of the respective channels are compared, and for a channel with a higher transfer speed, a larger area in the buffer memory is allocated, and a channel with a lower transfer speed is assigned. Allocates less space. As a result, it is possible to reduce the ratio of the overhead required for the transfer control to the time required for transferring the data.
【0031】また、転送元からバッファメモリへの転送
速度と、バッファメモリから転送先への転送速度とを比
較し、遅い方の転送速度を元にして各チャネルに割り当
てられる領域同士の割合を決定する。それにより、各チ
ャネル毎に実質的な転送速度を把握することができる。
この結果、有限な大きさであるバッファメモリをより無
駄なく割り振ることが可能となる。Further, the transfer speed from the transfer source to the buffer memory is compared with the transfer speed from the buffer memory to the transfer destination, and the ratio of the areas allocated to each channel is determined based on the lower transfer speed. I do. This makes it possible to grasp the substantial transfer speed for each channel.
As a result, a buffer memory having a finite size can be allocated more efficiently.
【0032】なお、転送速度が遅いチャネルでは、少量
の領域しか割り当てられないため、その領域に一時的に
蓄積されるデータ量が少なくなる。その結果として、デ
ータ転送に伴う遅延時間を抑えることができるので、全
体としての転送時間も短縮することが可能となる。Since a small area is allocated to a channel having a low transfer rate, the amount of data temporarily stored in that area is reduced. As a result, the delay time associated with the data transfer can be reduced, so that the transfer time as a whole can be reduced.
【0033】上述した具体例1の変形として、バッファ
メモリの代わりに、転送元から転送先へ転送されるべき
データを一時的に蓄積する蓄積手段を用い、また、ダイ
レクトメモリアクセス監視部の代わりに、転送元から転
送先までの間におけるデータの転送速度を検出する検出
手段と、その検出されたデータの転送速度が速ければ速
いほど、蓄積手段をより多く使用することを各チャネル
に対し許可する制御手段とを用いることにより、各チャ
ネルにおいて転送元から蓄積手段までのデータの転送速
度と蓄積手段から転送先までのデータの転送速度とが同
一である場合に、具体例1よりも簡易な方法で同様な効
果を得ることができる。さらには、ダイレクトメモリア
クセス監視部の代わりに、各チャネル毎に、転送元から
蓄積手段へデータを転送する際におけるデータ転送速度
と、蓄積手段から転送先までデータを転送する際におけ
るデータの転送速度とのうち遅い方のデータ転送速度
を、そのチャネルのデータ転送速度として選択する選択
手段を用いることにより、具体例1よりも簡易な構成で
同様な効果を得ることが可能となる。As a modification of the first embodiment, a storage means for temporarily storing data to be transferred from a transfer source to a transfer destination is used in place of the buffer memory, and instead of the direct memory access monitoring unit. Detecting means for detecting the transfer rate of data from a transfer source to a transfer destination, and permitting each channel to use more storage means as the transfer rate of the detected data is higher. By using the control means, when the transfer speed of data from the transfer source to the storage means in each channel is the same as the transfer speed of data from the storage means to the transfer destination, a simpler method than in the first embodiment. Can obtain the same effect. Furthermore, instead of the direct memory access monitoring unit, for each channel, the data transfer speed when transferring data from the transfer source to the storage unit and the data transfer speed when transferring data from the storage unit to the transfer destination By using the selection means for selecting the slower data transfer rate as the data transfer rate of the channel, the same effect can be obtained with a simpler configuration than in the first embodiment.
【0034】〈具体例2の構成〉次に、具体例2のDM
Aコントローラについて説明する。具体例2のDMAコ
ントローラの構成は、具体例1のDMAコントローラの
構成と概ね同一であり、その動作も、具体例1の動作と
概ね同一である。主な相違点は、具体例1におけるバッ
ファメモリを単にチャネルの数で分割することにより、
各チャネルに対し領域を割り当てるだけでなく、さら
に、各チャネル毎に割り当てられる領域を2つの領域部
分へ分割することである。従って、各チャネルに割り当
てられる領域は、2つの領域部分A、Bとから構成され
ることになる。<Structure of Embodiment 2> Next, the DM of Embodiment 2
The A controller will be described. The configuration of the DMA controller of the second embodiment is substantially the same as the configuration of the DMA controller of the first embodiment, and the operation thereof is also substantially the same as that of the first embodiment. The main difference is that the buffer memory in the first embodiment is simply divided by the number of channels.
In addition to allocating a region to each channel, the purpose is to further divide the region allocated to each channel into two region portions. Therefore, the area allocated to each channel is composed of two area parts A and B.
【0035】図5は、具体例2の動作フローチャートで
ある。以下、この動作フローチャートに沿って説明す
る。なお、記憶部100に格納されているデータを入出
力装置200へ転送することを想定する。FIG. 5 is an operation flowchart of the second embodiment. Hereinafter, description will be given along this operation flowchart. It is assumed that data stored in the storage unit 100 is transferred to the input / output device 200.
【0036】ステップS400: 中央処理部110
は、DMA監視部4に対し、DMA転送を命令する。 ステップS410: DMA監視部4は、そのDMA転
送命令に従い、DMA制御部1−1、2−1に対し、D
MA転送に必要な情報を通知する。 ステップS420: その指示に基づき、DMA制御部
1−1は、記憶部100に格納されている第一のデータ
をチャネル1に割り当てられた領域q1の領域部分Aへ
転送する。Step S400: Central processing unit 110
Commands the DMA monitoring unit 4 to perform a DMA transfer. Step S410: The DMA monitoring unit 4 sends a D signal to the DMA control units 1-1 and 2-1 according to the DMA transfer command.
Notify information necessary for MA transfer. Step S420: Based on the instruction, the DMA control unit 1-1 transfers the first data stored in the storage unit 100 to the area portion A of the area q1 allocated to the channel 1.
【0037】ステップS430: 領域部分Aへの転送
が終了すると、今度は、DMA制御部2−1が、その領
域部分Aに蓄積されている第一のデータを入出力装置2
00へ転送する。と同時に、DMA制御部1−1は、記
憶部100に格納されている後続の第二のデータを領域
部分Bへ転送する。 ステップS440: 領域部分Bへの転送が完了する
と、次には、DMA制御部2ー1が、その領域部分Bに
蓄積されている第二のデータを入出力装置200へ転送
する。と同時に、DMA制御部1−1は、記憶部100
に格納されている、さらに後続の第三のデータを領域部
分Aへ転送する。Step S430: When the transfer to the area A is completed, the DMA control unit 2-1 sends the first data stored in the area A to the input / output device 2
Transfer to 00. At the same time, the DMA control unit 1-1 transfers the subsequent second data stored in the storage unit 100 to the area part B. Step S440: When the transfer to the area portion B is completed, next, the DMA controller 2-1 transfers the second data stored in the area portion B to the input / output device 200. At the same time, the DMA controller 1-1
Is transferred to the area part A.
【0038】以下、このような動作を繰り返す。但し、
一方の領域部分に蓄積されているデータを転送している
最中であるにも拘わらず、その同じ領域部分に異なるデ
ータを上書きしてしまうことを回避する必要がある。そ
こで、例えば、領域部分Aに蓄積されているデータの転
送を完了したこと、及び、領域部分Bへのデータの転送
を完了したことを確認した後に、領域部分Aへのデータ
の転送を開始すると共に、領域部分Bからのデータの転
送を開始する必要がある。なお、バッファメモリの割当
ては、各面の転送先への転送が終了する毎に見直され
る。Hereinafter, such an operation is repeated. However,
It is necessary to avoid overwriting different data in the same area while the data stored in one area is being transferred. Therefore, for example, after confirming that the transfer of the data accumulated in the area portion A and the transfer of the data to the area portion B have been completed, the transfer of the data to the area portion A is started. At the same time, it is necessary to start transferring data from the area B. The allocation of the buffer memory is reviewed each time the transfer of each surface to the transfer destination is completed.
【0039】〈具体例2の効果〉このように、具体例2
のDMAコントローラでは、具体例1のDMAコントロ
ーラと同様な機能を有するだけでなく、各領域毎に2つ
の領域部分A、Bを有するために、それらの領域部分を
システムバス側とI/Oバス側とで交互に使用すること
ができる。これにより、一方のバスにおける転送が完全
に終了した後に、他方のバスにおける転送を開始すると
いうことを要さない。即ち、一方のバス側での転送と同
時に、他方のバス側での転送を実行することが可能とな
る。これにより、全体として転送時間を短縮することが
できる。<Effect of Embodiment 2> As described above, Embodiment 2
DMA controller not only has the same function as the DMA controller of the first embodiment, but also has two area parts A and B for each area, so that these area parts are connected to the system bus side and the I / O bus. Can be used alternately with the side. This eliminates the need to start the transfer on the other bus after the transfer on one bus is completely completed. That is, it is possible to execute the transfer on the other bus at the same time as the transfer on the one bus. Thereby, the transfer time can be reduced as a whole.
【0040】なお、上述した2つの具体例では、システ
ムバスとI/Oバスとの間でのDMAコントローラにつ
いて説明しているが、システムバスとシステムバスとの
間、あるいは、I/OバスとI/Oバスとの間において
も同様な機能を実現することが可能である。In the above two specific examples, the DMA controller between the system bus and the I / O bus has been described. However, the DMA controller between the system bus and the system bus, or between the system bus and the I / O bus. A similar function can be realized with the I / O bus.
【図1】具体例1のブロック図ある。FIG. 1 is a block diagram of a specific example 1.
【図2】具体例1の動作フローチャート(その1)であ
る。FIG. 2 is an operation flowchart (part 1) of a specific example 1;
【図3】具体例1の動作フローチャート(その2)であ
る。FIG. 3 is an operation flowchart (part 2) of the first embodiment;
【図4】具体例1の動作フローチャート(その3)であ
る。FIG. 4 is an operation flowchart (part 3) of the first embodiment;
【図5】具体例2の動作フローチャートである。FIG. 5 is an operation flowchart of a specific example 2.
【図6】従来のDMAコントローラのブロック図(その
1)である。FIG. 6 is a block diagram (part 1) of a conventional DMA controller.
【図7】従来のDMAコントローラのブロック図(その
2)である。FIG. 7 is a block diagram (part 2) of a conventional DMA controller.
1−1〜n 第一のDMA制御部 2−1〜n 第二のDMA制御部 3 バッファメモリ 4 DMA監視部 1-1 to n First DMA control unit 2-1 to n Second DMA control unit 3 Buffer memory 4 DMA monitoring unit
Claims (7)
るバッファメモリと、 転送元からバッファメモリへデータを転送する第一のダ
イレクトメモリアクセス制御部と、 バッファメモリから転送先へデータを転送する第二のダ
イレクトメモリアクセス制御部と、 バッファメモリを分割し、その分割された領域を各チャ
ネルに割り当てるダイレクトメモリアクセス監視部とか
らなり、 転送元からバッファメモリを介して転送先までの間に、
第一のダイレクトメモリアクセス制御部と第二のダイレ
クトメモリアクセス制御部とから構成されるチャネルを
複数形成し、 ダイレクトメモリアクセス監視部が、各チャネル毎に、
転送元からバッファメモリまでの第一のデータ転送速度
と、バッファメモリから転送先までの第二のデータ転送
速度とのうち、遅い方のデータ転送速度を選択し、その
選択されたデータ転送速度に応じて領域を割り当てるこ
とを特徴とするDMAコントローラ。1. A buffer memory for temporarily storing data to be transferred, a first direct memory access controller for transferring data from a transfer source to a buffer memory, and a transfer of data from the buffer memory to a transfer destination. A second direct memory access control unit, and a direct memory access monitoring unit that divides the buffer memory and allocates the divided area to each channel. From the source to the destination via the buffer memory,
Forming a plurality of channels each including a first direct memory access control unit and a second direct memory access control unit, and a direct memory access monitoring unit for each channel,
From the first data transfer speed from the transfer source to the buffer memory and the second data transfer speed from the buffer memory to the transfer destination, select the slower data transfer speed and set the selected data transfer speed to A DMA controller for allocating an area in accordance with the DMA.
てられた領域に相当する量のデータの転送を完了する毎
に、ダイレクトメモリアクセス監視部が、改めてバッフ
ァメモリを割り当てることを特徴とする請求項1記載の
DMAコントローラ。2. The direct memory access monitoring unit newly allocates a buffer memory each time a channel completes transfer of an amount of data corresponding to an area allocated to the channel. A DMA controller as described.
めてバッファメモリを割り当てる際に、前回のバッファ
メモリ割当て時に未使用であったチャネルが、引き続き
未使用状態である場合には、その未使用状態のチャネル
に割り当てる領域を少なくすることを特徴とする請求項
2記載のDMAコントローラ。3. When the direct memory access monitoring unit allocates a buffer memory again, if a channel that has been unused at the time of previous buffer memory allocation is still in an unused state, the channel in the unused state is used. 3. The DMA controller according to claim 2, wherein an area allocated to the DMA controller is reduced.
めてバッファメモリを割り当てる場合に、第一のチャネ
ルに既に割り当てられている領域の一部を第二のチャネ
ルに割り当てるとき、第一のチャネルがその領域を使用
しているときには、次回に改めてバッファメモリを割り
当てる時までそのままの状態を維持することを特徴とす
る請求項2記載のDMAコントローラ。4. The direct memory access monitor, when allocating a part of a region already allocated to a first channel to a second channel when allocating a buffer memory again, when the first channel is allocated to that region. 3. The DMA controller according to claim 2, wherein when using the DMA controller, the state is maintained until a buffer memory is newly allocated next time.
ァメモリにおける領域が、複数の領域部分から構成され
ており、 前記複数の領域部分のうち一の領域部分から転送先へあ
るデータを転送することと、転送元から前記複数の領域
部分のうち前記一の領域部分以外の他の領域部分へ他の
データを転送することを特徴とする請求項1記載のDM
Aコントローラ。5. An area in a buffer memory allocated to each channel is composed of a plurality of area parts, and transferring data from one of the plurality of area parts to a transfer destination. 2. The DM according to claim 1, wherein another data is transferred from a transfer source to an area other than the one area among the plurality of areas.
A controller.
して転送されるべきデータを一時的に蓄積する蓄積手段
と、 各チャネル毎に、転送元から転送先までの間におけるデ
ータの転送速度を検出する検出手段と、 各チャネルに対し、蓄積手段の使用を許可する制御手段
とからなり、 制御手段が、検出されたデータの転送速度がより速いチ
ャネルに対し、蓄積手段をより多く使用することを許可
することを特徴とするDMAコントローラ。6. A storage means for temporarily storing data to be transferred from a transfer source to a transfer destination via a plurality of channels, and a transfer rate of data between the transfer source and the transfer destination for each channel. And a control means for permitting the use of the storage means for each channel. The control means uses more storage means for the channel having a higher transfer rate of the detected data. DMA controller for permitting the operation of the DMA controller.
する転送元と転送先との間で前記データを一時的に蓄積
する蓄積手段と、 各チャネル毎に、転送元から前記蓄積手段へデータを転
送する間におけるデータ転送速度と、前記蓄積手段から
転送先までデータを転送する間におけるデータ転送速度
とのうち遅い方のデータ転送速度を、そのチャネルのデ
ータ転送速度として選択する選択手段と、 各チャネルに対し、そのチャネルのデータ転送速度に基
づき前記蓄積手段の使用量を決定する制御手段とからな
り、 前記制御手段が、選択されたデータ転送速度がより速い
チャネルに対し、前記蓄積手段をより多く使用すること
を許可することを特徴とするDMAコントローラ。7. A storage means for temporarily storing data between a transfer source and a transfer destination for inputting / outputting data via a plurality of channels, and data from the transfer source to the storage means for each channel. Selecting means for selecting a lower data transfer rate of the data transfer rate during the transfer of the data and the data transfer rate during the transfer of data from the storage means to the transfer destination as the data transfer rate of the channel; Control means for determining, for each channel, the amount of use of the storage means based on the data transfer rate of the channel, wherein the control means controls the storage means for a channel having a higher selected data transfer rate. A DMA controller characterized by allowing more use.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23247696A JPH1063607A (en) | 1996-08-14 | 1996-08-14 | Dma controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23247696A JPH1063607A (en) | 1996-08-14 | 1996-08-14 | Dma controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1063607A true JPH1063607A (en) | 1998-03-06 |
Family
ID=16939906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23247696A Pending JPH1063607A (en) | 1996-08-14 | 1996-08-14 | Dma controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1063607A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002008919A1 (en) * | 2000-07-26 | 2002-01-31 | Fujitsu Limited | Mobile communication device |
WO2004077304A1 (en) * | 2003-02-27 | 2004-09-10 | Fujitsu Limited | Data transfer unit |
KR100704218B1 (en) * | 2005-03-16 | 2007-04-09 | 후지쯔 가부시끼가이샤 | Data transfer unit |
JP2013515978A (en) * | 2010-06-07 | 2013-05-09 | 株式会社日立製作所 | Data transfer apparatus and data transfer method |
-
1996
- 1996-08-14 JP JP23247696A patent/JPH1063607A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002008919A1 (en) * | 2000-07-26 | 2002-01-31 | Fujitsu Limited | Mobile communication device |
JP3863489B2 (en) * | 2000-07-26 | 2006-12-27 | 富士通株式会社 | Mobile communication device |
WO2004077304A1 (en) * | 2003-02-27 | 2004-09-10 | Fujitsu Limited | Data transfer unit |
KR100704218B1 (en) * | 2005-03-16 | 2007-04-09 | 후지쯔 가부시끼가이샤 | Data transfer unit |
JP2013515978A (en) * | 2010-06-07 | 2013-05-09 | 株式会社日立製作所 | Data transfer apparatus and data transfer method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7484024B2 (en) | Apparatus and method for interrupt source signal allocation | |
US6317427B1 (en) | Method and apparatus for adaptive port buffering | |
JP2561760B2 (en) | Process in information processing system and information processing network | |
US6021464A (en) | Real time disk array which guarantees write deadlines by selecting an alternate disk | |
US4099233A (en) | Electronic data-processing system with data transfer between independently operating miniprocessors | |
JPH02247768A (en) | Dispersed processing system | |
JPH06236344A (en) | Method and apparatus for arbitration between plurality of data transfer requests | |
US5958031A (en) | Data transmitting/receiving device of a multiprocessor system and method therefor | |
US5640597A (en) | Method and apparatus for servicing simultaneously a plurality of requests for data streams | |
JPH1063607A (en) | Dma controller | |
US7380027B2 (en) | DMA controller and DMA transfer method | |
JP2003271545A (en) | Data processing system | |
US6339807B1 (en) | Multiprocessor system and the bus arbitrating method of the same | |
JPH04288638A (en) | Computer system | |
JPH01147618A (en) | Analog/digital converter | |
JPH08194602A (en) | Buffer length varying type access controller | |
JP2550868B2 (en) | Communication control LSI | |
JPH0512125A (en) | Address conversion system | |
JPH04302036A (en) | Distributed loading system | |
JP3698483B2 (en) | Serial I / O | |
JP2881234B2 (en) | Loosely coupled multiprocessor system | |
JPH1049479A (en) | Master device | |
JPH05290004A (en) | Distributed processing controller | |
JPH04284550A (en) | Shared memory control system | |
JP2021092904A (en) | CPU resource management device |