伊人久久国产精品,色综合久久久久,精品国产香蕉伊思人在线又爽又黄,国产激情对白一区二区三区四

網站首頁企業百科 產品百科 技術百科 人物百科

動態邏輯分區并控制訪問權限的IC智能卡及其實現方法 我有新說法
61 0
《動態邏輯分區并控制訪問權限的IC智能卡及其實現方法》是大唐微電子技術有限公司于2003年6月10日申請的發明,該申請號為03137511,公布號為CN1567362,公布日為2005年1月19日,發明人是孫東昱、龔宗躍。該發明涉及IC智能卡領域,特別是涉及一種能將IC智能卡中的一個物理存儲器動態劃分為多個邏輯分區、并且控制存儲器訪問權限的IC智能卡及其實現方法。[2] 該發明公開了一種具有動態劃分多邏輯分區及存儲器訪問控制功能的IC智能卡及其實現方法。該IC智能卡包括微處理器、存儲器組和串行I/O接口電路。其中存儲器組采用混合存儲器結構,包括可編程非易失性存儲器,其中可編程非易失性存儲器作為動態劃分存儲器,在邏輯上可劃分為多個邏輯分區。在微處理器內增加存儲器動態劃分寄存器MAR,用于在其中動態設置可編程非易失性存儲器中各邏輯分區的大小;在微處理器與存儲器組之間加入存儲器管理模塊,用于將可編程非易失性存儲器動態劃分為多個邏輯分區并且進行相應的存儲器訪問權限控制。[1] 2010年11月15日,《動態邏輯分區并控制訪問權限的IC智能卡及其實現方法》獲得第十二屆中國獎優秀獎。[3] (概述圖為《動態邏輯分區并控制訪問權限的IC智能卡及其實現方法》的摘要附圖)[2]

目錄

動態邏輯分區并控制訪問權限的IC智能卡及其實現方法背景

在信息社會,人們對信息載體的安全性、可靠性、易用性等方面提出了更高的要求。具有存儲、加密及數據處理能力的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)根據預先設定的訪問權限來判斷應用程序對存儲器的訪問是否合法,以是否產生相應的操作。[1]

動態邏輯分區并控制訪問權限的IC智能卡及其實現方法發明內容

動態邏輯分區并控制訪問權限的IC智能卡及其實現方法目的

《動態邏輯分區并控制訪問權限的IC智能卡及其實現方法》的一個目的是在硬件電路上提供一種具有動態劃分多邏輯分區功能和存儲器訪問控制功能的IC智能卡。程序員可以根據實際需要,將IC智能卡芯片內的物理存儲器動態劃分為多邏輯分區,并且進行存儲器訪問控制管理,從而適應不同應用對存儲區大小和訪問權限的需求。該發明的另一目的是提供了一種將上述IC智能卡中的一個物理存儲器動態劃分為多個邏輯分區、并對卡內存儲器進行訪問權限控制的方法。[1]

動態邏輯分區并控制訪問權限的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中的程序進行修正,不會因為應用的不同,而必須重新進行芯片設計和芯片制造,節省了開發時間與成本,為基于智能卡的增值業務的升級和擴展提供了高效、靈活的硬件平臺。[1]

動態邏輯分區并控制訪問權限的IC智能卡及其實現方法改善效果

《動態邏輯分區并控制訪問權限的IC智能卡及其實現方法》通過動態設置存儲器動態劃分寄存器MAR的值,并結合存儲器管理模塊4,可以動態調整非易失性存儲器中各個邏輯分區的大小,以適應不同應用對存儲區大小的需求;另外,修改非易失性存儲器中程序存儲區的代碼,即可增加新的應用或是對固化在ROM中的程序進行修正,不會因為應用略有不同而必須重新進行芯片設計和芯片制造,從而節省了開發時間與成本,為基于智能卡的增值業務的升級和擴展提供了高效、靈活的硬件平臺。[1]

動態邏輯分區并控制訪問權限的IC智能卡及其實現方法附圖說明

圖1為動態邏輯分區并控制訪問權限的IC智能卡芯片邏輯框圖;
圖2為存儲器動態劃分寄存器示意圖;
圖3為存儲器管理模塊邏輯結構框圖;
圖4A為2003年6月之前技術中以軟件實現存儲器管理的IC智能卡的系統框圖,圖4B為依據該發明改進了存儲器管理的IC智能卡系統框圖;
圖5為存儲器動態劃分和訪問控制流程圖
圖6為一個物理存儲器邏輯劃分前后的存儲區分布圖;
圖7為IC智能卡芯片內的存儲器空間分布圖;
圖8為ROM存儲器訪問控制流程圖;
圖9為RAM存儲器訪問控制流程圖;
圖10為EEPROM存儲器動態劃分及訪問控制流程圖;
圖11為IC智能卡芯片內存儲器空間動態劃分后的存儲區分布圖。[1]

動態邏輯分區并控制訪問權限的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所述的方法,其特征在于所述的可動態劃分存儲器可以劃分為兩個或兩個以上的邏輯分區。[1]

動態邏輯分區并控制訪問權限的IC智能卡及其實現方法實施方式

以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
表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產生,寫信號無效。[1]

動態邏輯分區并控制訪問權限的IC智能卡及其實現方法榮譽表彰

2010年11月15日,《動態邏輯分區并控制訪問權限的IC智能卡及其實現方法》獲得第十二屆中國獎優秀獎。[3]
參考資料


目錄
相關產品RElATED PRODUCTS