蘋果也來湊熱鬧,能否補齊RISC-V的短板?_風聞
歪睿老哥-芯片研发工程师-聚焦芯片行业的那些事,唯武侠与芯片不可辜负2021-09-10 14:59
蘋果最近開始了RISC-V工程師的招聘,作為ARM架構的擁躉,蘋果也要開始做兩手準備了。
目前ARM可能將被NVIDIA收購,雖然NVIDIA一再保證,ARM會獨立運行,但是作為CPU架構應用方,多留一手還是非常有必要的。

蘋果的RISC-V招聘需求裏面描述,搞RISC-V是為了支持機器學習、視覺算法、信號和視頻處理等方面的必要計算。通過緊密集成軟件和硬件,推動底層計算的技術水平,最後達到高能效和高性能。
目前蘋果有包括 iOS、macOS、watchOS 和 tvOS 的各種嵌入式子系統。目前通過已有的信息綜合來看,蘋果的RISC-V將來大概率是用在的手錶等智能穿戴設備上。
如何滿足這些蘋果設備對CPU處理能力的需求?
蘋果在招聘中明確指出,應聘者應該具備RISC-V和 NEON的技術能力。
RISC-V和ARM的NEON,是不是有點奇怪。
RISC-V和NEON本身沒有什麼關係,一個是RISC-V指令系統,另一個是ARM的技術架構。
但是這個需求透露了蘋果的野心,也暴露了目前RISC-V的短板,那就是RISC-V缺乏SIMD的指令集。
NEON是一種SIMD(單指令多數據)加速器處理器,作為ARM內核的一部分。這意味着在執行一條指令期間,最多可並行處理16個數據集。由於NEON內部存在並行性。它還可以並行執行單精度浮點(浮點)運算。NEON技術可加速多媒體和信號處理算法(如視頻編碼/解碼、2D/3D 圖形、遊戲、音頻和語音處理、圖像處理技術、電話和聲音合成。
GPU則是另一種SIMD架構,GPU內部基本上包含執行大量SIMD計算的核心。因此可以大大提高了圖形性能能力。
但是,如果SIMD這麼好用,為什麼RISC-V放棄它並進行向量處理呢?
RISC-V雖然沒有添加SIMD指令集擴展,但是添加了Vector指令集擴展。
自1978年以來,IA-32指令集已從80條增加到大約1400條,主要是由SIMD推動的。因此,x86和ARM的規範和手冊非常龐大。
相反,最重要的RISC-V指令的概述可以在在一張雙面紙上寫完。
大道至簡。
除此之外,RISC-V的設計者希望有一個實用的CPU指令集,簡單有效,並且經典。而SIMD的指令,每隔幾年就會有新的發展,變化很大,就會越來越臃腫。
這個是本質的區別。
RISC-V通過擴展Vector指令集,可以支持向量處理,從而可以作為一個向量處理器(VFP)來使用,即通過Vector指令集擴展實現高效的計算,可以有效應對如機器學習、計算器視覺、多媒體應用等。
RISC-V實現向量處理器(VFP),架構設計也更加精簡,和現有CPU的深度流水線設計深度融合,並且資源可以重複利用,其編譯的指令條目也比較少。
ARM的也有類似的機制,向量處理的VFP,這是是一種經典的浮點硬件加速器。它並不是SIMD。基本上它對一組輸入執行一個操作並返回一個輸出。它的目的是加快浮點計算。
向量處理器通過流水來增加性能,SIMD通過並行來增加性能。
VFP通常一次能計算一個,而SIMD通常一次能計算很多。

向量處理器(VFP)就像跑車,可以跑的很快,而SIMD就像卡車,可以一次裝的很多,是一個重量級的解決方案,從芯片面積上來看,SIMD也比VFP更大一下,當然,頻率也更慢一些。

蘋果目前招聘RISC-V還要懂NEON,這個就需要在RISC-V的-V擴展指令(VFP)和SIMD(NEON)上來平衡了
就像《讓子彈飛》中“讓”學裏描述的那樣。
RISC-V 的Vector向量擴展能不能解決搞機器學習?能,效率低。
NEON(SIMD)能不能搞機器學習?能,面積大。
那麼RISC-V加NEON二者融合優化,能不能解決問題。
敢問大哥何方神聖?
鄙人,蘋果!