一種具有多工作模式的嵌入式可重構(gòu)處理器的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種具有多工作模式的嵌入式可重構(gòu)處理器,特別涉及一種在可重構(gòu)邏輯資源上利用采樣剖析技術(shù)獲取計(jì)算機(jī)程序運(yùn)行信息來修改處理器的指令集和硬件處理部件的處理器設(shè)計(jì)方法。
【背景技術(shù)】
[0002]嵌入式處理器設(shè)計(jì)需要兼顧性能和靈活性兩方面的因素,而可重構(gòu)指令集處理器(Reconfigurable Instruct1n Set Processors,RISP)被視作下一代的處理器架構(gòu)。它通過可編程邏輯器件,將處理器核與可重構(gòu)硬件邏輯結(jié)合,根據(jù)應(yīng)用程序特點(diǎn)適應(yīng)性地改變其硬件結(jié)構(gòu),優(yōu)化原有指令集和功能部件,從而在具有高靈活性的同時(shí)使應(yīng)用程序獲得最佳的執(zhí)行性能。
[0003]相比于傳統(tǒng)的嵌入式處理器,RISP基于專用指令集處理器(Applicat1nSpecific Instruct1n-set Processor,ASIP)的設(shè)計(jì)思想,更專注于對(duì)指令集的可重構(gòu)定制實(shí)現(xiàn)。其指令集一般分為兩個(gè)部分:I)固定的普通指令集。在處理器初始設(shè)計(jì)完成后不更改,用于完成一般的計(jì)算和控制任務(wù);2)擴(kuò)展的定制指令集。根據(jù)應(yīng)用特征的不同而變化,完成應(yīng)用中頻繁出現(xiàn)的、對(duì)系統(tǒng)性能有關(guān)鍵影響的計(jì)算任務(wù)。與ASIP不同的是,RISP的定制指令由處理器根據(jù)應(yīng)用特征動(dòng)態(tài)生成,所需的處理單元和數(shù)據(jù)通路也在可重構(gòu)硬件邏輯中動(dòng)態(tài)實(shí)現(xiàn)。RISP可被用作具有同一基本指令集的ASIP系列產(chǎn)品的快速原型系統(tǒng),隨著產(chǎn)品的不同應(yīng)用和技術(shù)成熟而改進(jìn)重構(gòu)其硬件結(jié)構(gòu),有效降低重設(shè)計(jì)帶來的成本代價(jià)。
[0004]與固定結(jié)構(gòu)的處理器設(shè)計(jì)方案相比,RISP具有更廣闊的應(yīng)用前景。固定結(jié)構(gòu)的設(shè)計(jì)方案在很多應(yīng)用領(lǐng)域無法獲得所要求的性能和設(shè)計(jì)成本的平衡,比如在應(yīng)用環(huán)境與特征不明的應(yīng)用場合,為其設(shè)計(jì)專用的處理硬件是十分低效的;而對(duì)于應(yīng)用中含有較多處理算法的情況,則需要定制很多的專用硬件來完成處理,所需要的設(shè)計(jì)代價(jià)也是難以接受的。而RISP的設(shè)計(jì)方案能夠有效應(yīng)對(duì)這些問題,因此,在目前以至將來很多應(yīng)用中,RISP會(huì)是其處理器架構(gòu)的第一選擇。
【發(fā)明內(nèi)容】
[0005]發(fā)明的目的在于克服現(xiàn)有技術(shù)之不足,提供一種具有多工作模式的嵌入式可重構(gòu)處理器,實(shí)現(xiàn)根據(jù)不同類型計(jì)算機(jī)程序的運(yùn)行情況,為其定制專門的處理指令和硬件執(zhí)行部件,提尚執(zhí)彳丁效率。
[0006]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:提供一種具有多工作模式的嵌入式可重構(gòu)處理器,包括通用處理核、指令譯碼器、可重構(gòu)陣列、配置控制器、配置信息存儲(chǔ)器、采樣剖析器、指令緩存、數(shù)據(jù)緩存、數(shù)據(jù)/地址總線接口及控制總線接口 ;
[0007]所述通用處理核包括執(zhí)行部件、寄存器組和數(shù)據(jù)選擇器;
[0008]所述可重構(gòu)陣列為帶有封裝接口的可重構(gòu)陣列,其封裝接口包括輸入緩沖接口、數(shù)據(jù)緩沖接口和輸出緩沖接口;
[0009]所述通用處理核的控制輸出端口通過單向控制線分別連接到指令譯碼器的控制輸入端口、配置控制器的控制輸入端口、數(shù)據(jù)/地址總線接口的控制輸入端口、控制總線接口的控制輸入端口以及可重構(gòu)陣列的封裝接口 ;
[0010]所述配置控制器的控制輸出端口通過單向控制線分別連接到配置信息存儲(chǔ)器的控制輸入端口、采樣剖析器的控制輸入端口以及可重構(gòu)陣列的封裝接口 ;
[0011]指令緩存的數(shù)據(jù)輸入端口通過單向數(shù)據(jù)線與數(shù)據(jù)/地址總線接口的數(shù)據(jù)輸出端口連接;指令緩存的數(shù)據(jù)輸出端口通過單向數(shù)據(jù)線連接到指令譯碼器的數(shù)據(jù)輸入端口;
[0012]指令譯碼器的數(shù)據(jù)輸出端口通過單向數(shù)據(jù)線分別連接到通用處理核的數(shù)據(jù)輸入端口、采樣剖析器的數(shù)據(jù)輸入端口以及可重構(gòu)陣列的封裝接口;
[0013]數(shù)據(jù)緩存的數(shù)據(jù)端口通過雙向數(shù)據(jù)線分別與數(shù)據(jù)/地址總線接口的數(shù)據(jù)端口、寄存器組的數(shù)據(jù)端口、采樣剖析器的數(shù)據(jù)端口、配置信息存儲(chǔ)器的數(shù)據(jù)端口互連;
[0014]配置信息存儲(chǔ)器的數(shù)據(jù)輸出端口通過單向數(shù)據(jù)線分別連接到采樣剖析器的數(shù)據(jù)輸入端口和可重構(gòu)陣列的封裝接口;
[0015]寄存器組的數(shù)據(jù)端口通過雙向數(shù)據(jù)線與可重構(gòu)陣列的封裝接口互連;
[0016]數(shù)據(jù)/地址總線接口通過雙向數(shù)據(jù)線連接到外部設(shè)備;
[0017]控制總線接口通過單向控制線對(duì)外連接到外部設(shè)備。
[0018]優(yōu)選的,這種具有多工作模式的嵌入式可重構(gòu)處理器是在單片F(xiàn)PGA芯片上實(shí)現(xiàn)的;所述采樣剖析器是利用FPGA的可編程邏輯資源配置實(shí)現(xiàn)的。
[0019]優(yōu)選的,所述具有多工作模式的嵌入式可重構(gòu)處理器的指令集包括普通指令和定制指令。
[0020]優(yōu)選的,所述普通指令在通用處理核上執(zhí)行,所述定制指令在可重構(gòu)陣列上執(zhí)行。
[0021]優(yōu)選的,所述具有多工作模式的嵌入式可重構(gòu)處理器的工作模式包括簡單模式、剖析模式和完整模式;所述簡單模式用于執(zhí)行普通指令;所述剖析模式用于指導(dǎo)定制指令的生成;所述完整模式用于執(zhí)行定制指令。
[0022]優(yōu)選的,所述的指令譯碼器對(duì)普通指令和需定制指令進(jìn)行指令分類判斷,如果為普通指令則進(jìn)入簡單模式,如果為定制指令則進(jìn)入剖析模式。
[0023]優(yōu)選的,所述簡單模式下的所有的指令都由通用處理核執(zhí)行,所述通用處理核通過配置控制器控制可重構(gòu)陣列和采樣剖析器不參與工作,其步驟為:
[0024]Al、指令譯碼器將接收到的普通指令進(jìn)行譯碼后存入通用處理核的寄存器組;.
[0025]A2、通用處理核的執(zhí)行部件調(diào)取寄存器組中的譯碼后的普通指令進(jìn)行執(zhí)行操作,然后將執(zhí)行后的指令存入數(shù)據(jù)緩存;
[0026]A3、通用處理核的數(shù)據(jù)選擇器對(duì)數(shù)據(jù)緩存進(jìn)行訪存操作,選取所需的指令寫回通用處理核的寄存器組中。
[0027]優(yōu)選的,所述剖析模式下的所有指令都由通用處理核執(zhí)行,所述通用處理核通過配置控制器控制可重構(gòu)陣列不參與工作,采樣剖析器參與工作,其步驟為:
[0028]B1、指令譯碼器將接收到的需定制指令進(jìn)行譯碼后傳輸至采樣剖析器;
[0029]B2、采樣剖析器對(duì)譯碼后的指令進(jìn)行剖析,并將剖析得到的配置信息保存到數(shù)據(jù)緩存,然后再保存到配置信息存儲(chǔ)器中;
[0030]B3、配置信息存儲(chǔ)器將需定制指令進(jìn)行編譯和優(yōu)化生成定制指令。
[0031]優(yōu)選的,所述完整模式下所述通用處理核通過配置控制器控制可重構(gòu)陣列和采樣剖析器參與工作,其步驟為:
[0032]Cl、指令譯碼器將接收到的定制指令進(jìn)行譯碼后發(fā)送到可重構(gòu)陣列的輸入緩沖接P ;
[0033]C2、可重構(gòu)陣列對(duì)接收到的譯碼后的定制指令進(jìn)行處理后通過其封裝接口的輸出緩沖接口寫回到通用處理核的寄存器組中。
[0034]優(yōu)選的,步驟Cl中,所述可重構(gòu)陣列接收到譯碼后的定制指令后判斷是否需要對(duì)陣列架構(gòu)進(jìn)行重構(gòu);如果判斷為否,則通用處理核直接執(zhí)行該定制指令,如果判斷為是,則配置控制器通過可重構(gòu)陣列封裝接口中的數(shù)據(jù)緩沖接口把配置信息存儲(chǔ)器中的配置數(shù)據(jù)發(fā)送到可重構(gòu)陣列,重新配置可重構(gòu)陣列的組成結(jié)構(gòu),然后再由通用處理核執(zhí)行相應(yīng)的定制指令。
[0035]本發(fā)明的有益效果是:
[0036]1.提高計(jì)算機(jī)程序的運(yùn)行性能:根據(jù)不同類型計(jì)算機(jī)程序的運(yùn)行情況,為其定制專門的處理指令和硬件執(zhí)行部件,極大地提高了執(zhí)行效率。
[0037]2.提高處理器的靈活性:通過配置過程和剖析過程,能使處理器靈活適應(yīng)不同類型計(jì)算機(jī)程序的運(yùn)行需求。
[0038]3.降低剖析計(jì)算機(jī)程序運(yùn)行情況的開銷:使用可配置的采樣剖析機(jī)制,較之全過程剖析機(jī)制能夠大大降低剖析開銷。
[0039]以下結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明;但本發(fā)明的一種具有多工作模式的嵌入式可重構(gòu)處理器不局限于實(shí)施例。
【附圖說明】
[0040]圖1是本發(fā)明的結(jié)構(gòu)框圖;
[0041]圖2是本發(fā)明的簡單模式的結(jié)構(gòu)框圖;
[0042]圖3是本發(fā)明的剖析模式的結(jié)構(gòu)框圖;
[0043]圖4是本發(fā)明的完整模式的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0044]實(shí)施例1
[0045]參見圖1所示,本發(fā)明的一種具有多工作模式的嵌入式可重構(gòu)處理器,實(shí)現(xiàn)根據(jù)不同類型計(jì)算機(jī)程序的運(yùn)行情況,為其定制專門的處理指令和硬件執(zhí)行部件,提高執(zhí)行效率。
[0046]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:提供一種具有多工作模式的嵌入式可重構(gòu)處理器,包括通用處理核1、指令譯碼器2、可重構(gòu)陣列4、配置控制器5、配置信息存儲(chǔ)器6、采樣剖析器7、指令緩存8、數(shù)據(jù)緩存9、數(shù)據(jù)/地址總線接口 10及控制總線接口 11 ;
[0047]所述通用處理核I包括執(zhí)行部件101、寄存器組102和數(shù)據(jù)選擇器103 ;
[0048]所述可重構(gòu)陣列4為帶有封裝接口 3的可重構(gòu)陣列4,其封裝接口包括輸入緩沖接口 301、數(shù)據(jù)緩沖接口 302和輸出緩沖接口 303 ;
[0049]所述通用處理核I的控制輸出端口通過單向控制線分別連接到指令譯碼器2的控制輸入端口、配置控制器5的控制輸入端口、數(shù)據(jù)/地址總線接口 10的控制輸入端口、控制總線接口 11的控制輸入端口以及可重構(gòu)陣列4的封裝接口 3 ;
[0050]所述配置控制器5的控制輸出端口通過單向控制線分別連接到配置信息存儲(chǔ)器6的控制輸入端口、采樣剖析器7的控制輸入端口以及可重構(gòu)陣列4的封裝接口 3 ;
[0051]指令緩存8的數(shù)據(jù)輸入端口通過單向數(shù)據(jù)線與數(shù)據(jù)/地址總線接口 10的數(shù)據(jù)輸出端口連接;指令緩存8的數(shù)據(jù)輸出端口通過單向數(shù)據(jù)線連接到指令譯碼器2的數(shù)據(jù)輸入端口 ;
[0052]指令譯碼器2的數(shù)據(jù)輸出端口通過單向數(shù)據(jù)線分別連接到通用處理核I的數(shù)據(jù)輸入端口、采樣剖析器7的數(shù)據(jù)輸入端口以及可重構(gòu)陣列4的封裝接口 3 ;
[0053]數(shù)據(jù)緩存9的數(shù)據(jù)端口通過雙向數(shù)據(jù)線分別與數(shù)據(jù)/地址總線接口 10的數(shù)據(jù)端口、寄存器組102的數(shù)據(jù)端口、采樣剖析器7的數(shù)據(jù)端口、配置信息存儲(chǔ)器6的數(shù)據(jù)端口互連;
[0054]配置信息存儲(chǔ)器6的數(shù)據(jù)輸出端口通過單向數(shù)據(jù)線分別連接到采樣剖析器7的數(shù)據(jù)輸入端口和可重構(gòu)陣列4的封裝接口 3 ;
[0055]寄存器組102的數(shù)據(jù)端口通過雙向數(shù)據(jù)線與可重構(gòu)陣列4的封裝接口 3互連;
[0056]數(shù)據(jù)/地址總線接口 10通過雙向數(shù)據(jù)線