JP4194953B2 - 多重命令発行プロセッサ - Google Patents

多重命令発行プロセッサ Download PDF

Info

Publication number
JP4194953B2
JP4194953B2 JP2003584914A JP2003584914A JP4194953B2 JP 4194953 B2 JP4194953 B2 JP 4194953B2 JP 2003584914 A JP2003584914 A JP 2003584914A JP 2003584914 A JP2003584914 A JP 2003584914A JP 4194953 B2 JP4194953 B2 JP 4194953B2
Authority
JP
Japan
Prior art keywords
issue
processor
functional units
register
registers
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
JP2003584914A
Other languages
English (en)
Other versions
JP2005523499A5 (ja
JP2005523499A (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.)
NXP BV
Original Assignee
NXP BV
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 NXP BV filed Critical NXP BV
Publication of JP2005523499A publication Critical patent/JP2005523499A/ja
Publication of JP2005523499A5 publication Critical patent/JP2005523499A5/ja
Application granted granted Critical
Publication of JP4194953B2 publication Critical patent/JP4194953B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/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/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
    • 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
    • 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/3861Recovery, e.g. branch miss-prediction, exception handling
    • 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
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Executing Machine-Instructions (AREA)
  • Power Sources (AREA)
  • Hardware Redundancy (AREA)
  • Advance Control (AREA)
  • Saccharide Compounds (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Multi Processors (AREA)

Description

本発明は、発行スロット(issue slot)のそれぞれが複数の機能ユニットおよび複数の保持可能なレジスタ(holdable register)を有し、第1の発行スロットの組および第2の発行スロットの組により構成された複数の発行スロットと、複数の発行スロットによりアクセス可能であるレジスタファイルと、を含む多重命令発行プロセッサ(multi-issue processor)に関する。
多重命令発行プロセッサは、単一プロセッササイクルで多数の演算を並列実行できるようにさせ、これにより、プログラムにおいて命令レベルの並列度を利用する多数の並列ハードウェアを表す。多重命令発行プロセッサの例には、VLIW(Very Large Instruction Word:超長命令語)プロセッサおよびスーパースカラプロセッサが含まれる。VLIWプロセッサの場合、ソフトウェアプログラムは、どの演算が並列に実行されるべきであるかに関する完全な情報を含み、これらの命令は超長命令に詰め込まれる。コンパイラは、演算間のすべての依存関係が考慮され、リソース競合が生じ得ないことを保証する。このプログラム情報を除いて、ハードウェアはプログラムを正確に実行するために何ら付加的な情報を必要としないので、ハードウェアはかなり簡単になる。スーパースカラプロセッサの場合には、実行されるべきソフトウェアは、逐次的な一連の演算により構成されたプログラムとして与えられる。プロセッサハードウェア自体は、ランタイムに、どの演算依存関係が存在するかを判定し、これらの依存関係に基づいてどの演算が並列に実行すべきであるかを決定し、同時に、リソース競合が生じないことを保証する。上位レベルプログラミング言語を逐次コードに変換するためにはかなり簡単なコンパイラで十分であるが、プロセッサハードウェアは非常に複雑である。
多重命令発行プロセッサでは、これらの演算の実行を担当する並列ハードウェアは、発行スロットで構成される。各発行スロットは、実際の演算を実行する一つ以上の機能ユニットを収容する。一般に、すべてのプロセッササイクル中に、単一の演算は発行スロットごとに一つの機能ユニットで開始される。幾つかのプロセッサでは、VLIWプロセッサの場合に最大利用可能な並列度と命令幅コストとの間のトレードオフとして、スカラープロセッサの場合に最大利用可能な並列度とハードウェアの複雑さとの間のトレードオフとして、二つ以上の機能ユニットが発行スロットに収容される。
各クロックサイクルに、各発行スロットの一つの機能ユニットでは多くても一つの演算だけが開始される可能性があるので、電力はある特定のプロセッササイクルで使用されていない発行スロット内の機能ユニットによって消費される。これらの機能ユニットの入力がその機能ユニットが使用されていないときに変化すると、その機能ユニットは、たとえ、出力が無関係であるとしても、それらが使用されているときに匹敵する電力を消費し続ける。
この電力の浪費は、保持可能なレジスタ、すなわち、入力が異なる場合にも状態がそのまま変化しないレジスタを、発行スロット内のすべての機能ユニットの入力に設置することによって解消される。これらの保持可能なレジスタは、機能ユニットが使用されていないとき、機能ユニットの入力を変化させないでそのままの状態に保つ。これらの機能ユニットの入力がそのままの状態に保たれるので、組み合わせゲートの切り替えはなく、動的な電力損失は生じない。これらの保持可能なレジスタは、例えば、クロックゲーティングを用いて実施可能である。これらのレジスタの別の利点は、レジスタが形成する付加的なパイプライン段は、プロセッサをより高いクロック周波数で動かすことを可能にする点である。機能ユニット入力のすべての入力にレジスタを追加することによる欠点は、割り込み中に保存されるべき状態の量を増加させることである。割り込みは、プロセッサに外部イベントに対する素早い応答を可能にさせ、プロセッサに現在のプログラムトレースのさらなる実行を一時的に延期させ、その代わりに別のトレースを実行させる。延期されたトレースの状態は、割り込みが処理されたときに、プロセッサがその元の状態を復元し、元のトレースを正確に再開できるように、保存されなければならない。予測可能な、短い割り込みのレイテンシーを実現するため、必要に応じて常にプロセッサに割り込みをかけることが可能である。これはリアルタイムアプリケーションにおいて特に重要である。プログラムの任意のポイントでプロセッサに割り込みをかけることは、非常に多量の状態を保存しなければならないことを意味する。
2000年10月18日に出願された未公開欧州特許出願第00203591.3号(代理人書類番号PHN000576号)には、割り込み中に保存しなければならない状態の量を減少させる解決手法が記載されている。第2のコンパクト命令セット、すなわち、割り込みサービスルーチンで使用され、限定されたプロセッサリソースの組だけを使用する命令セットが与えられる。割り込みの場合、第2のコンパクト命令セットによって使用される限定されたプロセッサリソースの組の状態だけを保存すれば十分であり、他のすべてのリソースの状態はフリーズさせるだけである。しかし、レジスタがこの限定されたリソースの組の各機能ユニットのすべての入力の位置にあるとき、第2のコンパクト命令セットによって使用されるリソースは、割り込み中に保存、復元しなければならないかなりの量の状態を有する。
本発明の目的は、かなりの電力消費の削減と性能改善を維持すると共に、多重命令発行プロセッサの割り込み処理中に保存しなければならない状態の量をさらに削減する解決手法を提供することである。
この目的は、上記の種類の多重命令発行プロセッサであって、第1の発行スロットの組内の複数の保持可能なレジスタのうちの少なくとも一部のロケーションが第2の発行スロットの組内の複数の保持可能なレジスタのうちの少なくとも対応した一部のロケーションとは異なることを特徴とする多重命令発行プロセッサによって達成される。
理想的には、保持可能なレジスタは、発行スロット内の各機能ユニットのすべての入力に置かれる。その場合、使用されていない機能ユニットの各入力はそのままに保たれ、不必要な電力損失は生じない。しかし、これは、割り込み処理中に保存しなければならない状態の量を増加させる。異なる発行スロットに対する保持可能なレジスタの位置を変化させ、あらゆる機能ユニットのすべての入力の前に保持可能なレジスタを置くことを止めることにより、割り込み処理中に必要とされる状態保存の量は少なくなる。この結果として、電力消費の削減は低下し、または、性能の改善は低下する。アプリケーションのタイプに応じて、これらの要求の間で最適な選択を行うことが可能である。
本発明の一実施形態は、多重命令発行プロセッサが、第1の発行スロットの組にアクセスすることができる第1の命令セット手段と、第2の発行スロットの組にアクセスすることができる第2の命令セット手段と、を含むことを特徴とする。本実施形態の利点は、発行スロット内の保持可能なレジスタのロケーションが、この発行スロットを制御する命令セット手段から独立させ得ることである。第2の命令セット手段が割り込みサービスルーチンで使用される場合、第2の発行スロットの組の保持可能なレジスタは、割り込み処理中に保存されなければならない状態の量を最適に削減するため配置することが可能である。しかし、この解決手法は、電力消費の削減に関して最適ではない。保持可能なレジスタの配置は、プロセッサのクロック周波数を増加させることを可能にする付加的なパイプライン段をさらに作成する。多くの割り込みが必要とするのは非常に簡単な割り込みサービスルーチンであるので、限定された発行スロットの組を使用するコンパクトな第2の命令セットで間に合う。したがって、電力消費の削減が最適化されないのは、多重命令発行プロセッサ内の小規模の発行スロットの組に限られる。第1の発行スロットの組は割り込み処理中に使用されず、その結果として、それらの状態を保存する必要はない。保持可能なレジスタは、電力消費を最適に削減し、付加的なパイプライン段を作成することによりクロック周波数を増加させるため配置可能である。プロセッサ全体に関して、これは、性能の改善と、電力消費の削減と、状態保存オーバーヘッドの低減との間で非常にバランスの取れた考慮をもたらす。
本発明の一実施形態は、第1の発行スロットの組において、複数の保持可能なデータレジスタのロケーションが機能ユニットの個別のデータ入力に位置し、一方、第2の発行スロットの組において、複数の保持可能なデータレジスタのロケーションが機能ユニットの共通データ入力に位置することを特徴とする。この実施形態の利点は、保持可能なレジスタは第2の発行スロットの組の機能ユニットのすべての個別の入力に位置するのではなく、それらの共通入力だけに位置するので、割り込み処理中に保存されるべき状態の量が著しく削減される点である。しかし、第2の発行スロットの組の一つの機能ユニットの使用は、その発行スロットの他の機能ユニットの入力を変化させるので、不必要な電力損失が生じる。全部の発行スロットが使用されていないとき、機能ユニットは電力を消費しない。第1の発行スロットの組では、保持可能なレジスタが電力消費を最適に削減するため機能ユニットのすべての入力に配置され、著しい全体的な電力消費の削減が得られる。さらに、第1および第2の発行スロットの組の保持可能なレジスタは、アーキテクチャに付加的なパイプライン段を形成し、プロセッサがより高いクロック周波数で動くことを可能にさせる。その結果として、電力消費の削減と、性能の改善と、割り込み処理中に保存しなければならない状態の量の削減との間で優れた解決案が達成される。
上記の実施形態の特徴は図面を参照してさらに解明され記述される。
図1を参照すると、概略ブロック図には、発行スロットUC、UC、UCおよびUCを含む複数の発行スロットと、レジスタファイルセグメントRFおよびRFを含む分散レジスタファイルと、を具備したVLIWプロセッサが示されている。プロセッサは、コントローラSQと、レジスタファイルセグメントRFおよびRFと発行スロットUC、UC、UCおよびUCを結合する接続ネットワークCNと、を有する。発行スロットUC、UC、UCおよびUCは第1の命令セットによって使用され、この第1の命令セットは通常のVLIW命令を含む。発行スロットUCは第2の命令セットによって使用される唯一の発行スロットである。第2の命令セットは割り込みサービスルーチンで使用される。
図2を参照すると、概略ブロック図には、発行スロットUC、UCおよびUCが示されている。図3を参照するに、概略ブロック図には、発行スロットUCが示されている。図2および図3の両方を参照すると、各発行スロットは、デコーダDECと、タイムシェイプコントローラTSCと、入力ルーティングネットワークIRNと、出力ルーティングネットワークORNと、機能ユニットFU、FUおよびFUを含む複数の機能ユニットと、を有する。デコーダDECは、タイムシェイプコントローラTSCと、機能ユニットFU、FUおよびFUと、に結合される。入力ルーティングネットワークIRNは機能ユニットFU、FUおよびFUに結合される。出力ルーティングネットワークORNはまた機能ユニットFU、FUおよびFUに結合される。デコーダDECは、各クロックサイクルで発行スロットに供給された演算Oをデコードする。デコードステップの結果はオペランドレジスタインデックスORIであり、図1に示されるように、デコーダDECはそれらのインデックスを接続ネットワークCNへ送る。デコードステップのさらなる結果は結果ファイルインデックスRFIおよびレジスタインデックスRIである。デコーダDECは、これらのインデックスをタイムシェイプコントローラTSCへ送る。タイムシェイプコントローラTSCは、演算が実行されなければならない機能ユニットの入出力動作に応じて、結果ファイルインデックスRFIおよびレジスタインデックスRIを適当な量だけ遅延させる。続いて、タイムシェイプコントローラTSCは、図1に示されるように、結果ファイルインデックスRFIおよびレジスタインデックスRIを接続ネットワークCNへ送る。デコーダDECは、また、演算を実行するため、カップリングSELを使用して機能ユニットFU、FUおよびFUのうちの一つを選択する。さらに、デコーダDECは、カップリングOPTを使用して、実行されるべき演算のタイプに関する情報を機能ユニットFU、FUおよびFUへ送る。入力ルーティングネットワークIRNは、発行スロットUC、UCおよびUC用のオペランドデータODを機能ユニットFU、FUおよびFUの入力へ送る。図1を参照すると、機能ユニットFU、FUおよびFUは、それらの出力データを出力ルーティングネットワークORNへ送り、続いて、出力ルーティングネットワークORNは結果データRDを通信ネットワークCNへ送る。
図2を参照すると、保持可能なレジスタ1−27は、機能ユニットFU、FUおよびFUのデータ入力および制御入力に直接的に設けられる。保持可能なレジスタ1−5、11−15、21および23は、機能ユニットFU、FUおよびFUのデータ入力に配置されるので、保持可能なデータレジスタと呼ばれる。保持可能レジスタ1−27は、機能ユニットが使用されていないとき、機能ユニットFU、FUおよびFUの入力が変化しないようにする。その結果として、組み合わせゲートは切り替えられず、電力損失は生じない。さらに、結果ファイルインデックスRFIおよびレジスタインデックスRIが不必要に変化することを防止し、これにより、不必要な電力損失が生じることを防止するため、保持可能レジスタ29、31および33は、タイムシェイプコントローラTSCの直後に設置される。本実施形態の利点は、電力消費を削減することである。各クロックサイクルに、最大で一つの演算だけが機能ユニットFU、FUおよびFUのうちの一つで開始され、殆どの機能ユニットは単一プロセッササイクルでその演算を終了する。使用されていない機能ユニットの入力が入力ルーティングネットワークIRNまたはデコーダDECを介して送られたデータのために変化するならば、これらの機能ユニットは、たとえ、出力が無関係であるとしても、使用されているときに匹敵する電力を消費する。保持可能なレジスタ1−33を追加すると付加的な状態が作成されるが、その状態は発行スロットUC、UCおよびUCにとって無関係である。割り込み中に、これらの状態は固定するだけでよい。保持可能なレジスタ1−33は面積を追加するだけである。これらのレジスタは、対応する機能ユニットが使用されていない場合、そのレジスタを動作停止状態に保持するためクロックゲーティングを使用することによって、付加的な電力を消費しない。
図3を参照すると、発行スロットUCは、割り込みサービスルーチンで用いられる第2の命令セットによって使用される唯一の発行スロットである。高速割り込み応答を保証するため、割り込み処理中に保存されるべき状態の量を最小限に抑えることが極めて重大である。これは、保持可能なレジスタを機能ユニットFU、FUおよびFUの共通入力に配置することによって達成される。したがって、保持可能レジスタ101、103および105は、発行スロットUCの各機能ユニットFU、FUおよびFUのデータ入力ではなく、発行スロットUCの入力に直接的に置かれる。さらに、保持可能なレジスタ117は、発行スロットUCの各機能ユニットFU、FUおよびFUの入力ではなく、実行されるべき演算OPTのタイプの情報を送るデコーダDECの出力に置かれる。保持可能なレジスタ113および115は、また、タイムシェイプコントローラTSCの出力ではなく、タイムシェイプコントローラTSCの結果ファイルインデックス入力端子およびレジスタインデックス入力端子に置かれ、一つの保持可能なレジスタを節約する。各機能ユニットFU、FUおよびFUの入力における保持可能なレジスタ107、109および111の配置は、これらの機能ユニットの入力がデコーダDECの共通出力に結合されていないので、そのまま変わらない。
保持可能なレジスタを発行スロットUCに配置することの利点は、割り込み中に保存されるべき状態の量が、保持可能なレジスタが発行スロットUC、UCおよびUCに位置するために存在する状態の量よりも著しく減少することである。発行スロットUCのうちの一つの機能ユニットFU、FUおよびFUを使用することにより、発行スロットUCの他の機能ユニットにおける入力を変化させ、これにより、この発行スロットに不必要な電力損失が生じる。発行スロットの全体が使用されていない場合、保持可能なレジスタ101−111および117は、発行スロットUCの機能ユニットFU、FUおよびFUによる電力消費を阻止する。
発行スロットUC、UC、UCおよびUCに対する保持可能なレジスタのロケーションによって、性能の改善と、電力消費の削減と、状態オーバーヘッドの減少との間でうまくバランスを取って考慮できるようになる。多くの割り込みは非常に簡単な割り込みサービスルーチンを必要とするので、限定された第2の発行スロットの組を使用するコンパクトな第2の命令セットだけを必要とする。発行スロットの大規模なサブセットでは、保持可能なレジスタは、電力消費を最適に削減するため図2に示されるように配置可能であり、この結果として、電力消費の著しい全体的な削減が得られる。割り込み処理中に保存されるべき状態の量は、図3に示されるように、第2の命令セットによって使用される保持可能なレジスタを発行スロットに配置することによって非常に低減される。さらに、発行スロットUC、UC、UCおよびUCに追加された保持可能なレジスタは、アーキテクチャに付加的なパイプライン段を形成し、プロセッサをより高いクロック周波数で動作させることが可能である。図1を再度参照すると、発行スロットUC、UC、UCおよびUCに配置された保持可能なレジスタは、既存のデータパスを二つの部分に分割し、データパスの一方の部分を実行するために要する時間を短縮し、プロセッサのクロック周波数を増加させることが可能である。
スーパースカラプロセッサは、また、VLIWプロセッサの場合と同様に、多数の演算を並列で実行できる多数の発行スロットを含む。この欄で記載されたVLIWプロセッサの実施形態の原理は、したがって、スーパースカラプロセッサにも当てはまる。一般に、VLIWプロセッサは、スーパースカラプロセッサよりも多数の発行スロットを有する。VLIWプロセッサのハードウェアは、より優れたスケーラブルアーキテクチャが得られるスーパースカラプロセッサと比べるとそれほど複雑ではない。発行スロットの数、および、各発行スロット内の機能ユニットの数は、特に、本発明による相対的な電力消費の削減量を決定する。
上記の実施形態は、本発明を限定するのではなく、本発明を例示するものであり、当業者は請求項に記載された事項の範囲から逸脱することなく代替的な実施形態を設計可能であることに注意する必要がある。請求項において、括弧内に記載された参照記号は請求項を限定するものとして解釈されるべきではない。語「含む(comprising)」は請求項に列挙されていない要素またはステップを排除しない。要素の前に置かれた冠詞(aまたはan)は、それらの要素が複数個であることを排除しない。幾つかの手段を列挙する装置の発明に係る請求項において、これらの手段の一部は、全く同一のハードウェアによって具現化することができる。一部の手段が相互に異なる従属請求項に記載されているという単なる事実は、これらの手段の組み合わせを使用しても有利にはならないということを示唆するものではない。
VLIWプロセッサの概略ブロック図である。 第1の命令セットだけにより使用される発行スロットUC、UCおよびUCの概略ブロック図である。 割り込み処理中に第2の命令セットによって使用される発行スロットUCの概略ブロック図である。
符号の説明
UC〜UC 発行スロット
CN 接続ネットワーク
SQ コントローラ
RF〜RF レジスタファイルセグメント
DEC デコーダ
TSC タイムシェイプコントローラ
FU〜FU 機能ユニット
IRN 入力ルーティングネットワーク
ORN 出力ルーティングネットワーク

Claims (2)

  1. 第1の複数の機能ユニットと第1の複数の保持可能なレジスタ(1,3,5,7,9,11,13,15,17,19,21,23,25,27)とを有する少なくとも一つの第1の発行スロットと、
    第2の複数の機能ユニットと第2の複数の保持可能なレジスタ(101,103,105,107,109,111,117)とを有する少なくとも一つの第2の発行スロットと、
    前記少なくとも一つの第1の発行スロット及び前記少なくとも一つの第2の発行スロットによりアクセス可能であるレジスタファイルと、
    を含む多重命令発行プロセッサであって、
    前記第1の複数の機能ユニット及び前記第2の複数の機能ユニットのそれぞれが複数の入力端子を有し、
    前記入力端子のそれぞれが、前記第1の機能ユニット及び前記第2の機能ユニットのうち対応するものにより、データ又は前記データの処理の制御のための制御情報を受け取るように動作し、
    前記第1、第2の複数の保持可能なレジスタのそれぞれが、レジスタ入力端子及びレジスタ出力端子を備え、前記レジスタ入力端子において、変化の状態を制御可能に保持するように動作し、
    前記第1の複数の保持可能なレジスタのそれぞれは、前記第1の複数の機能ユニットの前記入力端子の一つに接続された前記レジスタ出力端子を有し、
    前記第2の複数の保持可能なレジスタの少なくとも一つ(101,103,105,117)は、前記少なくとも一つの第2の発行スロットの前記入力端子に接続された前記レジスタ出力端子を有することを特徴とする多重命令発行プロセッサ。
  2. 前記プロセッサは、第1の命令セット及び第2の命令セットの制御の下で、前記データを処理するように動作し、
    前記第1の命令セットは、少なくとも前記第1の発行スロットにおける処理を制御し、
    前記第2の命令セットは、前記第2の発行スロットのみにおける処理を制御することを特徴とする、請求項1に記載の多重命令発行プロセッサ。
JP2003584914A 2002-04-18 2003-04-01 多重命令発行プロセッサ Expired - Fee Related JP4194953B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02076525 2002-04-18
PCT/IB2003/001366 WO2003088038A2 (en) 2002-04-18 2003-04-01 Multi-issue processor

Publications (3)

Publication Number Publication Date
JP2005523499A JP2005523499A (ja) 2005-08-04
JP2005523499A5 JP2005523499A5 (ja) 2007-08-02
JP4194953B2 true JP4194953B2 (ja) 2008-12-10

Family

ID=29225684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003584914A Expired - Fee Related JP4194953B2 (ja) 2002-04-18 2003-04-01 多重命令発行プロセッサ

Country Status (9)

Country Link
US (1) US8095780B2 (ja)
EP (1) EP1499960B1 (ja)
JP (1) JP4194953B2 (ja)
KR (1) KR20040111532A (ja)
CN (1) CN1295597C (ja)
AT (1) ATE472134T1 (ja)
AU (1) AU2003214556A1 (ja)
DE (1) DE60333089D1 (ja)
WO (1) WO2003088038A2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8914615B2 (en) 2011-12-02 2014-12-16 Arm Limited Mapping same logical register specifier for different instruction sets with divergent association to architectural register file using common address format
US9513904B2 (en) 2013-10-15 2016-12-06 Mill Computing, Inc. Computer processor employing cache memory with per-byte valid bits
US9747238B2 (en) * 2014-06-23 2017-08-29 Mill Computing, Inc. Computer processor employing split crossbar circuit for operand routing and slot-based organization of functional units
KR102593320B1 (ko) * 2016-09-26 2023-10-25 삼성전자주식회사 전자 장치, 프로세서 및 그 제어 방법

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4594655A (en) * 1983-03-14 1986-06-10 International Business Machines Corporation (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions
JP2655615B2 (ja) * 1988-12-08 1997-09-24 日本電気株式会社 情報処理装置
US5832202A (en) * 1988-12-28 1998-11-03 U.S. Philips Corporation Exception recovery in a data processing system
US5452401A (en) * 1992-03-31 1995-09-19 Seiko Epson Corporation Selective power-down for high performance CPU/system
US6002880A (en) * 1992-12-29 1999-12-14 Philips Electronics North America Corporation VLIW processor with less instruction issue slots than functional units
JP2987308B2 (ja) * 1995-04-28 1999-12-06 松下電器産業株式会社 情報処理装置
US6510510B1 (en) * 1996-01-25 2003-01-21 Analog Devices, Inc. Digital signal processor having distributed register file
US6026479A (en) * 1998-04-22 2000-02-15 Hewlett-Packard Company Apparatus and method for efficient switching of CPU mode between regions of high instruction level parallism and low instruction level parallism in computer programs
US6317820B1 (en) * 1998-06-05 2001-11-13 Texas Instruments Incorporated Dual-mode VLIW architecture providing a software-controlled varying mix of instruction-level and task-level parallelism
US6192384B1 (en) * 1998-09-14 2001-02-20 The Board Of Trustees Of The Leland Stanford Junior University System and method for performing compound vector operations
GB2343269A (en) 1998-10-30 2000-05-03 Ericsson Telefon Ab L M Processing arrangements
US7114056B2 (en) * 1998-12-03 2006-09-26 Sun Microsystems, Inc. Local and global register partitioning in a VLIW processor
US6745336B1 (en) * 1999-05-20 2004-06-01 Princeton University System and method of operand value based processor optimization by detecting a condition of pre-determined number of bits and selectively disabling pre-determined bit-fields by clock gating
ATE529802T1 (de) * 2000-02-09 2011-11-15 Texas Instruments Inc Datenverarbeitungsvorrichtung
DE10008008C1 (de) 2000-02-22 2001-08-23 Fujitsu Siemens Computers Gmbh Prozessor für die Bearbeitung von Unterbrechungsanforderungen und Prozessor für die Bearbeitung von Ereignissen
JP5185478B2 (ja) 2000-02-29 2013-04-17 富士通セミコンダクター株式会社 パイプライン処理方法並びにその方法を利用するパイプライン処理装置
EP1785862A3 (en) * 2000-02-29 2007-08-15 Fujitsu Limited Method and apparatus for pipeline processing

Also Published As

Publication number Publication date
EP1499960A2 (en) 2005-01-26
ATE472134T1 (de) 2010-07-15
WO2003088038A3 (en) 2003-12-24
WO2003088038A2 (en) 2003-10-23
AU2003214556A8 (en) 2003-10-27
CN1295597C (zh) 2007-01-17
KR20040111532A (ko) 2004-12-31
AU2003214556A1 (en) 2003-10-27
DE60333089D1 (de) 2010-08-05
US20050132170A1 (en) 2005-06-16
JP2005523499A (ja) 2005-08-04
EP1499960B1 (en) 2010-06-23
US8095780B2 (en) 2012-01-10
CN1647032A (zh) 2005-07-27

Similar Documents

Publication Publication Date Title
US6219796B1 (en) Power reduction for processors by software control of functional units
US8650554B2 (en) Single thread performance in an in-order multi-threaded processor
JP3832623B2 (ja) マルチスレッドvliwプロセッサにおいて機能単位を割り当てるための方法および装置
JP2000047872A (ja) 低消費電力動作機能を備えたマイクロプロセッサ
JP3777541B2 (ja) マルチスレッドvliwプロセッサにおけるパケット分割の方法および装置
US20050257027A1 (en) Processing apparatus, processing method and compiler
US6405234B2 (en) Full time operating system
US20060156062A1 (en) Method for effecting the controlled shutdown of data processing units
JP4194953B2 (ja) 多重命令発行プロセッサ
US7290157B2 (en) Configurable processor with main controller to increase activity of at least one of a plurality of processing units having local program counters
WO2007017673A2 (en) Coprocessor support on a computing device
US20020156999A1 (en) Mixed-mode hardware multithreading
Lee et al. A low-power implementation of asynchronous 8051 employing adaptive pipeline structure
US6895494B1 (en) Sub-pipelined and pipelined execution in a VLIW
JP2003208306A (ja) プロセシングアーキテクチャ、該アーキテクチャ実現システム及び該システムのオペレーション方法
JPH09274567A (ja) プログラムの実行制御方法及びそのためのプロセッサ
EP1754143A2 (en) Lower power assembler
WO2004097626A2 (en) Parallel processing system
Yamasaki Responsive multithreaded processor for distributed real-time processing
Jones et al. Compiler directed issue queue energy reduction
Anjam et al. A run-time task migration scheme for an adjustable issue-slots multi-core processor
Anjam et al. On the Implementation of Traps for a Softcore VLIW Processor
Mitu et al. Low-power oriented microcontroller architecture
JP2005516301A (ja) 命令実行方法
Sasaki et al. Dynamic instruction cascading on gals microprocessors

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060403

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061212

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070306

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070313

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070605

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20070605

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080129

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080428

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080508

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080723

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4194953

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111003

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

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

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131003

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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