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