【技术实现步骤摘要】
处理器、内存控制器、片上系统芯片和数据预取方法
[0001]本申请涉及存储领域,尤其涉及一种处理器、内存控制器和片上系统(system on chip,SoC)芯片和数据预取方法。
技术介绍
[0002]由于处理器性能提升速度远远快于内存性能提升的速度,内存性能限制了处理器性能的释放,成为系统主要性能瓶颈。目前可以通过数据缓存和数据预取来解决这一问题。其中,数据缓存指通过处理器内部的高速缓存来暂时存储内存中的数据,处理器通过访问缓存来避免直接访问内存。数据预取指提前将内存中的数据加载到缓存中,以便于处理器访问。
[0003]现有技术中数据预取的粒度是缓存线(cache line),通常缓存线的大小为32或64字节。每次预取的数据量较少,使得处理器所需要的数据被预取到缓存中的占比较低,即覆盖率较低。
技术实现思路
[0004]本申请实施例提供一种处理器、内存控制器、片上系统芯片和数据预取方法,用于提高数据预取的覆盖率。
[0005]为达到上述目的,本申请的实施例采用如下技术方案:
[0006]第一方面,提供了一种处理器,包括:内核、缓存控制器和缓存;内核中运行线程;缓存控制器用于:获取线程访问至少一个物理页面的页面访问密度,页面访问密度指单个物理页面中在预设时间内被线程访问的缓存线占全部缓存线的比率;在线程访问目标物理页面的目标缓存线对应的数据的情况下,当至少一个物理页面的页面访问密度满足第一条件时,向内存控制器发送请求消息,请求消息用于请求获取内存中与多个缓存线对应的数据,多个 ...
【技术保护点】
【技术特征摘要】
1.一种处理器,其特征在于,包括:内核、缓存控制器和缓存;所述内核中运行线程;所述缓存控制器用于:获取所述线程访问至少一个物理页面的页面访问密度,所述页面访问密度指单个物理页面中在预设时间内被所述线程访问的缓存线占全部缓存线的比率;在所述线程访问目标物理页面的目标缓存线对应的数据的情况下,当所述至少一个物理页面的页面访问密度满足第一条件时,向内存控制器发送请求消息,所述请求消息用于请求获取内存中与多个缓存线对应的数据,所述多个缓存线包括所述目标缓存线以及所述目标物理页面中与所述目标缓存线关联的预取缓存线;从所述内存控制器接收所述多个缓存线对应的数据,并存储至所述缓存中。2.根据权利要求1所述的处理器,其特征在于,所述至少一个物理页面的页面访问密度满足第一条件,包括:所述至少一个物理页面的页面访问密度的均值大于第一门限,或者,所述至少一个物理页面的页面访问密度的最大值大于第二门限,或者,所述至少一个物理页面的页面访问密度的每个值均大于第三门限。3.根据权利要求1
‑
2任一项所述的处理器,其特征在于,所述缓存控制器具体用于:先从所述内存控制器接收所述目标缓存线对应的数据,后从所述内存控制器接收所述预取缓存线对应的数据。4.根据权利要求1
‑
3任一项所述的处理器,其特征在于,所述缓存指中间级缓存或最后一级缓存。5.一种内存控制器,其特征在于,包括第一决策器、第二决策器和通信接口;所述通信接口用于从处理器接收请求消息,所述请求消息用于请求获取内存中与多个缓存线对应的数据,所述多个缓存线包括所述处理器访问的物理页面中的目标缓存线以及与所述目标缓存线关联的预取缓存线;所述第一决策器用于通过所述通信接口向所述处理器发送所述目标缓存线对应的数据;所述第二决策器用于通过所述通信接口向所述处理器发送所述预取缓存线对应的数据。6.根据权利要求5所述的内存控制器,其特征在于,对于同一个请求消息对应的所述目标缓存线和所述预取缓存线,所述第一决策器先发送所述目标缓存线对应的数据,所述第二决策器后发送所述预取缓存线对应的数据。7.根据权利要求5
‑
6任一项所述的内存控制器,其特征在于,如果所述预取缓存线有多个,所述第二决策器优先发送时延最低的预取缓存线对应的数据。8.根据权利要求5
‑
7任一项所述的内存控制器,其特征在于,所述请求消息包括第一请求消息和第二请求消息;所述第一请求消息请求获取第一目标缓存线对应的数据以及与所述第一目标缓存线关联的第一预取缓存线对应的数据,所述第二请求消息请求获取第二目标缓存线对应的数据以及与所述第二目标缓存线关联的第二预取缓存线对应的数据;如果所述第一预取缓存线对应的数据与所述第一目标缓存线对应的数据位于所述内存中同一内存库的同一行,在所述第一决策器发送所述第一目标缓存线对应的数据之后,
所述第二决策器优先发送所述第一预取缓存线对应的数据,然后所述第一决策器发送所述第二目标缓存线对应的数据,所述第二决策器发送所述第二预取缓存线对应的数据。9.根据权利要求5
‑
7任一项所述的内存控制器,其特征在于,所述请求消息包括第一请求消息和第二请求消息;所述第一请求消息请求获取第一目标缓存线对应的数据以及与所述第一目标缓存线关联的第一预取缓存线对应的数据,所述第二请求消息请求获取第二目标缓存线对应的数据以及与所述第二目标缓存线关联的第二预取缓存线对应的数据;如果所述第一预取缓存线对应的数据与所述第一目标缓存线对应的数据不位于所述内存中同一内存库的同一行,所述第一决策器先发送所述第一目标缓存线对应的数据以及所述第二目标缓存线对应的数据,然后所述第二决策器发送所述第一预取缓存线对应的数据以及所述第二预取缓存线对应的数据。10.根据权利要求5
‑
9任一项所述的内存控制器,其特征在于,所述第一决策器或所述第二决策器在发送所述内存中同一行内数据时,按照以下任一方式发送所述同一行内数据:按照从低地址至高地址发送所述同一行内数据;或者,按照从高地址至低地址发送所述同一行内数据;或者,以所述目标缓存线对应的数据为中心向高地址和低地址发送所述同一行内数据;或者,按照随机顺序发送所述同一行内数据。11.一种...
【专利技术属性】
技术研发人员:王科兵,邸千力,周永彬,陈章麒,蒋志军,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。