[发明专利]用于在加载数据元素以供执行时考虑空间局部性的装置和方法有效
申请号: | 201580061760.6 | 申请日: | 2015-10-09 |
公开(公告)号: | CN107111554B | 公开(公告)日: | 2021-01-22 |
发明(设计)人: | R·萨桑卡;E·乌尔德-阿迈德-瓦尔 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F12/0811 | 分类号: | G06F12/0811;G06F12/0875 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 何焜 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 加载 数据 元素 执行 考虑 空间 局部性 装置 方法 | ||
在本发明的一个实施例中,处理器包括上级高速缓存和至少一个处理器核。至少一个处理器核包括一个或多个寄存器以及多个指令处理级:解码单元,用于解码指令,指令需要多个数据元素的输入,其中多个数据元素中的每一个的大小小于处理器的高速缓存行的大小;执行单元,用于将多个数据元素加载到处理器的一个或多个寄存器,而不将空间上邻近所述多个数据元素的数据元素或所述多个数据元素加载到上级高速缓存中。
技术领域
本公开涉及微处理器,并且更具体地涉及在微处理器中加载数据元素以供执行。
背景
数组的跨度(也被称为增量、间距或步长)指示数组的连续数组元素开始的两个存储器位置之间的距离。许多科学应用具有拥有大跨度的数组。这些数组在例如以下情形时自然地发生:
·访问矩阵(或2D/3D数组)。如果顺序地访问相同列的元素,例如A[0][3]、A[l][3]、A[2][3]...
·访问被组织为结构数组(AoS)的相同数量的结构,例如A[0]-权重、A[l]-权重、A[2]-权重...
由于所使用的算法的本质,此类有跨度的访问模式在高性能计算(HPC)和科学计算应用中是常见的。这些有跨度的访问中的许多具有大跨度值,通常大于高速缓存行的长度(例如,64字节)。此类访问不具有空间局部性。即,如果数据元素X被访问,则接近数据元素X的数据元素与远离数据元素X的数据元素相比被访问的可能更低。
附图说明
在附图的图形中作为示例而非限制地说明了本发明,在附图中,类似的参考编号表示类似的元件。
图1示出根据本发明的一个实施例的处理器的系统架构。
图2示出根据本发明的实施例对在加载数据元素时考虑和不考虑局部性的情形下的操作的比较。
图3A-B是示出根据本发明的一个实施例的在处理器中加载用于执行的数据元素时考虑局部性的方法的流程图。
图4A是示出根据本发明的一个实施例的用于加载在连续数据元素之间不具有固定距离的多个数据元素并且不考虑空间局部性的指令类型的一个实现方式的伪代码。
图4B是示出根据本发明的一个实施例的用于加载在连续数据元素之间具有固定距离的多个数据元素并且不考虑空间局部性的指令类型的一个实现方式的另一伪代码。
图5A是示出根据本发明的各实施例的示例性有序流水线和示例性的寄存器重命名的乱序发布/执行流水线的框图。
图5B是示出根据本发明的各实施例的要被包括在处理器中的有序架构核的和示例性寄存器重命名的乱序发布/执行架构核的示例性实施例的框图。
图6是根据本发明的各实施例的具有集成存储器控制器和图形器件的单核处理器和多核处理器的框图。
图7是根据本发明的一个实施例的系统的框图。
图8是根据本发明的实施例的第二系统的框图。
图9是根据本发明的实施例的第三系统的框图。
图10示出根据本发明的实施例的片上系统(SoC)的框图。
图11是根据本发明的各实施例的对照使用软件指令转换器将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图。
图12A和12B是示出根据本发明的各实施例的通用向量友好指令格式及其指令模板的框图。
图13A-D是示出根据本发明的各实施例的示例性专用向量友好指令格式的框图。
图14是根据本发明的一个实施例的寄存器架构的框图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580061760.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置