JPH11110338A - Dma制御システム - Google Patents
Dma制御システムInfo
- Publication number
- JPH11110338A JPH11110338A JP9275486A JP27548697A JPH11110338A JP H11110338 A JPH11110338 A JP H11110338A JP 9275486 A JP9275486 A JP 9275486A JP 27548697 A JP27548697 A JP 27548697A JP H11110338 A JPH11110338 A JP H11110338A
- Authority
- JP
- Japan
- Prior art keywords
- data
- interruption
- state
- memory
- determination unit
- 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
(57)【要約】
【課題】 メモリと演算処理チャネルとの間の大容量デ
ータ転送を一度で行うデータ転送設定においてデータ転
送を途中で破綻させずに行うことができるDMA制御シ
ステムを提供することを目的とする。 【解決手段】 メモリ101と複数の演算処理チャネル
108〜110との間でデータのやり取りを行わせるD
MAコントローラ104を有するDMA制御システムで
あって、演算処理チャネルとの入出力データを一時的に
保持するデータ保持回路111〜113を有する。
ータ転送を一度で行うデータ転送設定においてデータ転
送を途中で破綻させずに行うことができるDMA制御シ
ステムを提供することを目的とする。 【解決手段】 メモリ101と複数の演算処理チャネル
108〜110との間でデータのやり取りを行わせるD
MAコントローラ104を有するDMA制御システムで
あって、演算処理チャネルとの入出力データを一時的に
保持するデータ保持回路111〜113を有する。
Description
【0001】
【発明の属する技術分野】本発明は、メモリと演算処理
チャネルとの間のデータ転送を行うDMA制御システム
に関する。
チャネルとの間のデータ転送を行うDMA制御システム
に関する。
【0002】
【従来の技術】DRAM等のメモリと演算処理を実行す
るチャネル(以下、「演算処理チャネル」という)との
間のデータ転送を効果的に行うのに、CPU(中央演算
処理装置)によるシステムに代わって、DMA(ダイレ
クト・メモリ・アクセス)制御システムがよく用いられ
る。
るチャネル(以下、「演算処理チャネル」という)との
間のデータ転送を効果的に行うのに、CPU(中央演算
処理装置)によるシステムに代わって、DMA(ダイレ
クト・メモリ・アクセス)制御システムがよく用いられ
る。
【0003】
【発明が解決しようとする課題】しかしながら、従来の
DMA制御システムでは、演算処理チャネル側の処理能
力を越えたデータ量の転送を実行する場合には、データ
のあふれ(オーバーフロー)やデータ無し(アンダーフ
ロー)が起き効率的なデータ転送の妨げとなっていた。
また、演算処理チャネルがシリアルビット処理しかでき
ないものである場合には、適当なデータストック手段が
なければ演算処理チャネルに対して大きなデータを転送
することができず、DMAの転送効率は自然と下がって
しまう。
DMA制御システムでは、演算処理チャネル側の処理能
力を越えたデータ量の転送を実行する場合には、データ
のあふれ(オーバーフロー)やデータ無し(アンダーフ
ロー)が起き効率的なデータ転送の妨げとなっていた。
また、演算処理チャネルがシリアルビット処理しかでき
ないものである場合には、適当なデータストック手段が
なければ演算処理チャネルに対して大きなデータを転送
することができず、DMAの転送効率は自然と下がって
しまう。
【0004】さらに、上記オーバーフロー、アンダーフ
ローを防ぐためのデータ転送の調整としては、転送途中
での中断や再開を行うことが考えられるが、一般的には
予めプログラムで設定したステップ数になったところで
中断や再開を実行するというものであり、このような中
断、再開では、処理効率が低下したり、中断後に正確な
再開ができないといった問題点を有し、また、効率の悪
い中断、再開となったり、CPUの処理が増大するとい
った問題点を有していた。これを防ぐための方法とし
て、一回の転送設定では破綻を来さないものと思われる
データ容量での設定を行ってデータ転送を実行する方法
があるが、この場合には大きな容量のデータ転送を実現
するには何度も設定を繰り返さなければならず、結果と
して転送効率が低下するという問題点を有していた。
ローを防ぐためのデータ転送の調整としては、転送途中
での中断や再開を行うことが考えられるが、一般的には
予めプログラムで設定したステップ数になったところで
中断や再開を実行するというものであり、このような中
断、再開では、処理効率が低下したり、中断後に正確な
再開ができないといった問題点を有し、また、効率の悪
い中断、再開となったり、CPUの処理が増大するとい
った問題点を有していた。これを防ぐための方法とし
て、一回の転送設定では破綻を来さないものと思われる
データ容量での設定を行ってデータ転送を実行する方法
があるが、この場合には大きな容量のデータ転送を実現
するには何度も設定を繰り返さなければならず、結果と
して転送効率が低下するという問題点を有していた。
【0005】このDMA制御システムでは、メモリと演
算処理チャネルとのデータ転送において、大容量データ
を一度で転送するデータ転送設定をした場合に、適切な
中断、再開を用い、設定した容量分のデータ転送を途中
で破綻させることなく完全に行うことが要求されてい
る。
算処理チャネルとのデータ転送において、大容量データ
を一度で転送するデータ転送設定をした場合に、適切な
中断、再開を用い、設定した容量分のデータ転送を途中
で破綻させることなく完全に行うことが要求されてい
る。
【0006】本発明は、メモリと演算処理チャネルとの
間の大容量データ転送を一度で行うデータ転送設定にお
いてデータ転送を途中で破綻させることなく行うことが
できるDMA制御システムを提供することを目的とす
る。
間の大容量データ転送を一度で行うデータ転送設定にお
いてデータ転送を途中で破綻させることなく行うことが
できるDMA制御システムを提供することを目的とす
る。
【0007】
【課題を解決するための手段】この課題を解決するため
に本発明のDMA制御システムは、メモリと複数の演算
処理チャネルとの間でデータのやり取りを行わせるDM
Aコントローラを有するDMA制御システムであって、
演算処理チャネルとの入出力データを一時的に保持する
データ保持回路を有する構成を備えている。
に本発明のDMA制御システムは、メモリと複数の演算
処理チャネルとの間でデータのやり取りを行わせるDM
Aコントローラを有するDMA制御システムであって、
演算処理チャネルとの入出力データを一時的に保持する
データ保持回路を有する構成を備えている。
【0008】これにより、メモリと演算処理チャネルと
の間の大容量データ転送を一度で行うデータ転送設定に
おいてデータ転送を途中で破綻させることなく完全に行
うことができるDMA制御システムが得られる。
の間の大容量データ転送を一度で行うデータ転送設定に
おいてデータ転送を途中で破綻させることなく完全に行
うことができるDMA制御システムが得られる。
【0009】
【発明の実施の形態】本発明の請求項1に記載の発明
は、メモリと複数の演算処理チャネルとの間でデータの
やり取りを行わせるDMAコントローラを有するDMA
制御システムであって、演算処理チャネルとの入出力デ
ータを一時的に保持するデータ保持回路を有することと
したものであり、DMAコントローラは、データ保持回
路でのデータ保持状態に応じてデータ転送を中断した
り、再開したりすることが可能になるという作用を有す
る。
は、メモリと複数の演算処理チャネルとの間でデータの
やり取りを行わせるDMAコントローラを有するDMA
制御システムであって、演算処理チャネルとの入出力デ
ータを一時的に保持するデータ保持回路を有することと
したものであり、DMAコントローラは、データ保持回
路でのデータ保持状態に応じてデータ転送を中断した
り、再開したりすることが可能になるという作用を有す
る。
【0010】請求項2に記載の発明は、請求項1に記載
の発明において、データ保持回路は、自己のデータ蓄積
状況を判定するデータ蓄積状況判定部を有し、データ蓄
積状況判定部における判定結果をDMAコントローラに
通知することとしたものであり、DMAコントローラ
は、データ保持回路におけるデータ蓄積状況の判定結果
に基づいて、データ転送の中断、再開を行うという作用
を有する。
の発明において、データ保持回路は、自己のデータ蓄積
状況を判定するデータ蓄積状況判定部を有し、データ蓄
積状況判定部における判定結果をDMAコントローラに
通知することとしたものであり、DMAコントローラ
は、データ保持回路におけるデータ蓄積状況の判定結果
に基づいて、データ転送の中断、再開を行うという作用
を有する。
【0011】請求項3に記載の発明は、請求項2に記載
の発明において、データ保持回路はデータ蓄積状況の判
定結果に基づき中断状態とすべきか否かを判定する中断
状態判定部を有し、中断状態判定部における判定結果を
DMAコントローラに通知し、DMAコントローラは、
中断状態判定部で中断すべきと判定したときにはメモリ
と演算処理チャネルとの間のデータ転送を中断する中断
処理部と、中断処理部による中断時の設定データを保存
する中断時情報保存部とを有することとしたものであ
り、DMAコントローラは中断状態判定部で中断すべき
と判定したときにはデータ転送を中断し、中断時の設定
データを保存するという作用を有する。
の発明において、データ保持回路はデータ蓄積状況の判
定結果に基づき中断状態とすべきか否かを判定する中断
状態判定部を有し、中断状態判定部における判定結果を
DMAコントローラに通知し、DMAコントローラは、
中断状態判定部で中断すべきと判定したときにはメモリ
と演算処理チャネルとの間のデータ転送を中断する中断
処理部と、中断処理部による中断時の設定データを保存
する中断時情報保存部とを有することとしたものであ
り、DMAコントローラは中断状態判定部で中断すべき
と判定したときにはデータ転送を中断し、中断時の設定
データを保存するという作用を有する。
【0012】請求項4に記載の発明は、請求項2に記載
の発明において、データ保持回路は、データ蓄積状況の
判定結果に基づき再開状態とすべきか否かを判定する再
開状態判定部を有し、再開状態判定部における判定結果
をDMAコントローラに通知し、DMAコントローラ
は、再開状態判定部で再開すべきと判定したときにはメ
モリと演算処理チャネルとの間のデータ転送を中断時情
報保存部に保存した中断時の設定データに従って再開す
る再開処理部を有することとしたものであり、DMAコ
ントローラは、再開状態判定部で再開すべきと判定した
ときには保存した中断時の設定データに従ってデータ転
送を再開するという作用を有する。
の発明において、データ保持回路は、データ蓄積状況の
判定結果に基づき再開状態とすべきか否かを判定する再
開状態判定部を有し、再開状態判定部における判定結果
をDMAコントローラに通知し、DMAコントローラ
は、再開状態判定部で再開すべきと判定したときにはメ
モリと演算処理チャネルとの間のデータ転送を中断時情
報保存部に保存した中断時の設定データに従って再開す
る再開処理部を有することとしたものであり、DMAコ
ントローラは、再開状態判定部で再開すべきと判定した
ときには保存した中断時の設定データに従ってデータ転
送を再開するという作用を有する。
【0013】請求項5に記載の発明は、請求項1に記載
の発明において、データ保持回路は、自己のデータ蓄積
状況を判定するデータ蓄積状況判定部と、データ蓄積状
況の判定結果に基づき中断状態とすべきか否かを判定す
る中断状態判定部と、データ蓄積状況の判定結果に基づ
き再開状態とすべきか否かを判定する再開状態判定部と
を有し、中断状態判定部における判定結果または再開状
態判定部における判定結果をDMAコントローラに通知
し、DMAコントローラは、中断状態判定部で中断すべ
きと判定したときにはメモリと演算処理チャネルとの間
のデータ転送を中断する中断処理部と、中断処理部によ
る中断時の設定データを保存する中断時情報保存部と、
再開状態判定部で再開すべきと判定したときにはメモリ
と演算処理チャネルとの間のデータ転送を中断時情報保
存部に保存した中断時の設定データに従って再開する再
開処理部とを有することとしたものであり、DMAコン
トローラは、中断状態判定部で中断すべきと判定したと
きにはデータ転送を中断し、中断時の設定データを保存
し、再開状態判定部で再開すべきと判定したときには保
存した中断時の設定データに従ってデータ転送を再開す
るという作用を有する。
の発明において、データ保持回路は、自己のデータ蓄積
状況を判定するデータ蓄積状況判定部と、データ蓄積状
況の判定結果に基づき中断状態とすべきか否かを判定す
る中断状態判定部と、データ蓄積状況の判定結果に基づ
き再開状態とすべきか否かを判定する再開状態判定部と
を有し、中断状態判定部における判定結果または再開状
態判定部における判定結果をDMAコントローラに通知
し、DMAコントローラは、中断状態判定部で中断すべ
きと判定したときにはメモリと演算処理チャネルとの間
のデータ転送を中断する中断処理部と、中断処理部によ
る中断時の設定データを保存する中断時情報保存部と、
再開状態判定部で再開すべきと判定したときにはメモリ
と演算処理チャネルとの間のデータ転送を中断時情報保
存部に保存した中断時の設定データに従って再開する再
開処理部とを有することとしたものであり、DMAコン
トローラは、中断状態判定部で中断すべきと判定したと
きにはデータ転送を中断し、中断時の設定データを保存
し、再開状態判定部で再開すべきと判定したときには保
存した中断時の設定データに従ってデータ転送を再開す
るという作用を有する。
【0014】以下、本発明の実施の形態について、図1
〜図6を用いて説明する。 (実施の形態1)図1は本発明の実施の形態1によるD
MA制御システムを示すブロック図である。図1におい
て、101はDRAM等のメモリ、102はCPU、1
03はROM、104はDMA転送を司るDMAコント
ローラ、105はバス、106、107、114は信号
線、108、109、110は演算処理チャネル、11
1、112、113はデータ保持回路としてのFIFO
である。各実施の形態でいうDMA制御システムとは演
算処理チャネルを除いた部分であり、図1では演算処理
チャネル108〜110を除いた部分である。
〜図6を用いて説明する。 (実施の形態1)図1は本発明の実施の形態1によるD
MA制御システムを示すブロック図である。図1におい
て、101はDRAM等のメモリ、102はCPU、1
03はROM、104はDMA転送を司るDMAコント
ローラ、105はバス、106、107、114は信号
線、108、109、110は演算処理チャネル、11
1、112、113はデータ保持回路としてのFIFO
である。各実施の形態でいうDMA制御システムとは演
算処理チャネルを除いた部分であり、図1では演算処理
チャネル108〜110を除いた部分である。
【0015】このように構成されたDMA制御システム
について、その機能、動作等を説明する。図1におい
て、メモリ101から演算処理チャネル108、109
へのデータ転送を行う場合にはメモリ101からデータ
が出力され、反対に演算処理チャネル110からメモリ
101へのデータ転送を行う場合にはメモリ101へデ
ータが入力される。CPU102はROM103に保存
されているプログラムにしたがってDMAコントローラ
104をアクセスする。演算処理チャネル108〜11
0はエラーチェックや通信処理といったような演算処理
ビットデータに対しての演算処理を実行する。図1では
演算処理チャネルは3個示してあるが、実際にはシステ
ム全体の必要に応じた個数であり、任意である。
について、その機能、動作等を説明する。図1におい
て、メモリ101から演算処理チャネル108、109
へのデータ転送を行う場合にはメモリ101からデータ
が出力され、反対に演算処理チャネル110からメモリ
101へのデータ転送を行う場合にはメモリ101へデ
ータが入力される。CPU102はROM103に保存
されているプログラムにしたがってDMAコントローラ
104をアクセスする。演算処理チャネル108〜11
0はエラーチェックや通信処理といったような演算処理
ビットデータに対しての演算処理を実行する。図1では
演算処理チャネルは3個示してあるが、実際にはシステ
ム全体の必要に応じた個数であり、任意である。
【0016】各演算処理チャネル108〜110はFI
FO111〜113を個別に持つ。FIFO111〜1
13の幅、深さは演算処理チャネルの処理形態に応じて
任意である。FIFO111、112はDMA転送によ
りメモリ101から送信されてきたデータの一時的なス
トック手段であり、FIFO113は演算処理チャネル
110で処理されメモリ101へDMA転送する場合に
一定のサイズのデータをためこむ一時的なストック手段
である。すなわち、FIFO111、112にはメモリ
101からのデータが書き込まれ、FIFO113に溜
まったデータはメモリ101へ転送され、DMAコント
ローラ104からはFIFO111、112に対しては
ライトのイネーブル信号が、FIFO113に対しては
リードのイネーブル信号が出力される。
FO111〜113を個別に持つ。FIFO111〜1
13の幅、深さは演算処理チャネルの処理形態に応じて
任意である。FIFO111、112はDMA転送によ
りメモリ101から送信されてきたデータの一時的なス
トック手段であり、FIFO113は演算処理チャネル
110で処理されメモリ101へDMA転送する場合に
一定のサイズのデータをためこむ一時的なストック手段
である。すなわち、FIFO111、112にはメモリ
101からのデータが書き込まれ、FIFO113に溜
まったデータはメモリ101へ転送され、DMAコント
ローラ104からはFIFO111、112に対しては
ライトのイネーブル信号が、FIFO113に対しては
リードのイネーブル信号が出力される。
【0017】図2はDMAコントローラ104を詳細に
示す回路図である。図2において、201a〜201f
は入力端子、201g〜201iは出力端子、202は
アドレスデコーダ、203、204、207、208は
信号線、205、206、214は論理積回路、20
9、210はレジスタ、211はインクリメント回路、
212はディクリメント回路、213は終了判定回路、
215は中断・再開判定回路である。
示す回路図である。図2において、201a〜201f
は入力端子、201g〜201iは出力端子、202は
アドレスデコーダ、203、204、207、208は
信号線、205、206、214は論理積回路、20
9、210はレジスタ、211はインクリメント回路、
212はディクリメント回路、213は終了判定回路、
215は中断・再開判定回路である。
【0018】このように構成されたDMAコントローラ
104における信号について説明する。DMAコントロ
ーラ104に対する入力として、CPU102からのア
ドレスデータ(CPU ADDRESS[15:0])
とCPU102からのデータ(CPU DATA[1
5:0])、クロック信号(CLK)、リセット信号
(RESET)、FIFOの残容量があまりない状態を
示す信号(BEFOREFULL)、FIFOが空寸前
の状態であることを示す信号(BEFORE EMPT
Y)がある。DMAコントローラ104からの出力とし
て、メモリ101へのアクセス信号(MEMORY A
CCESS)、FIFO111、112への書き込み若
しくはFIFO113からの読み出しのイネーブル信号
(ENABLE)、メモリ101へのアドレスデータ
(ADDRESS[15:0])がある。CPU102
からのアドレスデータ、データのバス幅は16ビットで
あり、メモリ101へのアドレスデータのバス幅も16
ビットとしてある。
104における信号について説明する。DMAコントロ
ーラ104に対する入力として、CPU102からのア
ドレスデータ(CPU ADDRESS[15:0])
とCPU102からのデータ(CPU DATA[1
5:0])、クロック信号(CLK)、リセット信号
(RESET)、FIFOの残容量があまりない状態を
示す信号(BEFOREFULL)、FIFOが空寸前
の状態であることを示す信号(BEFORE EMPT
Y)がある。DMAコントローラ104からの出力とし
て、メモリ101へのアクセス信号(MEMORY A
CCESS)、FIFO111、112への書き込み若
しくはFIFO113からの読み出しのイネーブル信号
(ENABLE)、メモリ101へのアドレスデータ
(ADDRESS[15:0])がある。CPU102
からのアドレスデータ、データのバス幅は16ビットで
あり、メモリ101へのアドレスデータのバス幅も16
ビットとしてある。
【0019】次に、DMAコントローラ104の基本的
な動作を図1、図2を用いて説明する。
な動作を図1、図2を用いて説明する。
【0020】まず、CPU102がROM103をフェ
ッチし、組み込まれているプログラムを判断する。CP
U102からのアドレスデータであるCPU ADDR
ESS[15:0]によりDMAコントローラ104に
割り振られているアドレスがアクセスされ、アドレスデ
コーダ202によりCPU102からアクセスされたこ
とが認識される。次いで、CPU102からの具体的な
設定内容を通知するCPU DATA[15:0]によ
り、開始するメモリのアドレス(開始アドレス)、転送
数、転送先あるいは転送元である演算処理チャネルの指
定といった情報が予め決められた形でのビットデータで
送信され、DMA転送を開始することが命じられる。C
PU102からのアドレスとデータのアクセスは信号線
114を介して行われる。
ッチし、組み込まれているプログラムを判断する。CP
U102からのアドレスデータであるCPU ADDR
ESS[15:0]によりDMAコントローラ104に
割り振られているアドレスがアクセスされ、アドレスデ
コーダ202によりCPU102からアクセスされたこ
とが認識される。次いで、CPU102からの具体的な
設定内容を通知するCPU DATA[15:0]によ
り、開始するメモリのアドレス(開始アドレス)、転送
数、転送先あるいは転送元である演算処理チャネルの指
定といった情報が予め決められた形でのビットデータで
送信され、DMA転送を開始することが命じられる。C
PU102からのアドレスとデータのアクセスは信号線
114を介して行われる。
【0021】前記内容がアドレスデコーダ202に設定
されると、メモリ101に対してのアクセス信号(信号
線203上の信号)と演算処理チャネル108〜110
への書き込み若しくは読み出しのイネーブル信号(信号
線204上の信号)とが一旦内部信号としてアドレスデ
コーダ202から出力される。これらの2つの内部信号
は、論理積回路205、206において、他の条件を示
す信号との論理積がとられ、メモリアクセス信号(ME
MORY ACCESS)、イネーブル信号(ENAB
LE)として出力される。ENABLEはDMAコント
ローラ104から信号線107を介してFIFO111
〜113に入る信号としても使われ、FIFOを切り替
えることで演算処理チャネルを選択する。
されると、メモリ101に対してのアクセス信号(信号
線203上の信号)と演算処理チャネル108〜110
への書き込み若しくは読み出しのイネーブル信号(信号
線204上の信号)とが一旦内部信号としてアドレスデ
コーダ202から出力される。これらの2つの内部信号
は、論理積回路205、206において、他の条件を示
す信号との論理積がとられ、メモリアクセス信号(ME
MORY ACCESS)、イネーブル信号(ENAB
LE)として出力される。ENABLEはDMAコント
ローラ104から信号線107を介してFIFO111
〜113に入る信号としても使われ、FIFOを切り替
えることで演算処理チャネルを選択する。
【0022】開始アドレスはレジスタ209にセットさ
れ、転送数はレジスタ210にセットされる。2つのレ
ジスタ209、210はそれぞれ必要なビット幅を持
ち、入力するクロック信号(CLK)でデータ保持し、
リセット信号(RESET)で初期化される。レジスタ
209でレジストされた開始アドレスはインクリメント
回路211においてクロック同期でインクリメントされ
ながらメモリ101へのアドレスデータを出力する。レ
ジスタ210でレジストされた転送数はディクリメント
回路212においてクロック同期で残転送数がなくなる
までディクリメントされ、残転送数がなくなった場合に
は終了判定回路213において終了判定され、終了信号
が内部的に作られる。この終了信号は論理積回路20
5、206、214にそれぞれ入力されており、それぞ
れの論理積回路205、206、214は、終了信号が
アクティブの状態でMEMORY ACCESSとEN
ABLEとADDRESS[15:0]の出力を停止す
る。さらに、図示されていないが、レジスタ209、2
10は必要に応じてクリア、つまり初期化される。
れ、転送数はレジスタ210にセットされる。2つのレ
ジスタ209、210はそれぞれ必要なビット幅を持
ち、入力するクロック信号(CLK)でデータ保持し、
リセット信号(RESET)で初期化される。レジスタ
209でレジストされた開始アドレスはインクリメント
回路211においてクロック同期でインクリメントされ
ながらメモリ101へのアドレスデータを出力する。レ
ジスタ210でレジストされた転送数はディクリメント
回路212においてクロック同期で残転送数がなくなる
までディクリメントされ、残転送数がなくなった場合に
は終了判定回路213において終了判定され、終了信号
が内部的に作られる。この終了信号は論理積回路20
5、206、214にそれぞれ入力されており、それぞ
れの論理積回路205、206、214は、終了信号が
アクティブの状態でMEMORY ACCESSとEN
ABLEとADDRESS[15:0]の出力を停止す
る。さらに、図示されていないが、レジスタ209、2
10は必要に応じてクリア、つまり初期化される。
【0023】以上のように本実施の形態によれば、演算
処理チャネル108〜110との入出力データを一時的
に保持するFIFO111〜113を設けたことによ
り、DMAコントローラ104は、FIFO111〜1
13でのデータ保持状態に応じてデータ転送を中断した
り、再開したりすることができるので、データのオーバ
ーフローやアンダーフローが起こることがなく、メモリ
101と演算処理チャネル108〜110との間の大容
量データ転送を一度で行うデータ転送設定においてデー
タ転送を途中で破綻させることなく完全に行うことがで
きる。
処理チャネル108〜110との入出力データを一時的
に保持するFIFO111〜113を設けたことによ
り、DMAコントローラ104は、FIFO111〜1
13でのデータ保持状態に応じてデータ転送を中断した
り、再開したりすることができるので、データのオーバ
ーフローやアンダーフローが起こることがなく、メモリ
101と演算処理チャネル108〜110との間の大容
量データ転送を一度で行うデータ転送設定においてデー
タ転送を途中で破綻させることなく完全に行うことがで
きる。
【0024】(実施の形態2)実施の形態1において説
明した構成のDMA制御システムであれば、各演算処理
チャネルがFIFOを持つことで、FIFOサイズのデ
ータを一気に転送することが可能になるので、演算処理
チャネル側の処理速度に関わらず、DMA転送を効率的
に行うことが可能である。しかし、いくらFIFOを持
っていたとしても、FIFOサイズ以上のデータ転送を
行おうとするとデータ転送が破綻してしまう。つまり、
実施の形態1ではデータ転送の中断、再開の手段は示さ
れておらず、実施の形態1の構成はデータ転送の破綻防
止達成の点から未だ十分でない。実施の形態2〜5で
は、データ転送の破綻を確実に防止するDMA制御シス
テムについて説明する。
明した構成のDMA制御システムであれば、各演算処理
チャネルがFIFOを持つことで、FIFOサイズのデ
ータを一気に転送することが可能になるので、演算処理
チャネル側の処理速度に関わらず、DMA転送を効率的
に行うことが可能である。しかし、いくらFIFOを持
っていたとしても、FIFOサイズ以上のデータ転送を
行おうとするとデータ転送が破綻してしまう。つまり、
実施の形態1ではデータ転送の中断、再開の手段は示さ
れておらず、実施の形態1の構成はデータ転送の破綻防
止達成の点から未だ十分でない。実施の形態2〜5で
は、データ転送の破綻を確実に防止するDMA制御シス
テムについて説明する。
【0025】図3は本発明の実施の形態2によるDMA
制御システムを示すブロック図である。図3において、
メモリ101、DMAコントローラ104、バス10
5、信号線106、107は図1と同様のものなので、
同一符号を付し、説明は省略する。301はFIFO、
302はFIFO301によりデータ転送される演算処
理チャネル、303はFIFO301と演算処理チャネ
ル302とのデータのやり取りが行われる信号線、30
4はFIFO301のデータ蓄積状況判定部、305は
データ蓄積状況判定部304からの信号を伝送する信号
線である。
制御システムを示すブロック図である。図3において、
メモリ101、DMAコントローラ104、バス10
5、信号線106、107は図1と同様のものなので、
同一符号を付し、説明は省略する。301はFIFO、
302はFIFO301によりデータ転送される演算処
理チャネル、303はFIFO301と演算処理チャネ
ル302とのデータのやり取りが行われる信号線、30
4はFIFO301のデータ蓄積状況判定部、305は
データ蓄積状況判定部304からの信号を伝送する信号
線である。
【0026】このように構成されたDMA制御システム
について、その機能、動作等を説明する。
について、その機能、動作等を説明する。
【0027】データ蓄積状況判定部304はFIFO3
01中にどれくらいのデータが溜まっているかを判定す
る。たとえば、データが空である、データが満杯であ
る、データがもうすぐ満杯である、データがもうすぐ空
である等の状態を判定し、判定結果を示すステータス信
号aを信号線305を介してDMAコントローラ104
に出力する。データ蓄積状況の判定は、FIFO301
への書き込みのポイントと読み出しのポイントとの差分
値をとって判定する。
01中にどれくらいのデータが溜まっているかを判定す
る。たとえば、データが空である、データが満杯であ
る、データがもうすぐ満杯である、データがもうすぐ空
である等の状態を判定し、判定結果を示すステータス信
号aを信号線305を介してDMAコントローラ104
に出力する。データ蓄積状況の判定は、FIFO301
への書き込みのポイントと読み出しのポイントとの差分
値をとって判定する。
【0028】上記ステータス信号aをDMAコントロー
ラ104に出力することで、現在のFIFO301のデ
ータ蓄積状況を通知し、この結果、DMAコントローラ
104自体がデータ転送の適正状況を監視することがで
きる。
ラ104に出力することで、現在のFIFO301のデ
ータ蓄積状況を通知し、この結果、DMAコントローラ
104自体がデータ転送の適正状況を監視することがで
きる。
【0029】以上のように本実施の形態によれば、自己
のデータ蓄積状況を判定するデータ蓄積状況判定部30
4をFIFO301に設けデータ蓄積状況判定部304
における判定結果をDMAコントローラ104に通知す
るようにしたことにより、DMAコントローラ104は
FIFO(データ保持回路)301におけるデータ蓄積
状況の判定結果に基づいて、データ転送の中断、再開を
行うことができるので、データのオーバーフローやアン
ダーフローが起こることがなく、メモリ101と演算処
理チャネル302との間の大容量データ転送を一度で行
うデータ転送設定においてデータ転送を途中で破綻させ
ることなく完全に行うことができる。
のデータ蓄積状況を判定するデータ蓄積状況判定部30
4をFIFO301に設けデータ蓄積状況判定部304
における判定結果をDMAコントローラ104に通知す
るようにしたことにより、DMAコントローラ104は
FIFO(データ保持回路)301におけるデータ蓄積
状況の判定結果に基づいて、データ転送の中断、再開を
行うことができるので、データのオーバーフローやアン
ダーフローが起こることがなく、メモリ101と演算処
理チャネル302との間の大容量データ転送を一度で行
うデータ転送設定においてデータ転送を途中で破綻させ
ることなく完全に行うことができる。
【0030】(実施の形態3)図4は本発明の実施の形
態3におけるDMA制御のブロック図とFIFO動作を
表わす図であって、図4(a)は本発明の実施の形態3
によるDMA制御システムを示すブロック図である。図
4(a)において、メモリ101、DMAコントローラ
104、バス105、信号線106、107は図1と同
様のものなので、同一符号を付し、説明は省略する。4
01は演算処理チャネルのもつFIFO、402は中断
状態判定部、403は信号線、404はDMAコントロ
ーラ104の中断処理部、405はDMAコントローラ
104の中断時情報保存部である。
態3におけるDMA制御のブロック図とFIFO動作を
表わす図であって、図4(a)は本発明の実施の形態3
によるDMA制御システムを示すブロック図である。図
4(a)において、メモリ101、DMAコントローラ
104、バス105、信号線106、107は図1と同
様のものなので、同一符号を付し、説明は省略する。4
01は演算処理チャネルのもつFIFO、402は中断
状態判定部、403は信号線、404はDMAコントロ
ーラ104の中断処理部、405はDMAコントローラ
104の中断時情報保存部である。
【0031】このように構成されたDMA制御システム
について、その機能、動作等を説明する。
について、その機能、動作等を説明する。
【0032】FIFO401はメモリ101から書き込
まれるFIFOである。このFIFO401には、図示
していないが、実施の形態2で説明したデータ蓄積状況
判定部304(図3)があり、このデータ蓄積情況判定
部304においてFIFO401の容量の余裕度を判定
する。この余裕度判定において例えばFIFO401に
対してのデータ転送の場合にFIFO401が満杯にな
る直前の状態というのはFIFO401の受信容量に余
裕がない状態であり、FIFO401へのデータ転送を
中断しなければ送ったデータがFIFO401中で前の
データに対して上書きされる結果となり、転送オーバー
フローを生じてしまう。そこで、中断状態判定部402
でFIFO401の満杯直前のステータス信号bを生成
し、このステータス信号bにより信号線403を通じて
満杯直前であることをDMAコントローラ104に通知
する。
まれるFIFOである。このFIFO401には、図示
していないが、実施の形態2で説明したデータ蓄積状況
判定部304(図3)があり、このデータ蓄積情況判定
部304においてFIFO401の容量の余裕度を判定
する。この余裕度判定において例えばFIFO401に
対してのデータ転送の場合にFIFO401が満杯にな
る直前の状態というのはFIFO401の受信容量に余
裕がない状態であり、FIFO401へのデータ転送を
中断しなければ送ったデータがFIFO401中で前の
データに対して上書きされる結果となり、転送オーバー
フローを生じてしまう。そこで、中断状態判定部402
でFIFO401の満杯直前のステータス信号bを生成
し、このステータス信号bにより信号線403を通じて
満杯直前であることをDMAコントローラ104に通知
する。
【0033】図4(b)は満杯直前のFIFO401を
示すイメージ図である。図4(b)において、406は
空の領域、407はデータが溜まっている領域である。
示すイメージ図である。図4(b)において、406は
空の領域、407はデータが溜まっている領域である。
【0034】FIFO401の中断状態判定部402か
ら通知を受けたDMAコントローラ104は中断時の設
定情報、すなわち残っている転送数、中断時のアドレス
といったデータ転送を再開をするに必要な情報を中断時
情報保存部405に保存する。実際には、図2で示した
2つのレジスタ209、210(図2)の値を保持す
る。さらに、中断処理部404においてデータ転送中断
処理を実行する。中断処理は、信号線106を介しての
メモリ101へのアクセスをノンアクティブにし、信号
線107を介するFIFO401へのイネーブル信号を
ノンアクティブにして、データ転送とFIFO401へ
の書き込みとを中断する。
ら通知を受けたDMAコントローラ104は中断時の設
定情報、すなわち残っている転送数、中断時のアドレス
といったデータ転送を再開をするに必要な情報を中断時
情報保存部405に保存する。実際には、図2で示した
2つのレジスタ209、210(図2)の値を保持す
る。さらに、中断処理部404においてデータ転送中断
処理を実行する。中断処理は、信号線106を介しての
メモリ101へのアクセスをノンアクティブにし、信号
線107を介するFIFO401へのイネーブル信号を
ノンアクティブにして、データ転送とFIFO401へ
の書き込みとを中断する。
【0035】この転送の中断について、図2、図5を用
いて説明する。図5は本発明の実施の形態3の動作タイ
ミング図である。図5中の図5(a)はクロック信号を
示すタイミング図、図5(b)は残転送数(ここではバ
イト単位)を示すタイミング図、図5(c)は論理積回
路214から出力されるADDRESS[15:0]
(メモリ101のアドレス)を示すタイミング図、図5
(d)は論理積回路206から出力されるENABLE
(FIFOへの書き込み、読み出しイネーブル信号)を
示すタイミング図、図5(e)は中断・再開判定回路2
15に入力されるBEFORE FULL(FIFOが
満杯直前状態であることを示す信号)を示すタイミング
図、図5(f)は中断・再開判定回路215から出力さ
れる中断信号(STOP)を示すタイミング図、図5
(g)は中断・再開判定回路215に入力されるBEF
ORE EMPTY(FIFOが空直前状態であること
を示す信号)を示すタイミング図、図5(h)は論理積
回路205から出力されるMEMORY ACCESS
(メモリ101へのアクセス信号)を示すタイミング
図、図5(i)はFIFO401で判定された状態を示
すタイミング図である。また図5において、501〜5
11は時点である。
いて説明する。図5は本発明の実施の形態3の動作タイ
ミング図である。図5中の図5(a)はクロック信号を
示すタイミング図、図5(b)は残転送数(ここではバ
イト単位)を示すタイミング図、図5(c)は論理積回
路214から出力されるADDRESS[15:0]
(メモリ101のアドレス)を示すタイミング図、図5
(d)は論理積回路206から出力されるENABLE
(FIFOへの書き込み、読み出しイネーブル信号)を
示すタイミング図、図5(e)は中断・再開判定回路2
15に入力されるBEFORE FULL(FIFOが
満杯直前状態であることを示す信号)を示すタイミング
図、図5(f)は中断・再開判定回路215から出力さ
れる中断信号(STOP)を示すタイミング図、図5
(g)は中断・再開判定回路215に入力されるBEF
ORE EMPTY(FIFOが空直前状態であること
を示す信号)を示すタイミング図、図5(h)は論理積
回路205から出力されるMEMORY ACCESS
(メモリ101へのアクセス信号)を示すタイミング
図、図5(i)はFIFO401で判定された状態を示
すタイミング図である。また図5において、501〜5
11は時点である。
【0036】図2において、中断要因としてBEFOR
E FULLの入力があり、中断・再開判定回路215
において中断が判定され、中断信号STOPが生成され
る。
E FULLの入力があり、中断・再開判定回路215
において中断が判定され、中断信号STOPが生成され
る。
【0037】実際にはFIFOは複数あるので、BEF
ORE FULLをはじめとした複数の中断要因信号が
入力されるはずであるから、複数の中断要因信号の論理
和から中断信号STOPが生成される。この中断信号S
TOPはインクリメント回路211、ディクリメント回
路212、論理積回路205、206へ入力される。
ORE FULLをはじめとした複数の中断要因信号が
入力されるはずであるから、複数の中断要因信号の論理
和から中断信号STOPが生成される。この中断信号S
TOPはインクリメント回路211、ディクリメント回
路212、論理積回路205、206へ入力される。
【0038】通常の転送状態(通常状態)では、DMA
コントローラ104はメモリ101に対してアドレスを
出力し、A、A+1、A+2とインクリメントを実行す
る(図5(c))。このアドレスで指定されたメモリ1
01中のデータが読み出され、バス105を通じてFI
FO401へ転送される。このデータが信号線107を
介するENABLEによりFIFO401へ書き込まれ
る。また、STOPがゼロであるから、論理積回路20
5、206からアクティブ状態となっているMEMOR
Y ACCESSとENABLEがそのまま外部へ出力
される。
コントローラ104はメモリ101に対してアドレスを
出力し、A、A+1、A+2とインクリメントを実行す
る(図5(c))。このアドレスで指定されたメモリ1
01中のデータが読み出され、バス105を通じてFI
FO401へ転送される。このデータが信号線107を
介するENABLEによりFIFO401へ書き込まれ
る。また、STOPがゼロであるから、論理積回路20
5、206からアクティブ状態となっているMEMOR
Y ACCESSとENABLEがそのまま外部へ出力
される。
【0039】ここで、時点501に示すように、FIF
O401がBEFORE FULLを出力し、これを受
けて時点502に示すように中断信号STOPが生成さ
れる。そこで、時点503、505に示すように、EN
ABLEとMEMORY ACCESSが論理積回路2
05、206でノンアクティブとされてFIFO401
への書き込みとメモリ101へのアクセスが中断する。
この時点でメモリ101へのアクセス権をCPU102
等に譲ることも可能になる。
O401がBEFORE FULLを出力し、これを受
けて時点502に示すように中断信号STOPが生成さ
れる。そこで、時点503、505に示すように、EN
ABLEとMEMORY ACCESSが論理積回路2
05、206でノンアクティブとされてFIFO401
への書き込みとメモリ101へのアクセスが中断する。
この時点でメモリ101へのアクセス権をCPU102
等に譲ることも可能になる。
【0040】また、時点504に示すようにインクリメ
ント回路211でのアドレスのインクリメントが中断さ
れ、アドレスも中断時の値のままレジスタ209で保持
され、転送が中断されるのであるから、ディクリメント
回路212での転送数のディクリメントも時点506に
示すように停止し、中断時の残りの転送数がレジスタ2
10の中で保持される。
ント回路211でのアドレスのインクリメントが中断さ
れ、アドレスも中断時の値のままレジスタ209で保持
され、転送が中断されるのであるから、ディクリメント
回路212での転送数のディクリメントも時点506に
示すように停止し、中断時の残りの転送数がレジスタ2
10の中で保持される。
【0041】なお、本実施の形態では、メモリ101か
らFIFO401へデータが転送される場合で説明した
ので、BEFORE FULLの信号を中断要因とした
が、反対にFIFO401からメモリ101へデータが
転送される場合にはFIFO401が空直前であるBE
FORE EMPTYの信号が中断要因となる。
らFIFO401へデータが転送される場合で説明した
ので、BEFORE FULLの信号を中断要因とした
が、反対にFIFO401からメモリ101へデータが
転送される場合にはFIFO401が空直前であるBE
FORE EMPTYの信号が中断要因となる。
【0042】以上のように本実施の形態によれば、FI
FO401からのデータ蓄積状況のステータス信号bを
監視するだけで中断信号STOPを生成し、この中断信
号によりDMAコントローラ104が、メモリアクセス
の中断、アドレスインクリメントの中断、FIFO40
1へのイネーブル信号出力の中断、中断時の設定情報保
持を実行するようにしたので、転送状態を中断して転送
オーバーフローを自動的に回避することができる。
FO401からのデータ蓄積状況のステータス信号bを
監視するだけで中断信号STOPを生成し、この中断信
号によりDMAコントローラ104が、メモリアクセス
の中断、アドレスインクリメントの中断、FIFO40
1へのイネーブル信号出力の中断、中断時の設定情報保
持を実行するようにしたので、転送状態を中断して転送
オーバーフローを自動的に回避することができる。
【0043】(実施の形態4)図6は本発明の実施の形
態4におけるDMA制御のブロック図とFIFO動作を
表わす図である。図6(a)は本発明の実施の形態4に
よるDMA制御システムを示すブロック図である。図6
(a)において、メモリ101、DMAコントローラ1
04、バス105、信号線106、107は図1と同様
のものなので、同一符号を付し、説明は省略する。60
1は演算処理チャネルのもつFIFO、602は再開状
態判定部、603は信号線、604はDMAコントロー
ラ104の中断時情報保存部、605はDMAコントロ
ーラ104の再開処理部である。
態4におけるDMA制御のブロック図とFIFO動作を
表わす図である。図6(a)は本発明の実施の形態4に
よるDMA制御システムを示すブロック図である。図6
(a)において、メモリ101、DMAコントローラ1
04、バス105、信号線106、107は図1と同様
のものなので、同一符号を付し、説明は省略する。60
1は演算処理チャネルのもつFIFO、602は再開状
態判定部、603は信号線、604はDMAコントロー
ラ104の中断時情報保存部、605はDMAコントロ
ーラ104の再開処理部である。
【0044】このように構成されたDMA制御システム
について、その機能、動作等を説明する。
について、その機能、動作等を説明する。
【0045】本実施の形態ではメモリ101からFIF
O601へデータが転送される。再開状態判定部602
は、FIFO601の受信容量の余裕が大きくなった状
態で、中断状態を解除してデータ転送を再開してよい状
態であることを判定する。すなわちFIFO601が空
になる直前のステータス信号(BEFORE EMPT
Y)を再開の条件とする。図6(b)は空になる直前の
FIFO601の状態を示すイメージ図である。図6
(b)において、406は空の領域、407はデータが
溜まっている領域であり、空の領域406がかなり大き
い。
O601へデータが転送される。再開状態判定部602
は、FIFO601の受信容量の余裕が大きくなった状
態で、中断状態を解除してデータ転送を再開してよい状
態であることを判定する。すなわちFIFO601が空
になる直前のステータス信号(BEFORE EMPT
Y)を再開の条件とする。図6(b)は空になる直前の
FIFO601の状態を示すイメージ図である。図6
(b)において、406は空の領域、407はデータが
溜まっている領域であり、空の領域406がかなり大き
い。
【0046】BEFORE EMPTYは、ステータス
信号cにより、信号線603を介してFIFO601か
らDMAコントローラ104に通知される。ステータス
信号cを入力したDMAコントローラ104は、中断時
に中断時情報保存部604に保持していた設定情報を基
に再開処理部605においてDMA転送を再開する。
信号cにより、信号線603を介してFIFO601か
らDMAコントローラ104に通知される。ステータス
信号cを入力したDMAコントローラ104は、中断時
に中断時情報保存部604に保持していた設定情報を基
に再開処理部605においてDMA転送を再開する。
【0047】この再開動作を図2、図5を用いて説明す
る。図2に示す入力信号BEFORE EMPTYが再
開の条件信号である。この条件信号により中断条件によ
り生成されていた中断信号STOPは中断・再開判定回
路215において解除される。実際にはFIFOは複数
あるので、BEFORE EMPTYをはじめとした複
数の再開要因信号が入力されるはずであるから、複数の
再開要因信号の論理和から中断信号STOPが解除され
る。
る。図2に示す入力信号BEFORE EMPTYが再
開の条件信号である。この条件信号により中断条件によ
り生成されていた中断信号STOPは中断・再開判定回
路215において解除される。実際にはFIFOは複数
あるので、BEFORE EMPTYをはじめとした複
数の再開要因信号が入力されるはずであるから、複数の
再開要因信号の論理和から中断信号STOPが解除され
る。
【0048】図5の時点507で示すタイミングでBE
FORE EMPTYがアクティブになる。これによ
り、時点508に示すように、中断信号STOPは立ち
下がり、中断状態が解除され、再開状態となる。これを
受けて、時点512、509に示すように、MEMOR
Y ACCESSとENABLEが再びアクティブにな
り、メモリ101からデータが読み出され、読み出され
たデータはバス105を介してFIFO601に書き込
まれる。さらに、時点510および時点511のタイミ
ングでアドレスのインクリメントおよび残転送数のディ
クリメントとが再開される。このとき、中断直前に最後
に出されたアドレスに対応するメモリ101のデータ
は、メモリアクセスが中断と同時にノンアクティブにな
ってしまうので、出力されない。
FORE EMPTYがアクティブになる。これによ
り、時点508に示すように、中断信号STOPは立ち
下がり、中断状態が解除され、再開状態となる。これを
受けて、時点512、509に示すように、MEMOR
Y ACCESSとENABLEが再びアクティブにな
り、メモリ101からデータが読み出され、読み出され
たデータはバス105を介してFIFO601に書き込
まれる。さらに、時点510および時点511のタイミ
ングでアドレスのインクリメントおよび残転送数のディ
クリメントとが再開される。このとき、中断直前に最後
に出されたアドレスに対応するメモリ101のデータ
は、メモリアクセスが中断と同時にノンアクティブにな
ってしまうので、出力されない。
【0049】そこで再開時にはまず、時点512と50
9に示すように、先にメモリアクセスとFIFO601
へのイネーブルを有効にしてA+3のメモリアドレスに
対応するデータのFIFO601への書き込みを担保し
てやる必要がある。この書き込み担保の後に時点510
と511で示すタイミングでメモリアドレスのインクリ
メントを実行し、転送数のディクリメントを開始する。
再開時に1クロックマスクする内部信号を作ることで、
アドレスのインクリメントと残転送数のディクリメント
の1クロックマスクを実現することができる。
9に示すように、先にメモリアクセスとFIFO601
へのイネーブルを有効にしてA+3のメモリアドレスに
対応するデータのFIFO601への書き込みを担保し
てやる必要がある。この書き込み担保の後に時点510
と511で示すタイミングでメモリアドレスのインクリ
メントを実行し、転送数のディクリメントを開始する。
再開時に1クロックマスクする内部信号を作ることで、
アドレスのインクリメントと残転送数のディクリメント
の1クロックマスクを実現することができる。
【0050】なお、本実施の形態では、メモリ101か
らFIFO601へデータが転送される場合で説明した
ので、BEFORE EMPTY信号を再開条件とした
が、反対にFIFO601からメモリ101へデータが
転送される場合にはBEFORE FULL信号が再開
条件となる。
らFIFO601へデータが転送される場合で説明した
ので、BEFORE EMPTY信号を再開条件とした
が、反対にFIFO601からメモリ101へデータが
転送される場合にはBEFORE FULL信号が再開
条件となる。
【0051】以上のように本実施の形態によれば、FI
FO601の受信容量に余裕が出たことをFIFO60
1からのステータス信号cで認識することで、中断時か
らの続きとしてのDMA転送を再開するようにしたこと
により、演算処理チャネルにとって必要なデータが転送
されてこないといった転送アンダーフローの状態を回避
することが可能となる。
FO601の受信容量に余裕が出たことをFIFO60
1からのステータス信号cで認識することで、中断時か
らの続きとしてのDMA転送を再開するようにしたこと
により、演算処理チャネルにとって必要なデータが転送
されてこないといった転送アンダーフローの状態を回避
することが可能となる。
【0052】(実施の形態5)本発明の実施の形態5に
よるDMA制御システムは実施の形態1〜4の構成のす
べてを有するシステムである。
よるDMA制御システムは実施の形態1〜4の構成のす
べてを有するシステムである。
【0053】本実施の形態によるDMA制御システムの
動作を図7を用いて説明する。図7は本実施の形態によ
るDMA制御システムの動作を示すフローチャートであ
る。
動作を図7を用いて説明する。図7は本実施の形態によ
るDMA制御システムの動作を示すフローチャートであ
る。
【0054】まず、DMAに必要な設定を実行する(S
1)。当然ながらFIFOサイズを越えるデータの転送
を実行する設定を行うことが、本実施の形態でのDMA
制御システムを利用する前提となる。
1)。当然ながらFIFOサイズを越えるデータの転送
を実行する設定を行うことが、本実施の形態でのDMA
制御システムを利用する前提となる。
【0055】実施の形態1で説明したように、設定に従
って、メモリアクセス等の出力をはじめとしてデータ転
送を開始する(S2)。
って、メモリアクセス等の出力をはじめとしてデータ転
送を開始する(S2)。
【0056】次に、実施の形態3で説明した中断状態に
なったか否かの判定を行う(S3)。この中断条件が成
立したところで中断処理に移行する(S4)。中断条件
が成立しなければデータ転送が続行される。中断処理は
実施の形態3で説明した通りであり、メモリアクセスの
停止、アドレスインクリメント停止、FIFOへのイネ
ーブル停止等の処理が行われる。
なったか否かの判定を行う(S3)。この中断条件が成
立したところで中断処理に移行する(S4)。中断条件
が成立しなければデータ転送が続行される。中断処理は
実施の形態3で説明した通りであり、メモリアクセスの
停止、アドレスインクリメント停止、FIFOへのイネ
ーブル停止等の処理が行われる。
【0057】次に、実施の形態4で説明した再開状態の
判定を行う(S5)。再開状態と判定されたときには実
施の形態4で説明した通りのDMA転送が再開される
(S6)。再開状態でないと判定されたときには中断状
態を続行する。
判定を行う(S5)。再開状態と判定されたときには実
施の形態4で説明した通りのDMA転送が再開される
(S6)。再開状態でないと判定されたときには中断状
態を続行する。
【0058】ステップ3〜ステップ6の中断と再開を繰
り返しながらDMA転送を続行していき、転送数分の実
行が行われた判定されれば(S7)、設定にしたがった
DMA転送は終了し、終了処理を実行する(S8)。
り返しながらDMA転送を続行していき、転送数分の実
行が行われた判定されれば(S7)、設定にしたがった
DMA転送は終了し、終了処理を実行する(S8)。
【0059】以上のように本実施の形態によれば、実施
の形態2で説明したようにDMAコントローラ104が
FIFOのデータ蓄積状況を監視していることを前提と
して、実施の形態3での中断と実施の形態4での再開と
を任意の回数繰り返すことで、FIFOサイズをはるか
に越えるデータ容量の転送設定の場合でも、一度の設定
でDMA転送の処理をすることが可能となり、DMA転
送効率を向上させることが可能となる。
の形態2で説明したようにDMAコントローラ104が
FIFOのデータ蓄積状況を監視していることを前提と
して、実施の形態3での中断と実施の形態4での再開と
を任意の回数繰り返すことで、FIFOサイズをはるか
に越えるデータ容量の転送設定の場合でも、一度の設定
でDMA転送の処理をすることが可能となり、DMA転
送効率を向上させることが可能となる。
【0060】
【発明の効果】以上のように本発明のDMA制御システ
ムによれば、メモリと複数の演算処理チャネルとの間で
データのやり取りを行わせるDMAコントローラを有す
るDMA制御システムであって、演算処理チャネルとの
入出力データを一時的に保持するデータ保持回路を有す
ることにより、DMAコントローラは、データ保持回路
でのデータ保持状態に応じてデータ転送を中断したり、
再開したりすることができるので、データのオーバーフ
ローやアンダーフローが起こることがなく、メモリと演
算処理チャネルとの間の大容量データ転送を一度で行う
データ転送設定においてデータ転送を途中で破綻させる
ことなく完全に行うことができるという有利な効果が得
られる。
ムによれば、メモリと複数の演算処理チャネルとの間で
データのやり取りを行わせるDMAコントローラを有す
るDMA制御システムであって、演算処理チャネルとの
入出力データを一時的に保持するデータ保持回路を有す
ることにより、DMAコントローラは、データ保持回路
でのデータ保持状態に応じてデータ転送を中断したり、
再開したりすることができるので、データのオーバーフ
ローやアンダーフローが起こることがなく、メモリと演
算処理チャネルとの間の大容量データ転送を一度で行う
データ転送設定においてデータ転送を途中で破綻させる
ことなく完全に行うことができるという有利な効果が得
られる。
【0061】請求項2に記載の発明によれば、請求項1
に記載の発明において、データ保持回路は、自己のデー
タ蓄積状況を判定するデータ蓄積状況判定部を有し、デ
ータ蓄積状況判定部における判定結果をDMAコントロ
ーラに通知することにより、DMAコントローラは、デ
ータ保持回路におけるデータ蓄積状況の判定結果に基づ
いて、データ転送の中断、再開を行うことができるの
で、データのオーバーフローやアンダーフローが起こる
ことがなく、メモリと演算処理チャネルとの間の大容量
データ転送を一度で行うデータ転送設定においてデータ
転送を途中で破綻させることなく完全に行うことができ
るという有利な効果が得られる。
に記載の発明において、データ保持回路は、自己のデー
タ蓄積状況を判定するデータ蓄積状況判定部を有し、デ
ータ蓄積状況判定部における判定結果をDMAコントロ
ーラに通知することにより、DMAコントローラは、デ
ータ保持回路におけるデータ蓄積状況の判定結果に基づ
いて、データ転送の中断、再開を行うことができるの
で、データのオーバーフローやアンダーフローが起こる
ことがなく、メモリと演算処理チャネルとの間の大容量
データ転送を一度で行うデータ転送設定においてデータ
転送を途中で破綻させることなく完全に行うことができ
るという有利な効果が得られる。
【0062】請求項3に記載の発明によれば、請求項2
に記載の発明において、データ保持回路は、データ蓄積
状況の判定結果に基づき中断状態とすべきか否かを判定
する中断状態判定部を有し、中断状態判定部における判
定結果をDMAコントローラに通知し、DMAコントロ
ーラは、中断状態判定部で中断すべきと判定したときに
はメモリと演算処理チャネルとの間のデータ転送を中断
する中断処理部と、中断処理部による中断時の設定デー
タを保存する中断時情報保存部とを有することにより、
DMAコントローラは、中断状態判定部で中断すべきと
判定したときにはデータ転送を中断し、中断時の設定デ
ータを保存するようにしたので、データ転送の中断を確
実に行うことができるという有利な効果が得られる。
に記載の発明において、データ保持回路は、データ蓄積
状況の判定結果に基づき中断状態とすべきか否かを判定
する中断状態判定部を有し、中断状態判定部における判
定結果をDMAコントローラに通知し、DMAコントロ
ーラは、中断状態判定部で中断すべきと判定したときに
はメモリと演算処理チャネルとの間のデータ転送を中断
する中断処理部と、中断処理部による中断時の設定デー
タを保存する中断時情報保存部とを有することにより、
DMAコントローラは、中断状態判定部で中断すべきと
判定したときにはデータ転送を中断し、中断時の設定デ
ータを保存するようにしたので、データ転送の中断を確
実に行うことができるという有利な効果が得られる。
【0063】請求項4に記載の発明によれば、請求項2
に記載の発明において、データ保持回路は、データ蓄積
状況の判定結果に基づき再開状態とすべきか否かを判定
する再開状態判定部を有し、再開状態判定部における判
定結果をDMAコントローラに通知し、DMAコントロ
ーラは、再開状態判定部で再開すべきと判定したときに
はメモリと演算処理チャネルとの間のデータ転送を中断
時情報保存部に保存した中断時の設定データに従って再
開する再開処理部を有することにより、DMAコントロ
ーラは、再開状態判定部で再開すべきと判定したときに
は保存した中断時の設定データに従ってデータ転送を再
開するようにしたので、中断したデータ転送の再開を確
実に行うことができるという有利な効果が得られる。
に記載の発明において、データ保持回路は、データ蓄積
状況の判定結果に基づき再開状態とすべきか否かを判定
する再開状態判定部を有し、再開状態判定部における判
定結果をDMAコントローラに通知し、DMAコントロ
ーラは、再開状態判定部で再開すべきと判定したときに
はメモリと演算処理チャネルとの間のデータ転送を中断
時情報保存部に保存した中断時の設定データに従って再
開する再開処理部を有することにより、DMAコントロ
ーラは、再開状態判定部で再開すべきと判定したときに
は保存した中断時の設定データに従ってデータ転送を再
開するようにしたので、中断したデータ転送の再開を確
実に行うことができるという有利な効果が得られる。
【0064】請求項5に記載の発明によれば、請求項1
に記載の発明において、データ保持回路は、自己のデー
タ蓄積状況を判定するデータ蓄積状況判定部と、データ
蓄積状況の判定結果に基づき中断状態とすべきか否かを
判定する中断状態判定部と、データ蓄積状況の判定結果
に基づき再開状態とすべきか否かを判定する再開状態判
定部とを有し、中断状態判定部における判定結果または
再開状態判定部における判定結果をDMAコントローラ
に通知し、DMAコントローラは、中断状態判定部で中
断すべきと判定したときにはメモリと演算処理チャネル
との間のデータ転送を中断する中断処理部と、中断処理
部による中断時の設定データを保存する中断時情報保存
部と、再開状態判定部で再開すべきと判定したときには
メモリと演算処理チャネルとの間のデータ転送を中断時
情報保存部に保存した中断時の設定データに従って再開
する再開処理部とを有することにより、DMAコントロ
ーラは、中断状態判定部で中断すべきと判定したときに
はデータ転送を中断し、中断時の設定データを保存し、
再開状態判定部で再開すべきと判定したときには保存し
た中断時の設定データに従ってデータ転送を再開するよ
うにして、データ転送の中断、中断したデータ転送の再
開を確実に行うことができるので、データのオーバーフ
ローやアンダーフローが起こることがなく、メモリと演
算処理チャネルとの間の大容量データ転送を一度で行う
データ転送設定においてデータ転送を途中で破綻させる
ことなく完全に行うことができるという有利な効果が得
られる。
に記載の発明において、データ保持回路は、自己のデー
タ蓄積状況を判定するデータ蓄積状況判定部と、データ
蓄積状況の判定結果に基づき中断状態とすべきか否かを
判定する中断状態判定部と、データ蓄積状況の判定結果
に基づき再開状態とすべきか否かを判定する再開状態判
定部とを有し、中断状態判定部における判定結果または
再開状態判定部における判定結果をDMAコントローラ
に通知し、DMAコントローラは、中断状態判定部で中
断すべきと判定したときにはメモリと演算処理チャネル
との間のデータ転送を中断する中断処理部と、中断処理
部による中断時の設定データを保存する中断時情報保存
部と、再開状態判定部で再開すべきと判定したときには
メモリと演算処理チャネルとの間のデータ転送を中断時
情報保存部に保存した中断時の設定データに従って再開
する再開処理部とを有することにより、DMAコントロ
ーラは、中断状態判定部で中断すべきと判定したときに
はデータ転送を中断し、中断時の設定データを保存し、
再開状態判定部で再開すべきと判定したときには保存し
た中断時の設定データに従ってデータ転送を再開するよ
うにして、データ転送の中断、中断したデータ転送の再
開を確実に行うことができるので、データのオーバーフ
ローやアンダーフローが起こることがなく、メモリと演
算処理チャネルとの間の大容量データ転送を一度で行う
データ転送設定においてデータ転送を途中で破綻させる
ことなく完全に行うことができるという有利な効果が得
られる。
【図1】本発明の実施の形態1によるDMA制御システ
ムを示すブロック図
ムを示すブロック図
【図2】DMAコントローラを詳細に示す回路図
【図3】本発明の実施の形態2によるDMA制御システ
ムを示すブロック図
ムを示すブロック図
【図4】本発明の実施の形態3におけるDMA制御のブ
ロック図とFIFO動作を表わす図
ロック図とFIFO動作を表わす図
【図5】本発明の実施の形態3の動作タイミング図
【図6】本発明の実施の形態4におけるDMA制御のブ
ロック図とFIFO動作を表わす図
ロック図とFIFO動作を表わす図
【図7】本発明の実施の形態5によるDMA制御システ
ムの動作を示すフローチャート
ムの動作を示すフローチャート
101 メモリ 102 CPU 103 ROM 104 DMAコントローラ 105 バス 106、107、114、203、204、207、2
08、303、305、403、603 信号線 108、109、110、302 演算処理チャネル 111、112、113、301、401、601 F
IFO(データ保持回路) 201a〜201f 入力端子 201g〜201i 出力端子 202 アドレスデコーダ 205、206、214 論理積回路 209、210 レジスタ 211 インクリメント回路 212 ディクリメント回路 213 終了判定回路 215 中断・再開判定回路 304 データ蓄積状況判定部 402 中断状態判定部 404 中断処理部 405、604 中断時情報保存部 406 空の領域 407 データが溜まっている領域 602 再開状態判定部 605 再開処理部
08、303、305、403、603 信号線 108、109、110、302 演算処理チャネル 111、112、113、301、401、601 F
IFO(データ保持回路) 201a〜201f 入力端子 201g〜201i 出力端子 202 アドレスデコーダ 205、206、214 論理積回路 209、210 レジスタ 211 インクリメント回路 212 ディクリメント回路 213 終了判定回路 215 中断・再開判定回路 304 データ蓄積状況判定部 402 中断状態判定部 404 中断処理部 405、604 中断時情報保存部 406 空の領域 407 データが溜まっている領域 602 再開状態判定部 605 再開処理部
Claims (5)
- 【請求項1】メモリと複数の演算処理チャネルとの間で
データのやり取りを行わせるDMAコントローラを有す
るDMA制御システムであって、前記演算処理チャネル
との入出力データを一時的に保持するデータ保持回路を
有することを特徴とするDMA制御システム。 - 【請求項2】前記データ保持回路は、自己のデータ蓄積
状況を判定するデータ蓄積状況判定部を有し、前記デー
タ蓄積状況判定部における判定結果を前記DMAコント
ローラに通知することを特徴とする請求項1に記載のD
MA制御システム。 - 【請求項3】前記データ保持回路は、前記データ蓄積状
況の判定結果に基づき中断状態とすべきか否かを判定す
る中断状態判定部を有し、前記中断状態判定部における
判定結果を前記DMAコントローラに通知し、前記DM
Aコントローラは、前記中断状態判定部で中断すべきと
判定したときには前記メモリと前記演算処理チャネルと
の間のデータ転送を中断する中断処理部と、前記中断処
理部による中断時の設定データを保存する中断時情報保
存部とを有することを特徴とする請求項2に記載のDM
A制御システム。 - 【請求項4】前記データ保持回路は、前記データ蓄積状
況の判定結果に基づき再開状態とすべきか否かを判定す
る再開状態判定部を有し、前記再開状態判定部における
判定結果を前記DMAコントローラに通知し、前記DM
Aコントローラは、前記再開状態判定部で再開すべきと
判定したときには前記メモリと前記演算処理チャネルと
の間のデータ転送を前記中断時情報保存部に保存した前
記中断時の設定データに従って再開する再開処理部を有
することを特徴とする請求項3に記載のDMA制御シス
テム。 - 【請求項5】前記データ保持回路は、自己のデータ蓄積
状況を判定するデータ蓄積状況判定部と、前記データ蓄
積状況の判定結果に基づき中断状態とすべきか否かを判
定する中断状態判定部と、前記データ蓄積状況の判定結
果に基づき再開状態とすべきか否かを判定する再開状態
判定部とを有し、前記中断状態判定部における判定結果
または前記再開状態判定部における判定結果を前記DM
Aコントローラに通知し、前記DMAコントローラは、
前記中断状態判定部で中断すべきと判定したときには前
記メモリと前記演算処理チャネルとの間のデータ転送を
中断する中断処理部と、前記中断処理部による中断時の
設定データを保存する中断時情報保存部と、前記再開状
態判定部で再開すべきと判定したときには前記メモリと
前記演算処理チャネルとの間のデータ転送を前記中断時
情報保存部に保存した前記中断時の設定データに従って
再開する再開処理部とを有することを特徴とする請求項
1に記載のDMA制御システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9275486A JPH11110338A (ja) | 1997-10-08 | 1997-10-08 | Dma制御システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9275486A JPH11110338A (ja) | 1997-10-08 | 1997-10-08 | Dma制御システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11110338A true JPH11110338A (ja) | 1999-04-23 |
Family
ID=17556199
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9275486A Pending JPH11110338A (ja) | 1997-10-08 | 1997-10-08 | Dma制御システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH11110338A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011530744A (ja) * | 2008-08-06 | 2011-12-22 | アスペン・アクイジション・コーポレーション | 停止可能および再始動可能dmaエンジン |
-
1997
- 1997-10-08 JP JP9275486A patent/JPH11110338A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011530744A (ja) * | 2008-08-06 | 2011-12-22 | アスペン・アクイジション・コーポレーション | 停止可能および再始動可能dmaエンジン |
| US8732382B2 (en) | 2008-08-06 | 2014-05-20 | Qualcomm Incorporated | Haltable and restartable DMA engine |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5696989A (en) | Microcomputer equipped with DMA controller allowed to continue to perform data transfer operations even after completion of a current data transfer operation | |
| US5892979A (en) | Queue control apparatus including memory to save data received when capacity of queue is less than a predetermined threshold | |
| JP3598321B2 (ja) | 異なる周波数で動作するバス間でやりとりされるバッファリングデータ | |
| JPH01277928A (ja) | 印刷装置 | |
| EP0212637B1 (en) | Mircrocomputer | |
| EP0239078B1 (en) | Register saving/restoring system | |
| AU664521B2 (en) | A synchronization control system in a parallel computer | |
| EP0315194A2 (en) | Microcomputer capable of accessing continuous addresses for a short time | |
| JP2003515805A (ja) | プロセッサシステム | |
| US5481756A (en) | DMA controller mailing auto-initialize halting unit | |
| JPH11110338A (ja) | Dma制御システム | |
| US6134642A (en) | Direct memory access (DMA) data transfer requiring no processor DMA support | |
| US5487157A (en) | Microprogrammed microcomputer with high-speed interrupt for DRAM refresh | |
| US5781433A (en) | System for detecting failure in information processing device | |
| JP2664144B2 (ja) | 多重化処理装置の切替方法および装置 | |
| JP2002312302A (ja) | 周辺装置 | |
| JP2007310735A (ja) | ダイレクトメモリアクセスコントローラ | |
| JPH03139751A (ja) | 優先度判定機能を有する通信用dmaコントローラ | |
| JPH10133997A (ja) | Dma制御装置 | |
| EP1104899A2 (en) | Data processing apparatus and method of controlling the same | |
| JP2002268876A (ja) | パイプライン処理方法、及び情報処理装置 | |
| JPH0546529A (ja) | ダイレクトメモリアクセス方式 | |
| JP3127737B2 (ja) | ディジタル信号処理装置 | |
| JPH01209563A (ja) | プロセッサ間通信方式 | |
| JPH0619817A (ja) | 通信プロセッサ |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040622 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040629 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040708 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050308 |