Search

台灣處理器拾遺》成為威盛電子x86 處理器技術基礎的Centaur(上) - 科技新報 TechNews

嚴格說來,台灣廠商至今仍從未在 x86 處理器市場缺席,即使這塊領域早已被 Intel 和 AMD 牢牢的支配著,少有其他廠商的生存空間。

在 2019 年 11 月 18 日,位於美國德州奧斯丁的 Centaur(中文翻譯為「半人馬」),發表了 x86 世界首款內建人工智慧輔助處理器的「伺服器等級系統單晶片」CHA,原生八核心,四通道 DDR4 記憶體,可雙處理器組態,並支援連 AMD Zen2 世代都尚未提供的 AVX-512 指令集。繼 2008 年 5 月 29 日發布的 Nano(凌瓏)系列處理器後,相隔超過十年,總算催生出全新的微架構與處理器產品。

這間已成立 25 年的 Centaur,早在 1999 年 9 月 16 日,被威盛電子(VIA)以 5,100 萬美元的價碼,從 IDT(Integrated Device Technology)所收購,成為威盛的子公司,並構成威盛旗下 x86 處理器的技術基礎。

值得注意的是,威盛電子也在當年 8 月 3 日,從國家半導體(National Semiconductor),以足足超過 3 倍的價格(1 億 6,700 萬美元),買下了 Cyrix。但其技術血脈,卻徹底絕滅,還在 Cyrix III 處理器上演了「狸貓換太子」、從 Cyrix 轉為 Centaur 技術的戲碼。Cyrix 唯一留下的貢獻,僅限於從 Intel 取得的交互技術授權,如 Socket 370 使用到的 P6 系統匯流排(可能還得加上一些跟快取記憶體設計有關的知識),確保威盛不會被 Intel 的法務部門找麻煩。

不過當歷史上如過江之鯽的 x86 處理器廠商,一間一間的消失在歷史的洪流,一個一個逐漸被眾人所遺忘,Centaur 可存活至今的理由,源自於公司創辦人 Glenn Henry 對於成本「斤斤計較」的堅持,可說到了走火入魔的程度,包含威盛 x86 處理器曾經讓人「津津樂道」的「半速浮點運算器」。

在了解 Centaur 的產品設計哲學:簡單(Simple)、迅速(Fast)、便宜(Cheap)之前,我們得先瞧瞧現已高齡 77 歲、但仍以半退休狀態延續職場生涯的 Glenn Henry,究竟是何方神聖,會如此偏執的將 1980 年代 RISC(精簡指令集電腦)的誕生初衷,貫徹於 x86 處理器產品設計,並開闢出一條遠離 x86 雙雄激戰區的「精巧低廉」發展路徑──儘管下場好像也不是太好看。

出身自 IBM 院士的 Glenn Henry

Centaur 創辦人兼前任總裁 Glenn Henry 生於 1942 年 7 月 26 日,在 IBM 展開其職業生涯,並在 1985 年因 RISC 的先驅研究成果(IBM RT PC,可謂 PowerPC 的前身),得到了 IBM 院士(Fellow)的頭銜,職涯擁有汗牛充棟的「三百份」專利。

(Source:Flickr/VIA Gallery CC BY 2.0)

但他本人後來興趣轉向於「將 RISC 的精神,引入高度普及的 x86 指令集相容處理器」,而 IBM 高層對此並不感興趣,所以他在 1988 年離開了任職 21 年的 IBM,轉戰 Dell,成為該公司歷史上第一位研發部門副總裁,並在 1993 年升任管理產品線的資深副總裁。

那時 Glenn Henry 注意到一個問題:他無法在市面上買到售價低於 160 美元的個人電腦處理器,這也變成降低個人電腦零售價格的最大障礙。如果沒經歷過 1990 年代初期,各位可能很難想像那時的 x86 處理器有多昂貴:在 1994 年第一季,連 486DX2 66MHz 都要 440 美元,更不用講 793 美元的 Pentium 60MHz 了。

有鑑於此,Glenn Henry 在 1994 年離開 Dell,重操舊業,投入於 x86 指令集相容處理器的研究。有趣的是,當時在 MIPS 工作的某位「前 IBM 人」Tom Whiteside,希望 Glenn Henry 可打造出同時相容於 MIPS 與 x86 指令集的處理器,將 MIPS 推入個人電腦市場,這也是 Centaur 此名的由來:半人半馬。

無獨有偶的,在那時,IBM 也提出了通吃 PowerPC 與 x86 的 PowerPC 615。大家都想「滲透」個人電腦市場,設法分一杯羹,特別當銷售 x86 處理器的利潤還是極為豐厚的時候。

令人難以置信的超低研發費用與超短開發時程

不過他們拿著這個混合式處理器架構的提案,繞了眾多研發 MIPS 指令集相容處理器的廠商們(那時很多人做 MIPS)一大圈後,最後只剩下一間公司願意買單:IDT,然後 Centaur 就在 1995 年成立了。

但 Glenn Henry 和他的老闆 IDT 執行長 Len Perham,很快的承認殘酷的現實:MIPS 沒有機會進入個人電腦市場,專注於 x86 會更有價值,Centaur 就開始以極度拮据的預算,在 x86 處理器踏出了第一步,因為以 MIPS 相容處理器和 SRAM 做為主要業務的 IDT,並不是什麼有錢的大公司,支付不起像 Intel 和 AMD 那樣巨大的研發「軍隊」。

Glenn 只能採取精兵政策,從擺明放棄研製 x86 處理器的 IBM 和 TI(德州儀器),挖來對 x86 有經驗的工程師,「近水樓台」在德州奧斯丁的 Somerset PowerPC 研發中心弄來 PowerPC 工程師,並從前東家 Dell 找來個人電腦專家,組成了大約 40 人的研發團隊。

接著奇蹟就降臨了:Centaur 僅用不到一年的時間,就「Tape Out」初代的 C6 處理器(第一代 WinChip)設計,並在 1996 年 7 月,首次 Windows 作業系統開機成功。更駭人聽聞的是,研發經費僅 1,000 萬到 1,500 萬美元,很可能連 Intel P6(Pentium Pro)的十分之一都沒有。

開發成本縮減至此,就算 Centaur 只吃下 1% 的 x86 處理器市場占有率,都足以養肥自己了。況且這筆錢還有一半是由日本的 MIPS 相容處理器廠商 NKK 所分擔的,他們在當時被當作 IDT 部分產品的替代來源,這筆小錢曾讓 NKK 一度有機會成為日本首間 x86 處理器廠商。

Centaur 如何打造如此誇張的世界奇觀?在 AMD 的 K5 創造者 Mike Johnson 口中「毫無道理可循」的 x86 指令集不是出了名的難搞嗎?這就跟他們堅守的三原則:簡單(Simple)、迅速(Fast)、便宜(Cheap)密不可分了。

成本至上,誰跟你超純量管線和動態分支預測

1990 年代初期,「一個指令跑不夠,你可以執行兩個」的超純量(Superscalar)管線,與「以古鑑今」猜測分支是否發生、確保指令管線不會停擺的動態分支預測(Dynamic Branch Prediction),是奠定高效能處理器的重要技術指標,也激增了處理器的結構複雜度。

信奉精簡教條的 Glenn Henry 卻不吃這套,吃了砰陀鐵了心,要用最短的時間、最低的成本,做出最便宜的產品,所有的電晶體預算都要砸在刀口上,不允許任何一絲一毫的贅肉。

就這點來看,Centaur 的理念,和同時期的 Rise 與同年成立的 Transmeta,完全如出一轍,並不打算跟 Intel 硬拚,而是希望在低價電腦和筆電市場開拓一片全新的藍海。唯一的差別只有 Rise 認清時勢急流勇退,Transmeta 如同蠟炬般的燒盡資金,資源消耗最少的 Centaur 卻依舊倖存至今。

Centaur 揚棄超純量管線的主因很簡單:有效率的超純量管線,須搭配大量的配套措施(像可讓指令解碼器同時擷取兩個指令的雙埠指令快取記憶體),太過複雜,遲至 2000 年揭露的 C5X,才算邁進超純量管線的世界,只是 C5X 也因成本因素,默默的不見,直到 2008 年的 Nano(CN)才重現曙光。

關於不做動態分支預測,就是純粹的精算了,Centaur 預估在 C6 引進類似 Intel Pentium 的動態分支預測功能,會提升 5% 效能,但將明顯增肥晶片面積,得不償失。

Centaur 將極為有限的資源,集中在認定的效能瓶頸,如便於提高時脈速率、集中加速最經常被執行簡單指令的微指令轉譯,用較高容量的快取記憶體、位址轉譯後備緩衝區(Translation Lookaside Buffer,TLB)和分頁表目錄快取(Page Directory Cache,PDC),設法彌補缺少超純量管線和動態分支預測的不足。所有的努力,僅侷限於一款「最高效益的純量處理器」。

也難怪微處理器報導(Microprocessor Report)主編曾戲稱:Centaur 做的不是「超純量(Superscalar)」,而是「超級純量(Super “Scalar”)」處理器。

所以 Centaur 那神奇般的超低研發成本和超短開發時間,並不是沒有代價的。你就知道 Glenn Henry 這個人有多摳,完全的「台式中小企業經營法」。

順便一題,為何這時所有 Intel 競爭者的產品命名,從 Cyrix 6×86 / 6x86MX、NexGen Nx686、AMD K6、Rise mP6 等,通通都要用到「6」?道理很簡單,因為要象徵追的上 Intel Pentium Pro(P6)的「第六世代 x86 處理器微架構」。

但 1997 年 10 月 13 日問世的 WinChip(C6),本質上根本是一顆「導入先進技術的 80486」,別說超純量管線,連動態分支預測也付之闕如,甚至連效能測試項目,只有未對超純量最佳化的 Winstone 97 才勉強可搬的上檯面,那個「C6」,實在是受之有愧。

奇謀而短、小步快跑的閃擊式產品研發路線

反過來說,天下武功,唯快不破,極短的產品開發時程,也帶來更密集的產品更迭,盡速修正前代產品的弱點,並縮短進入市場的時間(Time To Market),迎合市場需求。初代 WinChip 才剛上市沒多久,1997 年 11 月 Centaur 就宣布微幅改良版的 C6+ 計畫,並在 1998 年 5 月 19 日就公開樣品,當年 9 月 WinChip 2 產品就登場,速度相當驚人。

在 1998 年,Centaur 大約每季銷售 25 萬顆 WinChip 系列處理器,推算一年約 100 萬顆,主要客戶都在美國以外的市場。按照當時個人電腦年度出貨量,Centaur 的確有達到 1% 市占率的目標。在 1999 年被威盛購併時,初代 WinChip(C6)在兩年半的時間,累積了 150 萬顆的銷售量,這並不包含 WinChip 2 和 WinChip 3(C6+)的數字。

奇謀而短、小步快跑的打「機遇戰」,看不見的副作用,莫過於混亂的產品時程表,親身體驗過某些「老闆導向」企業文化的科技產業工作者,都會有一股強烈的即視感。

以 C6+ 來說,根據倍頻比例、製程、核心 / IO 分離式電壓和快取記憶體容量,就可分成 WinChip 2、WinChip 2A、WinChip 2B 和 WinChip 3 這 4 種產品線。在 Centaur 被威盛購併後的 5 年內,更是毫無邏輯可言,連筆者都有點同情威盛的產品行銷人員,看了二十幾年的處理器產品時程表,還沒見過這麼誇張的案例。

C6+ 改進 C6 的兩個主要缺點:缺少動態分支預測(4096 個單位元分支歷史表),和貧弱的浮點 / MMX 效能(將其管線化並可同時執行兩個指令),並新增 AMD 3DNow! 指令集。

其實為了改善 3D 應用的效能,Centaur 原先計劃自行定義 53 個 SIMD 浮點指令(耗用 12 個 x86 運算碼)與 22 個可直接定址(有別於 80×87 的愚蠢堆疊架構)的 80 位元浮點暫存器,並完全符合 IEEE 754 浮點數規範,看似非常的前瞻,也明顯優於 AMD 的 3DNow! 與 Cyrix 的 MMX-FP。

看在微軟希望所有 x86 處理器廠商,統一採用相同 SIMD 浮點指令的份上,與當時 AMD 執行長 Jerry Sanders 很大方的願意開放 3DNow! 讓業界共襄盛舉,Centaur 就拋棄了這念頭,投奔 AMD 的懷抱,況且假若謠傳中的 Intel MMX2 使用到重複的運算碼,屆時將會對 Centaur 帶來莫大的麻煩。

在 1997 年底透露的「C6 強化方案」還有一項未能實行:新增 256kB 第二階快取記憶體,這檔事倒是對 Centaur 的母公司 IDT 相當有意義,畢竟 IDT 的本業除了 MIPS 相容處理器,還有 SRAM。

但經過 Centaur 仔細盤算後,評估在 0.25µm 製程時,加掛 256kB 第二階快取記憶體,將幾乎倍增晶片面積(58 mm²→113 mm²),而加倍第一階快取記憶體的效果相去無幾,但面積成長不多(58 mm²→75 mm²),自然著毋庸議的在 WinChip 3 選擇了後者。

低價電腦一直是 Centaur 念茲在茲的大好機會,Cyrix 在 1997 年 3 月,發布 x86 處理器史上第一顆整合繪圖和音效的系統單晶片 MediaGX,促使 Centaur 在產品時程表擺上了如法泡製的 WinChip 2+NB(整合北橋),也與威盛(VIA)、矽統(SiS)和揚智(ALi)等台灣晶片組廠商,洽談北橋晶片的技術授權,預定在 1999 年第一季量產。

但 WinChip 2+ 和 WinChip 2+NB 在 1998 年底即無疾而終,死因不明,但可合理判斷原因不外乎「談不攏晶片組授權」、「研發能量不足」,或著「可能有買家快要來購併了」。而 WinChip 3 的表訂時脈,就更加遙不可及了。

「半速浮點運算器」傳奇故事的由來

在 21 世紀初期經歷過 Cyrix III 和早期 C3/Eden(C5A/B/C/N 核心)處理器的個人電腦玩家,或多或少聽聞「威盛處理器的浮點運算時脈只有主頻一半」的傳奇故事,而坊間謠傳的解釋多半是「為了提高良率」,這說法完全大錯特錯。

Intel Pentium Pro 三位總工程師之一的 Robert Colwell,在其回憶錄《The Pentium Chronicles》的第五章「產品量產階段(The Production Phase)」,引用了一段讓人滿臉黑直線的冷笑話,突顯在這個跟時間賽跑的「死線期」,工程團隊到底在想些什麼。

兩個男性工程學系的學生,騎車穿過校園。其中一人好奇的問「你這台綠色腳踏車是怎麼來的?」另一人回答「我昨天獨自散步,一邊走一邊想著我的作業時,有位漂亮女孩騎著這台腳踏車,在我面前停下,一下車,馬上脫個一絲不掛,要求我帶走想要的東西。」發問者就猛點頭表示同意,「好選擇,因為那些衣服你可能穿不下」。

這種「實用主義」在當你面臨最嚴酷的時間壓力時,就是再自然也不過的「政治正確」。

Centaur 在 1998 年底披露的 WinChip 4(代號 C4,數字終於一致),企圖藉由從頭全新設計的 11 階指令管線(時脈目標 500MHz 以上)、號稱 x86 世界最強大的動態分支預測機制(區域歷史表、全域歷史表、區域全域哪個比較準)、大型化的位址轉譯後備緩衝區、有限度的超純量(指令解碼器可在同時脈週期內解碼一個複雜指令和一個簡單指令,兩個 MMX/3DNow! 指令可配對執行)和非循序指令執行(限於記憶體載入回存),拉近與其他競爭對手的效能差距。

Winchip 4 也採取和同時期的 Rise mP6 神似的「執行單元開工前,提前存取資料快取記憶體」等手段,將指令管線「塞好塞滿」。

毫無疑問,Glenn Henry 堅持 WinChip 4 依循「簡單、迅速、便宜」的「Centaur 登山寶訓」,並表示「謀略優於電晶體(Tricks are better than transistors.)」與暫存器更名(非循序指令執行)是「魔鬼的工作(Work of the Devil)」。

但問題來了,Centaur 一方面想提高 WinChip 4 的時脈,另一方面又不願意多花時間,重新設計可跟上高時脈的深度管線化浮點運算器,該怎麼辦?很簡單,原封不動的移植 WinChip 2 的浮點運算器,兩個時脈週期當一個用,讓它只跑主頻一半的時脈就好了,一切功德圓滿,皆大歡喜,讓原本性能就偏弱的浮點運算,從此變成威盛 x86 處理器的超級大劣勢,到了 2003 年的 C5XL 核心 VIA C3 才解決。這「謀略」有多「厲害」,就見仁見智了。

在威盛體系取代 Cyrix

威盛在 1999 年 6 月 30 日與 8 月 5 日,先後宣布購併 Cyrix 和 Centaur。第一個標上威盛品牌的 x86 處理器,是 Cyrix 代號「Joshua(約書亞)」的 Cyrix III,在 2000 年 2 月 22 日進入市場,但極為短命,活不到半年就夭折。

Centaur 為了配合新東家的產品發展策略,Socket 7 腳位的 WinChip 4(C4)僅停留於工程樣品階段,轉為 Socket 370 的 C5A(威盛代號 Samuel)。「理論上」C5A 應沿用大半的 C4 設計,但很明顯的,光動態分支預測的部分,C5A 就省略掉了 C4 原訂的分支目標位址快取記憶體(Branch Target Address Cache,BTAC),已知資料也顯示管線結構也有所差異,總之 C5A 沒有照單全收 C4 的改進項目,恐怕也是為了降低成本。請大家再跟著喊一次:簡單、迅速、便宜。

C5A 從開工到 Tape Out,從 IBM 0.25µm 轉進台積電 0.18µm 製程,僅花了兩個月的時間。更在 2000 年 6 月 6 日,一舉取代 Cyrix,「鳩占鵲巢」的搶走 Cyrix III 這個原本不屬於 Centaur 的名號。如夢似幻般的 Cyrix M3「Jalapeno」微架構與相對應的 Socket 370 處理器「Mojave」亦無以為繼,替 Cyrix 劃下了充滿遺憾的句點。

在 2019 年,AMD 結束了最早源自於 MediaGX 的 Geode LX 產品線,意味著 Cyrix 的技術血脈,從此永遠斷絕。威盛之所以做出這樣的決定,要嘛既有 Cyrix 團隊的人才大量流失(據聞 Joshua 剛「殺青」沒多久,團隊就解散了),要嘛威盛本來就不打算讓 Cyrix 活下來,要嘛威盛高層也認同 Glenn Henry 的那一套省錢之道,要嘛三者皆有。

當 x86 雙雄開始在低價市場大打出手

但威盛進軍 x86 處理器市場的時機卻極度微妙。站在更遠的角度觀察 1999 年的 x86 處理器市場,就不難理解國家半導體和 IDT 急著脫手旗下 x86 處理器部門的緣由──Intel 和 AMD 早就盯上了低價市場,這讓他們手上的 x86 處理器業務,變成欲除之而後快的燙手山竽。

在 1998 年 11 月,Cyrix 在美國的零售通路還保有 22% 占有率,但在 1999 年 2 月,Intel 發動高時脈 Celeron 大攻勢之後(同時 AMD 也用 K6-2 展開搶攻),Cyrix 產品競爭力一落千丈,只能低價促銷,美國零售通路占有率瞬間被侵蝕到剩下不到 5%,單季銷量量跌至 150 萬顆,產品平均單價更從 49 美元一路滑落到 42 美元,而品牌電腦和筆電市場就更毫無還手之力。講的白話一點就是「大環境惡化」,時不我與。

Centaur 的總體銷售量跟 Cyrix 相比,還差得遠了,搞不好累積一整年,還比不過人家最慘澹的一季。這一點都不奇怪,要不然為何 Cyrix 的購併價碼會是 Centaur 的 3 倍還有找?

但過去只想靠著賣便宜晶片過著安穩日子的 Centaur,已經主導威盛的 x86 處理器技術發展,面對迎面而來的龐大競爭壓力,可是想逃也逃不了,他們還有那個本錢繼續死守「簡單、迅速、便宜」法則嗎?還是為了執著於家傳寶訓,而付出了更慘痛的代價?

(首圖來源:Endorphin / CC BY-SA

Let's block ads! (Why?)



"技術" - Google 新聞
May 09, 2020 at 12:16PM
https://ift.tt/2xLFIoQ

台灣處理器拾遺》成為威盛電子x86 處理器技術基礎的Centaur(上) - 科技新報 TechNews
"技術" - Google 新聞
https://ift.tt/2vdsyzX
Shoes Man Tutorial
Pos News Update
Meme Update
Korean Entertainment News
Japan News Update

Bagikan Berita Ini

0 Response to "台灣處理器拾遺》成為威盛電子x86 處理器技術基礎的Centaur(上) - 科技新報 TechNews"

Post a Comment

Powered by Blogger.