0

我想識別和分析執行的不同機器指令以及每個代碼在運行代碼時所需的時鐘週期。運行時的指令檢測

有什麼辦法可以簡單地做到這一點嗎?動態二進制翻譯可能是一種方式,但我正在尋找更簡單的機制。

在此先感謝

+0

哪個環境?哪個平臺? – reuben

+0

無論你做什麼,你都會與OOE戰鬥。如果它是一個x86系統,它可能已經記錄在這裏:http://www.agner.org/optimize/instruction_tables.pdf – Mysticial

+0

@reuben假設x86。 –

回答

0

如果你是編程,可以考慮使用性能分析工具,如分析工具,如英特爾VTune(http://en.wikipedia.org/wiki/VTune),或oprof 。

對於大多數程序員來說,訪問循環精確的模擬器是非常少見的,儘管在嵌入式領域它很常見。

動態二進制翻譯可能不是衡量單個指令粒度程序的好方法。像http://www.pintool.org/這樣的DBT工具允許您插入代碼來讀取定時器。您可以在單個指令周圍執行此操作,但速度太慢,而且該工具會增加太多開銷。但是,在功能粒度上做到這一點可以。基本塊粒度,即每個分支,邊界。底線:首先嚐試像VTune這樣的分析工具。然後去尋找一個週期準確的模擬器。