JPH04363704A - プログラマブルコントローラの演算プロセッサ - Google Patents

プログラマブルコントローラの演算プロセッサ

Info

Publication number
JPH04363704A
JPH04363704A JP3186628A JP18662891A JPH04363704A JP H04363704 A JPH04363704 A JP H04363704A JP 3186628 A JP3186628 A JP 3186628A JP 18662891 A JP18662891 A JP 18662891A JP H04363704 A JPH04363704 A JP H04363704A
Authority
JP
Japan
Prior art keywords
instruction
unit
address
section
bpu
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
Application number
JP3186628A
Other languages
English (en)
Other versions
JP3027627B2 (ja
Inventor
Joji Takera
武良 丈治
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.)
Panasonic Electric Works Co Ltd
Original Assignee
Matsushita Electric Works 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 Matsushita Electric Works Ltd filed Critical Matsushita Electric Works Ltd
Priority to JP3186628A priority Critical patent/JP3027627B2/ja
Publication of JPH04363704A publication Critical patent/JPH04363704A/ja
Application granted granted Critical
Publication of JP3027627B2 publication Critical patent/JP3027627B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラマブルコント
ローラの演算プロセッサに関する。
【0002】
【従来の技術】制御と、情報の融合というFA(ファク
トリーオートメーション)化の傾向に基づき、プログラ
マブルコントーラの用途は、従来のリレーシーケンス制
御中心のプログラム構成から、データ処理更には情報処
理用応用命令が多用されたプログラム構成に変わってき
ている。
【0003】最近のプログラマブルコントローラではこ
うした傾向に基づき、応用命令が複雑、高機能化する方
向にある。このプログラマブルコントローラのこのよう
な命令が高機能化する動きは、CISC型と称されるコ
ンピュータの動向に類似している。一方、情報処理分野
におけるコンピュータの動きとして、RISC型と称さ
れるコンピュータが複雑、高機能化したCISC型コン
ピュータに対比させる形で登場してきている。
【0004】特に、最近のワークステーション分野では
RISC型アーキテクチャのプロセッサがCPUとして
多く採用されている。ところでプログラマブルコントロ
ーラに利用されている演算プロセッサは、CISC型タ
イプのアーキテクチャを持つものが従来から採用されて
いる。この場合図19に示すように、インストラクショ
ンメモリIMと、CISC型演算プロセッサ1’と、デ
ータメモリDMと、マイクロコードMCとから構成され
、マイクロコードMCはより複雑、高機能化する応用命
令を実行するための情報を得る手段として、命令自体の
コードとは別に用いたものである。
【0005】
【発明が解決しようとする課題】上述のような命令処理
にはマイクロコードMCが不要なRISC型に比べ、処
理速度が遅くなる。また、命令のコードサイズがばらば
らであり、高効率なパイプライン処理ができないという
問題もある。更には、複雑な処理をする高機能な命令を
実行する場合には、ハードウェアが複雑となるという問
題もある。また複雑さを軽減するためにはマイクロコー
ドMCにハードウェア機能を一部依存させるが、内蔵ハ
ードウェアとマイクロコードMCとのトレードオフが難
しいという問題もある。
【0006】一方、RISC型のアーキテクチャを持つ
演算プロセッサは、プログラマブルコントローラには未
だ使用されていない。つまり最も使用頻度の高いシーケ
ンス命令は特殊な処理が必要なため、RISC型の命令
セットではサポートされていない。そのため、RISC
型の命令を使用すれば、一つのシーケンス命令に対し、
多くの命令を組合わさなければならず、そのため命令の
サイズが大きくなり、メモリコストが高くなるだけでな
く、CISC型より遅くなる場合もある。
【0007】図20はワークシュテション分野で利用し
ているRISC型の演算プロセッサ1’’を用いてプロ
グラマブルコントローラを構成し、シーケンス命令の基
本的な処理である1ビット論理演算などのビット処理命
令をサポートしていることを前提とした命令を構成した
場合を示す。この場合インストラクッションメモリIM
に格納する、例えば〔OUT  Y0〕命令はデータ入
力する〔LD, R1,Y0〕命令と、ビット操作をし
て出力する〔BITOUT  Y0〕命令の二つの命令
が必要となる。現在市販されているRISC型プロセッ
サでは、もっと多くの命令を必要とするのは言うまでも
ない。尚LDはロード命令、STRはストア命令、ST
はスタート命令を示す。
【0008】本発明は上述の点に鑑みて為されたもので
、その目的とするところは使用メモリコストを下げる一
方、応用命令の高効率のパイプライン実行を可能とした
演算プロセッサのアーキテクチャを実現して、コストパ
ーフォーマンスの高いプログラマブルコントローラの演
算プロセッサを提供するにある。
【0009】
【課題を解決するための手段】本発明は、CISC型の
シーケンス命令を実行するビットプロセッシングユニッ
トと、RISC型のデータ処理命令を実行するマルチビ
ットプロセッシングユニットと、両プロセッシングユニ
ットのマルチ演算を調停するコントロールユニットと、
両プロセッシングユニット共有のインストラクションレ
ジスタを持つインストラクションフェッチユニットと、
データメモリのバスインターフェース部とから少なくと
もなり、使用頻度の高いシーケンス命令をビットプロセ
ッシングユニットでパイプライン実行し、データ処理用
の応用命令をRISC型のデータ処理命令にコンパイル
してマルチビットプロセッシングユニットでパイプライ
ン実行させるものである。
【0010】
【作用】本発明によれば、使用頻度の高いシーケンス命
令をビットプロセッシングユニットでパイプライン実行
するので、少ないメモリサイズで高効率のパイプライン
を実現できる。またデータ処理用の応用命令をRISC
型のデータ処理命令にコンパイルしてマルチビットプロ
セッシングユニットでパイプライン実行させるので、複
数ワードに及ぶ応用命令でも高い効率のパイプラインで
高速実行できる。
【0011】
【実施例】以下本発明を実施例により説明する。 (実施例1)図1は、本発明の実施例1の演算プロセッ
サ1を中心としたブロック構成を示し、図示するように
外部に命令が格納されるインストラクションメモリIM
と、データメモリDMとを分離して設けた所謂ハーバー
ドアーキテクチャを採用している。
【0012】ユーザのソースプログラムは、インストラ
クションメモリIMとは別のプログラムメモリ(図示せ
ず)に格納し、実行時には32bitのインストラクシ
ョンメモリIMにコンパイルされて格納されることを前
提とする。またシーケンス命令は、ユーザのソースコー
ドが1対1でコンパイルされる。一方データ処理用の応
用命令は、RISC型の命令に変換されるため、コード
サイズの比率は定まらない。
【0013】以上の前提条件の下に本発明の実施例を更
に詳細に説明する。インストラクションメモリIMにあ
る命令は全て1ワード(1ワード=32bit)で命令
が完結している。またデータメモリDMのデータ幅は1
6bit幅としている。演算プロセッサ1は内部を大き
く分類してインストラクションフェッチユニット2(以
下IFU部と略す)、コントロールユニット3、ビット
プロセッシングユニット(以下BPU部と略す)4、マ
ルチビットプロセッシングユニット(以下MPU部と略
す)5、データメモリバスインターフェース部(以下B
IU部と略す)6の5つのユニットから構成されており
、IFU部2は図2に示すように16bitカウンタで
構成されたプログラムカウンタ(以下PCと略す)2a
と、命令をフェッチする32bit長のレジスタにより
構成されたインストラクションレジスタ(以下IRと略
す)2bと,ゲート素子2c、2dとからなり、PC2
aの更新はBPU部4又はMPU部5からのPC2aの
更新情報のPCINC/PCHLT=”H”と、コント
ロールユニット3のクロックコントローラ3bから出力
されるFetchCLKとのゲート素子2cでの合成条
件によりPC2aのクロックを生成して行い、更新しな
いときは、PCINC/PCHLT=”L”となって、
クロックを生成しない。命令のフェッチも同様で、BP
U部4又はMPU部5からのフェッチ許可/禁止信号の
FEN/FINH=”H”と、コントロールユニット3
のクロックコントローラ3bから出力されるFetch
CLKとのゲート素子2dでの合成により、Fetch
CLKをIR2bに出力し、このFetchCLKの立
ち上がりエッジでIR2bの書き込みを行うもので、F
etchCLKはマシンサイクルの変化点で立ち上がる
。
【0014】またコントロールユニット3は2つの演算
ユニットの演算調停を主目的とするユニットで、命令の
種類としてBPU命令か、MPU命令かを大きく2つに
分け、この判定をベースとしてBPU部4と、MPU部
5とのマルチ演算調停を行い、32bitのインストラ
クションバスIBの内上位6bitをMPU/BPU判
定デコード部3aでデコードしてMPU命令か、BPU
命令かの判定を行い、その判定結果により、MPU部5
、BPU部4から夫々出力される情報を選択するための
MPU/BPU 信号をラッチ回路3fを介してBIU
部6に出力する。またFetchCLKを含めてマルチ
演算パイプライン方式を実現するための各種クロックは
クロックコントローラ3b及び実行コントロール部3c
から生成される。尚3d、3eはデータセレクタであり
、MPU/BPU 信号をセレクタ信号として用い、P
CINC/PCHLT、FEN/FINHを入力A,B
を通じてMPU部5、BPU部4から選択して取り込ん
で出力Yから出す。
【0015】図3はクロックコントローラ3b又は実行
コントロール部3cから生成され、各ユニットに供給さ
れる各種クロックの波形を示し、同図(a)はベースク
ロックBASECLK 、同図(b)はFetchCL
K、同図(c)はMPU部5へ送るレジスタフェッチク
ロックRSCLK、同図(d)はMPU部5、BPU部
4へ送る演算クロック、同図(e)はBIU部6へ送る
データメモリ読み出し信号DMRD、同図(f)はデー
タメモリ書き込み信号DMWRである。
【0016】コントロールユニット3の実行コントロー
ル部3cはBPU部4、MPU部5からのデータアクセ
ス要求信号RQを取り込み、またBPU部4、MPU部
5に対し実行許可信号をパイプラインシーケンスに基づ
き、BPUEXU,MPUEXUとして出力する。特に
MPUEXUは、パイプラインシーケンスにおいて実行
許可を出力するタイミングであっても、BPU部4の1
ビットアキュムレータBITACCの内容がオフであれ
ば、MPU部5に対して実行許可を出力しない仕様にな
っている。BITACCは、シーケンス命令におけるビ
ット処理結果が格納される1ビットのアキュムレータで
ある。
【0017】次に図3に示す各種クロックに基づき、パ
イプライン処理を行うためのBPU部4、MPU部5の
内部ハードウェア構成を説明する。BPU部4はBPU
命令を26bitで構成したもので、図4に示すように
、デコード部4a、データメモリDMのアドレス計算部
4b、マシンサイクルカウンタ4c、ALU4d、演算
ファンクションコード生成部4e、ワーキングレジスタ
4f、演算レジスタ4g、アドレスレジスタ4h等から
構成され、32bitの命令の上位6bitをBPU指
定コードに割り当て、残りの26bitをインストラク
ションバスIBを介してBPU命令として取り込み、そ
の内の上位5bitをオペコードOCとしてデコード部
4aによりデコードし、残りの21bitからなるオペ
ランドOPをアドレス計算部4bに取り込むようになっ
ている。デコード部4aは、複数サイクルの実行ステー
ジを必要とする命令を処理するために、マシンサイクル
カウンタ4cに実行ステージ数をプリセットし、実行ス
テージを繰り返す毎に、デクリメントするもので、デク
リメントした結果が0であれば、PCINC/PCHL
T=”H”,FEN/FINH=”H”とし、次の命令
をフェッチしてパイプラインを保つ。このときマシンサ
イクルカウンタ4cのプリセット値を必要実行ステージ
に1を引いた値とする。実行ステージが一つの命令では
マシンサイクルカウンタ4cのプリセット値が0となり
、常に次の命令をフェッチ許可することができる。また
マシンサイクルカウンタ4cの値が0以外のときはフェ
ッチを禁止する。マシンサイクルカウンタ4cの内容は
レジスタフェッチクロックの立ち上がりエッジで更新さ
れる。
【0018】ビット処理が中心となるALU4dに対す
るファンクションコードは5bitのオペコードOCの
デコード出力と、ロジック回路4iを通じて取り込むマ
シンンサイクルカウンタ4cの情報MCDにより演算フ
ンクションコード生成部4eで決定生成され、またFe
tchCLKの立ち上がりでコードが更新される。尚フ
ァンクションコードには演算クロックを制御する機能も
ある。例えば〔NOP〕命令ならばワーキングレジスタ
4f及びBITTACCを中心とする演算レジスタ4g
の書き込みクロックを生成しない。
【0019】データメモリDMのアドレスは、21bi
tのオペランドOPとマシンサイクルカウンタ4cのア
ドレス用マシンサイクル情報AMCDとに基づいてアド
レス計算部4bにより計算され、アドレスレジスタ4h
と、図1に示すBIU部6を介してデータメモリDMに
転送され、またデータメモリDMとワーキングレジスタ
4f及び演算レジスタ4gとの間のデータ授受もBIU
部6を介して行われる。複数実行の命令処理の場合各実
行ステージで異なるアドレスを出力する際マシンサクル
カウンタ4cの情報が必要となる。
【0020】尚演算クロックの立ち上がりのタイミング
とFetchCLKの立ち上がりは図3に示すように同
じであるが、演算クロックのアクティブロウの幅がFe
tchCLKに比べて大きくとってあるのは、演算クロ
ックを必要とするワーキングレジスタ4fにRAMを使
用し、このRAMをアクセスするために必要なパルス幅
を得るためである。
【0021】図5はMPU部5の内部ハードウェア構成
を示している。ここでRISC型の命令を実行するMP
U部5でも乗除算を行う場合にはパイプライン処理中多
くの実行ステージを必要とするが、こうした乗除算は1
ワードの命令で実行が可能なため、BPU部4と同様に
マシンサイクルカウンタ5aを内蔵し、実行ステージを
管理するようになっている。
【0022】32bitの命令の内上位6bitのオペ
コードOCをデコード部5bでデコードし、残りの26
bitのオペランドOPをアドレス計算部5cに取り込
む。デコード部5bは複数サイクルの実行ステージを上
記のように必要とするために、マシンサイクルカウンタ
5aに実行ステージ数をプリセットし、実行ステージを
繰り返す毎にデクリメントするようになっており、デク
リメントした結果が0であれば、PCINC/PCHL
T=”H”、FEN/FINH=”H”とし、次の命令
をフェッチしてパイプラインを保つ。このときマシンサ
イクルカウンタ5aのプリセット値を必要実行ステージ
に1を引いた値とする。実行ステージが一つの命令では
マシンサイクルカウンタ5aのプリセット値は0となり
、常に次の命令をフェッチ許可することができる。また
マシンサイクルカウンタ5aの値が0以外のときはフェ
ッチを禁止する。マシンサイクルカウンタ5aの内容は
レジスタフエッチクロックRSCLK の立ち上がりエ
ッジで更新される。
【0023】ALU5dに対するファンクションコード
は6bitのオペコードOCのデコード出力と、ロジッ
ク回路5fを通じて取り込むマシンンサイクルカウンタ
5aの情報によりファンクションコード生成部5eで決
定生成され、またFetchCLKの立ち上がりでコー
ドが更新される。尚ファンクションコードには演算クロ
ックを制御する機能もある。
【0024】データメモリDMのアドレス計算はアドレ
ス計算部5cで行うが、アドレッシングモードをサポー
トするので、内部のインデックスレジスタ5g又はベー
スレジスタ5hの内容と、オペランドOPのオフセット
アドレスとを加算して出力したり、32bit長のワー
キングレジスタ5iの内容をアドレスとして選択したり
する。どのようなアドレス計算を行うかの選択は、26
bitのオペランドOPの中にタグ情報をデコードする
ことにより行う。
【0025】パイプライン処理上、MPU部5がBPU
部4と基本的に異なるのは第2ステージであるデコード
、アドレス計算のとき32bit長のワーキングレジス
タ5iから演算対象のレジスタの内容をMUX5lを通
じてレジスタフェッチクロックRSCLK のタイミン
グでALU5dの入力レジスタ5jにフェッチすること
である。また第3の実行ステージでは、書き込みクロッ
クWDCLKによりメモリアクセス、レジスタ間演算、
演算結果の出力レジスタ5kに対する書き込みを行う。 尚メモリアクセスは全てロード/ストア命令で行う。尚
5mはアドレスレジスタである。
【0026】BIU部6は、データメモリDMのバスイ
ンターフェース部でBPU部4、MPU部5からのデー
タメモリアドレスDMA及びデータメモリデータDMD
のセレクト機能を中心の機能として持っている。データ
メモリDMの読み出し/書き込みのコントロールは、コ
ントロールユニット3がBPU部4及びMPU部5から
のデータアクセス要求信号RQに基づき、バスセレクト
のBPU/MPU 信号と同時にDMRD/DMWR 
信号をBIU部6に伝達することにより行われる。
【0027】ところでIFU部2に対するフェッチ制御
及びPC2aの更新制御はBPU部4、MPU部5から
出力されるFEN/FINH及びPCINC/PCHL
Tの信号を選択し、結果をIFU部2に伝達するわけで
ある。しかし単に2つの信号を選択するだけなら簡単で
あるが、実際には例外的シーケンスとして、割り込みシ
ーケンス、シングルステップシーケンス、バス開放シー
ケンス等も外部/内部的要因で、コントロールユニット
3がサポートするため、IFU部2に対する伝達内容は
もっと複雑となる。 この内容についてはブランチ命令も含めて本発明では特
に触れない。
【0028】またデータメモリDMに対するデータアク
セス要求信号RQは、BPU部4及びMPU部5から夫
々出力され、コントロールユニット3がデータアクセス
要求信号RQを選択し、その結果をRD/WRのクロッ
ク信号及びバスのセレクト信号としてBIU部6に伝達
する。図7は、図1に示す構成に基づいくBPU部4、
MPU部5のマルチ演算パイプライン方式のタイミング
について示している。
【0029】この図7では、インストラクションメモリ
IMの内容としては図6に示すように2つのBPU命令
と最も簡単な2つのMPU命令を例に挙げており、これ
らの命令がインストラクションメモリIMに格納され、
それを実行するときの状態を示している。図6中n〜n
+1は各命令を格納したインストラクションメモリIM
のアドレスを示している。
【0030】図示するパイプラインは3段パイプライン
となっているが、各パイプラインステージの詳細につい
ては省略している。次に例示したパイプラインの概要に
ついて説明する。まず第1ステージは命令のフェッチを
行い、第2ステージはフェッチされた命令のデコード及
びデータのアドレス計算を行う。
【0031】データのアドレス計算はデータメモリDM
のアドレスの計算であり、デコード情報と、1ワード3
2bitの命令に含まれるオペランドOP、更には複数
実行ステージを必要とするCISC型シーケンス命令の
場合はどの実行ステージにあるかにより決定される。第
3ステージはレジスタ演算及びメモリアクセスを行うス
テージである。
【0032】BPU部4で実行する〔ST  X0〕命
令は、この第3ステージでBPUEXU信号が有効であ
れば、データメモリDMからのデータ入力と1ビット抽
出及びBITACCの書き込み処理を同じマシンサイク
ルで行う。このとき、データメモリDMのアドレスも1
マシンサイクルの幅で確定している。BPU部4及びM
PU部5から出力されるデコード情報であるPCINC
/PCHLT,FEN/FINHは実行する命令が何ス
テージ必要なのかにより決定される。 図示例では〔OUT  Y0〕が図7(g)に示すよう
に二つの実行ステージを必要とするので、最初の実行ス
テージではフェッチを禁止させる。また命令のアドレス
更新もさせない。それ以外の実行ステージは、そのステ
ージで実行が完結するので、命令のフェッチを許可し、
アドレスも更新する。
【0033】実行ステージのとき、図7(e)に示すB
PU部4のデータアクセス要求又は図7(f)に示すM
PU部5のデータアクセス要求、つまり図示するように
データメモリDMに対するRD要求、WD要求があれば
、そのデータアクセス要求をコントロールユニット3に
伝える。ここで高効率なパイプラインとは演算状態を連
続して行うことであり、命令のコードサイズがばらばら
であって、数ワードに及ぶ場合には実行ステージよりフ
ェッチが多くなって停止することがあるが、本発明の場
合にはBPU部4とMPU部5とも全て1ワードで実行
ステージに移行できる命令は、CISC型アーキテクチ
ャで実行して実行ステージに移行するために、複数ワー
ドの命令フェッチを必要とするものは、1ワードで実行
ステージに移行できるRISCタイプの命令に置き換え
、パイプラインの高効率化により、高速化を図っている
。
【0034】シーケンス命令は全て1ワードで実行ステ
ージに移行できるのでCISC型の命令であってもBP
U部4でパイプライン実行を行う。また応用命令の大半
は複数ワードの命令フェッチを必要とするので、RIS
C型の1ワード固定長の命令に置き換え、MPU部5で
パイプライン実行を行う。これらの2種類のBPU部4
とMPU部5とのマルチ演算を調停するコントロールユ
ニット3と、共有の1ワードインストラクションレジス
タを持つIFU部2を設けることにより、ハード量の少
ない高効率のパイプラインを維持できるアーキテクチャ
となるのである。
【0035】尚図7(a)に示すインストラクションメ
モリIMのアドレスと、図7(b)に示すインストラク
ションバスIBの出力はIFU部2から出力され、イン
ストラクションメモリIMのアドレスは図2に示すIF
U部2内部のPC2aから出力される。またインストラ
クションバス出力はIFU部2内部のインストラクショ
ンレジスタ2bの出力である。そしてインストラクショ
ンメモリIMのアドレスの更新と同時に更新前アドレス
のインストラクションをインストラクションレジスタ2
bに書き込むのである。またIFU部2に対するPC2
aの更新情報PCINC/PCHLT 、フェッチ許可
情報FEN/FINHはコントロールユニット3がBP
U部4、MPU部5からの情報を選択し、IFU部2に
伝達する。
【0036】またPC2aの更新情報PCINC/PC
HLT 、フェッチ許可情報FEN/FINHはデコー
ド出力情報であって、インストラクションバスIBの内
容をデコードする論理回路の遅延tが存在する。ここで
図6で示した〔OUT  Y0〕の命令では〔Y0〕が
格納されたデータメモリDMからデータを読み出し、〔
Y0〕のビット位置にBITACCの内容を反映させ、
再度データメモリDMに書き込む処理を行う。インスト
ラクションメモリIMには1ワード(32bit)の〔
OUT  Y0〕の命令が入っているが、BPU部4の
デコード出力から図7(c)に示すように最初にFIN
H,PCHLTが出力してフェッチを停止させ、次のサ
イクルでFEN 、 PCINC が出力されて通常の
パイプラインシーケンスに入っている。
【0037】インストラクションメモリIMのアドレス
の更新タイミングと同時に更新したアドレスの二つ前の
命令のデータアクセス要求、図7(g)に示す実行情報
が確定する。これはフェッチからデコード、実行までに
3段のパイプラインシケンスに基づいていることを示す
。尚データのアドレスの計算結果はデータアクセス要求
と同時に確定する。
【0038】(実施例2)図8は二つの異なるタイプの
命令、例えばデータを扱うデータ処理命令と、リレーシ
ケンス記述に適合したビット処理命令を、データ処理命
令はMPU部5で、ビット処理命令はBPU部4に夫々
割当て、MPU部5とBPU部4の二つの演算処理ユニ
ットが交互に命令を実行する過程において3ステージパ
イプラインの一貫性を保つための必要最低限のコントロ
ール信号を機能を具体的に示して実施例2の構成を示し
いる。尚実施例1で使用した同じ記号、番号は同じ構成
、或いは信号、情報を示して、信号、情報については異
なるもの、新たに増えたものについてのみ詳説する。
【0039】まず図8においてIFU部2のPC2aか
らは、インストラクションメモリIMのアドレスが出力
され、インストラクションメモリIMからは32bit
の命令がIR2bにフェッチされる。IR2bにフェチ
された命令コードはコントロールユニット3に送出され
る。コントロールユニット3からはIFU部2のPC2
aの更新及びIR2bへの命令フェッチに関する情報(
UPDATA INFO)がIFU部2に出力される。 この情報はBPU部4と、MPU部5とから出力される
IFU部2へのPC2aのアドレスの更新情報PCIN
C/PCHLT やフェッチ許可情報FEN/FINH
で、コントロールユニット3が有効となる方の情報を選
択した結果をIFU部2へ出力するものである。
【0040】図中 OPEN はコントロールユニット
3 が演算を許可することをBPU部4、MPU部5に
夫々知らせる信号で、どちらか一方が許可される(図1
のBPUEXU,MPUEXU に相当する)。データ
バスDBはBPU部4とMPU部5とで共有するもので
、入力は共通で出力はBPU部5、MPU部5で夫々の
3ステートバッファを介して接続される。
【0041】BDMAはBPU部4からのデータメモリ
DMへの実効アドレスであり、MDMAはMPU部5か
らのデータメモリDMへの実効アドレスであり、BR/
WはBPU部4のデータメモリDMの読み/書きのコン
トール信号であり、MR/WはMPU部5のデータメモ
リDMの読み/書きのコントール信号である。データメ
モリDMにはBIU部6からはBPU/MPU信号で選
択されたデータメモリDMのコントロール信号がDMR
/W として出力され、またアドレスがDMA として
出力される。そして読み書きされるデータDMD はデ
ータメモリDMとBIU部6の双方向のデータバスDA
を通じて送受される。
【0042】次にプログラムの一例を用いてどのような
タイミングでBPU部4とMPU部5との間でパイプラ
イン調停が行われるかを説明する。まず図9はインスト
ラクションメモリIMに格納されたサンプルプログラム
を示しており、N−1,…N+2 はそのアドレスを示
す。さてこのサンプルプログラムに使われる命令はすべ
ての演算サイクル(図10のT)で演算処理が終了し、
図中の命令の内〔ST  X0〕と〔AND  L0〕
はビット処理命令であるためにBPU部4に適合するの
で、BPU部4で演算を行い、〔LOAD  r1,E
A〕命令はデータを扱う命令であるためMPU部5で処
理を行う。
【0043】而してまず完全パイプラインの状態を維持
するためには、一つの命令例の演算終了サイクルでPC
2aは二つ後の命令を示す必要があるので、〔ST  
X0〕命令の演算サイクルでは、〔LOAD  r1,
EA〕命令をインストラクションメモリIMから読み出
すことになる。また〔ST  X0〕命令の次の〔AN
D  L0〕命令はIR2bにラッチされており、この
IR2bの内容をコントロールユニット3がデコードし
てBPU部4、MPU部5のどちらかの演算処理ユニッ
トに割り当てるかを判定する一方、BPU部4とMPU
部5は演算に必要な情報をデコードする。
【0044】更にBPU部4、MPU部5は、必要な演
算サイクル数を判定し、演算サイクル数が1なら最終演
算サイクルとみなし、IFU部2へのPC2aのアドレ
ス更新(PCIN)と、命令フェッチ許可(FEN )
をコントロールユニット3に要求する。このサンプルプ
ログラム例では〔AND  L0〕命令がBPU部4で
処理する命令であることをデコードで判定し、BPU部
4は演算サイクルが1の命令であることを判定し、アド
レス更新(PCIN)と、命令フェッチ許可(FEN 
)をコントロールユニット3に要求する。
【0045】コントロールユニット3は、BPU部4か
らの要求を有効とみなし、IFU部2にアドレス更新(
PCIN) と、命令フェッチ許可(FEN)を指示す
る。演算サイクルにおけるオペランドの処理についても
、同様に、外部のデータメモリDMがオペランドOPの
フィルードになっている場合、BPU部4とMPU部5
とがデータメモリDMに対するアクセス要求(RQ)を
出し、BPU部4で処理する命令であれば、BPU部か
らのBR/W信号をデータメモリDMに対するDMR/
W信号として選択するようにBIU部6にBPU/MP
U信号で指示する。
【0046】図10は上記サンプルプグラムの実行にお
けるタイミングチャートを示しており、同図(a)はシ
ステムクロックを示し、演算サイクルT中にはφ1〜φ
6のクロックが存在する。同図(b)はPC2aのアド
レスを示し、同図(c)はIR2bに命令をフェッチし
た状態を示す。同図(d)はBPU部4からのPC2a
のアドレス更新、フェッチ許可の情報出力の状態を示し
、同図(e)はMPU部5かのPC2aのアドレス更新
(PCINC)、フェッチ許可の情報出力(FEN) 
の状態を示す。
【0047】更に同図(f)はBPU部4のデータメモ
リDMに対するアクセス要求(RQ)の状態を示し、同
図(g)はMPU部5のデータメモリDMに対するアク
セス要求(RQ)の状態を示す。同図(h)はコントロ
ールユニット3によってIFU部2へ出力される、アド
レス更新(PCINC) 、フェッチ許可(FEN) 
の指示を示す。
【0048】同図(i)はデータメモリDMに対するア
クセス要求(RQ)が有効なユニットを示す。同図(j
)は演算処理の状態を示す。図11はデータメモリDM
の状態を示しており、実効アドレスeaにはビットオペ
ランド(L,X,Y等)、ワードオペランド(DT等)
が格納される。
【0049】さて上記のサンプルプログラムは一つの演
算サイクルを終了する命令を用いたが、図12に示すよ
うに二つの演算サイクルを必要とし、BPU部4で処理
される〔OUT  Y0〕命令を使用したプログラムの
場合には、図13に示すようなパイプライン調停がなさ
れる。この場合〔OUT  Y0〕命令がIR2bにラ
ッチされた最初のサイクルでBPU部4からPC2aの
アドレス更新の停止と、フェッチの禁止が要求される。 つまりOUT命令は2つの演算サイクルを必要とするた
め、命令のアドレスを更新し、フェチを許可すると2回
目、つまりOUT命令の最終演算サイクルの筈が、〔L
OAD  r1,EA〕命令の演算サイクルになるため
である。
【0050】従って、最初の演算サイクルでは命令のア
ドレス更新の禁止及びフェッチを禁止し、最終演算とな
る2回目の演算サイクルではアドレス更新と、フェッチ
の許可を要求するのである。尚図13(a)〜(j)は
図10(a)〜(j)と対応している。 (実施例3)図14はリレーシケンス記述に適合したビ
ット処理命令をBPU部4での演算処理命令(以下BP
U命令)とし、1ワードの命令で複数の演算サイクルを
必要とする場合の、3ステージパイプライン調停のハー
ドウェアの実施例を示す。
【0051】図14においてIFU部2に含まれるIR
2bからの命令コードはデコード部20に取り込まる。 デコード部20では命令をデコードするものでここから
のデコード出力を元に、演算情報、パイプラインコント
ロール、オペランドの実効アドレスが生成される。デコ
ード出力はロジック部21に送られ、ロジック部21で
は3ステージパイプラインの調停信号として、IFU部
2に対する命令のアドレス更新/停止,、命令フェッチ
の許可/禁止を要求するための信号を生成する。つまり
PC2aのアドレスの更新要求(PCINC) 、PC
2aのアドレスの更新停止要求(PCINC) 、PC
2aのアドレスの更新停止要求、PC2aのアドレスの
デクリメント要求〔PCDE〕、命令フェッチ許可要求
(FEN) 、命令フェッチ禁止要求(FINH)がコ
ントロールユニット3へ出力される。
【0052】一方デコード部20からは必要な演算サイ
クル数から1を引いた値を持つの3bitエンコード出
力が入力ロジック部21に送られる。この入力ロジック
部21は3bitのF/F22に上記3bitエンコー
ド出力をプリセットする機能と、F/F22をデクリメ
ントカウンタにする二つの機能を持ち、F/F22の出
力がAALリセット状態で且つBPU命令のときには3
bitエンコード出力をプリセットし、F/F22の出
力がALLリセット状態でなく、且つBPU命令のとき
にはF/F22をデクリメントカウンタとして機能させ
る。
【0053】F/F22の出力は演算サイクルのサイク
ル指定用エンコードとして機能し、図15(a)に示す
クロックφ3 の立ち下がりで更新されるもので、デコ
ード部23に送られる。このデコード部23は、F/F
22の出力のデコードを元に1ワードで複数の演算サイ
クルを必要とするBPU命令のサイクル別の演算コード
、オペランドOPのアドレスを,上記デコード部20の
デコード出力を組み合わせて生成する。
【0054】オペレーションコード出力部24は、上記
デコード部23からのサイクル別の演算コードと、デコ
ード部20の出力とで、BPU部4内のALU4dのオ
ペコードOCを生成するものであり、さらにオペランド
OPが外部のデータメモリDMにある場合、データメモ
リDMのアクセス要求(RQ)をコントロールユニット
3に出す。演算コード及びデータメモリDMのアクセス
要求(RQ)はともに、クロックφ6の立上がりで更新
されるF/F22の出力となっている。
【0055】アドレス生成部25はデコード部20と、
23からの入力に加え、IR2bからの命令コードのオ
ペランド指定フィールドを入力としデータメモリDMの
アドレスを指定するものである。なおレジスタBMFは
、IR2bがインストラクションメモリIMから命令を
フェッチする32bitのレジスタであるのに対し、イ
ンストラクションメモリIMと同じアドレスにあるビッ
トメモリ(図示せず)[以下BMと称する]の1ビット
をIR2bと同じタイミングでフェッチする1bitレ
ジスタである。
【0056】次に図14の回路構成により得られるパイ
プライン調停信号を使用して、どのようなタイミングで
3ステージパイプライン処理が行なわれるかを、図16
に示す1リードの命令で複数の演算サイクルを必要とし
、加えて特徴ある命令を例にあげて図15のタイミング
チャートに基づいて説明する。例示した命令はBPU命
令のうち、使用頻度の高い[OUT],[DF]の二つ
の命令であり、[OUT]命令は、データメモリDMに
ある16bitのオペランドを使用し、1bitだけ、
コプロセッサ内部にあるBITACCリレーシーケンス
制御におけるリレー接点のオン/オフイメージが反映さ
れる。)の内容に置き換える演算を行なう二つの演算サ
イクルを必要とする。
【0057】一方、[DF]命令は、オペランドOPが
データメモリDMには存在せず、フェッチされたインス
トラクションメモリIMのアドレス(PC2aのアドレ
ス)と同じアドレスにある、BMをビットオペランドと
して利用する演算を行ない、3つの演算サイクルを必要
とする。3つ演算サイクルのうち、最初の演算サイクル
でBITACCの内容をBMに書き込み、同じサイクル
で、[DF]命令のフェッチと同時にフェッチされたB
Mの内容であるレジスタBMFとBMに書き込んだBI
TACCの内容とのロジック演算を行なう。
【0058】残りの二つの演算サイクルでは、レジスタ
/メモリの更新は行なわず、パイプライン調停サイクル
として、ハードウェアストロールサイクルとなっている
。図15(a)のT1〜T5夫々は、一つのバスサイク
ル又は演算サイクルを示す。T1サイクルでは、演算は
[OUT]命令の一つ前の命令の演算サイクルであり、
また[OUT]命令のデコードサイクル及びオペランド
OPの実効アドレス計算サイクルでもある。
【0059】[OUT]命令は二つのオペレーションサ
イクルを必要とするので、命令フェッチの禁止(FIN
H)とプログラムカウンタ2bのアドレス更新の停止(
PCHLT)をコントロルーユニット3に要求する。コ
ントロールユニット3は命令がBPUタイプの命令であ
ることを判定しているので、BPU部4からの命令フェ
ッチの禁止(FINH)とPC2aのアドレス更新の停
止の要求(PCHLT)を有効とし、IFU部2に指示
する(図15(b))。
【0060】また図14のF/F22の出力の値は演算
サイクル数に1を引いた値、[OUT]命令の場合は図
15(g)に示すように1となる。命令フェッチの禁止
(FINH)はF/F22の出力の値が0以外のとき有
効となる。逆にF/F22の出力の値が0のとき命令フ
ェッチ(FIN)が命令フェッチの禁止(FINH)に
代って有効となる。
【0061】F/F22の出力の値は、演算コード生成
とデータメモリDMのアクセス要求を判定するために、
図14のデコード部23でデコードされ、デコード結果
がクロックφ6の立上がりでオペレーションコード出力
部25に含まれるラッチに記憶される。実効アドレスは
、図15(f)に示すようにこのサイクルのクロックφ
5で確定し、次のサイクルT2のオペランドフェッチの
ときにデータメモリDMのアドレスを1クロック分先出
しをする。
【0062】T2サイクルでは、[OUT]命令の最初
の演算サイクルをT1のクロックφ6の立上がりで記憶
された図15(h)に示す演算コードと図15(d)に
示すアクセス要求内容、すなわちオペレーションコード
出力部25に含まれるラッチに記憶された内容をもとに
、データメモリDMにあるオペランドOPのフェッチを
行なう。このオペランドOPはクロックφ5で内部のデ
ータレジスタにラッチされる。
【0063】またクロックφ3でF/F22の出力の値
は1から0にデクリメントされ、命令フェッチの禁止(
FINH)が命令フェッチ許可(FIN)に、アドレス
更新の停止の要求(PCHLT)がアドレス更新(PC
INH)に夫々変る。その為命令のアドレスがクロック
φ5で更新され、更新前にアドレスにある[DF]命令
がIR2bにクロックφ5でフェッチされる。
【0064】このサイクルのクロックφ6でT1サイク
ルと同様に[OUT]命令の次に演算に必要な演算コー
ドとメモリアクセス要求コードをアドレス生成部25で
更新する。T3サイクルは[OUT]命令の最終演算サ
イクルとなる。このT3サイクルでは、図15(h)に
示すようにBITACCの内容を[Y0]に対応するデ
ータメモリDMのビットに書き込む。また[DF]命令
のデコードサイクルとして、3つの演算サイクルを必要
とするので、F/F22の値をプリセットする。次の[
DF]命令の最初の演算サイクルであるT4では、[D
F]命令が格納されているインストラクションメモリI
Mのアドレス(図15(e)に示す  N+1)と同じ
アドレスのBMにBITACCの内容を書き込む必要が
ある。しかし、アドレスは[DF]命令の次の命令のア
ドレス(N+1)になっているのでアドレスをデクリメ
ントすることを要求することになる。このためロジック
部20で生成されるパイプライン調停信号をPC2aの
アドレスのデクリメントを要求する信号(PCDEC)
 と命令フェッチを要求する信号(FINH)にクロッ
