[go: up one dir, main page]

JP3541669B2 - 演算処理装置 - Google Patents

演算処理装置 Download PDF

Info

Publication number
JP3541669B2
JP3541669B2 JP08336998A JP8336998A JP3541669B2 JP 3541669 B2 JP3541669 B2 JP 3541669B2 JP 08336998 A JP08336998 A JP 08336998A JP 8336998 A JP8336998 A JP 8336998A JP 3541669 B2 JP3541669 B2 JP 3541669B2
Authority
JP
Japan
Prior art keywords
instruction
execution means
unit
decoder
unit execution
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
Application number
JP08336998A
Other languages
English (en)
Other versions
JPH11282679A (ja
Inventor
謙一 川口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP08336998A priority Critical patent/JP3541669B2/ja
Priority to US09/280,363 priority patent/US6360312B1/en
Publication of JPH11282679A publication Critical patent/JPH11282679A/ja
Priority to US09/808,306 priority patent/US6966056B2/en
Priority to US10/653,786 priority patent/US6964041B2/en
Application granted granted Critical
Publication of JP3541669B2 publication Critical patent/JP3541669B2/ja
Priority to US11/144,132 priority patent/US20050223195A1/en
Priority to US12/207,133 priority patent/US20090013161A1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3017Runtime instruction translation, e.g. macros
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は演算処理装置に関し、特にVLIW(Very Long Instruction Word)と言われる長語命令型のマイクロプロセッサに関する。
【0002】
【従来の技術】
近年、高速処理を目的として、長語命令型により、複数の命令を同時に実行するマイクロプロセッサが開発されている。
【0003】
長語命令型のマイクロプロセッサの一例としては、各命令スロット毎に各種演算手段、データ転送手段等の複数の命令実行手段のグループを対応させ、実行時には、各命令は、その命令が格納されている命令スロットに対応したグループの中にある命令実行手段を用いて実行する方法がある。このような技術として、例えば特開平5−11979号公報に記載されたものがある。
【0004】
図14は上記従来の演算処理装置の概念図を示している。図14において1401は、2つの命令スロットを持つ長語命令の命令レジスタであり、1402、1403は、それぞれ、命令レジスタ1401の第1命令スロット、第2命令スロットと接続する命令実行手段グループであり、1404、1405はデコードされた命令の出力を、出力x,yから選択するセレクタであり、1408はデータ転送手段であり、1409、1410は算術演算手段であり、1411は乗算手段であり、1412はレジスタファイルである。
【0005】
以上のように構成された従来の演算処理装置について、以下、その動作を述べる。
【0006】
まず、1つの長語命令を構成する2つの命令が、命令レジスタ1401の第1命令スロットおよび第2命令スロットに格納される。次に、これらの命令スロットに格納された第1命令および第2命令が、それぞれ、命令実行手段グループ1402、1403に転送され、デコーダ1404、1405でデコードされる。デコーダ1404でデコードされた命令は、データ転送手段1408および算術演算手段1409に転送される。デコーダ1405でデコードされた命令は、算術演算手段1410および乗算手段1411に転送される。データ転送手段1408は、レジスタファイル1412のデータをレジスタ間転送する。算術演算手段1409、1410は、レジスタファイル1412のデータに対し、加算もしくは減算を実行し、結果をレジスタファイル1412に格納する。乗算手段1411は、レジスタファイル1412のデータに対し、乗算を実行し、結果をレジスタファイル1412に格納する。
【0007】
【発明が解決しようとする課題】
しかしながら上記のような構成では、任意の命令スロットの命令が他の命令スロットに対応した命令実行手段を用いることができなかった。
【0008】
具体的に、各命令スロットには命令実行手段としてそれぞれ1つずつの算術演算手段を持つ図14に示されるようなプロセッサを想定して説明する。このプロセッサでは、2つの同じ変数の和と差の両方を計算する命令(加減算命令)、すなわち1つの命令スロットの命令が複数の算術演算手段を用いる命令を定義することができない。これは、一般にVLIW方式のプロセッサでは、命令が使うことができる命令実行手段と命令スロットとが1対1に固定されているからである。そしてその結果、2つの同じ変数の和と差を求める際には、加算命令と減算命令の2命令を実行する必要があり、命令数とサイクル数が多くなる、という問題点を有していた。
【0009】
一方、VLIW方式のプロセッサでは、並列に処理できる命令が存在する場合には複数の命令スロットに命令が入ることとなるが、存在しない場合には命令が入らない命令スロットが存在するため、この命令スロットに対する命令実行手段が遊んでしまうことにもなる。
【0010】
特に近年のマルチメディア処理においては加減算命令が多用されるため、上記の問題点はこのような処理では極めて顕著になる。
【0011】
本発明は上記問題点に鑑み、その目的は、少ないハードウエアで複数の操作を含む命令を1つのスロットに定義できる長語命令型の演算処理装置を提供することにある。
【0012】
【課題を解決するための手段】
上記問題点を解決するために、本発明の演算処理装置は、少なくとも第1と第2の2つの命令スロットを含み、それぞれに命令を格納する命令レジスタと、前記命令レジスタの前記第1の命令スロットに格納された命令を解読する第1のデコーダと、前記命令レジスタの前記第2の命令スロットに格納された命令を解読する第2のデコーダと、前記第1のデコーダによって制御され、少なくとも第1の単位実行手段からなる第1の命令実行手段グループと、前記第2のデコーダによって制御され、少なくとも第2と第3の単位実行手段からなる第2の命令実行手段グループとを備えた演算処理装置であって、前記第1のデコーダが出力する制御情報は前記第1の命令実行手段グループおよび前記第2の命令実行手段グループに入力され、前記第1のデコーダが前記第1の命令スロットにある特定命令を検出すると、前記第1のデコーダは、前記特定命令を解読するとともに、前記解読結果に基づいて前記制御情報を出力して前記第1の単位実行手段と前記第2の単位実行手段とを同時に制御し、前記第2の単位実行手段は、前記制御情報に基づき、前記特定命令により定められた命令実行を行うことを特徴とする演算処理装置。
【0013】
ここで、前記第1のデコーダが前記第1の命令スロットにある前記特定命令を解読するとき、前記第2のデコーダは、前記第2の命令スロットにあって、前記特定命令と並んで配置される命令を解読するとともに、前記解読結果に基づいて前記第3の単位実行手段を制御するとしてもよい。
【0014】
また本発明の演算処理装置は、少なくとも第1と第2の2つの命令スロットを含み、それぞれに命令を格納する命令レジスタと、前記命令レジスタの前記第1の命令スロットに格納された命令を解読する第1のデコーダと、前記命令レジスタの前記第2の命令スロットに格納された命令を解読する第2のデコーダと、前記第1のデコーダによって制御され、少なくとも第1と第2の単位実行手段からなる第1の命令実行手段グループと、前記第2のデコーダによって制御され、少なくとも第3と第4の単位実行手段からなる第2の命令実行手段グループとを備えた演算処理装置であって、前記第1のデコーダが出力する第1の制御情報は前記第1の命令実行手段グループおよび前記第2の命令実行手段グループに入力され、前記第2のデコーダが出力する第2の制御情報は前記第1の命令実行手段グループおよび前記第2の命令実行手段グループに入力され、前記第1のデコーダが前記第1の命令スロットにある特定命令を検出すると、前記第1のデコーダは、前記特定命令を解読するとともに、前記解読結果に基づいて前記第1の制御情報を出力して前記第2の単位実行手段と前記第3の単位実行手段とを同時に制御し、前記第3の単位実行手段は、前記第1の制御情報に基づき、前記特定命令により定められた命令実行を行い、前記第2のデコーダが前記第2の命令スロットにある前記特定命令を検出すると、前記第2のデコーダは、前記特定命令を解読するとともに、前記解読結果に基づいて前記第2の制御情報を出力して前記第2の単位実行手段と前記第3の単位実行手段とを同時に制御し、前記第2の単位実行手段は、前記第2の制御情報に基づき、前記特定命令により定められた命令実行を行うことを特徴とする。
【0015】
ここで、前記第1のデコーダが前記第1の命令スロットにある前記特定命令を解読するとき、前記第2のデコーダは、前記第2の命令スロットにあって、前記特定命令と並んで配置される命令を解読するとともに、前記解読結果に基づいて前記第4の単位実行手段を制御し、前記第2のデコーダが前記第2の命令スロットにある前記特定命令を解読するとき、前記第1のデコーダは、前記第1の命令スロットにあって、前記特定命令と並んで配置される命令を解読するとともに、前記解読結果に基づいて前記第1の単位実行手段を制御するとしてもよい。
【0016】
また上記の各演算処理装置は、前記特定命令は、2つのオペランドを共通に用いて、前記オペランドに対する加算操作と減算操作とを行う命令であるとしてもよい。
【0017】
【発明の実施の形態】
以下、本発明の実施の形態について、図を用いて説明する。
【0018】
図1は本実施の形態の演算処理装置の概念図を示す。図1において101は、2つの命令スロットを持つ長語命令の命令レジスタであり、102、103は、それぞれ、命令レジスタ101の第1命令スロット、第2命令スロットと接続する命令実行手段グループであり、104、105は、それぞれ、命令レジスタ101の第1命令スロットおよび第2命令スロットに割り当てられた命令をデコードするデコーダであり、106、107は出力する命令を、入力a,bの命令から選択するセレクタであり、108はデータ転送手段であり、109、110は算術演算手段であり、111は乗算手段であり、112はレジスタファイルである。
【0019】
以上のように構成された演算処理装置について、以下、その動作を述べる。
まず、1つの長語命令を構成する2つの命令が、命令レジスタ101の第1命令スロットおよび第2命令スロットに格納される。
【0020】
命令の種類を、図2に示す。この演算装置においては、図2の6種類の命令が定義されている。図中、Rn,Rmはいずれも、レジスタファイル112の中にある1つのレジスタを表す変数である。ニーモニックの項は、命令スロットに記述される命令の内容を示す。配置スロットの項は、各命令スロットに、当該命令が配置可能かどうかを示し、第1、第2はそれぞれ、第1命令スロット、第2命令スロットを示す。例えば、データ転送命令は、第1命令スロットに配置することはできるが、第2命令スロットに配置することはできない。また、加減算命令を第1命令スロットに格納した場合、第2命令スロットには、乗算命令、無動作命令以外の命令を格納することはできない。同様に、加減算命令を第2命令スロットに格納した場合、第1命令スロットには、データ転送命令、無動作命令以外の命令を格納することはできない。
【0021】
次に、これらの命令スロットに格納された第1命令および第2命令が、それぞれ、命令実行手段グループ102、103に転送され、図3、図4に従い、デコーダ104、105でデコードされる。
【0022】
図3および図4において、レジスタ1、レジスタ2は、操作するデータが格納されているレジスタ変数を示す。但し、操作が無動作の時は、レジスタ変数は指定されない。
【0023】
デコーダ104、105は、入力された命令のニーモニックをデコードし、出力x,yのそれぞれに対して、操作内容と、操作するデータの2つのレジスタ変数を出力する。図3、図4に示すように、転送命令、加算命令、減算命令、乗算命令は、従来の演算処理装置と同じようにデコードされ、デコーダの属する命令実行手段グループ内で転送される。これに対し、加減算命令は、加算と減算の2つの操作にデコードされた後、加算はデコーダの属する命令実行手段グループ内で転送され、減算は、別の命令実行手段グループに転送される。
【0024】
デコーダ104の出力xからセレクタ106の入力aに転送された操作内容およびレジスタ変数と、デコーダ105の出力xからセレクタ106の入力bに転送された操作内容およびレジスタ変数は、図5に従い、いずれか一方がセレクタ106で選択され、算術演算手段109に転送される。セレクタ106は、入力aまたは入力bに、加算操作または減算操作があれば、それを選択し、出力する。もし、加算、減算のいずれもない場合、無動作を出力する。命令の格納時に、加減算命令を第2命令スロットに格納した場合、第1命令スロットには、データ転送命令、無動作命令以外の命令を格納することはできないという制限があるので、入力aと入力bの両方に、同時に加算操作または減算操作が入力されることはない。
【0025】
デコーダ105の出力yからセレクタ107の入力bに転送された命令と、デコーダ104の出力yからセレクタ107の入力aに転送された命令は、図6に従い、いずれか一方がセレクタ107で選択され、算術演算手段110に転送される。セレクタ107は、セレクタ106と同様、入力aまたは入力bに、加算操作または減算操作があれば、それを選択し、出力する。もし、加算操作、減算操作のいずれもない場合、無動作を出力する。命令の格納時に、加減算命令を第1命令スロットに格納した場合、第2命令スロットには、乗算命令、無動作命令以外の命令を格納することはできないという制限があるので、入力aと入力bの両方に、同時に加算操作または減算操作が入力されることはない。
【0026】
デコーダ104の出力yから出力された命令の操作内容およびレジスタ変数は、データ転送手段108に入力される。データ転送手段108は、転送操作が入力された場合、図7に従い、レジスタファイル112にあり、レジスタ変数の示すレジスタ間で、データ転送を実行する。その他の操作が入力されても、動作しない。
【0027】
セレクタ106、107から出力された命令の操作内容およびレジスタ変数は、それぞれ、算術演算手段109、110に入力される。算術演算手段109、110は、加算操作、もしくは減算操作が入力された場合、それぞれ、図8、図9に従い、レジスタファイル112にあり、レジスタ変数の示すレジスタに対して、加算もしくは減算を実行する。無動作操作が入力されても、動作しない。
【0028】
デコーダ105の出力yから出力された命令の操作内容およびレジスタ変数は、乗算手段111に入力される。乗算手段111は、乗算操作が入力された場合、図10に従い、レジスタファイル112にあり、レジスタ変数の示すレジスタに対して、乗算を実行する。その他の操作が入力されても、動作しない。
【0029】
このように、本実施の形態の演算処理装置は、第1命令スロットもしくは第2命令スロットに加減算命令が格納された時、デコーダによって、加算と減算にデコードし、2つの命令実行手段グループにある算術演算手段を用いて、加算と減算を実行する。
【0030】
次に、デコーダ104及びデコーダ105について具体的に説明する。
まず、各命令は、図16に示すように、nop,mov,addなどからなる第1フィールドと、操作するレジスタを指定する第2、第3フィールドから構成されている。
【0031】
次に、デコーダ104は、図17に示すように、デコード部1041、1042と制御部1043とマルチプレクサ1044から構成されており、デコード部1041は、命令の第1フィールドを入力し、データ転送命令、加算命令、減算命令、無動作命令に対して、それぞれ転送、加算、減算、無動作の各操作を出力する。デコード部1042は、命令の第1フィールドを入力し、加減算命令に対して、マルチプレクサ1044に加算操作を出力し、出力yに減算操作を出力し、制御部1043に制御信号を送る。マルチプレクサ1044は、デコード部1041でデータ転送命令、加算命令、減算命令、無動作命令のいずれかの命令がデコードされた時は、デコード部1041から出力された操作を出力xに出力し、デコード部1042で加減算命令がデコードされた時は、加算操作を出力xに出力する。制御部1043は、デコード部1042から制御信号が送られない時は、第2、第3フィールドの内容を出力xのそれぞれレジスタ1、レジスタ2に出力し、制御信号が送られる時は、第2、第3フィールドの内容を出力xのそれぞれレジスタ2、レジスタ1に出力するとともに、出力yのそれぞれレジスタ1、レジスタ2にも出力する。
【0032】
また、デコーダ105は、図18に示すように、デコード部1051、1052と制御部1053とマルチプレクサ1054から構成されており、デコード部1051は、命令の第1フィールドを入力し、加算命令、減算命令、乗算命令、無動作命令に対して、それぞれ加算、減算、乗算、無動作の各操作を出力する。デコード部1052は、命令の第1フィールドを入力し、加減算命令に対して、出力xに減算操作を出力し、マルチプレクサ1054に加算操作を出力し、制御部1053に制御信号を送る。マルチプレクサ1054は、デコード部1051で加算命令、減算命令、乗算命令、無動作命令のいずれかの命令がデコードされた時は、デコード部1051から出力された操作を出力yに出力し、デコード部1052で加減算命令がデコードされた時は、加算操作を出力yに出力する。制御部1053は、デコード部1052から制御信号が送られない時は、第2、第3フィールドの内容を出力yのそれぞれレジスタ1、レジスタ2に出力し、制御信号が送られる時は、第2、第3フィールドの内容を出力yのそれぞれレジスタ2、レジスタ1に出力するとともに、出力xのそれぞれレジスタ1、レジスタ2にも出力する。
【0033】
本実施の形態の演算処理装置を用いれば、加減算命令によって、例えば、離散コサイン変換、逆離散コサイン変換等のプログラムを高速に実行することができる。このことを図11から図13を用いて説明する。
【0034】
図11は4×4の離散コサイン変換のプログラムを示す。a[0]〜a[3]は変換前のデータ、c[0]〜c[3]は変換後のデータを示し、f0〜f2は定数を示す。
【0035】
あらかじめ、図12のように、a[0]〜a[3]およびf0、f1-f2、f1+f2、f2の値を、それぞれ、レジスタR0〜R9に格納しておく。
【0036】
図13は図11のプログラムに対応する本実施の形態の演算処理装置の長語命令の命令列を示す。以下、順に説明する。
【0037】
(長語命令1)
(第1命令スロット:加減算命令)
レジスタR1,R2が保持するa[1],a[2]の値に対して、プログラムの2および3の処理を同時に行ない、b[1],b[2]の値をそれぞれレジスタR2,R1に入れる。
【0038】
(第2命令スロット:無動作命令)
第1命令と同時に実行できる命令が存在しないので、無動作命令が挿入されている。
【0039】
(長語命令2)
(第1命令スロット:転送命令)
レジスタR1が保持するb[2]の値をレジスタR8に入れる。
【0040】
(第2命令スロット:加減算命令)
レジスタR0,R3が保持するa[0],a[3]の値に対して、プログラムの1および4の処理を同時に行ない、b[0],b[3]の値をそれぞれレジスタR3,R0に入れる。
【0041】
(長語命令3)
(第1命令スロット:転送命令)
レジスタR0が保持するb[3]の値をレジスタR9に入れる。
【0042】
(第2命令スロット:乗算命令)
レジスタR1の保持するb[2]の値とレジスタR5の保持する(f1-f2)の積をレジスタR1に入れる。
【0043】
(長語命令4)
(第1命令スロット:加算命令)
レジスタR8の保持するb[2]の値とレジスタR9の保持するb[3]の値の和をレジスタR8に入れる。
【0044】
(第2命令スロット:乗算命令)
レジスタR0の保持するb[3]の値とレジスタR6の保持する(f1+f2)の積をレジスタR0に入れる。
【0045】
(長語命令5)
(第1命令スロット:加減算命令)
レジスタR3の保持するb[0]とレジスタR2の保持するb[1]の和と差をそれぞれレジスタR2,R3に入れる。
【0046】
(第2命令スロット:乗算命令)
レジスタR8の保持する(b[2]+b[3])の値とレジスタR7の保持するf2の積をレジスタR8に入れる。
【0047】
(長語命令6)
(第1命令スロット:加算命令)
レジスタR1の保持する(b[2]*(f1-f2))の値とレジスタR8の保持する((b[2]+b[3])*f2)の値の和、すなわち、c[2]の値をレジスタR1に入れる。
【0048】
(第2命令スロット:乗算命令)
レジスタR2の保持する(b[0]+b[1])の値とレジスタR4の保持するf0の積、すなわち、c[0]の値をレジスタR2に入れる。
【0049】
(長語命令7)
(第1命令スロット:減算命令)
レジスタR0の保持する(b[2]*(f1-f2))の値とレジスタR8の保持する((b[2]+b[3])*f2)の値の差、すなわち、c[3]の値をレジスタR0に入れる。
【0050】
(第2命令スロット:乗算命令)
レジスタR3の保持する(b[0]-b[1])の値とレジスタR4の保持するf0の積、すなわち、c[1]の値をレジスタR3に入れる。
【0051】
このように、7個の長語命令で4×4の離散コサイン変換のプログラムを実現することができる。
【0052】
しかし、図14に示すような従来の長語命令型の演算処理装置では、加減算命令を定義できないので、図15に示すように、同じ処理を実行するのに10個の長語命令が必要となる。
【0053】
なお、加減算命令は、第1命令スロット、第2命令スロットのいずれにも置けるとしているが、どちらか一方にしか置けないとしてもよい。
【0054】
また、レジスタには1つのデータを保持するとしているが、例えばレジスタを上位と下位の2つのフィールドに分け、それぞれがレジスタの幅の半分の長さの2つのデータを順序付けて保持する、いわゆるSIMD(Single Instruction Multiple Data)形式にしてもよい。この場合、加算命令、減算命令、加減算命令、および乗算命令は、2つのレジスタの保持する各値について、上位のフィールド同士および下位のフィールド同士、それぞれ加算、減算、加減算、乗算を行い、結果をレジスタのもとのフィールドに格納すればよい。加減算命令については、実施の形態に示したものと同じように2つのレジスタがともに書き換えられる。レジスタを3つ以上のフィールドに分けたSIMD形式であってもよいことは言うまでもない。
【0055】
また、直列に並べられた命令列から、同時に実行できる2つの命令を検出し、それぞれを、第1命令スロット、第2命令スロットに格納した後、各命令を実行する、いわゆるスーパースケーラ型の形式にしてもよい。
【0056】
【発明の効果】
以上のように本発明の演算処理装置は、少なくとも第1と第2の2つの命令スロットを含み、それぞれに命令を格納する命令レジスタと、前記命令レジスタの前記第1の命令スロットに格納された命令を解読する第1のデコーダと、前記命令レジスタの前記第2の命令スロットに格納された命令を解読する第2のデコーダと、前記第1のデコーダによって制御され、少なくとも第1の単位実行手段からなる第1の命令実行手段グループと、前記第2のデコーダによって制御され、少なくとも第2と第3の単位実行手段からなる第2の命令実行手段グループとを備えた演算処理装置であって、前記第1のデコーダが出力する制御情報は前記第1の命令実行手段グループおよび前記第2の命令実行手段グループに入力され、前記第1のデコーダが前記第1の命令スロットにある特定命令を検出すると、前記第1のデコーダは、前記特定命令を解読するとともに、前記解読結果に基づいて前記制御情報を出力して前記第1の単位実行手段と前記第2の単位実行手段とを同時に制御し、前記第2の単位実行手段は、前記制御情報に基づき、前記特定命令により定められた命令実行を行うことを特徴とする。
【0057】
これにより、第1の命令スロットにある特定命令を、第1の単位実行手段と、本来第2の命令スロットの命令で使用される第2の単位実行手段とを用いて実行することができ、ハードウェアの増大を抑えることができる。
【0058】
また本発明の演算処理装置は、少なくとも第1と第2の2つの命令スロットを含み、それぞれに命令を格納する命令レジスタと、前記命令レジスタの前記第1の命令スロットに格納された命令を解読する第1のデコーダと、前記命令レジスタの前記第2の命令スロットに格納された命令を解読する第2のデコーダと、前記第1のデコーダによって制御され、少なくとも第1と第2の単位実行手段からなる第1の命令実行手段グループと、前記第2のデコーダによって制御され、少なくとも第3と第4の単位実行手段からなる第2の命令実行手段グループとを備えた演算処理装置であって、前記第1のデコーダが出力する第1の制御情報は前記第1の命令実行手段グループおよび前記第2の命令実行手段グループに入力され、前記第2のデコーダが出力する第2の制御情報は前記第1の命令実行手段グループおよび前記第2の命令実行手段グループに入力され、前記第1のデコーダが前記第1の命令スロットにある特定命令を検出すると、前記第1のデコーダは、前記特定命令を解読するとともに、前記解読結果に基づいて前記第1の制御情報を出力して前記第2の単位実行手段と前記第3の単位実行手段とを同時に制御し、前記第3の単位実行手段は、前記第1の制御情報に基づき、前記特定命令により定められた命令実行を行い、前記第2のデコーダが前記第2の命令スロットにある前記特定命令を検出すると、前記第2のデコーダは、前記特定命令を解読するとともに、前記解読結果に基づいて前記第2の制御情報を出力して前記第2の単位実行手段と前記第3の単位実行手段とを同時に制御し、前記第2の単位実行手段は、前記第2の制御情報に基づき、前記特定命令により定められた命令実行を行うことを特徴とする。
【0059】
これにより、特定命令が第1の命令スロットにある場合は、第2の単位実行手段と、本来第2の命令スロットの命令で使用される第3の単位実行手段とを用いて実行することができ、特定命令が第2の命令スロットにある場合は、本来第1の命令スロットの命令で使用される第2の単位実行手段と、第3の単位実行手段とを用いて実行することができる。従って、上記の効果に加えて、特定命令を第1のスロットと第2のスロットとのいずれにも配置できるため命令のスケジューリングの自由度が増して並列度が増加し、性能が向上するという効果を有する。
【図面の簡単な説明】
【図1】本発明の実施の形態の演算処理装置の概念図
【図2】同実施の形態の命令スロットに格納される命令の種類を示す図
【図3】同実施の形態のデコーダ104の動作を示す図
【図4】同実施の形態のデコーダ105の動作を示す図
【図5】同実施の形態のセレクタ106の動作を示す図
【図6】同実施の形態のセレクタ107の動作を示す図
【図7】同実施の形態のデータ転送手段108の動作を示す図
【図8】同実施の形態の算術演算手段109の動作を示す図
【図9】同実施の形態の算術演算手段110の動作を示す図
【図10】同実施の形態の乗算手段111の動作を示す図
【図11】同実施の形態の離散コサイン変換のプログラムを示す図
【図12】同実施の形態のレジスタが格納するプログラム変数を示す図
【図13】同実施の形態の離散コサイン変換の変換を実現する長語命令の命令列を示す図
【図14】従来の演算処理装置の概念図
【図15】同従来の演算処理装置の離散コサイン変換の変換を実現する長語命令の命令列を示す図
【図16】各命令の構成図
【図17】デコーダ104のブロック図
【図18】デコーダ105のブロック図
【符号の説明】
101 2つの命令スロットを持つ長語命令の命令レジスタ
102、103 命令実行手段グループ
104、105 命令デコーダ
106、107 セレクタ
108 データ転送手段
109、110 算術演算手段
111 乗算手段
112 レジスタファイル
1041、1042、1051、1052 デコード部
1043、1053 制御部
1044、1054 マルチプレクサ
1401 2つの命令スロットを持つ長語命令の命令レジスタ
1402、1403 命令実行手段グループ
1404、1405 命令デコーダ
1408 データ転送手段
1409、1410 算術演算手段
1411 乗算手段
1412 レジスタファイル

Claims (13)

  1. 少なくとも第1と第2の2つの命令スロットを含み、それぞれに命令を格納する命令レジスタと、
    前記命令レジスタの前記第1の命令スロットに格納された命令を解読する第1のデコーダと、
    前記命令レジスタの前記第2の命令スロットに格納された命令を解読する第2のデコーダと、
    前記第1のデコーダによって制御され、少なくとも第1の単位実行手段からなる第1の命令実行手段グループと、
    前記第2のデコーダによって制御され、少なくとも第2と第3の単位実行手段からなる第2の命令実行手段グループとを備えた演算処理装置であって、
    前記第1のデコーダが出力する制御情報は前記第1の命令実行手段グループおよび前記第2の命令実行手段グループに入力され、
    前記第1のデコーダが前記第1の命令スロットにある特定命令を検出すると、
    前記第1のデコーダは、前記特定命令を解読するとともに、前記解読結果に基づいて前記制御情報を出力して前記第1の単位実行手段と前記第2の単位実行手段とを同時に制御し、
    前記第2の単位実行手段は、前記制御情報に基づき、前記特定命令により定められた命令実行を行う
    ことを特徴とする演算処理装置。
  2. 少なくとも第1と第2の2つの命令スロットを含み、それぞれに命令を格納する命令レジスタと、
    前記命令レジスタの前記第1の命令スロットに格納された命令を解読する第1のデコーダと、
    前記命令レジスタの前記第2の命令スロットに格納された命令を解読する第2のデコーダと、
    前記第1のデコーダによって制御され、少なくとも第1の単位実行手段からなる第1の命令実行手段グループと、
    前記第2のデコーダによって制御され、少なくとも第2と第3の単位実行手段からなる第2の命令実行手段グループと、
    前記第1のデコーダが出力する第1の制御情報と前記第2のデコーダが出力する第2の制御情報とを入力し、前記第1の制御情報もしくは前記第2の制御情報のいずれか1つを選択し、前記第2の単位実行手段に出力するセレクタと
    を備えた演算処理装置であって、
    前記第1のデコーダが前記第1の命令スロットにある特定命令を検出すると、
    前記第1のデコーダは、前記特定命令を解読するとともに、前記解読結果に基づいて前記第1の制御情報を出力して前記第1の単位実行手段と前記第2の単位実行手段とを同時に制御し、
    前記セレクタは前記第1の制御情報を選択して前記第2の単位実行手段に出力し、
    前記第2の単位実行手段は、前記第1の制御情報に基づき、前記特定命令により定められた命令実行を行う
    ことを特徴とする演算処理装置。
  3. 前記第1のデコーダが前記第1の命令スロットにある前記特定命令を解読するとき、
    前記第2のデコーダは、前記第2の命令スロットにあって、前記特定命令と並んで配置される命令を解読するとともに、前記解読結果に基づいて前記第3の単位実行手段を制御することを特徴とする請求項1から2のいずれか1項に記載の演算処理装置。
  4. 少なくとも第1と第2の2つの命令スロットを含み、それぞれに命令を格納する命令レジスタと、
    前記命令レジスタの前記第1の命令スロットに格納された命令を解読する第1のデコーダと、
    前記命令レジスタの前記第2の命令スロットに格納された命令を解読する第2のデコーダと、
    前記第1のデコーダによって制御され、少なくとも第1と第2の単位実行手段からなる第1の命令実行手段グループと、
    前記第2のデコーダによって制御され、少なくとも第3と第4の単位実行手段からなる第2の命令実行手段グループとを備えた演算処理装置であって、
    前記第1のデコーダが出力する第1の制御情報は前記第1の命令実行手段グループおよび前記第2の命令実行手段グループに入力され、
    前記第2のデコーダが出力する第2の制御情報は前記第1の命令実行手段グループおよび前記第2の命令実行手段グループに入力され、
    前記第1のデコーダが前記第1の命令スロットにある特定命令を検出すると、
    前記第1のデコーダは、前記特定命令を解読するとともに、前記解読結果に基づいて前記第1の制御情報を出力して前記第2の単位実行手段と前記第3の単位実行手段とを同時に制御し、
    前記第3の単位実行手段は、前記第1の制御情報に基づき、前記特定命令により定められた命令実行を行い、
    前記第2のデコーダが前記第2の命令スロットにある前記特定命令を検出すると、
    前記第2のデコーダは、前記特定命令を解読するとともに、前記解読結果に基づいて前記第2の制御情報を出力して前記第2の単位実行手段と前記第3の単位実行手段とを同時に制御し、
    前記第2の単位実行手段は、前記第2の制御情報に基づき、前記特定命令により定められた命令実行を行う
    ことを特徴とする演算処理装置。
  5. 少なくとも第1と第2の2つの命令スロットを含み、それぞれに命令を格納する命令レジスタと、
    前記命令レジスタの前記第1の命令スロットに格納された命令を解読する第1のデコーダと、
    前記命令レジスタの前記第2の命令スロットに格納された命令を解読する第2のデコーダと、
    前記第1のデコーダによって制御され、少なくとも第1と第2の単位実行手段からなる第1の命令実行手段グループと、
    前記第2のデコーダによって制御され、少なくとも第3と第4の単位実行手段からなる第2の命令実行手段グループと、
    前記第1のデコーダが出力する第1の制御情報と前記第2のデコーダが出力する第2の制御情報とを入力し、前記第1の制御情報もしくは前記第2の制御情報のいずれか1つを選択し、前記第2の単位実行手段に出力する第1のセレクタと、
    前記第1のデコーダが出力する第1の制御情報と前記第2のデコーダが出力する第2の制御情報とを入力し、前記第1の制御情報もしくは前記第2の制御情報のいずれか1つを選択し、前記第3の単位実行手段に出力する第2のセレクタとを備えた演算処理装置であって、
    前記第1のデコーダが前記第1の命令スロットにある特定命令を検出すると、
    前記第1のデコーダは、前記特定命令を解読するとともに、前記解読結果に基づいて前記第1の制御情報を出力して前記第2の単位実行手段と前記第3の単位実行手段とを同時に制御し、
    前記第2のセレクタは前記第1の制御情報を選択して前記第3の単位実行手段に出力し、
    前記第3の単位実行手段は、前記第1の制御情報に基づき、前記特定命令により定められた命令実行を行い、
    前記第2のデコーダが前記第2の命令スロットにある前記特定命令を検出すると、
    前記第2のデコーダは、前記特定命令を解読するとともに、前記解読結果に基づいて前記第2の制御情報を出力して前記第2の単位実行手段と前記第3の単位実行手段とを同時に制御し、
    前記第1のセレクタは前記第2の制御情報を選択して前記第2の単位実行手段に出力し、
    前記第2の単位実行手段は、前記第2の制御情報に基づき、前記特定命令により定められた命令実行を行う
    ことを特徴とする演算処理装置。
  6. 前記第1のデコーダが前記第1の命令スロットにある前記特定命令を解読するとき、
    前記第2のデコーダは、前記第2の命令スロットにあって、前記特定命令と並んで配置される命令を解読するとともに、前記解読結果に基づいて前記第4の単位実行手段を制御し、
    前記第2のデコーダが前記第2の命令スロットにある前記特定命令を解読するとき、
    前記第1のデコーダは、前記第1の命令スロットにあって、前記特定命令と並んで配置される命令を解読するとともに、前記解読結果に基づいて前記第1の単位実行手段を制御することを特徴とする請求項4から5のいずれか1項に記載の演算処理装置。
  7. 前記特定命令は、2つのオペランドを共通に用いて、前記オペランドに対する加算操作と減算操作とを行う命令であることを特徴とする請求項1からのいずれか1項に記載の演算処理装置。
  8. 複数の命令を並列に実行する演算処理装置であって、
    前記演算処理装置は、命令を実行する第1の単位実行手段、第2の単位実行手段および第3の単位実行手段を備え、
    特定命令以外の複数の命令を並列実行する場合、1つの命令を前記第1の単位実行手段で、他の1つの命令を前記第2の単位実行手段で、並列に実行し、
    前記特定命令を含む複数の命令を並列実行する場合、前記特定命令でない1つの命令を前記第3の単位実行手段で、前記特定命令を前記第1の単位実行手段および前記第2の単位実行手段で、並列に実行することを特徴とする演算処理装置。
  9. 前記演算処理装置は、1つ以上の単位実行手段からなる複数の命令実行手段グループを有し、
    少なくとも前記第1の単位実行手段と前記第2の単位実行手段とは異なる前記命令実行手段グループに属し、
    特定命令以外の複数の命令は、異なる前記命令実行手段グループに属する単位実行手段で並列に実行可能である請求項8記載の演算処理装置。
  10. 前記演算処理装置は、1つ以上の単位実行手段からなる複数の命令実行手段グループを有し、
    前記第1の単位実行手段は、前記第3の単位実行手段とは異なる前記命令実行手段グループに属し、
    特定命令以外の複数の命令を並列実行する場合、1つの命令を前記第1の単位実行手段で、他の1つの命令を前記第3の単位実行手段で、並列に実行することを特徴とする請求項8記載の演算処理装置。
  11. 前記第1の単位実行手段と前記第2の単位実行手段とが異なる前記命令実行手段グループに属することを特徴とする請求項10記載の演算処理装置。
  12. 前記演算処理装置は、さらに第1の命令解読手段および第2の命令解読手段を有し、
    特定命令以外の複数の命令を並列実行する場合、1つの命令を解読した前記第1の命令解読手段が出力する実行制御信号が前記第1の単位実行手段を制御し、他の1つの命令を解読した前記第2の命令解読手段が出力する実行制御信号が前記第2の単位実行手段を制御し、
    前記特定命令を含む複数の命令を並列実行する場合、前記特定命令でない1つの命令を 解読した前記第2の命令解読手段が出力する実行制御信号が前記第3の単位実行手段を制御し、前記特定命令を解読した前記第1の命令解読手段が出力する実行制御信号が前記第1の単位実行手段および前記第2の単位実行手段を制御する請求項8から11いずれか記載の演算処理装置。
  13. 前記第1の命令解読手段または前記第2の命令解読手段が出力するいずれか一方の実行制御信号を選択して前記第1の単位実行手段へと入力する第1のセレクタと、
    前記第1の命令解読手段または前記第2の命令解読手段が出力するいずれか一方の実行制御信号を選択して前記第2の単位実行手段へと入力する第2のセレクタとをさらに備え、
    前記第1の単位実行手段および前記第2の単位実行手段は、各々、入力された実行制御信号に基づいて命令実行を行うことを特徴とする請求項12記載の演算処理装置。
JP08336998A 1998-03-30 1998-03-30 演算処理装置 Expired - Lifetime JP3541669B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP08336998A JP3541669B2 (ja) 1998-03-30 1998-03-30 演算処理装置
US09/280,363 US6360312B1 (en) 1998-03-30 1999-03-29 Processor for making more efficient use of idling components and program conversion apparatus for the same
US09/808,306 US6966056B2 (en) 1998-03-30 2001-03-14 Processor for making more efficient use of idling components and program conversion apparatus for the same
US10/653,786 US6964041B2 (en) 1998-03-30 2003-09-03 Processor for making more efficient use of idling components and program conversion apparatus for the same
US11/144,132 US20050223195A1 (en) 1998-03-30 2005-06-03 Processor for making more efficient use of idling components and program conversion apparatus for the same
US12/207,133 US20090013161A1 (en) 1998-03-30 2008-09-09 Processor for making more efficient use of idling components and program conversion apparatus for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08336998A JP3541669B2 (ja) 1998-03-30 1998-03-30 演算処理装置

Publications (2)

Publication Number Publication Date
JPH11282679A JPH11282679A (ja) 1999-10-15
JP3541669B2 true JP3541669B2 (ja) 2004-07-14

Family

ID=13800523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08336998A Expired - Lifetime JP3541669B2 (ja) 1998-03-30 1998-03-30 演算処理装置

Country Status (2)

Country Link
US (5) US6360312B1 (ja)
JP (1) JP3541669B2 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3790607B2 (ja) 1997-06-16 2006-06-28 松下電器産業株式会社 Vliwプロセッサ
JP3541669B2 (ja) * 1998-03-30 2004-07-14 松下電器産業株式会社 演算処理装置
US6446195B1 (en) * 2000-01-31 2002-09-03 Intel Corporation Dyadic operations instruction processor with configurable functional blocks
EP1429244A4 (en) * 2001-09-18 2006-10-04 Asahi Chemical Ind COMPILER
US7200738B2 (en) 2002-04-18 2007-04-03 Micron Technology, Inc. Reducing data hazards in pipelined processors to provide high processor utilization
US7313671B2 (en) * 2002-08-16 2007-12-25 Koninklijke Philips Electronics, N.V. Processing apparatus, processing method and compiler
JP4487479B2 (ja) * 2002-11-12 2010-06-23 日本電気株式会社 Simd命令シーケンス生成方法および装置ならびにsimd命令シーケンス生成用プログラム
JP4283131B2 (ja) * 2004-02-12 2009-06-24 パナソニック株式会社 プロセッサ及びコンパイル方法
US8736620B2 (en) 2004-05-14 2014-05-27 Nvidia Corporation Kill bit graphics processing system and method
US8860722B2 (en) 2004-05-14 2014-10-14 Nvidia Corporation Early Z scoreboard tracking system and method
US8743142B1 (en) 2004-05-14 2014-06-03 Nvidia Corporation Unified data fetch graphics processing system and method
US8687010B1 (en) 2004-05-14 2014-04-01 Nvidia Corporation Arbitrary size texture palettes for use in graphics systems
US8736628B1 (en) 2004-05-14 2014-05-27 Nvidia Corporation Single thread graphics processing system and method
US7681187B2 (en) * 2005-03-31 2010-03-16 Nvidia Corporation Method and apparatus for register allocation in presence of hardware constraints
US8537168B1 (en) 2006-11-02 2013-09-17 Nvidia Corporation Method and system for deferred coverage mask generation in a raster stage
US8108845B2 (en) * 2007-02-14 2012-01-31 The Mathworks, Inc. Parallel programming computing system to dynamically allocate program portions
US8578387B1 (en) * 2007-07-31 2013-11-05 Nvidia Corporation Dynamic load balancing of instructions for execution by heterogeneous processing engines
US8599208B2 (en) * 2007-08-15 2013-12-03 Nvidia Corporation Shared readable and writeable global values in a graphics processor unit pipeline
US8314803B2 (en) 2007-08-15 2012-11-20 Nvidia Corporation Buffering deserialized pixel data in a graphics processor unit pipeline
US8521800B1 (en) 2007-08-15 2013-08-27 Nvidia Corporation Interconnected arithmetic logic units
US8736624B1 (en) 2007-08-15 2014-05-27 Nvidia Corporation Conditional execution flag in graphics applications
US9183607B1 (en) 2007-08-15 2015-11-10 Nvidia Corporation Scoreboard cache coherence in a graphics pipeline
US20090046105A1 (en) * 2007-08-15 2009-02-19 Bergland Tyson J Conditional execute bit in a graphics processor unit pipeline
US8775777B2 (en) * 2007-08-15 2014-07-08 Nvidia Corporation Techniques for sourcing immediate values from a VLIW
US9304775B1 (en) 2007-11-05 2016-04-05 Nvidia Corporation Dispatching of instructions for execution by heterogeneous processing engines
US20090133022A1 (en) * 2007-11-15 2009-05-21 Karim Faraydon O Multiprocessing apparatus, system and method
US20090292908A1 (en) * 2008-05-23 2009-11-26 On Demand Electronics Method and arrangements for multipath instruction processing
US9411595B2 (en) 2012-05-31 2016-08-09 Nvidia Corporation Multi-threaded transactional memory coherence
US9824009B2 (en) 2012-12-21 2017-11-21 Nvidia Corporation Information coherency maintenance systems and methods
US10102142B2 (en) 2012-12-26 2018-10-16 Nvidia Corporation Virtual address based memory reordering
US9317251B2 (en) 2012-12-31 2016-04-19 Nvidia Corporation Efficient correction of normalizer shift amount errors in fused multiply add operations
US9569385B2 (en) 2013-09-09 2017-02-14 Nvidia Corporation Memory transaction ordering

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3164915B2 (ja) * 1992-09-21 2001-05-14 株式会社日立製作所 データ処理装置及びそのデータ処理方法
US5579520A (en) * 1994-05-13 1996-11-26 Borland International, Inc. System and methods for optimizing compiled code according to code object participation in program activities
US5758176A (en) * 1994-09-28 1998-05-26 International Business Machines Corporation Method and system for providing a single-instruction, multiple-data execution unit for performing single-instruction, multiple-data operations within a superscalar data processing system
US6151618A (en) * 1995-12-04 2000-11-21 Microsoft Corporation Safe general purpose virtual machine computing system
JP3623840B2 (ja) * 1996-01-31 2005-02-23 株式会社ルネサステクノロジ データ処理装置及びマイクロプロセッサ
TW470915B (en) * 1996-03-12 2002-01-01 Matsushita Electric Industrial Co Ltd Optimization apparatus which removes transfer instructions by a global analysis of equivalence relations
US5752072A (en) 1996-05-09 1998-05-12 International Business Machines Corporation Sorting scheme without compare and branch instructions
US5850553A (en) * 1996-11-12 1998-12-15 Hewlett-Packard Company Reducing the number of executed branch instructions in a code sequence
US5828897A (en) * 1996-12-19 1998-10-27 Raytheon Company Hybrid processor and method for executing incrementally upgraded software
US5909567A (en) * 1997-02-28 1999-06-01 Advanced Micro Devices, Inc. Apparatus and method for native mode processing in a RISC-based CISC processor
US5941983A (en) * 1997-06-24 1999-08-24 Hewlett-Packard Company Out-of-order execution using encoded dependencies between instructions in queues to determine stall values that control issurance of instructions from the queues
US5922065A (en) * 1997-10-13 1999-07-13 Institute For The Development Of Emerging Architectures, L.L.C. Processor utilizing a template field for encoding instruction sequences in a wide-word format
US5974537A (en) * 1997-12-29 1999-10-26 Philips Electronics North America Corporation Guard bits in a VLIW instruction control routing of operations to functional units allowing two issue slots to specify the same functional unit
US6076154A (en) * 1998-01-16 2000-06-13 U.S. Philips Corporation VLIW processor has different functional units operating on commands of different widths
US6219776B1 (en) 1998-03-10 2001-04-17 Billions Of Operations Per Second Merged array controller and processing element
JP3541669B2 (ja) * 1998-03-30 2004-07-14 松下電器産業株式会社 演算処理装置
US6718457B2 (en) * 1998-12-03 2004-04-06 Sun Microsystems, Inc. Multiple-thread processor for threaded software applications
US6542991B1 (en) * 1999-05-11 2003-04-01 Sun Microsystems, Inc. Multiple-thread processor with single-thread interface shared among threads
US6675376B2 (en) * 2000-12-29 2004-01-06 Intel Corporation System and method for fusing instructions

Also Published As

Publication number Publication date
US20010032304A1 (en) 2001-10-18
US20050177704A1 (en) 2005-08-11
JPH11282679A (ja) 1999-10-15
US20050223195A1 (en) 2005-10-06
US6360312B1 (en) 2002-03-19
US6964041B2 (en) 2005-11-08
US20090013161A1 (en) 2009-01-08
US6966056B2 (en) 2005-11-15

Similar Documents

Publication Publication Date Title
JP3541669B2 (ja) 演算処理装置
US6922716B2 (en) Method and apparatus for vector processing
US8521997B2 (en) Conditional execution with multiple destination stores
JP5647859B2 (ja) 乗累算演算を実行するための装置および方法
CN111433741B (zh) 数据处理设备和数据处理方法
US20070271325A1 (en) Matrix multiply with reduced bandwidth requirements
EP0118830A2 (en) Pipelined processor
JPH117387A5 (ja)
WO2015114305A1 (en) A data processing apparatus and method for executing a vector scan instruction
JP2002333978A (ja) Vliw型プロセッサ
US4683547A (en) Special accumulate instruction for multiple floating point arithmetic units which use a putaway bus to enhance performance
EP3329363B1 (en) Vector arithmethic instruction
EP1735700B1 (en) Apparatus and method for control processing in dual path processor
WO2017021675A1 (en) Element size increasing instruction
JP2004342102A (ja) スーパースカラ・プロセッサにおける複合命令のマルチパイプ・ディスパッチおよび実行
JPH04336378A (ja) 情報処理装置
JPH03286332A (ja) デジタルデータ処理装置
US20100115232A1 (en) Large integer support in vector operations
JP3619343B2 (ja) データ処理装置と方法
US20060206695A1 (en) Data movement within a processor
KR20220090379A (ko) 프로세서 및 그 연산 처리 방법
JP2002091929A (ja) Simd型並列処理装置
JP2560120B2 (ja) 演算装置
JPH04349570A (ja) 情報処理装置
JPH0758459B2 (ja) マイクロプログラム制御装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040216

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: 20040309

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040322

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

Free format text: PAYMENT UNTIL: 20080409

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090409

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100409

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110409

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120409

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140409

Year of fee payment: 10

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term