[发明专利]一种存储体冲突优化方法、并行处理器及电子设备有效
申请号: | 202010527915.3 | 申请日: | 2020-06-11 |
公开(公告)号: | CN111857831B | 公开(公告)日: | 2021-07-20 |
发明(设计)人: | 袁庆;陈庆 | 申请(专利权)人: | 成都海光微电子技术有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/50 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 蒋姗 |
地址: | 610000 四川省成都市高新区中国(四川)自由贸易试*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 存储 冲突 优化 方法 并行 处理器 电子设备 | ||
本申请涉及一种存储体冲突优化方法、并行处理器及电子设备,属于计算机技术领域。该方法包括:在对位于流水线最前端的当前指令组中存在Bank冲突的同一个Bank中的目标指令进行处理时,确定处理目标指令时剩余的空闲Bank;获取流水线中指令地址指向所述空闲Bank,且距离所述当前指令组距离最近的一个指令组,得到目标指令组;按照优先级顺序将目标指令组中的指令分配给与该指令地址对应的空闲Bank进行处理。通过引入流水线的概念,将待处理的指令组暂存于流水线中,使得将发生Bank冲突时,出现的剩余数据带宽分配给其余时间输入的指令使用,充分利用存储体资源,减少Bank冲突带来暂停时间和存储体性能衰减。
技术领域
本申请属于计算机技术领域,具体涉及一种存储体冲突优化方法、并行处理器及电子设备。
背景技术
目前,由于大规模并行计算的需求和人工智能(Artificial Intelligence,AI)的发展,并行处理器(如图像处理器(Graphics Processing Unit,GPU)等)被广泛应用在人工智能学习训练、大规模科学计算、航天航空、自动驾驶等各领域。在现有的并行处理器的计算单元设计方案中,通常采用单指令多数据流(Single Instruction Multiple Data,SIMD)或多指令多数据流(Multiple Instruction stream and Multiple Data stream,MIMD)的方案,但是无论哪种方案,都要求足够的数据输入带宽,且随着计算需求的提高,对内部存储数据带宽的需要也进一步提高。目前并行处理器的内部数据存储主要为分体存储,即采用多个Bank(存储体)组成并行的多端口存储结构,以应对多个SIMD的读写请求。
但是即使这样,依旧无法避免Bank冲突(当同一时间对同一个bank中不同地址数据进行操作时,便会发生Bank冲突,也即在同一时刻存在多条指令的地址均指向同一个Bank)。当发生Bank冲突时,整个流水需要中断,并对发生冲突的Bank进行独立的读写,直到发生冲突的读写请求完全处理完毕时,才能对下一组读写请求进行操作。
通常而言,可以通过增加Bank的数目进行更细的颗粒划分,以减少Bank冲突的发生,或者,采用双端口存储介质的方式,也能有效抑制Bank冲突。此外,对于特殊的应用可以采用特殊的地址编码方式,也能取得相似的效果。但是,增加Bank的数目会导致功耗和仲裁逻辑复杂度的上升,而采用双端口的存储介质,会造成芯片面积的上升,而采用特殊的地址编码方式,其适用范围有限,且会导致芯片不再支持Burst(突发)读取等操作方式。其中,由于采用特殊的地址编码方式,导致相邻Bank的地址不再连续,而突发读写操作实际上是对连续的一片地址的读写操作,因此采用特殊的地址编码方式不再支持Burst操作。更为重要的是,上述的三种方式依旧无法杜绝Bank冲突的发生,只能抑制其发生。
发明内容
鉴于此,本申请的目的在于提供一种存储体冲突优化方法、并行处理器及电子设备,以改善发生Bank冲突带来的不利影响。
本申请的实施例是这样实现的:
第一方面,本申请实施例提供了一种存储体冲突优化方法,包括:在对位于流水线最前端的当前指令组中存在Bank冲突的同一个Bank中的目标指令进行处理时,确定处理所述目标指令时剩余的空闲Bank;获取所述流水线中指令地址指向所述空闲Bank,且距离所述当前指令组距离最近的一个指令组,得到目标指令组;按照优先级顺序将所述目标指令组中的指令分配给与该指令地址对应的空闲Bank进行处理。本申请实施例中,在对位于流水线最前端的当前指令组中存在Bank冲突的同一个Bank中的目标指令进行处理时,确定处理该目标指令时剩余的空闲Bank,从流水线中获取目标指令组,然后按照优先级顺序将目标指令组中的指令分配给与该指令地址对应的空闲Bank进行处理,通过引入流水线的概念,将待处理的指令组暂存于流水线中,使得将发生Bank冲突时,出现的剩余数据带宽分配给其余时间输入的指令使用,充分利用存储体资源,减少Bank冲突带来暂停时间和存储体性能衰减。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都海光微电子技术有限公司,未经成都海光微电子技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010527915.3/2.html,转载请声明来源钻瓜专利网。