[发明专利]基于32/64位混合操作系统的显存分配方法及装置有效
申请号: | 201410586856.1 | 申请日: | 2014-10-28 |
公开(公告)号: | CN105630599B | 公开(公告)日: | 2019-02-15 |
发明(设计)人: | 王洪虎;朱琛;王和俊 | 申请(专利权)人: | 龙芯中科技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 刘芳 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 32 64 混合 操作系统 显存 分配 方法 装置 | ||
1.一种基于32/64位混合操作系统的显存分配方法,其特征在于,包括:
在所述混合操作系统启动时,通过基本输入输出系统BIOS设定内存预留值,并向内核传递所述内存预留值,以在所述混合操作系统的低32位内存中为显卡预留专用内存,所述内存预留值小于所述混合操作系统中低32位内存的总容量;
通过所述内核对所述混合操作系统的低32位内存中除了所述内存预留值以外的内存进行初始化;
向所述内核申明所述内存预留值对应的内存为所述显卡的专用内存;
在接收到所述显卡的驱动发送的使用请求命令时,从所述显卡的专用内存中为所述显卡分配内存;
在向所述内核申明所述内存预留值对应的内存为所述显卡的专用内存之后,还包括:
在接收到用户程序发送的使用请求命令时,在所述内核中使用分配函数从所述显卡的专用内存中为所述显卡分配内存,得到为所述用户程序分配的内存地址;
使用地址重映射函数将所述内存地址映射为用户态指针,得到对应的内存指令;
使用复制函数将所述内存指令传递给所述用户程序对应的用户态。
2.根据权利要求1所述的方法,其特征在于,所述向所述内核申明所述内存预留值对应的内存为所述显卡的专用内存,包括:
在所述内核的驱动中的探针probe接口函数中调用声明函数,以向所述内核申明所述内存预留值对应的内存为所述显卡的专用内存。
3.根据权利要求1所述的方法,其特征在于,从所述显卡的专用内存中为所述显卡分配内存,包括:
在所述内核中使用分配函数从所述显卡的专用内存中为所述显卡分配内存。
4.根据权利要求1所述的方法,其特征在于,在向所述内核申明所述内存预留值对应的内存为所述显卡的专用内存之后,还包括:
使用释放函数释放所述专用内存。
5.一种基于32/64位混合操作系统的显存分配装置,其特征在于,所述装置包括:
处理模块,用于在所述混合操作系统启动时,通过基本输入输出系统BIOS设定内存预留值,并向内核传递所述内存预留值,以在所述混合操作系统的低32位内存中为显卡预留专用内存,所述内存预留值小于所述混合操作系统中低32位内存的总容量;
初始化模块,用于通过所述内核对所述混合操作系统的低32位内存中除了所述内存预留值以外的内存进行初始化;
申明模块,用于向所述内核申明所述内存预留值对应的内存为所述显卡的专用内存;
分配模块,用于在接收到所述显卡的驱动发送的使用请求命令时,从所述显卡的专用内存中为所述显卡分配内存;
还包括:转换模块和发送模块;
所述分配模块,还用于在接收到用户程序发送的使用请求命令时,在所述内核中使用分配函数从所述显卡的专用内存中为所述显卡分配内存,得到为所述用户程序分配的内存地址;
所述转换模块,用于使用地址重映射函数将所述内存地址映射为用户态指针,得到对应的内存指令;
所述发送模块,用于使用复制函数将所述内存指令传递给所述用户程序对应的用户态。
6.根据权利要求5所述的装置,其特征在于,所述申明模块,具体用于在所述内核的驱动中的探针probe接口函数中调用声明函数,以向所述内核申明所述内存预留值对应的内存为所述显卡的专用内存。
7.根据权利要求5所述的装置,其特征在于,所述分配模块,具体用于在所述内核中使用分配函数从所述显卡的专用内存中为所述显卡分配内存。
8.根据权利要求5所述的装置,其特征在于,还包括:
释放模块,用于使用释放函数释放所述专用内存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术有限公司,未经龙芯中科技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410586856.1/1.html,转载请声明来源钻瓜专利网。