[閒聊] Cyrix 的高效能超純量處理器家族(下)

作者: KotoriCute (Lovelive!)   2017-11-03 10:58:22
時代的眼淚系列:Cyrix 的高效能超純量處理器家族(下)
https://technews.tw/2017/10/30/cyrix-part-two/
在 20 世紀後期與 21 世紀初期,為了掩飾與 Intel 處理器之間尷尬的「時脈不平衡狀
態」,AMD 與 Cyrix 先後採用 Performance Rating(簡稱 P-Rating,雖然那個 P 經常
認知為「Pentium」)為標示處理器性能位階的行銷手段,造成不少爭議,被當時的連線
BBS 硬體討論區、電腦玩家與電腦賣場「津津樂道」。
也該是掀開 PR 值神祕面紗的時候了。
「只會讓自己的產品看起來比較差,並不會比較好」的 PR 值怎麼定義的?
這是當年 PC Magazine「Inside Track」專欄對 PR 值的最毒舌評論,但就事後諸葛的角
度來看,實也不失中肯。
Performance Rating 最早是由 AMD、Cyrix、IBM(代工並以自有品牌銷售 6×86)與
SGS-Thomson(代工 6×86)4 家廠商共同制訂的效能評測基準與相關測試規範,並由
Micro Design Resources(MDR,知名的 Microprocessor Report 發行公司)進行效能
驗證,並維護其測試環境的一致性與細節流程。
但 Cyrix 並非首家採用此行銷手法的 Intel 競爭者,也不是第一間引進 PR 值的廠商。
早在 1994 年,NexGen 就將其 Nx586 標上「Pxx」,如時脈 75MHz 是 P80、83.3MHz 則
是 P90。
至於引進 PR 值,最早登記有案的是 AMD Am5x86-P75,象徵時脈 133MHz 的 5×86 可匹
敵 Pentium 75。後期 150MHz 的 Am5x86-P75+,多出那個 Plus 則代表「超越」
Pentium 75,這招後來也被 Cyrix 所採用,意謂他們的表現「青出於藍勝於藍」。
以下列舉 MDR 提供給 Cyrix 的「理論基礎」(列舉 3 款 6×86 型號),你也可以注意
到,即使限定在以整數運算為主的測試程式,6×86 的 PR 值也不代表保證勝過同等級的
Pentium,更遑論浮點運算了。
https://i.imgur.com/b4dWzeB.png
產品定價策略就變成以下的模樣。
https://i.imgur.com/MQoLnrx.jpg
如果你是夠細心的讀者,一定會馬上提出兩個質問:
一、上篇不是提到 6×86 初期量產評估成本高達 340 美元?那這樣賣一定虧本啊。而且
晶粒面積 394mm2 ,比 Pentium Pro 不包含 L2 快取的核心部位 306mm2 還要大,產量
不會有問題嗎?
1996 年實際銷售的 6×86,版本代號實為「M1R(Revised)」,藉由修改為第二世代的
0.6μ、5 層導線的新製程(如 IBM 用在製造 PowerPC 620 的 CMOS-5S),晶粒面積巨
幅精簡至 225mm2 ,預估製造成本也降低到 105 美元,但仍不如使用 Intel P852(0.5
μ)的 Pentium(P54C,163mm2 ),更遠不及 1995 年開始投入產線的 P854(0.35μ)
製程版本(P54CS,90mm2 )。
二、為何 Pentium 90 和 Pentium 100 的價格一樣?不是時脈越高,價格也該等量齊觀
嗎?Pentium 166 與 Pentium 133 和前款較低位階的明顯價差,也頗令人在意。答案很
複雜也很簡單:因為兩者效能「有可能」幾乎一樣。這就要談一下「外頻」(系統匯流排
時脈)這檔事了。
Pentium 100 先後有「50MH×2」和「66MHz×1.5」,前者的外頻比「60MHz×1.5」的
Pentium 90 還要低,系統匯流排頻寬反而較低,有可能導致兩者整體效能相當,同理可
證,66MHz 外頻的 Pentium 也會得到除了處理器本身時脈以外的額外優勢,價格更高是
合理的,但這多少造成消費者的困擾,包含當時的筆者。
大概是有鑑於在產品線內交互穿插不同外頻,會造成定價策略的困繞,Cyrix 就堅壁清野
,不讓高時脈產品有較低的外頻。至於 6×86 同時支援兩種不同的系統匯流排爆發存取
模式(Burst Mode),在此就不多談。
https://i.imgur.com/PwFxVTs.jpg
這也就是為何遲至 1996 年 6 月 3 日上市、時脈 150MHz 的 6×86-PR200+,效能一開
始就被「看好」的主因:6×86 只有 2 倍或 3 倍兩種倍頻,要嘛就是 50MMHz×3,要嘛
就是 75MHz×2,Cyrix 當然選擇後者,但代價就使用者是要慎選晶片組與主機板。
Cyrix 的PR 值最終發展如下,時脈 300MHz 的 M-II PR433 是其絕響。
https://i.imgur.com/UL98IB3.jpg
在 K6 始亂終棄,在輝煌的 K7 / K8 時代又死灰復燃的 PR 值
AMD 在 K6 初期曾引進「PR2」,比較的基準從 Pentium 升級到 Pentium II,但不知為
何,很搞笑的跟處理器時脈「同步」,像 K6/PR2-166 的真實時脈,就真的是 166MHz,
讓 PR2 變成一個毫無意義的多餘數字,過沒多久,就束之高閣。
但在創造 AMD 歷史高峰的 K7 與 K8 時代,AMD 在 Athlon XP 與 Athlon 64 等桌機產
品線,重新啟用 PR 值以對抗 Intel Pentium 4 那壓倒性的高時脈。和過去唯一不同的
是,這時的 AMD x86 處理器微架構以非昔日吳下阿蒙,逐漸具有整數浮點兼備的競爭力
,讓那時的 PR 值「看起來比較像真的,而且數字也比較大」。
然後隨著 Intel 在 90nm 製程 Pentium 4「Prescott」出大包,讓 AMD 好一陣子在媒體
評測把 Intel 電得吱吱叫,再加上 x86 處理器也跟著 IBM Power4 的腳步走上雙核心與
多核心化,結束了長達 10 年的時脈戰爭,PR 值也就功成身退,成為計算機發展史上被
撕掉的一頁。
企圖以最少成本換取兩倍效能的 6x86MX「M2」
https://i.imgur.com/LRjCKHK.jpg
前有持續強化中的 Pentium MMX(P55C),後有即將降臨桌機市場的 Pentium Pro 後代
,AMD 因購併 NexGen 而得到的 K6,更是即將亂入的程咬金,Cyrix 勢必要儘快推出 6
×86 的後繼產品,那看似換湯不換藥的 6x86MX「M2」,就要繼續在 Intel 巨大製程優
勢的陰影下,爭取「豐厚獲利中的一小塊肥肉」。
Cyrix 宣稱 M2 可達到 M1 的「兩倍效能」,但近兩倍時脈的「最終型態」PR400(
285MHz)與 PR433(300MHz),拖到了 1999 年 7 月才上市,Intel 早處於桌機主力從
Pentium II 轉移至 Pentium III 的交接期,完全時不我與。兩倍時脈是否代表真正的
兩倍效能,在此就不多論。
https://i.imgur.com/2EaBmYy.jpg
M2 相較於 M1,主要有以下幾個改良點:
※ 4 倍容量的第一階快取記憶體:從 16kB 增加到 64kB,這可能是最立竿見影的幫助。
※ SIMD 指令集擴充:支援前身為 NSP(Native Signal Processing)的 Intel MMX 指令
集 ,並加入 12 個 Cyrix 自訂的 EMMI(Extendted Multi-Media Instructions),
MMX 與 EMMI 均由改良過的浮點運算單元處理,即使 MMX 本質上是借用浮點暫存器放
資料的整數運算。
※ 改善 x86 指令集相容性:6×86 缺少的指令,主要是 Intel 在 Pentium 新增的部分
,像 CPUID、CMPXCHG8B,以及在 Pentium Pro 新定義的條件搬移指令(Conditional
Move)、如 CMOV FCMOV FCOMI 等,都在 M2 得到補強。這對重視軟體相容性的個人電
腦市場來說,是重中之重。
※ 強化分支預測:加倍 M1 的分支目標快取與分支歷史表。
※ 改進記憶體位址轉換效率:想必讀過作業系統教科書(像有名的「恐龍」書系列)的科
班讀者對「TLB(Translation Lookaside Buffer)」絕不陌生,這是進行位址轉換時
,用來記錄實體位址與虛擬位址之間的對應關係、增強記憶體管理單元效率的小型快取
記憶體。
Cyrix 在 TLB 大興土木,改造為兩層式快取結構,精簡過的第一層有利提高時脈,攔截
漏網之魚的第二層則可提高整體命中率,並和 M1 的第一層相同,僅增加一個時脈週期的
存取延遲。換言之,M2 比較像是放大 M1 原本的 TLB 後,再加上一個「L0」「抽樂透」
。總之,根據 Cyrix 的估計,原先 M1 的 TLB 命中率約為 92%,而 M2 即使第一層沒中
樂透,第二層也有 99.6% 的「攔截率」。
不過整體而言,M2 實在有愧其「第二世代產品」的編號,可能連「1.5 代」都稱不太上:
※ M2 的指令管線依舊「不動如山」,沒變長也沒變短,非循序指令引擎也紋風不動。
※ 關於浮點運算這個大罩門,Cyrix 稍微縮減了部分浮點指令的延遲,但杯水車薪,依舊
沒改變被 Intel 壓著打的窘境。
坦白講,M2 的改進幅度並沒有比加大第一階快取、導入和 Pentium Pro 相同的分支預測
技術、增加指令管線深度的 Intel Pentium MMX(P55C)高明到哪裡去,更何況在
6x86MX 上市的 1997 年 5 月,Intel 還早了近一個月,在月初就投入了 P6 微架構投
入桌機市場的首發 Pentium II「Klamath」,AMD K6 更在當年 4 月搶灘 x86 處理器戰
場,Cyrix 勢必要有更激進的作為,才有繼續瓜分市場「享受豐厚利潤」的本錢。
https://i.imgur.com/kRUdSEN.jpg
也因此,Cyrix 同步進行了兩個新核心的發展,具有管線化浮點運算單元、再度自行擴充
MMX 指令集的真 M2「Cayenne」,與全新打造類似 P6 解耦式超純量(Decoupled
Superscalar)的 M3「Jalapeno」,兩者並附贈了更具野心的單晶片系統解決方案,也就
是今日我們所熟悉、入門級處理器整合繪圖核心的樣貌,Cyrix 才是這方面真正的先驅者
,而 1997 年的 MediaGX,則是 Cyrix 在這塊人跡杳然的荒野,開出的第一槍。
https://i.imgur.com/NZ92du9.jpg
因為 MediaGX 整合的 5×86 並非超純量處理器,不在標題的「打擊半徑」內,日後另外
撰文介紹整合繪圖式 x86 處理器歷史後,再深入探討。
https://i.imgur.com/FV1iazf.jpg
「痛改前非」的 M2 微架構完全體「Cayenne」:管線化浮點單元與 MMXFP 指令
Cyrix 自認「已足以跟 Pentium II 一較長短」而從 6x86MX 正名而來的 M-II,依然打
不過 Intel Pentium II,追根究柢,還是卡死在浮點運算這個罩門,Cyrix 仍被迫開發
「Cayenne」核心,也堪稱是「完整版」的 M2。
Cayenne 有 3 項主要改進:
※ 管線化的浮點運算及 MMX 執行單元:原本 M1(6×86)與 M2(6x86MX, M-II)每個時
脈週期只能發出一個浮點指令,並因未管線化的浮點執行單元,最快每兩個時脈週期才
能執行一個指令。
Cayenne 完全解除了這要命的枷鎖,不但可完全管線化執行多數的簡單浮點運算(雙倍精
確度乘法除外),每個時脈週期可發出兩個浮點指令,更在單精確度浮點乘法上領先
Intel Pentium II。整體來說,彼此互有長短,但總算終結了 Cyrix 的浮點飢荒。
※ 支援 AMD 3D Now! 指令:1990 年代末期,正是 3D 遊戲準備起飛的醞釀期,但在
1999 年 8 月 31 日 nVidia 發表 GeForce 256(NV10)並創造 GPU 一詞之前,硬體
支援的幾何運算(Geometry)幾乎都不存在於任何消費性繪圖晶片,只能靠處理器的浮
點運算器越俎代庖。Intel 的「老相好」AMD Cyrix 與電擊參戰的 Centaur,均有志一
同的寄望針對 3D Now! 最佳化過的微軟 DirectX,以加速 3D 遊戲的幾何運算。
※ 15 個專屬 MMXFP 指令:原本 MMX 是借用 x87 浮點暫存器進行 SIMD 整數運算,而
Cyrix 自行定義了將 MMX 延伸至浮點數的 MMXFP 指令,如一個 MMX 暫存器可存放兩
個 32 位元單精確度浮點數。當處理器時脈 250MHz 時,可達到 1G Flops 理論運算效
能,並以犧牲掉部分 IEEE 754 浮點數相容性規範為代價,提供相較於 Pentium II 效
率驚人的倒數與開根號倒數指令。MMXFP 指令亦可指定不同 MMX 暫存器中的一半元素
,進行「聚集」與「分散」運算。
除了 MMXFP 之外,Cayenen 新增了 MPEG-1 與 H.323 壓縮所需要的動態估測(Motion
Estimation)指令,對熟悉視訊壓縮演算的讀者,想必並不陌生。
但當 1999 年 6 月「最可怕的競爭者」AMD K7 堂堂登場時,Pentium 平台的 Socket 7
(或應該稱之為 Super Socket 7)早已沒有市場,M-II 正統繼承人「Jedi(Socket 7
的 Cayenne)」胎死腹中。
Cyrix 又歷經被購併至國家半導體後、又被出售給 VIA 的動盪,Cayenne 遲至 2000 年
初,才以 VIA Cyrix III「Joshua」(約書亞)之名降臨,無緣與最早設定的對手
Intel Pentium II 家族正面較量,並且 Cyrix 在 VIA 內部迅速被 Centaur 體系取而
代之,獨特的 MMXFP 指令也從此消失於眾人的記憶中。
https://i.imgur.com/xoch8xd.jpg
功敗垂成的 Cayenne 核心 MediaGX 後繼者:MXi
https://i.imgur.com/xnue31M.jpg
自從開闢「1,000 美元以下」低價位個人電腦,與迷你型筆記型電腦市場的 MediaGX 仗
著低價優勢,以 Compaq 的 Presario 2100 和 CTX EzBook V92C266 為起點,攻入 OEM
品牌的供應鍊後,嘗到甜頭的 Cyrix 隨即研發 Cayenne 核心的 MediaGX 後代「MXi」,
企圖鞏固這得來不易的橋頭堡,並試圖擴大戰果。既然 Cayenne 已經解除了 Cyrix 處理
器的浮點運算瓶頸,結合硬體化的 3D 繪圖引擎「打造終極遊戲用處理器」,就成為
1997 年中期,策略徹底轉向低價電腦市場的「Cyrix 之野望」。
嚴格說來,MXi 並非單晶片解決方案,和 MediaGX 的改良版 MediaGXm(改進製程,支援
MMX)一樣,需要額外一顆南橋晶片,來提供完整的系統功能,像類比視訊輸出的
RAMDAC 與 ISA 匯流排等。
Cyrix 並未透露太多其 3D 硬體引擎的技術細節,唯一比較有看頭的是維持 AGP 相容性
、又聲稱會比未來 AGP 4x 還快的「虛擬 AGP」介面,與擺明靠高時脈支撐效能。但看在
其內建的記憶體控制器,僅能供給 2GB/s 的理論頻寬,又缺乏第二階快取記憶體「掩護
」的分上,實在讓人難以相信,這一點點頻寬能夠餵飽豺狼虎豹般的 3D 繪圖,又要兼顧
一般用途的效能。
https://i.imgur.com/b0gJuFR.jpg
1997 年 11 月,Cyrix 被國家半導體購併後,儘管缺乏方向,但 MXi 仍被繼續發展,在
1998 年夏天還邀請台灣媒體至美國參訪,展示高時脈版本 M-II 與 MXi,並大張旗鼓的
宣傳其雄心壯志,但 MXi 並沒有像它的前代 MediaGX 一樣好運、續留在國家半導體的
Geode 產品線、然後 2003 年 8 月變成 AMD 的一部分,在 1999 年 6 月 Cyrix 被
VIA 吃掉後,風雲變色,馬上慘遭腰斬,今日僅剩供後人憑弔的工程樣品照片。
短命的 VIA Cyrix III「Joshua」:Socket 370 的「Cayenne」
https://i.imgur.com/AyXF9xp.jpg
Cyrix 體系的處理器,在 VIA 內並沒有馬上消失──雖然也僅為曇花一現。
2000 年初上市的 Cyrix III「Joshua」(約書亞),是 Cayenne 核心第一個被實際應用
的產品,相容 Intel 的 Socket 370 腳位,整合 256kB 第二階快取記憶體,其區塊置換
策略並採用當時 Intel 競爭者陣營流行的互斥式(Exclusive)架構,第一階和第二階快
取彼此之間沒有重複的資料,以求最大的快取容量利用率。
https://i.imgur.com/jJKXMNF.jpg
但 VIA 似乎很不滿意 Joshua 的晶粒面積、發熱量與效能/功耗比,很快的就被電晶體
數量少一半的 Centaur 體系「Samuel」取而代之,最後發展重心逐步轉向嵌入式應用的
VIA 處理器,全面轉進 Centaur 體系,Cyrix 終於消失在歷史的洪流,而今日仍存在的
AMD Geode LX 嵌入式處理器產品線,是僅存至今的 Cyrix 唯一血脈。
https://i.imgur.com/ShQdqTH.jpg
近似 Intel P6 的解耦式超純量近夢幻微架構 M3「Jalapeno」
從未問世的 M3「Jalapeno」是今日極少人知悉的「幻之處理器」,對其比較白話一點的
描述,不外乎以下這句:
M3=Cyrix 體系的 P6+MediaGX 和 MXi 的市場定位+ATi Rage 128 等級的高時脈繪圖
核心+雙通道 DRDRAM(Direct Rambus DRAM)記憶體
※ Cyrix 體系的 P6:M3 的指令管線不像其祖先 M1、M2「一條腸子通到底」,而是像
Intel P6 與 AMD K5 / K6 / K7 的解耦式超純量(Decoupled Superscalar),解開了
管線前端與後方執行單元的「耦合性」,「內寬外窄」,被解碼的指令暫存在保留站,
再被送入數量龐大的執行單元,便於打造「更有肚量、更能吸收持續灌入大量指令後的
震盪(可想像數十個指令同時在處理器的肚子內「飛行」的樣子)」的非循序執行引擎

