我正在思考如何使用 Tomasulo CPU 实现软件任务切换,保留站中部分完成的指令会发生什么?当内核在进程 PCB 中保存寄存器状态时,如果结果尚未写回寄存器(在 ROB 之后达到完成阶段),则该进程的寄存器状态将不准确。在现代 CPU 中如何缓解这种情况?也许它使用 ROB 的头部作为程序计数器(RIP),但这似乎很浪费,也许可以协商延迟,但我不确定。
软件任务切换,考虑无序执行
•
cpu
我正在思考如何使用 Tomasulo CPU 实现软件任务切换,保留站中部分完成的指令会发生什么?当内核在进程 PCB 中保存寄存器状态时,如果结果尚未写回寄存器(在 ROB 之后达到完成阶段),则该进程的寄存器状态将不准确。在现代 CPU 中如何缓解这种情况?也许它使用 ROB 的头部作为程序计数器(RIP),但这似乎很浪费,也许可以协商延迟,但我不确定。