【问题标题】:Is x86 RISC or CISC? [closed]x86 RISC 还是 CISC? [关闭]
【发布时间】:2012-10-15 19:00:35
【问题描述】:

根据 Wikipedia,x86 是一种 CISC 设计,但我也听说/读到它是 RISC。什么是正确的?我也想知道为什么它是 CISC 或 RISC。什么决定了设计是 RISC 还是 CISC? 只是微处理器具有的机器语言指令的数量还是有任何其他特征决定了架构?

【问题讨论】:

  • 我没有时间写一个完整的答案,但是是的,原始的 x86 指令集架构表面上是 CISC(许多复杂的指令可以被一系列更简单的指令代替) .但在底层,在许多 x86 CPU 中,它类似于 RISC——它使用微码将复杂指令转换为更简单的指令,然后执行那些更简单的指令。
  • 这个问题的主题是: * 程序员常用的软件工具(指令集) * 软件开发特有的实用、可回答的问题(理解指令集架构)

标签: x86 cpu cpu-architecture


【解决方案1】:

x86 是一种 CISC 架构。指令数量是一个重要因素,因为所有具有更多指令的 cisc 架构。此外,由于指令在 cisc 中很复杂,它们可能需要 >1 个周期才能完成,而在 RISC 中它们应该是单周期。主要区别如下:

+------------------------------+------------------------------+
| CISC                         | RISC                         |
+------------------------------+------------------------------+
| Emphasis on hardware         | Emphasis on software         |
| .                            |                              |
| Includes multi-clock         | Single-clock,                |
| complex instructions         | reduced instruction only     |
| .                            |                              |
| Memory-to-memory:            | Register to register:        |
| "LOAD" and "STORE"           | "LOAD" and "STORE"           |
| incorporated in instruction  | are independent instructions |
| .                            |                              |
| Small code sizes,            | Low cycles per second,       |
| high cycles per second       | large code sizes             |
| .                            |                              |
| Transistors used for storing | Spends more transistors      |
| complex instructions         | on memory registers          |
+------------------------------+------------------------------+

如需进一步研究,请点击此处: http://www-cs-faculty.stanford.edu/~eroberts/courses/soco/projects/risc/risccisc/

【讨论】:

  • 如果我们认为 x86 可以在每个时钟周期执行几条指令,那么我们得到了什么?
  • 如果我们每个周期可以执行多条指令,那么 x86 将有能力进行并行处理。
  • x86 指令集是CISC,但(现代)x86 架构是RISC(内部)
  • “代码大小”是什么意思?
  • 这篇文章也对此进行了很多说明 - 添加这个是因为这是第一个谷歌结果。 stackoverflow.com/questions/5806589/… 另外,我们可能需要更新该表 - 我认为单核不再是 RISC 处理器的要求。
【解决方案2】:

早期的 x86 (8086 / 186 / 286 / 386) 肯定是 CISC。

但是,最近的处理器可以被视为混合处理器,RISC core

其他参考here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-23
    • 2014-12-21
    • 1970-01-01
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    • 1970-01-01
    • 2021-08-07
    相关资源
    最近更新 更多