VIVT缓存访问方法、仲裁单元及处理器技术

技术编号:20117358 阅读:23 留言:0更新日期:2019-01-16 11:59
本公开公开了一种VIVT缓存访问方法、仲裁单元及处理器。该方法包括:接收VIVT缓存访问命令;判断VIVT缓存访问命令是否满足预设条件,所述预设条件包括:所述VIVT缓存访问命令指示同时发生高速缓冲存储器未命中和旁路转换缓冲区未命中的概率高于第一预设阈值;如果所述VIVT缓存访问命令满足预设条件,则同时访问高速缓冲存储器和旁路转换缓冲区;如果所述VIVT缓存访问命令不满足预设条件,只访问高速缓冲存储器。该方法通过并行访问的方式,使得可以同时访问高速缓冲存储器和旁路转换缓冲区,减少了处理器的处理延时并提高了处理器的性能。

VIVT Cache Access Method, Arbitration Unit and Processor

The present disclosure discloses a VIVT cache access method, an arbitration unit and a processor. The method includes: receiving VIVT cache access commands; judging whether the VIVT cache access commands satisfy the preset conditions, the preset conditions include: the VIVT cache access commands indicate that the probability of simultaneous cache miss and bypass conversion buffer miss is higher than the first preset threshold; if the VIVT cache access commands satisfy the preset conditions, simultaneous access is higher. Cache memory and bypass conversion buffer; if the VIVT cache access command does not satisfy the preset conditions, only the cache is accessed. By means of parallel access, the cache and bypass conversion buffer can be accessed simultaneously, which reduces the processing delay of the processor and improves the performance of the processor.

