與JMP,CALL,MOV,PUSH(我的意思是更多可用的命令)等其他彙編語句相比,說CMP是否需要更多時間才能運行?說「CMP命令是最長的彙編命令」是否正確?
2
A
回答
-1
不,MOV可以花費最長的時間來運行,因爲一般來說它必須通過內存來執行移動(比寄存器訪問慢得多),並且可以被阻塞。另一方面,CMP通常在實踐中將文字和註冊作爲參數,並且僅命中ALU。
CALL實際上做了PUSH和JUMP,所以是第二長的。哦,是的,如前所述,JMP可以刷新管道(儘管無條件跳轉不會)。
底線CMP的速度很快,像INC,ADD或其他任何簡單的數學計算,它們經常被優化爲使用寄存器值和文字,並且除了打ALU之外沒有其他任何操作。
+0
謝謝你的時間。的確,我是C++程序員,總是試圖保持我的代碼清潔,在我腦海中的某些東西總是告訴我,如果!無論如何,你的回答非常有用 – Mostafa
+1
按照頻率,CPU花大部分時間完成「LOAD」,「CMP」 ,「JMP」。除非架構師調整了這些指令的最大性能,否則你的處理器速度不會很快......而且他們確實如此。 –
相關問題
- 1. 在彙編中,我是否缺少cmp命令?
- 2. Leiningen彙編命令?
- 3. Java ProcessBuilder sudo bash命令的正確命令格式是什麼?
- 4. CMP命令無法正常工作
- 5. 如果不是正確的SQL命令
- 6. ViewDidLoad不是正確的命令
- 7. Little-endian和彙編命令
- 8. Maven Shade彙編命令
- 9. Pinvoke命令長度不正確
- 10. 是否有可能編輯Eclipse命令
- 11. md5sum linux命令是否正常工作?
- 12. 雖然Mac OSX有說話的命令說話,或者說,是否有任何類似於Python的命令?
- 13. 我是否使用window.location.replace對不對? (也是我寫的命令是否正確?)
- 14. 是否有「睡眠」命令?
- 15. TABLOCKX命令是否重要?
- 16. 什麼是彙編cmp指令完全比較?
- 17. 以編程方式確定Python的最大命令行長度
- 18. if命令是否繼續此代碼的正確方法?
- 19. 一條長長的sed命令是否可以分成幾行?
- 20. Bazaar的正確命令?
- 21. 不正確的AWK命令
- 22. FB圖api返回的是短壽命令牌而不是長壽命令牌
- 23. PIP命令確定是否安裝最新版本?
- 24. if命令的批處理命令是否包含「X」?
- 25. phpredis中的MULTI/EXEC命令是否一次發送命令?
- 26. 如何檢查用戶是否正確輸入命令 - C#
- 27. cat passwd | awk -F':''{printf $ 1}'這個命令是否正確?
- 28. 如何檢查shell命令是否正確執行?
- 29. 我是否正確地讀取了這條命令?
- 30. 用C程序調用linux命令cmp
嗯......你從哪裏聽到的? – Mysticial
請指定您正在討論的指令集架構(處理器)。跳轉會導致管道沖洗,這比比較簡單的alu命令(一個你不必保存答案的子文件)更加昂貴,推動會導致內存訪問(或更多),這可能會很慢。意思是更多可用的命令cmp命令不是一個很少使用的指令 –
實際上沒有地方 – Mostafa