[go: up one dir, main page]

JP3799041B2 - Vliwプロセッサ - Google Patents

Vliwプロセッサ Download PDF

Info

Publication number
JP3799041B2
JP3799041B2 JP2003581007A JP2003581007A JP3799041B2 JP 3799041 B2 JP3799041 B2 JP 3799041B2 JP 2003581007 A JP2003581007 A JP 2003581007A JP 2003581007 A JP2003581007 A JP 2003581007A JP 3799041 B2 JP3799041 B2 JP 3799041B2
Authority
JP
Japan
Prior art keywords
functional units
register file
communication
functional
unit
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
JP2003581007A
Other languages
English (en)
Other versions
JP2005521936A (ja
Inventor
マルコ ジェイ ジー ベコーエイ
カストルプ ペレイラ ベルナルド オリヴェイラ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JP2005521936A publication Critical patent/JP2005521936A/ja
Application granted granted Critical
Publication of JP3799041B2 publication Critical patent/JP3799041B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3824Operand accessing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
    • G06F9/3828Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage with global bypass, e.g. between pipelines, between clusters
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Description

本発明は、複数の機能ユニット、前記機能ユニットによってアクセス可能な分散レジスタファイル(distributed register file)、及び前記機能ユニットと前記分散レジスタファイルの選択部分とを結合させるための、部分的に接続された通信ネットワークを有するVLIWプロセッサに関する。
超長命令語(VLIW(Very Long Instruction Word))プロセッサにより、プログラムにおいて命令レベルの並列処理(instruction−level parallelism)を行うこと、及びそれ故に一つよりも多くのオペレーションを一度に実行することが可能になる。VLIW命令において、複数及び独立のオペレーションが特定される。VLIWプロセッサは、複数のオペレーションを並列に実行するために一つのセットの独立機能ユニット(independent functional unit)を使用する。
VLIW処理の制約は、制限されたハードウエアリソース、制限された並列処理、及びコードサイズの大きな増加を含むことにある。制限されたハードウエアリソースは、機能ユニット、中央レジスタファイル(central register file)、又は通信ネットワークであってもよい。より多くのリソースを追加することによってこれらの制限を予測することはある程度重大な欠点を有している。機能ユニットの数が増加させられると、メモリサイズ及びレジスタファイルのバンド幅も増加させられなければならない。更にクロック速度の低下及びレジスタファイルの大きさにおける高い費用をもたらすことなくサポートすることが困難なバンド幅を課すために、及びレジスタファイルにアクセスするために、多くの読み出し及び書き込みポート(read and write ports)が必要とされる。レジスタファイルの大きさを増大させることによりクリティカルなタイミングパスがもたらされ、それ故にプロセッサのサイクル期間が制限され得る。更に直接アドレスされ得るレジスタ(directly addressable register)の数が増加させられると、命令の範囲内で複数のレジスタを特定するビットの数も増大させられる。
VLIWプロセッサの拡張性(scalability)は、いくつかのレジスタファイル、すなわち中央レジスタファイルの代わりに分散レジスタファイルを使用することによって改善され得る。分散レジスタファイルの利点は、レジスタファイルセグメント(segmant)毎に少ない読み出し及び書き込みポートしか必要とされず、それによって、より小さなレジスタファイルバンド幅がもたらされることにある。機能ユニットと分散レジスタファイルとは通信ネットワークによって結合され、それにより、機能ユニットによって生成されるデータが分散レジスタファイルに伝送され得る。通常この通信ネットワークは部分的に接続される。すなわち、完全に接続された通信ネットワークの使用は、コードサイズ及び消費電力の点であまりに高価であると共にクロック周波数の低下ももたらすため、全ての機能ユニットが全てのレジスタファイルセグメントに結合されるわけではない。
分散レジスタファイル及び部分的に接続された通信ネットワークを備えるVLIWプロセッサの場合、全ての機能ユニット出力部から全ての機能ユニット入力部への通信パスがもたらされることは保証され得ない。それ故にいくつかのアプリケーションが当該VLIWプロセッサ上で実行されることは不可能となることが分かり得る。
本発明の目的は、各々の機能ユニット出力部と各々の機能ユニット入力部との間に通信パスをもたらすことが可能である、分散レジスタファイル及び部分的に接続された通信ネットワークを有するVLIWプロセッサアーキテクチャを提供することにある。
当該目的は、VLIWプロセッサが、機能ユニットと分散レジスタファイルとを結合させるための通信手段を更に有することを特徴とする、もたらされる種類のVLIWプロセッサで達成される。
前記通信手段は、部分的に接続された通信ネットワークを介することが不可能な場合、機能ユニット出力部から機能ユニット入力部に値を転送することを可能にする。このように各々の機能ユニット出力部と各々の機能ユニット入力部との間の通信パスが保証される。可能ならば、部分的に接続された通信ネットワークを介した通信は好ましい。部分的に接続された通信ネットワークと通信手段との組み合わせによって、完全に接続された通信ネットワークを備えるVLIWプロセッサアーキテクチャと比較して、より低い通信オーバヘッドを有し、より高いクロック周波数で動作し、より優れた拡張性を有するVLIWプロセッサアーキテクチャがもたらされ得る。
本発明の実施例は、前記通信手段がマルチプレクサ及びバスを有し、前記マルチプレクサは前記機能ユニットと前記バスとを結合させるために構成され、前記バスは前記マルチプレクサと前記分散レジスタファイルとを結合させるために構成されることを特徴とする。バスの利点は、完全に接続された通信ネットワークと比較されると、シリコン領域の点でオーバヘッド(overhead)が比較的低いことにある。
本発明の実施例は、通信手段が第一のレイテンシ(latency)、すなわちバスに値を書き込み、自身を通過して、自身の出力部で検出される期間の長さでの通信に対して構成され、部分的に接続された通信ネットワークが第二のレイテンシでの通信に対して構成され、第一のレイテンシは第二のレイテンシを超えていることを特徴とする。多くの機能ユニットの場合、通信手段において使用される制御論理部は通信を遅くさせるであろう。このことにより、プロセッサのクロック周波数が制限されるであろう。通信手段を介した通信をいくつかのシーケンシャルステップに分割し、その各々が一つのクロックサイクルにおいて行われることにより、このことは防止され得る。当該実施例の利点は、通信における一つのステップのレイテンシが低く保持され得るので、通信手段を介した通信はプロセッサのクロック周波数を制限しないことにある。更に高いスループットが実現され得る。全ての別個のステップのレイテンシの総和となる、通信手段を介した通信のレイテンシの合計は、部分的に接続された通信ネットワークを介した通信のレイテンシよりも高くなるであろう。しかしながら、通信の大部分は部分的に接続された通信ネットワークを介してなされるため、通信手段を介した通信のより高いレイテンシはプロセッサの動作全体にほとんど影響を及ぼさないであろう。
本発明の実施例は、バスが少なくとも一つのパイプラインレジスタを有することを特徴とする。その結果、バスを介した通信は、各々が低いレイテンシを有するいくつかの連続したステップで行われるであろう。当該実施例の利点は、より高速のプロセッササイクルが実現され得るのでプロセッサのクロック周波数が増大させられ得ると共に、より高いスループットが実現され得ることにある。その結果、バスを介した通信のレイテンシの増大がもたらされるであろう。
本発明の実施例は、マルチプレクサが少なくとも一つのレジスタを有することを特徴とする。当該実施例の利点は、最大クロック周波数で動作するプロセッサが可能になることにある。その結果、通信手段を介した通信のレイテンシの増大がもたらされるであろう。
本発明の実施例は、VLIWプロセッサが、第一の複数の機能ユニット及び第二の複数の機能ユニットを有し、第一の伝送ユニットは、前記第一の複数の機能ユニットに関連する前記分散レジスタファイルのうちの一つから、前記第二の複数の機能ユニットに関連する前記分散レジスタファイルのうちの一つにデータを伝送するための前記第一の複数の機能ユニットのうちの一つに関連し、第二の伝送ユニットは、前記第二の複数の機能ユニットに関連する前記分散レジスタファイルのうちの一つから、前記第一の複数の機能ユニットに関連する前記分散レジスタファイルのうちの一つにデータを伝送するための前記第二の複数の機能ユニットのうちの一つに関連することを特徴とする。当該実施例の利点は、プロセッサの拡張性が改善されることにある。プロセッサの物理設計(physical design)の間、機能ユニットの数が増加させられるにつれ通信手段は設計にますます多くの制約を課すであろう。プロセッサアーキテクチャを少なくとも二つの機能ユニットに分割することによって、各々の複数の機能ユニットの通信手段のディメンション及び対応するオーバヘッドは制御され得る。
本発明の実施例は、伝送ユニットが、関連する機能ユニットの一部になっていることを特徴とする。当該実施例の利点は、別個の伝送ユニットが必要とされず、それ故にシリコン領域及び通信接続部が節減されることにある。
本発明の実施例は、通信手段が、機能ユニットと分散レジスタファイルの全ての部分とを結合させることにある。本発明の実施例の利点は、機能ユニット出力部と分散レジスタファイルの全ての部分とが結合され、それ故にプロセッサの柔軟性が増大させられることにある。
記載の実施例の特徴は、図面を参照して更に説明されると共に記載されるであろう。
図1を参照すると、概略ブロック図が、複数の機能ユニット1、3、5、及び7を有するVLIWプロセッサを示している。プロセッサは、レジスタファイルセグメント9、11、13、及び15を含む分散レジスタファイルを有する。機能ユニット1及び3はレジスタファイルセグメント9から読み出し、機能ユニット5はレジスタファイルセグメント11及び13から読み出し、機能ユニット7はレジスタファイルセグメント15から読み出し得る。
プロセッサは、機能ユニット1、3、5、及び7と選択された分散レジスタファイルセグメント9、11、13、及び15とを結合させるための、部分的に接続された通信ネットワーク17を含む。部分的に接続された通信ネットワーク17はマルチプレクサ19、21、23、25、及び27を有する。
更にプロセッサは、機能ユニット1、3、5、及び7と全ての分散レジスタファイルセグメント9、11、13、及び15とを結合させるための通信デバイス29を有する。通信デバイス29は、マルチプレクサ19、21、23、25、及び27を有する。
通信デバイス29は、部分的に接続された通信ネットワーク17を介することが不可能な場合、機能ユニット1、3、5、及び7から分散レジスタファイルセグメント9、11、13、及び15に値を転送することを可能にする。このように機能ユニット1、3、5、及び7の各々の出力部と機能ユニット1、3、5、及び7の各々の入力部との間に通信パスがもたらされることは保証される。例えば機能ユニット1は、部分的に接続された通信ネットワーク17を介してレジスタファイルセグメント15に結合されず、通信デバイス29を介してのみレジスタファイルセグメント15に結合される。可能ならば、部分的に接続された通信ネットワーク17を介した通信が好ましい。
好ましくは通信デバイス29は、第一のレイテンシを備える通信のために構成され、部分的に接続された通信ネットワーク17は、第二のレイテンシを備える通信のために構成され、第一のレイテンシは第二のレイテンシを超えている。当該実施例の利点は、通信デバイス29を介した通信がレート制限するステップ(rate−limiting step)になることは防止されるので、プロセッサが最大クロック周波数で動作させられ得ることにある。更に高スループットが実現される。通常、通信デバイス29は共有された通信メカニズムの形態を有する。それ故に通信デバイス29を介した通信は自身の制御論理によって、特に多くの機能ユニットの場合に遅くさせられ得る。通信デバイスを介した通信をいくつかのシーケンシャルステップに分割し、その各々が一つのクロックサイクルにおいて行われることにより、一つの通信ステップのレイテンシは低く保持される。これにより、通信デバイスを介した通信がプロセッサのクロック周波数を制限することは防止される。全ての別個のステップのレイテンシの総和になる、通信デバイスを介した通信のレイテンシの合計は、部分的に接続された通信ネットワークを介した通信のレイテンシよりも高くなるであろう。しかしながら、大部分の通信は部分的に接続された通信ネットワークを介して行われるため、通信デバイスを介した通信のより高いレイテンシは、プロセッサの動作全体にほとんど影響を及ぼさないであろう。
有利な実施例において通信デバイス29は、マルチプレクサ31及びグローバルバス(global bus)33を有し、マルチプレクサは機能ユニット1、3、5、及び7とグローバルバス33とを結合させるために構成され、グローバルバス33はマルチプレクサ31と全ての分散レジスタファイルセグメント9、11、13、及び15とを結合させるために構成される。複数の機能ユニット1、3、5、及び7がグローバルバス33に結合されていると共にこれらの機能ユニットはグローバルバスを時多重(timemultiplex)しているのに対して、部分的に接続された通信ネットワーク17は一つの機能ユニットを一つのレジスタファイルセグメントに結合している点で、グローバルバス33は、部分的に接続された通信ネットワーク17と異なる。グローバルバスの利点は、完全に接続された通信ネットワークと比較して、シリコン領域の点でオーバヘッドが比較的低くなることにある。
好ましくはグローバルバス33はパイプラインレジスタ35を有する。その結果、グローバルバス33を介した通信はいくつかの連続したステップでもたらされ、各々のステップは低いレイテンシを有するであろう。当該実施例の利点は、より高速のプロセッササイクルが可能になるので、プロセッサのクロック周波数が増加させられ得ると共に、より高いスループットが可能になることにある。その結果、部分的に接続された通信ネットワーク17を介した通信と比較して、グローバルバス33を介した通信のレイテンシの増大がもたらされるであろう。いくつかの実施例において、マルチプレクサ31はレジスタを有する。当該実施例の利点は、最大クロック周波数で動作するプロセッサも可能にすることにある。その結果、通信デバイスを介した通信のレイテンシの増大ももたらされるであろう。
機能ユニットは、機能ユニット7の場合、一つのレジスタファイルセグメントに結合され、又は機能ユニット5の場合、複数のレジスタファイルセグメントに結合され、若しくは機能ユニット1及び3の場合、複数の機能ユニットは一つのレジスタファイルセグメントに結合され得る。レジスタファイルセグメントは、レジスタファイルセグメント15の場合、一つの機能ユニットに結合され、又はレジスタファイルセグメント9の場合、複数の機能ユニットに結合され得る。レジスタファイルセグメントと機能ユニットとの間の結合度は、機能ユニットが動作させられなければならないオペレーションの種類に依存し得る。
図1に示されている実施例において、部分的に接続された通信ネットワーク17と通信デバイス29とはいくつかのリソースを共有している。いくつかの実施例において、ずっと多くのリソースが共有されてもよいし、又は全くリソースが共有されなくてもよい。
図2を参照すると、概略ブロック図が、機能ユニット105及び107を有する第一の複数の機能ユニット101を有するVLIWプロセッサを示している。プロセッサは、機能ユニット109、111、及び113を有する第二の複数の機能ユニット103を更に有する。プロセッサは、第一の複数の機能ユニット101のためのレジスタファイルセグメント115、117、119、及び121と第二の複数の機能ユニット103のためのレジスタファイルセグメント123、125、127、129、131、及び133とを含む分散レジスタファイルを有する。機能ユニット105はレジスタファイルセグメント115及び117から読み出し、機能ユニット107はレジスタファイルセグメント119及び121から読み出し、機能ユニット109はレジスタファイルセグメント123及び125から読み出し、機能ユニット111はレジスタファイルセグメント127及び129から読み出し、機能ユニット113はレジスタファイルセグメント131及び133から読み出し得る。
プロセッサは、マルチプレクサ135、137、139、及び141を有する第一の複数の機能ユニット101の第一の部分的に接続された通信ネットワーク155と、マルチプレクサ143、145、147、149、151、及び153を有する第二の複数の機能ユニット103の第二の部分的に接続された通信ネットワーク157とを有する。記載されている実施例において、部分的に接続された通信ネットワーク155及び157は、機能ユニット105、107、109、111、及び113と、分散レジスタファイル115、117、119、121、123、125、127、129、131、及び133の選択されたセグメントとを結合させるために結合される。この結合は結合部159及び161によって表されている。
更に第一の複数の機能ユニット101は、機能ユニット105及び107と全ての分散レジスタファイルセグメント115、117、119、及び121とを結合させるための第一の通信デバイス163を有する。第一の通信デバイス163は、マルチプレクサ135、137、139、141、及び165を有する。第二の複数の機能ユニット103は、機能ユニット109、111、及び113と全ての分散レジスタファイルセグメント123、125、127、129、131、及び133とを結合させるための第二の通信デバイス167を有する。第二の通信デバイス167は、マルチプレクサ143、145、147、149、151、153、及び169を有する。当該実施例の利点は、プロセッサの拡張性が改善されることにある。機能ユニットの数が増加させられるにつれ通信デバイスはプロセッサの物理設計にますます多くの制約を課すであろう。プロセッサアーキテクチャを少なくとも二つの機能ユニットに分割することによって、各々の複数の機能ユニットの通信デバイスのディメンション及び対応するオーバヘッドは制御され得る。
有利な実施例において、第一の複数の機能ユニット101は、機能ユニット107に関連する第一の伝送ユニット171を有する。第一の伝送ユニット171はレジスタファイルセグメント121からデータを読み出し得る。第一の伝送ユニット171と第二の通信デバイス167とは接続部175を介して結合される。第二の複数の機能ユニット103は、機能ユニット113と関連する第二の伝送ユニット173を有する。第二の伝送ユニット173はレジスタファイルセグメント133からデータを読み出し得る。第二の伝送ユニット173と第一の通信デバイス163とは接続部177を介して結合される。第一の伝送ユニット171により、レジスタファイルセグメント121から第二の通信デバイス167にデータが伝送され得る。第二の伝送ユニット173により、レジスタファイルセグメント133から第一の通信デバイス163にデータが伝送され得る。当該実施例の利点は、第一の複数の機能ユニット101の何れの機能ユニットの出力部から第二の複数の機能ユニット103の何れの機能ユニットの入力部にも値が常に伝送され得ると共に、第二の複数の機能ユニット103の何れの機能ユニットの出力部から第一の複数の機能ユニット101の何れの機能ユニットの入力部にも値が常に伝送され得ることにある。例えば、結合された部分的に接続された通信ネットワーク155及び157を介して第一の複数の機能ユニット101の一つの機能ユニットの出力部から第二の複数の機能ユニット103の一つの機能ユニットの入力部に値が伝送され得ない場合、当該値は第一の通信デバイス163を介して機能ユニット105及び107の出力部からレジスタファイルセグメント121に伝送され得る。その後、第一の伝送ユニット171は第二の通信デバイス167に値を伝送し得る。値は、マルチプレクサ143、145、147、149、151、及び153と分散レジスタファイルセグメント123、125、127、129、131、及び133とを介して第二の複数の機能ユニット103の機能ユニットの入力部に更に伝送される。レジスタファイルセグメント及び機能ユニットの出力部は、部分的に接続された通信ネットワーク及びマルチプレクサを介して通常直接結合されるため、異なる複数の機能ユニットのうちの機能ユニットの間の通信は、好ましくは結合された部分的に接続された通信ネットワーク155及び157を介して行われる。しかしながらこのことが不可能である場合、伝送ユニットにより、異なる複数の機能ユニットに関連する機能ユニットの間の通信は可能になる。通信デバイス及び伝送ユニットを介した、異なる複数の機能ユニットの機能ユニットの間の通信の場合、より多くの通信ステップが含まれ、それ故に通信期間が増大させられる。
いくつかの実施例において、伝送ユニット171及び173は、部分的に接続された通信ネットワーク155及び157にそれぞれ結合される。第一の伝送ユニット171は第二の複数の機能ユニット103のレジスタファイルセグメントに値を伝送し得ると共に、第二の伝送ユニット173は第一の複数の機能ユニット101のレジスタファイルセグメントに値を伝送し得る。例えば第一の伝送ユニット171は、第一の部分的に接続された通信ネットワーク155、接続部159、及び第二の部分的に接続された通信ネットワーク157を介して第二の複数の機能ユニット103のレジスタファイルセグメントに値を伝送し得る。結合された部分的に接続された通信ネットワーク155及び157を介して結合がもたらされないために、第一の伝送ユニット171が第二の複数の機能ユニット103の特定のレジスタファイルセグメントに値を伝送し得ない場合、値は、結合された部分的に接続された通信ネットワーク155及び157を介して第一の伝送ユニット171に結合される第二の複数の機能ユニット103のレジスタファイルセグメントに伝送され得る。その後、前記値が伝送されるレジスタファイルセグメントに関連する第二の複数の機能ユニット103の機能ユニットは、部分的に接続された通信ネットワーク157を介して第二の複数の機能ユニット103の、目的のレジスタファイルセグメントに前記値を伝送し得る。当該実施例の利点は、接続部175及び177が省略され得るため、シリコン領域は節減されることにある。通信オーバヘッドはより大きくなり得るが、伝送ユニット171及び173を介して値を伝送することはほとんど起きないことが予測される場合、このことは許容可能である。
いくつかの実施例において、伝送ユニット171及び173は、部分的に接続された通信ネットワーク155及び157にそれぞれ結合される。第一の伝送ユニット171は第二の通信デバイス167に値を伝送し得ると共に、第二の伝送ユニット173は第一の通信デバイス163に値を伝送し得る。例えば第一の伝送ユニット171は、第一の部分的に接続された通信ネットワーク155、接続部159、及び第二の部分的に接続された通信ネットワーク157を介して第二の複数の機能ユニット103に関連するレジスタファイルセグメント123、125、127、129、131、及び133に値を伝送し得る。その後、第二の複数の機能ユニット103に関連すると共に、前記値が伝送されるレジスタファイルセグメントに関連する機能ユニット109、111、及び113は、第二の通信デバイス167に前記値を伝送し得る。最終的に前記値は、第二の複数の機能ユニット103の目的の機能ユニットの入力部に更に伝送される。当該実施例の利点は、接続部175及び177が省略され得るため、シリコン領域は節減されることにある。通信オーバヘッドはより大きくなり得るが、伝送ユニット171及び173を介して値を伝送することはほとんど起きないことが予測される場合、このことは許容可能である。
図2に記載の実施例において、伝送ユニット171及び173は、機能ユニット107及び113に関連する別個のユニットである。いくつかの実施例において、伝送ユニットは、レジスタファイルセグメントから値を伝送することを可能にする当該機能ユニットに更なるオペレーションを追加することによって、関連する機能ユニットの一部になり得る。
機能ユニット105、107、109、111、及び113の場合のように、機能ユニットは二つのレジスタファイルセグメントに結合され得る。レジスタファイルセグメントは、一つの機能ユニット又は複数の機能ユニットに結合され得る。レジスタファイルセグメントと機能ユニットとの間の結合度は、機能ユニットが動作させられなければならないオペレーションの種類に依存し得る。
本発明の保護範囲は上述の実施例に限定されるものではなく、当業者が特許請求の範囲からはずれることなく多くの代わりの実施例を設計することができることは注目されるべきである。請求項において、括弧の間に置かれる請求項の参照記号は、いずれも当該請求項の保護範囲を限定するものではない。単語“有する”は、請求項に記述される構成要素以外に構成要素又はステップの存在を排除するものではない。構成要素に先行する冠詞“a”又は“an”は、複数の構成要素を排除するものではない。いくつかの手段を列挙するデバイスの請求項において、いくつかのこれらの手段は、ハードウエアの一つ及び同じ構成要素によって具現化されることが可能である。ある手段が相互に異なる従属請求項で再び引用されるという事実は、これらの手段の組み合わせが効果的に使われ得ないことを示すものではないということに過ぎない。
本発明の実施例に関連する、一つの機能ユニットを有するVLIWプロセッサの概略図である。 本発明の実施例に関連する、二つの機能ユニットを有するVLIWプロセッサの概略図である。

Claims (8)

  1. 複数の機能ユニットと、
    前記機能ユニットによってアクセス可能な分散レジスタファイルと、
    前記機能ユニットと前記分散レジスタファイルの選択された部分とを結合させるための、部分的に接続された通信ネットワークと
    を有するVLIWプロセッサにおいて、前記機能ユニットと前記分散レジスタファイルとを結合させるための通信手段を更に有することを特徴とするVLIWプロセッサ。
  2. 前記通信手段がマルチプレクサ及びバスを有し、前記マルチプレクサは前記機能ユニットと前記バスとを結合させるために構成され、前記バスは前記マルチプレクサと前記分散レジスタファイルとを結合させるために構成される請求項1に記載のVLIWプロセッサ。
  3. 前記通信手段は、第一のレイテンシを備える通信のために構成され、前記部分的に接続された通信ネットワークは、第二のレイテンシを備える通信のために構成され、前記第一のレイテンシは前記第二のレイテンシを超えている請求項1に記載のVLIWプロセッサ。
  4. 前記バスが、少なくとも一つのパイプラインレジスタを有する請求項2に記載のVLIWプロセッサ。
  5. 前記マルチプレクサが、少なくとも一つのレジスタを有する請求項2に記載のVLIWプロセッサ。
  6. 第一の複数の機能ユニット及び第二の複数の機能ユニットを有し、
    第一の伝送ユニットは、前記第一の複数の機能ユニットに関連する前記分散レジスタファイルのうちの一つから、前記第二の複数の機能ユニットに関連する前記分散レジスタファイルのうちの一つにデータを伝送するための前記第一の複数の機能ユニットのうちの一つに関連し、
    第二の伝送ユニットは、前記第二の複数の機能ユニットに関連する前記分散レジスタファイルのうちの一つから、前記第一の複数の機能ユニットに関連する前記分散レジスタファイルのうちの一つにデータを伝送するための前記第二の複数の機能ユニットのうちの一つに関連する
    請求項1に記載のVLIWプロセッサ。
  7. 前記伝送ユニットは、前記各々関連する機能ユニットの部分になる請求項6に記載のVLIWプロセッサ。
  8. 前記通信手段が、前記機能ユニットと前記分散レジスタファイルの全ての部分とを結合させる請求項1に記載のVLIWプロセッサ。
JP2003581007A 2002-03-28 2002-03-28 Vliwプロセッサ Expired - Fee Related JP3799041B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2002/000983 WO2003083649A1 (en) 2002-03-28 2002-03-28 Vliw processor

Publications (2)

Publication Number Publication Date
JP2005521936A JP2005521936A (ja) 2005-07-21
JP3799041B2 true JP3799041B2 (ja) 2006-07-19

Family

ID=28460316

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003581007A Expired - Fee Related JP3799041B2 (ja) 2002-03-28 2002-03-28 Vliwプロセッサ

Country Status (4)

Country Link
US (1) US7287151B2 (ja)
JP (1) JP3799041B2 (ja)
KR (1) KR100947446B1 (ja)
WO (1) WO2003083649A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0215028D0 (en) * 2002-06-28 2002-08-07 Critical Blue Ltd Microarchitecture description
WO2005036384A2 (en) * 2003-10-14 2005-04-21 Koninklijke Philips Electronics N.V. Instruction encoding for vliw processors
US20070073999A1 (en) * 2005-09-28 2007-03-29 Verheyen Henry T Hardware acceleration system for logic simulation using shift register as local cache with path for bypassing shift register
US20080046689A1 (en) * 2006-08-21 2008-02-21 Tien-Fu Chen Method and apparatus for cooperative multithreading
US7669041B2 (en) * 2006-10-06 2010-02-23 Stream Processors, Inc. Instruction-parallel processor with zero-performance-overhead operand copy
US20100332798A1 (en) * 2009-06-29 2010-12-30 International Business Machines Corporation Digital Processor and Method
CN103955353B (zh) * 2014-05-05 2017-01-18 中国人民解放军国防科学技术大学 具有面向全分布式超长指令字的高能效局部互连结构的装置
US20230409336A1 (en) * 2022-06-17 2023-12-21 Advanced Micro Devices, Inc. VLIW Dynamic Communication
US12141583B2 (en) * 2022-09-13 2024-11-12 Arm Limited Register reorganisation by changing a mapping between logical and physical registers based on upcoming operations and an incomplete set of connections between the physical registers and execution units

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69130723T2 (de) * 1990-10-05 1999-07-22 Koninklijke Philips Electronics N.V., Eindhoven Verarbeitungsgerät mit Speicherschaltung und eine Gruppe von Funktionseinheiten
US5974537A (en) * 1997-12-29 1999-10-26 Philips Electronics North America Corporation Guard bits in a VLIW instruction control routing of operations to functional units allowing two issue slots to specify the same functional unit
US6629232B1 (en) * 1999-11-05 2003-09-30 Intel Corporation Copied register files for data processors having many execution units
EP1161722A1 (en) * 2000-01-14 2001-12-12 Jean-Paul Theis A data processing device with distributed register file
EP1124181B8 (en) * 2000-02-09 2012-03-21 Texas Instruments Incorporated Data processing apparatus
AU2001245520A1 (en) * 2000-03-08 2001-09-17 Sun Microsystems, Inc. Vliw computer processing architecture having a scalable number of register files
JP4884634B2 (ja) * 2000-03-10 2012-02-29 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ処理装置、データ処理装置を動作させる方法及びプログラムをコンパイルする方法
US6757807B1 (en) * 2000-08-18 2004-06-29 Sun Microsystems, Inc. Explicitly clustered register file and execution unit architecture
US20020120915A1 (en) * 2000-10-13 2002-08-29 Khan Shoab A. Combined scheduling and mapping of digital signal processing algorithms on a VLIW processor
JP2006520957A (ja) * 2003-03-19 2006-09-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ マルチプロセッサシステムのタイプ変換ユニット

Also Published As

Publication number Publication date
JP2005521936A (ja) 2005-07-21
KR20040101343A (ko) 2004-12-02
US7287151B2 (en) 2007-10-23
KR100947446B1 (ko) 2010-03-11
US20050210219A1 (en) 2005-09-22
WO2003083649A1 (en) 2003-10-09

Similar Documents

Publication Publication Date Title
JP4128956B2 (ja) デュアル・インライン・メモリモジュール・フォーマットにおいて一連のマルチアダプティブプロセッサを採用したクラスタ型コンピュータ用スイッチ/ネットワークアダプタポート
US5689719A (en) Parallel computer system including processing elements
JP5363064B2 (ja) ネットワーク・オン・チップ(noc)上のソフトウェア・パイプライン化の方法、プログラムおよび装置
US7861065B2 (en) Preferential dispatching of computer program instructions
US10521234B2 (en) Concurrent multiple instruction issued of non-pipelined instructions using non-pipelined operation resources in another processing core
US20090182987A1 (en) Processing Unit Incorporating Multirate Execution Unit
US9092257B2 (en) Vector execution unit with prenormalization of denormal values
US20090125703A1 (en) Context Switching on a Network On Chip
US20090307714A1 (en) Network on chip with an i/o accelerator
US20080307422A1 (en) Shared memory for multi-core processors
JP5232019B2 (ja) 複数のプロセッサコア用の装置、システム、及び方法
KR100951856B1 (ko) 멀티미디어 시스템용 SoC 시스템
JP3799041B2 (ja) Vliwプロセッサ
JP2008310832A (ja) 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法
KR100450680B1 (ko) 버스 대역폭을 증가시키기 위한 메모리 컨트롤러, 이를이용한 데이터 전송방법 및 이를 구비하는 컴퓨터 시스템
US6694385B1 (en) Configuration bus reconfigurable/reprogrammable interface for expanded direct memory access processor
JP5382736B2 (ja) トークンプロトコル
US8171259B2 (en) Multi-cluster dynamic reconfigurable circuit for context valid processing of data by clearing received data with added context change indicative signal
US20060218375A1 (en) System and method of transferring data between a massive number of processors
JP2009282917A (ja) サーバ間通信機構及びコンピュータシステム
US7107432B2 (en) VLIW processor with data spilling means
JP2007034392A (ja) 情報処理装置及びデータ処理方法
US7376777B2 (en) Performing an N-bit write access to an M×N-bit-only peripheral
US20040193823A1 (en) Apparatus and method to switch a FIFO between strobe sources
JP5112627B2 (ja) プロセッサ・アーキテクチャ

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060320

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060421

R150 Certificate of patent or registration of utility model

Ref document number: 3799041

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 4

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

Year of fee payment: 5

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

Year of fee payment: 6

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

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20120428

Year of fee payment: 6

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

Year of fee payment: 6

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

Year of fee payment: 6

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

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120428

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130428

Year of fee payment: 7

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