[发明专利]显示内存的分配方法和装置有效
申请号: | 201811223654.5 | 申请日: | 2018-10-19 |
公开(公告)号: | CN109408407B | 公开(公告)日: | 2021-08-03 |
发明(设计)人: | 张宝祺;王焕东 | 申请(专利权)人: | 龙芯中科技术股份有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 钭飒飒;刘芳 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 显示 内存 分配 方法 装置 | ||
本发明提供一种显示内存的分配方法和装置,该方法应用于集成有处理器的系统板卡,所述处理器包括窗口配置寄存器;该方法包括:对所述窗口配置寄存器进行配置,以使高端内存映射到低地址空间;其中,所述低地址空间通过窗口转换访问所述高端内存的地址;接收外设的内存申请;根据所述内存申请,为外设分配映射在所述低地址空间的所述高端内存。从而实现不再使用swiotlb机制来转换分配的高端内存进行DMA操作,节省了软件维护swiotlb机制的开销,减少了伴随使用swiotlb带来的内存拷贝,提升了集成显卡的显示性能。
技术领域
本发明涉及计算机技术领域,尤其涉及一种显示内存的分配方法和装置。
背景技术
随着处理器的大力推广,处理器作为计算机的运算核心和控制核心在各领域中的应用显著增加,越来越多搭载处理器的系统板卡开始面向应用。其中,新板卡集成显卡的性能越发受到关注,常规的32位系统或64位系统,其共享内存的显卡在需要分配内存时,直接从系统的剩余空间中分配一部分内存作为显卡的内存。但是,许多显卡是32位的,不具备64位的访存能力,因此无法访问高于32位的内存地址。
目前,在为显示驱动分配高端内存(高于32位的内存地址)时,显卡需要在进行直接存储器访问(Direct Memory Access,DMA)操作时,通过swiotlb机制将高端内存转换为低位地址的内存来使用。
但是,使用swiotlb机制时,需要通过软件不断申请释放数量有限的低位地址的内存空间,其软件运行复杂,开销加大,且会伴随大量拷贝工作,造成处理器性能的损失。
发明内容
本发明提供一种显示内存的分配方法和装置,以实现不再使用swiotlb机制来转换分配的高端内存进行DMA操作,节省了软件维护swiotlb机制的开销,减少了伴随使用swiotlb带来的内存拷贝,提升了集成显卡的显示性能。解决了显卡不支持64位DMA时,显卡需要分配高端内存后,使用swiotlb机制完成DMA操作,造成性能损失、性能低的问题。
第一方面,本发明实施例提供一种显示内存的分配方法,所述方法应用于集成有处理器的系统板卡,所述处理器包括窗口配置寄存器;所述方法包括:
对所述窗口配置寄存器进行配置,以使高端内存映射到低地址空间;其中,所述低地址空间通过窗口转换访问所述高端内存的地址;
接收外设的内存申请;
根据所述内存申请,为外设分配映射在所述低地址空间的所述高端内存。
可选地,对所述窗口配置寄存器进行配置,包括:
通过基本输入输出系统BIOS配置内存窗口,得到高端内存;
根据所述高端内存的容量,对所述窗口配置寄存器进行配置,得到高端内存与低地址空间的地址映射关系。
可选地,还包括:在基本输入输出系统BIOS向内核传输数据时,自动减去所述高端内存的地址区域,以使得所述高端内存成为显卡的专用内存。
可选地,接收外设的内存申请,包括:
接收显卡的驱动,或者中央处理器CPU发送的内存申请。
可选地,根据所述内存申请,为外设分配映射在所述低地址空间的所述高端内存,包括:
获取所述高端内存的剩余容量,以及映射在所述低地址空间的地址;
根据所述低地址空间的地址,修改内核的分配函数;
在内核中使用修改后的分配函数为显卡,或者中央处理器CPU分配映射在所述低地址空间的所述高端内存。
第二方面,本发明实施例提供一种显示内存的分配装置,所述装置集成在包括窗口配置寄存器的处理器中,所述处理器集成在的系统板卡中;所述装置包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术股份有限公司,未经龙芯中科技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811223654.5/2.html,转载请声明来源钻瓜专利网。