发明名称 嵌入式系统中基于SPM的指令缓冲的实现方法
摘要 本发明公开了一种嵌入式系统中基于SPM的指令缓冲的实现方法。本发明的方法结合SPM位于嵌入式处理器片上的特点,对SPM的空间进行划分,将程序的指令驻留在SPM上。本发明实现了对SPM的有效使用,充分利用了SPM速度快的特点,提高了程序执行的效率。本发明实现了对SPM的有效使用,充分利用了SPM速度快的特点,提高了程序执行的效率;本发明对SPM的使用,有利于在运行时减少程序由于存储访问带来的能耗。
申请公布号 CN100549945C 申请公布日期 2009.10.14
申请号 CN200810062162.2 申请日期 2008.06.03
申请人 浙江大学 发明人 陈天洲;胡威;施青松;严力科;谢斌;黄江伟;章铁飞;冯德贵;项凌祥;陈剑
分类号 G06F9/38(2006.01)I;G06F12/02(2006.01)I 主分类号 G06F9/38(2006.01)I
代理机构 杭州求是专利事务所有限公司 代理人 林怀禹
主权项 1.一种嵌入式系统中基于ScratchPad SRAM的指令缓冲的实现方法,其特征在于:1)ScratchPad SRAM空间的逻辑划分:根据ScratchPad SRAM的特点,对ScratchPad SRAM空间进行以大小为4k的块为最小单位的划分;对于拥有m个快速bank,n个慢速bank的ScratchPad SRAM来说,快速bank的bank号为QB0到QBm-1,每个快速bank内的空间被划分为每个大小为4k的逻辑块,这也正是ScratchPad SRAM的最小物理使用单元;慢速bank的bank号为LB0到LBn-1,为了减少碎片的产生,充分利用ScratchPadSRAM,慢速bank每个bank的逻辑块大小的划分可以根据系统的使用环境进行调整和适应,其逻辑块大小应为2的指数幂的大小且大于4k的大小;2)进程对ScratchPad SRAM空间的请求:进程对于使用ScratchPad SRAM空间的请求,包括动态请求和静态请求;静态请求ScratchPad SRAM空间是在编译阶段的工作,一些程序可以根据需求,通过基于相对地址的定址编译技术,把程序编译到慢速bank;ScratchPad SRAM空间的动态请求,作为运行中的嵌入式操作系统,当一个进程建立的时候,根据它的优先级别和运行特性,来对ScratchPad SRAM空间进行分配;3)改进进程模块:针对进程控制块的内容信息的改造,以及建立进程、调度进程、删除进程时候的过程的修改;设计一个域表示进程是否想要申请ScratchPad SRAM空间作为进程代码段空间;进程建立的时候,除了一般的建立过程之外,判断是否申请ScratchPad SRAM地址空间,如果是申请的,进入内存管理中的ScratchPad SRAM空间申请模块;4)改造内存模块:对内存模块中的换页机制进行改造;对于ScratchPad SRAM来说,增加基于bank的“bank-块”式的管理,按照bank、块为ScratchPadSRAM空间建立索引页表;5)进程调度对ScratchPad SRAM指令缓冲的使用:当一次调度来临,某进程被切换到运行的时候,判断其代码段的位置,共可分为以下三种情况依次处理:a.代码段处于ScratchPad SRAM空间中时,保持普通的调度过程,继续执行下去就可以;b.代码段处于DRAM空间中时,如果当前进程属于优先级比较低的进程,在其建立的时候,就没有提出对ScratchPad SRAM空间的申请,不进行重新分配;如果进程建立时期其对ScratchPad SRAM空间的申请没有被满足,自动退化成对普通DRAM空间的申请,重新检查它的申请是否能被满足;c.代码段处于DRAM空间中,但已经被换页机制换出DRAM空间时,重新检查该进程,如果该进程在建立时期曾经提出过ScratchPadSRAM空间的申请,重新检查该进程对ScratchPad SRAM空间的申请是否在此刻能被满足,如果能够满足就进行分配,否则就仍然分配到DARM空间;6)回收ScratchPad SRAM空间:基于步骤1)中对ScratchPad SRAM空间的逻辑划分,对快速bank和慢速bank的当前状态进行标记;基于存在位,对ScratchPad SRAM空间进行回收:进程删除时,检查其代码段是否在ScratchPad SRAM空间上,如果不是,维持一般的进程删除过程;如果是,则进入ScratchPad SRAM空间回收模块,置相应的ScratchPad SRAM内存空间块的存在位为0,表示该块ScratchPad SRAM内存空间重新可被别的进程申请和使用;7)整理ScratchPad SRAM空间:在进程的删除时,在遍历整个ScratchPad SRAM空间索引页表的过程中进行;判断ScratchPad SRAM的剩余空间的大小,如果满足处于[30%,70%]之间时,检查最近对ScratchPad SRAM的操作次数,如果操作次数大于10,做碎片整理工作,如果小于10,继续等待新的ScratchPad SRAM空间申请的到来。
地址 310027浙江省杭州市西湖区浙大路38号