JP2003005954A - データ処理装置およびその制御方法 - Google Patents

データ処理装置およびその制御方法

Info

Publication number
JP2003005954A
JP2003005954A JP2001191346A JP2001191346A JP2003005954A JP 2003005954 A JP2003005954 A JP 2003005954A JP 2001191346 A JP2001191346 A JP 2001191346A JP 2001191346 A JP2001191346 A JP 2001191346A JP 2003005954 A JP2003005954 A JP 2003005954A
Authority
JP
Japan
Prior art keywords
instruction
general
processing unit
data
dedicated
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
JP2001191346A
Other languages
English (en)
Other versions
JP5372307B2 (ja
Inventor
Takeshi Sato
武 佐藤
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.)
Pacific Design Inc
Original Assignee
Pacific Design Inc
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 Pacific Design Inc filed Critical Pacific Design Inc
Priority to JP2001191346A priority Critical patent/JP5372307B2/ja
Priority to US10/171,750 priority patent/US20030009652A1/en
Priority to GB0214389A priority patent/GB2380283B/en
Publication of JP2003005954A publication Critical patent/JP2003005954A/ja
Application granted granted Critical
Publication of JP5372307B2 publication Critical patent/JP5372307B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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
    • G06F9/3889Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • G06F9/3891Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • 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/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 Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 専用処理ユニットVUと汎用処理ユニットP
