如果您正在编写教科书,并且需要决定CPU设计来讨论某些问题,您会选择RISC还是CISC? RISC的优点,嗯,你知道:更清洁,更容易,等等。 RISC的缺点:与x86相比,我必须使用仿真器,市场上的CPU很少,因此比选择像ARM或SPARC这样的纯RISC CPU的影响要小。我被撕裂了,虽然我倾向于x86和CISC ...许多优点,缺点:不是RISC,所有这些书都像Henessy等。和其他人一样喜欢RISC!因此,总结一下:您会选择RISC或CISC(x86)吗? 感谢。
答案 0 :(得分:11)
您是在具体谈论x86处理器设计,还是在x86中比其他任何设备更普遍的特定设计功能?没有?然后使用RISC架构。
使用x86所能实现的就是x86机制会掩盖你实际想做的任何一点。
答案 1 :(得分:4)
我更喜欢RISC,因为他们有快速和小指令。它们比CISC 更便宜并且有许多更多寄存器。 CISC处理器的一些指令,例如与xchg
一起使用的英特尔scas
或stos
,movs
,cmps
和rep
都非常特殊。许多编译器从不使用它们,因此使用它们只会浪费硅和金钱
而且,谈论寄存器,即使RISC处理器需要更多指令来完成CISC只能处理一个寄存器,它们也有很多寄存器(我认为)在RISC上访问的频率较低。
我正在谈论CISC“程序员”,因为我在intel的x86上学习,有时只有6个通用寄存器,通常在循环中减少到3或4(ecx消失了,有edi或esi或两者都有),可能非常棘手。
尽管汇编本身倾向于隐藏代码的真实性质,但我认为(记得我用x86增长了)由于需要更多的指令,RISC程序集更难以理解。
答案 2 :(得分:4)
我会建议 x86 的一般(或程序员)观众。无论他们熟悉哪种语言,都可以使用x86轻松演示相同的构建模块,如 for 和 if ,或 function 的概念指令。
Asm足够抽象,如果他们能够将新知识与他们对编程的现有理解联系起来,那么它是无价的。 (它甚至可以帮助他们编写质量更好的代码)。
我不认为选择x86意味着您必须包含所有说明。下一个级别可能是您引入某些ASM结构的机器代码表示,但只有当它们首先与它们的助记符相容时才会出现。
答案 3 :(得分:1)
如果项目的主要要求是安全性,而不是容量,因为安全性通常是容量的权衡,那么我建议使用RISC架构。众所周知,使用x86汇编程序的防火墙存在安全问题,而SPARC汇编程序等RISC实现则没有。因此,最安全的项目的规范可能是使用SPARC程序集,因为它已知是一个安全的环境,即使不知道它是一个安全的环境,与x86程序集相比,只有很少的人可以编程SPARC程序集因此,如果防火墙正在运行的是RISC架构,那么可以编程安全漏洞的攻击者数量就会减少。
所以我说如果你在谈论防火墙应用程序,那么它可能应该是一个RISC架构。