[ARM嵌入式系统开发]第一章之RISC和CISC

      这本书在讲解ARM的设计思想前,首先介绍了指令集的设计思想。因为要引出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的条条框框。其设计思想的共性越来越多,性能的差距也越来越小,所以我想,未来的设计方向应该是这二者的融合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值