指令集架构(Instruction Set Architecture ISA)
什么是指令集架构
从这个图可以看到ISA是处于一个中间的位置,可以理解为ISA是应用层和硬件电路层的抽象层。
为什么需要ISA
制定规范,有了ISA的约束,程序就可以依照这些特性来设计,并且只要依照这些特性设计的程序,都可以运行在支持这个架构的计算机上。这样一来,程序、编译器、汇编器等等软件的通用性就增加了。
复杂指令集(Complex Instruction Set Computers CISC):
CISC以Intel、AMD的x86CPU为代表。
在过去,程序没有那么复杂,编译器也没有那么聪明,内存的容量和速度是最大的瓶颈。所以一个程序所产生的指令的多少,很大程度上决定了它的性能。所以在以前的时候,指令都是可变长度(Variable-Length Instruction),这样就可以最大程度利用内存的容量,而且每条指令都能让处理器进行复杂的工作,这就是 CISC 指令集(Complex Instruction Set Computing)。
精简指令集(Reduced Instruction Set Computing):
RISC以ARM和Power为代表。
随着程序的发展,新的指令也在不断加入指令集架构中,指令集系统越来越复杂。比如,现在有越来越多的视频处理程序,这就要求指令集架构能提供 矢量(Vector) 相关的运算指令。而随着编译器变得越来越聪明,很多优化可以由编译器来完成,这就让人们开始更多的关注 RISC 指令集。
RISC是一种使用固定长度指令、大量使用寄存器的指令级架构。
RISC和CISC区别:
参考资料:
https://zhuanlan.zhihu.com/p/345307861



还不快抢沙发