在 20 世紀後期與 21 世紀初期,為了掩飾與 Intel 處理器之間尷尬的「時脈不平衡狀態」,AMD 與 Cyrix 先後採用 Performance Rating(簡稱 P-Rating,雖然那個 P 經常認知為「Pentium」)為標示處理器性能位階的行銷手段,造成不少爭議,被當時的連線 BBS 硬體討論區、電腦玩家與電腦賣場「津津樂道」。
也該是掀開 PR 值神祕面紗的時候了。
「只會讓自己的產品看起來比較差,並不會比較好」的 PR 值怎麼定義的?
這是當年 PC Magazine「Inside Track」專欄對 PR 值的最毒舌評論,但就事後諸葛的角度來看,實也不失中肯。
Performance Rating 最早是由 AMD、Cyrix、IBM(代工並以自有品牌銷售 6x86)與 SGS-Thomson(代工 6x86)4 家廠商共同制訂的效能評測基準與相關測試規範,並由 Micro Design Resources(MDR,知名的 Microprocessor Report 發行公司)進行效能驗證,並維護其測試環境的一致性與細節流程。
但 Cyrix 並非首家採用此行銷手法的 Intel 競爭者,也不是第一間引進 PR 值的廠商。早在 1994 年,NexGen 就將其 Nx586 標上「Pxx」,如時脈 75MHz 是 P80、83.3MHz 則是 P90。
至於引進 PR 值,最早登記有案的是 AMD Am5x86-P75,象徵時脈 133MHz 的 5x86 可匹敵 Pentium 75。後期 150MHz 的 Am5x86-P75+,多出那個 Plus 則代表「超越」Pentium 75,這招後來也被 Cyrix 所採用,意謂他們的表現「青出於藍勝於藍」。
以下列舉 MDR 提供給 Cyrix 的「理論基礎」(列舉 3 款 6x86 型號),你也可以注意到,即使限定在以整數運算為主的測試程式,6x86 的 PR 值也不代表保證勝過同等級的 Pentium,更遑論浮點運算了。
產品定價策略就變成以下的模樣。
如果你是夠細心的讀者,一定會馬上提出兩個質問:
一、上篇不是提到 6x86 初期量產評估成本高達 340 美元?那這樣賣一定虧本啊。而且晶粒面積 394mm²,比 Pentium Pro 不包含 L2 快取的核心部位 306mm² 還要大,產量不會有問題嗎?
1996 年實際銷售的 6x86,版本代號實為「M1R(Revised)」,藉由修改為第二世代的 0.6µ、5 層導線的新製程(如 IBM 用在製造 PowerPC 620 的 CMOS-5S),晶粒面積巨幅精簡至 225mm² ,預估製造成本也降低到 105 美元,但仍不如使用 Intel P852(0.5µ)的 Pentium(P54C,163mm²),更遠不及 1995 年開始投入產線的 P854(0.35µ)製程版本(P54CS,90mm² )。
二、為何 Pentium 90 和 Pentium 100 的價格一樣?不是時脈越高,價格也該等量齊觀嗎?Pentium 166 與 Pentium 133 和前款較低位階的明顯價差,也頗令人在意。答案很複雜也很簡單:因為兩者效能「有可能」幾乎一樣。這就要談一下「外頻」(系統匯流排時脈)這檔事了。
Pentium 100 先後有「50MH×2」和「66MHz×1.5」,前者的外頻比「60MHz×1.5」的 Pentium 90 還要低,系統匯流排頻寬反而較低,有可能導致兩者整體效能相當,同理可證,66MHz 外頻的 Pentium 也會得到除了處理器本身時脈以外的額外優勢,價格更高是合理的,但這多少造成消費者的困擾,包含當時的筆者。
大概是有鑑於在產品線內交互穿插不同外頻,會造成定價策略的困繞,Cyrix 就堅壁清野,不讓高時脈產品有較低的外頻。至於 6x86 同時支援兩種不同的系統匯流排爆發存取模式(Burst Mode),在此就不多談。
這也就是為何遲至 1996 年 6 月 3 日上市、時脈 150MHz 的 6x86-PR200+,效能一開始就被「看好」的主因:6x86 只有 2 倍或 3 倍兩種倍頻,要嘛就是 50MMHz×3,要嘛就是 75MHz×2,Cyrix 當然選擇後者,但代價就使用者是要慎選晶片組與主機板。
Cyrix 的PR 值最終發展如下,時脈 300MHz 的 M-II PR433 是其絕響。
在 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」
前有持續強化中的 Pentium MMX(P55C),後有即將降臨桌機市場的 Pentium Pro 後代,AMD 因購併 NexGen 而得到的 K6,更是即將亂入的程咬金,Cyrix 勢必要儘快推出 6x86 的後繼產品,那看似換湯不換藥的 6x86MX「M2」,就要繼續在 Intel 巨大製程優勢的陰影下,爭取「豐厚獲利中的一小塊肥肉」。
Cyrix 宣稱 M2 可達到 M1 的「兩倍效能」,但近兩倍時脈的「最終型態」PR400(285MHz)與 PR433(300MHz),拖到了 1999 年 7 月才上市,Intel 早處於桌機主力從 Pentium II 轉移至 Pentium III 的交接期,完全時不我與。兩倍時脈是否代表真正的兩倍效能,在此就不多論。
M2 相較於 M1,主要有以下幾個改良點:
4 倍容量的第一階快取記憶體:從 16kB 增加到 64kB,這可能是最立竿見影的幫助。
SIMD 指令集擴充:支援前身為 NSP(Native Signal Processing)的 Intel MMX 指令集,並加入 12 個 Cyrix 自訂的 EMMI(Extendted Multi-Media Instructions),MMX 與 EMMI 均由改良過的浮點運算單元處理,即使 MMX 本質上是借用浮點暫存器放資料的整數運算。
改善 x86 指令集相容性:6x86 缺少的指令,主要是 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 勢必要有更激進的作為,才有繼續瓜分市場「享受豐厚利潤」的本錢。
也因此,Cyrix 同步進行了兩個新核心的發展,具有管線化浮點運算單元、再度自行擴充 MMX 指令集的真 M2「Cayenne」,與全新打造類似 P6 解耦式超純量(Decoupled Superscalar)的 M3「Jalapeno」,兩者並附贈了更具野心的單晶片系統解決方案,也就是今日我們所熟悉、入門級處理器整合繪圖核心的樣貌,Cyrix 才是這方面真正的先驅者,而 1997 年的 MediaGX,則是 Cyrix 在這塊人跡杳然的荒野,開出的第一槍。
因為 MediaGX 整合的 5x86 並非超純量處理器,不在標題的「打擊半徑」內,日後另外撰文介紹整合繪圖式 x86 處理器歷史後,再深入探討。
「痛改前非」的 M2 微架構完全體「Cayenne」:管線化浮點單元與 MMXFP 指令
Cyrix 自認「已足以跟 Pentium II 一較長短」而從 6x86MX 正名而來的 M-II,依然打不過 Intel Pentium II,追根究柢,還是卡死在浮點運算這個罩門,Cyrix 仍被迫開發「Cayenne」核心,也堪稱是「完整版」的 M2。
Cayenne 有 3 項主要改進:
管線化的浮點運算及 MMX 執行單元:原本 M1(6x86)與 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 指令也從此消失於眾人的記憶中。
功敗垂成的 Cayenne 核心 MediaGX 後繼者:MXi
自從開闢「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 繪圖,又要兼顧一般用途的效能。
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」
Cyrix 體系的處理器,在 VIA 內並沒有馬上消失──雖然也僅為曇花一現。
2000 年初上市的 Cyrix III「Joshua」(約書亞),是 Cayenne 核心第一個被實際應用的產品,相容 Intel 的 Socket 370 腳位,整合 256kB 第二階快取記憶體,其區塊置換策略並採用當時 Intel 競爭者陣營流行的互斥式(Exclusive)架構,第一階和第二階快取彼此之間沒有重複的資料,以求最大的快取容量利用率。
但 VIA 似乎很不滿意 Joshua 的晶粒面積、發熱量與效能/功耗比,很快的就被電晶體數量少一半的 Centaur 體系「Samuel」取而代之,最後發展重心逐步轉向嵌入式應用的 VIA 處理器,全面轉進 Centaur 體系,Cyrix 終於消失在歷史的洪流,而今日仍存在的 AMD Geode LX 嵌入式處理器產品線,是僅存至今的 Cyrix 唯一血脈。
近似 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(5x86)與 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 首次公開 6x86 計畫時,產品設計團隊僅僅 20 人,同時期「後發先至」的 Intel Pentium Pro 計畫卻高達 450 人,更有一整票專精手工電路布線最佳化的「軍隊」和傲視世界的自有先進製程,全力壓榨 Intel 處理器的時脈極限,註定 Cyrix 高效能超純量 x86 處理器的荊棘之路。而短暫 VIA 時代的約書亞,也無力引領 Cyrix 的技術體系,抵達那「即使是小廠,只要些許市佔率,即可掠取豐厚的利潤」的應許之地。
假使 Cyrix 晚誕生個 20 年,在半導體業界製程集體撞牆,連晶圓代工業者都有機會緊咬 Intel 的今天,甚至從 ARM 指令集踏出第一步,是否會有截然不同的故事結局,就留給各位讀者去思考了。
(首圖來源:By Gona.eu (Own work) [GFDL or CC-BY-SA-3.0], via Wikimedia Commons)
留言 0