System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及计算机架构,尤其涉及在单指令多线程(single instructionmultiple threads,simt)计算系统中使用堆叠的列来形成循环数据路径(circular datapath)的多线程计算机处理器架构。
技术介绍
1、图形处理单元(graphics processing unit,gpu)架构提供了一种以单指令多线程(single instruction multiple threads,simt)方式执行并行线程的方法。诸如gpu的simt处理器具有许多用于同时执行多个线程的核,并且特别适合于大规模并行计算应用。为了利用上述用于并行执行的多个核,计算机程序通常需要通过调用专门设计用于在多个核上工作的应用编程接口(application programming interface,api)的函数来针对多核架构进行定制。最近,利用gpu在传统上由中央处理单元(central processing unit,cpu)处理的应用中执行计算的通用计算gpu(general-purpose computing on gpu,gpgpu)变得更加实用和流行。然而,在许多处理元件和高速缓冲存储器封装在一个处理器中的情况下,难以为处理器中的所有处理元件提供对所有高速缓冲存储器的访问。因此,本领域需要实现考虑了面积、延迟和功耗的布局规划(floorplan)。
技术实现思路
1、本公开描述了用于大规模线程级并行处理的处理器的装置、方法和系统。该处理器可能具有大量的专用接口
2、为了优化面积和功耗,列可以被堆叠以形成列堆叠(column stack),并且列堆叠可以并排放置,并且可以以环形方式布置列,使得输出fifo到后续列中的多路复用逻辑的路由距离较短。存在需要从一个列驱动到下一列的许多总线。交换逻辑可以在逐位的基础上操作,因此总线可以是位对齐的(bit-aligned)并沿着列边缘散布。
3、集中式列方法被实现用于处理器。在这种方法中,向量处理单元的列被放置在阵列中,其中,存储器单元被分成多个部分并放置在阵列的两侧。临时存储缓冲器可以在垂直于堆叠列的方向的方向上放置在列阵列的一端。
4、在示例性实施例中,处理器可以包括以二维列阵列布置的多列向量处理单元,其中,多个列堆叠在第一方向上并排放置,并且每个列堆叠具有在第二方向上堆叠的两个列,以及临时存储缓冲器。每个列可以包括处理元件(processing element,pe),该pe具有向量算术逻辑单元(arithmetic logic unit,alu)以在并行线程中执行算术运算。在列阵列在第一方向上的第一端,第一列堆叠可以具有针对第二列进行堆叠的第一列,第一列可以具有耦合到临时存储缓冲器的输出端口,并且第二列可以具有耦合到临时存储缓冲器的输入端口。在列阵列在第一方向上的第二端,第二列堆叠可以具有针对第四列进行堆叠并连接到第四列的第三列,以使数据从第四列流向第三列。对于列阵列中在第一列堆叠和第二列堆叠之间的列堆叠,每个列不连接到在同一列堆叠内针对该列进行堆叠的另一列,而是可以具有连接到第一相邻列的输入端口和连接到第二相邻列的输出端口,第一相邻列和第二相邻列在第一方向上的相对两侧。列阵列和临时存储缓冲器可以形成单向循环数据路径。
本文档来自技高网...【技术保护点】
1.一种处理器,包括:
2.根据权利要求1所述的处理器,其中,每个列还包括提供向量存储器操作的存储器端口(MP)和为所述PE提供向量数据交换的交换盒(SB)。
3.根据权利要求2所述的处理器,还包括被分成两个部分的存储器单元,所述两个部分被放置在所述列阵列在所述第二方向上的两个相对侧上。
4.根据权利要求3所述的处理器,其中,所述存储器单元的每个部分包含在所述第一方向上并排放置的两个存储器块。
5.根据权利要求4所述的处理器,其中,所述存储器单元包括分布在所述存储器块中的多个存储器组,并且每个列具有耦合到所有存储器组的存储器接口。
6.根据权利要求5所述的处理器,其中,在每个列堆叠内,用于一个列访问所述列阵列的另一侧上的存储器组的布线连接穿过所述列堆叠内的另一列以到达所述列堆叠的另一侧上的接触引脚。
7.根据权利要求5所述的处理器,其中,每个列堆叠被夹在两个存储器块之间,所述两个存储器块在两侧与所述列堆叠相邻,并且每个存储器块包含用于列堆叠中不在所述存储器块旁边的列的布线连接,以穿过所述存储器块到达在所述存储
8.根据权利要求5所述的处理器,其中,每个存储器组具有相关联的存储器高速缓存,用于每个列的布线连接被连接到所有存储器高速缓存。
9.根据权利要求8所述的处理器,其中,每个存储器高速缓存具有用于共享存储器访问的第一高速缓存和用于私有存储器访问的第二高速缓存,并且每个存储器接口包含共享存储器访问接口和私有存储器访问接口,并且用于每个列的所述布线连接包括在所述第一高速缓存和所述共享存储器访问接口之间的布线连接,以及在所述第二高速缓存和所述私有存储器访问接口之间的布线连接。
10.根据权利要求8所述的处理器,其中,所述布线连接包括每个存储器块中的一个或多个延迟级。
11.根据权利要求2所述的处理器,其中,所述多个列中的一个列的列到列接口包括用于所述列中的所述MP的地址总线、用于来自所述列中的所述PE的输出的第一类型数据总线、以及用于SB到SB数据路由的第二类型数据总线。
12.根据权利要求11所述的处理器,其中,所述第一类型数据总线与所述第二类型数据总线位对齐,其中,不同数据总线的相同位置处的位被分组以被反馈到同一功能逻辑。
13.根据权利要求12所述的处理器,其中,用于所述列到列接口的所述第一类型数据总线和所述第二类型数据总线的引脚以交织放置模式布置。
14.根据权利要求12所述的处理器,其中,除了所述第二列堆叠中的所述第三列和所述第四列之外,用于列的相对侧上的所述第一类型数据总线和所述第二类型数据总线的引脚被对齐以避免列堆叠中的任何额外路由。
15.根据权利要求12所述的处理器,对于所述第二列堆叠中的所述第三列和第四列,不同于镜像布置,用于流入所述第四列的数据的列到列接口的引脚与用于流出所述第三列的数据的列到列接口的引脚在相同方向上递增后对齐,以平衡距离。
16.根据权利要求1所述的处理器,还包括序列发生器,所述序列发生器用于:
17.根据权利要求16所述的处理器,还包括一对路由通道,每个路由通道放置在所述列阵列和所述存储器单元在所述列阵列在所述第二方向上的任一侧的一部分之间。
18.根据权利要求17所述的处理器,其中,所述列的所述配置经由所述一对路由通道传输。
19.根据权利要求18所述的处理器,其中,用于所述一对路由通道中的连接的引脚被放置在所述列堆叠面向所述一对路由通道中的任一路由通道的边界上。
20.根据权利要求17所述的处理器,其中,取决于列到所述序列发生器的距离,所述一对路由通道中的连接包括零个、一个、或多个延迟级。
...【技术特征摘要】
1.一种处理器,包括:
2.根据权利要求1所述的处理器,其中,每个列还包括提供向量存储器操作的存储器端口(mp)和为所述pe提供向量数据交换的交换盒(sb)。
3.根据权利要求2所述的处理器,还包括被分成两个部分的存储器单元,所述两个部分被放置在所述列阵列在所述第二方向上的两个相对侧上。
4.根据权利要求3所述的处理器,其中,所述存储器单元的每个部分包含在所述第一方向上并排放置的两个存储器块。
5.根据权利要求4所述的处理器,其中,所述存储器单元包括分布在所述存储器块中的多个存储器组,并且每个列具有耦合到所有存储器组的存储器接口。
6.根据权利要求5所述的处理器,其中,在每个列堆叠内,用于一个列访问所述列阵列的另一侧上的存储器组的布线连接穿过所述列堆叠内的另一列以到达所述列堆叠的另一侧上的接触引脚。
7.根据权利要求5所述的处理器,其中,每个列堆叠被夹在两个存储器块之间,所述两个存储器块在两侧与所述列堆叠相邻,并且每个存储器块包含用于列堆叠中不在所述存储器块旁边的列的布线连接,以穿过所述存储器块到达在所述存储器块旁边的另一存储器块。
8.根据权利要求5所述的处理器,其中,每个存储器组具有相关联的存储器高速缓存,用于每个列的布线连接被连接到所有存储器高速缓存。
9.根据权利要求8所述的处理器,其中,每个存储器高速缓存具有用于共享存储器访问的第一高速缓存和用于私有存储器访问的第二高速缓存,并且每个存储器接口包含共享存储器访问接口和私有存储器访问接口,并且用于每个列的所述布线连接包括在所述第一高速缓存和所述共享存储器访问接口之间的布线连接,以及在所述第二高速缓存和所述私有存储器访问接口之间的布线连接。
10.根据权利要求8所述的处理器,其中,所述布线连接包括每个存储器块中的一个或多个延迟级。...
【专利技术属性】
技术研发人员:瑞恩·布雷德伍德,朱建斌,李原,永田敏雄,
申请(专利权)人:珠海市芯动力科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。