System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 多核处理器堆栈以及多核处理器制造技术_技高网

多核处理器堆栈以及多核处理器制造技术

技术编号:40198069 阅读:5 留言:0更新日期:2024-01-27 00:02
本公开提供了多核处理器堆栈以及多核处理器。所述多核处理器堆栈存储在多核处理器中的非暂态计算机可读介质上,包括:计算层,用于使用所述多核处理器中的处理核心集合来进行计算,具有用于所述处理核心集合中的处理管线集合的可执行指令;片上网络层,用于连接所述多核处理器中的所述处理核心集合,具有用于所述多核处理器中的路由器集合和网络接口单元集合的可执行指令;以及片上网络覆盖层,在逻辑上将所述计算层与所述片上网络层隔离。

【技术实现步骤摘要】


技术介绍

1、处理核心可以通过跨处理核心以分布式方式执行复杂计算的分量计算来协作执行复杂计算。为此,处理核心需要共享执行那些分量计算所需的数据,并接收关于已指派哪些分量计算的指令。与复杂计算如何分解成分量计算并指派给各个处理核心相关联的技术与并行计算领域相关联。

2、处理核心可以经由网络连接,以便促进与并行计算相关联的数据交换。每个处理核心可以经由专用路由器连接到网络。当处理核心位于单个芯片上时,网络可以被称为片上网络(noc)。可以使用单播、多播或广播传输在核心之间传输数据。在传统方法中,传输可以是单跳或多跳,具体取决于核心的连接方式以及源和目的地核心在网络内的物理位置。例如,当数据在相邻路由器之间串行传递并从每个中间路由器转发到最终目的地路由器时,相邻核心可以能够使用单跳传输进行通信,而远端核心可能需要经由多跳传输进行通信。

3、图1图示了noc 100的一部分,其中四个处理核心101、102、103和104通过网络链接。该网络包括总线集合,这些总线使用专用路由器(诸如路由器110、111、112和113)与每个处理核心通信。路由器使用网络接口单元(niu)与其相关联的处理核心通信。总线集合包括将路由器彼此连接以及将路由器与其niu连接的电线。niu在处理核心上的硬件中被实例化。处理核心101、102、103和104执行它们已经使用存储器和处理管线指派的分量计算。分量计算的输入和输出在niu的控制下使用路由器110、111、112和113被路由。niu是低级组件并且可以使用对应的低级存储器复制原语(primitive)执行数据传输,其中将处理核心上的存储器的本地片段复制到另一个处理核心上的存储器的远程片段。在单跳单播数据传输的基本情况下,存储器复制操作涉及从源核心上的存储器复制有限固定尺寸的缓冲区,然后经由总线将其写入目的地核心上的缓冲区。为了传输大量数据,系统需要发出多个存储器复制操作。

4、图1还图示了同一noc 100的层图150。在层图150和本公开中的所有其它层图中,具有尖锐边的方框指示硬件,而具有圆形边的方框指示由其上堆叠有方框的硬件实例化的软件。层图示出了计算层151和noc层152,其中计算层151由处理管线执行的指令实例化并存储在每个处理核心的存储器中,而noc层152由niu、路由器和各种核心上的实现与核心之间的数据传输相关联的低级原语的缓冲区执行的指令实例化。如以下
技术实现思路
中所述,此处使用执行指令的概念来描述进行任何逻辑或数据移动操作的设备的操作,即使“指令”完全在硬件中指定(例如,and门执行“与”指令)。该术语无意表示对设备可编程的能力。实际上,本领域普通技术人员将认识到的是,niu不是高度可配置的或可编程的。在上面提到的单跳单播数据传输示例中,执行低级原语(诸如存储器复制操作)的指令仍然相当多并且涉及识别将数据复制到的存储器的远程片段,从而确保存储器的远程片段具有足够的空间用于复制操作、跟踪并保留存储器的本地片段、为niu提供数据本身和要传输的每条数据的地址,并且还跟踪存储器复制操作的状态。在较大的缓冲区的情况下,指令还涉及将数据分解成多个存储器复制操作。