クφ3で変える。
【0065】T4サイクルでは、[DF]命令の最初の
演算サイクルとなるので、N+1のアドレスにあるBM
のオペランドエリアに図17に示すようにBITACC
の内容を書き込む。BMの更新前のビットオペランドは
、T2サイクルのクロックφ5で[DF]命令のフェッ
チと同時にレジスタBMFにフェッチされ、レジスタB
MFの内容は、T3サイクルのクロックφ6で更新され
る演算コードに反映される。
【0066】演算コードに反映されたレジスタBMFの
内容、すなわちBITACCに書き変る前のBMのビッ
トオペランドとBITACCとのロジック演算により、
結果をクロックφ5でBITACCに書き込む。またT
1−T3サイクルと同様にクロックφ3で、F/F22
の出力の値を2から1にデクリメントして命令フェッチ
[FINH]とし、命令のアドレス補正のためPC2a
のアドレスの更新の信号[PCINC]をパイプライン
調停信号として出力する。
【0067】T5サイクルと図15では示していないT
6サイクルでは、[DF]命令の演算は行なわれず、パ
イプライン調停サイクルとしてハードウェアサイクルと
なる。尚図15(c)はIR2bの内容を示す。また図
18データメモリDMの記憶状態を示す。
【0068】
【発明の効果】本発明は、上述のように構成し、使用頻
度の高いシーケンス命令をビットプロセッシングユニッ
トでパイプライン実行するので、少ないメモリサイズで
高効率のパイプラインを実現でき、またデータ処理用の
応用命令をRISC型のデータ処理命令にコンパイルし
てマルチビットプロセッシングユニットでパイプライン
実行させるので、複数ワードに及ぶ応用命令でも高い効
率のパイプラインで高速実行ができるものであり、高い
コストパーファマンスのプログラマブルコントーラが実
現でき、しかも両プロセッシングユニットを独立してモ
ジュール化することにより、設計時のインプリテーショ
ンからシミュレーションまで個別に行うことができて、
演算プロセッサの設計が容易となり、また全ての命令を
1ワードで実行することにより、命令キューを必要とせ
ず、その結果パイプライン調停も容易となるので、ハー
ド量を少なくできるという効果もある。
【図面の簡単な説明】
【図1】本発明の一実施例を示す回路ブロック図である
。
【図2】本発明の一実施例に用いるIFU部とコントロ
ールユニットの回路ブロック図である。
【図3】本発明の実施例1に用いるコントロールユニッ
トの各種クロックの説明図である。
【図4】本発明の実施例1に用いるBPU部の回路ブロ
ック図である。
【図5】本発明の実施例1に用いるMPU部の回路ブロ
ック図である。
【図6】本発明の実施例1において実行する命令の一例
を示す説明図である。
【図7】図6に示す命令の実行説明用タイムチャートで
ある。
【図8】本発明の実施例2に示す回路ブロック図である
。
【図9】本発明の実施例2の説明に用いる命令を格納し
たインストラクションメモリの内容説明図である。
【図10】本発明の実施例2の動作説明用タイミングチ
ャートである。
【図11】本発明の実施例2のデータメモリの格納状態
を示す説明図である。
【図12】本発明の実施例2の説明に用いる別の命令を
格納したインストラクションメモリの内容説明図である
。
【図13】本発明の実施例2の動作説明用タイミングチ
ャートである。
【図14】本発明の実施例3のパイプライン調停信号の
生成回路部位のブロック図である。
【図15】本発明の実施例3の動作説明用タイミングチ
ャートである。
【図16】本発明の実施例3の説明に用いる命令を格納
したインストラクションメモリの内容説明図である。
【図17】本発明の実施例3に用いるBMの格納状態説
明図である。
【図18】本発明の実施例3のデータメモリの格納状態
を示す説明図である。
【図19】従来例の回路ブロック図である。
【図20】従来例の回路ブロック図である。
【符号の説明】
1      演算プロセッサ 2      インストラクションフェッチユニット3
      コントロールユニット 4      ビットプロセッシングユニット5   
   マルチビットプロセッシングユニット6    
  データバスインターフェース部IM    インス
トラクションメモリDM    データメモリ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】CISC型のシーケンス命令を実行するビ
    ットプロセッシングユニットと、RISC型のデータ処
    理命令を実行するマルチビットプロセッシングユニット
    と、両プロセッシングユニットのマルチ演算を調停する
    コントロールユニットと、両プロセッシングユニット共
    有のインストラクションレジスタを持つインストラクシ
    ョンフェッチユニットと、データメモリのバスインター
    フェース部とから少なくともなり、使用頻度の高いシー
    ケンス命令をビットプロセッシングユニットでパイプラ
    イン実行し、データ処理用の応用命令をRISC型のデ
    ータ処理命令にコンパイルしてマルチビットプロセッシ
    ングユニットでパイプライン実行させることを特徴とす
    るプログラマブルコントローラの演算プロセッサ。
JP3186628A 1991-02-25 1991-07-25 プログラマブルコントローラの演算プロセッサ Expired - Lifetime JP3027627B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3186628A JP3027627B2 (ja) 1991-02-25 1991-07-25 プログラマブルコントローラの演算プロセッサ

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP3-29701 1991-02-25
JP2970191 1991-02-25
JP3186628A JP3027627B2 (ja) 1991-02-25 1991-07-25 プログラマブルコントローラの演算プロセッサ

