在雲端服務中,如在Google Cloud Platform,我們選擇機器設定時,常遇上X86、AMD64或ARM64可選擇,究竟這些是怎麼?
我們試以X86為主加以闡明,X86是一套指令集架構(ISA)的統稱,它是電腦中央處理器(CPU)和軟體之間(如window 作業系統)的接口,規定了軟體如何控制處理器以及處理器可以執行哪些操作;換言之,它定義了我們的電腦如何溝通和運算。
而X86架構最初由英特爾公司在1978年設計,其名字來源於英特爾早期一系列以數字「86」結尾的經典處理器,如8086、80286、80386等,亦正是從80386開始,X86進入了32位的時代。
進入21世紀,為了應對更大的內存和計算需求,英特爾的主要競爭對手 AMD公司在X86基礎上擴展出了X86-64(也常稱為AMD64) 架構,實現了向64位的過渡。這一次,AMD引領了潮流,連英特爾最終也採納了這一標準。現在我們個人電腦和侍服器中的64位X86 CPU,都遵循這個架構。
X86屬於CISC(複雜指令集計算機),與對手ARM架構的RISC(精簡指令集)不同,CISC的設計哲學是提供豐富且功能強大的指令,單個指令能完成更複雜的工作。這雖然使得CPU硬件設計更複雜,但在某種程度上可以優化代碼密度。
而X86的成功,很大程度上得益於它與微軟Windows操作系統結成的「Wintel」聯盟。在數十年的時間里,絕大多數桌面軟件都是為X86 + Windows環境所開發的,這築構一個極其強大的軟硬件生態護城河,使英特爾曾成為個人電腦和侍服器市場的主流。
不過,近幾年AMD64 和ARM64的持續普及,已似有三分天下之勢矣。