share_log

高通自研芯片架构深度披露,Apple M系列迎来最强对手

高通自研芯片架構深度披露,Apple M系列迎來最強對手

半導體行業觀察 ·  06/14 08:55

(原標題:高通自研芯片架構深度披露,Apple M系列迎來最強對手)

如果您希望可以時常見面,歡迎標星收藏哦~

來源:內容由半導體行業觀察(ID:icbank)編譯自anandtech,謝謝。

在過去 8 個月中,高通對其高性能 Windows-on-Arm SoC 做出了許多有趣的聲明,其中許多將在未來幾周接受測試。但在 PC CPU 競爭日益激烈的環境中,除了所有性能聲明和宣傳之外,還有一個關於驍龍 X 的更基本的問題,我們一直渴望知道:它是如何工作的?

在下週發佈之前,我們終於得到了答案,因爲今天高通發佈了他們期待已久的驍龍 X SoC 架構披露。這不僅包括他們新的定製 Arm v8“Oryon”CPU 核心,還包括他們的 Adreno GPU 的技術披露,以及支持他們大力推廣的 AI 功能的 Hexagon NPU。

該公司過去曾明確表示,驍龍 X 是該公司的一項嚴肅、優先的計劃——他們不會只是將現有的 IP 模塊拼湊成 Windows SoC 就完事了——因此 SoC 中有很多新技術。

雖然我們很高興看到這一切,但我們首先要承認,我們最興奮的是終於能夠深入了解 Oryon,即高通定製的 Arm CPU 內核。作爲過去幾年中第一個從頭開始創建的新型高性能 CPU 設計,Oryon 的重要性怎麼強調都不爲過。除了爲新一代 Windows-on-Arm SoC 提供基礎(高通希望藉此在 Windows PC 市場上佔據一席之地)之外,Oryon 還將成爲高通傳統驍龍移動手機和平板電腦 SoC 的基礎。

因此,未來幾年,該公司的大量硬件都將基於這種 CPU 架構——如果一切按計劃進行,Oryon 將會推出更多代產品。不管怎樣,它都會讓高通在 PC 和移動領域都從競爭對手中脫穎而出,因爲這意味着高通正在擺脫 Arm 的參考設計,而 Arm 的參考設計本質上也是高通的競爭對手。

事不宜遲,讓我們深入了解高通的驍龍 X SoC 架構。

Elite、Plus 和當前已發佈的 SKU

簡單回顧一下,高通迄今已宣佈了 4 款 Snapdragon X SKU,所有產品均已提供給設備製造商,將於下週推出。

其中三款是“Elite”SKU,即包含 12 個 CPU 核心。與此同時,高通目前只推出了一款“Plus”SKU,其 CPU 核心數量減少至 10 個。

官方稱,高通並未爲這些芯片 SKU 指定任何 TDP 等級,因爲原則上,任何給定的 SKU 都可以在整個功率水平範圍內使用。需要在無風扇筆記本電腦中安裝頂級芯片?只需調低 TDP 以匹配您的電源/冷卻能力即可。也就是說,要達到高通芯片的最高時鐘速度和性能目標,需要大量的冷卻和電力輸送。爲此,我們不太可能看到 X1E-84-100 出現在無風扇設備中,例如,因爲它的較高時鐘速度會因缺乏散熱空間而大量浪費。這不會阻止性能較低的芯片作爲預算選項用於更大的設備,但 SKU 表也可以被視爲大致按 TDP 排序。

雖然這不是今天披露的內容,但看到更多驍龍 X 芯片 SKU 即將推出,也不要感到驚訝。高通至少還有一款驍龍 X 芯片正在開發中,這已經成爲一個鮮爲人知的祕密——一款尺寸更小、CPU 和 GPU 核心可能更少的芯片——未來可能會推出更注重預算的 SKU 系列。但目前,高通正從其大芯片開始,因此也是其性能最高的選擇。

儘管首批 Snapdragon X 設備要到下週才會與消費者見面,但從 OEM 採用情況來看,這顯然將是高通迄今爲止最成功的 Windows-on-Arm SoC。與 Snapdragon 8cx Gen 3 相比,採用情況的差異幾乎是天壤之別;高通的 PC 合作伙伴已經使用新芯片開發了十幾款筆記本電腦型號,而最新的 8cx 則有兩種設計。因此,隨着微軟、戴爾、惠普、聯想等公司都在生產 Snapdragon X 筆記本電腦,Snapdragon X 生態系統的起步比之前的任何 Windows-on-Arm 產品都要強大得多。

