專利背景
在信息社會,人們對信息載體的安全性、可靠性、易用性等方面提出了更高的要求。具有存儲、加密及數據處理能力的IC智慧卡,以其嚴密的數據安全性,廣泛的套用靈活性和強大的功能擴展性,為現代信息的處理和傳遞提供了一種便捷可靠的手段。
在IC智慧卡晶片中常用到的存儲器有
隨機存儲器(RAM)、
唯讀存儲器(ROM)、可程式非易失性存儲器(EEPROM或FLASH MEMORY)。RAM一般用於存放運算過程中的中間數據或變數,具有高速存取數據能力,但是掉電後存儲的數據會丟失,而且面積較大;ROM可用於存放IC智慧卡的作業系統(COS)、常數、與安全和認證相關的加密算法或其它通用應用程式,它的存儲容量大、集成度高、性能穩定可靠,但數據只能讀出,無法改寫;EEPROM(或FLASH MEMORY)可用於存放IC智慧卡的作業系統、用戶數據和管理數據,能進行讀寫操作,面積適中,但寫入速度較慢。
根據半導體存儲器的存儲容量、存取時間、功耗、面積和使用壽命等特性,合理分配存儲器空間,採用不同的半導體存儲器組合作為系統存儲器具有極重要 的意義,因為它對晶片的功耗,工作頻率和成本等方面具有很大影響。
IC智慧卡晶片的存儲器分區結構有兩種:一種是物理分區結構;另一種是邏輯分區結構。對於物理分區結構來說,是將幾種不同的存儲器(如ROM,RAM,EEPROM等)集成在一個IC卡晶片中,由控制電路統一進行管理;而對於邏輯分區結構來說,是人為規定存儲器中存儲單元的套用屬性,以達到可控訪問的目的。
傳統的IC智慧卡晶片由微處理器、存儲器和I/O接口電路組成,一般採用ROM作為程式存儲區,EEPROM(或FLASH MEMORY)作為數據存儲區使用,這種存儲器結構組合很適合於大批量定型產品,其成本和安全性均能得到有效保證,但它最大的缺陷是它缺乏靈活性,固化在ROM中的COS無法根據新業務需求進行修改或補充。如何提供高質量、多樣化、個性化的增值服務,成為了各服務商不懈努力的方向,而原有的晶片結構是無法滿足這種需求的。因此出現了EEPROM(或FLASH MEMORY)既作為數據存儲器,也作為程式存儲器的IC智慧卡(參見中國專利申請00136740.4),使物理地址連續完整的一個物理存儲器,在邏輯上能夠按照不同套用劃分為不同的存儲區域,各存儲區域分別完成不同功能。這種劃分,為服務商推出新業務提供了較強的靈活性,如電子商務動態選單下載、增值業務空中下載等,但是這種結構的數據存儲器和程式存儲器等邏輯分區的劃分在晶片設計完成後,其大小就無法改變,並且只能進行套用數據下載。
另一種IC智慧卡存儲器管理是通過在COS中增加存儲器管理功能來實現的(參見公開號為WO01/16759A1的PCT專利申請),如圖4A所示,是以軟體實現存儲器管理的IC智慧卡的系統框圖。在這種方式下,對存儲器的管理完全由作業系統(OS)來完成。應用程式產生的存儲器訪問請求被傳送到作業系統(OS),作業系統(OS)根據預先設定的訪問許可權來判斷應用程式對存儲器的訪問是否合法,以判決是否產生相應的操作。
發明內容
專利目的
《動態邏輯分區並控制訪問許可權的IC智慧卡及其實現方法》的一個目的是在硬體電路上提供一種具有動態劃分多邏輯分區功能和存儲器訪問控制功能的IC智慧卡。程式設計師可以根據實際需要,將IC智慧卡晶片內的物理存儲器動態劃分為多邏輯分區,並且進行存儲器訪問控制管理,從而適應不同套用對存儲區大小和訪問許可權的需求。該發明的另一目的是提供了一種將上述IC智慧卡中的一個物理存儲器動態劃分為多個邏輯分區、並對卡記憶體儲器進行訪問許可權控制的方法。
技術方案
《動態邏輯分區並控制訪問許可權的IC智慧卡及其實現方法》適用於具有如下體系結構的IC智慧卡晶片:
●程式存儲器和數據存儲器分開編址;
●指令由操作碼和地址碼組成;
●I/O接口與存儲器的數據交換通過微處理器協助完成。
依據該發明的第一個方面,提供了一種具有動態劃分多邏輯分區和存儲器訪問控制功能的IC智慧卡晶片,它包括微處理器、存儲器組和串列I/O接口電路等,其中存儲器組採用混合存儲器結構,包括可程式非易失性存儲器(如EEPROM或FLASH MEMORY)。在微處理器內增加存儲器動態劃分暫存器MAR(memoryallocation register),在微處理器與存儲器組之間有一個存儲器管理模組。如圖4B所示為改進了存儲器管理的IC智慧卡的系統框圖。存儲器動態劃分暫存器MAR是程式設計師可訪問的特殊功能暫存器,可由程式設計師根據需要在其中動態設定可程式非易失性存儲器中各邏輯分區的大小。
存儲器管理模組用於根據存儲器動態劃分暫存器MAR中的值,將非易失性存儲器動態劃分為多個邏輯分區,並控制所有微處理器訪問存儲器組的操作。
存儲器管理模組包含以下模組:可動態劃分存儲器邏輯分區地址生成模組,根據MAR的值,生成可程式非易失性存儲器中各邏輯分區的地址範圍;地址解碼模組,在COS通過微處理器對存儲器進行訪問時對系統輸入地址 ADDR_IN進行解碼;存儲器選擇模組,依據由地址解碼模組解碼後產生的地址選擇微處理器訪問的存儲器;指令解碼模組,對微處理器內指令暫存器中存儲的指令進行解碼從而判斷操作類型;讀寫許可權控制模組,根據PC指針和存儲器訪問許可權決定是否能對存儲器選擇模組選取的存儲器進行讀寫操作;存儲器接口控制信號生成模組,依據上述判斷結果,如果可以對所選存儲器進行訪問操作,則產生相應的存儲器控制信號,如果禁止進行操作,即使微處理器產生了存儲器訪問控制信號,也將會被存儲器管理模組禁止,不進行讀寫操作,從而硬體實現了在一個物理存儲器內動態劃分多邏輯分區及存儲器訪問許可權控制。
依據該發明的另一方面,還提供了一種將上述IC智慧卡中的一個物理存儲器動態劃分為多個邏輯分區,並對卡記憶體儲器進行訪問許可權控制的方法。該方法包含以下步驟:在微處理器內增加存儲器動態劃分暫存器MAR,在其中設定可程式非易失性存儲器中各邏輯分區的大小;根據存儲器動態劃分暫存器MAR中的值,生成可動態劃分存儲器中各邏輯分區的地址範圍,根據地址劃分界限將可動態劃分存儲器劃分成不同邏輯分區;根據邏輯分區結果,對CPU當前工作狀態進行判斷,完成對各個存儲器模組的訪問許可權控制。
其中所述完成對各個存儲器模組的訪問許可權控制的步驟包括:在COS通過微處理器對存儲器進行訪問時,微處理器將產生系統地址信號ADDR_IN、以及存儲器訪問控制信號,如果是寫入操作,數據匯流排上還將載入欲寫入數據信息;對系統輸入地址ADDR_IN進行解碼;依據解碼後產生的地址選擇微處理器訪問的存儲器;對微處理器內指令暫存器中存儲的指令進行解碼從而判斷操作類型;根據PC指針 和存儲器訪問許可權決定是否能對存儲器選擇模組選取的存儲器進行讀寫操作;依據上述判斷結果,如果可以對所選存儲器進行訪問操作,則產生相應的存儲器控制信號,如果禁止進行操作,即使微處理器產生了存儲器訪問控制信號,也將會被存儲器管理模組禁止,不進行讀寫操作,從而實現了在一個物理存儲器內動態劃分多邏輯分區及存儲器訪問許可權控制。
在微處理器和存儲器組之間設定存儲器管理模組,由其控制微處理器對存儲器組的所有操作,並且該存儲器管理模組和存儲器動態劃分暫存器MAR結合後,可以動態調整EEPROM等非易失性存儲器中數據存儲區和程式存儲區兩個分區的大小。邏輯分區動態調整後,可以滿足不同套用對存儲區大小的需求,或是通過修改EEPROM等非易失性存儲器中程式存儲區的代碼,即可增加新的套用或對固化在ROM中的程式進行修正,不會因為套用的不同,而必須重新進行晶片設計和晶片製造,節省了開發時間與成本,為基於智慧卡的增值業務的升級和擴展提供了高效、靈活的硬體平台。
改善效果
《動態邏輯分區並控制訪問許可權的IC智慧卡及其實現方法》通過動態設定存儲器動態劃分暫存器MAR的值,並結合存儲器管理模組4,可以動態調整非易失性存儲器中各個邏輯分區的大小,以適應不同套用對存儲區大小的需求;另外,修改非易失性存儲器中程式存儲區的代碼,即可增加新的套用或是對固化在ROM中的程式進行修正,不會因為套用略有不同而必須重新進行晶片設計和晶片製造,從而節省了開發時間與成本,為基於智慧卡的增值業務的升級和擴展提供了高效、靈活的硬體平台。
附圖說明
圖1為動態邏輯分區並控制訪問許可權的IC智慧卡晶片邏輯框圖;
圖2為存儲器動態劃分暫存器示意圖;
圖3為存儲器管理模組邏輯結構框圖;
圖4A為2003年6月之前技術中以軟體實現存儲器管理的IC智慧卡的系統框圖,圖4B為依據該發明改進了存儲器管理的IC智慧卡系統框圖;
圖5為存儲器動態劃分和訪問控制流程圖
圖6為一個物理存儲器邏輯劃分前後的存儲區分布圖;
圖7為IC智慧卡晶片內的存儲器空間分布圖;
圖8為ROM存儲器訪問控制流程圖;
圖9為RAM存儲器訪問控制流程圖;
圖10為EEPROM存儲器動態劃分及訪問控制流程圖;
圖11為IC智慧卡晶片記憶體儲器空間動態劃分後的存儲區分布圖。
權利要求
1.《動態邏輯分區並控制訪問許可權的IC智慧卡及其實現方法》包括微處理器、存儲器組和串列I/O接口電路,其中存儲器組中包括可程式非易失性存儲器,其特徵在於:所述微處理器包括一個存儲器動態劃分暫存器MAR,用於在其中設定可程式非易失性存儲器中各邏輯分區的大小;在微處理器與存儲器組之間有一個存儲器管理模組,用於根據存儲器動態劃分暫存器MAR中的值,將可程式非易失性存儲器動態劃分為多個邏輯分區,並控制所有微處理器訪問存儲器組的操作。
2.如權利要求1所述的IC智慧卡晶片,其特徵在於:所述的存儲器管理模組包括:可動態劃分存儲器邏輯分區地址生成模組,用於根據存儲器動態劃分暫存器MAR的值生成可動態劃分存儲器中各邏輯分區的地址;地址解碼模組,用於在IC智慧卡作業系統通過微處理器對存儲器進行訪問時對系統輸入地址進行解碼,完成地址映射;存儲器選擇模組,用於根據地址解碼模組解碼後產生的映射地址,選擇微處理器要訪問的存儲器。
3.如權利要求1或2所述的IC智慧卡晶片,其特徵在於所述的存儲器管理模組還包括:讀/寫許可權控制模組,用於根據PC指針和存儲器訪問許可權決定是否對存儲器選擇模組所選取的存儲器進行讀/寫操作;指令解碼模組,用於對微處理器內指令暫存器IR進行解碼,以判斷指令 操作的類型;以及存儲器接口控制模組,用於依據上述判斷結果,如果可以對所選存儲器進行訪問操作,則產生相應的存儲器控制信號,如果禁止進行操作,則不進行讀寫操作。
4.如權利要求1或2所述的IC智慧卡晶片,其特徵在於:所述的微處理器是INTEL8051兼容微處理器。
5.一種在IC智慧卡晶片內實現動態劃分多邏輯分區和存儲器訪問許可權控制的方法,該IC智慧卡包括微處理器、存儲器組和串列I/O接口電路等,所述微處理器包括一個設定有初始值的暫存器MAR,所述存儲器組包括可程式非易失性存儲器,其特徵在於所述方法包括以下步驟:修改所述暫存器MAR的所述初始值,以便設定所述可程式非易失性存儲器中各邏輯分區的大小;根據所述暫存器MAR的值,生成可動態劃分存儲器中各邏輯分區的地址範圍,並根據地址劃分界限將可動態劃分存儲器劃分成不同的邏輯分區;根據邏輯分區結果,對CPU當前工作狀態進行判斷,完成對各個存儲器模組的訪問許可權控制。
6.如權利要求5所述的方法,其特徵在於所述完成對各個存儲器模組的訪問許可權控制的步驟進一步包括:在IC智慧卡作業系統通過微處理器對存儲器進行訪問時,由微處理器產生系統地址信號,以及存儲器訪問控制信號,如果是寫入操作,數據匯流排上還將載入欲寫入的數據信息;對系統輸入地址進行解碼;依據解碼後產生的映射地址選擇微處理器要訪問的存儲器;對微處理器內指令暫存器中存儲的指令進行解碼從而判斷操作類型;根據PC指針和存儲器訪問許可權確定是否能對存儲器選擇模組選取的存儲器進行讀/寫操作;依據上述判斷結果,如果可以對所選存儲器進行訪問操作,則產生相應的存儲器控制信號,如果禁止進行操作,則不進行讀寫操作。
7.如權利要求5所述的方法,其特徵在於:所述的可程式非易失存儲器可以被劃分為程式存儲區和數據存儲區。
8.如權利要求5所述的方法,其特徵在於:所述的微處理器是INTEL8051兼容微處理器。
9.如權利要求8所述的方法,其特徵在於:對MOVC和MOVX指令以及程式取指令操作進行控制。
10.如權利要求5所述的方法,其特徵在於:可以根據套用的特點,選取所述暫存器MAR中的N位來決定劃分的顆粒度。
11.如權利要求5所述的方法,其特徵在於:所述的可動態劃分存儲器中各邏輯分區的地址範圍的生成方法為:將所述暫存器MAR中的N位有效值與地址信號組合形成邏輯分區劃分界限,此劃分界限決定邏輯分區的地址範圍,當暫存器中的值變化後,各邏輯分區的地址範圍會相應變動。
12.如權利要求5或6所述的方法,其特徵在於:所述的控制存儲器讀寫許可權是指在程式運行時,根據設定的讀寫控制許可權,控制程式能否訪問存儲器組。
13.如權利要求5所述的方法,其特徵在於所述的可動態劃分存儲器可以劃分為兩個或兩個以上的邏輯分區。
實施方式
以INTEL8051兼容微處理器為例,介紹該發明的具體實現。對於本領域技術人員來說顯然該發明也可以適用於其它類型的微處理器。
圖1所示為《動態邏輯分區並控制訪問許可權的IC智慧卡及其實現方法》採用的在一個物理存儲器內動態劃分多邏輯分區並實現存儲器訪問控制的IC智慧卡晶片框圖,該IC智慧卡晶片由微處理器1及其外圍電路2組成,外圍電路2包括存儲器組3,存儲器管理模組4和串列I/O接口電路8。
該IC智慧卡晶片內採用混合存儲器結構,存儲器組3包括EEPROM存儲器5、ROM存儲器6和RAM存儲器7。其中ROM存儲器6作為程式存儲器,RAM存儲器7作為數據存儲器,而EEPROM存儲器5在邏輯上劃分為兩部分:一部分作數據存儲區,另一部分作程式存儲區。
此處所說的EEPROM存儲器5和ROM存儲器6也可用其它非易失存儲器代替。
該發明是通過在晶片微處理器1中增加存儲器動態劃分暫存器MAR,並在微處理器1與存儲器組3之間加入存儲器管理模組4,來實現在一個物理存儲器內動態劃分多邏輯分區以及對存儲器組3的訪問許可權進行控制的。
在圖2中顯示了存儲器動態劃分暫存器MAR的示意圖,為8比特位元組。它是一個特殊功能暫存器,可由程式設計師根據需要對其進行設定。在IC智慧卡上電復位後,由COS對存儲器動態劃分暫存器MAR賦值,如果不進行賦值,則預設情況下MAR為全0。
可以根據套用特點,選取存儲器動態劃分暫存器8位中的n位(1≤n≤8)來 決定劃分的顆粒度:
例如存儲器可動態劃分區間容量為31K,取n=5,則存儲器劃分的顆粒度,即劃分的最小區間為1K。
存儲器管理模組4位於微處理器1與存儲器組3之間,微處理器1訪問存儲器組3的所有操作均受其控制。存儲器管理模組4和存儲器動態劃分暫存器MAR結合,可以動態調整EEPROM存儲器5中數據存儲區和程式存儲區兩個分區的大小,滿足不同套用對存儲區大小的需求。
圖3為存儲器管理模組4的結構框圖,它由可動態劃分存儲器邏輯分區地址生成模組31、地址解碼模組32、存儲器選擇模組33、讀寫許可權控制模組34、指令解碼模組35、及存儲器接口控制信號生成模組36、37、38組成。
圖3中的各個信號說明如下:
其中輸入信號為:
ADDR_IN:系統地址信號,標識微處理器訪問的存儲器地址
PC指針:程式指針暫存器輸入,標識當前程式執行的位置
MAR輸入:存儲器動態劃分暫存器輸入,用於存儲器多邏輯分區地址生成
IR輸入:指令暫存器輸入,標識當前執行的操作
ALE:系統地址鎖存信號
PSEN:程式存儲器訪問選通信號
RD:數據存儲器讀信號
WR:數據存儲器寫信號
輸出信號為:
可程式非易失存儲器EEPROM讀寫控制信號:控制對EEPROM進行讀寫操作
唯讀存儲器ROM讀控制信號:控制對ROM進行讀操作
隨機存儲器RAM讀寫控制信號:控制對RAM進行讀寫操作
存儲器動態劃分是由程式設計師通過系統命令修改存儲器動態劃分暫存器MAR的值來實現的,存儲器管理模組4中可動態劃分存儲器邏輯分區地址生成模組31根據MAR值生成可程式非易失性存儲器5中各邏輯分區的地址範圍,方法為:MAR中的n位有效值與地址信號組合形成新的地址信號,例如將MAR中的低5位與地址信號ADDR[15],ADDR[9...0]組合,形成′1′&MAR[4...0]&″0000000000″地址劃分界限,高於此地址劃分界限的存儲區域設定為程式存儲區,低於此地址劃分界限的存儲區域設定為數據存儲區,當MAR的值變化後,邏輯分區的地址範圍也會相應變動,從而在可程式非易失性存儲器5中形成32種可選劃分方案,實現了存儲器動態劃分。
在INTEL8051兼容微處理器指令系統中,MOVC和MOVX指令將控制微處理器1對存儲器組3進行訪問操作,存儲器管理模組4就是要對MOVC和MOVX指令,以及程式取指令操作進行控制。
當COS通過微處理器1對存儲器組3進行訪問時,微處理器1將產生系統地址信號ADDR_IN,存儲器訪問控制信號ALE,PSEN,RD和WR,如果進行寫入操作,數據匯流排上還會載入欲寫入數據信息。
系統輸入地址ADDR_IN通過存儲器管理模組4中的地址解碼模組32解碼,並結合可動態劃分存儲器邏輯分區地址生成模組31生成的邏輯分區地址,來選擇微處理器1將訪問的存儲器,同時微處理器內IR暫存器存儲的指令經指令解碼模組35解碼判斷操作類型,由讀寫許可權控制模組34根據PC指針和存儲器訪問許可權決定是否對存儲器選擇模組33選取的存儲器進行讀寫操作,其中PC指針用於判斷程式2003年6月之前在存儲器中所處位置,如是合法的訪問操作,則由存儲器接口控制信號 生成模組36、37、38產生相應的存儲器讀寫控制信號;如果禁止進行操作,即使微處理器1產生了存儲器訪問控制信號,也將會被存儲器管理模組4禁止,無法進行讀寫操作。
存儲器動態劃分和訪問控制的流程如圖5所示。
在圖6中顯示了EEPROM5在邏輯劃分前後的存儲區分布。EEPROM5可以劃分為兩個或兩個以上的邏輯分區,其劃分前如圖6左側所示,其中邏輯分區61用作存儲IC智慧卡COS的程式存儲區;邏輯分區63用作存儲用戶數據的數據存儲區;第三個分區62作為程式/數據動態劃分區。EEPROM存儲器5的一種劃分結果如圖6右側所示,程式存儲區64包括邏輯分區61全部和邏輯分區62中劃分為程式存儲區的部分;數據存儲區65包括邏輯分區63全部和邏輯分區62中劃分為數據存儲區的部分。
在軟體升級和新業務增加時,可以通過設定存儲器動態劃分暫存器MAR的內容調整EEPROM5的邏輯劃分,重新分配EEPROM5中程式存儲器和數據存儲器的容量。例如把空閒的部分數據存儲區轉變為程式存儲區使用,以增加新的套用,或通過修改EEPROM存儲器5中程式存儲區的代碼,對固化在ROM中的程式進行修正,或反之,把空閒的程式存儲區轉變為數據存儲區使用,以提供更大的用戶存儲空間,不會因為套用略有不同,而必須重新進行晶片設計。
為了方便程式設計師編程,保證程式存儲區或數據存儲區的起始地址都從0000H開始,存儲器管理模組4還要對邏輯地址進行變換,以映射到物理存儲器的不同物理地址,從而可以根據套用把物理地址連續完整的一個物理存儲器劃分為大小可靈活調整的多邏輯分區。
以圖7所示的存儲器劃分結構為例,假如32KROM存儲器74作為程式存儲器,1KRAM存儲器72作為數據存儲器,64KEEPROM存儲器76(邏輯上由EEPROM存儲器71,73,75組成)動態劃分為程式存儲器和數據存儲器。可以設定存儲器讀寫 控制許可權參見表1:
表1所示存儲器讀寫控制許可權表僅為示例,可以根據需要設定為其它許可權。
下面舉例說明如何實現動態劃分多邏輯分區以及存儲器訪問控制許可權。
如圖7所示,32KROM存儲器74作為程式存儲器,1KRAM存儲器72作為數據存儲器,64KEEPROM存儲器76分為3個區,其中1KEEPROM存儲器71固定作為程式存儲器,位於程式區高端,地址範圍為:FC00H-FFFFH,32KEEPROM存儲器75固定作為數據存儲器,位於數據區低端,地址範圍為:0000H-7FFFH,31KEEPROM存儲器73作為程式/數據可動態劃分存儲器,為了保證數據區連續,其低端作為數據存儲器,高端作為程式存儲器,劃分界限由存儲器動態劃分暫存器MAR決定。
假設存儲器動態劃分暫存器MAR有效位設為5位(在設計階段確定),則劃分 的最小區間為1K,由存儲器動態劃分暫存器MAR的低5位決定程式存儲區的起始地址,共32種選擇。如要調整存儲器劃分區間,可以通過改變存儲器動態劃分暫存器MAR的值完成。
現假設存儲器動態劃分暫存器MAR設為10000,從而把31KEEPROM存儲器73劃分為兩個區間:從8000H-BFFFH為數據存儲區,C000H-FBFFH為程式存儲區,存儲器空間動態劃分後分布圖如圖11所示:
程式存儲區為48K,地址範圍為:32KROM存儲器113(0000H-7FFFH),16KEEPROM存儲器111和115(C000H-FFFFH);
數據存儲區為49K,地址範圍為:48KEEPROM存儲器114和116(0000H-BFFFH),1KRAM存儲器112(FC00H-FFFFH)。
根據讀寫控制許可權表1,當程式運行於ROM存儲器113時,可對ROM存儲器113和EEPROM存儲器111,115程式區進行MOVC讀操作,對1KRAM存儲器112和EEPROM存儲器114,116數據區進行MOVX讀寫操作;當程式運行於EEPROM存儲器固定劃分程式區111時,可讀EEPROM存儲器111,115的內容,禁止讀ROM存儲器113,對1KRAM存儲器112和EEPROM存儲器114,116數據區仍可進行MOVX讀寫操作;當程式運行於EEPROM存儲器動態劃分程式區115時,可讀EEPROM存儲器動態劃分程式區115的內容,對EEPROM存儲器動態劃分數據區116可進行MOVX讀寫操作,禁止訪問其它存儲區。
以上的EEPROM動態劃分多邏輯分區僅僅是作為例子給出的,也可以採用其它的劃分方案,例如:如果存儲器分配暫存器信號MAR設為00000時,31K動態劃分區間73全部作為程式存儲區,EEPROM存儲器76動態劃分後的分區情況為:程式存儲區為32K,地址範圍為:8000H~FFFFH數據存儲區為32K,地址範圍為:0000H~7FFFH如果存儲器分配暫存器信號MAR設為00011時,31K動態劃分區間73中3K空間作為數據存儲區,其它28K空間作為程式存儲區,EEPROM存儲器76動態劃分後的分區情況為:程式存儲區為29K,地址範圍為:8400H~FFFFH數據存儲區為3K,地址範圍為:8000H~83FFH上述各個存儲器的讀寫信號可通過以下方法產生:參照圖8ROM存儲器訪問控制流程圖,32KROM存儲器74的操作如下:當系統地址ADDR_IN[15]=′0′,PC指針PC[15]=′0′時,通過讀寫許可權控制模組32可知道程式位於ROM存儲器74,如此時IR輸入經指令解碼模組35判斷為MOVX指令,經讀寫許可權控制模組34判決,屬於非法操作,ROM存儲器74控制信號無效;否則ROM存儲器74時鐘信號由ALE信號產生,進行取指令操作或MOVC指令操作。
其它情況,ROM存儲器74時鐘信號無效。
ROM存儲器74片選信號由上述時鐘信號生成。
參照圖9RAM存儲器訪問控制流程圖,1KRAM存儲器72的操作如下:
如果系統地址ADDR_IN[15...10]=″111111″,通過地址解碼模組32,選擇RAM存儲器72,如此時IR輸入是MOVX指令,且指令運行於ROM區或EEPROM固定程式區(由PC指針判定),則經指令解碼模組35和讀寫許可權控制模組34判決,存儲器讀寫信號分別由數據存儲器讀信號RD和寫信號WR產生;否則讀寫控制信號無效。
參照圖10EEPROM存儲器動態劃分及訪問控制流程圖,64KEEPROM存儲器76 的操作如下:
如前所述,假定邏輯分區75固定劃分為32K,邏輯分區71固定劃分為1K,邏輯分區73為31K可動態劃分區間。現取n=5,劃分的顆粒度為1K。
可動態劃分存儲器邏輯分區地址生成模組31劃分的邏輯分區為:
如果″FBFF″≥ADDR_IN[15...0]≥′1′&MAR[4...0]&″0000000000″,則對應空間為動態劃分程式存儲區115;
如果″7FFF″<ADDR_IN[15...0]<′1′&MAR[4...0]&″0000000000″,則對應空間為動態劃分數據存儲區116;
當系統地址ADDR_IN經地址解碼模組32判定為數據存儲區114或動態劃分數據存儲區116地址後,且IR輸入經指令解碼模組35發現是MOVX指令時:
●當指令運行於ROM區113或EEPROM固定程式區111時(由PC指針判定),經讀寫許可權控制模組34判決,EEPROM存儲器76片選信號有效,讀寫信號分別由數據存儲器讀信號RD和寫信號WR產生;
●當指令運行於EEPROM動態劃分程式存儲區115(由PC指針判定),則只有對動態劃分數據存儲區116進行讀寫操作時,EEPROM存儲器76片選信號有效,讀寫信號分別由數據存儲器讀信號RD和寫信號WR產生,對數據存儲區114禁止進行操作。
當系統地址線ADDR_IN經地址解碼模組32判定為固定程式存儲區111地址,IR輸入經指令解碼模組35發現是MOVX指令,經讀寫許可權控制模組34判決,EEPROM存儲器76所有控制信號無效;如IR輸入經指令解碼模組35發現是MOVC指令且程式運行於ROM區113或EEPROM固定程式區111,或者進行載入指令操作,經讀寫許可權控制模組34判決,EEPROM存儲器76片選信號有效,讀信號由地址鎖存信號ALE產生,寫信號無效。
當系統地址線ADDR_IN經地址解碼模組32判定為動態劃分程式存儲區115地 址,IR輸入經指令解碼模組35發現是MOVX指令,經讀寫許可權控制模組34判決,EEPROM存儲器76所有控制信號無效;如IR輸入經指令解碼模組35發現是MOVC指令,或者進行載入指令操作,經讀寫許可權控制模組34判決,EEPROM存儲器76片選信號有效,讀信號由地址鎖存信號ALE產生,寫信號無效。
榮譽表彰
2010年11月15日,《動態邏輯分區並控制訪問許可權的IC智慧卡及其實現方法》獲得第十二屆中國專利獎優秀獎。