JP2010522402A - マルチプロセッサシステムのための命令通信技術 - Google Patents

マルチプロセッサシステムのための命令通信技術 Download PDF

Info

Publication number
JP2010522402A
JP2010522402A JP2010501133A JP2010501133A JP2010522402A JP 2010522402 A JP2010522402 A JP 2010522402A JP 2010501133 A JP2010501133 A JP 2010501133A JP 2010501133 A JP2010501133 A JP 2010501133A JP 2010522402 A JP2010522402 A JP 2010522402A
Authority
JP
Japan
Prior art keywords
slave processor
processor
command
pass
destination
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
JP2010501133A
Other languages
English (en)
Other versions
JP5547056B2 (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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2010522402A publication Critical patent/JP2010522402A/ja
Application granted granted Critical
Publication of JP5547056B2 publication Critical patent/JP5547056B2/ja
Expired - Fee Related 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • 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
    • 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/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Multi Processors (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)
  • Advance Control (AREA)

Abstract

【解決手段】マスタープロセッサとパイプライン型スレーブプロセッサを有するマルチプロセッサシステムにおいて、前記マスタープロセッサにより制御されるスレーブプロセッサへの命令を伝達するための方法について記述する。その方法は、(i)前記パイプライン型スレーブプロセッサにより理解されるコンピュータ言語を用いて符合化されるヘッダーブロックと(ii)宛先のスレーブプロセッサにより理解されるコンピュータ言語を用いて符合化される命令を含むペイロードブロックとを含むパススルーコマンドを用いる。前記パススルーコマンドは、最も外側のスレーブプロセッサに転送され、中間のスレーブプロセッサにより再符号化されることなしに、宛先のスレーブプロセッサに届くまで転送される。一例において、この方法は、ビデオデータやレンダリング画像の処理のために適用されるシステムに用いられる。
【選択図】図1

Description

関連出願の表示
この出願は、2007年3月23日に出願された米国仮特許出願番号60/896,497の利益を要求する。前述の出願の全体は、参照によって本明細書に組込まれる。
以下の開示は、マルチプロセッサシステムの分野一般に関し、特に、マスタープロセッサとパイプライン型スレーブプロセッサを有するマルチプロセッサシステムにおいて、スレーブプロセッサへの命令を伝達するための方法に関する。
複合的なコンピュータシステムにおいて、一般の作業量は、しばしば複数のプロセッサにより並行的にあちこちに割り当てられ、実行される。マルチプロセッサシステムは、一般的に複数のパイプライン型(即ち、直列に接続された)プロセッサ又は共同のプロセッサを管理するマスタープロセッサ含み、そしてそれはここでは集合的にスレーブプロセッサと称する。例えば、そのようなマルチプロセッサシステムは、特に計算量の多いアプリケーションで、大量のビデオデータやレンダリング画像の処理のために用いられ得る。
しかしながら、マルチプロセッサシステムにおいて、マスタープロセッサ及びそれぞれのスレーブプロセッサは、自身の、従って異なるプログラム言語によってフォーマットされた命令(即ち、コマンド)やデータを用いて動作し得る。従来、マスタープロセッサによりそれぞれのスレーブプロセッサへ転送された命令は、自身のプログラム言語でそれぞれの中間のスレーブプロセッサによりデコードされ、次の下流の中間のスレーブプロセッサにおいて再び符号化され、続いてプロセッサに転送される。
受けた命令をデコードし、下流の中間スレーブプロセッサのプログラム言語における再符号化の後にそれらを下流に転送するそのようなサイクルは、命令が意図された又は宛先のスレーブプロセッサに届くまで続けられる。宛先のスレーブプロセッサに命令が届いたとき、受けた命令は、そのプロセッサの自身のプログラム言語で符号化され、実行される。
スレーブプロセッサへ命令伝達のためのそのようなマルチステップルーチンの複雑さは、マルチプロセッサシステム全体のパフォーマンスに悪影響を与え、特に、システムのデザインの柔軟性やコマンド処理を制限する。マスタープロセッサからパイプライン型スレーブプロセッサへの効率を向上させることに当技術において相当の努力が払われているにもかかわらず、更なる改良が求められている。
従って、当技術において、マルチプロセッサのパイプライン型プロセッサへの命令の伝達を効率的に実行する技術に対する要求がある。
マスタープロセッサとパイプライン型スレーブプロセッサとを有するマルチプロセッサシステムにおいて、スレーブプロセッサへの命令の伝達のための方法について、以下に記述する。実施例において、マスタープロセッサは、ヘッダーブロック(a header block)及び宛先のスレーブプロセッサへの命令を含むペイロードブロック(a payloed block)を有するパススルーコマンドを発生する。ヘッダーブロックは、パイプライン型スレーブプロセッサにより理解されるコンピュータ言語を用いて符合化される。ペイロードブロックは、宛先のスレーブプロセッサにより理解されるコンピュータ言語で符号化される。マスタープロセッサは、パイプライン型スレーブプロセッサの最も外側の一つにパススルーコマンドを転送し、その後そのパススルーコマンドは、宛先のスレーブプロセッサにパススルーコマンドが届くまで中間(即ち、宛先でない)スレーブプロセッサにより、再符号化なしに、再送信され、宛先のスレーブプロセッサは命令を実行する。
一デザインにおいて、システムは、ビデオデータ又はレンダリング画像の少なくとも1つを処理する効果的な方法を用いる。
本発明の様々な側面及び実施例は、以下に更に詳細に記載される。
この概要は、本発明の全範囲及び範囲を表わすことを意図されたり、解釈されたりするべきではなく、これら及びさらなる側面は、特に添付した図面と共に参照すると、詳細な説明から容易に明らかとなるであろう。
見本的なマルチプロセッサシステムのブロックダイアグラムを示す。 図1中のマルチプロセッサシステムにおいて使用されるパススルーコマンドの構造の概略図を示す。 図1中のマルチプロセッサシステムにおけるパイプライン型スレーブプロセッサへの命令を伝達するための方法のフローダイアグラムを示す。
理解を容易にするために、可能であれば、図面に共通の同一の要素を指すために、適切な場合にそのような要素を区別するために添え字を付加する場合を除いて、同一の参照符号を用いる。図中のイメージは、図示の目的のため単純化されたものであり、実寸を描いたものではない。一実施例の特徴又はステップが更なる詳述なしに他の実施例において恩恵的に取り込まれ得る。
添付の図面は、本発明の見本的な実施例を図示しており、従って他の同等に効果的な実施例に適用され得る、本発明の範囲を限定するものと解釈されるべきではない。
ここで、”見本的に(exemplary)”の語は、ここでは”例示、事例、又は実例として働く”という意味に用いられる。”見本的に(exemplary)”本明細書において記述されたいずれの実施例又は図面も、必ずしも、望ましいもの、他の実施例又はデザインよりも効果的なものと考慮されるべきではない。
図面を参照すると、図1は、本発明の一実施例に従った例示的なマルチプロセッサシステム100のブロックダイアグラムを描写するものである。例示的なアプリケーションにおいて、このシステム100はビデオデータ及び/又はレンダリング画像の処理のために用いられ得、特に、計算量が多いデータ処理アプリケーションで用いられ得る。
一つの見本的な実施例において、このシステム100は、例えば、携帯電話、ビデオゲーム器、パーソナルデジタルアシスタント(PDA)、ラップトップコンピュータ、オーディオ/ビデオ機能デバイス等の無線通信装置の画像処理ユニット(GPU:graphics processing unit)の一部である。
GPUは、例えば、2005年7月28日の文献”OpenVG Specification, Version 1.0”に準拠しており、この文献は公に利用可能である。この文献は、例えば、携帯電話やその他の上記無線通信装置等の手持ち式の又はモバイル機器に適する2−Dベクトルグラフィックについての規格である。
図示の実施例において、このシステム100は、マスタープロセッサ110、及びシステムインターフェイス126−126をそれぞれ用いて接続された複数(101)のパイプライン型スレーブプロセッサ120−120を例として備える。ここで、Kは整数であって、2以上(K≧2)である。一実施例において、システムインターフェイス126−126のそれぞれは、データバス、アドレスバス、コマンドバス(ここでは図示せず)を含む。マスタープロセッサ110及びスレーブプロセッサ120−120のそれぞれは、サブプロセッサ、メモリ、周辺デバイス、サポート回路、そのような物を含み得、そしてそれらは、略して、集合的にモジュール111や121−121として、ここではそれぞれ示されている。
マスタープロセッサ110及びパイプライン型スレーブプロセッサ120−120は、例えば、混載(SoC)装置のような集積回路(IC)に形成され得る。あるいは、マスタープロセッサ110及びパイプライン型スレーブプロセッサ120−120の少なくとも一つは、別々の集積回路に形成され得る。
動作の際、マスタープロセッサ110は、パイプライン型スレーブプロセッサ120−120におけるデータ処理を制御し、また、随意にモニターする。マスタープロセッサ110及びそれぞれのパイプライン型スレーブプロセッサ120−120は、内部命令生成のため又は内部データ交換実行のために、異なったフォーマット(即ち、コンピュータ言語)用いて動作し得る。
マスタープロセッサ110は、インプットバッファ(IB)112や出力バッファ(OB)114を含んだ入力/出力(I/O)モジュール118を備える。これと対応するように、スレーブプロセッサ120−120のそれぞれは、インプットバッファ122や出力バッファ124を有する入力/出力(I/O)モジュール128を備える。動作の際、I/Oモジュール118、128−128は、このシステム100内部又はこのシステム100へ/からの情報交換を容易にする。
インターフェイス102を用いて、マスタープロセッサ110の入力バッファ112は、集合的に手段104として図示される、リモートプロセッサ、ネットワーク、又はユーザ制御手段の少なくとも一つに接続され得る。同様に、インターフェイス107を用い、スレーブプロセッサ120の出力バッファ124は、集合的に手段106として図示される、他のリモートプロセッサ、ネットワーク、又はユーザ制御装置の少なくとも一つに接続され得る。
システム100において、複数の双方向型インターフェイス126をそれぞれ介して、先行する(即ち、上流側の)スレーブプロセッサ120の入力バッファ122は、隣接する下流側のスレーブプロセッサ120の出力バッファ124に接続され、この結果、複数(101)のパイプライン型スレーブプロセッサ120−120を形成する。例えば、スレーブプロセッサ120の入力バッファ122は、システムインターフェイス126を介して、スレーブプロセッサ120の出力バッファ124に接続され、スレーブプロセッサ120の出力バッファ124は、システムインターフェイス126を介して、スレーブプロセッサ120(図示せず)の入力バッファ122に接続される。
一実施例において、マスタープロセッサ110の出力バッファ114は、システムインターフェイス126を介し、複数110のパイプライン型スレーブプロセッサ120のうちの最も外側のスレーブプロセッサの入力バッファ、即ち、スレーブプロセッサ120の入力バッファ122に接続される。動作の際、マスタープロセッサ110は、それぞれのスレーブプロセッサへ命令発生及び命令送信することにより、スレーブプロセッサ120−120に対する制御を管理する。これらの命令の意図された受け取り手であるスレーブプロセッサは、以下、単に宛先のスレーブプロセッサとして記述する。この命令は、システムインターフェイス126を介して、マスタープロセッサ110の出力バッファ114から最も外側のスレーブプロセッサ120の入力バッファ122へ、転送される。
宛先のスレーブプロセッサに到達するために、その命令は、一つ又は複数の中間の上流のスレーブプロセッサ、即ち、マスタープロセッサと宛先のスレーブプロセッサとの間に配置されるスレーブプロセッサにより、受信され、続いて下流に向けて再送信、即ち転送される。ここで、”転送すること”及び”再送信すること”の語は、交換可能であるように(interchangeably)として用いる。
より具体的には、それぞれのインターフェイスを介し、上流のスレーブプロセッサの出力バッファからの命令は、下流のスレーブプロセッサ(即ち、転送方向として矢印103を用いて図示された)の入力バッファに転送され、その後、スレーブプロセッサは、同様に、更に下流へ宛先のスレーブプロセッサに届くまで命令を転送する。
例えば、宛先のスレーブプロセッサがスレーブプロセッサ120であるとき、スレーブプロセッサ120は、システムインターフェイス126を介して、下流のスレーブプロセッサ120へ命令を転送し、そしてその後スレーブプロセッサ120はその命令を宛先のスレーブプロセッサ120に再送信し、そこで命令は実行される。
図2に示すように、宛先のスレーブプロセッサに命令を効率的に伝達するために、マスタープロセッサ110は、パススルーコマンド200を発行する。一実施例において、このパススルーコマンド200は、以下の(i)及び(ii)を命令する:(i)それぞれの宛先でないスレーブプロセッサに対して、パススルーコマンドを再符号化することなしにそれぞれの下流のスレーブプロセッサに転送すること(即ち、パススルーコマンドを矢印103の方向に再送信すること)、及び(ii)宛先のスレーブプロセッサに対して、パスルーコマンドに含まれる命令を実行すること。特に、パススルーコマンド200は、宛先でないスレーブプロセッサ120に対して、スレーブプロセッサの入力バッファ122から出力バッファ124へ受信したパススルーコマンドをコピーすることを、命令し得る。
一実施例において、パススルーコマンド200は、ヘッダーブロック210及びペイロードブロック220を含む。ヘッダーブロック210は、複数(101)の全てのパイプライン型スレーブプロセッサ120−120により理解されるコンピュータ言語を用いて符合化される。ここで、”コンピュータ言語”の語は、プログラム言語、及びマスター及びスレーブプロセッサにより用いられる命令及びデータのためのフォーマットに関して集合的に用いられる。
一つの見本的な実施例において、ヘッダーブロック210は、データモジュール202,204,及び206を含む。別の実施例(図示せず)において、データモジュール202,204,及び206の内容は、1つのデータモジュールを形成するか、又はいずれか2つのデータモジュールの内容が1つのデータモジュール内に含まれ得る。
データモジュール202は、マスタープロセッサ110の他のコマンドのうちでパススルーコマンド200を示す情報(即ち、パススルーコマンドのID)を含む。データモジュール204は、宛先のスレーブプロセッサを示す情報(即ち、宛先のスレーブプロセッサのアドレス)を含む。データモジュール206は、ペイロードブロック220のビット長(例えば、バイト単位で)を示す情報を含む。別の実施例(図示せず)において、ヘッダーブロック210では、データモジュール206は、データモジュール204を先行し得る。
ペイロードブロック220は、宛先のスレーブプロセッサにより理解されるコンピュータ言語を用いて符号化され、それぞれの宛先のスレーブプロセッサによる実行のため、マスタープロセッサ110により発行された命令を有する少なくとも一つのデータモジュール222(データモジュール222−222を示し、ここでNは整数であって1以上(N≧1)である)を含む。
更なる実施例において、パススルーコマンド200は、宛先のスレーブプロセッサに対し、予め決定されたメッセージを上流の(即ち、矢印105を用いた方向で)マスタープロセッサへ送信することによりコマンドの受信又は実行を確認することを命令し得る。例えば、そのようなメッセージをマスタープロセッサ110へ効果的に伝達するため、パススルーコマンド200は、宛先のスレーブプロセッサに対して、以下の(i)〜(iii)を命令し得る。
(i)受信したパススルーコマンドのデータモジュール204において、宛先のスレーブプロセッサを示す情報をマスタープロセッサ110を示す情報で置き換えること、
(ii)ペイロードブロック220において予め決定されたメッセージを含むこと、及び
(iii)隣接する上流のスレーブプロセッサへ修正された(即ち、返答)パススルーコマンドを転送すること。
図3は、図1のマルチプロセッサシステム100におけるパイプライン型スレーブプロセッサ120へ命令を伝達するための方法300を示すフロー図を描写している。さまざまな実施例において、方法300の方法ステップが図示した順序で実行され、又はこれらのステップの少なくとも2つまたはその一部(例えば、サブステップ312、314、316、318)は、同時に、並行に、若しくは異なった順序で、実行され得る。当業者は、他の後述のプロセスの少なくとも一部またはルーチンの順序も変更され得ることを容易に理解するであろう。この発明を最良に理解するために、読み手は同時に図1〜3を参照すべきである。
ステップ310の際、マスタープロセッサ110は、パススルーコマンド200を発行する。例として、ステップ310は、サブステップ312、314、316、318を含む。図示の実施例において、サブステップ312、314、316、318の間、マスタープロセッサ110は、パススルーコマンド200のヘッダーブロック210を発行し、サブステップ318の間、マスタープロセッサはそれぞれパススルーコマンドのペイロードブロック220を発行する。
サブステップ312の際、マスタープロセッサ110は、ヘッダーブロック210のデータモジュール202を発行する。データモジュール202は、パススルーコマンド200を示す情報を含み、この情報はスレーブプロセッサ120−120のそれぞれの一つにより理解されるコンピュータ言語を用いて符合化される。
サブステップ314の際、マスタープロセッサ110は、ヘッダーブロック210のデータモジュール204を発行する。データモジュール204は、宛先のスレーブプロセッサ(例えば、スレーブプロセッサ120)を示す情報、およびマスタープロセッサと宛先のスレーブプロセッサとの間に配置される中間の宛先でないスレーブプロセッサのための命令、を含む。
特に、データモジュール204は、パススルーコマンド200をデコードすることなく下流の宛先のスレーブプロセッサに転送することを宛先でないスレーブプロセッサに求める要求を含む。一実施例において、宛先でないスレーブプロセッサは、それぞれの宛先でない入力バッファからスレーブプロセッサの出力バッファへ、パススルーコマンドをコピーするように命令される。データモジュール204の内容は、スレーブプロセッサ120−120のそれぞれの一つにより理解されるコンピュータ言語を用いて符合化される。
サブステップ316の際、マスタープロセッサ110は、ヘッダーブロック210のデータモジュール206を発行する。データモジュール206は、パススルーコマンド200のペイロードブロック220のビット長を示す情報を含む。データモジュール202、204の内容と同様に、この情報は、スレーブプロセッサ120−120のそれぞれの一つにより理解されるコンピュータ言語を用いて符合化される。
サブステップ318の際、マスタープロセッサ110は、パススルーコマンド200のペイロードブロック220を発行する。ペイロードブロック220は、宛先のスレーブプロセッサのための指示222の一つを少なくとも含む。ペイロードブロック220の内容(即ち、命令222−222)は、宛先のスレーブプロセッサ(即ち、スレーブプロセッサ120)により理解されるコンピュータ言語を用いて符合化される。
ステップ320の際、マスタープロセッサ110は、パススルーコマンド200を組み立て、最も外側のスレーブプロセッサ(即ち、スレーブプロセッサ120)にこのコマンドを送信する。
ステップ330の際、マスタープロセッサ110は、最も外側のスレーブプロセッサが宛先のスレーブプロセッサの場合、そのプロセッサは、コマンドのペイロードブロック220に含まれる命令を実行する。従って、最も外側のスレーブプロセッサが宛先のスレーブプロセッサでない場合、最も外側のスレーブプロセッサは、パススルーコマンド200を下流に隣接するスレーブプロセッサ(即ち、スレーブプロセッサ120)に転送(再送信)する。そして、スレーブプロセッサが宛先のスレーブプロセッサでない場合、次の下流のスレーブプロセッサ(即ち、スレーブプロセッサ120)にこの命令を転送する。このようなパススルーコマンド200を送信するサイクルは、宛先のスレーブプロセッサにコマンドが届くまで、続く。一実施例において、ステップ330の間、受信されたパススルーコマンド200は、再デコードすることなく、受け取った宛先でないスレーブプロセッサの入力バッファからこのプロセッサの出力バッファへ、コピーされる。
ステップ340の際、宛先のスレーブプロセッサにパススルーコマンド200が届くと、コマンドのペイロードブロック220に含まれる命令を実行する。一実施例において、このような命令は、マスタープロセッサ110にパススルーコマンドの受信または実行を確認する要求を含む。図2を参照して説明したように、宛先のスレーブプロセッサからの返答通信は、マスタープロセッサ110宛ての修正されたパススルーコマンドのペイロードブロック220に含まれるメッセージを含み得る。このようなコマンドは、コマンドがマスタープロセッサに届くまで、宛先のプロセッサとマスタープロセッサ110との間に配置されたスレーブプロセッサ120により、順次、再送信される。
見本的な実施例において、方法300は、一又は複数のコンピュータの実行可能な命令を含むコンピュータプログラムプロダクトの形態で、ハードウェア、ソフトウェア、ファームウェア、若しくはこれらの組み合わせにより実施され得る。ソフトウェアにより実行される場合、このコンピュータプログラムプロダクトは、コンピュータストレージメディアやコンピュータ通信メディアなどを含む、コンピュータが読み取り可能な媒体(medium)を用いて記憶または送信され得る。
この”コンピュータストレージメディア(computer storage medium)”の語は、ここでは、コンピュータにこの方法を実行させる命令を記憶するために適応された何らかの媒体(medium)を言う。例として、また限定することなく、コンピュータストレージメディアは、固体メモリデバイスや、電気的なメモリデバイス(即ち、RAM,ROM,EEPROM等)や、光学的メモリデバイス(即ち、コンパクトディスク(CD)、大容量光ディスク(DVD)等)や、磁気的メモリデバイス(ハードドライブ、フラッシュドライブ、テープドライブ等)のコンピュータプログラムプロダクトを記憶するように適用されるその他のメモリデバイス若しくはこれらのメモリデバイスの組み合わせが、含まれ得る。
この”コンピュータ通信メディア(computer communication medium)”の語は、ここでは、コンピュータプログラムプロダクトを、ある場所から、例えば、変調された搬送波、光学信号、直流や交流等の手段を用いて別の場所に運ぶために適応された、何らかの物理インターフェイスを言う。例として、また限定することなく、コンピュータ通信メディアは、ツイストペアケーブル、プリント若しくはフラットケーブル、同軸ケーブル、光ファイバーケーブル、デジタル加入者線(DSL)、若しくはその他の有線、無線、光学シリアル若しくはパラレルインターフェイス、又はこれらの組み合わせが、含まれ得る。
ここまでの開示により記述されたことは、あらゆる当業者がこの開示を構成し、又は用いることができるように与えられている。当業者によれば開示に対するさまざまな変形は明らかであり、ここで定義されている一般原理は、この開示の思想又は範囲から逸脱することなく、その他の変形に適用し得る。従って、この開示は、ここで記述した例に限定されるものでなく、原理や新規の特徴あるここで開示された最も広い範囲に一致すると認められるべきである。

Claims (69)

  1. パイプライン型スレーブプロセッサと通信するように構成され、ヘッダーブロックとペイロードブロックとを含むパススルーコマンドを発行し、前記ヘッダーブロックはパイプライン型スレーブプロセッサにより理解されるコンピュータ言語を用いて符合化され;前記パイプライン型スレーブプロセッサのうちの宛先のスレーブプロセッサのために、前記宛先のスレーブプロセッサにより理解されるコンピュータ言語を用いて符合化される少なくとも一つの命令を発行し;前記少なくとも一つの命令を前記ペイロードバックブロックに含め;前記パススルーコマンドを、前記パイプライン型スレーブプロセッサのうちの最も外側のスレーブプロセッサに送信するように構成されるマスタープロセッサを具備し、
    前記パススルーコマンドは、再符号化することなしに、前記パイプライン型スレーブプロセッサのうちの宛先でないスレーブプロセッサから前記パイプライン型スレーブプロセッサのうちの隣接する下流のスレーブプロセッサへ、前記パススルーコマンドが宛先のスレーブプロセッサに届くまで、転送される
    集積回路(IC)。
  2. 前記マスタープロセッサは、パススルーコマンドを示す情報,及びデコードすることなく前記パススルーコマンドを前記宛先のスレーブプロセッサに転送する要求を含むデータモジュールを発行すること,及び前記ヘッダーブロックに前記データモジュールを含めることにより、前記パススルーコマンドを発行するように構成される
    請求項1の集積回路。
  3. 前記マスタープロセッサは、前記宛先のスレーブプロセッサを示す情報を発行すること;前記スレーブプロセッサにより理解されるコンピュータ言語を用いて前記データモジュールを符号化すること;及び前記ヘッダーブロックに前記データモジュールを含めることにより、前記パススルーコマンドを発行するように構成される
    請求項1の集積回路。
  4. 前記マスタープロセッサは、前記ペイロードブロックのビット長を示す情報を含むデータモジュールを発行すること;前記スレーブプロセッサにより理解されるコンピュータ言語を用いて前記データモジュールを符号化すること;及び前記ヘッダーブロックに前記データモジュールを含めることにより、前記パススルーコマンドを発行するように構成される
    請求項1の集積回路。
  5. 前記マスタープロセッサは、前記パススルーコマンドを最も外側の前記パイプライン型のスレーブプロセッサのうちの一つに転送することにより、前記パススルーコマンドを送信するように構成される
    請求項1の集積回路。
  6. 前記宛先でないスレーブプロセッサは、前記宛先でないスレーブプロセッサの入力バッファから前記宛先でないスレーブプロセッサの出力バッファへ前記パススルーコマンドをコピーするように構成される
    請求項1の集積回路。
  7. 前記宛先のスレーブプロセッサは、前記パススルーコマンドの受信を知らせる、ように構成される
    請求項1の集積回路。
  8. 前記宛先のスレーブプロセッサは、前記マスタープロセッサにより理解されるコンピュータ言語を用いて事前に決定されるメッセージを発行する;返答パススルーコマンドのペイロードブロックに前記事前に決定されるメッセージを含める;前記マスタープロセッサへ、返答パススルーコマンドのペイロードブロック内の前記事前に決定されるメッセージのアドレスを指定する;前記返答パススルーコマンドを前記パイプライン型スレーブプロセッサの上流のスレーブプロセッサに転送する、ように構成される
    請求項7の集積回路。
  9. 前記マスタープロセッサ及びパイプライン型スレーブプロセッサは、少なくともビデオデータ処理又はレンダリング画像処理のいずれか一つを行う、ように構成される
    請求項1の集積回路。
  10. 前記請求項1の集積回路は、携帯電話,ビデオゲーム機器,パーソナルデジタルアシスタント(PDA),ラップトップコンピュータ,及びオーディオ/ビデオ機能デバイスからなるグループのうちから選択される無線通信装置の一部である。
  11. ヘッダーブロックとペイロードブロックとを含むパススルーコマンドを発行し、前記ヘッダーブロックはパイプライン型スレーブプロセッサにより理解されるコンピュータ言語を用いて符合化され;前記パイプライン型スレーブプロセッサのうちの宛先のスレーブプロセッサのために、前記宛先のスレーブプロセッサにより理解されるコンピュータ言語を用いて符合化される少なくとも一つの命令を発行し;前記少なくとも一つの命令を前記ペイロードブロックに含め;前記パススルーコマンドを、前記パイプライン型スレーブプロセッサのうちの最も外側のスレーブプロセッサに送信する構成されるマスタープロセッサと通信するための複数のパイプライン型スレーブプロセッサを具備し、
    前記パイプライン型スレーブプロセッサのうちの宛先でないスレーブプロセッサは、前記パススルーコマンドを、再符号化することなしに、前記パイプライン型スレーブプロセッサのうちの隣接する下流のスレーブプロセッサへ、前記パススルーコマンドが宛先のスレーブプロセッサに届くまで、転送する
    集積回路(IC)。
  12. 前記マスタープロセッサは、パススルーコマンドを示す情報、及びデコードすることなく前記パススルーコマンドを前記宛先のスレーブプロセッサへ転送する要求を含むデータモジュールを発行すること;及び前記ヘッダーブロックに前記データモジュールを含めることにより、前記パススルーコマンドを発行するように構成される
    請求項11の集積回路。
  13. 前記マスタープロセッサは、前記宛先のスレーブプロセッサを示す情報を発行すること;前記パイプライン型スレーブプロセッサにより理解されるコンピュータ言語を用いて前記データモジュールを符号化すること;前記ヘッダーブロックに前記データモジュールを含めることにより、前記パススルーコマンドを発行するように構成される
    請求項11の集積回路。
  14. 前記マスタープロセッサは、前記ペイロードブロックのビット長を示す情報を含むデータモジュールを発行すること;前記パイプライン型スレーブプロセッサにより理解されるコンピュータ言語を用いて前記データモジュールを符号化すること;及び前記ヘッダーブロックに前記データモジュールを含めることにより、前記パススルーコマンドを発行するように構成される
    請求項11の集積回路。
  15. 前記マスタープロセッサは、前記パススルーコマンドを最も外側の前記スレーブプロセッサに転送することにより、前記パススルーコマンドを送信するように構成される
    請求項11の集積回路。
  16. 前記マスタープロセッサは、前記宛先でないスレーブプロセッサの入力バッファから前記宛先でないスレーブプロセッサの出力バッファへ前記パススルーコマンドをコピーするように更に構成される
    請求項11の集積回路。
  17. 前記マスタープロセッサは、前記パススルーコマンドの受信を知らせる、ように更に構成される
    請求項11の集積回路。
  18. 前記マスタープロセッサは、前記マスタープロセッサにより理解されるコンピュータ言語を用いて事前に決定されるメッセージを発行する;返答パススルーコマンドのペイロードブロックに前記事前に決定されるメッセージを含める;前記マスタープロセッサへ、返答パススルーコマンドのペイロードブロック内の前記事前に決定されるメッセージのアドレスを指定する;前記返答パススルーコマンドを前記パイプライン型スレーブプロセッサの上流のスレーブプロセッサに転送する、ように更に構成される
    請求項17の集積回路。
  19. 前記マスタープロセッサ及びパイプライン型スレーブプロセッサは、少なくともビデオデータ処理又はレンダリング画像処理のいずれか一つを行う、ように構成される
    請求項11の集積回路。
  20. 前記請求項11の集積回路は、携帯電話,ビデオゲーム機器,パーソナルデジタルアシスタント(PDA),ラップトップコンピュータ,及びオーディオ/ビデオ機能デバイスからなるグループのうちから選択される無線通信装置の一部である。
  21. 最も外側のスレーブプロセッサと、宛先のスレーブプロセッサと、宛先でないスレーブプロセッサと、を備える複数のパイプライン型スレーブプロセッサと、
    ヘッダーブロックとペイロードブロックとを含むパススルーコマンドを発行し、前記ヘッダーブロックはパイプライン型スレーブプロセッサにより理解されるコンピュータ言語を用いて符合化し、前記宛先でないスレーブプロセッサは、前記パススルーコマンドを、再符号化することなしに隣接する下流のパイプライン型のスレーブプロセッサへ転送するように構成され;
    前記宛先のスレーブプロセッサのために、前記宛先のスレーブプロセッサにより理解されるコンピュータ言語を用いて符合化される少なくとも一つの命令を発行し、宛先のスレーブプロセッサは前記少なくとも一つ1つの命令を実行するように構成され;
    前記ペイロードブロック内に前記少なくとも一つの命令を含め;
    前記パススルーコマンドを、前記パイプライン型スレーブプロセッサのうちの最も外側のスレーブプロセッサに送信する;
    ように構成される前記最も外側のスレーブプロセッサに接続されるマスタープロセッサとを具備する
    マルチプロセッサシステム。
  22. 前記マスタープロセッサは、パススルーコマンドを示す情報、及びデコードすることなく前記パススルーコマンドを前記宛先のスレーブプロセッサへ転送する要求を含むデータモジュールを発行し;前記ヘッダーブロックに前記データモジュールを含めるように、更に構成される
    請求項21のマルチプロセッサシステム。
  23. 前記マスタープロセッサは、前記宛先のスレーブを示す情報を発行し;前記パイプライン型スレーブプロセッサにより理解されるコンピュータ言語を用いて前記データモジュールを符号化し;前記ヘッダーブロックに前記データモジュールを含める、ように更に構成される
    請求項21のマルチプロセッサシステム。
  24. 前記マスタープロセッサは、前記ペイロードブロックのビット長を示す情報を含むデータモジュールを発行し;前記パイプライン型スレーブプロセッサにより理解されるコンピュータ言語を用いて前記データモジュールを符号化し;前記ヘッダーブロックに前記データモジュールを含める、ように更に構成される
    請求項21のマルチプロセッサシステム。
  25. 前記マスタープロセッサは、前記パススルーコマンドを最も外側の前記スレーブプロセッサに転送する
    請求項21のマルチプロセッサシステム。
  26. 前記宛先でないスレーブプロセッサは、前記宛先でないスレーブプロセッサの入力バッファから前記宛先でないスレーブプロセッサの出力バッファへ前記パススルーコマンドをコピーする
    請求項21のマルチプロセッサシステム。
  27. 前記宛先のスレーブプロセッサは、前記パススルーコマンドの受信を知らせるように更に構成される
    請求項21のマルチプロセッサシステム。
  28. 前記宛先のスレーブプロセッサは、前記マスタープロセッサにより理解されるコンピュータ言語を用いて事前に決定されるメッセージを発行する;返答パススルーコマンドのペイロードブロックに前記事前に決定されるメッセージを含める;前記マスタープロセッサへ、返答パススルーコマンドのペイロードブロック内の前記事前に決定されるメッセージのアドレスを指定する;前記返答パススルーコマンドを前記スレーブプロセッサの上流のスレーブプロセッサに転送する、ように更に構成される
    請求項27のマルチプロセッサシステム。
  29. 請求項21のマルチプロセッサシステムは、少なくともビデオデータ処理又はレンダリング画像処理のいずれか一つを行う。
  30. 前記請求項21のマルチプロセッサシステムは、携帯電話,ビデオゲーム機器,パーソナルデジタルアシスタント(PDA),ラップトップコンピュータ,及びオーディオ/ビデオ機能デバイスからなるグループのうちから選択される無線通信装置の一部である。
  31. マスタープロセッサとパイプライン型スレーブプロセッサとを備えるマルチプロセッサシステムであって、前記マルチプロセッサシステムは、
    第1手段:
    ヘッダーブロックとペイロードブロックとを含み前記パイプライン型スレーブプロセッサにより理解されるコンピュータ言語を用いて符合化されたパススルーコマンドを発行し;前記パイプライン型スレーブプロセッサのうちの宛先のスレーブプロセッサのために、前記宛先のスレーブプロセッサにより理解されるコンピュータ言語を用いて符合化される少なくとも一つの命令を発行し;前記少なくとも一つの命令を前記ペイロードブロックに含め;前記パススルーコマンドを、前記マスタープロセッサに接続されるスレーブプロセッサの一つへ送信する、と、
    第2手段:
    前記パススルーコマンドを、再符号化することなしに、前記パイプライン型スレーブプロセッサの宛先でないスレーブプロセッサから隣接する下流のパイプライン型のスレーブプロセッサへ転送し;宛先のスレーブプロセッサにおいて前記少なくとも一つの命令を実行する、と具備する
    マルチプロセッサシステム。
  32. 前記第1手段は、前記マスタープロセッサにより実行されるコンピュータプログラムである
    請求項31のマルチプロセッサシステム。
  33. 前記第2手段は、前記パイプライン型スレーブプロセッサにより実行されるコンピュータプログラムである
    請求項31のマルチプロセッサシステム。
  34. 前記第1手段は、前記パススルーコマンドを示す情報、及びデコードすることなく前記パススルーコマンドを前記宛先のスレーブプロセッサへ転送する要求を含むデータモジュールを発行し、;前記ヘッダーブロックに前記データモジュールを含める、手段である
    請求項31のマルチプロセッサシステム。
  35. 前記第1手段は、前記宛先のスレーブプロセッサを示す情報を含むデータモジュールを発行し;前記スレーブプロセッサにより理解されるコンピュータ言語を用いて前記データモジュールを符号化し;前記ヘッダーブロックにデータモジュールに含める、手段である
    請求項31のマルチプロセッサシステム。
  36. 前記第1手段は、前記ペイロードブロックのビット長を示す情報を含むデータモジュールを発行し;前記スレーブプロセッサにより理解されるコンピュータ言語を用いて記データモジュールを符号化し;前記ヘッダーブロックに前記データモジュールを含める、手段である
    請求項31のマルチプロセッサシステム。
  37. 前記第2手段は、前記パススルーコマンドの受信を知らせる手段、を含む
    請求項31のマルチプロセッサシステム。
  38. 前記請求項31のマルチプロセッサシステムは、少なくともビデオデータ処理又はレンダリング画像処理のいずれか一つを行う。
  39. 前記請求項31のマルチプロセッサシステムは、携帯電話,ビデオゲーム機器,パーソナルデジタルアシスタント(PDA),ラップトップコンピュータ,及びオーディオ/ビデオ機能デバイスからなるグループのうちから選択される無線通信装置の一部である。
  40. マスタープロセッサとパイプライン型スレーブプロセッサとを備えるマルチプロセッサシステムは、
    第1手段:
    前記パイプライン型スレーブプロセッサにより理解される符合を用いてパススルーコマンドを発行し;前記パイプライン型スレーブプロセッサのうちの宛先のスレーブプロセッサにより理解される符号で少なくとも一つの命令を発行する、と、
    第2手段:
    前記パススルーコマンドを、再符号化することなしに、前記宛先のスレーブプロセッサに転送すると、を具備する
    マルチプロセッサシステム。
  41. 前記第1手段は、前記マスタープロセッサにより実行されるコンピュータプログラムである
    請求項40のマルチプロセッサシステム。
  42. 前記第2手段は、前記パイプライン型スレーブプロセッサにより実行されるコンピュータプログラムである
    請求項40のマルチプロセッサシステム。
  43. 前記パススルーコマンドは、少なくとも前記パススルーコマンドの前記宛先のスレーブプロセッサへの転送を指示する命令である
    請求項40のマルチプロセッサシステム。
  44. 前記宛先のスレーブプロセッサは、前記少なくとも一つの命令を実行し、前記パススルーコマンドの転送を停止する
    請求項40のマルチプロセッサシステム。
  45. 前記宛先のスレーブプロセッサは、前記パイプライン型スレーブプロセッサにより理解される符合を用いて前記第1手段にアドレス指定され事前に決定される応答メッセージを発行する
    請求項40のマルチプロセッサシステム。
  46. マスタープロセッサとパイプライン型スレーブプロセッサとを含むマルチプロセッサシステムを実行させるための命令を有するコンピュータ読取可能媒体を備えるコンピュータプログラムプロダクトは、
    前記マスタープロセッサにおいて:ヘッダーブロックとペイロードブロックとを含み前記パイプライン型スレーブプロセッサにより理解されるコンピュータ言語を用いて符合化されたパススルーコマンドを発行させ;前記パイプライン型スレーブプロセッサのうちの宛先のスレーブプロセッサのために、前記宛先のスレーブプロセッサにより理解されるコンピュータ言語を用いて符合化される少なくとも一つの命令を発行させ;前記パススルーコマンドを、前記マスタープロセッサに接続される前記スレーブプロセッサへ送信させ、
    前記パイプライン型スレーブプロセッサの宛先でないスレーブプロセッサにおいて:前記パススルーコマンドを、再符号化することなしに、前記パイプライン型スレーブプロセッサの隣接する下流のパイプライン型のスレーブプロセッサへ転送させ;宛先のスレーブプロセッサにおいて前記少なくとも一つの命令を実行させ、
    宛先のスレーブプロセッサにおいて:少なくとも一つの命令を実行させる。
  47. 前記マスタープロセッサにおいて、パススルーコマンドを示す情報、及びデコードすることなく、前記パススルーコマンドを前記宛先のスレーブプロセッサへ転送する要求を含むデータモジュールを発行し;ヘッダーブロックに前記データモジュールを含めることにより、前記パススルーコマンドが発行される
    請求項46のコンピュータプログラムプロダクト。
  48. 前記マスタープロセッサにおいて、前記宛先のスレーブプロセッサを示す情報を含むデータモジュールを発行し前記パイプライン型スレーブプロセッサにより理解されるコンピュータ言語で前記データモジュールを符号化し;前記ヘッダーブロックに前記データモジュールを含めることにより、前記パススルーコマンドが発行される
    請求項46のコンピュータプログラムプロダクト。
  49. 前記マスタープロセッサにおいて、前記ペイロードブロックのビット長を示す情報を含むデータモジュールを発行し;前記パイプライン型スレーブプロセッサにより理解されるコンピュータ言語を用いて前記データモジュールを符号化すること;及び前記ヘッダーブロックに前記データモジュールを含めることにより、前記パススルーコマンドが発行される
    請求項46のコンピュータプログラムプロダクト。
  50. 前記マスタープロセッサにおいて、前記パススルーコマンドを前記パイプライン型スレーブプロセッサのうちの最も外側のスレーブプロセッサに転送することにより、前記パススルーコマンドが送信される
    請求項46のコンピュータプログラムプロダクト。
  51. 前記コンピュータ読取可能媒体は、前記宛先でないスレーブプロセッサに、前記宛先でない入力バッファから前記宛先でないスレーブプロセッサの出力バッファへ前記パススルーコマンドをコピーさせるための命令を更に備える
    請求項46のコンピュータプログラムプロダクト。
  52. 前記コンピュータ読取可能媒体は、前記宛先のスレーブプロセッサに、前記パススルーコマンドの返答を確認させるための命令を更に備える
    請求項46のコンピュータプログラムプロダクト。
  53. 前記コンピュータ読取可能媒体は、
    前記宛先のスレーブプロセッサに:前記マスタープロセッサにより理解されるコンピュータ言語を用いて事前に決定されるメッセージを発行する;返答パススルーコマンドのペイロードブロック内に前記事前に決定されるメッセージを含める;前記返答パススルーコマンドのヘッダーブロック内の前記事前に決定されるメッセージのアドレスを指定する;前記返答パススルーコマンドを前記スレーブプロセッサの上流のパイプライン型スレーブプロセッサに転送する、命令を更に備える
    請求項46のコンピュータプログラムプロダクト。
  54. 前記マスタープロセッサ及び前記パイプライン型スレーブプロセッサは、携帯電話,ビデオゲーム機器,パーソナルデジタルアシスタント(PDA),ラップトップコンピュータ,及びオーディオ/ビデオ機能デバイスからなるグループから選択される無線通信装置におけるビデオデータ処理又はレンダリング画像処理の少なくとも一つに適合される
    請求項46のコンピュータプログラムプロダクト。
  55. マスタープロセッサとパイプライン型スレーブプロセッサとを含むマルチプロセッサシステムを実行させるための命令を有するコンピュータ読取可能媒体を備えるコンピュータプログラムプロダクトは、
    前記マスタープロセッサにおいて:前記パイプライン型スレーブプロセッサにより理解される符合を用いてパススルーコマンドを発行させ、前記パススルーコマンドは、前記パイプライン型スレーブプロセッサのうちの宛先のスレーブプロセッサにより理解される符号での少なくとも一つの命令を含み、
    前記パイプライン型スレーブプロセッサの宛先でないスレーブプロセッサにおいて:前記パススルーコマンドを、再符号化することなしに、前記パススルーコマンドが宛先のスレーブプロセッサに届くまで、前記パイプライン型スレーブプロセッサの隣接する下流のパイプライン型のスレーブプロセッサへ転送させる。
  56. マスタープロセッサとパイプライン型スレーブプロセッサとを有するマルチプロセッサシステムにおいて、スレーブプロセッサへの命令伝達のための方法であって、前記方法は、
    前記マスタープロセッサにおいて:ヘッダーブロックとペイロードブロックとを含み、前記ヘッダーブロックは前記パイプライン型スレーブプロセッサにより理解されるコンピュータ言語を用いて符合化され;前記パイプライン型スレーブプロセッサのうちの宛先のスレーブプロセッサのために、前記宛先のスレーブプロセッサにより理解されるコンピュータ言語を用いて符合化される少なくとも一つの命令を発行し;前記ペイロードブロックに前記少なくとも一つの命令を含め;前記パススルーコマンドを、前記マスタープロセッサとの接続に適合された前記パイプライン型スレーブプロセッサのスレーブプロセッサに送信し、
    宛先でないスレーブプロセッサにおいて:前記パススルーコマンドを、再符号化することなしに、前記パイプライン型スレーブプロセッサの隣接する下流のパイプライン型のスレーブプロセッサに転送し、
    前記宛先のスレーブプロセッサにおいて:前記少なくとも一つの命令を実行する
    ことを具備する。
  57. 前記パススルーコマンドを発行するステップは:前記パススルーコマンドを示す情報、及びデコードすることなく、前記パススルーコマンドを前記宛先のスレーブプロセッサへ転送する要求を含むデータモジュールを発行すること;前記ヘッダーブロックに前記データモジュールを含めること、を備える
    請求項56の方法。
  58. 前記パススルーコマンドを発行するステップは:前記宛先のスレーブを示す情報を含むデータモジュールを発行すること;前記パイプライン型スレーブプロセッサにより理解されるコンピュータ言語で前記データモジュールを符号化すること;前記ヘッダーブロックに前記データモジュールを含めること、を備える
    請求項56の方法。
  59. 前記パススルーコマンドを発行するステップは:前記ペイロードブロックのビット長を示す情報を含むデータモジュールを発行すること;前記パイプライン型スレーブプロセッサにより理解されるコンピュータ言語を用いて前記データモジュールを符号化すること;前記ヘッダーブロックに前記データモジュールを含めること、を備える
    請求項56の方法。
  60. 前記パススルーコマンドを送信するステップは:前記パススルーコマンドを、前記パイプライン型スレーブプロセッサの最も外側の前記スレーブプロセッサに転送すること、を更に備える
    請求項56の方法。
  61. 前記宛先でないスレーブプロセッサにおいて、前記宛先でないスレーブプロセッサの入力バッファから前記宛先でないスレーブプロセッサの出力バッファへ前記パススルーコマンドをコピーすること、を更に備える
    請求項56の方法。
  62. 前記宛先のスレーブプロセッサにおいて、前記パススルーコマンドの受信を知らせること、を更に備える
    請求項56の方法。
  63. 前記宛先のスレーブプロセッサにおいて、前記マスタープロセッサにより理解されるコンピュータ言語を用いて事前に決定されるメッセージを発行する;返答パススルーコマンドのペイロードブロックに前記事前に決定されるメッセージを含める;前記マスタープロセッサへ、返答パススルーコマンドのペイロードブロック内の前記事前に決定されるメッセージのアドレスを指定する;前記返答パススルーコマンドを前記スレーブプロセッサの上流のスレーブプロセッサに転送すること、を更に備える
    請求項62の方法。
  64. 前記マスタープロセッサ及び前記スレーブプロセッサは、少なくともビデオデータ処理又はレンダリング画像処理のいずれか一つを行うように適合される
    請求項56の方法。
  65. 請求項56の方法を実行するためにマスタープロセッサにより前記マスタープロセッサ及びスレーブプロセッサが制御される無線装置であって、前記無線装置は:
    携帯電話,ビデオゲーム機器,パーソナルデジタルアシスタント(PDA),ラップトップコンピュータ,及びオーディオ/ビデオ機能デバイスからなるグループから選択されるものである。
  66. マスタープロセッサとパイプライン型スレーブプロセッサとを有するマルチプロセッサシステムにおいて、スレーブプロセッサへの命令伝達のための方法であって、前記方法は、
    前記マスタープロセッサにおいて:前記パイプライン型スレーブプロセッサにより理解される符合を用いてパススルーコマンドを発行し、;前記パススルーコマンドは、前記パイプライン型スレーブプロセッサのうちの宛先のスレーブプロセッサにより理解される符合少なくとも一つの命令を少なくとも含み、
    前記パイプライン型のうちの宛先のスレーブプロセッサにおいて:前記パススルーコマンドを、再符号化することなしに、前記パススルーコマンドが前記宛先のスレーブプロセッサに届くまで、前記パイプライン型スレーブプロセッサの隣接する下流のスレーブプロセッサへ転送する。
  67. 前記少なくとも一つの命令を実行すること;前記パススルーコマンドの転送を終了すること、を更に備える
    請求項66の方法。
  68. 前記宛先のスレーブプロセッサにおいて:前記パイプライン型スレーブプロセッサにより理解される符号を用いて、前記マスタープロセッサにアドレスが指定された、事前に決定される返答メッセージを発行し;
    前記スレーブプロセッサにおいて:前記返答メッセージを、前記返答メッセージが前記マスタープロセッサに届くまで、再符号化することなく、前記パイプライン型スレーブプロセッサの隣接する下流のスレーブプロセッサへ転送すること、更に備える
    請求項66の方法。
  69. 請求項66の方法を実行するためにマスタープロセッサにより前記マスタープロセッサ及びスレーブプロセッサが制御される無線装置であって、前記無線装置は:
    携帯電話,ビデオゲーム機器,パーソナルデジタルアシスタント(PDA),ラップトップコンピュータ,及びオーディオ/ビデオ機能デバイスからなるグループから選択されるものである。
JP2010501133A 2007-03-23 2008-03-21 マルチプロセッサシステムのための命令通信技術 Expired - Fee Related JP5547056B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US89649707P 2007-03-23 2007-03-23
US60/896,497 2007-03-23
US11/945,790 US20080235493A1 (en) 2007-03-23 2007-11-27 Instruction communication techniques for multi-processor system
US11/945,790 2007-11-27
PCT/US2008/057912 WO2008118812A1 (en) 2007-03-23 2008-03-21 Instruction communication techniques for multi-processor system

Publications (2)

Publication Number Publication Date
JP2010522402A true JP2010522402A (ja) 2010-07-01
JP5547056B2 JP5547056B2 (ja) 2014-07-09

Family

ID=39775901

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010501133A Expired - Fee Related JP5547056B2 (ja) 2007-03-23 2008-03-21 マルチプロセッサシステムのための命令通信技術

Country Status (8)

Country Link
US (1) US20080235493A1 (ja)
EP (1) EP2137612B1 (ja)
JP (1) JP5547056B2 (ja)
KR (2) KR101321603B1 (ja)
CN (1) CN101636715B (ja)
CA (1) CA2680030A1 (ja)
TW (1) TW200844854A (ja)
WO (1) WO2008118812A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9058191B2 (en) * 2010-03-22 2015-06-16 Qualcomm Incorporated Direct transfer of executable software image to memory allocated by target processor based on transferred image header
US9183614B2 (en) 2011-09-03 2015-11-10 Mireplica Technology, Llc Processor, system, and method for efficient, high-throughput processing of two-dimensional, interrelated data sets
US9792252B2 (en) 2013-05-31 2017-10-17 Microsoft Technology Licensing, Llc Incorporating a spatial array into one or more programmable processor cores
US9817670B2 (en) * 2013-12-13 2017-11-14 International Business Machines Corporation Framework to provide time bound execution of co-processor commands
US9661339B2 (en) * 2014-01-21 2017-05-23 Intel Corporation Multi-core architecture for low latency video decoder
US10037301B2 (en) * 2015-03-04 2018-07-31 Xilinx, Inc. Circuits and methods for inter-processor communication
KR20170140225A (ko) 2015-04-30 2017-12-20 마이크로칩 테크놀로지 인코포레이티드 향상된 명령어 세트를 구비한 중앙 처리 유닛
US10409606B2 (en) 2015-06-26 2019-09-10 Microsoft Technology Licensing, Llc Verifying branch targets
US9952867B2 (en) 2015-06-26 2018-04-24 Microsoft Technology Licensing, Llc Mapping instruction blocks based on block size
US10169044B2 (en) 2015-06-26 2019-01-01 Microsoft Technology Licensing, Llc Processing an encoding format field to interpret header information regarding a group of instructions
US9720693B2 (en) * 2015-06-26 2017-08-01 Microsoft Technology Licensing, Llc Bulk allocation of instruction blocks to a processor instruction window
US9946548B2 (en) 2015-06-26 2018-04-17 Microsoft Technology Licensing, Llc Age-based management of instruction blocks in a processor instruction window
US10409599B2 (en) 2015-06-26 2019-09-10 Microsoft Technology Licensing, Llc Decoding information about a group of instructions including a size of the group of instructions
US10346168B2 (en) 2015-06-26 2019-07-09 Microsoft Technology Licensing, Llc Decoupled processor instruction window and operand buffer
US10191747B2 (en) 2015-06-26 2019-01-29 Microsoft Technology Licensing, Llc Locking operand values for groups of instructions executed atomically
US10175988B2 (en) 2015-06-26 2019-01-08 Microsoft Technology Licensing, Llc Explicit instruction scheduler state information for a processor
CN113568665B (zh) * 2020-04-29 2023-11-17 北京希姆计算科技有限公司 一种数据处理装置
US11442852B2 (en) 2020-06-25 2022-09-13 Western Digital Technologies, Inc. Adaptive context metadata message for optimized two-chip performance

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6219961A (ja) * 1985-07-17 1987-01-28 Nec Corp マルチプロセツサのイニシヤルプログラムロ−デイング方式
JPH01229542A (ja) * 1988-03-10 1989-09-13 Meidensha Corp Lanを用いたデータ伝送装置
JPH0398153A (ja) * 1989-09-11 1991-04-23 Nippon Telegr & Teleph Corp <Ntt> 制御プログラム初期ロード方式
JPH05181817A (ja) * 1991-04-30 1993-07-23 Hitachi Ltd 並列処理装置
JPH10276198A (ja) * 1997-03-28 1998-10-13 Mitsubishi Electric Corp 分散共有メモリネットワーク装置
JP2003162514A (ja) * 2001-11-27 2003-06-06 Nec Corp 複数プロセッサによる並列分散制御方式
US20060143384A1 (en) * 2004-12-27 2006-06-29 Hughes Christopher J System and method for non-uniform cache in a multi-core processor

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763242A (en) * 1985-10-23 1988-08-09 Hewlett-Packard Company Computer providing flexible processor extension, flexible instruction set extension, and implicit emulation for upward software compatibility
US5960209A (en) * 1996-03-11 1999-09-28 Mitel Corporation Scaleable digital signal processor with parallel architecture
US5822300A (en) * 1996-04-02 1998-10-13 Compaq Computer Corporation Congestion management scheme
US6426947B1 (en) * 1998-10-21 2002-07-30 Kim K. Banker Apparatus and method for unilateral topology discovery in network management
JP3629174B2 (ja) * 1999-12-27 2005-03-16 株式会社東芝 データ転送方法及び無線端末
IT1320286B1 (it) * 2000-03-29 2003-11-26 Campagnolo Srl Sistema di controllo multiprocessore per cicli, ad esempio perbiciclette da competizione.
JP2001326697A (ja) * 2000-05-17 2001-11-22 Hitachi Ltd 移動体通信網、端末装置、パケット通信制御方法、及び、関門装置
TW495714B (en) * 2000-12-05 2002-07-21 Faraday Tech Corp Device and method for data access control and applied instruction format thereof
US7246173B2 (en) * 2001-04-16 2007-07-17 Nokia Corporation Method and apparatus for classifying IP data
US20030016650A1 (en) * 2001-07-17 2003-01-23 Felix Missel Method used to create multihop RF network based on a low performance 8 bit microcontroller
US20030225549A1 (en) * 2002-03-29 2003-12-04 Shay A. David Systems and methods for end-to-end quality of service measurements in a distributed network environment
US20040063438A1 (en) * 2002-10-01 2004-04-01 Hsu Yun-Hsiang Kenny Wireless point to multipoint system
JP4390568B2 (ja) * 2004-01-19 2009-12-24 富士通株式会社 遅延測定システム
US7228373B2 (en) * 2004-03-24 2007-06-05 Analog Devices, Inc. Serial digital communication system and method
JP2006129235A (ja) * 2004-10-29 2006-05-18 Tokyo Electron Device Ltd ネットワークシステム、マスターデバイス、スレーブデバイス、ネットワークシステムの立ち上げ制御方法。
JP2009194731A (ja) * 2008-02-15 2009-08-27 Fujitsu Ltd スレーブ装置、並びに、データ伝送システム及び方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6219961A (ja) * 1985-07-17 1987-01-28 Nec Corp マルチプロセツサのイニシヤルプログラムロ−デイング方式
JPH01229542A (ja) * 1988-03-10 1989-09-13 Meidensha Corp Lanを用いたデータ伝送装置
JPH0398153A (ja) * 1989-09-11 1991-04-23 Nippon Telegr & Teleph Corp <Ntt> 制御プログラム初期ロード方式
JPH05181817A (ja) * 1991-04-30 1993-07-23 Hitachi Ltd 並列処理装置
JPH10276198A (ja) * 1997-03-28 1998-10-13 Mitsubishi Electric Corp 分散共有メモリネットワーク装置
JP2003162514A (ja) * 2001-11-27 2003-06-06 Nec Corp 複数プロセッサによる並列分散制御方式
US20060143384A1 (en) * 2004-12-27 2006-06-29 Hughes Christopher J System and method for non-uniform cache in a multi-core processor
JP2008525902A (ja) * 2004-12-27 2008-07-17 インテル・コーポレーション マルチコアプロセッサにおける不均等キャッシュのためのシステム及び方法

Also Published As

Publication number Publication date
WO2008118812A1 (en) 2008-10-02
KR20120037029A (ko) 2012-04-18
CN101636715B (zh) 2014-03-12
CA2680030A1 (en) 2008-10-02
CN101636715A (zh) 2010-01-27
KR101297496B1 (ko) 2013-08-16
US20080235493A1 (en) 2008-09-25
KR101321603B1 (ko) 2013-10-23
TW200844854A (en) 2008-11-16
EP2137612A1 (en) 2009-12-30
KR20090132621A (ko) 2009-12-30
EP2137612B1 (en) 2016-01-13
JP5547056B2 (ja) 2014-07-09

Similar Documents

Publication Publication Date Title
JP2010522402A (ja) マルチプロセッサシステムのための命令通信技術
JP4954330B2 (ja) Pciエクスプレス・パケット・ダイジェストの変更のデバイス、システムおよび方法
EP2003548B1 (en) Resource management in multi-processor system
JP5542707B2 (ja) 装置接続形態における音声/ビデオ・ストリーミングのためのメッセージを送る構成
TW201025018A (en) Storage controller data redistribution
US9015380B2 (en) Exchanging message data in a distributed computer system
CN109117386B (zh) 一种网络远程读写二级存储的系统及方法
KR100818818B1 (ko) 데이터 구동 아키텍처 메쉬 어레이에서의 메모리 액세스디바이스 제어
TW201003665A (en) Efficient in-band reliability with separate cyclic redundancy code frames
JP4423299B2 (ja) メディアアダプターに関連した複数の通信リンクの使用
WO2001009734A1 (en) System and method for effectively performing physical direct memory access operations
JP4366661B2 (ja) 情報処理システムおよび方法、情報処理装置および方法、並びにプログラム
JP5728098B2 (ja) アプリケーションに依存しないオーディオアクセレレーションを行うシステム、方法、およびソフトウェアプログラム
JP2006211567A (ja) データ通信装置、データ通信方法およびプログラム
JP5012222B2 (ja) 通信データ中継方式及び通信データ中継方法
CN112437032A (zh) 数据收发装置及方法、存储介质和电子设备
CN104102619A (zh) 第一操作系统对第二操作系统的dsp进行操作的方法及系统
CN115702408A (zh) 层到层接口的节省功率的技术
CN117411594A (zh) 基于usb降速桥并应用于usb从机的数据包处理系统、方法、终端及介质
JP2008059282A (ja) 分散処理システム、分散処理方法及びプログラム
CN118174754A (zh) 一种高速串行接口启动方法及系统
KR20070081383A (ko) 이동 단말에서 모뎀 장치 및 그의 운용 방법
JP2007060542A (ja) 通信装置および同装置のフレーム転送制御方法
JP2008059195A (ja) インタフェース方法及びデータ処理システム
KR20080048291A (ko) 복수의 프로세서를 포함하는 디지털 처리 장치 및 복수의프로세서의 연결 방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121225

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131025

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131217

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140317

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140326

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140514

R150 Certificate of patent or registration of utility model

Ref document number: 5547056

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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