毫無疑問,這很大程度上歸功於高通架構的強大。驍龍 X 搭載了高通宣稱比最新(大約 2022 年)8cx 芯片上的 Cortex-X1 內核強大得多的 CPU,並且採用與台積電 N4 節點高度競爭的工藝製造。因此,如果所有條件都正確,驍龍 X 芯片對高通來說應該是一個巨大的進步。

同時,還有另外兩個支柱支撐着這款產品的發佈。第一個當然是人工智能,驍龍 X 是首款支持 Copilot+ 的 Windows SoC。驍龍 X 的 Hexagon NPU 需要 40+ TOPS NPU,45 TOPS 的 Hexagon NPU 使這款 SoC 成爲首款爲神經網絡和其他模型推理提供如此高性能的芯片。第二個支柱是性能。高通承諾,憑藉其多年生產移動 SoC 的經驗,其 SoC 的電池續航時間將非常長。如果他們能夠實現這一目標,同時實現性能目標——讓用戶魚與熊掌兼得——那麼它將爲驍龍 X 芯片和由此產生的筆記本電腦提供良好的基礎。

最終,高通希望實現他們的 Apple Silicon 時刻——重複蘋果從英特爾 x86 芯片轉向他們自己的定製 Arm 芯片 Apple Silicon 時獲得的性能和電池壽命提升。而合作伙伴微軟則非常非常希望在 PC 生態系統中擁有 MacBook Air 的競爭對手。這是一項艱鉅的任務,其中最重要的原因是英特爾和 AMD 在過去幾年中都沒有停滯不前,但這並非遙不可及。

話雖如此,高通和 Windows-on-Arm 生態系統確實面臨一些障礙,這意味着驍龍 X 的發佈軌跡永遠無法與蘋果相提並論。除了明顯缺乏一個統一的開發硬件和軟件生態系統的一方(以及推動開發人員爲其開發軟件之外),Windows 還帶有向後兼容的期望,以及由此帶來的遺留包袱。微軟方面則繼續致力於其 x86/x64 仿真層,現在名爲 Prism,而驍龍 X 的發佈將是它第一次真正接受考驗。但即使 Windows 多年來一直支持 Arm,軟件生態系統仍在慢慢成形,因此驍龍 X 將比蘋果更依賴 x86 仿真。Windows 和 macOS 是非常不同的操作系統,無論是從它們的歷史還是所有者的開發理念來看,這在驍龍 X 的頭幾年尤其明顯。

Oryon CPU 架構:一個爲所有應用精心設計的核心

爲了深入研究架構,我們將從最核心的部分開始:Oryon CPU 核心。

簡單回顧一下,Oryon 本質上是高通的第三方收購。該 CPU 核心最初名爲“Phoenix”,由芯片初創公司 NUVIA 開發。NUVIA 本身由多位前蘋果員工組成,其最初的計劃是開發一種新的服務器 CPU 核心,該核心將與現代 Xeon、EPYC 和 Arm Neoverse V CPU 中的核心競爭。

然而,高通抓住了獲得優秀 CPU 開發團隊的機會,於 2021 年收購了 NUVIA。Phoenix被重新用於消費級硬件,重生爲 Oryon CPU 核心。

雖然高通並沒有過多關注 Oryon 的根源,但很明顯,第一代架構(採用 Arm 的 v8.7-A ISA)仍然深深植根於最初的 Phoenix 設計。Phoenix 本身已經設計爲可擴展且節能,因此這對高通來說絕不是壞事。但這確實意味着有許多以客戶爲中心的核心設計變化沒有出現在最初的 Oryon 設計中,我們應該期待在未來幾代 CPU 架構中看到這些變化。

深入研究後,正如高通先前披露的那樣,驍龍 X 使用了三組 Oryon CPU 核心。從高層次來看,Oryon 被設計爲全尺寸 CPU 核心,能夠同時提供能效和性能。爲此,它是高通所需的唯一 CPU 核心;它並沒有像高通之前的驍龍 8cx 芯片或英特爾/AMD 最新的移動芯片那樣,單獨設置性能優化和效率優化的核心。

據高通披露,所有集群都是平等的。因此,沒有一個“效率”集群針對電源效率而非時鐘速度進行調整。不過,只有 2 個 CPU 內核(在不同的集群中)可以達到任何給定 SKU 的最高渦輪增壓速度;其餘內核的最高速度達到芯片的全核渦輪增壓速度。

而每個集群又有自己的 PLL,因此每個集群都可以單獨計時和通電。實際上,這意味着在工作量較少時,兩個集群可以進入休眠狀態,然後在需要更多性能時從休眠狀態喚醒。

