本發(fā)明涉及計(jì)算機(jī),尤其涉及一種聯(lián)合測(cè)試工作組微碼更新模塊、方法及系統(tǒng)。
背景技術(shù):
1、已知處理器是藉由其內(nèi)部所具備的核心,及所述核心所電性連接/耦合的各級(jí)高速緩存(cache)、控制單元及接口來(lái)進(jìn)行各種資訊的分配、運(yùn)算與處理。
2、微碼(microcode)是在cisc結(jié)構(gòu)下,執(zhí)行一些功能復(fù)雜的指令時(shí),所分解一系列相對(duì)簡(jiǎn)單的指令。微碼的作用是將機(jī)器指令與相關(guān)的電路實(shí)作分離,這樣一來(lái)機(jī)器指令可以更自由的進(jìn)行設(shè)計(jì)與修改,而不用考慮到實(shí)際的電路架構(gòu)。微碼通常由cpu工程師在設(shè)計(jì)時(shí)編寫,并且儲(chǔ)存在只讀存儲(chǔ)器(rom,read-only-memory)或可程序邏輯數(shù)組(pla,programmable?logic?array)中,也有將微碼儲(chǔ)存在靜態(tài)隨機(jī)存取內(nèi)存(sram)或是閃存(flash?memory)中。對(duì)普通程序設(shè)計(jì)師或匯編程序設(shè)計(jì)師而言,微碼是不可見的也無(wú)法修改的。
3、通過(guò)更新微碼可改變處理器的功能,或者通過(guò)更新微碼來(lái)修正處理器的錯(cuò)誤,對(duì)于更新或修補(bǔ)處理器的核心內(nèi)的微碼例程的方式,一般可藉由網(wǎng)絡(luò)將數(shù)據(jù)及程序輸入處理器的核心內(nèi)?,F(xiàn)有技術(shù)中,對(duì)微碼進(jìn)行升級(jí)是指:廠商針對(duì)特定的設(shè)備需求而向客戶發(fā)送微碼變更的數(shù)據(jù)更新包(簡(jiǎn)稱更新包),客戶根據(jù)這些數(shù)據(jù)更新包對(duì)設(shè)備的微碼進(jìn)行升級(jí)。用戶需要對(duì)在用設(shè)備進(jìn)行批量升級(jí)時(shí),往往是根據(jù)經(jīng)驗(yàn)選擇設(shè)定微碼版本,將不同的設(shè)備統(tǒng)一升級(jí)至所述設(shè)定版本。然而,以網(wǎng)絡(luò)聯(lián)機(jī)方式將數(shù)據(jù)或程序輸入的方式,相對(duì)的也提高了所述處理器被惡意入侵或加載后門程序的風(fēng)險(xiǎn)。
4、以上背景技術(shù)內(nèi)容的公開僅用于輔助理解本發(fā)明的發(fā)明構(gòu)思及技術(shù)方案,其并不必然屬于本技術(shù)的現(xiàn)有技術(shù),也不必然會(huì)給出技術(shù)教導(dǎo);在沒有明確的證據(jù)表明上述內(nèi)容在本技術(shù)的申請(qǐng)日之前已經(jīng)公開的情況下,上述背景技術(shù)不應(yīng)當(dāng)用于評(píng)價(jià)本技術(shù)的新穎性和創(chuàng)造性。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是提供一種聯(lián)合測(cè)試工作組微碼更新模塊、方法及系統(tǒng),能夠安全可靠地將外部微碼更新至處理器系統(tǒng)中。
2、為達(dá)到上述目的,本發(fā)明采用的技術(shù)方案如下:
3、一種聯(lián)合測(cè)試工作組微碼更新模塊,應(yīng)用于將處理器系統(tǒng)外部的微碼數(shù)據(jù)載入處理器系統(tǒng)的核心中,所述處理器系統(tǒng)配置有與所述核心電連接的系統(tǒng)接口單元,聯(lián)合測(cè)試工作組微碼更新模塊與所述系統(tǒng)接口單元電連接;
4、所述聯(lián)合測(cè)試工作組微碼更新模塊包括jtag接口、緩沖和驅(qū)動(dòng)單元、安全和保護(hù)單元、測(cè)試訪問端口控制器、指令暫存器、數(shù)據(jù)暫存器和微碼接口邏輯單元;
5、所述jtag接口被配置為與存儲(chǔ)裝置的jtag接頭電連接,所述存儲(chǔ)裝置被配置為存儲(chǔ)微碼數(shù)據(jù),所述jtag接口被配置為將所述存儲(chǔ)裝置中存儲(chǔ)的微碼數(shù)據(jù)載入所述聯(lián)合測(cè)試工作組微碼更新模塊;
6、所述緩沖和驅(qū)動(dòng)單元與所述jtag接口電連接,所述緩沖和驅(qū)動(dòng)單元被配置為對(duì)所述jtag接口的輸出信號(hào)進(jìn)行信號(hào)增強(qiáng)處理;
7、所述安全和保護(hù)單元被配置為接收并驗(yàn)證通過(guò)所述jtag接口載入的微碼數(shù)據(jù)的安全性和正確性,并且控制驗(yàn)證通過(guò)的所述微碼數(shù)據(jù)進(jìn)一步傳輸以及攔截驗(yàn)證不通過(guò)的所述微碼數(shù)據(jù);
8、所述測(cè)試訪問端口控制器的輸入端與所述安全和保護(hù)單元的輸出端電連接,所述測(cè)試訪問端口控制器的輸出端與所述指令暫存器和所述數(shù)據(jù)暫存器分別電連接;
9、所述微碼接口邏輯單元與所述指令暫存器的輸出端和所述數(shù)據(jù)暫存器的輸出端分別電連接,所述微碼接口邏輯單元被配置為將所述微碼數(shù)據(jù)傳輸至所述系統(tǒng)接口單元。
10、進(jìn)一步地,承前所述的任一技術(shù)方案或多個(gè)技術(shù)方案的組合,所述安全和保護(hù)單元包括加密器、比較邏輯器、控制邏輯器和參考存儲(chǔ)器;
11、其中,所述參考存儲(chǔ)器中預(yù)存有多個(gè)參考加密值;
12、所述加密器被配置為針對(duì)所述微碼數(shù)據(jù)生成相應(yīng)的第一加密值;
13、所述比較邏輯器被配置為將所述第一加密值與所述參考加密值進(jìn)行比對(duì)以獲得比對(duì)結(jié)果,并將所述比對(duì)結(jié)果傳輸至所述控制邏輯器,所述比對(duì)結(jié)果包括一致和不一致;
14、若所述比對(duì)結(jié)果為一致,則所述控制邏輯器被配置為控制所述微碼數(shù)據(jù)進(jìn)一步傳輸;若所述比對(duì)結(jié)果為不一致,則所述控制邏輯器被配置為攔截所述微碼數(shù)據(jù)。
15、進(jìn)一步地,承前所述的任一技術(shù)方案或多個(gè)技術(shù)方案的組合,若所述比對(duì)結(jié)果為一致,則通過(guò)所述jtag接口載入的微碼數(shù)據(jù)的安全性和正確性驗(yàn)證通過(guò);若所述比對(duì)結(jié)果為不一致,則通過(guò)所述jtag接口載入的微碼數(shù)據(jù)的安全性和正確性驗(yàn)證不通過(guò)。
16、進(jìn)一步地,承前所述的任一技術(shù)方案或多個(gè)技術(shù)方案的組合,所述比較邏輯器被配置為將所述第一加密值與所述參考加密值進(jìn)行比對(duì)以獲得比對(duì)結(jié)果,包括:
17、將所述第一加密值與多個(gè)所述參考加密值進(jìn)行逐一比對(duì),若所述第一加密值與任意一個(gè)所述參考加密值相同,則所述比對(duì)結(jié)果為一致;若所述第一加密值與任意一個(gè)所述參考加密值均不相同,則所述比對(duì)結(jié)果為不一致。
18、進(jìn)一步地,承前所述的任一技術(shù)方案或多個(gè)技術(shù)方案的組合,所述處理器系統(tǒng)包括多個(gè)核心,所述參考加密值與所述核心具有對(duì)應(yīng)關(guān)系;
19、所述比較邏輯器被配置為將所述第一加密值與所述參考加密值進(jìn)行比對(duì)以獲得比對(duì)結(jié)果,包括:
20、確定所述微碼數(shù)據(jù)目標(biāo)載入的核心為目標(biāo)核心,所述目標(biāo)核心為多個(gè)所述核心中的一個(gè);
21、根據(jù)所述參考加密值與所述核心的對(duì)應(yīng)關(guān)系確定與所述目標(biāo)核心具有對(duì)應(yīng)關(guān)系的參考加密值為目標(biāo)參考加密值;
22、將所述第一加密值與所述目標(biāo)參考加密值進(jìn)行比對(duì),若所述第一加密值與所述目標(biāo)參考加密值相同,則所述比對(duì)結(jié)果為一致;若所述第一加密值與所述目標(biāo)參考加密值不相同,則所述比對(duì)結(jié)果為不一致。
23、進(jìn)一步地,承前所述的任一技術(shù)方案或多個(gè)技術(shù)方案的組合,所述加密器采用哈希計(jì)算器,所述哈希計(jì)算器被配置為針對(duì)所述微碼數(shù)據(jù)生成相應(yīng)的第一哈希值,所述第一哈希值被配置為所述第一加密值,所述參考加密值為預(yù)存的參考哈希值。
24、進(jìn)一步地,承前所述的任一技術(shù)方案或多個(gè)技術(shù)方案的組合,還包括核心選擇單元,所述核心選擇單元設(shè)置在所述緩沖和驅(qū)動(dòng)單元和所述安全和保護(hù)單元之間,并且與所述緩沖和驅(qū)動(dòng)單元和所述安全和保護(hù)單元分別電連接;
25、所述核心選擇單元被配置為根據(jù)所述緩沖和驅(qū)動(dòng)單元的輸出信號(hào)確定所述微碼數(shù)據(jù)期望載入的目標(biāo)核心微碼單元,所述目標(biāo)核心微碼單元為各個(gè)核心對(duì)應(yīng)的核心微碼單元中的一個(gè)。
26、進(jìn)一步地,承前所述的任一技術(shù)方案或多個(gè)技術(shù)方案的組合,還包括電平轉(zhuǎn)換器,所述電平轉(zhuǎn)換器設(shè)置在所述核心選擇單元和所述安全和保護(hù)單元之間,并且與所述核心選擇單元和所述安全和保護(hù)單元分別電連接;
27、所述電平轉(zhuǎn)換器被配置為接收所述核心選擇單元輸出的jtag信號(hào),并控制所述jtag信號(hào)的電平與所述目標(biāo)核心微碼單元的工作電平相匹配。
28、進(jìn)一步地,承前所述的任一技術(shù)方案或多個(gè)技術(shù)方案的組合,所述處理器系統(tǒng)還包括周邊控制器,所述周邊控制器與所述系統(tǒng)接口單元電連接;
29、所述聯(lián)合測(cè)試工作組微碼更新模塊還被配置為通過(guò)所述系統(tǒng)接口單元將外部的微碼數(shù)據(jù)載入所述周邊控制器,所述周邊控制器也具有相應(yīng)的核心,將外部的微碼數(shù)據(jù)載入所述周邊控制器即載入所述周邊控制器的核心內(nèi)。
30、進(jìn)一步地,承前所述的任一技術(shù)方案或多個(gè)技術(shù)方案的組合,所述測(cè)試訪問端口控制器包括由模式選擇引腳(test?mode?select,tms)控制狀態(tài)轉(zhuǎn)換的狀態(tài)機(jī),所述狀態(tài)機(jī)被配置為控制jtag操作,包括根據(jù)所述微碼數(shù)據(jù)將相應(yīng)的數(shù)據(jù)輸入所述數(shù)據(jù)暫存器,以及將相應(yīng)的指令輸入所述指令暫存器;
31、所述數(shù)據(jù)暫存器被配置為傳輸所述微碼數(shù)據(jù);
32、所述指令暫存器被配置為接收及存儲(chǔ)jtag指令。
33、根據(jù)本發(fā)明的另一方面,本發(fā)明提供了一種聯(lián)合測(cè)試工作組微碼更新方法,利用如上任一技術(shù)方案或多個(gè)技術(shù)方案的組合所述聯(lián)合測(cè)試工作組微碼更新模塊將外部的微碼數(shù)據(jù)更新至處理器系統(tǒng)的核心中。
34、根據(jù)本發(fā)明的另一方面,本發(fā)明提供了一種處理器系統(tǒng),包括一個(gè)或多個(gè)核心、系統(tǒng)接口單元以及如上任一技術(shù)方案或多個(gè)技術(shù)方案的組合所述的聯(lián)合測(cè)試工作組微碼更新模塊,各個(gè)所述核心分別與所述系統(tǒng)接口單元電連接;
35、所述聯(lián)合測(cè)試工作組微碼更新模塊與所述系統(tǒng)接口單元電連接,所述聯(lián)合測(cè)試工作組微碼更新模塊被配置為處理器系統(tǒng)外部的微碼數(shù)據(jù)通過(guò)所述系統(tǒng)接口單元載入多個(gè)所述核心中的一個(gè)或多個(gè)。
36、進(jìn)一步地,承前所述的任一技術(shù)方案或多個(gè)技術(shù)方案的組合,還包括周邊控制器,所述周邊控制器與所述系統(tǒng)接口單元電連接;
37、所述聯(lián)合測(cè)試工作組微碼更新模塊被配置為處理器系統(tǒng)外部的微碼數(shù)據(jù)通過(guò)所述系統(tǒng)接口單元載入多個(gè)所述周邊控制器中的一個(gè)或多個(gè)。
38、根據(jù)本發(fā)明的另一方面,本發(fā)明提供了一種計(jì)算機(jī)系統(tǒng),包括如上任一技術(shù)方案或多個(gè)技術(shù)方案的組合所述的聯(lián)合測(cè)試工作組微碼更新模塊。
39、本發(fā)明提供的技術(shù)方案帶來(lái)的有益效果如下:
40、a.?本發(fā)明提供的聯(lián)合測(cè)試工作組微碼更新模塊,能夠?qū)⑼獠课⒋a資料系藉由近端實(shí)體連線的方式傳輸至處理器的核心,以及透過(guò)安全和保護(hù)單元對(duì)微碼數(shù)據(jù)的驗(yàn)證和保護(hù)的作用,可以降低處理器被惡意入侵及加載后門程序的風(fēng)險(xiǎn),能夠安全可靠地將外部微碼更新至處理器系統(tǒng)中;
41、b.?本發(fā)明利用安全和保護(hù)單元所提供的加密形式以及比對(duì)驗(yàn)證,可以進(jìn)一步提高阻卻惡意修改處理器核心的作用,并且提供了逐一比對(duì)和逐層比對(duì)兩種驗(yàn)證方式,其中,逐一比對(duì)的驗(yàn)證方式容易實(shí)現(xiàn),適合于單核或核心數(shù)量較少的處理器系統(tǒng),逐層比對(duì)的驗(yàn)證方式,能夠提高針對(duì)核心數(shù)量較多的處理器系統(tǒng)的驗(yàn)證效率。