本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別涉及一種處理器。
背景技術(shù):
由于信息技術(shù)的快速發(fā)展,信息安全的重要性與日俱增。要保證信息的安全,必須確保處理器的安全性。安全處理器是信息安全領(lǐng)域的關(guān)鍵技術(shù)。
目前的安全處理器,主要是通過運行加密算法軟件來實現(xiàn)處理器的安全處理。但是這種加密算法被破解的幾率較大,且加密算法的實現(xiàn)大大降低了處理器的整體性能,隨著實際當(dāng)中對數(shù)據(jù)處理速率的要求越來越高,簡單的用加密算法軟件來保證處理的安全已無法滿足實際需求。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明提供了一種處理器,以全部或部分地解決上述問題。
本發(fā)明提供的一種處理器包括:指令隊列存儲區(qū)、配置信息存儲區(qū)、譯碼控制單元、顯式譯碼器和隱式譯碼器;
指令隊列存儲區(qū)用于存儲待譯碼的指令隊列;
配置信息存儲區(qū)用于存儲譯碼約束信息;
譯碼控制單元用于在每個譯碼周期開始時,從指令隊列存儲區(qū)中讀取多條指令作為當(dāng)前譯碼周期的顯式指令,并控制顯式譯碼器根據(jù)配置信息存儲區(qū)中的譯碼約束信息對顯式指令進行譯碼;
在當(dāng)前譯碼周期結(jié)束時將顯式指令中被顯式譯碼器譯碼剩余的指令作為下一個譯碼周期的隱式指令,在下一個譯碼周期控制隱式譯碼器對隱式指令進行譯碼;
顯式譯碼器用于對顯式指令進行譯碼;
隱式譯碼器用于對隱式指令進行譯碼。
可選地,譯碼控制單元還用于根據(jù)當(dāng)前譯碼周期的顯式指令與隱式指令之間關(guān)聯(lián)關(guān)系;
控制顯式譯碼器和隱式譯碼器以串行或并行的方式對當(dāng)前譯碼周期的顯式指令和隱式指令進行譯碼。
可選地,處理器還包括:備份譯碼器;
譯碼控制單元還用于在當(dāng)前譯碼周期結(jié)束時將當(dāng)前譯碼周期的隱式指令中被隱式譯碼器譯碼剩余的指令作為下一個譯碼周期的備份指令,在下一個譯碼周期控制備份譯碼器對備份指令進行譯碼;
備份譯碼器用于對備份指令進行譯碼。
可選地,譯碼控制單元還用于根據(jù)當(dāng)前譯碼周期的顯式指令、隱式指令和備份指令之間的關(guān)聯(lián)關(guān)系,控制顯式譯碼器、隱式譯碼器和備份譯碼器以串行和/或并行的方式對當(dāng)前譯碼周期的顯式指令、隱式指令和備份指令進行譯碼。
可選地,譯碼控制單元還用于將當(dāng)前譯碼周期中的隱式指令所攜帶的指令作為備份指令。
可選地,譯碼控制單元還用于控制備份譯碼器在顯式譯碼器和隱式譯碼器的譯碼間隙以插空的方式對備份指令進行譯碼。
可選地,處理器還包括:顯式指令寄存器和隱式指令寄存器;
譯碼控制單元用于將顯式指令存儲至顯式指令寄存器,將隱式指令存儲至隱式指令寄存器;在當(dāng)前譯碼周期結(jié)束時將顯式指令寄存器中剩余的指令轉(zhuǎn)移至隱式指令寄存器中;
顯式譯碼器用于對顯式指令寄存器中的顯式指令進行譯碼;
隱式譯碼器用于對隱式指令寄存器中的隱式指令進行譯碼。
可選地,處理器還包括:備份指令寄存器;
譯碼控制單元用于將備份指令存儲至備份指令寄存器;在當(dāng)前譯碼周期結(jié)束時將隱式指令寄存器中剩余的指令轉(zhuǎn)移至備份指令寄存器中;
備份譯碼器用于對備份指令寄存器中的備份指令進行譯碼。
可選地,處理器還包括:配置信息輸入接口;
配置信息輸入接口用于接收用戶輸入的譯碼約束信息;
配置信息存儲區(qū)與配置信息輸入接口連接,配置信息存儲區(qū)用于從配置信息輸入接口獲取譯碼約束信息并更新存儲。
可選地,處理器還包括:加解密單元;
加解密單元用于對譯碼約束信息進行加密;
配置信息存儲區(qū)用于存儲加密后的譯碼約束信息;
加解密單元還用于對配置信息存儲區(qū)中的加密后的譯碼約束信息進行解密;
譯碼控制單元用于讀取解密后的譯碼約束信息。
本發(fā)明實施例的有益效果是:本發(fā)明實施例的處理器中包括:指令隊列存儲區(qū)、配置信息存儲區(qū)、譯碼控制單元、顯式譯碼器和隱式譯碼器;實際工作時,譯碼控制單元在每個譯碼周期開始時,從指令隊列存儲區(qū)中讀取多條指令作為當(dāng)前譯碼周期的顯式指令,并控制顯式譯碼器根據(jù)配置信息存儲區(qū)中的譯碼約束信息對顯式指令進行譯碼;在當(dāng)前譯碼周期結(jié)束時將顯式指令中被顯式譯碼器譯碼剩余的指令作為下一個譯碼周期的隱式指令,在下一個譯碼周期控制隱式譯碼器對隱式指令進行譯碼;從而能夠一次取多條指令,并將未執(zhí)行完的指令作為隱式指令,與每次從隊列中取一條指令相比,節(jié)省了時間,在保證處理安全的基礎(chǔ)上提高了處理運行效率,滿足了實際需求。
附圖說明
圖1是本發(fā)明一個實施例的處理器的結(jié)構(gòu)圖;
圖2是本發(fā)明另一個實施例的處理器的結(jié)構(gòu)圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。
圖1是本發(fā)明一個實施例的處理器的結(jié)構(gòu)圖,參見圖1,本實施例的處理器100包括:
指令隊列存儲區(qū)101、配置信息存儲區(qū)103、譯碼控制單元102、顯式譯碼器104和隱式譯碼器105;
指令隊列存儲區(qū)101用于存儲待譯碼的指令隊列;
配置信息存儲區(qū)103用于存儲譯碼約束信息;
譯碼控制單元102用于在每個譯碼周期開始時,從指令隊列存儲區(qū)101中讀取多條指令作為當(dāng)前譯碼周期的顯式指令,并控制顯式譯碼器104根據(jù)配置信息存儲區(qū)103中的譯碼約束信息對顯式指令進行譯碼;在當(dāng)前譯碼周期結(jié)束時將顯式指令中被顯式譯碼器104譯碼剩余的指令作為下一個譯碼周期的隱式指令,在下一個譯碼周期控制隱式譯碼器105對隱式指令進行譯碼;
顯式譯碼器104用于對顯式指令進行譯碼;
隱式譯碼器105用于對隱式指令進行譯碼。
注:譯碼器是一類多輸入多輸出組合邏輯電路器件,處理器中譯碼器的主要作用是進行指令譯碼,翻譯成對應(yīng)的輸出信號。
由圖1所示可知,本發(fā)明實施例的處理器能夠根據(jù)配置信息存儲區(qū)存儲的譯碼約束信息,選擇多個指令進行譯碼并能將當(dāng)前譯碼周期內(nèi)未處理完的指令作為下一譯碼周期的隱式指令,從而將多個指令形成可連續(xù)執(zhí)行的譯碼控制流,最大程度的優(yōu)化了譯碼設(shè)計的要求,支持了優(yōu)化編譯器算法的實現(xiàn)。提高了執(zhí)行效率,由顯式譯碼器和隱式譯碼器各自執(zhí)行譯碼也滿足了安全性和效率的兩方面的要求,提高了處理器的競爭力。
在本發(fā)明的一個實施例中,譯碼控制單元102還用于根據(jù)當(dāng)前譯碼周期的顯式指令與隱式指令之間的關(guān)聯(lián)關(guān)系;控制顯式譯碼器104和隱式譯碼器105以串行或并行的方式對當(dāng)前譯碼周期的顯式指令和隱式指令進行譯碼。使得用戶指令能夠同時被譯碼,提高了譯碼的效率。圖2是本發(fā)明另一個實施例的處理器的結(jié)構(gòu)圖,參見圖2,本實施例的處理器200包括:
指令隊列存儲區(qū)201、配置信息存儲區(qū)203、譯碼控制單元202、顯式譯碼器204、隱式譯碼器205、備份譯碼器206,顯式指令寄存器209、隱式指令寄存器208、備份指令寄存器207、配置信息輸入接口205以及加解密單元210。
譯碼控制單元主要是控制多種指令配置文件編碼的譯碼和執(zhí)行形成可連續(xù)執(zhí)行的譯碼控制流,保證指令譯碼工作的正常和快速執(zhí)行。
其中,指令隊列存儲區(qū)201、配置信息存儲區(qū)203、顯式譯碼器204和隱式譯碼器205的功能與前述實施例中的功能相同,因此可參見前述實施例的說明,這里不再贅述。以下介紹本實施例的處理器不同于前述實施例的內(nèi)容。
參見圖2,本實施例的處理器200還包括:備份譯碼器206,
譯碼控制單元202還用于在當(dāng)前譯碼周期結(jié)束時將當(dāng)前譯碼周期的隱式指令中被隱式譯碼器205譯碼剩余的指令作為下一個譯碼周期的備份指令,在下一個譯碼周期控制備份譯碼器206對備份指令進行譯碼;
這里的,備份譯碼器206的作用是對備份指令進行譯碼。
本實施例中,譯碼控制單元202還用于根據(jù)當(dāng)前譯碼周期的顯式指令、隱式指令和備份指令之間的關(guān)聯(lián)關(guān)系,控制顯式譯碼器204、隱式譯碼器205和備份譯碼器206以串行和/或并行的方式對當(dāng)前譯碼周期的顯式指令、隱式指令和備份指令進行譯碼。
需要說明的是,不同于現(xiàn)有技術(shù),本發(fā)明實施例處理器中的譯碼控制單元能夠根據(jù)當(dāng)前譯碼周期的顯式指令、隱式指令以及備份指令之間的關(guān)聯(lián)關(guān)系,控制串行執(zhí)行當(dāng)前譯碼周期的顯式指令、隱式指令和備份指令的譯碼,或者,控制并行執(zhí)行當(dāng)前譯碼周期的顯式指令、隱式指令和備份指令的譯碼,或者,控制以串行和并行的方式對當(dāng)前譯碼周期的顯式指令、隱式指令和備份指令的譯碼。
這里的串行執(zhí)行指令一般是等待上一條指令執(zhí)行完畢后再執(zhí)行下一條指令,而并行執(zhí)行指令是多個指令并行的執(zhí)行。
本實施例中,譯碼控制單元202還用于將當(dāng)前譯碼周期中的隱式指令中被隱式譯碼器譯碼剩余的指令作為下一個譯碼周期的備份指令。
以及,譯碼控制單元202還用于控制備份譯碼器206在顯式譯碼器204和隱式譯碼器205的譯碼間隙以插空的方式對備份指令進行譯碼。通過插空的方式處理備份指令的譯碼能夠極大的提高指令的譯碼效率。
由圖2所示,本實施例的處理器包括顯式指令譯碼器和隱式指令譯碼器以及備份指令譯碼器,由此,實現(xiàn)了顯式指令、隱式指令和備份指令的并行譯碼和串行譯碼(以邏輯“與”或“非”的形式),三個譯碼器共同作用,保證程序指令流的執(zhí)行結(jié)果達到并行效果。
參見圖2,在本實施例中,處理器200還包括:顯式指令寄存器209和隱式指令寄存器208;
譯碼控制單元202用于將顯式指令存儲至顯式指令寄存器209,將隱式指令存儲至隱式指令寄存器208;
在當(dāng)前譯碼周期結(jié)束時將顯式指令寄存器209中剩余的指令轉(zhuǎn)移至隱式指令寄存器208中;
需要說明的是,這里的顯式譯碼器204的作用是對顯式指令寄存器209中的顯式指令進行譯碼;隱式譯碼器205的作用是對隱式指令寄存器208中的隱式指令進行譯碼。
參見圖2,本實施例中處理器200還包括:備份指令寄存器207;
譯碼控制單元202,用于將備份指令存儲至備份指令寄存器207;在當(dāng)前譯碼周期結(jié)束時將隱式指令寄存器208中剩余的指令轉(zhuǎn)移至備份指令寄存器207中;
注:備份譯碼器206用于對備份指令寄存器207中的備份指令進行譯碼。
由上可知,本發(fā)明實施例的處理器中通過設(shè)置顯式譯碼器,隱式譯碼器以及備份譯碼器,從而能夠?qū)崿F(xiàn)在每個譯碼周期開始時選擇多條指令并作為當(dāng)前譯碼周期的顯式指令,控制顯式譯碼器進行譯碼,如果當(dāng)前譯碼周期結(jié)束時選擇的顯式指令未被顯式譯碼器全部譯碼完畢,則將本次選擇的顯式指令中未譯碼的剩余的指令作為下一個譯碼周期的隱式指令進行譯碼。另外,在當(dāng)前譯碼周期結(jié)束時將當(dāng)前譯碼周期的隱式指令中被隱式譯碼器譯碼剩余的指令作為下一個譯碼周期的備份指令,在下一個譯碼周期控制備份譯碼器對備份指令進行譯碼,從而形成可持續(xù)執(zhí)行的指令流,最大程度的優(yōu)化了譯碼設(shè)計,提高了多指令譯碼的效率。
參見圖2,本實施例中處理器200還包括:配置信息輸入接口205;
配置信息輸入接口205的主要用于接收用戶輸入的譯碼約束信息;
配置信息存儲區(qū)203與配置信息輸入接口205連接,配置信息存儲區(qū)203用于從配置信息輸入接口205獲取譯碼約束信息并更新存儲。
以及,參見圖2,處理器200還包括:加解密單元210,
加解密單元210用于對譯碼約束信息進行加密;
配置信息存儲區(qū)203用于存儲加密后的譯碼約束信息;
加解密單元210還用于對配置信息存儲區(qū)203中的加密后的譯碼約束信息進行解密;譯碼控制單元202用于讀取解密后的譯碼約束信息。
由此,本實施例的處理器通過對用于選擇譯碼指令的譯碼約束信息進行加密操作能夠提高處理的安全性,保證處理器的安全穩(wěn)固。
本實施例的處理器的工作過程是:
首先,通過處理器的配置信息輸入接口接收用戶輸入的譯碼約束信息。
這里的譯碼約束信息,可以是指令的延遲約束信息,拼裝約束信息,替換約束信息,排序約束信息等用于對指令的譯碼進行約束的信息。具體的,指令的延遲約束信息是指,約束當(dāng)前的指令延遲預(yù)定時間(例如,延時一個指令周期或延時兩個指令周期)后進行譯碼,拼裝約束信息,指示當(dāng)前指令或當(dāng)前指令的哪一部分需要和其它指令進行拼裝。以此類推,這些譯碼約束信息限制了指令的譯碼執(zhí)行過程。
接收到用戶輸入的譯碼約束信息之后將譯碼約束信息存儲到配置信息存儲區(qū)中。
接著,處理器的譯碼控制單元在每個譯碼周期開始時,從指令隊列存儲區(qū)中讀取多條指令作為當(dāng)前譯碼周期的顯式指令,并控制顯式譯碼器根據(jù)配置信息存儲區(qū)中的譯碼約束信息對顯式指令進行譯碼;在當(dāng)前譯碼周期結(jié)束時將顯式指令中被顯式譯碼器譯碼剩余的指令作為下一個譯碼周期的隱式指令,在下一個譯碼周期控制隱式譯碼器對隱式指令進行譯碼;顯式譯碼器用于對顯式指令進行譯碼;隱式譯碼器用于對隱式指令進行譯碼。
舉例而言,指令隊列存儲區(qū)中存儲有待譯碼的指令隊列中包括20條指令,配置信息存儲區(qū)中存儲有用戶輸入的針對每條指令的一個或多個譯碼約束信息。
譯碼控制單元在第一個譯碼周期開始時,從指令隊列存儲區(qū)存儲的20條指令中讀取多條指令(例如,8條指令)作為第一個譯碼周期的顯式指令,并控制顯式譯碼器根據(jù)配置信息存儲區(qū)中的譯碼約束信息(例如,排序約束信息)對第一個譯碼周期的顯式指令先進行排序而后進行譯碼。
當(dāng)?shù)谝粋€譯碼周期結(jié)束時,譯碼控制單元對8條指令中未被顯式譯碼器譯碼的指令進行統(tǒng)計和標記,并將這些沒有被顯式譯碼器在當(dāng)前周期內(nèi)譯碼完成的指令作為第二個譯碼周期的隱式指令,并控制隱式譯碼器對第二個譯碼周期的隱式指令進行譯碼。
可以理解,當(dāng)?shù)诙€譯碼周期到來時,譯碼控制單元可以繼續(xù)從指令隊列存儲區(qū)存儲的12條指令中讀取多條指令,例如,5條指令并作為第二個譯碼周期的顯式指令,控制顯式譯碼器按照配置信息存儲區(qū)中的譯碼約束信息對第二個譯碼周期的顯式指令進行譯碼。
如此循環(huán),直至處理器的指令隊列存儲區(qū)存儲的指令被全部譯碼完畢。
進一步的,當(dāng)本實施例的處理器還包括備份指令譯碼器時,處理器在上述工作過程的基礎(chǔ)上,還包括:在當(dāng)前譯碼周期結(jié)束時將當(dāng)前譯碼周期的隱式指令中被隱式譯碼器譯碼剩余的指令作為下一個譯碼周期的備份指令,在下一個譯碼周期控制備份譯碼器對備份指令進行譯碼;
接上例,第一譯碼周期開始是選取了8條指令作為顯式指令,顯式指令譯碼器只在第一譯碼周期處理了其中的4條指令,則剩余的4條指令將作為第二譯碼周期的隱式指令,由隱式指令譯碼器進行譯碼。
在第二譯碼周期內(nèi),隱式指令譯碼器只處理了4條指令中的1條指令,則剩余的3條指令將作為第三譯碼周期的備份指令,由備份指令譯碼器進行譯碼。
由此可知,本實施例的處理器包含三維譯碼器裝置(顯式指令譯碼器、隱式指令譯碼器和備份指令譯碼器)支持多種指令配置文件譯碼的并行執(zhí)行,共同作用;形成可連續(xù)執(zhí)行的譯碼控制流,支持指令并行和串行操作的優(yōu)化譯碼;實現(xiàn)最大優(yōu)化譯碼設(shè)計的要求,支持優(yōu)化編譯器算法的實現(xiàn)。
綜上所述,本發(fā)明提供的這種處理器中包括:指令隊列存儲區(qū)、配置信息存儲區(qū)、譯碼控制單元、顯式譯碼器和隱式譯碼器;實際工作時,譯碼控制單元在每個譯碼周期開始時,從指令隊列存儲區(qū)中讀取多條指令作為當(dāng)前譯碼周期的顯式指令,并控制顯式譯碼器根據(jù)配置信息存儲區(qū)中的譯碼約束信息對顯式指令進行譯碼;在當(dāng)前譯碼周期結(jié)束時將顯式指令中被顯式譯碼器譯碼剩余的指令作為下一個譯碼周期的隱式指令,在下一個譯碼周期控制隱式譯碼器對隱式指令進行譯碼;從而能夠?qū)⒂脩舻亩鄠€指令形成可連續(xù)執(zhí)行的譯碼流,優(yōu)化了譯碼設(shè)計,在保證處理安全的基礎(chǔ)上提高了處理效率,滿足了實際需求。
以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。