專利名稱:智能卡和指令的處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子技術(shù)領(lǐng)域,特別涉及一種智能卡和指令的處理方法。
背景技術(shù):
現(xiàn)今,智能卡技術(shù)的應(yīng)用范圍越來(lái)越廣泛,其功能也越來(lái)越強(qiáng)大。為了滿足日益增加的需求,智能卡的實(shí)現(xiàn)也愈加復(fù)雜。一種帶有虛擬機(jī)實(shí)現(xiàn)的智能卡,由于其平臺(tái)無(wú)關(guān)性、靈活性、擴(kuò)展性、安全性等優(yōu)勢(shì),在該領(lǐng)域大放異彩。這類智能卡,在傳統(tǒng)的硬件平臺(tái)上搭建了一個(gè)帶有標(biāo)準(zhǔn)指令集的虛擬機(jī),開(kāi)發(fā)人員只需要在此指令集的基礎(chǔ)上開(kāi)發(fā)應(yīng)用,而無(wú)需 了解具體的硬件平臺(tái),大大縮短了產(chǎn)品開(kāi)發(fā)的周期和成本。以Java智能卡為例。Java智能卡是一種能夠運(yùn)行Java程序的智能卡,它在智能卡的硬件平臺(tái)上搭建了一個(gè)支持Java字節(jié)碼(bytecode)指令的虛擬機(jī)。為了執(zhí)行Java程序,虛擬機(jī)接受Java字節(jié)碼指令,將其轉(zhuǎn)化為等效的、被硬件平臺(tái)所支持的原生指令(nativeinstruction),最后執(zhí)行該原生指令序列。由于Java程序處于字節(jié)碼形式并不專用于任何一個(gè)系統(tǒng),只要有Java卡虛擬機(jī)即可使用,因此該Java程序可以在任何Java智能卡上運(yùn)行。通常,虛擬機(jī)的指令解釋器進(jìn)行一個(gè)循環(huán)操作,它從程序計(jì)數(shù)器所指的地址中讀取字節(jié)碼指令;根據(jù)字節(jié)碼指令找到相應(yīng)的軟件解釋函數(shù);然后調(diào)用該解釋函數(shù)來(lái)完成字節(jié)碼指令所要實(shí)現(xiàn)的功能,同時(shí)更新程序計(jì)數(shù)器,這樣就完成了一條字節(jié)碼指令的解釋執(zhí)行;最后又回到指令解釋器的入口,重新開(kāi)始解釋執(zhí)行一條新的字節(jié)碼指令。例如,公開(kāi)號(hào)為CN 101231597A的中國(guó)專利申請(qǐng)公開(kāi)一種智能卡中Java程序指令的執(zhí)行方法,該智能卡中設(shè)置有可執(zhí)行Java程序的虛擬機(jī)以及中央處理器,可由中央處理器訪問(wèn)的存儲(chǔ)器,存儲(chǔ)器中存儲(chǔ)有Java程序的字節(jié)碼,該方法包括根據(jù)字節(jié)碼,將其轉(zhuǎn)換成對(duì)本地代碼的一系列調(diào)用,形成本地程序;將本地程序編譯成本地可執(zhí)行代碼,將本地可執(zhí)行代碼存儲(chǔ)至智能卡的存儲(chǔ)器中;虛擬機(jī)讀取字節(jié)碼,并判斷是否有本地程序與所讀取的字節(jié)碼對(duì)應(yīng),若有,則執(zhí)行對(duì)應(yīng)的本地程序,否則解釋并執(zhí)行所讀取的字節(jié)碼。由上述內(nèi)容可以看出,程序只能通過(guò)虛擬機(jī)轉(zhuǎn)換成原生指令才能被執(zhí)行的方式使得智能卡的運(yùn)行效率明顯降低。
發(fā)明內(nèi)容
本發(fā)明技術(shù)方案解決的是現(xiàn)有智能卡運(yùn)行效率較低。本發(fā)明技術(shù)方案提供一種智能卡,包括第一處理單元,包括適于執(zhí)行原生指令的第一執(zhí)行單元;第二處理單元,包括適于執(zhí)行第一字節(jié)碼指令的第二執(zhí)行單元??蛇x的,所述智能卡還包括存儲(chǔ)單元,適于保存所述原生指令和字節(jié)碼指令,所述字節(jié)碼指令包括第一字節(jié)碼指令。可選的,所述智能卡還包括存儲(chǔ)管理單元,所述存儲(chǔ)管理單元通過(guò)程序總線和數(shù)據(jù)總線連接所述第一處理單元,通過(guò)字節(jié)碼總線連接所述第二處理單元。
可選的,所述存儲(chǔ)管理單元適于從所述存儲(chǔ)單元讀取原生指令并發(fā)送至所述程序總線,所述第一處理單元還包括原生指令讀取單元,適于通過(guò)所述程序總線讀取所述原生指令。可選的,所述存儲(chǔ)管理單元適于從存儲(chǔ)單元讀取字節(jié)碼指令并發(fā)送至所述數(shù)據(jù)總線;所述第一處理單元還包括第一讀寫(xiě)單元,適于通過(guò)所述數(shù)據(jù)總線讀取字節(jié)碼指令;第一判斷單元,適于在判斷所讀取的字節(jié)碼指令為第一字節(jié)碼指令時(shí),輸出第一觸發(fā)信息;所述第二執(zhí)行單元適于在獲取所述第一觸發(fā)信息后,執(zhí)行所述第一字節(jié)碼指令。可選的,所述第一判斷單元根據(jù)所述字節(jié)碼指令的內(nèi)容判斷所述字節(jié)碼指令為第一字節(jié)碼指令??蛇x的,所述智能卡還包括切換單元,適于保存所述第一觸發(fā)信息;所述第一讀寫(xiě)單元還適于通過(guò)數(shù)據(jù)總線將所述第一判斷單元輸出的所述第一觸發(fā)信息保存至切換單
J Li ο可選的,所述第二處理單元還包括第二讀寫(xiě)單元,所述第二讀寫(xiě)單元適于從所述切換單元獲取所述第一觸發(fā)信息??蛇x的,所述第一觸發(fā)信息包括所述第一字節(jié)碼指令??蛇x的,所述存儲(chǔ)管理單元適于從所述存儲(chǔ)單元讀取第一字節(jié)碼指令并發(fā)送至所述字節(jié)碼總線,所述第二讀寫(xiě)單元還適于通過(guò)所述字節(jié)碼總線讀取所述第一字節(jié)碼指令。可選的,所述存儲(chǔ)管理單元適于從所述存儲(chǔ)單元讀取字節(jié)碼指令并發(fā)送至所述數(shù)據(jù)總線;所述第一處理單元還包括第一讀寫(xiě)單元,適于通過(guò)所述數(shù)據(jù)總線讀取字節(jié)碼指令;第一轉(zhuǎn)換單元,適于在判斷所讀取的字節(jié)碼指令為第二字節(jié)碼指令時(shí),將所述第二字節(jié)·碼指令轉(zhuǎn)化為對(duì)應(yīng)的原生指令,所述第二字節(jié)碼指令為所述第二執(zhí)行單元無(wú)法執(zhí)行的字節(jié)碼指令;所述第一執(zhí)行單元適于執(zhí)行所述對(duì)應(yīng)的原生指令??蛇x的,所述第一轉(zhuǎn)換單元根據(jù)所述字節(jié)碼指令的內(nèi)容判斷所述字節(jié)碼指令為第二字節(jié)碼指令。本發(fā)明還提供一種指令的處理方法,包括第一處理單元執(zhí)行原生指令;第二處理單元執(zhí)行第一字節(jié)碼指令。如背景技術(shù)所述的,字節(jié)碼指令需要由虛擬機(jī)轉(zhuǎn)為原生指令后才能被執(zhí)行,所以現(xiàn)有智能卡運(yùn)行效率較低。本發(fā)明技術(shù)方案根據(jù)智能卡所需執(zhí)行的指令類型增加了可以直接執(zhí)行字節(jié)碼指令的處理單元,雖然增加了指令執(zhí)行單元的數(shù)量,但是省略了每個(gè)字節(jié)碼指令執(zhí)行都需要虛擬機(jī)轉(zhuǎn)換的過(guò)程,使得原生指令和字節(jié)碼指令都可以被快速執(zhí)行,提高了智能卡的運(yùn)行效率。并且,增加能夠直接執(zhí)行字節(jié)碼指令的處理單元來(lái)執(zhí)行字節(jié)碼指令,明顯加快了指令的執(zhí)行速度。
圖I為本發(fā)明實(shí)施例一的智能卡結(jié)構(gòu)示意圖;圖2為本發(fā)明實(shí)施例二的智能卡結(jié)構(gòu)示意圖;圖3為本發(fā)明實(shí)施例三的智能卡結(jié)構(gòu)示意圖;圖4為本發(fā)明指令的處理方法的一實(shí)施例流程圖;圖5為本發(fā)明指令的處理方法的另一實(shí)施例流程圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式
做詳細(xì)的說(shuō)明。在下列段落中參照附圖以舉例方式更具體地描述本發(fā)明。根據(jù)下列說(shuō)明,本發(fā)明的優(yōu)點(diǎn)和特征將更清楚。如圖I所示,本發(fā)明實(shí)施例一提供一種智能卡,包括第一處理單元I,包括適于執(zhí)行原生指令的第一執(zhí)行單元11 ;第二處理單元2,包括適于執(zhí)行第一字節(jié)碼指令的第二執(zhí)行單元21。所述第一執(zhí)行單元11可以為通用處理器,例如80251通用處理器。所述第二執(zhí)行單元21可以為能夠執(zhí)行字節(jié)碼指令的專用處理器,例如JAVA卡加速器。如背景技術(shù)所述的,字節(jié)碼指令需要由虛擬機(jī)轉(zhuǎn)為原生指令后才能被執(zhí)行,所以 現(xiàn)有智能卡運(yùn)行效率較低。本實(shí)施例根據(jù)智能卡所需執(zhí)行的指令類型增加了可以直接執(zhí)行字節(jié)碼指令的處理單元,雖然增加了指令執(zhí)行單元的數(shù)量,但是省略了每個(gè)字節(jié)碼指令執(zhí)行都需要虛擬機(jī)轉(zhuǎn)換的過(guò)程,使得原生指令和字節(jié)碼指令都可以被快速執(zhí)行,提高了智能卡的運(yùn)行效率。實(shí)施例一所述的智能卡還可以包括存儲(chǔ)單元3。存儲(chǔ)單元3適于保存所述原生指令和字節(jié)碼指令,所述字節(jié)碼指令包括第一字節(jié)碼指令。所述存儲(chǔ)單元3可以為內(nèi)部存儲(chǔ)器和/或外部存儲(chǔ)器。內(nèi)部存儲(chǔ)器可以包括R0M、EEPROM或RAM。保存在存儲(chǔ)單元3中的每條指令可以為原生指令,也可以為字節(jié)碼指令。單獨(dú)的原生指令、單獨(dú)的字節(jié)碼指令或者原生指令和字節(jié)碼指令可以構(gòu)成智能卡的應(yīng)用程序或操作系統(tǒng)等。每條原生指令或字節(jié)碼指令都在存儲(chǔ)單元3中擁有一個(gè)存儲(chǔ)地址,即每個(gè)存儲(chǔ)地址對(duì)應(yīng)一條原生指令或字節(jié)碼指令。實(shí)施例一所述的智能卡還可以包括存儲(chǔ)管理單元4。存儲(chǔ)管理單元4通過(guò)程序總線和數(shù)據(jù)總線連接所述第一處理單元I,通過(guò)字節(jié)碼總線連接所述第二處理單元2。存儲(chǔ)管理單元4可以具有邏輯控制、地址判斷和指令傳輸?shù)墓δ?。存?chǔ)管理單元4可以在第一處理單元I工作、第二處理單元2不工作時(shí)僅與第一處理單元I進(jìn)行指令和其他數(shù)據(jù)交互,在第二處理單元2工作、第一處理單元I不工作時(shí)僅與第二處理單元2進(jìn)行指令和其他數(shù)據(jù)交互。實(shí)施例一所述的第一處理單元I還可以包括原生指令讀取單元12。存儲(chǔ)管理單元4可以從存儲(chǔ)單元3讀取原生指令并發(fā)送至程序總線,原生指令讀取單元12通過(guò)程序總線讀取所述原生指令,第一執(zhí)行單元11執(zhí)行所述獲取到的原生指令??蛇x的,原生指令讀取單元12根據(jù)存儲(chǔ)地址讀取與所述存儲(chǔ)地址對(duì)應(yīng)的原生指令。具體的,存儲(chǔ)地址可以包括在第一處理單元I發(fā)送的指令請(qǐng)求中,存儲(chǔ)管理單元4對(duì)所述指令請(qǐng)求中的存儲(chǔ)地址進(jìn)行地址判斷,從存儲(chǔ)單元3讀取所述存儲(chǔ)地址對(duì)應(yīng)的原生指令,并將所述對(duì)應(yīng)的原生指令發(fā)送至程序總線,使得原生指令通過(guò)程序總線傳輸至原生指令讀取單元12,實(shí)現(xiàn)了原生指令讀取單元12對(duì)原生指令的讀取。如圖2所示,本發(fā)明實(shí)施例二與實(shí)施例一的區(qū)別在于存儲(chǔ)管理單元4適于從存儲(chǔ)單元3讀取字節(jié)碼指令并發(fā)送至數(shù)據(jù)總線;第一處理單元I還包括第一讀寫(xiě)單元13和第一判斷單元14,第一讀寫(xiě)單元13適于通過(guò)所述數(shù)據(jù)總線讀取字節(jié)碼指令,第一判斷單元14適于在判斷所讀取的字節(jié)碼指令為第一字節(jié)碼指令時(shí),輸出第一觸發(fā)信息;所述第二執(zhí)行單元21適于在獲取所述第一觸發(fā)信息后,執(zhí)行所述第一字節(jié)碼指令。所述第一判斷單元14可以根據(jù)所述字節(jié)碼指令的內(nèi)容判斷所述字節(jié)碼指令為第一字節(jié)碼指令。可選的,第一判斷單元14可以根據(jù)字節(jié)碼指令的內(nèi)容中的字節(jié)碼指令標(biāo)識(shí)判斷所述字節(jié)碼指令為第一字節(jié)碼指令。例如,字節(jié)碼指令的第一字節(jié)為字節(jié)碼指令標(biāo)識(shí),第一字節(jié)碼指令的字節(jié)碼指令標(biāo)識(shí)為“00”,則第一讀寫(xiě)單元13讀取的字節(jié)碼指令的第一字節(jié)為“00”時(shí),第一判斷單元14判斷所讀取的字節(jié)碼指令為第一字 節(jié)碼指令,輸出第一觸發(fā)信息。實(shí)施例二所述的智能卡還可以包括切換單元5。切換單元5可以保存所述第一觸發(fā)信息,第一讀寫(xiě)單元13可以通過(guò)數(shù)據(jù)總線將所述第一判斷單元14輸出的所述第一觸發(fā)信息保存至切換單元5。具體的,第一讀寫(xiě)單元13通過(guò)數(shù)據(jù)總線與存儲(chǔ)管理單元4相連接,切換單元5通過(guò)切換總線也與存儲(chǔ)管理單元4相連接,存儲(chǔ)管理單元4可以將第一觸發(fā)信息從數(shù)據(jù)總線傳輸至切換總線。實(shí)施例二所述的第二處理單元2還可以包括第二讀寫(xiě)單元22。所述第二讀寫(xiě)單元22與切換單元5相連接,通過(guò)字節(jié)碼總線與存儲(chǔ)管理單元4相連接。第二讀寫(xiě)單元22可以從切換單元5獲取所述第一觸發(fā)信息,還可以通過(guò)字節(jié)碼總線讀取字節(jié)碼指令。具體的,第一判斷單元14輸出第一觸發(fā)信息,第一讀寫(xiě)單元13將所述第一觸發(fā)信息發(fā)送至數(shù)據(jù)總線,存儲(chǔ)管理單元4將所述第一觸發(fā)信息從數(shù)據(jù)總線傳輸至切換總線,切換單元5保存所述第一觸發(fā)信息;第二讀寫(xiě)單元22可以定時(shí)檢測(cè)切換單元5,在獲取到切換單元5中的第一觸發(fā)信息后,將所述第一觸發(fā)信息發(fā)送給第二執(zhí)行單元21,第二執(zhí)行單元21執(zhí)行第一字節(jié)碼指令。所述第一觸發(fā)信息可以視為第二執(zhí)行單元21執(zhí)行第一字節(jié)碼指令的觸發(fā)信息。當(dāng)所述第一觸發(fā)信息包括所述第一字節(jié)碼指令時(shí),第二執(zhí)行單元21獲取所述第一觸發(fā)信息后即可獲得所述第一字節(jié)碼指令,因此第二執(zhí)行單元21可以在獲取所述第一觸發(fā)信息后直接執(zhí)行所述第一觸發(fā)信息中的第一字節(jié)碼指令。當(dāng)?shù)谝挥|發(fā)信息未包括所述第一字節(jié)碼指令時(shí),存儲(chǔ)管理單元4從存儲(chǔ)單元3讀取所需執(zhí)行的第一字節(jié)碼指令并發(fā)送至字節(jié)碼總線,第二讀寫(xiě)單元22通過(guò)字節(jié)碼總線讀取所述第一字節(jié)碼指令,第二執(zhí)行單元21執(zhí)行所述第一字節(jié)碼指令。在實(shí)際應(yīng)用中,所述切換單元5和第二處理單元2可以集成在一個(gè)芯片中。例如,所述切換單元5由寄存器實(shí)現(xiàn),所述第二處理單元2由專用處理器實(shí)現(xiàn),所述寄存器可以集成在所述專用寄存器內(nèi)。實(shí)施例二的技術(shù)方案采用第一處理單元讀取并判斷字節(jié)碼指令,在所述字節(jié)碼指令為適于所述第二處理單元執(zhí)行的指令時(shí),觸發(fā)第二處理單元執(zhí)行所述字節(jié)碼指令,利用第二處理單元處理所述字節(jié)碼指令提高了字節(jié)碼指令的執(zhí)行效率。如圖3所示,本發(fā)明實(shí)施例三與實(shí)施例一的區(qū)別在于存儲(chǔ)管理單元4適于從存儲(chǔ)單元3讀取字節(jié)碼指令并發(fā)送至數(shù)據(jù)總線;所述第一處理單元I還包括第一讀寫(xiě)單元13和第一轉(zhuǎn)換單元15,第一讀寫(xiě)單元13適于通過(guò)所述數(shù)據(jù)總線讀取字節(jié)碼指令,第一轉(zhuǎn)換單元15適于在判斷所讀取的字節(jié)碼指令為第二字節(jié)碼指令時(shí),將所述第二字節(jié)碼指令轉(zhuǎn)化為對(duì)應(yīng)的原生指令,所述第二字節(jié)碼指令為所述第二執(zhí)行單元無(wú)法執(zhí)行的字節(jié)碼指令;所述第一執(zhí)行單元11適于執(zhí)行所述對(duì)應(yīng)的原生指令。所述第一轉(zhuǎn)換單元15可以根據(jù)所述字節(jié)碼指令的內(nèi)容斷所述字節(jié)碼指令為第二字節(jié)碼指令??蛇x的,第一轉(zhuǎn)換單元15可以根據(jù)所述字節(jié)碼指令的內(nèi)容中的字節(jié)碼指令標(biāo)識(shí)斷所述字節(jié)碼指令為第二字節(jié)碼指令。例如,字節(jié)碼指令的第一字節(jié)為字節(jié)碼指令標(biāo)識(shí),第一字節(jié)碼指令的字節(jié)碼指令標(biāo)識(shí)為“01”,則第一讀寫(xiě)單元13讀取的字節(jié)碼指令的第一字節(jié)為“01”時(shí),第一轉(zhuǎn)換單元15判斷所述字節(jié)碼指令為第二字節(jié)碼指令,將所述第二字節(jié)碼指令轉(zhuǎn)化為對(duì)應(yīng)的原生指令,第一執(zhí)行單元11執(zhí)行所述對(duì)應(yīng)的原生指令。所述第一轉(zhuǎn)換單元15可以通過(guò)第二字節(jié)碼指令找到與所述第二字節(jié)碼指令相應(yīng)的解釋函數(shù),第一執(zhí)行單元11調(diào)用與所述第二字節(jié)碼指令相對(duì)應(yīng)的解釋函數(shù)實(shí)現(xiàn)與所述第二字節(jié)碼指令相對(duì)應(yīng)的原生指令的執(zhí)行?!?shí)施例三的技術(shù)方案采用第一處理單元讀取并判斷字節(jié)碼指令,在所述字節(jié)碼指令為第二處理單元無(wú)法執(zhí)行的字節(jié)碼指令時(shí),第一處理單元將所述字節(jié)碼指令轉(zhuǎn)為原生指令并執(zhí)行,從而更加完善了智能卡對(duì)字節(jié)碼指令的執(zhí)行機(jī)制。如圖4所示,本發(fā)明技術(shù)方案還提供一種指令的處理方法,包括步驟SI,第一處理單元執(zhí)行原生指令;步驟S2,第二處理單元執(zhí)行第一字節(jié)碼指令。步驟SI的所述第一處理單元執(zhí)行原生指令可以包括所述第一處理單元通過(guò)程序總線從存儲(chǔ)單元讀取所述原生指令。如圖5所示,所述指令的處理方法還可以包括步驟S11,所述第一處理單元讀取字節(jié)碼指令,在判斷所讀取的字節(jié)碼指令為第一字節(jié)碼指令時(shí),輸出第一觸發(fā)信息;步驟S21,所述第二處理單元在獲取所述第一觸發(fā)信息后,執(zhí)行所述第一字節(jié)碼指令。步驟Sll的所述第一處理單元判斷所述字節(jié)碼指令為第一字節(jié)碼指令包括所述第一處理單元根據(jù)所述字節(jié)碼指令的內(nèi)容判斷所述字節(jié)碼指令為第一字節(jié)碼指令。步驟Sll的所述第一處理單元輸出第一觸發(fā)信息包括所述第一處理單元通過(guò)數(shù)據(jù)總線將所述第一觸發(fā)信息保存至切換單元。所述第一觸發(fā)信息包括所述第一字節(jié)碼指令,所述處理方法還可以包括在所述第二處理單元執(zhí)行所述第一字節(jié)碼指令之前,所述第二處理單元從所述切換單元讀取所述第一字節(jié)碼指令。所述指令的處理方法還可以包括在所述第二處理單元執(zhí)行所述第一字節(jié)碼指令之前,所述第二處理單元通過(guò)字節(jié)碼總線從存儲(chǔ)單元讀取所述第一字節(jié)碼指令。所述指令的處理方法還可以包括所述第一處理單元讀取字節(jié)碼指令,在判斷所述字節(jié)碼指令為第二字節(jié)碼指令時(shí),將所述第二字節(jié)碼指令轉(zhuǎn)化為對(duì)應(yīng)的原生指令,執(zhí)行所述對(duì)應(yīng)的原生指令,所述第二字節(jié)碼指令為所述第二處理單元無(wú)法執(zhí)行的字節(jié)碼指令。所述第一處理單元判斷所述字節(jié)碼指令為第二字節(jié)碼指令包括所述第一處理單元根據(jù)所述字節(jié)碼指令的內(nèi)容判斷所述字節(jié)碼指令為第二字節(jié)碼指令所述第一處理單元讀取字節(jié)碼指令可以包括所述第一處理單元通過(guò)數(shù)據(jù)總線從存儲(chǔ)單元讀取字節(jié)碼指令。本發(fā)明實(shí)施例提供的指令的處理方法,增加了能夠直接執(zhí)行字節(jié)碼指令的處理單元來(lái)執(zhí)行字節(jié)碼指令,明顯加快了指令的執(zhí)行速度。雖然本發(fā)明已以較佳實(shí)施例披露如上,但本發(fā)明并非限定于此。任何本領(lǐng)域技術(shù)人員,在不脫離本發(fā)明 的精神和范圍內(nèi),均可作各種更動(dòng)與修改,因此本發(fā)明的保護(hù)范圍應(yīng)當(dāng)以權(quán)利要求所限定范圍。
權(quán)利要求
1.一種智能卡,其特征在于,包括第一處理單元,包括適于執(zhí)行原生指令的第一執(zhí)行單元;第二處理單元,包括適于執(zhí)行第一字節(jié)碼指令的第二執(zhí)行單元。
2.如權(quán)利要求I所述的智能卡,其特征在于,還包括存儲(chǔ)單元,適于保存所述原生指令和字節(jié)碼指令,所述字節(jié)碼指令包括第一字節(jié)碼指令。
3.如權(quán)利要求2所述的智能卡,其特征在于,還包括存儲(chǔ)管理單元,所述存儲(chǔ)管理單元通過(guò)程序總線和數(shù)據(jù)總線連接所述第一處理單元,通過(guò)字節(jié)碼總線連接所述第二處理單
4.如權(quán)利要求3所述的智能卡,其特征在于,所述存儲(chǔ)管理單元適于從所述存儲(chǔ)單元讀取原生指令并發(fā)送至所述程序總線,所述第一處理單元還包括原生指令讀取單元,適于通過(guò)所述程序總線讀取所述原生指令。
5.如權(quán)利要求3所述的智能卡,其特征在于,所述存儲(chǔ)管理單元適于從存儲(chǔ)單元讀取字節(jié)碼指令并發(fā)送至所述數(shù)據(jù)總線;所述第一處理單元還包括第一讀寫(xiě)單元,適于通過(guò)所述數(shù)據(jù)總線讀取字節(jié)碼指令;第一判斷單元,適于在判斷所讀取的字節(jié)碼指令為第一字節(jié)碼指令時(shí),輸出第一觸發(fā)信息;所述第二執(zhí)行單元適于在獲取所述第一觸發(fā)信息后,執(zhí)行所述第一字節(jié)碼指令。
6.如權(quán)利要求5所述的智能卡,其特征在于,所述第一判斷單元根據(jù)所述字節(jié)碼指令的內(nèi)容判斷所述字節(jié)碼指令為第一字節(jié)碼指令。
7.如權(quán)利要求5所述的智能卡,其特征在于,還包括切換單元,適于保存所述第一觸發(fā)信息;所述第一讀寫(xiě)單元還適于通過(guò)數(shù)據(jù)總線將所述第一判斷單元輸出的所述第一觸發(fā)信息保存至切換單元。
8.如權(quán)利要求7所述的智能卡,其特征在于,所述第二處理單元還包括第二讀寫(xiě)單元,所述第二讀寫(xiě)單元適于從所述切換單元獲取所述第一觸發(fā)信息。
9.如權(quán)利要求8所述的智能卡,其特征在于,所述第一觸發(fā)信息包括所述第一字節(jié)碼指令。
10.如權(quán)利要求8所述的智能卡,其特征在于,所述存儲(chǔ)管理單元適于從所述存儲(chǔ)單元讀取第一字節(jié)碼指令并發(fā)送至所述字節(jié)碼總線,所述第二讀寫(xiě)單元還適于通過(guò)所述字節(jié)碼總線讀取所述第一字節(jié)碼指令。
11.如權(quán)利要求3所述的智能卡,其特征在于,所述存儲(chǔ)管理單元適于從所述存儲(chǔ)單元讀取字節(jié)碼指令并發(fā)送至所述數(shù)據(jù)總線;所述第一處理單元還包括第一讀寫(xiě)單元,適于通過(guò)所述數(shù)據(jù)總線讀取字節(jié)碼指令;第一轉(zhuǎn)換單元,適于在判斷所讀取的字節(jié)碼指令為第二字節(jié)碼指令時(shí),將所述第二字節(jié)碼指令轉(zhuǎn)化為對(duì)應(yīng)的原生指令,所述第二字節(jié)碼指令為所述第二執(zhí)行單元無(wú)法執(zhí)行的字節(jié)碼指令;所述第一執(zhí)行單元適于執(zhí)行所述對(duì)應(yīng)的原生指令。
12.如權(quán)利要求11所述的智能卡,其特征在于,所述第一轉(zhuǎn)換單元根據(jù)所述字節(jié)碼指令的內(nèi)容判斷所述字節(jié)碼指令為第二字節(jié)碼指令。
13.一種指令的處理方法,其特征在于,包括 第一處理單元執(zhí)行原生指令; 第二處理單元執(zhí)行第一字節(jié)碼指令。
14.如權(quán)利要求13所述的指令的處理方法,其特征在于,所述第一處理單元執(zhí)行原生指令包括 所述第一處理單元通過(guò)程序總線從存儲(chǔ)單元讀取所述原生指令。
15.如權(quán)利要求13所述的指令的處理方法,其特征在于,還包括 所述第一處理單元讀取字節(jié)碼指令,在判斷所讀取的字節(jié)碼指令為第一字節(jié)碼指令時(shí),輸出第一觸發(fā)信息; 所述第二處理單元在獲取所述第一觸發(fā)信息后,執(zhí)行所述第一字節(jié)碼指令。
16.如權(quán)利要求15所述的指令的處理方法,其特征在于,所述第一處理單元判斷所述字節(jié)碼指令為第一字節(jié)碼指令包括 所述第一處理單元根據(jù)所述字節(jié)碼指令的內(nèi)容判斷所述字節(jié)碼指令為第一字節(jié)碼指令。
17.如權(quán)利要求15所述的指令的處理方法,其特征在于,所述第一處理單元輸出第一觸發(fā)信息包括 所述第一處理單元通過(guò)數(shù)據(jù)總線將所述第一觸發(fā)信息保存至切換單元。
18.如權(quán)利要求17所述的指令的處理方法,其特征在于,所述第一觸發(fā)信息包括所述第一字節(jié)碼指令,所述處理方法還包括 在所述第二處理單元執(zhí)行所述第一字節(jié)碼指令之前,所述第二處理單元從所述切換單元讀取所述第一字節(jié)碼指令。
19.如權(quán)利要求17所述的指令的處理方法,其特征在于,還包括 在所述第二處理單元執(zhí)行所述第一字節(jié)碼指令之前,所述第二處理單元通過(guò)字節(jié)碼總線從存儲(chǔ)單元讀取所述第一字節(jié)碼指令。
20.如權(quán)利要求13所述的指令的處理方法,其特征在于,還包括 所述第一處理單元讀取字節(jié)碼指令,在判斷所述字節(jié)碼指令為第二字節(jié)碼指令時(shí),將所述第二字節(jié)碼指令轉(zhuǎn)化為對(duì)應(yīng)的原生指令,執(zhí)行所述對(duì)應(yīng)的原生指令,所述第二字節(jié)碼指令為所述第二處理單元無(wú)法執(zhí)行的字節(jié)碼指令。
21.如權(quán)利要求20所述的指令的處理方法,其特征在于,所述第一處理單元判斷所述字節(jié)碼指令為第二字節(jié)碼指令包括 所述第一處理單元根據(jù)所述字節(jié)碼指令的內(nèi)容判斷所述字節(jié)碼指令為第二字節(jié)碼指令。
22.如權(quán)利要求15或20所述的指令的處理方法,其特征在于,所述第一處理單元讀取字節(jié)碼指令包括 所述第一處理單元通過(guò)數(shù)據(jù)總線從存儲(chǔ)單元讀取字節(jié)碼指令。
全文摘要
本發(fā)明技術(shù)方案提供一種智能卡和指令的處理方法,所述智能卡包括第一處理單元,包括適于執(zhí)行原生指令的第一執(zhí)行單元;第二處理單元,包括適于執(zhí)行第一字節(jié)碼指令的第二執(zhí)行單元。本發(fā)明技術(shù)方案根據(jù)智能卡所需執(zhí)行的指令類型增加了可以直接執(zhí)行字節(jié)碼指令的執(zhí)行單元,雖然增加了指令執(zhí)行單元的數(shù)量,但是省略了每個(gè)字節(jié)碼指令執(zhí)行都需要虛擬機(jī)轉(zhuǎn)換的過(guò)程,使得原生指令和字節(jié)碼指令都可以被快速執(zhí)行,提高了智能卡的運(yùn)行效率。
文檔編號(hào)G06K19/07GK102930322SQ20121037881
公開(kāi)日2013年2月13日 申請(qǐng)日期2012年9月29日 優(yōu)先權(quán)日2012年9月29日
發(fā)明者陸繼承, 鄔佳希, 劉丹 申請(qǐng)人:上海復(fù)旦微電子集團(tuán)股份有限公司