在上週於美國矽谷舉行的年度Arm Techcon大會上,一個重大的新訊息是該公司宣布針對 Armv8-M 架構推出Arm客製化指令(Custom Instructions),將於2020 年上半年開始首先在 Cortex-M33處理核心上實施,不會對新的或既有授權廠商收取額外費用,讓SoC設計工程師「在沒有軟體碎裂風險下,得以針對特定嵌入式與IoT應用加入自己的指令」。

上述訊息是Arm執行長Simon Segars在大會開幕演說中親自宣佈;在經過數十年對指令集架構(ISA)的嚴密控制之後,Arm終於決定讓授權廠商能打造自己的客製化指令集,這通常對於加速特定的工作負載非常有用。

在過去,Arm很抗拒這樣的舉動,專心致志維持一致性的編程模型。在此同時,其他的IP供應商則從客製化指令集撈到不錯的商機,例如Tensilica (現已隸屬於Cadence)以及ARC (已被Synopsys收購);老牌MIPS指令集也支援使用者定義的選項。

現在,隨著開放源碼RISC-V ISA的崛起以及其使用者可配置性,顯然Arm終究還是屈服了,決定開放支援客製化指令集,這種新的客製化功能搭配Arm Flexible Access授權專案,確實解決了兩個被許多人視為是讓Arm客戶別抱RISC-V的大問題。

Arm的客製化指令集將從Cortex-M核心開始,主要是為了支援較大SoC設計專案中的微控制器核心;第一個支援客製化指令集的會是Cortex-M33核心,未來其他Cortex-M核心也會支援客製化功能,而好消息是Arm不會對此收取額外費用。

在大會的另一場演說中,該公司院士Peter Greenhalgh (文章上方大圖)表示,Arm將會對即時性Cortex-R核心提供客製化指令集支援,最終可能也會對應用處理器所採用的Cortex-A核心提供此功能。

為Cortex-R添加客製化指令集,對於即時性控制應用會非常有幫助,能加速特定的運算或是資料移動。至於Arm將如何以及在何時為通常佈署於智慧型手機與伺服器等主流應用的Cortex-A核心提供客製化指令集支援,會是有點複雜的問題,而該公司也並沒有正式承諾一定會這麼做。

維持可靠度與安全性

Arm已經讓其工具鏈在Armv8-M架構下支援新的客製化指令集,並仍維持使用者一直期望的可靠度與安全性,讓客製化指令相容於Arm TrustZone技術。儘管Arm較晚加入提供客製化指令的行列,其實該公司是在對已經要求此功能好一段時間的客戶做出回應。

在某些情況下,就算是只有一條特製指令都能顯著提升性能與效率,此外時脈週期更少,整體能源消耗也降低。新的指令集會使用相同的暫存器(registers),但需要額外的邏輯,這帶來在額外晶片面積與設計時間上的投資。

新的客製化指令集會與標準Arm指令集交錯,為避免軟體碎片化(fragmentation)並維持一致性的軟體開發環境,Arm期望客戶主要在所謂的library functions使用客製化指令集。此外Arm預期客戶一開始會在儲存控制器與數據機等應用上,使用Cortex-M33的客製化指令集。

20191015_Arm_NT01P1

Arm的Armv8-M客製化指令集配置空間。
(來源:Arm)

而對於Arm來說要在Cortex-A核心提供任何客製化指令集,會有很長一段路要走,但該公司正在準備未來的新指令集以及安全性擴展。Arm發表了新一代繼Hercules之後的Cortex-A核心代號:Matterhorn,這個處理器核心將添加新指令集,以加快通常應用於機器學習神經網路的矩陣乘法(matrix multiplies)。

Arm預期新的Matterhorn核心能讓神經網路的通用矩陣乘法(General Matrix Multiply,GEMM)運算速度提高10倍,此外Arm也會為整個CPU核心以及快取記憶體添加新的安全措施,這些安全性擴展將能控制指向授權(pointer authorization),並提供分支目標識別碼(branch target identifier)以及記憶體標記擴展(memory tagging extensions)。Arm還打算推出符合這些新功能的另一個平台安全性架構(Platform Security Architecture,PSA) EL2。

降低授權費

7月,Arm宣佈了一種新的合約模式Arm Flexible Access專案,讓客戶能以較低的價格取得部分最熱門的IP,而且在設計投片之前不需要簽署授權協議;在這個專案下,客戶可選擇為單一款晶片支付7萬5,000美元的年費,或者為無數量限制的晶片支付20萬美元年費。這項專案降低了採用Arm核心的金額門檻。

這些改變被視為是Arm為了與RISC-V競爭的回應,但前者正在更進一步對自家企業文化做了基礎性的變革,在其生態系統中採取了更協作的模式。另一個例子是Arm對晶片產業夥伴開放了Mbed作業系統的管理,讓夥伴們能對該作業系統的未來發展有更多直接的影響力;包括ADI、Cypress、Maxim、新唐(Nuvoton)、恩智浦(NXP)、瑞薩(Renesas)、瑞昱(Realtek)、三星(Samsung)、Silicon Labs與u-blox等公司都是活躍的參與者。

Arm正以前所未見的方式回應市場與客戶的需求,而儘管該公司仍面臨像是RISC-V陣營的競爭威脅,其IP迄今已進駐1,500億顆晶片,該數量在兩年內預期將加倍。Arm仍在每天出貨的大多數元件之中扮演關鍵的IP供應商角色,而且為因應市場與客戶不斷變化的需求做出重要的改變。

編譯:Judith Cheng

(參考原文: Arm Responds to RISC-V, and More ,by Kevin Krewell)