JP3716320B2 - コンピュータ制御回路 - Google Patents

コンピュータ制御回路 Download PDF

Info

Publication number
JP3716320B2
JP3716320B2 JP2001310335A JP2001310335A JP3716320B2 JP 3716320 B2 JP3716320 B2 JP 3716320B2 JP 2001310335 A JP2001310335 A JP 2001310335A JP 2001310335 A JP2001310335 A JP 2001310335A JP 3716320 B2 JP3716320 B2 JP 3716320B2
Authority
JP
Japan
Prior art keywords
instruction
register
output
program
selector
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
JP2001310335A
Other languages
English (en)
Other versions
JP2003114796A (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.)
New Japan Radio Co Ltd
Original Assignee
New Japan Radio Co Ltd
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 New Japan Radio Co Ltd filed Critical New Japan Radio Co Ltd
Priority to JP2001310335A priority Critical patent/JP3716320B2/ja
Publication of JP2003114796A publication Critical patent/JP2003114796A/ja
Application granted granted Critical
Publication of JP3716320B2 publication Critical patent/JP3716320B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、マイクロコード等のプログラムで動作するコンピュータ制御回路に係り、特に非同期式メモリを同期式メモリに変更する際に、非同期式メモリ用に開発されたプログラムを変更せずにそのまま使用することができるようにしたコンピュータ制御回路に関するものである。
【0002】
【従来の技術】
[第1の従来技術]
図7に非同期式メモリを使用した従来のコンピュータ制御回路の構成を示す。11は非同期式メモリであり、アドレスを入力するとアクセスタイム後にデータが出力される。この非同期式メモリ11にはプログラムが格納される。21はデータレジスタ、22はアドレスレジスタ、23はアドレス切替セレクタである。非同期式メモリ11がRAMの場合には、制御回路20から非同期式メモリ11にプログラムをダウンロードするときに、アドレス切替セレクタ23をアドレスレジスタ22側に切り替えて、アドレスレジスタ22に非同期式メモリ11のアドレスをセットし、データレジスタ21にそのアドレスのプログラムデータをセットして、制御回路20から非同期式メモリ11に書き込み信号を入力し、プログラムを書き込む。なお、非同期式メモリ11がROMの場合には、データレジスタ21、アドレスレジスタ22、セレクタ23は不要となる。
【0003】
25はスタート制御レジスタであり、非同期式メモリ11に格納されたプログラムを実行するときに、制御回路20から‘1’を書き込む(ST=1)ことによりプログラムがスタートする。
【0004】
26はブレークポイント用レジスタ群であり、非同期式メモリ11に格納されたプログラムの実行中に、特定のアドレスで非同期式メモリ11に記述された命令コードと異なる命令コードを実行させたい場合に、該特定のアドレスと命令コードを制御回路20からセットする。このブレークポイント用レジスタ群26は主にプログラムのデバッグ時に用いる。
【0005】
30はプログラムカウンタであり、非同期式メモリ11のアドレスを生成するために使用される。32は非同期式メモリ11のアドレス用セレクタであり、このセレクタ32の選択条件とその出力を図9に示す。33はプログラムカウンタ30用のセレクタである。図9において、スタート制御レジスタ25の値がST=0のときは、プログラムカウンタ30の値PCが‘000’にセットされ、非同期式メモリ11のアドレスaddr(RAM)が‘000’にセットされる。また、スタートレジスタ25の値がST=1のときは、後記するプログラム制御命令non、wait、jump、push、popに応じて、非同期式メモリ11のアドレスaddr(RAM)やプログラムカウンタ30の値PCがセットされる。
【0006】
28はスタック命令用レジスタ群であり、プログラムの命令コードがPush命令の場合はプログラムカウンタ30の値PCを待避し、Pop命令の場合はSTK1レジスタの値STK1をセレクタ32を介して非同期式メモリ11のアドレスに出力すると共に、加算器39でSTK1レジスタの値に1加算して、セレクタ33を介してプログラムカウンタ30にセットする。スタック命令用レジスタ群28は、プログラムのスタックの深さ分だけ準備する。図4にスタックが6段の場合の命令コードと動作を示した。
【0007】
40は命令コードレジスタ、42は命令コードレジスタ用セレクタ、45はブレークポインタ用レジスタ群26のアドレスBP1〜BP6とプログラムカウンタ30の値PCとの一致を検出する比較器である。
【0008】
46は組合せ回路であり、命令コードレジスタ40にセットされた命令コードIRをデコードして、ALU等の演算処理を行うと共に、次のプログラムの順番を制御するプログラム制御命令の生成を行う。
【0009】
このプログラム制御命令には、non命令、push命令、pop命令、jump命令、wait命令等がある。non命令はプログラムカウンタ30の値PCを+1して、順番にプログラム実行する命令である。push命令はサブルーチン命令等で現在実行中のプログラムカウンタ30の値PCをスタック群28に待避させて、別のアドレスの命令を実行する命令である。pop命令はリターン命令等でスタック群28に待避されていたプログラムカウンタ30の値PCを復活して、サブルーチンから戻る命令である。jump命令はジャンプ命令等でジャンプ条件が成立したときに、命令コードレジスタ40に書かれたアドレスにジャンプする命令である。waitはWait命令等のある条件が成立するまで同じアドレスのプログラムを実行する命令である。
【0010】
組合せ回路48は、組合せ回路46のプログラム制御命令の成立やブレークポイントの成立(PC=BP1、BP2,BP3,BP4,BP5,又はBP6)時に、命令コードレジスタ用セレクタ42の選択条件を生成する回路であり、図8にこのセレクタ42の選択条件と出力の関係を示した。セレクタ42の選択結果により、命令コードレジスタ40に新しい命令コードIRがセットされる。図8において、スタート制御レジスタ25の値がST=0のときはNop命令が選択される。ST=1のときは、組合せ回路46の出力と比較器45の出力に応じて、IR、BP1〜BP6のいずれか、RAM等が選択される。IRは命令コードレジスタ40の値、BP1〜BP6はブレークポイントレジスタ群26の特定の出力、RAMは非同期式メモリ11の出力である。
【0011】
図12は非同期式メモリ11に書き込まれたプログラムの例であり、図10、図11は非同期式メモリ11を使用したコンピュータ制御回路において、図12のプログラムを実行した場合のタイミング図である。このタイミングは、図10の右端に図11の左端が連続する。
【0012】
図10、図11において、CLKはクロック、STはスタート制御レジスタ25の値、PCはプログラムカウンタ30の値、addrは非同期式メモリ11のアドレス、doは非同期式メモリ11の出力、IRは命令コードレジスタ40の値、Decodeは組合せ回路46から生成されるプログラム制御命令、STKlはスタック群28のSTK1レジスタの値、BPnはプレークポイントの値である。
【0013】
ここで、ST、PC、IR、STK1はクロックCLKの立ち上がりに同期して動作するが、addr、do、DecodeはクロックCLKとは非同期で動作する。
【0014】
さて、制御回路20からスタート制御レジスタ25にST=1をセットすると、非同期式メモリ11に格納されたプログラムが‘000’からスタートする(図10の71)。その後、プログラム制御命令Decodeがnon命令の場合は、プログラムカウンタ30の値PCが順次インクリメントされて、非同期式メモリ11のアドレスに入力され、新しい命令コードが非同期式メモリ11から出力されて、命令コードレジスタ40にIRとしてセットされる。新しい命令コードが命令コードレジスタ40にセットされると、組合せ回路46の処理結果により、新しいプログラム制御命令が決定される。図10、図11におけるIR0〜Pop(IR81)は、図12に示すように、非同期式メモリ11の各アドレスに記述された命令コードを示す。
【0015】
図10、図11において、72のJMP0は、条件ジャンプで条件が成立しない場合を示す。このときはプログラム制御命令はnon命令となり、プログラムカウンタ30の値PCは+1加算される。
【0016】
73のJMP1は、条件ジャンプで、条件が成立した場合を示す。このときはプログラム制御命令がjump命令となり、命令コードレジスタ40にセットされたアドレスがセレクタ32を介して非同期式メモリ11のアドレスに入力され、非同期式メモリ11の出力がセレクタ42を介して出力し、ジャンプ先の命令が命令コードレジスタ40にセットされる。
【0017】
74のWait1は、Wait命令で、Wait条件が成立した場合を示す。このときは、プログラム制御命令はwait命令となり、PC、IRともに変化しない。
【0018】
75のWait0は、Wait命令で、Wait条件が成立しない場合を示す。このとき、プログラム制御命令はnon命令となり、プログラムカウンタ30の値PCは+1加算される。
【0019】
76のPushは、サブルーチン命令で、プログラムカウンタ30の値PCをSTK1レジスタにセットすると共に、命令コードレジスタ40にセットされた新しいジャンプ先のアドレスが、セレクタ32を介して非同期式メモリ11のアドレスに入力され、非同期式メモリ11の出力がセレクタ42を介して出力し、ジャンプ先の命令が命令コードレジスタ40にセットされる。
【0020】
77のPopは、リターン命令で、STK1レジスタに待避されていたプログラムカウンタ30の値PCが、セレクタ32を介して非同期式メモリ11のアドレスに入力され、非同期式メモリ11の出力がセレクタ42を介して出力し、リターン先の命令が命令コードレジスタ40にセットされる。
【0021】
78のBP1は、ブレークポイントが成立したときの動作を示す。このとき、ブレークポイントレジスタ群26にセットされている命令コードBP1が、IR17と置換されて、命令コードレジスタ40にセットされる。このときのプログラム制御命令はnop命令である。
【0022】
79のBP2は、ブレークポイントが成立したときの動作を示す。このとき、プレークポイントレジスタ群26にセットされている命令コードBP2が、IR20と置換されて、命令コードレジスタ40にセットされる。このときのプログラム制御命令がjump命令である場合には、命令コードレジスタ40にセットされた新しいジャンプ先のアドレスが、セレクタ32を介して非同期式メモリ11のアドレスに入力され、非同期式メモリ11の出力がセレクタ42を介して出力し、ジャンプ先の命令が命令コードレジスタ40にセットされる。
【0023】
このように、非同期式メモリ11を使用したコンピュータ制御回路では、命令コードが命令コードレジスタ40にセットされてから、組合せ回路46でデコードを行ってプログラム制御命令を生成し、非同期式メモリ11のアドレスが確定し、そのアドレスに対応した命令コードが出力され、再び命令コードレジスタ40にセットされるまで、1クロックで行われる。そのため、組合せ回路46による遅延時間、非同期式メモリ11の遅延時間、セレクタ32、33、42の遅延時間、命令コードレジスタ40のセットアップ時間と遅延時間の総計がクロックの1周期以内に収まる必要がある。よって、非同期式メモリ11を使ったコンピュータ制御回路では、動作スピードが回路の遅延時間により制約される。
【0024】
[第2の従来技術]
図13に従来の同期式アクセス方式のコンピュータ制御回路の構成を示す。図7に示したものと同じものには同じ符号を付けた。34、35はプログラムカウンタ30用のセレクタであり、セレクタ34の選択条件とその出力を図14に示す。ST=0のときは、セレクタ34の出力nextPCは‘000’であり、ST=1のときは、組合せ回路46から出力するプログラム制御命令push、pop、jump、wait,nonに応じた動作を行う。例えば、プログラム制御命令がnon命令の場合は、加算器39により+1インクリメントされる(PC+1)。
【0025】
スタック命令用レジスタ群28は、プログラムの命令コードがPush命令の場合は、プログラムカウンタ30の値PCを待避し、pop命令の場合はSTK1レジスタの値STK1を加算器39で+1を加算してプログラムカウンタ30にセットする。スタックレジスタ群28は、図7のコンピュータ制御回路と同様にプログラムのスタックの深さ分だけ準備する。
【0026】
図13の同期アクセス方式のコンピュータ制御回路の構成が図7で説明した非同期式メモリのコンピュータ制御回路の構成と違うところは、非同期式メモリ11のアドレスが、セレクタ23を介してプログラムカウンタ30に直接接続されているためクロックの途中で変化しない、つまりクロックに同期する点である。
【0027】
図17は同期式アクセス方式を使用した場合のプログラムの例、図15、図16は同期式アクセス方式を使用したコンピュータ制御回路において、図17のプログラムを実行した場合のタイミング図である。このタイミングは、図15の右端が図16の左端に連続する。
【0028】
図15、図16において、CLKはクロック、STはスタート制御レジスタ25の値、nextPCはセレクタ34の出力、PCはプログラムカウンタ30の値、doは非同期式メモリ11の出力、IRは命令コードレジスタ40の値、Decodeは組合せ回路46によって生成されるプログラム制御命令、STK1はスタック群28のSTK1レジスタの値、BPnはブレークポイントの値である。
【0029】
ここで、ST、PC、IR、STK1はクロックCLKの立ち上がりに同期して動作するが、nextPC、do、DecodeはクロックCLKとは非同期で動作する。
【0030】
さて、制御回路20からスタート制御レジスタ25にST=1をセットすると、非同期式メモリ11に格納されたプログラムが‘000’からスタートする(図15の81)。その後、プログラム制御命令がnon命令の場合はプログラムカウンタ30の値PCが順次インクリメントされて非同期式メモリ11のアドレスに入力され、新しい命令コードが非同期式メモリ11から出力され、命令コードレジスタ40にセットされる。新しい命令コードが命令コードレジスタ40にセットされると、組合せ回路46により新しいプログラム制御命令が決定される。ここで、IR0からIR81(Pop)は、図12で説明した命令コードに対応している。
【0031】
82のJMP0は条件ジャンプで条件が成立しない場合を示す。このときは、プログラム制御命令はnon命令となり、プログラムカウンタ30の値PCは+1加算される。
【0032】
83のJMPlは条件ジャンプで条件が成立した場合を示す。このときは、プログラム制御命令がjump命令となり、命令コードレジスタ40にセットされたアドレスがプログラムカウンタ30にセットされる。次のクロックでプログラムカウンタ30の値PCが非同期式メモリ11のアドレスに入力され、非同期式メモリ11の出力がセレクタ42を介して出力し、ジャンプ先の命令が命令コードレジスタ40にセットされる。
【0033】
84のWait1は、Wait命令で、Wait条件が成立した場合を示す。このときは、プログラム制御命令はwait命令となり、PC、IRとも変化しない。
【0034】
85のWait0は、Wait命令で、Wait条件が成立しない場合を示す。このとき、プログラム制御命令はnon命令となり、プログラムカウンタ30の値PCは+1加算される。
【0035】
86のPushは、サブルーチン命令で、プログラムカウンタ30の値PCをSTK1レジスタにセットすると共に、命令コードレジスタ40にセットされた新しいジャンプ先のアドレスがプログラムカウンタ30にセットされる。次のクロックでプログラムカウンタ30の値PCが非同期式メモリ11のアドレスに入力され、非同期式メモリ11の出力がセレクタ42を介して出力し、ジャンプ先の命令が命令コードレジスタ40にセットされる。
【0036】
87のPopは、リターン命令で、STK1レジスタに待避されていたプログラムカウンタ30の値PCが、加算器39で+1インクリメントされてプログラムカウンタ30にセットされる。次のクロックでプログラムカウンタ30の値が非同期式メモリ11のアドレスに入力され、非同期式メモリ11の出力がセレクタ42を介して出力し、ジャンプ先の命令が命令コードレジスタ40にセットされる。
【0037】
88のBPlは、ブレークポイントが成立したときの動作を示す。このとき、ブレークポイントレジスタ群26にセットされている命令コードBP1が、IR17と置換されて、命令コードレジスタ40にセットされる。このときのプログラム制御命令はnop命令である。
【0038】
89のBP2は、ブレークポイントが成立したときの動作を示す。このとき、ブレークポイントレジスタにセットされている命令コードBP2が、IR20と置換されて、命令コードレジスタ40にセットされる。このときのプログラム制御命令がjump命令である場合は、命令コードレジスタ40にセットされた新しいジャンプ先のアドレスがプログラムカウンタ30にセットされる。次のクロックでプログラムカウンタ30の値が非同期式メモリ11のアドレスに入力され、非同期式メモリ11の出力がセレクタ42を介して出力し、ジャンプ先の命令が命令コードレジスタ40にセットされる。
【0039】
ここでは、ジャンプ命令、サブルーチン命令、リターン命令等で、プログラム制御命令がjump命令、push命令、pop命令の場合、ジャンプ先の命令が実行されるまで2クロック必要なので、ジャンプ先の命令を実行する前に、ジャンプ命令の次の命令が実行される。このため、図12のプログラムと同じ動作を実現するためには、図17に示すように、JMP、Push、Pop命令の次に各々Nop命令を追加する必要がある。
【0040】
このように、同期式アクセス方式を使用したコンピュータ制御回路では、プログラムカウンタ30の値PCがセットされて、非同期式メモリ11のアドレスに入力され、非同期式メモリ11の出力が命令コードレジスタ40にセットされるのに1クロック掛かる。また、命令コードレジスタ40にセットされてから、組合せ回路46でデコードを行い、プログラム制御命令を生成して、プログラムカウンタ30にセットされるまで1クロック掛かる。
【0041】
よって、同期式アクセス方式を使用したコンピュータ制御回路では、プログラムカウンタ30に非同期式メモリ11のアドレスがセットされて、非同期式メモリ11のアクセス時間後に命令コードが出力され、命令コードレジスタ40にセットされるまでの第1の遅延時間と、命令コードレジスタ40にセットされてから、組合せ回路46でデコードを行い、プログラムカウンタ30にセットされるまで第2の遅延時間の内の遅い方の遅延時間によりクロックの周期が決定されることになる。
【0042】
図7で説明した非同期式メモリを使用するコンピュータ制御回路では、上記の第1の遅延時間と第2の遅延時間の合計でクロックの周期が決定されるため、図7の同期式アクセス方式の方がより早いクロックで動作させることが可能となり、そのため、タイミング設計も容易になる。
【0043】
一方、同期式アクセス方式の場合は、プログラムカウンタ30上の命令を実行するタイミングが1クロック遅くなる。連続した命令であれば、命令の実行がプログラムカウンタ30の指示よりも全体が遅れることになる。
【0044】
また、ジャンプ命令やサブルーチン命令のようにプログラムカウンタ30の値PCが変化する命令(ジャンプ命令等)を実行すると、新しいジャンプ先がプログラムカウンタ30にセットされる。このジャンプ命令の実行中には、プログラムカウンタ30に、次の命令アドレスがセットされており、次のクロックではジャンプ命令の次の命令を実行し、その次のクロックでジャンプ先の命令を実行することになる。
【0045】
よって、図7に示した非同期式メモリを使用するコンピュータ制御回路用に開発されたプログラムを、図13に示した同期式メモリを使用するコンピュータ制御回路で使用するためには、ジャンプ命令の前後関係を考慮して、Nop命令を挿入したり、ジャンプに影響されない命令に変更したりして、プログラムを同期式メモリ用に修正する必要がある。
【0046】
[第3の従来例]
図18に同期式メモリ方式のコンピュータ制御回路の構成を示す。10は同期式メモリであり、非同期式メモリ11、入力データレジスタ12、アドレスレジスタ13、出力データレジスタ15を具備し、入出力がクロックに同期してアクセスされる。その他の図13と同じものには同じ符号を付けた。
【0047】
図18の同期式メモリ方式のコンピュータ制御回路の構成が図13の同期アクセス方式のコンピュータ制御回路の構成と違うところは、図13の非同期式メモリ11が図18の同期式メモリ10に代わっている点と、図18の同期式メモリ10の内部のアドレスレジスタ13の値addrとプログラムカウンタ30の値PCが同じになるように構成され、プログラムカウンタ30にセットされる値(PC−1)が実際のアドレスaddrとなり、そのアドレスaddrによる出力が出力レジスタ15により1クロック遅れる点である。
【0048】
図19は同期式メモリ10を使用したコンピュータ制御回路のプログラムの例であり、図20、図21、図22は、同期式メモリ10を使用したコンピュータ制御回路において、図19のプログラムを実行した場合のタイミング図である。このタイミングは、図20の右端が図21の左端に連続し、図21の右端が図22の左端に連続する。
【0049】
図20、図21、図22において、CLKはクロック、STはスタート制御レジスタ25の値、nextPCはセレクタ34の出力、PCはプログラムカウンタ30の値、DOは同期式メモリ10の出力、IRは命令コードレジスタ40の値、Decodeは組合せ回路46によって生成されるプログラム制御命令、STK1はスタック群28のSTK1レジスタの値、BPnはブレークポイントの値である。
【0050】
ここで、ST、PC、DO、IR、STK1はクロックCLKの立ち上がりに同期して動作するが、nextPC、DecodeはクロックCLKとは非同期で動作する。
【0051】
さて、制御回路20からスタート制御レジスタ25にST=1をセットすると、同期式メモリ10に格納されたプログラムが‘000’からスタートする(図20の91)。その後、プログラム制御命令がnon命令の場合はプログラムカウンタ30の値PCが順次インクリメントされるが、それより1つ前の値「PC−1」が同期式メモリ10のアドレスレジスタ13に入力され、新しい命令コードが出力データレジスタ15にセットされて、次のクロックでセレクタ42を介して命令コードレジスタ40にセットされる。新しい命令コードが命令コードレジスタ40にセットされると、組合せ回路46の処理結果により、新しいプログラム制御命令が決定される。ここで、IR0からIR81(Pop)は、図12に示した命令コードに対応している。
【0052】
92のJMP0は、条件ジャンプで条件が成立しない場合を示す。このときはプログラム制御命令はnon命令となり、プログラムカウンタ30の値PCは+1加算される。
【0053】
93のJMP1は、条件ジャンプで条件が成立した場合を示す。このときはプログラム制御命令がjump命令となり、命令コードレジスタ40にセットされたアドレスが、セレクタ34を介して同期式メモリ10のアドレスレジスタ13とプログラムカウンタ30にセットされる。次のクロックで同期式メモリ10から命令コードが出力され、その次のクロックで同期式メモリ10の出力がセレクタ42を介して出力し、ジャンプ先の命令が命令コードレジスタ40にセットされる。
【0054】
94のWait1は、Wait命令で、Wait条件が成立した場合を示す。このときはプログラム制御命令はwait命令となり、PC、IRとも変化しない。
【0055】
95のWait0は、Wait命令で、Wait条件が成立しない場合を示す。このときはプログラム制御命令はnon命令となり、プログラムカウンタ30の値PCは+1加算される。
【0056】
96のPushは、サブルーチン命令であり、プログラムカウンタ30の値PCをSTK1レジスタにセットすると共に、命令コードレジスタ40にセットされた新しいジャンプ先のアドレスが、同期式メモリ10のアドレスレジスタ13とプログラムカウンタ30にセットされる。次のクロックで同期式メモリ10から命令コードが出力され、その次のクロックで同期式メモリ10の出力がセレクタ42を介して出力し、ジャンプ先の命令が命令コードレジスタ40にセットされる。
【0057】
97のPopは、リターン命令であり、STK1レジスタに待避されていたプログラムカウンタ30の値が、加算器39で+1インクリメントされて、同期式メモリ10のアドレスレジスタ13とプログラムカウンタ30にセットされる。次のクロックで同期式メモリ10から命令コードが出力され、その次のクロックで同期式メモリ10の出力がセレクタ42を介して出力し、ジャンプ先の命令が命令コードレジスタ40にセットされる。
【0058】
98のBPlは、プレークポイントが成立したときの動作を示す。このとき、ブレークポイントレジスタにセットされている命令コードBPlが、IR17と置換されて、命令コードレジスタ40にセットされる。このときのプログラム制御命令がnop命令である。ここで、ブレークポイントレジスタのアドレスには、置換したい命令のアドレス+1の値をセットする必要がある。
【0059】
99のBP2は、ブレークポイントが成立したときの動作を示す。このとき、プレークポイントレジスタにセットされている命令コードBP2が、IR20と置換されて、命令コードレジスタ40にセットされる。このときのプログラム制御命令がjump命令である場合は、命令コードレジスタ40にセットされた新しいジャンプ先のアドレスが、同期式メモリ10のアドレスレジスタ13とプログラムカウンタ30にセットされる。次のクロックで同期式メモリ10から命令コードが出力され、その次のクロックで同期式メモリ10の出力がセレクタ42を介して出力し、ジャンプ先の命令が命令コードレジスタ40にセットされる。
【0060】
ここでは、ジャンプ命令、サブルーチン命令、リターン命令等により、プログラム制御命令がjump命令、push命令、pop命令の場合には、ジャンプ先の命令が実行されるまで3クロック必要なので、ジャンプ先の命令を実行する前に、ジャンプ命令の次の命令が実行される。このため、図12のプログラムと同じ動作を実現するためには、図19に示すように、JMP、Push、Pop、Waitの命令の次にNop命令を2つ追加する必要がある。
【0061】
このように、同期式メモリ10を使用したコンピュータ制御回路では、同期式メモリ10の出力がクロックに同期しているので、Wait命令やブレークポイントや他の条件を含めた動作を考慮すると、図18に示すようにセレクタ42を介して命令コードレジスタ40に接続する必要があるので、図13に示した同期式アクセス方式のコンピュータ制御回路よりも、アドレスアドレスレジスタ13にアドレスがセットされてから、命令コードレジスタ40に命令コードがセットされるのが1クロック遅くなる。
【0062】
よって、同期式メモリ10を使用したコンピュータ制御回路の場合は、プログラムカウンタ30上の命令を実行するタイミングが2クロック遅くなる。連続した命令であれば、命令の実行がプログラムカウンタ30の指示よりも全体が遅れることになる。
【0063】
また、ジャンプやサブルーチン命令のようにプログラムカウンタの値が変化する命令(ジャンプ命令等)を実行すると、新しいジャンプ先がプログラムカウンタにセットされるが、このジャンプ命令の実行中には、プログラムカウンタに次の命令アドレスがセットされており、次のクロックではジャンプ命令の次の命令を実行し、その次のクロックでジャンプ先の命令を実行することになる。よって、非同期式のメモリ11を使用するコンピュータ制御回路用に開発されたプログラムを同期式メモリ10を使用するコンピュータ制御回路で使用するためには、ジャンプ命令の前後関係を考慮して、Nop命令2個を挿入したり、ジャンプに影響されない命令に変更したりして、プログラムを同期式メモリ10用に修正する必要がある。
【0064】
【発明が解決しようとする課題】
今日、プロセス技術が進化して微細化されている。ここで、一度コンピュータ制御回路を開発した後、より微細化されたプロセスにて再開発する場合、非同期式メモリを使用していると、非同期式メモリの個所でタイミング問題が発生しやすい。そこで、同期式メモリを使用するとタイミング問題が発生しにくいので、同期式メモリを使用することが多くなっている。さらに、プロセスメーカとして、非同期式メモリを準備しないケースも増えている。
【0065】
しかし、非同期式メモリを同期式メモリに変更すると、前述したように、プログラムメモリにアドレスを入力してから、データが出てくるまで1クロック遅れる。そのため、プログラムカウンタ上の命令を実行するタイミングが1クロック遅くなる。連続した命令であれば、命令の実行がプログラムカウンタの指示よりも全体が遅れることになる。
【0066】
また、ジャンプやサブルーチン命令のようにプログラムカウンタの値が変化する命令(ジャンプ命令等)を実行すると、新しいジャンプ先がプログラムカウンタにセットされるが、このジャンプ命令の実行中には、プログラムカウンタに次の命令アドレスがセットされており、次のクロックではジャンプ命令の次の命令を実行し、その次のクロックでジャンプ先の命令を実行することになるので、非同期式のメモリ用に開発されたプログラムを同期式メモリで使用するためには、ジャンプ命令の前後関係を考慮して、Nop命令を挿入したり、ジャンプに影響されない命令に変更したりして、プログラムを同期式メモリ用に修正する必要があるという問題がある。
【0067】
本発明は上記問題点を解消し、非同期式メモリ用に開発されたプログラムを修正すること無くそのまま使用できるようにした同期式メモリ使用のコンピュータ制御回路を実現することを目的とするものである。
【0068】
【課題を解決するための手段】
請求項1に係る発明は、同期式メモリを使用したコンピュータ制御回路において、出力命令コードを保持するラッチの出力、前記同期式メモリから出力される命令コード、Nop命令コード、およびブレークポイントで発生した命令コードの内の1つを選択するセレクタと、該セレクタの選択動作を制御するレジスタを具備し、前記セレクタは、前記レジスタにより、前記同期式メモリから出力される命令コードがジャンプ命令のときは前記Nop命令コードを選択して出力し、Wait命令のときは前記ラッチの出力を選択して出力し、ブレークポイント条件が成立したときは該ブレークポイントの命令コードを選択して出力するよう制御されることを特徴とするコンピュータ制御回路とした。
【0069】
請求項2に係る発明は、請求項1に係る発明おいて、前記レジスタは、前記セレクタの選択状態を1クロック期間保持することを特徴とするコンピュータ制御回路とした。
【0070】
請求項3に係る発明は、請求項1又は2に係る発明おいて、前記同期メモリに内蔵されたアドレスレジスタと同じ値を持つよう制御されるプログラムカウンタを具備することを特徴とするコンピュータ制御回路とした。
【0071】
【発明の実施の形態】
本発明の同期式メモリを使用したコンピュータ制御回路では、命令コード選択用セレクタを使用し、このセレクタを命令コード選択用レジスタで制御する。これにより、命令コードを保持するラッチの出力、同期式メモリから出力される命令コード、Nop命令コード、プレークポイント等で発生した命令コードの内の1つを命令コード選択用セレクタで選択し、命令コードがジャンプ命令のときはNop命令を挿入し、Wait命令のときは命令をラッチしたラッチから同じ命令コードを出力し、ブレークポイント条件が成立した場合にはその命令コードが出力されるようする。
【0072】
このような構成すると、命令コードの選択に命令コード選択用レジスタを使用しているので、選択された命令コードがクロックの途中で変化しない。つまり、命令コードがクロックに同期する。よって、そのセレクタの出力を命令コードレジスタの出力と同じように使用できる。
【0073】
図1に本発明の1つの実施形態のコンピュータ制御回路の構成を示す。10は同期式メモリであり、非同期式メモリ11、入力データレジスタ12、アドレスレジスタ13、出力データレジスタ15を具備し、入出力がクロックに同期してアクセスされる。21はデータレジスタ、22はアドレスレジスタ、23はアドレス切替セレクタであり、これらは、同期式メモリ10がRAMの場合は、制御回路20から非同期式メモリ11ヘプログラムをダウンロードするときに使用するが、同期式メモリ10がROMの場合は不要となる。
【0074】
25はスタート制御レジスタであり、制御回路20からST=1を書き込むことにより、プログラムがスタートする。26はブレークポイント用レジスタ群であり、主にプログラムのデバッグ時に用いる。
【0075】
30はプログラムカウンタであり、同期式メモリ10内のアドレスレジスタ13と同じ値がセットされる。31は同期式メモリ10のアドレス用およびプログラムカウンタ30用のセレクタであり、その選択条件と出力nextPCを図3に示す。図3において、セレクタ31はスタート制御レジスタ25の値がST=0のときは‘000’を選択し、ST=1のときはプログラム制御命令push、pop、jump、wait、nonに応じて、PC+1、PC、IR、STK1等を選択する。例えば、プログラム制御命令がnon命令の場合は、プログラムカウンタ30の値PCが加算器39により+1インクリメントされてPC+1となる。
【0076】
28はスタック命令用レジスタ群であり、プログラムの命令コードがPush命令の場合は、プログラムカウンタ30の値PCを待避し、Pop命令の場合はSTK1レジスタの値をセレクタ31を介して同期式メモリ10のアドレスとプログラムカウンタ30にセットする。スタックレジスタ群28は、プログラムのスタックの深さ分だけ準備する。図4にスタックが6段の場合の命令コードと動作を示した。
【0077】
41は命令コード選択用セレクタ、45はブレークポインタ用レジスタ群26のアドレスBP1〜BP6とプログラムカウンタ30の値PCとの一致を検出する比較器である。
【0078】
46は組合せ回路であり、命令コード選択用セレクタ41から出力された命令コードをデコードして、ALU等の演算処理を行うと共に、次のプログラムの順番を制御するプログラム制御命令push、pop、jump、wait、nonの生成を行う。
【0079】
47も組合せ回路であり、組合せ回路46で生成したプログラム制御命令、比較器45の出力、およびスタート制御レジスタ25の出力を入力し、命令コード選択用セレクタ41の選択条件を生成する。55は命令コード選択レジスタであり、組合せ回路47の処理結果に応じてセレクタ41の選択条件をセットする。
【0080】
図2にセレクタ41の選択条件とその出力の関係を示す。図2において、ST=0で且つプログラム制御命令がjump、push、又はpopのときはNop命令を選択し、ST=1で且つプログラム制御命令がnonのときはRAM(同期式メモリ10の出力)を選択し、ST=1で且つプログラム制御命令がwaitのときはセレクタ41の出力をラッチするラッチ50の出力R1を選択し、ST=1で且つPC=BP1、BP2、BP3、BP4、BP5、又はBP6のときはBP1〜BP6の対応するいずれかを選択する。
【0081】
図5、図6に本発明の実施形態のコンピュータ制御回路のタイミング図を示す。このタイミング図は、図7に示した非同期式メモリを使用したコンピュータ制御回路用のプログラム(図12)を実行した場合のタイミング図である。このタイミングにおいて、図5の右端が図6の左端に連続する。
【0082】
図5、図6において、CLKはクロック、STはスタート制御レジスタ25の値、nextPCはセレクタ31の出力、PCはプログラムカウンタ30の値、DOは同期式メモリ10の出力、R1は命令コードを保持するラッチ50の値、Selは命令コード選択レジスタ55の値、IRは命令コード選択用セレクタ41の出力、Decodeは組合せ回路46によって生成されるプログラム制御命令、STK1はスタック群28のSTK1レジスタの値、BPnはプレークポイントの値である。
【0083】
ここで、ST、PC、DO、R1、Sel、STK1はクロックCLKの立ち上がりに同期して動作する。IRはクロックの立ち上がりに対してセレクタ41の動作時間だけ遅延する。また、nextPC、DecodeはクロックCLKとは非同期で動作する。
【0084】
ここでは、同期式メモリ10の内部のアドレスレジスタ13の値addrとプログラムカウンタ30の値PCが同じになり、プログラムカウンタ30にセットされる値(PC−1)が実際のアドレスaddrとなり、そのアドレスaddrによる出力が出力レジスタ15により1クロック遅れる。
【0085】
さて、制御回路20からスタート制御レジスタ25にST=1をセットすると、同期式メモリ10に格納されたプログラムが‘000’からスタートする(図5の61)。その後、プログラム制御命令がnon命令の場合は、プログラムカウンタ30の値PCが順次インクリメントされるが、それより1つ前の値「PC−1」が同期式メモリ10のアドレスレジスタ13に入力され、新しい命令コードが出力データレジスタ15にセットされ、その出力がセレクタ41を介して新しい命令コードとなる。そして、組合せ回路46の処理結果により、新しいプログラム制御命令が決定される。ここで、IR0からIR81(Pop)は図12の命令コードに対応している。
【0086】
62のJMP0は、条件ジャンプで条件が成立しない場合を示す。このときは、プログラム制御命令はnon命令となり、プログラムカウンタ30の値PCは+1加算される。
【0087】
63のJMPlは、条件ジャンプで条件が成立した場合を示す。このときは、プログラム制御命令がjump命令となり、セレクタ41が出力している命令コードIR上のアドレスが、セレクタ31を介して同期式メモリ10のアドレスレジスタ13とプログラムカウンタ30にセットされる。また、jump命令の場合は、組合せ回路47によりセレクタ41の次の出力としてNop命令が選択されて、次のクロックで命令コード選択レジスタ55がNopの選択用にセットされ、セレクタ41から命令コードとしてNop命令が出力される。その次のクロックで同期式メモリ10からジャンプ先の命令コードが出力される。このときは、プログラム制御命令はnon命令なので、命令コード選択レジスタ55が同期式メモリ10の出力の選択用にセットされ、同期式メモリ10の出力がセレクタ41を介して出力し、ジャンプ先の命令コードとなる。このようにジャンプ命令とジャンプ先の命令の間にNop命令が自動挿入される。
【0088】
64のWait1は、Wait命令で、Wait条件が成立した場合を示す。このときは、プログラム制御命令はwait命令となり、同期式メモリ10のアドレスレジスタ13とプログラムカウンタ30の値は変化しない。また、組合せ回路47によりセレクタ41の次の出力としてラッチ50のR1が選択され、次のクロックで命令コード選択レジスタ55がラッチ50のR1の選択用にセットされ、セレクタ41から現在実行中と同じ命令コードが出力される。
【0089】
65のWait0は、Wait命令で、Wait条件が成立しない場合を示す。このときは、プログラム制御命令はnon命令となり、プログラムカウンタ30の値PCは+1加算される。このときは、プログラム制御命令はnon命令なので、命令コード選択レジスタ55が同期式メモリ10の出力の選択用にセットされて、同期式メモリ10の出力がセレクタ41を介して出力し、次の命令コードとなる。
【0090】
66のPushは、サブルーチン命令で、プログラムカウンタ30の値PCをSTK1レジスタにセットする。このときは、プログラム制御命令がpush命令となり、セレクタ41が出力している命令コードIR上のアドレスが、同期式メモリ10のアドレスレジスタ13とプログラムカウンタ30にセットされる。また、push命令の場合は、組合せ回路47により次のセレクタ41の出力としてNop命令が選択されて、次のクロックで命令コード選択レジスタ55がNopの選択用にセットされ、セレクタ41から命令コードIRとしてNop命令が出力される。その次のクロックで同期式メモリ10からジャンプ先の命令コードが出力される。このときは、プログラム制御命令はnon命令なので、命令コード選択レジスタ55が同期式メモリ10の出力の選択用にセットされて、同期式メモリ10の出力がセレクタ41を介して出力し、ジャンプ先の命令コードとなる。このようにPush命令とジャンプ先の命令の間にNop命令が自動挿入される。
【0091】
67のPopは、リターン命令で、プログラム制御命令がpop命令となり、STK1レジスタに待避されていたプログラムカウンタ30の値PCが、同期式メモリ10のアドレスレジスタ13とプログラムカウンタ30にセットされる。また、pop命令の場合は、組合せ回路47により次のセレクタ41の出力IRとしてNop命令が選択されて、次のクロックで命令コード選択レジスタ55がNopの選択用にセットされ、これによりセレクタ41から命令コードIRとしてNop命令が出力される。その次のクロックで同期式メモリ10から待避先の命令コードが出力される。このときは、プログラム制御命令はnon命令なので、命令コード選択レジスタ55が同期式メモリ10の出力の選択用にセットされて、同期式メモリ10の出力がセレクタ41を介して出力し、待避先の命令コードとなる。このようにpop命令と待避先の命令の間にNop命令が自動挿入される。
【0092】
68のBP1は、ブレークポイントが成立したときの動作を示す。このときは、組合せ回路47により次のセレクタ41の出力としてBP1が選択され、次のクロックで命令コード選択レジスタ55がBP1の選択用にセットされ、これによりブレークポイントレジスタ群26にセットされている命令コードBP1がIR17と置換されて、セレクタ41を介して新しい命令コードIRとして出力される。
【0093】
69のBP2は、ブレークポイントが成立したときの動作を示す。このときは、組合せ回路47により次のセレクタ41の出力としてBP2が選択されて、次のクロックで命令コード選択レジスタ55がBP2の選択用にセットされ、セレクタ41からプレークポイントレジスタ群26にセットされている命令コードBP2が、IR20と置換されて、セレクタ41を介して新しい命令コードとして出力される。このときのプログラム制御命令がjump命令である場合は、セレクタ41が出力している命令コードIR上のアドレスが、同期式メモリ10のアドレスレジスタ13とプログラムカウンタ30にセットされる。また、jump命令の場合は、組合せ回路47により次のセレクタ41の出力としてNop命令が選択されて、次のクロックで命令コード選択レジスタ55がNopの選択用にセットされ、セレクタ41から命令コードIRとしてNop命令が出力される。その次のクロックで同期式メモリ10からジャンプ先の命令コードが出力される。このときは、プログラム制御命令はnon命令なので、命令コード選択レジスタ55が同期式メモリ10の出力の選択用にセットされ、同期式メモリ10の出力がセレクタ41を介して出力し、ジャンプ先の命令コードとなる。このようにジャンプ命令とジャンプ先の命令の問にNop命令が自動挿入される。
【0094】
以上のように、本実施形態では、非同期式メモリを同期式メモリに変更する場合、非同期式メモリ用に開発されたプログラムを実行するとき、ジャンプやサブルーチン命令等で自動的にNop命令を挿入するので、非同期式メモリ用に開発されたプログラムを変更せずにそのまま使用することができる。
【0095】
さらに、命令コード選択用レジスタ55を用いているので、図7、図13、図18のコンピュータ制御回路で使用した命令コードレジスタ40と同等な、クロックに同期した命令コードを得ることができる。
【0096】
【発明の効果】
以上から本発明によれば、非同期式メモリを同期式メモリに変更する場合、非同期式メモリ用に開発されたプログラムを変更せずに使用することができるようになるため、プログラムの開発コストが不要になる。
【0097】
通常、非同期式メモリを同期式メモリに変更する場合、タイミング調整用にNop等の命令を追加するためにプログラムの容量が増えるが、本発明ではプログラム容量は変化しないので、メモリの増加によるチップのコスト上昇がない。
【0098】
また、同期式メモリを使用すると、タイミング制約が簡単になり、プロセスが微細化した場合に、容易にプロセスの変更ができるため、同じ回路においてチップ面積を小さくすることにより、チップコストが安くなる。
【図面の簡単な説明】
【図1】 本発明の一実施形態の同期式メモリを使用したコンピュータ制御回路の回路図である。
【図2】 図1の回路の命令コード選択用セレクタ41のテーブルの説明図である。
【図3】 図1の回路のプログラムカウンタ用セレクタ31のテーブルの説明図である。
【図4】 図1のスタック用レジスタ群28のスタック状態遷移テーブルの説明図である。
【図5】 図1の回路の動作のタイミング図である
【図6】 図1の回路の動作のタイミング図である。
【図7】 従来の非同期式メモリを使用したコンピュータ制御回路の回路図である。
【図8】 図7の回路の命令コードレジスタ用セレクタのテーブルの説明図である。
【図9】 図7の回路のアドレス用セレクタのテーブルの説明図である。
【図10】 図7の回路の動作のタイミング図である。
【図11】 図7の回路の動作のタイミング図である。
【図12】 図7の回路用のプログラムの説明図である。
【図13】 従来の同期式アクセス方式のコンピュータ制御回路の回路図である。
【図14】 図13の回路のプログラムカウント用セレクタのテーブルの説明図である。
【図15】 図13の回路の動作のタイミング図である。
【図16】 図13の回路の動作のタイミング図である。
【図17】 図13の回路用のプログラムの説明図である。
【図18】 従来の同期式メモリを使用したコンピュータ制御回路の回路図である。
【図19】 図18の回路用のプログラムの説明図である。
【図20】 図18の回路の動作のタイミング図である。
【図21】 図18の回路の動作のタイミング図である。
【図22】 図18の回路の動作のタイミング図である。
【符号の説明】
10:同期式メモリ、11:非同期式メモリ、12:入力データレジスタ、13:アドレスレジスタ、15:出力データレジスタ、
20:制御回路、21:データレジスタ、22:アドレスレジスタ、23:アドレス切替セレクタ、25:スタート制御レジスタ、26:ブレークポイント用レジスタ群、28:スタック命令用レジスタ群、
30:プログラムカウンタ、31:同期式メモリのアドレスおよびプログラムカウンタ用のセレクタ、32:アドレス用セレクタ、33:プログラムカウンタ用セレクタ、34,35:プログラムカウンタ用セレクタ、39:加算器、
40:命令コードレジスタ、41:命令コード選択用セレクタ、42:命令コードレジスタ用セレクタ、45:比較器、46,47,48:組合せ回路、
50:ラッチ、55:命令コード選択レジスタ。

