我如何知道我正在查看CISC还是RISC指令集?

问题描述

在所有“标准”(假设其设计为通过某些通用计算平台正常执行)可执行二进制文件中是否存在可靠的标头,我可以使用这些标头确定我正在查看CISC还是RISC指令集? / p>

还是我必须使用可执行文件所在的系统的上下文知识来假设指令体系?

解决方法

不。一个反例是DOS .com可执行文件:没有元数据,只有裸机代码。固件的ROM映像可能同样没有元数据。

如果您正在谈论ELF可执行文件,它们会指出它们的用途是ISA,但不要将该ISA归类为RISC与CISC。因此,您需要一个包含所有RISC ISA和所有CISC ISA的表。

有些ISA甚至使这条线变得模糊,例如ARM具有一些CISCy功能,例如负载倍数,或者ForwardCom,其架构师将其描述为RISC或CISC,但结合了来自每个。