具有预编程功能的高速计算机加速器制造技术

技术编号:23352219 阅读:22 留言:0更新日期:2020-02-15 07:03
用于计算机的硬件加速器将独立的高速固定程序数据流功能元件与流处理器结合在一起,流处理器在接收到简易流指令之后可以按预定义的访问模式自主地访问存储器并且将简易流指令提供至数据流功能元件,所得到的是可以利用固定程序数据流功能元件的紧凑型高速处理器。

High speed computer accelerator with pre programming function

【技术实现步骤摘要】
【国外来华专利技术】具有预编程功能的高速计算机加速器关于联邦政府资助研究或开发的声明相关申请的交叉引用本申请要求于2017年6月28日提交的美国非临时申请第15/635,864号的权益,并且在此通过引用并入本文。
技术介绍
本专利技术涉及电子计算机架构并且具体涉及具有有限功能但是改进了适用性的高速计算机加速器。计算机加速器提供了能够与通用处理器(GPU)结合使用的专用电路,以在某些计算应用中提供改进的性能。早期的计算机加速器利用提供预编程功能(即,接收数据以对该数据执行预定功能的功能)的片外电路扩展了通用处理器的硬件指令集。这些加速器在此以后将被称为“固定功能”加速器,指的是这些加速器执行一个或更多个固定功能。这种固定功能加速器的一个示例是所谓的提供专用电路以执行预定的浮点和三角函数计算的“数学协处理器”。可以容易地将这种固定功能加速器集成至程序中,由于它们的特点可以通过只需要传送必要的参数数据和返回计算值的单个程序指令来调用。随着通用处理器的功率和速度的增加,许多固定功能加速器被淘汰,这是由于固定功能加速器的有限的性能增益被第二集成电路在通用处理器与加速器之间的传送数据和控制的计算负担中的成本抵消。可能由于这个原因,当前的加速器技术主要集中在操作为独立于通用处理器执行大量指令的独立运行的专用计算机。计算机架构加速器的一个示例是提供了适用于与渲染图形相关联的特定耗时任务的专用计算机内核的阵列的图形处理器单元(GPU)。这种类型的加速器的类似加速器包括特定应用加速器,例如,用于在数据中心中使用的MicrosoftCatapultFPGA加速器以及用于分布式机器学习的Google的张量(Tensor)处理单元。这些加速器实际上是专用计算机,例如,这些专用计算机与通用的高性能冯诺依曼(VonNeuman)处理器结合使用时可以大大增加这些特定应用的处理速度的。计算机架构加速器的设计可能不适用于与公认的问题不相关联的应用或者没有足够大的需求来证明复杂设计、更改应用程序以及更改使用这些加速器所需的工具链的时间和费用的合理性的应用。
技术实现思路
本专利技术提供了一种固定功能加速器,该固定功能加速器可以显著提高用于证明计算机架构加速器的设计和制造不合理的任务的计算速度。通过使用高速数据流架构和通过使用专用流处理器以处理存储器访问提供了执行固定功能的速度优势,从而允许处理长期运行的数据而无需通用处理器的参与。适当选择实现的各个功能可以使加速器对一系列程序具有较广泛的适用性。实现不同的固定功能可以重复使用相当一部分的架构并且从程序中调用固定功能是相对简单的。然后具体地,在一个实施方式中,本专利技术提供了一种计算机加速器架构,其具有(1)较低复杂度的处理器,其适于从较高复杂度的通用处理器接收流指令,该流指令描述要与存储器交换的多个数据元素的逻辑流;(2)固定程序功能元件,其根据每个输入数据元素的可用性而启动,用于顺序地处理逻辑流的连续输入数据元素以提供逻辑流的结果输出数据元素;以及(3)流处理器,其从较低复杂度通用处理器接收流指令以根据流指令从存储器中自主地读取逻辑流的输入数据元素并且根据流指令将逻辑流的结果输出数据元素自主地写入存储器。由仅单个流处理器和仅单个功能元件组成的对进行操作以互通给定逻辑流的数据元素。因此,本专利技术的至少一个实施方式的特征是提供一种加速器,其提供固定功能加速器的多功能性和广泛的适用性,同时与在复杂的通用处理器上执行相同功能相比仍然提供了实质性的速度优势。固定程序功能元件可以不包括程序计数器。因此,本专利技术的至少一个实施方式的特征是采用数据流架构以在功能执行中提供实质性的速度增益。固定程序功能元件可以提供具有至少一个输出的乘加归约功能(multiplyadd-reductionfunction),该至少一个输出是一对第二总和的第一总和,每个第二总和是一对乘积的总和,该乘积是一对输入参数的乘积。因此,本专利技术的至少一个实施方式的特征是提供一种实现通用映射归约功能的固定功能加速器。替选地或另外,固定程序功能元件可以是具有至少一个输出的乘法累加功能件,该至少一个输出是一对输入参数的乘积的累计总和。因此,本专利技术的至少一个实施方式的特征是提供一种实现通用映射单元功能的固定功能加速器。替选地或另外,固定程序功能元件可以是具有输出的非线性变换功能件,该输出是与插值相加的基础值,其中,基础值是根据输入参数的最高有效位从第一查找表中获得的并且插值是根据输入参数的最高有效位乘以输入参数的最低有效位从第二查找表中获得的斜率值。计算机加速器可以包括多个功能元件和每次将单个功能元件分配至流处理器的切换器。替选地或另外,计算机加速器可以包括多个流处理器和多个功能元件以及将单个功能元件分配至单个流处理器的切换器。因此,本专利技术的至少一个实施方式的特征是通过允许在可以用于加速的各种功能之间进行选择来增加计算机加速器的灵活性。功能元件提供用于处理至少三十二位参数并且能够通过将单独的数据字连结在一起并且将其作为参数进行处理来并行处理长度小于功能元件的参数长度的单独的数据字。因此,本专利技术的至少一个实施方式的特征是允许单个指令、多数据类型并行处理。流处理器可以同时与给定的固定程序功能元件交换多个流。因此,本专利技术的至少一个实施方式的特征是向功能元件提供多个流以用于最大吞吐量和存储器带宽的利用。可以相对于功能元件的操作异步地接收从较低复杂度的通用处理器至流处理器的流指令,并且根据不同的预定义的存储器访问模式提供对存储在存储器中的多个输入值的自主读取或者对来自加速器的多个输出值的自主写入。因此,本专利技术的至少一个实施方式的特征是允许并行执行存储器访问指令和计算以用于提高加速度。较低复杂度的通用处理器可以适于从较高复杂度的通用处理器接收指令和数据以执行逻辑指令和算术指令并且将结果返回至较高复杂度的通用处理器。因此,本专利技术的至少一个实施方式的特征是允许将功能元件结合至由较低复杂度的通用处理器实现的更复杂的加速器功能件中或者允许较低复杂度的通用处理器直接接受卸载功能。流处理器可以提供预定义的存储器访问模式,该存储器访问模式包括在两个存储器地址之间的连续地址的线性访问模式以及在两个存储器地址之间的规则间隔的不连续地址的跨步访问模式。因此,本专利技术的至少一个实施方式的特征是提供通常在适用于加速的多个数据指令中使用的存储器访问模式。这些特定的目的和优点可以仅适用于落入权利要求所声明的范围内的一些实施方式并且因此不限定本专利技术的范围。附图说明图1是提供了可以与通用处理器一起使用的加速器的组的本专利技术的加速器的简化框图;图2是示出了较低复杂度的通用处理器、固定程序功能元件、暂存存储器和流处理器的组合的单个加速器的详细框图;图3是示出了包括流分配器和流引擎元件的流处理器的详细框图;图4是类似于图2的示出了提供可以与给定的流处理器单独配对的固定程序功能元件池的图;图5是类似本文档来自技高网
...

【技术保护点】
1.一种计算机加速器架构,包括:/n(1)较低复杂度的通用处理器,其适于从较高复杂度的通用处理器接收流指令,所述流指令描述要与存储器交换的多个数据元素的逻辑流;/n(2)固定程序功能元件,其根据每个输入数据元素的可用性而启动,用于处理逻辑流的连续输入数据元素以提供逻辑流的结果输出数据元素;以及/n(3)流处理器,其从简易通用处理器接收所述流指令以根据所述流指令从所述存储器中自主地读取逻辑流的输入数据元素并且根据流指令将逻辑流的结果输出数据元素自主地写入存储器;并且/n其中,由仅单个流处理器和仅单个功能元件组成的对进行操作以互通给定逻辑流的数据元素。/n

【技术特征摘要】
【国外来华专利技术】20170628 US 15/635,8641.一种计算机加速器架构,包括:
(1)较低复杂度的通用处理器,其适于从较高复杂度的通用处理器接收流指令,所述流指令描述要与存储器交换的多个数据元素的逻辑流;
(2)固定程序功能元件,其根据每个输入数据元素的可用性而启动,用于处理逻辑流的连续输入数据元素以提供逻辑流的结果输出数据元素;以及
(3)流处理器,其从简易通用处理器接收所述流指令以根据所述流指令从所述存储器中自主地读取逻辑流的输入数据元素并且根据流指令将逻辑流的结果输出数据元素自主地写入存储器;并且
其中,由仅单个流处理器和仅单个功能元件组成的对进行操作以互通给定逻辑流的数据元素。


2.根据权利要求1所述的计算机加速器,其中,所述固定程序功能元件不包括程序计数器。


3.根据权利要求2所述的计算机加速器,其中,所述固定程序功能元件提供映射归约功能。


4.根据权利要求3所述的计算机加速器,其中,所述映射归约功能件提供选自由乘法和绝对差组成的组的映射功能并且提供选自由最大、最小和加法组成的组的归约功能。


5.根据权利要求2所述的计算机加速器,其中,所述固定程序功能元件是具有至少一个输出的乘法累加功能件,所述至少一个输出是一对输入参数的乘积的累计总和。


6.根据权利要求2所述的计算机加速器,其中,所述固定程序功能元件是具有输出的非线性变换功能件,所述输出是与插值相加的基础值,其中,从第一查找表中根据输入参数的最高有效位获得所述基础值并且所述插值是根据所述输入参数的最高有效位乘以所述输入参数的最低有效位从第二查找表中获得的斜率值。


7.根据权利要求1所述的计算机加速器,还包括多个功能元件和每次将单个功能元件分配至所述流处理器的切换器。


8.根据权利要求7所述的计算机加速器,还包括多个流处理器和多个功能元件以及可切换地将单个功能元件分配至单个流处理器的切换器。


9.根据权利要求1所述的计算机加速器,其中,所述功能元件用于处理至少三十二位参数。


10.根据权利要求9所述的计算机加速器,其中,所述功能元件能够通过将单独的数据字连结在一起并且将这些数据字作为参数进行处理来并行处理长度小于所述功能元件的参数长度的单独的数据字。


11.根据权利要求1所述的计算机加速器,其中,所述流处理器同时与给定的固定程序功能元件交换多个流。


12.根据权利要求1所述的...

【专利技术属性】
技术研发人员:卡西克扬·桑卡拉林甘安东尼·诺瓦茨基维奈·甘加达尔
申请(专利权)人:威斯康星校友研究基金会
类型:发明
国别省市:美国;US

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

1