2013-05-09 47 views
2

我想知道是否可以使用SSE與x87並行。因此,考慮下面的僞代碼,SSE FPU並行

1:sse_insn 2:x87_insn

會管線並行執行1和2假設他們可以並行執行?

+0

去試試吧。做測量。報告結果。 – 2013-05-09 18:11:15

回答

7

在所有現代(和更舊)的處理器中,x87和SSE指令使用相同的執行單元,所以它很不明智,您將從這類代碼中受益匪淺。可能有一些非常特殊的情況,你可以欺騙處理器運行,例如x87與SSE add或類似的東西並行運行,但如果你只是在做一個類似操作的大循環,幾乎肯定沒有任何好處。

+0

所以這是可能的(我的目標處理器是新一代i7,而不是p3,所以我使用sse對x87寄存器進行變異是安全的)? – user2366538 2013-05-09 14:09:28

+0

很可能你會從中受益,就像我的答案所說(不太可能在首都強調)。換句話說,一旦指令被充分解碼,就是SAME流水線,無論是x87還是SSE指令 - 是的,都有單獨的寄存器,但是任何FPU指令都不太可能受寄存器依賴性的限制,從而使您受益。 – 2013-05-09 14:11:30

+0

如果我要量化一些數據(提前),該怎麼辦?理論上我可以使用與x87/sse並行的ALU? – user2366538 2013-05-09 14:14:00