多线程处理器系统及访存带宽控制方法技术方案

技术编号:26762017 阅读:25 留言:0更新日期:2020-12-18 23:06
本申请提供一种多线程处理器系统及访存带宽控制方法,包括:多级高速缓存cache,多级cache包括最后一级高速缓存LLC;LLC配置有第一缺失访存队列以及第一监控单元,第一缺失访存队列用于存储缺失访存请求;第一监控单元用于检测第一缺失访存队列中每个线程生成的访存请求的占比;当存在一目标线程生成的访存请求的第一占比超过第一设定阈值时,第一监控单元用于根据第一占比,确定第一限制度;第一监控单元用于将第一限制度发送给LLC的上一级存储单元。通过先明确出需要被限制的目标线程,然后再在LLC的上一级存储单元对目标线程生成的访存请求进行限制,在降低线程间干扰的同时,避免了在高级别的cache中对访存带宽进行带宽管理常常出现的不精确的问题。

【技术实现步骤摘要】
多线程处理器系统及访存带宽控制方法
本申请涉及计算机领域,具体而言,涉及一种多线程处理器系统及访存带宽控制方法。
技术介绍
在多核多线程处理器中,支持服务质量(QualityofService,简称QoS)的缓存cache带宽管理能够使程序更有秩序的执行。QoS通过限制低优先级的线程占有的带宽资源,从而为高优先级的线程提供更好的服务。通常来说,低优先级的线程生成的访存请求往往在多级cache中均缺失,而高优先级的线程生成的访存请求可能在多级cache中的高级别的cache中命中。若要对访存带宽进行精确地带宽管理,往往需要在最后一级高速缓存(Lastlevelcache,简称LLC)中进行限制,而非在高级别的cache中进行;理由是在高级别的cache中的访存请求可能会在多级cache中命中,而不会由LLC向下级存储单元发送,而LLC向下级存储单元发送的访问带宽才是待被带宽管理的访存带宽。然而,在LLC中对低优先级线程进行限制,反而使得低优先级线程生成的访存请求常常占有LLC中的各种资源,从而导致高优先级线程的可用资源较少,甚至因本文档来自技高网...

【技术保护点】
1.一种多线程处理器系统,其特征在于,包括多级高速缓存cache,多级cache包括最后一级高速缓存LLC;/n所述LLC配置有第一缺失访存队列以及第一监控单元,所述第一缺失访存队列用于存储缺失访存请求,其中,所述缺失访存请求为欲访存的数据在所述LLC缺失的访存请求,所述缺失访存请求携带有身份信息,所述身份信息包括表征该缺失访存请求来自的线程的线程标识;/n所述第一监控单元用于检测所述第一缺失访存队列中每个线程生成的访存请求的占比;/n当存在一目标线程生成的访存请求在所述第一缺失访存队列中的第一占比超过第一设定阈值时,所述第一监控单元用于根据所述第一占比,确定针对所述目标线程的第一限制度;/n...

【技术特征摘要】
1.一种多线程处理器系统,其特征在于,包括多级高速缓存cache,多级cache包括最后一级高速缓存LLC;
所述LLC配置有第一缺失访存队列以及第一监控单元,所述第一缺失访存队列用于存储缺失访存请求,其中,所述缺失访存请求为欲访存的数据在所述LLC缺失的访存请求,所述缺失访存请求携带有身份信息,所述身份信息包括表征该缺失访存请求来自的线程的线程标识;
所述第一监控单元用于检测所述第一缺失访存队列中每个线程生成的访存请求的占比;
当存在一目标线程生成的访存请求在所述第一缺失访存队列中的第一占比超过第一设定阈值时,所述第一监控单元用于根据所述第一占比,确定针对所述目标线程的第一限制度;
所述第一监控单元用于将所述第一限制度发送给所述LLC的上一级存储单元,以使所述LLC的上一级存储单元根据所述第一限制度,在所述LLC的上一级存储单元中对所述目标线程对应的缺失访存请求的发送进行限制。


2.根据权利要求1所述的多线程处理器系统,其特征在于,所述LLC还配置有多个第一令牌生成单元,所述多个第一令牌生成单元与所述LLC支持的多个线程一一对应;
每个所述第一令牌生成单元用于根据自身对应的线程的带宽控制值,计算自身生成令牌的周期,并根据所述自身生成令牌的周期进行令牌的生成;
所述LLC用于每消耗一个令牌,便控制所述第一缺失访存队列向下级存储单元发送一个所述令牌对应的缺失访存请求,所述令牌对应的缺失访存请求为第一缺失访存队列中由生成所述令牌的第一令牌生成单元对应的线程所生成的访存请求。


3.根据权利要求2所述的多线程处理器系统,其特征在于,所述多级cache包括除所述LLC以外的至少一个非LLC级cache,所述至少一个非LLC级cache中的每个非LLC级cache均配置有各自的第二缺失访存队列以及第二监控单元,所述第二缺失访存队列用于存储缺失访存请求,其中,所述缺失访存请求为欲访存的数据在所述非LLC级cache缺失的访存请求;
所述第二监控单元用于检测所述目标线程生成的访存请求在所述第二缺失访存队列的第二占比占比;
当所述目标线程生成的访存请求在所述第二缺失访存队列的第二占比超过第二设定阈值占比时,所述第二监控单元用于根据所述第二占比,确定针对所述目标线程的第二限制度占比;
所述第二监控单元用于将所述第二限制度发送给所述非LLC级cache的上一级存储单元,以使所述非LLC级cache的上一级存储单元根据所述第二限制度,在所述非LLC级cache的上一级存储单元中对所述目标线程对应的缺失访存请求的发送进行限制。


4.根据权利要求3所述的多线程处理器系统,其特征在于,每个所述非LLC级cache均配置有多个第二令牌生成单元,所述多个第二令牌生成单元与所述非LLC级cache支持的多个线程一一对应;
非LLC级cache配置的多个第二令牌生成单元中的与所述目标线程对应的第二令牌生成单元用于接收下一级cache发送的限制度;
所述第二令牌生成单元用于根据所述下一级cache发送的限制度,计算自身生成令牌的周期,并根据所述自身生成令牌的周期进行令牌的生成;
所述非LLC级cache用于每消耗一个所述目标线程对应的第二令牌生成单元生成的令牌,便控制所述第二缺失访存队列向下一级cache发送一个所述目标线程生成的缺失访存请求。


5.根据权利要求1所述的多线程处理器系统,其特征在于,所述多线程处理器系统还包括处理器核,所述处理器核与所述多级cache相通信,所述处理器核包括指令发射单元,所述指令发射单元包括指令发射逻辑单元和多个第三令牌生成单元,所述多个第三令牌生成单元的数量与所述处理器...

【专利技术属性】
技术研发人员:姚涛贾琳黎时兴林江
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:天津;12

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

1