2013-03-26 19 views
6

In einer Multicore-CPU hat jeder Kern Zugriff auf seine eigene Bank von XMM-Registern? Wenn beispielsweise ein Chip mit 16 XMM-Registern (XMM0-XMM15) aufgelistet ist, sind das 16 Register pro Kern oder 16 gemeinsam?XMM-Register insgesamt oder pro Kern

Mein Verständnis war, dass jeder Kern seine eigenen Registerbänke hatte, und ich würde annehmen, dass das gleiche für XMM-Register gilt, aber ich konnte keine Referenz finden, um diese Annahme zu unterstützen.

+1

Trotz Hyper-Threading hat jeder Kern seinen eigenen vollständigen Satz von Registern. –

Antwort

12

Ja, jeder Kern hat seine eigenen Register.

Es ist erwähnenswert, dass jeder Kern tatsächlich in der Größenordnung von hundert physikalischen Registern hat; Es gibt nur 16 Register Namen. Dies gilt sowohl für GPRs als auch für XMM-Register.

+0

Fantastisch, danke für die Antwort. – TaylorP

+1

Lassen Sie mich ein wenig Information hinzufügen. Architekturregister werden physischen Registern zugeordnet, um Namensabhängigkeiten dynamisch zu entfernen, die die Leistung beeinträchtigen können. Dies nennt man [Umbenennen umbenennen] (http://en.wikipedia.org/wiki/Register_renaming). Die Anzahl der physischen Register hängt von der Prozessorimplementierung ab. Zum Beispiel, AMD Bulldozer: 96 physikalische GPRs, Intel Sandy Bridge: 160 physikalische GPRs, Intel Haswell: 168 physikalische GPRs. – chus