[发明专利]用于步进加载的系统、设备和方法在审
申请号: | 201680069914.0 | 申请日: | 2016-12-29 |
公开(公告)号: | CN108292227A | 公开(公告)日: | 2018-07-17 |
发明(设计)人: | R.瓦伦丁;E.奥尔德-艾哈迈德-瓦尔;J.W.布兰特;M.J.查尼;A.贾;M.B.吉尔卡;B.L.托尔;E.V.斯图帕申科;S.Y.奥斯塔内维奇 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/345 | 分类号: | G06F9/345;G06F9/30 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 徐红燕;郑冀之 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 寄存器操作数 解码 数据元素 源存储器 指令 步进 加载 电路 解码器 地址操作数 连续存储器 打包数据 寄存器 字段 存储 | ||
本文详述了用于步进加载的系统、设备和方法。在实施例中,一种设备包括用于对指令进行解码的解码器,其中所述指令包括起始源存储器地址操作数和起始目的地寄存器操作数的字段;以及执行电路,该执行电路用于执行已解码的指令以从起始源存储器地址开始的连续存储器中提取定义的类型数量的数据元素,并且对于每种类型,将所提取的数据元素存储在以起始目的地寄存器操作数开始的专用于该类型的打包数据寄存器中。
技术领域
本发明的领域一般涉及计算机处理器架构,并且更具体地涉及当被执行时导致特定结果的指令。
背景技术
结构阵列(AoS)是编程语言中最常见的数据结构。对AoS的计算最常见涉及在计算循环中对结构元素进行计算。这种类型的计算的关键特征是空间局部性,即结构的元素彼此相邻共处。典型的编译器代码生成导致跨越矢量循环迭代而收集给定结构的元素——并且收集执行很慢。因此,如果结构有3个元素x、y和z,那么将有3个收集指令跨越矢量循环迭代而获取所有的x、y和z。这是效率低下的,并且不利用结构元素的空间局部性。
附图说明
在附图的各图中通过示例而非限制的方式来说明本发明,其中相同的附图标号表示类似的元素,并且其中:
图1图示出了用以处理loadstride#指令(加载步幅#指令)的硬件的实施例;
图2图示出了loadstride#指令的执行的实施例;
图3图示出了loadstride#指令的实施例;
图4图示出了由处理器执行以处理loadstride#指令的方法的实施例;
图5图示出了由处理器执行以处理loadstride#指令的方法的执行部分的实施例;
图6图示出了用于loadstride2的伪代码的实施例;
图7图示出了用于loadstride3的伪代码的实施例;
图8图示出了用于loadstride4的伪代码的实施例;
图9图示出了用以处理storestride#指令(存储步幅#指令)的硬件的实施例;
图10图示出了storestride#指令的执行的实施例;
图11图示出了storestride#指令的实施例;
图12图示出了由处理器执行以处理storestride#指令的方法的实施例;
图13图示出了由处理器执行以处理storestride#指令的方法的执行部分的实施例;
图14图示出了用于storestride2的伪代码的实施例;
图15图示出了用于storestride3的伪代码的实施例;
图16图示出了用于storestride4的伪代码的实施例;
图17A-图17B是图示出根据本发明实施例的通用矢量友好指令格式及其指令模板的框图;
图18A-图18D是图示出根据本发明实施例的示例性特定矢量友好指令格式的框图;
图19是根据本发明的一个实施例的寄存器架构的框图;
图20A是图示出根据本发明实施例的示例性有序流水线和示例性寄存器重命名的无序发布/执行流水线的框图;
图20B是图示出根据本发明实施例的被包括在处理器中的有序架构内核和示例性寄存器重命名的无序发布/执行架构内核的示例性实施例的框图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680069914.0/2.html,转载请声明来源钻瓜专利网。