美國的Pixilica已與RV64X合作,,提出了一套新的圖形指令集,,旨在融合CPU-GPU ISA,并將其用于3D圖形和媒體處理,從而為FPGA創(chuàng)建了開源參考實(shí)現(xiàn)。
RV64X的參考實(shí)現(xiàn)包括了指令/數(shù)據(jù)SRAM緩存(32KB),,微碼SRAM(8KB),雙功能指令解碼器,,實(shí)現(xiàn)RV32V和X的硬連線,,用于自定義ISA的微碼指令解碼器,四向量ALU( 32位/ ALU –固定/浮動),,136位寄存器文件(1K元素),,特殊功能單元,紋理單元和可配置的本地幀緩沖區(qū),。
該實(shí)現(xiàn)的設(shè)計(jì)足夠靈活,,因此可以實(shí)現(xiàn)自定義pipeline階段,自定義幾何/像素/幀緩沖階段,,自定義細(xì)分器和自定義實(shí)例化操作。通過定制的可編程性和可擴(kuò)展性對該實(shí)現(xiàn)進(jìn)行了優(yōu)化,,使其體積小巧且面積小,。
Europena工具開發(fā)商Codasip的高級市場總監(jiān)Roddy Urquhart說,這是RISC-V生態(tài)系統(tǒng)的優(yōu)勢之一,。
他說:“ RV64X GPU對于R5生態(tài)系統(tǒng)而言是一次了不起的勝利,。” Codasip的Roddy Urqhart表示:“如果要?jiǎng)?chuàng)建特定于域的處理器,,關(guān)鍵活動之一就是選擇符合您軟件需求的指令集架構(gòu)(ISA),?!?/p>
“有些公司是從頭開始創(chuàng)建指令集的,但是如果您有這樣的ISA,,則可能要付出移植軟件的代價(jià),。今天,RISC-V開放式ISA可以提供一個(gè)很好的起點(diǎn)和一個(gè)軟件生態(tài)系統(tǒng),,”他說,。
RISC-V ISA以模塊化的方式設(shè)計(jì),使處理器設(shè)計(jì)人員不僅可以添加任何標(biāo)準(zhǔn)擴(kuò)展,,還可以創(chuàng)建自己的自定義指令,,同時(shí)保持完全的RISC-V兼容性。
他僅用47條指令就指出了RISC-V(RV32I)的基本ISA,。使用此基礎(chǔ)集比創(chuàng)建具有類似功能的專有指令要容易得多,,并且意味著該軟件已經(jīng)可以從RISC-V生態(tài)系統(tǒng)中獲得。
許多用例需要乘法,,這表明[M]擴(kuò)展會有用,,并且利用16位壓縮[C]指令來提高代碼密度是明智的,因此通常使用數(shù)量為101條指令的RV32IMC集,。
使用RISC-V作為起點(diǎn)將確保直接使用通用軟件(例如RTOS或協(xié)議棧)即可,。如果您還需要浮點(diǎn)計(jì)算,那么RV32GC(G = IMAFD)指令可能是合適的,,此外還包括原子[A],,單精度浮點(diǎn)[F]和雙精度浮點(diǎn)[D]擴(kuò)展。甚至RV32GC也只有164條指令,。
由于易于使用,,因此標(biāo)準(zhǔn)擴(kuò)展名是一個(gè)方便的選擇。但是,,有些可能會大大增加指令集的復(fù)雜性,。例如,打包的SIMD擴(kuò)展的完整集合[P]添加了331條附加指令,。在許多情況下,,可以使用定制指令為特定應(yīng)用提供足夠的增益,而潛在的硅面積和功耗開銷則更低,。
“為特定領(lǐng)域的處理器選擇了起點(diǎn),,然后有必要弄清楚需要哪些特殊指令來滿足您的計(jì)算要求。這需要仔細(xì)分析您需要在處理器核心上運(yùn)行的軟件,。概要分析工具可以識別計(jì)算熱點(diǎn),,一旦知道了這些熱點(diǎn),設(shè)計(jì)人員就可以創(chuàng)建自定義指令來解決這些熱點(diǎn),”他說,。
這使設(shè)計(jì)人員可以通過嘗試添加或刪除指令,,然后再次對軟件進(jìn)行性能分析以及評估更改是否實(shí)現(xiàn)了目標(biāo)來進(jìn)行迭代。這可以在開源指令集模擬器和工具鏈(例如GNU或LLVM)中完成,,但是手工修改這些工具對于工具鏈專家來說是一件很麻煩的事情,。
另一種方法是使用處理器描述語言描述指令集?!霸贑odasip Studio中,,可以使用CodAL處理器描述語言創(chuàng)建處理器的指令精確(IA)模型??梢詮囊韵挛恢米詣由砂ň幾g器,,指令集模擬器(ISS),調(diào)試器和分析器的SDK”,,Urquhart說,。
通過高級別描述ISA并自動生成SDK,可以快速迭代實(shí)驗(yàn)以擴(kuò)展指令集,。這樣,,可以為特定于域的處理器(有時(shí)稱為專用指令處理器(ASIP))選擇經(jīng)過充分優(yōu)化的ISA。與手動更改相比,,自動生成SDK不僅更快,,而且更不容易出錯(cuò),這意味著設(shè)計(jì)過程更便宜,,更可預(yù)測,,從而避免了不必要的風(fēng)險(xiǎn)和路線圖中斷。