首页 文章

x86遗留指令的说明

提问于
浏览
2

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

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

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

3 回答

  • 3

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

    因为他们运行的是10年前编写的软件 . 或者更重要的是,企业通常严重依赖超过20年或更长时间的软件 . 软件非常非常昂贵,需要一个经过良好补偿的程序员 . 很难分摊开发成本,如果你能够(非常昂贵的)掩模和芯片工厂,你可以以非常低的成本创造数百万的芯片 .

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

  • 0

    虽然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解码成本 .

  • 3

    在讨论80386及更高版本的x86处理器时,“x86传统支持”是指能够运行8086/80186/80286上的所有16位指令并模拟其所有内存寻址模式:8086的20位实模式和80286的24位保护模式 .

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

    这是迄今为止每个80386(及以上)支持的三种截然不同的模式 - 所有这些模式都支持16位代码,很少有人能够运行 .

相关问题