Claims (3)

  1. 同期式メモリを使用したコンピュータ制御回路において、
    出力命令コードを保持するラッチの出力、前記同期式メモリから出力される命令コード、Nop命令コード、およびブレークポイントで発生した命令コードの内の1つを選択するセレクタと、該セレクタの選択動作を制御するレジスタを具備し、
    前記セレクタは、前記レジスタにより、前記同期式メモリから出力される命令コードがジャンプ命令のときは前記Nop命令コードを選択して出力し、Wait命令のときは前記ラッチの出力を選択して出力し、ブレークポイント条件が成立したときは該ブレークポイントの命令コードを選択して出力するよう制御されることを特徴とするコンピュータ制御回路。
  2. 請求項1において、
    前記レジスタは、前記セレクタの選択状態を1クロック期間保持することを特徴とするコンピュータ制御回路。
  3. 請求項1又は2において、
    前記同期メモリに内蔵されたアドレスレジスタと同じ値を持つよう制御されるプログラムカウンタを具備することを特徴とするコンピュータ制御回路。
JP2001310335A 2001-10-05 2001-10-05 コンピュータ制御回路 Expired - Fee Related JP3716320B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001310335A JP3716320B2 (ja) 2001-10-05 2001-10-05 コンピュータ制御回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001310335A JP3716320B2 (ja) 2001-10-05 2001-10-05 コンピュータ制御回路