【技术实现步骤摘要】
VIVT缓存访问方法、仲裁单元及处理器
本公开涉及缓存访问领域,更具体地,本公开涉及一种VIVT缓存访问方法、仲裁单元及处理器。
技术介绍
处理器中缓存的组织方式通常有以下几种:(1)VIVT(VirtualIndexVirtualTag,虚拟索引虚拟标签),在该结构中是用虚拟地址的低位部分进行高速缓冲存储器索引,找到对应的高速缓冲存储器集(CacheSet)后用虚拟地址的高位部分进行比对,如果标签比对相同,则表示高速缓冲存储器命中,否则表示高速缓冲存储器未命中;(2)VIPT(VirtualIndexPhysicalTag,虚拟索引物理标签):在该结构中是用虚拟地址的低位部分进行高速缓冲存储器索引,找到对应高速缓冲存储器集(CacheSet)后用虚拟地址对应物理地址的高位部分进行比对,如果标签比对相同,则表示高速缓冲存储器命中,否则表示高速缓冲存储器未命中;(3)PIPT:(PhysicalIndexPhysicalTag,物理索引物理标签):在该结构中是用虚拟地址对应物理地址的低位部分进行高速缓冲存储器索引,找到的高速缓冲存储器集(CacheSet)后用虚拟地址对应物理地址的高位部分进行比对,如果标签比对相同,则表示高速缓冲存储器命中,否则表示高速缓冲存储器未命中。其中,VIVT不需经过旁路转换缓冲区的翻译,访问高速缓冲存储器速度比VIPT/PIPT快。因此,目前有很多学者在对VIVT缓存访问的方法进行研究。
技术实现思路
有鉴于上述情况,本公开提供了一种VIVT缓存访问方法、仲裁单元及处理器。第一方面,根据本公开的实施例,提供了一种VIVT缓存访问方法,包括:接收VIVT缓存访问命令;判断VIVT缓存访问命令是否满足预设条件,所述预设条件包括:所述VIVT缓存访问命令指示同时发生高速缓冲存储器未命中和旁路转换缓冲区未命中的概率高于第一预设阈值;如果所述VIVT缓存访问命令满足预设条件,则同时访问高速缓冲存储器和旁路转换缓冲区;如果所述VIVT缓存访问命令不满足预设条件,只访问高速缓冲存储器。此外,根据本公开的实施例的VIVT缓存访问方法,其中,所述VIVT缓存访问命令包括以下中的至少一个:虚拟地址、指令、预设参数。此外,根据本公开的实施例的VIVT缓存访问方法,其中,若所述VIVT缓存访问命令为虚拟地址,所述判断VIVT缓存访问命令是否满足预设条件,包括:判断所述虚拟地址所处的位置是否处于第一区域,其中,所述第一区域对应同时发生高速缓冲存储器未命中和旁路转换缓冲区未命中的概率高于第一预设阈值的区域;如果所述虚拟地址处于第一区域,则同时访问高速缓冲存储器和旁路转换缓冲区;如果所述虚拟地址不处于第一区域,则只访问高速缓冲存储器。此外,根据本公开的实施例的VIVT缓存访问方法,其中,若所述VIVT缓存访问命令为指令,所述判断VIVT缓存访问命令是否满足预设条件,包括:判断所述指令的类型是否为预设指令类型,其中,所述预设指令类型指示同时发生高速缓冲存储器未命中和旁路转换缓冲区未命中的概率高于第一预设阈值;如果所述指令的类型为预设指令类型,则同时访问高速缓冲存储器和旁路转换缓冲区;如果所述指令的类型不为预设指令类型,则只访问高速缓冲存储器。此外,根据本公开的实施例的VIVT缓存访问方法,其中,预设指令类型包括以下中的至少一个:间接跳转类指令、系统控制类指令、高速缓冲存储器管理类指令、或屏障类指令。此外,根据本公开的实施例的VIVT缓存访问方法,其中,若所述VIVT缓存访问命令为预设参数,所述判断VIVT缓存访问命令是否满足预设条件,包括:判断所述预设参数是否满足预设条件,其中所述预设条件包括:所述预设参数指示同时发生高速缓冲存储器未命中和旁路转换缓冲区未命中的概率高于第一预设阈值;如果所述预设参数满足预设条件,则同时访问高速缓冲存储器和旁路转换缓冲区;如果所述预设参数不满足预设条件,则只访问高速缓冲存储器。此外,根据本公开的实施例的VIVT缓存访问方法,其中,所述预设参数包括以下中的至少一个:在一定时间段内的分支目标缓冲器更新的频率或替换的个数、在一定时间段内的高速缓冲存储器未命中率或未命中的次数、在一定时间段内的旁路转换缓冲区未命中率或未命中的次数、在一定时间段内发生的用户中断次数、在一定时间段内发生的流水线排空次数、以及在一定时间段内分支指令执行个数。此外,根据本公开的实施例的VIVT缓存访问方法,其中,若所述预设参数为在一定时间段内的分支目标缓冲器更新的频率或替换的个数,所述判断所述预设参数是否满足预设条件,包括:判断在一定时间段内的所述分支目标缓冲器更新的频率是否大于第二预设阈值或在一定时间段内的所述分支目标缓冲器替换条目的个数是否大于第三预设阈值;或者若所述预设参数为在一定时间段内的高速缓冲存储器未命中率或未命中的次数,所述判断所述预设参数是否满足预设条件,包括:判断在一定时间段内的所述高速缓冲存储器未命中率是否大于第四预设阈值或在一定时间段内的所述高速缓冲存储器未命中的次数是否大于第五预设阈值;或者若所述预设参数为在一定时间段内的旁路转换缓冲区未命中率或未命中的次数,所述判断所述预设参数是否满足预设条件,包括:判断在一定时间段内的所述旁路转换缓冲区未命中率是否大于第六预设阈值或在一定时间段内的所述旁路转换缓冲区未命中的次数是否大于第七预设阈值;或者,若所述预设参数为在一定时间段内发生的用户中断次数,所述判断所述预设参数是否满足预设条件,包括:判断在一定时间段内发生的用户中断次数是否大于第八预设阈值;或者,若所述预设参数为在一定时间段内发生的流水线排空次数,所述判断所述预设参数是否满足预设条件,包括:判断在一定时间段内发生的流水线排空次数是否大于第九预设阈值;或者,若所述预设参数为在一定时间段内分支指令执行个数,所述判断所述预设参数是否满足预设条件,包括:判断在一定时间段内分支指令执行个数是否大于第十预设阈值。此外,根据本公开的实施例的VIVT缓存访问方法,其中,所述高速缓冲存储器包括指令高速缓冲存储器和数据高速缓冲存储器;以及,其中所述旁路转换缓冲区包括指令旁路转换缓冲区和数据旁路转换缓冲区。第二方面,根据本公开的实施例,提供了一种仲裁单元,被配置为:接收VIVT缓存访问命令;判断VIVT缓存访问命令是否满足预设条件,所述预设条件包括:所述VIVT缓存访问命令指示同时发生高速缓冲存储器未命中和旁路转换缓冲区未命中的概率高于第一预设阈值;如果所述VIVT缓存访问命令满足预设条件,则同时访问高速缓冲存储器和旁路转换缓冲区;如果所述VIVT缓存访问命令不满足预设条件,只访问高速缓冲存储器。第三方面,根据本公开的实施例,提供了一种处理器,包括:高速缓冲存储器;旁路转换缓冲区;仲裁单元,分别耦合到高速缓冲存储器和旁路转换缓冲区,被配置为;接收VIVT缓存访问命令;判断VIVT缓存访问命令是否满足预设条件,所述预设条件包括:所述VIVT缓存访问命令指示同时发生高速缓冲存储器未命中和旁路转换缓冲区未命中的概率高于第一预设阈值;如果所述VIVT缓存访问命令满足预设条件,则同时访问高速缓冲存储器和旁路转换缓冲区;如果所述VIVT缓存访问命令不满足预设条件,只访问高速缓冲存储器。根据本公开实施例的VIV本文档来自技高网...

【技术保护点】
1.一种VIVT缓存访问方法,包括:接收VIVT缓存访问命令;判断VIVT缓存访问命令是否满足预设条件,所述预设条件包括:所述VIVT缓存访问命令指示同时发生高速缓冲存储器未命中和旁路转换缓冲区未命中的概率高于第一预设阈值;如果所述VIVT缓存访问命令满足预设条件,则同时访问高速缓冲存储器和旁路转换缓冲区;如果所述VIVT缓存访问命令不满足预设条件,只访问高速缓冲存储器。

【技术特征摘要】
1.一种VIVT缓存访问方法,包括:接收VIVT缓存访问命令;判断VIVT缓存访问命令是否满足预设条件,所述预设条件包括:所述VIVT缓存访问命令指示同时发生高速缓冲存储器未命中和旁路转换缓冲区未命中的概率高于第一预设阈值;如果所述VIVT缓存访问命令满足预设条件,则同时访问高速缓冲存储器和旁路转换缓冲区;如果所述VIVT缓存访问命令不满足预设条件,只访问高速缓冲存储器。2.根据权利要求1所述的方法,其中,所述VIVT缓存访问命令包括以下中的至少一个:虚拟地址、指令、预设参数。3.根据权利要求2所述的方法,其中,若所述VIVT缓存访问命令为虚拟地址,所述判断VIVT缓存访问命令是否满足预设条件,包括:判断所述虚拟地址所处的位置是否处于第一区域,其中,所述第一区域对应同时发生高速缓冲存储器未命中和旁路转换缓冲区未命中的概率高于第一预设阈值的区域;如果所述虚拟地址处于第一区域,则同时访问高速缓冲存储器和旁路转换缓冲区;如果所述虚拟地址不处于第一区域,则只访问高速缓冲存储器。4.根据权利要求2所述的方法,其中,若所述VIVT缓存访问命令为指令,所述判断VIVT缓存访问命令是否满足预设条件,包括:判断所述指令的类型是否为预设指令类型,其中,所述预设指令类型指示同时发生高速缓冲存储器未命中和旁路转换缓冲区未命中的概率高于第一预设阈值;如果所述指令的类型为预设指令类型,则同时访问高速缓冲存储器和旁路转换缓冲区;如果所述指令的类型不为预设指令类型,则只访问高速缓冲存储器。5.根据权利要求4所述的方法,其中,预设指令类型包括以下中的至少一个:间接跳转类指令、系统控制类指令、高速缓冲存储器管理类指令、或屏障类指令。6.根据权利要求2所述的方法,其中,若所述VIVT缓存访问命令为预设参数,所述判断VIVT缓存访问命令是否满足预设条件,包括:判断所述预设参数是否满足预设条件,其中所述预设条件包括:所述预设参数指示同时发生高速缓冲存储器未命中和旁路转换缓冲区未命中的概率高于第一预设阈值;如果所述预设参数满足预设条件,则同时访问高速缓冲存储器和旁路转换缓冲区;如果所述预设参数不满足预设条件,则只访问高速缓冲存储器。7.根据权利要求6所述的方法,其中,所述预设参数包括以下中的至少一个:在一定时间段内的分支目标缓冲器更新的频率或替换的个数、在一定时间段内的高速缓冲存储器未命中率或未命中的次数、在一定时间段内的旁路转换缓冲区未命中率或未命中的次数、在一定时间段内发生的用户中断次数、在一定时间段内发生的流水线排空次数、以及在一定时间段内分支指令执行个数。8.根据权利要求7所述的方法,其中,若所述预设参数为在...

【专利技术属性】
技术研发人员:张乾龙
申请(专利权)人:贵州华芯通半导体技术有限公司
类型:发明
国别省市:贵州,52

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1