高效的多线程并行计算处理器数据缓存的设计方法和装置制造方法及图纸

技术编号:37966893 阅读:12 留言:0更新日期:2023-06-30 09:42
本发明专利技术提供了一种高效的多线程并行计算处理器数据缓存的设计方法及装置,该设计方法包括以下步骤:步骤1,线程的划分步骤;每个时钟周期把多个线程按数据地址划分到不同bank上,然后同时发送多个线程的LS指令及其线程ID到数据缓存处理步骤;步骤2,数据缓存处理步骤;如果线程命中的话,缓存下个时钟周期同时返回多个线程的数据,如果线程不全命中的话,则将不命中的信号分别发送到线程的划分步骤和线程管理步骤进行处理,随后把不命中访问地址及其线程ID压入MISSFIFO中,处理MISSFIFO中的每个地址,处理完毕后唤醒对应的线程;步骤3,线程管理步骤。本发明专利技术的有益效果是:能高效处理多线程并行计算处理器的数据请求,代价小,并行性能好。并行性能好。并行性能好。

【技术实现步骤摘要】
高效的多线程并行计算处理器数据缓存的设计方法和装置


[0001]本专利技术涉及处理器领域,尤其涉及一种高效的多线程并行计算处理器数据缓存的设计方法和装置。

技术介绍

[0002]在中国专利号为:CN202110064248.4,专利技术名称为有效消除数据访问延迟的并行数据处理方法及并行处理器的专利申请中,揭示了一种有效消除数据访问延迟的并行数据处理方法和并行处理器,其只能较好的降低任务切换代价以及分支跳转代价,降低计算资源的浪费及能量的消耗,不能高效处理多线程并行计算处理器的数据请求,代价大。

技术实现思路

