第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

在執(zhí)行uop計數(shù)不是處理器寬度倍數(shù)的循環(huán)時性能是否會降低?

在執(zhí)行uop計數(shù)不是處理器寬度倍數(shù)的循環(huán)時性能是否會降低?

HUH函數(shù) 2019-07-27 14:19:35
在執(zhí)行uop計數(shù)不是處理器寬度倍數(shù)的循環(huán)時性能是否會降低?我想知道各種大小的循環(huán)如何在最近的x86處理器上執(zhí)行,作為uop數(shù)的函數(shù)。以下是彼得·科德斯(Peter Cordes)的一句話,他在另一個問題中提出了非多數(shù)的問題:我還發(fā)現(xiàn),如果循環(huán)不是4 uop的倍數(shù),則循環(huán)緩沖區(qū)中的uop帶寬不是每個循環(huán)的常數(shù)4。(即它是abc,abc,......;不是abca,bcab,......)。遺憾的是,Agner Fog的microarch doc對循環(huán)緩沖區(qū)的這種限制并不清楚。問題是關于循環(huán)是否需要是N uop的倍數(shù)才能以最大uop吞吐量執(zhí)行,其中N是處理器的寬度。(即最近的英特爾處理器為4)。在談論“寬度”和計算微動時,有很多復雜因素,但我大多想忽略這些因素。特別是,假設沒有微觀或宏觀融合。Peter給出了以下一個循環(huán),其中包含7個uop的循環(huán):一個7-uop循環(huán)將發(fā)出4 | 3 | 4 | 3 | ...的組我沒有測試更大的循環(huán)(不適合循環(huán)緩沖區(qū)),看看是否有可能從下一個指令開始迭代發(fā)布在與其分支相同的組中,但我不假設。更一般地說,聲稱是x在其體內(nèi)具有uop 的循環(huán)的每次迭代將至少進行ceil(x / 4)迭代,而不是簡單地迭代x / 4。對于部分或全部最新的x86兼容處理器,這是真的嗎?
查看完整描述

2 回答

?
翻翻過去那場雪

TA貢獻2065條經(jīng)驗 獲得超14個贊

這是原始答案的后續(xù)內(nèi)容,根據(jù)Andreas Abel提供的測試結果分析其他五種架構的行為:

  • Nehalem處理器

  • 珊迪大橋

  • 常春藤橋

  • Broadwell微架構

  • 咖啡湖

除了Skylake和Haswell之外,我們還快速了解這些架構的結果。它只需要一個“快速”的外觀,因為除了Nehalem之外的所有架構都遵循上面討論的現(xiàn)有模式之一。

首先,短nop情況下運行傳統(tǒng)解碼器(對于不適合LSD的循環(huán))和LSD。以下是針對所有7種體系結構的此方案的周期/迭代。

圖2.1:所有架構密集的nop性能:

這個圖表非常繁忙(點擊查看大圖)并且有點難以閱讀,因為許多架構的結果彼此重疊,但我試圖確保專用閱讀器可以跟蹤任何架構的線路。

首先,我們來討論一下這個大異常值:Nehalem。所有其他架構的斜率大致遵循4 uops / cycle周期線,但Nehalem每個周期幾乎正好是3 uop,因此很快落后于所有其他架構。在最初的LSD區(qū)域之外,該線路也是完全平滑的,沒有在其他架構中看到的“階梯”外觀。

這與Nehalem的uop 退休限制為3 uops / cycle 完全一致。這是LSD之外的uops的瓶頸:它們每個周期都執(zhí)行大約3個uop,退休時瓶頸。前端不是瓶頸,所以準確的uop計數(shù)和解碼安排都無關緊要,因此沒有臺階。

除了Nehalem之外,其他架構,除了Broadwell之外,還可以分成幾組:Haswell-like或Skylake-like。也就是說,所有Sandy Bridge,Ivy Bridge和Haswell都表現(xiàn)得像Haswell,因為大于15 uops的循環(huán)(在另一個答案中討論了Haswell行為)。盡管它們是不同的微架構,但由于它們的傳統(tǒng)解碼能力相同,因此它們的行為基本相同。低于約15 uops,我們看到Haswell對于任何uop計數(shù)而言都要快一些,而不是4的倍數(shù)。由于更大的LSD或者還有其他“小循環(huán)”優(yōu)化,它可能會在LSD中額外展開。對于Sandy Bridge和Ivy Bridge,這意味著小循環(huán)應該絕對定位一個uop計數(shù),它是4的倍數(shù)。

