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