x86/x64芯片仍然使用微程序吗?

x86/x64芯片仍然使用微程序吗?,x86,64-bit,intel,cpu-architecture,microcoding,X86,64 Bit,Intel,Cpu Architecture,Microcoding,若我理解这两篇文章,英特尔体系结构在其最低层次上已经转变为使用RISC指令,而不是英特尔以其传统的CISC指令集而闻名: 如果是这样的话,那么x86/x64芯片是否仍然是微编程的,还是像传统的RISC芯片一样使用硬接线控制?我猜它仍然是微程序的,但我想验证一下。微代码已经存在很长时间了,如果你指的是微代码的话。所以我不知道HardwareScrets这篇文章是关于什么的,除非Intel现在正在CISC处理器之上构建RISC处理器 甚至《硬件评论》的文章也称之为微指令。土豆,土豆 在现代x86

若我理解这两篇文章,英特尔体系结构在其最低层次上已经转变为使用RISC指令,而不是英特尔以其传统的CISC指令集而闻名:


如果是这样的话,那么x86/x64芯片是否仍然是微编程的,还是像传统的RISC芯片一样使用硬接线控制?我猜它仍然是微程序的,但我想验证一下。

微代码已经存在很长时间了,如果你指的是微代码的话。所以我不知道HardwareScrets这篇文章是关于什么的,除非Intel现在正在CISC处理器之上构建RISC处理器

甚至《硬件评论》的文章也称之为微指令。土豆,土豆


在现代x86处理器上,大多数指令执行时没有微码(*),但一些复杂或不经常执行的指令使用微码

(*)不要与微操作混淆——在x86无序处理器中,x86指令通常被解码成一个或多个微操作,然后在无序执行管道中排队等待执行(无微码!)


还值得注意的是,现代x86处理器有一种修补/更新微码的功能,以修复现场的错误。

刚刚找到了答案。Andrew Tanenbaum的“计算机系统组织”参考,第54页至第59页。 英特尔芯片是基于CISC的,所有基于CISC的芯片都有一个解释器(微码),可以将复杂的指令分解成小步。早些时候,所有的芯片都含有微程序。直到1980年David Patterson和Carlo Sequin引入RISC概念,才出现CISC术语。 RISC代表精简指令集计算机。在当今时代,指令集的大小无关紧要。在RISC设计中,重要的是指令的简单性,但“reduced”这个名称仍然存在。 RISC设计是关于快速发布越来越简单的指令。一条指令花费的时间比每秒可以启动的时间要短。 与较慢的主存储器CISC设计相比,使用更快的CPU ROM的优势也随着同样更快的主存储器的出现而消失。 RISC在性能方面绝对优于CISC。那为什么芯片制造商英特尔没有转向RISC呢?原因有二。首先,存在向后兼容性问题,各公司已投资数十亿美元用于英特尔生产线的软件。其次,英特尔可以设法在其CISC芯片中使用RISC的思想。从486开始,intel CPU包含一个RISC内核,在单个数据路径周期内执行smiplest和最常见的指令,同时以通常的CISC方式解释更复杂的指令。
我猜英特尔表面上转向了混合方法,以使市场上的面子/声誉/商誉与技术进步保持一致。我会把英特尔芯片作为基于CISC的唯一

当前的x86 CPU仍然使用微码,因为x86指令集相对于典型的RISC处理器非常复杂。至少在某些说明中是这样


在内部,复杂指令被分解为简单的RISC指令,然后由复杂的RISC内核进行处理。类似RISC的指令有时会重新排序或并行执行。

微代码指令的典型示例是除法和乘法,CISC和RISC都是这种情况。考虑到(相对地)很少使用硬件,在硬件上实现划分是不值得的。乘法实现起来要简单得多,但也采用了微编码,尽管程度不同。根据本文件,K10处理器的mul和div延迟为5和77或15.4X。对于英特尔SBR(?),相应的值为4和92或23X。关于它们的相对复杂性的另一个洞察是它们各自的吞吐量:在K10上,每隔一个时钟周期可以维持一次乘法(2.5-5/2-同时运行),但每77个时钟周期只能维持一次除法(与除法延迟相同)


其他的例子是sh?d(双移位)和bs?(位扫描?。

这取决于特定的芯片。x86/x64是一大类芯片。@Adam,这篇文章提到的是第六代及以上英特尔处理器的芯片,也就是说奔腾Pro及更高版本,根据这一点:答案是什么?有很多关于RISC比CISC更快或更好的宣传,我猜英特尔想让他们的芯片看起来像RISC,以从宣传中获利。尽管如此,x86芯片已经能够在一个时钟周期(或更快)内执行一些指令相当长的一段时间,因此RISC的“功能”并不是RISC独有的。RISC指令也并非都在一个时钟周期内执行。AMD将x86扩展到了另一个RISC领域——一个更大的寄存器文件——在传统的x86寄存器上增加了寄存器R8到R15。而且,即使RISC处理器也声称是“向后兼容的”