亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么循環指令慢?英特爾不能有效地實現它嗎?

為什么循環指令慢?英特爾不能有效地實現它嗎?

環(英特爾參考文獻人工輸入)ECX/RCX遞減,如果非零。雖然速度很慢,但英特爾不能便宜地讓它跑得更快嗎?dec/jnz已經宏熔斷為單個uop。在沙橋家族;唯一的區別是設置旗子。loop在不同的微體系結構上阿格納·福格(氏)指令表:K8/K10:7m-OPS推土機-家庭/Ryzen:1mop(與宏融合測試和分支相同的成本,或jecxz)P4:4 OOPS(同jecxz)P6(PII/PIII):8 OOPS奔騰M,核心2:11 uopsNehalem:6 uops。(11)loope / loopne)。吞吐量=4c(loop)或7c(loope/ne).SNB-家庭*7英尺。(11)loope / loopne). 吞吐量=每5個周期一個,就像將循環計數器保存在內存中一樣是一個瓶頸!jecxz只有兩個uop具有與常規的相同的吞吐量。jcc西爾佛蒙特:7烏普AMD捷豹(低功耗):8 uops,5c吞吐量通過Nano 3000:2 uops難道解碼器不能像lea rcx, [rcx-1] / jrcxz?那將是3次。至少在沒有地址大小前綴的情況下,它必須使用ecx截斷RIP到EIP如果跳下去了;也許控制減幅的地址大小的奇怪選擇解釋了為什么會有這么多uop?或者更好的是,把它解碼成一個不設置標志的融合的分叉?dec ecx / jnz在SNB上,解碼為單個uop(它確實設置了標志)。我知道真正的代碼不使用它(因為它一直緩慢從至少P5或什么),但AMD認為這是值得的,使它快速推土機??赡苁且驗檫@很容易。對于SNB家族的人來說,擁有快速的生活是件容易的事嗎?loop?如果是的話,他們為什么不呢?如果不是,為什么會很難呢?很多解碼器晶體管?或者在一個融合的Dec&分支uop中額外的位來記錄它沒有設置標志?那七個人能做什么?這是一個非常簡單的指示。開快車的推土機有什么特別之處?loop容易/值得嗎?或者AMD在制造過程中浪費了一堆晶體管loop快地?如果是這樣的話,大概有人認為這是個好主意。如果loop太快了,這將是完美的BigInteger任意精度adc循環,以避免部分旗檔/減速。(請參閱我對我的答案的評論),或任何其他情況下,您想要在不接觸標志的情況下循環。與代碼大小相比,它還具有較小的代碼大小優勢。dec/jnz。(和dec/jnz只有宏觀保險絲對SNB-家庭)。關于現代CPUdec/jnz在ADC循環中沒問題,loop對于ADCX/ADOX循環(保留)來說還是不錯的。如果loop如果是快速的,編譯器將已經使用它作為一個窺視孔優化的代碼大小+速度上的CPU,沒有宏融合。它也無法阻止我對所有使用錯誤16位代碼的問題感到惱火loop對于每個循環,即使當它們還需要在循環中另一個計數器時。但至少不會如壞的。
查看完整描述

3 回答

  • 3 回答
  • 0 關注
  • 787 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號