機能ユニットの間のルーティングのディレーに関する情報と、スケジューラーから受信したモジューロスケジューリングによる循環ループのステージ情報をもとに、オペランドを生成する機能ユニットとそのオペランドを消耗する機能ユニットの間のルーティング経路を表現するキューを有するプロセッサーモデルを生成するプロセッサーのモデリング部と;前記のプロセッサーモデリング部で生成されたプロセッサーモデルをもとにコンパイラーから入力されるバイナリファイルを模擬実行させた結果の値を出力するシミュレーション部;を含む再構成可能なプロセッサーのシミュレーション装置。請求項1において、前記のプロセッサーモデリング部が定義するキューは該当ルーティング経路のディレーとステージの起動間隔の比に相当する数のスロットを持つ再構成可能なプロセッサーのシミュレーション装置。請求項2において、前記シミュレーション部は各機能のユニットで生成されたオペランドを該当キューの最初のスロットに記録して、起動間隔毎に各スロットに記録された情報を隣接するスロットの間で遷移させる再構成可能なプロセッサーのシミュレーション装置。請求項1において、コンパイラーから入力されるバイナリファイルは、構成ファイルと実行ファイルを含む再構成可能なプロセッサーのシミュレーション装置。請求項1において、前記のシミュレーション装置は各ルーティングキューの動作についてのホスト向バイナリコードを保存するモデリングコードDBを含め、前記シミュレーション部は、前記のモデリングコードDBから抽出したホスト向バイナリコードから各ルーティングキューの接続を再構成して、シミュレーションを行う再構成可能なプロセッサーのシミュレーション装置。機能ユニットの間のルーティングのディレーに関する情報とスケジューラーから受信したモジューロスケジューリングによる循環ループのステージ情報をもとに、オペランドを生成する機能ユニットと消耗する機能ユニットの間のルーティング経路を表現するキューを有するプロセッサーモデルを生成するプロセッサーのモデリングの段階と前記のプロセッサーのモデリングの段階で生成されたプロセッサーモデルをもとにコンパイラーから入力されるバイナリファイルを模擬実行した結果の値を出力するシミュレーションの段階を含む再構成可能なプロセッサーのシミュレーション方法。請求項6において、前記のプロセッサーのモデリングの段階が定義するキューは該当ルーティング経路のルーティングのディレーと、ステージの起動間隔の比に相当する数のスロットを持つ持再構成可能なプロセッサーのシミュレーション方法。請求項7において、前記のシミュレーションの段階は各機能ユニットで生成されたオペランドを該当キューの最初のスロットに記録して起動間隔毎に各スロットに記録された情報を隣接するスロットの間で遷移させる再構成可能なプロセッサーのシミュレーション方法。請求項6において、前記のステージの情報は一循環のステージ分割の情報と、各ステージに関して割り当てられた機能ユニットと、オペランドを生成する機能ユニットとその生成されたオペランドを消耗する機能ユニットの間の関係についての特定の情報を含む再構成可能なプロセッサーのシミュレーション方法。請求項6において、コンパイラーから入力されるバイナリファイルは構成ファイルと実行ファイルを含む再構成可能なプロセッサーのシミュレーション方法。請求項6において、前記のバイナリファイルのシミュレーションの段階はバイナリファイルを読み込み各ルーティングキューの動作のホスト向バイナリコードを保存するためのモデリングコードDBから抽出された対応するホスト向バイナリコードを実行してシミュレーションを実行する再構成可能なプロセッサーのシミュレーション方法。プロセッサーが再構成可能なプロセッサーのシミュレーション方法を具現するようにするプログラムのコマンドが保存されたコンピュータで読み取られる記憶媒体において、前記の方法が;機能ユニットの間のルーティングのディレーに関する情報とスケジューラーから受信したモジューロスケジューリングによる循環ループのステージ情報をもとに、オペランドを生成する機能ユニットと消耗する機能ユニットの間のルーティング経路を表現するキューを有するプロセッサーモデルを生成するプロセッサーのモデリングの段階と前記のプロセッサーのモデリングの段階で生成されたプロセッサーモデルをもとにコンパイラーから入力されるバイナリファイルを模擬実行した結果の値を出力するシミュレーションの段階を含む再構成可能なプロセッサーのシミュレーション方法が保存されたコンピュータで読み取られる記憶媒体。機能ユニットの間のルーティングのディレーに関する情報と、スケジューラーから受信したモジューロスケジューリングによる循環ループのステージ情報をもとに、オペランドを生成する機能ユニットとそのオペランドを消耗する機能ユニットの間のルーティング経路を表現する抽象化された構造モデルを生成するプロセッサーのモデリング部と;前記のプロセッサーモデリング部で生成される抽象化された構造モデルをもとに、コンパイラーから入力されるバイナリファイルを模擬実行させた、結果の値を出力するシミュルレイション部;を含む再構成可能なプロセッサーのシミュレーター。請求項13のシミュレーターにおいて、バイナリファイルは再構成可能なプロセッサーの機能ユニットが特定のアプリケーションを実行するためにどのようにマッピングされるかに関する情報を有する構成情報を含むシミュレーター。請求項13のシミュレーターにおいて、バイナリファイルは所定の期間中に固定された構造を有する機能ユニットに基づいて再構成可能なプロセッサー内のそれぞれの機能ユニットによって実行されるコマンドを含む実行ファイルを有するシミュレーター。請求項13のシミュレーターにおいては、抽象化された構造モデルはオペランドを生成する機能ユニットのオペランドを消耗する機能ユニットにマッピングするキューを含むシミュレーター。請求項16のシミュレーターにおいて、一つの機能ユニットf1は時刻t1にオペランドを生成する時のキューは機能ユニットf1の目的地ポートdestinationportをそのオペランドを消耗する機能ユニットf2の出発地のポートsourceportにマッピングするシミュレーター。請求項13のシミュレーターにおいて、プロセッサーのモデリング部はスケジューラーから受信されるスケジューリング情報をもとに抽象化された構造モデルを更新するシミュレーター。CGLAプロセッサーのためのシミュレーターが提供される。提案するシミュレーターはサイクル精度が保証され、出力を正確に予測することが可能でありながら、高速の動作を可能にすることを目的にする。一般的な態様によると、機能ユニットの間のルーティングのディレーに関する情報とスケジューラーから受信したモジューロスケジューリングmoduloschedulingによる循環ループiterationloopのステージ情報stageinformationをもとに、オペランドを生成する機能ユニットとそのオペランドを消耗する機能ユニットの間のルーティング経路を表現するキューqueueを有するプロセッサーのモデルを生成するプロセッサーのモデリング部と、このプロセッサーのモデリング部で生成されたプロセッサーのモデルをもとにコンパイラーから入力されるバイナリファイルを模擬実行させ、結果の値を出力するシミュレーション部を含む再構成可能なプロセッサーのシミュレーション装置が提供される。プロセッサーのモデリング部が定義しているキューは該当ルーティング経路のルーティングのディレーと、ステージの開始間隔initiationintervalの比ratioに相当する数のスロットslotを持つことができる。シミュレーション部は各機能のユニットで生成されたオペランドをそのキューの最初のスロットに記録して、開始間隔毎に各スロットに記録された情報を隣接するスロットの間で遷移shiftさせることができる。コンパイラーから入力されたバイナリファイルは構成ファイルconfigurationfileと実行ファイルexecutionfileを含むことができる。シミュレーション装置は各ルーティングキューの動作のホスト向バイナリコードを保存するためのモデリングコードDBを含むことができ、シミュレーション部のモデリングのコードDBから抽出したホスト向バイナリコードから各ルーティングキューの接続を再構成してシミュレーションを行うことができる。もう一つの態様によると、機能ユニットの間のルーティングのディレーに関する情報とスケジューラーから受信したモジューロスケジューリングによる循環ループのステージ情報stageinformationをもとに、オペランドを生成する機能ユニットとを消耗する機能ユニットの間のルーティング経路を表現するキューを有するプロセッサーのモデルを生成するプロセッサーのモデリングの段階と、プロセッサーのモデリングの段階で生成されたプロセッサーのモデルをもとにコンパイラーから入力されるバイナリファイルをシミュレーションを実行させ結果の値を出力するシミュレーションの段階を有する再構成可能なプロセッサーのシミュレーション方法が提供される。プロセッサーのモデリングの段階が定義するキューはルーティング経路のルーティングのディレーとステージの開始間隔の比ratioに相当する数のスロットを持つことができる。シミュレーションの段階で各機能のユニットで生成されたオペランドをそのキューの最初のスロットに記録して開始間隔毎に各スロットに記録された情報を隣接するスロット間での遷移させることができる。ステージ上の情報は一循環iterationのステージ分割の情報と、各ステージ毎に割り当てられている機能ユニットと、オペランドを生成する機能ユニットと、その生成されたオペランドを消耗する機能ユニットの間の関係に関する特定の情報を含むことができる。コンパイラーから入力されたバイナリファイルは構成ファイルと実行ファイルをすることができる。バイナリファイルのシミュレーションの段階はバイナリファイルを読み込み各ルーティングキューの動作のホスト向バイナリコードを保存するためのモデリングコードDBから抽出された対応するホスト向バイナリコードを実行してシミュレーションを行うことができる。もう一つの態様によると、機能ユニットの間のルーティングのディレーに関する情報とスケジューラーから受信したモジューロスケジューリングによる循環ループのステージ情報をもとに、オペランドを生成する機能ユニットと消耗する機能ユニットの間のルーティング経路を表現するキューを含むようにプロセッサーをモデリングするプロセッサーのモデリングの段階と、プロセッサーのモデリングの段階で生成されたプロセッサーのモデルをもとにコンパイラーから入力されるバイナリファイルを模擬実行させ結果の値を出力するシミュレーションのステップを有する再構成可能なプロセッサーのシミュレーション方法が保存されたコンピュータで読み取り可能な記憶媒体が提供される。もう一つの態様によると、機能ユニットの間のルーティングのディレーに関する情報と、スケジューラーから受信したモジューロスケジューリングによる循環ループのステージ情報をもとに、オペランドを生成する機能ユニットとそのオペランドを消耗する機能ユニットの間のルーティング経路を表現する抽象化された構造architectureモデルを生成するプロセッサーのモデリング部と、プロセッサーのモデリング部で生成される抽象化された構造モデルをもとに、コンパイラーから入力されるバイナリファイルを模擬実行させ、結果の値を出力するシミュレーション部を含む再構成可能なプロセッサーのシミュレーターが提供される。バイナリファイルは、再構成可能なプロセッサーの機能ユニットが特定のアプリケーションを実行するためにどのようにマッピングされるかに関する情報を有する構成情報configurationinformationを含むことができる。バイナリファイルは所定の期間中に固定された構造を有する機能ユニットに基づいて再構成可能なプロセッサー内のそれぞれの機能ユニットによって実行されるコマンドを含む実行ファイルを含むことができる。抽象化された構造モデルはオペランドを生成する機能ユニットをオペランドを消耗する機能ユニットにマッピングするキューを含むことができる。一機能ユニットf1は時刻t1からのオペランドを生成する時にキューは機能ユニットf1の目的地ポートdestinationportをそのオペランドを消耗する機能ユニットf2の出発地のポートsourceportにマッピングすることができる。プロセッサーのモデリング部はスケジューラーから受信されるスケジューリング情報に基づいて抽象化された構造モデルを更新することができる。付加的な機能及び態様は後述する説明や図及び請求項から明らかになるはずである。提案されたシミュレーターは再構成可能なプロセッサーを対象に、単純化されたモデリングを通じてシミュレーションを高速に実行することが可能である。また、ホスト向バイナリコードをマッピングさせてシミュレーションをさらに高速で実行することができる。図面と詳細な説明で、特に違う方法で明示しない限り、同一な図面の符号は同一な構成要素と機能及び構造を指示することで理解される。構成要素間の相対的な大きさや描写は明確性や例又は便宜のために誇張されることもできる。以下の説明は記述された方法たち及びデバイスたち及び又はシステムの完全な理解を助けるために提供される。したがって、ここで記述された方法、デバイス、及び又はシステムの様々な変更や補完及び同等物などが当業者に提示されることができる。また、よく知られている機能や構成の説明が明確性や簡潔性のため省略することができる。図1は、再構成可能なプロセッサーをシミュレーションする時にされうるプログラムの開発システムの一形態を図示する。図1を参照すると、プログラム開発システムはコンパイラースケジューラー300とシミュレーター100を含んでいる。コンパイラースケジューラー300はメモリ510からの再構成可能なプロセッサーの構造情報と実行するプログラムソースを読み込む。コンパイラースケジューラー300はこれらをコンパイルしてスケジューリングschedulingし、その結果として実行ファイル930とプロセッサーの構成情報910をメモリに出力して保存する。シミュレーター100はこのコンパイラースケジューラー300からスケジューリング情報を入力されまたメモリから構成情報910及び実行ファイル930を読み込み実行ファイル930の動作をシミュレーションする。例えば、プログラム開発システムは携帯機器や家電機器に組み込むことができる。又はプログラム開発システムは携帯端末機器や組込システムや同様の機器に組み込むことができる。シミュレーター100は単一のコアプロセッサーやマルチコアプロセッサーによって実行されるプロセッシングをシミュレーションするために使用することができる。図1の例において、コンパイラー/スケジューラー300からシミュレーター100に入力されるバイナリファイル900は構成情報や設定ファイルと実行ファイルを含んでいる。このようなシミュレーションを通じてどのアプリケーションが特定の構造の再構成可能なプロセッサー上で実行される時にどれだけの性能を得ることができるかを予測することができ、また、デバッグを使ってより効率的な実行を可能するようにプログラムソース530を変更することができる。一実施形態において、構造情報510は例えば、再構成可能なプロセッサーの機能ユニットの構造、これらの間の経路接続情報などのデータ構造及び制御の流れcontrolflowの構造に関する情報を含んでいる。これに対して構成情報910はこのように特定の構造を持つ再構成可能なプロセッサーの機能ユニットの間の経路の接続が実際に特定のアプリケーションを実行するためにどのように接続できるのかに関する情報である。実行ファイル930は構成情報910によって一定期間固定された構造を持つ再構成可能なプロセッサーで各機能ユニットが実行すべきコマンドを含んでいる。構成情報とコマンドのコードは多くの場合、統合されて扱われることもある。すなわち、1クロックで処理されるべき構成情報と命令コードがメモリに隣接して、保存され、プロセッサーによって同時にフェッチfetchされる。例示的なプログラムの開発システムでシミュレーターでは、コンパイラースケジューラーからのスケジューリングに関する情報の入力を受け取ることができる。しかし、もう一つの例において、これらのスケジューリング情報はメモリ900に保存されシミュレーター100がメモリから読み込むこともできる。一態様によると、シミュレーター100は抽象化された構造モデルを利用する。このモデルは機能ユニットの間のオペランドのルーティング経路を内部結線ロジックinterconnectionlogicのシーケンスを使用して表現するのではなく、オペランドを生成する機能ユニットと、オペランドを消耗する機能ユニットの間のキューとしてモデリングする。これによって、シミュレーションサイクル毎にその動作を確認しなければならない内部結線を構成要素の数が大幅に減少するので、シミュレーション速度を向上させることができる。図2は、シミュレーターが付いて再構成可能なプロセッサーの一例を図示する。図2に図示されたように、一実施形態による再構成可能プロセッサーのシミュレーション装置はプロセッサーモデリング部110とシミュレーション部130を含んでいる。プロセッサーモデリング部110は機能ユニットの間のルーティングのディレーに関する情報と、スケジューラーから受信したモジューロスケジューリングによる循環ループのステージ情報をもとに、オペランドを生成する機能ユニットとそのオペランドを消耗する機能ユニットの間のルーティング経路をキューとして表現してプロセッサーをモデリングする。シミュレーション部130はこのプロセッサーモデリング部110から生成されたプロセッサーモデル113をもとに、コンパイラーから入力されるバイナリファイルを模擬実行し、結果の値を出力する。図示された実施形態において、プロセッサーモデリング部110、シミュレーション部130はプログラムとして具現されるが、これに限定されるわけではない。図示された実施形態において、プロセッサーモデル113及び構造情報510はメモリに保存されるデータ又はデータ構造だが、これらに限定されるわけではない。CGRAプロセッサーは機能ユニットの間の内部結線ロジックが珍しいsparseという特徴を持っている。その結果、機能ユニットの間で一つのサイクルの中でオペランドをルーティングするようにする経路pathが存在しない可能性もある。したがって、CGRAプロセッサーは一般的に一つのオペランドをルーティングするために2つ以上の内部結線の構成要素componentが使用されている。例えば、一つの機能ユニットが生成した値はレジスタファイル又はマルチプレクサ、あるいは他の機能ユニットを順次的に経てその値を消耗する機能ユニットに伝達される。CGRAプロセッサーのスケジューラーはコンパイル時間compiletimeにどのような演算operationをどのような機能ユニットの割り当てplaceさせるかを決定する。また、CGRAプロセッサーのスケジューラーは演算の間のオペランドをどのような内部結線の構成要素の接続chainを利用してルーティングroutingしてあげるかどうかを決定する。記述されているように、プロセッサーモデル113は機能ユニットの間のキューとしてモデリングする。たとえば、プロセッサーモデル113は機能ユニットの間のオペランドのルーティング経路を内部結線ロジックのシーケンスsequenceを使用して表現するのではなく、オペランドoperandを生成する機能ユニットとオペランドを消耗する機能ユニットの間のキューとしてモデリングする。たとえば、任意のオペランドがt1という時点で機能ユニットf1から生成され、t2という時点での機能ユニットf2で消耗されるとすると、このキューはt1時点でのf1の目的地ポートdestinationportとt2の時点でのf2出発地ポートsourceportをつなぐキューにモデリングされる。図4は、既存の構造モデルarchitecturemodelの一例を例示する。点線で表示される領域は意味があるオペランドが存在しない区間で、黒色に塗られた部分は機能ユニットf1が生成されたオペランドの流れを、実線で表示された領域は機能ユニットf2が生成されたオペランドの流れを図示する。たとえば、機能ユニットf1乃至f4は、ALUarithmeticandLogicalUnitを示し、機能ユニットu1はローカルレジスタファイルlocalregisterfileを示す。時刻tで、機能ユニットf1が生成した第1オペランドはf1機能ユニットの出力バッファに到達する。時刻t1でこの第1オペランドは機能ユニットu1の入力バッファに到達して内部にラッチされる。同時に機能ユニットf2から演算された第2のオペランドがf2機能ユニットの出力バッファに達する。時刻t2で、機能ユニットf1から生成された第1オペランドは機能ユニットu1の出力バッファに到達し、機能ユニットf4の左側の入力バッファにラッチされる。また、機能ユニットf2で生成された第2のオペランドは機能ユニットu1の入力バッファに到達して、内部にラッチされる。その後、時刻t3での機能ユニットu1にラッチされていたオペランドは機能ユニットu1の出力バッファに到達し、機能ユニットf4の右側の入力バッファにラッチされる。すなわち、機能ユニットf1で時刻tに生成された第1オペランドは機能ユニットu1を経て、時刻t2に機能ユニットf4に到達して、消耗の準備状態に達する。また、機能ユニットf2での時刻t1で生成された第2のオペランドは機能ユニットu1を経て、時刻t3で機能ユニットf4に到達して、消耗の準備状態に達する。この時の機能ユニットf4で両方のオペランドの演算は時刻t3に行われる。したがって、機能ユニットf1で生成された第1オペランドは機能ユニットf4で消耗されるまで、三クロックが必要となり、機能ユニットf2で生成された第2オペランドは機能ユニットf4で消耗されるまで2つのクロックが必要となる。図5は、一つのプロセッサーに適用されるためのモデリング方法の一つの例を図示する。図5を参照すると、機能ユニットf1乃至f4では入力バッファは省略された。また、ローカルレジスタファイルはディレーの程度に相当するスロットが付いているキューにモデリングされた。オペランドのルーティングキューは意味があるオペランドの伝達を目的として存在するので、シミュレーターはそのオペランドのルーティングのために使用される内部結線の構成要素として、意味があるオペランドに対応するキューだけを考慮する。これは毎サイクル毎に考慮しなけばならない内部結線の構成要素の数を減らしてシミュレーション時間を向上させる。図5に図示されたように、シミュレーターは4つの機能ユニットを含む再構成可能なプロセッサーアレイの処理をシミュレーションする。しかしこれは例示的な目的に過ぎない。再構成可能なプロセッサーアレイはたとえば、2個、4個、8個、12個、16個、24個又はその以上の多数の機能ユニットを含むことができる。このように、データフローグラフdataflowgraphを反映して構造モデルを生成するために実際にデータフローグラフの構造にどのようにマッピングされたかを示す情報を使用することができる。一態様によると、このような情報はスケジューラーから供給することができる。スケジューラーはデータフロー上に存在するコンポーネントのソース演算sourceoperationと、結果値の演算destinationoperationのスケジューリング情報を生成し、これをシミュレーターに提供することができる。CGRAプロセッサーのスケジューリング方式にはリストスケジューリングlistscheduling方式とモジューロスケジューリング方式が可能である。一態様によって一般的なリストスケジューリング方式を利用する場合ルーティングのキューroutingqueueは一つのバッファとして具現することができる。すなわち、オペランドを生成するコンポーネントの値を生成する時点でバッファに生成された値を消耗し、オペランドを消耗するコンポーネントが消耗する時点でバッファから値を読み取るようにすることにより、ルーティングのキューを具現することができる。モジューロスケジューリングはソフトウェアパイプライン処理に該当する。モジューロスケジューリングはループの異なる循環をインターリビングinterleavingのコマンドスケジューリングの一形態である。ソフトウェアのパイプライン処理はループの異なるサイクルの実行を重畳することで性能が向上する。一循環は以前の循環の完了前に始めることができる。循環が開始されている区間は起動間隔initiationintervalと呼ばれる。ソフトウェアパイプライン処理の最適化の一つの目的は循環を重ね合わせて最短の起動間隔を使用することだ。モジューロスケジューリングのフレームワークframeworkでは、ループレベル並列処理looplevelparallelismを利用するためにソフトウェアパイプライニングsoftwarepipeliningの手法を用いて、複数のループの循環loopiterationを重ねて実行するオーバーラップドスケジュールoverlappedscheduleを生成することができる。生成されたスケジュールでの一循環は複数のステージに区分され、各ステージはすべて起動間隔ほどの実行サイクルを備える。そして、起動間隔のサイクルの中にはお互いに異なるループの循環からそれぞれ別のステージに該当する演算が重ね合わせてoverlap、スケジュールされることになる。結果的に、モジューロスケジューリングのフレームワークは起動間隔毎に異なる循環経路に有する同じ演算を繰り返して実行するようにするスケジュールを生成する。ループの循環が重なるためオペランドのルーティング経路で消耗されるサイクルの数が起動時間を超過した場合はキューに有する値が上書きoverwritingされ、その値を消耗するコンポーネントが到達する前に消えてしまうことがある。図6は、CGRAプロセッサーのモジューロスケジューリングの一例を図示する。図7は図6のCGRAプロセッサーが4つのステージで構成されている循環ループを実行する時各機能ユニットの処理の流れを図示する。図6に4つの機能ユニットはそれぞれの一循環を構成する一つのステージの実行を担当し、それぞれの前のステージで入力されたデータを処理して次のステージに出力する、すなわちソフトウェアのパイプライン方式の処理を実行する。図7を参照すると、時刻tで機能ユニットf1は最初の循環ループの最初のステージを処理し、機能ユニットf2、f3、f4は前段階で処理された結果を待っている。時刻t1での機能ユニットf1は二番目の循環ループの最初のステージを処理し、機能ユニットf2は機能ユニットf1からの最初の循環ループの1stステージの処理結果を入力を受けて最初の循環ループの二番目のステージを処理し、機能ユニットf3、f4は前段階で処理された結果をまだ待っている。時刻t2で機能ユニットf1は三番目の循環ループの最初のステージを処理し、機能ユニットf2は機能ユニットf1から二番目の循環ループの最初のステージの処理結果を入力を受けて二番目の循環ループの二番目のステージを処理し、機能ユニットf3は機能ユニットf2から最初の循環ループの二番目のステージの処理結果を入力受けて最初の循環ループの三番目のステージを処理し、機能ユニットf4は前段階で処理された結果をまだ待っている。時刻t3で機能ユニットf1は四番目の循環ループの最初のステージを処理し、機能ユニットf2は機能ユニットf1から三番目の循環ループの最初のステージの処理結果を入力受けて第三の循環ループの二番目のステージを処理し、機能ユニットf3は機能ユニットf2から二番目の循環ループの二番目のステージの処理結果を入力受けて二番目の循環ループの三番目のステージを処理し、機能ユニットf4は機能ユニットf3からの最初の循環ループの三番目のステージの処理結果を入力受けて最初の循環ループの四番目の一ステージを処理する。図7に図示された実施形態において、各クロックサイクルは一個の起動間隔に相当する。最初のクロックサイクルは最初の起動間隔に相当し、二つ目のクロックサイクルは二番目のブーツの間隔に相当し、三つ目のクロックサイクルは三番目のブーツの間隔に相当し、四回のクロックサイクルは四番目の起動間隔に相当する。このようなモジューロスケジューリングのフレームワークで生成された結果を一態様によるプロセッサーモデルを利用いてシミュレーションする場合、ルーティングのキューを一つのバッファとして具現するとオペランドのルーティング経路operandroutingpathで消耗されるサイクルが起動間隔を超えている場合についてオペランドを消耗するコンポーネントがシミュレーションされる前にキューに入っている値は上書きされている場合が発生することになる。オペランドを生成する構成要素は始動間隔毎に新しい値をルーティングキューに記録するためである。記述されているように、プロセッサーモデリング部110が定義するキュー図2参照は該当ルーティング経路のルーティングのディレーとステージの起動間隔の比に相当する数のスロットを持つ。さらにシミュレーション部130は各機能ユニットから生成されたオペランドを該当キューの最初のスロットに記録して、起動間隔毎に各スロットに記録された情報を隣接するスロット間での遷移させる。具体的にはモジューロスケジューリングのフレームワークでシミュレーションをする場合ルーティングのキューは天井ceiling値、すなわちルーティングディレー値起動間隔routingdelayinitiationintervalほどのスロットとして具現される。このルーティングキューはひとつひとつ起動間隔毎に以前のスロットの値を次のスロットに遷移させ、オペランドを消耗するコンポーネントはルーティングのキューの最後のスロットにある値を読んで来る。図8は一態様によって、モジューロスケジューリングされた結果に適用することができる一実施形態によるプロセッサーモデル113を図示する。この例において始動間隔は2サイクルになるようにスケジュールされたと仮定する。2つのオペランドの両方がルーティングディレー値routingdelayが起動間隔よりも大きいので、それぞれのルーティングのキューは2つのスロットに分けられるようになる。前述したように機能ユニットは始動間隔毎に新しい値を生成するため、シミュレーション部130は始動間隔が経過した後、以前に生成された値をルーティングキューの次のスロットに移してくれる。このように各オペランド別のルーティングのキューを管理することによって、シミュレーション部130はモジューロスケジューリングされた結果につきましても正確な動作を再現することができる。図3は、シミュレーター100を持っていて再構成可能プロセッサーのもう一つの実施形態を図示する。図3を参照するとシミュレーション装置100は各ルーティングキューの動作に関するホスト向バイナリコードを保存するモデリングコードDB131をさらに含むことができる。シミュレーション部130は、バイナリファイルを読み込み、このモデリングのコードDB131から抽出されて対応するホスト向バイナリコードを実行して、シミュレーションを行う。また、シミュレーション装置はモデリングコードDB131から抽出したホスト向バイナリコードから各ルーティングキューの接続を再構成して、シミュレーションを行うことができる。図示された実施形態においてスケジューラー330及びプロセッサーモデリング部110、構造情報510、及びプロセッサーモデル113は図2に図示された実施形態のそれと類似している。バイナリの翻訳Binarytranslation技術を使用してシミュレーター上でターゲットtargetになる機械machineのコマンドバイナリコードinstructionbinaryをそれと同等の動作をするホストマシンhostmachineのバイナリコードbinaryで置換した後、同じコードブロックcodeblockをシミュレーションする時は、前に置換したホストマシンのバイナリコードを実行させることにより、シミュレーション速度を速くすることができる。プログラムカウンタprogramcounterが指しているアドレスに対応する値をコマンドメモリinstructionmemoryで読んで来て実行する一般的なプロセッサーと同様に、CGRAプロセッサーは毎サイクルごとに構成のメモリconfigurationmemoryの特定の番地から構成データを読み込んで、各構成要素ごとに、そのサイクルで構成データを指示している動作を実行することができる。一態様によると、構成のメモリのそれぞれのアドレスごとに、構成データのホストのバイナリコードが生成される。以後同じ構成のメモリのアドレスに存在する構成データのシミュレーションを行う際には、以前に生成しておいたホストのバイナリコードを使用してシミュレーションを行うことができる。図3に図示された実施形態にあって、一態様によるプロセッサーの構造モデル113にバイナリ変換が適用される。たとえば、実際のプロセッサーアーキテクチャに存在する内部結線ロジックの動作behaviorに対するホストのバイナリコードを生成することの代りに、ルーティングのキューの動作をモデリングするバイナリコードが保存される。データフローグラフdataflowgraph上の動作operationがマッピングmappingされている構成要素が、その生成消耗された値を別の内部結線の構成要素を通じて送受信されるものと記述する代りにルーティングのキューを利用することで記述を与える。一方、ルーティングのキューの動作につきましては、始動間隔が経つごとにキューに存在する値を次のスロットに渡す部分だけをモデリングしてくれればいいのでバイナリの翻訳を難しくないように適用することができる。図3に図示された実施形態において、モデリングコードDB131は構成のメモリに対応して各アドレスごとに構成データへのホストのバイナリコードが保存される。この構成データはデータフローグラフ上で各構成要素の間のルーティングのキューの動作を記述するデータである。シミュルレイション部130はモデリングコードDB131からの読み込んだこのホストのバイナリコードによってプロセッサーモデル113を再構成し、バイナリファイル900上で実行ファイルを読み込んで再構成されたプロセッサーモデル113をもとにシミュレーションを行う。抽象化された構造モデルは実際の構造及びデータフローグラフをモデリングしたことから導出した構造のグラフで見ることができる。抽象化された構造モデルにあってデータフローグラフの上に存在するそれぞれのエッジはキューにモデリングすることができる。たとえば、抽象化された構造モデルは実際のモデルでデータフローグラフのエッジがマッピングされる構成要素をキューに抽象化し、また、データフローグラフのノードがマッピングされる機能ユニット、定数のユニットのような構成要素はそのまま維持するために使用されることができる。これにより、アプリケーションの動作に影響を与えないか影響がほとんどない内部結線の構成要素は削除されることができ、データフローのエッジに対応するオペランドをルーティングするために使用される一連の内部結線を構成要素が単純化することができる。前述した実施形態から明らかなように、一態様による再構成可能なプロセッサーのシミュレーション方法はルーティング経路をキューで表現してプロセッサーをモデリングする段階を含んでいる。これらのモデリングの段階は機能ユニットの間のルーティングのディレーに関する情報とスケジューラーから受信したモジューロスケジューリングによる循環ループのステージ情報をもとに、オペランドを生成する機能ユニットと消耗する機能ユニットの間のルーティング経路をキューで表現してプロセッサーをモデリングする。シミュレーションの段階ではモデリングの段階で生成されたプロセッサーモデルをもとにコンパイラーから入力されるバイナリファイルを模擬実行させ、結果の値を出力することができる。プロセッサーのモデリングの段階が定義するキューは解党ルーティング経路のルーティングのディレーとステージの起動間隔の比に相当する数のスロットを持つ。また、各シミュレーション段階で各機能のユニットで生成されたオペランドをそのキューの最初のスロットに記録して、起動間隔毎に各スロットに記録された情報を隣接するスロット間での遷移させる。ステージ情報は一循環のステージ分割の情報と各ステージごとに割り当てられている機能ユニットとオペランドを生成する機能ユニットとその生成されたオペランドを消耗する機能ユニットの間の関係に関する特定の情報を含んでいる。また、コンパイラーから入力されるバイナリファイルは構成ファイルと実行ファイルを含むことができる。もう一つの実施例においてシミュレーションの段階はバイナリファイルを読み込み各ルーティングキューの動作に対するホスト向バイナリコードを保存するためのモデリングコードDBから抽出された対応するホスト向バイナリコードを実行してシミュレーションを行うことができる。前述のプロセスと、機能、方法及び又はソフトウェアは一つあるいはそれ以上のコンピュータが読み取り可能な記憶媒体に記録することができる。この記憶媒体はコンピュータによってプロセッサーが実行するか又は実行するように具現されたプログラムコマンドを含んでいる。また、この媒体はプログラムのコマンドと組み合わせて又は単独で、データファイル、データ構造又はごれと同様のことを含むことができる。コンピュータが読み取られる記憶媒体の例はハードディスク、フロッピー登録商標ディスクや磁気テープなどの磁気媒体と、CDROMディスクやDVDなどの光学媒体、光ディスクなどの磁気光学媒体、そして、ROM、RAM、フラッシュメモリなどのプログラムコマンドを保存して実行するように特別に構成されたハードウェア機器などを含むことができる。プログラムコマンドの例はコンパイラーによって生成された機械コードやインタープリタを使用してコンピュータが実行することができる高水準言語を含むファイルがなどがある。説明されたハードウェア機器は前述した方法又は私の動作を実行するために、一つあるいはそれ以上のソフトウェアモジュールで動作するように構成することができその逆も可能である。さらにコンピュータが読み取られる記憶媒体はネットワークを通じて接続されたコンピュータシステムの間で配布されることができ、コンピュータが読み取られるコードやプログラムのコマンドは非集中されたdecentralized方式で保存され、実行されることができる。限定的な例ではないが、前述した端末装置は携帯電話、PDA、デジタルカメラ、携帯ゲーム機、MP3プレーヤー、携帯用個人用マルチメディアプレーヤー、携帯電子ブック、個人用ラップトップコンピュータ、GPSナビゲーション、そしてデスクトップPCなどの機器たち、HDTV、光ディスクプレーヤ、セットトップボックスのように、前述した通信方式と両立する無線又は有線の通信が可能な機器を目指している。コンピューティングシステム又はコンピュータはバスによってユーザーのインターフェイス及びメモリコントローラと電気的に接続されたマイクロプロセッサーを含むことができる。また、フラッシュメモリ機器を含むことができる。フラッシュメモリ機器はメモリコントローラを通じてNビットのデータを保存することができる。Nビットのデータはマイクロプロセッサーによって処理され、Nは1又はその以上の整数になることができる。コンピューティングシステム又はコンピュータが移動機器である場合には、バッテリが付加的に提供され、コンピューティングシステム又はコンピュータの動作電圧を供給することができる。当業者ならコンピューティングシステム又はコンピュータは応用のチップセット、カメラのイメージプロセッサーcameraimageprocessor:CIS、DRAMのようなものがより多く含まれることが明らかである。メモリコントローラとフラッシュメモリ機器はデータを保存する不揮発性メモリを使用するSSDsolidstatedrivediskを構成することができる。多くの実施形態が記述されているが、さまざまな明らかな変更が可能である。たとえば、説明している手法が異なる順序で実行されるか、及び又は、前述したシステム、構造、機器、回路の構成要素が相違する方式で結合されるか、及び又は、その他の構成要素やその同等物で置換又は補足されることによって適切な結果を達成することもできる。これらの具現例は後述する請求項の範疇に含まれるように意図された。