我試圖比較 Peter Cordes 在
您可以看到,對于 32 個 nops,預解碼器需要 8 個周期,而對于其余指令,它需要 5 個周期,它們一起對應于您測量的 13 個周期。
您可能會注意到,在某些周期中,只有少量指令被預解碼;例如,在第四個周期中,只有一條指令被預解碼。這是因為預解碼器處理對齊的 16 位元組塊,并且每個周期最多可以處理 5 條指令(請注意,某些來源錯誤地聲稱它每個周期可以處理 6 條指令)。你可以找到關于預解碼器的詳細資訊,例如它如何處理跨越16位元組邊界,在說明書
您可以看到nops
之后的指令現在需要 6 個而不是 5 個周期來預解碼,這是因為 g1b 中的一些指令比 g1a 中的相應指令長。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/374969.html
標籤:assembly x86-64 intel cpu-architecture micro-optimization
上一篇:MIPS架構中靜態資料的分配
