不同处理通道之间的复用制造技术

技术编号:31501628 阅读:17 留言:0更新日期:2021-12-22 23:19
本发明专利技术涉及不同处理通道之间的复用。一种用于处理器中的电路。所述电路包括:包括第一逻辑单元的第一处理通道;包括第二逻辑单元的第二处理通道;以及复用电路。复用电路包括:输入复用器,所述输入复用器被布置成在第一状态和相应第二状态之间切换,在第一状态中,第一逻辑单元的输入耦接到第一处理通道的输入线,在相应第二状态中,第一逻辑单元的输入转而耦接到第二处理通道的输入线;以及输出复用器,所述输出复用器被布置成在第一状态和第二状态之间切换,在第一状态中,第二处理通道的输出线耦接到第二逻辑单元的输出,在第二状态中,第二处理通道的输出线转而耦接到第一逻辑单元的输出。单元的输出。单元的输出。

【技术实现步骤摘要】
不同处理通道之间的复用


[0001]本专利技术涉及不同处理通道之间的复用。

技术介绍

[0002]处理器是用于执行机器代码指令的装置。给定处理器被配置成识别指令类型的特定预定义集合,称为处理器的指令集。每个指令类型由相应的操作码和零或更多操作数字段定义。处理器被配置成从存储器获取指令以用于执行。处理器可以包括许多不同种类的子单元,以用于根据正在执行的指令的类型,执行不同类别的操作。例如,处理器可以包括用于响应于算术指令类型而执行整数算术运算的整数算术逻辑单元,用于响应于浮点指令类型而执行浮点运算的浮点算术逻辑单元,以及用于响应于加载和存储指令类型而执行存储器访问操作的加载存储单元。
[0003]例如,在精简指令集计算机(RISC)中,加载指令需要至少两个操作数:源存储器地址和在处理器的寄存器文件中指定目的地寄存器的标识符。执行时,加载指令会作用于加载存储单元,以将来自源地址的值加载到目的地寄存器中。取决于指令的类型,逻辑指令可以获取不同数目的操作数。例如,诸如加或乘指令等的逻辑指令可以采用三个操作数:两个在寄存器文件中指定两个相应的源寄存器,一个在寄存器文件中指定目的地寄存器。当执行时,逻辑指令作用于相关逻辑单元,例如整数或浮点算术逻辑单元,以便对指定源寄存器中的值执行相关逻辑操作,并将结果置于指定目的地寄存器中。要执行的操作以及触发哪个逻辑单元以执行此操作将取决于相关指令的操作码。将逻辑操作的结果存储回到存储器涉及存储指令。存储指令需要至少两个操作数:一个指定寄存器文件中的源寄存器,一个指定存储器中的目的地地址。当执行时,存储指令作用于加载

