>移動處理器>文章詳情
瑞彩祥云
  • 浪劍客
  • |
  • 2019年10月09日 19:50

今天(10月9日)凌晨,在美国加利福尼亚州圣何塞举行的ARM TechCon 2019会议上,ARM首次宣布将在部分ARMv8 Cortex-M系列CPU内核当中引入自定義指令功能,即客户能够编写自己的定制指令来加速其特定用例、嵌入式和物联网应用程序。

.

引入自定義指令功能

衆所周知,目前ARM陣營的芯片設計廠商僅有少數芯片設計廠商有購買ARMv8指令集授權來自行設計CPU內核,比如蘋果的A系列處理器的CPU、華爲的鲲鵬系列處理器的CPU等。

但是,絕大多數的芯片設計廠商都是采用的ARM已經設計完成的內核IP,即外界常說的公版內核,各項性能指標都是已經完全定型了的。

那麽在已經定型了的CPU內核的基礎上做加速,只能是依靠提升制程工藝來進一步允許主頻的提升,或者是依靠處理器當中的其他內核,比如GPU、DSP、NPU等,但他們都是依靠總線來與CPU並行連接和交換數據的。

以CPU和GPU爲例,它們之間通過系統總線交換數據的步驟如下:

“第一步:CPU從文件系統裏讀出原始數據,分離出圖形數據,然後放在系統內存中,這個時候GPU在發呆。

第二步:CPU准備把圖形數據交給GPU,這時系統總線上開始忙了,數據將從系統內存拷貝到GPU的顯存裏。

第三步:CPU要求GPU開始數據處理,現在換CPU發呆了,而GPU開始忙碌工作。當然CPU還是會定期詢問一下GPU忙得怎麽樣了。

第四步:GPU開始用自己的工作間(GPU核心電路)處理數據,處理後的數據還是放在顯存裏面,CPU還在繼續發呆。

第五步:圖形數據處理完成後,GPU告訴CPU,我忙完了,准備輸出或者已經輸出。于是CPU開始接手,讀出下一段數據,並告訴GPU可以歇會了,然後返回第一步。”

可以看到,其他內核通過內存映射與CPU進行數據交換,都會遇到一個問題,那就是處理器的加速始終是受到總線速度的影響,並且會出現一定的延遲。

當然,芯片設計廠商也可以選擇直接連接到CPU的協處理器的解決方案,但是畢竟是兩個獨立的模塊,數據交換也存在著延遲。

.

而ARM在CPU内核当中引入自定義指令功能,则意味着,芯片设计厂商可以创建自己的加速算法,然后直接在CPU上运行,不需要像内存映射解决方案那样,需要通过总线来并行运行,所以可以在一定程度上进行加速,并进一步降低延迟。

ARM表示,ARM自定义指令是采用安全的ARM TrustZone技术的ARMv8-M架构演变的一部分,將成爲ARM芯片合作夥伴創新的基礎。通過將他們獨特的用于特定應用的加速算法添加到Cortex-M33等CPU中,將使得芯片設計人員有機會進一步提高性能和效率。

“自定义指令功能是一种可以增加加速度的方法,虽然还没有深入到CPU更核心的部分,但是为‘我们的客户’提供了更高的灵活性,客户可以编写自己的指令,定义自己的指令,并由CPU来执行这些指令。”ARM汽车和物联网业务高级总监Thomas Ensergueix说到。

此外,Thomas Ensergueix还指出,随着连接设备越来越多,更多ARM的客户将希望针对其非常特定的用例优化其处理器,通过创建自定义指令将可帮助他们更容易的实现性能和效率的提升,同时使得这些设备获得更长的续航。

ARM還表示,自定義指令的加入,爲處理器保留了編碼空間,以便設計人員可以輕松添加自定義數據路徑擴展,可以針對特定應用領域的計算做出優化。

同时还可保持现有软件生态系统的完整性。此功能与现有的协处理器接口一起使Cortex-M33 CPU可以使用针对机器学习(ML)和人工智能(AI)等边缘计算用例进行了优化的各种类型的加速器进行扩展。

正如ARM所言,自定義指令的加入,爲集成客戶工作負載加速提供了最低成本和低風險的途徑,因爲現有CPU功能沒有大的改變,並且仍允許其客戶使用他們已經使用的現有標准工具。

ARM首席执行官Simon Segars也表示:“添加此功能后,我们也对如何支持工具流程进行了很多思考。”“这将使所有人都能更快地行动起来。”

而为了推动客户采用新的设计,ARM表示,从2020年开始,使用Cortex-M33内核及之后的Cortex-M CPU内核系列的所有客户都可以免费使用自定义指令功能。

客戶紛紛表態認可

目前,ARM已经与多家合作伙伴开始了基于支持自定义指令的处理器的研发,其中就包括IAR Systems,NXP,Silicon Labs和STMicroelectronics。

IAR Systems总裁兼首席执行官Stefan Skarin表示:“ SoC供应商通常需要优化的工具来扩展其设计功能,而又不影响安全性,安全性或现有的开发工具投资(例如IAR Embedded Workbench)。” “自定义指令为他们提供了一种简单但功能强大的机制,可满足他们的独特要求,同时保持已存在流程的完整性和效率。”

恩智浦的Geoff Lees,SVP和GM表示:“ ARM的自定义指令功能使像恩智浦这样的芯片供应商能够为客户提供针对特定应用的指令优化,以提高性能,降低功耗和静态代码大小,以适应新兴的嵌入式应用。”“此外,所有这些改进都在广泛的Cortex-M生态系统中实现,因此客户的现有软件投资得以最大化。”

爲什麽是Cortex-M系列?

前面我們有提到,自定義指令的優勢主要是,芯片設計廠商可創建自己的加速算法,直接在CPU上運行,不需要像內存映射解決方案那樣,需要通過總線來並行運行,所以可以在一定程度上進行加速,並進一步降低延遲。

那麽爲何ARM率先將自定義指令引入到Cortex-M33及後續Cortex-M系列CPU內核當中,而並沒有將其引入到Cortex-A系列內核當中呢?

我们都知道ARM Cortex-M系列CPU内核主要应用于对性能要求相对较低、对于功耗和成本要求较高的应用领域,目前在物联网领域应用非常的广泛。

Cortex-A系列内核虽然功耗较高,但是性能也较高,目前手机、平板等对于性能要求较高的处理器,大都是基于ARM Cortex-A系列CPU内核(数据显示,全世界超过95%的智能手機和平板电脑都是基于ARM架构的CPU内核),并且同时还会集成GPU、DSP内核,甚至NPU等专用AI内核。因为,相对于图形及AI计算来说,CPU并不是最佳的载体。而在CPU当中加入自定义指令所带来的性能的提升,相比加入GPU/DSP/NPU等内核所带来的性能提升要小很多,虽然后者的功耗和成本也大幅提升了,但并不像大多数物联网设备那么敏感。

所以,我們不難看出,在CPU當中加入自定義指令功能,對于Cortex-M系列CPU內核所對應的物聯網應用領域幫助更大。因爲大多數的微控制當中可能只有Cortex-M系列CPU內核。

這也意味著,CPU自定義指令功能的加入,可以在無需增加其他的內核,不增加成本和功耗的前提下,幫助客戶實現性能的提升(主要是AI性能)。

雖然目前不少的MCU在采用Cortex-M內核的同時,也開始加入了2D的GPU處理單元、DSP內核等,來提升性能,但同時也帶來了成本和功耗的大幅提升。而CPU自定義指令的功能的加入,則可以在成本和功耗不變的基礎上,進一步提升性能。

如果在CPU當中加入自定義指令的功能,所帶來的性能的提升,即可滿足客戶的需求,那麽則意味著客戶無需再去集成其他的內核,成本和功耗將進一步得到降低。

当然,如果Cortex-A系列处理器如果也能够引入自定義指令功能,那么也将是一个很好的助力,不过考虑到ARM Cortex-A系列在手机市场的强势地位,以及ARMv8指令集授权的存在,再加上ARM也将推自己的AI IP内核,这一块可能没那么容易。

此舉是爲應對RISC-V的挑戰?

对于ARM来说,受益于其在移动互联网时代所采取的IP授权的模式以及与开放的安卓系统的结合,ARM架构的处理器已经成为了以智能手機为代表的移动互联网设备的标配。经过多年的发展,ARM在移动互联网领域的生态早已是根深蒂固。

但是,隨著物聯網時代的到來,由于物聯網設備品類繁多、應用廣泛,市場非常的碎片化,而且很多物聯網設備本身即是“操作系統”,即是“應用”,原本在移動互聯網設備上極爲重要的操作系統、APP,到物聯網設備上已變得不再重要。而這也直接導致了物聯網處理器芯片的架構出現了百花齊放的局面。ARM固有的強大的生態優勢放在物聯網市場也不再是不可動搖。

特別是近兩年來,RISC-V架構的興起,在物聯網市場對于ARM發起了強有力的挑戰。

