也许这是一个愚蠢的问题,但我正在尝试更好地了解硬件内部运作方式...
如果一台机器有两个或更多的CPU,实际上哪个硬件组件负责在不同的CPU之间分配指令执行(进程或线程级别)?换一种说法,一旦指令集到达,什么决定了哪个CPU做什么?是否有相当于负载平衡器的功能,可以在群集计算环境中分配工作负载。
谢谢
1
每个内核都接收自己的指令流。构成单个执行线程的连续指令流仅到达单个核心。如果多个内核同时处于活动状态,则每个内核都将遵循自己当时在该内核运行的软件中存在的指令流。调度程序(操作系统的一部分)将指令流分配给内核。
—
David Schwartz