存储单元以将指定源寄存器中的值存储到目的地存储器地址。
[0004]可以针对特定应用定制诸如图形处理单元(GPU)等专用处理器的一种方式是将一种或多种专用指令类型包括在处理器的指令集中。此类指令类型将执行比响应相关类型的单个机器代码指令的单个实例而触发的简单加载、存储、加或乘等更复杂的操作。例如,这可以是特定的数学运算,例如在相关应用中经常出现的乘法累加(MAC)。相同的操作可以通过通用加和乘指令等的组合来构建,但是与使用更专业化指令集的指令相比,这会降低代码密度。
[0005]在一些种类的处理器中,例如矢量处理器、SIMD(单指令多数据)或SIMT(单指令多线程)处理器中,处理器包括多个并行处理通道。所述并行处理通道中的每一个可以包括相同种类的逻辑单元中的至少一个的相应实例。例如,每个通道可以包括相应的算术逻辑单元(ALU),例如整数算术逻辑单元或浮点算术逻辑单元。响应于在单个提取操作中提取的相同指令的相同实例的执行,触发不同并行通道中的一些或所有逻辑单元以对不同数据执行相同操作,例如对指定为操作源的矢量寄存器中的矢量的不同元素执行相同操作。例如,每个ALU可操作以执行乘法累加(MAC),也称为乘加。这需要两个乘法输入(有时称为乘数和被乘数)和加数输入(也称为累加数),并且将加数添加到两个乘法输入的乘积。MAC可以实施
为融合的乘法加法,由此在一个融合步骤中执行乘法累加。每个并行逻辑单元的MAC的结果可以放置在目的地矢量寄存器的相应元件中。
[0006]这种处理器的示例性应用是在图形处理中发现的,其中经常需要并行地对不同像素执行相同的操作。例如,GB 2,553,010(Nield等人)公开了一种具有四个并行ALU的处理器,其用于针对2x2集群中的四个相邻像素或图像片段执行相同操作的不同实例。响应于相同MAC指令的相同实例,每个ALU可以在其相应输入值(例如,像素值)上并行执行相应的乘法累加。
[0007]在大多数操作中,每个通道的相应ALU或处理单元仅在该通道自己的输入数据上操作。然而,Nield还公开了包括复用电路,其允许将来自一个通道的输入线的输入值交换到另一个通道的逻辑单元。这可以用于实现例如响应于梯度指令而执行的梯度操作。例如,这可以是确定x方向上的相邻像素之间的梯度的ds/dx操作,或确定y方向上的相邻像素之间的梯度的ds/dy操作。可以响应于处理器的指令集中的专用DSDX或DSDY指令而执行这些操作。

技术实现思路

[0008]本文中认识到,向Nield提供替代设计将是合乎需要的。例如,本文认识到,Nield所公开的复用电路比它可能的情况更复杂,并且与Nield中使用的方法相比,还有机会节省功耗。
[0009]根据本文公开的一个方面,提供了一种用于处理器中的电路,所述电路包括第一处理通道、第二处理通道、复用电路和控制电路。所述第一处理通道包括:相应第一输入线,第二输入线和输出线,以及第一逻辑单元,所述第一逻辑单元被配置成对第一逻辑单元的相应第一输入和第二输入执行操作,以在第一逻辑单元的相应输出处产生相应结果,其中,第一逻辑单元的第一输入耦接到第一处理通道的第一输入线。所述第二处理通道包括:相应第一输入线,第二输入线和输出线,以及第二逻辑单元,所述第二逻辑单元被配置成对第二逻辑单元的相应第一输入和第二输入执行操作,以在第二逻辑单元的相应输出处产生相应结果,其中,第二逻辑单元的第一输入耦接到第二处理通道的第一输入线。所述复用电路至少包括第一输入复用器和第一输出复用器。所述第一输入复用器被布置成在相应第一状态和相应第二状态之间切换,在所述相应第一状态中,第一逻辑单元的第二输入耦接到第一处理通道的第二输入线,在所述相应第二状态中,第一逻辑单元的第二输入转而耦接到第二处理通道的第一输入线。所述第一输出复用器被布置成在相应第一状态和相应第二状态之间切换,在所述相应第一状态中,第二处理通道的输出线耦接到第二逻辑单元的输出,在所述相应第二状态中,第二处理通道的输出线转而耦接到第一逻辑单元的输出。所述电路还包括控制电路,所述控制电路被布置成响应于正执行指令而控制复用电路。
[0010]所公开的电路基于以下认识:当执行Nield中的梯度操作时,每个ALU始终必须执行其自身的有关操作(例如,梯度操作)的实例,以便在其相应输出处产生相应值,即使这些操作中的一些彼此完全相同。即,在两个ALU间复制相同的操作。例如,参考Nields的图4和图5c至图5d,为了执行细ds/dx梯度操作,顶部两个ALU都执行从像素1减去像素0,并且底部两个ALU都执行从像素2减去像素3(基于在x方向上从一个像素到下一像素的梯度在小距离上大致恒定的近似)。然而,本文认识到,这种重复不是必要的。本文公开的电路实际上仅使
用一对逻辑单元(例如ALU)中的一个来执行给定操作,并且使用输出处的复用电路将一个逻辑单元的输出路由到两个相应处理通道的输出线。这将通过将本文给出的图1和图3c至图3d(对应于Nield的图4和图5a至图5d)与本公开的图4和图5a至图5b(示出本文公开的方法的实施例)进行比较而很快得到更详细的说明。
[0011]可以利用所公开的原理以便提供至少两个可能优点中的一个或两个。首先,它可以节省复用电路,因为无需将输入信号路由到逻辑单元的输入,逻辑单元无论如何只会执行重复计算。其次,它可以省电,因为成对逻辑单元中的一个不需要本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于处理器中的电路,所述电路包括:第一处理通道,所述第一处理通道包括:相应第一输入线,第二输入线和输出线,以及第一逻辑单元,所述第一逻辑单元被配置成对所述第一逻辑单元的相应第一输入和第二输入执行操作,以在所述第一逻辑单元的相应输出处产生相应结果,其中,所述第一逻辑单元的所述第一输入耦接到所述第一处理通道的所述第一输入线;第二处理通道,所述第二处理通道包括:相应第一输入线,第二输入线和输出线,以及第二逻辑单元,所述第二逻辑单元被配置成对所述第二逻辑单元的相应第一输入和第二输入执行操作,以在所述第二逻辑单元的相应输出处产生相应结果,其中,所述第二逻辑单元的所述第一输入耦接到所述第二处理通道的所述第一输入线;复用电路,包括:

第一输入复用器,所述第一输入复用器被布置成在相应第一状态和相应第二状态之间切换,在所述相应第一状态中,所述第一逻辑单元的所述第二输入耦接到所述第一处理通道的所述第二输入线,在所述相应第二状态中,所述第一逻辑单元的所述第二输入转而耦接到所述第二处理通道的所述第一输入线,以及

第一输出复用器,所述第一输出复用器被布置成在相应第一状态和相应第二状态之间切换,在所述相应第一状态中,所述第二处理通道的所述输出线耦接到所述第二逻辑单元的所述输出,在所述相应第二状态中,所述第二处理通道的所述输出线转而耦接到所述第一逻辑单元的所述输出;以及控制电路,所述控制电路被布置成响应于正执行的指令而控制所述复用电路。2.根据权利要求1所述的电路,其中,所述控制电路被布置成在第一模式与第二模式之间切换,在所述第一模式中,所述第一输入复用器和所述第一输出复用器各自被设置成相应第一状态,在所述第二模式中,所述第一输入复用器和所述第一输出复用器各自被设置成相应第二状态,其中,所述第一处理通道的所述输出线在所述第一模式和所述第二模式两者中都耦接到所述第一逻辑单元的所述输出。3.根据权利要求2所述的电路,其中,所述控制电路被配置成当处于所述第二模式时将所述第二处理单元设置为空闲、功率减小状态。4.根据权利要求1、2或3所述的电路,还包括:第三处理通道,所述第三处理通道包括:相应第一输入线,第二输入线和输出线,以及第三逻辑单元,所述第三逻辑单元被配置成对所述第三逻辑单元的相应第一输入和第二输入执行操作,以在所述第三逻辑单元的相应输出处产生相应结果,其中,所述第三逻辑单元的所述第一输入耦接到所述第三处理通道的所述第一输入线;其中,所述复用电路包括:

第二输入复用器,所述第二输入复用器被布置成在相应第一状态和相应第二状态之间切换,在所述相应第一状态中,所述第三逻辑单元的所述第二输入耦接到所述第三处理通道的所述第二输入线,在所述相应第二状态中,所述第三逻辑单元的所述第二输入转而耦接到所述第一处理通道的所述第一输入线,以及

第二输出复用器,所述第二输出复用器被布置成在相应第一状态和相应第二状态之间切换,在所述相应第一状态中,所述第一处理通道的所述输出线耦接到所述第一逻辑单元的所述输出,在所述相应第二状态中,所述第一处理通道的所述输出线转而耦接到所述
第三逻辑单元的所述输出。5.根据权利要求4所述的电路,其中:所述控制电路被布置成在第一模式与第二模式之间切换,在所述第一模式中,所述第一输入复用器和所述第一输出复用器各自被设置成相应第一状态,在所述第二模式中,所述第一输入复用器和所述第一输出复用器各自被设置成相应第二状态,其中,所述第一处理通道的所述输出线在所述第一模式和所述第二模式两者中都耦接到所述第一逻辑单元的所述输出;并且所述控制电路被配置成在所述第一模式、所述第二模式与第三模式之间切换;其中,在所述第一模式中,所述第二输入复用器和所述第二输出复用器各自被设置成所述相应第一状态,在所述第二模式中,所述第二输出复用器被设置成所述相应第一状态,并且在所述第三模式中,所述第一输出复用器被设置成所述相应第一状态,并且所述第二输入复用器和所述第二输出复用器各自被设置成所述相应第二状态。6.根据权利要求5所述的电路,其中,所述控制电路被配置成在处于所述第二模式时将所述第三逻辑单元设置成空闲、功率减小状态;并且在处于所述第三模式时将所述第一逻辑单元设置成空闲、功率减小状态。7.根据权利要求4所述的电路,还包括:第四处理通道,所述第四处理通道包括:相应第一输入线,第二输入线和输出线,以及第四逻辑单元,所述第四逻辑单元被配置成对所述第四逻辑单元的相应第一输入和第二输入执行操作,以在所述第四逻辑单元的相应输出处产生相应结果,其中,所述第四逻辑单元的所述第一输入耦接到所述第四处理通道的所述第一输入线;其中,所述复用电路包括:

第三输入复用器,所述第三输入复用器被布置成在相应第一状态和相应第二状态之间切换,在所述相应第一状态中,所述第二逻辑单元的所述第二输入耦接到所述第二处理通道的所述第二输入线,在所述相应第二状态中,所述第二逻辑单元的所述第二输入转而耦接到所述第四处理通道的所述第一输入线,

第四输入复用器,所述第四输入复用器被布置成在相应第一状态和相应第二状态之间切换,在所述相应第一状态中,所述第四逻辑单元的所述第二输入耦接到所述第四处理通道的所述第二输入线,在所述相应第二状态中,所述第四逻辑单元的所述第二输入转而耦接到所述第三处理通道的所述第一输入线,

第三输出复用器,所述第三输出复用器被布置成在相应第一状态和相应第二状态之间切换,在所述相应第一状态中,所述第四处理通道的所述输出线耦接到所述第四逻辑单元的所述输出,在所述相应第二状态中,所述第四处理通道的所述输出线转而耦接到所述第二逻辑单元的所述输出,以及

第四输出复用器,所述第四输出复用器被布置成在相应第一状态和相应第二状态之间切换,在所述相应第一状态中,所述第三处理通道的所述输出线耦接到所述第三逻辑单元的所述输出,在所述相应第二状态中,所述第三处理通道的所述输出线转而耦接到所述第四逻辑单元的所述输出。8.根据权利要求5所述的电路,还包括:第四处理通道,所述第四处理通道包括:相应第一输入线,第二输入线和输出线,以及
第四逻辑单元,所述第四逻辑单元被配置成对所述第四逻辑单元的相应第一输入和第二输入执行操作,以在所述第四逻辑单元的相应输出处产生相应结果,其中,所述第四逻辑单元的所述第一输入耦接到所述第四处理通道的所述第一输入线;其中,所述复用电路包括:

第三输入复用器,所述第三输入复用器被布置成在相应第一状态和相应第二状态之间切换,在所述相应第一状态中,所述第二逻辑单元的所述第二输入耦接到所述第二处理通道的所述第二输入线,在所述相应第二状态中,所述第二逻辑单元的所述第二输入转而耦接到所述第四...

【专利技术属性】
技术研发人员:K
申请(专利权)人:想象技术有限公司
类型:发明
国别省市:

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

1