簡單了解一下arm架構和x86架構
最后修改時間:2020-07-13 瀏覽:
隨著蘋果在北京時間6月23日2020WWDC開發者大會上宣布將在全新Mac產品中全面引入自研ARM架構芯片而非繼續使用英特爾芯片消息后,arm架構與x86架構引起一些相關用戶的興趣。接下來就簡單了解一下arm架構和x86架構的區別和各自的一些優勢,蘋果為什么要放棄x86架構引入arm架構芯片。
首先在根本上了解一下arm架構和x86架構的區別,即所謂的“復雜指令集”和“精簡指令集”系統,x86架構使用的是復雜指令集(CISC)arm架構使用的是精簡指令集(RISC),區別在于考慮問題的方式不同。
借用一個網上例子,比如說我們要命令一個人吃飯,那么我們應該怎么命令呢?我們可以直接對他下達“吃飯”的命令,也可以命令他“先拿勺子,然后舀起一勺飯,然后張嘴,然后送到嘴里,最后咽下去”。從這里可以看到,對于命令別人做事這樣一件事情,不同的人有不同的理解,有人認為,如果我首先給接受命令的人以足夠的訓練,讓他掌握各種復雜技能(即在硬件中實現對應的復雜功能),那么以后就可以用非常簡單的命令讓他去做很復雜的事情——比如只要說一句“吃飯”,他就會吃飯。但是也有人認為這樣會讓事情變的太復雜,畢竟接受命令的人要做的事情很復雜,如果你這時候想讓他吃菜怎么辦?難道繼續訓練他吃菜的方法?我們為什么不可以把事情分為許多非常基本的步驟,這樣只需要接受命令的人懂得很少的基本技能,就可以完成同樣的工作,無非是下達命令的人稍微累一點——比如現在我要他吃菜,只需要把剛剛吃飯命令里的“舀起一勺飯”改成“舀起一勺菜”,問題就解決了,多么簡單。這就是“復雜指令集”和“精簡指令集”的邏輯區別。
兩者的差異也使得在應用領域中有著相對明顯的區分,x86架構更加專注于高性能但同時高功耗的實現,而arm架構則專注于低功耗領域。Mac產品之前采用的x86架構CPU的功耗通常在幾十到一百多,甚至是200的功耗。相對于筆記本需要的續航,靜音,散熱等需求,顯得有點背道而馳,而arm架構的CPU功能可以做到個位數,更加符合筆記本的需求,同時可以打通iOS和iPadOS的情況下,在一部分常規需求的客戶就更可能會更偏向Mac的選擇。
近十多年來,關于CISC和RISC的區分已經慢慢的在模糊,例如自P6體系(即Pentium Pro)以來,作為CISC代表的X86架構引入了微碼概念,與此對應的,處理器內部也增加了所謂的譯碼器,負責將傳統的CISC指令“拆包”為更加短小的微碼(uOPs)。一條CISC指令進來以后,會被譯碼器拆分為數量不等的微碼,然后送入處理器的執行管線——這實際上可以理解為RISC內核 CISC解碼器。而RISC也引入了指令集這個就邏輯角度而言非常不精簡的東西,來增加運算性能。