2013-03-26 120 views
6

在多核CPU中,每個內核是否都可以訪問它自己的XMM寄存器組?例如,如果芯片被列爲具有16個XMM寄存器(XMM0-XMM15),那麼每個內核有16個寄存器還是16個共享?XMM寄存器總數或每個內核

我的理解是每個核心都有自己的寄存器組,我會假設XMM寄存器也是一樣,但我無法找到支持這個假設的參考。

+1

儘管存在超線程,但每個內核都有自己的一套完整的寄存器。 – 2013-03-26 17:30:47

回答

12

是的,每個核心都有自己的寄存器。

值得注意的是,每個內核實際上有一百個物理寄存器的順序;只有16個註冊名稱。這適用於GPR和XMM寄存器。

+0

太棒了,謝謝你的迴應。 – TaylorP 2013-03-26 18:20:03

+1

讓我添加一點信息。架構寄存器映射到物理寄存器以動態地移除名稱依賴關係,這可能會損害性能。這被稱爲[註冊重命名](http://en.wikipedia.org/wiki/Register_renaming)。 物理寄存器的數量取決於處理器的實現。例如,AMD推土機:96臺物理探地雷達,英特爾Sandy Bridge:160臺物理探地雷達,英特爾Haswell:168臺物理探地雷達。 – chus 2013-04-30 08:51:10