因爲RISC-V架構是一種開源的處理器架構,因此芯片設計廠商可以免費使用RISC-V架構,不需要像使用ARM的處理器IP那樣,需要一筆不菲的授權費。而且,傳統的ARM處理器IP通常是不允許做擴展的,但是RISC-V則可以方便的進行擴展。

這種可擴展可定制化的特點對于場景驅動、性能功耗需求各不相同的AIoT芯片特別重要。顯然,對于物聯網芯片設計廠商來說,使用RISC-V架構來做AIoT芯片,不僅可以更加的自主可控,還能夠更加的靈活,成本也將更低。

由于开源、免费、精简、模块化及可扩展等优点,RISC-V架构受到了全球众多芯片设计厂商的关注,特別是在国内市场,在“自主可控”、“国产替代”趋势之下,RISC-V更是备受追捧。

目前國內的平頭哥、兆易創新、華米、樂鑫、芯來、格蘭仕等衆多廠商都有推出基于RISC-V架構的芯片,此外華爲也在積極的研發基于RISC-V架構的芯片。

根据市场研究机构IP Nest此前发布的IP市场分析报告显示,2018年全球最大的IP提供商ARM的营收出现了3%的下滑(2017年下滑了6.8%)。IP Nest认为其中一个主要原因应该是来自于开源的RISC-V架构的冲击。

.

不過,需要指出的是,雖然RISC-V來勢洶洶,但是其在高性能這塊與ARM的Cortex-A系列內核仍有較大差距,其優勢更多還是在于免費、低功耗、易擴展等,這也使得目前RISC-V的應用生態主要集中在物聯網領域。對于ARM的威脅也主要是在物聯網市場。

對此,ARM也針對性的采取了一些措施。

今年7月,ARM调整了芯片设计授权费的收费模式,推出了全新的ARM Flexible Access业务模式。通过ARM Flexible Access模式,如果芯片制造商使用ARM的一种设计方案投产芯片,那么他们每年需要支付7.5万美元的费用;如果他们每年支付20万美元,那么就可以获得不限数量的芯片设计方案。只有在芯片开始生产时,他们才需要支付授权费和专利费。

不过,需要指出的是,在这个IP包当中,CPU IP只包含了Cortex-A53/A35/A34/A32/A7/A5,Cortex-R52/R8/R5,Cortex-M0/M0+/M3/M4/M7/M23/M33等。

可以看到,高性能的Cortex-A系列處理器並未包含在其中,包括在其中的Cortex-A53/A35/A34/A32/A7/A5均可適用于物聯網市場。而主要針對于物聯網市場的Cortex-M系列IP基本都囊括在其中。

顯然,ARM的“下調IP授權費”之舉主要針對的正是物聯網市場,主要應對的也正是免費開源的RISC-V架構在物聯網市場對于ARM的沖擊,提升自身産品在物聯網市場的競爭力。

同樣,筆者也認爲,ARM將自定義指令功能引入Cortex-M33及後續Cortex-M系列CPU內核當中,也正是應對RISC-V架構在物聯網市場對于ARM的沖擊,彌補自身CPU內核在可擴展性上的劣勢,以適應物聯網市場對于AIoT的需求。

国外Insight64的分析师Nathan Brookwood也表示,自定义指令似乎是对RISC-V的一种竞争性回应,RISC-V也允许在其架构中使用定制指令。这次ARM在客户的压力下提供了类似的功能。

Moor Insights&Strategy分析师Patrick Moorhead也在一封电子邮件中也表示:RISC-V的可扩展性是非常有吸引力的。现在,ARM已在最需要的领域(如物联网和较低级别的控制器)中添加了这些功能。并且可以在同一工具链中使用,这是一个很大的好处。”

另外值得一提的是,ARM今天还宣布将为Mbed OS建立一种治理模型。Mbed OS是用于运行ARM Cortex-M芯片的嵌入式设备的开源操作系统。Mbed OS一直是开源的,但是Mbed OS合作伙伴治理模型将使ARM的Mbed硅合作伙伴在如何通过每月产品工作组会议等工具开发OS方面拥有更多发言权。诸如Analog Devices,Cypress,Nuvoton,NXP,Renesas,Realtek,Samsung和u-blox之类的合作伙伴已经参加了该小组。

顯然,为了争夺物联网市场,ARM正在全方位的提升产品竞争力,同时加速生态布局,以回击RISC-V的挑战。

.


文章出處:芯智訊

糾錯

發表評論
熱門評論
查看全部0條評論
相關閱讀