JP2001075804A - 拡張命令を処理する並列プロセッサ - Google Patents

拡張命令を処理する並列プロセッサ

Info

Publication number
JP2001075804A
JP2001075804A JP2000191604A JP2000191604A JP2001075804A JP 2001075804 A JP2001075804 A JP 2001075804A JP 2000191604 A JP2000191604 A JP 2000191604A JP 2000191604 A JP2000191604 A JP 2000191604A JP 2001075804 A JP2001075804 A JP 2001075804A
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.)
Granted
Application number
JP2000191604A
Other languages
English (en)
Other versions
JP3616556B2 (ja
Inventor
Takashi Miyamori
高 宮森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000191604A priority Critical patent/JP3616556B2/ja
Priority to US09/604,907 priority patent/US6675290B1/en
Priority to EP00113153A priority patent/EP1065586B1/en
Priority to DE60038761T priority patent/DE60038761D1/de
Publication of JP2001075804A publication Critical patent/JP2001075804A/ja
Priority to US10/695,996 priority patent/US7096344B2/en
Application granted granted Critical
Publication of JP3616556B2 publication Critical patent/JP3616556B2/ja
Priority to US11/484,726 priority patent/US7343475B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/321Program or instruction counter, e.g. incrementing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3853Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent 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)

Abstract

