[发明专利]与调度性能直接相关的内存管理核的硬件化的方法无效
申请号: | 200910097644.6 | 申请日: | 2009-04-13 |
公开(公告)号: | CN101539869A | 公开(公告)日: | 2009-09-23 |
发明(设计)人: | 陈天洲;缪良华;张楠;陈剑;汪达舟 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 杭州求是专利事务所有限公司 | 代理人: | 林怀禹 |
地址: | 310027浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 调度 性能 直接 相关 内存 管理 硬件 方法 | ||
1、一种与调度性能直接相关的内存管理核的硬件化的方法,其特征在于,包括以下步骤:
(1)进程页表的创建:
输入:PID;
输出:suc寄存器,操作成功返回1,失败返回0;
读入要创建页表的进程的PID,在PID与页表基地址转换表中找到PID所对应的表项,并将进程页表的基地址,即PID*1024写入该表项中,采用一级页表映射,每个页表的大小为4K Bytes,因此该页表映射最多达8M Bytes的内存空间;
(2)进程虚拟地址到物理地址的映射:
输入:PID,要映射的虚拟地址,要映射的物理地址;
输出:suc寄存器,操作成功返回1,失败返回0;
根据输入的PID,计算出该进程的页表基地址,利用输入的虚拟地址的高10位作为索引,找到页表中该虚拟地址对应的项,检查表项中的合法位是否置位,如果已经置位则操作失败,将suc赋值为0;否则将物理地址的高10位填入该表项中并将表项中的合法位置位;该合法位标识了该虚拟页已经被映射使用;
(3)进程虚拟地址到物理地址的取消映射:
输入:PID,要取消映射的虚拟地址;
输出:suc寄存器,操作成功返回1,失败返回0;
根据输入的PID,计算出该进程的页表基地址,利用输入的虚拟地址的高10位作为索引,找到页表中该虚拟地址对应的项,将表项中的合法位置0,表示该虚拟页已经被释放;
(4)进程页表的切换:
输入:即将运行PID;
输出:suc寄存器,操作成功返回1,失败返回0;
首先将切换前正在运行的进程PID存储到用来记录上一个运行进程PID号寄存器last_pid中,然后将输入的进程PID号赋给标志当前运行进程PID的寄存器curr_pid;由于在进行虚拟地址到物理地址的转换时,页表的选择是根据curr_pid来进行计算,因此修改了curr_pid的值实现进程页表切换;
(5)进程页表的删除:
输入:PID;
输出:无;
读入要创建页表的进程的PID,在进程号与页表基地址转换表中找到进程号所对应的表项,并将该表项清空,表明该进程的页表映射已经完全失效,同时要将实际页表中所有项的合法位清空,实现进程页表的删除;
(6)进程虚拟地址到物理地址的转换:
输入:虚拟地址VA;
输出:物理地址PA,suc寄存器,操作成功返回1,失败返回0;
将输入虚拟地址的前10位作为索引,首先在TLB中进行查找,如果查找到则直接返回物理地址;否则以curr_pid计算出当前进程页表的基地址,在该页表中选择出对应的表项;然后检查该表项的合法位,如果该位为零则表明无此虚拟地址,程序访问错误,置suc为0;否则将表项中存储的物理地址高10位读出到PA寄存器中和TLB的对应项中;TLB的替换采用先进先出的替换方法。
2、根据权利要求1所述的一种与调度性能直接相关的内存管理核的硬件化的方法,其特征在于:所述的进程页表创建,删除,切换,虚拟地址映射,反映射以及虚拟地址到物理地址的转换均由硬件来完成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910097644.6/1.html,转载请声明来源钻瓜专利网。