前几天有个兄弟在问答区问了个问题,他说为啥不能用ARM来跑那种超大型的操作系统而X86可以,就是windows级别的,当时我回答他说是RISC与CISC的区别。
那么RISC与CISC到底有什么本质区别呢,下面这些内容摘自ARROW
==========================================================================================================
体系结构基本知识
如同古老的传说 – RISC 与 CISC。人们选择青睐的一方往往是由于使用台式计算机和手机或与基于这些体系结构的设备执行的其他高级交互的体验,但 SBC 市场让人们能够以更透彻的视角了解差异和优点。
设备的 CPU(中央处理单元),无论是 RISC 还是 CISC,使用称为“指令”的特殊代码来控制周围硬件。这些指令构成汇编码,这是从基本二进制码而来的最后抽象层之一,极其精细,但在某种程度上是人类可读的。
RISC 代表“精简指令集计算”,而 CISC 则代表“复杂指令集计算”。RISC 指令,就像上面显示的那些一样,非常简单,在单个时钟周期内便可执行。这些指令包括诸如 ADD、SUB (减)、MOV(移动)和 BIC(按位清除)的基本指令。RISC 代码看起来更长,因为每个运算必须在多个简单的步骤内完成,但提供了更为细致的一对一形式来表示处理器如何解析代码。CISC 可执行更为复杂的运算,比如在单个时钟周期无法完成且装配 RISC 时需要若干行代码的 IMUL(有符号乘法)和 MOVS(按字符串移动数据)RISC。
===========================================================================================================
上面这些东西看起来复杂,个人归结起来就是下面两点:
1、CISC只适用于那些大型的操作系统,因为它的一条指令可以执行更多的任务。但是RISC不适用,因为你需要更多的指令,浪费时间。
2、CISC不适用于跑中小型操作系统如RTOS\Android那些,因为它的长指令集在此时就是浪费计算资源,除非你CPU很吊(浪费电),不然实际效果还不如同频率的RISC
前几天有个兄弟在问答区问了个问题,他说为啥不能用ARM来跑那种超大型的操作系统而X86可以,就是windows级别的,当时我回答他说是RISC与CISC的区别。
那么RISC与CISC到底有什么本质区别呢,下面这些内容摘自ARROW
==========================================================================================================
体系结构基本知识
如同古老的传说 – RISC 与 CISC。人们选择青睐的一方往往是由于使用台式计算机和手机或与基于这些体系结构的设备执行的其他高级交互的体验,但 SBC 市场让人们能够以更透彻的视角了解差异和优点。
设备的 CPU(中央处理单元),无论是 RISC 还是 CISC,使用称为“指令”的特殊代码来控制周围硬件。这些指令构成汇编码,这是从基本二进制码而来的最后抽象层之一,极其精细,但在某种程度上是人类可读的。
RISC 代表“精简指令集计算”,而 CISC 则代表“复杂指令集计算”。RISC 指令,就像上面显示的那些一样,非常简单,在单个时钟周期内便可执行。这些指令包括诸如 ADD、SUB (减)、MOV(移动)和 BIC(按位清除)的基本指令。RISC 代码看起来更长,因为每个运算必须在多个简单的步骤内完成,但提供了更为细致的一对一形式来表示处理器如何解析代码。CISC 可执行更为复杂的运算,比如在单个时钟周期无法完成且装配 RISC 时需要若干行代码的 IMUL(有符号乘法)和 MOVS(按字符串移动数据)RISC。
===========================================================================================================
上面这些东西看起来复杂,个人归结起来就是下面两点:
1、CISC只适用于那些大型的操作系统,因为它的一条指令可以执行更多的任务。但是RISC不适用,因为你需要更多的指令,浪费时间。
2、CISC不适用于跑中小型操作系统如RTOS\Android那些,因为它的长指令集在此时就是浪费计算资源,除非你CPU很吊(浪费电),不然实际效果还不如同频率的RISC