双核 cpu 寄存器是公用的还是分开的?

来源:百度知道 编辑:UC知道 时间:2024/05/23 20:18:46
如题...希望能贴上知识来源...
...I can not type Chinese right now...I know that the highest level cache must be shared, but what about the register? If the register not be shared how can a program run on two cores simultaneously?

双核CPU所具备的两个物理核心是相对独立的,每个核心都可以拥有独立的一二级缓存、寄存器、运算单元,可以使两个独立进程互不干扰。

amd 是分开的 intel是公用的

Inter和AMD的双核是走了不同的发展路线,原生双核和两单核粘接。
AMD采取的是每个核心有独立的L1L2,然后有L3的共享
Inter则是独立l1地址线,再按照地址线寻址共享的l2。

寄存器当然是分开的, 每个核心有自己的一套.
至于一个程序能运行在两个核心上, 现在的程序很多不都是多线程的吗? 一个核心运行一个线程. 还有没有个线程都有记录线程上下文的, 里面就包含了寄存器的信息. 运行该线程之前, 先用线程上下文还原下寄存器的信息即可