(57)【要約】 【課題】 単一のオペレーションを処理する際の拡張命
令の利用効率を高める並列プロセッサを提供する。 【解決手段】 並列にコプロセッサを稼働させるか否か
を示す動作モードを動作モードレジスタ1151に保持
し、単一オペレーションモードでは、命令レジスタ11
3は整数処理ユニット命令をデコード部114に渡し
て、実行部で整数処理ユニット命令を実行させると共
に、データ処理ユニット12の動作を規定する命令に埋
め込むことなく、ノーオペレーション命令をデータ処理
ユニットに生成出力して、データ処理ユニット12を処
理停止状態にする。一方並列処理動作モードでは、デー
タ処理ユニット命令をデータ処理ユニット12に出力し
てデータ処理を行わせる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プロセッサ装置お
よびこのプロセッサ装置を搭載するコンピュータシステ
ムに関する。特に、複数のオペレーションを一サイクル
で処理することができる、複数のプロセッサを具備する
並列プロセッサにおいて、コプロセッサを並列に動作さ
せない単一のオペレーションの処理モードの際の命令に
ついての命令利用効率を向上させるための技術に関す
る。
【0002】
【従来の技術】従来より、複数のオペレーション命令を
一クロックサイクルで処理するマルチプル・パラレルプ
ロセッサが実用化されている。図1は、このマルチプル
・パラレル・プロセッサの概略構成を示すブロック図で
ある。プロセッサ装置20は、メモリからのデータ転
送、実行フローの制御を主に行う整数処理ユニット1
と、拡張命令で規定されるデータ処理を主に行う、1ま
たは複数のデータ処理ユニット2から成る。整数処理ユ
ニット1は、主に加算・減算命令、分岐命令、データメ
モリに対するロード命令、データの読み出し/書き込み
命令の処理などを行ない、一方データ処理ユニット2
は、例えばSIMD(Single Instruction streamMultip
le 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は、整数処理ユニット1
1とデータ処理ユニット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は、整数処理ユニッ
ト動作モードと並列処理動作モードとの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に示した命令レジスタ部11
3の詳細構成の一例を示した回路図である。命令レジス
タ部113は、セレクタ1131〜1133及びレジス
タ1134を具備する。レジスタ1134には、整数処
理ユニット命令か、又は整数処理ユニット命令及びデー
タ処理ユニット命令が保持される。動作モードコントロ
ール部115から動作モードに基づき出力される命令出
力制御信号60に従い、整数処理ユニット命令をデコー
ド部114に出力するとともに命令出力制御信号を命令
の有効化信号としてデータ処理ユニット12に出力する
か、或いは整数処理ユニット命令をデコード部114に
出力するとともにデータ処理ユニット命令をデータ処理
ユニット12に出力する。
【0035】尚、動作モードが単一オペレーションモー
ド(第1の実施形態では整数処理ユニット動作モード)
の場合に、データ処理ユニット12には、出力している
データ処理ユニット命令が無効であることを示す無効化
信号を出力してもよく、あるいは、図7を参照して後述
するように、後述するように単一オペレーションモード
の命令であっても2つ以上の命令(2以上のクロックサ
イクルで逐次実行されるべき命令群)が1つの命令フォ
ーマットに格納される場合には、ノーオペレーション命
令を予め保持するノーオペレーション命令保持回路11
35を例えばマルチプレクサにより構成し、このノーオ
ペレーション命令保持回路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増加(6
4ビット分の命令実行時) 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命令分)の命令が命令レジスタ部1
13に入力され、これらを命令実行部116において2
サイクルで逐次処理させてもよい。
【0053】デコード部114は、命令レジスタ部11
3から受け取った整数処理ユニット命令21をデコード
し、その指示により、デコード部114内の整数処理ユ
ニットレジスタ(図示せず)の値を読み出し、イミディ
エートデータを命令から切り出して、命令実行部116
へ出力する。
【0054】命令実行部116は、デコード部114か
らの入力データと、整数処理ユニット命令21の指示に
従って、デコードされた命令を実行し、演算結果をデー
タメモリ部117へ出力する。また、命令実行部116
は、分岐命令の実行、例外の発生を動作モードコンロー
ル部115へ通知し、更に分岐先アドレスや例外先アド
レスを命令アドレス生成部111へ供給する。
【0055】データメモリ制御部117は、命令実行部
116からのデータを入力し、命令中の指示に従って指
定されたアドレスからデータを読み出し、その結果をデ
コード部114へ出力したり、データを書き込む。ある
いは、命令実行部116の結果はそのままデコード部1
14へ出力されることもある。
【0056】デコード部114は、データメモリ部11
7から送られたデータを内部の整数処理ユニットレジス
タ(図示せず)ヘ格納する。
【0057】(2)並列処理動作モード 第2に、並列処理動作モード(動作モードレジスタ11
51の値が“1”)の場合の動作を説明する。図8はま
た、並列処理動作モードで使用される拡張命令フォーマ
ットの一例を示している。
【0058】並列処理動作モードで実行される命令フォ
ーマットは、整数処理ユニット11の動作を規定する3
2ビット長の命令(ビット63〜ビット32)21と、
データ処理ユニット12の動作を規定する32ビット長
の命令(ビット31〜ビット0)22から成る。
【0059】命令実行部116において、後述する事象
により動作モード切替が検知されると、命令実行部11
6は、整数処理ユニットの中の動作モード切替え処理を
行って、コントロール部115の動作モードレジスタ1
151の値を“1”に切り換える。これ以降、動作モー
ドコントロール部115は、命令レジスタ部113が並
列処理動作を行うように制御する。
【0060】並列処理動作モードにおいて、動作モード
コントロール部115は、命令レジスタ部113から6
4ビットの命令を取り出し、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へ、下位3
2ビットをデータ処理ユニット12の命令デコード部1
21へ出力する。
【0065】データ処理ユニット12は、命令レジスタ
部113からデータ処理ユニット命令22を受け取り、
データ処理ユニット命令デコード部121と、データ処
理ユニッ卜実行部122で、その命令を実行する。
【0066】データ処理ユニット12中の命令デコード
部121では、入力されたデータ処理ユニッ卜命令21
をデコードし、その指示により、命令デコード部121
内のデータ処理ユニットレジスタ(図示せず)の値を読
み出し、イミディエートデータを命令から切り出して、
命令実行部122へ出力する。
【0067】命令実行部122は、命令デコード部12
1からの入力データと、データ処理ユニット命令22の
指示に従って、命令を実行し、演算結果を命令デコード
部121へ出力する。命令デコード部121は、その演
算結果を命令デコード部121内のデータ処理ユニット
レジスタ(図示せず)ヘ格納する。
【0068】(3)動作モードの切り替え 次に、整数処理ユニット動作モードと並列処理動作モー
ドとの切り替え方法について説明する。
【0069】a)サブルーチンコールによる切り替え動
作 整数処理ユニット11の命令実行部116は、動作モー
ド切り替え付きのサブルーチンコール命令を実行した
際、サブルーチンからの戻りアドレスを、動作モードコ
ントロール部115のリターンアドレスレジスタ115
3に格納してプログラムカウンタの値を変更する。同時
に、サブルーチンヘジャンプするように分岐先のサブル
ーチンの先頭アドレスを命令アドレス生成部111から
命令メモリ部112へ分岐先アドレスとして出力すると
共に動作モードを反転させる。
【0070】即ち、整数処理ユニット動作モードの時は
並列処理動作モードになるように、並列処理動作モード
の時は整数処理ユニット動作モードになるように、命令
実行部116は、動作モードコントロール部115内の
動作モードレジスタ1151の値を反転させるための制
御信号を、動作モードコントロール部115へ出力す
る。また、命令実行部116は、リターンアドレスレジ
スタ1152の最下位ビットを1にセットする。このビ
ットが“1”の場合、動作モードが反転したことが示さ
れる。
【0071】また、復帰の際は、命令実行部116は、
サブルーチン命令から復帰するジャンプ命令で、プログ
ラムカウンタの値を変更してジャンプするように、命令
アドレス生成部111へ分岐先アドレスを出力する。同
時に、ジャンプアドレスの最下位ビットが“1”の場合
は、動作モードコントロール部115内の動作モードレ
ジスタ1151の値を反転させるように、動作モードコ
ントロール部115へ制御信号を出力する。これによっ
て、サブルーチンコール前の元の動作モードに復帰す
る。
【0072】b)例外発生による切り替え動作 例外が発生した場合は、整数処理ユニット動作モードヘ
遷移する。整数処理ユニット11の命令実行部116
は、例外発生時の動作モードが並列処理動作モードの場
合、整数処理ユニット動作モードになるように、動作モ
ードコントロール部115内の動作モードレジスタ11
51の値を反転する制御信号を動作モードコントロール
部115へ出力する。
【0073】また、命令実行部116は、例外ハンドラ
からの復帰アドレスを示す動作モードコントロール部1
15の例外プログラムカウンタレジスタ1152の最下
位ビットを1にセットする。このビットが“1”の時
は、動作モードが反転したことが示される。
【0074】命令実行部116は、例外からの復帰命令
を実行すると、プログラムカウンタの値を変更してジャ
ンプするように、動作モードコントロール部115の例
外プログラムカウンタレジスタ1152の値を設定す
る。これと同時に、命令実行部116は例外プログラム
カウンタレジスタ1152の最下位ビットが“1”の場
合は、動作モードコントロール部115内の動作モード
レジスタ1151の値を反転させるように、動作モード
コントロール部115へ制御信号を出力する。これによ
って、プロセッサ10は例外発生前の元の動作モードに
復帰する。
【0075】第1の実施の形態によれば、整数処理ユニ
ット動作モードでは、拡張命令の命令列にデータ処理ユ
ニット12の動作を規定する命令(データ処理ユニット
命令)を埋め込むことなく、命令レジスタ部113から
別途オペレーション命令をデータ処理ユニット12に供
給することができるため、拡張命令に係る命令の利用効
率を向上させることができる。それ故、命令メモリ部1
12のノーオペレーション命令を格納するためのメモリ
容量を不要とし、命令メモリの使用効率を向上すること
ができる。
【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の内部クロック発生部12
3を動作させ、データ処理ユニットへクロックを供給す
る。他の動作は第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の実施形態によれば、例えば、異なる
データタイプの演算を同時に処理させるための上記のS
IMD演算を規定する命令を非常に効率よく処理するこ
とができる。特に、マルチメディア環境における画像処
理などの場合、第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 リターンアドレスレジスタ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 9/42 320 G06F 9/42 320A

