ARM与RISC、x86与CISC的概念区别及关系答疑
概念澄清:RISC/CISC 与 ARM/x86 的层级差异
你之前的认知存在一个小偏差:RISC和CISC并不是某一个有明确执行规范的具体指令集,而是指令集设计思路的顶层分类,没有任何机构会给“符合RISC/CISC”做强制认证,只要指令集的设计逻辑匹配对应思路,就可以被归到对应分类下。
两层概念的明确边界
我们日常提到的“架构”如果指代可落地、可做芯片兼容的实体规范,指的是具体指令集架构(ISA),这层才是有明确文档规定、版本迭代、版权归属的标准,处理器必须完整实现对应要求才能宣称支持该架构。
- 顶层设计分类层:只有RISC、CISC两个大类,是对所有ISA设计特征的归纳划分
- RISC的核心特征:指令长度固定、指令格式统一、寻址方式简单,仅保留Load/Store两类指令访问内存,绝大多数常规指令可以单周期执行
- CISC的核心特征:指令长度不固定、单条指令可承载复杂操作(比如直接完成内存数据的运算+写回)、寻址方式丰富,不同指令的执行周期差异很大
- 具体指令集架构层:就是大家常说的“XX架构”,是有明确规范的实体标准
- ARM是RISC设计思路下的主流商业ISA,由ARM公司主导迭代(目前主流版本为ARMv8、ARMv9),通过IP授权的方式开放给芯片厂商生产兼容处理器,同属RISC分类的ISA还有RISC-V、MIPS、PowerPC等
- x86(含32位x86、64位x86-64/AMD64)是CISC设计思路下的主流商业ISA,最早由Intel推出,目前由Intel、AMD共同主导迭代,是桌面PC、传统服务器领域市占率最高的ISA,同属CISC分类的ISA还有早年的8051、x87等
日常表述混用的原因
当前通用计算市场里,RISC阵营大众认知度最高的商用ISA就是ARM,CISC阵营大规模商用的ISA几乎只剩x86,很多技术资料为了表述方便,会直接用ARM代指RISC类产品、用x86代指CISC类产品,本质是用最具代表性的个体代指整个大类,才会造成概念对等的误解。
补充说明:现在的高性能x86处理器为了提升执行效率,内部会把对外接收的CISC指令拆解成类RISC的微指令再调度执行,但它对外暴露的指令集完全符合CISC的设计特征,因此分类上仍然属于CISC阵营,不会被划入RISC类别。
内容的提问来源于stack exchange,提问作者roi_saumon
相关产品推荐
相关产品推荐

