隨著對(duì)高性能處理器的需求不斷增長(zhǎng),半導(dǎo)體的縮放定律不斷顯示其極限,對(duì)處理器的優(yōu)化需求變得不可避免。正如我在之前的博客中解釋的那樣,RISC-V的設(shè)計(jì)就是為了實(shí)現(xiàn)這一點(diǎn)。然而,在處理器優(yōu)化方面沒(méi)有一個(gè)放之四海而皆準(zhǔn)的方法。由于每個(gè)工作負(fù)載和應(yīng)用程序都有自己的要求,因此優(yōu)化方法也因個(gè)體而異。我們可以在不同的層面上修改處理器IP,每一種都有自己的優(yōu)勢(shì)。在這篇博文中,讓我們來(lái)定義和探索處理器優(yōu)化的不同層次。從配置到定制,如何使用它們來(lái)創(chuàng)建滿足特定要求的優(yōu)化過(guò)的品質(zhì)處理器。
首先定義三個(gè)不同級(jí)別的處理器優(yōu)化,它們有著不同的優(yōu)勢(shì)和使用場(chǎng)景。所有三個(gè)級(jí)別不但不相互排斥,還可以將三者結(jié)合起來(lái),以實(shí)現(xiàn)PPA目標(biāo)。
3 levels of processor customization. Source: Codasip
配置:將標(biāo)準(zhǔn)內(nèi)核的RTL參數(shù)設(shè)置為預(yù)先定義的值
每個(gè)處理器IP都有一套可調(diào)整的、預(yù)先定義的參數(shù)。它們?cè)诮桓稌r(shí)有一個(gè)默認(rèn)值,該默認(rèn)值可以修改并設(shè)置為特定用例所需的值。大家通常可以在RTL級(jí)別設(shè)置并輕松修改這些參數(shù)。這種級(jí)別的優(yōu)化在業(yè)界非常普遍,而且廣泛傳播。這些參數(shù)可能包括中斷次數(shù),是否存在簡(jiǎn)單的功能或緩存的大小等。
在RTL級(jí)別的調(diào)整對(duì)于任何處理器IP來(lái)說(shuō)都是可以預(yù)期的,并且可以通過(guò)Codasip以RTL形式提供的標(biāo)準(zhǔn)Codasip RISC-V核來(lái)實(shí)現(xiàn)。該IP是經(jīng)過(guò)完全驗(yàn)證的,簡(jiǎn)化后的集成,但是參數(shù)的范圍和可能的值是有限的,探索空間也相對(duì)有限。
雖然這些參數(shù)是必要的,但不足以為特定需求創(chuàng)造一個(gè)真正獨(dú)特的差異化產(chǎn)品。原因是它們既是有限的選項(xiàng)集,同時(shí)也是在RTL層面的實(shí)現(xiàn)的,而RTL級(jí)別的實(shí)現(xiàn)是難以參數(shù)化的,這在業(yè)界眾所周知。因此,配置只能給予對(duì)最終設(shè)計(jì)的有限控制。
高級(jí)配置:結(jié)構(gòu)性變化以適應(yīng)設(shè)計(jì)
除了配置之外,還有高級(jí)配置可以運(yùn)用。在高級(jí)別配置上,這個(gè)概念看起來(lái)很相似。但我們的想法是啟用更大、更復(fù)雜的參數(shù),從而得到明顯差異化的RTL 。配置選項(xiàng)的例子包括:
1. 緩存和TCM的增加
2. 浮點(diǎn)單元的存在
3. 或分支預(yù)測(cè)器的存在
這種靈活性對(duì)于處理器IP來(lái)說(shuō)雖然不太常見(jiàn),但是可以使用Codasip IP來(lái)實(shí)現(xiàn)。所有的Codasip RISC-V內(nèi)核都是用一種叫做CodAL的高級(jí)語(yǔ)言設(shè)計(jì)的,并且可以用Codasip Studio設(shè)計(jì)自動(dòng)化進(jìn)行配置。只需從配置器GUI中選擇高級(jí)參數(shù),該工具就會(huì)自動(dòng)生成只包含自定義優(yōu)化配置的RTL。
處理器的CodAL源代碼可向用戶提供所有選項(xiàng)。然后,Codasip Studio工具將CodAL合成為RTL。
Codasip提供大量的CodAL配置選項(xiàng),也意味著客戶不需要任何關(guān)于CodAL的具體知識(shí)(盡管這種類似C語(yǔ)言的編程語(yǔ)言很簡(jiǎn)單和直接)。這中方法為實(shí)現(xiàn)特定應(yīng)用定制產(chǎn)品提供了保證。并完全可以從同一個(gè)源代碼中同時(shí)優(yōu)化硬件和軟件。
定制:更深層次的處理器IP優(yōu)化
更深層次的IP優(yōu)化實(shí)際上是設(shè)計(jì)師對(duì)IP的修改,以便為目標(biāo)應(yīng)用獲得更高的效率性能。這是定制計(jì)算的領(lǐng)域,也是Codasip提供的具有競(jìng)品優(yōu)勢(shì)的解決方案。其他IP供應(yīng)商可能會(huì)宣稱處理器也可以進(jìn)行定制,但如果沒(méi)有自動(dòng)化設(shè)計(jì)流程,這種期待只能停留在理論上,而且可定制范圍非常有限。
Codasip RISC-V內(nèi)核的定制意味著對(duì)IP進(jìn)行細(xì)粒度的修改,能夠在架構(gòu)和微架構(gòu)層面上修改需要的任何東西。可以增加或刪除指令,改變寄存器集或增加全新的功能或接口,而不僅僅是修改現(xiàn)有的參數(shù)。CodAL語(yǔ)言的使用使這些修改變得快速而簡(jiǎn)單。Codasip Studio的分析功能指出了需要改進(jìn)的潛在領(lǐng)域,并能非常快速地反饋應(yīng)用程序在這些修改后的表現(xiàn),這對(duì)快速迭代和獲得最佳結(jié)果至關(guān)重要。
Automated approach to custom compute. Source: Codasip
而從一個(gè)經(jīng)過(guò)完整驗(yàn)證的RISC-V內(nèi)核開(kāi)始,也使這個(gè)定制過(guò)程變得更快,并可以大大減少驗(yàn)證工作,而驗(yàn)證環(huán)節(jié)通常是設(shè)計(jì)項(xiàng)目中最耗時(shí)的任務(wù)。在Codasip Studio中用CodAL對(duì)Codasip RISC-V內(nèi)核進(jìn)行全面優(yōu)化,是為應(yīng)用獲得定制計(jì)算的一種實(shí)用方法。它最大的優(yōu)勢(shì)在于整個(gè)設(shè)計(jì)流程是自動(dòng)化的,而且該工具會(huì)自動(dòng)生成一個(gè)SDK和HDK,這些SDK和HDK并已知與定制內(nèi)核相匹配的相關(guān)。而不需要手動(dòng)來(lái)創(chuàng)建一切!
處理器優(yōu)化案例
可以想象一下,如果想為特定的機(jī)器學(xué)習(xí)工作負(fù)載優(yōu)化一個(gè)處理器,以卷積神經(jīng)網(wǎng)絡(luò)(CNN)為例。
隨著向設(shè)備級(jí)人工智能處理的重要轉(zhuǎn)變,在為物聯(lián)網(wǎng)應(yīng)用選擇SoC或MC時(shí),運(yùn)行人工智能/機(jī)器學(xué)習(xí)任務(wù)的能力成為必須具備的條件。但是嵌入式設(shè)備通常受到資源限制,因此很難在嵌入式平臺(tái)上運(yùn)行人工智能算法。
使用Codasip L31 RISC-V內(nèi)核和Codasip Studio,我們可以探索和定制處理器設(shè)計(jì),以提高其運(yùn)行機(jī)器學(xué)習(xí)算法時(shí)的效率。Codasip Studio中包含的剖析工具使設(shè)計(jì)者能夠比較標(biāo)準(zhǔn)內(nèi)核和優(yōu)化內(nèi)核的性能,突出神經(jīng)網(wǎng)絡(luò)定制指令的好處。
Our approach to processor optimization for ML workloads (use case). Source: Codasip
Codasipde的方法是在不同的層次上對(duì)處理器進(jìn)行調(diào)整:
我們?yōu)镸L工作負(fù)載優(yōu)化處理器的Codasip方法(使用案例):高級(jí)配置和定制
通過(guò)對(duì)圖像識(shí)別的基準(zhǔn)應(yīng)用進(jìn)行分析,我們用Codasip Studio工具證實(shí),圖像卷積是一個(gè)主要的瓶頸,占用了89%以上的CPU時(shí)間。不到200行的CodAL代碼足以實(shí)現(xiàn)一個(gè)緊密集成在Codasip L31內(nèi)核的卷積加速器。在對(duì)最大頻率影響不到10%的情況下,這種修改提供了大于5倍的性能提升和小于3倍的能耗。Codasip Studio自動(dòng)生成一個(gè)優(yōu)化的編譯器,在不改變軟件的情況下實(shí)現(xiàn)了效率的提高!
如果您對(duì)神經(jīng)網(wǎng)絡(luò)加速器技術(shù)白皮書(shū)感興趣,請(qǐng)移步該鏈接下載英文原版:https://codasip.com/papers/compact-nn-accelerator-in-codal-technical-paper/
各種處理器優(yōu)化方法相結(jié)合以求最佳結(jié)果
正如我們所說(shuō),在處理器優(yōu)化方面沒(méi)有一個(gè)放之四海而皆準(zhǔn)的方法。處理器IP修改可以在不同層面進(jìn)行,每個(gè)層面都可以帶來(lái)不同的優(yōu)勢(shì)。這種組合的相結(jié)合則能協(xié)助客戶在開(kāi)發(fā)獨(dú)特產(chǎn)品時(shí)實(shí)現(xiàn)最佳的PPA目標(biāo)。
審核編輯 :李倩
-
處理器
+關(guān)注
關(guān)注
68文章
19805瀏覽量
233537 -
內(nèi)核
+關(guān)注
關(guān)注
3文章
1410瀏覽量
41096 -
RISC-V
+關(guān)注
關(guān)注
46文章
2482瀏覽量
48268
原文標(biāo)題:RISC-V處理器優(yōu)化,不可依賴于放之四海而皆準(zhǔn)的方法。
文章出處:【微信號(hào):Codasip 科達(dá)希普,微信公眾號(hào):Codasip 科達(dá)希普】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
晶心科技推出突破性的RISC-V 27系列處理器及向量擴(kuò)展指令處理器
開(kāi)放性與碎片化,RISC-V能否撼動(dòng)處理器架構(gòu)的格局?
關(guān)于RISC-V和開(kāi)源處理器的一些解讀
學(xué)習(xí)RISC-V入門 基于RISC-V架構(gòu)的開(kāi)源處理器及SoC研究
RISC-V是什么?如何去設(shè)計(jì)RISC-V處理器?
RISC-V開(kāi)源處理器核介紹
優(yōu)化的關(guān)鍵,RISC-V中的性能監(jiān)控
RISC-V系列處理器的相關(guān)資料推薦
RISC-V工具鏈簡(jiǎn)介
香山處理器 RISC-V的典范
RISC-V是通用RISC處理器還是可定制的處理器?
美國(guó)芯片企業(yè)開(kāi)發(fā)出全球最快的64位Risc-V處理器
基于形式驗(yàn)證的高效RISC-V處理器驗(yàn)證方法
基于形式的高效 RISC-V 處理器驗(yàn)證方法

評(píng)論