[发明专利]用于异构计算的统一内核虚拟地址空间在审
| 申请号: | 202080060590.0 | 申请日: | 2020-07-22 |
| 公开(公告)号: | CN114286987A | 公开(公告)日: | 2022-04-05 |
| 发明(设计)人: | 邝东全;本杰明·坤·潘·陈;威廉·劳埃德·阿特金森 | 申请(专利权)人: | ATI科技无限责任公司 |
| 主分类号: | G06F12/09 | 分类号: | G06F12/09;G06F12/06 |
| 代理公司: | 上海胜康律师事务所 31263 | 代理人: | 樊英如;张静 |
| 地址: | 加拿大*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 计算 统一 内核 虚拟 地址 空间 | ||
公开了用于实现用于异构计算的统一内核虚拟地址空间的系统、装置和方法。一种系统至少包括运行第一内核的第一子系统、输入/输出存储器管理单元(IOMMU)以及运行第二内核的第二子系统。为了在所述两个子系统之间共享存储器缓冲区,所述第一子系统在由所述第一子系统控制的系统存储器的一部分中分配存储器块。创建从所述第一子系统的所述内核地址空间的第一逻辑地址到所述存储器块的第一映射。然后,所述IOMMU创建第二映射,以从所述第二子系统的所述内核地址空间的第二逻辑地址映射所述存储器块的物理地址。这些映射允许所述第一和第二子系统共享引用所述存储器块的缓冲区指针。
背景技术
相关技术说明
通常,在计算设备之间共享存储器缓冲区将需要设备在设备地址空间中或在物理地址空间中交换指针或句柄。
大多数情况下,在使用该指针之前,计算设备会将指针转换为具有存储器管理单元(MMU)页表映射的本地虚拟地址空间。这使得指针本身或包含指针的结构的共享效率低下且具有挑战性。
附图说明
通过结合附图参考以下描述,可更好地理解本文描述的方法和机制的优点,在附图中:
图1是计算系统的一个实现方式的框图。
图2是创建用于异构计算的统一内核虚拟地址空间的一个实现方式的图示。
图3是在两个单独的子系统之间共享缓冲区的一个实现方式的图示。
图4是将存储器区域映射到多个内核地址空间的一个实现方式的图示。
图5是示出用于创建统一内核虚拟地址空间的方法的一个实现方式的通用流程图。
图6是示出用于启用多个内核地址空间中的公共共享区域的方法的一个实现方式的通用流程图。
图7是示出用于在两个不同子系统之间启用缓冲区指针共享的方法的一个实现方式的通用流程图。
具体实施方式
在以下描述中,阐述了众多特定细节以提供对本文呈现的方法和机制的透彻理解。然而,本领域普通技术人员应认识到,可在没有这些具体细节的情况下实践各种实现方式。在一些情况下,并未详细示出众所周知的结构、部件、信号、计算机程序指令和技术,以避免混淆本文所述的方法。应了解,出于说明简明和清楚起见,在图中示出的元件不一定按比例绘制。例如,一些元件的尺寸可相对于其他元件被放大。
本文公开了用于实现用于异构计算的统一内核虚拟地址空间的系统、装置和方法。在一个实现方式中,一种系统至少包括运行第一内核的第一子系统、输入/输出存储器管理单元(IOMMU)以及运行第二内核的第二子系统。在一个实现方式中,所述IOMMU创建统一内核地址空间,从而允许所述第一和第二子系统在内核级别共享存储器缓冲区。为了在所述两个子系统之间共享存储器缓冲区,所述第一子系统在由所述第一子系统控制的系统存储器的一部分中分配存储器块。创建了从所述第一子系统的所述第一内核地址空间的第一逻辑地址到所述存储器块的第一映射。然后,所述IOMMU创建第二映射,以从所述第二子系统的所述第二内核地址空间的第二逻辑地址映射该存储器块的物理地址。这些映射允许所述第一和第二子系统共享所述内核地址空间中的引用所述存储器块的缓冲区指针。
现在参考图1,示出了计算系统100的一个实现方式的框图。在一个实现方式中,计算系统100至少包括第一子系统110、第二子系统115、一个或多个输入/输出(I/O)接口120、输入/输出存储器管理单元(IOMMU)125、存储器子系统130以及一个或多个外围设备135。在其他实现方式中,计算系统100可包括其他部件,和/或计算系统100可以不同方式布置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ATI科技无限责任公司,未经ATI科技无限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202080060590.0/2.html,转载请声明来源钻瓜专利网。





