JP5318873B2 - マルチステージデータ処理パイプラインにおける命令実行システム及び方法 - Google Patents

マルチステージデータ処理パイプラインにおける命令実行システム及び方法 Download PDF

Info

Publication number
JP5318873B2
JP5318873B2 JP2010524144A JP2010524144A JP5318873B2 JP 5318873 B2 JP5318873 B2 JP 5318873B2 JP 2010524144 A JP2010524144 A JP 2010524144A JP 2010524144 A JP2010524144 A JP 2010524144A JP 5318873 B2 JP5318873 B2 JP 5318873B2
Authority
JP
Japan
Prior art keywords
instruction
stage
pipeline
stages
clock cycle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010524144A
Other languages
English (en)
Other versions
JP2010538398A (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 JP2010538398A publication Critical patent/JP2010538398A/ja
Application granted granted Critical
Publication of JP5318873B2 publication Critical patent/JP5318873B2/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
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

本開示は、一般に、マルチステージデータ処理パイプラインにおける命令実行システム及び方法に関する。
技術の進歩により、より小さくより強力なパーソナルコンピュータ機器をもたらした。例えば、ポータブル無線電話、PDA(personal digital assistants)、および小型で軽量及びユーザにより容易に持ち運び可能なページング機器のような無線コンピュータ機器を含む様々なポータブルパーソナルコンピュータ機器が現在存在する。より具体的には、携帯電話およびIP電話のようなポータブル無線電話は、無線ネットワーク上で音声及びデータのパケットを通信することができる。さらに、多くのそのような無線電話は、そこに組込まれる他のタイプの機器を含んでいる。例えば、無線電話はさらにディジタルスチルカメラ、デジタルビデオカメラ、デジタルレコーダおよびオーディオファイルプレーヤを含むことができる。さらに、そのような無線電話は、インターネットにアクセスするために使用することができるウェブインターフェースを含むことができる。そのため、これらの無線電話はかなりのコンピュータ能力を含む。
典型的には、ポータブルパーソナルコンピュータ機器にはバッテリーによって動力が供給される。これらの機器がよりパワフルになると、当該機器はより多くの電力を消費し、バッテリーが機器に動力を供給することができる時間を減らすことがある。
従って、プロセッサで命令を実行する改善されたシステム及び方法を提供することは有利であろう。
特定の実施形態において、命令を実行するために複数のステージを持つ命令実行パイプラインを含む装置が開示される。該装置は、さらに該命令実行パイプラインに結合された制御ロジック回路を含む。該制御ロジック回路は、デコードされた命令の実行の間に命令実行パイプラインの少なくとも1つのステージをスキップするように構成されている。制御ロジック回路は、また、デコードされた命令の実行の間に少なくとも1つのスキップされないステージを実行するように構成されている。
別の特定の実施形態では、いつ、マルチステージデータ処理パイプラインで利用可能なステージの数より少ない数のステージを使用して命令を実行できるかを決定するために、該命令をデコードすることを含む方法が開示される。該方法は、さらに、デコードされた命令の実行の間に、マルチステージデータ処理パイプラインの少なくとも1つのステージをスキップすることと、デコードされた命令の実行の間に、少なくとも1つのスキップされないステージを実行することと、を含む。
さらに別の特定の実施形態では、命令実行パイプライン、および該命令実行パイプラインからデータを受け取るように構成されたレジスタファイルを含む装置が開示される。該装置は、また、命令の実行の間に、該命令実行パイプラインの複数の利用可能なステージのうちの少なくとも1つのステージをスキップする手段を含む。
さらに別の特定の実施形態では、受信機、および該受信機に応答するプロセッサを含む無線装置が開示される。該プロセッサは、第1のメモリ、および該第1のメモリに応答する、インターリーブマルチステージデータ処理パイプラインを含む。該プロセッサは、該インターリーブマルチステージデータ処理パイプラインで利用可能なステージの数よりも少ない数のステージを使用して命令を実行できるときを決定するために、該命令をデコードするように構成されている。該プロセッサは、また、命令の実行の間に、該インターリーブマルチステージデータ処理パイプラインの少なくとも1つのステージをスキップするように構成されている。該プロセッサは、さらに、デコードされた命令の実行の間に、少なくとも1つのスキップされないステージを実行するように構成されている。
説明される装置および方法の特定の1つの利点は、スキップされたサイクルの間、電力を節約できるということである。該説明された装置および方法の別の特定の利点は、携帯機器のバッテリー寿命を延ばすことができるということである。
本開示の他の側面、利点および特徴は、図面の簡単な説明、詳細な説明、及びクレーム、といった次のセクションを含む全ての適用を考慮すれば明白になるだろう。
マルチステージデータ処理パイプラインで命令を実行するシステムの実施形態のブロック図。 マルチステージデータ処理パイプラインで命令を実行するシステムの他の実施形態のブロック図。 マルチステージデータ処理パイプラインで命令を実行する方法の実施形態のフローチャート。 図1−3に関して説明されたように、マルチステージデータ処理パイプラインで命令を実行する装置およびマルチステージデータ処理パイプラインで命令を実行する方法を用いるポータブル通信装置の典型的な実施形態。
図1は、プロセッサ100の典型的で限定されない実施形態のブロック図を示す。図1に示すように、プロセッサ100は、命令キャッシュ134に連結されたメモリ102を含む。命令キャッシュ134は、バス130を介して、カレント命令レジスタ(CIR)136、138、140、142、144および146に連結される。CIR136−146のそれぞれは、マルチスレッドプロセッサ中の1つの特定のスレッドに関連付けられている。特定の実施形態では、プロセッサ100は6つのスレッドをもつ、インターリーブマルチスレッドプロセッサであり、CIR136−146のそれぞれは、該インターリーブマルチスレッドプロセッサの1つのスレッドを含む。
CIR136−146は、バス107を介してシーケンサ104に連結されている。特定の実施形態では、バス107は64ビットバスであり、シーケンサ104は、32ビットの長さをもつメモリ102から命令を検索するように構成される。バス107は、第1の命令実行ユニット108、第2の命令実行ユニット110、第3の命令実行ユニット112および第4の命令実行ユニット114に連結される。図1は、各命令実行ユニット108、110、112、114は、第1のバス118を介して汎用レジスタファイル116に連結できることを示す。汎用レジスタファイル116も第2のバス120を介してシーケンサ104およびメモリ102に連結できる。
特定の実施形態では、メモリ102は連想メモリ(content addressable memory:CAM)であり、命令キャッシュ134は複数の命令、各命令についての命令ステアリングデータ(instruction steering data)、及び各命令についての命令プレデコードデータ(instruction pre-decode data)を含むことができる。動作中、CIR136−146は命令キャッシュ134から命令を取り出し、CIR136−146はシーケンサ104により互いに無関係にアクセスすることができる。
特定の実施形態では、シーケンサ104は単純命令実行ユニット105を含む。シーケンサ104は、さらに、電力制御ロジック回路106を含む。さらに、シーケンサ104は制御レジスタ103に連結でき、制御レジスタ103は、プロセッサ100に、いつ、単純命令実行ユニット105および電力制御ロジック回路106を選択的にアクティブにできるかを決定させることができる。
図1に描かれているように、汎用レジスタ116は、第1の統一レジスタファイル148、第2の統一レジスタファイル150、第3の統一レジスタファイル152、第4の統一レジスタファイル154、第5の統一レジスタファイル156および第6の統一レジスタファイル158を含む。各統一レジスタファイル148、150、152、154、156、158は、CIR136−146のうちの1つに対応する。さらに、特定の実施形態では、各統一レジスタファイル148、150、152、154、156、158は、同じ構成を有し、等しい数のデータオペランドおよびアドレスオペランドを含む。
プロセッサ100の動作中、命令はバス130を介してCIR136−146によって命令キャッシュ134からフェッチされる。その後、該命令はシーケンサによって処理され、指定された命令実行ユニット108、110、112、114に送られ、命令実行ユニット108、110、112、114で実行される。各命令実行ユニット108、110、112、114の結果は、汎用レジスタ116、すなわち、統一レジスタファイル148、150、152、154、156、158のうちの1つに、に書き込まれる。
特定の実施形態では、シーケンサ104は、制御レジスタ103中の値に基づき単純命令実行ユニット105を選択的にイネーブルにすることができる。イネーブルになると、単純命令実行ユニット105は、選択されたCIRからの命令をデコードし、いつ、マルチステージデータ処理パイプラインで利用可能なステージの数より少ない数のステージを使用して該命令を実行できるかを決定する。その後、単純命令実行ユニット105は、該デコードされた命令の実行の間に、マルチステージデータ処理パイプラインの少なくとも1つのステージをスキップできる。パイプラインのステージをスキップするために、プロセッサ100は、それぞれのCIR内に命令を、該命令を実行すべきステージまで、スキップされた1つまたは複数のステージのサイクルの間保持できる。単純命令実行ユニット105は、また、該デコードされた命令の実行の間に、少なくとも1つのスキップされないステージを実行できる。
特定の実施形態では、電力制御ロジック回路106は、スキップされたステージの間、マルチステージデータ処理パイプラインへの電力を低減できる。電力の低減は、該スキップされたステージへの動的電力を切ること、該スキップされたステージへの静的電力を切ること、あるいはその両方を含むことができる。電力制御ロジック回路106は、スキップされないマルチステージデータ処理パイプラインのステージの実行の前に、公称の動作レベルに電力を戻すことができる。
図2は、マルチステージデータ処理パイプラインで命令を実行するシステム200の別の実施形態のブロック図を示している。特定の実施形態では、システム200は、図1に示されたプロセッサ100のようなマルチスレッドプロセッサに実装することができる。例えば、マルチステージデータ処理パイプラインは、シーケンサ104、および1つまたは複数の実行ユニット108、110、112および114を含むことができる。マルチステージデータ処理パイプラインは、CIR136のようなCIRから命令をフェッチし、該命令を処理し、レジスタファイル148のようなレジスタファイルに結果を格納できる。
特定の実施形態では、システム200は、各スレッドがパイプラインの各ステージについて固定のタイムスロットを持つことができるインターリーブマルチスレッドプロセッサに実装することができる。各スレッドがその割り付けられたタイムスロットを使用する場合、スレッド間に衝突はない。インターリーブ処理を実装しない他のアーキテクチャは、システム200を実装できるが、スレッド間に衝突があるかもしれない。他のアーキテクチャは衝突解決技術を実装しなければならない。
複数ステージ命令実行パイプラインでは、いくつかの命令は、命令を実行するパイプラインにおいて利用可能なハードウェアのすべてを必要とするとは限らない。特定の実施形態では、命令実行パイプラインは、パイプライン中の1つまたは複数のステージをスキップし、命令を実行するのに必要なステージのみを実行できる。パイプラインのステージをスキップするために、その命令は、該命令を実行すべきステージまで、スキップされた1つまたは複数のステージのサイクルの間、それぞれのCIRに保持され得る。保持されるサイクルは、コントローラあるいは別個のタイミング回路のような制御ロジックによって決定することができる。別の特定の実施形態では、命令実行パイプラインは、1つの完全な命令を実行するのに必要な単一ステージのハードウェアの一部を実行するのみでもよい。実行された複数のステージまたは1つのステージの一部は、マルチステージ命令実行パイプラインの任意のステージでもよい。システム200は、マルチステージ命令実行パイプラインの全ステージより少ない数のステージを使用して命令を実行する、パイプラインの3つの例を提供する。命令実行パイプラインの複数のステージをスキップすることは、各スレッドがパイプラインの各ステージについて固定のタイムスロットをもつことができる、インターリーブマルチスレッドプロセッサにおいて、特によく機能する。
システム200は、第1のカレント命令レジスタ(CIR)202を含む。第1のCIR202は、マルチスレッドプロセッサの第1のスレッドに関連付けることができる。第1のCIR202は、命令を実行する複数のステージを持つ第1の命令実行パイプラインを含む、第1のマルチプレクサ204および第2のマルチプレクサ206に連結できる。第1のCIR202は、また、第3のマルチプレクサ230、第4のマルチプレクサ238、第5のマルチプレクサ260および第6のマルチプレクサ270に連結することができる。特定の実施形態では、各命令実行パイプラインは、命令の実行に利用可能な6つのステージをもつことができる。インターリーブマルチスレッドプロセッサでは、命令実行パイプライン中の各ステージはパイプライン中で実行するために固定のタイムスロットを持つことができる。第1のマルチプレクサ204および第2のマルチプレクサ206の両方は、第1の命令実行パイプラインがどのCIRから命令を受け取るのかを選択するための制御ライン205を持つことができる。制御ライン205は、マルチスレッドプロセッサの単一のスレッドの選択のために、図1に示したシーケンサ104のような制御ロジック回路に連結できる。
第1の命令実行パイプラインは、第1ステージ210、第2ステージ212、第3ステージ214、第4ステージ216、第5ステージ218および第6ステージ220を含む。第1の命令実行パイプラインは、マルチプレクサ224によって選択され得る2つの動作モードをもつ。第1の動作モードは第1ステージ210、第2ステージ212、第3ステージ214、第4ステージ216、第5ステージ218および第6ステージ220で命令を実行することを含む。第2の動作モードは、省電力モード221中に第1ステージ210、第2ステージ212、第3ステージ214、第4ステージ216および第5ステージ218をスキップし、次に、第6ステージ220を実行することを含む。省電力モード221は、複数のステージの実行に使用される1つまたは複数のクロックサイクルの長さがあってもよい。省電力モードの長さは、実行される命令に基づき可変でもよい。マルチプレクサ224は、第2の動作モード中に、第1のCIR202から第6ステージ220の入力に選択的に命令を提供でき、あるいは、第1の動作モード中に、第5ステージ218から第6ステージ220の入力に出力を供給できる。マルチプレクサ224は、第1の動作モードと第2の動作モードのどちらが選択されるかを選択するための制御ライン223を持つことができる。制御ライン223は、第1の動作モードあるいは第2の動作モードを選択するために、図1に示したシーケンサ104のような制御ロジック回路に連結できる。第6ステージ220の出力は、レジスタファイル226に連結できる。
実例となる特定の実施形態では、システム200は、さらに、マルチスレッドプロセッサの第2のスレッドに関連付けられている第2のCIR228を含むことができる。第2のCIR228は、第1のマルチプレクサ204、第2のマルチプレクサ206、第3のマルチプレクサ230、第4のマルチプレクサ238および第5のマルチプレクサ260に連結できる。第3のマルチプレクサ230および第4のマルチプレクサ238は、命令を実行する複数のステージをもつ第2の命令実行パイプラインを含む。第3のマルチプレクサ230および第4のマルチプレクサ238のそれぞれは、第2の命令実行パイプラインがどのCIRから命令を受けとるのかを選択するための制御ライン229を持つ。制御ライン229は、マルチスレッドプロセッサの単一スレッドを選択するための制御ロジック回路に連結できる。
第2の命令実行パイプラインは、第1ステージ240、第2ステージ242、第3ステージ244、第4ステージ246、第5ステージ248および第6ステージ250を含む。第2の命令実行パイプラインは、マルチプレクサ252によって選択され得る2つの動作モードをもつ。第1の動作モードは、第1ステージ240、第2ステージ242、第3ステージ244、第4ステージ246、第5ステージ248および第6ステージ250で、命令を実行することを含む。
第2の動作モードは、省電力モード232中に、第1ステージ240、第2ステージ242および第3ステージ244をスキップし、次に、第4ステージ246、第5ステージ248および第6ステージ250を実行すること、を含む。省電力モード232は、スキップされた複数のステージの実行に使用された、1つまたは複数のクロックサイクルの長さがあってもよい。省電力モードの長さは、実行される命令に基づき可変でもよい。マルチプレクサ252は、第2の動作モード中に、第2のCIR228から第4ステージ246の入力に選択的に命令を提供でき、あるいは第1の動作モード中に、第3ステージ244から第4ステージ246の入力に出力を供給できる。マルチプレクサ252は、第1の動作モードと第2の動作モードのどちらが選択されるかを選択するための制御ライン251を持つことができる。制御ライン251は、第1の動作モードあるいは第2の動作モードを選択するために、図1に示したシーケンサ104のような制御ロジック回路に連結できる。第6ステージ250の出力はレジスタファイル226に連結できる。
別の実例となる実施形態では、システム200は、第5のマルチプレクサ260および第6のマルチプレクサ270を含む第3の命令実行パイプラインを持つことができる。第5のマルチプレクサ260および第6のマルチプレクサ270は、第3の命令実行パイプラインがどのCIRから命令を受けとるのかを選択するための制御ライン262を持つことができる。制御ライン262は、マルチスレッドプロセッサの単一のスレッドを選択するための制御ロジック回路に連結できる。
第3の命令実行パイプラインは、第1ステージ272、第2ステージ274、第3ステージ276、第4ステージ278、第5ステージ280および第6ステージ282を含む。第3の命令実行パイプラインは、マルチプレクサ268によって選択され得る2つの動作モードをもつ。マルチプレクサ268は、第1の動作モードと第2の動作モードのどちらが選択されるかを選択するための制御ライン269を持つことができる。制御ライン269は、第1の動作モードあるいは第2の動作モードを選択するために、図1に示したシーケンサ104のような制御ロジック回路に連結できる。
第1の動作モードは、第1ステージ272、第2ステージ274、第3ステージ276、第4ステージ278、第5ステージ280および第6ステージ282で命令を実行することを含む。第2の動作モードは命令実行ステージ266を含む。命令実行ステージ266は、第3の命令実行パイプラインの任意のステージまたは1つのステージの一部でもよい。命令実行ステージ266以外のパイプラインのステージはスキップされ得、省電力モード264はエネルギーを節約するために実装され得る。例えば、6ステージパイプラインでは、命令実行ステージ266は、第3の命令実行パイプラインの第3ステージあるいは第3ステージの一部でもよい。したがって、第1、第2、第4、第5、及び第6ステージはスキップされ得、それらのステージが実行したであろう時間に、省電力モードが実装できる。マルチプレクサ268は、レジスタファイル226に、第1の動作モードの出力あるいは第2の動作モードの出力を選択的に供給できる。
特定の実施形態において、システム200は、2つのスレッドをもつ実施形態を示すが、システム200は任意の数のスレッドをサポートするために拡張できる。特定の実施形態では、システム200は6つのスレッドを含む。
動作中、CIR202からの第1の命令はデコードされて、いつ、第1の命令実行パイプラインにおいて利用可能なステージの数より少ない数のステージを使用して該命令を実行することができるかを決定する。該命令のオペコード(opcode)は、該命令を実行するために必要とされるステージの数を決定するためにリード(read)される。特定の実施形態では、該命令はライトオンリー(write only)命令である。別の特定の実施形態では、該命令はレジスタファイルリード(read)を含まない命令である。さらに別の特定の実施形態では、該命令はコンバイン(combine)命令である。
第1の命令実行パイプラインにおいて利用可能なステージの数より少ない数のステージを使用し、しかも、第2の動作モードにおいて利用可能なステージを使用するだけで、該命令を実行できるとき、制御ライン223が、該命令の実行に第2の動作モードを選択するためにアクティブにされる。その後、第1のCIR202は、第1のマルチプレクサ204へ命令を渡す。制御ライン205が第1のCIR202に対応するスレッドを選択するとき、第1のマルチプレクサ204は、第1のCIR202からの命令をマルチプレクサ224へ提供する。
第1のパイプラインの第2の動作モードでの命令の実行中に、システム200は、命令を実行する必要がないステージによって消費される電力を低減するために、省電力モード221を入力することにより、第1の命令実行パイプラインへの電力を低減できる。省電力モード221は、パワーダウン(power down)ステージの間、動的電力を切ること、パワーダウンステージの間、静的電力を切ること、あるいはその両方を含むことができる。電力は、実行される必要のあるステージに先立って、動作レベルに戻すことができる。省電力モード221が終了した後、第6ステージ220は命令を実行し、レジスタファイル226に提供されるために、マルチプレクサ224に出力を提供する。インターリーブマルチスレッドプロセッサでは、省電力モード221は、スキップされたステージおよび第6ステージ220に割り当てられたタイムスロットに基づいて終了される。特定の実施形態では、第6ステージ220は、レジスタファイル・ライト実行を含む。
第1の命令実行パイプライン中のステージ数より少ない数のステージを使用して、該命令を実行することができないとき、制御ライン223は、該命令を実行するために第1の動作モードを選択すべくアクティブにされる。その後、第1のCIR202は、第2のマルチプレクサ206へ該命令を渡す。第2のマルチプレクサ206は、第1のCIR202からの該命令を、該命令を実行するために、命令実行ステージ210に提供する。次に、その命令は、命令実行ステージ210、212、214、216、218および220によって実行され、その後、レジスタファイル226に記憶すべき出力を送る。
第2のCIR228からの命令は、第1のCIR228に関する上記説明と同様に実行できる。さらに、第3のマルチプレクサ230、第4のマルチプレクサ238、第2の命令実行パイプラインおよびマルチプレクサ252の動作は、上記説明と同様に動作する。しかし、図2に示したように、第2の命令実行パイプラインの第2の動作モードは、実行することができる3つのステージ(第4ステージ246、第5ステージ248および第6ステージ250)をもつ。
第3の命令実行パイプラインも、上記説明と同様に動作できる。第3の命令実行パイプラインの第1の動作モードにおいて利用可能なステージ数より少ない数のステージを使用して、CIRからの命令を実行することができ、しかも、命令は、第2の動作モードでの実行に利用可能なステージ、複数のステージまたは1つのステージのうちの一部のみを使用して実行できるとき、第2の動作モードがマルチプレクサ268によって選択できる。第3の命令実行パイプラインの第2の動作モードを使用して、CIRからの命令を実行することができないとき、第1の動作モードがマルチプレクサ268によって選択される。
図3は、マルチステージデータ処理パイプラインで命令を実行する方法300の実施形態のフローチャートを示す。方法300は、302で、マルチステージデータ処理パイプラインで利用可能なステージ数より少ない数のステージを使用して命令を実行することができるときを決定するために、該命令をデコードすることを含む。特定の実施形態では、該デコードすることは命令の実行に先立って行なわれる。別の特定の実施形態では、該デコードすることは、命令のオペコードを識別することにより命令を決定することを含む。さらに別の実施形態では、該命令はカレント命令レジスタ(CIR)から受け取られる。
方法300は、さらに、304で、デコードされた命令の実行の間に、マルチステージデータ処理パイプラインの少なくとも1つのステージをスキップすることを含む。該スキップされた少なくとも1つのステージは、マルチステージデータ処理パイプラインの第1ステージ、最終ステージ、あるいは第1ステージと最終ステージとの間のステージでもよい。
該方法は、さらに、306で、該デコードされた命令の実行の間に、少なくとも1つのスキップされないステージを実行することを含む。特定の実施形態では、命令はライトオンリー命令である。別の特定の実施形態では、命令はレジスタファイルリードを含まない命令である。さらに別の特定の実施形態では、命令はコンバイン命令である。
特定の実施形態では、方法300は、308で、該少なくとも1つのスキップされたステージの間、マルチステージデータ処理パイプラインへの電力を低減することを含む。別の特定の実施形態では、該電力を低減することは、該少なくとも1つのスキップされたステージへの動的電力を切ることを含む。さらに別の特定の実施形態では、該電力を低減することは、該少なくとも1つのスキップされたステージへの静的電力を切ることを含む。方法300は、スキップされないマルチステージデータ処理パイプラインの1つのステージに先立って、電力を増加することを含む。
特定の実施形態では、マルチステージデータ処理パイプラインは、インターリーブマルチスレッドプロセッサ中の複数のマルチステージデータ処理パイプラインのうちの1つである。さらに、マルチステージデータ処理パイプラインは、複数のスレッドのうちの少なくとも1つから命令を受けとるように構成されている。
図4は、図1−3に関して説明したように、マルチステージデータ処理パイプラインで命令を実行する装置及びマルチステージデータ処理パイプラインで命令を実行する方法を用いるポータブル通信装置の典型的で限定されない実施形態を示し、これは通常、400と示されている。ポータブル通信装置400は、(図1−3に関して説明されたように)単純命令実行ユニット412および電力制御ロジック414をもつデジタル信号プロセッサ410のようなプロセッサを含む、オンチップシステム422を含む。図4は、さらに、上記デジタル信号プロセッサ410およびディスプレイ428に連結されるディスプレイコントローラ426を示す。さらに、入力デバイス430はデジタル信号プロセッサ410に連結される。さらに、メモリ432はデジタル信号プロセッサ410に連結される。コーダ/デコーダ(CODEC)434もデジタル信号プロセッサ410につなぐことができる。スピーカ436およびマイクロホン438はCODEC 434につなぐことができる。図4は、さらに、無線コントローラ440がデジタル信号プロセッサ410および無線アンテナ442に連結されることを示す。特定の実施形態では、電源444はオンチップシステム442に連結される。特定の実施形態において、図4に示したように、ディスプレイ428、入力デバイス430、スピーカ436、マイクロホン438、無線アンテナ442および電源444は、オンチップシステム422の外部にある。しかし、それぞれは、オンチップシステム422のコンポーネントに連結されている。
特定の実例となる実施形態では、単純命令実行ユニット412は、マルチステージデータ処理パイプラインで利用可能なステージ数より少ない数のステージを使用して命令が実行されるときを決定するために、該命令をデコードする。次に、単純命令実行ユニット412は、該デコードされた命令の実行の間、マルチステージデータ処理パイプラインの少なくとも1つのステージをスキップする。単純命令実行ユニット412は、また、該デコードされた命令の実行の間、少なくとも1つのスキップされていないステージを実行できる。別の特定の実施形態では、電力制御ロジック414は、該少なくとも1つのスキップされたステージの間、マルチステージデータ処理パイプラインへの電力を低減する。該電力を低減することは、該少なくとも1つのスキップされたステージへの動的電力を切ることを含むことができる。該電力を低減することは、さらに、該少なくとも1つのスキップされたステージへの静的電力を切ることを含むことができる。電力制御ロジック414は、スキップされないマルチステージデータ処理パイプラインの1つのステージでの実行の前に、電力を増加することができる。
当業者は、ここに開示に関連して述べられた様々な例示の論理ブロック、構成、モジュール、回路、及びアルゴリズムステップが電子ハードウェア、コンピュータソフトウェア、または双方の組合せとして実施されることを認識するであろう。ハードウェア及びソフトウェアのこの互換性を明確に例証するために、様々な例示のコンポーネント、ブロック、構成、モジュール、回路、及びステップは一般にそれらの機能に関して上で述べられてきた。そのような機能がハードウェアまたはソフトウェアとして実施されるか否かは特定のアプリケーション及び全体システムに課せられた設計制限に依存する。熟練者は記述した機能を特定の各アプリケーションのために様々な方法で実施するかもしれないが、そのような実施決定は本開示の範囲から逸脱するものと解釈されるべきでない。
ここに開示に関連して述べた方法またはアルゴリズムのステップは直接ハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、またはその2つの組合せにおいて具体化される。ソフトウェアモジュールはRAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、または当技術分野で既知である他の形の任意の記憶メディアに在駐する。典型的記憶メディアはプロセッサ記憶メディアから情報を読出し、そして記憶メディアへ情報を書込むためにプロセッサへ結合される。これに代るものでは、記憶メディアはプロセッサへ一体化される。プロセッサ及び記憶メディアはASICに在駐する。ASICはコンピュータ機器またはユーザ端末に在駐する。これに代るものでは、プロセッサ及び記憶メディアはコンピュータ機器またはユーザ端末において個別部品(discrete component)として在駐する。
開示された実施形態の前述の説明は、任意の当業者が開示された実施形態を作るか使用することを可能にするために提供される。これら実施形態への様々な修正は当業者には直ちに明白であり、そしてここに定義された一般的原理はその開示の精神または範囲から逸脱することなく他の実施形態に適用できる。従って、本開示は、ここに示した実施形態に限定されることを意図していないが、次のクレームにより定義されるような原理及び新規な特徴と一致する可能性のある最も広い範囲を与えられるべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
「付記」
[1]マルチステージデータ処理パイプラインで利用可能なステージ数より少ない数のステージを使用して命令を実行できるときを決定するために、該命令をデコードすること、
前記デコードされた命令の実行の間に、前記マルチステージデータ処理パイプラインの少なくとも1つのステージをスキップすること、及び
前記デコードされた命令の実行の間に、少なくとも1つのスキップされないステージを実行すること、
を備える方法。
[2]前記少なくとも1つのスキップされたステージの間、前記マルチステージデータ処理パイプラインへの電力を低減すること、をさらに備える[1]記載の方法。
[3]電力を低減することは、前記少なくとも1つのスキップされたステージへの動的電力を切ること、を含む[2]記載の方法。
[4]電力を低減することは、前記少なくとも1つのスキップされたステージへの静的電力を切ること、を含む[2]記載の方法。
[5]スキップされない前記マルチステージデータ処理パイプラインのステージの前に電力を増加すること、をさらに備える[2]記載の方法。
[6]前記マルチステージデータ処理パイプラインの前記少なくとも1つのステージをスキップすることは、
スキップされる前記少なくとも1つのステージに基づく時間中、レジスタに前記デコードされた命令を保持すること、
前記時間の終わりに関連する前記少なくとも1つのスキップされないステージへ前記命令を転送すること、
をさらに含む[1]記載の方法。
[7]前記デコードすることは、前記命令の実行より前に実行される、[1]記載の方法。
[8]前記少なくとも1つのスキップされたステージは、第1ステージ、最終ステージ、及び前記第1ステージと前記最終ステージとの間のステージを含むグループから選択された1つのステージである、[1]記載の方法。
[9]カレント命令レジスタから命令を受けることをさらに含む[1]記載の方法。
[10]前記マルチステージデータ処理パイプラインは、インターリーブマルチスレッドプロセッサにおける複数のマルチステージデータ処理パイプラインのうちの1つである、[1]記載の方法。
[11]前記マルチステージデータ処理パイプラインは、複数のスレッドのうちの少なくとも1つから前記命令を受け取るように構成された、[1]記載の方法。
[12]前記デコードすることは、前記命令を識別することをさらに含む、[1]記載の方法。
[13]前記命令は、ライトオンリー命令を含む、[1]記載の方法。
[14]前記命令は、レジスタファイルリードを含まない、[1]記載の方法。
[15]前記命令は、コンバイン命令を含む、[1]記載の方法。
[16]命令を実行するための複数のステージをもつ第1の命令実行パイプラインと、
前記第1の命令実行パイプラインに連結された制御ロジック回路と、
を備え、
前記制御ロジック回路は、
第1の命令の実行の間に、前記第1の命令実行パイプラインの少なくとも1つのステージをスキップし、
前記第1の命令の実行の間に、少なくとも1つのスキップされないステージを実行するように構成される、装置。
[17]前記制御ロジック回路は、さらに、前記少なくとも1つのスキップされたステージの間、前記第1の命令実行パイプラインへの電力を低減するように構成される[16]記載の装置。
[18]前記制御ロジック回路は、さらに、前記複数のステージの全てよりも少ないステージを使用して前記第1の命令を実行できるときを決定するために、前記第1の命令をデコードするように構成される[16]記載の装置。
[19]前記第1の命令実行パイプラインは6つのステージを含む、[16]記載の装置。
[20]前記制御ロジック回路は、少なくとも1つのマルチプレクサおよびコントローラを含む、[16]記載の装置。
[21]前記第1の命令は、ライトオンリー命令を含む[16]記載の装置。
[22]前記第1の命令は、リードオンリー命令を含む[16]記載の装置器。
[23]前記第1の命令実行パイプラインに連結され、前記命令に基づきオペランドを記憶するように構成されたレジスタファイル、をさらに備える[16]記載の装置。
[24]命令を実行するための複数のステージをもつ第1の命令実行パイプライン、をさらに備え、
前記制御論ロジック回路は、前記第2の命令実行パイプラインに連結され、前記第2の命令実行パイプライン中の前記第1の命令の実行の間に、前記第2の命令実行パイプラインの少なくとも1つのステージをスキップするように構成される、[16]記載の装置。
[25]前記第1の命令実行パイプラインおよび前記第2の命令実行パイプラインに連結されたレジスタファイル、をさらに備える[24]記載の装置。
[26]命令実行パイプラインと、
前記命令実行パイプラインからデータを受け取るように構成されたレジスタファイルと、
命令の実行の間に、前記命令実行パイプラインの利用可能な複数のステージのうちの少なくとも1つのステージをスキップする手段と、
を備える装置。
[27]前記命令実行パイプラインに連結された命令レジスタをさらに備える[26]記載の装置。
[28]前記レジスタファイルは、統一レジスタファイルである、[26]記載の装置。
[29]前記少なくとも1つのステージをスキップする間に電力を低減する手段をさらに備える[26]記載の装置。
[30]受信機と、
前記受信機に応答するプロセッサと、
を備え、前記プロセッサは、
第1のメモリと、
前記第1のメモリに応答するインターリーブマルチステージデータ処理パイプラインと、
を備え、前記プロセッサは、
前記インターリーブマルチステージデータ処理パイプラインで利用可能なステージの数より少ない数のステージを使用して命令を実行できるときを決定するために、前記命令をデコードし、
前記命令の実行の間に、前記インターリーブマルチステージデータ処理パイプラインの少なくとも1つのステージをスキップし、
前記デコードされた命令の実行の間に、少なくとも1つのスキップされないステージを実行する、無線装置。
[31]前記受信機に連結されたアンテナと、
前記アンテナに連結された送信機と、
前記プロセッサによりアクセス可能な第2のメモリと、
前記プロセッサに連結されたディスプレイコントローラと、
前記プロセッサに連結されたオーディオ・コーダ/デコーダ(CODEC)と、
をさらに備える[29]記載の無線装置。

Claims (25)

  1. 命令レジスタからの命令をデコードし、前記命令はマルチステージデータ処理パイプラインの複数のステージの全てより少ないステージを使用して実行できると決定すること、
    前記デコードされた命令の実行の間に、前記マルチステージデータ処理パイプラインの特定のステージをスキップすること、及び
    前記特定のステージをスキップした後、クロックサイクルの間前記特定のステージの後のステージで、前記デコードされた命令を実行すること、
    を備え、
    前記クロックサイクルは、前記特定のステージにおける1つまたは複数の命令の実行に関連する特定のクロックサイクルとは異なり、前記特定のステージをスキップすることは、前記特定のクロックサイクルの間、前記命令を前記命令レジスタに保持することを含む、方法。
  2. 前記特定のクロックサイクルの間、前記マルチステージデータ処理パイプラインへの電力を低減すること、をさらに備える請求項1記載の方法。
  3. 電力を低減することは、前記特定のステージへの電力を切ること、を含む請求項2記載の方法。
  4. スキップされない前記マルチステージデータ処理パイプラインのステージの前に電力を増加すること、をさらに備える請求項2記載の方法。
  5. 前記マルチステージデータ処理パイプラインの前記特定のステージをスキップすることは、
    前記特定のクロックサイクルの間前記命令を前記命令レジスタに保持した後、前記命令を前記命令レジスタから前記特定のステージの後の前記ステージへ転送すること、
    をさらに含む請求項1記載の方法。
  6. 前記デコードすることは、前記命令の実行より前に実行される、請求項1記載の方法。
  7. 前記マルチステージデータ処理パイプラインは、インターリーブマルチスレッドプロセッサにおける複数のマルチステージデータ処理パイプラインのうちの1つである、請求項1記載の方法。
  8. 前記マルチステージデータ処理パイプラインは、複数のスレッドのうちの少なくとも1つから前記命令を受け取るように構成された、請求項1記載の方法。
  9. 前記デコードすることは、前記命令を識別することをさらに含む、請求項1記載の方法。
  10. 前記命令は、ライトオンリー命令を含む、請求項1記載の方法。
  11. 前記命令は、レジスタファイルリードを含まない、請求項1記載の方法。
  12. 複数のステージを備える命令実行パイプラインと、
    前記命令実行パイプラインに連結された制御ロジック回路と、
    を備え、
    前記制御ロジック回路は、
    命令レジスタからの命令をデコードし、前記命令は前記複数のステージの全てよりも少ないステージを使用して実行できると決定し、
    前記命令実行パイプラインが第1のモードで動作しているとき、前記デコードされた命令の実行の間に、前記命令実行パイプラインの特定のステージをスキップし、
    前記特定のステージをスキップした後、クロックサイクルの間、前記特定のステージの後のステージで、前記デコードされた命令を実行するように構成され、
    前記クロックサイクルは、前記特定のステージにおける1つまたは複数の命令の実行に関連する特定のクロックサイクルとは異なり、前記特定のステージをスキップすることは、前記特定のクロックサイクルの間、前記命令を前記命令レジスタに保持することを含む、装置。
  13. 前記制御ロジック回路は、さらに、前記特定のクロックサイクルの間、前記命令実行パイプラインへの電力を低減するように構成される請求項12記載の装置。
  14. 前記命令実行パイプラインは6つのステージを含む、請求項12記載の装置。
  15. 前記制御ロジック回路により前記第1のモードが選択された場合に、前記デコードされた命令を、前記特定のステージの後の前記ステージに供給するためのマルチプレクサ、をさらに備える請求項12記載の装置。
  16. 前記命令は、ライトオンリー命令を含む請求項12記載の装置。
  17. 前記命令実行パイプラインに連結され、前記命令に基づきオペランドを記憶するように構成されたレジスタファイル、をさらに備える請求項12記載の装置。
  18. 第2の複数のステージをもつ第2の命令実行パイプライン、をさらに備え、
    前記制御ロジック回路は、前記第2の命令実行パイプラインに連結され、
    前記制御ロジック回路は、さらに、
    2の命令レジスタからの2の命令をデコードし、前記第2の命令は前記第2の複数のステージの全てよりも少ないステージを使用して実行できると決定し
    前記第2の命令実行パイプライン中の前記第2の命令の実行の間に、前記第2の命令実行パイプラインの少なくとも1つのステージをスキップし、
    前記少なくとも1つのステージをスキップした後、第3のクロックサイクルの間、前記少なくとも1つのステージの後の第2のステージで、前記第2の命令を実行するように構成された、請求項12記載の装置。
  19. 前記命令実行パイプラインおよび前記第2の命令実行パイプラインに連結されたレジスタファイル、をさらに備える請求項18記載の装置。
  20. 複数のステージを備える命令実行パイプラインと、
    前記命令実行パイプラインに連結された命令レジスタと、
    前記命令実行パイプラインからデータを受け取るように構成されたレジスタファイルと、
    前記複数のステージの全てよりも少ないステージを使用して命令を実行できるときを決定するために、前記命令レジスタからの前記命令をデコードする手段と、
    前記命令の実行の間に、前記命令実行パイプラインの特定のステージをスキップする手段と、
    を備え、
    前記特定のステージをスキップする手段は、前記特定のステージにおける命令の実行に関連する特定のクロックサイクルの間、前記命令を前記命令レジスタに保持する手段を備える、装置。
  21. 前記レジスタファイルは、統一レジスタファイルである、請求項20記載の装置。
  22. 前記特定のステージをスキップする間に前記特定のステージへの電力を低減する手段をさらに備える請求項20記載の装置。
  23. 受信機と、
    前記受信機に応答するプロセッサと、
    を備え、前記プロセッサは、
    命令レジスタと、
    マルチステージパイプラインと、
    を備え、前記プロセッサは、
    命令をデコードし、前記命令は前記マルチステージパイプラインの複数のステージの全てより少ない数のステージを使用して実行できると決定し
    前記デコードされた命令の実行の間に、前記マルチステージパイプラインの特定のステージをスキップし、
    前記特定のステージをスキップした後、クロックサイクルの間前記特定のステージの後のステージで、前記デコードされた命令を実行し、
    前記クロックサイクルは、前記特定のステージにおける1つまたは複数の命令の実行に関連する特定のクロックサイクルとは異なり、前記特定のステージをスキップすることは、前記特定のクロックサイクルの間、前記命令を前記命令レジスタに保持することを含む、無線装置。
  24. 前記受信機に連結されたアンテナと、
    前記アンテナに連結された送信機と、
    前記プロセッサによりアクセス可能な第2のメモリと、
    前記プロセッサに連結されたディスプレイコントローラと、
    前記プロセッサに連結されたオーディオ・コーダ/デコーダ(CODEC)と、
    をさらに備える請求項23記載の無線装置。
  25. 前記第1のモードは省電力モードに対応する、請求項12記載の装置。
JP2010524144A 2007-09-06 2008-09-04 マルチステージデータ処理パイプラインにおける命令実行システム及び方法 Expired - Fee Related JP5318873B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/850,940 2007-09-06
US11/850,940 US8868888B2 (en) 2007-09-06 2007-09-06 System and method of executing instructions in a multi-stage data processing pipeline
PCT/US2008/075270 WO2009032936A1 (en) 2007-09-06 2008-09-04 System and method of executing instructions in a multi-stage data processing pipeline

Publications (2)

Publication Number Publication Date
JP2010538398A JP2010538398A (ja) 2010-12-09
JP5318873B2 true JP5318873B2 (ja) 2013-10-16

Family

ID=39580121

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010524144A Expired - Fee Related JP5318873B2 (ja) 2007-09-06 2008-09-04 マルチステージデータ処理パイプラインにおける命令実行システム及び方法

Country Status (6)

Country Link
US (1) US8868888B2 (ja)
EP (1) EP2034401B1 (ja)
JP (1) JP5318873B2 (ja)
KR (1) KR101132484B1 (ja)
CN (1) CN101821712B (ja)
WO (1) WO2009032936A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101493761B (zh) 2008-01-25 2013-05-29 国际商业机器公司 处理器流水线处理指令的方法及相应的处理器
US7945765B2 (en) * 2008-01-31 2011-05-17 International Business Machines Corporation Method and structure for asynchronous skip-ahead in synchronous pipelines
US8806181B1 (en) * 2008-05-05 2014-08-12 Marvell International Ltd. Dynamic pipeline reconfiguration including changing a number of stages
US7990974B1 (en) 2008-09-29 2011-08-02 Sonicwall, Inc. Packet processing on a multi-core processor
JP2010198128A (ja) * 2009-02-23 2010-09-09 Toshiba Corp プロセッサシステム
US8397238B2 (en) * 2009-12-08 2013-03-12 Qualcomm Incorporated Thread allocation and clock cycle adjustment in an interleaved multi-threaded processor
JP4829370B1 (ja) * 2010-07-09 2011-12-07 株式会社東芝 メモリ制御装置、メモリ装置および停止制御方法
US9030979B2 (en) * 2011-05-11 2015-05-12 Qualcomm Incorporated Reducing power consumption in multi-threaded processor mobile devices
WO2013095570A1 (en) * 2011-12-22 2013-06-27 Intel Corporation Instruction that specifies an application thread performance state
US9417880B2 (en) 2013-03-15 2016-08-16 Intel Corporation Instruction for performing an overload check
CN104104786B (zh) 2013-04-12 2016-09-28 中国银联股份有限公司 一种对外接载体持续供电的方法和终端设备
GB2526018B (en) 2013-10-31 2018-11-14 Silicon Tailor Ltd Multistage switch
GB2569098B (en) 2017-10-20 2020-01-08 Graphcore Ltd Combining states of multiple threads in a multi-threaded processor
US11175921B2 (en) 2018-05-15 2021-11-16 International Business Machines Corporation Cognitive binary coded decimal to binary number conversion hardware for evaluating a preferred instruction variant based on feedback
GB2580316B (en) * 2018-12-27 2021-02-24 Graphcore Ltd Instruction cache in a multi-threaded processor
DE102019200256B4 (de) * 2019-01-10 2020-07-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verschachteler

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57168350A (en) 1981-04-09 1982-10-16 Mitsubishi Electric Corp Information processor
JPS5890247A (ja) 1981-11-25 1983-05-28 Nippon Telegr & Teleph Corp <Ntt> 情報処理装置のパイプライン制御方式
JPS63141131A (ja) 1986-12-04 1988-06-13 Toshiba Corp パイプライン制御方式
JPH0469895A (ja) 1990-07-10 1992-03-05 Mitsubishi Electric Corp 半導体記憶装置
US5471626A (en) 1992-05-06 1995-11-28 International Business Machines Corporation Variable stage entry/exit instruction pipeline
JPH05334081A (ja) 1992-06-02 1993-12-17 Kobe Nippon Denki Software Kk パイプライン処理方式
JPH06314196A (ja) 1993-04-30 1994-11-08 Hitachi Ltd 情報処理方法および装置
JP2857073B2 (ja) 1994-11-22 1999-02-10 松下電器産業株式会社 データ処理装置
JP3546980B2 (ja) * 1996-03-29 2004-07-28 松下電器産業株式会社 データ処理装置
US6247134B1 (en) * 1999-03-31 2001-06-12 Synopsys, Inc. Method and system for pipe stage gating within an operating pipelined circuit for power savings
JP3776644B2 (ja) 1999-10-05 2006-05-17 富士通株式会社 パイプライン演算装置、情報処理装置およびパイプライン演算装置の演算方法
WO2001033351A1 (fr) 1999-10-29 2001-05-10 Fujitsu Limited Architecture de processeur
US6609193B1 (en) 1999-12-30 2003-08-19 Intel Corporation Method and apparatus for multi-thread pipelined instruction decoder
US7107471B2 (en) * 2001-03-21 2006-09-12 Apple Computer, Inc. Method and apparatus for saving power in pipelined processors
JP2003316566A (ja) 2002-04-24 2003-11-07 Matsushita Electric Ind Co Ltd パイプラインプロセッサ
US7634668B2 (en) * 2002-08-22 2009-12-15 Nvidia Corporation Method and apparatus for adaptive power consumption
US7065665B2 (en) * 2002-10-02 2006-06-20 International Business Machines Corporation Interlocked synchronous pipeline clock gating
CN100472432C (zh) 2004-03-10 2009-03-25 Nxp股份有限公司 电子电路

Also Published As

Publication number Publication date
JP2010538398A (ja) 2010-12-09
US8868888B2 (en) 2014-10-21
EP2034401B1 (en) 2013-01-30
CN101821712A (zh) 2010-09-01
KR20100058623A (ko) 2010-06-03
WO2009032936A1 (en) 2009-03-12
CN101821712B (zh) 2014-11-12
US20090070602A1 (en) 2009-03-12
KR101132484B1 (ko) 2012-03-30
EP2034401A1 (en) 2009-03-11

Similar Documents

Publication Publication Date Title
JP5318873B2 (ja) マルチステージデータ処理パイプラインにおける命令実行システム及び方法
US9235418B2 (en) Register files for a digital signal processor operating in an interleaved multi-threaded environment
KR101302611B1 (ko) 분기 예측에 이용하기 위한 다중-모드 레지스터 파일
US20060230253A1 (en) Unified non-partitioned register files for a digital signal processor operating in an interleaved multi-threaded environment
KR20090077964A (ko) 멀티-스레드 프로세서에서 프로그램 스레드들을 실행하는 시스템 및 방법
US9116685B2 (en) Table call instruction for frequently called functions
EP2256948B1 (en) Arithmethic logic and shifting device for use in a processor
EP1952231A2 (en) Processing system and method for executing instructions
EP2542963B1 (en) System and method of processing hierarchical very long instruction packets
US20060230257A1 (en) System and method of using a predicate value to access a register file
US9075620B2 (en) Instruction execution circuit

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130104

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130219

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130520

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130528

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130710

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees