[发明专利]一种缓存数据的调度方法、装置、CPU芯片及服务器有效
申请号: | 201911305828.7 | 申请日: | 2019-12-20 |
公开(公告)号: | CN111159062B | 公开(公告)日: | 2023-07-07 |
发明(设计)人: | 陈立勤 | 申请(专利权)人: | 海光信息技术股份有限公司 |
主分类号: | G06F12/0862 | 分类号: | G06F12/0862;G06F12/02 |
代理公司: | 北京市广友专利事务所有限责任公司 11237 | 代理人: | 祁献民 |
地址: | 300000 天津市滨海新区天津华苑*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 数据 调度 方法 装置 cpu 芯片 服务器 | ||
本发明实施例公开一种缓存数据的调度方法、装置、CPU芯片及服务器,涉及计算机技术领域,能够有效提高指令执行速度。所述方法包括:在执行数据加载指令之前,根据目标数据的存储地址,在缓存中查找所述目标数据;其中,所述数据加载指令,用于从内存中加载所述目标数据到处理器中;若所述目标数据未在所述缓存中,则根据所述目标数据在内存中的存储地址,向内存请求所述目标数据。本发明适用于缓存数据调度中。
技术领域
本发明涉及计算机技术领域,尤其涉及一种缓存数据的调度方法、装置、 CPU芯片及服务器。
背景技术
CPU在执行load/store(加载/存储)指令时,会将数据的有效地址发往CPU 的内存存取单元,此时,如果load/store指令所需要的数据未在缓存中(即发生了CACHE MISS),通常只能够等待CPU的内存存取单元从下一级内存加载相应地址的数据到数据CACHE(缓存)后,才能够继续指令的执行。在此阶段, CPU需要等待多个周期,严重降低了指令执行速度。
发明内容
有鉴于此,本发明实施例提供一种缓存数据的调度方法、装置、CPU芯片及服务器,能够有效提高指令执行速度。
第一方面,本发明实施例提供一种缓存数据的调度方法,包括:
在执行数据加载指令之前,根据目标数据的存储地址,在缓存中查找所述目标数据;其中,所述数据加载指令,用于从内存中加载所述目标数据到处理器中;
若所述目标数据未在所述缓存中,则根据所述目标数据在内存中的存储地址,向内存请求所述目标数据。
可选的,所述在执行数据加载指令之前,根据目标数据的存储地址,在缓存中查找所述目标数据包括:
确定所述数据加载指令在程序编译结果的所有指令中的执行次序;
在执行次序先于所述数据加载指令的指令集中,选择一条指令作为目标指令,并对所述目标指令附加预取操作符;
当所述目标指令被执行时,根据所述目标数据的存储地址和所述预取操作符,在所述缓存中查找所述目标数据。
可选的,所述在执行次序先于所述数据加载指令的指令集中,选择一条指令作为目标指令包括:
在执行次序先于所述数据加载指令的指令集中,选择所述目标数据的存储地址生成指令,或选择执行次序在所述存储地址生成指令之后的指令,为所述目标指令。
可选的,所述调度方法还包括:
调整所述程序编译结果中的指令的执行次序,以使所述目标指令与所述数据加载指令之间,间隔至少一条程序指令。
可选的,所述根据目标数据的存储地址,在缓存中查找所述目标数据之前,所述方法还包括:
根据预设寄存器中存储的数值,生成所述目标数据的存储地址。
可选的,所述向内存请求所述目标数据之后,所述方法还包括:
执行所述数据加载指令,其中,所述数据加载指令的取数操作,比所述向内存请求所述目标数据的操作迟至少一个时钟周期。
第二方面,本发明的实施例还提供一种缓存数据的调度装置,包括:
查找单元,用于在执行数据加载指令之前,根据目标数据的存储地址,在缓存中查找所述目标数据;其中,所述数据加载指令,用于从内存中加载所述目标数据到处理器中;
请求单元,用于若所述目标数据未在所述缓存中查找到,则根据所述目标数据在内存中的存储地址,向内存请求所述目标数据。
可选的,所述查找单元包括:
确定模块,用于确定所述数据加载指令在程序编译结果的所有指令中的执行次序;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于海光信息技术股份有限公司,未经海光信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911305828.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置