x86遗留指令的说明

时间:2014-09-03 09:53:15

标签: x86 intel

我正在阅读一本关于计算机体系结构的书,以便在我遇到作者没有解释的绊脚石时提高我对微处理器的理解。本书涉及原始奔腾向上的英特尔处理器。

作者从未解释过x86从处理器到处理器的实际含义。我发现很难理解,因为在讨论最初的Pentium时,作者说Pentium的一个缺点是它为x86传统支持分配了超过30%的晶体管。因此,我认为他的意思是Pentium必须与为80386等老一代处理器编写的程序兼容。后来,在Pentium 4的另一章中,他说他说10%的晶体管用于x86支持。我不明白的是他在谈论x86。另外,我确定英特尔并没有为它发布的每个新处理器实现不同的指令集。如果有的话,将为新的执行单元添加新的指令。我想说的是,如果是这种情况,则x86指令已经是新指令集的子集。或者不是这样吗?

我觉得我很困惑。有人解释这个x86支持的东西,以及为什么有人想要在10年之后运行遗留软件会有所帮助?另外,不同的x86实现有不同的标签吗?因为当他们说x86遗留支持时,他们是指808686中的x86还是8086? 你的回复将受到珍惜。 感谢

3 个答案:

答案 0 :(得分:3)

  

为什么有人想在10年之后运行遗留软件?

因为他们运行的是10年前编写的软件。或者更重要的是,企业通常严重依赖超过20年或更长时间的软件。软件非常非常昂贵,它需要一个经过良好补偿的程序员。如果您不能销售数百个许可证,那么很难分摊开发成本,LOB软件从未发生过这种情况。硬件非常不同,一旦你拥有(非常昂贵的)面罩和芯片工厂,就可以以非常低的成本创建百万芯片。

保持新处理器设计与旧处理器设计兼容是您机器中安装了Intel或AMD处理器的一个重要原因。英特尔试图摆脱它的任何尝试都是一次糟糕的失败。 iAPX 432,80960和Itanium就是很好的例子。

答案 1 :(得分:3)

虽然x86 ISA是CISC ISA,但自Pentium以来,英特尔处理器内部使用类似RISC的微操作。 x86指令被解码为内部微操作。

因此,估计Pentium使用30%的晶体管来支持x86 ISA。由于x86 ISA和支持硬件保持相对稳定,因此在Pentium 4时代,估计x86支持占晶体管数量的10%。

Ars Technica' Jon Stokes在The Pentium: An Architectural History of the World's Most Famous Desktop Processor上触及x86-RISC解码成本。

答案 2 :(得分:0)

当谈到80386及更高版本的x86处理器时," x86传统支持"指的是能够运行8086/80186/80286上的所有16位指令并模拟其所有存储器寻址模式:8086的20位实模式和80286的24位模式位保护模式。

最重要的是,80386引入了v86模式,模拟实模式,而处理器继续以32位保护模式运行。

这是每个80386(及以上)支持的三种截然不同的模式 - 所有这些模式都支持16位代码,只有极少数人可以运行。