JP3497516B2 - データプロセッサ - Google Patents
データプロセッサInfo
- Publication number
- JP3497516B2 JP3497516B2 JP03315692A JP3315692A JP3497516B2 JP 3497516 B2 JP3497516 B2 JP 3497516B2 JP 03315692 A JP03315692 A JP 03315692A JP 3315692 A JP3315692 A JP 3315692A JP 3497516 B2 JP3497516 B2 JP 3497516B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- output
- decoder
- rom
- execution unit
- 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 - Lifetime
Links
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 238000000034 method Methods 0.000 description 6
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 2
- 101100524639 Toxoplasma gondii ROM3 gene Proteins 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30192—Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
データプロセッサに関し、特に命令実行部を1回だけ使
用して処理できる基本命令と命令実行部を2回以上使用
して処理する必要のある高機能命令との双方を含む命令
セットを処理するデータプロセッサにおいて、複数の基
本命令の同時実行可能とするとともに、基本命令と高機
能命令の双方ともに高速に実行するための有効な方式に
関する。
方を含む命令セットを処理する公知のマイクロプロセッ
サとしては「BYTE November 1989pp323-338」記載の8
0486、「日経エレクトロニクス1990.1.8(no.490)pp
177-186」記載のi960CA等がある。
は、図7に示すように、命令フェッチ部10、命令デコ
ーダ20、マイクロプログラムROM30、アドレス計
算部120、および命令実行部50からなる。この構成
において、命令に含まれるとともにデコードされるべき
部分である命令コード60が命令フェッチ部10から命
令デコーダ20へ送られ、次にデコードすべき命令のコ
ード位置を指定する次命令コード位置指定信号70が命
令デコーダ20から命令フェッチ部10へ送られ、命令
のデコード結果の一部であるROMアドレス100が命
令デコーダ20からマイクロプログラムROM30へ送
られ、命令実行部制御信号110がマイクロプログラム
ROM30から命令実行部50へ送られ、命令のデコー
ド結果の他の一部であるアドレス計算部制御信号130
が命令デコーダ20からアドレス計算部120へ送ら
れ、メモリアクセスアドレス140がアドレス計算部1
20から命令実行部50へ送られている。
は図4に示すように、プリフェッチPF、第1デコード
D1、第2デコードD2、実行EX、ライトバックWB
の5段のパイプラインステージを持つ。プリフェッチス
テージPFでは、命令フェッチ部10が図示しないメイ
ンメモリもしくはキャッシュメモリから命令をフェッチ
して命令フェッチ部10の内部のプリフェッチキューに
格納する一方、命令デコーダ20からの次命令コード位
置指定信号70に従って命令フェッチ部10は次にデコ
ードされる命令コード60を命令デコーダ20に供給す
る。第1デコードステージD1では、命令デコーダ20
が命令フェッチ部10から供給された命令コード60を
デコードして、命令のデコード結果として命令のROM
アドレス100とアドレス計算部制御信号130とを生
成する。第2デコードステージD2では、命令デコーダ
20からのROMアドレス100によってROMを検索
し命令実行部制御信号110を生成すると同時に、アド
レス計算部制御信号130に基づいてアドレス計算部1
20でメモリアクセスアドレス140を生成する。実行
ステージEXでは、命令実行部制御信号110に基づい
て命令実行部50の図示されていない論理演算部(AL
U)は演算を実行したり、もしくはメモリアクセスアド
レス140に基づいて命令実行部50の図示されていな
いメモリアクセス回路はメモリアクセス等を行う。この
メモリアクセス時には、アドレス計算部120からのメ
モリアクセスアドレス140を使用して直ちにメモリア
クセスを開始する。ライトバックステージWBでは実行
ステージでの演算結果またはメモリフェッチデータを図
示されていないレジスタファイルに格納する。このよう
に公知のマイクロプロセッサ80486では、常にアド
レス計算以外の制御信号はマイクロプログラムROM3
0の出力から生成している。
60CAは、高機能命令のみをマイクロプログラムRO
Mの出力制御によって実行している。すなわち、高機能
命令を基本命令に分解したマイクロプログラムがROM
に格納されており、高機能命令の処理は命令コードの代
わりにROM出力を実行することにより実現している。
このマイクロプロセッサi960CAの構成は、図8に
示すように、命令フェッチ部10、命令デコーダ20、
マイクロプログラムROM30、命令デコーダ入力選択
部150、および命令実行部50からなる。命令コード
60が命令フェッチ部10から命令デコーダ入力選択部
150へ送られ、ROM出力90がマイクロプログラム
ROM30から命令デコーダ入力選択部150へ送ら
れ、命令デコーダ入力160が命令デコーダ入力選択部
150から命令デコーダ20へ送られ、次命令コード位
置指定信号70が命令デコーダ20から命令フェッチ部
10へ送られ、ROMアドレス100が命令デコーダ2
0からマイクロプログラムROM30へ送られ、命令デ
コーダ入力選択信号170が命令デコーダ20から命令
デコーダ入力選択部150へ送られ、命令実行部制御信
号110が命令デコーダ20から命令実行部50へ送ら
れている。
Aは、図5に示すように、プリフェッチPF、デコード
ID、実行EXの3段のパイプラインステージを持つ。
プリフェッチステージPFでは、基本命令を実行してい
る間は、命令フェッチ部10が命令コード60をフェッ
チしてプリフェッチキューに格納する一方、命令デコー
ダ20からの次命令コード位置指定信号70に従って命
令コード60が命令デコーダ入力選択部150を介して
命令デコーダ20に供給される。高機能命令を実行して
いる間は、マイクロプログラムROM30の読み出しを
行い、ROM出力90が命令デコーダ入力選択部150
を通して命令デコーダ20に供給される。デコードステ
ージIDでは、命令デコーダ20は命令フェッチ部10
からの命令コード60またはマイクロプログラムROM
30からのROM出力90をデコードして命令実行部制
御信号110を生成すると同時に、デコードした命令が
高機能命令であった場合は、ROMアドレス100を生
成し、命令デコーダ入力選択信号170をROM出力選
択側に変更する。実行ステージEXでは命令実行部制御
信号110に基づいて命令実行部50は演算、メモリア
クセス等を行う。
のマイクロプロセッサ80486は、全ての命令につい
て、アドレス計算以外の制御信号はROM出力から生成
している。このようなマイクロプロセッサでは、全ての
命令についてマイクロプログラムが必要となるため、R
OM容量が増大し、これに伴ってROMの面積および消
費電力が大きくなり、動作速度が遅くなると言う問題を
有する。また、常にROMが動作しているため、プロセ
ッサ全体に占めるROMの消費電力が大きくなる。プロ
セッサの集積度および動作周波数が高まるにつれて、プ
ロセッサの消費電力も増大しており、これを抑制する必
要がある。このため、ROMの消費電力を抑制する必要
がある。さらに、複数命令を同時実行する場合、例え
ば、同様の構成で2命令同時実行を行うプロセッサを構
成すると、図2に示すようになる。図2のような構成に
すると、それぞれの命令に対してROMが必要となるた
め、2命令同時実行のために命令デコーダだけでなく、
ROMも2重化する必要がある。また、高機能命令を2
つの命令実行部を両方使用して実行しようとすると、2
つの独立したROMを用いて制御する必要があると言う
問題を有する。
セッサi960CAは基本命令はROMを使用せずに実
行する一方、高機能命令を実行する際にROMを使用し
ている。高機能命令の実行開始時には、図9に示すよう
にROM読み出しのオーバヘッドが入るため、パイプラ
インに1サイクルの空きができる。例えば、2、3サイ
クルで終了する高機能命令の場合、このパイプラインの
空きによる性能低下は無視できない。さらに、複数命令
を同時実行する場合、例えば、高機能命令とその次の命
令が同時にデコーダに供給された場合、高機能命令の次
の命令は、プリフェッチからやり直す必要がある。この
ため、命令デコーダはデコードした命令が基本命令か高
機能命令かによって、命令プリフェッチ部に出力する次
命令位置指定信号を代える必要がある。このような方式
の場合、基本命令と高機能命令の区別に命令コードのフ
ルデコードが必要なプロセッサでは、次命令位置指定信
号の生成に時間がかかってしまう。そして、命令デコー
ダへの命令コード供給のサイクル時間が増大し性能が低
下する。
令実行部を1回だけ使用して実行できる基本命令と命令
実行部を2回以上使用して実行する必要の有る高機能命
令との双方を効率的に実行するとともに、マイクロプロ
グラムROMの容量を低減することな可能なデータプロ
セッサを提供することにある。
令デコーダ出力とマイクロプログラムROM出力とから
選択して生成することにより、命令実行部制御信号を、
有る場合は命令デコーダ出力のみから、また他の場合
は、一部または全部をマイクロプログラムROM出力か
ら、他を命令デコーダ出力から生成することを可能にす
る。
を複数個にし、1つのマイクロプログラムROMから複
数個の命令実行部を制御する信号を出力し、命令実行部
制御信号を複数の命令デコーダ出力と1つのマイクロプ
ログラムROM出力とから選択して生成することによ
り、命令実行部制御信号を、有る場合は命令デコーダ出
力のみから、また他の場合は、一部または全部をマイク
ロプログラムROM出力から、他を命令デコーダ出力か
ら生成することを可能にする。
用して処理できる基本命令は、命令デコーダ出力のみか
ら生成した命令実行部制御信号によって命令実行部を制
御して実行し、命令実行部を2回以上使用して処理する
必要のある高機能命令は、1回目は命令デコーダ出力の
みから生成した命令実行部制御信号によって、2回目以
降は一部または全部をマイクロプログラムROM出力か
ら、他を命令デコーダ出力から生成した命令実行部制御
信号によって、命令実行部を制御して実行する。この結
果、基本命令実行時にはROMを使用する必要がなくな
り、基本命令分のROM容量の削減、ならびに、これに
伴うROMの面積および消費電力の削減と動作速度の向
上が図れる。また、プログラムにおける出現頻度の高い
基本命令実行時にROMが動作しないため、プロセッサ
全体の平均の消費電力も小さくなる。
令同時実行と、高機能命令の2回目以降の処理に命令実
行部全体を使用した高速実行が可能となる。
ロプロセッサの構成図であり、このマイクロプロセッサ
は命令フェッチ部10、命令デコーダ20、マイクロプ
ログラムROM30、制御信号選択部40、および命令
実行部50からなる。命令フェッチ部10は図示されて
いないメインメモリもしくはキャッシュメモリから命令
をプリフェッチし、命令コード60が命令フェッチ部1
0から命令デコーダ20へ送られる。特に、命令デコー
ダ20からの次命令コード位置指定信号70に従って命
令フェッチ部10は、次にデコードされるべき命令コー
ド60を命令デコーダ20へ供給する。命令デコーダ2
0による命令のデコード結果である命令デコーダ出力8
0が制御信号選択部40へ送られる一方、マイクロプロ
グラムROM30からのマイクロプログラムROM出力
90が制御信号選択部40へ送られる。また、制御信号
選択部40からのROMアドレス100がマイクロプロ
グラムROM30へ送られ、制御信号選択部40からの
命令実行部制御信号110が命令実行部50へ送られて
いる。
は図3に示すように、命令フェッチI、命令デコード
D、演算E、メモリアクセスA、およびレジスタストア
Sの5段のパイプラインステージを有するものである。
部10が処理を行い、命令デコードステージDでは、命
令デコーダ20とマイクロプログラムROM30と制御
信号選択部40とを用いて命令実行制御信号110を生
成することができ、そして、演算E、メモリアクセス
A、およびレジスタストアSのそれぞれのステージでは
命令実行部50を用いて演算、メモリアクセスもしくは
レジスタストアの処理が実行される。命令実行部50を
1回だけ使用して処理できる基本命令は、5段のパイプ
ラインステージを1回ずつ動作させて処理する。一方、
命令実行部50を2回以上使用して処理する必要のある
高機能命令は、各ステージを2回以上動作させて処理す
る。
を、より詳細に説明する。命令フェッチステージIで
は、メインメモリもしくはキャッシュメモリから命令を
命令フェッチ部10がフェッチして内部のプリフェッチ
キューに格納する一方、次命令コード位置指定信号70
に従って命令フェッチ部10は次にデコードされるべき
命令コード60を命令デコーダ20へ供給する。このよ
うに、命令フェッチ部10にはプリフェッチキューがあ
り、ここにあらかじめ命令コードをフェッチして保持す
るとの並行して、次命令コード位置指定信号70に従っ
て命令コード60を命令デコーダ20へ供給する。命令
フェッチステージと同時に実行している命令デコーダ2
0での前命令の命令デコードステージの前半で次命令コ
ード位置指定信号70が生成されて命令フェッチ部10
に供給されるため、プリフェッチキューからの命令コー
ド60の選択は命令フェッチステージIの後半で行われ
ている。
ダ20が、まずステージの前半で命令コード60をデコ
ードして命令長を判断し、次命令コード位置指定信号7
0を生成する。さらに、命令デコーダ20は命令デコー
ダ出力80を生成して制御信号選択部40に供給する。
そして、制御信号選択部40が命令デコーダ出力80を
ROMアドレス100および命令実行部制御信号110
として選択し、それぞれマイクロプログラムROM30
および命令実行部50へ供給する。ただし、基本命令処
理時にマイクロプログラムROM30に供給されるRO
Mアドレス100は、マイクロプログラムROM30を
動作させないので、マイクロプログラムROM出力90
が生成されない。
0である命令実行部制御信号110に基づいて、命令実
行部50がアドレス計算、演算、分岐判定等を行う。ま
た、命令実行部制御信号110のうち、メモリアクセス
およびレジスタストアの制御情報を1サイクル保持す
る。
部50が演算ステージEの間に保持していたメモリアク
セスの制御情報に基づいて、データフェッチ、データス
トア、またはデータ保持を行う。データフェッチまたは
データストアのためのアドレスは、演算ステージEにお
いてアドレス計算によって求められている。また、デー
タ保持とは、メモリアクセスを必要としないレジスタ間
演算命令等を処理する際に、演算ステージで得られた結
果を次のレジスタストアステージSまで保持しておくこ
とである。また、演算ステージFの間に保持していたレ
ジスタストアの制御情報をさらに1サイクル保持する。
部50が、メモリアクセスステージAの間に保持してい
たレジスタストアの制御情報に基づいて、メモリアクセ
スステージAでフェッチまたは保持しておいたデータを
レジスタに格納する。
動作を、より詳細に説明する。先に説明したように、高
機能命令の実行のためには、命令実行部50を2回以上
使用する必要が有る。従って、命令フェッチステージ
I、デコードステージD、演算ステージE、メモリアク
セスステージA、レジスタストアステージSの各ステー
ジでの高機能命令の実行のための第1ステップの処理
は、基本命令の場合と同一であり、マイクロプログラム
ROM30を動作させることなく、マイクロプログラム
ROM出力90を命令の実行のために使用することはな
い。
テージA、およびレジスタストアステージSのそれぞれ
における第2ステップ以降の処理は、基本命令の場合と
同一である。
Iでは、命令デコーダ20が次命令コード位置指定信号
70を実行中の高機能命令の次の命令に保つことによっ
て、命令フェッチ部10が命令コード60として次命令
を出力し続けるようにする。また、命令プリフェッチキ
ューに空きのある場合は命令フェッチを行って空きをな
くす。
Dでは、マイクロプログラムROM30を動作させる一
方、命令デコーダ20は動作させず、命令デコーダ出力
80としては第1ステップのデコード結果を保持し、出
力し続ける。マイクロプログラムROM30の検索アド
レスとしては、1ステップ前に制御信号選択部40が選
択した非動作中のマイクロプログラムROM30のRO
Mアドレス100を使用する。すなわち、上記第1のス
テップで非動作中のマイクロプログラムROM30の出
力90には第1ステップで命令実行部50を制御するた
めのマイクロ命令は含まれていないが、第2ステップ以
降で命令実行部50を制御するためのマイクロ命令が格
納された場所を示す次マイクロ命令アドレスが含まれて
いる。この次マイクロ命令アドレス90をマイクロプロ
グラムROM30の検索アドレス100とすることで、
命令実行部50を制御するためのマイクロ命令をROM
出力90から読み出すことができる。そして、制御信号
選択部40はマイクロプログラムROM出力90をRO
Mアドレス100および命令実行部制御信号110とし
て選択し、それぞれマイクロプログラムROM30およ
び命令実行部50へ供給する。但し、命令実行部制御信
号110のうち、命令で自由に設定できるレジスタ番
号、オペランドサイズ等の情報は、命令デコーダ出力8
0を選択するようにする。これは、命令で自由に設定で
きる情報にマイクロプログラムROM出力90を使用す
ると、これらの値が異なるだけでマイクロプログラムを
変えることになってしまい、マイクロプログラムROM
30容量の増大につながるためである。この時に選択す
る命令デコーダ出力80としては、第1ステップから出
力し続けている命令デコーダ出力80を使用する。尚、
命令セットの種類によっては、命令で自由に設定できる
情報を第1ステップで使用しないで、第2ステップ以降
で使用することも考えられる。このような命令セットの
マイクロプロセッサを実現するためには、命令デコーダ
出力80として命令で自由に設定できて第2ステップ以
降で使用する情報を出力しておき、第2ステップ以降で
これを選択する。
グラムROM出力90から一方を選択する制御信号選択
部40における制御は、以下のように行う。命令デコー
ダ出力80およびマイクロプログラムROM出力90と
して最終ステップ指示信号を持たせ、基本命令の場合は
命令デコーダ出力80で最終ステップ指示信号を出力さ
せ、高機能命令の場合は最終ステップのマイクロプログ
ラムROM出力90でこの最終ステップ指示信号を出力
させる。制御信号選択部40で選択した信号に最終ステ
ップ指示信号がアサートされたら、次の命令デコードス
テージDで命令デコーダ20を動作させて、制御信号選
択部40は命令デコーダ20の命令デコード結果である
出力80をROMアドレス100および命令実行部制御
信号110として選択する。アサートされない場合は、
マイクロプログラムROM出力90を選択する。最終ス
テップ指示信号の選択も、これと同一条件で行う。
イクロプログラムROM30を使用する必要がなくな
り、基本命令に関してマイクロプログラムROM30の
容量を削減でき、また、これに伴ってマイクロプログラ
ムROM30の面積および消費電力の削減と動作速度の
向上が図れる。さらに、命令デコーダ20およびマイク
ロプログラムROM30は常にどちらか一方が動作する
ため、消費電力を削減することができる。
可能な本発明の具体的な実施例によるマイクロプロセッ
サの構成図であり、このマイクロプロセッサは命令フェ
ッチ部10、第1命令デコーダ21、第2命令デコーダ
22、次命令コード位置指定信号生成部23、マイクロ
プログラムROM30、制御信号選択部40、第1命令
実行部51および第2命令実行部52からなる。
とが並行して、命令フェッチ部10から第1命令デコー
ダ21と第2命令デコーダ22へ供給される。第1命令
デコーダ21と第2命令デコーダ22での命令デコード
結果から判別される第1命令長71と第2命令長72
が、第1命令デコーダ21および第2命令デコーダ22
から次命令コード位置指定信号生成部23へそれぞれ供
給される。その結果、次命令コード位置指定信号70が
次命令コード位置指定信号生成部23から命令フェッチ
部10へ供給される。第1命令デコーダ21および第2
命令デコーダ22から第1命令デコーダ出力81および
第2命令デコーダ出力82がそれぞれ制御信号選択部4
0へ供給される一方、マイクロプログラムROM30か
らマイクロプログラムROM出力90が制御信号選択部
40へ供給される。また、制御信号選択部40からRO
Mアドレス100がマイクロプログラムROM30へ供
給され、また第1命令実行部制御信号111および第2
命令実行部制御信号112がそれぞれ第1命令実行部5
1および第2命令実行部52へ供給される。
のステージは、図6のマイクロプロセッサと同一で、図
3に示すように、命令フェッチI、命令デコードD、演
算E、メモリアクセスA、およびレジスタストアSの5
段である。命令フェッチステージIは命令フェッチ部1
0を用い、命令デコードステージDは第1命令デコーダ
21と第2命令デコーダ22と次命令コード位置指定信
号生成部23とマイクロプログラムROM30と制御信
号選択部40とを用いて第1命令実行部制御信号111
および第2命令実行部制御信号112を生成することが
でき、そして、演算E、メモリアクセスA、およびレジ
スタストアステージSは第1命令実行部51および第2
命令実行部52を用いて演算、メモリアクセスもしくは
レジスタストアの処理が実行される。第1命令実行部5
1または第2命令実行部52を1回だけ使用して処理で
きる基本命令は、5段のパイプラインステージを1回ず
つ動作させて処理する。一方、上記基本命令以外の命
令、すなわち高機能命令は、各ステージを2回以上動作
させて処理する。
のパイプライン動作を、より詳細に説明する。命令フェ
ッチステージIでは、命令フェッチ部10が第1命令コ
ード61および第2命令コード62をそれぞれ第1命令
デコーダ21および第2命令デコーダ22に並行して供
給する。命令フェッチ部10にはプリフェッチキューが
あり、ここにあらかじめ命令コードをフェッチして保持
しておき、次命令コード位置指定信号70に従って第1
命令コード61を第1命令デコーダ21へ供給し、第1
命令コード61の次のコードを第2命令コード62とし
て第2命令デコーダ22へ供給する。ここで言う次のコ
ードとは、第1命令コード61が最小命令長であった場
合の第1命令コード61の次の命令コードである。した
がって、第1命令コード61が最小命令長でない場合
は、第2命令コード62は第1命令コード61の拡張部
となっている。次命令コード位置指定信号70は、命令
フェッチステージと同時に実行している前命令の命令デ
コードステージの前半で生成されて、命令フェッチ部1
0に供給されるため、プリフェッチキューからの第1命
令コード61および第2命令コード62の選択は命令フ
ェッチステージの後半で行われている。
ジの前半で、第1命令デコーダ21および第2命令デコ
ーダ22がそれぞれ第1命令コード61および第2命令
コード62をデコードすることにより第1命令長71お
よび第2命令長72を次命令コード位置指定信号生成部
23へ供給する。従って、次命令コード位置指定信号生
成部23で第1命令長71および第2命令長72から次
命令コード位置指定信号70を生成する。さらに、第1
命令デコーダ21および第2命令デコーダ22が第1命
令デコーダ出力81および第2命令デコーダ出力82を
それぞれ生成して、制御信号選択部40に供給する。そ
して、二つの基本命令が第1命令デコーダ21と第2命
令デコーダ22とによって並行にデコードされた場合
は、制御信号選択部40がROMアドレス100として
第1命令デコーダ出力81と第2命令デコーダ出力82
のいずれか一方を選択してマイクロプログラムROM3
0へ供給する一方、第1命令実行部制御信号111およ
び第2命令実行部制御信号112として第1命令デコー
ダ出力81および第2命令デコーダ出力82をそれぞれ
選択して第1命令実行部51および第2命令実行部52
へ供給する。尚、この時に供給されるROMアドレス1
00によって、マイクロプログラムROM30は非動作
となる。
合は、第2命令コード62は第1命令コード61の拡張
部であって真の命令コードではないので、第2命令デコ
ーダ22から生成された第2命令長72および第2命令
デコーダ出力82は意味のない情報になっている。この
ため、第1命令長71から次命令コード位置指定信号生
成部23は正しい次命令コード位置指定信号70を生成
する。また、この時に第2命令デコーダ出力82を無効
化して、意味のない情報によってプロセッサが誤動作し
ないようにする。一方、第1命令長71が最小命令長の
場合は第2命令コード62は命令コードであり、第2命
令長72および第2命令デコーダ出力82は正しい。こ
のため、次命令コード位置指定信号生成部23は第2命
令長72から次命令コード位置指定信号70を生成し、
第2命令デコーダ出力82は無効化されない。
タストアSのステージでは、第1命令実行部51および
第2命令実行部52がそれぞれ第1命令実行部制御信号
111および第2命令実行部制御信号112に従って、
図6のプロセッサの命令実行部50が命令実行部制御信
号110に従って行う動作と同様な動作を行う。
ROM30のROM出力90を使用せずに、第1命令デ
コーダ出力81および第2命令デコーダ出力82を用い
て第1命令実行部51および第2命令実行部52が基本
命令の2命令同時実行を行うことができる。
作を、より詳細に説明する。各ステージでの高機能命令
の実行のための第1ステップの処理は基本命令の場合と
ほぼ同一で、命令フェッチ部10から高機能命令が第1
命令デコーダ21と第2命令デコーダ22の一方の命令
デコーダ(例えば21)に供給された場合に、高機能命
令の1回目の処理に際して、信号選択部40はマイクロ
プログラムROM30の出力90のマイクロ命令を選択
することなく、上記一方の命令デコーダ(例えば21)
の出力を選択することによって、信号選択部40の出力
から得られる上記一方の命令デコーダ(例えば21)の
出力(例えば81)に従って第1命令実行部51と第2
命令実行部52の一方の命令実行部(例えば51)は1
回目の処理を実行するものであるが、次の点が異なる。
すなわち、第1命令コード61が高機能命令であり、第
2命令コード62が命令コードである場合に、第1命令
コード61の処理が終了するまで第2命令デコーダ出力
82を無効化する。これは以下の理由による。まず、第
2命令コード62が基本命令の場合、無効化しなけれ
ば、第1命令コード61より先に第2命令コード62の
処理が終了してしまうためである。一方、特に第2命令
コード62も同様に高機能命令の場合、第2ステップ以
降の処理が第1命令コード61の処理とマイクロプログ
ラムROM30で重なってしまうためである。従って、
第2ステップ以降の処理では、第1命令実行部51と第
2命令実行部52は2つの高機能命令を同時に実行する
ことはできない。
選択部40はマイクロプログラムROM30の出力90
のマイクロ命令を選択することによって、信号選択部4
0の出力から得られるマイクロ命令に従って上記一方の
命令実行部(例えば51)は2回目の処理を実行するも
のである。
チステージIでは、次命令コード位置指定信号生成部2
3が次命令コード位置指定信号70を実行中の高機能命
令の次の命令に保つことによって、命令フェッチ部10
が第1命令コード61および第2命令コード62とし
て、それぞれ次命令コードおよび次命令コードが最小命
令長の場合の次々命令コードを出力し続けるようにす
る。また、命令プリフェッチキューに空きのある場合は
命令フェッチを行って空きをなくす。
Dでは、マイクロプログラムROM30を動作させる一
方、第1命令デコーダ21および第2命令デコーダ22
は動作させずに、第1命令デコーダ出力81および第2
命令デコーダ出力82としては第1ステップのそれぞれ
のデコード結果を保持し、出力し続ける。マイクロプロ
グラムROM30の検索アドレスとしては、図6の実施
例と全く同様に1ステップ前に制御信号選択部40が選
択したROMアドレス100を使用する。そして、制御
信号選択部40はマイクロプログラムROM出力90の
次マイクロ命令アドレスをROMアドレス100として
選択してマイクロプログラムROM30へ供給する一
方、マイクロプログラムROM出力90のマイクロ命令
を第1命令実行部制御信号111と第2命令実行部制御
信号112のいずれかとして選択して第1命令実行部5
1と第2命令実行部52のいずれかへ供給する。いずれ
を選択し、いずれに供給するかは、高機能命令を第1命
令デコーダ21および第2命令デコーダ22のどちらで
デコードしたかによる。但し、図6の実施例と同様に第
1命令実行部制御信号111および第2命令実行部制御
信号112のうち命令で自由に設定できる情報は、第1
命令デコーダ出力81または第2命令デコーダ出力82
を選択することも可能にする。第1命令デコーダ出力8
1および第2命令デコーダ出力82のどちらを選択する
かは、やはり高機能命令を第1命令デコーダ21および
第2命令デコーダ22のどちらでデコードしたかによ
る。
ーダ出力82とマイクロプログラムROM出力90との
中から一つを選択する制御信号選択部40における制御
は、以下のように行う。第1命令デコーダ出力81、第
2命令デコーダ出力82、およびマイクロプログラムR
OM出力90の中に最終ステップ指示信号を持たせる。
すなわち、基本命令の場合は第1命令デコーダ出力81
または第2命令デコーダ出力82で最終ステップ指示信
号を出力させ、高機能命令の場合は最終ステップのマイ
クロ命令のマイクロプログラムROM出力90で最終ス
テップ指示信号を出力させる。
の中に最終ステップが第1命令実行部51のみを使用し
て終了するか、第2命令実行部52も使用して終了する
かを示す終了モード信号を持たせ、高機能命令の最終ス
テップのマイクロプログラムROM出力90でこの終了
モード信号を出力することもできる。
第1命令コード61の処理が終了するまで無効化してい
ない時に、前ステップで制御信号選択部40で選択した
信号に最終ステップ指示信号がアサートされた場合、第
1命令コード61の最終処理が終了する前に、命令デコ
ードステージで第1命令デコーダ21および第2命令デ
コーダ22を動作させ、このデコードの間に第1命令コ
ード61の最終処理を第1命令実行部51で実行すると
ともに、先にデコードされている第2命令デコーダ出力
82に従って第2命令実行部52で処理を実行すること
もできる。このように、第1命令デコーダ21および第
2命令デコーダ22の動作によって第1命令デコーダ出
力81が有効でかつ高機能命令であると判明した場合
は、ROMアドレスおよ最終ステップ指示信号としては
第1命令デコーダ出力81を選択する。一方、最終ステ
ップ指示信号がアサートされない場合は、第1命令デコ
ーダ21および第2命令デコーダ22を動作させずに、
マイクロプログラムROM30を動作させて、ROMア
ドレス100、第1命令実行部制御信号111、第2命
令実行部制御信号112および最終ステップ指示信号と
してマイクロプログラムROM出力90を選択するもの
である。
ド61の処理が終了するまで無効化している時に、マイ
クロプログラムROM出力90の最終ステップ指示信号
がアサートされて、終了モード信号が第1命令実行部5
1のみの使用を示している場合は、第1命令実行部制御
信号111としてマイクロプログラムROM出力90を
選択する一方、第2命令実行部制御信号112、ROM
アドレス100および最終ステップ指示信号として第2
命令デコーダ出力82を選択し、第2命令デコーダ出力
82を有効にし、次の命令デコードステージで第1命令
デコーダ21および第2命令デコーダ22を動作させ
る。一方、最終ステップ指示信号がアサートされて、終
了モード信号が第2命令実行部52も使用することを示
している場合は、ROMアドレス100、第1命令実行
部制御信号111、第2命令実行部制御信号112、お
よび最終ステップ指示信号として、マイクロプログラム
ROM出力90を選択し、次の命令デコードステージで
は第1命令デコーダ21および第2命令デコーダ22を
動作させずに、第1命令デコーダ出力81を無効化して
第2命令デコーダ出力82を有効にする。
第1命令デコーダ出力81および第2命令デコーダ出力
82を選択し、高機能命令をデコードするとマイクロプ
ログラムROM出力90を選択し、高機能命令の処理を
終了すると再び第1命令デコーダ出力81および第2命
令デコーダ出力82を選択するように制御することがで
きる。さらに、第1命令デコーダ21で高機能命令をデ
コードし、第2命令デコーダ22のデコードに成功した
場合に、高機能命令の最終ステップの処理と同時に、第
2命令デコーダ22でデコードした命令の処理を行うこ
とができる。
トアステージの第2ステップ以降の処理は基本命令の場
合と同一である。
イクロプログラムROM30による基本命令の2命令同
時実行と、第1命令実行部51および第2命令実行部5
2の双方を使用することによる高機能命令の高速化が図
れる。さらに、マイクロプログラムROM30の面積お
よび消費電力の削減と動作速度の向上が可能となる。
ROMによる基本命令の複数命令同時実行と、複数の命
令実行部を使用することによる高機能命令の高速化が可
能となる。また、基本命令実行時にはマイクロプログラ
ムROMを使用する必要がなくなり、基本命令分のRO
M容量の削減、ならびに、これに伴うROMの面積およ
び消費電力の削減と動作速度の向上が可能となる。さら
に、命令デコーダおよびマイクロプログラムROMは常
にどちらか一方が動作することになるため消費電力を削
減することができる。
が可能なマイクロプロセッサの構成図である。
マイクロプロセッサの構成図である。
イプライン構成を説明する図である。
イプライン構成を説明する図である。
イプライン構成を説明する図である。
ッサの構成図である。
ある。
図である。
機能命令を行う際のパイプライン構成を説明する図であ
る。
…第2命令デコーダ、23…次命令コード位置指定信号
生成部、30…マイクロプログラムROM、40…制御
信号選択部、51…第1命令実行部、52…第2命令実
行部
Claims (2)
- 【請求項1】 命令フェッチユニットと、 前記命令フェッチユニットから供給される命令をデコー
ドする第1の命令デコーダ及び第2の命令デコーダと、 マイクロ命令を格納したマイクロプログラムROMと、 前記第1の命令デコーダの出力、前記第2の命令デコー
ダの出力及び前記マイクロROMの出力が入力される信
号選択部と、 前記信号選択部の第1の出力によって制御される第1の
命令実行ユニットと、 前記信号選択部の第2の出力によって制御される第2の
命令実行ユニットと、 を含み、 前記第1及び第2の命令実行ユニットの双方を1回用い
て実行される2個の基本命令の実行において、2個の基
本命令が前記第1及び第2の命令デコーダによって並列
にデコードされるとき、前記信号選択部は前記第1及び
第2の命令デコーダの出力を選択して前記第1及び第2
の出力に夫々出力し、前記第1及び第2の命令実行ユニ
ットは前記2個の基本命令を、前記信号選択部の第1及
び第2の出力に伝達された前記第1及び第2の命令デコ
ーダの出力に従って実行し、前記第1の命令実行ユニット若しくは第2の命令実行ユ
ニットのいずれか一方を少なくとも2回用いて実行され
る 高機能命令の実行において、前記高機能命令が前記第
1の命令デコーダによってデコードされるとき、高機能
命令の第1回目の処理では、前記信号選択部は、前記第
1の命令デコーダの出力を選択して前記第1の出力に出
力し、前記第2命令デコーダの出力を無効にし、前記第
1の命令実行ユニットは前記信号選択部の第1の出力に
伝達される前記第1命令デコーダの出力に従って前記第
1回目の処理を実行し、 高機能命令の第2回目の処理では、前記信号選択部は、
前記マイクロプログラムROMが出力するマイクロ命令
を選択して前記第1の出力に出力し、前記第1の命令実
行ユニットは前記信号選択部の第1の出力に伝達される
前記マイクロプログラムROMのマイクロ命令に従って
前記第2回目の処理を実行する、ものであることを特徴
とするデータプロセッサ。 - 【請求項2】 前記高機能命令の第2回目の処理におい
て、前記マイクロプ ログラムROMから出力された最終
ステップを指示する信号に基づいて、前記第1の命令実
行ユニットによる前記マイクロプログラムROMの命令
に対する最終ステップの処理と同時に、前記第2の命令
実行ユニットは前記第2の命令デコーダの出力に従って
命令実行を行うものであることを特徴とする請求項1記
載のデータプロセッサ。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03315692A JP3497516B2 (ja) | 1992-02-20 | 1992-02-20 | データプロセッサ |
KR1019930001903A KR100266424B1 (ko) | 1992-02-20 | 1993-02-12 | 롬(rom)용량을 저감한 데이타 프로세서 |
US08/266,900 US5394558A (en) | 1992-02-20 | 1994-07-01 | Data processor having an execution unit controlled by an instruction decoder and a microprogram ROM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03315692A JP3497516B2 (ja) | 1992-02-20 | 1992-02-20 | データプロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05233271A JPH05233271A (ja) | 1993-09-10 |
JP3497516B2 true JP3497516B2 (ja) | 2004-02-16 |
Family
ID=12378710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03315692A Expired - Lifetime JP3497516B2 (ja) | 1992-02-20 | 1992-02-20 | データプロセッサ |
Country Status (3)
Country | Link |
---|---|
US (1) | US5394558A (ja) |
JP (1) | JP3497516B2 (ja) |
KR (1) | KR100266424B1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9535699B2 (en) | 2012-03-09 | 2017-01-03 | Panasonic Intellectual Property Management Co., Ltd. | Processor, multiprocessor system, compiler, software system, memory control system, and computer system |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3058986B2 (ja) * | 1992-04-02 | 2000-07-04 | ダイヤセミコンシステムズ株式会社 | コンピュータシステムの節電制御装置 |
US5644769A (en) * | 1993-06-14 | 1997-07-01 | Matsushita Electric Industrial Co., Ltd. | System for optimizing program by virtually executing the instruction prior to actual execution of the program to invalidate unnecessary instructions |
US5931941A (en) * | 1995-04-28 | 1999-08-03 | Lsi Logic Corporation | Interface for a modularized computational unit to a CPU |
US5687340A (en) * | 1995-05-16 | 1997-11-11 | Hewlett-Packard Company | Reduced area floating point processor control logic utilizing a decoder between a control unit and the FPU |
JP3451595B2 (ja) * | 1995-06-07 | 2003-09-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ |
US5872947A (en) * | 1995-10-24 | 1999-02-16 | Advanced Micro Devices, Inc. | Instruction classification circuit configured to classify instructions into a plurality of instruction types prior to decoding said instructions |
US6167665B1 (en) | 1996-06-07 | 2001-01-02 | Herman Miller, Inc. | Corner post for a wall panel system |
US6223485B1 (en) | 1996-06-07 | 2001-05-01 | Herman Miller, Inc. | Wall panel system |
US6049863A (en) * | 1996-07-24 | 2000-04-11 | Advanced Micro Devices, Inc. | Predecoding technique for indicating locations of opcode bytes in variable byte-length instructions within a superscalar microprocessor |
US5867680A (en) * | 1996-07-24 | 1999-02-02 | Advanced Micro Devices, Inc. | Microprocessor configured to simultaneously dispatch microcode and directly-decoded instructions |
US5991884A (en) * | 1996-09-30 | 1999-11-23 | Intel Corporation | Method for reducing peak power in dispatching instructions to multiple execution units |
DE69838374T2 (de) * | 1997-12-23 | 2008-05-29 | Texas Instruments Inc., Dallas | Prozessor und Verfahren zum Verringern von dessen Energieverbrauch |
CA2310548A1 (en) | 1999-06-04 | 2000-12-04 | Herman Miller, Inc. | Stackable wall panel system |
GB2353541B (en) | 1999-06-04 | 2003-10-15 | Miller Herman Inc | Stackable wall panel system |
US6438664B1 (en) | 1999-10-27 | 2002-08-20 | Advanced Micro Devices, Inc. | Microcode patch device and method for patching microcode using match registers and patch routines |
US6729085B2 (en) | 2001-02-09 | 2004-05-04 | Herman Miller, Inc. | Wall panel system |
US7711926B2 (en) * | 2001-04-18 | 2010-05-04 | Mips Technologies, Inc. | Mapping system and method for instruction set processing |
US6834353B2 (en) | 2001-10-22 | 2004-12-21 | International Business Machines Corporation | Method and apparatus for reducing power consumption of a processing integrated circuit |
US6751914B2 (en) * | 2002-03-01 | 2004-06-22 | Steelcase Development Corporation | Post and beam furniture system |
US7204417B2 (en) * | 2004-11-03 | 2007-04-17 | The Code Corporation | Graphical code reader that is configured for efficient decoder management |
US8560810B2 (en) * | 2009-08-14 | 2013-10-15 | Via Technologies, Inc. | Microprocessor with microtranslator and tail microcode instruction for fast execution of complex macroinstructions having both memory and register forms |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58106636A (ja) * | 1981-12-18 | 1983-06-25 | Hitachi Ltd | パイプライン演算装置 |
US4519033A (en) * | 1982-08-02 | 1985-05-21 | Motorola, Inc. | Control state sequencer |
US4574344A (en) * | 1983-09-29 | 1986-03-04 | Tandem Computers Incorporated | Entry control store for enhanced CPU pipeline performance |
US4812972A (en) * | 1984-06-20 | 1989-03-14 | Convex Computer Corporation | Microcode computer having dispatch and main control stores for storing the first and the remaining microinstructions of machine instructions |
US5202967A (en) * | 1988-08-09 | 1993-04-13 | Matsushita Electric Industrial Co., Ltd. | Data processing apparatus for performing parallel decoding and parallel execution of a variable word length instruction |
EP0388735A3 (en) * | 1989-03-10 | 1993-01-13 | Nec Corporation | Microprogram controller having fixed-instruction generator and microprogram memory |
-
1992
- 1992-02-20 JP JP03315692A patent/JP3497516B2/ja not_active Expired - Lifetime
-
1993
- 1993-02-12 KR KR1019930001903A patent/KR100266424B1/ko not_active IP Right Cessation
-
1994
- 1994-07-01 US US08/266,900 patent/US5394558A/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9535699B2 (en) | 2012-03-09 | 2017-01-03 | Panasonic Intellectual Property Management Co., Ltd. | Processor, multiprocessor system, compiler, software system, memory control system, and computer system |
Also Published As
Publication number | Publication date |
---|---|
KR930018368A (ko) | 1993-09-21 |
KR100266424B1 (ko) | 2000-09-15 |
US5394558A (en) | 1995-02-28 |
JPH05233271A (ja) | 1993-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3497516B2 (ja) | データプロセッサ | |
US6256726B1 (en) | Data processor for the parallel processing of a plurality of instructions | |
US5509137A (en) | Store processing method in a pipelined cache memory | |
US4897787A (en) | Data processing system | |
EP3695317B1 (en) | Zero latency prefetching in caches | |
JP2000222206A (ja) | データ処理装置 | |
JPH03129433A (ja) | 並列処理装置および並列処理方法 | |
EP0286354A2 (en) | A method and apparatus for modifying micro-instructions using a macro-instruction pipeline | |
GB2548603A (en) | Program loop control | |
JP2001525568A (ja) | 命令デコーダ | |
GB2548602A (en) | Program loop control | |
GB2548604A (en) | Branch instruction | |
US6687808B2 (en) | Data processor using indirect register addressing | |
JP2003525476A (ja) | プログラムの命令を実行するための装置及び方法 | |
EP0297943B1 (en) | Microcode reading control system | |
US5185870A (en) | System to determine if modification of first macroinstruction to execute in fewer clock cycles | |
EP1499956B1 (en) | Method and apparatus for swapping the contents of address registers | |
WO2008002716A2 (en) | Method and apparatus for interfacing a processor and coprocessor | |
US6044455A (en) | Central processing unit adapted for pipeline process | |
US5983344A (en) | Combining ALU and memory storage micro instructions by using an address latch to maintain an address calculated by a first micro instruction | |
US5187782A (en) | Data processing system | |
US20240201991A1 (en) | Vector reverse | |
JP3102399B2 (ja) | データ処理装置及び方法 | |
JP3147884B2 (ja) | 記憶装置及び情報処理装置 | |
KR100300875B1 (ko) | 캐쉬 미스 시 처리 방법 |
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: 20031118 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071128 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081128 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081128 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091128 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101128 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111128 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111128 Year of fee payment: 8 |
|
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: 20111128 Year of fee payment: 8 |
|
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: 20111128 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121128 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121128 Year of fee payment: 9 |