JP3616556B2 - 拡張命令を処理する並列プロセッサ - Google Patents
拡張命令を処理する並列プロセッサ Download PDFInfo
- Publication number
- JP3616556B2 JP3616556B2 JP2000191604A JP2000191604A JP3616556B2 JP 3616556 B2 JP3616556 B2 JP 3616556B2 JP 2000191604 A JP2000191604 A JP 2000191604A JP 2000191604 A JP2000191604 A JP 2000191604A JP 3616556 B2 JP3616556 B2 JP 3616556B2
- Authority
- JP
- Japan
- Prior art keywords
- operation mode
- instruction
- processing unit
- unit
- arithmetic processing
- 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 claims description 19
- 230000008569 process Effects 0.000 claims description 18
- 238000010977 unit operation Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 16
- 230000008859 change Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004148 unit process 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/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/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- 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
-
- 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
- G06F9/3853—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
-
- 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/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
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
【発明の属する技術分野】
本発明は、プロセッサ装置およびこのプロセッサ装置を搭載するコンピュータシステムに関する。特に、複数のオペレーションを一サイクルで処理することができる、複数のプロセッサを具備する並列プロセッサにおいて、コプロセッサを並列に動作させない単一のオペレーションの処理モードの際の命令についての命令利用効率を向上させるための技術に関する。
【0002】
【従来の技術】
従来より、複数のオペレーション命令を一クロックサイクルで処理するマルチプル・パラレルプロセッサが実用化されている。図1は、このマルチプル・パラレル・プロセッサの概略構成を示すブロック図である。プロセッサ装置20は、メモリからのデータ転送、実行フローの制御を主に行う整数処理ユニット1と、拡張命令で規定されるデータ処理を主に行う、1または複数のデータ処理ユニット2から成る。整数処理ユニット1は、主に加算・減算命令、分岐命令、データメモリに対するロード命令、データの読み出し/書き込み命令の処理などを行ない、一方データ処理ユニット2は、例えばSIMD(Single Instruction stream Multiple Data stream)命令などの拡張命令で規定される演算などのデータ処理を、整数処理ユニット1と並列に行う。
【0003】
整数処理ユニット1とデータ処理ユニット2とを同時に稼働させることにより、一クロックサイクルで2個以上のオペレーション命令を同時並列的に実行することができる。
【0004】
このプロセッサ装置20を動作させる命令フォーマットは、例えば図2に示すように、整数処理ユニット1の動作を規定する命令部71と、データ処理ユニット2の動作を規定する命令部72とから成る。これら命令71,72は、例えば、それぞれ32ビットの命令からなる。
【0005】
【発明が解決しようとする課題】
しかしながら、従来のマルチプル・パラレル・プロセッサ装置20には、以下の問題点があった。すなわち、上記のようなプロセッサ装置20に実行させるべきプログラムの命令列中には、拡張命令であっても整数処理ユニット1のみを動作させる単一オペレーション処理を規定する命令が多く含まれている。このような単一オペレーション処理に対応する命令フォーマットについて、従来のプロセッサ20装置においては、図2に示す命令フォーマット中のデータ処理ユニット2の動作を規定する部分72には、何も動作をさせないという命令(ノーオペレーション命令:NOP命令)を埋め込む必要があった。これにより、特に拡張命令の場合の命令の利用効率が悪くなり、命令を格納する命令メモリの容量を大きくしてしまうという不具合が生じていた。
【0006】
本発明は、従来技術における、マルチプル・パラレル・プロセッサにおいて、単一のオペレーションを処理する際の拡張命令の利用効率が非効率的であり、命令を格納する命令メモリの容量が増大していたという問題点を解決するためになされたものである。
【0007】
そして、その目的とするところは、一サイクルで複数のオペレーションを処理可能なマルチプル・パラレル・プロセッサにおいて、単一のオペレーションを処理する動作モードの際には、他のデータ処理ユニット(コプロセッサ)の動作を停止する制御信号を生成し、該他のデータ処理ユニットに送出することにより、命令メモリの使用効率を向上させることによって、拡張命令の利用効率を高めた並列プロセッサを提供する点にある。
【0008】
【課題を解決するための手段】
本発明の第1の特徴は、複数の演算命令を一クロックサイクル内で並列に処理する並列プロセッサであって、第1の演算処理ユニットと、少なくとも1以上の第2の演算処理ユニットとを具備し、前記第1の演算処理ユニットは、前記第2の演算ユニットに演算命令を並列に処理させるか否かを示すとともに、前記第1の演算処理ユニットのみを動作させる第1の動作モードと、前記第1の演算処理ユニットを動作させるとともに前記第2の演算処理ユニットを動作させる第2の動作モードを持つ動作モードを保持する動作モード保持部と、前記動作モードに基づいて、前記動作モードが第1の動作モードの場合には、前記第1の演算処理ユニットに、該第1の演算処理ユニットの動作を規定する命令列を供給するとともに、前記第2の演算処理ユニットに、該第2の演算処理ユニットの処理を停止する制御信号を生成および供給する制御部と、入力されデコードされた命令に基づいて、前記動作モードを切り替える命令実行部を含み、前記制御部は、前記第1の動作モードの命令については、命令メモリに保持される命令列に前記第2の演算処理ユニットの動作を規定する命令を埋め込むことなく、前記第2の演算処理ユニットを動作させないことを特徴とする並列プロセッサを提供する点にある。
【0009】
本発明の第2の特徴は、前記制御部は、前記動作モードが前記第2の動作モードの場合には、前記第1の演算処理ユニットに該第1の演算処理ユニットの動作を規定する命令列を供給するとともに、前記第2の演算処理ユニットに該第2の演算処理ユニットの動作を規定する命令列を供給する点にある。
【0010】
本発明の第3の特徴は、前記制御信号は、ノーオペレーション命令である点にある。
【0011】
本発明の第4の特徴は、前記第1の動作モードの際には、前記命令メモリに保持される命令列は、前記第1の演算処理ユニットの動作を規定する命令のみを含む点にある。
【0012】
本発明の第5の特徴は、前記制御部は、さらに、前記ノーオペレーション命令を保持するノーオペレーション命令保持部を具備し、前記第1の動作モードの際には、前記命令メモリに保持される命令列は、常に複数の命令を含む点にある。
【0013】
本発明の第6の特徴は、前記制御信号は、前記第2の演算処理ユニットへのクロックの供給を停止する信号である点にある。
【0014】
本発明の第7の特徴は、前記制御信号は、前記第2の演算処理ユニットの無効化信号である点にある。
【0015】
本発明の第8の特徴は、前記命令実行部は、動作モード切替を指示するサブルーチンコール命令の実行によって、前記動作モード保持部に保持される動作モードを切り替える点にある。
【0016】
本発明の第9の特徴は、前記動作モード保持部は、動作モードレジスタであって、前記制御部は、さらに、前記サブルーチンコール命令からのリターンアドレスを保持する第1のリターンアドレスレジスタを具備し、前記命令実行部は、前記サブルーチンコール命令の実行時には、前記動作モードレジスタの値を反転することにより、前記動作モードを切り替えるとともに、動作モードの反転を示す情報を前記第1のリターンアドレスレジスタに設定し、前記サブルーチンコール命令からの復帰時には、前記第1のリターンアドレスレジスタに設定された前記動作モードの反転を示す情報を参照して、反転が設定されている場合には前記動作モードレジスタの値を反転することにより元の動作モードに復帰する点にある。
【0017】
本発明の第10の特徴は、前記命令実行部は、例外処理の発生によって、前記動作モード保持部に保持される動作モードを切り替える点にある。
【0018】
本発明の第11の特徴は、前記動作モード保持部は、動作モードレジスタであって、前記制御部は、さらに、前記例外処理を行う例外プログラムからのリターンアドレスを保持する第2のリターンアドレスレジスタを具備し、前記命令実行部は、前記例外処理の発生時には、前記動作モードレジスタの値を反転することにより、前記動作モードを切り替えるとともに、動作モードの反転を示す情報を前記第2のリターンアドレスレジスタに設定し、前記例外処理からの復帰時には、前記第2のリターンアドレスレジスタに設定された前記動作モードの反転を示す情報を参照して、反転が設定されている場合には前記動作モードレジスタの値を反転することにより元の動作モードに復帰する点にある。
【0019】
本発明の第12の特徴は、前記命令実行部は、ジャンプ命令中に規定されるジャンプアドレスの一部に含まれる動作モードの反転を示す情報に従って、前記動作モード保持部の値を反転することにより、前記動作モードを切り替える点にある。
【0020】
本発明の第13の特徴は、前記第2の演算処理ユニットは、複数のコプロセッサであって、前記制御部は、前記第1の動作モードでは、前記第1の演算処理ユニット以外のすべてのコプロセッサへのクロックを停止することによって、前記第1の演算処理ユニットのみを動作させる点にある。
【0021】
本発明の第14の特徴は、上記並列プロセッサは、さらに、複数の前記第2の演算処理ユニットのいずれに演算命令を並列に処理させるかを示す拡張動作モードを保持する拡張動作モード保持部を具備し、前記制御部は、前記拡張動作モードに基づいて、複数の第2の演算処理ユニットのうち、前記拡張動作モードに示される第2の演算処理ユニット以外の第2の演算処理ユニットに、前記制御信号を供給する点にある。
【0022】
本発明の第15の特徴は、複数の演算命令を一サイクル内で並列に処理する並列プロセッサを搭載するコンピュータシステムであって、第1の演算処理ユニットと、少なくとも1以上の第2の演算処理ユニットと、メインメモリとを具備し、前記第1の演算処理ユニットは、前記第2の演算ユニットに演算命令を並列に処理させるか否かを示し、前記第1の演算処理ユニットのみを動作させる第1の動作モードと、前記第1の演算処理ユニットを動作させるとともに前記第2の演算処理ユニットを動作させる第2の動作モードを持つ動作モードを保持する動作モード保持部と、前記動作モードに基づいて、前記動作モードが第1の動作モードの場合には、前記第1の演算処理ユニットに、該第1の演算処理ユニットの動作を規定する命令列を供給するとともに、前記第2の演算処理ユニットに、該第2の演算処理ユニットの処理を停止する制御信号を生成および供給する制御部と、入力されデコードされた命令に基づいて、前記動作モードを切り替える命令実行部とを含み、前記第1の動作モードの命令については、命令メモリに保持される命令列に前記第2の演算処理ユニットの動作を規定する命令を埋め込むことなく、前記第2の演算処理ユニットを動作させないことを特徴とするコンピュータシステムを提供する点にある。
【0023】
【発明の実施の形態】
第1の実施の形態
以下、本発明の第1の実施形態について、図面を参照しながら詳細に説明する。
【0024】
第1の実施形態は、一クロックサイクルで複数のオペレーションを処理可能なマルチプル・パラレル・プロセッサ装置において、データ処理ユニットを並列に稼働させるか否かを示す動作モードを設け、この動作モードに基づき単一オペレーションモードの場合に、ノーオペレーション命令を生成およびこれをデータ処理ユニットに送出することによりこのデータ処理ユニットを処理停止状態にする機能を提供する。
【0025】
図3は、本発明の第1の実施の形態に係る並列プロセッサ装置の概略構成を示すブロック図である。マルチプル・パラレル・プロセッサ装置(以下、単にプロセッサ装置という)10は、整数処理ユニット11とデータ処理ユニット12から成る。
【0026】
さらに、プロセッサ装置10は、バスあるいはネットワークを経由してメインメモリ10bおよび入出力コントローラ10cとそれぞれ接続され、コンピュータシステムを構成する。
【0027】
整数処理ユニット11は、命令アドレス生成部111と、命令メモリ部112と、命令レジスタ部113と、デコード部114と、動作モードコントロール部115と、命令実行部116と、データメモリコントロール部117とを具備し、主に、メモリからのデータ転送、実行フローの制御を行う。
【0028】
尚、動作モードコントロール部115および命令レジスタ部113は、請求項における制御部に対応する。
【0029】
データ処理ユニット12は、データ処理ユニットの命令デコード部121、命令実行部122とを具備し、主に演算処理などのデータ処理を行う。尚、このデータ処理ユニット12は、1つの整数処理ユニット11に対して複数設けられていてもよい。
【0030】
プロセッサ装置10は、▲1▼整数処理ユニット動作モードと▲2▼並列処理動作モードとの2つのモードで動作する。整数処理ユニット動作モード時、プロセッサ装置10は、整数処理ユニット11のみを使用して動作する。他方、並列処理動作モード時、プロセッサ10は、整数処理ユニット11とデータ処理ユニット12の両方を同時並列的に使用して動作する。
【0031】
動作モードコントロール部115は、現在の動作モードを示す動作モードレジスタ1151を有し、このレジスタ1151の値によって動作モードを変える。この動作モードは、データ処理ユニットに演算命令を並列に処理させるか否かを示す。例えば、動作モードレジスタ1151の値“0”は整数処理ユニット動作モードを示し、反転である“1”は並列処理動作モードを示す。
【0032】
動作モードコントロール部115は、動作モードレジスタ1151と、例外プログラムカウンタレジスタ1152と、リターンアドレスレジスタ1153とを具備する。これらレジスタの動作については後述する。
【0033】
図4は、図3に示した命令アドレス生成部111の詳細構成の一例を示した回路図である。命令アドレス生成部111は、セレクタ1111と、命令アドレスレジスタ1112と、加算器1113とを具備し、命令実行部116からの分岐先/例外先アドレス70、及び動作モードコントロール部115からの命令アドレス変更信号50を入力して、命令アドレス信号90を出力する。
【0034】
図5は、図3に示した命令レジスタ部113の詳細構成の一例を示した回路図である。命令レジスタ部113は、セレクタ1131〜1133及びレジスタ1134を具備する。レジスタ1134には、整数処理ユニット命令か、又は整数処理ユニット命令及びデータ処理ユニット命令が保持される。動作モードコントロール部115から動作モードに基づき出力される命令出力制御信号60に従い、整数処理ユニット命令をデコード部114に出力するとともに命令出力制御信号を命令の有効化信号としてデータ処理ユニット12に出力するか、或いは整数処理ユニット命令をデコード部114に出力するとともにデータ処理ユニット命令をデータ処理ユニット12に出力する。
【0035】
尚、動作モードが単一オペレーションモード(第1の実施形態では整数処理ユニット動作モード)の場合に、データ処理ユニット12には、出力しているデータ処理ユニット命令が無効であることを示す無効化信号を出力してもよく、あるいは、図7を参照して後述するように、後述するように単一オペレーションモードの命令であっても2つ以上の命令(2以上のクロックサイクルで逐次実行されるべき命令群)が1つの命令フォーマットに格納される場合には、ノーオペレーション命令を予め保持するノーオペレーション命令保持回路1135を例えばマルチプレクサにより構成し、このノーオペレーション命令保持回路1135から必要なクロックサイクルの間、データ処理ユニット12にノーオペレーション命令を逐次出力してもよい。
【0036】
次に、動作モードレジスタ1151に保持されるそれぞれの動作モードでの動作を説明する。
【0037】
(1)整数処理ユニット動作モード(単一処理動作モード)
第1に、整数処理ユニット動作モード(動作モードレジスタ1151の値が“0”)では、図6に示すような命令フォーマットが使用される。尚、動作モードレジスタ1151に保持される動作モードの初期値は”0”であって、プロセッサ装置10は当初整数処理ユニット動作モードで稼働する。この場合の命令フォーマットは、整数処理ユニット11の動作を規定する例えば32ビット長の命令から成る。
【0038】
あるいは、第1の実施形態の変形例として、図7に示すように、命令レジスタ部113に、ノーオペレーション命令を予め保持するマルチプレクサなどで構成するノーオペレーション命令保持回路1135を設け、命令出力制御命令60に応じて、整数処理ユニット動作モードの際には、常にデータ処理ユニット12に対してノーオペレーション命令保持回路1135に保持されるノーオペレーション命令を送出してもよい。このように構成すれば、整数処理ユニット動作モードにおいて、命令メモリ部112中に格納される命令フォーマットに、例えば2クロックサイクルで処理されるべき32ビット長の整数処理ユニット命令21を2つ設定することができ、常に64ビット長となる命令群を格納することができるので命令メモリ112の使用効率が向上する。
【0039】
整数処理ユニット命令21は、整数処理ユニット11での、レジスタ、演算器およびメモリ上のデータを用いて、以下のような処理を規定する。
【0040】
(a)加算、減算、分岐、メモリからのデータロード、メモリへのデータストア等の処理。
【0041】
(b)データ入力である整数処理ユニットレジスタの指定。
【0042】
(c)データ出力である整数処理ユニットレジスタの指定。
【0043】
(d)イミディエートデータの指定。
【0044】
(e)メモリからの読み出しアドレスの指定。
【0045】
(f)分岐条件の指定。
【0046】
次に、整数処理ユニット動作モードにおける、整数処理ユニット11内の各機能ブロックの動作を説明する。
【0047】
まず、命令アドレス生成部111は、図2に示すように、動作モードコントロール部115から2ビットの命令アドレス変更信号50を受け取り、命令アドレスレジスタ1112の値と命令メモリ112への命令アドレス信号90の出力を更新する。
【0048】
命令アドレス変更信号50は以下のような処理を規定する。
【0049】
00:命令アドレスレジスタ1112の値を保存
01:命令アドレスレジスタ1112の値に8増加(64ビット分の命令実行時)
10:命令実行部116からの入力値を命令アドレスレジスタ1112に設定(分岐、例外処理時)
11:(reserved)
動作モードコントロール部115は、分岐や例外が発生した場合、命令アドレス変更信号50を10にして、命令実行部116で計算された分岐先アドレス或いは例外の飛び先アドレスが命令アドレスレジスタ1112に格納されるように制御する。また、64ビット分(32ビット命令2命令分)の整数処理ユニット命令21が実行されると、命令アドレス変更信号を”01”にして、次の64ビットの命令が命令メモリ部112から読み出されるように制御する。
【0050】
命令レジスタ部113は、コントロール部115から入力される命令出力制御信号60に従って、命令メモリ部112から読み出された64ビットの命令の上位或いは下位32ビットをデコード部114へ出力する。
【0051】
ここで、プロセッサ装置10がリセット信号で初期化された状態では、コントロール部115の動作モードレジスタ1151には“0”が入っていて、整数処理ユニット動作モードになっている。
【0052】
この整数処理ユニット動作モードでは、データ処理ユニット12は動作しないように制御するため、命令レジスタ部113はデータ処理ユニット12へ常にノーオペレーション命令を供給し、上位の整数処理ユニット命令21をデコード部114に出力する。あるいは、上述したように、命令メモリ部112からは、常に64ビット分(2命令分)の命令が命令レジスタ部113に入力され、これらを命令実行部116において2サイクルで逐次処理させてもよい。
【0053】
デコード部114は、命令レジスタ部113から受け取った整数処理ユニット命令21をデコードし、その指示により、デコード部114内の整数処理ユニットレジスタ(図示せず)の値を読み出し、イミディエートデータを命令から切り出して、命令実行部116へ出力する。
【0054】
命令実行部116は、デコード部114からの入力データと、整数処理ユニット命令21の指示に従って、デコードされた命令を実行し、演算結果をデータメモリ部117へ出力する。また、命令実行部116は、分岐命令の実行、例外の発生を動作モードコンロール部115へ通知し、更に分岐先アドレスや例外先アドレスを命令アドレス生成部111へ供給する。
【0055】
データメモリ制御部117は、命令実行部116からのデータを入力し、命令中の指示に従って指定されたアドレスからデータを読み出し、その結果をデコード部114へ出力したり、データを書き込む。あるいは、命令実行部116の結果はそのままデコード部114へ出力されることもある。
【0056】
デコード部114は、データメモリ部117から送られたデータを内部の整数処理ユニットレジスタ(図示せず)ヘ格納する。
【0057】
(2)並列処理動作モード
第2に、並列処理動作モード(動作モードレジスタ1151の値が“1”)の場合の動作を説明する。図8はまた、並列処理動作モードで使用される拡張命令フォーマットの一例を示している。
【0058】
並列処理動作モードで実行される命令フォーマットは、整数処理ユニット11の動作を規定する32ビット長の命令(ビット63〜ビット32)21と、データ処理ユニット12の動作を規定する32ビット長の命令(ビット31〜ビット0)22から成る。
【0059】
命令実行部116において、後述する事象により動作モード切替が検知されると、命令実行部116は、整数処理ユニットの中の動作モード切替え処理を行って、コントロール部115の動作モードレジスタ1151の値を“1”に切り換える。これ以降、動作モードコントロール部115は、命令レジスタ部113が並列処理動作を行うように制御する。
【0060】
並列処理動作モードにおいて、動作モードコントロール部115は、命令レジスタ部113から64ビットの命令を取り出し、32ビットの整数処理ユニット命令21をデコード部114以降に供給し、もう一方の32ビットのデータ処理ユニット命令22をデータ処理ユニット12に供給するように制御する。整数処理ユニット命令21はデコード部114、実行部116、データメモリ部117により整数処理ユニッ卜動作モードと同様に実行される。
【0061】
並列処理動作モードでは、命令アドレス生成部111は、図5および図7に示すように、動作モードコントロール部115から2ビットの命令アドレス変更信号50を受け取り、命令アドレスレジスタの値と命令メモリ部112への命令アドレス信号の出力を更新する。
【0062】
ここで、命令アドレス変更信号で規定される動作は以下の如くである。
【0063】
00:命令アドレスレジスタの値を保存
01:命令アドレスレジスタの値を8増加(64ビット命令実行時)
10:実行部からの入力値を命令アドレスレジスタに設定(分岐、例外処理時)
11:(reserved)
動作モードコントロール部115は、分岐や例外が発生しない場合、命令アドレス変更信号を”01”にして、64ビット分の命令が命令メモリ部112から命令レジスタ部113へ供給されるように制御する。
【0064】
命令レジスタ部113は、動作モードコントロール部115から入力される命令出力制御信号60に従って命令メモリ112から読み出された64ビットの命令の上位32ビットをデコード部114へ、下位32ビットをデータ処理ユニット12の命令デコード部121へ出力する。
【0065】
データ処理ユニット12は、命令レジスタ部113からデータ処理ユニット命令22を受け取り、データ処理ユニット命令デコード部121と、データ処理ユニッ卜実行部122で、その命令を実行する。
【0066】
データ処理ユニット12中の命令デコード部121では、入力されたデータ処理ユニッ卜命令21をデコードし、その指示により、命令デコード部121内のデータ処理ユニットレジスタ(図示せず)の値を読み出し、イミディエートデータを命令から切り出して、命令実行部122へ出力する。
【0067】
命令実行部122は、命令デコード部121からの入力データと、データ処理ユニット命令22の指示に従って、命令を実行し、演算結果を命令デコード部121へ出力する。命令デコード部121は、その演算結果を命令デコード部121内のデータ処理ユニットレジスタ(図示せず)ヘ格納する。
【0068】
(3)動作モードの切り替え
次に、整数処理ユニット動作モードと並列処理動作モードとの切り替え方法について説明する。
【0069】
a)サブルーチンコールによる切り替え動作
整数処理ユニット11の命令実行部116は、動作モード切り替え付きのサブルーチンコール命令を実行した際、サブルーチンからの戻りアドレスを、動作モードコントロール部115のリターンアドレスレジスタ1153に格納してプログラムカウンタの値を変更する。同時に、サブルーチンヘジャンプするように分岐先のサブルーチンの先頭アドレスを命令アドレス生成部111から命令メモリ部112へ分岐先アドレスとして出力すると共に動作モードを反転させる。
【0070】
即ち、整数処理ユニット動作モードの時は並列処理動作モードになるように、並列処理動作モードの時は整数処理ユニット動作モードになるように、命令実行部116は、動作モードコントロール部115内の動作モードレジスタ1151の値を反転させるための制御信号を、動作モードコントロール部115へ出力する。また、命令実行部116は、リターンアドレスレジスタ1152の最下位ビットを1にセットする。このビットが“1”の場合、動作モードが反転したことが示される。
【0071】
また、復帰の際は、命令実行部116は、サブルーチン命令から復帰するジャンプ命令で、プログラムカウンタの値を変更してジャンプするように、命令アドレス生成部111へ分岐先アドレスを出力する。同時に、ジャンプアドレスの最下位ビットが“1”の場合は、動作モードコントロール部115内の動作モードレジスタ1151の値を反転させるように、動作モードコントロール部115へ制御信号を出力する。これによって、サブルーチンコール前の元の動作モードに復帰する。
【0072】
b)例外発生による切り替え動作
例外が発生した場合は、整数処理ユニット動作モードヘ遷移する。整数処理ユニット11の命令実行部116は、例外発生時の動作モードが並列処理動作モードの場合、整数処理ユニット動作モードになるように、動作モードコントロール部115内の動作モードレジスタ1151の値を反転する制御信号を動作モードコントロール部115へ出力する。
【0073】
また、命令実行部116は、例外ハンドラからの復帰アドレスを示す動作モードコントロール部115の例外プログラムカウンタレジスタ1152の最下位ビットを1にセットする。このビットが“1”の時は、動作モードが反転したことが示される。
【0074】
命令実行部116は、例外からの復帰命令を実行すると、プログラムカウンタの値を変更してジャンプするように、動作モードコントロール部115の例外プログラムカウンタレジスタ1152の値を設定する。これと同時に、命令実行部116は例外プログラムカウンタレジスタ1152の最下位ビットが“1”の場合は、動作モードコントロール部115内の動作モードレジスタ1151の値を反転させるように、動作モードコントロール部115へ制御信号を出力する。これによって、プロセッサ10は例外発生前の元の動作モードに復帰する。
【0075】
第1の実施の形態によれば、整数処理ユニット動作モードでは、拡張命令の命令列にデータ処理ユニット12の動作を規定する命令(データ処理ユニット命令)を埋め込むことなく、命令レジスタ部113から別途オペレーション命令をデータ処理ユニット12に供給することができるため、拡張命令に係る命令の利用効率を向上させることができる。それ故、命令メモリ部112のノーオペレーション命令を格納するためのメモリ容量を不要とし、命令メモリの使用効率を向上することができる。
【0076】
尚、第1の実施形態においては、データ処理ユニット12に送出される信号は、ノーオペレーション命令として説明したが、この他、任意の無効化・有効化信号を生成、送出することによりデータ処理ユニット12を処理停止状態にしてもよい。
【0077】
第2の実施形態
次に、本発明の第2の実施形態に係るプロセッサ装置を説明する。
【0078】
第2の実施形態は、第1の実施形態のノーオペレーション命令に替えて、データ処理ユニット12に供給されるクロック有効信号をオフすることにより、デーs処理ユニット12を処理停止状態に設定する。
【0079】
図9は、本発明の第2の実施の形態に係るプロセッサ装置の構成を示すブロック図である。但し、図3に示した第1の実施の形態と同一部分には同一符号を付し、且つその説明を適宜省略する。第1の実施の形態において、整数処理ユニット動作モードでは、命令レジスタ部113はデータ処理ユニット12ヘノーオペレーション命令を送ることによって、データ処理ユニット12を動作させないように制御した。一方、第2の実施形態は、データ処理ユニット12へのクロックCLKの供給を停止することによって、データ処理ユニット12を動作させないようにする。
【0080】
より具体的には、動作モードコントロール部115bは、動作モードレジスタ1151の値が“0”である整数処理ユニット動作モードの時、クロック有効信号80をオフとして、データ処理ユニット12内の内部クロック発生部123の動作を停止して、データ処理ユニット12へクロックを供給しないようにする。他の動作は第1の実施の形態と同様である。
【0081】
他方、動作モードコントロール部115は、動作モードレジスタ1151の値が“1”である並列処理動作モードでは、クロック有効信号80をオンとしてデータ処理ユニット12の内部クロック発生部123を動作させ、データ処理ユニットへクロックを供給する。他の動作は第1の実施の形態と同様である。
【0082】
第2の実施形態によれば、整数処理ユニット動作モード時に、データ処理ユニットへクロックの供給しないでその動作を停止させる。このため、電力の消費を節約することができると共に、ノーオペレーション命令をデータ処理ユニット12へ供給しないで済むため、拡張命令に係る命令の利用効率も高めることができる。
【0083】
第3の実施形態
次に、本発明の第3の実施形態に係るプロセッサを説明する。
【0084】
図10は、本発明の第3の実施の形態に係るプロセッサ装置の構成を示すブロック図である。但し、図3に示した第1の実施の形態と同一部分には同一符号を付し、且つその説明を適宜省略する。
【0085】
第3の実施形態は、一クロックサイクルでn+1個のオペレーションを処理することができるプロセッサである。
【0086】
第3の実施形態に係るプロセッサ装置は、整数処理ユニット11と、n個のデータ処理ユニットA,B,…,Nにより構成されている。命令レジスタ部113は、整数処理ユニット動作モードの時、命令実行ユニット118に整数処理ユニット命令を渡し、データ処理ユニットA,B,…,Nにはそれぞれノーオペレーション命令を供給する。
【0087】
並列処理動作モードにおいて、命令レジスタ部113は実行ユニット118に整数処理ユニット命令を渡すと共に、データ処理させるデータ処理ユニット、例えばデータ処理ユニットA,Bにデータ処理ユニット命令を渡し、残りのデータ処理ユニットにはノーオペレーション命令を供給する。
【0088】
尚、例えば、図10に示すように、動作モードコントロール部115に制御される拡張動作モードレジスタ1154に、複数のデータ処理ユニットのうちどのデータ処理ユニットを選択的に動作させるか、を示す情報(拡張動作モード情報)を持たせて、この拡張動作モード情報に基づき特定のデータ処理ユニットのみにノーオペレーション命令を供給してもよい。
【0089】
第3の実施形態のように、一クロックサイクルで処理するオペレーションの数が多い場合には、著しく命令の利用効率を高めることができる。
【0090】
第3の実施形態によれば、例えば、異なるデータタイプの演算を同時に処理させるための上記のSIMD演算を規定する命令を非常に効率よく処理することができる。特に、マルチメディア環境における画像処理などの場合、第3の実施形態に係るプロセッサ装置を用いれば、複数のデータ処理ユニットに複数のデータストリームとして例えば8ビット単位の画素データを64ビット分ずつ供給し、これらを並列に処理させることができる。
【0091】
さらに、第3の実施形態も、第2の実施形態と同様、動作させないデータ処理ユニットにクロックを供給しないように制御を行うことにより、データ処理ユニットの動作を停止してもよい。このように構成すれば、拡張命令の利用効率を高めることができると共に、省電力効果を得ることができる。
【0092】
尚、上記の実施の形態においては、整数処理ユニット命令を32ビット長、データ処理ユニット命令を32ビット長の例を示したが、これに限定されるものではない。例えば、整数処理ユニット命令を32ビット長と16ビット長として、データ処理ユニッ卜命令を32ビット長、48ビット長としてもよい。また、整数処理ユニット命令とデータ処理ユニット命令を合わせたビット長を64ビットとしたが、これに限定されるものではない。96ビット、128ビットなどの命令長にしてもよい。
【0093】
また、メインの処理ユニットは整数処理を行うユニットとして説明したが、これに限定されるものではなく、プロセッサとコプロセッサとの間でアプリケーションに応じて任意の処理を配分してもよい。
【0094】
【発明の効果】
以上説明したように、本発明に係る並列プロセッサによれば、複数のオペレーションを同一サイクルで処理することができ、特に単一のオペレーションを処理する際、データ処理ユニットの動作を規定する命令にノーオペレーション命令を埋め込むことを不要として、命令メモリの使用効率を向上させるとともに、拡張命令の利用効率を高めることができる。
【図面の簡単な説明】
【図1】従来技術における複数オペレーションを同時に実行するマルチプル・パラレル・プロセッサ装置の概略構成を示すブロック図である。
【図2】従来技術におけるマルチプル・パラレル・プロセッサで用いられる命令フォーマットの一例を示す図である。
【図3】本発明の第1の実施形態に係るマルチプル・パラレル・プロセッサ装置およびこれを搭載するシステムの構成を示すブロック図である。
【図4】図3の命令アドレス生成部の詳細構成の一例を示す回路図である。
【図5】図3の命令レジスタ部の詳細構成の一例を示す回路図である。
【図6】図3のプロセッサ装置で用いられる単一オペレーションモードの命令フォーマットの一例を示す図である。
【図7】本発明の第1の実施形態の変形例に係る図3の命令レジスタ部の詳細構成の一例を示す図である。
【図8】第1の実施形態の変形例および並列処理モードで用いられる命令フォーマットの一例を示す図である。
【図9】本発明の第2の実施形態に係るマルチプル・パラレル・プロセッサ装置の構成を示すブロック図である。
【図10】本発明の第3の実施形態に係るマルチプル・パラレル・プロセッサ装置の構成の一例を示すブロック図である。
【符号の説明】
10 プロセッサ装置
11 整数処理ユニット
12 データ処理ユニット
21 整数処理ユニット命令
22 データ処理ユニット命令
111 命令アドレス生成部
112 命令メモリ部
113 命令レジスタ部
114 デコード部
115 コントロール部
116 実行部
117 データメモリ部
121 データ処理ユニット命令デコード部
122 データ処理ユニット実行部
123 内部クロック発生部
1111、1131〜1133 セレクタ
1112 命令アドレスレジスタ
1113 加算器
1134 レジスタ
1151 動作モードレジスタ
1152 例外プログラムカウンタレジスタ
1153 リターンアドレスレジスタ
Claims (3)
- 複数の演算命令を一クロックサイクル内で並列に処理する並列プロセッサであって、
第1の演算処理ユニットと、
少なくとも1以上の第2の演算処理ユニットとを具備し、
前記第1の演算処理ユニットは、
前記第2の演算ユニットに演算命令を並列に処理させるか否かを示すとともに、前記第1の演算処理ユニットのみを動作させる第1の動作モードと、前記第1の演算処理ユニットを動作させるとともに前記第2の演算処理ユニットを動作させる第2の動作モードを持つ動作モードを保持する動作モード保持部と、
前記動作モードに基づいて、前記動作モードが第1の動作モードの場合には、前記第1の演算処理ユニットに、該第1の演算処理ユニットの動作を規定する命令列を供給するとともに、前記第2の演算処理ユニットに、該第2の演算処理ユニットの処理を停止する制御信号を生成および供給する制御部と、
入力されデコードされた命令に基づいて、前記動作モードを切り替える命令実行部を含み、
前記制御部は、前記第1の動作モードの命令については、命令メモリに保持される命令列に前記第2の演算処理ユニットの動作を規定する命令を埋め込むことなく、前記第2の演算処理ユニットを動作させず、
前記動作モード保持部は、動作モードレジスタであって、
前記制御部は、さらに、前記サブルーチンコール命令からのリターンアドレスを保持する第1のリターンアドレスレジスタを具備し、
前記命令実行部は、前記サブルーチンコール命令の実行時には、前記動作モードレジスタの値を反転することにより、前記動作モードを切り替えるとともに、動作モードの反転を示す情報を前記第1のリターンアドレスレジスタに設定し、前記サブルーチンコール命令からの復帰時には、前記第1のリターンアドレスレジスタに設定された前記動作モードの反転を示す情報を参照して、反転が設定されている場合には前記動作モードレジスタの値を反転することにより元の動作モードに復帰する
ことを特徴とする並列プロセッサ。 - 複数の演算命令を一クロックサイクル内で並列に処理する並列プロセッサであって、
第1の演算処理ユニットと、
少なくとも1以上の第2の演算処理ユニットとを具備し、
前記第1の演算処理ユニットは、
前記第2の演算ユニットに演算命令を並列に処理させるか否かを示すとともに、前記第1の演算処理ユニットのみを動作させる第1の動作モードと、前記第1の演算処理ユニットを動作させるとともに前記第2の演算処理ユニットを動作させる第2の動作モードを持つ動作モードを保持する動作モード保持部と、
前記動作モードに基づいて、前記動作モードが第1の動作モードの場合には、前記第1の演算処理ユニットに、該第1の演算処理ユニットの動作を規定する命令列を供給するとともに、前記第2の演算処理ユニットに、該第2の演算処理ユニットの処理を停止する制御信号を生成および供給する制御部と、
入力されデコードされた命令に基づいて、前記動作モードを切り替える命令実行部を含み、
前記制御部は、前記第1の動作モードの命令については、命令メモリに保持される命令列に前記第2の演算処理ユニットの動作を規定する命令を埋め込むことなく、前記第2の演算処理ユニットを動作させず、
前記命令実行部は、例外処理の発生によって、前記動作モード保持部に保持される動作モードを切り替え、
前記動作モード保持部は、動作モードレジスタであって、
前記制御部は、さらに、前記例外処理を行う例外プログラムからのリターンアドレスを保持する第2のリターンアドレスレジスタを具備し、
前記命令実行部は、前記例外処理の発生時には、前記動作モードレジスタの値を反転することにより、前記動作モードを切り替えるとともに、動作モードの反転を示す情報を前記第2のリターンアドレスレジスタに設定し、前記例外処理からの復帰時には、前記第2のリターンアドレスレジスタに設定された前記動作モードの反転を示す情報を参照して、反転が設定されている場合には前記動作モードレジスタの値を反転することにより元の動作モードに復帰する
ことを特徴とする並列プロセッサ。 - 複数の演算命令を一クロックサイクル内で並列に処理する並列プロセッサであって、
第1の演算処理ユニットと、
少なくとも1以上の第2の演算処理ユニットとを具備し、
前記第1の演算処理ユニットは、
前記第2の演算ユニットに演算命令を並列に処理させるか否かを示すとともに、前記第1の演算処理ユニットのみを動作させる第1の動作モードと、前記第1の演算処理ユニットを動作させるとともに前記第2の演算処理ユニットを動作させる第2の動作モードを持つ動作モードを保持する動作モード保持部と、
前記動作モードに基づいて、前記動作モードが第1の動作モードの場合には、前記第1の演算処理ユニットに、該第1の演算処理ユニットの動作を規定する命令列を供給するとともに、前記第2の演算処理ユニットに、該第2の演算処理ユニットの処理を停止する制御信号を生成および供給する制御部と、
入力されデコードされた命令に基づいて、前記動作モードを切り替える命令実行部を含み、
前記制御部は、前記第1の動作モードの命令については、命令メモリに保持される命令列に前記第2の演算処理ユニットの動作を規定する命令を埋め込むことなく、前記第2の演算処理ユニットを動作させず、
前記命令実行部は、ジャンプ命令中に規定されるジャンプアドレスの一部に含まれる動作モードの反転を示す情報に従って、前記動作モード保持部の値を反転することにより、前記動作モードを切り替える
ことを特徴とする並列プロセッサ。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000191604A JP3616556B2 (ja) | 1999-06-29 | 2000-06-26 | 拡張命令を処理する並列プロセッサ |
US09/604,907 US6675290B1 (en) | 1999-06-29 | 2000-06-28 | Processor for improving instruction utilization using multiple parallel processors and computer system equipped with the processor |
DE60038761T DE60038761D1 (de) | 1999-06-29 | 2000-06-29 | Rechnersystem mit mehreren parallel angeordneten Prozessoren |
EP00113153A EP1065586B1 (en) | 1999-06-29 | 2000-06-29 | Computer system comprising a plurality of parallel processors |
US10/695,996 US7096344B2 (en) | 1999-06-29 | 2003-10-30 | Processor for improving instruction utilization using multiple parallel processors and computer system equipped with the processor |
US11/484,726 US7343475B2 (en) | 1999-06-29 | 2006-07-12 | Supplying halt signal to data processing unit from integer unit upon single unit format instruction in system capable of executing double unit format instruction |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11-184247 | 1999-06-29 | ||
JP18424799 | 1999-06-29 | ||
JP2000191604A JP3616556B2 (ja) | 1999-06-29 | 2000-06-26 | 拡張命令を処理する並列プロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001075804A JP2001075804A (ja) | 2001-03-23 |
JP3616556B2 true JP3616556B2 (ja) | 2005-02-02 |
Family
ID=26502390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000191604A Expired - Lifetime JP3616556B2 (ja) | 1999-06-29 | 2000-06-26 | 拡張命令を処理する並列プロセッサ |
Country Status (4)
Country | Link |
---|---|
US (3) | US6675290B1 (ja) |
EP (1) | EP1065586B1 (ja) |
JP (1) | JP3616556B2 (ja) |
DE (1) | DE60038761D1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3705022B2 (ja) | 1999-07-09 | 2005-10-12 | 株式会社日立製作所 | 低消費電力マイクロプロセッサおよびマイクロプロセッサシステム |
JP4125475B2 (ja) * | 2000-12-12 | 2008-07-30 | 株式会社東芝 | Rtl生成システム、rtl生成方法、rtl生成プログラム及び半導体装置の製造方法 |
JP2007299279A (ja) | 2006-05-01 | 2007-11-15 | Toshiba Corp | 演算装置、プロセッサシステム、及び映像処理装置 |
US8473724B1 (en) * | 2006-07-09 | 2013-06-25 | Oracle America, Inc. | Controlling operation of a processor according to execution mode of an instruction sequence |
ATE466331T1 (de) * | 2006-09-06 | 2010-05-15 | Silicon Hive Bv | Datenverarbeitungsschaltung mit mehreren anweisungsarten, verfahren zum betrieb einer solchen datenschaltung und scheduling-verfahren für eine solche datenschaltung |
KR100781340B1 (ko) | 2006-09-18 | 2007-11-30 | 삼성전자주식회사 | 사용자 정의 확장 연산을 처리하는 연산 시스템 및 방법 |
JP5565228B2 (ja) * | 2010-09-13 | 2014-08-06 | ソニー株式会社 | プロセッサ |
JP5367020B2 (ja) * | 2011-06-24 | 2013-12-11 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置、情報処理方法、プログラム及び情報記憶媒体 |
US10055227B2 (en) * | 2012-02-07 | 2018-08-21 | Qualcomm Incorporated | Using the least significant bits of a called function's address to switch processor modes |
DE102012204358A1 (de) * | 2012-03-20 | 2013-09-26 | Siemens Aktiengesellschaft | Verfahren zum Betreiben einer Prozess- und/oder Fertigungsanlage, Steuervorrichtung einer solchen Anlage und Modul für die Steuervorrichtung |
US9830164B2 (en) * | 2013-01-29 | 2017-11-28 | Advanced Micro Devices, Inc. | Hardware and software solutions to divergent branches in a parallel pipeline |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5241636A (en) | 1990-02-14 | 1993-08-31 | Intel Corporation | Method for parallel instruction execution in a computer |
US5452434A (en) * | 1992-07-14 | 1995-09-19 | Advanced Micro Devices, Inc. | Clock control for power savings in high performance central processing units |
US5673409A (en) | 1993-03-31 | 1997-09-30 | Vlsi Technology, Inc. | Self-defining instruction size |
JP3199205B2 (ja) * | 1993-11-19 | 2001-08-13 | 株式会社日立製作所 | 並列演算装置 |
US5666537A (en) | 1994-08-12 | 1997-09-09 | Intel Corporation | Power down scheme for idle processor components |
US5867726A (en) * | 1995-05-02 | 1999-02-02 | Hitachi, Ltd. | Microcomputer |
US5838934A (en) * | 1995-06-07 | 1998-11-17 | Texas Instruments Incorporated | Host port interface |
US5826054A (en) | 1996-05-15 | 1998-10-20 | Philips Electronics North America Corporation | Compressed Instruction format for use in a VLIW processor |
JPH103425A (ja) | 1996-06-14 | 1998-01-06 | Oki Electric Ind Co Ltd | 命令供給装置 |
US5805907A (en) | 1996-10-04 | 1998-09-08 | International Business Machines Corporation | System and method for reducing power consumption in an electronic circuit |
GB2323188B (en) | 1997-03-14 | 2002-02-06 | Nokia Mobile Phones Ltd | Enabling and disabling clocking signals to elements |
US6189090B1 (en) | 1997-09-17 | 2001-02-13 | Sony Corporation | Digital signal processor with variable width instructions |
US5923892A (en) * | 1997-10-27 | 1999-07-13 | Levy; Paul S. | Host processor and coprocessor arrangement for processing platform-independent code |
JP3541931B2 (ja) * | 1999-05-17 | 2004-07-14 | 富士ゼロックス株式会社 | 電着膜形成方法、電極形成方法および電着膜形成装置 |
-
2000
- 2000-06-26 JP JP2000191604A patent/JP3616556B2/ja not_active Expired - Lifetime
- 2000-06-28 US US09/604,907 patent/US6675290B1/en not_active Expired - Fee Related
- 2000-06-29 EP EP00113153A patent/EP1065586B1/en not_active Expired - Lifetime
- 2000-06-29 DE DE60038761T patent/DE60038761D1/de not_active Expired - Fee Related
-
2003
- 2003-10-30 US US10/695,996 patent/US7096344B2/en not_active Expired - Fee Related
-
2006
- 2006-07-12 US US11/484,726 patent/US7343475B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE60038761D1 (de) | 2008-06-19 |
EP1065586A3 (en) | 2003-08-13 |
US6675290B1 (en) | 2004-01-06 |
US7096344B2 (en) | 2006-08-22 |
EP1065586A2 (en) | 2001-01-03 |
US7343475B2 (en) | 2008-03-11 |
US20060265569A1 (en) | 2006-11-23 |
US20040088530A1 (en) | 2004-05-06 |
JP2001075804A (ja) | 2001-03-23 |
EP1065586B1 (en) | 2008-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7010674B2 (en) | Efficient handling of a large register file for context switching and function calls and returns | |
US7343475B2 (en) | Supplying halt signal to data processing unit from integer unit upon single unit format instruction in system capable of executing double unit format instruction | |
JP2002512399A (ja) | 外部コプロセッサによりアクセス可能なコンテキストスイッチレジスタセットを備えたriscプロセッサ | |
JP2011525008A (ja) | リアルタイムデータ処理のための方法&装置 | |
JPH08305568A (ja) | 情報処理装置 | |
US11360536B2 (en) | Controlling the number of powered vector lanes via a register field | |
JP2005528669A (ja) | プロセッサをコプロセッサに接続する方法及び装置 | |
US20220365787A1 (en) | Event handling in pipeline execute stages | |
JP2003525476A (ja) | プログラムの命令を実行するための装置及び方法 | |
US20230359385A1 (en) | Quick clearing of registers | |
JP4800582B2 (ja) | 演算処理装置 | |
JP2005527037A (ja) | 構成可能なプロセッサ | |
JP2000353092A (ja) | 情報処理装置及びそのレジスタファイル切替方法 | |
JPH04238537A (ja) | 並列パイプライン命令処理装置 | |
JP2003005954A (ja) | データ処理装置およびその制御方法 | |
JP2008242947A (ja) | 半導体装置 | |
JP3729142B2 (ja) | 並列演算処理装置 | |
JPH1020959A (ja) | 低消費電力マイクロプロセッサ | |
JP2003196085A (ja) | 情報処理装置 | |
JP2000298589A (ja) | マイクロプロセッサ | |
JPH06332700A (ja) | 情報処理装置 | |
JPH10283185A (ja) | プロセッサ | |
JP2522564B2 (ja) | プログラマブルコントロ―ラ | |
JP3206394B2 (ja) | 5段パイプライン構造のプログラマブルコントローラ | |
JP2004102595A (ja) | 演算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040824 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041004 |
|
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: 20041026 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041105 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 3616556 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071112 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081112 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091112 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101112 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101112 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111112 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121112 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131112 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term |