為了企求時脈壓制 Intel 第三世代熟成品 P6(Coppermine),在採取 11 階管線的同時
,Cyrix 也簡化了 M3 的分支預測和暫存器更名機制。無獨有偶,M3 也讓 Cyrix 步上其
競爭對手行之有年的「將複雜的 x86 指令轉譯為數個簡單的類 RISC 微指令」這條不歸
路,接著就消失在世界的盡頭了。
※ MediaGX 和 MXi 的市場定位:恐怕是基於必須承認已無本錢跟 Intel AMD 正面硬碰的
殘酷現實,Cyrix 吃了秤陀鐵了心,要完全轉型,集中資源專心耕耘低價位電腦市場,
所以有別於事後整併現有核心的 MediaGX(5×86)與 MXi(Cayenne),M3 打從娘
胎就是整合繪圖核心的方案。
※ ATi Rage 128 等級的高時脈繪圖核心:Cyrix 沒公布技術細節,但光仰仗高時脈,能
否對抗產品問世之際,整合硬體幾何運算單元的 GPU,實在令人存疑。
※ 雙通道 DRDRAM(Direct Rambus DRAM)記憶體:這倒是 M3 最具野心的一環,不讓記
憶體頻寬變成整合繪圖方案的性能瓶頸,但看在日後 Intel 在引進 Rambus 慘遭滑鐵
盧的後見之明,也實無任何樂觀的理由。
假使 M3 可順利上市,屆時跟 Intel 的「Timna」(整合 S3 Savage4 繪圖晶片與 ICH2
)正面對決,想必非常精彩。歷史沒有如果,也許假以時日,筆者能有機會好好介紹隱藏
於黑歷史的「幻之 x86 處理器」系譜,如果有讀者想看。有可能嗎?
蓋棺論定:又一個被 Intel 研發資源與製程優勢徹底壓垮的挑戰者
1993 年 Cyrix 首次公開 6×86 計畫時,產品設計團隊僅僅 20 人,同時期「後發先至
」的 Intel Pentium Pro 計畫卻高達 450 人,更有一整票專精手工電路布線最佳化的「
軍隊」和傲視世界的自有先進製程,全力壓榨 Intel 處理器的時脈極限,註定 Cyrix 高
效能超純量 x86 處理器的荊棘之路。而短暫 VIA 時代的約書亞,也無力引領 Cyrix 的
技術體系,抵達那「即使是小廠,只要些許市佔率,即可掠取豐厚的利潤」的應許之地。
假使 Cyrix 晚誕生個 20 年,在半導體業界製程集體撞牆,連晶圓代工業者都有機會緊
咬 Intel 的今天,甚至從 ARM 指令集踏出第一步,是否會有截然不同的故事結局,就留
給各位讀者去思考了。

Links booklink

Contact Us: admin [ a t ] ucptt.com