JP4469896B2 - 電子並列処理回路 - Google Patents

電子並列処理回路 Download PDF

Info

Publication number
JP4469896B2
JP4469896B2 JP2007554717A JP2007554717A JP4469896B2 JP 4469896 B2 JP4469896 B2 JP 4469896B2 JP 2007554717 A JP2007554717 A JP 2007554717A JP 2007554717 A JP2007554717 A JP 2007554717A JP 4469896 B2 JP4469896 B2 JP 4469896B2
Authority
JP
Japan
Prior art keywords
instruction
circuit
control
processing element
jump
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.)
Active
Application number
JP2007554717A
Other languages
English (en)
Other versions
JP2008530679A (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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
Koninklijke Philips Electronics NV
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 Koninklijke Philips NV, Koninklijke Philips Electronics NV filed Critical Koninklijke Philips NV
Publication of JP2008530679A publication Critical patent/JP2008530679A/ja
Application granted granted Critical
Publication of JP4469896B2 publication Critical patent/JP4469896B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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, look ahead
    • 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/30094Condition code generation, e.g. Carry, Zero 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
    • 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, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • 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, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • 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, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3887Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]

Description

本発明は、複数の並列の命令処理エレメントを有する電子回路に関する。
複数の並列の命令処理エレメントを持つプロセッサ回路の典型的な例は、SIMD(Single Instruction Multiple Data)プロセッサであり、全ての処理エレメントは、共通の命令サイクルを実行する。それぞれの命令サイクルにおいて、SIMD処理エレメントは、同じプログラムの命令を実行し、それぞれは、自身のオペランドデータを使用する。典型的に、かかるSIMDプロセッサは、セントラルプログラムカウンタを有し、このカウンタは、共通して、全ての処理エレメントに供給される命令をアドレスするために使用される。
コンピュータプログラムでは、非常に簡単なプログラムは、たとえば高水準プログラムからif−then−else構造を実現するために処理データの値に関する条件が合致した場合、あるプログラムの部分から別のプログラムの部分にジャンプするため、条件付きフロー制御の形式を含む。かかるジャンプは、プログラムカウンタの条件付きアップデートとして実現される。SIMDプロセッサで条件付きの実行を実現することが望まれる。様々なアプローチが使用されている。欧州特許出願No0035647は、それぞれの処理エレメントが全ての処理エレメントに共通に供給される命令を実行するか否かを記載する構造を記載している。代替的なソリューションは、ジャンプを使用することであり、全ての処理エレメントについて後続する命令の選択に集合的に影響を及ぼす。所定の条件を検出したことを全ての処理エレメントが合図するか、又は所定の条件を検出したことを処理エレメントが合図しないか、検出を含む係るジャンプについて、条件をジャンプすることが知られている。
典型的に、これは、OR回路又はAND回路を使用して実現され、入力は処理エレメントのフラグ入力に結合され、このOR/AND回路の出力は、ジャンプが実行されるか否かを制御するために使用される。選択可能な処理エレメントからフラグ信号をマスクすることが知られており、更に変わる条件を許容する。このタイプの条件付きジャンプは、プログラムフローにわたり非常に制限されたデータに依存する制御のみを与える。ジャンプは、“処理エレメントの何れにもそれらのフラグを設定させていない”又は“処理エレメントの全てにそれらのフラグを設定させる”のような条件でのみ可能である。これは、たとえば(データが雑音を含みかつ)統計的な条件に依存するジャンプが必要とされるときに、殆ど使用されない。
本発明の目的は、複数の処理エレメントが共通のプログラムフローをもつプログラムを実行するプロセッサ回路において更に複雑な条件でジャンプ命令を実行するのを可能にすることである。
本発明の目的は、統計的な条件で集合的なプログラムジャンプをサポートする複数の並列処理エレメントをプロセッサ回路に設けることにある。
本発明に係る電子回路は、請求項1に記載される。本発明によれば、加算回路が使用され、入力が処理エレメントのフラグ出力に接続され、合計の出力は共通のフロー制御回路に結合される。このように、プログラムジャンプ条件は、それらのフラグを設定した処理エレメントの数のカウントに基づく。
本発明のこれらの目的及び利点、並びに他の目的及び利点は、以下の図を使用して限定するものではない例により説明される。
図1は、複数の処理エレメント10、オペランドストレージ回路12、加算回路14、制御プロセッサ16、プログラムカウンタ18及び命令供給回路19を有する処理回路を示す。3つの処理エレメント10のみが示されているが、実際に、非常に多くの数が存在する場合があることを理解されたい。処理エレメント10は、オペランドストレージ回路12に結合されるオペランド入力及び結果の出力、及び加算回路14の入力に結合されるフラグ出力を有する。加算回路14の合計出力は、制御プロセッサ16に結合される。命令供給回路19は、プログラムカウンタ18に結合される入力と、処理エレメント10、オペランドストレージ回路12及び制御プロセッサ16に結合される出力を有する。
制御プロセッサ16は、プログラムカウンタ18に結合される制御出力を有する。シンプルな実現では、命令供給回路19は、命令メモリであり、このメモリは、プログラムカウンタによりアドレスされるメモリロケーションの内容をリターンするが、更に複雑な回路が使用される場合があり、たとえばキャッシュ、パイプライン及び/又は予備の命令のデコードの幾つかの形式を実現する。組織的に、プログラムカウンタ18は、命令供給回路19の一部と考えられるが、明確さのために個別に示されている。
動作において、プログラムカウンタ18は、命令供給回路19に命令のアドレスを供給する。通常の状況下で、プログラムカウンタ18は、連続する命令サイクルで命令のアドレスをインクリメントし、連続するプログラムの命令は、連続する命令のサイクルにおいてアドレスされる。それぞれの命令のアドレスに応答して、命令供給回路19は、処理エレメント10、オペランド回路12及び制御プロセッサ16に命令情報を供給する。命令情報に応答して、オペランドストレージ回路12は、オペランドデータを処理エレメント10に出力し、処理エレメント10は、命令により制御される演算を実行し、それぞれは、オペランドとしてオペランドデータの異なる部分を使用する。
実行処理エレメント10の結果として、それぞれは結果を生成し、処理エレメント10の結合された結果は、命令供給回路19からの命令により制御されるアドレスにあるオペランドストレージ回路12に書き込まれる。少なくとも1つのタイプの命令に応答して、処理エレメント10は、それらフラグの出力でオペランドに依存するフラグデータを出力する。1つの例では、処理エレメント10は、「比較」命令をサポートし、この命令の実行に応じて、それぞれの処理エレメント10は、そのフラグ出力にあるその特定のオペランドのために取得される比較結果を出力する。別の例では、フラグ出力での信号は、結果の計算の副作用として生成され、たとえば結果がゼロよりも大きな数を表すか、オーバフローを表すか等を示す。
加算回路14は、フラグ出力で信号を加算する。すなわち、フラグ信号が予め決定されたロジックレベルを有する、フラグ出力の数のカウントを形成する。したがって、処理エレメントのうちの1つのみが係るフラグ信号を出力した場合、加算回路14は、数「1」を表す信号を出力し、処理エレメントのうち2つのみが係るフラグ信号を出力した場合、加算回路14は、処理エレメントの数である数「2」〜「N」までを表す信号を出力する。
制御プロセッサ16は、命令供給回路19からのそれ自身のカウンタに依存する命令を受け、加算回路14から合計信号を受ける。これらの命令に応答して、制御プロセッサ16は、様々なタイプのアクションを実行する。命令は、条件付きジャンプ命令を含む(この用語は、本明細書での用語「ブランチ命令」と交換可能に使用される)。このタイプの命令に応答して、制御プロセッサ16は、命令で規定される条件に合致するかをテストし、条件に合致する場合、制御プロセッサ16は、命令のアドレスを変えるためにプログラムカウンタ18に信号を送出する。必要とされる変化は、たとえば(プログラム選択アドレスに対して)絶対的な変化であるか、又は別の例として(古い命令のアドレスにプログラム選択オフセットを加えたものに対して)相対的な変化である。
実施の形態では、制御プロセッサ16は、加算回路14からの合計信号に依存する条件を使用することで少なくとも1つの命令のタイプに応答するために設計される。1実施の形態では、このタイプの命令は、閾値の観点で条件を規定し、制御プロセッサ16は、プログラムカウンタ18に、加算回路からの合計信号がこの閾値を超える(及び/又は任意にこの数に等しい)場合に、この命令に応答して相対的又は絶対的なジャンプに従って命令のアドレスを更新させる。
別の実施の形態では、制御プロセッサ16は、加算回路からの合計信号がこの閾値に等しいか、又はこの閾値よりも低い場合に、この命令に応答してジャンプを生じさせる。好ましくは、制御プロセッサ16は、加算回路からの合計信号がこの閾値よりも低い(及び/又は等しい)、及びこの閾値よりも高い(及び/又は等しい)場合にジャンプを生じさせるため、それぞれの命令をサポートするために設計される。
例では、このタイプの命令は、(処理エレメント10は、それぞれのオーディオサンプルを処理するか、それぞれのフーリエ係数を処理するオーディオ信号の処理、及び/又は処理エレメント10がそれぞれのピクセルサンプルを処理するか、それぞれのフーリエ係数を処理するビデオ信号の処理のような)信号処理の間の統計的な判定をなすために使用される(本明細書で使用されるように、「サンプル」は、直接的に測定された物理的な値を示すだけでなく、係る測定されたシリーズの処理から得られるシリーズを示す)。このタイプのタスクのためのプログラムでは、通常のプログラムフローは、たとえば最小を超えるサンプル値が閾値を超えるケースについて特別なプログラム部分と同様に供給される。このケースでは、プログラムは、特別なプログラム部分の一度だけジャンプするための命令を含み、すなわち5パーセントの処理エレメント10が、そのオペランド値が閾値を超えることを検出する。
更なる実施の形態では、回路は、フラグをマスクするのをサポートするために構成され、加算回路14は、処理エレメント10のうちのプログラムで選択された1つからフラグ信号の合計を形成する。マスキングは、様々なやり方で実現することができる。1実施の形態では、マスキングは、処理エレメント10でサポートされる。このケースでは、たとえば、特定の処理エレメント10における命令の第一のオペランドに関する条件が合致せず、特定の処理エレメント10における命令の第二のオペランドにおける制御フラグが予め決定された値を有する場合、それぞれの処理エレメント10は、ゼロフラグ信号(すなわち合計に寄与しない信号)を出力するために命令に応答するように設計される。このケースでは、条件が合致し、制御フラグが予め決定された値を有さない場合、処理エレメント10は、非ゼロのフラグ信号のみを出力する。
別の実施の形態では、マスキングは、命令供給回路19により制御レジスタ(図示せず)に供給されるマスクベクトルによりサポートされる。このマスクベクトルは、命令供給回路19から直接に供給されるか、又は制御プロセッサ16を介して供給される。
図2は、処理エレメント10と加算回路14の間に設けられるANDゲート20の形式で、処理エレメント10の外側にマスキング回路が示される実施の形態を示す。それぞれの処理エレメント10のフラグ出力は、それぞれのANDゲートの第一の入力に結合され、制御フラグは、マスクレジスタ22からの第二の入力に供給される。ANDゲート20の出力は、加算回路14に結合される。この実施の形態では、制御レジスタ22は、制御フラグを提供するためにANDゲート20の入力へのそれぞれの出力を有する。
この実施の形態では、マスクベクトルは、制御プロセッサ16を介して供給され、このプロセッサは、制御レジスタのそれぞれの部分を設定するために1以上の命令の形式で実現される。しかし、本発明は、この実施の形態に限定されるものではなく、たとえばANDゲートの機能に類似の機能が処理エレメント10の内部にあり、そのケースでは、制御レジスタ22は、処理エレメント10に結合されるか、又は処理エレメント10の一部である制御レジスタが使用される場合がある。同様に、制御フラグが命令供給回路19から供給される場合、この回路は制御レジスタ22に結合されるか、制御フラグがオペランドストレージ回路12から到来する場合、制御レジスタ22はその回路の一部である。
別の実施の形態では、処理エレメント10は、(たとえば、オペランドが等しい、第一のオペランドが第二のオペランドよりも大きい及び第一のオペランドが第二のオペランドよりも小さい、又は演算結果がゼロよりも大きい、ゼロに等しい、ゼロよりも小さいといった、異なる条件を示す)複数の異なるフラグ信号を出力するために構築される。この実施の形態では、複数の加算回路14は、処理エレメント10と制御プロセッサ16の間に設けられ、それぞれの回路は、それぞれのタイプのフラグ信号を合計する。このケースでは、制御プロセッサ16は、異なるタイプの合計に応答してジャンプを実現する異なるタイプの命令に応答するために構成されることが好ましい。
別の実施の形態では、複数のタイプのフラグ信号について1つの加算回路14が設けられ、マルチプレクサ(図示せず)は、それぞれの処理エレメント10からのフラグ出力のグループと加算回路14の対応する入力との間にそれぞれ結合され、制御プロセッサ16は、制御プロセッサ16の命令の制御下で合計される必要があるフラグ信号のタイプを選択するこれらマルチプレクサの制御入力に結合される出力を有し、代替的に、処理エレメントは、それらの命令の制御下でフラグのタイプを選択するために構成される。
1実施の形態では、加算回路14は、飽和加算回路(saturating adder circuit)であり、この回路は、予め決定された最大値にまで合計し、最大値を表す数、すなわち実際の合計が最大値を超える場合に実際の合計をモジュロとする数をリターンする。これは多くのケースで満足する。しかし、好ましくは、加算回路14は、全ての可能性のある合計の値にまで加算するために設計される。様々なタイプの加算回路が使用される。好ましくは、ツリー構造の加算回路14が使用され、それぞれのサブ加算器(図示せず)は、処理エレメントのサブセットからフラグ信号のそれぞれの部分的な合計を形成するために設けられ、1以上の後続する加算器は、部分的な合計を加算する。
これは、フラグ信号の生成とジャンプの実施の間で必要とされる遅延を低減する。何れのケースにおいても、パイプラインの形式が使用される場合があり、処理エレメント10が1命令サイクルにおいて出力を有するフラグ信号の合計は、後の命令サイクルにおけるプログラムカウンタアドレスにおける変化を招くジャンプ、たとえばパイプライン化された加算回路14で使用される多数のサイクルによるオリジナル命令サイクルに対するオフセットに影響を及ぼすことを理解されたい。
好ましくは、1ビットフラグが使用される。しかし、更なる実施の形態では、(たとえば、4つのレンジのうち、処理エレメント10のオペランド間の比較が得られる、2ビットのフラグ)多ビットフラグが使用される場合がある。更なる実施の形態では、加算回路14が設計され、数としてこれらマルチビットフラグを合計する。フラグの出力とジャンプの実行の間の大きな遅延を回避するため、使用される場合、係るマルチビットフラグのサイズは好ましくは小さく、典型的には処理エレメント10のオペランドにおけるビット数よりも非常に小さい。
好ましくは、処理回路はSIMD(Single Instruction Multiple Data)回路であり、この回路は、命令供給回路19が、命令サイクル当たり同じ命令を全ての処理エレメント10に供給することを意味する。このように、分別よく合計することができる、処理エレメント10により比較しうるフラグ信号が出力される、シンプルなやり方で保証される。しかし、本発明は、SIMDプロセッサに限定されない。本発明は、MIMDプロセッサにも適用され、すなわち、命令供給回路19が処理エレメント10に相互に異なる命令を供給することができるプロセッサにも適用される。典型的に、このケースでは、フラグ信号の合計に関して条件付けされるジャンプ命令は、等しいか又は少なくとも類似の命令が全ての処理エレメント10(又は合計においてマスクされていない少なくとも処理回路10)に供給されるときに生成されるフラグ出力について使用される。
さらに、条件付きジャンプ(又はブランチ)命令の実行において加算回路14の出力が使用される本発明は好適な実施の形態について記載されたが、更に又は代替的に本発明は割り込み又は例外プロセスに適用される場合があることを理解されたい。割り込みのケースでは、制御プロセッサ16は、合計に依存する条件が生じるとき、予め決定されたアドレスへのジャンプを生じさせる。
条件及び/又は予め決定されたアドレスは、たとえばハードワイヤリングにより永続的に、又は「イネーブルインタラプト」命令に応答して、後続する命令よりも前もって設定される場合がある。このタイプのプロセッサでは、通常のプログラムフローの間の任意の1つの命令の実行後に合計が条件に合致しない場合に、プログラムカウンタ18は、通常のプログラムフローに追従する。条件が合致する場合、制御は例外処理命令に転送される。
処理エレメント10及び制御プロセッサ16の両者について命令の選択を制御するプログラムカウンタを変えるジャンプ命令を含めて、処理エレメント10によるステップにおける命令を実行するために制御プロセッサ16が構築される実施の形態が記載された。典型的に、制御プロセッサ16が構築され、オペランドストレージユニット12への信号データの捕捉又は回路等からの結果の出力の更新を制御するため、他のタイプの命令も同様に実行することができる。
しかし、本発明は、この実施の形態に限定されるものではないことを理解されたい。異なる実施の形態では、制御プロセッサ16は、条件を監視し、これらの条件に依存してプログラムカウンタのアップデートを実現する役割を果たす。このケースでは、制御プロセッサについて「命令」とは、ジャンプターゲットアドレス(又はオフセット)、及び、合計の閾値及び/又は合計が閾値を超えるか又は下回る場合にジャンプが必要とされるかといった、条件の任意の規定を含む。
さらに、フラグ信号の合計の使用のみがジャンプ条件を規定するために詳細に記載されたが、たとえばフラグ出力のうちの任意のマスクされた1つの論理関数が真であるかに依存して、他の条件に関しても同様にジャンプを生じさせるために更に制御プロセッサ16が構築される。このため、対応する論理回路は、加算回路14と並列に、フラグ出力と制御プロセッサ16の間で接続される。このケースでは、制御プロセッサの命令は、ジャンプルを実現すべきかを判定するためにどの回路を使用すべきかを規定する。しかし、論理AND、論理OR及びパリティ機能のようなフラグ出力信号のシンプルな論理関数の結果に関してジャンプするため、加算回路14の出力信号が使用される場合があり、合計がゼロよりも大きい場合に論理ORは真であり、合計が最大の可能性のある値に等しい場合に論理ANDが真であり、パリティは、合計の最下位ビットに対応する。
選択されたグラグ信号のマスキングと組み合わせて、合計回路の出力は、誤り訂正シンドローム値のビットを計算するために使用される。典型的に、これは、複数の異なるマスク及び合計の最下位ビットの使用を含む。代替的に、複数の異なる合計回路(そのうちの幾つかは最下位ビットの出力のみを有する)、及び複数のマスクレジスタは、並列してシンドロームの異なるビットを計算するために並列に提供される。
処理回路を示す図である。 更なる処理回路を示す図である。

