【发布时间】:2013-01-27 05:51:50
【问题描述】:
似乎两者都用于各种原因,ARM 用于功耗,x86 用于扩展功能。
我还是很好奇,因为我的计算机科学文化有点空洞,像 x86(或它们的前辈)这样的 CISC 芯片的真正目的是什么。
如果他们有 RISC,我们的计算机会更好吗(例如,如果微软为 RISC 移植其内核和工具链,如 MIPS 或 ARM)?还是作为一项不可能完成的任务?
我正在阅读 CISC 的目的是能够更接近高级语言,我觉得这很奇怪。英特尔和微软之间是否达成了转而专注于 x86 的协议?
【问题讨论】:
-
奇怪与否,具有复杂功能的可变长度指令减少了代码大小,这在几十年前曾经非常重要,并且(不?)令人惊讶的是仍然如此。 ARM 和 MIPS 现在已经有了 16 位指令集,尽管它们开始使用 32 位指令。这是为了减少内存浪费。
-
恕我直言,RISC 机器的最大优势是更大数量的(非专用)寄存器,编译器可以生成更好的指令序列,而无需将寄存器溢出到临时存储。指令集的正交性也有帮助。
-
您计算机的 x86 或 x86_64 很可能实际上是核心 RISC,它将 CISC 指令转换为(内部)RISC 类型的操作序列,然后安排执行。并且说 CPU 的内部寄存器也比程序员看到的要多得多。可见的架构是 CISC,出于兼容性原因和(更重要的是)代码紧凑性(在今天的机器上,访问 RAM 需要足够的时间来处理数百条指令)。
-
最后括号中的信息与频率有关,而不是真正的架构。
标签: algorithm x86 arm mips processor