Coffee Lake的行為與Skylake 1相似。這是有道理的,因為微架構是相同的。Coffee Lake看起來比Skylake低約16 uops,但這只是Coffee Lake默認的殘疾LSD的影響。Skylake已經(jīng)通過啟用的LSD進行了測試,之后由于安全問題,英特爾通過微碼更新禁用了它??Х群谶@個問題出現(xiàn)之后就被釋放了,所以LSD是開箱即用的。因此,對于此測試,Coffee Lake正在使用DSB(對于低于約18 uop的循環(huán),仍然可以適合DSB)或傳統(tǒng)解碼器(對于其余循環(huán)),這樣可以獲得更好的小uop計數(shù)結果LSD強加開銷的循環(huán)(有趣的是,對于較大的循環(huán),LSD和傳統(tǒng)解碼器碰巧強加完全相同的開銷,原因各不相同)。

最后,我們來看看2字節(jié)的NOP,它們不夠密集以防止使用DSB(因此這種情況更能反映典型代碼)。

圖2.1:2字節(jié)nop性能:

同樣,結果與前面的圖表一致。Nehalem仍然是每個周期3個uop的瓶頸。對于高達約60個uops的范圍,除了Coffee Lake之外的所有架構都使用LSD,我們看到Sandy Bridge和Ivy Bridge在這里表現(xiàn)稍差,四舍五入到下一個周期,因此只實現(xiàn)了4的最大吞吐量uops /循環(huán)如果循環(huán)中的uops數(shù)是4的倍數(shù)。在32 uops以上,Haswell和新uarchs的“展開”功能沒有任何影響,所以一切都大致相關。

Sandy Bridge實際上有一些uop范圍(例如,從36到44 uops),它比新架構表現(xiàn)更好。這似乎是因為并非LSD檢測到所有循環(huán),并且在這些范圍內(nèi),循環(huán)由DSB提供。由于DSB通常更快,因此在這些情況下Sandy Bridge也是如此。

英特爾說的是什么

實際上,您可以在英特爾優(yōu)化手冊第3.4.2.5節(jié)中找到專門處理此主題的部分,正如Andreas Abel在評論中所指出的那樣。在那里,英特爾說:

LSD擁有構建小“無限”循環(huán)的微操作。來自LSD的微操作分配在無序引擎中。LSD中的循環(huán)以采用分支結束到循環(huán)的開頭。循環(huán)結束時采用的分支始終是循環(huán)中分配的最后一個微操作。循環(huán)開始處的指令始終在下一個循環(huán)中分配。如果代碼性能受前端帶寬限制,則未使用的分配時隙會導致分配氣泡,并可能導致性能下降。英特爾微體系結構代碼名稱Sandy Bridge中的分配帶寬是每個周期四個微操作。當LSD中的微操作數(shù)導致未使用的分配插槽數(shù)量最少時,性能最佳。您可以使用循環(huán)展開來控制LSD中的微操作數(shù)。

他們繼續(xù)展示一個例子,由于LSD“四舍五入”,將循環(huán)展開一個因子2無助于性能,但是通過三個作品展開。這個例子很混亂,因為它實際上混合了兩個效果,因為展開更多也減少了循環(huán)開銷,因此減少了每次迭代的uop數(shù)。一個更有趣的例子就是將循環(huán)展開次數(shù)減少導致由于LSD舍入效應導致性能提高。

本節(jié)似乎準確描述了Sandy Bridge和Ivy Bridge的行為。上面的結果表明,這兩種體系結構都如上所述,并且對于分別具有4N + 3,4N + 2或4N + 1 uops的循環(huán),您將丟失1,2或3個uop執(zhí)行槽。

但是,Haswell及其后來的新性能尚未更新。如在另一個答案中所描述的,性能已經(jīng)從上述簡單模型改進并且行為更復雜。


1在16 uops有一個奇怪的異常值,其中Coffee Lake表現(xiàn)比其他所有架構都差,甚至Nehalem(回歸率約為50%),但也許這個測量噪音?


查看完整回答
反對 回復 2019-07-27
  • 2 回答
  • 0 關注
  • 971 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號