Трассировка переупорядочения команд процессора - PullRequest
4 голосов
/ 12 февраля 2012

Я изучил несколько вещей о переупорядочении команд процессорами и алгоритмом Томасуло.

В попытке понять эту тему немного больше, я хочу узнать, есть ли ЛЮБОЙ способ (получить трассировку) увидеть фактическое динамическое изменение порядка, выполненное для данной программы?

Я хочу дать программу ввода и увидеть «трассировку выполнения инструкции по порядку» моей программы.

У меня есть доступ к машине IBM-P7 и ноутбуку Intel Core2Duo. Также, пожалуйста, скажите мне, если есть легкая альтернатива.

Ответы [ 2 ]

2 голосов
/ 25 октября 2012

У вас нет доступа к фактическому переупорядочению, выполненному внутри ЦП (не существует общеизвестного способа включить трассировку).Но есть некоторые эмуляторы переупорядочения, и некоторые из них могут дать вам полезные советы.

Для современных процессоров Intel (ядро 2, Nehalem, Sandy и Ivy) есть «Intel (R) Architecture Code Analyzer» (IACA)) от Intel.Его домашняя страница - http://software.intel.com/en-us/articles/intel-architecture-code-analyzer/

Этот инструмент позволяет вам увидеть, как какой-то линейный фрагмент кода будет разделен на микрооперации и как они будут планироваться в портах исполнения.У этого инструмента есть некоторые ограничения, и это только неточная модель переупорядочения и выполнения CPU u-op.

Есть также некоторые «внешние» инструменты для эмуляции внутренних компонентов процессора x86 / x86_84, я могу порекомендовать PTLsim (или производное MARSSx86 ):

PTLsim моделирует современное суперскалярное из строя x86-64-совместимое процессорное ядро ​​с настраиваемым уровнем детализации от ... доМодели уровня RTL всех ключевых структур конвейера.Кроме того, весь микрокод, полная иерархия кеша, подсистема памяти и вспомогательные аппаратные устройства моделируются с истинной точностью цикла.

Но PTLsim моделирует некоторый процессор "PTL", а не настоящий процессор AMD или Intel.Хорошей новостью является то, что этот PTL Out-Of-Order , основанный на идеях реальных ядер:

Базовая микроархитектура этой модели представляет собой комбинацию конструктивных особенностей изIntel Pentium 4, AMD K8 и Intel Core 2, но включает в себя некоторые идеи от IBM Power4 / Power5 и Alpha EV8.

Также в качестве аргумента http://es.cs.uni -kl.de / публикации /datarsg / Senf11.pdf говорит, что JavaHASE апплет способен эмулировать различные простые процессоры и даже поддерживает Tomasulo пример .

0 голосов
/ 25 октября 2012

К сожалению, если вы не работаете в одной из этих компаний, ответ - нет.Процессоры Intel / AMD даже не планируют (макро) инструкции, которые вы им даете.Сначала они преобразуют эти инструкции в микрооперации, а затем планируют их.Что представляют собой эти микро-инструкции и весь процесс переупорядочения команд, является тщательно охраняемым секретом, поэтому они не хотят, чтобы вы знали, что происходит.

...