實際上真正的情況是架構不同,在這不同的架構下,即便X86與ARM有了相同的製程,其效能也是越來越比不過。
X86所使用的是複雜指令集(CISC),這算是一個時代的產物,是當年受限於編譯器發展、CPU暫存有限,而使得在設計上以指令為導向來精準使用每一份資源、加速演算任務的進行,但長年下來不斷累加的指令集,就越來越形成設計上的負擔。
而ARM是後續才出來的使用精簡指令集(RISC)的架構,那時已有預料到CPU在不斷發展下,其暫存器也會越來越大,這時就可以不再依賴指令集這種東西而產生的。
簡單來講,ARM的高速是依賴於CPU的暫存器大小,在有充份的暫存器資源可使用的情況下,它的效率可以獲得顯著的提升,而製程的提升則是幫助CPU能獲得更多的空間來放置更大的暫存器。
所以未來必定會是ARM的時代(或著說必然是RISC的時代,而ARM是目前RISC最成功的架構),這無可避免,差別只是在這時代哪時會到而已,畢竟兩種架構在現階段還是高度不相容的,等於大量在X86上面的程式並無法轉移到ARM上面,這時為了運行以往的程式,就只能繼續用X86,然後又再誕生出更多的X86程式…(就像是許多人對於LINE是嫌棄到不行,但因為周遭人都在用,於是…再嫌也只能跟著用)
另外一點就是ARM是採用授權制,而非自力生產,當授權給全世界諸多廠商都可生產、改動ARM時,也就造成了碎片化的產生,多少也是阻擋兩種架構改朝換代的原因了。
-
補充一下,高通就有在試圖讓ARM能相容性的運行X86的系統與程式,只不過這訊息出來很久,但一直沒有新的下文,怕也是遇到了哪些瓶頸了吧。
Monte920 wrote:
請特別注意"complex"這個字. RISC和CISC的差別
其實差別不大.
電腦的概念=微架構+指令集
微架構例子:Zen3 Skylake
指令集例子:x86 ,arm64 , 或是RISC ,CISC
簡單用人類語言來說, 指令集就是"寫程式的方法", 微架構是"執行程式的方法".
早期ARM2 32bit 30000個電晶體 vs 當時的80386 32bit 270000個電晶體
看起來ARM的指令集精簡有反應在晶片設計上, 反觀現在的CPU:
Apple M1 64bit 16 billion 個電晶體 vs Intel 9900k 1.7 billion 個電晶體
M1可說比Intel的CPU複雜許多, 可見得指令簡單, 不見得執行的方法就簡單, 兩者根本沒有對等關係.
所以RISC, CISC,真的差別不大, 跑起來快慢主要是差在微架構, Intel沒有重要的進步, 不止Apple M1, Zen3也能輕鬆打掛Intel CPU.
http://picasaweb.google.com/HsiuChe.Shih




























































































