《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 業(yè)界動(dòng)態(tài) > RISC-V 自定義指令如何保持軟件的兼容性?

RISC-V 自定義指令如何保持軟件的兼容性?

2019-10-12
關(guān)鍵詞: RISC-V 自定義指令

  RISC-V ISA(指令集架構(gòu))是以模塊化方式設(shè)計(jì)的。這意味著ISA有幾組指令(ISA擴(kuò)展),可以根據(jù)需要啟用或禁用。這允許精確地實(shí)現(xiàn)應(yīng)用程序所需的指令組,而無(wú)需為沒(méi)有使用到的區(qū)域提供額外的功耗。其中有一點(diǎn)相當(dāng)重要,設(shè)計(jì)人員可以為他們想要加速的應(yīng)用程序添加所需的任何指令。這是一個(gè)強(qiáng)大的功能,因?yàn)樗粫?huì)破壞任何軟件兼容性,同時(shí)為新的發(fā)明和差異化留出空間。

  RISC-V指令集架構(gòu)被設(shè)計(jì)為在基本指令集的基礎(chǔ)上擴(kuò)展出更多的指令。你可以隨意混合搭配。例如,可能有一個(gè)實(shí)現(xiàn)最小值的RISC-V處理器,或者一個(gè)實(shí)現(xiàn)所有ISA擴(kuò)展的RISC-V處理器,這取決于設(shè)計(jì)需求。下表列出了已被RISC-V基金會(huì)批準(zhǔn)的主要ISA擴(kuò)展,以及目前正在開發(fā)的ISA擴(kuò)展。

360截圖20191012223244653.jpg

  隨著更多ISA擴(kuò)展的添加,上表的內(nèi)容將會(huì)逐步被擴(kuò)展到更多。但是如果這些基本擴(kuò)展依然不能滿足客戶需求時(shí),就需要采用RISC-V規(guī)范允許添加自定義指令擴(kuò)展。這可能是公司的“秘密武器”和一個(gè)關(guān)鍵的區(qū)別。

  大家一定會(huì)有疑問(wèn),為什么采用了自定義指令依然可以保持軟件的兼容性?

  由于RISC-V生態(tài)系統(tǒng)的特性,定制ISA擴(kuò)展需要不會(huì)破壞與主要規(guī)范的一致性;即使有額外的指令,您的處理器仍然完全符合RISC-V,并且可以運(yùn)行來(lái)自生態(tài)系統(tǒng)的通用軟件堆棧。這就需要通過(guò)軟件架構(gòu)來(lái)協(xié)同實(shí)現(xiàn)。

  圖1顯示了自定義ISA擴(kuò)展如何適合于軟件堆棧。

640.webp (2).jpg

  圖1

  在最底層上,有一個(gè)與RISC-V兼容的處理器和一個(gè)定制的ISA擴(kuò)展。中間一層它運(yùn)行一個(gè)操作系統(tǒng),它可以用任何與標(biāo)準(zhǔn)RISC-V處理器兼容的編譯器編譯(沒(méi)有特殊的ISA擴(kuò)展)。除了操作系統(tǒng)之外,還有三個(gè)應(yīng)用程序。App1是一個(gè)不需要任何加速的通用應(yīng)用程序。您可以使用公開可用的現(xiàn)成編譯器(例如GCC)來(lái)編譯它,甚至可以使用預(yù)編譯的應(yīng)用程序;RISC-V處理器將能夠直接運(yùn)行它。App2和App3是需要盡可能快地運(yùn)行的重要應(yīng)用程序。這些必須由專門配置了定制ISA擴(kuò)展的編譯器來(lái)編譯。編譯器可以利用新的自定義指令來(lái)加速App2和App3

  圖2顯示了另一個(gè)具有定制ISA擴(kuò)展的RISC-V兼容處理器示例。App1使用基本指令集,沒(méi)有使用定制的ISA擴(kuò)展。App2和App3使用通用API。這個(gè)API是由一個(gè)支持定制ISA擴(kuò)展的庫(kù)來(lái)實(shí)現(xiàn)的,它同樣可以加速App2和App3。App2和App3都可以在現(xiàn)成的RISC-V處理器中重用。所需要的只是實(shí)現(xiàn)所需API的庫(kù)。在這個(gè)系統(tǒng)中,將帶有自定義ISA擴(kuò)展的App2和App3從RISC-V遷移到?jīng)]有擴(kuò)展的RISC-V是很容易的,并且不需要做任何應(yīng)用程序移植的工作。

  圖2

640.webp (1).jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。