Claims (8)

  1. 複数の並列命令処理エレメントと、それぞれの処理エレメントは、データに依存する条件が処理エレメントによる命令の実行の間に生じたかを示す条件信号を供給するフラグ出力を有し、
    前記処理エレメントに結合される出力をもつ命令供給回路と、
    前記フラグ出力に結合される入力と合計出力とを持つ加算回路と、
    供給される命令のプログラムフローを制御するために前記命令供給回路に結合される制御回路とを有し、
    前記制御回路は、前記合計出力に結合される条件入力を有し、
    前記制御回路は、前記合計出力で供給される合計の値に依存して前記命令供給回路の条件付きのプログラム制御のジャンプを行う
    ことを特徴とする電子回路。
  2. 前記処理エレメントのうちのマスクにより選択されたエレメントからのデータに依存する条件への条件信号の依存度を抑圧するマスキング回路を有する、
    請求項1記載の電子回路。
  3. 当該電子回路はSIMDアーキテクチャを有し、
    前記命令供給回路は、全ての処理エレメントに共通の同じ命令の情報を供給する、
    請求項1記載の電子回路。
  4. 前記制御回路は、命令処理回路であり、前記命令供給回路は、前記処理回路への命令情報の供給と同期して、前記制御回路に前記処理エレメントのためのそれぞれの命令に関連する制御命令を供給し、前記制御回路の制御命令のセットは、条件付きのプログラム制御ジャンプを行うための条件付きジャンプ命令を含む、
    請求項1記載の電子回路。
  5. 前記加算回路により加えられる前記条件信号は、1ビット信号であり、前記合計は、多ビットの合計信号である、
    請求項1記載の電子回路。
  6. 前記処理エレメントの命令のセットは、前記データに依存する条件がどのように前記命令のオペランドデータに依存するかを定義する比較命令を含む、
    請求項1記載の電子回路。
  7. 前記制御回路は、前記合計の値が前記制御回路の制御命令で規定される閾値以下であるかに依存して条件付きプログラム制御のジャンプを行う
    請求項1記載の電子回路。
  8. 前記制御回路は、前記合計の値が前記制御回路の制御命令で規定される閾値を超えるかに依存して、条件付きプログラム制御のジャンプを行う、
    請求項1記載の電子回路。
