精简指令集与复杂指令集

来源:互联网 发布:python web 框架 编辑:程序博客网 时间:2024/05/17 01:01

转自:http://blog.sina.com.cn/s/blog_59bbea370100ecic.html

接触到计算机的时候,就听过两个想对应的名词:精简指令集和复杂指令集。于是就望文生意的认为,精简指令集就是指令少的指令集,而复杂指令集就是指令比较多的指令集。拿着自己的理解,和一些指令集想比较,还真是这个意思(运气而已,知其然,不知其所以然)。

随着技术的积累,见识的增多,才发现,自己以前的认识是那么可笑。

指令集可以认为是一个CPU的指令集合,他有“发送者”和“接收者”之分。当“发送者”将一个指令发给“接收者”是,“接收者”还得进一步讲指令细分,将指令分成最精简的动作,然后执行。这种指令的指令集就叫做“复杂指令集”,或者是CISC(Complex Instruction Set Computer)。而另外一种,“接收者”在接收到的指令时,不需要再指令进行划分,已经是最精简了,这种指令集就叫做“精简指令集”,或者是RISC(Reduced Instruction Set Computer)。

这就像是汽车运动一样,复杂指令集就相当于“左转90°”“右转10°”“倒退10米”“前进100米”“左转20°”等动作,而精简指令集就相当于“前进”“左转”“右转”“倒退”等这些指令。复杂指令集中的“左转90°”指令最后在执行时必须简化成“左转>后退>左转>后退>前进”等指令才能实现。

有上边的分析,我们就可以知道,精简指令集的特点也确实是指令比较少,而复杂指令集的特点也是指令数目比较多,但这并不是本质特点。

这个故事告诉我们:

不能以特点去解释本质。

不能浅尝辄止,想当然。


0 0
原创粉丝点击