JP3683230B2 - データ処理装置、命令セット切換方法、データ処理アーキテクチャおよびデータ処理装置作動方法 - Google Patents
データ処理装置、命令セット切換方法、データ処理アーキテクチャおよびデータ処理装置作動方法 Download PDFInfo
- Publication number
- JP3683230B2 JP3683230B2 JP2002125731A JP2002125731A JP3683230B2 JP 3683230 B2 JP3683230 B2 JP 3683230B2 JP 2002125731 A JP2002125731 A JP 2002125731A JP 2002125731 A JP2002125731 A JP 2002125731A JP 3683230 B2 JP3683230 B2 JP 3683230B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- instruction set
- data processing
- processing apparatus
- bit
- 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
- 238000000034 method Methods 0.000 title claims description 32
- 238000011017 operating method Methods 0.000 title 1
- 230000004044 response Effects 0.000 claims description 20
- 230000008859 change Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
Images
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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
-
- 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
-
- 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/30196—Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/321—Program or instruction counter, e.g. incrementing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
【産業上の利用分野】
本発明はデータ処理技術に関し、より詳細には、複数個のプログラム命令ワードを用いたデータ処理に関する。
【0002】
【従来技術】
データ処理システムはプログラム命令ワードの制御により作動するプロセッサコアにより作動し、プロセッサ命令ワードはデコードされるとプロセッサ内の個々の素子を制御するコア制御信号を発生し、プログラム命令ワード内に指定された処理を行うよう、必要な演算を実行する。
【0003】
従来、異なる命令セット間でその使用を切り替える手段を設けることによって、2以上の命令セットからなるプログラム命令ワードを実行するシステムが提供されていた。デジタルイクイップメント社のVAX11コンピュータはVAX命令モード並びにPDP11コンピュータの従来機種のための命令をデコードを可能にするコンパーチブルモードの双方を有している。
【0004】
異なる命令セットへの切り替えを行うための、命令セット切替は、プロセッサコアへのハードウェア配線であっても良いが、これは命令セットの切替のために、プロセッサの物理的な再配線を必要とする。この方法とは異なり、使用される現在の命令セットを指定するようにプロセッサレジスタを使用することもできる。この場合命令セットを指定する値をそのプロセッサレジスタに書き込むことにより、作動中のソフトウェアによりカレント命令セットを選択することができる。しかしながら以下に述べるように、この技術は別のプログラム命令ワードを必要とするので、このことによりソフトウェア作成に余分な時間がかかり、更にプログラム命令ワードを記憶する余分なメモリスペースが必要になる。
【0005】
1つのコード片を実行するために、2つ以上の命令セットを使用可能なプロセッサは次の2つの情報を有していなければならない。
1)メモリ内のコードのアドレス及び
2)使用する命令セット(すなわちコードが書き込まれる命令セット)
【0006】
【発明が解決しようとする課題】
一般にこれまで提案されたプロセッサでは、異なる命令内のルーチンの呼び出しには、次に述べる処理を実行しなければならなかった。
1)サブルーチンの呼出し先を、オリジナルから、自動的に生成される命令セットシーケンス即ちベニヤ(veneer)に切り替える。
2)次にベニヤは、次を実行しなければならない。
−呼び出し側のコンテキストをセーブ
−正しい命令セットを選択
−オリジナルのルーチンを呼び出す
−オリジナルのルーチンから復帰する際に元の命令セットを選択
−呼び出し側のコンテキストを復帰
【0007】
このプロセスはリンカーと称される従来のソフトウェアツールを使用することにより、プログラマーに対して比較的見通しの良いものとなるようにすることができる。しかしながらこのプロセスは異なる命令セットから呼び出される命令ごとに5命令のオーバーヘッドを有しており、かなりの処理オーバーヘッドがもたらされる。
【0008】
本発明の目的は複数の命令セットを切り替えるデータ処理装置の能力を向上させることにある。
【0009】
【課題を解決するための手段】
本発明は、所定の複数の命令セットの連続するプログラム命令ワードを実行する手段を有するプロセッサコアと、
実行すべきプログラム命令ワードを記憶するためのデータメモリと、
前記データメモリ内の次のプログラム命令ワードのアドレスを表示するためのプログラムカウンタレジスタと、
カレントプログラム命令ワードに応答して前記プログラムカウンタレジスタの内容を変更するための手段と、
前記プログラムカウンタレジスタの1つ以上の所定の表示ビットに応答し、前記所定の複数の命令セットから選択され、前記プログラムカウンタレジスタの前記1つ以上の表示ビットの状態によって指定されるカレント命令セットのうちのプログラム命令ワードを実行するよう、前記プロセッサコアを制御するための制御手段とを備えたデータ処理装置を提供するものである。
【0010】
本発明ではプログラムカウンターレジスタ内にカレント命令セットを選択するための、1つ或いは複数の制御フラグが設けられる。これにより、例えばブランチ命令の実行の一部としてプログラムカウンターレジスタ内に新しい値が書き込まれる際、カレント命令セットを変更することが可能となる。
【0011】
本発明は、上記の、これまで提案されているプロセッサの場合と同じように、別個のプロセッサレジスタ(命令セットレジスタとプログラムカウンタレジスタ)で、要求された命令セットとその次の命令アドレスをエンコードする場合、異なる命令セットで書かれたコードセクションの呼び出しを行うのに、2つの別個のレジスタを更新しなければならないので、命令セットを切り替えることが困難になることに注目したものである。
【0012】
例えば、ソーティングすなわち照合(collation)機能を実行するプログラムについて検討する。一般にこのソートを実行するには、一般的なソートルーチンを呼び出す。このソートルーチンは一般的であるので、所定のシーケンスでソーティングできるものでなければならない。例えば数字の順序、アルファベットの順序、ケース(case)に依存しないアルファベットの順序またはプログラマーが指定する他の順序で項目をソートするように、呼び出し可能である。プログラマーがソートの順序を指定する手段は、ルーチンのアドレス(比較ルーチンと称される)をソートルーチンに送ることである。この比較ルーチンは次にソートルーチンにより呼び出され、2つの項目のデータが与えられると、ソートされるシーケンス内で第1の項目を第2の項目の前に置くか、或いは後に置くかを示す値を返す。
【0013】
比較ルーチンのアドレスがソートルーチンへ送られると、ソートルーチンは、ルーチンが呼び出される際にどの命令セットが選択されるべきかを知る方法はない。比較ルーチンの実行が試みられる際に、誤った命令セットがカレント命令セットとなっている場合、その結果はひどい失敗をもたらし得る。比較ルーチンが呼び出される際に、どの命令セットが有効にされるべきかを示すため、ソートルーチンに余分な情報を送る必要がある。しかしながらハイレベルの言語、例えばCおよびC++言語で書かれた多くの現行のプログラムでは、ターゲットルーチン(本例ではアドレスおよび命令セット情報)を一義的に識別するのに必要なすべての情報は、単一の機械語で表現できるものとしている。
【0014】
本発明は、使用される命令セットを示すための、プログラムカウンタレジスタ(PC)の所定のビットを定義することにより、これらの問題を解消している。上記特定の実施例では、ソートルーチンへ送られる比較ルーチンのアドレスは、そのアドレスの所定のビット内にエンコードされた必要な命令セットを有することができる。比較ルーチンが呼び出されると、表示ビットを含むアドレスはプログラムカウンタレジスタに送られるだけである。
【0015】
プログラムカウンタレジスタの所定ビットを、指示ビット(indicator bit)として使用するため確保することもできるが、別の方法では、対応するメモリエリア内の種々の命令セットを用いて、実行されるコードの部分を記憶し、これにより、そのメモリエリアがアクセスされる間、プログラムカウンタは、使用される適当な命令セットを特定する、特定の範囲の値を含む。
【0016】
様々な命令セットから命令をデコードするには、装置は第1命令セットのプログラム命令ワードをデコードするための第1命令デコーダと、第2命令セットのプログラム命令ワードをデコードするための第2命令デコーダを含み、制御手段が現在のプログラム命令ワードをデコードするのに、第1命令デコーダまたは第2命令デコーダのいずれかを制御するように作動できることが好ましい。
【0017】
第1命令セットのプログラム命令ワードは、Xビットのプログラム命令ワードであり、第2の命令セットのプログラム命令ワードは、Yビットのプログラム命令ワードであり、YはXと異なることが好ましい。このように共通のプロセッサコアが、より長いプログラム命令ワードを有し、潜在的によりパワフルな関連命令を可能とする命令セットか、或いはより短いプログラム命令ワードを有し、よって潜在的により限られた命令セットが許容されるメモリスペースをセーブする命令セット、のいずれかによりプログラムされ得る。
【0018】
好ましい実施例では、プログラムカウンタレジスタの1つ以上のビットはプログラムカウンタレジスタの1つ以上の最上位ビットであり、例えば32ビットのプログラムカウンタレジスタでは、かかる大きなプログラムカウンタレジスタによってアクセスできる最大メモリスペースは、通常使用されるメモリスペースよりもかなり大きいので、最高位ビットが必要になることはほとんどない。
【0019】
上記と異なり、別の実施例では、プログラムカウンタレジスタの1つ以上のビットはプログラムカウンタレジスタの1つ以上の最下位ビットである。この場合プログラム命令ワードまたはデータワードの最小長さが少なくとも2バイトであり、これらビットは多くの場合使用されない。
【0020】
アクセスされるデータメモリ内の無効アドレスを避けるため、データメモリに記憶されたプログラム命令ワードにアクセスするための手段を設けることが好ましく、このアクセス手段はプログラムカウンタレジスタの1つ以上のビットには応答しない。
【0021】
添付図面を参照して次の図示した実施例の詳細な説明を読めば、本発明の上記およびそれ以外の目的、特徴および利点が明らかとなろう。
【0022】
【実施例】
図1は、プロセッサコア10がメモリシステム20に結合されたデータ処理装置の略図である。
【0023】
このプロセッサコア10はレジスタバンク30と、ブースマルチプライヤ40と、バレルシフタ50と、32ビットの算術論理ユニット(ALU)60と、書き込みデータレジスタ70とを含む。プロセッサコア10とメモリシステム20の間には、命令パイプライン80と、マルチプレクサ90と、第1命令デコーダ100と、第2命令デコーダ110と、読み出しデータレジスタ120とがある。
【0024】
プロセッサコア10の一部であるプログラムカウンタ(PC)は、命令システム20のアドレス指定を表示するように示されている。プログラムカウンタコントローラ140は、各々の命令が実行され、命令パイプライン80のための新しい命令をフェッチする必要があるたびに、プログラムカウンタレジスタ130内のプログラムカウンタ値をインクリメントするように働く。更に分岐命令が実行されると分岐命令のターゲットアドレスがプログラムカウンタコントローラ140によりプログラムカウンタ130内にロードされる。
【0025】
プロセッサコア10は、種々の機能ユニットの間の32ビットのデータ通路を含む。作動中、命令パイプライン80内の命令は、(マルチプレクサ90の制御により)第1命令デコーダ100または第2命令デコーダ110のいずれかによりデコードされ、プロセッサコア10の個々の機能素子へ送られる種々のコア制御信号を発生する。これらコア制御信号に応答し、プロセッサコアの異なる部分は32ビットの処理演算、例えば32ビットの乗算、32ビットの加算および32ビットの論理演算を実行する。
【0026】
レジスタバンク30はカレントプログラミングステータスのレジスタ(CPSR)150と、セーブされたプログラミングステータスのレジスタ(SPSR)160を含む。カレントプログラミングステータスレジスタ160はプロセッサコア10のための種々の条件およびステータスフラグをホールドする。これらフラグは処理モードフラグ(例えばシステムモード、ユーザーモード、メモリアボートモード等のフラグ)のみならず、算術演算におけるゼロの結果、桁上げ等の発生を表示するプラグを含むことができる。セーブプログラミングステータスレジスタ160(これはバンク状の複数のかかるセーブプログラミングステータスレジスタのうちの1つでよい)は、処理モードスイッチの切り替えをトリガーする例外条件が発生した場合、現在プログラミングステータスレジスタ150の内容を一時的に記憶するのに使用される。
【0027】
プログラムカウンタレジスタ130は命令セットフラグTを含む。この命令セットフラグはマルチプレクサ90の作動を制御するのに使用され、よって現在データ処理命令をデコードするのに第1命令デコーダ100または第2命令デコーダ110のいずれを使用するかを制御するのに使用される。本実施例では、2つの命令セット、すなわち第1命令セットと第2命令セットとを示す。第1命令セットは32ビットのプログラム命令ワードから成り、第1命令デコーダ100によってデコードされ、第2命令セットは16ビットのプログラム命令ワードを含み、第2命令デコーダ110によってデコードされる。第1命令デコーダ100と、第2命令デコーダ110によって発生されるコア制御信号は、コア10の種々の機能ユニットとコンパーチブルとなっている。
【0028】
プログラム命令ワード長さが異なる2つの命令セットを使用することにより、より長いワードを有し、潜在的によりパワフルな関連する命令を可能とする第1命令セットまたはより短いプログラム命令ワードを有し、このため、潜在的により限られた命令セットを許容できるメモリスペースをセーブできる第2命令セットのいずれかにより共通処理コア10にプログラムすることが可能となっている。
【0029】
命令セットフラグTを設けたことにより第1命令セットに対し第2命令セットを非直交状態にできる。これは特に別の直交命令セットを提出し、デコードできるようにするのに用いられるフリービットを用いることなく、第1命令セットが現在の命令セットである場合に有効である。
【0030】
命令セットフラグTはプログラムカウンタレジスタの通常は使用されないビット内に隠されている。このことは、Tフラグはプログラムカウンタコントローラ140によりセットまたはリセットできるが、Tフラグのステートはメモリシステム20および命令パイプライン80の作動に直接影響する必要がないことを意味している。
【0031】
図2および図3はTビットをプログラムカウンタレジスタ内にエンコードできる2つの可能な方法を示すプログラムカウンタレジスタの略図である。これら2つの方法ではプログラムカウンタレジスタの通常使用されない高い桁(最高位)ビットとして、またはプログラムカウンタレジスタの通常使用されない低い桁(最下位)のビットとしてTビットをエンコードする。
【0032】
図2はTビットがプログラムカウンタレジスタの最高の桁のビットとしてエンコードされているプログラムカウンタレジスタ130’の略図である。
プログラムカウンタレジスタは32ビットレジスタであり、これにより232バイトをメモリシステム20内でアドレス指定できる。しかしながらこのことは、4ギガバイトのアドレス指定可能なメモリスペースに等しいので、21ビットプログラムカウンタレジスタにより可能とされるフルアドレスレンジが必要となることは、ほとんど可能性がない。
【0033】
従って図2におけるTビットはプログラムカウンタレジスタ130’の最高の桁のビットとしてエンコードされる。これによっても2ギガバイトのメモリをアドレス指定できるが、実際には通常この数よりも少ない数のメモリがアドレス指定され、プログラムカウンタレジスタのうちの他の上位ビットは(図2に示すようにゼロにできる)。
【0034】
解決すべき問題は、Tビットをセットした時、プログラムカウンタレジスタ130’はメモリシステム20のアドレスレンジをはるかに越えるメモリアドレスをポイントする可能性があることである。換言すれば、プログラムカウンタレンジ130の32ビットによりポイントされるメモリアドレスはメモリシステム20に関する限り無効アドレスである。
【0035】
この問題は2つの直接的方法によって解決できる。1つの技術ではプログラムカウンタレジスタ130’の最上位のビット(Tビット)を、メモリシステム20の単なるアドレスビットとしては供給しない。これとは異なり、メモリシステム20内のアドレスデコーディングが所定の数の最小の桁のビット(すなわち16メガバイトのアドレススペースをアドレス指定するのに最小位の24ビット)だけを検出してもよい。この場合、残りの、より高い桁のビットのステートは、デコードされるアドレスに対応する。この方法は、ある数のアドレスビットしか必要でないことが予め判っている時のメモリアドレスデコーディングの標準的技術となっている。
【0036】
先に述べたように、Tビットがプログラムカウンタレジスタ130’からマルチプレクサ90へ送られ、このTビットは第1命令デコーダ100または第2命令デコーダ110のいずれかへの命令のルーチングを決定する。
【0037】
図3は、プログラムカウンタレジスタの最小位ビットとして命令セットスイッチング用Tビットをエンコードする第2プログラムカウンタレジスタ130″の略図である。
このプログラムカウンタレジスタの最下位ビットは、最小命令すなわちデータワードサイズが少なくとも2バイト(この場合16ビット)であるプロセッサ内では、通常、使用されない。従って本実施例では命令プログラムワードは32ビット長(4バイト)または16ビット長(2バイト)のいずれかとなり得るので、プログラムカウンタ130からメモリシステム20へ供給されるアドレスは常に2の倍数となり、よって、アドレスの最小位ビットはゼロとなる。
【0038】
プログラムカウンタレジスタ130″の最小位ビットは、Tビットを記憶するのに使用され、このTビットは上記のようにマルチプレクサ90へ供給される。上記のように、プログラムカウンタレジスタ130″の最小位ビットは、メモリシステム20により無効アドレスにアクセスされないように、メモリシステムへは供給されない。
【0039】
プログラムカウンタ130はプログラムカウンタコントローラ130によって制御されるという事実によりコア10によって実行される分岐命令の一部としてTビットをセットできることを意味している。例えばTビットが現在第1(32ビット)の命令セットの使用を表示するようにセットされており、第2(16ビット)の命令セットを使用するコードの一部への分岐を望んでいる場合、実行すべき16ビットコードへジャンプし、同時にプログラムカウンタレジスタ内のTビットを変更するよう、分岐命令を実行できる。特にプログラムカウンタレジスタ130’の最高位ビットとしてTビットをエンコードする、図2に示される回路では、分岐命令は(ターゲットアドレスプラス10000000000000000000000000000000)への分岐によりTビットを1にセットできる。これとは異なり、図3のプログラムカウンタレジスタ130″内でTビットを1にセットするには、分岐命令は(ターゲットアドレスプラス1)への分岐の形態をとることができる。再びTビットを0に変えるのに、同様な回路を使用できる。
【0040】
図4に、このプロセスを略図で示す。図4は、図3のプログラムカウンタレジスタ130″を用いた32ビット命令セットと16ビット命令セットとの切り替えを示すフローチャートである。図4ではTビットが1にセットされている時は、このことは16ビットの命令セットを使用すべきことを意味している。
【0041】
図4を参照すると、32ビット命令セットで処理を開始する(200)。種々のデータ処理演算(210)の後にアドレスBadd(1)+1へ分岐するように分岐命令210を実行する。アドレスBadd(1)は16ビット命令セットを使ったコードの一部のスタートアドレスであり、付け加えられる+1は、Tビットのコードを使用すべきことを表示するTビットの切り替えに使用される。ターゲットアドレスBadd(1)では、16ビット命令セットを用いて種々のデータ処理演算230が実行される。次に32ビット命令セットに戻るように、分岐命令240が実行される。特に分岐命令240は32ビットコードの一部を参照するターゲットアドレスBadd(2)であり、このアドレスにはTビットをゼロステートへ戻すようにゼロが加算される。ターゲットアドレスBadd(2)では、種々のデータ処理演算210が実行され、処理が終了する(260)。
【0042】
プログラムカウンタ130内のTビットを変えることにより、2つの命令セット間の切り替えが行われると、マルチプレクサ90による実際の切り替えが遅延され、現在、パイプライン80内に存在している命令が可能となる。
【0043】
要約すれば、異なる処理モード(特に異なる命令セットの使用)の切り替えは、分岐命令の実行の一部としてプログラムカウンタにターゲットアドレスおよびモードフラグ(T)を書き込むことによって行うことができる。
【0044】
現行のプロセッサで第1命令セットを予め定義し、使用する別のケースでは、プログラムカウンタレジスタ130の通常使用されないビットが、命令セットによって変えられることがないように、現行の第1命令セットにおいて論理的制限があり得る。第2の別の命令セットを含むプロセッサの後方コンパーチビリティのために、第1の(現行の)命令セットから第2の命令セットへ1方向に切り替えるよう、短い命令セット選択シーケンスのコードを使用しなければならないこともある。切り替え機構が追加されると同時に、一般に第2命令セットも追加されるので、プログラムカウンタレジスタ130の通常使用されないビットへのアクセスを限定することなく、第2命令セットを定義できる。このことは、第2命令セットから第1命令セットへ切り替えるのに、上記分岐機構を使用できることを意味している。
【0045】
命令セット選択シーケンス(ベニアとして知られている)の一例は次の通りである。
【0046】
【表1】
ラベル ベニア
XOR (PC,1)
分岐 ラベル
【0047】
このルーチンでは、図3のプログラムカウンタレジスタ130″の現在の内容を1と排他的OR演算し、Tビットを1にセットする。(これとは異なり、図2のプログラムカウンタ130’を用いて現在の内容を10000000000000000000000000000000と排他的OR演算し、Tビットをセットすることもできる。)
【0048】
別のベニアルーチンでは、排他的OR演算の代わりに減算演算を用い、プログラムカウンタレジスタ130″のTビットを変えることができる。この方法は、あるプロセッサでは減算演算により命令パイプライン80をフラッシュすなわちクリアできるという利点もある。
【0049】
次の例は、プログラムカウンタ130″が現在の命令を8ビットだけ越えてポイントし、現在の命令が32ビット(4バイト)の命令であると仮定したものである。従ってプログラムカウンタレジスタ130″の最小位ビットを1に変えるには、現在プログラムカウンタレジスタの内容に対して次の値を加減する必要がある。
【0050】
【表2】
1を加算 (Tビットを1へ変更するため)
8を減算 (カレント命令の前をポイントしているプログラムカウンタを補償するため)
4を加算 (カレント命令の長さを補償するため)
....
3を減算 (全体の変更)
....
【0051】
従って使用される命令シーケンスは次の通りとなる。
【0052】
【表3】
ラベル ベニア
SUB (PC,PC,3) (PCをPC−3と置換)
分岐 ラベル
【0053】
要約すれば、命令セットしてビットを記憶するためにプログラムカウンタを使用することには、少なくとも次のような利点がある。
1.ターゲットアドレスと単一マシンワード内の対応する命令セットの双方を表示することにより、ターゲットルーチンを識別する1つの均一な方法が得られる。
2.より少ない数のシーケンスで足りるので、コードサイズが小さくなる。
3.各命令内セットルーチンの呼び出しごとにシーケンスを実行することが不要となるので、プロセッサの性能を向上させることができる。
【0054】
以上で添付図面を参照して本発明の図示した実施例について説明したが、本発明はこれら実施例のみに限定されるものでなく、当業者であれば特許請求の範囲に記載した発明の要旨から逸脱することなく、種々の変形および変更が可能であると理解すべきである。
【図面の簡単な説明】
【図1】プロセッサコアおよびメモリシステムを有するデータ処理装置の略図である。
【図2】プログラムカウンタレジスタの略図である。
【図3】プログラムカウンタレジスタの略図である。
【図4】図3のプログラムカウンタレジスタを用いた2つの命令セットの切り替えを示す略フローチャートである。
【符号の説明】
10 レジスタバンク
20 メモリシステム
40 ブース乗算器
50 バレルシフタ
60 32ビットALU
70 書き込みデータレジスタ
100、110 命令デコーダ
130 プログラムカウンタレジスタ
Claims (61)
- (i)データメモリに記憶された所定の複数の命令セットのうちの連続するプログラム命令ワードを実行するように動作可能なプロセッサコアと、
(ii)前記データメモリ内の次のプログラム命令ワードのアドレスを示すプログラムカウンタレジスタと、
(iii)カレントプログラム命令ワードに応答して前記プログラムカウンタレジスタの内容を変更するように動作可能な論理回路と、
(iv)前記プログラムカウンタレジスタの1つ以上の所定の表示ビットに応答して、前記プロセッサコアを制御して、前記所定の複数の命令セットから選択されかつ前記プログラムカウンタレジスタの前記1つ以上の所定の表示ビットの状態によって指定されたカレント命令セットのうちの、プログラム命令ワードを前記プロセッサコアに実行させるように動作可能なプロセッサコアコントローラと、
(v)前記データメモリに記憶されたプログラム命令ワードにアクセスするように動作可能であり、かつ、前記プログラムカウンタレジスタの前記1つ以上の所定の表示ビットに応答しないメモリアクセスコントローラと、
を備えた、データ処理装置。 - 第1命令セットのプログラム命令ワードをデコードする第1命令デコーダと、
第2命令セットのプログラム命令ワードをデコードする第2命令デコーダと、
を備え、
前記プロセッサコアコントローラが、前記第1命令デコーダまたは前記第2命令デコーダのいずれかを制御してカレントプログラム命令ワードをデコードするように動作可能である、
請求項1記載のデータ処理装置。 - 前記第1命令セットのプログラム命令ワードが、Xビットのプログラム命令ワードであり、
前記第2命令セットのプログラム命令ワードが、Yビットのプログラム命令ワードであり、
YがXと異なる、
請求項2記載のデータ処理装置。 - 第1命令セットのプログラム命令ワードが、Xビットのプログラム命令ワードであり、
第2命令セットのプログラム命令ワードが、Yビットのプログラム命令ワードであり、
YがXと異なる、
請求項1記載のデータ処理装置。 - Yが16であり、Xが32である、請求項3記載のデータ処理装置。
- Yが16であり、Xが32である、請求項4記載のデータ処理装置。
- 前記プログラムカウンタレジスタの前記1つ以上の所定の表示ビットが、該プログラムカウンタレジスタの1つ以上の最上位ビットである、請求項1記載のデータ処理装置。
- 前記プログラムカウンタレジスタの前記1つ以上の所定の表示ビットが、該プログラムカウンタレジスタの1つ以上の最下位ビットである、請求項1記載のデータ処理装置。
- 前記プログラムカウンタレジスタの前記1つ以上の所定の表示ビットが、該プログラムカウンタレジスタの1つ以上の最下位ビットである、請求項2記載のデータ処理装置。
- 前記プログラムカウンタレジスタの前記1つ以上の所定の表示ビットが、該プログラムカウンタレジスタの1つ以上の最下位ビットである、請求項3記載のデータ処理装置。
- 前記プログラムカウンタレジスタの前記1つ以上の所定の表示ビットが、該プログラムカウンタレジスタの1つ以上の最下位ビットである、請求項4記載のデータ処理装置。
- 前記プログラムカウンタレジスタの前記1つ以上の所定の表示ビットが、該プログラムカウンタレジスタの1つ以上の最下位ビットである、請求項5記載のデータ処理装置。
- 前記プログラムカウンタレジスタの前記1つ以上の所定の表示ビットが、前記プログラムカウンタレジスタの1つ以上の最下位ビットである、請求項6記載のデータ処理装置。
- 実行されるべきプログラム命令ワードを記憶するデータメモリを備えた、請求項1記載のデータ処理装置。
- データ処理装置によって使用される所定の複数の命令セットを切り換える方法であって、
第1命令に応答して、
(i)アドレス部分と命令セット表示部分とを有するあるビットシーケンスにアクセスするステップと、
(ii)該ビットシーケンスの命令セット表示部分に基づいて前記所定の複数の命令セットから選択された命令セットを識別するステップと、
(iii)前記データ処理装置用のカレント命令セットが前記ビットシーケンスの前記命令セット表示部分に基づいて識別された前記命令セットであることを示すように1つ以上の制御フラグをセットするステップと、
前記ビットシーケンスの前記アドレス部分から誘導されたアドレスから第2命令を検索するステップと、
を含み、
前記ビットシーケンスの前記命令セット表示部分によって識別された前記命令セットが、前記ビットシーケンスの前記アドレス部分から誘導された前記アドレスに関連することなく識別可能である、
方法。 - 前記カレント命令セットの命令として前記第2命令を実行するステップを更に含む、請求項15記載の方法。
- 前記所定の複数の命令セットが第1命令セットと第2命令セットとを含み、
前記第1命令セットの命令がXビット命令であり、
前記第2命令セットの命令がYビット命令であり、
YがXと異なる、
請求項15記載の方法。 - Xが32であり、Yが16である、請求項17記載の方法。
- 前記ビットシーケンスの前記命令セット表示部分が、該ビットシーケンスの1つ以上の最下位ビットを含む、請求項15記載の方法。
- 前記ビットシーケンスの前記命令セット表示部分が、該ビットシーケンスの1つ以上の最上位ビットを含む、請求項15記載の方法。
- データ処理装置によって使用される所定の複数の命令セットを切り換える方法であって、
第1命令に応答して、
(i)アドレス部分と命令セット表示部分とを有するあるビットシーケンスにアクセスするステップであって、前記命令セット表示部分が、前記ビットシーケンスの前記アドレス部分の一部でない少なくとも1つのビットを有する、ステップと
(ii)前記ビットシーケンスの前記命令セット表示部分に基づいて前記所定の複数の命令セットから選択された命令セットを識別するステップと、
(iii)前記データ処理装置用のカレント命令セットが前記ビットシーケンスの前記命令セット表示部分に基づいて識別された前記命令セットであることを示すように1つ以上の制御フラグをセットするステップと、
前記ビットシーケンスの前記アドレス部分から誘導されたアドレスから第2命令を検索するステップと、
を含む、方法。 - 前記カレント命令セットの命令として前記第2命令を実行するステップを更に含む、請求項21記載の方法。
- 前記所定の複数の命令セットが第1命令セットと第2命令セットとを含み、
前記第1命令セットの命令がXビット命令であり、
前記第2命令セットの命令がYビット命令であり、
YがXと異なる、
請求項21記載の方法。 - Xが32であり、Yが16である、請求項23記載の方法。
- 前記ビットシーケンスの前記命令セット表示部分が、該ビットシーケンスの1つ以上の最下位ビットを含む、請求項21記載の方法。
- 前記ビットシーケンスの前記命令セット表示部分が、該ビットシーケンスの1つ以上の最上位ビットを含む、請求項21記載の方法。
- 所定の複数の命令セットからの命令を使用して作動することができるデータ処理装置であって、
(i)第1命令のビットシーケンスの命令セット表示部分に応答し、前記ビットシーケンスのアドレス部分から第2命令のアドレスを誘導し、かつ、前記ビットシーケンスの前記命令セット表示部分を使って1つ以上の制御フラグをセットするプロセッサコアと、
(ii)前記1つ以上の制御フラグに応答し、前記1つ以上の制御フラグの状態が前記所定の複数の命令セットから選択されたカレント命令セットを指定し、前記カレント命令セットからの命令として前記第2命令を前記プロセッサコアに実行させる、コントローラと、
を含み、
前記1つ以上の制御フラグが、前記ビットシーケンスの前記アドレス部分から誘導された前記アドレスに関係なくセットされる、
データ処理装置。 - 前記1つ以上の制御フラグが、プログラムカウンタの1つ以上の所定のビットを含む、請求項27記載のデータ処理装置。
- メモリシステムを更に含み、該メモリシステムが前記1つ以上の制御フラグに応答しない、請求項27記載のデータ処理装置。
- メモリシステムを更に含み、該メモリシステムに前記1つ以上の制御フラグが与えられない、請求項27記載のデータ処理装置。
- 所定の複数の命令セットが、第1命令セットと第2命令セットとを含み、
前記第1命令セットの命令がXビット命令であり、
前記第2命令セットの命令がYビット命令であり、
YがXと異なる、
請求項27記載のデータ処理装置。 - Xが32であり、Yが16である、請求項31記載のデータ処理装置。
- 所定の複数の命令セットからの命令を使って作動することができるデータ処理装置であって、
(i)第1命令に応答して、ビットシーケンスにアクセスして第2命令のアドレスを誘導するプロセッサコアであって、前記ビットシーケンスがアドレス部分と命令セット表示部分とを有し、該命令セット表示部分が前記ビットシーケンスの前記アドレス部分の一部でない少なくとも1つのビットを有し、前記第2命令の前記アドレスが前記ビットシーケンスの前記アドレス部分から誘導される、プロセッサコアと、
(ii)前記ビットシーケンスの前記命令セット表示部分を使って1つ以上の制御フラグをセットする前記プロセッサコアであって、該1つ以上の制御フラグの状態が、前記所定の複数の命令セットから選択されたカレント命令セットを指定する、前記プロセッサコアと、
(iii)前記1つ以上の制御フラグに応答して、前記カレント命令セットからの命令として前記第2命令を前記プロセッサコアに実行させるコントローラと、
を含む、データ処理装置。 - 前記1つ以上の制御フラグが、プログラムカウンタの1つ以上の所定のビットを含む、請求項33記載のデータ処理装置。
- メモリシステムを更に含み、該メモリシステムが前記1つ以上の制御フラグに応答しない、請求項33記載のデータ処理装置。
- メモリシステムを更に含み、該メモリシステムに前記1つ以上の制御フラグが与えられない、請求項33記載のデータ処理装置。
- 前記所定の複数の命令セットが、第1命令セットと第2命令セットとを含み、
前記第1命令セットの命令がXビット命令であり、
前記第2命令セットの命令がYビット命令であり、
YがXと異なる、
請求項33記載のデータ処理装置。 - Xが32であり、Yが16である、請求項37記載のデータ処理装置。
- 所定の複数の命令セットからの命令を使用して作動することができるデータ処理装置であって、
(i)第1命令に応答してあるビットシーケンスにアクセスするプロセッサコアであって、前記ビットシーケンスがアドレス部分と命令セット表示部分とを有し、前記プロセッサコアが前記ビットシーケンスの前記アドレス部分から第2命令のアドレスを誘導するとともに、前記ビットシーケンスの前記命令セット表示部分を使って1つ以上の制御フラグをセットする、プロセッサコアと、
(ii)状態が前記所定の複数の命令セットから選択されたカレント命令セットを指定する前記1つ以上の制御フラグに応答して、前記カレント命令セットからの命令として前記第2命令を前記プロセッサコアに実行させるコントローラと、
を含み、
前記1つ以上の制御フラグが、前記ビットシーケンスの前記アドレス部分から誘導された前記アドレスに関係なくセットされる、
データ処理装置。 - 前記1つ以上の制御フラグが、プログラムカウンタの1つ以上の所定のビットを含む、請求項39記載のデータ処理装置。
- メモリシステムを更に含み、該メモリシステムが前記1つ以上の制御フラグに応答しない、請求項39記載のデータ処理装置。
- メモリシステムを更に含み、該メモリシステムに前記1つ以上の制御フラグが与えられない、請求項39記載のデータ処理装置。
- 前記所定の複数の命令セットが第1命令セットと第2命令セットとを含み、
前記第1命令セットの命令がXビット命令であり、
前記第2命令セットの命令がYビット命令であり、
YがXと異なる、
請求項39記載のデータ処理装置。 - Xが32であり、Yが16である、請求項43記載のデータ処理装置。
- 所定の複数の命令セットからの命令を使って作動することができるデータ処理装置であって、
(i)第1命令に応答して、あるビットシーケンスにアクセスして第2命令のアドレスを誘導するプロセッサコアであって、前記ビットシーケンスがアドレス部分と命令セット表示部分とを有し、前記命令セット表示部分が前記ビットシーケンスの前記アドレス部分の一部でない少なくとも1つのビットを有し、前記第2命令の前記アドレスが前記ビットシーケンスの前記アドレス部分から誘導される、プロセッサコアと、
(ii)前記ビットシーケンスの前記命令セット表示部分を使って1つ以上の制御フラグをセットする前記プロセッサコアであって、前記1つ以上の制御フラグの状態が、前記所定の複数の命令セットからのカレント命令セットを指定する、前記プロセッサコアと、
(iii)前記1つ以上の制御フラグに応答して前記カレント命令セットからの命令として前記第2命令を前記プロセッサコアに実行させるコントローラと、
を含む、データ処理装置。 - 前記1つ以上の制御フラグが、プログラムカウンタの1つ以上の所定のビットを含む、請求項45記載のデータ処理装置。
- メモリシステムを更に含み、該メモリシステムが前記1つ以上の制御フラグに応答しない、請求項45記載のデータ処理装置。
- メモリシステムを更に含み、該メモリシステムに前記1つ以上の制御フラグが与えられない、請求項45記載のデータ処理装置。
- 前記所定の複数の命令セットが第1命令セットと第2命令セットとを含み、
前記第1命令セットの命令がXビット命令であり、
前記第2命令セットの命令がYビット命令であり、
YがXと異なる、
請求項45記載のデータ処理装置。 - Xが32であり、Yが16である、請求項49記載のデータ処理装置。
- 所定の複数の命令セットを切り換えることができるデータ処理装置であって、
(i)第1命令に応答してあるビットシーケンスにアクセスする手段であって、前記ビットシーケンスがアドレス部分および命令セット表示部分を有する、手段と、
(ii)前記第1命令に応答して前記ビットシーケンスの前記命令セット表示部分に基づいて前記所定の複数の命令セットから選択された命令セットを識別する手段と、
(iii)前記データ処理装置用のカレント命令セットが前記第1命令に応答して前記ビットシーケンスの前記命令セット表示部分に基づいて識別された前記命令セットであることを表示するように1つ以上の制御フラグをセットする手段と、
(iv)前記第1命令に応答して前記ビットシーケンスの前記アドレス部分から誘導されたアドレスから第2命令を検索する手段と、
を含み、
前記ビットシーケンスの前記命令セット部分によって識別された前記命令セットが、前記ビットシーケンスの前記アドレス部分から誘導された前記アドレスとは関係なく識別可能である、
データ処理装置。 - 前記1つ以上の制御フラグが、プログラムカウンタの1つ以上の所定のビットを含む、請求項51記載のデータ処理装置。
- メモリシステムを更に含み、該メモリシステムが前記1つ以上の制御フラグに応答しない、請求項51記載のデータ処理装置。
- メモリシステムを更に含み、該メモリシステムに前記1つ以上の制御フラグが与えられない、請求項51記載のデータ処理装置。
- 前記所定の複数の命令セットが第1命令セットと第2命令セットとを含み、
前記第1命令セットの命令がXビット命令であり、
前記第2命令セットの命令がYビット命令であり、
YがXと異なる、
請求項51記載のデータ処理装置。 - Xが32であり、Yが16である、請求項55記載のデータ処理装置。
- データ処理装置を作動させる方法であって、
(i)所定の複数の命令セットから選択された第1命令セットから第1命令を受けるステップと、
(ii)前記第1命令を変換して第1のセットの1つ以上の制御信号を発生するステップと、
(iii)前記第1のセットの1つ以上の制御信号に応答してアドレス部分および命令セット表示部分を含むあるビットシーケンスにアクセスするステップであって、前記命令セット表示部分が、前記ビットシーケンスの前記アドレス部分の一部でない少なくとも1つのビットを有する、ステップと、
(iv)前記ビットシーケンスの前記命令セット表示部分の値に基づいて1つの以上の制御フラグをセットして、カレント命令セットが所定の複数の命令セットから選択された第2命令セットであることを指定するステップと、
(v)前記ビットシーケンスの前記アドレス部分から誘導されたアドレスを使って第2命令を検索するステップと、
(vi)前記カレント命令セットからの命令として前記第2命令を変換して第2のセットの1つ以上の制御信号を発生するステップと、
を含む、方法。 - 前記所定の複数の命令セットが2つの命令セットからなる、請求項57記載の方法。
- 前記第1命令セットがXビット命令からなり、
前記第2命令がYビット命令からなり、
YがXと異なる、
請求項57記載の方法。 - 前記第1命令セットがXビット命令からなり、
前記第2命令がYビット命令からなり、
YがXと異なる、
請求項58記載の方法。 - Xが32であり、Yが16である、請求項59記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB94116704 | 1994-06-10 | ||
GB9411670A GB2290395B (en) | 1994-06-10 | 1994-06-10 | Interoperability with multiple instruction sets |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14354495A Division JP3649470B2 (ja) | 1994-06-10 | 1995-06-09 | データ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002328804A JP2002328804A (ja) | 2002-11-15 |
JP3683230B2 true JP3683230B2 (ja) | 2005-08-17 |
Family
ID=10756540
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14354495A Expired - Lifetime JP3649470B2 (ja) | 1994-06-10 | 1995-06-09 | データ処理装置 |
JP2002125731A Expired - Lifetime JP3683230B2 (ja) | 1994-06-10 | 2002-04-26 | データ処理装置、命令セット切換方法、データ処理アーキテクチャおよびデータ処理装置作動方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14354495A Expired - Lifetime JP3649470B2 (ja) | 1994-06-10 | 1995-06-09 | データ処理装置 |
Country Status (3)
Country | Link |
---|---|
US (3) | US5758115A (ja) |
JP (2) | JP3649470B2 (ja) |
GB (2) | GB2307072B (ja) |
Families Citing this family (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2307072B (en) * | 1994-06-10 | 1998-05-13 | Advanced Risc Mach Ltd | Interoperability with multiple instruction sets |
US5758141A (en) * | 1995-02-10 | 1998-05-26 | International Business Machines Corporation | Method and system for selective support of non-architected instructions within a superscaler processor system utilizing a special access bit within a machine state register |
US6408386B1 (en) | 1995-06-07 | 2002-06-18 | Intel Corporation | Method and apparatus for providing event handling functionality in a computer system |
US5774686A (en) * | 1995-06-07 | 1998-06-30 | Intel Corporation | Method and apparatus for providing two system architectures in a processor |
GB2308470B (en) * | 1995-12-22 | 2000-02-16 | Nokia Mobile Phones Ltd | Program memory scheme for processors |
US5867681A (en) * | 1996-05-23 | 1999-02-02 | Lsi Logic Corporation | Microprocessor having register dependent immediate decompression |
US6026486A (en) * | 1996-05-23 | 2000-02-15 | Matsushita Electric Industrial Co., Ltd. | General purpose processor having a variable bitwidth |
US5794010A (en) * | 1996-06-10 | 1998-08-11 | Lsi Logic Corporation | Method and apparatus for allowing execution of both compressed instructions and decompressed instructions in a microprocessor |
US5905893A (en) * | 1996-06-10 | 1999-05-18 | Lsi Logic Corporation | Microprocessor adapted for executing both a non-compressed fixed length instruction set and a compressed variable length instruction set |
US5896519A (en) * | 1996-06-10 | 1999-04-20 | Lsi Logic Corporation | Apparatus for detecting instructions from a variable-length compressed instruction set having extended and non-extended instructions |
DE19629130A1 (de) * | 1996-07-19 | 1998-05-14 | Philips Patentverwaltung | Signalprozessor |
US5930491A (en) * | 1997-06-18 | 1999-07-27 | International Business Machines Corporation | Identification of related instructions resulting from external to internal translation by use of common ID field for each group |
JP3781519B2 (ja) * | 1997-08-20 | 2006-05-31 | 富士通株式会社 | プロセッサの命令制御機構 |
US6438679B1 (en) * | 1997-11-03 | 2002-08-20 | Brecis Communications | Multiple ISA support by a processor using primitive operations |
WO2000008554A1 (en) * | 1998-08-07 | 2000-02-17 | Koninklijke Philips Electronics N.V. | Apparatus with program memory and processor |
US6954923B1 (en) | 1999-01-28 | 2005-10-11 | Ati International Srl | Recording classification of instructions executed by a computer |
US7013456B1 (en) | 1999-01-28 | 2006-03-14 | Ati International Srl | Profiling execution of computer programs |
US6763452B1 (en) | 1999-01-28 | 2004-07-13 | Ati International Srl | Modifying program execution based on profiling |
US8065504B2 (en) * | 1999-01-28 | 2011-11-22 | Ati International Srl | Using on-chip and off-chip look-up tables indexed by instruction address to control instruction execution in a processor |
US7941647B2 (en) | 1999-01-28 | 2011-05-10 | Ati Technologies Ulc | Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination |
US7111290B1 (en) * | 1999-01-28 | 2006-09-19 | Ati International Srl | Profiling program execution to identify frequently-executed portions and to assist binary translation |
US8127121B2 (en) * | 1999-01-28 | 2012-02-28 | Ati Technologies Ulc | Apparatus for executing programs for a first computer architechture on a computer of a second architechture |
US8074055B1 (en) | 1999-01-28 | 2011-12-06 | Ati Technologies Ulc | Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code |
US6779107B1 (en) | 1999-05-28 | 2004-08-17 | Ati International Srl | Computer execution by opportunistic adaptation |
US7103759B1 (en) | 1999-10-28 | 2006-09-05 | Imsys Technologies Ab | Microcontroller architecture supporting microcode-implemented peripheral devices |
US20020004897A1 (en) * | 2000-07-05 | 2002-01-10 | Min-Cheng Kao | Data processing apparatus for executing multiple instruction sets |
US6978309B1 (en) * | 2000-07-31 | 2005-12-20 | Cisco Technology, Inc. | Method and system for reprogramming instructions for a switch |
US6633969B1 (en) | 2000-08-11 | 2003-10-14 | Lsi Logic Corporation | Instruction translation system and method achieving single-cycle translation of variable-length MIPS16 instructions |
GB2367653B (en) * | 2000-10-05 | 2004-10-20 | Advanced Risc Mach Ltd | Restarting translated instructions |
GB2367651B (en) * | 2000-10-05 | 2004-12-29 | Advanced Risc Mach Ltd | Hardware instruction translation within a processor pipeline |
US20020069402A1 (en) * | 2000-10-05 | 2002-06-06 | Nevill Edward Colles | Scheduling control within a system having mixed hardware and software based instruction execution |
US7149878B1 (en) | 2000-10-30 | 2006-12-12 | Mips Technologies, Inc. | Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values |
JP2004519027A (ja) * | 2001-01-30 | 2004-06-24 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 主プロセッサと命令経路コプロセッサとの同期化 |
US7093236B2 (en) | 2001-02-01 | 2006-08-15 | Arm Limited | Tracing out-of-order data |
US7093108B2 (en) * | 2001-02-01 | 2006-08-15 | Arm Limited | Apparatus and method for efficiently incorporating instruction set information with instruction addresses |
CN1231837C (zh) * | 2001-04-11 | 2005-12-14 | 皇家菲利浦电子有限公司 | 带有分支机构的仿真协处理器 |
US7711926B2 (en) * | 2001-04-18 | 2010-05-04 | Mips Technologies, Inc. | Mapping system and method for instruction set processing |
DE10120522A1 (de) * | 2001-04-26 | 2002-11-07 | Infineon Technologies Ag | Verfahren zum Erkennen einer korrekten Befehls-Einsprung-Adresse bei Verwendung unterschiedlich langer Befehlsworte |
GB2376097B (en) | 2001-05-31 | 2005-04-06 | Advanced Risc Mach Ltd | Configuration control within data processing systems |
GB2376098B (en) * | 2001-05-31 | 2004-11-24 | Advanced Risc Mach Ltd | Unhandled operation handling in multiple instruction set systems |
US6826681B2 (en) * | 2001-06-18 | 2004-11-30 | Mips Technologies, Inc. | Instruction specified register value saving in allocated caller stack or not yet allocated callee stack |
JP3578735B2 (ja) * | 2001-08-02 | 2004-10-20 | 松下電器産業株式会社 | 情報処理装置及び情報処理方法 |
US7107439B2 (en) * | 2001-08-10 | 2006-09-12 | Mips Technologies, Inc. | System and method of controlling software decompression through exceptions |
US20070005942A1 (en) * | 2002-01-14 | 2007-01-04 | Gil Vinitzky | Converting a processor into a compatible virtual multithreaded processor (VMP) |
WO2004049152A1 (en) * | 2002-11-26 | 2004-06-10 | Mplicity Ltd. | A processor capable of multi-threaded execution of a plurality of instruction-sets |
JP3805314B2 (ja) | 2003-02-27 | 2006-08-02 | Necエレクトロニクス株式会社 | プロセッサ |
EP1687713A1 (en) * | 2003-10-24 | 2006-08-09 | Microchip Technology Incorporated | Method and system for alternating instructions sets in a central processing unit |
US7707389B2 (en) | 2003-10-31 | 2010-04-27 | Mips Technologies, Inc. | Multi-ISA instruction fetch unit for a processor, and applications thereof |
US9189230B2 (en) * | 2004-03-31 | 2015-11-17 | Intel Corporation | Method and system to provide concurrent user-level, non-privileged shared resource thread creation and execution |
US20060174089A1 (en) * | 2005-02-01 | 2006-08-03 | International Business Machines Corporation | Method and apparatus for embedding wide instruction words in a fixed-length instruction set architecture |
US7769983B2 (en) * | 2005-05-18 | 2010-08-03 | Qualcomm Incorporated | Caching instructions for a multiple-state processor |
GB2435116B (en) * | 2006-02-10 | 2010-04-07 | Imagination Tech Ltd | Selecting between instruction sets in a microprocessors |
US7500210B2 (en) * | 2006-11-15 | 2009-03-03 | Mplicity Ltd. | Chip area optimization for multithreaded designs |
US7711927B2 (en) * | 2007-03-14 | 2010-05-04 | Qualcomm Incorporated | System, method and software to preload instructions from an instruction set other than one currently executing |
US7836285B2 (en) * | 2007-08-08 | 2010-11-16 | Analog Devices, Inc. | Implementation of variable length instruction encoding using alias addressing |
US20090044159A1 (en) * | 2007-08-08 | 2009-02-12 | Mplicity Ltd. | False path handling |
TW200910195A (en) | 2007-08-20 | 2009-03-01 | Sunplus Technology Co Ltd | A device of using serial bits to determine instruction length at a multi-mode processor and the method thereof |
CN101377735B (zh) * | 2007-08-28 | 2011-09-28 | 凌阳科技股份有限公司 | 于多模处理器中以串行位决定指令长度的装置及方法 |
TWI379230B (en) * | 2008-11-14 | 2012-12-11 | Realtek Semiconductor Corp | Instruction mode identification apparatus and instruction mode identification method |
GB2484489A (en) * | 2010-10-12 | 2012-04-18 | Advanced Risc Mach Ltd | Instruction decoder using an instruction set identifier to determine the decode rules to use. |
JP2012188255A (ja) * | 2011-03-11 | 2012-10-04 | Murata Machinery Ltd | 糸巻き取り装置 |
US8914615B2 (en) | 2011-12-02 | 2014-12-16 | Arm Limited | Mapping same logical register specifier for different instruction sets with divergent association to architectural register file using common address format |
CN104424128B (zh) * | 2013-08-19 | 2019-12-13 | 上海芯豪微电子有限公司 | 变长指令字处理器系统和方法 |
US9727353B2 (en) * | 2015-10-30 | 2017-08-08 | International Business Machines Corporation | Simultaneously capturing status information for multiple operating modes |
GB2563580B (en) * | 2017-06-15 | 2019-09-25 | Advanced Risc Mach Ltd | An apparatus and method for controlling a change in instruction set |
GB2564130B (en) * | 2017-07-04 | 2020-10-07 | Advanced Risc Mach Ltd | An apparatus and method for controlling execution of instructions |
US11249760B2 (en) | 2019-04-10 | 2022-02-15 | International Business Machines Corporation | Parameter management between programs |
US11500653B2 (en) | 2020-02-05 | 2022-11-15 | International Business Machines Corporation | Signal handling between programs associated with different addressing modes |
US11294695B2 (en) | 2020-05-28 | 2022-04-05 | International Business Machines Corporation | Termination of programs associated with different addressing modes |
US11947993B2 (en) | 2021-06-22 | 2024-04-02 | International Business Machines Corporation | Cooperative input/output of address modes for interoperating programs |
RU209758U1 (ru) * | 2021-06-25 | 2022-03-22 | федеральное государственное бюджетное образовательное учреждение высшего образования "Российский государственный университет им. А.Н. Косыгина (Технологии. Дизайн. Искусство)" | Устройство для управления разрядностью вычислений |
Family Cites Families (86)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5240826A (en) | 1975-09-29 | 1977-03-30 | Tokico Ltd | Emergent oreration valve |
JPS5849881B2 (ja) | 1975-12-05 | 1983-11-07 | 株式会社日立製作所 | デ−タシヨリソウチ |
JPS5317240A (en) * | 1976-07-31 | 1978-02-17 | Toshiba Corp | Controller |
US4217638A (en) | 1977-05-19 | 1980-08-12 | Tokyo Shibaura Electric Co., Ltd. | Data-processing apparatus and method |
US4236204A (en) | 1978-03-13 | 1980-11-25 | Motorola, Inc. | Instruction set modifier register |
US4338663A (en) * | 1978-10-25 | 1982-07-06 | Digital Equipment Corporation | Calling instructions for a data processing system |
US4346437A (en) | 1979-08-31 | 1982-08-24 | Bell Telephone Laboratories, Incorporated | Microcomputer using a double opcode instruction |
US4554627A (en) | 1980-04-25 | 1985-11-19 | Data General Corporation | Data processing system having a unique micro-sequencing system |
US4398243A (en) | 1980-04-25 | 1983-08-09 | Data General Corporation | Data processing system having a unique instruction processor system |
US4434459A (en) | 1980-04-25 | 1984-02-28 | Data General Corporation | Data processing system having instruction responsive apparatus for both a basic and an extended instruction set |
US4434461A (en) | 1980-09-15 | 1984-02-28 | Motorola, Inc. | Microprocessor with duplicate registers for processing interrupts |
JPS5757345A (en) | 1980-09-24 | 1982-04-06 | Toshiba Corp | Data controller |
JPS583040A (ja) * | 1981-06-30 | 1983-01-08 | Nec Corp | 情報処理装置 |
JPS58144272A (ja) | 1982-02-19 | 1983-08-27 | Sony Corp | デイジタル信号処理装置 |
US4931989A (en) | 1982-02-22 | 1990-06-05 | International Business Machines Corporation | Microword generation mechanism utilizing a separate programmable logic array for first microwords |
US4685080A (en) | 1982-02-22 | 1987-08-04 | International Business Machines Corp. | Microword generation mechanism utilizing separate programmable logic arrays for first and second microwords |
JPS58155457A (ja) | 1982-03-10 | 1983-09-16 | Nec Corp | 情報処理装置 |
US4514803A (en) | 1982-04-26 | 1985-04-30 | International Business Machines Corporation | Methods for partitioning mainframe instruction sets to implement microprocessor based emulation thereof |
US4587612A (en) * | 1982-10-22 | 1986-05-06 | International Business Machines Corporation | Accelerated instruction mapping external to source and target instruction streams for near realtime injection into the latter |
US4876639A (en) * | 1983-09-20 | 1989-10-24 | Mensch Jr William D | Method and circuitry for causing sixteen bit microprocessor to execute eight bit op codes to produce either internal sixteen bit operation or internal eight bit operation in accordance with an emulation bit |
EP0163096B1 (de) | 1984-04-26 | 1988-11-17 | BBC Brown Boveri AG | Einrichtung zur Rettung eines Rechnerzustandes |
JPS6133546A (ja) * | 1984-07-25 | 1986-02-17 | Nec Corp | 情報処理装置 |
US4870614A (en) | 1984-08-02 | 1989-09-26 | Quatse Jesse T | Programmable controller ("PC") with co-processing architecture |
US4695943A (en) | 1984-09-27 | 1987-09-22 | Honeywell Information Systems Inc. | Multiprocessor shared pipeline cache memory with split cycle and concurrent utilization |
EP0476722B1 (en) * | 1985-04-08 | 1997-02-26 | Hitachi, Ltd. | Data processing system |
JPH07109589B2 (ja) | 1985-07-25 | 1995-11-22 | 日本電気株式会社 | 命令処理方式 |
JPS62151938A (ja) | 1985-12-25 | 1987-07-06 | Nec Corp | 命令処理方式 |
JPS62262146A (ja) | 1986-05-09 | 1987-11-14 | Hitachi Ltd | 処理装置 |
JPS63111533A (ja) | 1986-10-29 | 1988-05-16 | Nec Corp | ワンチツプマイクロコンピユ−タ |
EP0266800B1 (en) | 1986-11-07 | 1995-03-15 | Nec Corporation | Data processor having different interrupt processing modes |
IT1207346B (it) | 1987-01-20 | 1989-05-17 | Cselt Centro Studi Lab Telecom | Sformata coseno discreta a coeffi circuito per il calcolo della tra cienti quantizzati di campioni di segnale numerico |
JPS647129A (en) | 1987-06-30 | 1989-01-11 | Nippon Denso Co | Microprocessor |
JP2609618B2 (ja) | 1987-08-13 | 1997-05-14 | 株式会社東芝 | データ処理装置 |
JP2845433B2 (ja) * | 1987-09-07 | 1999-01-13 | 日本電気株式会社 | 集積回路装置 |
US5115500A (en) * | 1988-01-11 | 1992-05-19 | International Business Machines Corporation | Plural incompatible instruction format decode method and apparatus |
US5148536A (en) | 1988-07-25 | 1992-09-15 | Digital Equipment Corporation | Pipeline having an integral cache which processes cache misses and loads data in parallel |
JP2858140B2 (ja) * | 1988-10-19 | 1999-02-17 | アポロ・コンピューター・インコーポレーテッド | パイプラインプロセッサ装置および方法 |
EP0407911B1 (en) * | 1989-07-07 | 1998-12-09 | Hitachi, Ltd. | Parallel processing apparatus and parallel processing method |
JPH03150633A (ja) | 1989-11-07 | 1991-06-27 | Matsushita Electric Ind Co Ltd | 命令解読装置 |
US5276824A (en) | 1990-01-08 | 1994-01-04 | Motorola, Inc. | Data processor having a multi-stage instruction pipe and selection logic responsive to an instruction decoder for selecting one stage of the instruction pipe |
EP0442041A3 (en) | 1990-01-18 | 1991-09-04 | National Semiconductor Corporation | Integrated digital signal processor/general purpose cpu with shared internal memory |
US5187791A (en) | 1990-01-26 | 1993-02-16 | Apple Computer, Inc. | Microprocessor with improved interrupt response with data saving dependent upon processor status using status flag |
JPH0476626A (ja) | 1990-07-13 | 1992-03-11 | Toshiba Corp | マイクロコンピュータ |
JPH0689269A (ja) * | 1991-02-13 | 1994-03-29 | Hewlett Packard Co <Hp> | プロセッサの制御装置、プロセッサの休止装置およびそれらの方法 |
EP0871108B1 (en) * | 1991-03-11 | 2000-09-13 | MIPS Technologies, Inc. | Backward-compatible computer architecture with extended word size and address space |
US5363322A (en) | 1991-04-02 | 1994-11-08 | Motorola, Inc. | Data processor with an integer multiplication function on a fractional multiplier |
US5303378A (en) | 1991-05-21 | 1994-04-12 | Compaq Computer Corporation | Reentrant protected mode kernel using virtual 8086 mode interrupt service routines |
US5327566A (en) * | 1991-07-12 | 1994-07-05 | Hewlett Packard Company | Stage saving and restoring hardware mechanism |
DE69228980T2 (de) | 1991-12-06 | 1999-12-02 | National Semiconductor Corp., Santa Clara | Integriertes Datenverarbeitungssystem mit CPU-Kern und unabhängigem parallelen, digitalen Signalprozessormodul |
GB2263565B (en) * | 1992-01-23 | 1995-08-30 | Intel Corp | Microprocessor with apparatus for parallel execution of instructions |
JPH05265751A (ja) | 1992-03-17 | 1993-10-15 | Nec Corp | データ処理装置 |
JPH0612229A (ja) | 1992-06-10 | 1994-01-21 | Nec Corp | 乗累算回路 |
US5353420A (en) | 1992-08-10 | 1994-10-04 | Intel Corporation | Method and apparatus for decoding conditional jump instructions in a single clock in a computer processor |
JPH0683615A (ja) | 1992-09-02 | 1994-03-25 | Fujitsu Ltd | 命令セットエミュレーションを行う計算機 |
US5386563A (en) | 1992-10-13 | 1995-01-31 | Advanced Risc Machines Limited | Register substitution during exception processing |
US5392408A (en) * | 1993-09-20 | 1995-02-21 | Apple Computer, Inc. | Address selective emulation routine pointer address mapping system |
US5689672A (en) | 1993-10-29 | 1997-11-18 | Advanced Micro Devices, Inc. | Pre-decoded instruction cache and method therefor particularly suitable for variable byte-length instructions |
EP0651320B1 (en) | 1993-10-29 | 2001-05-23 | Advanced Micro Devices, Inc. | Superscalar instruction decoder |
US5574928A (en) * | 1993-10-29 | 1996-11-12 | Advanced Micro Devices, Inc. | Mixed integer/floating point processor core for a superscalar microprocessor with a plurality of operand buses for transferring operand segments |
GB2284492B (en) | 1993-12-06 | 1998-05-13 | Graeme Roy Smith | Improvements to computer control units |
US5781750A (en) * | 1994-01-11 | 1998-07-14 | Exponential Technology, Inc. | Dual-instruction-set architecture CPU with hidden software emulation mode |
US5542059A (en) | 1994-01-11 | 1996-07-30 | Exponential Technology, Inc. | Dual instruction set processor having a pipeline with a pipestage functional unit that is relocatable in time and sequence order |
US5481684A (en) * | 1994-01-11 | 1996-01-02 | Exponential Technology, Inc. | Emulating operating system calls in an alternate instruction set using a modified code segment descriptor |
US5630083A (en) | 1994-03-01 | 1997-05-13 | Intel Corporation | Decoder for decoding multiple instructions in parallel |
US5416739A (en) | 1994-03-17 | 1995-05-16 | Vtech Computers, Ltd. | Cache control apparatus and method with pipelined, burst read |
GB9406666D0 (en) | 1994-04-05 | 1994-05-25 | Communicate Ltd | Computer system |
JPH07281890A (ja) | 1994-04-06 | 1995-10-27 | Mitsubishi Electric Corp | 命令セット及びそのマイクロコンピュータによる実行方法 |
GB2289353B (en) | 1994-05-03 | 1997-08-27 | Advanced Risc Mach Ltd | Data processing with multiple instruction sets |
GB2289354B (en) * | 1994-05-03 | 1997-08-27 | Advanced Risc Mach Ltd | Multiple instruction set mapping |
GB2307072B (en) * | 1994-06-10 | 1998-05-13 | Advanced Risc Mach Ltd | Interoperability with multiple instruction sets |
US5692152A (en) | 1994-06-29 | 1997-11-25 | Exponential Technology, Inc. | Master-slave cache system with de-coupled data and tag pipelines and loop-back |
GB2291515B (en) | 1994-07-14 | 1998-11-18 | Advanced Risc Mach Ltd | Data processing using multiply-accumulate instructions |
US5481693A (en) * | 1994-07-20 | 1996-01-02 | Exponential Technology, Inc. | Shared register architecture for a dual-instruction-set CPU |
ATE319229T1 (de) | 1994-07-21 | 2006-03-15 | Interdigital Tech Corp | Schaltung und verfahren zur stromverbrauchsregelung für ein kommunikationsendgerät |
US5600845A (en) | 1994-07-27 | 1997-02-04 | Metalithic Systems Incorporated | Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor |
US5598546A (en) * | 1994-08-31 | 1997-01-28 | Exponential Technology, Inc. | Dual-architecture super-scalar pipeline |
US5642516A (en) | 1994-10-14 | 1997-06-24 | Cirrus Logic, Inc. | Selective shadowing of registers for interrupt processing |
US6496922B1 (en) * | 1994-10-31 | 2002-12-17 | Sun Microsystems, Inc. | Method and apparatus for multiplatform stateless instruction set architecture (ISA) using ISA tags on-the-fly instruction translation |
US5671422A (en) | 1994-11-14 | 1997-09-23 | Intel Corporation | Method and apparatus for switching between the modes of a processor |
US5638525A (en) * | 1995-02-10 | 1997-06-10 | Intel Corporation | Processor capable of executing programs that contain RISC and CISC instructions |
US5701493A (en) | 1995-08-03 | 1997-12-23 | Advanced Risc Machines Limited | Exception handling method and apparatus in data processing systems |
US5664147A (en) | 1995-08-24 | 1997-09-02 | International Business Machines Corp. | System and method that progressively prefetches additional lines to a distributed stream buffer as the sequentiality of the memory accessing is demonstrated |
US5930490A (en) | 1996-01-02 | 1999-07-27 | Advanced Micro Devices, Inc. | Microprocessor configured to switch instruction sets upon detection of a plurality of consecutive instructions |
US5784636A (en) | 1996-05-28 | 1998-07-21 | National Semiconductor Corporation | Reconfigurable computer architecture for use in signal processing applications |
US5968161A (en) | 1996-08-29 | 1999-10-19 | Altera Corporation | FPGA based configurable CPU additionally including second programmable section for implementation of custom hardware support |
US5970254A (en) | 1997-06-27 | 1999-10-19 | Cooke; Laurence H. | Integrated processor and programmable data path chip for reconfigurable computing |
-
1994
- 1994-06-10 GB GB9702595A patent/GB2307072B/en not_active Expired - Lifetime
- 1994-06-10 GB GB9411670A patent/GB2290395B/en not_active Expired - Lifetime
-
1995
- 1995-06-07 US US08/477,781 patent/US5758115A/en not_active Expired - Lifetime
- 1995-06-09 JP JP14354495A patent/JP3649470B2/ja not_active Expired - Lifetime
-
1997
- 1997-04-14 US US08/840,557 patent/US6021265A/en not_active Ceased
-
2002
- 2002-02-01 US US10/066,475 patent/USRE43248E1/en not_active Expired - Lifetime
- 2002-04-26 JP JP2002125731A patent/JP3683230B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
GB2290395B (en) | 1997-05-28 |
JPH0844557A (ja) | 1996-02-16 |
USRE43248E1 (en) | 2012-03-13 |
GB2307072A (en) | 1997-05-14 |
GB2307072B (en) | 1998-05-13 |
US5758115A (en) | 1998-05-26 |
GB9702595D0 (en) | 1997-03-26 |
JP3649470B2 (ja) | 2005-05-18 |
JP2002328804A (ja) | 2002-11-15 |
GB2290395A (en) | 1995-12-20 |
US6021265A (en) | 2000-02-01 |
GB9411670D0 (en) | 1994-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3683230B2 (ja) | データ処理装置、命令セット切換方法、データ処理アーキテクチャおよびデータ処理装置作動方法 | |
EP0415461B1 (en) | Central processing unit supporting variable length instructions | |
RU2137183C1 (ru) | Устройство и способ обработки данных с использованием наборов команд | |
US4679140A (en) | Data processor with control of the significant bit lengths of general purpose registers | |
EP0689128B1 (en) | Computer instruction compression | |
US4574349A (en) | Apparatus for addressing a larger number of instruction addressable central processor registers than can be identified by a program instruction | |
US5944841A (en) | Microprocessor with built-in instruction tracing capability | |
US6654875B1 (en) | Dual microcode RAM address mode instruction execution using operation code RAM storing control words with alternate address indicator | |
EP0730226A2 (en) | Hardware support for fast software emulation of unimplemented instructions | |
US5455955A (en) | Data processing system with device for arranging instructions | |
JPH0429093B2 (ja) | ||
US7447871B2 (en) | Data access program instruction encoding | |
US6611909B1 (en) | Method and apparatus for dynamically translating program instructions to microcode instructions | |
US6338134B1 (en) | Method and system in a superscalar data processing system for the efficient processing of an instruction by moving only pointers to data | |
JP2889845B2 (ja) | 情報処理装置 | |
EP0349124B1 (en) | Operand specifier processing | |
GB2024475A (en) | Memory access controller | |
US4812971A (en) | Central processing unit for a digital computer | |
JPH0682320B2 (ja) | データ処理装置 | |
EP0338317B1 (en) | Information processor operative both in direct mapping and in bank mapping and the method of switching the mapping schemes | |
US5274776A (en) | Information processing system having mode signal holding means and selecting operand access mode based on mode signal indicating type of currently executed instruction | |
US4893235A (en) | Central processing unit for a digital computer | |
US5404471A (en) | Method and apparatus for switching address generation modes in CPU having plural address generation modes | |
EP0061586A2 (en) | Data processing apparatus with extended general purpose registers | |
JPH0668724B2 (ja) | シミユレーシヨン方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040818 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040903 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20041203 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20041208 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050302 |
|
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: 20050426 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050524 |
|
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: 20090603 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100603 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110603 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110603 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120603 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120603 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130603 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |