14 1月

[深度文系列] x86與ARM,複雜指令集與精簡指令集
隨著Apple推出最新的ARM架構晶片,越來越多人開始問到底ARM架構和intel的x86架構有什麼不同,本篇將會介紹ARM與x86架構,並介紹兩者之間的差異。
x86架構
x86屬於 複雜指令集計算機(CISC)架構,早期為了節省程式設計師的設計時間,開發出單一指令包含複雜操作的程式碼,來簡化設計程式所需的程式行數,當時幾乎所有CPU都是採用CISC架構。
優點:
缺點:
為了將更多的指令打包進一個小小的CPU上,就會需要將更多複雜的電晶體設計在晶片上,而更強大的功能就意味著更複雜的設計,如此便會導致像是耗電、高發熱量,並且由於x86自家設計上會先用解碼器先將複雜指令變成類似於RISC的指令,再給核心執行,這樣一來整體上執行工作效率會變得比較差,處理資料速度也會比較慢。
ARM架構
(Source: Apple)
ARM屬於 精簡指令集計算機(RISC)架構,相較於CISC,RISC架構只包含簡單基本的指令,再用這些基本的指令組合成複雜指令,最廣泛的應用是在手機晶片上,早期的手機晶片因為功能較簡單,體積也不能太大,因此只包含簡單基本指令的RISC架構晶片就比複雜的CISC架構晶片更適合作為手機的計算晶片。
優點:
因為相較於x86架構,ARM所屬的RISC架構不需要複雜的晶片設計,所以RISC在相同晶片條件下RISC的執行速度是CISC的2-4倍。而且可以做到讓晶片體積縮小、降低功耗、節省成本、提高效能,並且也可以比CISC應用更多先進技術來開發下一代晶片。
缺點:
CISC架構下工程師只要寫『拿起雞蛋>丟出雞蛋』這樣簡單的指令
而在RISC架構下,工程師需要將動作分解成多個步驟,就要寫成『朝雞蛋伸出手臂>用手抓住雞蛋>將手臂伸回>將手臂抬起>手臂朝目標方向甩動>手放開雞蛋』。
因此工程師會需要花更多時間在編輯程式碼,軟體開發時間增加,軟體所占容量也會增加。
(Source: macw.com)
小結: