Migration 用于核心迁移的CPU寄存器

Migration 用于核心迁移的CPU寄存器,migration,cpu,cpu-registers,Migration,Cpu,Cpu Registers,我正在研究多核环境下的核迁移。我有一个问题,迁移期间需要什么CPU寄存器 例如,测试机中有几个磁芯。核心0操作特定程序,为每个周期在内存中写入随机值。所以我打算证明这个程序工作正常 当我尝试将此进程从核心0迁移到核心1时,我不确定在此期间需要哪些CPU寄存器。当然,有很多CPU寄存器:eax,ebx,。。。esp、esi(英特尔参考手册)等。但我试图为迁移找到绝对必要的价值。这与单个核心上的多个进程没有什么不同。 流程是一种用户模式(环3)概念。每当您的操作系统计划执行一个新进程时,它都必须将所

我正在研究多核环境下的核迁移。我有一个问题,迁移期间需要什么CPU寄存器

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


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

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

流程是一种用户模式(环3)概念。每当您的操作系统计划执行一个新进程时,它都必须将所有寄存器的内容恢复到该进程上次执行时保持的状态。每个进程在切换时都会保持整个状态


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

您的问题是什么?@ShivanRaptor我想找到迁移所需的CPU寄存器谢谢您的回复。所以你们的意思是CPU中的所有寄存器都是迁移所必需的,操作系统会自动处理这个过程?是的。就进程而言,它是唯一运行在处理器上的东西。因此,它的所有寄存器应该始终保持不变,因为进程在执行过程中的任何时候都可能被调出。我理解这一点。谢谢