"複数の割り込みに応答して、システム上で実行されるソフトウェアのアーキテクチャデータを周期的に収集するべく、前記システムのファームウェアを使用する段階と、前記アーキテクチャデータのフォーマットを、シミュレータに関連付けられたフォーマットへと変換する段階と、前記アーキテクチャデータを前記シミュレータで再生する段階と、前記シミュレータから、前記ソフトウェアに対応する障害情報を取得する段階とを備え、前記アーキテクチャデータは、ステートデータ及びイベントデータを含む方法。前記ソフトウェアのオペレーションによってアクセスされる1以上のアドレスを特定する段階と、前記1以上のアドレスを、前記ソフトウェアに対応する実行データとパッケージ化する段階とを更に備える請求項1に記載の方法。前記障害情報に基づいて、デバッグオペレーション、検証オペレーション及び最適化オペレーションのうちの少なくとも1つを実行する段階を更に備える請求項1に記載の方法。マルチコアプロセッサ及びマルチスレッドプロセッサのうちの少なくとも1つを含むシステムで実行されるソフトウェアについて、前記アーキテクチャデータが収集される請求項1に記載の方法。命令のセットを備えるコンピュータ可読記憶媒体であって、前記命令のセットは、プロセッサによって実行されると、コンピュータに、システム上で実行されるソフトウェアのアーキテクチャデータを収集させ、前記アーキテクチャデータをシミュレータで再生させ、前記ソフトウェアに対応する障害情報を前記シミュレータから取得させるコンピュータ可読記憶媒体。前記命令は、実行されると、前記コンピュータに更に、前記アーキテクチャデータを収集するべく前記システムのファームウェアを使用させる請求項5に記載のコンピュータ可読記憶媒体。前記アーキテクチャデータは、ステートデータ及びイベントデータのうちの少なくとも一つを含み、前記イベントデータは、メモリトランザクションデータを含む請求項5に記載のコンピュータ可読記憶媒体。前記命令は実行された場合に、前記コンピュータに更に、前記ソフトウェアのオペレーションによってアクセスされる1以上のアドレスを特定させ、前記1以上のアドレスを前記ソフトウェアに対応する実行データとパッケージ化させ、前記1以上のアドレスは、線形アドレス及び物理アドレスのうちの少なくとも1つを含む請求項7に記載のコンピュータ可読記憶媒体。前記命令は実行された場合に、前記コンピュータに更に、複数の割り込みに応答して、前記アーキテクチャデータを周期的に収集させる請求項5に記載のコンピュータ可読記憶媒体。実行された場合に、前記命令は前記コンピュータに更に、前記障害情報に基づいて、デバッグオペレーション、検証オペレーション及び最適化オペレーションのうちの少なくとも1つを実行させる請求項5に記載のコンピュータ可読記憶媒体。前記命令は実行された場合に、前記コンピュータに更に、前記アーキテクチャデータのフォーマットを、前記シミュレータに関連付けられたフォーマットへと変換させる請求項5に記載のコンピュータ可読記憶媒体。前記システムは、マルチコアプロセッサ及びマルチスレッドプロセッサのうちの少なくとも1つを含む請求項5に記載のコンピュータ可読記憶媒体。システム上で実行されているソフトウェアのアーキテクチャデータを収集する段階と、前記アーキテクチャデータをシミュレータで再生する段階と、前記シミュレータから、前記ソフトウェアに対応する障害情報を取得する段階とを備える方法。前記アーキテクチャデータを収集するべく、前記システムのファームウェアを使用する段階を更に備える請求項13に記載の方法。前記アーキテクチャデータは、ステートデータ及びイベントデータのうちの少なくとも1つを含み、前記イベントデータは、メモリトランザクションデータを含む請求項13に記載の方法。前記ソフトウェアのオペレーションによってアクセスされる1以上のアドレスを特定する段階と、前記1以上のアドレスを前記ソフトウェアに対応する実行データとパッケージ化する段階とを更に備え、前記1以上のアドレスは、線形アドレス及び物理アドレスのうちの少なくとも1つを含む請求項15に記載の方法。複数の割り込みに応答して、前記アーキテクチャデータを周期的に収集する段階を更に備える請求項13に記載の方法。前記障害情報に基づいて、デバッグオペレーション、検証オペレーション及び最適化オペレーションのうちの少なくとも1つを実行する段階を更に備える請求項13に記載の方法。前記アーキテクチャデータのフォーマットを、前記シミュレータに関連付けられたフォーマットへと変換する段階を更に備える請求項13に記載の方法。マルチコアプロセッサ及びマルチスレッドプロセッサのうちの少なくとも1つを含むシステムで実行されるソフトウェアについて、前記アーキテクチャデータが収集される請求項13に記載の方法。実施形態は、システムで実行されるソフトウェアのアーキテクチャデータを収集する方法について記載している。アーキテクチャデータは、シミュレータで再生されてもよく、この場合、ソフトウェアに対応する障害情報をシミュレータから取得可能である。その他の実施形態は、格納された命令のセットを有するコンピュータ可読記憶媒体を含んでもよく、命令がプロセッサによって実行されると、コンピュータが、システム上で実行されるソフトウェアのアーキテクチャデータを収集し、当該アーキテクチャデータをシミュレータで再生する。また、命令により、コンピュータが、シミュレータからソフトウェアに対応する障害情報を取得してもよい。実施形態は更に、複数の割り込みに応答して、システム上で実行されているソフトウェアのアーキテクチャデータを周期的に収集するべく、システムのファームウェアが使用される方法を提供することができる。アーキテクチャデータは、ステートデータ及びイベントデータを含んでもよい。アーキテクチャデータのフォーマットは、シミュレータと関連付けられたフォーマットへと変換されてもよく、アーキテクチャデータはシミュレータで再生可能である。方法はまた、シミュレータから、ソフトウェアに対応する障害情報を取得する方法を提供してもよい。図1には、システム上で実行されるソフトウェアを評価するスキーム10が示されている。スキーム10は、評価を行うソフトウェアのデバック、検証及び最適化のような広範囲なオペレーションを、サポート、監視及び/又は強化するのに使用されてもよい。また、ソフトウェアが実行されるシステムは、ラップトップ、パーソナルデジタルアシスタントPDA、モバイルインターネットデバイスMID、無線スマートフォン、メディアプレーヤ、イメージングデバイス等、又は、これらの組み合わせであるモバイルプラットフォームを含んでもよい。システムはまた、パーソナルコンピュータPC、サーバ、ワークステーション等の固定プラットフォームの一部であってもよい。一般的に、図示されるスキーム10は、シリコン実行シーケンス12及びシミュレータ実行シーケンス14を含む。シリコン実行シーケンス12は、汎用プロセッサ、固定機能ハードウェア例えば、埋め込みマイクロプロセッサ等の1以上のコアのような集積回路によって、ソフトウェア実行と関連付けられてもよく、集積回路は、特定用途向け集積回路ASIC、相補型金属酸化膜半導体CMOS、トランジスタ-トランジスタロジックTTL技術又はこれらの組み合わせのような回路技術を使用して形成されてもよい。一例として、マルチスレッド環境又はマルチコア環境のような複雑な実行環境により、ソフトウェアは多くの相互作用及び依存関係を有する。図示の例では、システムが試験されている状態であり、実行処理ブロック16のシステム上のソフトウェアの実行から開始する。矢印1818a~18bは、周期的又はその他のベースで割り込みを発行することを表しており、割り込みにより、ダンプハンドラ20によるアーキテクチャステートデータ22の収集を開始させることができる。収集されたアーキテクチャステートデータ22は、システムアーキテクチャの様々な側面に関するデータを含むことができ、例えば、命令フェッチユニット、命令デコーダ、キャッシュ、実行ユニット、レジスタ等が挙げられる。ソフトウェアの実行は次の実行処理ブロック30及び34に移り、イベント収集処理ブロック26及び32それぞれを介して、アーキテクチャイベントデータ24を収集することができる。アーキテクチャイベントデータは、メモリトランザクションデータ例えば、ロード-ストアデータ及びその他のデータを含んでもよい。図示のシーケンス12は、ブロック28において障害点に遭遇するまで続く。図2には、メモリトランザクションデータを収集する方法42が示されている。方法42は、ロジック命令のセットとしてメモリの機械又はコンピュータ可読媒体に格納されている実行可能ソフトウェアに実装されてもよく、メモリの例として、ASIC、CMOS、TTL技術又はこれらの組み合わせのような回路技術を使用した固定機能ハードウェア内のランダムアクセスメモリRAM、リードオンリーメモリROM、プログラマブルROMPROM、フラッシュメモリ等がある。例えば、方法42で示されたオペレーションを実行するコンピュータプログラムコードは、Java登録商標、Smalltalk、C等のオブジェクト指向プログラミング言語、及び、Cプログラミング言語のような従来の手続き型プログラミング言語、又は、同様なプログラミング言語を含む1以上のプログラミング言語の任意の組み合わせで書かれていてもよい。一方で、方法42に示したオペレーションを実行するのに、固定機能ハードウェア、又は、アセンブリ言語プログラミング又は機械コードのような低レベルファームウェア命令を使用してもよい。上記のアーキテクチャステートダンプハンドラ20のオペレーション、アーキテクチャイベント収集ブロック26、32、及び、割り込み矢印インスタンス18図1は、試験を行うシステムのファームウェア例えば、カスタムマイクロコードで全て自動化されてもよい。この場合、例示した手法では、被試験ソフトウェアの障害情報を取得するのに、手動によるデバッグ又は複雑なロジック解析器を使用する必要がない例えば、外部測定器等を使用しないプローブレスprobelessテスト構成を提供する。図示されている処理ブロック44では、メモリトランザクションデータ収集ファームウェアがイネーブルされているか否かを判断する。イネーブルされている場合には、テストソフトウェアのオペレーションによってアクセスされる1以上のアドレスが、ブロック46において特定及び収集されてもよい。収集は、各メモリアクセスにおける物理的アドレス及び線形アドレスを含んでもよい。各メモリアクセスを試みた実行フローにおける命令のようなその他の実行データ、及び、ロードオペレーション例えば、フラグ、レジスタ等に対する変更の場合、各メモリオペレーションの結果のようなその他の実行データについても、収集してもよい。ブロック48では収集されたアドレス及び実行データのパッケージ化が行われ、ブロック50では、以下に説明するように、シミュレータに対する次の変換及び伝送についてのパッケージ化された情報の格納が行われる。更に、ブロック52では、試験中のソフトウェアのマクロオペレーション又はマイクロオペレーションのフローに変更を行うことなく、メモリオペレーションを停止させることができる。図1に示すように、収集されたアーキテクチャステートデータ22及びイベントデータ24を、シミュレータに関連付けられたフォーマットへと変換することができ、シミュレータ処理ブロック36では、シミュレータを収集されたアーキテクチャステートデータ22で初期化する。アーキテクチャシミュレータの例としては、これに限定されないが、米国、ニューハンプシャー州、ナシュアのGambitCommunications社のMIMIC商標シミュレータ、Botchsオープンソースエミュレータ例えば、BotchsIA-32エミュレータ、v2.4.5、2010年4月25日、Geeknet,Inc.、及び、QEMUオープンソースエミュレータ例えば、QEMUv0.12.4、2010年5月4日が挙げられる。処理ブロック38では、収集されたイベントデータ24を使用してシミュレータでソフトウェアを再生し、ブロック40において、テスト中のソフトウェアの障害情報をシミュレータから得ることができる。障害情報を使用して、デバッグオペレーション、検証オペレーション及び最適化オペレーションのような更なるオペレーションを実行することができる。例えば、システムデバッグ利用モデルでは、アーキテクチャ返答により、ソフトウェア障害として分類される問題の迅速なトリアージが可能となる。副産物として、より詳細なデバッグが必要となる問題の分離が存在する。環境及びBIOSbasicinputoutputsystem関連の原因から生じる障害の問題についても、例示の手法を使用して特定可能である。検証の場合、特に、マルチコア/マルチスレッド環境で動作すると同時に、障害情報は、相互運用性及び/又は互換性に対して影響を有する場合がある。この点について、表面化する問題としては、これらに限定されないが、複数のコア/スレッド間にわたる同期の問題、プロセッサ間のロード/格納問題、プロセッサ内の割り込みの順番等が挙げられる。この場合、アーキテクチャ返答は、存在する障害についての根本的原因の迅速な解析を容易にすることができる。更に、例示された手法をソフトウェア開発キットに組み込んで、このキットとその他のツール、例えば、コンパイラ及びスレッドツールを結びつけて、機器製造者及びソフトウェアベンダがソフトウェアツールチェーンを実現及び最適化可能としてもよい。図3には、ラップトップ、PDA、MID、無線スマートフォン、メディアプレーヤ、イメージングデバイス等のモバイルプラットフォーム、又は、これらの組み合わせの一部であってもよいコンピューティングシステム54が示されている。システム54は、PC、サーバ、ワークステーション等の固定プラットフォームの一部であってもよい。例示されるシステム10は、システムメモリ60へのアクセスを提供する一体化されたメモリコントローラ58を有してもよいホストプロセッサ56を備える。システムメモリとしては、ダブルデータレートDDR同期型ダイナミックランダムアクセスメモリSDRAM、例えば、DDR3SDRAMJEDEC規格JESD79-3C、2008年4月モジュールを含んでもよい。システムメモリ60のモジュールは、シングルインラインメモリモジュールSIMM、ダブルインラインメモリモジュールDIMM、スモールアウトラインDIMMSODIMM等に組み込まれてもよい。プロセッサ56は、1以上のプロセッサコア62を有してもよく、コア62はそれぞれ、命令フェッチユニット、命令デコーダ、レベル1L1キャッシュ、実行ユニット等の十分な機能を有していてもよい。一例において、プロセッサ56の内部キャッシュは、スタティックRAMSRAMに実装可能である。プロセッサ56は、MicrosoftWindows登録商標、Linux登録商標、MacMacintosh登録商標OS、及び、その他の様々なソフトウェアアプリケーションを実行してもよく、このようなソフトウェアは1以上の障害点に遭遇する可能性がある。図示したプロセッサ56は、特定のシステムではサウスブリッジとして知られるプラットフォームコントローラハブPCH64と通信を行う。PCH64は、USB例えば、USB規格2.0、USBImplementersForumのようなユニバーサルシリアルバス、シリアルATA例えば、SATAInternationalOrganization/SATA‐IOの2009年5月27日のRev.3.0規格のSATAのようなSATA、高精細オーディオ及びその他のコントローラのようなインターナルコントローラを有してもよい。PCH64は、様々な目的でオフプラットフォーム通信機能を提供可能なネットワークコントローラ70と通信可能であってもよく、例えば、携帯電話例えば、W-CDMAUMTS、CDMA2000IS-856/IS-2000等、WiFi例えば、IEEE802.111999エディション、LAN/MANブロードバンド無線LAN、Bluetooth登録商標例えば、IEEE802.15.1-2005、無線パーソナルエリアネットワーク、WiMax例えば、IEEE802.16-2004、LAN/MANブロードバンド無線LAN、全地球測位システムGPS、広域スペクトル例えば、900MHz及びその他の無線周波数RFテレフォニー目的が挙げられる。図示されたPCH64は、1以上のマスストレージデバイスと結合されてもよく、例えば、ハードディスクドライブHDD66、ROM、光学ディスク、フラッシュメモリ等を含んでもよい。加えて、PCH64は、ユーザがシステム54からの情報を認識及び操作可能とするべく、マイク、ディスプレイ、キーバッド、マウス、スピーカ等のユーザインターフェースUIデバイス68をサポートしてもよい。コア62は、プローブレスロジック命令例えば、マイクロコード/ファームウェア74のセットを実行してもよく、このセットは、最初に、例えば、PROM、NANDベースの半導体素子ディスクSSD又はパッチとしてフラッシュメモリからBIOS72からロードされる、ツールを介して動的にロードされる、又は、プロセッサ56のUROM図示しないマイクロROMに既に存在してもよい。図示の例では、プローブレスロジック命令74のセットを実行すると、システム54が、テスト中のソフトウェアの実行に影響を与えることなく、システム54で実行されるソフトウェア例えば、OS及びその他のアプリケーションプログラムコードのアーキテクチャデータを収集する。加えて、ロジック命令74が、シミュレータ内で収集されたアーキテクチャを再生してもよく、システム54で実行されるソフトウェアに対応する障害情報をシミュレータから取得してもよい。既に説明したように、アーキテクチャデータは、ステートデータ及びイベントデータを含むことができ、一例では、イベントデータはメモリトランザクションデータを含む。本発明の実施形態は、全ての種類の半導体集積回路ICチップでの利用に適用可能である。ICチップの例としては、これに限定されないが、プロセッサ、コントローラ、チップセット構成要素、プログラマブルロジックアレイPLA、メモリチップ、ネットワークチップ等が挙げられる。また、図面の一部では、信号導電線が、線として描かれている。一部の線は、より多くの構成信号経路を示すべく太い線として描かれている、複数の構成信号経路を示すべく数字が付されている、及び/又は、主要な情報の流れの方向を示すべく1以上の端部において矢印が付されている場合がある。しかしながら、これらは、構成を限定していると解釈されるべきではない。このように付加されている詳細は、回路の理解を容易にするべく、1以上の実施形態例に関して使用される。付加情報を有するか否かに関わらず、図に示されている任意の信号線は、複数の方向に伝達可能な1以上の信号を含んでもよく、例えば、異なる組で実装されるデジタル又はアナログライン、光ファイバ及び/又はシングルエンド線のような任意の好適な種類の信号スキームを使用して実行されてもよい。上記では、サイズ/モデル/値/範囲の例が記載されたが、本発明の実施形態はこれらの例に限定されない。製造技術の進歩例えば、フォトリソグラフィにより、より小型のデバイスが製造可能になると予測される。また、ICチップ及びその他の構成要素との周知の電源/接地接続については、図示及び説明を単純にして、本発明の実施形態の側面を曖昧にしない目的から、図面に示されていない場合がある。そして、ブロック図で示された構成は、本発明の実施形態を曖昧にするのを回避するべく構成されており、また、このようなブロック図の構成の実装に関する詳細は、実施形態が実装されるプラットフォームに大きく依存し、このような詳細事項は当業者に自明である。本発明の実施形態例を説明するために記載された詳細事項例えば、回路については、本発明の実施形態が、このような特定の詳細事項が存在しなくとも、又は、このような詳細事項の変形例と共に実施可能であることは、当業者であれば理解できる。したがって、説明は、限定しているのではなく例示しているものと見なされる。ある実施形態は、例えば、機械によって実行されると、機械に本実施形態に係る方法及び/又はオペレーションを実行させてもよい命令又は複数の命令のセットを格納してもよい機械又は有形コンピュータ可読媒体又は物品を使用して実装されてもよい。機械としては、例えば、あらゆる好適なプロセッシングプラットフォーム、コンピュータプラットフォーム、コンピュータデバイス、プロセッシングデバイス、コンピュータシステム、プロセッシングシステム、コンピュータ、プロセッサ等が含まれ、ハードウェア及び/又はソフトウェアのあらゆる好適な組み合わせを使用して実装されてもよい。機械可読媒体又は物品は、例えば、好適な種類のメモリユニット、メモリデバイス、メモリ物品、メモリ媒体、記憶デバイス、記憶物品、記憶媒体及び記憶ユニットを含み、例えば、メモリ、取り外し可能/不可能媒体、消去可能又は消去不可能媒体、書き込み可能又は再書き込み可能媒体、デジタル又はアナログ媒体、ハードディスク、フロッピー登録商標ディスク、コンパクトディスクリードオンリーメモリCD-ROM、コンパクトディスク記録可能CD-R、コンパクトディスク再書き込み可能CD-RW、光学ディスク、磁気媒体、磁気光学媒体、取り外し可能メモリカード又はディスク、様々な種類のデジタル多用途ディスクDVD、テープ、カセット等を含んでもよい。命令は、好適な種類のコードを含んでもよく、例えば、好適な高レベル、低いレベル、オブジェクト指向、ビジュアル、コンパイル及び/又は変換されたプログラム言語を使用して実装されるソースコード、コンパイルされたコード、変換されたコード、実行可能コード、静的コード、動的コード、暗号化されたコードを含んでもよい。特に明記されない限り、以下の説明で明らかになるように、明細書中で使用されている言葉、例えば、Processing処理、computing演算、calculating計算、determining決定等の言葉は、コンピュータ又はコンピュータシステム、又は、物理量で表されるデータを操作及び/又は変換する同様な電子演算装置のオペレーション及び/又はプロセスを指す。例えば、コンピュータシステムのレジスタ及び/又はメモリ内の電子的量を、コンピュータシステム内のメモリ、レジスタ又はその他の情報記憶層装置内、又は送信デバイス内の同様な物理量で表される別のデータへと変換するオペレーションを指す。実施形態は、この点に関して限定されない。本明細書で使用されている結合されるcoupledという言葉は、対象の構成要素間の直接的又は間接的な任意の種類の関係を意味し、電気的、機械的、流体的、光学的、電磁気的、電気機械的又はその他の接続に適用されてもよい。また、本明細書で使用される第1の、第2の等は、説明を簡便にするためにのみ使用されており、特にそうでないと記載されていない限り、時間的な又は経時的意味を有していない。上記の説明から、当業者であれば、本発明の実施形態の幅広い技術を様々な携帯で実装可能であることを理解できる。したがって、本発明の実施形態が特定の例に関して説明されたが、添付の図面及び特許請求の範囲並びに本明細書から当業者にはその他の変形例が明らかであることから、本発明の実施形態の真の範囲は、これに限定されない。"