眾所周知,使用 "現(xiàn)成 "處理器內(nèi)核的傳統(tǒng)設(shè)計方法存在局限性。傳統(tǒng)上,軟件工程師試圖使代碼適應(yīng)所選處理器硬件的限制。另一種方法是對硬件和軟件進行共同優(yōu)化,以創(chuàng)建定制計算解決方案,這一方案也可以定義為:"以軟件定義硬件"。
要實現(xiàn)這一愿景,業(yè)界面臨的一個挑戰(zhàn)是處理器設(shè)計技能的短缺。本文將詳細探討該行業(yè)的技能趨勢,以及如何解決現(xiàn)有技能與需求不匹配的問題。
定制計算的機遇
與眾不同的差異化產(chǎn)品是系統(tǒng)設(shè)計者追求的目標(biāo)。目前蘋果和特斯拉公司已經(jīng)證明,利用自己的SoC直接增加了終端產(chǎn)品的價值和市場估值。這扭轉(zhuǎn)了數(shù)十年來處理器內(nèi)核被整合為范圍越來越窄的處理器IP產(chǎn)品和供應(yīng)商的局面。
在同一時間段內(nèi),半導(dǎo)體的擴展速度大幅放緩,對于許多應(yīng)用而言,向更精細的新技術(shù)節(jié)點轉(zhuǎn)移的成本已經(jīng)高得令人望而卻步。其直接結(jié)果是,越來越多的公司希望設(shè)計出與計算工作量相匹配的各種專用處理單元。
而這種專業(yè)化趨勢的一個主要障礙是可用的處理器設(shè)計技能人才數(shù)量有限。
三十年前,有許多處理器架構(gòu)--即使是微處理器,也有x86、MIPS、SPARC、Z80和PowerPC可供選擇。在微控制器領(lǐng)域,許多IDM都有自己的架構(gòu)。這意味著需要很多處理器設(shè)計人員來支持各種可用的架構(gòu)。
15年前,x86主導(dǎo)了微處理器市場,Arm主導(dǎo)了不斷增長的移動電話應(yīng)用處理器市場,這些市場出現(xiàn)了一些整合。隨著專有架構(gòu)的衰落,Arm嵌入式內(nèi)核占據(jù)了大部分市場份額。結(jié)果是處理器開發(fā)工作減少,許多設(shè)計團隊從處理器設(shè)計轉(zhuǎn)向從少數(shù)IP供應(yīng)商那里選擇處理器產(chǎn)品。
處理器設(shè)計工程師的市場繼續(xù)萎縮,這導(dǎo)致學(xué)術(shù)界對處理器設(shè)計的興趣減少,具備處理器設(shè)計知識的大學(xué)畢業(yè)生逐漸減少。
如今,就在許多應(yīng)用出現(xiàn)對定制計算的需求時,處理器設(shè)計技能卻十分稀缺。那么行業(yè)該如何解決這種不匹配?
振興大學(xué)處理器設(shè)計專業(yè)
從中期來看,增加學(xué)習(xí)處理器設(shè)計的學(xué)生人數(shù)非常重要。Codasip致力于通過我們的大學(xué)計劃幫助教育機構(gòu)擴展課程。該項目旨在通過提供處理器設(shè)計自動化和課程材料,培養(yǎng)新一代處理器設(shè)計師。
從短期來看,設(shè)計自動化可以有效解決技能稀缺的問題。
處理器設(shè)計自動化
在過去30年的大部分時間里,處理器硬件設(shè)計一直以基于RTL的設(shè)計方法為主,并采用標(biāo)準(zhǔn)的EDA流程來驗證RTL代碼。軟件工具鏈的相應(yīng)開發(fā)通常獨立于RTL設(shè)計。通常,GNU或LLVM等開源工具鏈被用作起點。為了確保硬件和軟件路徑的兼容性,必須嚴格遵守所選擇的ISA。即使是擁有強大微架構(gòu)技術(shù)的公司也很少開發(fā)自己的ISA,而可能會從IP供應(yīng)商處購買昂貴的架構(gòu)許可。
與SoC上的其他數(shù)字塊不同,處理器必須同時考慮軟件和硬件的方方面面。孤立地開發(fā)硬件和軟件的效率很低,而且不能很好地分析折衷。
此時諸如Codasip Studio之類的處理器設(shè)計自動化工具,可以有效解決這一難題。Codasip Studio使用架構(gòu)語言(如CodAL)來描述處理器。這些工具根據(jù)相同的描述自動生成硬件設(shè)計和軟件工具鏈。這種方法允許快速進行架構(gòu)權(quán)衡,并確保硬件和軟件的一致性。
盡管有了處理器設(shè)計自動化,但只有少數(shù)團隊擁有創(chuàng)建新指令集和微體系結(jié)構(gòu)的技能組合。具有定制架構(gòu)的特定應(yīng)用指令集處理器(ASIP)很少被設(shè)計出來,因為很難在一個團隊中結(jié)合架構(gòu)、RTL設(shè)計、軟件工具鏈和應(yīng)用軟件知識。
RISC-V的出現(xiàn)改變了游戲規(guī)則。RISC-V有一個簡單的基本指令集,它解決了開發(fā)指令集的關(guān)鍵問題。其次ISA是模塊化的,這意味著它可以通過結(jié)合RISC-V可選的標(biāo)準(zhǔn)擴展和自定義指令來滿足特定軟件工作負載的需求。這種靈活性是商業(yè)專有架構(gòu)所無法比擬的,即使是可擴展的專有架構(gòu)也滿足不了這一點。
漸進式設(shè)計
解決技術(shù)短缺的另一種方法是避免設(shè)計整個內(nèi)核。如果RISC-V內(nèi)核在架構(gòu)語言中可用,那么就有可能通過簡單地設(shè)計 "delta",從基線設(shè)計中創(chuàng)建衍生設(shè)計。首先,可以創(chuàng)建定制指令,其次可以進行微體系結(jié)構(gòu)增強。
在密碼學(xué)、神經(jīng)網(wǎng)絡(luò)和DSP等應(yīng)用中,RISC-V定制指令可以顯著提高資源受限內(nèi)核的性能。要創(chuàng)建自定義指令,必須對軟件進行剖析,以確定計算瓶頸,然后設(shè)計新的自定義指令來解決這些瓶頸。
還通過添加微體系結(jié)構(gòu)特性,以改善輸入數(shù)據(jù)與處理器內(nèi)核之間的接口。一個這方面成功的例子是Codasip應(yīng)用團隊創(chuàng)建了一個先進先出寄存器鏈和權(quán)重存儲,以便在小型L31嵌入式內(nèi)核上高效地實現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)(CNN)。
與設(shè)計全新內(nèi)核相比,在現(xiàn)有內(nèi)核上增加某些功能所需的技能人才要求則很少。例如,嵌入式軟件開發(fā)人員熟悉剖析和分析計算瓶頸。這些開發(fā)人員同時可以設(shè)計新的指令,并對軟件工作量進行重新定位。而硬件設(shè)計人員能夠在現(xiàn)有內(nèi)核設(shè)計中增加增量架構(gòu)特性。
責(zé)任編輯:彭菁
-
處理器
+關(guān)注
關(guān)注
68文章
19265瀏覽量
229667 -
模塊
+關(guān)注
關(guān)注
7文章
2695瀏覽量
47433 -
硬件
+關(guān)注
關(guān)注
11文章
3315瀏覽量
66203
原文標(biāo)題:技能get - 如何提高定制計算的設(shè)計技能?
文章出處:【微信號:Codasip 科達希普,微信公眾號:Codasip 科達希普】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論