與大多數 CPU 設計不同,高通爲 Snapdragon X 和 Oryon CPU 核心集群採用了更扁平的緩存層次結構。L2 緩存不是每個核心都有一個緩存,而是每 4 個核心共享一個緩存(這與英特爾在其 E 核心集群上共享 L2 緩存的方式非常相似)。而且,這也是一個相當大的 L2 緩存,大小爲 12MB。L2 緩存是 12 路關聯的,即使如此大,在 L1 未命中後訪問 L2 緩存的延遲也只有 17 個週期。

這是一個包容性緩存設計,因此它也包含 L1 緩存中內容的鏡像。據高通稱,他們出於節能原因使用包容性緩存;包容性緩存意味着驅逐要簡單得多,因爲 L1 數據不需要移動到 L2 才能被驅逐(或者在提升到 L1 時從 L2 中刪除)。反過來,緩存一致性是使用 MOESI 協議來維護的。

L2 緩存本身以全核心頻率運行。而 L1/L2 緩存操作則是全 64 字節操作,這相當於緩存和 CPU 核心之間每秒數百 GB 的帶寬。雖然 L2 緩存主要用於服務其自己的直接連接的 CPU 核心,但高通還實施了優化的集群到集群監聽操作,以應對一個集群需要讀取另一個集群的情況。

有趣的是,Snapdragon X 的 4 核集群配置甚至還沒有 Oryon CPU 集群那麼大。據高通工程師稱,該集群設計實際上具備處理 8 核設計的所有功能和帶寬,毫無疑問,這讓人回想起其作爲服務器處理器的根源。對於消費級處理器,多個較小的集群爲電源管理提供了更高的粒度,並可以作爲製造低端芯片(例如 Snapdragon 移動 SoC)的更好的基本構建塊,但當這些核心位於不同的集群中時(因此必須通過總線接口單元連接到另一個核心),這將帶來一些權衡,即核心到核心的通信速度會更慢。這是一個很小但值得注意的區別,因爲英特爾和 AMD 的當前設計都在同一個集群/CCX/環內放置了 6 到 8 個 CPU 核心。

深入研究單個 Oryon CPU 內核,我們很快就明白了高通爲何採用共享 L2 緩存:單個內核中的 L1 指令緩存已經非常龐大。Oryon 配備 192KB L1 I-Cache,是 Redwood Cove(Meteor Lake)L1 I-Cache 的三倍,甚至比 Zen 4 的還要大。總體而言,6 路關聯緩存允許 Oryon 將大量指令保存在 CPU 執行單元的本地。但不幸的是,我們手頭沒有 L1I 延遲,無法查看它與其他芯片的比較情況。

總而言之,Oryon 的 fetch/L1 單元每個週期最多可以檢索 16 條指令。

這反過來又爲非常寬的解碼前端提供了支持。Oryon 可以在一個時鐘週期內解碼多達 8 條指令,解碼前端比 Redwood Cove (6) 和 Zen 4 (4) 還要寬。而且所有解碼器都是相同的(對稱的),因此無需特殊情況/場景即可實現全吞吐量。

與其他當代處理器一樣,這些解碼後的指令以微操作 (uOps) 的形式發出,以供 CPU 核心進一步處理。從技術上講,每條 Arm 指令最多可以解碼 7 個 uOps,但據高通稱,Arm v8 的指令與解碼後的微操作的比例通常更接近 1:1。

分支預測是 CPU 核心性能的另一個主要驅動因素,這也是 Oryon 毫不吝嗇的另一個領域。Oryon 具有所有常見的預測器:直接、條件和間接。直接預測器是單週期的;同時,分支預測錯誤會帶來 13 個週期的延遲損失。不幸的是,高通並沒有透露分支目標緩衝區本身的大小,所以我們不知道它們到底有多大。

不過,我們確實知道 L1 轉換後備緩衝區 (TLB) 的大小,它用於虛擬到物理內存地址映射。該緩衝區可容納 256 個條目,支持 4K 和 64KB 頁面。

翻到 Oryon 的執行後端,有很多值得討論的地方。部分原因是這裏有很多硬件和很多緩衝區。Oryon 具有一個相當大的 650+ 重排序緩衝區 (ROB),用於通過無序執行提取指令並行性和整體性能。這使得高通成爲最新的 CPU 設計師,它拋棄了傳統智慧,推出了一款大型 ROB,避免了聲稱更大的 ROB 帶來的收益遞減。