[0003]为了解决现有技术中的问题,本专利技术提供了一种高效的多线程并行计算处理器数据缓存的设计方法和装置。
[0004]本专利技术公开的一种高效的多线程并行计算处理器数据缓存的设计方法,包括以下步骤:
[0005]步骤1,线程的划分步骤;每个时钟周期把多个线程按数据地址划分到不同bank上,然后同时发送多个线程的LS指令及其线程ID到数据缓存处理步骤。
[0006]步骤2,数据缓存处理步骤;先进行TAG比对,看线程是否能命中,如果线程命中的话,缓存下个时钟周期同时返回多个线程的数据,如果线程不全命中的话,则将不命中的信号分别发送到线程的划分步骤和线程管理步骤进行处理,随后把没有命中的访问地址及其线程ID压入MISS FIFO中,处理MISS FIFO中的每个地址,处理完毕后唤醒对应的线程。
[0007]步骤3,线程管理步骤;根据步骤2的不命中信号对同时钟周期对应的线程进行切换,把时钟周期对应的线程都切换出硬件流水线,同时把满足执行条件的待处理线程切换到硬件执行。
[0008]作为本专利技术的进一步改进,在所述步骤1中,如果各线程的访问地址不能划分到不同bank的话,则需要额外的时钟周期去处理bank conflict,该额外时钟周期对并行数据处理器不可见。
[0009]作为本专利技术的进一步改进,在所述步骤2中,还包括:
[0010]步骤20,先进行TAG比对,看线程是否能命中,如果线程都命中的话,则同时钟周期写入线程的数据,或下一个时钟周期返回线程的所有访问数据;如果不全命中的话,则同时钟周期发送不命中信号到线程的划分步骤和线程管理步骤进行处理,随后会把没有命中的要访问地址及其线程ID都压入MISS FIFO中去,等待并处理相应缓存请求。
[0011]步骤21,从MISS FIFO中读出相应的信息,然后从外部DDR中请求回相应的Cache line数据,如果数据缓存中有空闲entry的话,则直接更新数据缓存,若缓存都有有效数据的话,按照RoundRobin的规律找出下一个entry,如果数据需要回写,先执行回写操作,之后再更新数据缓存。
[0012]作为本专利技术的进一步改进,在所述步骤20中,TAG的组织不进行bank划分,直接全相连设计,且最小容量不小于并行数据处理器支持的硬件多线程的总线程数。
[0013]作为本专利技术的进一步改进,在所述步骤21中,当数据更新回缓存时或者MISS FIFO读出来的请求在之前其它线程的请求中刚好已处理,会发送信号到步骤3,告知其对应的线程所需要的数据已准备好,该线程可以重新切换回准备状态。
[0014]本专利技术还公开了一种高效的多线程并行计算处理器数据缓存的设计装置,
[0015]作为本专利技术的进一步改进,包括:
[0016]LS存储单元:用于每个时钟周期把多个线程按数据地址划分到不同bank上,然后同时发送多个线程的LS指令及其线程ID给数据缓存单元。
[0017]数据缓存单元:用于进行TAG比对,看线程是否能命中;如果线程命中的话,缓存下个时钟周期同时返回多个线程的数据,如果线程不全命中的话,则将不命中的信号分别发送到LS存储单元和线程管理单元,随后把没有命中的访问地址及其线程ID压入MISS FIFO中,处理MISS FIFO中的每个地址,处理完毕后唤醒对应的线程。
[0018]线程管理单元:用于根据数据缓存单元的不命中信号对同时钟周期对应的线程进行切换,即把时钟周期对应的线程都切换出硬件流水线,同时把满足执行条件的待处理线程切换到硬件执行。
[0019]作为本专利技术的进一步改进,在所述LS存储单元中,如果各线程的访问地址不能划分到不同bank的话,则需要额外的时钟周期去处理bank conflict,该额外时钟周期对并行数据处理器不可见。
[0020]作为本专利技术的进一步改进,在所述数据缓存单元中,还包括:
[0021]命中模块:用于进行TAG比对,看线程是否能命中,如果线程都命中的话,则同时钟周期写入线程的数据,或下一个时钟周期返回线程的所有访问数据;如果不全命中的话,则同时钟周期发送不命中信号到线程的划分步骤和线程管理步骤进行处理,随后会把没有命中的访问地址及其线程ID都压入MISS FIFO中去,等待并处理相应缓存请求。
[0022]缓存更新模块:用于从MISS FIFO中读出相应的信息,然后从外部DDR中请求回相应的Cache line数据,如果数据缓存中有空闲entry的话,则直接更新数据缓存,若缓存都有有效数据的话,按照RoundRobin的规律找出下一个entry,如果数据需要回写,先执行回写操作,之后再更新数据缓存。
[0023]作为本专利技术的进一步改进,在所述命中模块中,TAG的组织不进行bank划分,直接全相连设计,且最小容量不小于并行数据处理器支持的硬件多线程的总线程数。
[0024]作为本专利技术的进一步改进,在所述缓存更新模块中,当数据更新回缓存时或者MISS FIFO读出来的请求在之前其它线程的请求中刚好已处理,会发送信号到线程管理单元,告知其对应的线程所需要的数据已准备好,该线程可以重新切换回准备状态。
[0025]本专利技术的有益效果是:本专利技术能高效处理多线程并行计算处理器的数据请求,代价小,并行性能好。
附图说明
[0026]图1是本专利技术实施例2的原理框图;
[0027]图2是本专利技术实施例2的线程指令示意图;
[0028]图3是本专利技术实施例2的数据缓存结构图;
[0029]图4是本专利技术实施例2的MISS FIFO示意图。
具体实施方式
[0030]本专利技术公开了一种高效的多线程并行计算处理器数据缓存的设计方法,针对并行数据处理程序的特性以及并行处理器的实现特性,利用并行多线程数据访问的同步性,通过大量不同线程的切换去屏蔽数据访问延迟。
[0031]本专利技术的装置主要由存储LS单元1、数据缓存单元2和线程管理单元3三部分组成。
[0032]作为本专利技术的第1实施例,本专利技术公开了一种高效的多线程并行计算处理器数据缓存的设计方法,包括以下步骤:
[0033]步骤1,线程的划分步骤;每个时钟周期把多个线程按数据地址划分到不同bank上,然后同时发送多个线程的LS指令及其线程ID到数据缓存处理步骤。
[0034]在所述步骤1中,如果各线程的访问地址本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种高效的多线程并行计算处理器数据缓存的设计方法,其特征在于,包括以下步骤:步骤1,线程的划分步骤;每个时钟周期把多个线程按数据地址划分到不同bank上,然后同时发送多个线程的LS指令及其线程ID到数据缓存处理步骤;步骤2,数据缓存处理步骤;先进行TAG比对,看线程是否能命中,如果线程命中的话,缓存下个时钟周期同时返回多个线程的数据,如果线程不全命中的话,则将不命中的信号分别发送到线程的划分步骤和线程管理步骤进行处理,随后把没有命中的访问地址及其线程ID压入MISS FIFO中,处理MISS FIFO中的每个地址,处理完毕后唤醒对应的线程;步骤3,线程管理步骤;根据步骤2的不命中信号对同时钟周期对应的线程进行切换,把时钟周期对应的线程都切换出硬件流水线,同时把满足执行条件的待处理线程切换到硬件执行。2.根据权利要求1所述的设计方法,其特征在于,在所述步骤1中,如果各线程的访问地址不能划分到不同bank的话,则需要额外的时钟周期去处理bank conflict,该额外时钟周期对并行数据处理器不可见。3.根据权利要求1所述的设计方法,其特征在于,在所述步骤2中,还包括:步骤20,先进行TAG比对,看线程是否能命中,如果线程都命中的话,则同时钟周期写入线程的数据,或下一个时钟周期返回线程的所有访问数据;如果不全命中的话,则同时钟周期发送不命中信号到线程的划分步骤和线程管理步骤进行处理,随后会把没有命中的访问地址及其线程ID都压入MISS FIFO中去,等待并处理相应缓存请求;步骤21,从MISS FIFO中读出相应的信息,然后从外部DDR中请求回相应的Cache line数据,如果数据缓存中有空闲entry的话,则直接更新数据缓存,若缓存都有有效数据的话,按照RoundRobin的规律找出下一个entry,如果数据需要回写,先执行回写操作,之后再更新数据缓存。4.根据权利要求3所述的设计方法,其特征在于,在所述步骤20中,TAG的组织不进行bank划分,直接全相连设计,且最小容量不小于并行数据处理器支持的硬件多线程的总线程数。5.根据权利要求3所述的设计方法,其特征在于,在所述步骤21中,当数据更新回缓存时或者MISS FIFO读出来的请求在之前其它线程的请求中刚好已处理,会发送信号到步骤3,告知其对应的线程所需要的数据已准备好,该线程可以重新切换回准备状态。6.一种高效的多线程并行计算处理器数据缓存的...

【专利技术属性】
技术研发人员:钟伟王文捷陈千里
申请(专利权)人:深圳中微电科技有限公司
类型:发明
国别省市:

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

1