compiler-construction - 编译器能否直接生成微编程级别而不是指令集级别的输出?

标签 compiler-construction cpu-architecture instruction-set

我想知道是否任何给定的编译器都可以直接生成微架构级别而不是 ISA 级别的输出。据我了解,现在微编程级别通常不被使用,硬件直接在 ISA 级别执行指令。但这可能吗?为什么现在没有做那么多呢?谢谢。

最佳答案

CPU 通常不会公开可让您直接访问微编程指令的接口(interface) - 事实上,这些指令没有二进制格式。因此,编译器不可能以它们为目标,这样做也没有任何意义,因为没有人能够使用生成的二进制文件。

即使可能,这也不是一个好主意 - ISA 是保证保持向后兼容的标准,而处理器供应商可以在方便的时候更改内部微代码。它的压缩率也可能比 ISA 低得多,因此二进制文件会更大,并且您会损失指令缓存的性能。

关于compiler-construction - 编译器能否直接生成微编程级别而不是指令集级别的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21369957/

相关文章:

c++ - 如何修复 Turbo C++ 错误 "Cannot open include file: graphics.h: no such files or director"

performance - 内存山的时间地点

performance - 为什么 Skylake 在单线程内存吞吐量方面比 Broadwell-E 好这么多?

operating-system - 操作系统如何与声卡/视频卡等外围设备交互

sse - Streaming SIMD Extensions 是否取代了 x87 指令集?

compiler-construction - Phpstorm 7 - 如何使用我的命令设置闭包编译器参数?

xcode - 为大型游戏项目缩短 XCode 4.5 的构建时间

vectorization - 内存库矢量处理器中内存访问冲突的条件

c - 如何确定在 C 程序中执行的 x86 机器指令的数量?

c++ - 前向声明中的 "using typedef-name ... as class"