System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 资源分配方法、处理器和电子设备组成比例_技高网

资源分配方法、处理器和电子设备组成比例

技术编号:41704504 阅读:2 留言:0更新日期:2024-06-19 12:36
一种资源分配方法、处理器和电子设备。该资源分配方法,应用于处理器,处理器配置为并发执行多个线程,处理器包括微指令缓存,方法包括:探测多个线程每个的核心指令的数量,每个线程的指令包括核心指令和非核心指令,并且核心指令的重要程度大于非核心指令的重要程度;以及根据每个线程的核心指令的数量,调控微指令缓存的资源的分配。该方法能够至少部分地解决多线程之间互相竞争微指令缓存资源引起的微指令缓存资源利用率较低的问题,提高微指令缓存资源的利用率。

【技术实现步骤摘要】

本公开的实施例涉及一种资源分配方法、处理器和电子设备


技术介绍

1、传统处理器(cpu)在某一时间只能处理一个指令序列,通常称为一个线程。在线程处理的过程中cpu的处理单元需要不断调入指令与数据进行处理。随着cpu技术的发展,cpu的主频与性能不断提高,需要调入指令和数据的速度不断提高。但不幸的是内存技术的发展并没有跟上cpu发展的速度,内存通常无法提供足够的指令和数据给cpu进行处理。

2、为了提高cpu处理单元的利用率,提出了线程级的并行技术,即在cpu的核心中执行一个以上的指令序列。对于操作系统来说,一个物理的处理器相当于多个逻辑的处理器,实现多线程技术。


技术实现思路

1、本公开至少一个实施例提供一种资源分配方法,应用于处理器,所述处理器配置为并发执行多个线程,所述处理器包括微指令缓存,所述方法包括:探测所述多个线程每个的核心指令的数量,每个线程的指令包括所述核心指令和非核心指令,并且所述核心指令的重要程度大于所述非核心指令的重要程度;以及根据所述每个线程的所述核心指令的数量,调控所述微指令缓存的资源的分配。

2、例如,在本公开一实施例提供的资源分配方法中,根据所述每个线程的所述核心指令的数量,调控所述微指令缓存的资源的分配,包括:根据所述每个线程的所述核心指令的数量,从所述多个线程中确定目标线程;以及将所述目标线程的微指令写入到所述微指令缓存,所述目标线程的微指令是对所述目标线程的指令中至少部分译码得到的。

3、例如,在本公开一实施例提供的资源分配方法中,目标线程的微指令是对所述目标线程的核心指令译码得到的。

4、例如,在本公开一实施例提供的资源分配方法中,根据所述每个线程的所述核心指令的数量,从所述多个线程中确定目标线程,包括:获取所述微指令缓存的容量;以及基于所述容量和所述每个线程的所述核心指令的数量,从所述多个线程中确定目标线程。

5、例如,在本公开一实施例提供的资源分配方法中,基于所述容量和所述每个线程的所述核心指令的数量,从所述多个线程中确定所述目标线程,包括:响应于所述多个线程的所述核心指令的数量之和小于或者等于所述容量,将所述多个线程每个均作为所述目标线程。

6、例如,在本公开一实施例提供的资源分配方法中,基于所述容量和所述每个线程的所述核心指令的数量,从所述多个线程中确定所述目标线程,包括:响应于所述多个线程的所述核心指令的数量之和大于所述容量,并且不满足所述每个线程的所述核心指令的数量均大于所述容量,按照所述每个线程的所述核心指令的数量,对所述多个线程排序;按照所述多个线程排序,依次优先排除所述多个线程中所述数量最大的线程,并且计算排除所述数量最大的线程后剩余线程的所述数量之和,直到所述数量之和小于所述容量;以及将所述数量之和小于所述容量的情况下对应的剩余线程作为所述目标线程。

7、例如,在本公开一实施例提供的资源分配方法中,根据所述每个线程的所述核心指令的数量,调控所述微指令缓存的资源的分配,还包括:响应于所述每个线程的所述核心指令的数量均大于所述容量,所述多个线程每个均不分配所述微指令缓存的资源。

8、例如,在本公开一实施例提供的资源分配方法中,核心指令包括在采样窗口内执行多次的指令。

9、例如,在本公开一实施例提供的资源分配方法中,探测所述多个线程每个的核心指令的数量,包括:获取所述采样窗口内所述每个线程执行的指令的指令地址;根据所述指令地址的访问次数,确定所述指令地址对应的指令的执行次数;以及将所述执行次数大于n的指令的数量为所述核心指令的数量,n为正整数。

