有鑑於在板上多次看到有人誤把ARM指令集的CPU寫為x86或x64,就來寫一篇淺談吧。
幾年前,世界上最普遍的CPU指令集就是80x86(簡稱x86),這個指令集主要是Intel發展的。命名原因和Intel的故事有關。
簡述一下:
1971年,Intel推出他們第一顆CPU,命名為4004,它是一顆4位元的CPU。
1974年,Intel推出世界上第一顆8位元CPU,命名為8008。
1978年,Intel推出8086 CPU。
1982年,Intel推出80286 CPU,它是一顆16位元的CPU,也稱為i286。
1985年,Intel推出80386 CPU,它是一顆32位元的CPU,也稱為i386。
1989年,Intel推出80486 CPU,也稱為i486。
這一年對Intel來說很重要,有鑑於過往只有電腦玩家才關心處理器是啥,Intel於此年開始主打Intel inside
品牌,並藉由分攤廣告成本的方式說服許多電腦製造商貼上Intel inside貼紙。此舉成功的擴大了Intel CPU
銷售量,並讓Intel從一間背後技術的公司轉型為消費者間知名的品牌。
Intel inside貼紙式樣
https://www.google.com.tw/search ... .12.917.CbSM4U0iZUc
伴隨Intel inside行銷計畫的知名配樂
https://www.youtube.com/watch?v=QRLyMjvug1M
至此各位可以發現,Intel幾乎所有的CPU都是以80?86/i?86的方式命名。所有人都預期Intel的下一代CPU將命名
為80586,然而美國此時開始規定數字不得登記為商標。為了因應,也為了避免被對手吃豆腐
(例如AMD的80386相容CPU就命名為Am386),於是1993年,Intel的下一代CPU轉而命名為Pentium,中文名為『奔騰』。
命名原因是這樣的
pent - 希臘文「第5」的意思
ium - 拉丁文中形容「元素」詞彙的尾詞,不是在致敬第五元素,該電影是1997年上映的
80x86架構,從386開始Intel的內部名稱就叫IA-32。(IA: Intel Architecture,inte架構)
故事直到2001年,CPU大廠們開始競逐64位元CPU,Intel推出真正的64位元架構指令集,命名為IA-64(Intel與HP共同開發,實際上與80x86無關聯)。
可惜的是IA-64雖然先進,但在執行傳統80x86指令集程式的效能卻不彰,甚至不如對手AMD的64位元架構AMD64,當然市場的支持度不高。
(AMD64是AMD開發的80x86指令集的64位元延伸版,IA-64則算是砍掉重練的東西所以對舊有程式相容性與效能差,雖然以架構上來說是較先進的。
業界這算是常態,流行的東西有時候不一定是最好的...)
迫於現實,Intel最終也採用了AMD64指令集。當然Intel是不會這麼承認的(廢話x86就我家的東西,當年還是我授權給AMD使用呢),所以Intel官方
將之稱為Intel 64,但骨子裡一樣是80x86的64位元指令集。但Intel至今還是默默持續在發展IA-64就是了...
至此80x86的64位元架構終於統一且獲得大成功,漸漸的就被簡稱為x86_64。(主要是Apple這麼說,因為Apple放棄了IBM的PowerPC轉投Intel懷抱)
Sun和微軟則將其簡稱為x64,其後業界就正式定名80x86的32位元架構稱x86,64位元架構稱x64,都是專指80x86的CPU架構。
文首提到「幾年前」,是因為隨著智慧手機、平板、掌上型遊戲機的風行,近年最普遍的指令集漸漸成為ARM架構。
Apple、nVidia、Qualcomm、Samsung、VIA都有自己的ARM架構CPU。
(ARM發展了這個架構,但並不自行生產CPU,而是把架構以不同程度授權的方式賣給有興趣的公司,甚至可自行修改擴充)
ARM架構屬於RISC,精簡指令集
80x86架構屬於CISC,複雜指令集
這個要詳述就要提組合語言,太深入就算了...
ARM架構原本的優勢就是低功耗,不過隨著近兩年ARM開始拚效能,以及Intel的外星科技,這個狀況似乎開始扭轉。
不管是nVidia、Qualcomm、Samsung,都是全速跑個不到1分鐘就過熱必須降頻,且好像就回不去了...
Apple則是把CPU一開始就降頻避開此問題(iOS的優勢,較低時脈就能有不錯的效能)
Intel無愧業界巨人,只有它的CPU能在手機這種環境還全速運作不降頻不過熱,要不是內部ARM轉譯80x86會浪費部分效能,
我看其它手機CPU公司可以準備關門了。
更何況這顆給手機/平板用的ATOM,還只算是Intel閒暇時間搞出來的精簡版,Intel根本還沒很認真的主推Android x86。
ARM這兩年才開始主流要上64位元,80x86在1999年就已經上64位元啦...
完~
本文章最後由( RR )於 2014-10-1 12:10 編輯