Re: [問題] 怎麼看高階語言指令使用的 cycle time?
※ 引述《tropical72 (藍影)》之銘言:
: (1) 怎麼看 C 語言編出來的組語?
: (2) 翻出來的 add, sub, mult, div 所用的 cycle time
: 我只知道是固定的,
: 是否有相關網址 or datasheet 可查這些 cycle time?
: 謝謝各位的不吝指教,感激不盡!
cycle time? 是指一個指令幾個 cycle 嗎?
基本上是這樣的,比如一個 mov 2 個 cycle,程式反組譯出來
有兩行就是 4 個 cycle
ex:
mov eax,ebx
mov ebx,ecx
不過通常還會有 loop,所以算不太準,以前在純 dos 的時代,可以用
這種方式大概算出 cpu 的頻率
c 在 freebsd 環境的話,有什麼 runtime link,函數第一次呼叫的時候
會需要一些程序,比如載入 so module 並 mmap,把 function address 放進
一個 table 等等,第二次執行到同樣的 function 時,就不需要再載入,會快
得比較多
然後程式第一次執行跟第二次執行也有可能因為 cache 而有影響所以應該是給
他算不太準
有一些組合語言基礎其實也不錯啦,要融會貫通一些東西也許會很有幫助
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.115.28.189
※ 編輯: cgcheng 來自: 59.115.28.189 (12/04 21:38)
※ 編輯: cgcheng 來自: 59.115.28.189 (12/04 21:39)
推
12/04 23:49, , 1F
12/04 23:49, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):