视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
RISC和CISC架构6大方面的差异
2025-09-29 22:33:05 责编:小OO
文档
RISC 和CISC 架构6 大方面的差异

有关RISC 和CISC 的区别方面,之前就有一些零零碎碎的理解,这里

再次做一次总结,以求深入。

CISC 架构的代表:x86,C51

RISC 架构的代码:arm,mips,powerpc,avr,pic

指令集的区别

首先从字面上理解就能知道,CISC(Complex InstrucTIon SetComputer)架构的指令数肯定是远远多于RISC(ReducedInstrucTIon Set Computer)架构的。另外,RISC 架构下,不同指令opcode 的长度是相等的,而x86 下不同的指令的长度差别很大。

寄存器的区别CISC 架构一般都提供通用寄存器a(x86 下为eax),来支持大部分运算指令,但是由于指令太过复杂的原因,并不是所有的寄存器都能支持全部指令的运算,所以汇编代码中会有各种针对eax 的mov 操作,影响性能。

指令执行所需要的时钟周期

在CISC 架构中,不同指令所需要的时钟周期是不同的(比如乘法和加法的周期就不太可能相同)。而RISC 架构的处理器,大部分的指令都可以在一个时钟周期内完成,这应该可以降低指令流水线设计的复杂度。CISC 架构的很多复杂指令都通过CPU 内的微码来完成,这样那些微码比较复杂的指令就需要多个时钟周期才能完成。指令执行需要的时钟周期不同,会增加指令流水线优化的难度。

访问内存的区别

RISC 在结构设计上是一个载入/存储(load/store)的构架,只有载入和存储指令可以访问内存,数据处理指令只对寄存器的内容进行操作。为了加速程序的运算,RISC 会设定多组的寄存器,并且指定特殊用途的寄存器。CISC 架构则允许数据处理指令对内存进行操作,因此需要的寄存器数量会比较少。另外X86 架构支持cpu 对非对齐的内存地址的访问,这在RISC 架构的处理器中通常会引起CPU 产生异常。其实像类似非对齐内存地址访问的功能,X86 也是通过CPU 内微码来实现的,效率会大大降低。

寻址方式和IO 空间

X86 架构下IO 空间和内存空间是分开的,IO 空间使用完全不同的指令来访问(in,out)。RISC 架构则不区分IO 空间和内存空间,都是直接把IO 空间映射到内存空间,直接用内存空间的访问方式来操作。RISC 架构下对于寻址方式同样做了精简,几乎所有的指令都使用寄存器寻址。

编译的区别

CISC 的指令丰富的优势,使得它的编译器可以少做很多事情,编译器的设计更简单。而RISC 在实现一个功能的时候,需要的指令条目数会更多一些,程序也会更大。

总结:

RISC 相对于CISC 架构来说,是一种较新的技术,由于没有历史负担,不需要考虑向下兼容,所以它的设计可以做的相当的简单而优雅。RISC 架构的指令,寄存器和流水线特征使它非常适合于并行计算。可以遇见,未来RISC 架构将会越来越大放异彩.下载本文

显示全文
专题