[发明专利]一种扩展SRAM容量的虚拟存储方法有效
申请号: | 201210059093.6 | 申请日: | 2012-03-08 |
公开(公告)号: | CN102662858A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 陈诚;朱念好;周玉洁 | 申请(专利权)人: | 上海爱信诺航芯电子科技有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 上海信好专利代理事务所(普通合伙) 31249 | 代理人: | 徐雯琼 |
地址: | 200241 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 扩展 sram 容量 虚拟 存储 方法 | ||
1.一种扩展SRAM容量的虚拟存储方法,其特征在于,该方法包含以下步骤:
步骤1、初始化;
步骤2、CPU访问SRAM的虚拟地址SramVaddr;
步骤3、判断SRAM的虚拟地址SramVaddr是否小于(M-m)K,若是,跳转到步骤10,若否,跳转到步骤4;
其中,M是SRAM的总容量,m是SRAM的最后mK字节;
步骤4、令SRAM交换扇区虚拟基地址序号Sid=0;
步骤5、判断SRAM交换扇区Sid的虚拟基地址是否等于SRAM虚拟基地址SramVaddr,若是,则跳转到步骤10,若否,则跳转到步骤7;
步骤6、Sid= Sid +1;
步骤7、判断Sid是否大于n,若是,跳转到步骤8,若否,跳转到步骤5;
步骤8、SRAM控制器产生硬件异常,CPU进入异常处理函数,SRAM与EFlash进行交换数据操作;
步骤9、更改最空闲交换扇区的基地址;
步骤10、将SRAM的虚拟地址SramVaddr映射到物理地址SramPaddr;
步骤11、CPU执行读写操作;
步骤12、CPU结束访问SRAM。
2.如权利要求1所述的扩展SRAM容量的虚拟存储方法,其特征在于,所述的步骤1包含以下步骤:
步骤1.1、在SRAM上选取交换块,同时在EFlash上选取备份块;
将SRAM的最后mK字节平均划分成n个扇区,对每个扇区从0到n进行编号,分别对应记为SramSwapSector 0~SramSwapSector n;
将CPU访问SRAM的系统地址称之为SRAM虚拟地址,记为SramVaddr,SRAM实际物理寻址地址称之为SRAM物理地址,记为SramPaddr;
步骤1.2、SRAM控制器在上电时,初始化n个交换扇区的虚拟基地址。
3.如权利要求2所述的扩展SRAM容量的虚拟存储方法,其特征在于,SRAM上交换块的每个扇区的大小与eflash上备份快的每个扇区大小一样,交换块中每个物理扇区都与一个对应的逻辑扇区进行对应,该对应表会在SRAM控制器内保存。
4.如权利要求1所述的扩展SRAM容量的虚拟存储方法,其特征在于,所述的步骤8包含以下步骤:
步骤8.1、SRAM控制器设置异常错误虚拟源地址ErrScrVaddr和异常错误虚拟目标地址ErrDstVaddr;
步骤8.2、令WordCnt=0;
步骤8.3、读出以ErrScrVaddr为虚拟基地址的整个扇区中以WordCnt为偏移量的一个字;
步骤8.4、将步骤8.3中读出的一个字写入到EFlash的某一空白扇区中;
步骤8.5、WordCnt = WordCnt+1;
步骤8.6、判断WordCnt =W是否成立,若是,跳转到步骤8.7,若否,跳转到步骤8.3;
W代表一个扇区的字数;
步骤8.7、令WordCnt=0;
步骤8.8、根据异常错误虚拟目标地址ErrDstVaddr对应的EFlash中的扇区,读出该扇区中已经备份的第WordCnt个数据;
步骤8.9、将步骤8.8中读出的数据写入到以ErrScrVaddr为扇区虚拟基地址,以WordCnt为偏移量的SRAM中;
步骤8.10、WordCnt = WordCnt+1;
步骤8.11、判断WordCnt =W是否成立,若是,跳转到步骤8.12,若否,跳转到步骤8.8;
W代表一个扇区的字数;
步骤8.12、交换完成标志位置位;
步骤8.13、结束交换数据。
5.如权利要求4所述的扩展SRAM容量的虚拟存储方法,其特征在于,
异常错误虚拟源地址ErrScrVaddr表示的是一个虚拟基地址,此虚拟基地址对应的整个扇区数据需要备份到EFlash中,因为此虚拟基地址所在的交换扇区将被用来存放引起硬件异常的SRAM虚拟地址所有的整个扇区;
异常错误虚拟目标地址ErrDstVaddr表示的是一个虚拟基地址,此虚拟基地址对应的整个扇区数据需要从EFlsah中还原过来,为异常处理结束后CPU再次执行引起此次异常的指令服务。
6.如权利要求1所述的扩展SRAM容量的虚拟存储方法,其特征在于,所述的步骤9包含以下步骤:
步骤9.1、CPU访问交换扇区S;
步骤9.2、计算交换扇区S在当前空闲状态表中的位置POS;
步骤9.3、从位置0到POS执行循环左移操作,完成一次空闲状态转换流程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海爱信诺航芯电子科技有限公司,未经上海爱信诺航芯电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210059093.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:形成瀑布型水流的出水裝置
- 下一篇:低压工况压杆失稳触发型泄压装置