我想知道是否任何给定的编译器都可以直接生成微架构级别而不是 ISA 级别的输出。据我了解,现在微编程级别通常不被使用,硬件直接在 ISA 级别执行指令。但这可能吗?为什么现在没有做那么多呢?谢谢。
最佳答案
CPU 通常不会公开可让您直接访问微编程指令的接口(interface) - 事实上,这些指令没有二进制格式。因此,编译器不可能以它们为目标,这样做也没有任何意义,因为没有人能够使用生成的二进制文件。
即使可能,这也不是一个好主意 - ISA 是保证保持向后兼容的标准,而处理器供应商可以在方便的时候更改内部微代码。它的压缩率也可能比 ISA 低得多,因此二进制文件会更大,并且您会损失指令缓存的性能。
关于compiler-construction - 编译器能否直接生成微编程级别而不是指令集级别的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21369957/