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