CISC和RISC看机制和策略

cisc和risc的区别我就不说了,很多地方都有的,cisc就是机制和策略没有分离的例子,而risc是机制和策略分离的例子,在cisc的初期,人们感到很惬意,因为编程变得简单了,毕竟很多策略性的人工指令在cisc机器中都有直接的实现,但是人们不可能一直从这当中受益,因为随着指令的复杂,指令的增加,cpu的设计和实现难度也随着增加,另外80/20原则还坦白了一个值不值得的问题,就是我们有没有必要为那只有百分之二十使用几率的复杂指令实现cpu的执行逻辑(微程序或者硬连线),如果指令少,那么是值得的,但是指令多了的话,cpu内部的连线逻辑就显得越来越宝贵了,于是就不值得为很少执行的但是很复杂的指令实现连线逻辑了。于是risc出生了,并且不知不觉走入了机制和策略相分离的设计模式。

risc中,只是实现了简单的指令,这些指令很少而且实现很简单,这样cpu的设计变得简单了,复杂指令通过排列组合简单指令来完成,但是排列组合简单指令的任务却不是cpu的工作,而是编程者的工作,其实就是编译器的工作,这样好像是事情变得复杂了,然而事实却不是那么不好,cpu就是为了执行指令的,重排组合指令并不占用cpu的执行时间,并且简单的指令更容易被cpu实现,如此一来,cpu可以将闲置的其它硬件逻辑实现其别的特性,比如流水线,缓存,预取等等,另外简单的统一的指令会使得管理这些指令的发射变得简单和高效,因为指令格式一致,这对于流水线也是好的,因为大部分指令的执行时间是一致的,简单的机制性的东西很容易在一起协作。

risc和cisc的对比可以看出,risc更适合实现大型的硬件,而cisc则不行,因为一旦cpu设计得超过一定的晶体管数量,那么cpu会暴热,看来机制和策略分离是好事啊,不会万事没有绝对,如果不需要很强很大的功能,仅仅为了满足一个简单的需求,那么使用cisc还是有优势的,最起码开发周期会短。这么看来机制和策略分离适合大型并复杂的,统一的,灵活的东西,而机制和策略统一更适合小型的,简单的单一功能的系统。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值