JP3677535B2 - データ転送制御回路 - Google Patents
データ転送制御回路 Download PDFInfo
- Publication number
- JP3677535B2 JP3677535B2 JP25207298A JP25207298A JP3677535B2 JP 3677535 B2 JP3677535 B2 JP 3677535B2 JP 25207298 A JP25207298 A JP 25207298A JP 25207298 A JP25207298 A JP 25207298A JP 3677535 B2 JP3677535 B2 JP 3677535B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- transfer
- data
- time
- bus
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Bus Control (AREA)
Description
【発明の属する技術分野】
本発明は、ダイレクトメモリアクセス(DMA)コントローラによるデータ転送制御回路に関する。
【0002】
【従来の技術】
CPU(中央処理装置)とバスを共有し、CPUに代わってメモリやデバイス間のデータ転送を行うためにダイレクトメモリアクセスコントローラが広く利用されている。このダイレクトメモリアクセスコントローラは、一般にデータ転送要求を受け付けると、バス調停回路に対しバスの使用権を要求する。バスの使用権を獲得すると、予め設定された単位量のデータを自動転送した後、バス権を開放する。ダイレクトメモリアクセスコントローラは、この動作を適当な周期で繰り返す。このようにデータを単位量ずつ繰り返し転送し、要求された全てのデータの転送を終えると処理を終了する。
【0003】
【発明が解決しようとする課題】
ところで、上記のような従来の技術には、次のような解決すべき課題があった。
バス権の要求が競合すると、バス調停回路は、バス権の優先順位に基づいて優先順位の高いデバイスに対しバス権を与える。CPUによるバス権要求は、通常、最も優先度が高い。例えば、CPUの内部キャッシュがミスヒットしたような場合、CPUは、プログラムメモリを連続アクセスして必要なプログラムやデータを内部キャッシュに読み込む。市販されているCPUには、このような動作時、CPUによるバス占有時間がかなり長いものがある。
【0004】
ここで、例えばDMAコントローラがプリントエンジンに対して印刷用データを転送しているときを考える。プリントエンジンは、バッファメモリから順番に印刷用データを読み出して印刷を実行する。DMAコントローラは、このバッファメモリに対し印刷用データを転送する。ところが、CPUがバスを長時間占有し、DMA転送が待たされると、バッファメモリ中に読み出すべきデータが不足することがある。
【0005】
このような場合、プリントエンジンは印刷出力を途中で中断し、いわゆる白紙の印刷を行ってしまう。こうした現象をアンダーランと呼んでいるが、DMAコントローラは、このアンダーランが発生しない範囲でデータ転送を行うことが要求される。即ち、DMAコントローラは、要求されるデータ転送速度を確保し、効率的に合理的にデータ転送を行う必要がある。
【0006】
【課題を解決するための手段】
本発明は以上の点を解決するため次の構成を採用する。
〈構成1〉
共有するバスを介してデータを自動転送するデータ転送手段と、前記データ転送手段がバスの使用権を要求してからバス使用権を獲得するまでの応答間隔を検出する応答間隔検出手段と、前記応答間隔が所定値未満であると、前記データ転送手段を一定量のデータを転送するように制御し、前記応答間隔が所定値以上であると前記データ転送手段を前記一定データ量より多い量のデータを一括して転送するように制御する転送モード制御手段とを備えたことを特徴とするデータ転送制御回路。
【0007】
〈構成2〉
構成1のデータ転送制御装置において、前記応答間隔検出手段は、前記応答間隔を時間として計測する時間計測手段であることを特徴とする。
〈構成3〉
構成1のデータ転送制御装置において、前記一括して転送するデータ量を、データ転送先のバッファがフルとなるデータ量に設定することを特徴とする。
【0008】
〈構成4〉
構成1のデータ転送制御装置において、前記応答間隔検出手段は、前記バス使用権を獲得するまでに保留された転送要求の回数を前記応答間隙としてカウントするカウンタを含むことを特徴とする。
〈構成5〉
構成1のデータ転送制御装置において、前記応答間隔検出手段は、前記バス使用権を獲得するまでに保留された転送要求の回数を前記応答間隙としてカウントするカウンタを含み、前記一括して転送するデータ量を、前記一定データ量の前記転送要求の回数倍に設定することを特徴とする。
【0009】
〈構成6〉
共有するバスを介してデータを自動転送するデータ転送手段と、前記バスの使用権を要求してからその使用権を獲得するまでの待ち時間を計測する待ち時間計測手段と、一定値以下の待ち時間で前記バス権を取得して前記データの自動転送を開始したときは、予め設定された単位量のデータを自動転送した後バス権を開放し、前記待ち時間が前記一定値を越えて前記データの自動転送が開始されたとき、データ転送先のバッファがフルになるまで、その自動転送を継続するよう制御するラッシュアクセスモード制御手段を備えたことを特徴とするデータ転送制御回路。
【0010】
【発明の実施の形態】
以下、本発明の実施の形態を具体例を用いて説明する。
〈具体例1〉
この具体例のデータ転送制御回路は、バスの使用権を要求してからその使用権を獲得するまでの待ち時間が長いときは、大量のデータを一括転送するように制御する。このために、その待ち時間を計測する待ち時間計測手段を設ける。また、大量のデータを一括転送するために、ラッシュアクセスモードという動作状態を設定する。これを制御するために、ラッシュアクセスモード制御手段を設ける。
【0011】
図1に、具体例1のデータ転送制御回路ブロック図を示す。
この図には、転送要求生成回路1、DMA転送シーケンス回路2、微分回路3、ゲート4、転送待ちカウンタ5、切替値検出回路6、信号セレクタ7及びバス調停回路8が設けられている。
【0012】
この回路は、図示しないDMAコントローラ本体部分を制御し、図示しないメモリからバスを介して他のメモリやデバイスにデータ転送を送る制御を行う。DMA転送動作のシーケンスは、DMA転送シーケンス回路2が制御する。このDMA転送シーケンス回路2とこれに制御される回路を、この発明ではデータ転送回路21と呼んでいる。また、転送待ちカウンタ5とその周辺回路のことを待ち時間計測手段22と呼んでいる。更に、切替値検出回路6のことをラッシュアクセスモード制御手段23と呼んでいる。
【0013】
次に、図1に示す各部分の構成を具体的に説明する。
転送要求生成回路1は、タイマや外部トリガ転送回路等により構成されている。この回路によって、転送要求信号C1がDMA転送シーケンス回路2と微分回路3に入力される。微分回路3は、転送要求信号C1を受け入れて、クロックC2の1サイクル分の転送要求エッジ信号C3を生成し出力する回路である。ゲート4は、この転送要求エッジ信号C3を受け入れて、ラッシュアクセスモード信号C4がネゲートの状態で転送要求エッジ信号C3をカウントイネーブル信号C5にして出力する回路である。
【0014】
このカウントイネーブル信号C5は、信号セレクタ7と転送待ちカウンタ5とに出力される。カウントイネーブル信号C5の値は、転送要求エッジ信号C3がアサートの場合はアサート、転送要求エッジ信号C3がネゲートの場合にはネゲートになる。また、ラッシュアクセスモード信号C4がアサートの場合には、ゲート4は閉じられ、転送要求エッジ信号C3の内容に関わらず、カウントイネーブル信号C5は常にネゲートとなる。
【0015】
転送待ちカウンタ5は、アクセス終了信号C6を同期リセット信号とした同期カウンタである。この転送待ちカウンタ5は、カウントイネーブル信号C5がアサートされている状態で、クロックC2の立ち上がりエッジをカウントし、カウントアップする。また、アクセス終了信号C6がアサートされている状態では、クロックC2の立ち上がりエッジでカウンタ値が“0”にリセットされる。転送待ちカウンタ5は、こうしてカウンタ値C7を得て、切替値検出回路6に出力する。
【0016】
切替値検出回路6は、予め一定の閾値を保持しており、転送待ちカウンタ5の出力するカウンタ値C7と比較する。カウンタ値C7が閾値を越えた場合には、ラッシュアクセスモード信号C4をアサートし、その他の場合にはラッシュアクセスモード信号C4をネゲートするように動作する。この閾値はデータ転送遅延の許容量から割り出した一定値である。
【0017】
信号セレクタ7は、カウントイネーブル信号C5をゲート信号として受け入れるゲートから構成される。切替値検出回路6から入力するラッシュアクセスモード信号C4は、図の左側から入力する転送先バッファフル信号C8とノーマルアクセス終了信号C9のいずれかを選択するための制御信号である。即ち、信号セレクタ7は、カウントイネーブル信号C5がネゲートされ、ラッシュアクセスモード信号C4がアサートされている場合、転送先バッファフル信号C8を選択して出力する。これがアクセス終了信号C6としてDMA転送シーケンス回路2に向け出力される。
【0018】
一方、カウントイネーブル信号C5がネゲートされ、ラッシュアクセスモード信号C4がネゲートされている場合には、ノーマルアクセス終了信号C9が選択されアクセス終了信号C6として、DMA転送シーケンス回路2に出力される。なお、カウントイネーブル信号C5がアサートされている場合には、アクセス終了信号C6の値はネゲートされたまま一定に保持される。
【0019】
DMA転送シーケンス回路2は、バス調停回路8に対しバス権要求信号C10を出力すると共に、バス調停回路8からバス権許可信号C11を受け付けるよう構成されている。そして、転送要求信号C1がアサートされると、バス権要求信号C10をアサートし、アクセス終了信号C6がアサートされるとバス権要求信号C10をネゲートするよう構成されている。
【0020】
〈動作〉
図2に、ノーマルアクセスモードのタイムチャートを示す。
まず、待機状態では、転送待ちカウンタ5のカウンタ値C7は、初期値状態即ち“0”になっている。また、ラッシュアクセスモード信号C4はネゲートされている。図2の(b)に示すように、転送要求生成回路1から出力される転送要求信号C1がアサートされる。一般に、DMAコントローラは、例えば一定の時間おきに転送要求を発生させるため、タイマのカウントアップトリガ等がこの転送要求信号C1をアサートさせるきっかけになる。
【0021】
DMA転送シーケンス回路2は、図2の時刻t1において、転送要求信号C1のアサートを検出し、バス権要求信号C10をアサートする(図2(c))。こうして、バス調停回路8に対しバス権の要求が行われる。同時に、微分回路3は、クロックC2の立ち上がりで転送要求信号C1を検出し、転送要求エッジ信号C3をアサートする。次の時刻t2において、微分回路3は、転送要求エッジ信号C3をネゲートする。こうして、図2(e)に示すように、クロックC2の1サイクル分のアサート信号を生成する。
【0022】
ゲート4は、ラッシュアクセスモード信号C4がネゲートされているため、時刻t1から時刻t2に転送要求エッジ信号C3のアサートに従い、カウントイネーブル信号C5をアサートする。また、時刻t2において、転送要求エッジ信号C3のネゲートに従って、カウントイネーブル信号C5をネゲートする。時刻t2において、転送待ちカウンタ5は、カウントイネーブル信号C5のアサートを検出することによってカウントアップを行う。転送待ちカウンタ5のカウンタ値C7は、これにより“0”から“1”に変化する。
【0023】
時刻t2以降、転送待ちカウンタ5は、クロックC2をカウントし、そのカウンタ値C7を順に“1”ずつカウントアップしていく(図2(g))。この動作は、ラッシュアクセスモード信号C4がアサートされるか、あるいはアクセス終了信号C6がアサートされるまで継続する。
【0024】
バス調停回路8は、バス権の優先順位に基づいて、より優先順位の高いデバイスがバス権を要求していない限り、このデータ転送制御回路に対しバス権を与える。このとき、バス調停回路8の出力するバス権許可信号C11がアサートされる(図2(d))。時刻t5で、バス権許可信号C11がアサートされると、時刻t6で、DMA転送シーケンス回路2がバス権許可信号C11を検出し、DMA転送処理を開始する。指定された転送シーケンスが完了すると、ノーマルアクセス終了信号C9がアサートされる(図2(i)、(j))。
【0025】
なお、この時刻t8の時点で、転送待ちカウンタ5のカウンタ値は、閾値である一定値(ここでは切替値と表現している)に満たない。従って、切替値検出回路6は、ラッシュアクセスモード信号C4をネゲートしたまま維持する。信号セレクタ7は、ノーマルアクセス終了信号C9を選択して受け入れ、アクセス終了信号C6をアサートする。時刻t9において、DMA転送シーケンス回路2は、バス権要求信号C10をネゲートする。バス調停回路8は、これを受けて、時刻t9にバス権許可信号C11をネゲートする。こうして、DMA転送が完了し、バスが開放されてCPUや他のデバイスにバス権が与えられる状態になる。
【0026】
図3には、ラッシュアクセスモードのタイムチャートを示す。
図3(b)に示す転送要求信号C1、(e)、(f)に示す転送要求エッジ信号C3、カウントイネーブル信号C5の出力までの動作は、図2に示したノーマルアクセスモードと変わらない。ここで、切替値検出回路6によるモード切り替えのための切替値をnとする。
【0027】
時刻t2では、転送待ちカウンタ5のカウント値が“1”だけアップし、nに変化したとする。このとき、切替値検出回路6は、ラッシュアクセスモード信号C4をアサートする。これによって、ゲート4のゲート信号がネゲートされ、ゲート4の出力するカウントイネーブル信号C5の値をネゲート固定とし、ラッシュアクセスモード信号アサート後のカウントアップを禁止する。従って、転送待ちカウンタ5は、nのカウント値C7を出力し続ける。
【0028】
ラッシュアクセスモード信号C4がアサートされると、信号セレクタ7は転送先バッファフル信号C8を受け入れるように動作を切り替える。即ち、この状態で、DMA転送が続行され、時刻t8において、図の(k)に示すように、転送先バッファフル信号C8がアサートされると、信号セレクタ7はアクセス終了信号C6をクロックC2の1周期分アサートする。DMA転送シーケンス回路2はこれを受けて、時刻t9にバス権要求信号C10をネゲートする。
【0029】
転送待ちカウンタ5はアクセス終了信号C6の入力により、カウンタ値C7が0へ戻り、ラッシュアクセスモード信号C4がネゲートされることを防止する。また、ラッシュアクセスモード信号C4は信号セレクタ7の選択信号を切り替える。カウントイネーブル信号C5はネゲート固定となっているので、出力であるアクセス終了信号C6の値は転送先バッファフル信号C8の値と同一となる。バス調停回路8はバス権の優先順位に基づいて、より優先順位の高いデバイスがバス権を要求していない条件で、バスの開放を検出次第、時刻t5において、バス権許可信号C11をアサートする。
【0030】
転送先バッファフル信号C8がアサートされると、ラッシュアクセスモード信号C4はアサートを維持しているので、信号セレクタ7の出力であるアクセス終了信号C6の値は転送先バッファフル信号C8の値と同一となる。転送先バッファフル信号C8がアサートされることにより、信号セレクタ7の内部遅延分だけ遅延して、アクセス終了信号C6がアサートされる。時刻t9において、DMA転送シーケンス回路2により、アクセス終了信号C6のアサートが検出されるが、時刻t3から時刻t9までにノーマルアクセス終了信号C9がアサートされていてもDMA転送シーケンス回路2はラッシュアクセスモード信号C4のアサートにより検出できない。
【0031】
時刻t9におけるDMA転送シーケンス2のアクセス終了信号C6のアサート検出により、DMA転送シーケンス回路2はバス権要求信号C10をネゲートする。時刻t10において、バス調停回路8はバス権要求信号C10のネゲートを検出し、バス権が開放されたと判断し、バス権許可信号C11をネゲートし、バス権を次のデバイスへ譲渡する。時刻t9において、転送待ちカウンタ5は、転送先バッファフル信号C8のアサートを検出し、カウンタ値C7の値をリセットし、0とする。これにより、切替値検出回路6はラッシュアクセスモード信号C4をネゲートし、待機状態に戻る。
【0032】
図4には、アクセスモード切り替え時のタイムチャートを示す。
これは、アクセスの終了と同時にラッシュアクセスモードになる条件が成立した場合の動作である。
時刻t1において、微分回路3は転送要求信号C1を検出し、出力である転送要求エッジ信号C3をアサートする。時刻t2において、微分回路3は転送要求エッジ信号C3をネゲートし、クロックC2の1サイクル分のアサート信号を生成する。ゲート4は、ゲート信号であるラッシュアクセスモード信号C4が待機状態のままでネゲートされているため、時刻t1における転送要求エッジ信号C3のアサートに従い、カウントイネーブル信号C5をアサートする。また、時刻t2における転送要求エッジ信号C3のネゲートに従い、カウントイネーブル信号C5をネゲートする。
【0033】
時刻t1において、ノーマルアクセス終了信号C9がアサートされるが、信号セレクタ7にゲート信号として入力されるカウントイネーブル信号C5も時刻t1にてアサートされるため、信号セレクタ7の出力であるアクセス終了信号C6はネゲート固定となる。時刻t2において、転送待ちカウンタ5はカウントイネーブル信号C5を検出する。アクセス終了信号C6がネゲートされているため、カウントアップを行い、カウンタ値C7はn−1から切替値であるnへ変化する。
【0034】
切替値検出回路6はカウンタ値C7が切替値nとなったことを検出し、時刻t2のカウンタ値変化に対してラッシュアクセスモード信号C4をアサートする。ラッシュアクセスモード信号C4のアサートにより、ゲート4のゲート信号をネゲートとし、転送要求エッジ信号C3の変化に関わらず、カウントイネーブル信号C5の値をネゲート固定とし、ラッシュアクセスモード信号アサート後のカウントアップを禁止する。
【0035】
ラッシュアクセスモード信号C4がアサートされることにより、信号セレクタ7は出力であるアクセス終了信号C6の値をノーマルアクセス終了信号C9から転送先バッファフル信号C8に切り替える。このため、ノーマルアクセス終了信号C6のアサートは無視され、以降はラッシュアクセスモードとして、転送先バッファフル信号C8のアサートを待つ。
【0036】
図5に、転送終了と同時の転送要求タイムチャートを示す。
この図により、図4と同様の状況で、カウンタ値C7が切替値nに満たない場合の動作を説明する。
時刻t1において、微分回路3は転送要求信号C1を検出し、出力である転送要求エッジ信号C3をアサートする。時刻t2において、微分回路3は転送要求エッジ信号C3をネゲートし、クロックC2の1サイクル分のアサート信号を生成する。ゲート4はゲート信号であるラッシュアクセスモード信号C4が待機状態のままでネゲートされているため、時刻t1における転送要求エッジ信号C3のアサートに従い、カウントイネーブル信号C5をアサートする。また、時刻t2における転送要求エッジ信号C3のネゲートに従い、カウントイネーブル信号C5をネゲートする。
【0037】
時刻t1において、ノーマルアクセス終了信号C9がアサートされるが、信号セレクタ7にゲート信号として入力されるカウントイネーブル信号C5も時刻t1にてアサートされる。このため、信号セレクタ7の出力であるアクセス終了信号C6はネゲート固定となる。時刻t2において、転送待ちカウンタ5はカウントイネーブル信号C5を検出し、アクセス終了信号C6がネゲートされているため、カウントアップを行い、カウンタ値C7はm−1からmへ変化する。
【0038】
切替値検出回路6は、カウンタ値C7が切替値nに満たないため、ラッシュアクセスモード信号C4のネゲートを維持する。時刻t2における、転送要求エッジ信号C3のネゲートにより、カウントイネーブル信号C5がネゲートされる。信号セレクタ7は、ノーマルアクセス終了信号C9がアサートされているため、アクセス終了信号C6をアサートする。時刻t3において、DMA転送シーケンス回路2は、アクセス終了信号C6のアサートを検出し、バス権要求信号C10をネゲートする。同時に、転送待ちカウンタ5はアクセス終了信号C6のネゲートを検出し、カウンタ値C7をリセットし、待機時の値である0とする。
【0039】
上記のような方法によって、ほぼ一定の周期でアサートされる転送要求の回数や、転送要求を出してから実際にバス権が与えられるまでの時間を、適当な待ち時間計測手段により計測し、この時間が一定値を越えた場合には、ラッシュアクセスモードとすればよい。従って、この待ち時間の計測手段の構成は、ハードウェアあるいはソフトウェア等、様々な回路に変更することができる。また、ラッシュアクセスモードの制御切り替えのためのハードウェアやソフトウェアも同等の趣旨で任意に変更して差し支えない。
【0040】
〈具体例1の効果〉
以上のように、転送要求から使用権を獲得するまでの待ち時間を計測し、その待ち時間が一定値を越えた場合には、ラッシュアクセスモードとし、転送先のバッファがフルになるまで自動転送を行うので、バス権が長期間取得できなかったような場合に生じる転送先でのアンダーランやデータ待ちによるシーケンスの停滞を防止できる。
【0041】
また、ラッシュアクセスモードが開始されると、転送先のバッファがフルになるまでバス権取得を維持するため、同じデータ量を複数回に分けて転送する場合に比べてバス権取得の手順が簡略化される。即ち、単位量ずつデータ転送を行う場合には、その都度バス権の取得開放、その他の手順が必要となるが、こうした処理が短縮されることによって、実質的にバスの占有時間が短くなる。従って、システム全体のスループットを向上させることができる。
【0042】
なお、1回のラッシュアクセスにより省略可能なサイクル数は、次の式によって求めることができる。
α=((β/γ)−1)×(δ+ε+ζ−η)
ただし、各記号は以下の通りである。
α:短縮サイクル数
β:転送先バッファの空きデータ量
γ:通常1回のバス取得で転送されるデータ量
δ:バス権開放状態から転送開始までに必要なサイクル数
ε:転送完了からバス開放までに必要なサイクル数
ζ:ファーストアクセスに必要なサイクル数
η:連続アクセスに必要なサイクル数
具体的には、1回に付き、この計算で得られるような手順を省略できる。
【0043】
〈具体例2〉
上記の具体例1では、データ転送先の許容量の限度であるバッファメモリがいっぱいになるまでのデータ量を設定し、一定以上バス権要求が待たされた場合、このバッファメモリがいっぱいになるまでデータを転送した。しかしながら、一般に、DMAコントローラは、バスの占有時間を十分に短くするために単位量ずつデータを転送する。そのために、タイマ等を用いて一定時間おきにバス権を取得し、単位量のデータを転送する。従って、もしバス権要求が受け入れられず、例えば3回分のデータ転送が待たされた場合には、3回分のデータを一括転送すればリカバリーが可能である。この具体例はこうした機能をデータ転送制御回路に持たせる。
【0044】
図6には、具体例2のデータ転送制御回路ブロック図を示す。
この回路は、図1に示した回路のゲート4の代わりにエクスクルーシブオア回路11を設けている。また、信号セレクタ7の代わりにゲート10を設けている。転送要求生成回路1、DMA転送シーケンス回路2、微分回路3等の動作は、具体例1と同様である。微分回路3から出力される転送要求エッジ信号C3は、転送待ちカウンタ5とエクスクルーシブオア回路11に入力する。転送待ちカウンタ5の動作も具体例1と同様である。
【0045】
即ち、転送待ちカウンタ5は、カウントイネーブル信号C14がアサートされている状態でクロックC2の立ち上がりエッジをカウントし、カウントアップする。また、ノーマルアクセス終了信号C9がアサートされて、カウントイネーブル信号C14がアサートされている状態で、クロックC2の立ち上がりエッジによりカウントダウンされる。クロックC2の立ち上がりエッジにおいて、転送要求エッジ信号C3とノーマルアクセス終了信号C9が共にアサートされている場合には、カウントイネーブル信号C14がネゲートされて、転送待ちカウンタ5は値を変更しない。
【0046】
エクスクルーシブオア回路11は、転送要求エッジ信号C3とノーマルアクセス終了信号C9とを受け入れて、カウントイネーブル信号C14を生成するように構成されている。終了検出回路9は、転送待ちカウンタ5の出力するカウンタ値C7を受け入れて、その最下位ビットを除いたビットのオア出力をラッシュアクセスモード信号C12として出力する回路である。カウンタ値C7が“0”あるいは“1”以外の場合に、このラッシュアクセスモード信号C12はアサートとなり、カウント値C7が“0”または“1”の際、ネゲートとなる。
【0047】
ラッシュアクセスモード信号C12は、ゲート10を制御するように構成する。このゲート10は、ラッシュアクセスモード信号C12がネゲートされている場合、アクセス終了信号C13の値をノーマルアクセス終了信号C9と同一にする。また、ラッシュアクセスモード信号C12がアサートされている場合には、アクセス終了信号C13の値をネゲートし、固定する。その他の部分は具体例1と同様の構成である。
【0048】
〈動作〉
次に、具体例2の回路の動作を説明する。
図7は、ノーマルアクセスモードタイムチャートである。
まず、待機状態には、転送待ちカウンタ5の出力であるカウンタ値C7は初期状態であり、ラッシュアクセスモード信号はネゲートされている。
通常では、このタイムチャートのように、転送要求生成回路1において、DMA転送の必要条件が発生すると転送要求信号C1がアサートされる。DMA転送シーケンス回路2は、時刻t1において、転送要求信号C1のアサートを検出して、バス権要求信号C10をアサートし、バス調停回路8に対してバス権を要求する。
【0049】
時刻t1において同時に、微分回路3は、クロックC2の立ち上がりで転送要求信号C1を検出し、転送要求エッジ信号C3をアサートする。時刻t2において、微分回路3は転送要求エッジ信号C3をネゲートし、クロックC2の1サイクル分のアサート信号を生成する。時刻t2において、転送要求エッジ信号C3がアサートされ、ノーマルアクセス終了信号C9がネゲートされているため、2つの排他的論理和の出力であるカウントイネーブル信号C14はアサートされている。転送待ちカウンタ5は、カウントイネーブル信号C14のアサートを検出することにより、転送要求エッジ信号C3のアサートに従い、カウントアップし、カウンタ値C7の値は0から1へ変化する。
【0050】
バス調停回路8は、バス権の優先順位に基づいて、より優先順位の高いデバイスがバス権を要求していない条件で、バス権の開放を検出次第、時刻t5において、バス権許可信号Kをアサートする。時刻t6において、DMA転送シーケンス回路2は、バス権許可信号Kを検出し、時刻t6からDMA転送を開始する。指定された転送シーケンスを完了すると、ノーマルアクセス終了信号C9がアサートされる。
【0051】
時刻t9において、ノーマルアクセス終了信号C9がアサートされ、転送要求エッジ信号C3がネゲートされているため、2つの排他的論理和の出力であるカウントイネーブル信号C14はアサートされる。転送待ちカウンタ5はカウントイネーブル信号C14のアサートを検出することにより、ノーマルアクセス終了信号C9のアサートに従い、カウントダウンし、カウンタ値C7の値は1から0へ変化する。
【0052】
時刻t9において、カウンタ値C7の値は1となっているため、ラッシュアクセスモード信号C12はネゲートされている。そのため、ゲート10は、ノーマルアクセス終了信号C9のアサートをアクセス終了信号C13のアサートとして出力し、DMA転送シーケンス回路2へ入力する。DMA転送シーケンス回路2は、時刻t9において、アクセス終了信号C13のアサートを検出するとDMA転送を終了して、バス権要求信号C10をネゲートする。
【0053】
バス調停回路8は、時刻t10において、バス権要求信号C10のネゲートを検出するとバス権が開放されたと判断し、バス権許可信号C11をネゲートし、バス権を次のデバイスへ譲渡する。バス権許可信号C11がネゲートされた時点でDMA転送が完了し、DMA転送シーケンス回路2は転送要求信号C1のアサートを待つ待機状態となる。
【0054】
図8は、ラッシュアクセスモードバス権待ち状態のタイムチャートである。
時刻t1から時刻t4までは図7のタイムチャートの時刻t1から時刻t4までと同じシーケンスとなる。
バス権要求信号C10をアサートしても一向にバス権許可信号C11がアサートされない場合、バス権を取得する前に次のDMA転送の必要条件が発生して、転送要求信号C1がアサートされる。DMA転送シーケンス回路2は、バス権要求信号C10がアサートされている条件では、この転送要求信号C1を無視する。
【0055】
時刻t6において、微分回路3はクロックC2の立ち上がりで転送要求信号C1を検出し、転送要求エッジ信号C3をアサートする。時刻t7において、微分回路3は転送要求エッジ信号C3をネゲートし、クロックC2の1サイクル分のアサート信号を生成する。時刻t7において、転送要求エッジ信号C3がアサートされ、ノーマルアクセス終了信号C9がネゲートされているため、2つの排他的論理和の出力であるカウントイネーブル信号C14はアサートされている。
【0056】
転送待ちカウンタ5は、カウントイネーブル信号C14のアサートを検出することにより、転送要求エッジ信号C3のアサートに従い、カウントアップし、カウンタ値C7の値は“1”から“2”へ変化する。終了検出回路9はカウンタ値C7の値が“0”または“1”以外になったことを検出し、ラッシュアクセスモード信号C12をアサートする。
【0057】
図9は、ラッシュアクセスモード転送状態のタイムチャートである。
バス調停回路8は、バス権の優先順位に基づいて、より優先順位の高いデバイスがバス権を要求していない条件で、バス権の開放を検出次第、時刻t10において、バス権許可信号C11をアサートする。時刻t11において、DMA転送シーケンス回路2はバス権許可信号C11を検出し、時刻t11からDMA転送を開始する。指定された転送シーケンスを完了すると、ノーマルアクセス終了信号C9がアサートされる。時刻t13において、ノーマルアクセス終了信号C9がアサートされ、転送要求エッジ信号C3がネゲートされているため、2つの排他的論理和の出力であるカウントイネーブル信号C14はアサートされる。
【0058】
転送待ちカウンタ5は、カウントイネーブル信号C14のアサートを検出することにより、ノーマルアクセス終了信号C9のアサートに従い、カウントダウンし、カウンタ値C7の値はmからm−1へ変化する。時刻t13において、カウンタ値C7の値はmとなっているため、ラッシュアクセスモード信号C12はアサートを維持し、ゲート10はノーマルアクセス終了信号C9のアサートを無視してアクセス終了信号C13の値をネゲート固定で維持する。そのため、DMA転送シーケンス回路2へはアクセス終了の信号は入力されず、DMA転送シーケンス回路2はDMA転送を続ける。
【0059】
ノーマルアクセス終了信号C9のアサート毎にカウンタ値はカウントダウンを行い、カウンタ値が2となっている状態でノーマルアクセス終了信号C9がアサートされると、時刻t16において、ノーマルアクセス終了信号C9がアサートされる。転送要求エッジ信号C3がネゲートされているため、2つの排他的論理和の出力であるカウントイネーブル信号C14はアサートされている。
【0060】
転送待ちカウンタ5は、カウントイネーブル信号C14のアサートを検出することにより、ノーマルアクセス終了信号C9のアサートに従い、カウントダウンし、カウンタ値C7の値は“2”から“1”へ変化する。終了検出回路9は、カウンタ値C7の値が“0”または“1”となったことを検出し、ラッシュアクセスモード信号C12をネゲートする。これ以降は図7のタイムチャートにおける時刻t8以降と同一となる。
【0061】
通常のシーケンスとして完了するには、転送要求信号C1がアサートしてから次の転送要求信号C1がアサートされる前にバス権許可信号Kがアサートされ、DMA転送を完了する必要がある。この際は転送要求信号C1とバス権許可信号Kが交互にアサートされることになる。
【0062】
図10は、ラッシュアクセスモード同時アサート状態のタイムチャートである。
時刻t2において、転送要求信号C1が微分回路3により検出され、転送要求エッジ信号C3がアサートされる。よって、時刻t3において、転送要求エッジ信号C3がアサートされる。ノーマルアクセス終了信号C9がアサートされているため、2つの排他的論理和の出力であるカウントイネーブル信号C14はネゲートされている。転送待ちカウンタ5は、カウントイネーブル信号C14のネゲートを検出することにより、カウントを行わず、カウンタ値C7の値はmを維持する。これにより、転送要求エッジ信号C3のカウントアップとノーマルアクセス終了信号C9のカウントダウンによる相殺を実現する。
【0063】
〈具体例2の効果〉
以上のように、2回以上転送要求が待たされた場合に、待たされた回数分の要求回数を転送待ちカウンタ5により計測し、単位量の要求回数倍に相当するデータ転送量を決定して、このデータを一括転送するので、具体例1と同様にアンダーランやデータ待ちによるシーケンスの停滞を防止できる。しかも、待たされた回数分だけDMA転送を行うため、短期間待たされた状態では、DMA転送時間は短くなる。従って、バスの占有時間も短くなり、システムの負担が軽減される。
【0064】
逆に長時間待たされた場合、転送されるデータ量が多くなり、連続転送によって具体例1と同様、バス権獲得のための処理等の時間が節約される。また、DMA転送中に、転送要求信号C1を受け付けることが可能なため、対象デバイスとDMAコントローラとの並列処理が可能になる。
【0065】
更に、具体例1と比べるとバッファフル信号を受け入れる必要がなくなり、ハードウェアが簡単になる他、外部デバイスの種別を問わずに実現することが可能な特徴を持つ。なお、この具体例の場合にも、要求回数を計測する手段の構成や方法は任意に変更が可能である。
【0066】
〈具体例3〉
これまでの具体例は、原則として従来のDMAコントローラと同様に、単位量のデータを転送する動作を繰り返し、待ち時間が著しく長くなった場合にデータの一括転送を行うようにした。この具体例では、予め待ち転送要求回数を決めておき、それまでは単位量のデータ転送等も行わず、一定の条件が満たされると、一括してデータ転送を実行する。なお、この場合にも、データ転送先の許容量を越えないデータ転送量を設定することは言うまでもない。
【0067】
図11には、具体例3のデータ転送制御回路ブロック図を示す。
この図の転送要求生成回路1、微分回路3、ゲート4、転送待ちカウンタ5等は、具体例1のものと同様である。ここで、この具体例では、転送待ちカウンタ5の出力するカウンタ値C7を受け入れる切替値検出回路6がラッシュアクセスモード信号C15を生成する。また、この出力を受け入れる微分回路12を新たに設けている。さらに、具体例1において、転送先バッファフル信号C8を受け入れた信号セレクタ7が省略されている。即ち、転送先バッファフル信号C8をDMA転送シーケンス回路2に受け入れる構成となっている。
【0068】
ゲート4の動作は具体例1と同様である。転送待ちカウンタ5は、クロックC2を同期クロックとし、転送要求エッジ信号C3がアサートされている状態で、そのクロックC2の立ち上がりエッジを検出し、カウントアップする。また、転送先バッファフル信号C8の入力によってリセットされる。
【0069】
切替値検出回路6は、予め設定した閾値を備えており、カウンタ値C7がその閾値を超えた場合に、ラッシュアクセスモード信号C15をアサートするように構成されている。この切替値検出回路6で設定する閾値は、DMA転送対象のバッファのサイズから求められるバッファの空き空間を転送データが満たすだけの時間に対応させておく。
【0070】
ラッシュアクセスモード信号C15は、微分回路12に入力するように構成されている。微分回路12は、このラッシュアクセスモード信号C15がアサートされると、最初の1クロック分でアサートするシーケンス開始信号C16を出力する。このシーケンス開始信号C16はDMA転送シーケンス回路2に入力する。DMA転送シーケンス回路2は、このシーケンス開始信号C16が入力すると、シーケンスを開始し、DMAの転送要求とDMA転送が開始される。
【0071】
即ち、この回路は、転送要求生成回路1から転送要求があっても、転送待ちカウンタ5で一定の転送要求回数を計測し、その時間を経過したとき、DMA転送シーケンス回路2を起動する。その後は、一挙にデータ転送を行い、相手先のバッファがフルになった場合に転送が終了する。
【0072】
〈動作〉
図12には、ラッシュアクセスモード切替待ち時間のタイミングチャートを示す。また、図13には、ラッシュアクセスモードの転送時間のタイムチャートを示す。
これらの図を用いて、上記の回路の動作を説明する。
タイマまたは外部トリガ等で構成される転送要求生成回路1の出力である転送要求信号C1は微分回路3に接続される。転送要求信号C1は微分回路3によりクロックC2の1サイクル分の転送要求エッジ信号C3に加工され、ゲート4に接続される。ゲート4は、ラッシュアクセスモード信号C15により制御され、ラッシュアクセスモード信号C15がネゲートの状態でカウントイネーブル信号C5の値は転送要求エッジ信号C3がアサートの場合はアサート、転送要求エッジ信号C3がネゲートの場合はネゲートとなる。ラッシュアクセスモード信号C15がアサートの場合、転送要求エッジ信号C3の値に関係なくカウントイネーブル信号C5の値は常にネゲートとなる。
【0073】
転送待ちカウンタ5は、クロックC2を同期クロックとして、転送要求エッジ信号C3がアサートされている状態のクロックC2の立ち上がりエッジでカウントアップされ、転送先バッファフル信号C8を同期リセットとする同期カウンタである。切替値検出回路6はカウンタ値C7を監視し、規定の値となった時点でラッシュアクセスモード信号C15をアサートする。切替値検出回路6における規定値は、DMA転送対象バッファのサイズから求められるバッファの空き空間に対応する。ラッシュアクセスモード信号C15は微分回路12に接続される。微分回路12は、ラッシュアクセスモード信号C15がアサートされた最初の1クロック分でアサートするシーケンス開始信号C16を出力する。
【0074】
DMA転送シーケンス回路2は、出力であるバス権要求信号C10がバス調停回路8と接続され、バス調停回路8は出力であるバス権許可信号KがDMA転送シーケンス回路2と接続される。シーケンス開始信号C16のアサートによりシーケンスを開始し、転送先バッファフル信号C8のアサートによりシーケンスが停止する。
【0075】
まず、待機状態として、転送待ちカウンタ5の出力であるカウンタ値C7は初期状態であり、ラッシュアクセスモード信号C15はネゲートされている。
転送要求生成回路1において、DMA転送の必要条件が発生すると、転送要求信号C1がアサートされる。時刻t1において、微分回路3は、クロックC2の立ち上がりで転送要求信号C1を検出し、転送要求エッジ信号C3をアサートする。時刻t2において、微分回路3は転送要求エッジ信号C3をネゲートし、クロックC2の1サイクル分のアサート信号を生成する。
【0076】
ゲート4はゲート信号であるラッシュアクセスモード信号C15が待機状態のままネゲートされているため、時刻t1における転送要求エッジ信号C3のアサートに従い、カウントイネーブル信号C5をアサートする。また、時刻t2における転送要求エッジ信号C3のアサートに従い、カウントイネーブル信号C5をネゲートする。時刻t2において、転送待ちカウンタ5はカウントイネーブル信号C5のアサートを検出することにより、カウントアップを行う。カウンタ値C7は待機状態の値である“0”から“1”へ変化する。
【0077】
時刻t3から時刻t6までに、時刻t2と同様にカウントイネーブル信号がアサートされており、カウンタ値C7は“1”ずつカウントアップされる。時刻t6において、転送待ちカウンタ5がカウントイネーブル信号C5のアサートを検出すると、カウンタ値C7はn−1から切替値であるnに変化する。切替値検出回路6は、カウンタ値C7が切替値nとなったことを検出し、時刻t6のカウンタ値C7変化に対してラッシュアクセスモード信号C15をアサートする。
【0078】
ラッシュアクセスモード信号C15のアサートにより、ゲート4のゲート信号をネゲートとし、転送要求エッジ信号C3の変化に関わらず、カウントイネーブル信号C5の値をネゲート固定とし、ラッシュアクセスモード信号アサート後のカウントアップを禁止する。
【0079】
また、ラッシュアクセスモード信号C15のアサートは微分回路12へ入力される。時刻t7において、微分回路12は、ラッシュアクセスモード信号C15を検出し、シーケンス開始信号C16をアサートする。時刻t8において、微分回路12はシーケンス開始信号C16をネゲートし、クロックC2の1サイクル分のアサート信号を生成する。DMA転送シーケンス回路2は時刻t8において、シーケンス開始信号C16のアサートを検出して、バス権要求信号C10をアサートし、バス調停回路8に対してバス権を要求する。バス調停回路8はバス権の優先順位に基づいて、より優先順位の高いデバイスがバス権を要求していない条件で、バスの開放を検出次第、時刻t10において、バス権許可信号C11をアサートする。
【0080】
時刻t1において、DMA転送シーケンス回路2はバス権許可信号C11のアサートを検出し、時刻t1からDMA転送処理を開始する。時刻t4において、転送要求信号C1がアサートされた場合、微分回路3はクロックC2の立ち上がりで転送要求信号C1のアサートを検出し、転送要求エッジ信号C3をアサートし、時刻t5において、転送要求エッジ信号C3をネゲートする。このクロックC2の1サイクル分のアサート信号はゲート4へ入力されるが、ゲート信号であるラッシュアクセスモード信号C15がアサートされているため、ゲート4の出力であるカウントイネーブル信号は変化せず、ネゲートを維持する。
【0081】
時刻t8において、転送待ちカウンタ5は、転送先バッファフル信号C8のアサートを検出する。転送待ちカウンタ5は、カウンタ値C7の値をリセットし、待機状態の0にする。カウンタ値C7がリセットされることにより、切替値検出回路6はラッシュアクセスモード信号C15をネゲートし、ゲート4のゲート信号をネゲートとする。これにより、ゲート4は、入力である転送要求エッジ信号C3に対応してカウントイネーブル信号C5が変化する待機状態となる。
【0082】
時刻t8において、DMA転送シーケンス回路2は、転送先バッファフル信号C8を検出し、バス権要求信号C10をネゲートする。時刻t9において、バス調停回路8は、バス権要求信号C10のネゲートを検出し、バス権が開放されたと判断し、バス権許可信号C11をネゲートし、バス権を次のデバイスへ譲渡する。
【0083】
〈具体例3の効果〉
以上のように、この回路は、DMA転送要求があった場合にも、直ちにバス権要求をせず、一定転送要求回数を計測して、その後、バス権要求をし、一挙に転送先のバッファがフルになるまで転送を実行する。従って、転送先でのアンダーラン等が発生しない範囲で十分に動作開始を遅らせ、一括転送によりバス権取得処理等のためのバス占有時間を節約する。これにより、従来のDMAコントローラとは異なり、バス権要求のための処理回数を最小限にすることができる。
【0084】
なお、上記の例では、バスを介してデータ転送制御をするDMAコントローラを中心に説明したが、いずれの具体例も、バスを共有する複数のCPUに対して実行することができる。例えば、DMA転送シーケンス回路を他のCPUへの割り込み出力回路とし、他のCPUへの割り込みに対する応答が遅い場合に、数回分の割り込み処理を一気に行うようにする。こうして、複数のCPU間でのデータ転送シーケンスを調整し最適化することができる。
【0085】
更に、上記微分回路は、1サイクル分のクロックイネーブル信号を生成するために設けたが、転送要求生成回路の出力が1サイクル分のアサートを保証するような場合、これらの微分回路は省略が可能である。また、ラッシュアクセスモード終了のための信号として、転送先バッファフル信号を利用する例を説明したが、転送元バッファエンプティ信号によって転送処理を終了させるようにしても差し支えない。
【図面の簡単な説明】
【図1】具体例1のデータ転送制御回路ブロック図である。
【図2】ノーマルアクセスモードのタイムチャートである。
【図3】ラッシュアクセスモードのタイムチャートである。
【図4】アクセスモード切り替え時のタイムチャートである。
【図5】転送終了と同時の転送要求タイムチャートである。
【図6】具体例2のデータ転送制御回路ブロック図である。
【図7】ノーマルアクセスモードのタイムチャートである。
【図8】ラッシュアクセスモードバス権待ち状態のタイムチャートである。
【図9】ラッシュアクセスモード転送状態のタイムチャートである。
【図10】ラッシュアクセスモード同時アサート状態のタイムチャートである。
【図11】具体例3のデータ転送制御回路ブロック図である。
【図12】ラッシュアクセスモード切替待ち時間のタイムチャートである。
【図13】ラッシュアクセスモード転送期間のタイムチャートである。
【符号の説明】
1 転送要求生成回路
2 DMA転送シーケンス回路
3 微分回路
4 ゲート
5 転送待ちカウンタ
6 切替値検出回路
7 信号セレクタ
8 バス調停回路
Claims (6)
- 共有するバスを介してデータを自動転送するデータ転送手段と、
前記データ転送手段がバスの使用権を要求してからバス使用権を獲得するまでの応答間隔を検出する応答間隔検出手段と、
前記応答間隔が所定値未満であると、前記データ転送手段を一定量のデータを転送するように制御し、前記応答間隔が所定値以上であると前記データ転送手段を前記一定データ量より多い量のデータを一括して転送するように制御する転送モード制御手段とを備えたことを特徴とするデータ転送制御回路。 - 前記応答間隔検出手段は、前記応答間隔を時間として計測する時間計測手段であることを特徴とする請求項1記載のデータ転送制御回路。
- 前記一括して転送するデータ量を、データ転送先のバッファがフルとなるデータ量に設定することを特徴とする請求項1記載のデータ転送制御回路。
- 前記応答間隔検出手段は、前記バス使用権を獲得するまでに保留された転送要求の回数をカウントするカウンタを含み、該カウンタのカウント値により前記応答間隔を判断することを特徴とする請求項1記載のデータ転送制御回路。
- 前記応答間隔検出手段は、前記バス使用権を獲得するまでに保留された転送要求の回数をカウントするカウンタを含み、該カウンタのカウント値により前記応答間隔を判断し、
前記一括して転送するデータ量を、前記一定データ量の前記転送要求の回数倍に設定することを特徴とする請求項1記載のデータ転送制御回路。 - 共有するバスを介してデータを自動転送するデータ転送手段と、
前記バスの使用権を要求してからその使用権を獲得するまでの待ち時間を計測する待ち時間計測手段と、
一定値以下の待ち時間で前記バス権を取得して前記データの自動転送を開始したときは、予め設定された単位量のデータを自動転送した後バス権を開放し、前記待ち時間が前記一定値を越えて前記データの自動転送が開始されたとき、データ転送先のバッファがフルになるまで、その自動転送を継続するよう制御するラッシュアクセスモード制御手段を備えたことを特徴とするデータ転送制御回路。
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 JP2000079741A (ja) | 2000-03-21 |
JP3677535B2 true 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 |
---|---|
JP2000079741A (ja) | 2000-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5572686A (en) | Bus arbitration scheme with priority switching and timer | |
EP0867814B1 (en) | System and method for controlling a bus | |
US7380034B2 (en) | Method of arbitration for bus use request and system therefor | |
JP2010286983A (ja) | バス調停回路及びバス調停方法 | |
US6212589B1 (en) | System resource arbitration mechanism for a host bridge | |
JP5106630B2 (ja) | バス調停装置 | |
JP3677535B2 (ja) | データ転送制御回路 | |
JP5677007B2 (ja) | バス調停装置、バス調停方法 | |
JP2007018280A (ja) | バスシステムの制御方法及び制御回路 | |
JP2002024166A (ja) | 画像処理システム並びにそれを用いた半導体装置およびディジタルスチルカメラ装置 | |
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 | |
JP4182246B2 (ja) | バス共有システム及びバス共有方法 | |
JP4309508B2 (ja) | Dma制御装置 | |
JP4151362B2 (ja) | バス調停方式、データ転送装置、及びバス調停方法 | |
JP3987750B2 (ja) | メモリ制御装置及びlsi | |
JPH0696014A (ja) | バス使用優先順位制御装置 | |
JPH03263158A (ja) | 共通バス調停制御方式 | |
US7747806B2 (en) | Resource use management device, resource use management system, and control method for a resource use management device | |
JP2001117860A (ja) | メモリアクセス優先順位切替制御装置 | |
JPH0830549A (ja) | バス制御装置 | |
JPH09190407A (ja) | 制御装置 | |
JP3699529B2 (ja) | バス制御装置 | |
JPH10289203A (ja) | バス調停装置 | |
KR100243868B1 (ko) | 주 전산기에서의 중재로직 방법 | |
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 |