JPH05204833A - Direct memory access transfer controller - Google Patents
Direct memory access transfer controllerInfo
- Publication number
- JPH05204833A JPH05204833A JP1337092A JP1337092A JPH05204833A JP H05204833 A JPH05204833 A JP H05204833A JP 1337092 A JP1337092 A JP 1337092A JP 1337092 A JP1337092 A JP 1337092A JP H05204833 A JPH05204833 A JP H05204833A
- Authority
- JP
- Japan
- Prior art keywords
- direct memory
- memory access
- signal
- dma
- channel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Bus Control (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、ダイレクトメモリアク
セス(以下、DMAという)方式によってメモリと周辺
装置との間でデータを高速転送するDMA転送制御装置
に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a DMA transfer control device for transferring data at high speed between a memory and a peripheral device by a direct memory access (hereinafter referred to as DMA) system.
【0002】[0002]
【従来の技術】DMA方式は広く採用されている高速度
のデータ転送方式の一つであり、DMA方式によりデー
タ転送するための制御装置は情報処理装置に不可欠なも
のとなっている。2. Description of the Related Art The DMA system is one of the widely used high speed data transfer systems, and a control device for transferring data by the DMA system is indispensable to an information processing device.
【0003】図6は、従来のDMA転送制御装置を含む
情報処理装置の一例を示すブロック構成図である。DM
A転送制御装置300は周辺装置401〜404からの
DMA要求信号DRQ1〜DRQ4を受信してから動作
を開始し、DMA転送の実行サイクルにDMA応答信号
DAK1〜DAK4を対応する周辺装置401〜404
に送信する。DMA転送には、メモリ200内の指定さ
れたアドレスのデータを読み出して周辺装置401〜4
04へ転送する場合と、周辺装置401〜404からの
データをメモリ200内の指定されたアドレスへ転送し
て書き込む場合などがあり、いずれの場合も一連のデー
タ転送を終了すると周辺装置401〜404に対してD
MA終了信号DEND1〜DEND4を送信する。DM
A転送制御装置300はDMA要求信号DRQ1〜DR
Q4を受け付けると、転送制御部301から中央処理装
置100(以下、CPUという)のバス制御回路101
にバスの使用要求信号BRQを発信する。バス制御回路
101は演算処理回路102やリフレッシュ制御装置5
00などからのバスの使用要求を調停し、DMA転送要
求より優先順位の高い要求がない場合にはバスの使用許
可信号BAKを返信し、DMA転送制御装置300にア
ドレスバス600およびデータ入出力バス700の使用
を許可する。バスの使用権が得られると、DMA転送制
御装置300の転送制御部301はアドレスバス600
およびデータ入出力バス700を介してデータ転送を連
続して実行する。FIG. 6 is a block diagram showing an example of an information processing device including a conventional DMA transfer control device. DM
The A transfer control device 300 starts operation after receiving the DMA request signals DRQ1 to DRQ4 from the peripheral devices 401 to 404, and the peripheral devices 401 to 404 corresponding to the DMA response signals DAK1 to DAK4 in the execution cycle of the DMA transfer.
Send to. For the DMA transfer, the data of the specified address in the memory 200 is read and the peripheral devices 401 to 4 are read.
04, there is a case where the data from the peripheral devices 401 to 404 are transferred to a specified address in the memory 200 and written, and in either case, when the series of data transfer is completed, the peripheral devices 401 to 404 are completed. Against D
The MA end signals DEND1 to DEND4 are transmitted. DM
The A transfer control device 300 uses the DMA request signals DRQ1 to DRQ.
When Q4 is accepted, the bus control circuit 101 of the central processing unit 100 (hereinafter referred to as CPU) is transferred from the transfer control unit 301.
The bus use request signal BRQ is transmitted to the. The bus control circuit 101 includes the arithmetic processing circuit 102 and the refresh control device 5.
00 or the like to arbitrate the bus use request, and when there is no request having a higher priority than the DMA transfer request, the bus use permission signal BAK is returned, and the address bus 600 and the data input / output bus are sent to the DMA transfer control device 300. Allow the use of 700. When the bus use right is obtained, the transfer control unit 301 of the DMA transfer control device 300 determines that the address bus 600
And data transfer is continuously executed via the data input / output bus 700.
【0004】ここで、DMA転送制御装置300は複数
の転送経路(以下、チャネルという)を備えており、要
求元に応じたチャネルを選択して実行する。各チャネル
にはそれぞれDMA転送実行の優先順位が付けられてい
る。複数のDMA転送要求が同時期に発生した場合には
優先順位制御部302で優先順位を判定し、まず優先順
位の最も高いチャネルからDMA転送が行われる。この
優先順位の制御方法には、従来、優先順位をチャネルご
とに固定する方法と、直前にDMA転送を実行し終了し
たチャネルが次には最低の優先順位になるよう順位を回
転する方法とがある。しかし、いずれの方法にしても優
先順位の高いチャネルのDMA転送がいったん開始する
と、一連のDMA転送が終結するまで優先順位の低いチ
ャネルは全く実行されずに待たされていた。Here, the DMA transfer control device 300 is provided with a plurality of transfer paths (hereinafter referred to as channels), and selects and executes a channel according to a request source. Each channel is assigned a priority for DMA transfer execution. When a plurality of DMA transfer requests occur at the same time, the priority control unit 302 determines the priority order, and the DMA transfer is first performed from the channel having the highest priority order. Conventionally, this priority control method includes a method of fixing the priority for each channel and a method of rotating the priority so that the channel that has just completed the DMA transfer and ended is the next lowest priority. is there. However, in either method, once the DMA transfer of the high-priority channel is started, the low-priority channel is not executed at all and waits until a series of DMA transfers is completed.
【0005】[0005]
【発明が解決しようとする課題】このように、従来例で
は、DMA転送の各チャネルの選択はハードウェア固定
の優先順位に従って行われ、DMA転送の途中で順位を
変更することはできず、また、優先順位の高いチャネル
のDMA転送がいったん開始されると優先順位の低いチ
ャネルのDMA転送は長期間実行されない構成となって
いる。このために、チャネル間の優先順位を決定すると
きには、各チャネルに対するDMA要求の発生時期を十
分調整した上で行うか、または、優先順位の低いチャネ
ルが長時間待たされることのないよう途中で優先順位を
変更するなどの処置をCPUで行わなければならない欠
点があった。また、優先順位の低いDMA転送が一定時
間以上待たされている場合などに優先順位の高いチャネ
ルのDMA転送を一時中断するために時間計測タイマな
どの特別なハードウェアを必要とする欠点があった。As described above, in the conventional example, the selection of each channel of the DMA transfer is performed according to the fixed priority order of the hardware, and the order cannot be changed during the DMA transfer. Once the DMA transfer of the high priority channel is started, the DMA transfer of the low priority channel is not executed for a long time. For this reason, when determining the priority order between channels, the DMA request generation timing for each channel should be adjusted sufficiently, or priority should be given to a channel with a low priority order not to wait for a long time. There is a drawback in that the CPU must take measures such as changing the order. Further, there is a drawback that special hardware such as a time measurement timer is required to temporarily suspend the DMA transfer of the high priority channel when the low priority DMA transfer is waited for a certain time or more. ..
【0006】本発明は、アクセス裁定される複数のチャ
ネルを数組のグループに分け、各グループ間でDMA転
送実行の優先順位を設け、同一グループ内では特定のチ
ャネルのみにDMA転送が独占されることなく均一にD
MA転送することができ、グループ間では所定の優先順
位が存在して緊急にDMA転送を実行すべきものとそう
でないものとに使い分けることができ、かつCPUにお
ける処理負担を大幅に軽減でき、また用途に応じて最適
設計が可能なDMA転送制御装置を提供することを目的
とする。According to the present invention, a plurality of channels to be arbitrated for access are divided into several groups, and a priority order for executing the DMA transfer is set between the groups, so that the DMA transfer is exclusively used for a specific channel in the same group. Without D
MA transfer can be performed, and there is a predetermined priority between groups, and it is possible to selectively use the DMA transfer that should be executed urgently and the one that is not, and the processing load on the CPU can be significantly reduced. It is an object of the present invention to provide a DMA transfer control device that can be optimally designed according to the above.
【0007】[0007]
【課題を解決するための手段】本発明は、周辺装置から
のDMA要求信号を入力するDMA要求制御回路と、こ
の周辺装置にDMA応答信号およびDMA終了信号を出
力する応答制御回路とを備えたDMA転送制御装置にお
いて、複数のチャネルを有し、このチャネルに対しての
DMA要求信号に応じてバス使用要求信号を発行し、メ
モリおよび上記周辺装置が接続されたバスの使用許可信
号を受信するとDMA要求があるチャネルのDMA実行
許可信号を所定の期間ずつ順次循環してアクティブレベ
ルにする第一のアクセス裁定回路と、上記チャネルと異
なる複数のチャネルを有し、このチャネルに対してのD
MA要求信号に応じてバス使用要求信号を発行し、バス
の使用許可信号を受信しかつ上記第一のアクセス裁定回
路によるDMA実行が許可されていない期間に、DMA
要求があるチャネルのDMA実行許可信号を所定の期間
ずつ順次循環してアクティブレベルにする第二のアクセ
ス裁定回路と、上記チャネルのそれぞれに対応して設け
られた複数のアドレスレジスタを備え、このアドレスレ
ジスタのそれぞれにはDMA転送される記憶領域の開始
アドレスがあらかじめ格納され、対応するDMA実行許
可信号がアクティブレベルになるとDMAアドレスを出
力した後にこのDMAアドレスを更新して格納するアド
レス生成回路と、上記チャネルのそれぞれに対応して設
けられた複数の転送回数レジスタを備え、この転送回数
レジスタのそれぞれにはDMA転送する転送回数があら
かじめ格納され、対応するDMA実行許可信号がアクテ
ィブレベルになると格納されている転送回数を更新し、
この転送回数が所定値になったときにDMA終了検出信
号を出力する転送回数制御回路とを備え、上記応答制御
回路は、対応するDMA実行許可信号がアクティブレベ
ルのときに対応するチャネルのDMA応答信号をアクテ
ィブレベルにして出力し、DMA終了検出信号を受信す
るとDMA終了信号を出力する手段を含むことを特徴と
する。The present invention comprises a DMA request control circuit for inputting a DMA request signal from a peripheral device, and a response control circuit for outputting a DMA response signal and a DMA end signal to this peripheral device. When the DMA transfer control device has a plurality of channels, issues a bus use request signal in response to a DMA request signal for this channel, and receives a use permission signal of a bus to which the memory and the peripheral device are connected. A first access arbitration circuit that sequentially circulates a DMA execution permission signal of a channel having a DMA request for a predetermined period to set it to an active level, and a plurality of channels different from the above-mentioned channels are provided.
The DMA is issued during the period when the bus use request signal is issued in response to the MA request signal, the bus use permission signal is received, and the DMA execution by the first access arbitration circuit is not permitted.
A second access arbitration circuit that sequentially circulates a DMA execution permission signal of a requested channel for a predetermined period to set it to an active level, and a plurality of address registers provided corresponding to each of the above channels are provided. A start address of a storage area to be DMA-transferred is stored in each of the registers in advance, and when the corresponding DMA execution permission signal becomes an active level, the DMA address is output and then the DMA address is updated and stored. A plurality of transfer count registers provided for each of the above channels are provided, and the transfer count for DMA transfer is stored in advance in each of the transfer count registers, and is stored when the corresponding DMA execution permission signal becomes active level. Update the number of transfers,
And a transfer number control circuit that outputs a DMA end detection signal when the transfer number reaches a predetermined value, and the response control circuit has a DMA response of a corresponding channel when a corresponding DMA execution permission signal is at an active level. It is characterized by including means for outputting the signal to an active level and outputting the DMA end signal when the DMA end detection signal is received.
【0008】[0008]
【作用】第一のアクセス裁定回路は、複数のチャネルに
対してダイレクトメモリアクセス転送要求があるとき
に、これら各チャネルに対し順次循環してアクティブレ
ベルとなるダイレクトメモリアクセス実行許可信号を生
成し、第二のアクセス裁定回路は、第一のアクセス裁定
回路によるダイレクトメモリアクセス実行が許可されて
いない期間のみダイレクトメモリアクセス要求があるチ
ャネルのダイレクトメモリアクセス実行許可信号を順次
循環してアクティブレベルにして出力する。When a direct memory access transfer request is made to a plurality of channels, the first access arbitration circuit generates a direct memory access execution permission signal which sequentially circulates to these channels and becomes an active level, The second access arbitration circuit sequentially circulates the direct memory access execution permission signal of the channel for which the direct memory access request is issued only during the period when the first access arbitration circuit is not permitted to execute, and outputs the signal to the active level. To do.
【0009】[0009]
【実施例】以下、本発明の一実施例について図面を用い
て説明する。図1はこの実施例を示すブロック構成図で
ある。この実施例は、図1に示すように、周辺装置から
のDMA要求信号DRQ1〜DRQ4を入力してDMA
要求を制御するDMA要求制御回路10と、DMA応答
を制御して周辺装置にDMA応答信号DAK1〜DAK
4およびDMA終了信号DEND1〜DEND4を出力
するDMA応答制御回路60と、チャネル1とチャネル
2とに対するDMA要求に応じてDMA実行サイクルの
アクセス裁定を行うアクセス裁定回路21と、チャネル
3とチャネル4とに対するDMA要求に応じてDMA実
行サイクルのアクセス裁定を行うアクセス裁定回路22
と、内部タイミングを生成してDMA転送の動作制御を
行うタイミング制御回路30と、各チャネルごとにDM
A転送の対象となるメモリのアドレス(以下、DMAア
ドレスという)を格納するアドレスレジスタ41〜44
および1回の転送ごとに実行中のチャネルのアドレスレ
ジスタの内容を更新する加減算回路45を含み、DMA
アドレスを生成し更新するアドレス生成回路40と、各
チャネルごとの転送回数を格納する転送回数レジスタ5
1〜54および1回の転送ごとに実行中のチャネルの転
送回数レジスタの内容を減少する減算回路55を含み、
DMA転送回数を制御する転送回数制御回路50と、D
MAアドレスを供給するDMAアドレスライン70とを
備える。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing this embodiment. In this embodiment, as shown in FIG. 1, the DMA request signals DRQ1 to DRQ4 from the peripheral devices are input to perform DMA.
A DMA request control circuit 10 for controlling a request and a DMA response signal DAK1 to DAK for controlling a DMA response to a peripheral device.
4 and DMA end signals DEND1 to DEND4, a DMA response control circuit 60, an access arbitration circuit 21 that arbitrates access to a DMA execution cycle in response to a DMA request for channels 1 and 2, and a channel 3 and a channel 4. Access arbitration circuit 22 for performing access arbitration for a DMA execution cycle in response to a DMA request for
A timing control circuit 30 for generating internal timing to control the operation of DMA transfer, and DM for each channel.
Address registers 41 to 44 for storing the addresses of the memories to be A-transferred (hereinafter referred to as DMA addresses)
And the addition / subtraction circuit 45 for updating the contents of the address register of the channel being executed for each transfer.
An address generation circuit 40 that generates and updates addresses, and a transfer count register 5 that stores the transfer count for each channel
1 to 54 and a subtraction circuit 55 that reduces the contents of the transfer count register of the channel being executed for each transfer,
A transfer number control circuit 50 for controlling the number of DMA transfers, and
A DMA address line 70 for supplying the MA address.
【0010】アドレスレジスタ41〜44および転送回
数レジスタ51〜54は、CPUのアドレスバス(不図
示)およびデータ入出力バス(不図示)を介してCPU
(不図示)に接続されており、CPUはDMA転送の実
行に先だちこれらのラインを介してDMA転送の対象と
なるメモリの開始アドレスをアドレスレジスタ41〜4
4に、転送回数を転送回数レジスタ51〜54にそれぞ
れ各チャネルごとに設定する。DMA要求制御回路10
は、複数の周辺装置からのDMA要求信号DRQ1〜D
RQ4を監視しており、有効なDMA転送要求を受け付
けると、対応するチャネルのDMA要求フラグ信号DR
QF1〜DRQF4をアクティブレベルにして出力し、
アクセス裁定回路21およびアクセス裁定回路22にD
MA要求の発生を知らせる。また、DMA終了検出信号
DENDを受信すると、DMA実行許可信号AK1〜A
K4がアクティブレベルのチャネルのDMA要求フラグ
信号DRQF1〜DRQF4を非アクティブレベルにし
て出力する。アクセス裁定回路21は、DMA要求フラ
グ信号DRQF1〜DRQF2にアクティブレベルのも
のがあるとバス使用要求信号BRQaを出力する。バス
使用許可信号BAKが受信されるとDMA要求フラグ信
号DRQF1〜DRQF2がアクティブレベルのチャネ
ルのDMA実行許可信号AK1〜AK2を1サイクルず
つ順次アクティブレベルにして出力し、DMA転送サイ
クルを発生する。アクセス裁定回路22は、DMA要求
フラグ信号DRQF3〜DRQF4にアクティブレベル
のものがあるとバス使用要求信号BRQbを出力する。
チャネル1とチャネル2とに対するDMA要求がない場
合すなわちアクセス裁定回路21からの要求受付け禁止
信号RQMKaが非アクティブレベルのときに、バス使
用許可信号BAKが受信されるとDMA要求フラグ信号
DRQF3〜DRQF4がアクティブレベルのチャネル
のDMA実行許可信号AK3〜AK4を1サイクルずつ
順次アクティブレベルにして出力し、DMA転送サイク
ルを発生する。タイミング制御回路30は、アクセス裁
定回路21およびアクセス裁定回路22にクロック信号
CKaおよびCKbとおよびバスサイクル基準信号BC
Kとを供給すると共に、CPUとの間のバス使用要求信
号BRQおよびバス使用許可信号BAKの伝達制御を行
う。アドレス生成回路40は、各チャネルとそれぞれ対
応して設けられたアドレスレジスタ41〜44と加減算
回路45とを備え、アドレスレジスタ41〜44にDM
A転送領域の開始アドレスをそれぞれ格納しておき、対
応するDMA実行許可信号AK1〜AK4がアクティブ
レベルになるとDMAアドレス信号AD1〜AD4をD
MAアドレスライン70へ出力した後にこのDMAアド
レスを更新し格納する。転送回数制御回路50は、各チ
ャネルとそれぞれ対応して設けられた転送回数レジスタ
51〜54と減算回路55とを備え、転送回数レジスタ
51〜54に連続してDMA転送する回数をそれぞれ格
納しておき、対応するDMA実行許可信号AK1〜AK
4がアクティブレベルになると格納されている転送回数
を更新し、所定の値(例えば「0」)になったときにD
MA終了検出信号DENDを出力する。DMA応答制御
回路60は、DMA実行許可信号AK1〜AK4がアク
ティブレベルのときに対応するチャネルのDMA応答信
号DAK1〜DAK4をアクティブレベルにして出力
し、また、DMA終了検出信号DENDを受信すると対
応するチャネルのDMA終了信号DEND1〜DEND
4を出力する。The address registers 41 to 44 and the transfer count registers 51 to 54 are connected to the CPU via an address bus (not shown) and a data input / output bus (not shown) of the CPU.
(Not shown), the CPU sends the start address of the memory to be the target of the DMA transfer via these lines to the address registers 41 to 4 before executing the DMA transfer.
4, the transfer count is set in the transfer count registers 51 to 54 for each channel. DMA request control circuit 10
Are DMA request signals DRQ1 to DRQ1 from a plurality of peripheral devices.
When RQ4 is monitored and a valid DMA transfer request is accepted, the DMA request flag signal DR of the corresponding channel is received.
Set QF1 to DRQF4 to active level and output,
D in the access arbitration circuit 21 and the access arbitration circuit 22.
Signal the occurrence of an MA request. Further, when the DMA end detection signal DEND is received, the DMA execution permission signals AK1 to A
K4 outputs the DMA request flag signals DRQF1 to DRQF4 of the channel whose active level is inactive to the inactive level. The access arbitration circuit 21 outputs the bus use request signal BRQa when the DMA request flag signals DRQF1 and DRQF2 have active levels. When the bus use permission signal BAK is received, the DMA request flag signals DRQF1 and DRQF2 sequentially output the DMA execution permission signals AK1 and AK2 of the channels whose active level is one cycle at an active level, and a DMA transfer cycle is generated. The access arbitration circuit 22 outputs a bus use request signal BRQb when any of the DMA request flag signals DRQF3 to DRQF4 has an active level.
When there is no DMA request for channel 1 and channel 2, that is, when the request acceptance prohibition signal RQMKa from the access arbitration circuit 21 is at the inactive level, the DMA request flag signals DRQF3 to DRQF4 are received when the bus use permission signal BAK is received. The DMA execution permission signals AK3 to AK4 of the active level channels are sequentially set to the active level for each cycle and output to generate the DMA transfer cycle. The timing control circuit 30 supplies the access arbitration circuit 21 and the access arbitration circuit 22 with the clock signals CKa and CKb and the bus cycle reference signal BC.
K and the bus use request signal BRQ and the bus use permission signal BAK with the CPU are controlled. The address generation circuit 40 includes address registers 41 to 44 and an addition / subtraction circuit 45 which are provided corresponding to the respective channels, and the address registers 41 to 44 have DMs.
The start addresses of the A transfer areas are stored respectively, and when the corresponding DMA execution permission signals AK1 to AK4 become the active level, the DMA address signals AD1 to AD4 are set to D.
After outputting to the MA address line 70, this DMA address is updated and stored. The transfer number control circuit 50 includes transfer number registers 51 to 54 and a subtraction circuit 55 provided corresponding to each channel, and stores the number of continuous DMA transfers in each of the transfer number registers 51 to 54. Every corresponding DMA execution permission signals AK1 to AK
When 4 becomes the active level, the stored transfer count is updated, and when the predetermined value (for example, “0”) is reached, D
The MA end detection signal DEND is output. The DMA response control circuit 60 sets the DMA response signals DAK1 to DAK4 of the corresponding channels to the active level when the DMA execution permission signals AK1 to AK4 are at the active level, outputs the DMA response signals DAK1 to DAK4, and receives the DMA end detection signal DEND. Channel DMA end signals DEND1 to DEND
4 is output.
【0011】この実施例は、図1に示すように、周辺装
置からのDMA要求信号を入力するDMA要求制御回路
10と、この周辺装置にDMA応答信号およびDMA終
了信号を出力する応答制御回路60とを備え、さらに、
本発明の特徴とする手段として、複数のチャネルを有
し、このチャネルに対してのDMA要求信号に応じてバ
ス使用要求信号を発行し、メモリおよび上記周辺装置が
接続されたバスの使用許可信号を受信するとDMA要求
があるチャネルのDMA実行許可信号を所定の期間ずつ
順次循環してアクティブレベルにするアクセス裁定回路
21と、上記チャネルと異なる複数のチャネルを有し、
このチャネルに対してのDMA要求信号に応じてバス使
用要求信号を発行し、バスの使用許可信号を受信しかつ
アクセス裁定回路21によるDMA実行が許可されてい
ない期間に、DMA要求があるチャネルのDMA実行許
可信号を所定の期間ずつ順次循環してアクティブレベル
にするアクセス裁定回路22と、上記チャネルのそれぞ
れに対応して設けられた複数のアドレスレジスタを備
え、このアドレスレジスタのそれぞれにDMA転送され
る記憶領域の開始アドレスをあらかじめ格納しておき、
対応するDMA実行許可信号がアクティブレベルになる
とDMAアドレスを出力した後にこのDMAアドレスを
更新して格納するアドレス生成回路40と、上記チャネ
ルのそれぞれに対応して設けられた複数の転送回数レジ
スタを備え、この転送回数レジスタのそれぞれにDMA
転送する転送回数をあらかじめ格納しておき、対応する
DMA実行許可信号がアクティブレベルになると格納さ
れている転送回数を更新し、この転送回数が所定値にな
ったときにDMA終了検出信号を出力する転送回数制御
回路50とを備え、DMA応答制御回路60は、対応す
るDMA実行許可信号がアクティブレベルのときに対応
するチャネルのDMA応答信号をアクティブレベルにし
て出力し、DMA終了検出信号を受信するとDMA終了
信号を出力する手段を含む。In this embodiment, as shown in FIG. 1, a DMA request control circuit 10 for inputting a DMA request signal from a peripheral device and a response control circuit 60 for outputting a DMA response signal and a DMA end signal to this peripheral device. And further,
As a feature of the present invention, it has a plurality of channels, issues a bus use request signal in response to a DMA request signal for the channels, and uses a bus use permission signal to which a memory and the above peripheral devices are connected. Receiving an access arbitration circuit 21 that sequentially circulates a DMA execution permission signal of a channel for which a DMA request is issued for a predetermined period and sets the active level, and a plurality of channels different from the above channels.
A bus use request signal is issued in response to a DMA request signal for this channel, a bus use permission signal is received, and a DMA request is issued to a channel that has a DMA request during a period in which DMA execution by the access arbitration circuit 21 is not permitted. An access arbitration circuit 22 that sequentially circulates the DMA execution permission signal for a predetermined period to set it to an active level, and a plurality of address registers provided corresponding to each of the above channels are provided, and DMA transfer is performed to each of these address registers. The start address of the storage area to be stored in advance,
An address generation circuit 40 for updating and storing the DMA address after outputting the DMA address when the corresponding DMA execution permission signal becomes active level, and a plurality of transfer number registers provided corresponding to each of the above channels , DMA to each of the transfer count registers
The number of transfers to be transferred is stored in advance, the stored number of transfers is updated when the corresponding DMA execution permission signal reaches the active level, and the DMA end detection signal is output when the number of transfers reaches a predetermined value. The DMA response control circuit 60 is provided with a transfer number control circuit 50, and when the corresponding DMA execution permission signal is at the active level, the DMA response signal of the corresponding channel is set to the active level and output, and when the DMA end detection signal is received. It includes means for outputting a DMA end signal.
【0012】次に、この実施例の動作について説明す
る。アクセス裁定回路21は、DMA要求が発生しバス
使用許可が下りると、DMA要求が発生している各チャ
ネル例えばチャネル1とチャネル2との両方に対するD
MA要求が同時期にある場合には、チャネル1とチャネ
ル2とのDMA実行許可信号AK1およびAK2を1サ
イクルずつ順次循環してアクティブレベルにする。アク
セス裁定回路22は、DMA要求が発生してバス使用許
可が下り、アクセス裁定回路21からの要求受付け禁止
信号RQMKaが非アクティブの期間すなわちチャネル
1およびチャネル2に対するDMA要求がないときに、
DMA要求が発生している各チャネル例えばチャネル3
とチャネル4との両方に対するDMA要求が同時期にあ
る場合には、チャネル3とチャネル4とのDMA実行許
可信号AK3およびAK4を1サイクルずつ順次循環し
てアクティブレベルにする。アドレス生成回路40で
は、例えばDMA実行許可信号AK1がアクティブレベ
ルになると、これによりアドレスレジスタ41の内容が
読み出されてDMAアドレス信号AD1としてDMAア
ドレスライン70に供給される。また、このDMAアド
レス値が加減算回路45により更新され、再びアドレス
レジスタ41に書き戻される。この動作はDMA実行許
可信号AK1がアクティブレベルになるたびに行われ
る。転送回数制御回路50では、例えばDMA実行許可
信号AK1がアクティブレベルになると、これにより転
送回数レジスタ51の内容が読み出されて減算回路55
で減算され、この減算された転送回数が転送回数レジス
タ51に再び書き戻される。そして、この動作はDMA
実行許可信号AK1がアクティブレベルになるたびに行
われ、その値が「0」になるとDMA終了検出信号DE
NDが出力される。DMA応答制御回路60は、DMA
実行許可信号AK1〜AK4と対応して所定のタイミン
グでDMA応答信号DAK1〜DAK4をアクティブレ
ベルにし、対応する周辺装置にDMA転送の実行サイク
ルであることを知らせる。また、DMA終了検出信号D
ENDを受信すると、DMA実行許可信号AK1〜AK
4と対応してDMA終了信号DEND1〜DEND4を
アクティブレベルにし、対応する周辺装置に一連のDM
A転送の終結を知らせる。Next, the operation of this embodiment will be described. The access arbitration circuit 21, when a DMA request is generated and the bus use permission is lowered, outputs D to each channel for which the DMA request is generated, for example, both channel 1 and channel 2.
If the MA requests are issued at the same time, the DMA execution permission signals AK1 and AK2 of the channel 1 and the channel 2 are sequentially circulated one cycle at a time and set to the active level. The access arbitration circuit 22 generates a DMA request, the bus use permission goes down, and when the request acceptance prohibition signal RQMKa from the access arbitration circuit 21 is inactive, that is, when there is no DMA request for channel 1 and channel 2,
Each channel for which a DMA request is generated, for example, channel 3
If the DMA requests for both the channel 4 and the channel 4 are in the same period, the DMA execution permission signals AK3 and AK4 of the channel 3 and the channel 4 are sequentially circulated one cycle at a time and set to the active level. In the address generation circuit 40, for example, when the DMA execution permission signal AK1 becomes active level, the content of the address register 41 is read out and supplied to the DMA address line 70 as the DMA address signal AD1. Further, this DMA address value is updated by the adder / subtractor circuit 45 and is written back to the address register 41 again. This operation is performed every time the DMA execution permission signal AK1 becomes active level. In the transfer count control circuit 50, for example, when the DMA execution permission signal AK1 becomes active level, the content of the transfer count register 51 is read out and the subtraction circuit 55 is read.
And the subtracted transfer count is written back into the transfer count register 51. And this operation is DMA
This is performed every time the execution permission signal AK1 becomes the active level, and when the value becomes "0", the DMA end detection signal DE
ND is output. The DMA response control circuit 60 uses the DMA
In response to the execution permission signals AK1 to AK4, the DMA response signals DAK1 to DAK4 are set to the active level at a predetermined timing to notify the corresponding peripheral device of the DMA transfer execution cycle. Also, the DMA end detection signal D
When END is received, DMA execution permission signals AK1 to AK
4, the DMA end signals DEND1 to DEND4 are set to the active level, and a series of DMs are sent to the corresponding peripheral device.
A Signal the end of transfer.
【0013】図2は、アクセス裁定回路21の具体例を
示す回路図である。このアクセス裁定回路21は、論理
積ゲート(以下、アンドゲートという)AG1〜AG7
と、論理和ゲート(以下、オアゲートという)OG1〜
OG2と、RS−フリップフロップFF1〜FF2と、
ラッチ回路LA1〜LA4とから構成される。ラッチ回
路LA1は、バスサイクルの基準信号BCKを入力して
バスサイクル終了期間信号BENDを生成する。アンド
ゲートAG1は、バスサイクルの基準信号BCKとクロ
ック信号CKaとを入力してラッチ信号LATを生成す
る。アンドゲートAG2は、クロック信号CKb、バス
サイクル終了期間信号BENDの反転信号、チャネル1
のDMA要求フラグ信号DRQF1およびラッチ回路L
A4の反転出力である要求受付け許可信号ACENaを
入力してRS−フリップフロップFF1のセット信号を
生成する。アンドゲートAG3は、クロック信号CK
b、バスサイクル終了期間信号BENDおよびアンドゲ
ートAG4の出力信号を入力してRS−フリップフロッ
プFF1のリセット信号を生成する。ラッチ回路LA2
は、RS−フリップフロップFF1の出力信号を入力し
てラッチ信号LATがハイレベルの期間に入力信号の状
態を出力する。アンドゲートAG4は、ラッチ回路LA
2の出力信号とバスの使用許可信号BAKとを入力して
チャネル1のDMA実行許可信号AK1を生成する。D
MA要求フラグ信号DRQF2のチャネル2の回路部分
についても同様である。ただし、アンドゲートAG7
は、ラッチ回路LA3の出力信号と、バスの使用許可信
号BAKと、チャネル1のDMA実行許可信号AK1の
反転信号とを入力してチャネル2のDMA実行許可信号
AK2を生成する。オアゲートOG1は、RS−フリッ
プフロップFF1およびFF2の出力信号とアクセス裁
定回路22からのバス使用要求信号BRQbとを入力し
てバスの使用要求信号BRQaを生成する。ラッチ回路
LA4は、オアゲートOG1の出力信号を入力してDM
A要求フラグ信号DRQF1およびDRQF2の要求受
付け許可信号ACENaを生成する。オアゲートOG2
は、DMA要求フラグ信号DRQF1およびDRQF2
を入力して要求受付け禁止信号RQMKaを生成し、ア
クセス裁定回路22に供給する。FIG. 2 is a circuit diagram showing a specific example of the access arbitration circuit 21. The access arbitration circuit 21 includes AND gates (hereinafter referred to as AND gates) AG1 to AG7.
And an OR gate (hereinafter referred to as an OR gate) OG1 to
OG2, RS-flip-flops FF1 to FF2,
It is composed of latch circuits LA1 to LA4. The latch circuit LA1 inputs the bus cycle reference signal BCK and generates a bus cycle end period signal BEND. The AND gate AG1 inputs the bus cycle reference signal BCK and the clock signal CKa to generate a latch signal LAT. The AND gate AG2 receives the clock signal CKb, the inverted signal of the bus cycle end period signal BEND, and the channel 1
DMA request flag signal DRQF1 and latch circuit L
The request acceptance permission signal ACENa which is the inverted output of A4 is input to generate the set signal of the RS-flip-flop FF1. The AND gate AG3 has a clock signal CK.
b, the bus cycle end period signal BEND and the output signal of the AND gate AG4 are input to generate a reset signal for the RS-flip-flop FF1. Latch circuit LA2
Inputs the output signal of the RS-flip-flop FF1 and outputs the state of the input signal while the latch signal LAT is at the high level. The AND gate AG4 is a latch circuit LA
The output signal 2 and the bus use permission signal BAK are input to generate the channel 1 DMA execution permission signal AK1. D
The same applies to the circuit portion of the channel 2 of the MA request flag signal DRQF2. However, Andgate AG7
Inputs the output signal of the latch circuit LA3, the bus use permission signal BAK, and the inverted signal of the channel 1 DMA execution permission signal AK1 to generate the channel 2 DMA execution permission signal AK2. The OR gate OG1 inputs the output signals of the RS-flip-flops FF1 and FF2 and the bus use request signal BRQb from the access arbitration circuit 22 to generate a bus use request signal BRQa. The latch circuit LA4 inputs the output signal of the OR gate OG1 and DMs it.
The request acceptance permission signal ACENa for the A request flag signals DRQF1 and DRQF2 is generated. OR gate OG2
Are DMA request flag signals DRQF1 and DRQF2.
Is input to generate a request acceptance prohibition signal RQMKa, which is supplied to the access arbitration circuit 22.
【0014】図3は、アクセス裁定回路22の具体例を
示す回路図である。このアクセス裁定回路22は、アン
ドゲートAG8〜AG14と、オアゲートOG3と、R
S−フリップフロップFF3〜FF4と、ラッチ回路L
A5〜LA7とから構成される。アンドゲートAG8
は、クロック信号CKb、バスサイクル終了期間信号B
ENDの反転信号、チャネル3のDMA要求フラグ信号
DRQF3およびアンドゲートAG14の出力信号であ
る要求受付け許可信号ACENbを入力してRS−フリ
ップフロップFF3のセット信号を生成する。アンドゲ
ートAG9は、クロック信号CKb、バスサイクル終了
期間信号BENDおよびアンドゲートAG10の出力信
号を入力してRS−フリップフロップFF3のリセット
信号を生成する。ラッチ回路LA5は、RS−フリップ
フロップFF3の出力信号を入力し、ラッチ信号LAT
がハイレベルの期間に入力信号の状態を出力する。アン
ドゲートAG10は、ラッチ回路LA5の出力信号とバ
スの使用許可信号BAKとを入力してチャネル3のDM
A実行許可信号AK3を生成する。DMA要求フラグ信
号DRQF4のチャネル4の回路部分についても同様で
ある。ただし、アンドゲートAG13は、ラッチ回路L
A6の出力信号と、バスの使用許可信号BAKと、チャ
ネル3のDMA実行許可信号AK3の反転信号とを入力
してチャネル4のDMA実行許可信号AK4を生成す
る。オアゲートOG3は、RS−フリップフロップFF
3およびFF4の出力信号を入力してバスの使用要求信
号BRQbを生成する。ラッチ回路LA7は、オアゲー
トOG3の出力信号を入力し、出力信号はアンドゲート
AG14の入力となる。アンドゲートAG14は、要求
受付け許可信号RQMKaの反転信号とラッチ回路LA
7の出力信号とを入力してDMA要求フラグ信号DRQ
F3およびDRQF4の要求受付け許可信号ACENb
を生成する。FIG. 3 is a circuit diagram showing a specific example of the access arbitration circuit 22. The access arbitration circuit 22 includes AND gates AG8 to AG14, an OR gate OG3, and an R gate.
S-flip-flops FF3 to FF4 and a latch circuit L
It is composed of A5 to LA7. AND GATE AG8
Is a clock signal CKb and a bus cycle end period signal B
The inverted signal of END, the DMA request flag signal DRQF3 of channel 3 and the request acceptance permission signal ACENb which is the output signal of the AND gate AG14 are input to generate the set signal of the RS-flip-flop FF3. The AND gate AG9 inputs the clock signal CKb, the bus cycle end period signal BEND and the output signal of the AND gate AG10 to generate a reset signal for the RS-flip-flop FF3. The latch circuit LA5 receives the output signal of the RS-flip-flop FF3 and inputs the latch signal LAT.
Outputs the state of the input signal during the high level period. The AND gate AG10 inputs the output signal of the latch circuit LA5 and the bus use permission signal BAK, and DMs the channel 3.
The A execution permission signal AK3 is generated. The same applies to the circuit portion of channel 4 of the DMA request flag signal DRQF4. However, the AND gate AG13 is a latch circuit L.
The output signal of A6, the bus use permission signal BAK, and the inverted signal of the channel 3 DMA execution permission signal AK3 are input to generate the channel 4 DMA execution permission signal AK4. The OR gate OG3 is an RS-flip-flop FF.
3 and FF4 output signals are input to generate a bus use request signal BRQb. The latch circuit LA7 inputs the output signal of the OR gate OG3, and the output signal becomes the input of the AND gate AG14. The AND gate AG14 outputs the inverted signal of the request acceptance permission signal RQMKa and the latch circuit LA.
And the DMA request flag signal DRQ
Request acceptance permission signal ACENb of F3 and DRQF4
To generate.
【0015】次に、アクセス裁定回路の動作について説
明する。図4は、アクセス裁定回路21およびアクセス
裁定回路22の各部信号のタイミング図である。まず、
アクセス裁定回路21では、チャネル1のDMA要求フ
ラグ信号DRQF1が「1」になり、このときに要求受
付け許可信号ACENaが「1」であるとすると、バス
サイクル終了期間信号BENDがロウレベル、クロック
CKbがハイレベルの期間にアンドゲートAG2の出力
は「1」になる。このために、RS−フリップフロップ
FF1はバスサイクル(A)のT2の後半でセットさ
れ、出力は「1」になる。同様に、チャネル2のDMA
要求フラグ信号DRQF2が「1」になると、RS−フ
リップフロップFF2の出力も「1」になる。RS−フ
リップフロップFF1およびFF2の出力信号は共にオ
アゲートOG1に入力されており、いずれかの信号が
「1」のときにオアゲートOG1の出力すなわちバスの
使用要求信号BRQaをアクティブレベルにする。バス
の使用許可信号BRQaはラッチ回路LA4に入力され
ており、バスサイクル(A)のT3からラッチ回路LA
4の出力反転信号すなわち要求受付け許可信号ACEN
aは「0」になる。RS−フリップフロップFF1の出
力はラッチ回路LA2に入力され、ラッチ回路LA2の
出力はバスサイクル(B)のT1から「1」になる。ラ
ッチ回路LA2の出力はアンドゲートAG4に入力され
る。このときにバスの使用許可信号BAKがアクティブ
レベル「1」であり、DMA転送によるバスの使用が許
可されていると、アンドゲートAG4の出力すなわちチ
ャネル1のDMA実行許可信号AK1は「1」になる。
DMA実行許可信号AK1はアンドゲートAG3に入力
されており、DMA実行許可信号AK1が「1」になる
と、バスサイクル終了期間信号BENDがハイレベル、
クロックCKbがハイレベルの期間にアンドゲートAG
3の出力は「1」になる。このために、RS−フリップ
フロップFF1はバスサイクル(B)のT1の後半でリ
セットされ、出力は「0」となる。次に、バスサイクル
(B)のT2の後半ではDMA要求フラグ信号DRQF
1は「1」を継続しているが要求受付け許可信号ACE
Naは「0」になっているので、RS−フリップフロッ
プFF1はセットされず、ラッチ回路LA2の出力はバ
スサイクル(C)のT1から「0」になり、チャネル1
のDMA実行許可信号AK1は「0」になる。したがっ
て、バスサイクル(B)期間がチャネル1のDMA要求
信号DRQ1に対するDMA実行サイクルになる。同様
にしてラッチ回路LA3の出力もバスサイクル(B)の
T1から「1」となるが、アンドゲートAG7にはチャ
ネル1のDMA実行許可信号AK1の反転信号が入力さ
れているので、チャネル2のDMA要求信号DRQ2に
対するDMA実行サイクルはバスサイクル(C)にな
る。チャネル2のDMA実行許可信号AK2が「1」に
なると、RS−フリップフロップFF2はバスサイクル
(C)のT1の後半でリセットされるので、オアゲート
OG1の出力は「0」になり、バスサイクル(C)のT
2からラッチ回路LA4の反転出力すなわち要求受付け
許可信号ACENaは再び「1」になる。要求受付け許
可信号ACENaが「1」になると、RS−フリップフ
ロップFF1はバスサイクル(C)のT2の後半で再び
セットされ、チャネル1のDMA実行許可信号AK1は
バスサイクル(D)の期間再び「1」になる。以上を繰
り返すことによって、チャネル1およびチャネル2のD
MA実行サイクルが1サイクルずつ順次循環して発生す
る。アクセス裁定回路22では、アクセス裁定回路21
と同様に、チャネル3および4に対するDMA要求フラ
グ信号DRQF3およびDRQF4がそれぞれ「1」に
なっているが、アクセス裁定回路21からの要求受付け
禁止信号RQMKaが「1」であり、アンドゲートAG
14の出力すなわち要求受付け許可信号ACENbが
「0」となっているので、RS−フリップフロップFF
3およびFF4は共にセットされない。ここで、バスサ
イクル(D)でのDMA実行によりDMA終了検出信号
DENDがアクティブレベルになってチャネル1のDM
A転送が終結すると、DMA要求フラグ信号DRQF1
はバスサイクル(D)のT2から「0」になる。また、
バスサイクル(E)でのDMA実行によりDMA終了検
出信号DENDがアクティブレベルとなってチャネル2
のDMA転送が終結すると、DMA要求フラグ信号DR
QF2はバスサイクル(E)のT2から「0」になる。
チャネル1またはチャネル2に対するDMA要求が再び
発生していないとすると、アクセス裁定回路21から供
給されている要求受付け禁止信号RQMKaは「0」に
なってアンドゲートAG14の出力信号すなわち要求受
付け許可信号ACENbが「1」になり、バスサイクル
終了期間信号BENDがロウレベル、クロックCKbが
ハイレベルの期間にアンドゲートAG8およびアンドゲ
ートAG11の出力は「1」になる。このために、RS
−フリップフロップFF3およびFF4はバスサイクル
(E)のT2の後半でセットされて出力は「1」にな
る。RS−フリップフロップFF3およびFF4の出力
信号は共にオアゲートOG3に入力されており、いずれ
かの信号が「1」のときにオアゲートOG3の出力すな
わちバスの使用要求信号BRQbをアクティブレベルに
する。バスの使用許可信号BRQbはラッチ回路LA7
に入力されており、バスサイクル(E)のT3からラッ
チ回路LA7の出力反転信号は「0」になり、アンドゲ
ートAG14の出力信号すなわち要求受付け許可信号A
CENbは「0」になる。また、バスの使用許可信号B
RQbはアクセス裁定回路21のオアゲートOG1に入
力されており、バスの使用要求信号BRQbがアクティ
ブレベルになると、バス使用要求信号BRQaも「1」
になる。以降は、アクセス裁定回路21と同様の動作を
繰り返すことによってチャネル3およびチャネル4のD
MA実行サイクルが1サイクルずつ順次循環して発生す
る。Next, the operation of the access arbitration circuit will be described. FIG. 4 is a timing chart of signals of respective parts of the access arbitration circuit 21 and the access arbitration circuit 22. First,
In the access arbitration circuit 21, if the DMA request flag signal DRQF1 of channel 1 is "1" and the request acceptance permission signal ACENa is "1" at this time, the bus cycle end period signal BEND is at low level and the clock CKb is at CKb. The output of the AND gate AG2 becomes "1" during the high level period. Therefore, the RS-flip-flop FF1 is set in the latter half of T2 of the bus cycle (A), and the output becomes "1". Similarly, channel 2 DMA
When the request flag signal DRQF2 becomes "1", the output of the RS-flip-flop FF2 also becomes "1". The output signals of the RS-flip-flops FF1 and FF2 are both input to the OR gate OG1, and when either signal is "1", the output of the OR gate OG1, that is, the bus use request signal BRQa is set to the active level. The bus use permission signal BRQa is input to the latch circuit LA4, and the latch circuit LA4 starts from T3 of the bus cycle (A).
4 output inversion signal, that is, request acceptance permission signal ACEN
a becomes “0”. The output of the RS-flip-flop FF1 is input to the latch circuit LA2, and the output of the latch circuit LA2 changes from T1 of the bus cycle (B) to "1". The output of the latch circuit LA2 is input to the AND gate AG4. At this time, when the bus use permission signal BAK is at the active level "1" and the use of the bus by DMA transfer is permitted, the output of the AND gate AG4, that is, the DMA execution permission signal AK1 of the channel 1 becomes "1". Become.
The DMA execution permission signal AK1 is input to the AND gate AG3. When the DMA execution permission signal AK1 becomes "1", the bus cycle end period signal BEND is at the high level,
AND gate AG during the high level period of the clock CKb
The output of 3 becomes "1". Therefore, the RS-flip-flop FF1 is reset in the latter half of T1 of the bus cycle (B), and the output becomes "0". Next, in the latter half of T2 of the bus cycle (B), the DMA request flag signal DRQF
1 continues to be "1" but request acceptance permission signal ACE
Since Na is "0", the RS-flip-flop FF1 is not set, the output of the latch circuit LA2 becomes "0" from T1 of the bus cycle (C), and the channel 1
DMA execution permission signal AK1 of "0" becomes "0". Therefore, the bus cycle (B) period is a DMA execution cycle for the DMA request signal DRQ1 of channel 1. Similarly, the output of the latch circuit LA3 also becomes "1" from T1 of the bus cycle (B), but since the inverted signal of the DMA execution permission signal AK1 of channel 1 is input to the AND gate AG7, The DMA execution cycle for the DMA request signal DRQ2 is the bus cycle (C). When the DMA execution permission signal AK2 of the channel 2 becomes "1", the RS-flip-flop FF2 is reset in the latter half of T1 of the bus cycle (C), so that the output of the OR gate OG1 becomes "0" and the bus cycle ( C) T
From 2, the inverted output of the latch circuit LA4, that is, the request acceptance permission signal ACENa becomes "1" again. When the request acceptance permission signal ACENa becomes "1", the RS-flip-flop FF1 is set again in the latter half of T2 of the bus cycle (C), and the DMA execution permission signal AK1 of the channel 1 becomes "1" again during the bus cycle (D). 1 ”. By repeating the above, D of channel 1 and channel 2
The MA execution cycle is generated by sequentially cycling one cycle at a time. In the access arbitration circuit 22, the access arbitration circuit 21
Similarly, the DMA request flag signals DRQF3 and DRQF4 for channels 3 and 4 are both "1", but the request acceptance prohibition signal RQMKa from the access arbitration circuit 21 is "1" and the AND gate AG.
Since the output of No. 14, that is, the request acceptance permission signal ACENb is "0", the RS-flip-flop FF
3 and FF4 are not set together. Here, the DMA end detection signal DEND becomes the active level by the DMA execution in the bus cycle (D), and the DM of the channel 1 is transmitted.
When the A transfer is completed, the DMA request flag signal DRQF1
Becomes "0" from T2 of the bus cycle (D). Also,
By executing the DMA in the bus cycle (E), the DMA end detection signal DEND becomes the active level and the channel 2
Is completed, the DMA request flag signal DR
QF2 becomes "0" from T2 of the bus cycle (E).
If the DMA request for channel 1 or channel 2 is not generated again, the request acceptance prohibition signal RQMKa supplied from the access arbitration circuit 21 becomes "0", that is, the output signal of the AND gate AG14, that is, the request acceptance enable signal ACENb. Becomes "1", and the outputs of the AND gates AG8 and AG11 become "1" while the bus cycle end period signal BEND is at low level and the clock CKb is at high level. For this reason, RS
The flip-flops FF3 and FF4 are set in the latter half of T2 of the bus cycle (E), and the output becomes "1". The output signals of the RS-flip-flops FF3 and FF4 are both input to the OR gate OG3, and when either signal is "1", the output of the OR gate OG3, that is, the bus use request signal BRQb is set to the active level. The bus use permission signal BRQb is the latch circuit LA7.
The output inversion signal of the latch circuit LA7 becomes "0" from T3 of the bus cycle (E), and the output signal of the AND gate AG14, that is, the request acceptance permission signal A
CENb becomes “0”. Also, the bus use permission signal B
RQb is input to the OR gate OG1 of the access arbitration circuit 21, and when the bus use request signal BRQb becomes an active level, the bus use request signal BRQa is also "1".
become. After that, by repeating the same operation as that of the access arbitration circuit 21, D of channel 3 and channel 4 is repeated.
The MA execution cycle is generated by sequentially cycling one cycle at a time.
【0016】このように、本実施例ではアクセス裁定回
路21によりアクセス裁定されるチャネル(以下、グル
ープA)とアクセス裁定回路22によりアクセス裁定さ
れるチャネル(以下、グループB)とに分けて制御する
構成とし、グループBに対する要求はグループAに対す
る要求がない場合にのみ受け付けて実行するといったよ
うに、グループ間でDMA転送処理の優先順位を設けて
いる。さらに、同一グループ内の各チャネルに対しては
順次循環してDMA転送を実行させる。このために、同
一のグループ内であれば特定のチャネルのみにDMA転
送が独占されることなく均一にDMA転送することがで
き、グループ間では所定の優先順位が存在するので、緊
急にDMA転送を実行すべきものとそうでないものとに
使い分けることができる。As described above, in this embodiment, control is performed separately for the channel (hereinafter, group A) which is arbitrated by the access arbitration circuit 21 and the channel (hereinafter, group B) which is arbitrated by the access arbitration circuit 22. The configuration is such that the request for the group B is accepted and executed only when there is no request for the group A, and the priority order of the DMA transfer processing is provided between the groups. Further, the DMA transfer is executed by sequentially circulating each channel in the same group. Therefore, within the same group, it is possible to perform uniform DMA transfer without monopolizing the DMA transfer only to a specific channel, and since there is a predetermined priority among the groups, it is urgent to perform the DMA transfer. You can use what you have to do and what you don't.
【0017】また、本実施例では各アクセス裁定回路に
より処理するDMA要求信号をそれぞれ二種類の場合に
限定して説明したが、要求信号の数および種類に制約さ
れることがなく、また、同時に発生するDMA要求の数
が増減した場合にも本発明を実施することができる。Further, although the present embodiment has been described by limiting the case where there are two types of DMA request signals to be processed by each access arbitration circuit, the number and types of request signals are not limited, and at the same time. The present invention can be implemented even when the number of DMA requests generated increases or decreases.
【0018】次に、他の実施例について説明する。図5
は本発明の第二実施例のアクセス裁定回路22の具体例
を示す回路図である。なお、図3の回路図と重複する部
分および信号には同一の番号を記している。本実施例
は、さらに下位の要求受付け禁止信号RQMKbをオア
ゲートOG4により発生し、またバス使用許可信号BR
QbをオアゲートOG5により生成するようにしたもの
である。オアゲートOG4はDMA要求フラグ信号DR
QF3およびDRQF4とアクセス裁定回路21から供
給される要求受付け禁止信号RQMKaとを入力し、さ
らに下位の要求受付け禁止信号RQMKbを生成する。
この要求受付け禁止信号RQMKbはチャネル1〜4の
いずれかに対してDMA要求が発生し、DMA要求フラ
グ信号DRQF1〜DRQF4の少なくとも一つがセッ
トされるとアクティブレベルになる。要求受付け禁止信
号RQMKbは、優先順位の低いチャネルに対するDM
A要求をアクセス裁定する回路を増設した場合に使用す
る。オアゲートOG5はRS−フリップフロップFF3
およびFF4の出力信号と下位の要求受け付けにともな
うバス使用要求信号BRQcとを入力してバスの使用要
求信号BRQbを生成する。このように、本実施例で
は、さらに優先順位の低いチャネルに対するDMA要求
をアクセス裁定する回路を容易に増設することが可能と
なり、用途に応じた最適設計ができる。Next, another embodiment will be described. Figure 5
FIG. 9 is a circuit diagram showing a specific example of the access arbitration circuit 22 according to the second embodiment of the present invention. It should be noted that the same numbers are given to portions and signals that overlap with the circuit diagram of FIG. In this embodiment, the lower-order request acceptance prohibition signal RQMKb is generated by the OR gate OG4, and the bus use permission signal BR is also generated.
Qb is generated by the OR gate OG5. The OR gate OG4 is a DMA request flag signal DR
QF3 and DRQF4 and request acceptance prohibition signal RQMKa supplied from access arbitration circuit 21 are input, and further lower order request acceptance prohibition signal RQMKb is generated.
This request acceptance prohibition signal RQMKb becomes active level when a DMA request is generated for any of channels 1 to 4 and at least one of DMA request flag signals DRQF1 to DRQF4 is set. The request acceptance prohibition signal RQMKb is a DM for a low priority channel.
It is used when a circuit for arbitrating access to the A request is added. The OR gate OG5 is an RS-flip-flop FF3.
Also, the output signal of the FF4 and the bus use request signal BRQc associated with acceptance of the lower request are input to generate the bus use request signal BRQb. As described above, in the present embodiment, it is possible to easily add a circuit that arbitrates the DMA request for a channel with a lower priority, and it is possible to perform an optimum design according to the application.
【0019】[0019]
【発明の効果】本発明は、以上説明したように、グルー
プ間でDMA転送処理の優先順位を設け、同一グループ
内では優先順位を設けずに各チャネルに対しては順次循
環してDMA転送を実行させるので、(1)同一グルー
プ内では特定のチャネルのみにDMA転送が独占される
ことがなく均一にDMA転送することができ、各チャネ
ルに対するDMA要求の発生時期を調停したり、優先順
位の低いチャネルが長時間待たされることのないよう途
中で優先順位を変更するなどといった煩わしい処置が必
要なく行え、CPUの処理の負担を大幅に軽減すること
ができる効果と、(2)グループ間では所定の優先順位
が存在し、緊急にDMA転送を実行すべきものとそうで
ないものとに使い分けることができる効果と、(3)グ
ループ間でさらに優先順位の低い複数のチャネルに対す
るDMA要求をアクセス裁定する回路を増設することが
容易であり、用途に応じた最適設計ができる効果とがあ
る。As described above, according to the present invention, the priority order of the DMA transfer processing is set between the groups, and the priority order is not set in the same group, and the DMA transfer is sequentially circulated to each channel. Since it is executed, (1) it is possible to uniformly perform DMA transfer without monopolizing the DMA transfer only to a specific channel in the same group, arbitrate the generation timing of the DMA request for each channel, and set the priority order. (2) The effect that the burden of the processing of the CPU can be greatly reduced without performing the troublesome procedure such as changing the priority order in the middle so that the low channel is not kept waiting for a long time, And the effect that the DMA transfer can be urgently executed and the one that is not executed urgently, and (3) It is easy to add more circuitry to access arbitration of DMA request with respect to the previous rank lower plurality of channels, there is the effect of it is optimally designed according to the application.
【図1】本発明実施例の全体構成を示すブロック構成
図。FIG. 1 is a block configuration diagram showing an overall configuration of an embodiment of the present invention.
【図2】本発明実施例の部分構成を示すブロック構成
図。FIG. 2 is a block configuration diagram showing a partial configuration of an embodiment of the present invention.
【図3】本発明実施例の部分構成を示すブロック構成
図。FIG. 3 is a block configuration diagram showing a partial configuration of an embodiment of the present invention.
【図4】本発明実施例の動作を示すフローチャート。FIG. 4 is a flowchart showing the operation of the embodiment of the present invention.
【図5】本発明実施例の部分構成を示すブロック構成
図。FIG. 5 is a block diagram showing a partial configuration of an embodiment of the present invention.
【図6】従来例の構成を示すブロック構成図。FIG. 6 is a block configuration diagram showing a configuration of a conventional example.
100 CPU 101 バス制御回路 102 演算処理回路 200 メモリ 10 DMA要求制御回路 21 アクセス裁定回路 22 アクセス裁定回路 30 タイミング制御回路 40 アドレス生成回路 41〜44 アドレスレジスタ 45 加減算回路 50 転送回数制御回路 51〜54 転送回数レジスタ 55 減算回路 60 DMA応答制御回路 70 DMAアドレスライン 300 DMA転送制御装置 301 転送制御部 302 優先順位制御部 401〜404 周辺装置 500 リフレッシュ制御装置 600 アドレスバス 700 データ入出力バス AG1〜AG14 アンドゲート OG1〜OG5 オアゲート FF1〜FF4 RS−フリップフロップ LA1〜LA7 ラッチ回路 100 CPU 101 Bus control circuit 102 Arithmetic processing circuit 200 Memory 10 DMA request control circuit 21 Access arbitration circuit 22 Access arbitration circuit 30 Timing control circuit 40 Address generation circuit 41-44 Address register 45 Addition / subtraction circuit 50 Transfer count control circuit 51-54 Transfer Count register 55 Subtraction circuit 60 DMA response control circuit 70 DMA address line 300 DMA transfer control device 301 Transfer control unit 302 Priority control unit 401 to 404 Peripheral device 500 Refresh control device 600 Address bus 700 Data input / output bus AG1 to AG14 AND gate OG1 to OG5 OR gates FF1 to FF4 RS-flip-flops LA1 to LA7 latch circuits
Claims (1)
ス要求信号を入力するダイレクトメモリアクセス要求制
御回路と、この周辺装置にダイレクトメモリアクセス応
答信号およびダイレクトメモリアクセス終了信号を出力
する応答制御回路とを備えたダイレクトメモリアクセス
転送制御装置において、 複数のチャネルを有し、このチャネルに対してのダイレ
クトメモリアクセス要求信号に応じてバス使用要求信号
を発行し、メモリおよび上記周辺装置が接続されたバス
の使用許可信号を受信するとダイレクトメモリアクセス
要求があるチャネルのダイレクトメモリアクセス実行許
可信号を所定の期間ずつ順次循環してアクティブレベル
にする第一のアクセス裁定回路と、 上記チャネルと異なる複数のチャネルを有し、このチャ
ネルに対してのダイレクトメモリアクセス要求信号に応
じてバス使用要求信号を発行し、バスの使用許可信号を
受信しかつ上記第一のアクセス裁定回路によるダイレク
トメモリアクセス実行が許可されていない期間に、ダイ
レクトメモリアクセス要求があるチャネルのダイレクト
メモリアクセス実行許可信号を所定の期間ずつ順次循環
してアクティブレベルにする第二のアクセス裁定回路
と、 上記チャネルのそれぞれに対応して設けられた複数のア
ドレスレジスタを備え、このアドレスレジスタのそれぞ
れにはダイレクトメモリアクセス転送される記憶領域の
開始アドレスがあらかじめ格納され、対応するダイレク
トメモリアクセス実行許可信号がアクティブレベルにな
るとダイレクトメモリアクセスアドレスを出力した後に
このダイレクトメモリアクセスアドレスを更新して格納
するアドレス生成回路と、 上記チャネルのそれぞれに対応して設けられた複数の転
送回数レジスタを備え、この転送回数レジスタのそれぞ
れにはダイレクトメモリアクセス転送する転送回数があ
らかじめ格納され、対応するダイレクトメモリアクセス
実行許可信号がアクティブレベルになると格納されてい
る転送回数を更新し、この転送回数が所定値になったと
きにダイレクトメモリアクセス終了検出信号を出力する
転送回数制御回路とを備え、 上記応答制御回路は、対応するダイレクトメモリアクセ
ス実行許可信号がアクティブレベルのときに対応するチ
ャネルのダイレクトメモリアクセス応答信号をアクティ
ブレベルにして出力し、ダイレクトメモリアクセス終了
検出信号を受信するとダイレクトメモリアクセス終了信
号を出力する手段を含むことを特徴とするダイレクトメ
モリアクセス転送制御装置。1. A direct memory access request control circuit for inputting a direct memory access request signal from a peripheral device, and a response control circuit for outputting a direct memory access response signal and a direct memory access end signal to the peripheral device. The direct memory access transfer control device has a plurality of channels, issues a bus use request signal in response to a direct memory access request signal for this channel, and permits use of the bus to which the memory and the above peripheral devices are connected. A first access arbitration circuit that sequentially circulates a direct memory access execution permission signal of a channel having a direct memory access request for a predetermined period when receiving a signal and sets the active level, and a plurality of channels different from the above channels, For this channel Issuing a bus use request signal in response to the direct memory access request signal, receiving a bus use enable signal, and not executing direct memory access by the first access arbitration circuit, direct memory access request A second access arbitration circuit that sequentially circulates a direct memory access execution permission signal of a certain channel for a predetermined period to make it an active level, and a plurality of address registers provided corresponding to each of the above channels are provided. The start address of the memory area to which direct memory access is transferred is stored in advance in each register, and when the corresponding direct memory access execution permission signal becomes active level, this direct memory access address is output and then this direct memory access address is output. An address generation circuit for updating and storing an address and a plurality of transfer count registers provided for each of the above channels are provided, and the transfer count for direct memory access transfer is stored in advance in each of these transfer count registers. A transfer count control circuit that updates the stored transfer count when the corresponding direct memory access execution permission signal becomes active level and outputs the direct memory access end detection signal when the transfer count reaches a predetermined value. The response control circuit outputs the direct memory access response signal of the corresponding channel to the active level when the corresponding direct memory access execution permission signal is at the active level, and outputs the direct memory access end detection signal. Access A direct memory access transfer control device comprising means for outputting a stop signal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1337092A JP2806672B2 (en) | 1992-01-28 | 1992-01-28 | Direct memory access transfer controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1337092A JP2806672B2 (en) | 1992-01-28 | 1992-01-28 | Direct memory access transfer controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05204833A true JPH05204833A (en) | 1993-08-13 |
JP2806672B2 JP2806672B2 (en) | 1998-09-30 |
Family
ID=11831206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1337092A Expired - Fee Related JP2806672B2 (en) | 1992-01-28 | 1992-01-28 | Direct memory access transfer controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2806672B2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002183080A (en) * | 2000-12-15 | 2002-06-28 | Mega Chips Corp | Data transfer controlling device and data transferring method |
WO2004102404A1 (en) * | 2003-05-14 | 2004-11-25 | Fujitsu Limited | Data transfer apparatus |
JP2007128336A (en) * | 2005-11-04 | 2007-05-24 | Nec Corp | Parallel register access device and system lsi |
JP2008046771A (en) * | 2006-08-11 | 2008-02-28 | Fujitsu Ltd | Direct memory access controller |
JP2010044645A (en) * | 2008-08-14 | 2010-02-25 | Fujitsu Ltd | Data transfer device, and data transfer method |
US7716391B2 (en) | 2005-05-11 | 2010-05-11 | Panasonic Corporation | Data transfer apparatus, data transfer method, and program |
JP2011103129A (en) * | 2010-11-29 | 2011-05-26 | Mega Chips Corp | Data transfer controller and data transfer method |
-
1992
- 1992-01-28 JP JP1337092A patent/JP2806672B2/en not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002183080A (en) * | 2000-12-15 | 2002-06-28 | Mega Chips Corp | Data transfer controlling device and data transferring method |
WO2004102404A1 (en) * | 2003-05-14 | 2004-11-25 | Fujitsu Limited | Data transfer apparatus |
US7716391B2 (en) | 2005-05-11 | 2010-05-11 | Panasonic Corporation | Data transfer apparatus, data transfer method, and program |
JP2007128336A (en) * | 2005-11-04 | 2007-05-24 | Nec Corp | Parallel register access device and system lsi |
JP2008046771A (en) * | 2006-08-11 | 2008-02-28 | Fujitsu Ltd | Direct memory access controller |
US8606974B2 (en) | 2006-08-11 | 2013-12-10 | Fujitsu Semiconductor Limited | Direct memory access controller |
JP2010044645A (en) * | 2008-08-14 | 2010-02-25 | Fujitsu Ltd | Data transfer device, and data transfer method |
JP2011103129A (en) * | 2010-11-29 | 2011-05-26 | Mega Chips Corp | Data transfer controller and data transfer method |
Also Published As
Publication number | Publication date |
---|---|
JP2806672B2 (en) | 1998-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2559906B2 (en) | Arbitration system and method | |
JPH0728758A (en) | And device for dynamic time loop arbitration | |
JP2806672B2 (en) | Direct memory access transfer controller | |
USRE40261E1 (en) | Apparatus and method of partially transferring data through bus and bus master control device | |
JPH0210459A (en) | Bus use right determining system | |
US5526494A (en) | Bus controller | |
JP3256975B2 (en) | DMA transfer control device | |
JP3205992B2 (en) | Direct memory access transfer controller | |
JPH10149311A (en) | Memory controller | |
JP2000132505A (en) | Bus access method and device therefor, and device and system using the bus access method and device | |
JPH0830549A (en) | Bus control device | |
JPH07134689A (en) | Bus arbitration device | |
JPS63175964A (en) | Shared memory | |
JP2001175589A (en) | System and method for arbitrating bus, and recording medium | |
JPH10301897A (en) | Method and device for arbitration | |
JPH05204832A (en) | Dma bus arbitration system | |
JP2694812B2 (en) | Arbitration system | |
JP3206013B2 (en) | Direct memory access transfer controller | |
JP2801943B2 (en) | Bus control method, information processing system and bus control device | |
JP2000090045A (en) | Data transfer system, direct memory access controller and method and record medium | |
JPH09160868A (en) | Bus arbitration device and method therefor | |
JPS63298555A (en) | Shared memory control system | |
JPH02278362A (en) | Data transfer control system | |
JPH06111568A (en) | Image memory device | |
JPS60151894A (en) | Refresh circuit of dynamic ram |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |