基于点积的处理元件制造技术

技术编号:34683096 阅读:39 留言:0更新日期:2022-08-27 16:13
公开了使用数字信号处理单元(140,142,144,146)计算点积的系统和方法,数字信号处理单元被组织成点积处理单元(100),用于使用数字信号处理单元(140,142,144,146)的乘法器(118,120,122,123)和加法器(124,126,128,137)进行点积处理。137)进行点积处理。137)进行点积处理。

【技术实现步骤摘要】
基于点积的处理元件
[0001]本申请为分案申请,其原申请是2019年2月14日进入中国国家阶段、国际申请日为2017年9月11日的国际专利申请PCT/US2017/050989,该原申请的中国国家申请号是201780049809.5,专利技术名称为“基于点积的处理元件”。


[0002]本公开总体涉及集成电路,例如,现场可编程门阵列(FPGA)。更具体而言,本公开涉及在集成电路上实现的点积处理。

技术介绍

[0003]本部分旨在向读者介绍可能与本公开的各个方面相关的本领域的各个方面,本公开的各个方面在下文中描述和/或受权利要求书保护。这种论述被认为是有助于为读者提供背景信息以便于更好地理解本公开的各个方面。因此,应当理解,要在这个意义上来阅读这些文字描述,而不是作为对现有技术的承认。
[0004]在数字信号处理算法(例如,音频/视频编解码器、视频或音频处理等)中常常使用矢量点积处理。当在包括可重新配置器件,例如现场可编程门阵列(FPGA)的集成电路器件上实现数字信号处理器(DSP)时,点积处理结构的物理面积和速度是确保集成电路器件在尺寸和速度方面都适合要执行的任务的因素。不过,点积计算可以为每种功能使用个体DSP和存储器资源,这样增大了路由长度,从而可能还提高面积和性能。

技术实现思路

[0005]下文阐述本文公开的某些实施例的概要。应当理解,给出这些方面仅仅是为了给读者提供这些特定实施例的简明概要,并且这些方面并非旨在限制本公开的范围。实际上,本公开可涵盖下文可能未阐述的多个方面。<br/>[0006]本实施例涉及使用可重新配置器件,例如现场可编程门阵列(FPGA)增强点积处理的性能的系统、方法和器件。具体而言,粗糙化点积处理单元的宏可以用于高效率地利用可重新配置器件中的空间,同时确保满意的性能。此外,通过将可重新配置器件组织成不使用集成电路中可以使用的更多通用路由路径而执行点积处理的单元,其中独立地使用不同的数字信号处理块,有可能众多长路径会对集成电路的性能造成负面影响。
[0007]对上述特征的各种改进可能相对于本专利技术的各个方面而存在。也可在这些各个方面中加入其他特征。这些改进和其他特征可以单独存在,也可以任何组合的形式存在。例如,下面讨论的与一个或多个所示实施例相关的各种特征可单独地或以任何组合形式结合到本公开上述方面的任何一个中。同样,上述简要概要仅旨在使读者熟悉本专利技术实施例的特定方面和上下文,并不限制要求保护的主题。
附图说明
[0008]在阅读以下详细描述并参考附图时,可以更好地理解本公开的各个方面,其中:
[0009]图1是根据实施例利用点积处理的系统的框图;
[0010]图2是根据实施例可以包括对实施点积处理有用的逻辑的可编程逻辑器件的框图;
[0011]图3是示出根据实施例的点积处理电路的框图;
[0012]图4是示出根据实施例使用个体数字信号处理单元实现的图3的点积处理电路的框图;
[0013]图5是示出根据实施例使用粗糙化点积处理单元实现的图3的点积处理电路的框图;
[0014]图6是示出根据实施例具有被配置为生成点积的运行和的累加器的图5的点积处理电路的框图;
[0015]图7是示出根据实施例具有存储器高速缓存的图5的点积处理电路的框图;
[0016]图8是根据实施例使用粗糙化点积处理单元计算点积的过程。
具体实施方式
[0017]下文将描述一个或多个具体实施例。为了提供这些实施例的简要描述,本说明书中未描述实际实施的所有特征。应当认识到,在任何这种实际实施的开发中,像任何工程学或设计项目中那样,必须要做出众多实施特定的决策以实现开发者的具体目标,例如符合可能随实施而变化的与系统相关和与事务相关的约束条件。此外,应当理解,此类开发工作有可能复杂且耗时,但是对于受益于本公开的本领域的普通技术人员而言,其仍将是设计、加工和制造的常规工作。
[0018]本公开描述了在包括可重新配置器件的集成电路上使用增强型点积处理元件(PE)的技术。这样获得的PE架构很适合关联性计算,例如矩阵乘法或卷积,并可以链接在一起以实现脉动阵列。该技术还基于将点积粗糙化到更大尺寸,获得更有效率的资源利用。该技术还有助于总体的计算机辅助设计(CAD)流程,因为粗糙化点积可被作为大宏放置,只需要放置更少的原子且形成更少路由。粗糙化技术支持数据交织技术,以能够进行重度流水线化和高速缓存,实现数据重复利用。粗糙化还改善了点积的映射,以减少所用的数字信号处理(DSP)单元的总数。此外,根据要实施的矩阵尺寸,可以调节点积粗糙化尺寸,以至少部分地基于矩阵尺寸获得有效率的结果。例如,针对被点处理的矩阵的矢量中每个元素,可以包括DSP单元。具体而言,在一些实施例中,可以使用点积处理宏来实现四矢量点积,该宏在单个宏中的列中包括四个DSP单元,以实现四个矢量的点积处理。
[0019]具体而言,点积PE利用加法器树和乘法输入来实现高效率的点积计算。对点积进行粗糙化降低了资源需求,因为可以利用相邻DSP之间的专用高速路由。对点积进行粗糙化还可以简化放置和路由问题,因为可以将点积布局为大的连续块,由此减少放置对象和通用路由的数量。尽管在可重新配置设备,例如具有现场可编程门阵列(FPGA)织构的可编程序逻辑器件的语境中简要描述了本公开的技术,但这意在例示而非限制。实际上,本公开的点积电路可以在其他集成电路中实现。诸如专用集成电路(ASIC)、微处理器、存储装置、收发器等其他类型的集成电路也可以使用本公开的点积电路。
[0020]考虑到以上内容,图1示出了系统10的框图,系统10包括可以减小典型用于此类实施方式的逻辑面积和/或增大速度的点积处理操作。如上所述,设计者可能希望在集成电
路,例如可重新配置的集成电路12,如现场可编程门阵列(FPGA)上实现功能。设计者可以使用设计软件14,例如Altera
TM
的Quartus的版本,实现将被编程到IC 12上的电路设计。设计软件14可以使用编译器16产生对集成电路12进行编程的低级电路设计内核程序18,有时被称为程序对象文件或比特流。亦即,编译器16可以向IC 12提供代表电路设计的机器可读指令。例如,IC 12可以接收描述应当存储于IC中的硬件实施方式的一个或多个内核程序18。在一些实施例中,可以在集成电路12上实现点积处理操作20。例如,可以使用点积处理操作20对单精度浮点数、双精度浮点数或其他适当的用于点积处理的对象进行运算。如下文将更详细所述,点积处理操作20可以被粗糙化成大宏,可以使用更低数量的通用路由资源(或非DSP块资源)将所述大宏插入设计中。例如,可以如下所述组合针对单精度浮点加法的两个DSP块,以形成双精度浮点加法器。
[0021]现在转到IC 12的更详细论述,图2示出了IC器件12,其可以是可编程逻辑器件,例如现场可编程门阵列(FPGA)40。出于本示例的目的,器件40被称为FPGA,但应当理解,该器件可以是任何类型的可重新配置器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种电子装置,包括:多个数字信号处理单元,所述多个数字信号处理单元可配置地连接以执行多种操作并且被配置成一起工作以输出点积,其中,所述多个数字信号处理单元中的至少一个包括:多个输入端口,所述多个输入端口用于在相应数字信号处理单元处接收多个输入;乘法器,所述乘法器用于至少部分基于所述多个输入生成积;专用路由,所述专用路由用于向所述多个数字信号处理单元的另一数字信号处理单元发送所述积或从其接收输出;以及加法器,所述加法器用于将所述积与所述多个数字信号处理单元的所述另一数字信号处理单元的乘法器的输出相加,其中,所述点积至少部分基于所述加法器的输出。2.根据权利要求1所述的电子装置,其中,用于输出所述点积的数字信号处理单元的数量对应于被处理矩阵的尺寸。3.根据权利要求2所述的电子装置,其中,数字信号处理单元的数量至少部分基于在所述矩阵的维数中待处理的元素的数量。4.根据权利要求3所述的电子装置,其中,所述元素的数量包括所述矩阵的矢量中的对象数量。5.根据权利要求1所述的电子装置,其中,所述多个数字信号处理单元中的至少一个数字信号处理单元包括:所述专用路由,所述专用路由用于从毗邻所述至少一个数字信号处理单元的第一数字信号处理单元接收所述积;以及附加专用路由,所述附加专用路由用于向第二数字信号处理单元发送附加积,其中,所述第二数字信号处理单元毗邻所述至少一个数字信号处理单元。6.根据权利要求1所述的电子装置,其中,所述多个数字信号处理单元被布置成数字信号处理块的列。7.根据权利要求1所述的电子装置,其中,所述多个数字信号处理单元的第二数字信号处理单元包括:第二多个输入端口,所述第二多个输入端口接收第二多个输入;第二乘法器,所述第二乘法器至少部分基于所述第二多个输入生成第二积;第二专用路由,所述第二专用路由经由所述第二专用路由向所述多个数字信号处理单元中的至少一个数字信号处理单元发送所述第二积。8.根据权利要求7所述的电子装置,其中,所述第二数字信号处理单元包括加法器,所述加法器在从所述附加专用路由输出所述附加积之前不会增大所述附加积。9.根据权利要求1所述的电子装置,其中,所述多个数字信号处理单元的第二数字信号处理单元包括:第二多个输入端口,所述第二多个输入端口接收第二多个输入;第二乘法器,所述第二乘法器至少部分基于所述第二多个输入生成第二积;第二专用路由,所述第二专用路由经由一个或多个所述数字信号处理单元的所述专用路由接收所述第二积;以及第二加法器,所述第二加法器对至少部分基于所述第二积的值相加以形成所述点积。
10.根据权利要求9所述的电子装置,其中,所述第二数字信号处理单元包括输出,所述输出输出来自所述多个数字信号处理单元的所述点积。11.一种电子装置,包括:第一数字信号处理单元,所述第一数字信号处理单元包括:第一多个输入端口,所述第一多个输入端口接收多个输入;以及第一乘法器,所述第一乘法器至少部分基于所述第一多个输入生成第一积;第二数字信号处理单元,所述第二数字信号处理单元包括:第二多个输入端口,所述第二多个输入端口接收第二多个输入;第二乘法器,所述第二乘法器至少部分基于所述第二多个输入生成第二积;以及第一加法器,所述第一加法器将所述第一积和所述第二积相加在一起以形成中间和;第一硬连线路由,所述第一硬连线路由用于从所述第一数字信号处理单元向所述第二数字信号处理单元发送所述第一积;第三数字信号处理单元,所述第三数字信号处理单元包括:第三多个输入端口,所述第三多个输入端口接收第三多个输入;第三乘法器,所述第三乘法器至少部分基于所述第二多个输入生成第三积;其中,所述第一数字信号处理单元、所述第二数字信号处理单元和所述第三数字信号处理单元可配置地连接以执行包括计算所述点积的多种操作;以及第二加法器,所述第二加法器至少部分基于所述中间和以及所述第三积来生成点积;以及第二硬连线路由,所述第二硬连线路由从所述第二数字信号处理单元向所述第三数字信号处理单元发送所述第二积。12.根据权利要求11所述的电子装置,其中,所述第一数字信号处理单元、所述第二数字信号处理单元和所述第三数字信号处理单元被布置成数字信号处理单元的列。13.根据权利要求11所述的电子装置,其中,用于输出所述点积的数字信号处理单元的数量对应于被处理矩阵的尺寸。14.根据权利要求13所述的电子装置,其中,数字信号处理单元的数量基于待计算的矢量的量。15.根据权利要求11所述的电子装置,其中,所述第一数字信号处理单元包括第三加法器,所述第三加法器在将所述第一积传递到所述第二数字信号处理单元之前不会与所述第一积相加。16.根据权利要求15所述的电子装置,其中,所述第三加法器接收所述第一积并且将所述第一积与零相加。17.根据权利要求11所述的电子装置,其中,所述第三数字信号处理单元包括输出,所述输出被配置成输出所述点积作为所述电子装置的输出。18.一种产生点积计算集成电路的方法,包括:将可编程电路组织成点积处理配置以处理点积,其中,所述点积处理配置中的点积处理单元包括三个或更多个数字信号处理块,其中,所述数字信号处理块均包括乘法器,所述乘法器至少部分基于相应数字信号处理单元的相应输入来生成积;以及通过在所述集成电路中定位点积处理单元来生成具有所述点积处理单元的所述集成
电路,其中,生成所述集成电路包括:放置所述三个或更多个数字信号处理单元中的第一数字信号处理单元,所述第一数字信号处理单元接收第一多个输入,将所述第一多个输入相乘在一起作为第一积,并且输出所述第一积;放置所述三个或更多个数字信号处理单元中的第二数字信号处理单元,所述第二数字信号处理单元接收第二多个输入,将所述第二多个输入相乘在一起作为第二积,利用所述第二数字信号处理单元的加法器对所述第一积和所述第二积求和作为第一和,并且输出所述第一和,其中,所述第一数字信号处理单元经由第一专用路由向所述第二数字信号处理单元传递所述第一积,所述第一专用路由从所述第一数字信号处理单元向所述第二数字信号处理单元传递所述第一积;以及放置所述三个或更多个数字信号处理单元中的第三数字信号处理单元,所述第三数字信号处理单元接收第三多个输入,将所述第三多个输入相乘在一起作为第三积,将所述第一和以及第二值相加在一起以形成所述点积,并且输出所述点积,其中,所述第二值至少部分基于所述第三多个输入,以及所述第二数字信号处理单元经由第二专用路由向所述第三数字信号处理单元传递所述第二积,所述第二专用路由从所述第二数字信号处理单元向所述第三数字信号处理单元传递所述第二积。19.根据权利要求18所述的方法,其中,放置所述第一数字信号处理单元、所述第二数字信号处理单元和所述第三数字信号处理单元包括将所述第一数字信号处理单元、所述第二数字信号处理单元和所述第三数字信号处理单元放置成列,其中,所述第一数字信号处理单元和所述第二数字信号处理单元彼此在所述列中,并且所述第二数字信号处理单元和所述第三数字信号处理单元彼此在所述列中。20.根据权利要求18所述的方法,其中,所述第一积在被传递到所述第二处理单元之前,在所述第一处理单元的加法器中被相加到零值。21.一种配置系列数字信号处理单元的方法,包括:配置所述系列数字信号处理单元中的所述数字信号处理单元以接收多个输入,其中,所述数字信号处理单元可配置地连接以对所述多个输入执行多种操作;配置所述系列数字信号处理单元中的至少一个数字信号处理单元,以使用所述系列数字信号处理单元之间的多个专用路由中的相应专用路由向所述系列数字信号处理单元中的相应数字信号处理单元输出来自运算电路的结果;以及配置所述数字信号处理单元中的一个以至少部分基于所述结果输出点积。22.根据权利要求21所述的方法,其中,所述结果包括从乘法器输出的第一积,所述运算电路包括所述乘法器,并且配置所述数字信号处理单元包括配置所述系列数字信号处理单元中的所述乘法器以将相应多个输入相乘在一起。23.根据权利要求22所述的方法,其中,所述结果包括加法器中的相加,所述运算电路包括所述加法器,并且配置所述数字信号处...

【专利技术属性】
技术研发人员:A
申请(专利权)人:阿尔特拉公司
类型:发明
国别省市:

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

1