JP2000079741A - データ転送制御回路 - Google Patents
データ転送制御回路Info
- Publication number
- JP2000079741A JP2000079741A JP10252072A JP25207298A JP2000079741A JP 2000079741 A JP2000079741 A JP 2000079741A JP 10252072 A JP10252072 A JP 10252072A JP 25207298 A JP25207298 A JP 25207298A JP 2000079741 A JP2000079741 A JP 2000079741A
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- signal
- bus
- data
- time
- 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
- Accessory Devices And Overall Control Thereof (AREA)
- Bus Control (AREA)
Abstract
求に従ってデータ転送を制御する。転送待ちカウンタ5
は、最初に転送要求をしてから実際にバス権が獲得され
るまでの待ち時間を計測する。切替値検出回路6は、バ
ス権を要求してからバス権を獲得するまでの待ち時間に
対応するデータ量を決定し、その量のデータを一括して
自動転送するようにDMA転送シーケンス回路2を制御
する。 【効果】 DMAコントローラがバス権の獲得に手間取
った場合、アンダーラン等を発生させないよう、待ち時
間に応じて大量のデータを一括転送できる。
Description
アクセス(DMA)コントローラによるデータ転送制御
回路に関する。
し、CPUに代わってメモリやデバイス間のデータ転送
を行うためにダイレクトメモリアクセスコントローラが
広く利用されている。このダイレクトメモリアクセスコ
ントローラは、一般にデータ転送要求を受け付けると、
バス調停回路に対しバスの使用権を要求する。バスの使
用権を獲得すると、予め設定された単位量のデータを自
動転送した後、バス権を開放する。ダイレクトメモリア
クセスコントローラは、この動作を適当な周期で繰り返
す。このようにデータを単位量ずつ繰り返し転送し、要
求された全てのデータの転送を終えると処理を終了す
る。
な従来の技術には、次のような解決すべき課題があっ
た。バス権の要求が競合すると、バス調停回路は、バス
権の優先順位に基づいて優先順位の高いデバイスに対し
バス権を与える。CPUによるバス権要求は、通常、最
も優先度が高い。例えば、CPUの内部キャッシュがミ
スヒットしたような場合、CPUは、プログラムメモリ
を連続アクセスして必要なプログラムやデータを内部キ
ャッシュに読み込む。市販されているCPUには、この
ような動作時、CPUによるバス占有時間がかなり長い
ものがある。
ントエンジンに対して印刷用データを転送しているとき
を考える。プリントエンジンは、バッファメモリから順
番に印刷用データを読み出して印刷を実行する。DMA
コントローラは、このバッファメモリに対し印刷用デー
タを転送する。ところが、CPUがバスを長時間占有
し、DMA転送が待たされると、バッファメモリ中に読
み出すべきデータが不足することがある。
出力を途中で中断し、いわゆる白紙の印刷を行ってしま
う。こうした現象をアンダーランと呼んでいるが、DM
Aコントローラは、このアンダーランが発生しない範囲
でデータ転送を行うことが要求される。即ち、DMAコ
ントローラは、要求されるデータ転送速度を確保し、効
率的に合理的にデータ転送を行う必要がある。
するため次の構成を採用する。 〈構成1〉共有するバスを介してデータを自動転送する
データ転送手段と、上記バスの使用権を要求してからそ
の使用権を獲得するまでの待ち時間を計測する待ち時間
計測手段と、この待ち時間計測手段の計測した待ち時間
に対応したデータ量であってデータ転送先の許容量を越
えないデータ転送量を決定して、上記データ転送手段が
該当する量のデータを一括して自動転送するように制御
するラッシュアクセスモード制御手段を備えたことを特
徴とするデータ転送制御回路。
自動転送するデータ転送手段と、上記バスの使用権を要
求してからその使用権を獲得するまでの待ち時間を計測
する待ち時間計測手段と、一定値以下の待ち時間で上記
バス権を取得して上記データの自動転送を開始したとき
は、予め設定された単位量のデータを自動転送した後バ
ス権を開放し、上記待ち時間が上記一定値を越えて上記
データの自動転送が開始されたとき、データ転送先のバ
ッファがフルになるまで、その自動転送を継続するよう
制御するラッシュアクセスモード制御手段を備えたこと
を特徴とするデータ転送制御回路。
自動転送するデータ転送手段と、上記バスの使用権を要
求してからその使用権を獲得するまでの要求回数を計測
する要求回数計測手段と、1回の要求で上記バス権を取
得して上記データの自動転送を開始したときは、予め設
定された単位量のデータを自動転送した後バス権を開放
し、2回以上の要求で上記バス権を取得したときは、上
記単位量の要求回数倍に相当するデータ転送量を決定し
て、上記データ転送手段が該当する量のデータを一括し
て自動転送してからバス権を開放するように制御するラ
ッシュアクセスモード制御手段を備えたことを特徴とす
るデータ転送制御回路。
自動転送するデータ転送手段と、上記バスの使用権を要
求してから一定の待ち時間を計測する待ち時間計測手段
と、この待ち時間計測手段の計測した待ち時間を経過し
たとき、データ転送先の許容量を越えない範囲で、上記
データ転送手段が該当する量のデータを一括して自動転
送するように制御するラッシュアクセスモード制御手段
を備えたことを特徴とするデータ転送制御回路。
例を用いて説明する。 〈具体例1〉この具体例のデータ転送制御回路は、バス
の使用権を要求してからその使用権を獲得するまでの待
ち時間が長いときは、大量のデータを一括転送するよう
に制御する。このために、その待ち時間を計測する待ち
時間計測手段を設ける。また、大量のデータを一括転送
するために、ラッシュアクセスモードという動作状態を
設定する。これを制御するために、ラッシュアクセスモ
ード制御手段を設ける。
ロック図を示す。この図には、転送要求生成回路1、D
MA転送シーケンス回路2、微分回路3、ゲート4、転
送待ちカウンタ5、切替値検出回路6、信号セレクタ7
及びバス調停回路8が設けられている。
ラ本体部分を制御し、図示しないメモリからバスを介し
て他のメモリやデバイスにデータ転送を送る制御を行
う。DMA転送動作のシーケンスは、DMA転送シーケ
ンス回路2が制御する。このDMA転送シーケンス回路
2とこれに制御される回路を、この発明ではデータ転送
回路21と呼んでいる。また、転送待ちカウンタ5とそ
の周辺回路のことを待ち時間計測手段22と呼んでい
る。更に、切替値検出回路6のことをラッシュアクセス
モード制御手段23と呼んでいる。
説明する。転送要求生成回路1は、タイマや外部トリガ
転送回路等により構成されている。この回路によって、
転送要求信号C1がDMA転送シーケンス回路2と微分
回路3に入力される。微分回路3は、転送要求信号C1
を受け入れて、クロックC2の1サイクル分の転送要求
エッジ信号C3を生成し出力する回路である。ゲート4
は、この転送要求エッジ信号C3を受け入れて、ラッシ
ュアクセスモード信号C4がネゲートの状態で転送要求
エッジ信号C3をカウントイネーブル信号C5にして出
力する回路である。
セレクタ7と転送待ちカウンタ5とに出力される。カウ
ントイネーブル信号C5の値は、転送要求エッジ信号C
3がアサートの場合はアサート、転送要求エッジ信号C
3がネゲートの場合にはネゲートになる。また、ラッシ
ュアクセスモード信号C4がアサートの場合には、ゲー
ト4は閉じられ、転送要求エッジ信号C3の内容に関わ
らず、カウントイネーブル信号C5は常にネゲートとな
る。
C6を同期リセット信号とした同期カウンタである。こ
の転送待ちカウンタ5は、カウントイネーブル信号C5
がアサートされている状態で、クロックC2の立ち上が
りエッジをカウントし、カウントアップする。また、ア
クセス終了信号C6がアサートされている状態では、ク
ロックC2の立ち上がりエッジでカウンタ値が“0”に
リセットされる。転送待ちカウンタ5は、こうしてカウ
ンタ値C7を得て、切替値検出回路6に出力する。
持しており、転送待ちカウンタ5の出力するカウンタ値
C7と比較する。カウンタ値C7が閾値を越えた場合に
は、ラッシュアクセスモード信号C4をアサートし、そ
の他の場合にはラッシュアクセスモード信号C4をネゲ
ートするように動作する。この閾値はデータ転送遅延の
許容量から割り出した一定値である。
号C5をゲート信号として受け入れるゲートから構成さ
れる。切替値検出回路6から入力するラッシュアクセス
モード信号C4は、図の左側から入力する転送先バッフ
ァフル信号C8とノーマルアクセス終了信号C9のいず
れかを選択するための制御信号である。即ち、信号セレ
クタ7は、カウントイネーブル信号C5がネゲートさ
れ、ラッシュアクセスモード信号C4がアサートされて
いる場合、転送先バッファフル信号C8を選択して出力
する。これがアクセス終了信号C6としてDMA転送シ
ーケンス回路2に向け出力される。
ートされ、ラッシュアクセスモード信号C4がネゲート
されている場合には、ノーマルアクセス終了信号C9が
選択されアクセス終了信号C6として、DMA転送シー
ケンス回路2に出力される。なお、カウントイネーブル
信号C5がアサートされている場合には、アクセス終了
信号C6の値はネゲートされたまま一定に保持される。
回路8に対しバス権要求信号C10を出力すると共に、
バス調停回路8からバス権許可信号C11を受け付ける
よう構成されている。そして、転送要求信号C1がアサ
ートされると、バス権要求信号C10をアサートし、ア
クセス終了信号C6がアサートされるとバス権要求信号
C10をネゲートするよう構成されている。
のタイムチャートを示す。まず、待機状態では、転送待
ちカウンタ5のカウンタ値C7は、初期値状態即ち
“0”になっている。また、ラッシュアクセスモード信
号C4はネゲートされている。図2の(b)に示すよう
に、転送要求生成回路1から出力される転送要求信号C
1がアサートされる。一般に、DMAコントローラは、
例えば一定の時間おきに転送要求を発生させるため、タ
イマのカウントアップトリガ等がこの転送要求信号C1
をアサートさせるきっかけになる。
刻t1において、転送要求信号C1のアサートを検出
し、バス権要求信号C10をアサートする(図2
(c))。こうして、バス調停回路8に対しバス権の要
求が行われる。同時に、微分回路3は、クロックC2の
立ち上がりで転送要求信号C1を検出し、転送要求エッ
ジ信号C3をアサートする。次の時刻t2において、微
分回路3は、転送要求エッジ信号C3をネゲートする。
こうして、図2(e)に示すように、クロックC2の1
サイクル分のアサート信号を生成する。
C4がネゲートされているため、時刻t1から時刻t2
に転送要求エッジ信号C3のアサートに従い、カウント
イネーブル信号C5をアサートする。また、時刻t2に
おいて、転送要求エッジ信号C3のネゲートに従って、
カウントイネーブル信号C5をネゲートする。時刻t2
において、転送待ちカウンタ5は、カウントイネーブル
信号C5のアサートを検出することによってカウントア
ップを行う。転送待ちカウンタ5のカウンタ値C7は、
これにより“0”から“1”に変化する。
ロックC2をカウントし、そのカウンタ値C7を順に
“1”ずつカウントアップしていく(図2(g))。こ
の動作は、ラッシュアクセスモード信号C4がアサート
されるか、あるいはアクセス終了信号C6がアサートさ
れるまで継続する。
づいて、より優先順位の高いデバイスがバス権を要求し
ていない限り、このデータ転送制御回路に対しバス権を
与える。このとき、バス調停回路8の出力するバス権許
可信号C11がアサートされる(図2(d))。時刻t
5で、バス権許可信号C11がアサートされると、時刻
t6で、DMA転送シーケンス回路2がバス権許可信号
C11を検出し、DMA転送処理を開始する。指定され
た転送シーケンスが完了すると、ノーマルアクセス終了
信号C9がアサートされる(図2(i)、(j))。
ウンタ5のカウンタ値は、閾値である一定値(ここでは
切替値と表現している)に満たない。従って、切替値検
出回路6は、ラッシュアクセスモード信号C4をネゲー
トしたまま維持する。信号セレクタ7は、ノーマルアク
セス終了信号C9を選択して受け入れ、アクセス終了信
号C6をアサートする。時刻t9において、DMA転送
シーケンス回路2は、バス権要求信号C10をネゲート
する。バス調停回路8は、これを受けて、時刻t9にバ
ス権許可信号C11をネゲートする。こうして、DMA
転送が完了し、バスが開放されて他のバスにバス権が与
えられる状態になる。
ムチャートを示す。図3(a)に示す転送要求信号C
1、(e)、(f)に示す転送要求エッジ信号C3、カ
ウントイネーブル信号C5の出力までの動作は、図2に
示したノーマルアクセスモードと変わらない。ここで、
切替値検出回路6によるモード切り替えのための切替値
をnとする。
ント値が“1”だけアップし、nに変化したとする。こ
のとき、切替値検出回路6は、ラッシュアクセスモード
信号C4をアサートする。これによって、ゲート4のゲ
ート信号がネゲートされ、ゲート4の出力するカウント
イネーブル信号C5の値をネゲート固定とし、ラッシュ
アクセスモード信号アサート後のカウントアップを禁止
する。従って、転送待ちカウンタ5は、nのカウント値
C7を出力し続ける。
トされると、信号セレクタ7は転送先バッファフル信号
C8を受け入れるように動作を切り替える。即ち、この
状態で、DMA転送が続行され、時刻t8において、図
の(k)に示すように、転送先バッファフル信号C8が
アサートされると、信号セレクタ7はアクセス終了信号
C6をクロックC2の1周期分アサートする。DMA転
送シーケンス回路2はこれを受けて、時刻t9にバス権
要求信号C10をネゲートする。
6の入力により、カウンタ値C7が0へ戻り、ラッシュ
アクセスモード信号C4がネゲートされることを防止す
る。また、ラッシュアクセスモード信号C4は信号セレ
クタ7の選択信号を切り替える。カウントイネーブル信
号C5はネゲート固定となっているので、出力であるア
クセス終了信号C6の値は転送先バッファフル信号C8
の値と同一となる。バス調停回路8はバス権の優先順位
に基づいて、より優先順位の高いデバイスがバス権を要
求していない条件で、バスの開放を検出次第、時刻t5
において、バス権許可信号C11をアサートする。
れると、ラッシュアクセスモード信号C4はアサートを
維持しているので、信号セレクタ7の出力であるアクセ
ス終了信号C6の値は転送先バッファフル信号C8の値
と同一となる。転送先バッファフル信号C8がアサート
されることにより、信号セレクタ7の内部遅延分だけ遅
延して、アクセス終了信号C6がアサートされる。時刻
t9において、DMA転送シーケンス回路2により、ア
クセス終了信号C6のアサートが検出されるが、時刻t
3から時刻t9までにノーマルアクセス終了信号C9が
アサートされていてもDMA転送シーケンス回路2はラ
ッシュアクセスモード信号C4のアサートにより検出で
きない。
のアクセス終了信号C6のアサート検出により、DMA
転送シーケンス回路2はバス権要求信号C10をネゲー
トする。時刻t10において、バス調停回路8はバス権
要求信号C10のネゲートを検出し、バス権が開放され
たと判断し、バス権許可信号C11をネゲートし、バス
権を次のデバイスへ譲渡する。時刻t9において、転送
待ちカウンタ5は、転送先バッファフル信号C8のアサ
ートを検出し、カウンタ値C7の値をリセットし、0と
する。これにより、切替値検出回路6はラッシュアクセ
スモード信号C4をネゲートし、待機状態に戻る。
イムチャートを示す。これは、アクセスの終了と同時に
ラッシュアクセスモードになる条件が成立した場合の動
作である。時刻t1において、微分回路3は転送要求信
号C1を検出し、出力である転送要求エッジ信号C3を
アサートする。時刻t2において、微分回路3は転送要
求エッジ信号C3をネゲートし、クロックC2の1サイ
クル分のアサート信号を生成する。ゲート4は、ゲート
信号であるラッシュアクセスモード信号C4が待機状態
のままでネゲートされているため、時刻t1における転
送要求エッジ信号C3のアサートに従い、カウントイネ
ーブル信号C5をアサートする。また、時刻t2におけ
る転送要求エッジ信号C3のネゲートに従い、カウント
イネーブル信号C5をネゲートする。
信号C9がアサートされるが、信号セレクタ7にゲート
信号として入力されるカウントイネーブル信号C5も時
刻t1にてアサートされるため、信号セレクタ7の出力
であるアクセス終了信号C6はネゲート固定となる。時
刻t2において、転送待ちカウンタ5はカウントイネー
ブル信号C5を検出する。アクセス終了信号C6がネゲ
ートされているため、カウントアップを行い、カウンタ
値C7はn−1から切替値であるnへ変化する。
値nとなったことを検出し、時刻t2のカウンタ値変化
に対してラッシュアクセスモード信号C4をアサートす
る。ラッシュアクセスモード信号C4のアサートによ
り、ゲート4のゲート信号をネゲートとし、転送要求エ
ッジ信号C3の変化に関わらず、カウントイネーブル信
号C5の値をネゲート固定とし、ラッシュアクセスモー
ド信号アサート後のカウントアップを禁止する。
トされることにより、信号セレクタ7は出力であるアク
セス終了信号C6の値をノーマルアクセス終了信号C9
から転送先バッファフル信号C8に切り替える。このた
め、ノーマルアクセス終了信号C6のアサートは無視さ
れ、以降はラッシュアクセスモードとして、転送先バッ
ファフル信号C8のアサートを待つ。
チャートを示す。この図により、図4と同様の状況で、
カウンタ値C7が切替値nに満たない場合の動作を説明
する。時刻t1において、微分回路3は転送要求信号C
1を検出し、出力である転送要求エッジ信号C3をアサ
ートする。時刻t2において、微分回路3は転送要求エ
ッジ信号C3をネゲートし、クロックC2の1サイクル
分のアサート信号を生成する。ゲート4はゲート信号で
あるラッシュアクセスモード信号C4が待機状態のまま
でネゲートされているため、時刻t1における転送要求
エッジ信号C3のアサートに従い、カウントイネーブル
信号C5をアサートする。また、時刻t2における転送
要求エッジ信号C3のネゲートに従い、カウントイネー
ブル信号C5をネゲートする。
信号C9がアサートされるが、信号セレクタ7にゲート
信号として入力されるカウントイネーブル信号C5も時
刻t1にてアサートされる。このため、信号セレクタ7
の出力であるアクセス終了信号C6はネゲート固定とな
る。時刻t2において、転送待ちカウンタ5はカウント
イネーブル信号C5を検出し、アクセス終了信号C6が
ネゲートされているため、カウントアップを行い、カウ
ンタ値C7はm−1からmへ変化する。
替値nに満たないため、ラッシュアクセスモード信号C
4のネゲートを維持する。時刻t2における、転送要求
エッジ信号C3のネゲートにより、カウントイネーブル
信号C5がネゲートされる。信号セレクタ7は、ノーマ
ルアクセス終了信号C9がアサートされているため、ア
クセス終了信号C6をアサートする。時刻t3におい
て、DMA転送シーケンス回路2は、アクセス終了信号
C6のアサートを検出し、バス権要求信号C10をネゲ
ートする。同時に、転送待ちカウンタ5はアクセス終了
信号C6のネゲートを検出し、カウンタ値C7をリセッ
トし、待機時の値である0とする。
期でアサートされる転送要求の回数や、転送要求を出し
てから実際にバス権が与えられるまでの時間を、適当な
待ち時間計測手段により計測し、この時間が一定値を越
えた場合には、ラッシュアクセスモードとすればよい。
従って、この待ち時間の計測手段の構成は、ハードウェ
アあるいはソフトウェア等、様々な回路に変更すること
ができる。また、ラッシュアクセスモードの制御切り替
えのためのハードウェアやソフトウェアも同等の趣旨で
任意に変更して差し支えない。
求から使用権を獲得するまでの待ち時間を計測し、その
待ち時間が一定値を越えた場合には、ラッシュアクセス
モードとし、転送先のバッファがフルになるまで自動転
送を行うので、バス権が長期間取得できなかったような
場合に生じる転送先でのアンダーランやデータ待ちによ
るシーケンスの停滞を防止できる。
ると、転送先のバッファがフルになるまでバス権取得を
維持するため、同じデータ量を複数回に分けて転送する
場合に比べてバス権取得の手順が簡略化される。即ち、
単位量ずつデータ転送を行う場合には、その都度バス権
の取得開放、その他の手順が必要となるが、こうした処
理が短縮されることによって、実質的にバスの占有時間
が短くなる。従って、システム全体のスループットを向
上させることができる。
可能なサイクル数は、次の式によって求めることができ
る。 α=((β/γ)−1)×(δ+ε+ζ−η) ただし、各記号は以下の通りである。 α:短縮サイクル数 β:転送先バッファの空きデータ量 γ:通常1回のバス取得で転送されるデータ量 δ:バス権開放状態から転送開始までに必要なサイクル
数 ε:転送完了からバス開放までに必要なサイクル数 ζ:ファーストアクセスに必要なサイクル数 η:連続アクセスに必要なサイクル数具体的には、1回
に付き、この計算で得られるような手順を省略できる。
転送先の許容量の限度であるバッファメモリがいっぱい
になるまでのデータ量を設定し、一定以上バス権要求が
待たされた場合、このバッファメモリがいっぱいになる
までデータを転送した。しかしながら、一般に、DMA
コントローラは、バスの占有時間を十分に短くするため
に単位量ずつデータを転送する。そのために、タイマ等
を用いて一定時間おきにバス権を取得し、単位量のデー
タを転送する。従って、もしバス権要求が受け入れられ
ず、例えば3回分のデータ転送が待たされた場合には、
3回分のデータを一括転送すればリカバリーが可能であ
る。この具体例はこうした機能をデータ転送制御回路に
持たせる。
ブロック図を示す。この回路は、図1に示した回路のゲ
ート4の代わりにエクスクルーシブオア回路11を設け
ている。また、信号セレクタ7の代わりにゲート10を
設けている。転送要求生成回路1、DMA転送シーケン
ス回路2、微分回路3等の動作は、具体例1と同様であ
る。微分回路3から出力される転送要求エッジ信号C3
は、転送待ちカウンタ5とエクスクルーシブオア回路1
1に入力する。転送待ちカウンタ5の動作も具体例1と
同様である。
ネーブル信号C14がアサートされている状態でクロッ
クC2の立ち上がりエッジをカウントし、カウントアッ
プする。また、ノーマルアクセス終了信号C9がアサー
トされて、カウントイネーブル信号C14がアサートさ
れている状態で、クロックC2の立ち上がりエッジによ
りカウントダウンされる。クロックC2の立ち上がりエ
ッジにおいて、転送要求エッジ信号C3とノーマルアク
セス終了信号C9が共にアサートされている場合には、
カウントイネーブル信号C14がネゲートされて、転送
待ちカウンタ5は値を変更しない。
求エッジ信号C3とノーマルアクセス終了信号C9とを
受け入れて、カウントイネーブル信号C14を生成する
ように構成されている。終了検出回路9は、転送待ちカ
ウンタ5の出力するカウンタ値C7を受け入れて、その
最下位ビットを除いたビットのオア出力をラッシュアク
セスモード信号C12として出力する回路である。カウ
ンタ値C7が“0”あるいは“1”以外の場合に、この
ラッシュアクセスモード信号C12はアサートとなり、
カウント値C7が“0”または“1”の際、ネゲートと
なる。
ート10を制御するように構成する。このゲート10
は、ラッシュアクセスモード信号C12がネゲートされ
ている場合、アクセス終了信号C13の値をノーマルア
クセス終了信号C9と同一にする。また、ラッシュアク
セスモード信号C12がアサートされている場合には、
アクセス終了信号C13の値をネゲートし、固定する。
その他の部分は具体例1と同様の構成である。
明する。図7は、ノーマルアクセスモードタイムチャー
トである。まず、待機状態には、転送待ちカウンタ5の
出力であるカウンタ値C7は初期状態であり、ラッシュ
アクセスモード信号はネゲートされている。通常では、
このタイムチャートのように、転送要求生成回路1にお
いて、DMA転送の必要条件が発生すると転送要求信号
C1がアサートされる。DMA転送シーケンス回路2
は、時刻t1において、転送要求信号C1のアサートを
検出して、バス権要求信号C10をアサートし、バス調
停回路8に対してバス権を要求する。
クロックC2の立ち上がりで転送要求信号C1を検出
し、転送要求エッジ信号C3をアサートする。時刻t2
において、微分回路3は転送要求エッジ信号C3をネゲ
ートし、クロックC2の1サイクル分のアサート信号を
生成する。時刻t2において、転送要求エッジ信号C3
がアサートされ、ノーマルアクセス終了信号C9がネゲ
ートされているため、2つの排他的論理和の出力である
カウントイネーブル信号C14はアサートされている。
転送待ちカウンタ5は、カウントイネーブル信号C14
のアサートを検出することにより、転送要求エッジ信号
C3のアサートに従い、カウントアップし、カウンタ値
C7の値は0から1へ変化する。
づいて、より優先順位の高いデバイスがバス権を要求し
ていない条件で、バス権の開放を検出次第、時刻t5に
おいて、バス権許可信号Kをアサートする。時刻t6に
おいて、DMA転送シーケンス回路2は、バス権許可信
号Kを検出し、時刻t6からDMA転送を開始する。指
定された転送シーケンスを完了すると、ノーマルアクセ
ス終了信号C9がアサートされる。
信号C9がアサートされ、転送要求エッジ信号C3がネ
ゲートされているため、2つの排他的論理和の出力であ
るカウントイネーブル信号C14はアサートされる。転
送待ちカウンタ5はカウントイネーブル信号C14のア
サートを検出することにより、ノーマルアクセス終了信
号C9のアサートに従い、カウントダウンし、カウンタ
値C7の値は1から0へ変化する。
1となっているため、ラッシュアクセスモード信号C1
2はネゲートされている。そのため、ゲート10は、ノ
ーマルアクセス終了信号C9のアサートをアクセス終了
信号C13のアサートとして出力し、DMA転送シーケ
ンス回路2へ入力する。DMA転送シーケンス回路2
は、時刻t9において、アクセス終了信号C13のアサ
ートを検出するとDMA転送を終了して、バス権要求信
号C10をネゲートする。
バス権要求信号C10のネゲートを検出するとバス権が
開放されたと判断し、バス権許可信号C11をネゲート
し、バス権を次のデバイスへ譲渡する。バス権許可信号
C11がネゲートされた時点でDMA転送が完了し、D
MA転送シーケンス回路2は転送要求信号C1のアサー
トを待つ待機状態となる。
ち状態のタイムチャートである。時刻t1から時刻t4
までは図7のタイムチャートの時刻t1から時刻t4ま
でと同じシーケンスとなる。バス権要求信号C10をア
サートしても一向にバス権許可信号C11がアサートさ
れない場合、バス権を取得する前に次のDMA転送の必
要条件が発生して、転送要求信号C1がアサートされ
る。DMA転送シーケンス回路2は、バス権要求信号C
10がアサートされている条件では、この転送要求信号
C1を無視する。
C2の立ち上がりで転送要求信号C1を検出し、転送要
求エッジ信号C3をアサートする。時刻t7において、
微分回路3は転送要求エッジ信号C3をネゲートし、ク
ロックC2の1サイクル分のアサート信号を生成する。
時刻t7において、転送要求エッジ信号C3がアサート
され、ノーマルアクセス終了信号C9がネゲートされて
いるため、2つの排他的論理和の出力であるカウントイ
ネーブル信号C14はアサートされている。
ル信号C14のアサートを検出することにより、転送要
求エッジ信号C3のアサートに従い、カウントアップ
し、カウンタ値C7の値は“1”から“2”へ変化す
る。終了検出回路9はカウンタ値C7の値が“0”また
は“1”以外になったことを検出し、ラッシュアクセス
モード信号C12をアサートする。
のタイムチャートである。バス調停回路8は、バス権の
優先順位に基づいて、より優先順位の高いデバイスがバ
ス権を要求していない条件で、バス権の開放を検出次
第、時刻t10において、バス権許可信号C11をアサ
ートする。時刻t11において、DMA転送シーケンス
回路2はバス権許可信号C11を検出し、時刻t11か
らDMA転送を開始する。指定された転送シーケンスを
完了すると、ノーマルアクセス終了信号C9がアサート
される。時刻t13において、ノーマルアクセス終了信
号C9がアサートされ、転送要求エッジ信号C3がネゲ
ートされているため、2つの排他的論理和の出力である
カウントイネーブル信号C14はアサートされる。
ル信号C14のアサートを検出することにより、ノーマ
ルアクセス終了信号C9のアサートに従い、カウントダ
ウンし、カウンタ値C7の値はmからm−1へ変化す
る。時刻t13において、カウンタ値C7の値はmとな
っているため、ラッシュアクセスモード信号C12はア
サートを維持し、ゲート10はノーマルアクセス終了信
号C9のアサートを無視してアクセス終了信号C13の
値をネゲート固定で維持する。そのため、DMA転送シ
ーケンス回路2へはアクセス終了の信号は入力されず、
DMA転送シーケンス回路2はDMA転送を続ける。
毎にカウンタ値はカウントダウンを行い、カウンタ値が
2となっている状態でノーマルアクセス終了信号C9が
アサートされると、時刻t16において、ノーマルアク
セス終了信号C9がアサートされる。転送要求エッジ信
号C3がネゲートされているため、2つの排他的論理和
の出力であるカウントイネーブル信号C14はアサート
されている。
ル信号C14のアサートを検出することにより、ノーマ
ルアクセス終了信号C9のアサートに従い、カウントダ
ウンし、カウンタ値C7の値は“2”から“1”へ変化
する。終了検出回路9は、カウンタ値C7の値が“0”
または“1”となったことを検出し、ラッシュアクセス
モード信号C12をネゲートする。これ以降は図7のタ
イムチャートにおける時刻t8以降と同一となる。
送要求信号C1がアサートしてから次の転送要求信号C
1がアサートされる前にバス権許可信号Kがアサートさ
れ、DMA転送を完了する必要がある。この際は転送要
求信号C1とバス権許可信号Kが交互にアサートされる
ことになる。
サート状態のタイムチャートである。時刻t2におい
て、転送要求信号C1が微分回路3により検出され、転
送要求エッジ信号C3がアサートされる。よって、時刻
t3において、転送要求エッジ信号C3がアサートされ
る。ノーマルアクセス終了信号C9がアサートされてい
るため、2つの排他的論理和の出力であるカウントイネ
ーブル信号C14はネゲートされている。転送待ちカウ
ンタ5は、カウントイネーブル信号C14のネゲートを
検出することにより、カウントを行わず、カウンタ値C
7の値はmを維持する。これにより、転送要求エッジ信
号C3のカウントアップとノーマルアクセス終了信号C
9のカウントダウンによる相殺を実現する。
上転送要求が待たされた場合に、待たされた回数分の要
求回数を転送待ちカウンタ5により計測し、単位量の要
求回数倍に相当するデータ転送量を決定して、このデー
タを一括転送するので、具体例1と同様にアンダーラン
やデータ待ちによるシーケンスの停滞を防止できる。し
かも、待たされた回数分だけDMA転送を行うため、短
期間待たされた状態では、DMA転送時間は短くなる。
従って、バスの占有時間も短くなり、システムの負担が
軽減される。
ータ量が多くなり、連続転送によって具体例1と同様、
バス権獲得のための処理等の時間が節約される。また、
DMA転送中に、転送要求信号C1を受け付けることが
可能なため、対象デバイスとDMAコントローラとの並
列処理が可能になる。
号を受け入れる必要がなくなり、ハードウェアが簡単に
なる他、外部デバイスの種別を問わずに実現することが
可能な特徴を持つ。なお、この具体例の場合にも、要求
回数を計測する手段の構成や方法は任意に変更が可能で
ある。
して従来のDMAコントローラと同様に、単位量のデー
タを転送する動作を繰り返し、待ち時間が著しく長くな
った場合にデータの一括転送を行うようにした。この具
体例では、予め待ち転送要求回数を決めておき、それま
では単位量のデータ転送等も行わず、一定の条件が満た
されると、一括してデータ転送を実行する。なお、この
場合にも、データ転送先の許容量を越えないデータ転送
量を設定することは言うまでもない。
路ブロック図を示す。この図の転送要求生成回路1、微
分回路3、ゲート4、転送待ちカウンタ5等は、具体例
1のものと同様である。ここで、この具体例では、転送
待ちカウンタ5の出力するカウンタ値C7を受け入れる
切替値検出回路6がラッシュアクセスモード信号C15
を生成する。また、この出力を受け入れる微分回路12
を新たに設けている。さらに、具体例1において、転送
先バッファフル信号C8を受け入れた信号セレクタ7が
省略されている。即ち、転送先バッファフル信号C8を
DMA転送シーケンス回路2に受け入れる構成となって
いる。
転送待ちカウンタ5は、クロックC2を同期クロックと
し、転送要求エッジ信号C3がアサートされている状態
で、そのクロックC2の立ち上がりエッジを検出し、カ
ウントアップする。また、転送先バッファフル信号C8
の入力によってリセットされる。
備えており、カウンタ値C7がその閾値を超えた場合
に、ラッシュアクセスモード信号C15をアサートする
ように構成されている。この切替値検出回路6で設定す
る閾値は、DMA転送対象のバッファのサイズから求め
られるバッファの空き空間を転送データが満たすだけの
時間に対応させておく。
分回路12に入力するように構成されている。微分回路
12は、このラッシュアクセスモード信号C15がアサ
ートされると、最初の1クロック分でアサートするシー
ケンス開始信号C16を出力する。このシーケンス開始
信号C16はDMA転送シーケンス回路2に入力する。
DMA転送シーケンス回路2は、このシーケンス開始信
号C16が入力すると、シーケンスを開始し、DMAの
転送要求とDMA転送が開始される。
ら転送要求があっても、転送待ちカウンタ5で一定の転
送要求回数を計測し、その時間を経過したとき、DMA
転送シーケンス回路2を起動する。その後は、一挙にデ
ータ転送を行い、相手先のバッファがフルになった場合
に転送が終了する。
ード切替待ち時間のタイミングチャートを示す。また、
図13には、ラッシュアクセスモードの転送時間のタイ
ムチャートを示す。これらの図を用いて、上記の回路の
動作を説明する。タイマまたは外部トリガ等で構成され
る転送要求生成回路1の出力である転送要求信号C1は
微分回路3に接続される。転送要求信号C1は微分回路
3によりクロックC2の1サイクル分の転送要求エッジ
信号C3に加工され、ゲート4に接続される。ゲート4
は、ラッシュアクセスモード信号C15により制御さ
れ、ラッシュアクセスモード信号C15がネゲートの状
態でカウントイネーブル信号C5の値は転送要求エッジ
信号C3がアサートの場合はアサート、転送要求エッジ
信号C3がネゲートの場合はネゲートとなる。ラッシュ
アクセスモード信号C15がアサートの場合、転送要求
エッジ信号C3の値に関係なくカウントイネーブル信号
C5の値は常にネゲートとなる。
期クロックとして、転送要求エッジ信号C3がアサート
されている状態のクロックC2の立ち上がりエッジでカ
ウントアップされ、転送先バッファフル信号C8を同期
リセットとする同期カウンタである。切替値検出回路6
はカウンタ値C7を監視し、規定の値となった時点でラ
ッシュアクセスモード信号C15をアサートする。切替
値検出回路6における規定値は、DMA転送対象バッフ
ァのサイズから求められるバッファの空き空間に対応す
る。ラッシュアクセスモード信号C15は微分回路12
に接続される。微分回路12は、ラッシュアクセスモー
ド信号C15がアサートされた最初の1クロック分でア
サートするシーケンス開始信号C16を出力する。
るバス権要求信号C10がバス調停回路8と接続され、
バス調停回路8は出力であるバス権許可信号KがDMA
転送シーケンス回路2と接続される。シーケンス開始信
号C16のアサートによりシーケンスを開始し、転送先
バッファフル信号C8のアサートによりシーケンスが停
止する。
5の出力であるカウンタ値C7は初期状態であり、ラッ
シュアクセスモード信号C15はネゲートされている。
転送要求生成回路1において、DMA転送の必要条件が
発生すると、転送要求信号C1がアサートされる。時刻
t1において、微分回路3は、クロックC2の立ち上が
りで転送要求信号C1を検出し、転送要求エッジ信号C
3をアサートする。時刻t2において、微分回路3は転
送要求エッジ信号C3をネゲートし、クロックC2の1
サイクル分のアサート信号を生成する。
セスモード信号C15が待機状態のままネゲートされて
いるため、時刻t1における転送要求エッジ信号C3の
アサートに従い、カウントイネーブル信号C5をアサー
トする。また、時刻t2における転送要求エッジ信号C
3のアサートに従い、カウントイネーブル信号C5をネ
ゲートする。時刻t2において、転送待ちカウンタ5は
カウントイネーブル信号C5のアサートを検出すること
により、カウントアップを行う。カウンタ値C7は待機
状態の値である“0”から“1”へ変化する。
同様にカウントイネーブル信号がアサートされており、
カウンタ値C7は“1”ずつカウントアップされる。時
刻t6において、転送待ちカウンタ5がカウントイネー
ブル信号C5のアサートを検出すると、カウンタ値C7
はn−1から切替値であるnに変化する。切替値検出回
路6は、カウンタ値C7が切替値nとなったことを検出
し、時刻t6のカウンタ値C7変化に対してラッシュア
クセスモード信号C15をアサートする。
ートにより、ゲート4のゲート信号をネゲートとし、転
送要求エッジ信号C3の変化に関わらず、カウントイネ
ーブル信号C5の値をネゲート固定とし、ラッシュアク
セスモード信号アサート後のカウントアップを禁止す
る。
のアサートは微分回路12へ入力される。時刻t7にお
いて、微分回路12は、ラッシュアクセスモード信号C
15を検出し、シーケンス開始信号C16をアサートす
る。時刻t8において、微分回路12はシーケンス開始
信号C16をネゲートし、クロックC2の1サイクル分
のアサート信号を生成する。DMA転送シーケンス回路
2は時刻t8において、シーケンス開始信号C16のア
サートを検出して、バス権要求信号C10をアサート
し、バス調停回路8に対してバス権を要求する。バス調
停回路8はバス権の優先順位に基づいて、より優先順位
の高いデバイスがバス権を要求していない条件で、バス
の開放を検出次第、時刻t10において、バス権許可信
号C11をアサートする。
回路2はバス権許可信号C11のアサートを検出し、時
刻t1からDMA転送処理を開始する。時刻t4におい
て、転送要求信号C1がアサートされた場合、微分回路
3はクロックC2の立ち上がりで転送要求信号C1のア
サートを検出し、転送要求エッジ信号C3をアサート
し、時刻t5において、転送要求エッジ信号C3をネゲ
ートする。このクロックC2の1サイクル分のアサート
信号はゲート4へ入力されるが、ゲート信号であるラッ
シュアクセスモード信号C15がアサートされているた
め、ゲート4の出力であるカウントイネーブル信号は変
化せず、ネゲートを維持する。
は、転送先バッファフル信号C8のアサートを検出す
る。転送待ちカウンタ5は、カウンタ値C7の値をリセ
ットし、待機状態の0にする。カウンタ値C7がリセッ
トされることにより、切替値検出回路6はラッシュアク
セスモード信号C15をネゲートし、ゲート4のゲート
信号をネゲートとする。これにより、ゲート4は、入力
である転送要求エッジ信号C3に対応してカウントイネ
ーブル信号C5が変化する待機状態となる。
回路2は、転送先バッファフル信号C8を検出し、バス
権要求信号C10をネゲートする。時刻t9において、
バス調停回路8は、バス権要求信号C10のネゲートを
検出し、バス権が開放されたと判断し、バス権許可信号
C11をネゲートし、バス権を次のデバイスへ譲渡す
る。
路は、DMA転送要求があった場合にも、直ちにバス権
要求をせず、一定転送要求回数を計測して、その後、バ
ス権要求をし、一挙に転送先のバッファがフルになるま
で転送を実行する。従って、転送先でのアンダーラン等
が発生しない範囲で十分に動作開始を遅らせ、一括転送
によりバス権取得処理等のためのバス占有時間を節約す
る。これにより、従来のDMAコントローラとは異な
り、バス権要求のための処理回数を最小限にすることが
できる。
転送制御をするDMAコントローラを中心に説明した
が、いずれの具体例も、バスを共有する複数のCPUに
対して実行することができる。例えば、DMA転送シー
ケンス回路を他のCPUへの割り込み出力回路とし、他
のCPUへの割り込みに対する応答が遅い場合に、数回
分の割り込み処理を一気に行うようにする。こうして、
複数のCPU間でのデータ転送シーケンスを調整し最適
化することができる。
ロックイネーブル信号を生成するために設けたが、転送
要求生成回路の出力が1サイクル分のアサートを保証す
るような場合、これらの微分回路は省略が可能である。
また、ラッシュアクセスモード終了のための信号とし
て、転送先バッファフル信号を利用する例を説明した
が、転送元バッファエンプティ信号によって転送処理を
終了させるようにしても差し支えない。
る。
る。
る。
ある。
る。
る。
る。
ムチャートである。
ートである。
タイムチャートである。
ある。
ムチャートである。
ャートである。
Claims (4)
- 【請求項1】 共有するバスを介してデータを自動転送
するデータ転送手段と、 前記バスの使用権を要求してからその使用権を獲得する
までの待ち時間を計測する待ち時間計測手段と、 この待ち時間計測手段の計測した待ち時間に対応したデ
ータ量であってデータ転送先の許容量を越えないデータ
転送量を決定して、前記データ転送手段が該当する量の
データを一括して自動転送するように制御するラッシュ
アクセスモード制御手段を備えたことを特徴とするデー
タ転送制御回路。 - 【請求項2】 共有するバスを介してデータを自動転送
するデータ転送手段と、 前記バスの使用権を要求してからその使用権を獲得する
までの待ち時間を計測する待ち時間計測手段と、 一定値以下の待ち時間で前記バス権を取得して前記デー
タの自動転送を開始したときは、予め設定された単位量
のデータを自動転送した後バス権を開放し、前記待ち時
間が前記一定値を越えて前記データの自動転送が開始さ
れたとき、データ転送先のバッファがフルになるまで、
その自動転送を継続するよう制御するラッシュアクセス
モード制御手段を備えたことを特徴とするデータ転送制
御回路。 - 【請求項3】 共有するバスを介してデータを自動転送
するデータ転送手段と、 前記バスの使用権を要求してからその使用権を獲得する
までの要求回数を計測する要求回数計測手段と、 1回の要求で前記バス権を取得して前記データの自動転
送を開始したときは、予め設定された単位量のデータを
自動転送した後バス権を開放し、2回以上の要求で前記
バス権を取得したときは、前記単位量の要求回数倍に相
当するデータ転送量を決定して、前記データ転送手段が
該当する量のデータを一括して自動転送してからバス権
を開放するように制御するラッシュアクセスモード制御
手段を備えたことを特徴とするデータ転送制御回路。 - 【請求項4】 共有するバスを介してデータを自動転送
するデータ転送手段と、 前記バスの使用権を要求してから一定の待ち時間を計測
する待ち時間計測手段と、 この待ち時間計測手段の計測した待ち時間を経過したと
き、データ転送先の許容量を越えない範囲で、前記デー
タ転送手段が該当する量のデータを一括して自動転送す
るように制御するラッシュアクセスモード制御手段を備
えたことを特徴とするデータ転送制御回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25207298A JP3677535B2 (ja) | 1998-09-07 | 1998-09-07 | データ転送制御回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25207298A JP3677535B2 (ja) | 1998-09-07 | 1998-09-07 | データ転送制御回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000079741A true JP2000079741A (ja) | 2000-03-21 |
JP3677535B2 JP3677535B2 (ja) | 2005-08-03 |
Family
ID=17232169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25207298A Expired - Fee Related JP3677535B2 (ja) | 1998-09-07 | 1998-09-07 | データ転送制御回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3677535B2 (ja) |
-
1998
- 1998-09-07 JP JP25207298A patent/JP3677535B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3677535B2 (ja) | 2005-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3633998B2 (ja) | コンピュータシステム | |
US20050188139A1 (en) | Method of arbitration for bus use request and system therefor | |
US7035277B1 (en) | Priority-based arbitration system for context switching applications | |
US6782433B2 (en) | Data transfer apparatus | |
JP5106630B2 (ja) | バス調停装置 | |
US20050066093A1 (en) | Real-time processor system and control method | |
US6105082A (en) | Data processor used in a data transfer system which includes a detection circuit for detecting whether processor uses bus in a forthcoming cycle | |
US20060155893A1 (en) | Methods and apparatus for sharing memory bandwidth | |
JP3677535B2 (ja) | データ転送制御回路 | |
JP5677007B2 (ja) | バス調停装置、バス調停方法 | |
JP4182246B2 (ja) | バス共有システム及びバス共有方法 | |
JP4151362B2 (ja) | バス調停方式、データ転送装置、及びバス調停方法 | |
JPH0696014A (ja) | バス使用優先順位制御装置 | |
JP2000132505A (ja) | バスアクセス方法および装置とその利用装置およびシステム | |
JPH0962640A (ja) | 共有メモリのアクセス制御方法 | |
JP2002049580A (ja) | バス管理装置、バス使用要求送信装置、バス管理方法、及びバス使用要求送信方法 | |
JP2001117860A (ja) | メモリアクセス優先順位切替制御装置 | |
US20030177229A1 (en) | Microcomputer, bus control circuit, and data access method for a microcomputer | |
JPH09190407A (ja) | 制御装置 | |
JPH0830549A (ja) | バス制御装置 | |
JPH11175464A (ja) | 調停装置および方法 | |
KR100243868B1 (ko) | 주 전산기에서의 중재로직 방법 | |
JPH09297731A (ja) | バス分配制御回路 | |
JPH05151147A (ja) | コンピユータシステム | |
JP2002091903A (ja) | バスシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20020131 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20020314 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040705 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040720 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040917 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040917 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050315 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050414 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080520 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090520 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100520 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100520 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110520 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120520 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130520 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140520 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |