本發(fā)明專利技術技術方案提供一種指令的處理方法和智能卡,所述智能卡包括:存儲單元,適于保存原生指令和字節(jié)碼指令,所述字節(jié)碼指令包括第一字節(jié)碼指令;第一處理單元,包括適于執(zhí)行原生指令的第一執(zhí)行單元;第二處理單元,包括第一讀寫單元和第二執(zhí)行單元,所述第一讀取單元適于讀取字節(jié)碼指令,所述第二執(zhí)行單元適于在判斷所讀取的字節(jié)碼指令為第一字節(jié)碼指令時執(zhí)行所述第一字節(jié)碼指令。本發(fā)明專利技術技術方案采用能夠直接執(zhí)行字節(jié)碼指令的處理單元讀取并判斷字節(jié)碼指令,在大多數(shù)字節(jié)碼指令為所述處理單元所支持的情況下,進一步提高了字節(jié)碼指令的執(zhí)行效率。
【技術實現(xiàn)步驟摘要】
本專利技術涉及電子
,特別涉及一種指令的處理方法和智能卡。
技術介紹
現(xiàn)今,智能卡技術的應用范圍越來越廣泛,其功能也越來越強大。為了滿足日益增加的需求,智能卡的實現(xiàn)也愈加復雜。一種帶有虛擬機實現(xiàn)的智能卡,由于其平臺無關性、靈活性、擴展性、安全性等優(yōu)勢,在該領域大放異彩。這類智能卡,在傳統(tǒng)的硬件平臺上搭建了一個帶有標準指令集的虛擬機,開發(fā)人員只需要在此指令集的基礎上開發(fā)應用,而無需 了解具體的硬件平臺,大大縮短了產品開發(fā)的周期和成本。以Java智能卡為例。Java智能卡是一種能夠運行Java程序的智能卡,它在智能卡的硬件平臺上搭建了一個支持Java字節(jié)碼(bytecode)指令的虛擬機。為了執(zhí)行Java程序,虛擬機接受Java字節(jié)碼指令,將其轉化為等效的、被硬件平臺所支持的原生指令(nativeinstruction),最后執(zhí)行該原生指令序列。由于Java程序處于字節(jié)碼形式并不專用于任何一個系統(tǒng),只要有Java卡虛擬機即可使用,因此該Java程序可以在任何Java智能卡上運行。通常,虛擬機的指令解釋器進行一個循環(huán)操作,它從程序計數(shù)器所指的地址中讀取字節(jié)碼指令;根據(jù)字節(jié)碼指令找到相應的軟件解釋函數(shù);然后調用該解釋函數(shù)來完成字節(jié)碼指令所要實現(xiàn)的功能,同時更新程序計數(shù)器,這樣就完成了一條字節(jié)碼指令的解釋執(zhí)行;最后又回到指令解釋器的入口,重新開始解釋執(zhí)行一條新的字節(jié)碼指令。例如,公開號為CN 101231597A的中國專利申請公開一種智能卡中Java程序指令的執(zhí)行方法,該智能卡中設置有可執(zhí)行Java程序的虛擬機以及中央處理器,可由中央處理器訪問的存儲器,存儲器中存儲有Java程序的字節(jié)碼,該方法包括根據(jù)字節(jié)碼,將其轉換成對本地代碼的一系列調用,形成本地程序;將本地程序編譯成本地可執(zhí)行代碼,將本地可執(zhí)行代碼存儲至智能卡的存儲器中;虛擬機讀取字節(jié)碼,并判斷是否有本地程序與所讀取的字節(jié)碼對應,若有,則執(zhí)行對應的本地程序,否則解釋并執(zhí)行所讀取的字節(jié)碼。由上述內容可以看出,程序只能通過虛擬機轉換成原生指令才能被執(zhí)行的方式使得智能卡的運行效率明顯降低。
技術實現(xiàn)思路
本專利技術技術方案解決的是現(xiàn)有智能卡運行效率較低。本專利技術技術方案提供一種智能卡,包括存儲單元,適于保存原生指令和字節(jié)碼指令,所述字節(jié)碼指令包括第一字節(jié)碼指令;第一處理單元,包括適于執(zhí)行原生指令的第一執(zhí)行單元;第二處理單元,包括第一讀寫單元和第二執(zhí)行單元,所述第一讀取單元適于讀取字節(jié)碼指令,所述第二執(zhí)行單元適于在判斷所讀取的字節(jié)碼指令為第一字節(jié)碼指令時執(zhí)行所述第一字節(jié)碼指令。可選的,所述第二執(zhí)行單元適于根據(jù)所述字節(jié)碼指令的內容判斷所述字節(jié)碼指令為第一字節(jié)碼指令。可選的,所述智能卡還包括存儲管理單元,所述存儲管理單元通過程序總線和數(shù)據(jù)總線連接所述第一處理單元,通過字節(jié)碼總線連接所述第二處理單元,適于從所述存儲單元讀取字節(jié)碼指令并發(fā)送至所述字節(jié)碼總線。可選的,所述第二執(zhí)行單元還適于在判斷所讀取的字節(jié)碼指令為第二·字節(jié)碼指令時,輸出第一觸發(fā)信息,所述第二字節(jié)碼指令為所述第二處理單元無法執(zhí)行的字節(jié)碼指令;所述第一處理單元還包括第一轉換單元,適于在獲取所述第一觸發(fā)信息后,將所述第二字節(jié)碼指令轉化為對應的原生指令;所述第一執(zhí)行單元還適于執(zhí)行所述對應的原生指令。可選的,所述第二執(zhí)行單元適于根據(jù)所述字節(jié)碼指令的內容判斷所述字節(jié)碼指令為第二字節(jié)碼指令。可選的,所述智能卡還包括切換單元,適于保存所述第一觸發(fā)信息;所述第一轉換單元適于通過數(shù)據(jù)總線從所述切換單元獲取所述第一觸發(fā)信息。可選的,所述第一觸發(fā)信息包括所述第二字節(jié)碼指令。可選的,所述存儲管理單元還適于從所述存儲單元讀取所述第二字節(jié)碼指令并發(fā)送至所述數(shù)據(jù)總線,所述第一處理單元還包括第二讀寫單元,所述第二讀寫單元適于通過所述數(shù)據(jù)總線讀取所述第二字節(jié)碼指令。可選的,所述第二執(zhí)行單元還適于在執(zhí)行所述第一字節(jié)碼指令過程中發(fā)生中斷或異常時,輸出第二觸發(fā)信息,并在所述中斷或異常處理完成后,繼續(xù)執(zhí)行所述第一字節(jié)碼指令;所述第一執(zhí)行單元還適于在獲取所述第二觸發(fā)信息后,處理所述中斷或異常。可選的,所述智能卡還包括切換單元,適于保存所述第二觸發(fā)信息;所述第一轉換單元適于通過數(shù)據(jù)總線從所述切換單元獲取所述第二觸發(fā)信息。可選的,所述存儲管理單元還適于從所述存儲單元讀取原生指令并發(fā)送至所述程序總線,所述第一處理單元還包括原生指令讀取單元,適于通過所述程序總線讀取所述原生指令。本專利技術技術方案還提供一種指令的處理方法,包括第一處理單元執(zhí)行原生指令;第二處理單元讀取字節(jié)碼指令,在判斷所述字節(jié)碼指令為第一字節(jié)碼指令時執(zhí)行所述第一字節(jié)碼指令。如
技術介紹
所述的,字節(jié)碼指令需要由虛擬機轉為原生指令后才能被執(zhí)行,所以現(xiàn)有智能卡運行效率較低。本專利技術技術方案根據(jù)智能卡所需執(zhí)行的指令類型增加了可以直接執(zhí)行字節(jié)碼指令的處理單元,雖然增加了指令執(zhí)行單元的數(shù)量,但是省略了每個字節(jié)碼指令執(zhí)行都需要虛擬機轉換的過程,使得原生指令和字節(jié)碼指令都可以被快速執(zhí)行,提高了智能卡的運行效率。并且,本實施例技術方案采用能夠直接執(zhí)行字節(jié)碼指令的處理單元讀取并判斷字節(jié)碼指令,在大多數(shù)字節(jié)碼指令為所述處理單元所支持(即能夠直接執(zhí)行)的情況下,進一步提高了字節(jié)碼指令的執(zhí)行效率。附圖說明圖I為本專利技術實施例一的智能卡結構示意圖;圖2為本專利技術實施例二的智能卡結構示意圖;圖3為本專利技術指令的處理方法的一實施例流程圖;圖4為本專利技術指令的處理方法的另一實施例流程圖;圖5為本專利技術指令的處理方法的又一實施例流程圖。具體實施方式 下面結合附圖對本專利技術的具體實施方式做詳細的說明。在下列段落中參照附圖以舉例方式更具體地描述本專利技術。根據(jù)下列說明,本專利技術的優(yōu)點和特征將更清楚。如圖I所示,本專利技術實施例一提供一種智能卡,包括存儲單元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可以為內部存儲器和/或外部存儲器。內部存儲器可以包括R0M、EEPROM或RAM。保存在存儲單元3中的每條指令可以為原生指令,也可以為字節(jié)碼指令。單獨的原生指令、單獨的字節(jié)碼指令或者原生指令和字節(jié)碼指令可以構成智能卡的應用程序或操作系統(tǒng)等。每條原生指令或字節(jié)碼指令都在存儲單元3中擁有一個存儲地址,即每個存儲地址對應一條原生指令或字節(jié)碼指令。所述第二執(zhí)行單元21可以根據(jù)所述字節(jié)碼指令的內容判斷所述字節(jié)碼指令為第一字節(jié)碼指令。可選的,第二執(zhí)行單元21可以根據(jù)字節(jié)碼指令的內容中的字節(jié)碼指令標識判斷所述字節(jié)碼指令為第一字節(jié)碼指令。例如,字節(jié)碼指令的第一字節(jié)為字節(jié)碼指令標識,第一字節(jié)碼指令的字節(jié)碼指令標識為“00”,則第一讀寫單元22讀取的字節(jié)碼指令的第一字節(jié)為“00”時,第二執(zhí)行單元21判斷所讀取的字節(jié)碼指令為第一字節(jié)碼指令,執(zhí)行所述第一字節(jié)碼指令。實施本文檔來自技高網(wǎng)...
【技術保護點】
一種智能卡,其特征在于,包括:存儲單元,適于保存原生指令和字節(jié)碼指令,所述字節(jié)碼指令包括第一字節(jié)碼指令;第一處理單元,包括適于執(zhí)行原生指令的第一執(zhí)行單元;第二處理單元,包括第一讀寫單元和第二執(zhí)行單元,所述第一讀取單元適于讀取字節(jié)碼指令,所述第二執(zhí)行單元適于在判斷所讀取的字節(jié)碼指令為第一字節(jié)碼指令時執(zhí)行所述第一字節(jié)碼指令。
【技術特征摘要】
1.一種智能卡,其特征在于,包括 存儲單元,適于保存原生指令和字節(jié)碼指令,所述字節(jié)碼指令包括第一字節(jié)碼指令; 第一處理單元,包括適于執(zhí)行原生指令的第一執(zhí)行單元; 第二處理單元,包括第一讀寫單元和第二執(zhí)行單元,所述第一讀取單元適于讀取字節(jié)碼指令,所述第二執(zhí)行單元適于在判斷所讀取的字節(jié)碼指令為第一字節(jié)碼指令時執(zhí)行所述第一字節(jié)碼指令。2.如權利要求I所述的智能卡,其特征在于,所述第二執(zhí)行單元適于根據(jù)所述字節(jié)碼指令的內容判斷所述字節(jié)碼指令為第一字節(jié)碼指令。3.如權利要求I所述的智能卡,其特征在于,還包括存儲管理單元,所述存儲管理單元通過程序總線和數(shù)據(jù)總線連接所述第一處理單元,通過字節(jié)碼總線連接所述第二處理單元,適于從所述存儲單元讀取字節(jié)碼指令并發(fā)送至所述字節(jié)碼總線。4.如權利要求3所述的智能卡,其特征在于,所述第二執(zhí)行單元還適于在判斷所讀取的字節(jié)碼指令為第二字節(jié)碼指令時,輸出第一觸發(fā)信息,所述第二字節(jié)碼指令為所述第二處理單元無法執(zhí)行的字節(jié)碼指令; 所述第一處理單元還包括 第一轉換單元,適于在獲取所述第一觸發(fā)信息后,將所述第二字節(jié)碼指令轉化為對應的原生指令; 所述第一執(zhí)行單元還適于執(zhí)行所述對應的原生指令。5.如權利要求4所述的智能卡,其特征在于,所述第二執(zhí)行單元適于根據(jù)所述字節(jié)碼指令的內容判斷所述字節(jié)碼指令為第二字節(jié)碼指令。6.如權利要求4所述的智能卡,其特征在于,還包括切換單元,適于保存所述第一觸發(fā)信息;所述第一轉換單元適于通過數(shù)據(jù)總線從所述切換單元獲取所述第一觸發(fā)信息。7.如權利要求4所述的智能卡,其特征在于,所述第一觸發(fā)信息包括所述第二字節(jié)碼指令。8.如權利要求4所述的智能卡,其特征在于,所述存儲管理單元還適于從所述存儲單元讀取所述第二字節(jié)碼指令并發(fā)送至所述數(shù)據(jù)總線,所述第一處理單元還包括第二讀寫單元,所述第二讀寫單元適于通過所述數(shù)據(jù)總線讀取所述第二字節(jié)碼指令。9.如權利要求3所述的智能卡,其特征在于,所述第二執(zhí)行單元還適于在執(zhí)行所述第一字節(jié)碼指令過程中發(fā)生中斷或異常時,輸出第二觸發(fā)信息,并在所述中斷或異常處理完成后,繼續(xù)執(zhí)行所述第一字節(jié)碼指令; 所述第一執(zhí)行單元還適于在獲取所述第二觸發(fā)信息后,處理所述中斷或異常。10.如權利要求9所述的智能卡,其特征在于,還包括切換單元,適于保存所述第二觸發(fā)信息;所述第一轉換單元適于通過數(shù)據(jù)總線從所述切換單元獲取所述第二觸發(fā)信息。11.如權利要求3所述的智能卡,其特征在于,所述存儲管理單元還適于從所述存儲單元讀取原生指令并發(fā)送至所述程序總線,所述第一處理單元還包括原生指令讀取單元,適于通過所述程序總線讀取所述原生指令。12.一種指令的處理方...
【專利技術屬性】
技術研發(fā)人員:陸繼承,鄔佳希,劉珊珊,
申請(專利權)人:上海復旦微電子集團股份有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。