2018年7月11日 星期三

開源陣營對 ARM 的回應 - www.arm-basics.com

延續上一篇文章 ARM 對 RISC-V 發起的攻擊
朋友稍早傳來一個網址 - https://www.arm-basics.com/
裏面有著針對 ARM 提出的攻擊的回覆, 簡譯如下:
  • Cost
像是 ARM 這種專屬指令集架構有著 License fee 以及 royalty 模式可能有著高達數千萬美元的支出. 此外 ARM ISA License fee 至少佔了銷售額 1%. 此外, 一整年的 ARM architecture license fee 支出就足以負擔數個 RISC-V 設計團隊. 
  • Fragmentation Risk
ARM 就碎片化他們自己的 ISAs (ARM v6/7/8, Thumb 1, Thumb2, ThumbEE, Jazelle, ARM v8, v8-M, NVIC/VIC/GICv2/3/4, multiple hypervisor variants/…, DSP/NEON/VFP/SVE).
ARM 並不允許使用者去客製, 強迫他們去買第二顆核心, 或是更聰明地轉移到 RISC-V.
  • Improvements
ARM 指令集並不允許開源開發者貢獻. 這表示你受到原始供應商和可能有的後門所支配. 這限制使得人們更難以信任你的晶片並且阻止社群免費針對你的系統無償地帶來增進.
  • Design Assurance
處理器設計的 verification 與 validation 可能佔 75% 的總設計時間. 然而讓其開源表示自願者夠參與創建你的設計, 並無償地帶來他們獨到領域的專業. 如此減少了設計成本.
擴充是選擇性的, 你能夠購買已驗證後的核心. 事實上, 8x 較少的指令以及簡單的特權架構帶來簡單的驗證過程.
  • Large, Supportive Community
一個架構良好地被活躍的社群接受是重要的, 因此能夠幫助你移植一個更加多元的軟體圈, 服務以及設計到你的處理器架構. 這保證了市場選擇, 產品品質與一個最佳到市場的時間. 專有的生態系並沒有著這樣層次的信任與開放.
RISC-V 目前弱於 ARM 現在是事實, 但是它成長的速度更快.
  • Security
Cyberthreats 表示安全性不能是選擇性的. 專有產品能是嚴重不安全的, 因為他們無法受惠於開源開發者與業界專家多年的審查, Spectre 與 Meltdown 可能會對其發生. ARM 並不關心大眾期望的安全議題. 他們長時間忽略了 ret2usr for a very long period of time, 當百萬計的 ARM 使用者暴露在這個龐大漏洞,  直到一些安全特性 (domain, PXN) 加到了 ARMv7 中. 第一個 PXN 實作是 PaX/Grsecurity 所完成, 當第一個 implementation of domain 是 PaX's UDEREF 所完成. 至今 ARM 都沒有歸功於他們. RISC-V 將有機會在一開始做正確的事情, 而那是安全子團隊以及來自 RISC-V 基金會的 Security Standing Committee 從開始就已經在進行的.

==
ARM 已於先前撤下了 riscv-basics.com 網站, 以下為重點備份截圖



2018年7月9日 星期一

關於 ARM 主動與 RISC-V 比較的個人看法

看起來 RISC-V 開始對 ARM 有所威脅了, 先前一直冷處理 RISC-V, 希望能讓其淡出, 然而在某些面向已經無法忽視, 因此 ARM 設立了 risc-basics.com 這個網站針對五點面向與 RISC-V 相較:
  •  Cost: 任何 RISC ISA 授權的成本僅佔創建商用處理器從設計到交付的一小部分.  
個評: 製作 ARM 相容處理器的 ARM Architecture License 是最高等級的授權, 付出的成本最高, 成本最低的是直接使用 ARM 推出的硬體設計, 並且隨著客製彈性降低而費用降低. 其中選擇的依據還是要依照應用需求決定你的付出成本. 所佔比例是依照應用與量能決定比例, 而非這麼輕描淡寫的是"小部分".
  •  Fragmentation Risk: RISC-V指令集架構允許 IP 商曾加自有擴充. 這表示著每個實作可能不同或客制.
個評: 付費取得 ARM Architecture License 授權的公司(最著名的莫過 Apple, 而取得 Architecture License 的按照 wikipedia 包含了: Apple, AppliedMicro, Broadcom, Cavium (now: Marvell), Nvidia, Qualcomm, and Samsung)一樣可以依照意願修改與延伸, 使用了 ARM processor 也並非沒有碰到這問題的可能.
  •  Design Assurance: 處理器設計的verification 和 validation 可能佔總設計時間的75%. 使用RISC-V可以修改指令集架構意味著對中央處理單元, 進行昂貴的重新驗證以及軟體工具的客製, 這些增加了設計成本.
個評: 開發與修改處理器主要還是應用面向的考量, 處理器設計的更動帶來的利益與設計增加的成本這是科技公司策略上該考量到的, 而且自主架構有利於技術的提升以及產品的獨特性及差異性, 而 ARM 設計上有著自己的步調無法配合所有廠商, 再者也無法一體適用所有應用, 像是 ARM 遲遲沒有推出對於 throughput 有幫助的 SMT 設計, 而客戶遷就使用 ARM 設計造成的落後(效能與市場)是設計代工的 ARM 不會替客戶考量的損失.
  •  A Large, Supportive Ecosystem: 重要的是架構上得到全球及成熟的合作夥伴生態系統的良好支持, 提供各種軟件, 服務和設計支持. 這保證了市場選擇, 產品質量和最佳的上市時間. RISC-V生態系尚未達到此發展階段.
個評: 目前得到的領先多少是因時空有利條件綁架造成的結果. 儘管 RISC-V 尚未達到同樣質量的階段, 然而 ARM 與 RISC-V 並非是同一個起點, RISC-V 起跑較晚, 但從 ISA design, compiler 到 OS 發展都是有著各方面多年累積的經驗, 這些都能加速軟硬體架構的成熟速度, 加上受到開放社群的熱烈支持與投入開發. RISC-V 快速的成長也是不可忽視的事實.
  •  Security: Cyber​​threats 意味強韌的著芯片安全性並非選擇性問題。基於RISC-V的產品相對較新,並且尚未受益於合作夥伴和行業專家多年的審查.
個評: 採用了 ARM 安全方案的 Qualcomm 也曾爆出安全漏洞, 安全問題很難單以這樣陳述的方式簡單說明俱備優勢, 架構上 ARM 也未能從 Spectre 問題逃脫, 從重大事件上觀察, 可以知道 Linus 說的 "security problems are primarily "just bugs."" 其實是有道理的.

延伸閱讀:
有興趣了解 ARM 與這類 IP vendor 的商業模式, 可以參考 Anandtech 的這篇: "The ARM Diaries, Part 1: How ARM's Business Model Works" 文章, 特別是 page 3 的 Type of Licenses

在 ARM 平台上使用 Function Multi-Versioning (FMV) - 以使用 Android NDK 為例

Function Multi-Versioning (FMV) 過往的 CPU 發展歷程中, x86 平台由於因應各種應用需求的提出, 而陸陸續續加入了不同的指令集, 此外也可能因為針對市場做等級區隔, 支援的數量與種類也不等. 在 Linux 平台上這些 CPU 資訊可以透過...