5、noc层152从计算层151的权限中仅抽象出固定数据的传输(经由低级存储器复制原语)。如上所述,计算层151仍然大量地涉及发起和跟踪存储器复制操作的状态的软件指令。此外,计算层151还在简单存储器复制操作之上的级别参与多核数据流管理和控制。在实践中,计算层在这方面的工作量包括管理将要写入数据的数据结构、跟踪这些数据结构的位置、轮询源核心以查看数据是否准备好进行入站传送,并将信号传输到目的地核心以提醒它们数据已准备好进行出站传送。在具体的示例中,计算层将管理存储器中用于fifo的写指针,并且将需要处理诸如当fifo变满时或其中多个核心请求同时向同一目的地fifo写入、然后在这些写入尝试之间进行仲裁的情况。


技术实现思路

1、本文公开了与由多核处理器高效执行复杂计算以及在多核处理器中的各个处理核心之间的数据移动相关的方法和系统。处理核心可以使用计算层来执行复杂计算的分量计算。复杂计算可以由程序员使用应用代码指定,然后将应用代码编译为指令以供计算层执行。可以通过处理管线集合和处理核心上相关联的存储器来分布式地实例化计算层。可以在核心之间移动用于复杂计算的数据,以促进处理核心协同执行复杂计算。数据可以是在复杂计算期间执行的操作所使用的操作数数据,或者是表示操作本身的指令的数据。在本公开中,这两种类型的数据都将被称为计算数据。多核处理器可以在单个芯片上实现并利用noc系统来促进处理核心之间的数据传送。noc系统可以包括连接处理核心的总线集合。noc层可以促进处理核心之间数据的物理移动,其包括处理核心之间的物理连接。在本专利技术的具体实施例中,处理核心可以包括跨处理核心被分布式地实例化的noc覆盖层,其在逻辑上将处理核心的计算层与互连处理核心的noc层隔离。

2、noc覆盖层可以自动处理所有数据流管理任务,否则这些任务在制定应用代码以由具有与noc层的直接接口的计算层执行时是必需的。noc覆盖层可以增强处理核心进行复杂计算的效率,因为它可以将计算层与通信和存储器管理任务隔离开来,从而使它可以专注于进行计算。具体地,noc覆盖层可以使计算层与需要管理保持要在源核心上传送的数据和要在目的地核心处提供的数据的数据结构隔离。取决于应用,从计算层卸载任务的好处可以被实现为减少与通信和存储器管理相关联的处理核心的处理管线上的物理计算资源负担。可替代地或组合地,可以通过简化用于使用处理核心进行计算的应用代码的编程或编译来认识从计算层卸载任务的好处。

3、关于前一段中强调的第二个好处,重要的是认识到传统高级编程语言的存储器管理要求与直接与noc层接口所需的存储器管理要求之间的脱节。虽然存储器管理在某些低级编程语言中起作用,但是与noc层接口时,应用代码必须处理数据移动的程度要比用于复杂计算的源代码的程序员,尤其是习惯于使用高级语言(例如,c、java、ruby和python)进行编程的程序员,所习惯的复杂得多。因而,从逻辑上将这些低级存储器管理任务与应用代码隔离开来的noc覆盖层将向更多的程序员开放用于noc层的编程领域,而不再是专门从事低级编程的有限程序员级别的编程语言。

4、贯穿本公开中,术语“层”是根据本领域普通技术人员根据该术语的标准用法来使用的,包括一般参考用于电信和网络计算系统的开放系统互连模型(osi)的用法。具体而言,术语“层”是指执行存储在存储器中或由硬件以其它方式实例化的指令集的系统,包括以顺序逻辑和/或只读存储器(rom)实例化的指令,其经由接口用作相邻层的抽象层,从而允许关注点分离并促进互操作性。层可以包括前面提到的指令和与至少一个邻接层的接口。在整个本公开中,能够进行有效通信的层的组合(包括那些层之间的一个或多个接口)将被称为“堆栈”。

