2012-02-12 15 views
4

プロセッサとTomasuloのアルゴリズムによる命令の並べ替えについて、いくつか検討しました。CPU命令の並べ替えのトレース

このトピックのビットを理解しようとすると、(トレースを取得する)方法があるかどうかを知りたければ、与えられたプログラムの実際の動的並べ替えを確認できますか?

私は、入力プログラムを与え、私のプログラムの "順序外の命令実行トレース"を見たいと思います。

私はIBM-P7マシンとIntel Core2Duoラップトップにアクセスできます。簡単な選択肢があるかどうか教えてください。

答えて

0

残念ながら、あなたがこれらの会社のいずれかで働いていない限り、答えは「いいえ」です。 Intel/AMDプロセッサは、(マクロ)命令のスケジューリングもしません。まず、それらの命令をマイクロオペレーションに変換し、それらをスケジューリングします。これらのマイクロ命令が何であり、命令の並べ替えのプロセス全体が密接に守られた秘密であるかのように、あなたは何が起こっているかを正確に知りたくはありません。

2

CPU内で実際に並べ替えにアクセスすることはできません(既知の方法でトレースを有効にすることはできません)。しかし、並べ替えのエミュレータがいくつかあり、そのうちのいくつかは有用なヒントを与えることができます。

Intelの最新のIntel CPU(コア2、nehalem、Sandy、Ivy)には、Intelの「Intel(R)Architecture Code Analyzer」(IACA)があります。ホームページはhttp://software.intel.com/en-us/articles/intel-architecture-code-analyzer/

です。このツールを使用すると、コードの一部をマイクロオペレーションに分割する方法と、それらを実行ポートにどのように計画するかを調べることができます。このツールにはいくつかの制限があり、CPU u-opの並べ替えと実行のモデルは不正確です。

のx86/x86_84用CPUの内部をエミュレートするためのいくつかの「外部」ツールもありますが、私はPTLsimをお勧めします(またはMARSSx86を導出)することができます

PTLsimモデルオーダーのx86-64互換プロセッサのうち、現代のスーパースカラすべての主要なパイプライン構造のRTLレベルのモデルまで、構成可能なレベルの詳細レベルでコアを提供します。さらに、すべてのマイクロコード、完全なキャッシュ階層、メモリ・サブシステムおよびサポートするハードウェア・デバイスは、真のサイクル精度でモデル化されています。

しかし、PTLsimは実際のAMDまたはIntel CPUではなく、「PTL」CPUをモデル化しています。良いニュースは、このPTLが本当のコアからのアイデアをもとに、Out-Of-Orderであるということである。

このモデルの基本的なマイクロアーキテクチャは、IntelのPentium 4、AMD K8およびIntel Core 2からのデザインの特徴を組み合わせたものですが、組み込まれてIBM Power4/Power5とAlpha EV8のアイデア

また、アルバイトhttp://es.cs.uni-kl.de/publications/datarsg/Senf11.pdfJavaHASE appletは異なるシンプルなCPUをエミュレートすることができ、さらにはTomasulo exampleをサポートしていることを言われています。