查看: 1419|回复: 0

[经验] RISC和CISC

[复制链接]

该用户从未签到

发表于 2021-2-28 17:47:28 | 显示全部楼层 |阅读模式
分享到:
首先介绍了指令集的设计思想。因为要引出ARM为什么会采用改进过的RISC指令集设计思想,所以这部分主要分析了RISC和CISC之间的区别。因为笔者对RISC和CISC也知之甚少,所以查阅了一些资料,在这里列了出来,欢迎各位看官纠正。
     大家都知道,CISC出现的比RISC要早,但是CISC这个概念的出现,却晚于RISC。这个原因说起来比较简单,因为早期的时候只有一种设计原理,并没有精简和复杂之分。既然没有区分,所以也不会有CISC和RISC的概念了。既然要谈这两个概念,我们就从最早期谈起。


    早期的时候,指令集的设计主要要遵循下面几个约束:
    1。编译器技术没有出现或者不成熟。由于程序都是用机器语言和汇编语言编写,为了方便编写程序,所以在硬件端设计复杂的指令来满足要求。
    2。当时存储器容量很小,所以为了存储尽可能多的指令,采用了长度不等的,功能高度集成的指令。
    3。处理器的Register极少,这样为了少读取外部的存储器,所以只能采用更复杂的指令。


    这上面几点的结果,也就是CISC产生的条件,所以早期的设计都是采用CISC的设计思想。时间慢慢的推移,大家忽然发现CISC需要设计的指令集越来越多,但是真正经常使用到的呢,也就占20%左右。加之编译器技术的发展和存储器技术的改进,以前的制约因素不存在了。于是RISC设计应运而生。要说这个概念的形成,时间地点应该是1979年的美国加州大学伯克利分校。RISC概念早期主要设计原理是选取使用频率最高的简单指令,避免复杂指令;指令长度固定,且寻址方式减少;少用微代码控制。但是直到现在,RISC仍然没有一个明确的定义。一般都认为RISC应该具有以下特点(书中已有类似的描述,这里赘述下):


    1。指令集采用固定格式。


    2。采用单周期指令,便于流水线技术。


    3。大量使用寄存器,处理器只对寄存器操作,采用Load Store技术访问存储器。


    但是随着时代的发展,RISC和CISC之间的界限越来越模糊。越来越多的CISC处理器采用了RISC的设计思想,而很多RISC处理器也不完全局限于RISC的条条框框。其设计思想的共性越来越多,性能的差距也越来越小,所以我想,未来的设计方向应该是这二者的融合。
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条



手机版|小黑屋|与非网

GMT+8, 2024-5-14 07:37 , Processed in 0.106731 second(s), 15 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.