反過來,指令退出與解碼器塊的最大容量相匹配:8 條指令輸入,8 個 uOps 輸出。如前所述,解碼器在技術上可以爲一條指令發出多個 uOps,但大多數情況下它將與指令退出率完美一致。

Oryon 上的寄存器重命名池也相當龐大(你感覺到這裏有一個共同的主題嗎?)。總共有超過 400 個寄存器可用於整數,另外還有 400 個寄存器可用於饋送矢量單元。

至於實際的執行管道本身,Oryon 提供了 6 個整數管道、4 個 FP/矢量管道和另外 4 個加載/存儲管道。高通沒有提供每個管道的完整映射,因此我們無法介紹所有可能性和特殊情況。但在較高層次上,所有整數管道都可以執行基本的 ALU 操作,而 2 個可以處理分支,2 個可以執行復雜的乘法累加 (MLA) 指令。同時,我們被告知絕大多數整數運算具有單週期延遲 - 也就是說,它們在單個週期內執行。

在浮點/向量方面,每個向量管道都有自己的 NEON 單元。提醒一下,這是一個 Arm v8.7 架構,因此這裏沒有任何向量 SVE 或 Matrix SME 管道;CPU 核心的唯一 SIMD 功能是使用經典的 128 位 NEON 指令。這確實將 CPU 限制在比當代 PC CPU 更窄的向量上(AVX2 爲 256 位寬),但它確實通過所有四個 FP 管道上的 NEON 單元彌補了這一問題。而且,由於我們現在處於 AI 時代,FP/向量單元支持所有常見數據類型,一直到 INT8。這裏唯一值得注意的遺漏是 BF16,這是 AI 工作負載的常見數據類型;但對於嚴肅的 AI 工作負載,這就是 NPU 的用途。

我們在 Oryon 上還看到了數據加載/存儲單元。核心的加載/存儲單元非常靈活,這意味着 4 個執行管道可以根據需要在每個週期執行任意組合的加載和存儲。加載隊列本身最多可以有 192 個條目,而存儲隊列最多可以有 26 個條目。所有填充都是緩存行的完整大小:64 字節。

支持加載/存儲單元的 L1 數據緩存本身也相當大。完全一致的 6 路關聯緩存大小爲 96KB,是英特爾 Redwood Cove 緩存的兩倍(儘管即將推出的 Lion Cove 將大大改變這一點)。而且它經過精心設計,可以有效支持各種不同的訪問大小。

除此之外,高通的內存預取器有點兒像“秘方”一樣,因爲該公司表示,這個相對複雜的單元對性能的貢獻很大。因此,高通並沒有過多地透露其預取器的工作原理,但毋庸置疑的是,其準確預測和預取數據的能力會對 CPU 核心的整體性能產生巨大影響,尤其是在現代處理器時鐘速度下,DRAM 的行程時間很長。總體而言,高通的預取算法力求涵蓋多種情況,從簡單的鄰接和跨度到更復雜的模式,使用過去的訪問歷史來預測未來的數據需求。

相反,Oryon 的內存管理單元相對簡單。這是一個功能齊全的現代 MMU,它支持更多深奧的功能,例如嵌套虛擬化 - 允許客戶虛擬機託管自己的客戶虛擬機管理程序,以便爲更遠的虛擬機提供服務。

此處其他值得注意的功能中,硬件表遍歷器是另一個值得特別提及的功能。如果緩存行不在 L1 或 L2 緩存中,該單元負責將緩存行移至 DRAM,最多支持 16 次並發表遍歷。請記住,這是每個核心的,因此完整的 Snapdragon X 芯片一次最多可以進行 192 次表遍歷。

最後,除了 CPU 內核和 CPU 集群之外,我們還擁有 SoC 的最高級別:共享內存子系統。

緩存的最後一級就位於此處,與芯片共享 L3 緩存。考慮到芯片的 L1 和 L2 緩存的大小,您可能會認爲 L3 緩存也相當大。但您錯了。事實上,高通只爲芯片配備了 6MB 的 L3 緩存,這僅僅是其支持的 36MB L2 緩存的一小部分。

由於該芯片在 L1/L2 級別已經具有大量緩存,並且這些緩存之間緊密集成,因此高通在此使用相對較小的犧牲緩存作爲進入系統內存之前的最後一站。與傳統的 x86 CPU 相比,這是一個相當大的變化,儘管這對高通來說非常符合品牌定位,其 Arm 移動 SoC 通常也具有相對較小的 L3 緩存。至少好處是 L3 緩存訪問速度相當快,延遲僅爲 26-29 納秒。並且它具有與 DRAM 相同的帶寬(135GB/秒),可以在其下方的 L2 緩存和其上方的 DRAM 之間傳遞數據。

