从前,在写x86汇编语言时,例如,你需要指令说明“将EDX寄存器加载为值5”,“增加EDX”寄存器等。
对于现代拥有4个核心(甚至更多)的CPU,在机器代码级别上是否看起来就像有4个单独的CPU(即是否只有4个不同的“EDX”寄存器)?如果是这样,当你说“增加EDX寄存器”时,是什么决定了哪个CPU的EDX寄存器被增加?在x86汇编中现在是否有“CPU上下文”或“线程”概念?
多核心之间的通信/同步是如何工作的?
如果您要编写操作系统,硬件公开了哪种机制可以允许您在不同的核心上调度执行?这是一些特殊的特权指令吗?
如果您要为多核心CPU编写优化编译器/字节码VM,那么您需要特别了解,比如x86,以使其生成在所有核心上高效运行的代码?
x86机器代码已经做出哪些改变以支持多核功能?