JP4319788B2 - マイクロコンピュータ - Google Patents

マイクロコンピュータ Download PDF

Info

Publication number
JP4319788B2
JP4319788B2 JP2001054443A JP2001054443A JP4319788B2 JP 4319788 B2 JP4319788 B2 JP 4319788B2 JP 2001054443 A JP2001054443 A JP 2001054443A JP 2001054443 A JP2001054443 A JP 2001054443A JP 4319788 B2 JP4319788 B2 JP 4319788B2
Authority
JP
Japan
Prior art keywords
cpu
bus
register
cpus
dma
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
Application number
JP2001054443A
Other languages
English (en)
Other versions
JP2002259323A (ja
Inventor
秀治 我妻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2001054443A priority Critical patent/JP4319788B2/ja
Publication of JP2002259323A publication Critical patent/JP2002259323A/ja
Application granted granted Critical
Publication of JP4319788B2 publication Critical patent/JP4319788B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、複数のCPUと、周辺回路間におけるデータ転送を行うデータ転送装置とを備えてなるマイクロコンピュータに関する。
【0002】
【発明が解決しようとする課題】
近年、マイクロコンピュータの処理性能を向上させて高機能化を図るため、複数のCPUを用いてシステムを構成するものがあり、その一例が、特開平5−282246号公報に開示されている。図13は、この従来技術の構成を示す機能ブロック図である。各マイコン101(A,B,C)は、夫々、CPU102,メモリ103,DMA(Direct Memory Access)コントローラ(以下、単にDMAと称す)104及び共有バス制御部105を備えて構成されている。そして、3つのマイコン101は、共有バス106を介して共有メモリ107に対するアクセスを夫々行うようになっている。
【0003】
ところで、上記従来技術では、各マイコン101(A,B,C)は夫々DMA04を備えているが、各マイコン101が夫々備えている何れかのメモリ103と共有メモリ107との間でデータ転送が行われる場合は、実質的に何れか1つのDMA104だけが動作可能であり、その他2つのDMA104が並行して動作することはできない。従って、必ずしもリソースを有効に活用しているとは言えなかった。
【0004】
本発明は上記事情に鑑みてなされたものであり、その目的は、複数のCPUが1つのデータ転送装置を共通に使用することが可能であるマイクロコンピュータを提供することにある。
【0005】
【課題を解決するための手段】
請求項1記載のマイクロコンピュータによれば、調停回路は、複数のCPUのうち何れか1つが選択レジスタにCPU選択用データの書き込みを行うと、その書き込まれた選択用データに基づいて、データ転送を行うために必要な制御信号が複数のCPUの内何れか1つとデータ転送装置との間で伝送されるように入力元、出力先を調整する。尚、ここでの“何れか1つ”とは、固定的な意味ではなく、任意選択的な意味で用いている。
【0006】
即ち、1つのデータ転送装置に対して複数のCPUが存在している場合でも、選択レジスタにデータの書込みを行うことで何れか1つのCPUを選択すると、データ転送装置との制御インターフェイスとして使用される前記制御信号は、その選択された1つのCPUとデータ転送装置との間において伝達されるように調停回路が振り分ける。
【0007】
従って、複数のCPUが調停回路を介して1つのデータ転送装置を共通に使用することが可能となり、従来のように各CPUが夫々使用するデータ転送装置を個別に配置する必要がなくなるので、回路の配置面積を削減して小形化を図ることができると共に低コスト化を図ることができる。
【0008】
請求項2記載のマイクロコンピュータによれば、データ転送を行うために必要な制御信号を、データ転送装置が何れか1つのCPUに対して出力するバス開放要求信号と、そのバス開放要求信号が入力された場合に、前記CPUが所定の処理を終了した段階でデータ転送装置に対して出力するバス開放承認信号とする。尚、ここでの“バス”とは、CPUとデータ転送装置とが共通に使用する可能性があるバスである。
【0009】
即ち、上記の制御信号が選択された1つのCPUとデータ転送装置との間で伝達されることで、データ転送装置は、前記CPUによるバスのアクセスを一時的に停止させた状態で、そのバスを使用してデータ転送を行うことができる。そして、これらの信号は、CPUとデータ転送装置との間のインターフェイスにおいて一般的に使用される信号であるから、調停回路がこれらの信号の入出力先を選択レジスタに書き込まれたデータに基づいて調整することで、複数のCPUの何れか1つが択一的にデータ転送装置を使用できるようになる。
【0010】
請求項3記載のマイクロコンピュータによれば、選択レジスタは、データ転送装置がデータ転送処理を実行している状態でその他のCPUが書込みを行うと、その書き込みを無視する。そして、書込み結果観測レジスタには、選択レジスタに対して実行した書込みが無視されたことが記憶され、その記憶状態がCPUによって読出し可能となる。
【0011】
従って、選択レジスタに対する書込みは排他的に制御されると共に、各CPUは、書込み結果観測レジスタを参照することによって、自身が選択レジスタに対して行った書込みが有効に行われたか否かを確認することができ、無効にされていた場合には選択レジスタに対する書込みを再度行うなどの処理を行うことも可能となる。
【0012】
請求項4記載のマイクロコンピュータによれば、選択レジスタは、何れか1つのCPUが既に選択レジスタに対して書込みを行っている状態でその他のCPUが書込みを行うと、その書き込みを無視する。そして、書込み結果観測レジスタには、選択レジスタに対して実行した書込みが無視されたことが記憶され、その記憶状態がCPUによって読出し可能となる。
【0013】
従って、選択レジスタに対する書込みは、請求項3と同様に排他的に制御される。また、各CPUは、請求項3と同様に書込み結果観測レジスタを参照して自身が選択レジスタに対して行った書込みが有効に行われたか否かを確認することができる。
【0014】
請求項5記載のマイクロコンピュータによれば、複数のCPUは、夫々、書込み結果観測レジスタの読み出し結果に基づいて、データ転送装置に対してパラメータの設定を行なうか否かを判断する。即ち、選択レジスタに対して実行した書込みが無視されることなく有効に実行されたことを認識したCPUだけに、データ転送装置に対するパラメータの設定を可能とすることで、パラメータ設定の排他制御を容易且つ確実に行なうことができる。
【0015】
請求項6記載のマイクロコンピュータによれば、何れかのCPUが信号状態検出レジスタの読出しを行うと、データ転送を行うために必要な制御信号の状態を検出することが可能となる。従って、各CPUは、信号状態検出レジスタを参照することで、自身以外のCPUによるデータ転送装置の使用状態やデータ転送装置の動作状態などを確認することができる。
【0016】
請求項7記載のマイクロコンピュータによれば、複数の周辺回路は、複数系統に分割された共有バスのブロックに別れて接続されているので、例えば、データ転送装置が1つの共有バスを使用して2つの周辺回路間でデータ転送を実行している場合であっても、CPUは、その他の共有バスを使用して異なるブロックの周辺回路にアクセスすることが可能となる。従って、処理効率を向上させることができる。
【0017】
【発明の実施の形態】
(第1実施例)
以下、本発明の第1実施例について図1乃至図7を参照して説明する。図1は、マイクロコンピュータの電気的構成を示す機能ブロック図である。マイクロコンピュータ(マイコン)1は、2つのCPU2A,2Bを備えており、これらのCPU2A,2BがDMA調停回路3を介して1つのDMAコントローラ(データ転送装置)4を共通に使用するように構成されている。
【0018】
即ち、CPU2A側のアドレスバス5A(及びバス制御信号線)は、DMA調停回路3,マルチプレクサ(MUX)6A及びローカルメモリ7Aに接続されており、データバス8Aは、ローカルメモリ7A及びトランスミッションゲート(以下、単にTゲートと称する)9Aに接続されている。尚、Tゲートは、実際には双方向バッファとして構成され方向制御が行われるものであるが、図示の都合上Tゲートで表している。また、CPU2B側はCPU2A側と対称に構成されており、図1では同一符号に“B”を付して示している。
【0019】
DMA調停回路3とDMA4との間は、DMA側のアドレスバス10及びデータバス11によって接続されている。そして、これらのバス10及び11には、CPU選択レジスタ12,書込み結果観測レジスタ13及び信号状態検出レジスタ14の3つのレジスタが接続されている。これらのレジスタ12〜14は、CPU2A,2BによりDMA調停回路3を介してアクセスされるようになっている。
【0020】
DMA4は、DMA調停回路3に対してバス開放要求信号であるBUSREQを出力し、DMA調停回路3は、その信号BUSREQをCPU選択レジスタ12の書込み結果に応じてCPU2A,2Bの何れか一方に対し信号BUSREQ(A),(B) として夫々出力するようになっている。また、CPU2A,2Bは、DMA調停回路3に対してバス開放承認信号であるBUSACK(A),(B) を夫々出力するが、DMA調停回路3は、その信号BUSACK(A),(B) の何れか一方をCPU選択レジスタ12の書込み結果に応じてDMA4に信号BUSACKとして出力するようになっている。
【0021】
図2は、主に、DMA調停回路3の詳細な電気的構成を示すものである。CPU2A,2B側のアドレスバス5A,5Bは、アクセス権調停回路15に夫々接続されている。また、アドレスバス5Aは、出力バッファ16A及びMUX17Aの入力ポート“0”に接続されており、アドレスバス5Bは、出力バッファ16B及びMUX17Bの入力ポート“0”に接続されている。そして、MUX17A及び17Bの入力ポート“1”には、DMA側のアドレスバス10が接続されている。また、出力バッファ16A及び16Bの出力側は、アドレスバス10に接続されている。
【0022】
MUX17A及び17Bの出力ポートには、CPU2A,2B側のDMAアドレスバス18A,18Bが接続されている。DMA側のデータバス11は、Tゲート19A及び19Bの一方側に共通に接続されており、Tゲート19A及び19Bの他方側は、CPU2A,2B側のDMAデータバス20A,20Bに接続されている。
【0023】
アクセス権調停回路15は、CPU2A,2Bによってアドレスバス5A,5Bに出力されるアドレスのデコード結果に応じて、DMA4並びに3つのレジスタ12〜14に対するアクセス権を与えるアクセス許可信号ACS(A),(B)を、出力バッファ16A及び16B,Tゲート19A及び19Bに対しイネーブル信号として排他的に出力するようになっている。
【0024】
DMA4が出力する信号BUSREQは、ANDゲート21及び22の一方の入力端子に与えられており、CPU選択レジスタ12によって出力される選択信号DMASELは、ANDゲート21他方の入力端子,及びANDゲート22他方の入力端子にインバータ(INV)ゲート23を介して与えられている。ANDゲート21,22の出力端子からは信号BUSREQ(A),(B) が夫々出力されるようになっており、それらの信号はアクセス権調停回路15にも与えられている。
【0025】
また、CPU2A,2Bによって出力される信号BUSACK(A),(B) は、MUX24の入力端子“0”,“1”に夫々与えられていると共にアクセス権調停回路15にも与えられており、MUX24の出力端子からは、DMA4に対して信号BUSACKが出力される。MUX24の選択切替え信号には選択信号DMASELが用いられており信号DMASELが“ロウ”の場合は入力端子“0”側が選択され、信号DMASELが“ハイ”の場合は入力端子“1”側が選択されるようになっている。
【0026】
アクセス権調停回路15は、アクセス権を得たCPU2A,2BがDMA4或いはレジスタ12〜14の何れかにアクセスを行うと、内部のステートカウンタに基づく適当なタイミングで、CPU2A,2Bにバスアクセス終了信号であるACK(A),(B)を出力するようになっている(図1では図示せず)。また、アクセス権調停回路15は、MUX17A,17Bに選択信号DMA (A),(B) を出力するようになっており、CPU2A,2Bの何れかが信号BUSACK(A),(B) を出力するとそれに応じて何れか一方の選択信号DMA (A),(B) を“ハイ”にすることで、DMA側のアドレスバス10をCPU2A,2B側のDMAアドレスバス18A,18Bに接続するようになっている。
【0027】
図3は、CPU選択レジスタ12の詳細な電気的構成を示すものである。CPU選択レジスタ12は、直列に接続されたマスタラッチ12M及びスレーブラッチ12Sよりなるダブルラッチ構成であり、これらのラッチ12M,12Sは、二相クロック信号CKB,CKAに同期して夫々ラッチ動作を行うようになっている。クロック信号CKAは、CPU2A,2Bの動作クロックと同相であり,クロック信号CKBはその逆相側である。
【0028】
マスタラッチ12Mのラッチ信号は、4入力のANDゲート25より出力されるようになっており、ANDゲート25の入力端子には、CPU選択レジスタ12のアドレスデコード信号とクロック信号CKBが与えられていると共に、CPU2Aまたは2Bが出力する負論理のライト信号WRと、バス開放要求信号BUSREQとが、夫々INVゲート26,27を介して与えられている。一方、スレーブラッチ12Sのラッチ信号には、クロック信号CKAが直接与えられている。また、これらのラッチ12M及び12Sは、マイコン1のシステムリセット信号によってリセットされるようになっている。
【0029】
マスタラッチ12Mの入力側はデータバス11の何れかのビット線に接続されており、スレーブラッチ12Sの出力側は信号DMASELを出力すると共に、出力バッファ28を介してデータバス11の何れかのビット線に接続されている。出力バッファ28のイネーブル信号はANDゲート29より出力されるようになっており、ANDゲート29の入力端子には、CPU選択レジスタ12のアドレスデコード信号が与えられていると共に、CPU2Aまたは2Bが出力する負論理のリード信号RDがINVゲート30を介して与えられている。
【0030】
即ち、CPU選択レジスタ12に対するデータの書込みは、DMA4が出力する信号BUSREQがインアクティブの状態にある場合にANDゲート25の出力端子がハイレベルとなることで可能となるように構成されており、書込みデータ(選択用データ)が“0”,“1”の何れであるかに応じて信号DMASELの状態が変化するようになっている。
【0031】
図4は、書込み結果レジスタ13の詳細な電気的構成を示すものである。書込み結果レジスタ13は、CPU選択レジスタ12と同様に、マスタラッチ13M及びスレーブラッチ13Sよりなるダブルラッチ構成であり、これらのラッチ信号には、クロック信号CKB,CKAが夫々直接与えられている。
【0032】
マスタラッチ13Mの入力側はORゲート31の出力端子が接続されており、そのORゲート31の一方の入力端子には、3入力ANDゲート32の出力端子が接続されている。ANDゲート32の入力端子には、CPU選択レジスタ13のアドレスデコード信号とバス開放要求信号BUSREQとが与えられていると共に、負論理のライト信号WRがINVゲート33を介して与えられている。
【0033】
スレーブラッチ13Sの出力側は出力バッファ34を介してデータバス11の何れかのビット線に接続されている。出力バッファ34のイネーブル信号はANDゲート35より出力されるようになっており、ANDゲート35の入力端子には、書込み結果レジスタ13のアドレスデコード信号が与えられていると共に、負論理のリード信号RDがINVゲート36を介して与えられている。
【0034】
ORゲート31の他方の入力端子には、ANDゲート37の出力端子が接続されている。ANDゲート37の入力端子には、スレーブラッチ13Sの出力信号と、3入力NANDゲート38の出力端子が接続されている。NANDゲート38の入力端子には、書込み結果レジスタ13のアドレスデコード信号が与えられていると共に、負論理のライト信号WRがINVゲート39を介して与えられ、データバス11の何れかのビット線がINVゲート40を介して接続されている。また、これらのラッチ13M及び13Sは、マイコン1のシステムリセット信号によってリセットされるようになっている。
【0035】
即ち、書込み結果レジスタ13は、DMA4が出力する信号BUSREQがアクティブの状態にある場合に何れかのCPU2A,2BがCPU選択レジスタ12に任意のデータの書込みを行うと、ANDゲート32の出力端子がハイレベルとなることでデータ“1”が自動的に書き込まれる構成である。
【0036】
上述したように、DMA4が起動されて信号BUSREQがアクティブの状態にある場合には、CPU2A,2BがCPU選択レジスタ12にデータの書込み行うことはできない(無視される)。そして、書込み結果レジスタ13は、CPU選択レジスタ12に対する書込みが無視されたことを記憶保持するために設けられている。
【0037】
また、NANDゲート38は、書込み結果レジスタ13にデータ“1”が既に書き込まれている状態で、何れかのCPU2A,2Bが自らデータ“0”を書き込んでクリアしようとすとロウレベルとなり、ANDゲート37をロウレベルにして“0”を書き込むために設けられている。
【0038】
また、図2には、信号状態検出レジスタ14をも図示している。信号状態検出レジスタ14は、実質的には3ビットの出力バッファであり、その入力側にはバス開放要求信号BUSREQ,BUSREQ(A),BUSREQ(B) が夫々与えられ、出力側はデータバス11の異なるビット線に夫々接続されている。そして、バッファのイネーブル信号として、信号状態検出レジスタ14のデコード信号が与えられている。
【0039】
尚、各レジスタ12〜14のアドレスデコード信号を生成するデコーダは明示していないが、これらは、各レジスタ12〜14毎に持っていても良いし、DMA調停回路3の内部に配置しても良い。また、CPU2A,2B側で出力されたアドレスをデコードして、そのデコード結果をDMA調停回路3の内部において選択して出力するようにしても良い。
【0040】
再び図1を参照して、DMA調停回路3以降の構成について説明する。DMAアドレスバス18A,18Bは、MUX6A,6Bの他方の端子に夫々接続されており、MUX6Aの出力端子は、アドレスバス41Aを介して共有バス制御回路42A及び42Bと、出力バッファ43A及び43Bの入力側に接続されている。一方、MUX6Bの出力端子は、アドレスバス41Bを介して共有バス制御回路42A及び42Bと、出力バッファ44A及び44Bの入力側に接続されている。
【0041】
出力バッファ43A及び44Aの出力側には、共有アドレスバス45を介して、例えばDRAMで構成される共有メモリ(周辺回路)46のアドレス入力端子が接続されている。また、出力バッファ43B及び44Bの出力側は、共有アドレスバス47を介して周辺回路48(1,…,N)のアドレス入力端子が接続されている。
【0042】
MUX6A,6Bの選択切替えは、DMA調停回路3によって出力される制御信号(選択信号DMA (A),(B) )によって行われる。また、出力バッファ43A及び44A,43B及び44Bのイネーブル制御は、共有バス制御回路42A,42Bのアドレスデコード結果に基づいて行われるようになっている。
【0043】
一方、データ側のTゲート9Aの他方側は、データバス49Aを介して2つのTゲート50A,50Bに接続されている。Tゲート50Aの他方側には、共有データバス51を介して共有メモリ46のデータ入出力端子が接続されており、Tゲート50Bの他方側には、共有データバス52を介して周辺回路48のデータ入出力端子が接続されている。
【0044】
また、Tゲート9Bの他方側は、データバス49Bを介して2つのTゲート53A,53Bに接続されており、それらのTゲート53A,53Bの他方側には、共有データバス51,52が接続されている。そして、DMAデータバス20A,20Bは、Tゲート54A,54Bを介してデータバス49A,49Bに夫々接続されている。
【0045】
Tゲート9,54のイネーブル制御は、DMA調停回路3によって出力される制御信号(選択信号DMA (A),(B) とリード信号RD,ライト信号WRに基づく信号)によって行われる。また、Tゲート50A及び53A,50B及び53Bのイネーブル制御は、共有バス制御回路42A,42Bのアドレスデコード結果に基づいて行われるようになっている。尚、共有バス制御回路42A,出力バッファ43A及び44A,Tゲート50A及び53Aはバス調停回路55Aを構成しており、共有バス制御回路42B,出力バッファ43B及び44B,Tゲート50B及び53Bはバス調停回路55Bを構成している。
【0046】
次に、本実施例の作用について図5乃至図7を参照して説明する。図5は、CPU2AがDMA4にDMA転送を行わせる場合の処理の流れを示すフローチャートである。CPU2Aは、先ず、信号状態検出レジスタ14にアクセスして読み出しを行う(ステップS1)。
【0047】
この場合、DMA調停回路3のアクセス権調停回路15は、CPU2Aがドライブしたアドレスをデコードして、その時点でCPU2BがDMA4側のデバイスにアクセスを行っていなければ、アクセス許可信号ACS(A)を出力バッファ16A並びにTゲート19Aに対し出力する。そして、信号状態検出レジスタ14はアドレスデコード信号が与えられてイネーブルとなり、データバス11の例えばD0,D1,D2には、BUSREQ, BUSREQ(A),BUSREQ(B) の信号状態に応じたレベルが出力される。
【0048】
それから、CPU2Aは、BUSREQ, BUSREQ(B) が何れもインアクティブであることを確認すると(ステップS2,「YES」)、CPU選択レジスタ12にデータ“0”を書き込む(ステップS3)。すると、選択信号DMASELはロウレベルとなる。また、BUSREQ, BUSREQ(B) の何れがアクティブである場合には(ステップS2,「NO」)ステップS1に戻る。
【0049】
CPU2Aは、ステップS3に続いて、書込み結果観測レジスタ13を読み出すと(ステップS4)、ステップS3で行われた書込みの結果が「OK」であるか否かを判断する。書込み結果観測レジスタ13より読み出されたデータが“0”であれば書込み結果は「OK」であり(ステップS5,「YES」)、CPU2Aは、続いてDMA4に転送パラメータの設定を行う(ステップS6)。
【0050】
一方、書込み結果観測レジスタ13より読み出されたデータが“1”であれば、ステップS2における信号状態の確認後にCPU2BがCPU選択レジスタ12に書込みを行ったため、ステップS3で行われた書込みは無視されていることを示す。従って、CPU2Aは、ステップS5で「NO」と判断してステップS1に戻り、シーケンスを最初からやり直す。
【0051】
以上のように、CPU2A(または2B)は、ステップS3でレジスタ12に行った書込みが確実に行われていることを確認できなければ、それ以降のDMA4側に対するアクセスを行うことはない。
【0052】
また、ステップS6における“転送パラメータ”とは、DMA転送の転送元(ソース)アドレス,転送先(デスティネーション)アドレス,転送サイズ(ビット幅),転送データ量,転送開始条件などを示す。これらのパラメータを、CPU2AがDMA4に内蔵されている制御レジスタに書き込んで設定する。
【0053】
以降のステップS7乃至S11は、CPU2Aのハードウエアによって処理されるシーケンスである。また、図6は、この場合の各信号波形の状態を示すタイミングチャートである。DMA4は、転送開始条件(例えば、何れかの周辺回路が発生した割込み信号の入力など)が成立すると、DMA転送を実行するためにバス開放要求信号BUSREQをアサート(ハイアクティブ)してCPU2側にバスの開放要求を出力する(図6,▲1▼)。この場合、選択信号DMASELはロウレベルであるから、DMA調停回路3においてはANDゲート22がハイレベルとなってBUSREQ(A) がアサートされる(図6,▲2▼)。
【0054】
そして、CPU2Aは、BUSREQ(A) がアサートされると(ステップS7,「YES」)、その時点で自身が何らかの処理中である場合にはその処理が終了するまで待機し(ステップS8)、前記処理が終了すると(「NO」)バス開放応答信号BUSACK(A) をアサートする(ステップS9,図6,▲3▼)。CPU2Aが信号BUSACK(A) をアサートすると、DMA調停回路3においては選択信号DMASELがロウレベルであるからMUX24の(A)側が選択され、BUSACK(A) がBUSACKとしてDMA4側に出力される(図6,▲4▼)。
【0055】
すると、DMA4は、バス開放応答信号BUSACKのアサートを受けてDMA転送を開始する。例えば、転送元が共有バス45,51側における周辺回路(図示せず)であり、転送先が共有メモリ46である場合、DMA4は、設定されたソースアドレスをドライブして周辺回路にリードアクセスを行う(図6,▲5▼)。
【0056】
この時、DMA調停回路3のアクセス権調停回路15においては、バス開放応答信号BUSACK(A) がアサートされていることでDMA転送の実行信号DMA(A)がハイレベルとなり、MUX17Aの“0”側が選択されてDMA側のアドレスバス10がCPU2A側のアドレスバス18Aに接続される。また、Tゲート19Aはイネーブルとなり、DMA側のデータバス11がCPU2A側のデータバス20Aに接続される。
【0057】
そして、DMA4がドライブしたアドレスは、MUX6Aにおいてバス18A側が選択されることでアドレスバス41A上に出力されて共有バス制御回路42Aにおいてデコードされ、その結果、出力バッファ43がイネーブルとなって共有アドレスバス45がドライブされる。
【0058】
すると、DMA4は、転送元の周辺回路におけるデータバッファ等にリードアクセスを行いデータを読み出すと、次のバスサイクルではデスティネーションアドレスを出力して転送先の共有メモリ46にライトアクセスを行うことでDMA転送を実行する。図6に示す例では、アドレス5200Hをリードしてデータ330Hを読み出し(図6,▲5▼)、次に、アドレス5400Hに読み出したデータ330Hを書き込んでいる(図6,▲6▼)。
【0059】
DMA4は、以降、転送元からのリード,転送先へのライトのサイクルを交互に繰り返す。この間、CPU2Aは、図6に示すように外部サイクルを実行することなく待機している。そして、CPU2Aが設定した転送量に相当するデータを共有メモリ46に転送してDMA転送を終了すると、DMA4は、バス開放要求信号BUSREQをネゲートする(図6,▲7▼)。すると、CPU2A側の信号BUSREQ(A) がネゲートされるので(図6,▲8▼:図5,ステップS10,「YES」)、CPU2Aは、BUSACK(A) をネゲートする(ステップS11,図6,▲9▼)。それから、DMA4側の信号BUSACKがネゲートされて(図6,“10”)、一連の処理が終了する。
【0060】
一方、以上のようにDMA4が共有バス45,51側においてDMA転送を行っている間、CPU2B側は、図6に示すように、共有バス45,51とは分離されている共有バス47,52側において周辺回路48に対するアクセスを行うことが可能となっている。尚、以上の処理は、CPU2Bが図5のフローチャートに示す設定を行うことで、実行させても良い。
【0061】
また、図7は、CPU2A,2Bの何れかが設定を行うことで、DMA調停回路3によりCPU2B側にバス開放を要求させて、DMA4が共有バス47,52側においてDMA転送を実行する場合の例である。即ち、図5に示すフローチャートのステップS3において、CPU2A,2Bの何れかがCPU選択レジスタ12に“1”を書き込むことで選択信号DMASELはハイレベルとなり、CPU2B側にバス開放を要求させることができる。
【0062】
この場合には、DMA4がバス開放要求信号BUSREQをアサートすると(図7,▲1▼)、選択信号DMASELはハイレベルであるからDMA調停回路3においてはANDゲート21がハイレベルとなってBUSREQ(B) がアサートされる(図7,▲2▼)。そして、CPU2Bは、BUSREQ(B) がアサートされるとその時点で行っている処理が終了した時点でバス開放応答信号BUSACK(B) をアサートする(図7,▲3▼)。CPU2Bが信号BUSACK(B) をアサートすると、DMA調停回路3においては選択信号DMASELがハイレベルであるからMUX24のB側が選択され、BUSACK(B) がBUSACKとしてDMA4側に出力される(図7,▲4▼)。
【0063】
すると、DMA4はDMA転送を開始する。例えば、転送元が共有バス47,52側における2つの周辺回路48間で行われる場合、DMA4は、設定されたソースアドレスをドライブして例えば周辺回路48(1)にリードアクセスを行う。図7に示す例では、アドレス6200HをリードしてデータAA0Hを読み出し(図7,▲5▼)、次に、アドレス6400Hに読み出したデータAA0Hを書き込んでいる(図7,▲6▼)。この間、CPU2Bは、外部サイクルを実行することなく待機している。
【0064】
そして、DMA転送を終了すると、DMA4はバス開放要求信号BUSREQをネゲートする(図7,▲7▼)。すると、CPU2B側の信号BUSREQ(B) がネゲートされるので(図7,▲8▼)、CPU2Bは、BUSACK(B) をネゲートする(図7,▲9▼)。それから、DMA4側の信号BUSACKがネゲートされて(図7,“10”)、一連の処理が終了する。尚、この場合も、DMA4が共有バス47,52側においてDMA転送を行っている間、CPU2A側は、図7に示すように、共有バス45,51側において例えば共有メモリ46に対するアクセスを行うことが可能となっている。
【0065】
以上のように本実施例によれば、マイコン1に設けれらたDMA調停回路3は、CPU2A,2Bの内何れか一方がCPU選択レジスタ12に選択用データの書き込みを行うと、その書き込まれたデータに基づいて、CPU2A,2Bの何れか一方とDMA4との間でデータ転送を行うための制御信号,BUSREQ,BUSACK が伝達されるように調停を行うようにした。
【0066】
従って、CPU2A,2BがDMA調停回路3を介して1つのDMA4を共通に使用することが可能となり、従来のように各CPU2A,2Bが夫々使用するDMA4を個別に配置する必要がなくなるので、回路の配置面積を削減して小形化を図ることができると共に低コスト化を図ることができる。
【0067】
また、CPU選択レジスタ12を、CPU2A,2Bの何れかが既に書込みを行うことでDMA4がデータ転送を実行している状態で、その他のCPU2A,2Bが書込みを行うとその書き込みを無視し、書込み結果観測レジスタ13には、CPU選択レジスタ12に対して実行した書込みが無視されたことが記憶され、その記憶状態がCPU2A,2Bによって読出し可能となるように構成した。
【0068】
従って、CPU選択レジスタ12に対する書込みは排他的に制御されると共に、各CPU2A,2Bは、書込み結果観測レジスタ13を参照することで、自身がCPU選択レジスタ12に対して行った書込みが有効に行われたか否かを確認することができ、無効にされていた場合にはCPU選択レジスタ12に対する書込みを再度行うなどの処理を行うことも可能となる。
【0069】
そして、CPU2A,2Bは、夫々、書込み結果観測レジスタ13の読み出し結果に基づいて、DMA4に対して転送パラメータの設定を行なうか否かを判断するので、CPU選択レジスタ12に対して実行した書込みが無視されることなく有効に実行されたことを認識したCPUだけがDMA4に対する転送パラメータの設定が可能となり、転送パラメータ設定の排他制御を容易且つ確実に行なうことができる。
【0070】
更に、本実施例によれば、CPU2A,2Bの何れかが信号状態検出レジスタ14の読出しを行うと、信号BUSREQ, BUSREQ(A),BUSREQ(B) の状態を検出することができるので、各CPU2A,2Bは、信号状態検出レジスタ14を参照することで、自身以外のCPU2A,2BによるDMA4の使用状態やDMA4の動作状態などを確認することができる。
【0071】
加えて、マイコン1は、共有メモリ46や複数の周辺回路(48,共有メモリ46を含む)を、複数系統に分割された共有バス45及び51、並びに47及び52の各ブロックに分けて接続しているので、例えば、DMA4が一方の共有バス45及び51を使用して2つの周辺回路間でDMA転送を実行している場合であっても、CPU2Bは、他方の共有バス47及び52を使用して異なるブロックの周辺回路48にアクセスすることができ、処理効率を向上させることができる。
【0072】
また、DMA4がDMA転送を実行している場合に限ることなく、例えば、CPU2Aによる共有メモリ46に対するアクセスと、CPU2Bによる周辺回路48(1)に対するアクセスとを並行して同時に実行することが可能となる。
【0073】
更に、DMA4が一連の(複数サイクルによる)DMA転送を行っている間、バス調停回路55AによってDMA転送のサイクルの途中にCPU2のサイクルを割り込ませてメモリ46にアクセスさせることもできるので(例えば、DMA4が出力するバス制御信号によって他のCPUによるサイクルが割り込めないように排他制御する構成を採用しなければ良い)、CPU2の処理効率の低下を極力防止することができる。
【0074】
(第2実施例)
図8は本発明の第2実施例を示すものであり、第1実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分についてのみ説明する。第2実施例のマイコン56は、第1実施例のマイコン1における信号状態検出レジスタ14を取り除き、CPU2A,2B側のローカルなバス5A及び8A,5B及び8B内に信号状態検出レジスタ57A,57Bを夫々配置したものである。
【0075】
そして、CPU2Aがローカルにアクセスするレジスタ57Aでは、CPU2B側のバス開放要求信号BUSREQ(B) の状態を参照できるようになっており、逆に、CPU2Bがローカルにアクセスするレジスタ57Bでは、CPU2A側の信号BUSREQ(A) の状態を参照できるようになっている。
【0076】
即ち、第1実施例の信号状態検出レジスタ14は、DMA4がDMA転送を行っている場合には実質的にCPU2A,2Bがアクセスを行うことができず、利用効率が余り良くない。そこで、第2実施例では、信号状態検出レジスタ57A,57Bを夫々配置することで、CPU2A,2Bは、DMA調停回路3を介すことなくレジスタ57A,57Bにローカルにアクセスすることができ、信号状態検出レジスタ57A,57Bの利用効率を向上させることができる。
【0077】
(第3実施例)
図9は本発明の第3実施例を示すものであり、第1実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分についてのみ説明する。第3実施例のマイコン58は、第1実施例のマイコン1におけるバス調停回路55B並びに共有バス47及び52側を削除して、周辺回路48を、共有メモリ46と共に共有バス45及び51側に配置したものである。
【0078】
以上のように構成した第3実施例によれば、DMA4がDMA転送を行っている場合には、CPU2A,2Bの何れも共有メモリ46や周辺回路48にアクセスすることはできないが、夫々ローカルなバス5A及び8A,5B及び8Bにおいてローカルメモリ7A,7Bにインストラクションアクセス等を行うことは可能である。そして、DMA4を共通に使用することについては、第1実施例と同様に行うことができる。
【0079】
(第4実施例)
図10は本発明の第4実施例を示すものであり、第1乃至第3実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分についてのみ説明する。第3実施例のマイコン59は、第2実施例のマイコン56と、第3実施例のマイコン58の特徴的な構成を組み合わせたものである。即ち、CPU2A,2B側のバス5A及び8A,5B及び8B内に信号状態検出レジスタ57A,57Bを夫々配置し、且つ、周辺回路48を共有メモリ46と共に共有バス45及び51側に配置したものである。
【0080】
また、第4実施例においては、Tゲート50A,50Bが削除されており、バス調停回路60を構成している。そして、CPU2A側のデータバス8AはTゲート9Aを介してデータバス51に直結されている。同様に、CPU2B側のデータバス8BはTゲート9Bを介してデータバス51に直結されている。更に、DMA調停回路3側のデータバス20B及びTゲート54Bも削除されており、Tゲート54Aの一方の側(DMA調停回路3と反対の側)には、データバス51に直結されている。
【0081】
更に、第4実施例では、DMA調停回路3の内部においてMUX17A,17Bは削除されており、MUX6A,6Bには、アドレスバス18A,18Bに代えてDMA4側のアドレスバス10が共通に入力されている。
【0082】
即ち、斯様に構成した場合、CPU2Aは、DMA4側にデータアクセスする際は、Tゲート9A,データバス51及びTゲート54を介してアクセスすることになり、CPU2Bは、Tゲート9B,データバス51及びTゲート54を介してアクセスすることになる。
【0083】
以上のように第4実施例によれば、第2または第3実施例と同様の効果が得られると共に、バス制御に必要な回路素子を第3実施例の場合よりも少なくすることができるので、小形化及び低コスト化を一層図ることができる。
【0084】
(第5実施例)
図11及び図12は本発明の第5実施例を示すものであり、第1実施例と異なる部分についてのみ説明する。第5実施例では、CPU選択レジスタ12に対する書き込みを制御する周辺回路の構成が第1実施例と異なっている。即ち、図11に示すように、第1実施例においてANDゲート25の入力端子に接続されていたINVゲート27に代えてDフリップフロップ61が配置され、そのQバー出力端子が前記入力端子に接続されている。このQバー出力端子からは、書込み制御信号WFバーが出力される。
【0085】
Dフリップフロップ61のD入力端子はプルアップされており、クロック入力端子には、ANDゲート25の出力端子がディレイライン64を介して接続されている。Dフリップフロップ61のQ出力端子からは書込み制御信号WFが出力され、その信号WFは、図12に示すように、書込み結果観測レジスタ13側のANDゲート32の入力端子に、信号BUSREQに代えて与えられている。
【0086】
Dフリップフロップ61のリセット入力端子には、ORゲート62の出力端子が接続されている。そのORゲート62の一方の入力端子にはリセット信号が与えられており、他方の入力端子はワンショットマルチバイブレータ(OMVと称す)63のQ出力端子に接続されている。OMV63のトリガ入力端子T(負論理)には、信号BUSACKが与えられている。その他の構成は第1実施例と同様である。
【0087】
次に、第5実施例の作用について説明する。
▲1▼Dフリップフロップ61は、初期状態ではリセット信号によりリセットされており、書込み制御信号WFはロウレベル,WFバーはハイレベルとなっているため、CPU選択レジスタ12は書込み可能な状態にある。
【0088】
▲2▼▲1▼の状態から、何れかのCPU2A,2BがCPU選択レジスタ12に書込みを行なうとANDゲート25の出力端子がハイレベルとなり、その信号の遷移状態がディレイライン64を介してDフリップフロップ61のクロック入力端子に与えられる。すると、Dフリップフロップ61は前記信号の遷移における立上がりエッジによってセットされ、書込み制御信号WFはハイレベル,WFバーはロウレベルとなるので、CPU選択レジスタ12は書込み不能となる。尚、ディレイライン64によって付与される遅延時間は、マスタラッチ12Mにおけるラッチ信号のハイレベルホールドタイムが十分確保できるように設定する。
【0089】
▲3▼書込み制御信号WFがハイレベルの状態で、何れかのCPU2A,2BがCPU選択レジスタ12に書込みを行なうと、ANDゲート32の出力端子がハイレベルとなり書込み結果観測レジスタ13にデータ“1”がセットされる。
即ち、この状態に至ると、第1実施例の図5に示すフローチャートにおいては、CPU選択レジスタ12に対する書込みを成功させたCPU以外のCPUは、ステップS5から先に進めなくなる。
【0090】
▲4▼そして、DMA4が、CPU選択レジスタ12に対する書込みを成功させたCPUの設定に基づくDMA転送を終了して例えば図6に示すタイミングチャートの▲7▼において信号BUSREQをネゲートすると、CPU2AがBUSACK(A) をネゲートする。それに応じてDMA4側の信号BUSACKがネゲートされると(図6,“10”)、OMV63は、信号BUSACKの立下がりエッジをトリガとして所定パルス幅(Dフリップフロップ61をリセットするのに十分な時間に相当する)のハイレベル信号をワンショットで出力する。すると、そのワンショットパルスの出力期間でANDゲート63の出力端子がハイレベルとなりDフリップフロップ61はリセットされ、CPU選択レジスタ12は、上記▲1▼と同様の書込み可能な状態に戻る。
その他の作用については、第1実施例と全く同様であり、処理の流れは図5に示すフローチャートに従って実行される。
【0091】
以上のように第5実施例によれば、CPU選択レジスタ12を、CPU2A,2Bの何れかが書込みを行った時点で直ちに書込みが不能となるように構成し、その他のCPU2A,2Bが行なう書き込みを無視するようにしたので、CPU選択レジスタ12に対する書込みの排他制御をより確実に行なうことができる。
【0092】
本発明は上記し且つ図面に記載した実施例にのみ限定されるものではなく、次のような変形または拡張が可能である。
第1実施例において、DMA転送を、例えば周辺回路48(1)から共有メモリ46に対して行っても良い。
書込み結果観測レジスタ13についても、第2実施例の信号状態検出レジスタ57A,57Bと同様に、CPU2A,2B側のローカルなバス5A及び8A,5B及び8B内に夫々配置しても良い。
CPU選択レジスタ12のデータ値を読み出す機能は必要に応じて設ければく、不要な場合はゲート28〜30を削除しても良い。
また、書込み結果観測レジスタ13にデータ“0”を書込む機能も必要に応じて設ければ良く、不要な場合はゲート31,37〜40を削除して,ANDゲート32の出力端子をマスタラッチ13Mの入力側に直結すれば良い。
また、書込み結果観測レジスタ13及び信号状態検出レジスタ14は、必要に応じて設ければ良い。
【0093】
第2実施例の信号状態検出レジスタ57A,57Bにおいて、DMA4が出力する信号BUSREQの状態を参照できるように構成しても良い。
第3実施例における共有側のバス構成を、第4実施例と同様にしても良い。
データ転送を行うために必要な制御信号は、バス開放要求信号,及びバス開放承認信号に限ることなく、個別の設計に応じて必要とされる制御信号であれば良い。
第1乃至第3実施例においても、第4実施例と同様に、DMA調停回路3の内部のMUX17A,17Bを削除し、MUX6A,6BにDMA4側のアドレスバス10を共通に入力するように構成しても良い。
CPUは3個以上あっても良く、調停回路は、そのCPUの数に応じて、選択レジスタに書き込まれる選択用データに基づき制御信号の振り分けを行うように構成すれば良い。また、共有バスについても、3系統以上あっても良い。
データ転送装置は、複数のCPUによって共通に使用されるものが2個以上あっても良い。
マイクロコンピュータは、ワンチップ構成のものに限らず、ディスクリートデバイスを組み合わせて構成したものでも良い。
【図面の簡単な説明】
【図1】本発明の第1実施例であり、マイクロコンピュータの電気的構成を示す機能ブロック図
【図2】主に、DMA調停回路の詳細な電気的構成を示す図
【図3】CPU選択レジスタの詳細な電気的構成を示す図
【図4】書込み結果レジスタの詳細な電気的構成を示す図
【図5】CPUがDMAにDMA転送を行わせる場合の処理の流れを示すフローチャート
【図6】DMAがデータ転送を実行する場合の各信号波形の状態を示すタイミングチャート(その1)
【図7】図6相当図(その2)
【図8】本発明の第2実施例を示す図1相当図
【図9】本発明の第3実施例を示す図1相当図
【図10】本発明の第4実施例を示す図1相当図
【図11】本発明の第5実施例を示す図3相当図
【図12】図4相当図
【図13】従来技術を示す図1相当図
【符号の説明】
1はマイクロコンピュータ、2A,2BはCPU、3はDMA調停回路、4はDMAコントローラ(データ転送装置)、12はCPU選択レジスタ、13は書込み結果観測レジスタ、14は信号状態検出レジスタ、45,47はアドレスバス(共有バス)、51,52はデータバス(共有バス)、56はマイクロコンピュータ、57A,57Bは信号状態検出レジスタ、58,59はマイクロコンピュータを示す。

Claims (7)

  1. 複数のCPUと、
    これら複数のCPUの各々が各ローカルバスを介して接続される複数のローカルメモリと、
    前記各ローカルバス、各バスバッファや各ゲート及び各共有バスを介して前記各CPUと接続されている複数の周辺回路と、
    前記複数のCPUによって共通に使用され、それらのCPUによって設定されたパラメータに基づいて、前記複数の周辺回路間におけるデータ転送を行うデータ転送装置と、
    前記複数のCPUの内何れか1つによって、CPU選択用のデータの書き込みが行われる選択レジスタと、
    この選択レジスタに書き込まれたデータに基づいて、前記データ転送を行うために必要な制御信号が、前記複数のCPUの内何れか1つと前記データ転送装置との間で伝達されるように入力元、出力先を調整する調停回路とを備えてなることを特徴とするマイクロコンピュータ。
  2. 前記データ転送を行うために必要な制御信号は、
    前記データ転送装置が何れか1つのCPUに対してローカルバスの開放を要求するために出力するバス開放要求信号と、
    前記バス開放要求信号が入力された場合に、前記CPUが所定の処理を終了した段階で、前記データ転送装置に対してローカルバスの開放を承認するために出力するバス開放承認信号とであることを特徴とする請求項1記載のマイクロコンピュータ。
  3. 前記選択レジスタは、前記データ転送装置がデータ転送処理を実行している状態で、その他の何れかのCPUが当該レジスタに対して実行した書き込みを無視するように構成されており、
    前記選択レジスタに対して実行した書込みが無視されたことが記憶され、その記憶状態が読出し可能に構成される書込み結果観測レジスタを備えたことを特徴とする請求項1または2記載のマイクロコンピュータ。
  4. 前記選択レジスタは、何れか1つのCPUが既に書込みを行っている状態で、その他の何れかのCPUが当該レジスタに対して実行した書き込みを無視するように構成されており、
    前記選択レジスタに対して実行した書込みが無視されたことが記憶され、その記憶状態が読出し可能に構成される書込み結果観測レジスタを備えたことを特徴とする請求項1または2記載のマイクロコンピュータ。
  5. 前記複数のCPUは、夫々、前記書込み結果観測レジスタの読み出し結果に基づいて、前記データ転送装置に対して前記パラメータの設定を行なうか否かを判断することを特徴とする請求項3または4記載のマイクロコンピュータ。
  6. 何れかのCPUが読出しを行うことで、前記データ転送を行うために必要な制御信号の状態を検出することが可能に構成される信号状態検出レジスタを備えたことを特徴とする請求項1乃至5の何れかに記載のマイクロコンピュータ。
  7. 前記共有バスは、複数系統に分割されており、
    前記周辺回路は、1つ以上毎に、前記複数系統に分割された共有バスのブロックに別れて接続されていることを特徴とする請求項1乃至6の何れかに記載のマイクロコンピュータ。
JP2001054443A 2001-02-28 2001-02-28 マイクロコンピュータ Expired - Fee Related JP4319788B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001054443A JP4319788B2 (ja) 2001-02-28 2001-02-28 マイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001054443A JP4319788B2 (ja) 2001-02-28 2001-02-28 マイクロコンピュータ

Publications (2)

Publication Number Publication Date
JP2002259323A JP2002259323A (ja) 2002-09-13
JP4319788B2 true JP4319788B2 (ja) 2009-08-26

Family

ID=18914773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001054443A Expired - Fee Related JP4319788B2 (ja) 2001-02-28 2001-02-28 マイクロコンピュータ

Country Status (1)

Country Link
JP (1) JP4319788B2 (ja)

Also Published As

Publication number Publication date
JP2002259323A (ja) 2002-09-13

Similar Documents

Publication Publication Date Title
JP2597954B2 (ja) フルパイプライン共起メモリ制御器
EP0422103B1 (en) I/o bus to system bus interface
KR900004006B1 (ko) 마이크로 프로세서 시스템
US5047922A (en) Virtual I/O
US7096296B2 (en) Supercharge message exchanger
JP2849327B2 (ja) システム管理モードの実行中に書込み保護状態を無効にするコンピュータシステムの操作方法及びコンピュータシステム
JP2004005613A (ja) 専用フラッシュコントローラを使用してフラッシュベースストレージシステムの性能を改善するための方法
JPS59111561A (ja) 複合プロセツサ・システムのアクセス制御方式
JPH10134008A (ja) 半導体装置およびコンピュータシステム
JP2004110785A (ja) メモリコントローラ
JP3514477B2 (ja) 入力/出力装置及びデータ転送方法
JP2001195384A (ja) 処理装置及び処理装置の入出力ピンを制御する方法
JPH0277846A (ja) マイクロプロセッサ
TWI497495B (zh) 用於讀取nand快閃記憶體的方法和設備
US20030217218A1 (en) Interface for devices having different data bus widths and data transfer method using the interface
JP4319788B2 (ja) マイクロコンピュータ
US6202117B1 (en) Host adapter integrated circuit having autoaccess pause
JPS581451B2 (ja) デ−タ転送方式
JPH0728745A (ja) プロセッサバス使用のためのシステムおよび方法
JPS61166647A (ja) マイクロプロセツサ装置およびアドレス可能なメモリから情報を読出すためのアクセス方法
US8402233B2 (en) Method and apparatus for high throughput mass storage device interface in a microprocessor for handheld systems
JPH051504B2 (ja)
KR100341947B1 (ko) 모듈러 칩 선택제어회로 및 이와 관계된 회로 및 방법
JP2741514B2 (ja) マルチcpuシステム
KR100606698B1 (ko) 인터페이스 장치

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050719

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050825

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060307

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090319

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090529

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120605

Year of fee payment: 3

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: 20120605

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130605

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140605

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees