请问多核处理器里面每个核心是有自己的寄存器呢还是大家公用一组寄存器?

时间:2022-12-16 18:36:45
请问多核处理器里面每个核心是有自己的寄存器呢还是大家公用一组寄存器?

2 个解决方案

#1


就IA-32(包括EM64T)而言,寄存器是独享的。因为共享会涉及到复杂的调度问题,比如:
Core 0:嗨~我要用EAX啦~
Core 1:不行,我这里一个中断要返回EAX!
Core 0:那~我等等?
。。。
Core 0:怎么还没好?
Core 1:中断还要用ECX啊,你占着呢。
Core 0:不行啊,我那个调用EAX的内容现在存在ECX,不能给你用啊
。。。
Core 1:你换到EBX
Core 0:也在用
Core 0:你就不能不用ECX?
Core 1:那我还有个数放哪?EBX你用,EDX我也用。。。
。。。
死机了

#2


涉及到体系结构了。

#1


就IA-32(包括EM64T)而言,寄存器是独享的。因为共享会涉及到复杂的调度问题,比如:
Core 0:嗨~我要用EAX啦~
Core 1:不行,我这里一个中断要返回EAX!
Core 0:那~我等等?
。。。
Core 0:怎么还没好?
Core 1:中断还要用ECX啊,你占着呢。
Core 0:不行啊,我那个调用EAX的内容现在存在ECX,不能给你用啊
。。。
Core 1:你换到EBX
Core 0:也在用
Core 0:你就不能不用ECX?
Core 1:那我还有个数放哪?EBX你用,EDX我也用。。。
。。。
死机了

#2


涉及到体系结构了。