"マルチコアプロセッサの第1命令シーケンサ上で実行されるユーザレベルアプリケーションから、前記第1命令シーケンサの命令セットアーキテクチャISAを実装しない前記マルチコアプロセッサのアクセラレータに、前記アクセラレータを設定するため第1ユーザレベル命令によってアーキテクチャ状態情報を通信するステップと、第2ユーザレベル命令によって、前記ユーザレベルアプリケーションから前記アクセラレータにリクエストを通信するステップと、前記アクセラレータに接続され、前記リクエストを変換するインタフェースロジックから、前記アクセラレータに前記リクエストを提供するステップと、前記リクエストに応答して、前記第1命令シーケンサが前記アクセラレータからの結果を待機しないように、前記第1命令シーケンサにおいて第1機能から独立して第2機能を実行することとパラレルに、前記アクセラレータにおいて前記第1機能を実行するステップと、を有する方法であって、前記アクセラレータは、前記アクセラレータにより実行される次の命令を決定する次命令ポインタロジックを有する方法。前記リクエストを通信するステップは、前記リクエストを前記インタフェースロジックに送信し、前記インタフェースロジックと前記アクセラレータとの間のプライベートプロトコルに従って前記インタフェースロジックから前記アクセラレータに前記リクエストをわたす、請求項1記載の方法。前記第1命令シーケンサによって、第1命令セットアーキテクチャのリクエストを前記インタフェースロジックに送信するステップをさらに有し、前記アクセラレータは、第2命令セットアーキテクチャのリソースを有する、請求項2記載の方法。前記リクエストに応答して、前記アクセラレータのアーキテクチャ状態の一部を、前記アクセラレータから前記ユーザレベルアプリケーションに提供するステップをさらに有する、請求項1記載の方法。前記リクエストに応答して、前記インタフェースロジックと前記アクセラレータの集められた状態を、前記インタフェースロジックと前記アクセラレータとから、前記ユーザレベルアプリケーションに提供するステップをさらに有する、請求項1記載の方法。グラフィック機能を実行するよう構成されているが、前記グラフィック機能を実行するよう構成されているアドイングラフィック装置の存在により無効にされているシステムのチップセットの無効にされたリソースを特定し、前記無効にされたリソースをアクセラレータとなるよう設定するステップをさらに有する、請求項1記載の方法。命令を実行する第1命令シーケンサと、前記第1命令シーケンサに接続される第2命令シーケンサと、を有する装置であって、前記第2命令シーケンサは、前記第1命令シーケンサから受信したデータに対して少なくとも1つの処理を実行するアクセラレータであって、前記第1命令シーケンサの命令セットアーキテクチャISAを実装しないアクセラレータと、前記アクセラレータに接続され、前記第1命令シーケンサと前記アクセラレータとの間のシーケンサ間通信を、前記シーケンサ間通信の変換によって有効にするインタフェースロジックと、を有し、前記アクセラレータは、前記アクセラレータにより実行される次の命令を決定する次命令ポインタロジックを有し、前記第1命令シーケンサに関して同質なリソースであり、前記第1命令シーケンサは、前記少なくとも1つの処理が終了すると、前記第1命令シーケンサに通知するため、前記アクセラレータから受信した信号とイベントハンドラとを関連付け、前記通知後に前記イベントハンドラを実行し、前記イベントハンドラは、前記少なくとも1つの処理から結果データを受信及び処理する装置。前記アクセラレータは、固定機能部を有し、前記インタフェースロジックは、前記固定機能部に接続される有限状態マシーンFSMを有する、請求項7記載の装置。前記第1命令シーケンサは、ネイティブな命令セットアーキテクチャISAの処理エンジンを有し、前記アクセラレータは、ネイティブでない命令セットアーキテクチャの処理エンジンを有する、請求項7記載の装置。前記アクセラレータは、グラフィック機能を実行するよう構成されているが、前記グラフィック機能を実行するよう構成されているアドイングラフィック装置の存在により無効にされるチップセットの無効にされたシステムリソースを有する、請求項7記載の装置。前記インタフェースロジックは、前記アクセラレータへのアーキテクチャ状態情報の入力通信と、前記第1命令シーケンサへの状態情報の出力通信とを有効にする第1ロジックと、ユーザレベル制御及びオペレーティングシステム制御の下で使用するため、前記アクセラレータを仮想化する第2ロジックと、を有する、請求項7記載の装置。本発明の課題は、上記問題点に鑑み、異質なリソースを有する各命令セットアーキテクチャベースシーケンサの間の効果的な通信を可能にする方法、装置及びシステムに関する。上記課題を解決するため、本発明は、ユーザレベルアプリケーションから、第1命令シーケンサに該第1命令シーケンサを介し接続され、該第1命令シーケンサに関する異質なリソースを有するアクセラレータにリクエストを直接通信するステップと、前記リクエストを前記アクセラレータに係るエキソスケルトンを介し前記アクセラレータに提供するステップと、前記リクエストに応答して、前記アクセラレータにおいて第1機能を、前記第1命令シーケンサにおける第2機能とパラレルに実行するステップとから構成されることを特徴とする方法を提供する。さらに、本発明は、命令を実行する第1命令シーケンサと、前記第1命令シーケンサに接続されるエキソシーケンサとから構成される装置であって、前記エキソシーケンサは、前記第1命令シーケンサに関して異質なリソースから構成され、前記第1命令シーケンサから受け付けたデータに対して少なくとも1つの処理を実行するアクセラレータと、前記アクセラレータに接続され、前記第1命令シーケンサと前記アクセラレータとの間のシーケンサ間通信をユーザレベル制御の下で可能にするエキソスケルトンとを有することを特徴とする装置を提供する。さらに、本発明は、マシーンによる実行の際、第1シーケンサにおいて、該第1シーケンサに関して異質なリソースであるヘルパーユニットから、該ヘルパーユニットに接続されるインタフェースを介し信号を受け付けるステップと、オペレーティングシステムOSのサポートなく前記インタフェースにより変換される前記第1シーケンサの第1命令セットアーキテクチャISAのコマンド情報を、前記第1シーケンサから前記インタフェースを介し前記ヘルパーユニットに提供するステップと、前記コマンド情報に応答する前記ヘルパーユニットにおける第1処理とパラレルに、前記第1シーケンサにおいて第2処理を実行するステップとから構成される方法を前記マシーンが実行することを可能にする命令を含むマシーン可読記憶媒体から構成される物品を提供する。さらに、本発明は、第1命令セットアーキテクチャISAを介し命令を実行する第1シーケンサと、前記第1シーケンサに接続され、前記第1シーケンサとシーケンサ間通信プロトコルを介し通信するインタフェースと、該インタフェースに接続され、前記第1シーケンサに関して非同質的であって、前記インタフェースとプライベートプロトコルを介し通信する計算リソースとを有する第2シーケンサと、前記第1及び第2シーケンサに接続されるDRAMDynamicRandomAccessMemoryとから構成されることを特徴とするシステムを提供する。本発明によると、異質なリソースを有する各命令セットアーキテクチャベースシーケンサの間の効果的な通信を可能にする方法、装置及びシステムを提供することが可能となる。各種実施例において、命令セットアーキテクチャISAベースのシーケンサ間通信を可能にする機構が提供される。ここで使用されるシーケンサsequencerとは、独立したスレッド実行リソースであり、スレッドを実行可能な任意の物理又は論理ユニットであるかもしれない。シーケンサは、論理スレッドユニット又は物理スレッドユニットであるかもしれず、与えられたスレッドに対して実行されるべき次の命令を決定するネクスト命令ポインタロジックを有するかもしれない。より詳細には、ISAベースシーケンサ間通信は、第1のISAの第1シーケンサと、異質な性質を有するシーケンサ又は非シーケンサであるかもしれない第2リソースとの間で実現される。すなわち、第2リソースは、異なるISAのシーケンサであるかもしれず、あるいは、FFUFixedFunctionUnit、ASICApplicationSpecificIntegratedCircuit、他の予めプログラムされたロジックなどの非シーケンサリソースであるかもしれない。各種実施例において、エキソスケルトンexo-skeletonと呼ばれる中間物又はインタフェースは、このような異質なリソースの間の通信を提供するかもしれない。異なる実施例では、エキソスケルトンは、ソフトウェア、ハードウェア及び/又はファームウェアを含む各種形態をとりうる。いくつかの実施例では、エキソスケルトンは、異質なリソースに接続される有限状態マシーンFSMにおいて実現されるかもしれない。もちろん、他の実現形態もまた可能である。図1は、本発明の一実施例によるプロセッサのブロック図である。図1に示されるように、プロセッサ10は各種リソースを有する。異なる実現形態では、プロセッサ10は、シングルコアプロセッサ又はマルチコアプロセッサであってもよい。このようなプロセッサは、CMPChipMultiprocessorシステム、SMTSimultaneousMultithreadingシステム又はSoeMTSwitch-on-eventMultithreadingシステムを含む各種タイプのシステムにより実現可能である。図1に示されるように、プロセッサ10は、複数のシーケンサ20a、20b、20c及び20dすなわち、シーケンサ1-4,一般にはシーケンサ20を含む。図1の実施例では4つのシーケンサにより示されているが、本発明の範囲がそれに限定されるものでないということが理解されるべきである。図1に示されるように、プロセッサ10のシーケンサ20は、一実施例では、インテル登録商標アーキテクチャIA-32インストラクションセットアーキテクチャ及び/又はそれの64ビット拡張形インテル登録商標エクステンディッドメモリ64ビットテクノロジーEMT64Tとも呼ばれるとすることが可能なISA30を実現する。プロセッサ10はさらに、第1リソースリソース150a、第2リソースリソース250b及び第3リソース50cリソース3を有するリソース50と総称される。これらのリソースは、プロセッサ10のISA30を実現しない異質なリソースであるかもしれない。これら3つのリソースを有するように図1の実施例は示されているが、異なる実施例では、異なる個数のリソースが可能である。各リソース50は、シーケンサISA30とは異なるISAを実現可能である、非シーケンサ処理エンジン又は他の特殊機能ロジックを有し、これらはアクセラレータと総称される。異なる実施例では、異なるタイプのリソースが、アクセラレータとして実現され、グラフィックス処理ユニットGPU典型的にはシーケンサ、暗号化ユニット典型的には非シーケンサ、FFU典型的には非シーケンサなどが含まれる。図1に示されるように、各リソース50は、アクセラレータ52を有し、より詳細には、各々がリソース50a、50b及び50cの1つに関連付けされるアクセラレータ52a、52b及び52cを有するかもしれない。アクセラレータ52はまた、ここではヘルパーユニットとも呼ばれる。リソース50a~50cは、他のISAを有するかもしれず、あるいは、非シーケンサであってもよい。またシーケンサ20に関して異質なものとすることが可能であるため、このようなリソースと通信する機能を提供するため、インタフェースが使用されるようにしてもよい。図1に具体的に示されるように、エキソスケルトン54a、54b及び54cエキソスケルトン54と総称されるは、各リソース50に関連付けされるかもしれない。このため、各リソース50は、エキソシーケンサと呼ばれるかもしれず、それは、エキソスケルトン54とそれに関連するアクセラレータ52との密接なつながりを示す。このように、これら異質なリソースは、シーケンサ間通信及び/又は適用可能である場合には、共有メモリベースアドレッシングをサポートする統一されたISAフレームワークにおいて、異質なシーケンサリソースと一体化されるかもしれない。さらに、各種リソースは、各リソースがパフォーマンスを向上させるため同時に利用可能となるように、MIMDMultipleInstructionMultipleData形式などパラレル形式により実行されるかもしれない。しかしながら、他の実施例では、リソース50は、シーケンサ20に関して同質なシーケンサリソースであるかもしれず、シーケンサ20と同一又は類似のアーキテクチャを有するように対称的なコアとすることが可能である。このようにして、コンカレントファイバが実現可能であり、レガシーOSスケーラビリティを向上させることが可能である。さらに、他の実現形態では、リソース50は、非対称コアであってもよい。すなわち、これらのリソースは、シーケンサ20と同一のISAを有するが、異なるマイクロアーキテクチャを有するものであってもよい。このような実施例は、非対称性を管理するのに役立ち、レガシーOSとの互換性を提供するかもしれない。異質なリソースを実現する実施例について、一実施例によるエキソスケルトンは、これら異質なリソースが、シーケンサ間通信のための最小限の準拠を実現するため、共通のISAを有するという錯覚を与えるかもしれない。従って、各種実施例では、異質なリソースは、ユーザレベル機能ユニットリソースとして機能することが可能であるシステムレベルデバイスではなく。すなわち、各種ユーザレベルアプリケーションは、ユーザレベル機能ユニットとなるように、アクセラレータと直接通信及びアクセスするようにしてもよい。このように、各種アクセラレータリソースは、ISAにより管理される異質なコンポーネントとなることが可能である。例えば、各エキソシーケンサ又はリソース50は、アクセラレータ52がMIMDリソースなどのユーザレベルの異質な計算リソースとしてアプリケーションプログラムにより直接利用することが可能となるように、シーケンサに類似したラッパーwrapperエキソスケルトン54により特定用途計算アクセラレータとして現れるかもしれない。従って、アプリケーションプログラマーは、ヘルパーユニット自体が必ずしも物理的にISA30を有する必要がなくても、ユーザレベルISA30を直接利用して上記ヘルパーユニット52をプログラムすることができる。さらに、プログラマーは、統一的なISA機構を利用して、各々が異なる特性ISA又はデバイス属性に関してを有する多様な異質なヘルパーユニット群をプログラムすることが可能である。実質的に、本発明の実施例によるエキソシーケンサは、プログラマーがレガシーデバイスドライバのソフトウェアスタックをショートカットすることを可能にする。このため、エキソシーケンサは、ヘルパーユニットに表面的なエキソシーケンサを設け、ヘルパーユニットをプロセッサ又は他のデバイスのシーケンサアウェアなISAベースのシーケンサ間の処理に参加可能な最小のシーケンサとなるようにするかもしれない。ソフトウェアスタックの観点から、エキソシーケンサによって、アプリケーションプログラム又はユーザランタイムは、アクセラレータをアプリケーションリソースとして、またルーズに結びつけられたOSベースのデバイスドライバを利用して、システムレベルリソースとしてアクセラレータを管理する必要なく、アプリケーションバイナリの密接に結びつけされた部分として管理するため、アプリケーションレベルソフトウェアレイヤを提供することが可能である。さらに、いくつかの実現形態では、1以上のエキソシーケンサは、参加する各ヘルパーユニットが、軽いユーザレベルイベント生成機構を介した非同期シーケンサ間インタラクション又はシーケンサアウェア同期処理を介しメインプロセッサすなわち、第1シーケンサとやりとりする最小のシーケンサリソースとして構成上利用される明示的なMIMDマルチシーケンサISAインタフェースを有するようにしてもよい。ヘルパーユニットと第1シーケンサは、同一のOSスレッドと構成上密接に結びつけられていても、メインプロセッサとエキソスケルトンを備えたヘルパーユニットは、2つの独立したMIMDシーケンサとしてやりとりする。特に、エキソスケルトンインタフェースを介した第1シーケンサとヘルパーユニットの間のデータ及びコントロールのやりとりは、構成上はシーケンサ間のやりとりと等しい。図1の実施例では特定のリソースにより示されているが、プロセッサ10は、各々が構成状態のセットを有する複数のハードウェアスレッドコンテクスト明確さを失うことなく、スレッドコンテクストとも呼ばれ、ソフトウェアスレッドコンテクストと同じものではないことに留意されたいをサポートすることが可能な1つの物理プロセッサであってもよい。いくつかの実施例では、あるリソースはこれらのスレッドコンテクストに可視的であるが、他のリソースは可視的ではない。従って、図1に示されるように、各シーケンサ20は、スレッドコンテクストに対応するかもしれない。これらスレッドコンテクストの少なくとも一部が例えば、n個のうちのm個m≦nなど、オペレーティングシステムに可視的なものとされるとき、これらのスレッドコンテクストは、場合によっては論理プロセッサ又はOS管理シーケンサとよばれる。各スレッドコンテクストは、それぞれアーキテクチャ状態AS1~ASnを維持する。アーキテクチャ状態は、例えば、データレジスタ、セグメントレジスタ、コントロールレジスタ、デバッグレジスタ及びモデルに固有のレジスタの大部分を有する。スレッドコンテクストは、キャッシュ、実行ユニット、ブランチプレディクタbranchpredictor、コントロールロジック、バスなどの物理プロセッサの大部分のマイクロアーキテクチャリソースを共有するかもしれない。このような特徴は共有可能であるが、プロセッサ10の各スレッドコンテクストは、次の命令アドレスを独立に生成することが可能である及び、例えば、命令キャッシュ、実行命令キャッシュ又はトレースキャッシュからのフェッチを実行する。スレッドコンテクストに対応する各シーケンサ20は、対応するアーキテクチャ状態40に関連付けされる。より詳細には、アーキテクチャ状態AS140aはシーケンサ20aに関連付けされ、AS2はシーケンサ20bに関連付けされ、AS3はシーケンサ20cに関連付けされ、AS4はシーケンサ20dに関連付けされてもよい。プロセッサ10又は同様のプロセッサを利用して、ISAベースシーケンサ間通信は、OSに関係することなく行うことが可能である。例えば、共有メモリマルチプロセッシングパラダイムでは、アプリケーションプログラマーは、並列化を表すため、ソフトウェアプログラムすなわち、アプリケーション又はプロセスを同時に実行される複数のタスクに分割するかもしれない。同一のソフトウェアプログラムプロセスのすべてのスレッドは、メモリアドレススペースの共通の論理的視点を共有する。しかしながら、OSスレッドは、オペレーティングシステムによって生成、スケジューリング又は管理されない複数のユーザレベルスレッドと関連付けされてもよい。このようなユーザレベルスレッドは、OSスレッドと区別するため、シュレッドshredと呼ばれるかもしれない。これらのシュレッドは、OSスケジューラには可視的ではないかもしれず、このため、OSは、関連するOSスレッドが割り当てられた論理シーケンサアドレス上で実行されるようシュレッドをスケジューリングする時点又は方法を管理しない。OSシュレッド自体は、通常はそれのシュレッドの1つを実行する時点及び方法をスケジューリングするためのものである。ISAベースシーケンサ間通信に対する構成上のサポートは、ユーザがシーケンサ間のコントロールと状態の転送を直接操作することが可能となるように、1以上の命令が提供されるようISAに対する拡張形を有するようにしてもよく、これは、いわゆるシーケンサアウェアsequencer-aware又はシーケンサアリスマティックsequencer-arithmetic命令であるかもしれない。このような命令は、他のすなわち、第2のシーケンサに通知するため第1シーケンサを提供するかここでは、命令は、出力シナリオと呼ばれる出力制御情報を送信し、またデータペイロードを搬送するシュレッド転送又はSXFR命令と呼ばれる、又はこのような信号をモニタするため、第2シーケンサをセットアップしここでは、シュレッドモニタ又はSEMONITOR命令と呼ばれる、信号入力シナリオと呼ばれるを非同期的に受信すると、ハンドラに対する制御転送を実行する命令を含むかもしれない。シーケンサアウェア命令はまた、シーケンサアウェア状態セーブ及びリストア命令など他の命令を含むかもしれない。このような状態セーブ命令を実行すると、第1シーケンサは、第2シーケンサのアーキテクチャ状態のスナップショットコピーを生成することが可能である。シーケンサアウェアリストア命令は、セーブされたアーキテクチャ状態が指定されたシーケンサにロードされることを指定するかもしれない。少なくとも1つの実施例では、1以上のシーケンサアウェア命令は、OSスレッドに属するシュレッドにプログラマーによってコード化されるかもしれない。OSスレッドの処理中に実行されるとき、このような命令は、OSスケジューリングロジックの介入なく、シュレッドに対する生成、制御、転送、コンテクストセーブ、コンテクストリストア又は他の処理を行わせるかもしれない。このようにして、一実施例によるISAベースシーケンサ間通信は、オーバーヘッドを低減し、パフォーマンスを向上させる。同一のISAのシーケンサ間の通信に加えて、各種実施例では、例えば、本発明の実施例によるエキソスケルトンなどを介し、異質なシーケンサ間、又はシーケンサと非シーケンサ間のISAベースシーケンサ間通信が行われるかもしれない。図2は、本発明の一実施例によるシステムの一部のブロック図である。図2に示されるように、システム100は、シーケンサ110とアクセラレータ130を有する。アクセラレータ130は、異なる実施例では異なる形式をとりうるものであるが、説明のため、アクセラレータ130はシーケンサ110には異質な性質を有するものであると仮定される。すなわち、アクセラレータ130は、異なるISAを有してもよく、また非シーケンサであってもよい。しかしながら、各種実施例では、シーケンサ110とアクセラレータ130は、1つの基板上に実現されてもよい例えば、マルチコアプロセッサの一部として。あるいは、シーケンサ110とアクセラレータ130は、集積回路IC内部の異なるシリコン部分により、パッケージ又はマザーボード上に配置されるなどの異なるICにより、又は他の方法により実現されてもよい。ISAベースシーケンサ間通信を可能にするため、エキソスケルトン120が、アクセラレータ130に接続されるようにしてもよい。エキソスケルトン120とアクセラレータ130は、何れもエキソシーケンサ135と呼ばれるかもしれない。アクセラレータ130が異質なISA又は非シーケンサを有する実施例では、アクセラレータ130がシーケンサ間通信に参加することが可能となるように、有限マシーンFSM又は可視化レイヤであるかもしれないエキソスケルトン120が実現されるかもしれない具体的な実施例に応じて、ハードウェア、ファームウェア又はソフトウェアにより。このようなISAベースシーケンサ間通信は、エキソシーケンサのアーキテクチャ状態に対するGET及び/又はSET命令を含む、SXFRによって他のシーケンサ又はエキソシーケンサから送信される入力シナリオをモニタし、それに応答するように、アクセラレータ130への入力方向への通知プロトコルを提供する。さらに、この通知プロトコルは、ページフォルトなどのイベントに対するプロキシ実行リクエストなどの例外処理に対する指示を含む出力シナリオによるアクセラレータ130から信号シーケンサ110からの出力通信を含む。さらに、いくつかの実施例では、エキソスケルトン120を介したアクセラレータ130は、シーケンサ110又は他のリソースからのクエリに応答して、エキソスケルトン120がより効果的な利用を可能にするため、アクセラレータ130の能力に関する情報を通信することが可能となるように、能力レポート指向通信動作に参加するようにしてもよい。図2に示されるように、エキソスケルトン120は、アクセラレータ130と密接に結びつけられているかもしれない。図2にさらに示されるように、システム100は、シュレッド、すなわち、ユーザレベルスレッドを管理及びスケジューリングするため、シュレッドライブラリ150として示されるユーザレベルランタイムソフトウェアレイヤを有する。異なる実現形態では、シュレッドライブラリ150は、シーケンサ110などのシーケンサに対するシュレッドをサポート及び管理する処理を実現するかもしれない。例えば、シュレッドライブラリ150は、シュレッドスケジューリング、シュレッドコンテクストセーブ、スイッチ及びリストアなどを管理するかもしれない。このようにして、OS190がこれらの処理に関与しないため、より小さなオーバーヘッドしか消費しない。ユーザアプリケーション160は、システム100内で実行し、特殊又は計算量の大きな機能の実行をリクエストするかもしれない。パフォーマンスの向上を可能にするため、特にMIMD又はパラレル環境では、アクセラレータ130が、アプリケーションの他の有用な作業又は。シーケンサ110によって実行されるべき他のシュレッドをシーケンサ110が実行するのと並行して機能を実行するように、ユーザアプリケーション160は、シーケンサ110がアクセラレータ130と通信することをリクエストするかもしれない。このようにして、シーケンサ110とアクセラレータ130がアプリケーションスレッドの各部分とパラレルにシュレッドとして実行するため、実行が向上する。従って、本発明の実施例を利用して、シーケンサ110の制御フローは、エキソシーケンサ上で実行される特定用途の計算とパラレル及び非同期的に実行することが可能となり、これにより、独立したシュレッドとして効果的に実行されることとなる。オーバーヘッドを低減するため、シーケンサアウェア命令を介したシーケンサ110とエキソシーケンサ135の間のISAベースシーケンサ間通信は、OS190の関与を要求しないかもしれない。このように、OS190のデバイスドライバスタックを回避することができ、代わりに、シーケンサ110とエキソシーケンサ135の間の直接的な通信を実行することができる。従って、図2に示されるように、一実施例では、ISAベースシーケンサ間通信は、シーケンサアウェア命令を介しシーケンス110とエキソスケルトン120との間で直接実行されるかもしれない。ユーザアプリケーションであるかもしれないアプリケーションコード160は、シュレッドランタイムライブラリ150を介しこのようなISAベースシーケンサ間通信を利用することが可能である。最小のOSレイヤ140は、OSスレッドのコンテクストセーブ及びコンテクストリストア処理をサポートする。OSスレッドがOSにより管理されるシーケンサに対してコンテクストセーブ又はコンテクストリストア処理を実行すると、このOS管理シーケンサに係るすべてのアプリケーション管理シーケンサとエキソシーケンサとに対するコンテクストが、セーブ及びリストアされる。OSは、OSスレッドコンテクストスイッチ上で上記状態をセーブするため、OSスレッド毎に十分なセーブエリアを提供するかもしれない。ISAベースシーケンサ間通信は、エキソシーケンサ135により提供及び動作可能となるように、変換されるかもしれない。同様の通信フローが、逆方向について行われるかもしれない。少なくとも1つの実施例では、OSスレッドコンテクストスイッチにより、各シーケンサ又はエキソシーケンサにおけるコンテクストセーブ及びリストアは、同一のOSスレッドにおける他のシーケンサ/エキソシーケンサとパラレルに、各シーケンサ又はエキソシーケンサによって実行可能である。このようなパラレルな実現形態は、セーブ及びリストア処理の全体的なパフォーマンスを向上させるかもしれない。図2の実施例では、1つのシーケンサ110を有するものとして示されているが、本発明の範囲はこれに限定されるものではなく、他の実施例では、マルチシーケンサシステムを提供することが可能であるということは理解されるであろう。このようなシステムでは、エキソスケルトン120はさらに、単独の物理アクセラレータ130が複数のシーケンサにより関連付けされるように、バーチャル化機能を実現するようにしてもよい。従って、エキソスケルトン120は、各々が論理エキソシーケンサに接続される各種シーケンサに対するアクセラレータ130のアーキテクチャ状態の複数のコピーを複数のコンテクストが格納するためのストレージを実現するようにしてもよい。エキソスケルトン120は、アクセラレータ130を利用する各種シーケンサのシーケンス処理又は多重化を提供すると共に、コンテクスト状態のセーブ及びリストアを可能にするロジックを有するようにしてもよい。このように、アクセラレータ130は、システムの複数のシーケンサにサービスを提供するかもしれない。少なくとも1つの実施例では、エキソスケルトンは、SoeMTSwitch-on-eventMultithreadingを介し複数の論理エキソシーケンサを実現することが可能である。このような実施例では、論理エキソシーケンサコンテクストは、直接的なオンチップレジスタファイル又は専用スクラッチメモリとして実現することが可能であり、エキソシーケンサコンテクストスイッチ条件は、マイクロコードなどロジック又はファームウェアにより実現することが可能である。少なくとも他の実施例では、独立した物理エキソシーケンサが、各シーケンサに対して実現可能である。この実施例では、複数の物理エキソシーケンサが、SMTSimultaneousMultithreading又はCMPシステムとして実現可能である。図2に示されるものなどの実施例は、アクセラレータがシーケンサ及び/又は残りのシステムと同じISAを有しないとき、又はアクセラレータが非シーケンサである場合に利用可能である。このような実施例では、図2に示されるデータフローは、OS190の関与なしに、シーケンサ110とアクセラレータ130との間の効率的なISAベースシーケンサ間通信を提供する。しかしながら、他の実現形態では、アクセラレータは、シーケンサ又はシステムの他の部分と共通のISAを有するようにしてもよい。さらに、いくつかの実現形態では、アクセラレータは、システムの残りと密接に構成されるようにしてもよい。例えば、いくつかの実現形態では、アクセラレータは、特殊処理を実行するよう構成されるシステムコンポーネントであってもよい。しかしながら、与えられたシステムコンフィギュレーションでは、コンポーネントは、周辺装置又はアドイン装置などの他のコンポーネントを優先して、イネーブル解除されるか、又は最小限の使用に止められるかもしれない。例えば、統合されたグラフィックス処理ユニットGPUは、システムマザーボード上のチップセットの一部グラフィックスメモリコントローラハブGMCHなどとして実現されるかもしれない。しかしながら、あるシステムコンフィギュレーションでは、各アドイングラフィックスカードはまた、マザーボードへのプラグインPCIPeripheralComponentInterconnectスロットなどとして構成される。このような例では、統合されたGPUは、イネーブル解除され、そうでない場合には利用されない。同様に、GPU又は他のこのようなコンポーネントは、その一部があるシステムコンフィギュレーションでは自由に利用されない複数の処理エンジンを有するかもしれない。このような実現形態では、これらのイネーブル解除又は使用が最小限に止められた処理リソースは、本発明の実施例によるアクセラレータとして構成されるかもしれない。図3は、シーケンサ210とアクセラレータ230とを有するシステム200の一部のブロック図である。図3の実施例では、アクセラレータ230は、第1部分232と第2部分234とを有するかもしれない。第1部分232は、エキソシーケンサとして動作するよう構成され、第2部分234は、通常のOS制御の下、特殊グラフィックス又はメディア機能などの各種機能を実行するよう構成されるかもしれない。従って、図3に示されるように、第2部分234は、デバイスドライバスタック295とのOSアプリケーションプログラミングインタフェースAPIを介しOSベース実行モデルのアプリケーション260と通信可能となるように、OS290のデバイスドライバスタック295と接続される。このように、第2部分234は、従来のOS通信ルートを介しアプリケーション260のリクエストの下、処理機能を実行することが可能である。他方、第1部分232は、エキソスケルトン220を介しシーケンサ210と直接通信するよう構成される。エキソスケルトン220は、第1部分232とシーケンサ210との間のISAベース通信を可能にするため、ハードウェア、ソフトウェア又はこれらの組み合わせとしてもよい。従って、ユーザレベルアプリケーション256は、エキソスケルトン220を介しシーケンサ210と第1部分232との間の通信のため、ISAベースシーケンサ命令を利用可能である。典型的には、ユーザレベルシュレッドライブラリ250が利用可能であり、OSサポート240の最小のレイヤが、上述されるように、OSスレッドコンテクストセーブ及びリストア処理をサポートするのに利用される。従って、図3の実施例では、2つのソフトウェアスタック、すなわち、本発明の実施例によるOSドライバスタックとユーザレベルランタイムスタックが共に存在するかもしれない。アクセラレータ230のリソースシェアリングを提供することによって、レガシーベースアプリケーションOSデバイスドライバモデルを利用するなどとISAベースシーケンサ間通信を介し最小のオーバーヘッドを提供するユーザレベルアプリケーションの両方が、アクセラレータ230のリソースを利用可能にするため、パフォーマンスが向上する。いくつかの実現形態では、エキソスケルトン220は、アプリケーション256と260が共にアクセラレータ230のフルリソースアプリケーションに可視的なものとしての所有権を有していると信じるように、アクセラレータ230に関するバーチャル化タスクを実行可能である。従って、異なる実施例では、エキソスケルトン220は、アクセラレータ230に対するアーキテクチャ状態の複数のコンテクストを提供し、SoeMTと同様の条件の下でコンテクストスイッチをサポートすることを含むバーチャル化タスクを実行するようにしてもよい。また、アクセラレータ230における機能の一部は、OS290を介しレガシーアプリケーションに関連付けされ、機能の他の部分は、本発明の実施例によるISAベースシーケンサ間通信プロトコルを介しユーザレベルアプリケーションに関連付けされてもよい。従って、アクセラレータ230の物理リソースは、これら2つの独立したパラダイムの共存をサポートするかもしれない。図4は、本発明の一実施例によるシステムのブロック図である。図4に示されるように、システム300は、GMCH320に接続されるプロセッサシーケンサなど310を有し、さらにGMCH320は、DRAMDynamicRandomAccessMemoryなどのメモリ330に接続される。さらに、GMCH320は、ディスプレイフラットパネルディスプレイなどに接続される。GMCH320は、一体化されたグラフィックスアクセラレータを有するかもしれない。GMCH320はさらに、各種周辺装置とシステム300とを接続するのに利用可能な入出力I/OコントローラハブICH350に接続される。図4の実施例では、他の周辺装置370と共にICH350に接続される独立したグラフィックスデバイスである外部グラフィックスデバイス360が示される。システム300は、独立した外部グラフィックスデバイス360により構成されるため、GMCH320内部の一体化されたグラフィックスは、イネーブル解除されるかもしれない。例えば、システムのBIOSBasicInput/OutputSystemは、ディスエーブルdisableビットをプログラムするかもしれず、又は、他の機構が、GMCH320のグラフィックス機能をイネーブル解除するかもしれない。そうでない場合には、GMCH320のグラフィックス処理に利用されるアイドル状態の処理リソースが、本発明の実施例によるアクセラレータに変換されるかもしれない。従って、リソースは、例えば、ユーザレベルアプリケーションを介し、OSの関与を必要とすることなく、各種機能を実現するのに利用可能である。このように、特にGMCH320のグラフィックスリソースによる処理が、プロセッサ310のシーケンサにおけるタスクとパラレルに例えば、MIMD形式などにより実行される場合、パフォーマンスの向上を図ることができる。いくつかの実施例では、GMCH320の一体化されたグラフィックスのグラフィックス機能のエキソシーケンサは、直交機能を実行するため各種グラフィックス処理ユニットを有するかもしれない。上記処理リソースの1以上が、システム300のOSに係る1以上のメディアデバイスドライバの関与なく、システム300内のメディア処理を実現するように、ISAベースメディアアクセラレータエキソシーケンサとして構成されるかもしれない。このように、デジタルメディアの符号化及び復号化などのメディア処理は、プロセッサ310の最小限の関与と、さらにOSのデバイスドライバスタックのオーハーヘッドを被ることなく、システム300において実行可能である。シーケンサなどの各種実施例では、エキソシーケンサは、アプリケーションレベルアーキテクチャリソースの形式をとり、このため、シーケンサアウェアユーザレベル処理において利用するため、一意的かつバーチャル化可能なネームスペースを有するかもしれない。従って、シーケンサ間通信は、OSの介入なくユーザレベルにおいて完全に実行可能である。シーケンサのバーチャル化により、論理エキソシーケンサアーキテクチャリソースは、物理リソースの個数が論理リソースの個数と同一である必要がない場合、レジスタリネーム及びメモリバーチャル化と同様の方法により管理することが可能である。さらに、アーキテクチャ、マイクロアーキテクチャ、熱、電力消費などの各特性を含む各種メリットのマトリックスのスペクトルに関して、物理リソース間の様々な相違が存在しうる。これらの相違は、エキソシーケンサリソースの中の非対称性及び異質性として効果的に明らかとなる。さらに、バーチャルにアドレッサブルなリソースとして、エキソシーケンサリソースはまた、バーチャルシーケンサアドレスのビットが、エキソシーケンサリソースの同期又は非同期アクセス制御を管理するため、物理シーケンサに固有の機能を表すのにハードウェア、ファームウェア及びソフトウェアのアブストラクションレイヤにより利用可能な機能ベース管理を受ける可能性がある。少なくとも1つの実施例では、エキソシーケンサは、第1シーケンサからの以下の2つの標準的な入力シナリオ、すなわち、第1シーケンサがSXFRを用いてエキソシーケンサにローカルな状態を読み/保持するためのGETシナリオを送信することが可能なGET入力シナリオと、第1シーケンサがSXFRを用いてエキソシーケンサにローカルな状態を書き/更新するためのSETシナリオを送信することが可能なSET入力シナリオとに対するレスポンスを提供することによって、最小のシーケンサ間交換プロトコルをサポートするかもしれない。さらに、エキソシーケンサは、NOTIFY出力シナリオとSXFRを利用して、完了、進行又は例外状態の非同期的なイベント通知を実行するため、第1シーケンサにNOTIFYシナリオを送信することが可能である。第1シーケンサのためにプロキシ実行モードによりアクセラレータを動作させるPROXYシナリオは、NOTIFY出力シナリオの特別な形式である。この最小状態通知及び更新機能によって、第1シーケンサは、データ及び制御状態を操作するため個別に又はまとめて、ハイレベル制御メッセージを構成することが可能である。特に、各種複合状態のアクセスが構成可能である。例えば、コンテクストセーブ/リストアを利用して、第1シーケンサは、SXFRを繰り返し利用して、コンテクストスイッチを介しセーブ/リストアされるよう状態セットを読み又は更新することが可能であり、あるいは他の実施例では、第1シーケンサは、1つのSXFRを利用して、エキソシーケンサが複数の状態においてローカルに繰り返す状態の一部を読み及び更新することが可能である。さらに、第1シーケンサは、SXFRを利用して、状態、関連する属性ライト、リードなど、フォーマットなどを含むコンフィギュレーションすなわち、機能列挙をクエリすることが可能である。このようにして、従来はシーケンサでなく、又はOSベースデバイスドライバを有しない汎用プロセッサより動作可能でない一体化されたデバイスの特別なクラスが、あたかもそれらがプロセッサの機能ユニットであり、その状態がOSスレッドコンクキストスイッチを介しOSスレッドコンテクストセーブ及びリストアを受けるかのように、特定のアプリケーションによって所望されるようにバーチャル化されるかもしれない。一実施例では、シーケンサタイプであって、第1シーケンサと異なるISAを有するヘルパーユニットが、それのプライベートISAを利用して、第1シーケンサに対して構成上規定される入力及び出力シナリオを介し通信するため、エキソスケルトン有限状態マシーンFSMを実現することが可能である。このように、ヘルパーユニットは、それのプライベートなISAを利用して、ヘルパーユニットハードウェア自体が処理を直接サポートしなくても、第1シーケンサによってリクエストされた処理に応答して、各種アルゴリズムを実現することを選択可能である。このシーケンサFSMの実現形態は、何れかの物理インターコネクト又はインタフェースにより実行可能である、インターコネクト上のこれら2つの装置は、互いに通信するかもしれず、この信号は、論理的又は構成上、第1シーケンサ上のユーザレベルイベントとして、そしてFSMへのトリガー入力としてローカルに受信及び変換されるようにしてもよい。一実施例では、クエリ関連のコンテクストセーブ/リストア入出力シナリオの対象となるエキソシーケンサの状態は、ヘルパーユニットのもとの状態の一部又はすべてであるかもしれない。この場合、ヘルパーユニットのプライベートISAのエキソスケルトンコードは、第1シーケンサのシーケンサアウェア処理をサポートするようファームウェアにより実現されるマイクロコードルーチンのように動作する。他の実施例では、第1シーケンサと同一のISAの隔離されたシーケンサが、ヘルパーユニットの代わりに最小のFSMを実現するため、エキソスケルトンとして利用可能である。エキソシーケンサとヘルパーユニットの間のプライベートプロトコルは、必ずしも本来のISAに準拠している必要はないが、エキソスケルトンが第1シーケンサに自らとヘルパーユニットの集められた状態を提供するようにすなわち、異なるISAを有する、第1シーケンサはエキソスケルトンとやりとりすることが可能となる。ヘルパーユニットの状態は、エキソスケルトンシーケンサによって、エキソシーケンサの集められた状態に1:1又はM:1ただし、M>1の変換が可能である。再び、第1シーケンサのシーケンサ間処理をサポートするため、FSMを実現するコードシーケンスは、ヘルパーユニットハードウェアのマイクロコードベース制御と同様である。他の例では、エキソシーケンサは、I/Oロジックを備えた特別なASICブロックなど、何れのビルトイン制御シーケンシング何れかのISAを有するも有しない回線処理された固定機能ヘルパーデバイスを有するようにしてもよい。このようなヘルパーユニットについて、少なくとも1つの実施例では、エキソスケルトンは、固定機能ユニットに付属されるプロキシFSMを介し構成可能である。最小のシーケンサ状態の列挙及びクエリインタフェースは、ASICへの物理アクセスを有するエキソスケルトンFSMにより実現可能である。公開されたASIC状態は、エキソスケルトンシーケンサ状態に1:1又はM:1の変換が可能であり、エキソスケルトンFSMにより実現可能である。FSMロジックは、ASICブロックとのインタフェースとして物理的に実現されてもよい。他の実施例では、エキソスケルトンFSMは、プログラマブルマイクロコントローラシーケンサ又は配線処理されたASICブロックとすることが可能であるが、入力シナリオを入手し、出力シナリオを発信することが可能である。一実施例では、第1シーケンサと同一のISAの隔離されたシーケンサが、エキソスケルトンFSMを実現するのに動作可能であり、エキソスケルトンシーケンサは、ASIC状態への物理的アクセスを有し、エキソシーケンサとしての自らの状態に加えて、ASIC状態を論理的/構成的に集めるようにしてもよい。他の実施例では、第1シーケンサと異なるISAのシーケンサが、エキソスケルトンFSMを実現するよう動作可能である。何れのケースでも、エキソスケルトンシーケンサの隔離は、与えられたヘルパーユニットに静的に専用とされる物理シーケンサを確保することによって物理的に行うことが可能であり、又は各々が一意的なヘルパーユニットに論理的に関連する複数の論理的に隔離されたシーケンサとして動的に多重化されることも可能である。すなわち、エキソスケルトンシーケンサは、シーケンサアドレスバーチャル化のための何れか所望されるスキームを介したバーチャル化されたシーケンサとすることが可能である。一実施例では、アクセラレータは、第1シーケンサに関する非コヒーレントなスクラッチパッドメモリを有することが可能である。このようなヘルパーユニットをエキソシーケンサにするため、非コヒーレントなスクラッチパッド状態が、エキソシーケンサの公開されたすなわち、リスト可能な集められた状態の一部として変換可能である。スクラッチメモリサイズが十分大きい場合、エキソスケルトンは、対応するエキソシーケンサ状態の一部としてスクラッチ状態の限られた部分状態数が0であることを含むのみを対象とすることが可能である。例えば、アクセラレータが1キロバイトKb長のデータフレームを処理可能であっても、エキソシーケンサは、セーブ/リストアされるべき256バイトのバッファ状態を有するものとしてアクセラレータを公表するかもしれない。第1シーケンサとの間でデータを転送するためのDMADirectMemoryAccessプロトコルを利用するヘルパーユニットデバイスについて、一実施例では、ヘルパーユニットとエキソスケルトンとの間のプライベートプロトコルは、処理されていないDMAベースのものに維持することが可能であり、エキソシーケンサは、第1シーケンサにヘルパーユニットデバイスに対するDMAコンフィギュレーション状態とエキソスケルトンの集められた状態を提供することが可能である。このとき、エキソスケルトンに関するDMAコンフィギュレーションとエキソシーケンサ列挙/実現FSM状態は、コンテクストセーブ/リストアを受けることが可能である及びOSコンテクストスイッチを介しバーチャル化可能である。しかしながら、第1シーケンサは、特定の実現形態であるDMAコンフィギュレーション情報の何れも構成的に認識している必要はない。他の実施例では、エキソシーケンサユーザレベルアーキテクチャリソースとしてなど及びシステムレベル優先レベルなどデバイスリソースは、実際には、共通の物理的構成ブロックリソースを共有することが可能である。公表されたエキソシーケンサに対する論理状態は、システムレベル論理デバイスによってリード/ライトコマンドを介しアクセス可能な構成ブロックにおいて、同一の物理状態にリネームすることが可能である。物理ヘルパーユニットの内部では、リソースの分割は、静的又は動的に管理可能であり、ユーザレベルエキソシーケンサとシステムレベルデバイスの両方に対してISAに透過とすることが可能である。あるサーバプラットフォームには、ネットワークスタック計算をスピードアップするための暗号化/解読アクセラレータが設けられる。これらの暗号化エンジンは、通常は暗号化アクセラレータを制御するためのプログラマブルマイクロエンジンを有するネットワークプロセッサと物理的に接続されている。例えば、暗号化エンジンは、ハッシュテーブル計算における利用など、乱数生成装置又は擬似乱数生成装置を有するかもしれない。このような実現形態では、プロセッサマイクロエンジンは、エキソシーケンサとなるように、暗号化エンジンと接続されるエキソスケルトンFSMとして再プログラムされるかもしれない。一実施例では、隔離されたアクセラレータは、VMXVirtualMachineeXtensionベースのエミュレータのバーチャルマシーンモニタVMMを介しエミュレートすることが可能である。コンテクストセーブ/リストアを含む状態アクセス及び更新に対する入出力シナリオは、エキソシーケンサの集められた状態としてさらなるアーキテクチャ状態によるシーケンサのエミュレーションの先頭に実現されるかもしれない。エキソシーケンサから第1シーケンサへの非同期的なNOTIFY通知は、PROXYシナリオとして実現されるかもしれない。エキソスケルトンを介し、各種シーケンサ間の計算プリミティブを表すことが可能なさらなる入力シナリオが、エキソシーケンサFSMエミュレータを介しエミュレート又は通過可能であり、計算を促進するため、隔離されたそのままの物理リソースに配信可能である。効果的に、ヘルパーユニットのそのままの計算リソースの一部は、それらがユーザレベルMIMDシーケンサアーキテクチャリソースであるかのように、アプリケーションプログラムにより利用可能である。図5は、本発明の一実施例による方法のフロー図である。図5に示されるように、方法400は、プロセッサコアなどのシーケンサにより実現されるかもしれない。図5に示されるように、方法400は、アクセラレータからの信号のモニタリングをスタートするスタートモニタSEMONITOR命令などを実行することにより開始され、当該信号をシーケンサのイベントハンドラと関連付けるブロック405。具体的には、このような信号は、アクセラレータからのメッセージを示す識別又は通知信号であるかもしれない。アクセラレータは、異なるISAを有する命令シーケンサに関する異質なリソース又は非シーケンサであるかもしれない。従って、命令シーケンサとアクセラレータとの間の通信は、エキソスケルトンを介するものであるかもしれない。従って、アクセラレータから受信する信号は、エキソスケルトンを介しシーケンサにより受信されるかもしれない。ユーザレベルアプリケーションによる処理を実行するようアクセラレータを構成及び可能にするため、アプリケーションにより使用されるアーキテクチャリソースは、SXFRなどを介しアクセラレータに転送されるかもしれないブロック410。例えば、命令シーケンサは、レジスタ値に対応するシュレッドアーキテクチャ状態についての各種情報、コンフィギュレーション情報などをエキソスケルトンを介し転送するかもしれない。次に、命令シーケンサは、アクセラレータがユーザレベルアプリケーションのため1以上の処理を実行することが可能となるように、アクセラレータに対するコマンド情報を準備するようにしてもよいブロック415。例えば、命令シーケンサは、当該データに対して適用されるアクセラレータ及び/又は特定のアクセラレーション機能によって操作又は処理されるべきデータを有するコマンド情報を準備するようにしてもよい。このとき、当該コマンド情報は、SXFR命令の利用を含むなど、シーケンサ間プロトコルを介し通信されるかもしれないブロック420。より詳細には、当該プロトコルは、命令シーケンサのISAを有するものであるかもしれない。この情報は、基礎となるデータがアクセラレータにわたすことが可能となるように、プロトコルを変換可能なエキソスケルトンに当該プロトコルを利用して直接通信されるかもしれない。各種実施例において、このようなシーケンス間プロトコル通信を実現する各種方法が実行可能である。例えば、いくつかの実施例では、通信は、命令シーケンサとアクセラレータとの間の共有メモリバッファであるかもしれないバッファに格納された各作業要素に対する1以上の命令を有するかもしれない。他の実施例では、最小のコマンド情報が、命令ポインタIPなどの命令シーケンサから、アクセラレータ上で実行されることが所望されるコードセグメントに送信されてもよい。このとき、アクセラレータ自体がシーケンサであると仮定すると、アクセラレータは、指定された位置からコードをフェッチする処理を実現するかもしれない。コマンド情報が送信される粒度もまた、可変的なものとすることが可能である。例えば、コマンド情報は、異なる実施例では、コマンド毎に又はより大きな粒度により送信されるかもしれない。さらなる他の実施例では、第1シーケンサは、エキソスケルトンを介しメモリを通過することなく、ネーティブコマンドをアクセラレータに送信可能であり、その後、アクセラレータは、当該コマンドを直接実行することが可能である。さらに図5を参照するに、次に命令シーケンサは、命令シーケンサのコマンドの下、アクセラレータの処理とパラレルに直交独立したものなど処理を実行するかもしれないブロック425。すなわち、いくつかの実施例では、MIMD処理などのパラレル処理は、命令シーケンサとアクセラレータの両方が有用な作業をパラレルに実行可能となるように実行されてもよい。このように、命令シーケンサは、アクセラレータからの結果を待機する必要なく、その代わりに他の有用な作業を実行することが可能となる。もちろん、命令シーケンサは、関連する処理をパラレルに実行するようにしてもよい。次に、命令シーケンサがアクセラレータからイベントを受信したか判断されるかもしれないブロック430。このようなイベントは、アクセラレータにおけるタスクの状態又は完了を示す通知又は他のメッセージの形式を有するかもしれない。この判断は同期的なポーリングを介したものである必要はなく、この通知は非同期的及びイベントドリブンであってもよく、従って、非ポーリングベースであってもよいということに留意されたい。このようなイベントが430において受信されない場合、上述したように、コントロールはブロック425に戻る。他方、イベントが受信されると、命令シーケンサは、アクセラレータからのデータを受信及び処理するため、イベントハンドラ例えば、ブロック405においてSMONITORを介し本来登録されたものなどを起動するかもしれないブロック440。各種実現形態では、このイベントハンドラは、OSコール又はコンテクストスイッチのオーバーヘッドが回避されるように、軽いユーザレベルハンドラであってもよい。このように、処理を向上させることが可能であり、結果データはアクセラレータから取得可能であり、ユーザレベルアプリケーションによって所望されるように利用される。ハンドラへのコントロールの移行は、サスペンドされた実行がイベントハンドラ終了後に再開可能となるように、次の命令ポインタが記録スタックへのプッシュなどされた後に行われるかもしれない。図6は、本発明の実施例によるエキソスケルトンを備えたアクセラレータにおいて実行される処理に対応する方法のフロー図である。上述されたように、このアクセラレータは、シーケンサに関して異質な性質を有するかもしれない。従って、エキソスケルトンは、シーケンサ間プロトコル通信を提供することが可能である。ブロック410上述した図5のに応答して、アクセラレータは、シーケンサからシュレッドアーキテクチャ状態情報を受信するかもしれない。従って、アクセラレータは、この情報に基づき構成されるかもしれないブロック460。アクセラレータの異質な性質のため、エキソスケルトンは、このシーケンサ間通信を受信し、アクセラレータにより処理されるようにそれを変換するのに利用されるかもしれない。次に、ブロック420図5のに応答して、コマンド情報が、エキソスケルトンを介しシーケンサから受信されるかもしれないブロック465。このようなコマンド情報は、処理対象となるデータと共に、制御及び/又はコンフィギュレーション情報を有するかもしれない。従って、アクセラレータは、コマンド情報に従って処理を実行するかもしれないブロック470。これらの処理は、シーケンサが自らの処理を実行するのとパラレルに実行されるかもしれない。すなわち、シーケンサは、他の有用な作業を実行する前に、アクセラレータがそれの処理を終了するのを待機する必要はない。上述したように、シーケンサ及びアクセラレータにおける処理は、MIMD形式により実行されてもよく、いくつかの実現形態では、直交処理に対応するかもしれない。アクセラレータがそれの処理を終了すると、エキソスケルトンは、シーケンサに通知するブロック475。このとき、例えば、ユーザレベルイベントハンドラを開始する軽量なユーザレベルイールド機構など、ユーザレベルコードの制御の下、アクセラレータにおいて取得された各種結果に対応するデータが、エキソスケルトンを介しシーケンサに転送されるかもしれないブロック480。図5及び6の実施例におけるフローにより説明されたが、本発明の範囲はこれに限定されないということが理解されるべきである。本発明の実施例によるエキソシーケンサを利用して、異なるレベルのアブストラクションが実現可能である。例えば、いくつかの実現形態では、バーチャル又はCISCComplexInstructionSetComputing命令は、エキソスケルトンに送信され、その後、エキソスケルトンは、当該命令を第1シーケンサと異なるISAを有するシーケンサ又はシーケンサでないアクセラレータに対するネイティブな物理命令又はコマンドシーケンスに変換するため拡張を実行する。従って、アクセラレータのベーシックなコマンドセットが経時的に変更又は改良される場合、レガシーサポートが、依然としてこのようなアブストラクションレベルを介し提供することが可能である。このように、アクセラレータに対するパフォーマンスが、レガシーユーザレベルアプリケーションに対して向上するかもしれない。他の実現形態では、直接的な又はRISCReducedInstructionSetComputing命令が、シーケンサからアクセラレータハードウェア上で命令を直接実行することが可能なエキソシーケンサに送信されるようにしてもよい。多数の各種システムタイプにおいて、実施例が実現可能である。図7は、本発明の実施例によるシステムのブロック図である。図7に示されるように、マルチプロセッサシステム500は、ポイントツーポイントインターコネクトシステムであり、ポイントツーポイントインターコネクト550を介し接続される第1プロセッサ570と第2プロセッサ580を有する。図7に示されるように、プロセッサ570と580のそれぞれは、第1及び第2プロセッサコアすなわち、プロセッサコア574a及び574b並びにプロセッサコア584a及び584bを含むマルチコアプロセッサであってもよい。プロセッサ570と580のそれぞれはさらに、エキソシーケンサ、すなわち、第1エキソシーケンサ575と第2エキソシーケンサ585を有するかもしれない。上述したように、エキソシーケンサ575と585は、プロセッサコア570と580の残りのリソースに関して異質なリソースであるかもしれない。プロセッサ毎に1つのエキソシーケンサしか示されていないが、本発明の範囲がこれに限定されるものではないということが理解されるべきである。他の実施例では、与えられたプロセッサにおいて、複数のエキソシーケンサが提供されるかもしれない。さらに、1以上のエキソシーケンサが、プロセッサの各コアに関連付けされるかもしれない。第1プロセッサ570はさらに、メモリコントローラハブMCH572とポイントツーポイントP-Pインタフェース576と578を有する。同様に、第2プロセッサ580は、MCH582とP-Pインタフェース586と588を有する。図7に示されるように、MCH572と582は、これらのプロセッサを当該各プロセッサにローカルに付属するメインメモリの一部となりうる各自のメモリ、すなわち、メモリ532と534とを接続する。第1プロセッサ570と第2プロセッサ580は、それぞれP-Pインターコネクト552及び554を介しチップセットに接続されるかもしれない。図7に示されるように、チップセット590は、P-Pインタフェース594及び598を有する。さらに、チップセット590は、ハイパフォーマンスグラフィックスエンジン538とチップセット590を接続するインタフェース592を有する。一実施例では、AGPAdvancedGraphicsPortバス539が、グラフィックスエンジン538とチップセット590を接続するのに利用可能である。AGPバス539は、カリフォルニア州サンタクララのインテルコーポレイションによって1998年5月4日に公開されたAcceleratedGraphicsPortInterfaceSpecification,Revison2.0に準拠するようにしてもよい。あるいは、ポイントツーポイントインターコネクト539は、これらのコンポーネントを接続するものであってもよい。次に、チップセット590が、インタフェース596を介し第1バス516に接続されてもよい。一実施例では、第1バス516は、本発明の範囲がこれらに限定されるものではないが、1995年6月のPCILocalBusSpecification,ProductionVersion,Revision2.1によって規定されるようなPCIPeripheralComponentInterconnectバス、又はPCIExpressバスや第3世代I/Oインターコネクトバスなどのバスであってもよい。図7に示されるように、各種I/Oデバイス514が、第1バス516と第2バス520を接続するバスブリッジ518と共に第1バス516に接続されてもよい。一実施例では、第2バス520は、LPCLowPinCountバスであってもよい。各種デバイスは、第2バス520に接続されてもよく、一実施例では、コード530を格納可能なディスクドライブや他の大容量ストレージ装置などのデータストレージユニット528、通信装置526及びキーボード/マウス522などを含む。さらに、音声I/O524が、第2バス520に接続されてもよい。他のアーキテクチャもまた可能であることに留意されたい。例えば、図7のポイントツーポイントアーキテクチャの代わりに、システムは、マルチドロップバス又は他のそのようなアーキテクチャを実現するかもしれない。各実施例は、コードにより実現可能であり、命令を実行するようシステムをプログラムするのに利用可能な命令を格納した記憶媒体に格納されるようにしてもよい。記憶媒体は、以下に限定されるものではないが、フロッピー登録商標ディスク、光ディスク、CD-ROMCompactDiskRead-OnlyMemory、CD-RWCD-Rewritable及び光磁気ディスクを含む任意のタイプのディスク、ROM、RAMRandomAccessMemory、例えば、DRAMDynamicRAM、SRAMStaticRAM、EPROMErasableProgrammableROM、フラッシュメモリ、EEPROMElectricallyEPROM、磁気若しくは光カード、又は電子命令を格納するのに適した他の何れかのタイプの媒体を含むかもしれない。本発明が限られた実施例に関して説明されたが、当業者は、それから多数の改良及び変形を理解するであろう。添付した請求項は、そのようなすべての改良及び変形を本発明の真の趣旨及び範囲に属するものとしてカバーすることが意図されている。"