10、例如,在本公开一实施例提供的资源分配方法中,采样窗口包括预设数量的时钟周期或者预设指令数量。

11、例如,在本公开一实施例提供的资源分配方法中,微指令缓存的资源包括所述微指令缓存的存储空间。

12、本公开至少一个实施例提供一种处理器,配置为并发执行多个线程,所述处理器包括:微指令缓存;以及控制器,与所述微指令缓存耦接,且配置为:探测所述多个线程每个的核心指令的数量,每个线程的指令包括所述核心指令和非核心指令,并且所述核心指令的重要程度大于所述非核心指令的重要程度;以及根据所述每个线程的所述核心指令的数量,调控所述微指令缓存的资源的分配。

13、例如,在本公开一实施例提供的处理器,还包括:译码器,所述译码器与所述控制器的输入端耦接,配置为对所述每个线程的指令译码得到所述每个线程的微指令;缓冲器,所述缓冲器的输入端与所述控制器的输出端耦接,所述缓冲器的输出端与所述微指令缓存耦接,所述缓冲器包括多个缓冲区,所述多个缓冲区与所述多个线程的微指令一一对应,配置为存储所述多个线程的微指令,所述缓冲器配置为将所述缓冲区中的微指令写入所述微指令缓存,所述控制器配置为:根据所述每个线程的所述核心指令的数量,从所述多个线程中确定目标线程;以及将所述目标线程的微指令写入到所述目标线程对应的缓冲区。

14、本公开至少一个实施例提供一种电子设备,包括本公开任一实施例提供的处理器。

本文档来自技高网...

【技术保护点】

1.一种资源分配方法,应用于处理器,其中,所述处理器配置为并发执行多个线程,所述处理器包括微指令缓存,所述方法包括:

2.根据权利要求1所述的方法,其中,根据所述每个线程的所述核心指令的数量,调控所述微指令缓存的资源的分配,包括:

3.根据权利要求2所述的方法,其中,所述目标线程的微指令是对所述目标线程的核心指令译码得到的。

4.根据权利要求2或3所述的方法,其中,根据所述每个线程的所述核心指令的数量,从所述多个线程中确定目标线程,包括:

5.根据权利要求4所述的方法,其中,基于所述容量和所述每个线程的所述核心指令的数量,从所述多个线程中确定所述目标线程,包括:

6.根据权利要求4所述的方法,其中,基于所述容量和所述每个线程的所述核心指令的数量,从所述多个线程中确定所述目标线程,包括:

7.根据权利要求4~6任一项所述的方法,其中,根据所述每个线程的所述核心指令的数量,调控所述微指令缓存的资源的分配,还包括:

8.根据权利要求1所述的方法,其中,所述核心指令包括在采样窗口内执行多次的指令。

9.根据权利要求8所述的方法,其中,探测所述多个线程每个的核心指令的数量,包括:

10.根据权利要求8或9所述的方法,其中,所述采样窗口包括预设数量的时钟周期或者预设指令数量。

11.根据权利要求1所述的方法,其中,所述微指令缓存的资源包括所述微指令缓存的存储空间。

12.一种处理器,配置为并发执行多个线程,其中,所述处理器包括:

13.根据权利要求12所述的处理器,还包括:

14.一种电子设备,包括:权利要求12-13任一项所述的处理器。

...

【技术特征摘要】

1.一种资源分配方法,应用于处理器,其中,所述处理器配置为并发执行多个线程,所述处理器包括微指令缓存,所述方法包括:

2.根据权利要求1所述的方法,其中,根据所述每个线程的所述核心指令的数量,调控所述微指令缓存的资源的分配,包括:

3.根据权利要求2所述的方法,其中,所述目标线程的微指令是对所述目标线程的核心指令译码得到的。

4.根据权利要求2或3所述的方法,其中,根据所述每个线程的所述核心指令的数量,从所述多个线程中确定目标线程,包括:

5.根据权利要求4所述的方法,其中,基于所述容量和所述每个线程的所述核心指令的数量,从所述多个线程中确定所述目标线程,包括:

6.根据权利要求4所述的方法,其中,基于所述容量和所述每个线程的所述核心指令的数量,从所述多个线程中确定所述目标线程,包括...

【专利技术属性】
技术研发人员:时兴
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

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

1