System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 处理单元以及相应的计算设备和方法技术_技高网

处理单元以及相应的计算设备和方法技术

技术编号:40020152 阅读:11 留言:0更新日期:2024-01-16 16:37
本申请公开了一种处理单元以及相应的计算设备和方法。该处理单元包括:处理元件的脉动阵列;耦合到脉动阵列的第一缓冲器组,第一缓冲器组包括一个或多个第一缓冲器;耦合到脉动阵列的第二缓冲器组,第二缓冲器组包括一个或多个第二缓冲器;耦合到脉动阵列的累加器;以及耦合到累加器的第三缓冲器组,第三缓冲器组包括一个或多个第三缓冲器。本公开提供的处理器通过优化矩阵扩展架构的布局以形成更紧凑的电路布局,使得处理器具有更好的性能指标。

【技术实现步骤摘要】

本公开一般涉及中央处理器(central processing unit,cpu)架构,更具体地说,涉及一种处理单元以及相应的计算设备和方法


技术介绍

1、功率、性能和面积(ppa,(performance,power,area))是评估cpu性能和处理 器技术的三个主要指标。功率、性能和面积描述了集成电路的物理约束和可用资源。 三个变量之间的不同权衡驱动不同的电路优化。随着中央处理器(cpu)越来越多 地用于人工智能(artificial intelligenc,ai)和其他新应用,需要改进中央处理器 的架构以改进其功率、性能和面积以及其他方面的性能指标。


技术实现思路

1、本公开的各个实施例包括系统和对应方法,所述系统具有已优化布局的矩阵扩展架构。

2、根据一个方面,一种处理单元,包括:处理元件的脉动阵列;第一缓冲器组, 耦合到所述脉动阵列,其中,所述第一缓冲器组包括一个或多个第一缓冲器;第二 缓冲器组,耦合到所述脉动阵列,其中,所述第二缓冲器组包括一个或多个第二缓 冲器;累加器,耦合到所述脉动阵列;和第三缓冲器组,耦合到所述累加器,其中, 所述第三缓冲器组包括一个或多个第三缓冲器。

3、在一些实施例中,所述处理单元是中央处理器。

4、在一些实施例中,所述第一缓冲器组包括两个缓冲器,所述第二缓冲器组包括 两个缓冲器,所述第三缓冲器组包括四个缓冲器。

5、在一些实施例中,所述第一缓冲器组包括第一多个缓冲器,所述第一多个缓冲 器分别耦合到所述脉动阵列,所述第二缓冲器组包括第二多个缓冲器,所述第二多 个缓冲器分别耦合到所述脉动阵列。

6、在一些实施例中,所述脉动阵列是二维阵列,所述二维阵列对应于第一侧、第 二侧、与所述第一侧相对的第三侧以及与所述第二侧相对的第四侧,所述第一多个 缓冲器分别耦合到所述第一侧,而不耦合到所述第二侧、所述第三侧和所述第四侧。

7、在一些实施例中,所述第二多个缓冲器分别耦合到所述第二侧或所述第三侧, 而不是耦合到所述第一侧和所述第四侧。

8、在一些实施例中,所述累加器耦合到所述第四侧,而不是耦合到所述第一侧、 所述第二侧和所述第三侧。

9、在一些实施例中,所述第一多个缓冲器分别耦合到所述处理单元的一个或多个高速缓存;所述第二多个缓冲器分别耦合到所述处理单元的一个或多个高速缓存。

10、在一些实施例中,所述第一多个缓冲器用于从所述处理单元的一个或多个高速缓存获取第一输入数据,并将所述第一输入数据发送给所述脉动阵列,所述第一多 个缓冲器分别以在时间上交错的方式并行地向所述脉动阵列发送所述第一输入数据 的一部分。

11、在一些实施例中,所述第二多个缓冲器用于从所述处理单元的一个或多个高速缓存获取权重数据,并将所述权重数据预加载到所述脉动阵列中。

12、在一些实施例中,所述脉动阵列基于所述第一输入数据和所述权重数据进行计算,并以在时间上交错的方式并行地将输出数据发送给所述累加器。

13、在一些实施例中,所述第三缓冲器组包括第三多个缓冲器,所述第三多个缓冲 器耦合到所述累加器和所述处理单元的一个或多个高速缓存。

14、在一些实施例中,所述第一多个缓冲器并行地耦合到所述脉动阵列;所述第二 多个缓冲器并行地耦合到所述脉动阵列;所述第三多个缓冲器在所述第三缓冲器组 内串行连接;以及所述第三多个缓冲器和所述累加器形成环路。

15、在一些实施例中,所述第三多个缓冲器用于从所述处理单元的一个或多个高速缓存获取第二输入数据,并向所述累加器发送所述第二输入数据;所述累加器用于 基于来自所述脉动阵列的输出数据和所述第二输入数据递归地生成中间结果,并将 所述中间结果发送到所述第三多个缓冲器。

16、在一些实施例中,所述第三多个缓冲器还用于将所述中间结果反馈给所述累加器;所述累加器还用于基于所述输出数据和所述中间结果递归地更新所述中间结果, 并将更新后的中间结果发送到所述第三多个缓冲器。

17、在一些实施例中,所述第三多个缓冲器还用于分别存储最后更新的中间结果, 并将包含最后更新的中间结果的最终结果输出到所述处理单元的一个或多个高速缓 存。

18、在一些实施例中,所述第一多个缓冲器用于获得第一矩阵a并将所述第一矩阵 a馈送到所述脉动阵列,所述第二多个缓冲器用于获得第二矩阵b并将第二矩阵b 馈送到所述脉动阵列;所述脉动阵列用于将所述第一矩阵a和所述第二矩阵b相乘, 以将a×b输出到所述累加器;所述累加器用于从所述第三多个缓冲器获得第三矩阵 c,并通过多个递归计算循环生成a×b+c的结果;和所述第三多个缓冲器用于获取 并输出a×b+c的结果。

19、根据另一方面,一种计算设备,包括存储器和耦合到所述存储器的处理单元, 其中所述处理单元包括:处理元件的脉动阵列;第一缓冲器组,耦合到所述脉动阵 列,所述第一缓冲器组包括一个或多个第一缓冲器,所述一个或多个第一缓冲器用 于将第一输入数据按照流水线传送到所述脉动阵列;第二缓冲器组,耦合到所述脉 动阵列,所述第二缓冲器组包括一个或多个第二缓冲器,所述一个或多个第二缓冲 器用于将权重数据广播给所述脉动阵列;累加器,耦合到所述脉动阵列并用于从所 述脉动阵列接收输出数据;以及第三缓冲器组,包括一个或多个第三缓冲器,所述 一个或多个第三缓冲器用于通过数据传输环路的第一路径将第二输入数据传输到所 述累加器,并经由所述数据传输环路的第二路径从所述累加器接收结果。

20、在一些实施例中,所述第三缓冲器组耦合到所述累加器。

21、在一些实施例中,所述处理单元还包括高速缓存,所述第三缓冲器组耦合到所 述处理单元高速缓存。根据又一方面,一种方法,包括:(1)通过处理单元的第一 缓冲器组存储第一矩阵的至少一个或多个第一元素,所述第一缓冲器组包括一个或 多个第一缓冲器;(2)通过所述处理单元的第二缓冲器组存储第二矩阵的至少一个 或多个第二元素,所述第二缓冲器组包括一个或多个第二缓冲器;(3)通过所述处 理单元的脉动阵列,从所述第一缓冲器组获得所述第一矩阵的一个或多个第一元素, 从所述第二缓冲器组获得所述第二矩阵的一个或多个第二元素,所述脉动阵列包括 耦合到所述第一缓冲器组和所述第二缓冲器组的处理元件;(4)通过所述脉动阵列 将所述一个或多个第一元素乘以所述一个或多个第二元素,以生成一个或多个中间 值;(5)通过所述处理单元的第三缓冲器组获得第三矩阵;(6)通过所述处理单 元的累加器,从所述第三缓冲器组获得所述第三矩阵的一个或多个第三元素,并从 所述脉动阵列获得所述一个或多个中间值;(7)通过所述累加器将所述一个或多个 第三元素和所述一个或多个中间值相加,以获得中间和;(8)通过所述累加器将所 述中间和发送到所述第三缓冲器组;(9)通过所述第三缓冲器组将所述中间和存储为所述第三矩阵的一个或多个第三元素;和(10)通过所述处理单元至少递归执行 步骤(3)-(9),直到最终本文档来自技高网...

【技术保护点】

1.一种处理单元,包括:

2.根据权利要求1所述的处理单元,其中,所述处理单元是中央处理器。

3.根据权利要求1所述的处理单元,其中,所述第一缓冲器组包括两个缓冲器,所述第二缓冲器组包括两个缓冲器,所述第三缓冲器组包括四个缓冲器。

4.根据权利要求1所述的处理单元,其中,所述第一缓冲器组包括第一多个缓冲器,所述第一多个缓冲器分别耦合到所述脉动阵列,所述第二缓冲器组包括第二多个缓冲器,所述第二多个缓冲器分别耦合到所述脉动阵列。

5.根据权利要求4所述的处理单元,其中,

6.根据权利要求5所述的处理单元,其中,

7.根据权利要求5所述的处理单元,其中,所述累加器耦合到所述第四侧,而不是耦合到所述第一侧、所述第二侧和所述第三侧。

8.根据权利要求4所述的处理单元,其中,所述第一多个缓冲器分别耦合到所述处理单元的一个或多个高速缓存;和所述第二多个缓冲器分别耦合到所述处理单元的一个或多个高速缓存。

9.根据权利要求8所述的处理单元,其中,

10.根据权利要求9所述的处理单元,其中,所述第二多个缓冲器用于从所述处理单元的一个或多个高速缓存获取权重数据,并将所述权重数据预加载到所述脉动阵列中。

11.根据权利要求10所述的处理单元,其中,所述脉动阵列基于所述第一输入数据和所述权重数据进行计算,并以在时间上交错的方式并行地将输出数据发送给所述累加器。

12.根据权利要求4所述的处理单元,其中,所述第三缓冲器组包括第三多个缓冲器,所述第三多个缓冲器耦合到所述累加器和所述处理单元的一个或多个高速缓存。

13.根据权利要求12所述的处理单元,其中,

14.根据权利要求13所述的处理单元,其中,所述第三多个缓冲器用于从所述处理单元的一个或多个高速缓存获取第二输入数据,并向所述累加器发送所述第二输入数据;和

15.根据权利要求14所述的处理单元,其中,所述第三多个缓冲器还用于将所述中间结果反馈给所述累加器;和

16.根据权利要求15所述的处理单元,其中,所述第三多个缓冲器还用于分别存储最后更新的中间结果,并将包含最后更新的中间结果的最终结果输出到所述处理单元的一个或多个高速缓存。

17.根据权利要求13所述的处理单元,其中,

18.一种计算设备,包括存储器和耦合到所述存储器的处理单元,其中所述处理单元包括:

19.根据权利要求18所述的计算设备,其中,所述第三缓冲器组耦合到所述处理单元的高速缓存。

20.一种方法,包括:

...

【技术特征摘要】

1.一种处理单元,包括:

2.根据权利要求1所述的处理单元,其中,所述处理单元是中央处理器。

3.根据权利要求1所述的处理单元,其中,所述第一缓冲器组包括两个缓冲器,所述第二缓冲器组包括两个缓冲器,所述第三缓冲器组包括四个缓冲器。

4.根据权利要求1所述的处理单元,其中,所述第一缓冲器组包括第一多个缓冲器,所述第一多个缓冲器分别耦合到所述脉动阵列,所述第二缓冲器组包括第二多个缓冲器,所述第二多个缓冲器分别耦合到所述脉动阵列。

5.根据权利要求4所述的处理单元,其中,

6.根据权利要求5所述的处理单元,其中,

7.根据权利要求5所述的处理单元,其中,所述累加器耦合到所述第四侧,而不是耦合到所述第一侧、所述第二侧和所述第三侧。

8.根据权利要求4所述的处理单元,其中,所述第一多个缓冲器分别耦合到所述处理单元的一个或多个高速缓存;和所述第二多个缓冲器分别耦合到所述处理单元的一个或多个高速缓存。

9.根据权利要求8所述的处理单元,其中,

10.根据权利要求9所述的处理单元,其中,所述第二多个缓冲器用于从所述处理单元的一个或多个高速缓存获取权重数据,并将所述权重数据预加载到所述脉动阵列中。

11.根据权利...

【专利技术属性】
技术研发人员:张启晨段立德王圣诚
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1