[发明专利]用于执行SIMD收集和复制操作的方法和设备有效
申请号: | 201780035161.6 | 申请日: | 2017-06-06 |
公开(公告)号: | CN109313548B | 公开(公告)日: | 2023-05-26 |
发明(设计)人: | 艾瑞克·韦恩·马胡林;雅各布·帕维尔·戈拉布;卢西恩·科德雷斯库 | 申请(专利权)人: | 高通股份有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38;G06F9/345;G06F12/00 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 执行 simd 收集 复制 操作 方法 设备 | ||
系统和方法涉及高效存储器操作。运用定位于存储器内或非常接近于存储器的收集结果缓冲器实施单指令多数据SIMD收集操作,以在存储器中从多个正交位置接收或收集多个数据元素,且一旦所述收集结果缓冲器完成,那么将所述所收集数据传送到处理器寄存器。通过执行用于将来自多个正交源地址的多个数据元素复制到所述存储器内的对应多个目标地址而不在中间复制到处理器寄存器的两个或更多个指令来执行SIMD复制操作。因此,在未由所述处理器引导的情况下在背景模式下执行所述存储器操作。
技术领域
所公开方面是针对处理器指令和其高效实施方案。更具体地,示范性方面涉及多个数据元素的高效存储器指令,例如与存储器复制、散射、收集和其组合相关的指令。
背景技术
单指令多数据(single instruction multiple data,SIMD)指令可用于采用数据并行性的处理系统。当在例如数据向量的两个或多于两个数据元素上进行相同或共同任务时存在数据并行性。可通过使用单条SIMD指令而不是使用多条指令对两个或多于两个数据元素并行地进行共同任务,所述单条SIMD指令限定有待对对应多个SIMD通道中的多个数据元素进行的相同指令。SIMD指令可用于多种操作,例如算术运算、数据移动操作、存储器操作等。关于存储器操作,“散射”和“收集”是用于将数据元素从一个位置复制到另一位置的熟知操作。数据元素可位于存储器(例如,主存储器或硬盘驱动器)中且操作中规定的寄存器可位于处理器或芯片上系统(SoC)上。
常规加载指令可用于将数据元素从存储器位置读取到例如位于处理器中的标量目标寄存器中,而另一方面“收集”指令用以将多个数据元素加载到例如位于处理器中的向量目标寄存器中。多个数据元素中的每一个可具有独立或正交的源地址(其可在存储器中是非相连的),这使收集指令的SIMD实施具有挑战性。一些实施方案可通过多个加载指令实行收集指令以将每一数据元素串行加载到其在向量目标寄存器中的相应位置中,直到向量目标寄存器完成为止。然而,以此方式进行串行化会产生不良性能且每一组件加载指令可具有可变时延,这取决于每一数据元素的来源(例如,一些源地址可能在高速缓冲存储器中命中,而其它源地址可能不会;不同源地址可具有不同数据依赖性等)。如果实施组件加载指令以按顺序更新向量目标寄存器,那么可能无法使用乱序处理机制在软件中流水化处理更新或隐藏大部分此可变时延。对于在向量目标寄存器的乱序更新是可能的情况下的实施,可能引起附加寄存器(例如,用于临时存储)、用于个别更新的每一数据元素的跟踪机制,以及其它相关软件和/或硬件支持。因此,收集操作的常规实施可能是低效的且涉及较长时延和额外硬件。
散射操作可被视为上文所描述的收集操作的对应部分,其中来自例如位于处理器中的源向量寄存器的数据元素可存储于可以是非相连的多个目标存储器位置中。一些代码序列或程序可能涉及多个数据元素要从独立或正交源位置(在存储器中可能是非相连的)读取并复制或写入独立或正交目标位置(在存储器中也可能是非相连的)的操作。此类操作可被视为对多个数据元素的多个复制操作。因此,期望对此类操作使用SIMD处理以实施从存储器中的正交源位置到正交目标位置的多个数据元素的SIMD复制行为。
虽然理论上可以通过将多个数据元素从存储器中的多个源位置SIMD收集到位于处理器中的收集目标向量寄存器中且接着执行从收集目标向量寄存器到存储器中多个目标位置的数据元素的SIMD分散来实现此功能性,但是此功能性的实施可能是不实际或不可行的。这是因为等待收集目标向量寄存器完成引入了SIMD收集操作的常规实施的上述低效。如果在允许发生SIMD散射之前要在不等待首先完成收集目标向量寄存器的情况下实施SIMD复制,那么SIMD聚集的组件负载与SIMD分散操作的组件存储之间的同步也是具有挑战性的。此外,在SIMD散射之后实施SIMD收集以执行SIMD复制可能涉及使用处理器中的聚集目标向量寄存器作为中间着陆点从存储器中的源位置传输大量数据元素,且接着返回到存储器中的目标位置。可以理解,在存储器和处理器之间来回传输的这种大数据增加了SIMD复制的功耗和时延。
因此,需要上述存储器操作的改进的实施方案以利用SIMD处理的益处,同时避免常规实施方案的前述缺点。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于高通股份有限公司,未经高通股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780035161.6/2.html,转载请声明来源钻瓜专利网。