1

我正在研究多核情况下的核心迁移。我有一个问题,迁移过程中需要哪些 CPU 寄存器。

例如,测试机中有几个核心。核心 0 运行特定程序,每个周期在内存中写入随机值。所以我打算证明这个程序可以正常工作。

当我尝试将此进程从核心 0 迁移到核心 1 时,我不确定在此期间需要哪些 CPU 寄存器。当然,有很多 CPU 寄存器:eax、ebx、... esp、esi(在 Intel 参考手册中)等等。但我试图为迁移找到绝对必要的价值。

4

1 回答 1

0

这与单个内核上的多个进程没有什么不同。

进程是用户模式(环 3)的概念。每当您的操作系统安排一个新进程执行时,它必须将所有寄存器的内容恢复到进程离开它们的状态,即它最后一次执行的状态。整个状态在每个进程切换时都保持不变。

因此,当涉及在与上次运行的内核不同的内核上调度进程(迁移)时,它现在有所不同 - 操作系统只是将此寄存器状态恢复到不同的 CPU 内核。

于 2013-08-15T08:33:42.223 回答