至於內存支持,如之前的披露所述,驍龍 X 具有 128 位內存總線,支持 LPDDR5X-8448,最大內存帶寬爲 135GB/秒。在目前的 LPDDR5X 容量下,驍龍 X 最多可以處理 64GB 的 RAM,不過,如果高通在更高密度的 LPDDR5X 芯片開始出貨後確認其支持 128GB,我也不會感到太驚訝。

值得注意的是,與其他一些專注於移動領域的芯片不同,驍龍 X 不使用任何類型的封裝內存。因此,LPDDR5X 芯片將安裝在設備主板上,設備供應商可以選擇自己的內存配置。

利用 LPDDR5X-8448 內存,高通告訴我們 DRAM 延遲應該略高於 100ns,爲 102-104ns。

最後,我們不妨簡要提一下 CPU 安全性。高通支持現代芯片所需的所有安全功能,包括 Arm TrustZone、每個集群的隨機數生成器以及指針身份驗證等安全強化功能。

值得注意的是,高通聲稱 Oryon 可以緩解所有已知的旁道攻擊,包括Spectre,這種攻擊被稱爲“不斷給予的禮物”。這個說法很有趣,因爲 Spectre 本身並不是硬件漏洞,而是推測執行的固有後果。這反過來也是它很難完全防禦的原因(最好的防禦是讓敏感操作自己隔離)。儘管如此,高通認爲,通過在硬件中實施各種混淆工具,他們可以防範這類旁道攻擊。所以看看這將如何發展將會很有趣。

關於 x86 仿真的說明

最後,我想花點時間簡單介紹一下有關 Oryon 上的 x86 仿真的信息。

高通的 x86 仿真方案比我們在 Apple 設備上習慣的方案要複雜得多,因爲在 Windows 世界中,沒有一家供應商能夠同時控制硬件和軟件堆棧。因此,儘管高通可以談論他們的硬件,但他們無法控制軟件方面的問題 - 而且他們不會冒着集體失言的風險代替微軟發言。因此,Snapdragon X 設備上的 x86 仿真本質上是兩家公司的聯合項目,高通提供硬件,微軟提供 Prism 轉換層。

但是,雖然 x86 模擬在很大程度上是一項軟件任務(Prism 承擔了大部分繁重的工作),但 Arm CPU 供應商仍然可以進行某些硬件調整來提高 x86 性能。而高通則已經做出了這些調整。Oryon CPU 內核具有硬件輔助功能,可以提高 x86 浮點性能。爲了解決這個可以說是房間裏的大象問題,Oryon 還爲 x86 獨特的內存存儲架構提供了硬件調整——這被廣泛認爲是蘋果在自己的芯片上實現高 x86 模擬性能的關鍵進步之一。

不過,沒有人會以爲高通的芯片能夠像原生芯片一樣快速運行 x86 代碼。仍然會有一些轉換開銷(具體多少取決於工作量),性能關鍵型應用程序仍將受益於原生編譯爲 AArch64。但高通在這方面並不完全受微軟的擺佈,他們已經做出了硬件調整來提高其 x86 仿真性能。

在兼容性方面,預計這裏最大的障礙是 AVX2 支持。與 Oryon 上的 NEON 單元相比,x86 矢量指令集更寬(256b 對 128b),而且指令本身並不完全重疊。正如高通所說,AVX 到 NEON 的轉換是一項艱鉅的任務。不過,我們知道這是可以做到的——蘋果本週悄悄地將 AVX2 支持添加到他們的遊戲移植工具包 2中——因此,看看未來幾代 Oryon CPU 核心會發生什麼將會很有趣。與蘋果的生態系統不同,x86 不會在 Windows 生態系統中消失,因此轉換 AVX2(最終是 AVX-512 和AVX10 !)的需求也永遠不會消失。

Adreno X1 GPU 架構:更熟悉的面孔

接下來,我們來談談驍龍 X SoC 的 GPU 架構:Adreno X。

與 Oryon CPU 內核不同,Adreno X1 並非全新的硬件架構。事實上,在它之前已經推出了三代 8cx SoC,它甚至對 Windows 來說都不算新東西。不過,高通多年來一直對其 GPU 架構守口如瓶,因此 GPU 架構對 AnandTech 讀者來說可能也是新東西。可以這麼說,十多年來,我一直在試圖從高通那裏獲得詳細的披露信息,而隨着驍龍 X 的推出,他們終於實現了這一目標。

從高層次來看,Adreno X1 GPU 架構是高通目前正在研發的 Adreno 架構系列的最新版本,其中 X1 代表第 7代。Adreno 本身基於 15 年前從 ATI 收購而來(Adreno 是 Radeon 的字母變位詞),多年來,高通的 Adreno 架構一直是 Android 領域最強的 GPU。

當然,Windows 領域的情況略有不同,因爲獨立 GPU 將集成 GPU 推到了一邊,無法處理絕對需要高 GPU 性能的工作負載。而且由於遊戲開發從未完全脫離 GPU 架構/驅動程序,高通多年來在 Windows 市場的微不足道的存在導致他們經常被遊戲開發商忽視。不過,高通並不是 Windows 遊戲的新手,這讓他們在試圖佔據更大的 Windows 市場份額時佔據了優勢。

從功能角度來看,與當代 x86 SoC 相比,Adreno X1 GPU 架構不幸有點過時。雖然該架構確實支持光線追蹤,但該芯片無法支持完整的DirectX 12 Ultimate(功能級別 12_2)功能集。這意味着它必須向 DirectX 應用程序報告自己爲功能級別 12_1 GPU,這意味着大多數遊戲將限制自己使用這些功能。

儘管如此,Adreno X1 確實支持一些高級功能,這些功能已經在 Android 上積極使用,因爲 DirectX 的功能級別並不存在。如前所述,它支持光線追蹤,這通過 Vulkan API 及其光線查詢調用在 Windows 應用程序中公開。考慮到 Vulkan 在 Windows 上的使用有限,高通可以理解地不會深入探討這個主題,但聽起來高通的實現是2 級設計,具有硬件光線測試,但沒有類似於 AMD 的 RDNA2 的硬件 BVH 處理。

另外,還支持可變速率着色 (VRS) 第 2 層,這對於優化移動 GPU 上的着色器工作負載至關重要。因此,似乎阻礙 X1 獲得 DirectX 12 Ultimate 支持的功能是網格着色器和採樣器反饋,誠然,這是一些相當大的硬件變化。

在 API 支持方面,如前所述,Adreno X1 GPU 支持 DirectX 和 Vulkan。高通爲 DirectX 12 和 DirectX 11、Vulkan 1.3 和 OpenCL 3.0 提供原生驅動程序/路徑。這裏唯一值得注意的例外是 DirectX 9 支持,與 SoC 供應商英特爾一樣,它是使用D3D9on12實現的,它將 DX9 命令轉換爲 DX12。如今 DX9 遊戲很少見(15 年前 API 就被 DX10/11 取代了),但由於這是 Windows,因此向後兼容性是持續的期望。

相反,甚至支持微軟用於機器學習的低級 GPU 訪問的新 DirectML API。高通甚至優化了爲 GPU 編寫的元命令,以便利用 DirectML 的軟件可以更高效地運行,而無需了解架構的其他任何信息。

Adreno X1 GPU 架構詳解

除了高級功能之外,我們來看看低級架構。

Adreno X1 GPU 分爲 6 個着色器處理器塊,每個塊提供 256 個 FP32 ALU,總共 1536 個 ALU。峯值時鐘速度爲 1.5GHz,這讓驍龍 X 上的集成 GPU 的最大吞吐量達到 4.6 TFLOPS(低端 SKU 的吞吐量較低)。

與其他 GPU 一樣,GPU 的前端分爲傳統的前端/SP/後端設置,前端負責處理三角形設置和光柵化,以及 GPU 基於圖塊的渲染模式的合併。值得注意的是,GPU 前端每時鐘可以設置和光柵化 2 個三角形,這在 2024 年的 PC 領域不會引起任何關注,但對於集成 GPU 來說已經很不錯了。爲了提高性能,前端還可以進行早期深度測試,以拒絕在光柵化之前永遠不會可見的多邊形。

同時,後端由 6 個渲染輸出單元 (ROP) 組成,每個單元每個週期可以處理 8 個像素,總共渲染 48 個像素/時鐘。渲染後端插入本地緩存,以及高通稱爲 GMEM 的重要暫存器內存。

單個着色器處理器塊本身是比較常見的,特別是如果你看過 NVIDIA GPU 架構圖的話。每個 SP 進一步細分爲兩個微管道(微着色器管道紋理管道,或 uSPTP),由其自己的專用調度程序和其他資源(如本地內存、加載/存儲單元和紋理單元)控制。

每個 uSPTP 提供 128 個 FP32 ALU。而且,有點令人驚訝的是,還有一組單獨的 256 個 FP16 ALU,這意味着 Adreno X1 在處理 FP16 和 FP32 數據時不必共享資源,這與在 FP32 ALU 上執行 FP16 操作的架構不同。不過,如果 GPU 調度程序確定需要,FP32 單元也可以用於 FP16 操作。

最後,有 16 個基本函數單元 (EFU),用於處理超越函數,例如 LOG、SQRT 和其他罕見但重要的數學函數。

令人驚訝的是,Adreno X1 使用的波前尺寸相當大。根據模式,高通使用 64 或 128 通道寬的波前,高通告訴我們,他們通常使用 128 寬的波前進行 16 位操作(例如片段着色器),而 64 寬的波前用於 32 位操作(例如像素着色器)。

相比之下,AMD 的 RDNA 架構使用 32/64 寬波前,而 NVIDIA 的波前/扭曲始終爲 32 寬。寬設計在 PC 領域已經失寵,因爲難以保持饋電(發散太大),所以這很有趣。儘管人們通常擔心波前大小,但考慮到高通智能手機 SoC 的高 GPU 性能,它似乎對高通來說效果很好——考慮到手機屏幕的高分辨率,這絕非易事。

除了 ALU 之外,每個 uSPTP 都包含自己的紋理單元,每個 uSPTP 每時鐘能夠輸出 8 個紋理像素。這裏還有有限的圖像處理功能,包括紋理過濾,甚至用於生成運動矢量的 SAD/SAS 指令。

最後,每個 uSPTP 中都有相當多的寄存器空間。除了 L1 紋理緩存外,還有總共 192KB 的通用寄存器,用於爲各個塊提供信息並試圖隱藏波前的延遲氣泡。

如前所述,Adreno X1 支持多種渲染模式,以獲得最佳性能,該公司稱之爲 FlexRender 技術。這是一個在 PC GPU 設計中不太常見的主題,但由於歷史和效率原因,在移動領域卻更爲重要。

除了傳統的直接/即時模式渲染方法(大多數 PC GPU 的典型模式)之外,高通還支持基於圖塊的渲染,他們稱之爲合併模式。與其他基於圖塊的渲染器一樣,合併模式將屏幕分成多個圖塊,然後分別渲染每個圖塊。這允許 GPU 一次只處理一部分數據,將大部分數據保存在其本地緩存中,並最大限度地減少流向 DRAM 的流量,這既耗電又會限制性能。

最後,Adreno X1 有第三種模式,它結合了分箱渲染和直接渲染的優點,他們稱之爲分箱直接模式。此模式在切換到直接渲染之前運行分箱可見性通道,作爲進一步剔除背面(不可見)三角形的手段,以便它們不會被光柵化。只有在剔除這些數據後,GPU 才會切換到直接渲染模式,現在工作量減少了。

使分級渲染模式正常運行的關鍵是 GPU 的 GMEM,這是一個 3MB 的 SRAM 塊,可作爲 GPU 的高帶寬暫存器。從架構上講,GMEM 不僅僅是一個緩存,因爲它與系統內存層次結構分離,並且 GPU 幾乎可以對內存執行任何操作(包括在必要時將其用作緩存)。

GMEM 塊的大小爲 3MB,整體上不算很大。但足以存儲一個圖塊,從而防止大量流量衝擊系統內存。而且它的速度也很快,帶寬爲 2.3TB/秒,足以讓 ROP 全速運行,而不受內存帶寬的限制。

有了 GMEM 塊,在理想情況下,GPU 只需要在完成渲染該圖塊時,每部作品向 DRAM 寫入一次數據。當然,在實踐中,DRAM 流量會比這更多,但這是高通避免 GPU 向 DRAM 寫入數據而佔用內存帶寬和電量的關鍵功能之一。

當Adreno X1 確實需要進入系統內存時,它會經過自己剩餘的緩存,最後到達 Snapdragon X 的共享內存控制器。

在 GMEM 之上,每對 SP 都有一個 128KB 的集群緩存(對於完整的 Snapdragon X,總共有 384KB)。而在此之上,還有一個 1MB 的 GPU 統一 L2 緩存。

最後,剩下系統級緩存 (L3/SLC),它爲 GPU 上的所有處理塊提供服務。當所有其他方法都失敗時,還有 DRAM。