Publications (2)

Publication Number Publication Date
JPH04363704A true JPH04363704A (ja) 1992-12-16
JP3027627B2 JP3027627B2 (ja) 2000-04-04

Family

ID=26367931

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3186628A Expired - Lifetime JP3027627B2 (ja) 1991-02-25 1991-07-25 プログラマブルコントローラの演算プロセッサ

Country Status (1)

Country Link
JP (1) JP3027627B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0876996A (ja) * 1994-08-31 1996-03-22 Matsushita Electric Works Ltd プログラマブルコントローラ
JPH10307607A (ja) * 1997-05-08 1998-11-17 Hitachi Ltd 主プロセッサ及びプログラマブルコントローラ
WO2005015386A1 (ja) * 2003-08-07 2005-02-17 Matsushita Electric Industrial Co., Ltd. プロセッサ集積回路及びプロセッサ集積回路を用いた製品開発方法
US6950923B2 (en) 1996-01-24 2005-09-27 Sun Microsystems, Inc. Method frame storage using multiple memory circuits

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0876996A (ja) * 1994-08-31 1996-03-22 Matsushita Electric Works Ltd プログラマブルコントローラ
US6950923B2 (en) 1996-01-24 2005-09-27 Sun Microsystems, Inc. Method frame storage using multiple memory circuits
US6961843B2 (en) 1996-01-24 2005-11-01 Sun Microsystems, Inc. Method frame storage using multiple memory circuits
JPH10307607A (ja) * 1997-05-08 1998-11-17 Hitachi Ltd 主プロセッサ及びプログラマブルコントローラ
WO2005015386A1 (ja) * 2003-08-07 2005-02-17 Matsushita Electric Industrial Co., Ltd. プロセッサ集積回路及びプロセッサ集積回路を用いた製品開発方法
CN100390728C (zh) * 2003-08-07 2008-05-28 松下电器产业株式会社 处理器集成电路和安装了处理器集成电路的产品开发方法