5、在本专利技术的具体实施例中,可以完全以硬件、完全以软件或通过硬件和软件的组合来实现层。在本专利技术本文档来自技高网...

【技术保护点】

1.一种多核处理器堆栈,存储在多核处理器中的非暂态计算机可读介质上,包括:

2.如权利要求1所述的多核处理器堆栈,其中:

3.如权利要求2所述的多核处理器堆栈,还包括:

4.如权利要求1所述的多核处理器堆栈,其中:

5.如权利要求4所述的多核处理器堆栈,还包括:

6.如权利要求1所述的多核处理器堆栈,其中:

7.如权利要求1所述的多核处理器堆栈,其中,所述片上网络覆盖层在逻辑上将所述计算层与所述片上网络层隔离,因为:

8.如权利要求1所述的多核处理器堆栈,其中,所述片上网络覆盖层在逻辑上将所述计算层与所述片上网络层隔离,因为:

9.如权利要求1所述的多核处理器堆栈,其中:

10.如权利要求9所述的多核处理器堆栈,其中:

11.如权利要求10所述的多核处理器堆栈,其中:

12.如权利要求11所述的多核处理器堆栈,其中,所述片上网络覆盖层在逻辑上将所述计算层与所述片上网络层隔离,因为:

13.如权利要求11所述的多核处理器堆栈,其中:

14.如权利要求1所述的多核处理器堆栈,其中:

15.如权利要求1所述的多核处理器堆栈,其中:

16.如权利要求1所述的多核处理器堆栈,其中:

17.如权利要求16所述的多核处理器堆栈,其中:

18.如权利要求17所述的多核处理器堆栈,其中:

19.如权利要求17所述的多核处理器堆栈,其中:

20.一种多核处理器,包括多核处理器堆栈,其中所述多核处理器堆栈包括:

21.如权利要求20所述的多核处理器,其中:

22.如权利要求21所述的多核处理器,其中所述片上网络覆盖层在逻辑上将所述计算层与所述片上网络层隔离,在于:

23.如权利要求20所述的多核处理器,其中,所述多核处理器堆栈还包括:

24.如权利要求20所述的多核处理器,其中:

25.如权利要求20所述的多核处理器,其中:

26.一种多核处理器,包括多核处理器堆栈,其中所述多核处理器堆栈包括:

...

【技术特征摘要】

1.一种多核处理器堆栈,存储在多核处理器中的非暂态计算机可读介质上,包括:

2.如权利要求1所述的多核处理器堆栈,其中:

3.如权利要求2所述的多核处理器堆栈,还包括:

4.如权利要求1所述的多核处理器堆栈,其中:

5.如权利要求4所述的多核处理器堆栈,还包括:

6.如权利要求1所述的多核处理器堆栈,其中:

7.如权利要求1所述的多核处理器堆栈,其中,所述片上网络覆盖层在逻辑上将所述计算层与所述片上网络层隔离,因为:

8.如权利要求1所述的多核处理器堆栈,其中,所述片上网络覆盖层在逻辑上将所述计算层与所述片上网络层隔离,因为:

9.如权利要求1所述的多核处理器堆栈,其中:

10.如权利要求9所述的多核处理器堆栈,其中:

11.如权利要求10所述的多核处理器堆栈,其中:

12.如权利要求11所述的多核处理器堆栈,其中,所述片上网络覆盖层在逻辑上将所述计算层与所述片上网络层隔离,因为:

13.如权利...

【专利技术属性】
技术研发人员:D·卡帕利加I·马托塞维克J·瓦西杰维克U·艾多纳特A·卢维奇S·A·钦L·巴吉克
申请(专利权)人:滕斯托伦特股份有限公司
类型:发明
国别省市:

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

1