Claims (15)

    【特許請求の範囲】
  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の演算処理ユニットに該
    第2の演算処理ユニットの動作を規定する命令列を供給
    することを特徴とする請求項1に記載の並列プロセッ
    サ。
  3. 【請求項3】 前記制御信号は、ノーオペレーション命
    令であることを特徴とする請求項1に記載の並列プロセ
    ッサ。
  4. 【請求項4】 前記第1の動作モードの際には、前記命
    令メモリに保持される命令列は、前記第1の演算処理ユ
    ニットの動作を規定する命令のみを含むことを特徴とす
    る請求項1に記載の並列プロセッサ。
  5. 【請求項5】 前記制御部は、さらに、前記ノーオペレ
    ーション命令を保持するノーオペレーション命令保持部
    を具備し、 前記第1の動作モードの際には、前記命令メモリに保持
    される命令列は、常に複数の命令を含むことを特徴とす
    る請求項3に記載の並列プロセッサ。
  6. 【請求項6】 前記制御信号は、前記第2の演算処理ユ
    ニットへのクロックの供給を停止する信号であることを
    特徴とする請求項1に記載の並列プロセッサ。
  7. 【請求項7】 前記制御信号は、前記第2の演算処理ユ
    ニットの無効化信号であることを特徴とする請求項1に
    記載の並列プロセッサ。
  8. 【請求項8】 前記命令実行部は、動作モード切替を指
    示するサブルーチンコール命令の実行によって、前記動
    作モード保持部に保持される動作モードを切り替えるこ
    とを特徴とする請求項1に記載の並列プロセッサ。
  9. 【請求項9】 前記動作モード保持部は、動作モードレ
    ジスタであって、 前記制御部は、さらに、前記サブルーチンコール命令か
    らのリターンアドレスを保持する第1のリターンアドレ
    スレジスタを具備し、 前記命令実行部は、前記サブルーチンコール命令の実行
    時には、前記動作モードレジスタの値を反転することに
    より、前記動作モードを切り替えるとともに、動作モー
    ドの反転を示す情報を前記第1のリターンアドレスレジ
    スタに設定し、 前記サブルーチンコール命令からの復帰時には、前記第
    1のリターンアドレスレジスタに設定された前記動作モ
    ードの反転を示す情報を参照して、反転が設定されてい
    る場合には前記動作モードレジスタの値を反転すること
    により元の動作モードに復帰することを特徴とする請求
    項1に記載の並列プロセッサ。
  10. 【請求項10】 前記命令実行部は、例外処理の発生に
    よって、前記動作モード保持部に保持される動作モード
    を切り替えることを特徴とする請求項1に記載の並列プ
    ロセッサ。
  11. 【請求項11】 前記動作モード保持部は、動作モード
    レジスタであって、 前記制御部は、さらに、前記例外処理を行う例外プログ
    ラムからのリターンアドレスを保持する第2のリターン
    アドレスレジスタを具備し、 前記命令実行部は、前記例外処理の発生時には、前記動
    作モードレジスタの値を反転することにより、前記動作
    モードを切り替えるとともに、動作モードの反転を示す
    情報を前記第2のリターンアドレスレジスタに設定し、 前記例外処理からの復帰時には、前記第2のリターンア
    ドレスレジスタに設定された前記動作モードの反転を示
    す情報を参照して、反転が設定されている場合には前記
    動作モードレジスタの値を反転することにより元の動作
    モードに復帰することを特徴とする請求項10に記載の
    並列プロセッサ。
  12. 【請求項12】 前記命令実行部は、ジャンプ命令中に
    規定されるジャンプアドレスの一部に含まれる動作モー
    ドの反転を示す情報に従って、前記動作モード保持部の
    値を反転することにより、前記動作モードを切り替える
    ことを特徴とする請求項1に記載の並列プロセッサ。
  13. 【請求項13】 前記第2の演算処理ユニットは、複数
    のコプロセッサであって、 前記制御部は、前記第1の動作モードでは、前記第1の
    演算処理ユニット以外のすべてのコプロセッサへのクロ
    ックを停止することによって、前記第1の演算処理ユニ
    ットのみを動作させることを特徴とする請求項1に記載
    の並列プロセッサ。
  14. 【請求項14】 上記並列プロセッサは、さらに、 複数の前記第2の演算処理ユニットのいずれに演算命令
    を並列に処理させるかを示す拡張動作モードを保持する
    拡張動作モード保持部を具備し、 前記制御部は、前記拡張動作モードに基づいて、複数の
    第2の演算処理ユニットのうち、前記拡張動作モードに
    示される第2の演算処理ユニット以外の第2の演算処理
    ユニットに、前記制御信号を供給することを特徴とする
    請求項1に記載の並列プロセッサ。
  15. 【請求項15】 複数の演算命令を一サイクル内で並列
    に処理する並列プロセッサを搭載するコンピュータシス
    テムであって、 第1の演算処理ユニットと、 少なくとも1以上の第2の演算処理ユニットと、 データメモリとを具備し、 前記第1の演算処理ユニットは、 前記第2の演算ユニットに演算命令を並列に処理させる
    か否かを示し、前記第1の演算処理ユニットのみを動作
    させる第1の動作モードと、前記第1の演算処理ユニッ
    トを動作させるとともに前記第2の演算処理ユニットを
    動作させる第2の動作モードを持つ動作モードを保持す
    る動作モード保持部と、 前記動作モードに基づいて、前記動作モードが第1の動
    作モードの場合には、前記第1の演算処理ユニットに、
    該第1の演算処理ユニットの動作を規定する命令列を供
    給するとともに、前記第2の演算処理ユニットに、該第
    2の演算処理ユニットの処理を停止する制御信号を生成
    および供給する制御部と、 入力されデコードされた命令に基づいて、前記動作モー
    ドを切り替える命令実行部とを含み、 前記第1の動作モードの命令については、命令メモリに
    保持される命令列に前記第2の演算処理ユニットの動作
    を規定する命令を埋め込むことなく、前記第2の演算処
    理ユニットを動作させないことを特徴とするコンピュー
    タシステム。
JP2000191604A 1999-06-29 2000-06-26 拡張命令を処理する並列プロセッサ Expired - Lifetime JP3616556B2 (ja)

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
EP00113153A EP1065586B1 (en) 1999-06-29 2000-06-29 Computer system comprising a plurality of parallel processors
DE60038761T DE60038761D1 (de) 1999-06-29 2000-06-29 Rechnersystem mit mehreren parallel angeordneten Prozessoren
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
JP18424799 1999-06-29
JP11-184247 1999-06-29
JP2000191604A JP3616556B2 (ja) 1999-06-29 2000-06-26 拡張命令を処理する並列プロセッサ

Publications (2)

Publication Number Publication Date
JP2001075804A true JP2001075804A (ja) 2001-03-23
JP3616556B2 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)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7178046B2 (en) 1999-07-09 2007-02-13 Renesas Technology Corp. Halting clock signals to input and result latches in processing path upon fetching of instruction not supported
KR100781340B1 (ko) 2006-09-18 2007-11-30 삼성전자주식회사 사용자 정의 확장 연산을 처리하는 연산 시스템 및 방법
JP2010503107A (ja) * 2006-09-06 2010-01-28 シリコン ヒフェ ベー.フェー. 複数の命令モードを有するデータ処理回路、データ回路の処理方法、およびデータ回路のスケジューリング方法
US7877428B2 (en) 2006-05-01 2011-01-25 Kabushiki Kaisha Toshiba Processor system including processor and coprocessor
JP2013008243A (ja) * 2011-06-24 2013-01-10 Sony Computer Entertainment Inc 情報処理装置、情報処理方法、プログラム及び情報記憶媒体

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4125475B2 (ja) * 2000-12-12 2008-07-30 株式会社東芝 Rtl生成システム、rtl生成方法、rtl生成プログラム及び半導体装置の製造方法
US8473724B1 (en) * 2006-07-09 2013-06-25 Oracle America, Inc. Controlling operation of a processor according to execution mode of an instruction sequence
JP5565228B2 (ja) 2010-09-13 2014-08-06 ソニー株式会社 プロセッサ
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)

* Cited by examiner, † Cited by third party
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 富士ゼロックス株式会社 電着膜形成方法、電極形成方法および電着膜形成装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7178046B2 (en) 1999-07-09 2007-02-13 Renesas Technology Corp. Halting clock signals to input and result latches in processing path upon fetching of instruction not supported
US7877428B2 (en) 2006-05-01 2011-01-25 Kabushiki Kaisha Toshiba Processor system including processor and coprocessor
JP2010503107A (ja) * 2006-09-06 2010-01-28 シリコン ヒフェ ベー.フェー. 複数の命令モードを有するデータ処理回路、データ回路の処理方法、およびデータ回路のスケジューリング方法
JP2013218710A (ja) * 2006-09-06 2013-10-24 Silicon Hive Bv 複数の命令モードを有するデータ処理回路、データ回路の処理方法、およびデータ回路のスケジューリング方法
JP2013218711A (ja) * 2006-09-06 2013-10-24 Silicon Hive Bv 複数の命令モードを有するデータ処理回路、データ回路の処理方法、およびデータ回路のスケジューリング方法
US8838945B2 (en) 2006-09-06 2014-09-16 Silicon Hive B.V. Data processing circuit with a plurality of instruction modes for processing time-stationary encoded instructions, and method of operating/scheduling such data circuit
KR100781340B1 (ko) 2006-09-18 2007-11-30 삼성전자주식회사 사용자 정의 확장 연산을 처리하는 연산 시스템 및 방법
JP2013008243A (ja) * 2011-06-24 2013-01-10 Sony Computer Entertainment Inc 情報処理装置、情報処理方法、プログラム及び情報記憶媒体

Also Published As

Publication number Publication date
US7096344B2 (en) 2006-08-22
EP1065586A3 (en) 2003-08-13
US7343475B2 (en) 2008-03-11
US20060265569A1 (en) 2006-11-23
JP3616556B2 (ja) 2005-02-02
US20040088530A1 (en) 2004-05-06
US6675290B1 (en) 2004-01-06
DE60038761D1 (de) 2008-06-19
EP1065586A2 (en) 2001-01-03
EP1065586B1 (en) 2008-05-07

Similar Documents

Publication Publication Date Title
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
US4740893A (en) Method for reducing the time for switching between programs
JP2002536738A (ja) 間接vliwプロセッサにおける実行時間並列処理のための動的vliwサブ命令選択システム
JPH08305568A (ja) 情報処理装置
JP2002512399A (ja) 外部コプロセッサによりアクセス可能なコンテキストスイッチレジスタセットを備えたriscプロセッサ
US11360536B2 (en) Controlling the number of powered vector lanes via a register field
CN108139911B (zh) 在vliw处理器的同一执行包中使用有条件扩展槽的指令的有条件执行规格
US7788472B2 (en) Instruction encoding within a data processing apparatus having multiple instruction sets
US20060095746A1 (en) Branch predictor, processor and branch prediction method
US6948049B2 (en) Data processing system and control method
US4967339A (en) Operation control apparatus for a processor having a plurality of arithmetic devices
JP2538053B2 (ja) 制御装置
JP5372307B2 (ja) データ処理装置およびその制御方法
JPH04359323A (ja) マイクロコンピュータ
EP1088266A1 (en) Parallel data processing
US20230359385A1 (en) Quick clearing of registers
JP2002229776A (ja) 複数組の命令組を実行するためのデータ処理装置
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
JP2000298589A (ja) マイクロプロセッサ
JP2002163104A (ja) マイクロコンピュータ
JP2696578B2 (ja) データ処理装置
JP2002073326A (ja) プログラム実行装置及びプログラム実行方法
JP2003131873A (ja) マイクロコンピュータ
JP2005134987A (ja) パイプライン演算処理装置
JP2004303058A (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