Also Published As

Publication number Publication date
JP3027627B2 (ja) 2000-04-04

Similar Documents

Publication Publication Date Title
US5371860A (en) Programmable controller
JP2519226B2 (ja) プロセツサ
JPH03129433A (ja) 並列処理装置および並列処理方法
EP1215569A1 (en) Data processor
JPS5831014B2 (ja) 命令先取り装置
JPS63273134A (ja) マクロ命令パイプラインを用いてマイクロ命令を変更する方法及び装置
CN108139911B (zh) 在vliw处理器的同一执行包中使用有条件扩展槽的指令的有条件执行规格
US5276824A (en) Data processor having a multi-stage instruction pipe and selection logic responsive to an instruction decoder for selecting one stage of the instruction pipe
US20030028754A1 (en) Data processor using indirect register addressing
CN111984316A (zh) 用于在处理器中比较源数据的方法和设备
JPH03233630A (ja) 情報処理装置
US6948049B2 (en) Data processing system and control method
JP2009526300A (ja) マイクロプロセッサ用の命令セット
JP3027627B2 (ja) プログラマブルコントローラの演算プロセッサ
JP3727395B2 (ja) マイクロコンピュータ
JP3164915B2 (ja) データ処理装置及びそのデータ処理方法
JP2976850B2 (ja) データ処理装置
US20200371793A1 (en) Vector store using bit-reversed order
JPS6314239A (ja) 計算機システムの命令作成ユニット
JP3841820B2 (ja) マイクロコンピュータ
JPH024010B2 (ja)
US11900112B2 (en) Vector reverse
JPH0876996A (ja) プログラマブルコントローラ
JP4498705B2 (ja) キャッシュシステム
JP3765782B2 (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000118

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

Free format text: PAYMENT UNTIL: 20080128

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090128

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090128

Year of fee payment: 9

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20090128

Year of fee payment: 9

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20100128

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100128

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110128

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120128

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120128

Year of fee payment: 12

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20120128

Year of fee payment: 12

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120128

Year of fee payment: 12