中國項目組目標:在A(yíng)MD Zen處理器上運行RISC-V代碼
上個(gè)月,一個(gè) Google 安全研究人員團隊發(fā)布了一個(gè)工具,該工具可以修改基于 Zen 微架構的 AMD 處理器的微碼,即 Zentool。雖然這是一個(gè)安全漏洞,但對某些人來(lái)說(shuō),這是一個(gè)機會(huì ):來(lái)自中國某項目組的成員正在舉辦一項競賽,旨在為 AMD 基于 Zen 的現代 CPU 開(kāi)發(fā)微碼,使其能夠本地執行 RISC-V 程序。最終目標可能是使用現有的芯片構建終極 RISC-V CPU。
本文引用地址:http://dyxdggzs.com/article/202504/469319.htmx86 是大約 48 年前開(kāi)發(fā)的復雜指令集計算機 (CISC) 指令集架構 (ISA)。但是,在內部,現代 x86 內核依賴(lài)于運行精簡(jiǎn)指令集計算機 (RISC) ISA 的專(zhuān)有引擎來(lái)處理復雜的指令。內部 RISC ISA 沒(méi)有記錄在案,但它們通常應類(lèi)似于眾所周知的 RISC ISA,例如 Arm 或 RISC-V。CPU 微碼是一個(gè)低級層,它將復雜的 x86 CISC 指令轉換為 CPU 硬件執行的簡(jiǎn)單類(lèi)似 RISC 的內部指令。CPU 微碼只能由 CPU 供應商修改,但有時(shí)情況并非如此,顯然 AMD 的 Zen 1/2/3/4 微碼的某些部分可以使用 Zentool 進(jìn)行更改。
簡(jiǎn)辰項目成員希望找到可以在現代處理器(例如 EPYC 9004 系列)上修改 AMD 的 Zen CPU 微碼以執行 RISC-V 二進(jìn)制文件的人。與使用相同硬件的仿真相比,該補丁有望實(shí)現 RISC-V 程序的直接執行或顯著(zhù)提高其運行時(shí)速度。該作品必須使用 Coremark 或 Dhrystone 等 RISC-V 版本的基準測試。完整的提交包括二進(jìn)制文件或源代碼、配置文件、依賴(lài)項和測試說(shuō)明。如果在 6 月 6 日截止日期之前僅提交二進(jìn)制文件,則必須稍后通過(guò)拉取請求添加相同的源代碼。獲勝者將獲得 20,000 日元(約合 2,735 美元)。
AMD 的 EPYC 9004 系列和類(lèi)似處理器提供的性能和內核數量在當前可用的基于 RISC-V 的處理器上無(wú)法實(shí)現,因此在 EPYC 上執行專(zhuān)有的 RISC-V 程序是一個(gè)合理的想法。然而,Ycombinator 的人指出,微碼旨在修復內部錯誤,而不是完全取代前端 ISA,甚至不清楚微碼是否可以完全重寫(xiě)。
早在 2010 年代中期,AMD 就計劃同時(shí)提供 x86-64 和 Armv8-A Zen CPU(AMD 首席架構師 Mike Clarke 最近召回了這一點(diǎn)),因此很可能有一個(gè)支持 Aarch64 前端 ISA 的 Zen 1 微架構微碼。也就是說(shuō),Zen 1 CPU 可以具有多個(gè)微碼層“插槽”,一個(gè)支持 x86-64,另一個(gè)支持 Aarch64。但我們懷疑情況是否如此,因為現代 CPU 具有非常徹底的硬件性能優(yōu)化,其中包括微碼和內核其余部分之間的硬線(xiàn)優(yōu)化。AMD 幾乎沒(méi)有開(kāi)發(fā)過(guò)支持 Zen 64/2/3/4 處理器的 Aarch3 或 RISC-V 的微碼,因此這些 CPU 的微碼層嚴格來(lái)說(shuō)是 x86-64,幾乎沒(méi)有足夠的微碼空間從頭開(kāi)始重寫(xiě)它們。
“這是不可能實(shí)現的,”一位名叫 Monocasa 的評論者寫(xiě)道?!皼](méi)有足夠的可重寫(xiě)微碼來(lái)做到這一點(diǎn),即使是一個(gè)超級慢的黑客攻擊。即使所有微碼都是可重寫(xiě)的,微碼也是現代 x86 內核上的一種后備路徑,快速路徑是 x86 指令的硬連線(xiàn)解碼。即使情況并非如此,微碼解碼和跳轉本身也是針對 x86 指令格式的硬連線(xiàn)。即使情況并非如此,微作也非常非 RISC。
一位評論者批評了比賽形式,認為這是一種以不到 3,000 美元的薪水完成復雜工作的方法。
評論