Publications (2)

Publication Number Publication Date
JP2003114796A JP2003114796A (ja) 2003-04-18
JP3716320B2 true JP3716320B2 (ja) 2005-11-16

Family

ID=19129326

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001310335A Expired - Fee Related JP3716320B2 (ja) 2001-10-05 2001-10-05 コンピュータ制御回路

Country Status (1)

Country Link
JP (1) JP3716320B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100705384B1 (ko) * 2005-08-16 2007-04-10 삼성전자주식회사 화상형성장치의 프로세스 카트리지

Also Published As

Publication number Publication date
JP2003114796A (ja) 2003-04-18

Similar Documents

Publication Publication Date Title
JP2002244881A (ja) 順序外データのトレーシング
JP2006146953A (ja) プロセッサ、システムlsi、システムlsiの設計方法、及び、それを記録した記録媒体
JPH09231070A (ja) 情報処理回路、半導体集積回路装置、マイクロコンピュータ、電子機器
KR100423910B1 (ko) 코프로세서 명령 실행 장치 및 방법
CA2246252C (en) Apparatus and method for system control
KR100267410B1 (ko) 정보 처리 장치 및 이의 인터럽트 신호 발생 방법
JP3716320B2 (ja) コンピュータ制御回路
JPH0418635A (ja) ディジタル信号プロセッサ
US6564316B1 (en) Method and apparatus for reducing code size by executing no operation instructions that are not explicitly included in code using programmable delay slots
JPH1091430A (ja) 命令解読装置
JP3699796B2 (ja) プロセッサ
JP3958239B2 (ja) マイクロコントローラ
JP2000284962A (ja) マイクロコンピュータ
JPH0793151A (ja) 命令供給装置
JPS63113634A (ja) プログラムカウンタ相対アドレス計算方式
JP2721610B2 (ja) プログラマブルコントローラ
JP2979653B2 (ja) 情報処理装置
JP3814548B2 (ja) 情報処理制御装置
KR100345678B1 (ko) 설계의 변경이 용이한 제어 유닛
JP2006260195A (ja) 信号処理装置
JP2721611B2 (ja) プログラマブルコントローラ
JP2004355477A (ja) マイクロプロセッサ
KR100314805B1 (ko) 파이프라인제어프로세서를위한부팅회로
JP2000222238A (ja) インサーキットエミュレータおよびインサーキットエミュレーション方法
JP3060917B2 (ja) プロセッサ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040805

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050810

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110909

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130909

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees