你有沒有時間參考週期(RDTSC),而不是內核時鐘週期(以PERF櫃)?這將解釋你的觀察。
渦輪產生很大的差別,和最大渦輪和最大持續/額定時鐘速度(即基準週期節拍率)之間的比例是在不同的CPU不同。例如see my answer on this related question
CPU的TDP越低,比越大持續峯值之間。該Haswell wikipedia article有表:
使用性能計數器計時您的代碼,並查看「核心時鐘週期」計數。 (還有很多其他的東西)。
每Haswell的核心是從相同核心-M 5WATT CPU來大功率四核〜18核Xeon(實際上具有每個內核功率預算更象一臺筆記本電腦CPU);只有L3高速緩存,內核數量(和互連)以及HT和/或Turbo的支持與否有所不同。基本上,內核之外的所有內容都可以不同,包括GPU。 它們不會禁用執行端口,甚至L1/L2緩存都是相同的。我認爲禁用執行端口將需要在無序調度程序中進行重大設計以及類似的東西。
更重要的是,每個端口至少有一個執行單元在任何其他端口都沒有找到:p0具有分隔符,p1具有整數乘法單元,p5具有shuffle單元,p6是唯一的端口,可以執行預測分支。實際上,P2和P3是相同的裝載口(可處理商店地址的uop)...
所有關於Haswell的內部參見Agner Fog's microarch pdf,並且還David Kanter's writeup與不同的塊的圖。
(然而,這並不完全正確,整個核心是相同的:Haswell的奔騰/賽揚CPU不支持AVX/AVX2,或BMI/BMI2。我認爲他們通過禁用解碼器中的VEX前綴解碼來實現這一點。 Skylake Pentium/Celerons仍然是這種情況,所以謝謝英特爾延遲我們可以支持新指令集的時間。據推測,他們這樣做是爲了讓處於缺陷狀態的處理器只有上半部或下半部的矢量執行單元仍然可以作爲Celeron或奔騰處理器出售,就像其中某些L3缺陷的CPU可以作爲i5而不是i7一樣銷售)
你爲什麼不提供一個鏈接到你的基準,或張貼完整的代碼,所以我們可以嘗試我們自己?否則,我們只是在黑暗中刺傷。 – BeeOnRope