(57)【特許請求の範囲】
【請求項１】
マルチスレッド超長命令語プロセッサであって、
マルチスレッド命令ストリームから命令を実行するための複数の機能単位と、
前記機能単位のうちの少なくとも１つによって実行される現在実行されつつある命令が指示に応じて完了した時、該機能単位のうちの少なくとも１つを別のスレッドに割り当て直す機能単位解放機構であって、前記指示が、前記現在実行されつつある命令が完了するであろう時刻を示すものである機能単位解放機構を含むマルチスレッド超長命令語プロセッサ。
【請求項２】
前記機能単位解放機構は、各機能単位が占有されるサイクルの数を監視する請求項１に記載のマルチスレッド超長命令語プロセッサ。
【請求項３】
前記少なくとも１つの機能単位は状態マシンを含み、状態情報を維持する請求項１に記載のマルチスレッド超長命令語プロセッサ。
【請求項４】
前記状態マシンは、前記少なくとも１つの機能単位が多数サイクルの命令によって占有されるサイクルの数を監視する請求項３に記載のマルチスレッド超長命令語プロセッサ。
【請求項５】
前記機能単位解放機構は、前記少なくとも１つの機能単位がアイドルである時を検出する請求項３に記載のマルチスレッド超長命令語プロセッサ。
【請求項６】
マルチスレッド超長命令語プロセッサにおいてマルチスレッド命令ストリームから命令を処理する方法であって、
複数の機能単位を使用して前記命令を実行するステップと、
前記機能単位のうちの少なくとも１つによって実行される現在実行されつつある命令が指示に応じて完了した時に前記機能単位のうちの少なくとも１つを別のスレッドに割り当て直すステップであって、前記指示が、前記現在実行されつつある命令が完了するであろう時刻を示すものであるステップとを含む方法。
【請求項７】
前記割り当て直すステップはさらに、
各機能単位が占有されるサイクルの数を監視するステップを含む請求項６に記載の方法。
【請求項８】
前記少なくとも１つの機能単位に関する状態情報を維持するステップをさらに含む請求項６に記載の方法。
【請求項９】
前記状態情報は、前記少なくとも１つの機能単位が多数サイクルの命令によって占有されるサイクルの数を含む請求項８に記載の方法。
【請求項１０】
前記割り当て直すステップは、前記少なくとも１つの機能単位がアイドルである時を検出する請求項８に記載の方法。
【請求項１１】
マルチスレッド超長命令語プロセッサ内で複数のスレッドを有する命令ストリームから命令を処理するための装置であって、
その上に記録されたコンピュータ読み取り可能プログラムを有するコンピュータ読み取り可能媒体を含み、該コンピュータ読み取り可能プログラムは、コンピュータに、
複数の機能単位を使用して前記命令を実行させる手順と、
前記少なくとも１つの機能単位によって実行される現在実行されつつある命令が指示に応じて完了した時に前記機能ユニットのうちの少なくとも１つを別のスレッドに割り当て直させる手順であって、前記指示が、前記現在実行されつつある命令が完了するであろう時刻を示すものである手順とを実行させるようになっている装置。
【請求項１２】
前記コンピュータ読み取り可能プログラムが、さらに、コンピュータに、
前記少なくとも１つの機能単位が占有されるであろうサイクルの数を監視する手順を実行させるようになっている請求項１１に記載の装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般にマルチスレッドプロセッサに関し、特に、このようなマルチスレッドプロセッサ内で機能単位を解放するための方法および装置に関する。
【０００２】
【従来の技術】
コンピュータアーキテクチャの設計は、さらに早くワークロードを完了しようと試みている。プログラムの平行処理を使用するための、多くのアーキテクチャ設計が提案または提言されてきた。一般に、一度に複数の動作を開始できるアーキテクチャは、一度に１つの動作しか開始できないアーキテクチャよりも早くプログラムを実行できる。コンピュータアーキテクチャにおけるもっとも最近の発展は、一度に１つ以上の動作を開始し、それによってプログラム動作の速度を上げる方法に向けられてきた。図１は、従来のマイクロプロセッサのアーキテクチャ１００を示す。具体的には、マイクロプロセッサ１００はプログラムカウンタ（ＰＣ）１１０、レジスタセット１２０、および多くの機能単位（ＦＵ）１３０−Ｎを含む。冗長機能単位（ＦＵ）１３０―１〜１３０―Ｎは、例としてのマイクロプロセッサのアーキテクチャ１００に十分なハードウェアリソースを提供して、対応する数の動作を並列的に実行する。
【０００３】
プログラム内で平行処理を使用するアーキテクチャは、一度に複数の機能単位にオペランドを発行して、プログラム実行の速度を上げる。スーパースカラープロセッサ、超長命令語（ＶＬＩＷ）プロセッサ、およびマルチスレッドプロセッサを含む、並列アーキテクチャを伴う多くのアーキテクチャが提案または提言されており、各々はそれぞれ、図２、図４、および図５と共に下記に説明される。一般に、スーパースカラープロセッサは実行時にハードウェアを使用して、単一の命令ストリームからの多くの動作が独立しているか否かを動的に決定し、独立している場合は、プロセッサは並列演算論理機構（ＡＬＵ）を使用して命令を実行する。ソースオペランドがそれに先行する命令の宛先オペランドに依存していない場合、２つの命令は独立していると言われる。超長命令語（ＶＬＩＷ）プロセッサは、依存性の情報に基づいてコンパイル中に命令を評価し、動作を適切にグループ分けし、並列実行する。他方マルチスレッドプロセッサは、単一の命令ストリーム内で並列処理を使用しようと試みるのではなく、複数の命令ストリームを並列に実行する。
【０００４】
図２に示されたスーパースカラープロセッサのアーキテクチャ２００は、各々に有効なデータが提供された場合、独立して動作する多くの機能単位を有する。たとえば図２に示されたように、スーパースカラープロセッサ２００は演算論理機構（ＡＬＵ）２３０―Ｎとして具現化された３つの機能単位を有し、その各々は同時に結果を計算できる。スーパースカラープロセッサ２００は、命令フェッチブロック２１０、命令復号ブロック２１５、および命令順序付けユニット２２０（発行ブロック）を有するフロントエンド部２０８を含む。命令フェッチブロック２１０は単一スレッドの命令ストリームの入力待ち行列２０５から命令を得る。命令順序付けユニット２２０は、知られた方法で使用可能な演算論理機構（ＡＬＵ）２３０―Ｎの中で同時に実行できる独立した命令を識別する。詳細化ブロック２５０は命令が完了することを可能にし、バッファ化および再順序付けを提供して、結果をレジスタセット２４０に書き込んで戻す。
【０００５】
図３に示されたプログラムフラグメント３１０の中で、命令Ｌ２およびＬ３の中にあるソースオペランドのいずれもそれに先行する任意の命令の宛先オペランドに依存していないという点で、場所Ｌ１、Ｌ２、およびＬ３にある命令は独立している。プログラムカウンタ（ＰＣ）が場所Ｌ１に設定されている時、命令順序付けユニット２２０は命令ストリームの先を見越して、Ｌ２およびＬ３における命令が独立していることを検出するので、したがってこれら３つすべてが３つの使用可能な機能単位２３０―Ｎに同時に発行できる。スーパースカラープロセッサのさらに詳細な説明に関しては、たとえば、参照により本明細書に援用された、ＩＥＥＥ（１９９５年１２月）の議事録の、Ｊａｍｅｓ．Ｅ．ＳｍｉｔｈおよびＧｕｒｉｎｄａｒ．Ｓ．Ｓｏｈｉによる「The Microarchitecture of Superscalar Processors」を参照されたい。
【０００６】
先に示したように、図４に示された超長命令語（ＶＬＩＷ）プロセッサ４００は、ハードウェアを使用して実行時に動的に並列処理を検出するのではなく、ソフトウェアに頼って単一の命令ストリームからコンパイル時にデータの並列処理を検出する。ＶＬＩＷコンパイラは図３のコードフラグメント３１０を生成するために使用されたソースコードを与えられると、命令の独立性を検出し、３つの動作すべてから成る単一の非常に長い命令を構築する。実行時には、プロセッサ４００の発行論理はこの大きな命令を１つのサイクルで発行し、データをすべての使用可能な機能単位４３０―Ｎに向ける。図４に示したように、超長命令語（ＶＬＩＷ）プロセッサ４００は統合フェッチ／復号ブロック４２０を含み、統合フェッチ／復号ブロック４２０は前もってグループ分けされた命令４１０をメモリから得る。超長命令語（ＶＬＩＷ）プロセッサのさらに詳細な説明に関しては、たとえば、参照により本明細書に援用されている、SPIE Real Time Signal Processing ＩＶ（１９８１）の２４１〜２４８ページにある、Ｂｕｒｔｏｎ  Ｊ．Ｓｍｉｔｈによる「Architecture and Applications of the HEP Multiprocessor Computer System」を参照されたい。
【０００７】
ＶＬＩＷプロセッサの一変形例は、たとえば、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｐｕｔｅｒｓ  （１９９８年８月）のＲｏｂｅｒｔ  Ｐ．Ｃｏｌｗｅｌlらによる「A VLIW Architecture for a Trace Scheduling Compiler」で論じられているようなマルチフローアーキテクチャによって代表され、固定長命令を使用して、そこにおいてあらかじめ定義されたフィールドがデータを一度にすべての機能ユニット４３０―Ｎに向ける。大きな命令の中で指定されたすべての動作が完了すると、プロセッサは新しい、多数の動作の命令を発行する。テキサス州ダラスのＴｅｘａｓ  Ｉｎｓｔｒｕｍｅｎｔｓから市販されているＣ６ｘプロセッサや、カリフォルニア州サンタクララのＩｎｔｅｌ  Ｃｏｒｐから市販されているＥＰＩＣ  ＩＡ−６４などのいくつかのより最近のＶＬＩＷプロセッサは、その代わりに可変長命令パケットを使用し、可変長命令パケットは互いにバンドルされている１つまたは複数の動作を含む。
【０００８】
図５に示されたマルチスレッドプロセッサ５００は単一の命令ストリーム内で平行処理を使用しようと試みるのではなく、複数の命令ストリームを並列に実行することによってパフォーマンスの向上を得る。図５に示されたマルチスレッドプロセッサ５００は、プログラムカウンタ５１０―Ｎ、レジスタセット５２０―Ｎ、および機能単位５３０―Ｎを含み、各々は対応する命令ストリームＮに専用である。マルチスレッドプロセッサ５００の代替の実装は、いくつかのレジスタセット５２０―Ｎおよびプログラムカウンタ５１０―Ｎを伴う単一の機能単位５３０を使用してきた。このような代替のマルチスレッドプロセッサ５００は、プロセッサ５００が、１つまたは２つのサイクル内で命令発行を１つのプログラムカウンタ／レジスタセット５１０―Ｎ／５２０−Ｎから、別のプログラムカウンタ／レジスタセット５１０−Ｎ／５２０−Ｎに切り換えることができるように設計されている。したがって、ＬＯＡＤ命令などの待ち時間が長い命令は、別の命令ストリームからのより短い動作と重ねることができる。ワシントン州シアトルのＴｅｒａ  Ｃｏｍｐｕｔｅｒ  Ｃｏｍｐａｎｙから市販されているＴＥＲＡ  ＭＴＡアーキテクチャはこのタイプの１つの例である。
【０００９】
同時マルチスレッド化と呼ばれる、マルチスレッドアーキテクチャ５００の拡張は、図２と共に上記に説明されたスーパースカラーアーキテクチャと、図５と共に上記に説明されたマルチスレッド設計との両方を組み合わせている。同時マルチスレッド化技法の詳細な説明に関しては、たとえば、参照により本明細書に援用されている、第２２回  Ａｎｎｕａｌ  Ｉｎｔ’ｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ａｒｃｈｉｔｅｃｔｕｒｅ（１９９５年６月、イタリア、Ｓａｎｔａ  Mａｒｇｈｅｒｉｔａ  Ｌｉｇｕｒｅ）の議事録、３９２〜４０３ページにある、Ｄｅａｎ  Ｔｕｌｌｓｅｎらによる「Simultaneous Multithreading: Maximizing On-Chip Parallelism」を参照されたい。一般に、同時マルチスレッド化アーキテクチャでは機能単位のプールがあり、そのうち任意の数が、多くのプログラムカウンタ／レジスタセット構造のうち任意の１つから発行できる命令に動的に割り当てられる。機能単位を多くのプログラムスレッドの間で共有することにより、同時マルチスレッド化アーキテクチャは図５に示されているより効率的にハードウェアを使用することができる。
【００１０】
【発明が解決しようとする課題】
同時マルチスレッド化アーキテクチャの組み合わされた手法がスーパースカラーアーキテクチャまたはマルチスレッドアーキテクチャの個別の手法よりも改善された効率を提供する一方、同時マルチスレッド化アーキテクチャは依然として、動的に命令ストリームを検討して潜在的な並列処理を検出するために、精巧な発行論理を必要とする。したがって、２つの命令ストリームが独立しているか否かを動的に決定する必要のない、マルチスレッドプロセッサのアーキテクチャに対するニーズが存在する。さらに、同時マルチスレッド化を提供するマルチスレッドのアーキテクチャに対するニーズが存在する。
【００１１】
【課題を解決するための手段】
一般に、マルチスレッド超長命令語（ＶＬＩＷ）プロセッサにおいて、多数サイクルの命令によって失われた容量を検索できる、機能単位を解放するための方法および装置が開示される。本発明は従来のＶＬＩＷアーキテクチャおよび従来のマルチスレッドアーキテクチャの技法を組み合わせている。本発明の組み合わされたアーキテクチャは、個別のプログラム内、およびワークロード全体で実行時間を軽減する。従来のマルチスレッドＶＬＩＷアーキテクチャでは、多数の命令パケット内の１つの多数サイクルの命令は、パケット内の他の命令が単一のサイクルのみをとる場合でも多数サイクルの命令の長さに渡ってすべての割り当てられた機能単位を占有する。本発明はアイドルの機能単位を他のスレッドに割り当て直すことのできる機能単位の解放を提供し、これによってワークロードの効率を向上させる。
【００１２】
本発明は、従来の機能単位を命令パケットに割り当てる手法ではなく、命令パケットを機能単位に割り当て、機能単位は発行論理と独立してその状態を維持することができる。本発明のマルチスレッドＶＬＩＷアーキテクチャでは、各機能単位は関連づけられた状態マシン（ＳＭ）を有し、状態マシンは機能単位が多数サイクルの命令によって占有されるサイクルの数を追跡する。したがって、機能単位がビジーである限り、機能単位はそれ自体を割り当て直さない。命令が完了すると、同じスレッドに割り当てられた別の機能単位が依然としてビジーであっても機能単位は機能単位の割り当てに関与できる。
【００１３】
このようにして、本発明の機能単位解放手法を使用すると、多数サイクルの命令に関連づけられていない機能単位を、ブロックされたスレッドが待っている間に別のスレッドに割り当てることができ、これによってマルチスレッドＶＬＩＷプロセッサのスループットが改善する。状態は、命令発行単位とは別に各機能単位に関連づけられているので、機能単位は任意のスレッドおよびその構成要素である命令の状態からは独立してスレッドに割り当てられることができる。
【００１４】
本発明は、コンパイラを使用してマルチスレッドプロセッサのアーキテクチャ内で並列処理を検出する。したがって動的な決定が必要ないため、単一スレッドＶＬＩＷプロセッサと同じ方法で単一のプログラムシーケンサから多数の命令を発行することによって、また、同時マルチスレッド化と同じように多数のプログラムシーケンサをサポートするが発行論理内で複雑さが軽減されてサポートすることによって、プログラムの並列処理を使用するマルチスレッドＶＬＩＷアーキテクチャが開示される。本発明は命令を機能単位に割り当て、多数のＶＬＩＷ命令を同じサイクル内の多数の機能単位に発行する。本発明の割り当て機構は、引数が機能単位にディスパッチされる直前に、パイプライン段を占有する。一般に、割り当て段は、適切な命令を選択しその命令を機能単位に割り当てることによって、命令をどのようにグループ分けして効率を最大にするかを決定する。
【００１５】
本発明のさらに完全な理解、また本発明のさらなる特徴および利点は、次の詳細な説明および図面を参照することによって得られる。
【００１６】
【発明の実施の形態】
（関連出願への相互参照）
本発明は、代理人整理番号（Ｂｅｒｅｎｂａｕｍ  ７−２−３−３）の、「Method and Apparatus for Allocating Functional Units in a Multithreaded Very Large Instruction Word (VLIW) Processor」という名称の米国特許出願と、代理人整理番号（Ｂｅｒｅｎｂａｕｍ  ９−４−５−５）の、「Method and Apparatus for Splitting Packets in a Multithreaded Very Large Instruction Word (VLIW) Processor」という名称の米国特許出願と、代理人整理番号（Ｂｅｒｅｎｂａｕｍ  １０−５−６−６）で、「Method and Apparatus for Identifying Splittable Packets in a Multithreaded Very Large Instruction Word (VLIW) Processor」という名称の米国特許出願に関連し、各々は本明細書と同時に提出され、本発明の譲渡人に譲渡され、参照により本発明に援用されている。
【００１７】
図６は、本発明によるマルチスレッドＶＬＩＷプロセッサ６００を示す図である。図６に示したように、３つの命令スレッド、すなわちスレッドＡ（ＴＡ）、スレッドＢ（ＴＢ）およびスレッドＣ（ＴＣ）があり、各々は命令番号ｎで動作している。さらに、例としてのマルチスレッドＶＬＩＷプロセッサ６００は、９つの機能単位６２０−１〜６２０−９を含み、これは任意のスレッドＴＡ―ＴＣに独立的に割り当てることができる。例としての３つのスレッドＴＡ―ＴＣ上の命令の数は９で、例としての使用可能な機能ユニット６２０の数もまた９なので、３つのスレッドＴＡ―ＴＣすべてからの命令の各々は１つのサイクルで命令パケットを発行でき、次のサイクルで命令ｎ＋１に移動できる。
【００１８】
一般的に、命令とそれによって指定される動作の間には１対１の対応があることに留意されたい。したがって、この用語は本明細書内では相互に交換可能であるように使用される。さらに、命令が多数の動作を指定する状況では、マルチスレッドＶＬＩＷプロセッサ６００は１つまたは複数の多数動作の機能単位６２０を含んで、多数動作を指定する命令を実行すると仮定されていることに留意されたい。多数動作を指定する命令が処理できるアーキテクチャの例は、複雑命令セットコンピュータ（ＣＩＳＣ）である。
【００１９】
従来の単一スレッドＶＬＩＷアーキテクチャでは、１つの命令パケット内のすべての動作は同時に発行される。常に、パケットを発行するのに使用可能な十分な機能単位がある。動作が多数のサイクルをとる時、動作の他のソースが使用可能ではないので、命令発行論理はストールする可能性がある。たとえば、キャッシュミスによって遅れた多数サイクルのメモリアクセス命令の間、命令発行論理は不定の期間ブロックされ、この時間はコンパイル時には決定できない。この待ち時間の間、命令はコンパイラによってスケジューリングできないので、命令は発行できない。他方、本発明によるマルチスレッドＶＬＩＷプロセッサでは、これらの制限はあてはまらない。多数サイクルの動作のために命令パケットがストールする場合には、別のスレッドの最初に、使用可能な別の動作がある。
【００２０】
図７は、従来のマルチスレッド実装（本発明の利点がない）に関して、図６と共に上記に説明された３スレッドＴＡ―ＴＣの命令ｎ＋１における次のサイクルを示す。図６および図７に示されたように、図６および図７のスレッドＡのＭＵＬ動作が２サイクルをとり、スレッドＡの別の３つの動作が１サイクルをとる場合、スレッドＡに割り当てられた４つの機能単位すべてが２サイクルの間ビジーになり、別のスレッドＴＢ―ＴＣに割り当てられることができない。図７は可能性のある結果を示す。スレッドＡ内の命令ｎにおける命令パケットは、図６に表されたサイクルおよび図７の次のサイクルの両方について４つの機能単位７２０を必要とする。スレッドＢ内の場所ｎ＋１からの命令パケットは２つの機能単位を必要とし、残りの機能単位７２０−２および７２０−８の２つに割り当てられる。しかし、スレッドＣ内の場所ｎ＋１にある命令パケットは４つの機能単位を必要とするが、使用可能な機能単位は３つしかない。したがってスレッドＣはストールし、その結果、３つの機能単位は使用されない。
【００２１】
本発明は、機能単位を解放し多数サイクルの命令によって失われた容量を検索できる方法および装置を提供する。機能単位を命令パケットに割り当てる代わりに、命令パケットが機能単位に割り当てられ、機能単位は発行論理から独立して状態を維持できる。図８に示されたように、各機能単位８２０―Ｎは関連づけられた状態マシン（ＳＭ）８３０−Ｎを有し、状態マシンは図９と共に次にさらに説明され、多数サイクルの動作によって占有された機能単位８２０―Ｎのサイクルの数を追跡する。このように、機能単位８２０―Ｎは機能単位８２０―Ｎがビジーである限り、それ自体を割り当てなおさない。動作が完了すると、機能単位８２０―Ｎは、同じスレッドに割り当てられた他の機能単位８２０が依然としてビジーであっても、機能単位の割り当てに関与できる。
【００２２】
このように、本発明の機能単位解放手法を実装することにより、ブロックされたスレッドが待っている間に多数サイクルの命令に関連づけられていない機能単位を他のスレッドに割り当てることができ、これによって、マルチスレッドＶＬＩＷプロセッサ５００のスループットを向上させることができる。状態は命令発行ユニットとは別に各機能単位に関連づけられているので、機能単位は任意の１つのスレッドおよびその構成単位の命令の状態とは独立してスレッドに割り当てることができる。
【００２３】
図８は、本発明による、図６と共に上記に説明された３スレッドＴＡ―ＴＣの、命令ｎ＋１における次のサイクルを示す。図６と同じように、ＭＵＬ動作は２つのサイクルをとり、スレッドＣに関して場所ｎ＋１における命令パケットは４つの機能単位を必要とする。第１のサイクルの後、スレッドＡに割り当てられた４つの機能単位（図６の機能単位６２０−１、６２０−３、６２０−４、および６２０−５）のうちの３つは解放されるので、サイクルｎ＋１に関してはスレッドＢおよびスレッドＣへの割り当てのために使用可能な機能単位は８つある。スレッドＴＢおよびＴＣは６つの機能単位８２０しか必要としないので、スレッドＴＢもＴＣもストールすることはなく、図７の構成と比較してサイクルは節約される。
【００２４】
図９は図８の状態マシン８３０―Ｎの実装を示す。図９に示されたように、状態マシン８３０―Ｎは継続的に多数サイクルの動作の実行を監視し、機能単位８２０−Ｎが占有されているサイクルの数を追跡する。状態マシン８３０−Ｎが、動作が完了したと決定すると、状態マシン８３０―Ｎは機能単位を解放し、別のスレッドによって再使用する。１つの実装では、状態マシン８３０−Ｎは、各動作に関して指定された最大の実行時間にしたがって動作が完了したことを決定する。
【００２５】
本明細書に示され、説明された実施形態およびその変形例は、本発明の原理の例にすぎず、当業者によって本発明の範囲および精神から離れることなく種々の改変例が実装できることを理解されたい。
【図面の簡単な説明】
【図１】従来の一般化されたマイクロプロセッサのアーキテクチャを示す図である。
【図２】従来のスーパースカラープロセッサのアーキテクチャの概略構成図である。
【図３】動作の独立性を示すプログラムフラグメントを示す図である。
【図４】従来の超長命令語（ＶＬＩＷ）プロセッサのアーキテクチャの概略構成図である。
【図５】従来のマルチスレッドプロセッサの概略構成図である。
【図６】本発明によるマルチスレッドＶＬＩＷプロセッサの図である。
【図７】従来のマルチスレッド実装に関する、図６に示された３つのスレッドＴＡ―ＴＣの命令ｎ＋１における次のサイクルを示す図である。
【図８】本発明によるマルチスレッド実装に関する、図６に示された３つのスレッドＴＡ―ＴＣの命令ｎ＋１における次のサイクルを示す図である。
【図９】図８に示された状態マシンの実装を示す図である。
【符号の説明】
１００  マイクロプロセッサ
１１０  プログラムカウンタ
１２０  レジスタセット
１３０−Ｎ  機能単位
２００  スーパースカラープロセッサ
２０５  入力待ち行列
２０８  フロントエンド部
２１０  命令フェッチブロック
２１５  命令復号ブロック
２２０  命令順序づけユニット
２３０―Ｎ  演算論理機構
２４０  レジスタセット
２５０  詳細化ブロック
３１０  プログラムフラグメント
４００  超長命令語（ＶＬＩＷ）プロセッサ
４１０  命令
４２０  統合フェッチ／復号ブロック
４３０−Ｎ  機能単位
５００  マルチスレッドプロセッサ
５１０−Ｎ  プログラムカウンタ
５２０−Ｎ  レジスタ
５３０−Ｎ  機能単位
６００  ＶＬＩＷプロセッサ
６２０−Ｎ  機能単位
７２０  機能単位
８２０−Ｎ  機能単位
８３０−Ｎ  状態マシン
【図１】
0003780449.tif 000002
【図２】
0003780449.tif 000003
【図３】
0003780449.tif 000004
【図４】
0003780449.tif 000005
【図５】
0003780449.tif 000006
【図６】
0003780449.tif 000007
【図７】
0003780449.tif 000008
【図８】
0003780449.tif 000009
【図９】
0003780449.tif 000010