JP2007554717A 2005-02-14 2006-02-09 電子並列処理回路 Active JP4469896B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05101051 2005-02-14
PCT/IB2006/050422 WO2006085277A2 (en) 2005-02-14 2006-02-09 An electronic parallel processing circuit

Publications (2)

Publication Number Publication Date
JP2008530679A JP2008530679A (ja) 2008-08-07
JP4469896B2 true JP4469896B2 (ja) 2010-06-02

Family

ID=36499314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007554717A Active JP4469896B2 (ja) 2005-02-14 2006-02-09 電子並列処理回路

Country Status (6)

Country Link
US (1) US7904698B2 (ja)
EP (1) EP1851619A2 (ja)
JP (1) JP4469896B2 (ja)
KR (1) KR20070105325A (ja)
CN (1) CN101120310B (ja)
WO (1) WO2006085277A2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101984635B1 (ko) * 2012-07-19 2019-05-31 삼성전자주식회사 어플리케이션을 고속으로 처리하는 연산 처리 장치 및 방법
CN110620636B (zh) * 2018-06-20 2022-05-17 富联精密电子(天津)有限公司 数据传输校验装置及方法
CN108985232A (zh) * 2018-07-18 2018-12-11 平安科技(深圳)有限公司 人脸图像比对方法、装置、计算机设备及存储介质
CN109214273A (zh) * 2018-07-18 2019-01-15 平安科技(深圳)有限公司 人脸图像比对方法、装置、计算机设备及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56127266A (en) 1980-03-10 1981-10-05 Ibm Method of executing and controlling command stream
JPH01153189A (ja) 1987-12-11 1989-06-15 Matsushita Electric Ind Co Ltd アイロン収納ケースのロック装置
JP2793342B2 (ja) 1990-08-09 1998-09-03 株式会社東芝 演算処理装置
US5581778A (en) * 1992-08-05 1996-12-03 David Sarnoff Researach Center Advanced massively parallel computer using a field of the instruction to selectively enable the profiling counter to increase its value in response to the system clock
US5659722A (en) * 1994-04-28 1997-08-19 International Business Machines Corporation Multiple condition code branching system in a multi-processor environment
US5923862A (en) * 1997-01-28 1999-07-13 Samsung Electronics Co., Ltd. Processor that decodes a multi-cycle instruction into single-cycle micro-instructions and schedules execution of the micro-instructions
US5881274A (en) * 1997-07-25 1999-03-09 International Business Machines Corporation Method and apparatus for performing add and rotate as a single instruction within a processor
US6366999B1 (en) 1998-01-28 2002-04-02 Bops, Inc. Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution
WO2000078120A2 (en) * 1999-06-21 2000-12-28 Bops Incorporated Methods and apparatus for initiating and resynchronizing multi-cycle simd instructions
US20020083311A1 (en) * 2000-12-27 2002-06-27 Paver Nigel C. Method and computer program for single instruction multiple data management
US7127593B2 (en) 2001-06-11 2006-10-24 Broadcom Corporation Conditional execution with multiple destination stores
US6944744B2 (en) * 2002-08-27 2005-09-13 Advanced Micro Devices, Inc. Apparatus and method for independently schedulable functional units with issue lock mechanism in a processor

Also Published As

Publication number Publication date
KR20070105325A (ko) 2007-10-30
US7904698B2 (en) 2011-03-08
WO2006085277A2 (en) 2006-08-17
JP2008530679A (ja) 2008-08-07
US20080189515A1 (en) 2008-08-07
CN101120310A (zh) 2008-02-06
EP1851619A2 (en) 2007-11-07
CN101120310B (zh) 2010-06-09
WO2006085277A3 (en) 2007-01-11

Similar Documents

Publication Publication Date Title
JP4795025B2 (ja) ダイナミックリコンフィギャラブルデバイス、制御方法、及びプログラム
US20070239975A1 (en) Programmable backward jump instruction prediction mechanism
KR100498482B1 (ko) 명령어수에 수행 주기 회수를 가중치로 사용하여 쓰레드를페치하는 동시 다중 쓰레딩 프로세서 및 그 방법
JP2007526571A5 (ja)
US9081564B2 (en) Converting scalar operation to specific type of vector operation using modifier instruction
JP2008071130A (ja) Simd型マイクロプロセッサ
GB2553783A (en) Vector multiply-add instruction
US9588845B2 (en) Processor that recovers from excessive approximate computing error
CN107092466B (zh) 用于控制mxcsr的方法及装置
JP2013120597A (ja) ヒステリシスを伴う次フェッチプレディクタトレーニング
US10664280B2 (en) Fetch ahead branch target buffer
US20150254077A1 (en) Data processing apparatus and method for processing vector operands
JP4469896B2 (ja) 電子並列処理回路
JP3749233B2 (ja) パイプラインでの命令実行方法及び装置
US8082467B2 (en) Triggering workaround capabilities based on events active in a processor pipeline
KR20200090103A (ko) 분기 예측기
KR102458467B1 (ko) 벡터 생성 명령
GB2566339B (en) An apparatus and method of executing thread groups
EP1220088A2 (en) Circuit and method for supporting misaligned accesses in the presence of speculative load instructions
JP2006018411A (ja) プロセッサ
US20190391808A1 (en) Apparatus and method for resynchronization prediction with variable upgrade and downgrade capability
CN106990939B (zh) 修改数据处理单元的行为
US7191432B2 (en) High frequency compound instruction mechanism and method for a compare operation in an arithmetic logic unit
JP5939586B2 (ja) オーバーロードチェックを実行する命令
AU700454B2 (en) Jump prediction

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100104

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100301

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130305

Year of fee payment: 3