Uを備えたVUPUプロセッサにおいて、さらに柔軟性
が高く、処理速度の速いプロセッサを提供する。 【解決手段】 本発明においては、VUとPUとの協調
処理を規定した協調命令を導入する。すなわち、フェッ
チした命令がPU命令であるとPUデコードステージ命
令をPUに供給し、VU命令であるとVUデコードステ
ージ命令をVUに供給し、VU命令がさらに協調命令で
あると、そのデコードステージ命令をPUに供給する。
協調命令により、PUのリソースをVUに開放すること
が可能となるので、VUとPUとの間のデータ転送に必
要なオーバヘッドを実質的になくし、VUでPUのリソ
ースを利用できるようになるので、さらに高いレベルで
柔軟性と高速性とを同時に実現できるプロセッサを提供
できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、専用回路を備えた
データ処理装置に関するものである。
【0002】
【従来の技術】アプリケーションに特化したプロセッサ
の要求が高まっている。例えば、画像処理、ネットワー
ク処理といった分野では各処理に特化した専用回路と、
その専用回路を駆動する専用命令を装着可能とし、個々
のアプリケーションの仕様に柔軟に対応できるプロセッ
サがコストパフォーマンス上有利である。そのようなプ
ロセッサについては本願出願人も、特開2000−20
7202号にて提案している。
【0003】
【発明が解決しようとする課題】アプリケーションの仕
様に柔軟に対応できるプロセッサにおける難しさの1つ
は、ユーザの要求、すなわち要求仕様に対し、いかに自
由度の高い専用命令(ユーザ専用命令)が装着できるか
ということと、その専用命令をいかにオーバヘッドの少
ない状態で実行できるかということのトレードにあると
いえる。
【0004】上記の特開2000−207202号に開
示されたプロセッサは、専用処理ユニット(専用データ
処理ユニット、以降においてはVU)と、汎用処理が可
能な汎用処理ユニット(基本実行ユニットあるいはプロ
セッサユニット、以降においてはPU)を備えている。
したがって、汎用処理ユニットPUをベースとした汎用
処理機能に加えて、ユーザの要求仕様に対応した処理に
特化した専用回路を極めて高い自由度で装着でき、ユー
ザが定義した専用命令を実装することが可能となってい
る。さらに、PUおよびVUが共通に参照できるレジス
タが用意されており、MOVE命令などのレジスタ転送
命令を実行するだけでPUとVUとの間でのデータ転送
が可能となっており、VUとして、PUとのデータ交換
を含めた極めて高い自由度の専用命令を実装できるアー
キテクチャとなっている。
【0005】近年、画像処理あるいはネットワーク処理
といったリアルタイムな処理が要求される分野では、さ
らに高いレベルで高速処理あるいはリアルタイムな処理
性能が要求されつつある。たとえば、レジスタ転送を採
用している上記のプロセッサにおいて、VUにて、PU
のデータに対してユーザ独自の専用命令によりデータ処
理を行う場合、まず、PUからデータを転送し、演算結
果を再びVUから転送するために少なくとも2サイクル
の処理が基本的に必要である。VUにおける処理内容が
例えば数十クロック程度の多数のクロックを消費するの
であれば、VUとPUの間のデータ転送に費やされるク
ロックは、その処理で消費されるクロックに対する比率
が小さいのでそれほど問題にはならない。しかしなが
ら、VUの処理が積和演算を基本とするもので数クロッ
クで終えてしまうような場合には、データ転送に費やさ
れるクロックが極めて大きなオーバヘッドとして見えて
くる。特に、プロセッサの処理速度を向上するために、
専用回路化して専用命令で実行可能とする処理の範囲を
増大すると、専用回路の処理で消費されるクロック数は
減少する傾向となり、データ転送のオーバヘッドが増大
しやすい。
【0006】また、PUとVUとで共通に参照できるレ
ジスタを採用した方法は、汎用性は高いが、PUおよび
VUの内部レジスタからデータ転送用のレジスタへ転送
するだけで1サイクルを消費するので、VUとPUとの
間でデータ転送をしようとすると往復で合計4サイクル
を消費する。したがって、データ転送で消費されるクロ
ック数を削減することにより大幅に処理速度を向上でき
る。しかしながら、PUの構成をVUの構成に合わせて
変形することは、PUの汎用性を犠牲にすることにな
り、ユーザの仕様に合わせて自由な構成のVUを実装す
るためのプラットフォームとしての価値が低下する。さ
らに、PUも含めて設計しなおすことになると、プロセ
ッサの開発期間とコストが増加することになり経済的な
解決策でもない。
【0007】そこで、本発明においては、PUの汎用性
を犠牲にすることなく、VUとPUとのデータ転送のオ
ーバヘッドを削減可能なデータ処理装置およびその制御
方法を提供することを目的としている。そして、VUと
PUの間のデータ転送に伴うクロック消費を表面に現さ
ずに、あるいはほとんど現さずにVUにおける処理を実
行することができるデータ処理装置およびその制御方法
を提供することを目的としている。
【0008】
【課題を解決するための手段】本発明においては、専用
処理ユニットにおける処理を規定した専用命令と、汎用
処理ユニットにおける処理を規定した汎用命令に加え、
専用処理ユニットおよび汎用処理ユニットにおける協調
処理を規定した協調命令を設ける。そして、特定のデー
タ処理に適した専用回路を備えた専用処理ユニットと、
汎用のデータ処理に適した汎用処理ユニットと、コード
メモリよりフェッチした命令コードが専用処理ユニット
における処理を規定した専用命令であれば専用処理ユニ
ットに対し専用命令またはそれをデコードした命令を供
給し、命令コードが汎用処理ユニットにおける処理を規
定した汎用命令であれば汎用処理ユニットに対し汎用命
令またはそれをデコードした命令を供給し、さらに、命
令コードが専用処理ユニットおよび汎用処理ユニットに
おける協調処理を規定した協調命令であれば専用処理ユ
ニットおよび汎用処理ユニットに対し協調命令またはそ
れをデコードした命令を供給するフェッチユニットとを
有するデータ処理装置を提供する。
【0009】また、本発明においては、コードメモリよ
り命令コードをフェッチするステップと、フェッチした
命令コードが、特定のデータ処理に適した専用回路を備
えた専用処理ユニットにおける処理を規定した専用命令
であれば専用処理ユニットに対し専用命令またはそれを
デコードした命令を供給するステップと、フェッチした
命令コードが、汎用のデータ処理に適した汎用処理ユニ
ットにおける処理を規定した汎用命令であれば汎用処理
ユニットに対し汎用命令またはそれをデコードした命令
を供給するステップと、フェッチした命令コードが専用
処理ユニットおよび汎用処理ユニットにおける協調処理
を規定した協調命令であれば専用処理ユニットおよび汎
用処理ユニットに対し協調命令またはそれをデコードし
た命令を供給するステップとを有するデータ処理装置の
制御方法を提供する。
【0010】このデータ処理装置またはその制御方法を
採用することにより、専用命令と、汎用命令と、協調命
令とを有するプログラムを適当な記録媒体、たとえば、
コードROMあるいはRAMなどに記録して提供するこ
とができる。そして、データ処理装置あるいはその制御
方法においては、フェッチユニットまたはフェッチする
ステップで、専用命令と、汎用命令と、協調命令とを有
するプログラムから、専用命令、汎用命令および協調命
令が分岐なども含めて配列された順番にフェッチされ、
専用処理ユニットあるいは汎用処理ユニットに供給され
る。したがって、プログラムレベルで、汎用処理ユニッ
トと専用処理ユニットにおける処理の順番を協調して制
御することが可能である。したがって、これらのユニッ
ト間で同期を取る特殊な回路などを設けなくても、汎用
処理ユニットと専用処理ユニットの並列処理も含めて制
御することができる。複数の専用処理ユニットを有する
データ処理装置においては、複数の専用処理ユニットの
並列処理も含めてプログラムレベルで制御することがで
きる。このため、汎用処理ユニットと専用処理ユニット
における処理を規定した協調命令を設けることにより、
汎用処理ユニットと専用処理ユニットとを同期させて共
通の処理を実行することが可能であり、汎用処理ユニッ
トのハードウェア資源あるいはその一部と、専用処理ユ
ニットのハードウェア資源あるいはその一部とで構成さ
れるデータパスを用いて処理を行うことが可能となる。
【0011】したがって、汎用処理ユニットから共通の
レジスタなどを介してデータを専用処理ユニットに転送
しなくても、汎用処理ユニットの内部レジスタなどの資
源と、専用処理ユニットの演算器などの資源とからなる
データパスにより同じ処理が可能であり、その処理結果
をデータ転送しなくても汎用処理ユニットに戻すことが
できる。たとえば、汎用処理ユニットの内部レジスタに
記録されたデータを専用処理ユニットの専用回路で処理
し、その結果を再び汎用処理ユニットの内部レジスタに
格納する処理が、フリップフロップなどが介在したとき
の遅延を除けば、専用処理ユニット内にデータがある条
件で専用回路において処理するのと同じサイクルで実行
することが可能である。したがって、データ転送で消費
されるクロック数を削減でき、データ転送などのコマン
ドは不要となるので、プログラム上ではデータ転送のた
めに消費されるサイクルが現れないようにすることがで
きる。
【0012】協調命令を必要とするか否かは、本発明に
係るデータ処理装置で実現しようとしているアプリケー
ションの仕様などに依存する。しかしながら、汎用処理
ユニットの標準的なアーキテクチャあるいは制御コマン
ドとして協調命令を実現できるようになっていれば、仕
様によって開発あるいは設計される専用処理ユニットを
搭載するプラットフォームとしての汎用処理ユニットの
汎用性を犠牲にしないで、本発明の効果を得ることがで
きる。
【0013】このように、本発明のデータ処理装置およ
びその制御方法においては、プログラムレベルで、汎用
処理ユニットあるいは専用処理ユニットが相互のハード
ウェア資源を用いて処理を行うことができる。専用処理
ユニットは、実装する仕様によって異なる専用回路を備
える可能性が高いので、汎用処理ユニットの処理を規定
した汎用命令的な意味で、専用処理ユニットの資源の一
部を利用する協調命令を定義することはそれほどのメリ
ットをもたらさない可能性が高い。これに対し、汎用処
理ユニットとして提供されるハードウェア資源は常に使
用可能なものであり、専用処理ユニットの処理を規定し
た専用命令的な意味で、汎用処理ユニットの資源あるい
はその一部を利用する協調命令を定義することは、汎用
処理と専用処理との並列性を犠牲にすることになるが、
専用回路の一部として汎用処理ユニットの資源を利用で
きるので、重複したハードウェア資源を省略することが
可能となり、専用処理ユニットをコンパクトにすること
ができる。さらに、専用回路の一部として汎用処理ユニ
ットの汎用的な回路構成を、無理なく取り込むことがで
きるので、専用命令の自由度を大幅に広げることができ
る。そして、汎用処理ユニットと専用処理ユニットの間
で個別の処理としてデータ転送を行う必要がなくなるの
で、データ転送に伴うオーバヘッドも大幅に低減でき
る。
【0014】したがって、本発明のデータ処理装置およ
びその制御方法により、アプリケーションの仕様に柔軟
に対応できる専用回路を備えたプロセッサあるいはデー
タ処理装置であって、ユーザの要求、すなわち要求仕様
に対し、自由度の高い専用命令(ユーザ専用命令)を装
着可能であり、その専用命令をオーバヘッドがない、あ
るいはオーバヘッドが見えない状態で実行できるデータ
処理装置を提供することができる。
【0015】このように、協調命令としては、汎用処理
ユニットのハードウェア資源の少なくとも1部を専用処
理ユニットに対し開放する命令が有効であり、処理速度
が速くリアルタイム処理にさらに適したプロセッサを低
コストで提供するのに適している。そのような協調命令
としては、汎用処理ユニットの汎用レジスタのデータを
入力として専用処理ユニットにおける処理を実行する汎
用レジスタ参照命令、専用処理ユニットの専用レジスタ
のデータを入力として汎用処理ユニットの演算器が処理
を実行する汎用演算器参照命令、専用処理ユニットの専
用レジスタのデータを汎用処理ユニットのデータRAM
に書き込む汎用RAM書き込み命令、および汎用処理ユ
ニットのデータRAMのデータを専用処理ユニットの専
用レジスタに書き込む汎用RAM読み込み命令がある。
【0016】汎用レジスタ参照命令に対応するには、汎
用処理ユニットに、汎用レジスタ参照命令に指定された
汎用レジスタのデータを専用処理ユニットに出力するデ
ータパスと、専用処理ユニットにおいて処理されたデー
タを汎用レジスタ参照命令に指定された汎用レジスタに
書き込むデータパスとを設ければよく、汎用処理ユニッ
トの汎用性を犠牲にすることなく協調命令に対応させる
ことができる。同様に、汎用演算器参照命令に対処する
には、汎用処理ユニットに、専用処理ユニットから供給
されたデータを演算器において汎用演算器参照命令で指
定された処理を行い、その結果を専用処理ユニットに出
力するデータパスを設ければ良い。汎用RAM書き込み
命令に対しては、汎用処理ユニットに、専用処理ユニッ
トからデータRAMのアドレスと書き込むデータとを取
得するデータパスを設ければ良い。汎用RAM読み込み
命令に対しては、汎用処理ユニットに、専用処理ユニッ
トからデータRAMのアドレスを取得し、そのアドレス
のデータを専用処理ユニットに出力するデータパスを設
ければ良い。これらのデータパスを設けておくことによ
り、本発明に係るデータ処理装置のプラットフォームと
して有効な汎用処理ユニットを備えたアーキテクチャを
提供できる。
【0017】そして、協調命令を実行している間は、汎
用処理ユニットは専用処理ユニットの一部として利用さ
れているので、汎用処理ユニットは、協調命令またはそ
れをデコードした命令を取得すると、専用処理ユニット
における処理が終了するのを待ってフェッチユニットに
次の命令コードをフェッチする指示を出すことが望まし
い。
【0018】
【発明の実施の形態】以下に図面を参照しながら本発明
についてさらに説明する。図1に、特定の処理に特化し
た専用処理ユニット(専用データ処理ユニット、以降で
はVU)1と、汎用的な構成の汎用処理ユニット(汎用
データ処理ユニットあるいはプロセスユニット、以降で
はPU)2とを備えたデータ処理装置(システムLSI
あるいはプロセッサ)10の概略構成を示してある。こ
のプロセッサ10は、VU1およびPU2にデコードさ
れた制御信号あるいは命令を供給するフェッチユニット
(以降ではFU)3を備えており、コードRAM4に記
録された実行形式のプログラムコード(マイクロプログ
ラムコード)5から命令コード(マイクロコード)をフ
ェッチし、デコードステージ命令として出力する。この
ため、FU3は、次の命令コードの先頭アドレスを記録
するレジスタ6と、PU2からの制御信号φ1によりレ
ジスタ6のアドレスまたはデコードされた命令φpで指
示されたアドレスのいずれかを選択し、そのアドレスを
次の命令コードをフェッチするためにRAM4に出力す
るセレクタ7と、フェッチされたデータをアライメント
して命令コードの種別を判別しデコードステージの命令
として出力するコードアライメント回路8とを備えてい
る。したがって、次の命令コードのアドレスはPU2か
らフィードバックされてFU3に入力される。コードア
ライメント回路8はバッファとしても機能し、必要があ
れば、命令コードをプリフェッチすることも可能であ
る。
【0019】RAM4に記録されたプログラム5は、V
U1における処理を規定する専用命令(以下ではVU命
令)と、PU2における処理を規定する汎用命令(以下
ではPU命令)と、さらに、VU1とPU2における協
調処理を規定する協調命令を備えている。上述したよう
に、VU1とPU2とを備えたプロセッサ10において
協調命令はVU1の機能を拡張するために非常に有効で
ある。このため、本例においては、協調命令はVU命令
の命令体系に組み込まれており、VU命令のインストラ
クションフォーマットで定義されている。FU3は、こ
れらのVU命令、PU命令をデコードしてVU1および
PU2にそれぞれ供給する機能を備えている。このた
め、フェッチした命令コードがVU命令であれば、それ
をアライメントしたVUデコードステージ命令φvを格
納するレジスタ9vと、フェッチした命令コードがPU
命令であれば、それをアライメントしたPUデコードス
テージ命令φpを格納するレジスタ9pを備えている。
そして、フェッチした命令が協調命令であれば、それを
デコード、すなわちアライメントしたVUデコードステ
ージ命令φvと、PUデコードステージ命令φpとがレ
ジスタ9vおよび9pに各々格納される。
【0020】専用処理ユニットVU1は、ユーザ命令で
ある専用命令(VU命令)を実行するユニットであり、
VUデコードステージ命令φvをデコードし、その命令
φvで規定されたデータ処理に適した回路における処理
を制御するデコードおよび実行制御回路11を備えてい
る。本例のVU1は、専用回路として、入出力のデータ
パスを切替可能なセレクタ論理を含むVUレジスタへア
クセス可能な第1の専用回路部15と、セレクタ論理を
含むVU演算器を備えた第2の専用回路部16とを備え
ており、これらが結合して特定の演算処理に適した回路
を構成している。これらはセレクタ論理とVUレジスタ
とVU演算器を備えた第3の専用回路部17として捉え
ることももちろん可能である。これらのVU演算器およ
びVUレジスタにより構成される専用回路における処理
はシーケンサあるいはハードワイヤードロジックなどの
ハードウェアロジックにより制御あるいは実行されるよ
うになっており、特定のデータ処理に特化しているので
フレキシビリティーは少ないが、その特定のデータ処理
を高速で実行できる。
【0021】VU1においてもパイプライン的な処理イ
メージを導入すると、VUレジスタにアクセス可能な第
1の専用回路部15の制御サイクルと、VU演算器を備
えた第2の専用回路部16の制御あるいは実行サイクル
とは異なり、段階的に進行する。したがって、FU3か
ら供給されたVUデコードステージ命令φvを一時的に
格納する実行ステージ命令レジスタ12を備えており、
このレジスタからVU実行命令φveが出力される。こ
れに対応して、レジスタ関連の制御を行うためのVUデ
コードステージ命令は以降においてはVUレジスタ制御
命令φvdと称することにする。また、本例のVU1
は、16個(V15〜V0)のVUレジスタを備えてい
るものとする。
【0022】汎用処理ユニットPUは、汎用命令あるい
は基本命令の実行ユニットであり、汎用プロセッサとほ
ぼ同じ構成が採用される。本例では、PU命令φpをデ
コードし、ALUなどの汎用的な演算処理ユニットを備
えた回路の制御を行うデコードおよび実行制御回路21
を備えている。そして、汎用処理を行う回路は、入出力
のデータパスを切替可能なセレクタ論理を含む汎用レジ
スタ(PUレジスタ)へアクセス可能な第1の汎用回路
部25と、セレクタ論理とフラグ生成論理を含む汎用演
算器を備えた第2の汎用回路部26と、セレクタ論理を
含むデータRAMにアクセス可能な第3の汎用回路部2
7との結合として捉えることが可能である。
【0023】PU2においては、パイプラインで処理が
実行され、レジスタあるいはメモリにアクセスする第1
または第3の汎用回路部25または27の制御サイクル
と、演算器を備えた第2の汎用回路部26の実行サイク
ルとは異なる。したがって、FU3から供給されたPU
デコードステージ命令φpを一時的に格納する実行ステ
ージ命令レジスタ22が用意されており、このレジスタ
からPU実行命令φpeが出力される。これに対応し
て、レジスタ関連の制御を行うためのPUデコードステ
ージ命令は以降においてはPUレジスタ制御命令φpd
と称することにする。また、本例のPU2は、16個
(R15〜R0)のPU汎用レジスタを備えている。
【0024】また、VU1とPU2との間にはデータ転
送用の2つデータバスVURDATA32と、VUWD
ATA31とが用意されている。これらのVURDAT
A32と、VUWDATA31は、32ビット(31か
ら0)であり、各々16ビット単位(15〜0、31〜
16)にてアクセスできるようになっている。さらに、
VU1とPU2との間には、互いの制御を行う為にVU
/PU制御信号Cvpが設けられている。
【0025】図2(a)に、プログラム5を構成する命
令セットのフォーマットを示してある。また、図2
(b)に、命令セットの識別子「GRP」とVU命令の
カテゴリとの関係を示してある。本例のプログラム5の
インストラクションセット50は、2語長の不定長命令
であり、1語(ワード)が24ビットで構成されてい
る。1ワード目51の23ビットLは命令長を示すデー
タ51aであり、このデータ51aをデコードすること
により命令長が判断できる。1ワード目51の22から
21ビットは0で固定されており、その次の20ビット
目のデータ51bがPU命令かVU命令かを識別するフ
ラグとなっている。PU命令はフラグ51bが「0」で
あり、VU命令はフラグ51bが「1」にセットされ
る。本例においては、協調命令もVU命令の体系で定義
されているので、フラグ51bが「1」にセットされ
る。協調命令用にフラグを用意することも可能である。
【0026】1ワード目51の19から16ビットまで
のデータGRP51cがVU命令のカテゴリ53を示
す。GRP51cが「0000」から「0111」はユ
ーザ定義のVU命令であることを示し、「1000」か
ら「1001」がPUデータRAMの読み出し参照を行
う協調命令であることを示し、「1010」から「10
11」がPUデータRAMの書き込み参照を行う協調命
令であることを示し、「1100」がPU汎用レジスタ
の参照を行う協調命令であることを示し、「1101」
から「1111」がPU演算器の参照を行う協調命令で
あることを示している。すなわち、GRP51cが「1
000」から「1111」までが協調命令であり、その
場合には1ワード目51の15ビットから2ワード目5
2のすべてのフィールドが4ビット単位のオペランドフ
ィールドF1からF10に分割され、それぞれが予約さ
れたVU命令の命令オペコードおよびパラメータを記述
するスペースとなる。
【0027】したがって、本例のプロセッサ10のFU
3では、プログラム5の命令セットをフェッチすると図
3に示したように処理を行う。まず、ステップ61でコ
ードRAM4に次の命令コードのアドレスを出力して命
令コード50をフェッチする。ステップ62で、フェッ
チされた命令コード50がPU命令であればステップ6
5でPUデコードステージ命令φpを出力する。一方、
命令コード50がVU命令であればステップ63でVU
デコードステージ命令φvを出力し、PUデコードステ
ージ命令φpとしては「nop」を出力する。VUデコ
ードステージ命令φvではなく「nop」がPU2に供
給されることにより、PU2では何も実行せずにFU3
に次の命令コードをフェッチさせ、プログラム5の次の
命令コードに従った処理を行うことができる。また、P
U2には、ユーザの仕様などに依存して変わる可能性が
ある専用命令であるVU命令の代わりに「nop」を供
給することにより、PU2の汎用性を維持したままユー
ザ実行命令である専用命令(VU命令)を自由に定義す
ることができる。
【0028】さらに、フェッチしたVU命令のGRP5
1cのカテゴリ53が協調命令であれば、ステップ64
で判断し、ステップ65で協調命令であるVU命令をデ
コードしたPUデコードステージ命令φpを出力する。
そして、フェッチした命令コード50がVU命令あるい
はPU命令であれば、次のクロックあるいはサイクルの
タイミングで次の命令コードのアドレスを出力しステッ
プ61で次の命令コードをフェッチする。一方、協調命
令の場合は、PU2のリソースがVU1における処理の
一部として用いられている。したがって、ステップ66
において、VU1での処理が終了しPU2のリソースが
開放されるのを待って次の命令コードをフェッチする。
このために、VU/PU制御信号Cvpが利用されてい
る。
【0029】すなわち、図4(a)に示すように、VU
命令(図においてはV命令)が協調命令でなく、それを
VU1で実行するために3クロックを要するのであれ
ば、VU命令をフェッチするとPU2には「nop」が
供給される。そして、次のサイクルでは次のPU命令
(図においてはP命令)がフェッチされる。したがっ
て、VU1とPU2とで並列して処理が進行する。
【0030】一方、図4(b)に示すようにVU命令が
協調命令であれば、VU1にVUデコードステージ命令
φvが供給されると共に、PU2に対してもVU命令を
デコードしたPUデコードステージ命令φpが供給され
る。そして、その協調処理を行うVU命令をVU1で実
行するために3クロックを要するのであれば、PU2も
同じクロック数だけVU命令に拘束される。したがっ
て、同期した処理が行われる。
【0031】このように、本例のデータ処理装置である
プロセッサあるいはシステムLSI10は、プログラム
5を構成するVU命令およびPU命令を配列された順番
にFU3でフェッチしてVU1あるいはPU2に供給す
る。したがって、1つのプログラム5によりVU1およ
びPU2の処理を適宜制御することが可能であり、同期
回路などを設けなくても、プログラム5のレベルでVU
1とPU2とにおける処理を、並列処理も含めて制御す
ることができる。そして、VU1とPU2との処理を、
命令コードをフェッチするサイクル、すなわち、クロッ
ク単位で制御することができる。また、複数のVU1を
有するプロセッサにおいても、それら複数のVU1の並
列処理をプログラムレベルでクロック単位で制御するこ
とができる。もちろん、VU1とPU2との同期が必要
な場合は、VU命令の完了を待ち合わせる同期命令を用
意することにより、プログラムレベルで同期させること
ができる。
【0032】したがって、VU1とPU2に協調命令を
供給することにより、VU1とPU2とを同期して同一
の処理を行わせることも可能である。そこで、本例のプ
ロセッサ10においては、協調命令をプログラムレベル
で用意すると共に、各々のリソースを利用することがで
きるVUWDATA31およびVURDATA32など
のデータパスを実装することにより、VU1とPU2の
リソースあるいはそれらの一部のリソースを利用した新
たなデータパスによる協調処理が行えるようにしてい
る。
【0033】これらのPU命令、VU命令、およびVU
命令形式の協調命令を含むプログラム5は、コードRA
MあるいはROMなどのプロセッサ用のプログラムを記
録するのに適した記録媒体に記録して提供される。そし
て、ユーザ仕様に変更が生じたり、プロセッサの開発段
階で変更が生じたりするとプログラム5を変更すること
によりプロセッサ10の処理機能を自由に変更すること
が可能であり、フレキシビリティーの高いシステムとな
っている。
【0034】本例のプロセッサ10においては、4種類
の協調命令が用意されている。第1の協調命令は、PU
2の汎用レジスタ(PUレジスタ)のデータを入力とし
てVU1における処理を実行する汎用レジスタ参照命令
であり、以下の記述が採用されている。
【0035】 V_OP Rx,Ry,Rz ・・・(1) このVU命令は、PU2の汎用レジスタRyおよびRz
の内容を読み出し、V_OPで指定されるVU1の演算
器で演算を行い、その結果をPU2のPU汎用レジスタ
Rxに格納するものである。
【0036】第2の協調命令は、VU1の専用レジスタ
(VUレジスタ)のデータを入力としてPU2の演算器
が処理を実行する汎用演算器参照命令であり、以下の記
述が採用されている。
【0037】 V_PADD Vx,Vy,Vz ・・・(2) このVU命令は、VU1のVUレジスタVyおよびVz
の内容を読み出し、PU2の演算器で演算を行い、その
結果をVUレジスタVxに格納するものである。
【0038】第3の協調命令は、VU1の専用レジスタ
(VUレジスタ)のデータをPU2のデータRAMに書
き込む汎用RAM書き込み命令であり、以下の記述が採
用されている。
【0039】 V_ST (Vx),Vy ・・・(3) このVU命令は、VU1のVUレジスタVxで示される
PU2のデータRAMのアドレスに、VUレジスタVy
の内容を格納するものである。
【0040】第4の協調命令は、PU2のデータRAM
のデータをVU1の専用レジスタ(VUレジスタ)に書
き込む汎用RAM読み込み命令であり、以下の記述が採
用されている。
【0041】 V_LD (Vx),Vy ・・・(4) このVU命令は、VU1のVUレジスタVxで示される
PU2のデータRAMのアドレスの内容をVU1のVU
レジスタVyに格納するものである。
【0042】これらの協調命令は、PU2のリソースの
一部をVU1における処理で流用可能とするものであ
り、VU1のリソースを増やさずにVU1における処
理、すなわち専用命令であるVU命令の自由度を拡張で
きる。そして、これらの協調命令により、PU2のリソ
ースとVU1のリソースで新たなデータパスが構成され
るので、そのデータパスで処理が実行される。したがっ
て、PU2のデータをVU1に共通のレジスタなどを介
して転送する処理は一切不要となり、1命令でPU2の
データを用いてVU1で演算し、その結果をPU2に戻
すことが可能となる。
【0043】各々の協調命令についてさらに説明する。
図5に、汎用レジスタ参照命令V_OPの命令フォーマ
ットを示し、図6に、この協調命令を実行したときのデ
ータの流れと制御の流れを示してある。PU2の汎用レ
ジスタの数が本例では16個(R0〜R15)なので、
4ビットでPUレジスタを指定できる。したがって、本
例では、汎用レジスタ参照命令V_OP55は、1ワー
ドの命令コードとなり、命令コード50の1ワード目5
1で記述できる。
【0044】PU2においては、デコードステージの信
号φpdでV_OP命令55が出力されると、データバ
スVUWDATA31の0〜15ビットにPUレジスタ
のRyレジスタの内容を、データバスVUWDATA3
1の16〜31ビットにPUレジスタのRzレジスタの
内容を出力するようにデータパスを形成する。また、実
行およびライトバックステージの信号φpeで、PUレ
ジスタのRxレジスタにデータバスVURDATA32
の0〜15ビットのデータを書き込むようにデータパス
を形成する。
【0045】このため、図6に示すように、PU2にお
いては、汎用レジスタ(PUレジスタ)25aおよびセ
レクタ25bを含む第1の汎用回路25では、信号φp
eによりVURDATA32のデータがPUレジスタ2
5に書き込まれるようにセレクタ25bが設定される。
一方、PU演算器26a、入力レジスタ26bおよび2
6c、さらに、セレクタ26dおよび26eを含む第2
の汎用回路26では、信号φpdにより、セレクタ26
dおよび26eでPUレジスタ25aのRyレジスタお
よびRzレジスタのデータがVUWDATA31に出力
されるように設定される。なお、本例の協調命令55に
おいては、ライトバックステージはVU1の演算と同期
して行われる必要があるので、実行時に制御信号φpe
は、VU1からVU/PU制御信号Cvpとして供給さ
れるVUWBEN信号(VU1からPU2へのフラグラ
イトバック制御信号)に基づき出力される。
【0046】一方、VU1においては、VU演算器16
a、セレクタ16bおよび16cを含む第2の専用回路
16では、信号φveによりセレクタ16bおよび16
cがVUWDATA31を入力として選択するように設
定され、VU演算器16aがユーザ定義の演算を行い、
16ビットの結果(必要に応じてフラグ情報)がセレク
タ19を介してVURDATA32から出力される。し
たがって、汎用レジスタ参照命令V_OP55により、
PU2の汎用レジスタ25aを入力としてVU1のVU
演算器16aが演算し、その結果をPU2の汎用レジス
タ25aにライトバックするデータパスが形成される。
そして、VU1において、汎用レジスタ参照命令V_O
P55で規定された演算が実行される。したがって、図
7にタイミングチャートで示すように、4番目のサイク
ルで汎用レジスタ参照命令V_OP55がデコードステ
ージ命令(Dec_inst)として出力されてからV
URDATA32に演算結果が現れてPU2の汎用レジ
スタ25aにライトバックされるまで3サイクル、すな
わち、3クロックが消費されるだけとなる。したがっ
て、PU2からVU1にデータを転送するためにクロッ
クは消費されず、VU1における演算時間だけでPU2
のデータをVU1で演算処理することができる。
【0047】本図および以下に示すタイミングチャート
に示した信号は次の通りである。
【0048】 CLK クロック コードRAMアドレス コードRAMアドレス入力 コードRAMデータ コードRAMデータ出力 Dec_inst PUデコードステージ命令 EX_WB_Inst PU実行ステージ命令 AA & AB PU演算器入力データ PUALUOUT PU演算器出力データ Reg Update 汎用レジスタデータ値(更新された値) VUINST(dec) VUデコードステージ命令 VUINST_EX VU実行ステージ命令 VUEXEC VU実行ステージタイミング制御信号 VUWAIT VU命令実行時のVU命令完了同期制御信号 VUPABUSY PU演算器使用時のPU演算完了同期制御信号 VUCMD VU−I/F(PU命令)のコマンド信号 VUWDATA PUからVUへのライトデータバス VURDATA VUからPUへのライトデータバス VUWBEN/VUWBCCEN VUからPUへのフラグライトバック制御信号 Next_IP 次にフェッチするインストラクションポインタ Fetch_IP フェッチステージのインストラクションポインタ Dec_IP デコードステージのインストラクションポインタ EX_IP 実行ステージのインストラクションポインタ このように本命令55を使えば、PU2に標準装備され
ていない演算をVU1にてPU2のレジスタを直接参照
することによりデータ転送のオーバヘッドなしに実行す
ることができる。したがって、特殊な掛け算やシフト命
令を実行する必要がある場合に極めて有効である。例え
ば、VU1における演算が複雑で1クロックで実行でき
ず複数クロックかかる場合においても、PU2の汎用レ
ジスタ25aからのリードとライトは1クロックで行わ
れるので、VU1における演算に必要なクロック数のみ
で実行できることになる。即ち、VU1で演算が複数ク
ロックかかる場合にはVU1からPU2の実行ステージ
をVU/PU制御信号Cvp、例えば、VU命令実行時
の完了同期制御信号であるVUWAIT信号を通じて停
止させ、ウェイト状態としておくことにより、PU2を
矛盾なくVU1と同期して動作させることが可能であ
り、協調処理を矛盾なく実行することができる。
【0049】さらに、PU2の第2の汎用回路26のセ
レクタ26dをVURDATA32から供給された演算
結果をVU1に戻すように設定し、VU1の演算に対し
フォワーディング操作を行うことも可能である。
【0050】図8に、汎用演算器参照命令V_PADD
56の命令フォーマットを示し、図9に、この協調命令
を実行したときのデータの流れと制御の流れを示してあ
る。VU1のVUレジスタ15aの数が本例では16個
(V0〜V15)なので、4ビットでVUレジスタを指
定できる。したがって、本例では、汎用演算器参照命令
V_PADD56も、1ワードの命令コードとなり、命
令コード50の1ワード目51で記述できる。
【0051】PU2は、基本命令実行ユニットであり、
VU1の機能に関わらず一定の機能を提供するようにな
っている既定義のユニットである。したがって、PU2
で行う演算処理はユーザは指定できても定義することは
できない。従って、本例では、GRPコード51cとオ
ペランドフィールドのF2に記述されるコードを使用し
て図10に示すようにVU命令であるV_PADD56
によりPU2で行う既定義の演算機能を指定するように
している。
【0052】図10に示した各演算の概略は図11に示
した通りであり、汎用レジスタで演算機能の概略を示し
てあるが、V_PADD56を用いることにより、汎用
レジスタの代わりにVUレジスタ15aを指定して各演
算を実行することができる。なお、図11のCFはコン
ディションコードを示している。
【0053】PU2の第2の汎用回路26においては、
V_PADD命令56がデコードステージ命令φpdと
して出力されると、VU1から出力されてくるデータバ
スVURDATA32の0〜15ビットのデータと、V
URDATA32の16〜31ビットのデータとを、P
U2の演算器26aの入力ポートAおよびBにそれぞれ
アサインし、PU2の演算器26aで演算が実行される
ようにデータパスを形成する。さらに、PU演算器26
aの出力をVUWDATA31によりVU1に供給する
データパスを形成する。
【0054】このため、図9に示すように、PU2のP
U演算器26aを含む第2の汎用回路26においては、
実行およびライトバックステージの信号φpeにより、
セレクタ26dおよび26eがVURDATA32から
のデータを入力として選択するように設定される。さら
に、PU演算器26aにおいては、V_PADD56の
GRP51cとF2で指定された演算を行うように設定
され、その演算結果が出力されると、セレクタ26dが
切り替えられ、レジスタ26bを介してデータバスVU
WDATA31の0〜15ビットに演算結果が出力され
るように設定される。さらに、VU1からフラグ変更指
示がVU/PU制御信号Cvpを通じてあった場合に
は、演算結果のフラグをフラグレジスタに格納する。
【0055】一方、VU1においては、VUレジスタ1
5aおよびセレクタ15を含む第1の専用回路15で
は、デコードステージの信号φvdにより、VUレジス
タ15aの選択された2つのレジスタのデータがデータ
バスVURDATA32のビット0〜31を介してPU
2に転送されるようにVUレジスタ15aとセレクタ1
9がセットされる。さらに、実行時の信号φveによ
り、VUレジスタ15aの選択されたレジスタにVUW
DATA31の0〜15ビットのデータが書き込まれる
ようにセレクタ15bが設定される。なお、VU1にお
いては、VU命令をデコードしたら、該当する、すなわ
ち、VU1が複数ある場合に、V_PADD56を実行
するVU側では、VUレジスタ15aに対するフォワー
ディング機構または「nop」によるタイミング調整を
行う機構が必要となる場合がある。
【0056】したがって、本例のプロセッサ10におい
ては、汎用演算器参照命令V_PADD56により、V
U1のVUレジスタ15aを入力として、PU2のPU
演算器26aが演算し、その結果をVU1のVUレジス
タ15aにライトバックするデータパスが形成される。
そして、PU2の演算器26aにおいて、汎用演算器参
照命令V_PADD56で指定された演算が実行され
る。したがって、図12にタイミングチャートで示すよ
うに、1番目のサイクルで汎用演算器参照命令V_PA
DD56がデコードステージ命令(Dec_inst)
として出力されてからVUWDATA31にPU2の演
算結果が現れてVU1のVUレジスタ15aにライトバ
ックされるまで3サイクル、すなわち、3クロックが消
費されるだけとなる。したがって、VU1からPU2に
データを転送するためにクロックは消費されず、PU2
における演算時間だけでPU2の演算機能をVU1で利
用することができる。
【0057】図13に示したタイミングチャートは、実
行に3サイクル(クロック)を消費するV_PADD命
令を実行したケースであり、図4(b)のケースに相当
する。この協調処理用のVU命令をフェッチすると、1
番目のサイクルで汎用演算器参照命令V_PADD56
がデコードステージ命令(Dec_inst)として出
力され、2〜4サイクルにかけてPU演算器26aを用
いた処理が行われ、その結果が5サイクル目にVUWD
ATA31に現れる(V_PADD OUT)。そし
て、5番目のサイクルでVU1のVUレジスタ15aに
ライトバックされる。したがって、実行に3クロックを
消費する汎用演算器参照命令V_PADD56を実行す
るために5サイクル、すなわち、5クロックが消費され
るだけとなり、PU2あるいはVU1が単独で、実行に
3サイクルを消費する命令を実行したのと消費するクロ
ックは変わらずに、VU1のデータをPU2の演算器2
6aで処理することができる。
【0058】このように、本例のプロセッサ10におい
ては、汎用演算器参照命令V_PADD56により、V
U1からPU2にデータを転送するためにクロックを消
費せずに、PU2における演算時間だけでPU2の演算
機能をVU1で利用することができる。したがって、P
U2を用いた演算処理時間が大幅に短縮され、処理速度
が向上する。さらに、この命令は上記のV_OP命令の
対称型の命令であり、PU2の演算器をプロセッサ10
としては二重に持つことなく、VU1のレジスタからこ
れをストレスなくアクセスして演算に利用することがで
きる。これは、VU1として実装するユーザの仕様の中
でPU2の演算器を用いて処理できる演算があり、PU
2と並列実行を行う必要がなければ、あるいはPU2と
の並列実行する可能性を捨てれば、VU1に、該当する
処理を実行するための演算器およびデータパスを実装し
なくても良いことを意味し、VU1をコンパクトに設計
することが可能となる。したがって、ユーザ論理を実装
するVU1の開発および設計工数、さらには検査工数の
削減も図ることが可能であり、VU1を搭載し、かつ、
さらに経済的なプロセッサを提供することが可能とな
る。
【0059】そして、上述したように、VU1からPU
2の演算器26aをストレスなく利用できる環境が提供
されるので、図10などに示したPU演算器26aの多
様な演算機能をVU1から利用することが可能となり、
VU1に実装されるユーザ論理、すなわち専用命令の自
由度は大幅に向上する。そして、その自由度の高い専用
命令(VU命令)を、データ転送のためのクロックを消
費させずに、高速に実行することができる。したがっ
て、ユーザあるいはアプリケーションで要求される仕様
に極めて柔軟に対応できると共に、リアルタイム処理に
適した実行速度も高く、低コストでコンパクトなプロセ
ッサあるいはシステムLSIを提供することができる。
【0060】図14に汎用RAM書き込み命令(メモリ
ストア命令)V_ST57の命令フォーマットを示し、
図15に、この協調命令を実行したときのデータの流れ
と制御の流れを示してある。VU1のVUレジスタ15
aの数が本例では16個(V0〜V15)なので、4ビ
ットでVUレジスタを指定できる。したがって、本例の
汎用RAM書き込み命令V_ST57も、1ワードの命
令コードとなり、命令コード50の1ワード目51で記
述できる。
【0061】PU2においては、V_ST命令57がデ
コードステージ命令φpdとして出力されると、VU1
から出力されてくるデータバスVURDATA32の0
〜15ビットのデータがPU2のデータRAM27aの
アドレスにセットアップされ、VURDATA32の1
6〜31ビットのデータをデータRAM27aのライト
データにセットアップされるようにデータパスを形成す
る。
【0062】このため、図15に示すように、データR
AM27a、アドレスのオフセットを加算する加算器2
7b、アドレス入力を選択するセレクタ27c、および
データ入力を選択するセレクタ27dを含む第3の汎用
回路27においては、デコードステージの信号φpdに
より、セレクタ27cおよび27dがVURDATA3
2からのデータを入力として選択するように設定され
る。そして、VU1からVU/PU制御信号Cvpを通
じてメモリライト指示があったときにメモリライトサイ
クルを実行し、データRAM27aにデータを書き込
む。
【0063】一方、VU1においては、デコードステー
ジの信号φvdにより、VUレジスタ15aの選択され
た2つのレジスタのデータがデータバスVURDATA
32のビット0〜31を介してPU2に転送されるよう
にVUレジスタ15aとセレクタ19がセットされる。
なお、VU1においては、VU命令をデコードしたら、
該当する、すなわち、VU1が複数ある場合に、本VU
命令を実行するVU側では、VUレジスタ15aに対す
るフォワーディング機構または「nop」によるタイミ
ング調整を行う機構が必要となる。
【0064】この汎用RAM書き込み命令V_ST57
によれば、PU汎用レジスタ25aを用いてデータ転送
することなく、VU1のデータをPU2のデータRAM
27aに書き込むことができる。したがって、PU2の
汎用レジスタを経由してVU1のデータをストアする方
式と比較し、1サイクル、すなわち1クロックでデータ
をストアすることができ、その処理のために消費するク
ロックを大幅に削減できるので、極めて大きな効果があ
る。この協調命令V_ST57によりPU2の処理はV
U1の処理に拘束されるが、PU2において汎用レジス
タ25aを介してデータ転送する処理を省くことが可能
となるので、PU2の処理効率も大幅に向上できる。
【0065】図16に、汎用RAM読み込み命令V_L
D58の命令フォーマットを示し、図17に、この協調
命令を実行したときのデータの流れと制御の流れを示し
てある。本例では、4ビットでVUレジスタを指定でき
るので、汎用RAM読み込み命令(メモリロード命令)
V_LD58も、1ワードの命令コードとなり、命令コ
ード50の1ワード目51で記述できる。
【0066】PU2においては、V_LD命令58がデ
コードステージ命令φpdとして出力されると、VU1
から出力されてくるデータバスVURDATA32の0
〜15ビットのデータがPU2のデータRAM27aの
アドレスにセットアップされ、データRAM27aの出
力がデータバスVUWDATA31の0〜15ビットに
出力されるようにデータパスを形成する。
【0067】このため、図17に示すように、第3の汎
用回路27においては、デコードステージの信号φpd
により、セレクタ27cがVURDATA32からのデ
ータを入力として選択するように設定され、第2の汎用
回路26のセレクタ26dがデータRAM27aの出力
をレジスタ26bを介してVUWDATA31に出力す
るように設定される。そして、VU1からVU/PU制
御信号Cvpを通じてメモリリード指示があったとき
に、メモリリードサイクルを実行し、リードしたデータ
をレジスタ26bにラッチしてバスVUWDATA31
に出力する。
【0068】一方、VU1においては、デコードステー
ジの信号φvdにより、VUレジスタ15aの選択され
た1つのレジスタのデータがデータバスVURDATA
32のビット0〜15を介してPU2に転送されるよう
にVUレジスタ15aとセレクタ19がセットされる。
V_LD命令58の実行ステージは2クロック構成とな
っており、2クロック目でPU2からの出力(レジスタ
26bの出力でVUWDATA31により供給されるデ
ータ)をVUレジスタ15aの指定されたレジスタに書
き込む。なお、この命令においても、VU1において
は、VU命令をデコードしたら、該当する、すなわち、
VU1が複数ある場合に、本VU命令を実行するVU側
では、VUレジスタ15aに対するフォワーディング機
構または「nop」によるタイミング調整を行う機構が
必要となる。
【0069】この汎用RAM読み込み命令V_LD58
は、上記の汎用RAM書き込み命令V_ST57の対称
型の命令であり、同様に、PU汎用レジスタ25aを用
いてデータ転送することなく、PU2のデータRAM2
7aのデータをVU1のデータに書き込むことができ
る。したがって、PU2の汎用レジスタを経由してVU
1のデータをストアする方式と比較し、1サイクル、す
なわち1クロックでデータをVUレジスタ15aにスト
アすることができ、その処理ために消費するクロックを
大幅に削減できる。したがって、同様に極めて大きな効
果を備えた協調制御型のVU命令である。
【0070】これらの汎用レジスタ参照命令V_OP5
5、汎用演算器参照命令V_PADD56、汎用RAM
書き込み命令V_ST57、および汎用RAM読み込み
命令V_LD58は、VU命令の体系で実装された協調
命令であり、PU2のリソースの一部をVU1に開放す
ることにより、VU1における処理を実行するためのデ
ータパスの一部としてPU2のリソースを組み込めるよ
うにしている。したがって、VU1とPU2との間のデ
ータ転送をMOVE命令なしに行うことが可能となり、
また、VU1の演算器を利用した演算、PU2の演算器
を利用した演算、PU2のデータRAMへのアクセスが
クロックを浪費することなく行えることになる。このた
め、汎用機能を備えたPU2をプラットフォームとして
ユーザロジックを実現するVU1を実装したプロセッサ
(VUPUプロセッサ)10の処理効率を大きく改善す
ることができる。この効果は、本発明を適用しないと、
データ転送が頻繁に行われることになる、VU1におけ
る処理が数クロックで終えるような短いユーザ命令(V
U命令)の場合に極めて顕著に効果を発揮することにな
る。
【0071】本例では、この効果を得るためにユーザは
VU命令の規定にしたがって協調命令を採用する必要が
出てくる。この例では、4ビットGRPコード51cが
命令フォーマット50に規定されることになるが、全体
で48ビット長のオペランドフィールドを備えた命令フ
ォーマットのなかでのGRPコード51cにより消費さ
れる4ビットの予約は、協調命令を採用することにより
改善される処理速度の効果に比べれば十分許容できるも
のである。もちろん、協調命令を導入することは、デー
タ転送などを目的とした他のユーザ定義の標準命令を定
義しないということではなく、PU2の汎用レジスタ2
5aとVU1のVUレジスタ15aの間でデータ転送を
行うMOVE命令なども使用できる。
【0072】さらに、PU2のリソースを開放する協調
命令を実装するために、V_OP命令55に対しては、
データバスVUWDATA31にPUレジスタ25aの
指定されたレジスタの内容が出力され、PUレジスタ2
5aの指定されたレジスタにデータバスVURDATA
32のデータが書き込まれるデータパスをPU2に設け
ている。これらのデータパスの構成は、上記にて開示し
た回路に限定されるものではないが、汎用レジスタ参照
命令55に指定された汎用レジスタ25aのデータをV
U1に出力するデータパスと、VU1において処理され
たデータを命令55に指定された汎用レジスタ25aに
書き込むデータパスとをPU2に標準的に設けておくこ
とにより、汎用レジスタ参照命令であるV_OP命令5
5をVU命令として利用できるVU1を実装するプロセ
ッサ10のプラットフォームとしてPU2は機能する。
このような構成にしても、PU2の汎用性が犠牲にされ
ることはなく、協調命令に対応させることができる。
【0073】同様に、V_PADD命令56に対して
は、VU1から出力されてくるデータバスVURDAT
A32のデータをPU2の演算器26aの入力にアサイ
ンし、PU演算器26aで演算が実行されるようにデー
タパスを形成すると共に、PU演算器26aの出力をV
UWDATA31によりVU1に供給するデータパスを
形成している。すなわち、PU2に、VU1から供給さ
れたデータをPU演算器において命令56で指定された
処理を行い、その結果をVU1に出力するデータパスを
設けることにより、汎用演算器参照命令であるV_PA
DD命令56を実装可能なプラットフォームとすること
ができる。
【0074】また、V_ST命令57に対しては、VU
1から出力されてくるデータバスVURDATA32の
データがPU2のデータRAM27aのアドレスとライ
トデータにセットアップするデータパスを設けている。
すなわち、PU2に、VU1からデータRAMのアドレ
スと書き込むデータとを取得するデータパスを設けるこ
とにより、汎用RAM書き込み命令であるV_ST命令
57を実装可能なPU2を提供できる。さらに、V_L
D命令58に対しては、VU1から出力されてくるデー
タバスVURDATA32のデータがPU2のデータR
AM27aのアドレスにセットアップされ、データRA
M27aの出力がデータバスVUWDATA31に出力
されるようにデータパスを形成し、PU2に、VU1か
らデータRAMのアドレスを取得し、そのアドレスのデ
ータRAMのデータをVU1に出力するデータパスを設
けることにより、汎用RAM読み込み命令であるV_L
D命令58を実装可能なPU2を提供できる。
【0075】なお、協調命令の種類は本例で説明したも
のに限定されるものではないが、本例で例示した協調命
令に対応したPU2を提供することにより、ユーザ定義
命令実行ユニットであるVU1と基本実行ユニットであ
るPU2の間をよりタイトなカップルとすることが可能
となり、互いのリソースアクセスを可能とすることがで
きる。協調命令を実行することにより、その間、上述し
たように、VU1とPU2との並列処理は実現できない
が、並列処理を優先したプログラミングも可能である。
したがって、本発明の協調命令を実装可能とすることに
より、より高いレベルで柔軟性と高速化とを実現しうる
プロセッサを提供することができる。
【0076】
【発明の効果】以上に説明したように、上記にて説明し
たVUPUプロセッサは、ユーザ仕様などに従い高速化
が必要とされる処理を専用回路化して実装することがで
きるVUと、エラー処理などの汎用的な機能をサポート
し、プログラムにより仕様変更などに対し極めて柔軟に
対応することができるPUとを備えており、プログラマ
ブルな柔軟性と、専用回路による高速性とを併せもつプ
ロセッサである。そして、VUはユーザ設計が可能であ
り、ユーザ命令をVU命令として自由に組み込むことが
できる自由度の高いセミカスタムプロセッサでもある。
したがって、アプリケーション専用プロセッサとして高
機能のシステムLSIを極めて短期間に低コストで開発
および製造することが可能である。
【0077】そして、本発明においては、VUとPUと
の協調処理を規定した協調命令を導入している。この協
調命令により、PUのリソースをVUに開放することが
可能となるので、VUとPUとの間のデータ転送に必要
なオーバヘッドを実質的になくすことが可能となりVU
を用いた処理時間をさらに短縮でき、画像処理やネット
ワーク処理などのリアルタイム応答性が要求されるアプ
リケーションにさらに適したプロセッサを提供できる。
加えて、PUのリソースがVUに開放されることによ
り、PUの機能をVU命令、すなわち、ユーザ命令の一
部として利用することが可能となり、VUのリソースを
増大させることなく、さらに自由度の高いVU命令を組
み込むことが可能となる。したがって、本発明のデータ
処理装置は、さらに高いレベルで柔軟性と高速性とを同
時に実現できるプロセッサあるいはシステムLSIを提
供可能であり、本発明により、高速ネットワーク、画像
処理アプリケーションなどにさらに適したデータ処理装
置を提供できる。
【図面の簡単な説明】
【図1】本発明に係るデータ処理装置(プロセッサ)の
概略構成を示すブロック図である。
【図2】図2(a)は命令フォーマットを示す図であ
り、図2(b)はGRPとカテゴリとの対応を示す図で
ある。
【図3】FU3における処理の概要を示すフローチャー
トである。
【図4】プロセッサ用のプログラムの概要を示す図であ
り、図4(a)はPU命令およびVU命令を含む部分を
示し、図4(b)はPU命令および協調命令となるVU
命令を含む部分を示す図である。
【図5】汎用レジスタ参照命令であるV_OP命令のフ
ォーマットを示す図である。
【図6】汎用レジスタ参照命令が実行されるときのデー
タパスの概要を示す図である。
【図7】汎用レジスタ参照命令を実行するときのタイミ
ングチャートである。
【図8】汎用演算器参照命令であるV_PADD命令の
フォーマットを示す図である。
【図9】汎用演算器参照命令が実行されるときのデータ
パスの概要を示す図である。
【図10】汎用演算器参照命令で指定可能な演算を示す
図である。
【図11】図10で示した演算の概要を示す図である。
【図12】汎用演算器参照命令を実行するときのタイミ
ングチャートである。
【図13】汎用演算器参照命令を実行するときの異なる
タイミングチャートである。
【図14】汎用RAM書き込み命令であるV_ST命令
のフォーマットを示す図である。
【図15】汎用RAM書き込み命令が実行されるときの
データパスの概要を示す図である。
【図16】汎用RAM読み込み命令であるV_LD命令
のフォーマットを示す図である。
【図17】汎用RAM読み込み命令が実行されるときの
データパスの概要を示す図である。
【符号の説明】
1 専用処理ユニットVU 2 汎用処理ユニットPU 3 フェッチユニットFU 4 コードRAM 5 プログラム 10 プロセッサ(データ処理装置)

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 特定のデータ処理に適した専用回路を備
    えた専用処理ユニットと、 汎用のデータ処理に適した汎用処理ユニットと、 コードメモリよりフェッチした命令コードが前記専用処
    理ユニットにおける処理を規定した専用命令であれば前
    記専用処理ユニットに対し前記専用命令またはそれをデ
    コードした命令を供給し、前記命令コードが前記汎用処
    理ユニットにおける処理を規定した汎用命令であれば前
    記汎用処理ユニットに対し前記汎用命令またはそれをデ
    コードした命令を供給し、さらに、前記命令コードが前
    記専用処理ユニットおよび汎用処理ユニットにおける協
    調処理を規定した協調命令であれば前記専用処理ユニッ
    トおよび汎用処理ユニットに対し前記協調命令またはそ
    れをデコードした命令を供給するフェッチユニットとを
    有するデータ処理装置。
  2. 【請求項2】 請求項1において、前記協調命令は、前
    記汎用処理ユニットのハードウェア資源の少なくとも1
    部を前記専用処理ユニットに対し開放する命令であるデ
    ータ処理装置。
  3. 【請求項3】 請求項1において、前記協調命令は、前
    記汎用処理ユニットの汎用レジスタのデータを入力とし
    て前記専用処理ユニットにおける処理を実行する汎用レ
    ジスタ参照命令であり、 前記汎用処理ユニットは、前記汎用レジスタ参照命令に
    指定された前記汎用レジスタのデータを前記専用処理ユ
    ニットに出力するデータパスと、前記専用処理ユニット
    において処理されたデータを前記汎用レジスタ参照命令
    に指定された前記汎用レジスタに書き込むデータパスと
    を備えているデータ処理装置。
  4. 【請求項4】 請求項1において、前記協調命令は、前
    記専用処理ユニットの専用レジスタのデータを入力とし
    て前記汎用処理ユニットの演算器が処理を実行する汎用
    演算器参照命令であり、 前記汎用処理ユニットは、前記専用処理ユニットから供
    給されたデータを前記演算器において前記汎用演算器参
    照命令で指定された処理を行い、その結果を前記専用処
    理ユニットに出力するデータパスを備えているデータ処
    理装置。
  5. 【請求項5】 請求項1において、前記協調命令は、前
    記専用処理ユニットの専用レジスタのデータを前記汎用
    処理ユニットのデータRAMに書き込む汎用RAM書き
    込み命令であり、 前記汎用処理ユニットは、前記専用処理ユニットから前
    記データRAMのアドレスと書き込むデータとを取得す
    るデータパスを備えているデータ処理装置。
  6. 【請求項6】 請求項1において、前記協調命令は、前
    記汎用処理ユニットのデータRAMのデータを前記専用
    処理ユニットの専用レジスタに書き込む汎用RAM読み
    込み命令であり、 前記汎用処理ユニットは、前記専用処理ユニットから前
    記データRAMのアドレスを取得し、そのアドレスのデ
    ータを前記専用処理ユニットに出力するデータパスを備
    えているデータ処理装置。
  7. 【請求項7】 請求項1において、前記汎用処理ユニッ
    トは、前記協調命令またはそれをデコードした命令を取
    得すると、前記専用処理ユニットにおける処理が終了す
    るのを待って前記フェッチユニットに次の前記命令コー
    ドをフェッチする指示を出すデータ処理装置。
  8. 【請求項8】 請求項1において、複数の前記専用処理
    ユニットを有するデータ処理装置。
  9. 【請求項9】 特定のデータ処理に適した専用回路を備
    えた専用処理ユニットにおける処理を規定した専用命令
    と、汎用のデータ処理に適した汎用処理ユニットにおけ
    る処理を規定した汎用命令と、前記専用処理ユニットお
    よび汎用処理ユニットにおける処理を規定した協調命令
    とを有するプログラム。
  10. 【請求項10】 請求項9において、前記専用命令、汎
    用命令および協調命令が配列された順番にフェッチされ
    るように含まれているプログラム。
  11. 【請求項11】 請求項10において、前記協調命令
    は、前記汎用処理ユニットのハードウェア資源の少なく
    とも1部を前記専用処理ユニットに対し開放する命令で
    あるプログラム。
  12. 【請求項12】 請求項9において、前記協調命令は、
    前記汎用処理ユニットの汎用レジスタのデータを入力と
    して前記専用処理ユニットにおける処理を実行する汎用
    レジスタ参照命令、前記専用処理ユニットの専用レジス
    タのデータを入力として前記汎用処理ユニットの演算器
    が処理を実行する汎用演算器参照命令、前記専用処理ユ
    ニットの専用レジスタのデータを前記汎用処理ユニット
    のデータRAMに書き込む汎用RAM書き込み命令、お
    よび前記汎用処理ユニットのデータRAMのデータを前
    記専用処理ユニットの専用レジスタに書き込む汎用RA
    M読み込み命令のいずれかであるプログラム。
  13. 【請求項13】 コードメモリより命令コードをフェッ
    チするステップと、 フェッチした前記命令コードが、特定のデータ処理に適
    した専用回路を備えた専用処理ユニットにおける処理を
    規定した専用命令であれば前記専用処理ユニットに対し
    前記専用命令またはそれをデコードした命令を供給する
    ステップと、 フェッチした前記命令コードが、汎用のデータ処理に適
    した汎用処理ユニットにおける処理を規定した汎用命令
    であれば前記汎用処理ユニットに対し前記汎用命令また
    はそれをデコードした命令を供給するステップと、 フェッチした前記命令コードが前記専用処理ユニットお
    よび汎用処理ユニットにおける協調処理を規定した協調
    命令であれば前記専用処理ユニットおよび汎用処理ユニ
    ットに対し前記協調命令またはそれをデコードした命令
    を供給するステップとを有するデータ処理装置の制御方
    法。
  14. 【請求項14】 請求項13において、前記協調命令
    は、前記汎用処理ユニットのハードウェア資源の少なく
    とも1部を前記専用処理ユニットに対し開放する命令で
    あるデータ処理装置の制御方法。
  15. 【請求項15】 請求項13において、前記協調命令
    は、前記汎用処理ユニットの汎用レジスタのデータを入
    力として前記専用処理ユニットにおける処理を実行する
    汎用レジスタ参照命令、前記専用処理ユニットの専用レ
    ジスタのデータを入力として前記汎用処理ユニットの演
    算器が処理を実行する汎用演算器参照命令、前記専用処
    理ユニットの専用レジスタのデータを前記汎用処理ユニ
    ットのデータRAMに書き込む汎用RAM書き込み命
    令、および前記汎用処理ユニットのデータRAMのデー
    タを前記専用処理ユニットの専用レジスタに書き込む汎
    用RAM読み込み命令のいずれかであるデータ処理装置
    の制御方法。
  16. 【請求項16】 請求項13において、前記協調命令を
    フェッチしたときは、前記専用処理ユニットにおける処
    理が終了するのを待って次の前記命令コードをフェッチ
    するステップをさらに有するデータ処理装置の制御方
    法。
