首先,我们可以把硬件(CPU)想象成新建小区,软件想象成小区边的配套设施,比如医院,超市等。
而这个时候,小区和周边设施中间有一条河,想要互通无阻,就需要指令集充当桥的角色。
复杂指令集和精简指令集都能做到连接两地,但从一地到达另一地的出发目的却是可以不同的。
比如,小明只有一辆摩托车,他想要从小区过桥到超市买水,骑摩托车很快就能搞定。但如果他要从超市运输大量物资回家,就需要多走几趟。
而另一个人小虎,有一辆私家车,载货量足,运货的话,比摩托车强很多,但是只能走特定的大桥,如果只是买水,开车成本增高,虽然小虎也可以选择走路,但效率显然会变的更慢。
所以就是,精简指令集和复杂指令集的优劣,要根据场景和需求来决定。
总的来说,精简指令集适合移动端,能耗低,省电,性能会差点。复杂指令集适合 PC,处理速度快,能力更强,但比较臃肿,有时候不够高效。
当然,这也并非绝对,实际上两者正在取长补短,互相学习。