最後,值得注意的是,Adreno X1 GPU 還在 GPU 內包含一個專用的 RISC 控制器,用作 GPU 管理單元 (GMU)。GMU 提供多種功能,其中最重要的是 GPU 內的電源管理。GMU 與 SoC 其他地方的電源管理請求協同工作,允許芯片根據 SoC 決定的最佳性能分配方法在不同的塊之間重新分配功率。

性能和初步想法

最後,在結束這次架構深度剖析之前,讓我們先來看看高通的幾張性能幻燈片。雖然全世界下週零售設備發佈時就能親眼看到驍龍 X 的性能,但在此之前,它讓我們對預期結果有了更多的了解。但一定要謹慎對待。

在 CPU 方面,高通聲稱 Snapdragon X Elite 可以在 GeekBench 6.2 單線程測試中擊敗所有當代 PC 競爭對手。而且,在考慮能效時,其領先優勢也相當顯著。

簡而言之,高通聲稱,即使 x86 核心的 TDP 不受限制,Snapdragon X Elite 中的 Oryon CPU 核心在絕對性能方面也能擊敗 Redwood Cove(Meteor Lake)和 Zen 4(Phoenix)。鑑於移動 x86 芯片的加速高達 5GHz,這是一個大膽的說法,但並非不可能。

與此同時,在 GPU 方面,高通也取得了類似的能效提升。不過,所討論的工作負載 3DMark WildLife Extreme 不太可能轉化爲大多數遊戲,因爲這是一個專注於移動設備的基準測試,長期以來一直在每個移動 SoC 供應商的驅動程序中經過反覆優化。

使用實際遊戲進行的性能基準測試在這裏可能更有用。儘管高通可能在挑選一些好產品,但頂級驍龍 X SKU 經常與英特爾的 Core Ultra 7 155H 交鋒。不可否認的是,它的整體表現並不令人印象深刻,但很高興看到高通目前在真實遊戲中的表現。在這種情況下,即使只是英特爾更好的移動芯片之一的平局/擊敗,也不算糟糕。

初步想法

以上就是我們對高通驍龍 X SoC 架構的首次深入研究。高通將長期投資 Windows-on-Arm 生態系統,希望這將成爲衆多生態系統中的第一個,因爲該公司正在尋求成爲第三大 Windows CPU/SoC 供應商。

但 Snapdragon X SoC 及其 Oryon CPU 核心的最終意義不僅僅在於作爲筆記本電腦的 SoC。即使高通在這方面取得了巨大成功,他們出貨的 PC 芯片數量與他們真正的實力基礎:Android SoC 領域相比也只是九牛一毛。而 Oryon 將在這裏照亮高通移動 SoC 實現重大變革的道路。

正如高通自 Oryon 之旅開始以來所指出的那樣,這最終將成爲高通所有產品的核心 CPU 內核。從本月開始的 PC SoC 最終將擴展到包括驍龍 8 系列等移動 SoC,再往前走,還將是高通的汽車產品和 XR 耳機 SoC 等高端分支。雖然我懷疑我們是否真的會從上到下地在高通的產品中看到 Oryon 及其繼任者(該公司需要小而便宜的 CPU 內核來支持其預算產品線,如驍龍 6 和驍龍 4),但毫無疑問,從長遠來看,它將成爲他們大多數產品的基石。這就是製造自己的 CPU 內核的差異化價值——通過在儘可能多的地方使用它來從 CPU 內核中獲得最大價值。

最終,高通在過去 8 個月中一直在大肆宣傳其下一代 PC SoC 及其定製的 CPU 核心,現在是時候讓所有部件都到位了。在 PC CPU 領域擁有第三個競爭對手(並且是基於 Arm 的競爭對手)的前景令人興奮,但幻燈片和廣告不是硬件和基準。因此,我們熱切地等待下週會帶來什麼,看看高通的工程實力是否能夠實現公司的宏偉抱負。

點這裏加關注,鎖定更多原創內容

*免責聲明:本文由作者原創。文章內容系作者個人觀點,半導體行業觀察轉載僅爲了傳達一種不同的觀點,不代表半導體行業觀察對該觀點贊同或支持,如果有任何異議,歡迎聯繫半導體行業觀察。

今天是《半導體行業觀察》爲您分享的第3796期內容,歡迎關注。

『半導體第一垂直媒體』

實時 專業 原創 深度

公衆號ID:icbank

喜歡我們的內容就點“在看”分享給小夥伴哦

譯文內容由第三人軟體翻譯。


以上內容僅用作資訊或教育之目的,不構成與富途相關的任何投資建議。富途竭力但無法保證上述全部內容的真實性、準確性和原創性。
    搶先評論