在圣何塞舉行的年度TechCon大會上,Arm宣布了可以由客戶定制的自定義指令,這是其Armv8-M架構用于嵌入式CPU的一項新功能,嵌入式和物聯網應用程序。顧名思義,它使客戶能夠編寫自己定制的自定義指令,以加速他們的嵌入式和物聯網應用的特定用例。
“我們已經有了增加加速度的方法,但是還沒有深入到CPU的核心。ARM汽車和物聯網業務高級總監Thomas Ensergueix表示:“我們在這方面給予我們客戶的靈活性,可以編寫自己的指令,定義自己的指令,并由CPU執行。”
他指出,Arm有一系列加速選項,首先是它的內存映射架構,用于通過總線GPU以及神經處理器單元進行連接。這允許CPU和加速器并行運行,但是總線是瓶頸。客戶也可以選擇直接連接到CPU的協處理器,不過今天推出的自定義指令將允許客戶直接創建他們自己的加速算法,然后直接在CPU上運行。這意味著與內存映射解決方案相比可以獲取更低的延遲。
正如Arm所指出的,這種設置為集成客戶工作負載加速提供了最低成本(和風險)的途徑,因為它不會對影響到現有的CPU特性,并且仍然允許客戶使用他們已經熟悉的現有標準工具。
目前,自2020年上半年開始,自定義指令只能在Arm Cortex-M33 cpu上實現。后續它也會適用于未來所有的Cortex-M處理器。不需要為Arm的客戶支付額外的費用或購買新的許可證。
Ensergueix指出,隨著我們進入一個設備連接越來越多的世界,Arm的更多客戶將希望優化他們的處理器,以適應他們通常非常具體的用例,例如,通過創建定制指令,可以更多的減小功耗,以獲得更多的電池壽命。
Arm已經與眾多合作伙伴合作,以支持定制指令,這些客戶包括IAR Systems,恩智浦,Silicon Labs和意法半導體等。
恩智浦的Geoff Lees表示:“ Arm的新自定義指令功能使像恩智浦這樣的芯片供應商能夠為其客戶提供針對特定應用的全新指令優化,以提高性能,功耗和靜態代碼大小,以適應新興的嵌入式應用程序。”的微控制器。“此外,所有這些改進都在廣泛的Cortex-M生態系統中實現,因此客戶的現有軟件投資得以最大化。”
規格和功能
Arm自定義指令打開了實現定制數據處理操作的大門,而不會給軟件開發流程帶來復雜性。通過使用Armde 自定義指令芯片設計師可以在保證性能的前提下獲得更好的易用性和安全性。
Arm自定義指令可實現更高級別的優化,以滿足不斷增長的行業對工作負載特定計算的需求。Arm自定義指令功能包括:
Arm架構兼容
受符合Arm的標準軟件開發工具的支持,包括開源編譯器(例如GCC)
與處理器管道緊密耦合,為延遲和功耗敏感型應用帶來了最高的性能效率提升
與TrustZone技術兼容
Armv8-M架構的自定義指令說明
Armv8-M體系結構的 Arm自定義指令 使您可以通過在小型嵌入式處理器中添加特定于應用程序域的功能來進一步提高性能和效率,同時保持Arm的軟件生態系統的所有優勢。Arm自定義指令支持智能快速開發完全集成的自定義CPU指令,而不會造成軟件碎片。
Arm自定義指令允許您在Cortex-M33處理器內部添加可自定義的模塊,稱為配置空間。該模塊由預解碼指令驅動,并與CPU的標準算術邏輯單元(ALU)共享相同的接口。將自定義指令添加到可自定義的CPU需要兩個步驟:
提供一個配置文件,該文件列出了要用于添加自己的自定義指令的區域。
為您自己的自定義指令構建數據路徑,并將其集成到配置空間中。
配置空間可以實現以下Arm自定義指令格式之一,由Arm指令集體系結構定義:
更多內容可以到官網下載Arm自定義指令白皮書
https://developer.arm.com/architectures/instruction-sets/custom-instructions?from=timeline&isappinstalled=0