JP2001191346A 2001-06-25 2001-06-25 データ処理装置およびその制御方法 Expired - Fee Related JP5372307B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001191346A JP5372307B2 (ja) 2001-06-25 2001-06-25 データ処理装置およびその制御方法
US10/171,750 US20030009652A1 (en) 2001-06-25 2002-06-17 Data processing system and control method
GB0214389A GB2380283B (en) 2001-06-25 2002-06-21 Data processing system and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001191346A JP5372307B2 (ja) 2001-06-25 2001-06-25 データ処理装置およびその制御方法

Publications (2)

Publication Number Publication Date
JP2003005954A true JP2003005954A (ja) 2003-01-10
JP5372307B2 JP5372307B2 (ja) 2013-12-18

Family

ID=19029981

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001191346A Expired - Fee Related JP5372307B2 (ja) 2001-06-25 2001-06-25 データ処理装置およびその制御方法

Country Status (3)

Country Link
US (1) US20030009652A1 (ja)
JP (1) JP5372307B2 (ja)
GB (1) GB2380283B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014501007A (ja) * 2010-11-18 2014-01-16 日本テキサス・インスツルメンツ株式会社 汎用レジスタファイルからsimdレジスタファイルへデータを移動させるための方法及び装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4651790B2 (ja) * 2000-08-29 2011-03-16 株式会社ガイア・システム・ソリューション データ処理装置
US20020152061A1 (en) * 2001-04-06 2002-10-17 Shintaro Shimogori Data processing system and design system
JP2003005958A (ja) * 2001-06-25 2003-01-10 Pacific Design Kk データ処理装置およびその制御方法
JP4865960B2 (ja) * 2001-06-25 2012-02-01 株式会社ガイア・システム・ソリューション データ処理装置およびその制御方法
US6993674B2 (en) * 2001-12-27 2006-01-31 Pacific Design, Inc. System LSI architecture and method for controlling the clock of a data processing system through the use of instructions
US20030163674A1 (en) * 2002-02-26 2003-08-28 Mitsumasa Yoshimura Data processing apparatus, processor unit and debugging unit

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02181859A (ja) * 1989-01-09 1990-07-16 Fanuc Ltd コプロセッサ・インタフェース回路
JPH04195664A (ja) * 1990-11-28 1992-07-15 Hitachi Ltd マルチプロセッサシステム
JPH09212358A (ja) * 1996-01-31 1997-08-15 Hitachi Ltd データ処理装置及びマイクロプロセッサ
WO1998011484A1 (fr) * 1996-09-13 1998-03-19 Hitachi, Ltd. Processeur de commande a memoire d'historique
JP2000207202A (ja) * 1998-10-29 2000-07-28 Pacific Design Kk 制御装置およびデ―タ処理装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4395758A (en) * 1979-12-10 1983-07-26 Digital Equipment Corporation Accelerator processor for a data processing system
DE3300699C2 (de) * 1983-01-11 1985-12-19 Nixdorf Computer Ag, 4790 Paderborn Schaltungsanordnung zum Adressieren der jeweils ein Adreßvolumen aufweisenden Speicher mehrerer datenverarbeitender Einrichtungen in einem Mehrprozessorsystem mit Systembus
US4648034A (en) * 1984-08-27 1987-03-03 Zilog, Inc. Busy signal interface between master and slave processors in a computer system
JP2564805B2 (ja) * 1985-08-08 1996-12-18 日本電気株式会社 情報処理装置
US5870602A (en) * 1987-11-03 1999-02-09 Compaq Computer Corporation Multi-processor system with system wide reset and partial system reset capabilities
US5450553A (en) * 1990-06-15 1995-09-12 Kabushiki Kaisha Toshiba Digital signal processor including address generation by execute/stop instruction designated
US5768613A (en) * 1990-07-06 1998-06-16 Advanced Micro Devices, Inc. Computing apparatus configured for partitioned processing
US5430850A (en) * 1991-07-22 1995-07-04 Massachusetts Institute Of Technology Data processing system with synchronization coprocessor for multiple threads
DE69228980T2 (de) * 1991-12-06 1999-12-02 Nat Semiconductor Corp Integriertes Datenverarbeitungssystem mit CPU-Kern und unabhängigem parallelen, digitalen Signalprozessormodul
US5699460A (en) * 1993-04-27 1997-12-16 Array Microsystems Image compression coprocessor with data flow control and multiple processing units
US5495588A (en) * 1993-11-18 1996-02-27 Allen-Bradley Company, Inc. Programmable controller having joined relay language processor and general purpose processor
JP3180175B2 (ja) * 1995-02-13 2001-06-25 株式会社日立製作所 命令レベルの並列処理制御方法およびプロセッサ
US5903744A (en) * 1997-05-15 1999-05-11 Logic Express System, Inc. Logic emulator using a disposable wire-wrap interconnect board with an FPGA emulation board
US6021484A (en) * 1997-11-14 2000-02-01 Samsung Electronics Co., Ltd. Dual instruction set architecture
US6301650B1 (en) * 1998-10-29 2001-10-09 Pacific Design, Inc. Control unit and data processing system
US6647408B1 (en) * 1999-07-16 2003-11-11 Novell, Inc. Task distribution
US20020010848A1 (en) * 2000-05-29 2002-01-24 Shoichi Kamano Data processing system
JP4651790B2 (ja) * 2000-08-29 2011-03-16 株式会社ガイア・システム・ソリューション データ処理装置
JP2002149402A (ja) * 2000-11-14 2002-05-24 Pacific Design Kk データ処理装置およびその制御方法
JP4783527B2 (ja) * 2001-01-31 2011-09-28 株式会社ガイア・システム・ソリューション データ処理システム、データ処理装置およびその制御方法
US20020152061A1 (en) * 2001-04-06 2002-10-17 Shintaro Shimogori Data processing system and design system
JP4865960B2 (ja) * 2001-06-25 2012-02-01 株式会社ガイア・システム・ソリューション データ処理装置およびその制御方法
JP2003005958A (ja) * 2001-06-25 2003-01-10 Pacific Design Kk データ処理装置およびその制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02181859A (ja) * 1989-01-09 1990-07-16 Fanuc Ltd コプロセッサ・インタフェース回路
JPH04195664A (ja) * 1990-11-28 1992-07-15 Hitachi Ltd マルチプロセッサシステム
JPH09212358A (ja) * 1996-01-31 1997-08-15 Hitachi Ltd データ処理装置及びマイクロプロセッサ
WO1998011484A1 (fr) * 1996-09-13 1998-03-19 Hitachi, Ltd. Processeur de commande a memoire d'historique
JP2000207202A (ja) * 1998-10-29 2000-07-28 Pacific Design Kk 制御装置およびデ―タ処理装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014501007A (ja) * 2010-11-18 2014-01-16 日本テキサス・インスツルメンツ株式会社 汎用レジスタファイルからsimdレジスタファイルへデータを移動させるための方法及び装置
JP2014501008A (ja) * 2010-11-18 2014-01-16 日本テキサス・インスツルメンツ株式会社 データを移動させるための方法及び装置
JP2014501009A (ja) * 2010-11-18 2014-01-16 日本テキサス・インスツルメンツ株式会社 データを移動させるための方法及び装置
JP2014505916A (ja) * 2010-11-18 2014-03-06 日本テキサス・インスツルメンツ株式会社 Simdレジスタファイルから汎用レジスタファイルへデータを移動させるための方法及び装置

Also Published As

Publication number Publication date
JP5372307B2 (ja) 2013-12-18
GB0214389D0 (en) 2002-07-31
GB2380283A (en) 2003-04-02
GB2380283B (en) 2005-02-16
US20030009652A1 (en) 2003-01-09

Similar Documents

Publication Publication Date Title
JP4879307B2 (ja) プロセッサでの条件付き実行をサポートする装置及びその方法
JP3559046B2 (ja) データ処理マネージメントシステム
US6581152B2 (en) Methods and apparatus for instruction addressing in indirect VLIW processors
KR100440841B1 (ko) 마이크로컴퓨터
JP4156794B2 (ja) iVLIWのPE間通信を用いた効率的な同期MIMD動作のための方法および装置
JP2002536738A (ja) 間接vliwプロセッサにおける実行時間並列処理のための動的vliwサブ命令選択システム
JP2002508570A (ja) 複数のデータパスインスタンスを有するプロセッサ
US9021236B2 (en) Methods and apparatus for storing expanded width instructions in a VLIW memory for deferred execution
JP2006146953A (ja) プロセッサ、システムlsi、システムlsiの設計方法、及び、それを記録した記録媒体
JP2003005958A (ja) データ処理装置およびその制御方法
US6948049B2 (en) Data processing system and control method
JP3578883B2 (ja) データ処理装置
JP5372307B2 (ja) データ処理装置およびその制御方法
JP2003529151A (ja) 構成可能な長命令語(cliw)を使用するプロセッサにユーザ定義の実行ユニットを追加するための方法と装置
JP2001075804A (ja) 拡張命令を処理する並列プロセッサ
JP3727395B2 (ja) マイクロコンピュータ
JP5370352B2 (ja) Simd型プロセッサアレイシステム及びそのデータ転送方法
JPH1165840A (ja) 演算処理装置およびその方法
US8484444B2 (en) Methods and apparatus for attaching application specific functions within an array processor
JP2006134347A (ja) マイクロコンピュータ
KR20010072490A (ko) 레지스터 스택을 포함하는 데이터 프로세서, 그 처리방법, 컴퓨터 프로그램 제품 및 멀티미디어 장치
US7668193B2 (en) Data processor unit for high-throughput wireless communications
CN116097213A (zh) 一种图指令处理方法及装置
JP2007156557A (ja) 並列プロセッサ
JP2003131873A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080520

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110114

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111019

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130918

R150 Certificate of patent or registration of utility model

Ref document number: 5372307

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees