指令缓存、指令缓存组及其请求合并方法技术

技术编号:31712085 阅读:14 留言:0更新日期:2022-01-01 11:15
本发明专利技术提供一种指令缓存、指令缓存组及其请求合并方法。经由仲裁器在多个访问请求中选择其中一个作为执行请求,其中所述多个访问请求分别由多个线程发送且在同一时间向所述仲裁器请求仲裁;将所述多个访问请求中未被所述仲裁器选择的且与所述执行请求具有相同访问地址的访问请求标记与所述执行请求进行合并,以得到合并请求;基于所述访问地址来读取数据;以及将所读取的所述数据广播至所述合并请求所对应的所有线程。求所对应的所有线程。求所对应的所有线程。

【技术实现步骤摘要】
指令缓存、指令缓存组及其请求合并方法


[0001]本专利技术涉及一种指令缓存、指令缓存组及其请求合并方法。

技术介绍

[0002]一般而言,在通用计算图形处理单元(General

purpose computing on graphics processing units,GPGPU)中,指令缓存是多个线程所共享。在正常工作中,多个线程会同时向指令缓存发送指令读取的请求。经过仲裁之后,指令缓存会选择一个线程的请求送到指令存储器中将对应的指令数据读取出来。据此,当多个线程同时读取相同的指令时,由于指令缓存每次只能处理一个线程的请求,导致这些请求只能串行处理,使得相同的指令被读取了多次。这种方式使得指令的读取延迟增长,浪费了指令存储器的数据带宽。

技术实现思路

[0003]本专利技术是针对一种指令缓存、指令缓存组及其请求合并方法,可合并处理同一时间的多个请求,降低处理延迟并减少指令存储器的访问带宽。
[0004]本专利技术用于指令缓存的请求合并方法,包括:经由仲裁器在多个访问请求中选择其中一个作为执行请求,其中所述多个访问请求分别由多个线程发送且在同一时间向所述仲裁器请求仲裁;将所述多个访问请求中未被所述仲裁器选择的且与所述执行请求具有相同访问地址的访问请求与所述执行请求进行合并,以得到合并请求;基于所述访问地址来读取数据;以及将所读取的所述数据广播至所述合并请求所对应的所有线程。
[0005]根据本专利技术的实施例,将所述多个访问请求中未被所述仲裁器选择的且与所述执行请求具有相同访问地址的访问请求与所述执行请求进行合并,以得到所述合并请求的步骤包括:记录所述合并请求对应的标识符,所述标识符至少包含所述多个访问请求中具有相同访问地址的访问请求所对应的线程的标识信息。
[0006]根据本专利技术的实施例,将所读取的所述数据广播至所述合并请求所对应的所有线程的步骤包括:基于所述标识符,将所读取的所述数据广播至所述合并请求所对应的所有线程。
[0007]根据本专利技术的实施例,在经由仲裁器在多个访问请求中选择其中一个作为执行请求之后,还包括:将所述多个访问请求中未被所述仲裁器选择的访问请求与所述执行请求进行比对,以找出与所述执行请求具有相同访问地址的访问请求。
[0008]本专利技术的指令缓存,包括:仲裁器;用以在多个访问请求中选择其中一个作为执行请求,其中所述多个访问请求分别由多个线程发送且在同一时间向所述仲裁器请求仲裁;第一操作逻辑,用以将所述多个访问请求中未被所述仲裁器选择的且与所述执行请求具有相同访问地址的访问请求与所述执行请求进行合并,以得到合并请求;指令存储器,基于所述访问地址来读取数据;以及第二操作逻辑,用以将所读取的所述数据广播至所述合并请求所对应的所有线程。
[0009]在根据本专利技术的实施例的指令缓存中,所述第一操作逻辑记录所述合并请求对应
的标识符,所述标识符至少包含所述多个访问请求中具有相同访问地址的访问请求所对应的线程的标识信息。
[0010]在根据本专利技术的实施例的指令访问装置中,所述第二操作逻辑基于所述标识符,将所读取的所述数据广播至所述合并请求所对应的所有线程。
[0011]在根据本专利技术的实施例的指令访问装置中,所述第一操作逻辑将所述多个访问请求中未被所述仲裁器选择的访问请求与所述执行请求进行比对,以找出与所述执行请求具有相同访问地址的访问请求。
[0012]本专利技术的指令缓存组包括:多个指令缓存;所述多个指令缓存至少包括一个所述的指令缓存。
[0013]在根据本专利技术的实施例的指令缓存组中,同时访问所述多个指令缓存中至少两个指令缓存的访问请求的访问地址不同。
[0014]基于上述,本专利技术在指令缓存中提出一种请求合并方法,即,在仲裁器与指令存储器之间引入了请求合并的动作,将同一时间具有相同访问地址的访问请求进行合并处理。据此,可缩短指令的读取时间,并节省了指令存储器的访问带宽。
附图说明
[0015]图1是依照本专利技术一实施例的指令访问装置的框图。
[0016]图2是依照本专利技术一实施例的请求合并方法的流程图。
[0017]附图标记说明
[0018]100:指令访问装置
[0019]100A:执行单元
[0020]100B:指令缓存
[0021]110:仲裁器
[0022]120:第一操作逻辑
[0023]130:指令存储器
[0024]140:第二操作逻辑
[0025]T1~Tn:线程
[0026]r1~rn:访问请求
[0027]r:执行请求
[0028]S205~S220:请求合并方法的步骤
具体实施方式
[0029]现将详细地参考本专利技术的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同组件符号在图式和描述中用来表示相同或相似部分。
[0030]图1是依照本专利技术一实施例的指令访问装置的框图。请参照图1,指令访问装置100包括执行单元(execution unit,EU)100A以及指令缓存100B。在一些示例中,执行单元100A例如是中央处理器(central processing unit,CPU)的一部分,它按照计算机程序的指示执行操作和计算。在本实施例中,由执行单元100A发出多个线程T1~Tn。另外,在其他实施例中也可由多个不同的执行单元100A同时发出多个线程T1~Tn,而一个执行单元100A可以
发出一个线程或同时发出多个线程。
[0031]应当理解,多个线程T1~Tn还可以由其他的装置发出,本专利技术对多个线程T1~Tn的产生方式并不加以限定。
[0032]指令缓存100B例如为高速缓存。高速缓存存在于每个处理器内,处理器在执行读、写操作的时候并不需要直接与内存交互,而是通过高速缓存进行。在本实施例中,处理器为通用计算图形处理单元(General

purpose computing on graphics processing units,GPGPU)。指令缓存100B包括仲裁器110、第一操作逻辑120、指令存储器130以及第二操作逻辑140。
[0033]以下结合上述指令访问装置100来进一步说明指令共享方法各步骤。
[0034]图2是依照本专利技术一实施例的请求合并方法的流程图。请同时参照图1及图2,在步骤S205中,经由仲裁器110在多个访问请求r1~rn中选择其中一个作为执行请求r。在此,所述多个访问请求r1~rn分别由多个线程T1~Tn发送且在同一时间向仲裁器110请求仲裁。即,当这些线程T1~Tn进入指令缓存100B且在同一时间向仲裁器110请求仲裁时,会先由仲裁器110来选择其中一个作为后续的执行请求r。
[0035]在步骤S210中,第一操作逻辑120将所述多个访问请求r1~rn中未被所述仲裁器110选择的且与执行请求r具有相同访问地址的访问请求与所述执行请求进行合并,以得到合并请求。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于指令缓存的请求合并方法,其特征在于,包括:经由仲裁器在多个访问请求中选择其中一个作为执行请求,其中所述多个访问请求分别由多个线程发送且在同一时间向所述仲裁器请求仲裁;将所述多个访问请求中未被所述仲裁器选择的且与所述执行请求具有相同访问地址的访问请求与所述执行请求进行合并,以得到合并请求;基于所述访问地址来读取数据;以及将所读取的所述数据广播至所述合并请求所对应的所有线程。2.根据权利要求1所述的请求合并方法,其中将所述多个访问请求中未被所述仲裁器选择的且与所述执行请求具有相同访问地址的访问请求与所述执行请求进行合并,以得到所述合并请求的步骤包括:记录所述合并请求对应的标识符,所述标识符至少包含所述多个访问请求中具有相同访问地址的访问请求所对应的线程的标识信息。3.根据权利要求2所述的请求合并方法,其中将所读取的所述数据广播至所述合并请求所对应的所有线程的步骤包括:基于所述标识符,将所读取的所述数据广播至所述合并请求所对应的所有线程。4.根据权利要求1所述的请求合并方法,其中在经由仲裁器在所述多个访问请求中选择其中一个作为执行请求之后,还包括:将所述多个访问请求中未被所述仲裁器选择的访问请求与所述执行请求进行比对,以找出与所述执行请求具有相同访问地址的访问请求。5.一种指令缓存,其特征在...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:上海壁仞智能科技有限公司
类型:发明
国别省市:

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

1