簡體   English   中英

C ++或ANSI C占用的周期數?

[英]Number of cycles taken for C++ or ANSI C?

Web上的任何地方都可以讓我了解處理器(Core i7和Core 2)周期對各種編程語言語法的要求嗎? 在大學里,我學習了ARM匯編語言,我們可以映射執行減法運算符等所需的周期數。我只是想知道是否有可能在Core i7或Core 2上使用高級語言來實現?

否。這完全取決於您使用的編譯器以及您使用的優化設置等。

您可以使用自己喜歡的編譯器和設置來生成匯編代碼,然后從匯編代碼中進行此類預測。

但是,請記住,在現代體系結構上,諸如內存延遲和寄存器重命名之類的內容對速度有很大影響,並且即使從匯編代碼的檢查中來看,這些影響也不明顯。

通常,在高級語言中,單個語句不能清晰地映射到特定的機器代碼指令序列上。 編譯器通常會優化內容,這將涉及各種指令的轉換,安排,甚至消除。 因此,引用“ a for expression需要20個周期”之類的度量通常通常沒有意義。

您必須手動將更高級別的指令映射到匯編指令中,或查看匯編清單。 然后看這里

http://gmplib.org/~tege/x86-timing.pdf

或在這里

http://www.intel.com/Assets/PDF/manual/248966.pdf

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM