[发明专利]数据预取的实现方法和处理器有效
申请号: | 201710343785.6 | 申请日: | 2017-05-16 |
公开(公告)号: | CN108874690B | 公开(公告)日: | 2020-12-15 |
发明(设计)人: | 刘天义;沈海华;李文青;章隆兵;肖俊华 | 申请(专利权)人: | 龙芯中科技术有限公司 |
主分类号: | G06F12/0862 | 分类号: | G06F12/0862 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 宋扬;刘芳 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 实现 方法 处理器 | ||
本发明提供一种数据预取的实现方法和处理器,其中,数据预取的实现方法包括:处理器取访存指令,访存指令指示将待访问数据从存储器中加载到处理器核中;若待访问数据为指针,则处理器对访存指令译码,生成访存请求;访存请求包括加载地址和链式数据预取标识,加载地址中存储待访问数据,链式数据预取标识指示了待访问数据为指针,指针指向链式数据;处理器根据加载地址获取指针,并根据指针和链式数据预取标识预取链式数据。本发明提供的数据预取的实现方法,提高了链式数据预取的效率和准确率。
技术领域
本发明涉及计算机技术领域的处理器设计,尤其涉及一种数据预取的实现方法和处理器。
背景技术
现代处理器普遍采用多级高速缓存结构,以弥补处理器与主储存器之间的速度差距。为了进一步提高处理器的执行效率和数据吞吐率,通常采用数据预取技术。该技术将处理器随后要处理的数据提前放置在高速缓存中,以减少临时访问数据时,需要的较长延迟。
目前市场上大多数的处理器中,数据预取通常采用顺序预取和跨步预取技术。顺序预取是指一个接一个地连续读取数据的预取方法,例如读取:地址1的数据、地址2的数据、地址3的数据....。跨步预取是指按照一定的规律读取数据的预取方法,例如读取:地址1的数据、地址3的数据、地址5的数据...。顺序预取和跨步预取多应用于提升数据局部性较好或者访存模式比较规律的应用程序的访存性能。数据的空间局部性较好,则数据在存储器中的存放方式是连续的或者是有规律的。因此,对于这些数据集,采用顺序预取和跨步预取的方式可以达到很好的预取效率和预取精度。
但是,对于基于链式数据结构(Linked Data Structure,简称LDS)(例如指针,链表,栈,图)等的不规则数据集,物理存储上表现为不连续或者根本没有规律性。这种情况下,顺序预取和跨步预取就无法应对这种非规则的访存模式,因此导致传统的预取方法对链式数据结构的预取效率和准确率较低、预取效果往往很差。
发明内容
本发明提供一种数据预取的实现方法和处理器,提高了链式数据预取的效率和准确率。
本发明提供的数据预取的实现方法,包括:
处理器取访存指令,所述访存指令指示将待访问数据从存储器中加载到处理器核中;
若所述待访问数据为指针,则所述处理器对所述访存指令译码,生成访存请求;所述访存请求包括加载地址和链式数据预取标识,所述加载地址中存储所述待访问数据,所述链式数据预取标识指示了所述待访问数据为指针,所述指针指向链式数据;
所述处理器根据所述加载地址获取所述指针,并根据所述指针和所述链式数据预取标识预取所述链式数据。
本发明提供的处理器,包括:
处理器核,用于取访存指令,所述访存指令指示将待访问数据从存储器中加载到处理器核中;若所述待访问数据为指针,则对所述访存指令译码,生成访存请求;所述访存请求包括加载地址和链式数据预取标识,所述加载地址中存储所述待访问数据,所述链式数据预取标识指示了所述待访问数据为指针,所述指针指向链式数据;
存储部件,用于根据所述加载地址获取所述指针,并根据所述指针和所述链式数据预取标识预取所述链式数据。
本发明提供一种数据预取的实现方法和处理器,处理器对访存指令进行译码后,可以生成携带有链式数据预取标识的访存请求。通过链式数据预取标识,可以明确提示本次访存操作基于链式数据结构。处理器执行访存请求实现将一个指针从存储器中加载到处理器核中,并根据该指针预取指针指向的链式数据。当处理器后续需要获取该链式数据时,可以直接获取,无需再进行内存读取操作。从而缩短了链式数据预取访问时延,提高了链式数据预取的效率和准确率。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术有限公司,未经龙芯中科技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710343785.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于确认队列的设备和方法
- 下一篇:数据预取方法和内存控制器
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置