【技术实现步骤摘要】
参数确定及数据读写方法、处理器、装置、计算机设备
[0001]本公开涉及但不限于计算机
,尤其涉及一种参数确定及数据读写方法、处理器、装置、计算机设备、计算机可读存储介质。
技术介绍
[0002]缓存模块(Cache)是处理器中一个常用的模块,缓存模块中缓存行(Cacheline)的粒度(size)是一个缓存模块的关键参数,因此,在处理器芯片的设计过程中,缓存模块中缓存行粒度的确定方式非常重要。然而,相关技术中确定缓存模块中缓存行的粒度的方案往往会导致缓存模块的存储空间利用率较低。
技术实现思路
[0003]有鉴于此,本公开实施例至少提供一种参数确定及数据读写方法、处理器、装置、计算机设备、计算机可读存储介质,能够提高缓存模块中存储空间的利用率,并能更好地满足各计算模块的缓存需求。
[0004]本公开实施例的技术方案是这样实现的:本公开实施例提供一种参数确定方法,所述方法包括:获取预设的计算模块的数据请求粒度;所述计算模块属于一处理器,所述处理器包括缓存模块和至少两个所述计算模块,所述缓存模块包括与每一所述计算模块一一对应的第一缓存子模块、以及各个所述第一缓存子模块共用的第二缓存子模块;确定每一所述第一缓存子模块分别与所述第二缓存子模块之间的第一数据位宽;基于至少一个所述数据请求粒度和至少一个所述第一数据位宽,确定目标缓存子模块中缓存行的粒度;其中,所述目标缓存子模块包括以下至少之一:所述第一缓存子模块,所述第二缓存子模块。
[0005]本公开实施例提供一种处理器,包括:缓存模块 ...
【技术保护点】
【技术特征摘要】
1.一种参数确定方法,其特征在于,所述方法包括:获取预设的计算模块的数据请求粒度;所述计算模块属于一处理器,所述处理器包括缓存模块和至少两个所述计算模块,所述缓存模块包括与每一所述计算模块一一对应的第一缓存子模块、以及各个所述第一缓存子模块共用的第二缓存子模块;确定每一所述第一缓存子模块分别与所述第二缓存子模块之间的第一数据位宽;基于至少一个所述数据请求粒度和至少一个所述第一数据位宽,确定目标缓存子模块中缓存行的粒度;其中,所述目标缓存子模块包括以下至少之一:所述第一缓存子模块,所述第二缓存子模块。2.根据权利要求1所述的方法,其特征在于,每一所述第一缓存子模块与所述第二缓存子模块之间的第一数据位宽均相等。3.根据权利要求2所述的方法,其特征在于,所述目标缓存子模块包括所述第一缓存子模块;所述基于至少一个所述数据请求粒度和至少一个所述第一数据位宽,确定目标缓存子模块中缓存行的粒度,包括:在第一数据请求粒度小于或等于所述第一数据位宽的情况下,确定第一缓存行粒度与所述第一数据位宽相等;其中,所述第一数据请求粒度为所述第一缓存子模块对应的计算模块的数据请求粒度,所述第一缓存行粒度为所述第一缓存子模块中缓存行的粒度。4.根据权利要求3所述的方法,其特征在于,所述第一缓存子模块中具有多个存储块,所述存储块中包括至少一个存储子块;所述在第一数据请求粒度小于或等于所述第一数据位宽的情况下,确定第一缓存行粒度与所述第一数据位宽相等,包括:在所述第一数据请求粒度小于所述第一数据位宽的情况下,确定所述第一缓存行粒度与所述第一数据位宽相等,且所述第一缓存子模块的每一存储块中包括的存储子块的数量等于第一比值,所述第一比值为所述第一数据位宽与所述第一数据请求粒度之间的比值;在所述第一数据请求粒度等于所述第一数据位宽的情况下,确定所述第一缓存行粒度与所述第一数据位宽相等,且所述第一缓存子模块的每一存储块中包括一个存储子块。5.根据权利要求2所述的方法,其特征在于,所述目标缓存子模块包括所述第一缓存子模块;所述基于至少一个所述数据请求粒度和至少一个所述第一数据位宽,确定目标缓存子模块中缓存行的粒度,包括:在第一数据请求粒度大于所述第一数据位宽的情况下,基于第二缓存行粒度,确定第一缓存行粒度;其中,所述第一数据请求粒度为所述第一缓存子模块对应的计算模块的数据请求粒度,所述第一缓存行粒度为所述第一缓存子模块中缓存行的粒度,所述第二缓存行粒度为所述第二缓存子模块中缓存行的粒度。6.根据权利要求5所述的方法,其特征在于,所述基于第二缓存行粒度,确定第一缓存行粒度,包括:在所述第一数据请求粒度不超过所述第二缓存行粒度的情况下,确定所述第一缓存行粒度与所述第一数据请求粒度相等;在所述第一数据请求粒度大于所述第二缓存行粒度的情况下,确定所述第一缓存行粒度为所述第一数据位宽和第一预设数量之间的乘积;其中,所述第一预设数量为预设的所述第二缓存子模块中缓存行所支持拆分的缓存分区的数量上限。
7.根据权利要求2至6中任一项所述的方法,其特征在于,所述目标缓存子模块包括所述第二缓存子模块;所述基于至少一个所述数据请求粒度和至少一个所述第一数据位宽,确定目标缓存子模块中缓存行的粒度,包括:确定各所述数据请求粒度中的最大值与所述第一数据位宽之间的第二比值;在所述第二比值不超过第一预设数量的情况下,确定第二缓存行粒度与所述最大值相等;其中,所述第二缓存行粒度为所述第二缓存子模块中缓存行的粒度,所述第一预设数量为所述第二缓存子模块中缓存行所支持拆分的缓存分区的数量上限;在所述第二比值大于所述第一预设数量的情况下,确定所述第二缓存行粒度为所述第一数据位宽和所述第一预设数量之间的乘积。8.根据权利要求2至6中任一项所述的方法,其特征在于,所述第二缓存子模块中的缓存行包括多个缓存分区;所述方法还包括:确定所述缓存分区的粒度与所述第一数据位宽相等。9.根据权利要求1至6中任一项所述的方法,其特征在于,所述确定每一所述第一缓存子模块分别与所述第二缓存子模块之间的第一数据位宽,包括:基于预设位宽条件,确定每一所述第一缓存子模块分别与所述第二缓存子模块之间的第一数据位宽;其中,所述预设位宽条件包括以下至少之一:所述第一数据位宽不小于各所述数据请求粒度中的最小值,且所述第一数据位宽不大于各所述数据请求粒度中的最大值;所述第一数据位宽与所述最小值之间的比值不大于第二预设数量;所述第一缓存子模块中具有多个存储块,所述第二预设数量为预设的单个存储块所支持拆分的存储子块的数量上限;所述第一数据位宽小于预设的第一位宽上限;所述第一位宽上限为所述第一缓存子模块与所述第二缓存子模块之间所支持的最大数据位宽。10.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:针对每一所述第一缓存子模块,基于第一数据请求粒度,确定第二数据位宽,所述第二数据位宽为所述第一缓存子模块与对应的计算模块之间的数据位宽,所述第一数据请求粒度为所述第一缓存子模块对应的计算模块的数据请求粒度。11.根据权利要求10所述的方法,其特征在于,所述基于第一数据请求粒度,确定第二数据位宽,包括:获取预设的所述第一缓存子模块与对应的计算模块之间的第二位宽上限;在所述第一数据请求粒度小于所述第二位宽上限的情况下,确定所述第二数据位宽与所述数据请求粒度相等;在所述第一数据请求粒度大于或等于所述第二位宽上限的情况下,确定所述第二数据位宽与所述第二位宽上限相等。12.一种数据读写方法,其特征在于,应用于处理器的缓存模块中,所述处理器与主存储器连接,所述处理器包括所述缓存模块和至少两个计算模块,所述缓存模块包括与每一所述计算模块一一对应的第一缓存子模块、以及各个所述第一缓存子模块共用的第二缓存子模块;所述方法包括:接收第一读数据请求;所述第一读数据请求是由至少一个所述计算模块中的第一计算
模块发送的;基于所述第一读数据请求,从第一目标缓存子模块、所述第二缓存子模块或所述主存储器中,读取与所述第一读数据请求匹配的第一目标数据,并将所述第一目标数据返回至所述第一计算模块;所述第一目标缓存子模块为与所述第一计算模块对应的第一缓存子模块;其中,每一所述第一缓存子模块与所述第二缓存子模块之间具有第一数据位宽;目标缓存子模块中缓存行的粒度是基于至少一个所述计算模块的数据请求粒度和至少一个所述第一数据位宽确定的,所述目标缓存子模块包括以下至少之一:所述第一缓存子模块,所述第二缓存子模块。13.根据权利要求12所述的方法,其特征在于,所述基于所述第一读数据请求,从第一目标缓存子模块、所述第二缓存子模块或所述主存储器中,读取与所述第一读数据请求匹配的第一目标数据,并将所述第一目标数据返回至所述第一计算模块,包括:所述第一目标缓存子模块响应于所述第一读数据请求,从第一存储空间中读取所述第一目标数据;所述第一存储空间为所述第一目标缓存子模块的存储空间;在从所述第一存储空间中未读取到所述第一目标数据的情况下,所述第一目标缓存子模块基于所述第一读数据请求中携带的第一地址信息,向所述第二缓存子模块发送第二读数据请求;所述第二读数据请求中携带有与所述第一地址信息具有映射关系的第二地址信息;所述第二缓存子模块响应于所述第二读数据请求,基于所述第二地址信息从所述第二缓存子模块或所述主存储器中,读取所述第一目标数据,并将所述第一目标数据返回至所述第一计算模块。14.根据权利要求13所述的方法,其特征在于,所述第一目标缓存子模块基于所述第一读数据请求中携带的第一地址信息,向所述第二缓存子模块发送第二读数据请求,包括:所述第一目标缓存子模块获取与所述第一读数据请求对应的读取模式标识信息;所述第一目标缓存子模块基于所述第一地址信息,向所述第二缓存子模块发送第二读数据请求;所述第二读数据请求中携带有所述第二地址信息、以及所述读取模式标识信息;所述基于所述第二地址信息从所述第二缓存子模块或所述主存储器中,读取所述第一目标数据,包括:基于所述第二地址信息和所述读取模式标识信息,从所述第二缓存子模块或所述主存储器中,读取所述第一目标数据。15.根据权利要求14所述的方法,其特征在于,所述第一目标缓存子模块获取与所述第一读数据请求对应的读取模式标识信息,包括:在第一缓存行粒度小于第二缓存行粒度的情况下,所述第一目标缓存子模块确定与所述第一读数据请求对应的读取模式标识信息为表征进行多倍预读取的第一模式标识;所述第一缓存行粒度为所述第一目标缓存子模块中缓存行的粒度,所述第二缓存行粒度为所述第二缓存子模块中缓存行的粒度。16.根据权利要求14所述的方法,其特征在于,所述基于所述第二地址信息和所述读取模式标识信息,从所述第二缓存子模块或所述主存储器中,读取所述第一目标数据,包括:在所述读取模式标识信息包括第一模式标识的情况下,从所述第二缓存子模块或所述
主存储器中,读取与所述第二地址信息对应的所述第一目标数据、以及与至少一个第三地址信息分别对应的第二目标数据;所述第一模式标识表征进行多倍预读取;将所述第一目标数据和每一所述第二目标数据返回至所述第一目标缓存子模块;所述方法还包括:所述第一目标缓存子模块响应于接收的所述第一目标数据和每一所述第二目标数据,至少将所...
【专利技术属性】
技术研发人员:请求不公布姓名,
申请(专利权)人:摩尔线程智能科技北京有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。