CN116711281A - 一种片上系统及相关方法 - Google Patents
一种片上系统及相关方法 Download PDFInfo
- Publication number
- CN116711281A CN116711281A CN202080108260.4A CN202080108260A CN116711281A CN 116711281 A CN116711281 A CN 116711281A CN 202080108260 A CN202080108260 A CN 202080108260A CN 116711281 A CN116711281 A CN 116711281A
- Authority
- CN
- China
- Prior art keywords
- session
- request
- response
- noc0
- context
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 92
- 230000004044 response Effects 0.000 claims abstract description 351
- 101100460584 Chaetomium thermophilum (strain DSM 1495 / CBS 144.50 / IMI 039719) NOC1 gene Proteins 0.000 claims abstract description 193
- 101100022229 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) MAK21 gene Proteins 0.000 claims abstract description 193
- 101100313929 Schizosaccharomyces pombe (strain 972 / ATCC 24843) tip1 gene Proteins 0.000 claims abstract description 193
- 238000013507 mapping Methods 0.000 claims description 26
- 238000004891 communication Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 abstract description 45
- 230000008569 process Effects 0.000 abstract description 33
- 102100022291 C-Jun-amino-terminal kinase-interacting protein 1 Human genes 0.000 description 147
- 102100022287 C-Jun-amino-terminal kinase-interacting protein 2 Human genes 0.000 description 101
- 238000010586 diagram Methods 0.000 description 24
- 238000012545 processing Methods 0.000 description 13
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000010248 power generation Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
一种片上系统,片上系统包括NOC0(301)和NOC1(302);NOC0(301)包括IB1(303)和TB1(304),NOC1(302)包括第二初始桥IB2(305);IB1(303)用于发送第一会话请求,第一会话请求包括第一会话标识、第一上下文条目编号和IB1(303)的编号;TB1(304)用于接收第一会话请求;基于第一会话请求生成第二会话请求,并向IB2(305)发送第二会话请求;第二会话请求包括第二会话标识和第一上下文条目编号;IB2(305)用于接收第二会话请求;基于第二会话请求生成第一会话响应,并向TB1(304)发送第一会话响应;第一会话响应包括第二会话标识和第一上下文条目编号;第一目标桥TB1(304)用于接收第一会话响应生成第二会话响应。可以提升跨NOC互联过程中信号的协议转换效率。
Description
本申请涉及半导体技术领域,尤其涉及一种片上系统及相关方法。
随着半导体工艺技术步入纳米阶段,在单一芯片中集成上亿晶体管已经成为现实。目前,在单片系统芯片(System On Chip,SOC)上可以集成数十甚至更多的处理器,但相较于传统的总线结构无法有效支持越来越多的处理器,而片上网络(Network On Chip,NOC)就是用于解决多处理器互联最有效的方案。
NOC是指在单芯片上集成大量的计算资源以及连接这些资源的片上通信网络,其中在NOC中包括了多个不同功能的子系统(例如音频系统等),且这些子系统之间可通过NOC总线实现互联。然而,如果使用一个NOC总线将两个子系统进行互联,则会存在由于一个子系统内部结构调整(例如增加端口或拓扑结构变化),导致其他子系统代码变化的情况。为了避免这种情况,通常会根据需求给部分子系统设计独立的NOC总线,与系统中的其他子系统的NOC总线实现解耦,然后NOC子系统之间通过接口协议进行信息转换,从而实现跨NOC互联。
但在现有的跨NOC互联的接口协议设计中,信号在NOC子系统输出并进入到另一个NOC子系统的过程中需要进行较为复杂的协议转换,导致芯片面积和通信延时增加。因此,如何在实现跨NOC互联过程中,有效提高信号的协议转换是亟待解决的问题。
发明内容
本发明实施例提供一种片上系统及相关方法,以提升在实现跨NOC互联过程中信号的协议转换效率。
第一方面,本发明实施例提供了一种片上系统,其特征在于,所述片上系统包括第一片上网络NOC0和第二片上网络NOC1;所述NOC0包括第一初始桥IB1和第一目标桥TB1,所述NOC1包括第二初始桥IB2;所述第一初始桥IB1,用于发送第一会话请求,所述第一会话请求包括第一会话标识、第一上下文条目编号和所述IB1的编号;所述第一目标桥TB1,用于接收所述第一会话请求;基于所述第一会话请求生成第二会话请求,并向所述IB2发送第二会话请求;所述第二会话请求包括第二会话标识和所述第一上下文条目编号;所述第二会话标识为基于所述第一会话标识和所述IB1的编号打包后生成的;所述第二初始桥IB2,用于接收所述第二会话请求;基于所述第二会话请求生成第一会话响应,并向所述TB1发送所述第一会话响应;所述第一会话响应包括所述第二会话标识和所述第一上下文条目编号;所述第一目标桥TB1,还用于接收所述第一会话响应;将所述第二会话标识解包获得所述IB1的编号,生成第二会话响应,所述第二会话响应包括所述IB1的编号和所述第一上下文条目编号。
现有技术中,由于片上网络之间有独立的NOC总线,因此在第一片上网络NOC0与第二片上网络NOC1进行跨NOC通信时,信号需要进行协议转换。具体地,当NOC0的TB1接收到NOC0的IB1的第一会话请求后,在第一会话请求中包括了NOC0内部网络信 息,TB1会将这些NOC0内部网络信息存储在TB1上下文表中,并且TB1根据NOC0内部网络信息中的NOC0内部会话标识信息进行重新映射得到第一NOC0外部会话标识信息,然后向NOC1的IB2发送包括第一NOC0外部会话标识信息的第二会话请求。接下来,当TB1接收到针对第一会话请求的第一会话响应后,再根据第一会话响应中的第一NOC0外部会话标识信息在TB1上下文表中查找相应的NOC0内部网络信息。综上现有技术中在NOC0与NOC1进行通信时,TB1向IB2发送的第二会话请求和TB1接收到的第一会话响应中没有携带NOC0内部网络信息,而NOC0内部网络信息存储在TB1上下文表中,从而TB1接收到针对第一会话请求的第一会话响应后只能通过查找TB1上下文表,才能获取NOC0内部网络信息,导致了NOC0访问NOC1延时增加同时也会导致芯片面积开销增加。
基于上述,在本发明实施例中,通过对NOC0中的TB1进行改进,使得上述提及的第二会话请求和第一会话响应中携带上NOC0内部网络信息,从而简化TB1的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率。具体地,当TB1接收到IB1的第一会话请求后,由于在第一会话请求中包括了NOC0内部网络信息,其中NOC内部网络信息包括了NOC0内部会话标识信息、IB1中用于记录请求设备与NOC0内部会话标识信息映射关系的IB1上下文条目编号和IB1编号信息,因此TB1将NOC0内部会话标识信息和IB1编号信息进行打包得到第二NOC0外部会话标识信息,然后向NOC1的IB2发送第二会话请求,第二会话请求中包括了第二NOC0外部会话标识信息和IB1上下文条目编号,从而第二会话请求携带了NOC0内部网络信息。接下来,IB2接收到第二会话请求后,IB2会针对第二会话请求生成第一会话响应,然后向TB1发送第一会话响应。当TB1接收到第一会话响应后,由于第一会话响应中包括了NOC0内部网络信息,其中NOC内部网络信息包括了第二NOC0外部会话标识信息和IB1上下文条目编号,因此TB1将第二NOC0外部会话标识信息进行解包得到NOC0内部会话标识信息和IB1编号信息,然后根据NOC0内部会话标识信息、IB1编号信息和IB1上下文条目编号生成第二会话响应。通过实施本发明实施例,对TB1进行改进,使得第二会话请求和第一会话响应中携带NOC0内部网络信息,避免了在TB1的上下文表中存储和查找NOC0内部网络信息带来的延时和不必要的芯片面积开销,从而简化TB1的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率。
在一种可能的实现方式中,所述NOC0还包括NOC0内部网络;所述NOC0内部网络,用于:接收所述IB1发送的所述第一会话请求,所述第一会话请求还包括目标节点标识信息;根据所述目标节点标识信息,确定与所述目标节点标识信息匹配的所述TB1;向所述TB1发送所述第一会话请求。
在本发明实施例中,NOC0还可以包括NOC0内部网络,当请求设备通过IB1发起请求后,IB1会根据请求设备的请求生成第一会话请求,然后向NOC0内部网络发送第一会话请求,接下来NOC0会根据第一会话请求中的目标节点标识信息将第一会话请求发送给TB1,从而使得TB1能够生成第二会话请求并且向NOC1的IB2发送第二会话请求,从而实现NOC0可以更加快速的访问NOC1。
在一种可能的实现方式中,所述IB1中存储有第一上下文表,所述第一上下文表中包括多个IB1上下文条目;所述IB1,还用于:在所述多个IB1上下文条目中的第一上下文 条目中存储请求设备会话请求标识和所述第一会话标识的映射关系;所述第一上下文条目的编号为所述第一上下文条目编号。
在本发明实施例中,当NOC0中的IB1接收到请求设备的会话请求后,会在IB1上下文表中记录下该请求设备标识与NOC0内部会话标识的映射关系,其原因是IB1可以连续接收到多个不同的会话请求,每个会话请求都会对应一个相应的会话响应且每个会话请求标识与其对应的会话响应标识一致。因此当IB1接收会话响应后,可以根据会话响应中的条目编号,查询IB1对应的条目,得到请求设备的会话标识最为会话响应标识,便于通知该请求设备相应的请求已经得到响应。
在一种可能的实现方式中,所述IB2包中存储有第二上下文表,所述第二上下文表中包括多个IB2上下文条目;所述IB2,还用于:根据所述第二会话标识进行重映射得到第三会话标识;在所述多个IB2上下文条目中的第二上下文条目中存储所述第二会话标识与所述第三会话标识的映射关系、所述第二会话标识和所述第一上下文条目编号;所述第二上下文条目的编号为所述第二上下文条目编号;生成第三会话请求;所述第三会话请求包括IB2编号、所述第三会话标识、所述第二上下文条目编号。
在本发明实施例中,由于NOC0与NOC1跨NOC进行通信,所以第二会话请求进入NOC1需要在IB2进行协议转换。具体地,当TB1向IB2发送第二会话请求后,由于该第二会话请求中携带了NOC0内部网络信息,其中NOC0内部网络信息包括第二NOC0外部会话标识信息和IB1上下文条目编号,所以IB2在接收到第二会话请求后,会根据第二NOC0外部会话标识信息重映射得到NOC1内部会话标识信息,然后将第二NOC0外部会话标识信息与NOC1内部会话标识信息映射关系、第二NOC0外部会话标识信息和IB1上下文条目编号存储在IB2上下文表的IB2上下文条目中。当IB2接收到针对第二会话请求的响应信号后,可根据会话响应中的IB2上下文条目编号,在IB2上下文表中查找到相应的NOC0内部网络信息。通过在IB2的上下文表中存储和查找NOC0内部网络信息,避免了在TB1的上下文表中存储和查找NOC0内部网络信息带来的延时和不必要的芯片面积开销,从而简化TB1的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率。
在一种可能的实现方式中,所述NOC1还包括所述NOC1内部网络;所述IB2,还用于向所述NOC1内部网络发送所述第三会话请求;所述NOC1内部网络,用于:接收所述第三会话请求,响应于所述第三会话请求;基于所述第三会话请求生成第三会话响应,并向所述IB2发送所述第三会话响应;所述第三会话响应包括所述第二上下文条目编号。
在本发明实施例中,NOC1中还可以包括NOC1内部网络,当IB2接收到由NOC0发送的第二会话请求后会生成第三会话请求,然后向NOC1内部网络发送该第三会话请求,接下来NOC1内部网络会根据请求进行相应的响应后生成第三会话响应,并向IB2发送该第三会话响应。在第三会话响应中包括了IB2上下文条目编号,其目的是便于IB2接收到第三会话响应后根据该第三会话响应查找之前存储在IB2上下文表中的NOC0内部网络信息。
在一种可能的实现方式中,所述IB2,还用于:接收所述第三会话响应,根据所述第三会话响应中的所述第二上下文条目编号,根据所述第二上下文条目编号在所述第二上下文表中查找所述第二上下文条目,获取所述第二上下文条目中存储的所述第二会话标识和 所述第一上下文条目编号;基于所述第二会话标识和所述第一上下文条目编号生成所述第一会话响应。
在本发明实施例中,当IB2接收到由NOC1内部网络发送的第三会话响应后,可以根据该第三会话响应中的IB2上下文条目编号,在IB2上下文表中查找之前存储的NOC0内部网络信息,其中该NOC0内部网络信息中包括NOC0外部会话标识信息与NOC1内部会话标识信息、NOC0外部会话标识信息和IB1上下文条目编号。接下来IB2可根据NOC0内部网络信息生成第一会话响应,然后将该第一响应发送给NOC0的TB1。因此,IB2根据第三会话响应可在IB2上下文表中读取出NOC0内部网络信息,避免了在TB1的上下文表中存储和查找NOC0内部网络信息带来的延时和不必要的芯片面积开销,从而简化TB1的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率。
在一种可能的实现方式中,所述TB1,还用于向所述NOC0内部网络发送所述第二会话响应;所述NOC0内部网络,还用于:接收所述第二会话响应,并向根据所述IB1的编号向所述IB1发送所述第二会话响应。
在本发明实施例中,当NOC0的TB1接收到NOC1的IB2发送的第一会话响应后,TB1会将第一会话响应中的第二NOC0外部会话标识信息进行解包得到NOC0内部会话标识信息和IB1编号信息,生成包括NOC0内部会话标识信息、IB1编号信息和IB1上下文条目编号的第二会话响应。接下来,TB1会将该第二会话响应发送给NOC0内部网络,然后NOC0内部网络根据IB1编号信息将第二会话响应发送给IB1,通知IB1在NOC1上已经响应了第一会话请求的请求。因此改进后的TB1只需进行信息的打包和解包,避免了在TB1上下文表中存储和查找NOC0内部网络信息带来的延时和不必要的芯片面积开销,从而简化TB1的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率。
在一种可能的实现方式中,所述IB1,还用于:接收所述第二会话响应,根据所述第二响信号中的所述第一上下文条目编号,在所述第一上下文表中查找与所述请求设备会话请求标识和所述第一会话标识的映射关系;所述请求设备会话请求标识对应目标请求设备;基于所述第二会话响应向所述目标请求设备发送第四会话响应;所述第一会话响应用于通知所述请求设备已完成请求。
在本发明实施例中,当NOC0的IB1接收到NOC0内部网络发送的第二会话响应后,会根据第二会话响应中的IB1上下文条目编号在IB1上下文表中查找之前记录的请求设备与NOC0内部会话标识信息映射关系,从而IB1可基于第二会话响应将第四会话响应发送给相应的请求设备,通知该请求设备的请求已经在NOC1上得到响应。通过实施本发明提供的实施例,避免了在TB1的上下文表中存储和查找NOC0内部网络信息带来的延时和不必要的芯片面积开销,从而简化TB1的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率,实现了NOC0能够更加快速的访问NOC1。
在一种可能的实现方式中,所述第一初始桥IB1,具体用于:按照目标顺序发送多个会话请求,所述多个会话请求包括所述第一会话请求;按照所述目标顺序接收多个会话响应,所述会话响应包括所述第二会话响应;按照所述目标顺序,基于所述多个会话响应向多个请求设备分别发送处理后的会话响应;所述多个请求设备包括所述目标请求设备,所述处理后的会话响应中的其中一个为所述第四会话响应。
在本发明实施例中,当IB1接收到多个初始请求会话时,且这些初始会话请求标识相同,那么IB1在转换成多个第一请求会话时,要求NOC0内部会话请求标识是相同的,且要求NOC0和NOC1确保相同的会话请求标识到达NOC1内部网络是按照目标顺序的,从而使得请求在NOC1内部网络响应后,响应会话按照上述目标顺序分别发送给IB1。
第二方面,本发明实施例提供一种片上系统通信方法,其特征在于,所述片上系统包括第一片上网络NOC0和第二片上网络NOC1;所述NOC0包括第一初始桥IB1和第一目标桥TB1,所述NOC1包括第二初始桥;所述方法包括:所述第一初始桥IB1发送第一会话请求,所述第一会话请求包括第一会话标识、第一上下文条目编号和所述IB1的编号;所述第一目标桥TB1接收所述第一会话请求;基于所述第一会话请求生成第二会话请求,并向所述IB2发送第二会话请求;所述第二会话请求包括第二会话标识和所述第一上下文条目编号;所述第二会话标识为基于所述第一会话标识和所述IB1的编号打包后生成的;所述第二初始桥IB2接收所述第二会话请求;基于所述第二会话请求生成第一会话响应,并向所述TB1发送所述第一会话响应;所述第一会话响应包括所述第二会话标识和所述第一上下文条目编号;所述第一目标桥TB1接收所述第一会话响应;将所述第二会话标识解包获得所述IB1的编号,生成第二会话响应,所述第二会话响应包括所述IB1的编号和所述第一上下文条目编号。
在一种可能的实现方式中,所述NOC0还包括NOC0内部网络;所述方法还包括:所述NOC0内部网络接收所述IB1发送的所述第一会话请求,所述第一会话请求还包括目标节点标识信息;根据所述目标节点标识信息,确定与所述目标节点标识信息匹配的所述TB1;向所述TB1发送所述第一会话请求。
在一种可能的实现方式中,所述IB1中存储有第一上下文表,所述第一上下文表中包括多个IB1上下文条目;所述方法还包括:所述IB1在所述多个IB1上下文条目中的第一上下文条目中存储请求设备会话请求标识和所述第一会话标识的映射关系;所述第一上下文条目的编号为所述第一上下文条目编号。
在一种可能的实现方式中,所述IB2包中存储有第二上下文表,所述第二上下文表中包括多个IB2上下文条目;所述方法还包括:所述IB2根据所述第二会话标识进行重映射得到第三会话标识;在所述多个IB2上下文条目中的第二上下文条目中存储所述第二会话标识与所述第三会话标识的映射关系、所述第二会话标识和所述第一上下文条目编号;所述第二上下文条目的编号为所述第二上下文条目编号;生成第三会话请求;所述第三会话请求包括IB2编号、所述第三会话标识、所述第二上下文条目编号。
在一种可能的实现方式中,所述NOC1还包括所述NOC1内部网络;所述方法还包括:所述IB2向所述NOC1内部网络发送所述第三会话请求;所述NOC1内部网络接收所述第三会话请求,响应于所述第三会话请求;基于所述第三会话请求生成第三会话响应,并向所述IB2发送所述第三会话响应;所述第三会话响应包括所述第二上下文条目编号。
在一种可能的实现方式中,所述方法还包括:所述IB2接收所述第三会话响应,根据所述第三会话响应中的所述第二上下文条目编号,根据所述第二上下文条目编号在所述第二上下文表中查找所述第二上下文条目,获取所述第二上下文条目中存储的所述第二会话 标识和所述第一上下文条目编号;基于所述第二会话标识和所述第一上下文条目编号生成所述第一会话响应。
在一种可能的实现方式中,所述方法还包括:所述TB1向所述NOC0内部网络发送所述第二会话响应;所述NOC0内部网络接收所述第二会话响应,并向根据所述IB1的编号向所述IB1发送所述第二会话响应。
在一种可能的实现方式中,所述方法还包括:所述IB1接收所述第二会话响应,根据所述第二响信号中的所述第一上下文条目编号,在所述第一上下文表中查找与所述请求设备会话请求标识和所述第一会话标识的映射关系;所述请求设备会话请求标识对应目标请求设备;基于所述第二会话响应向所述目标请求设备发送第四会话响应;所述第一会话响应用于通知所述请求设备已完成请求。
在一种可能的实现方式中,所述第一初始桥IB1按照目标顺序发送多个会话请求,所述多个会话请求包括所述第一会话请求;按照所述目标顺序接收多个会话响应,所述会话响应包括所述第二会话响应;按照所述目标顺序,基于所述多个会话响应向多个请求设备分别发送处理后的会话响应;所述多个请求设备包括所述目标请求设备,所述处理后的会话响应中的其中一个为所述第四会话响应。
第三方面,本申请提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述权利要求上述任意一项所述的方法。
第四方面,本申请提供一种计算机程序,其特征在于,所述计算机可读程序包括指令,当所述计算机程序被处理器执行时,使得所述处理器执行如上述权利要求上述中任意一项所述的方法。
第五方面,本申请提供一种片上网络接口装置,其特征在于,所述片上系统包括第一片上网络NOC0和第二片上网络NOC1;所述NOC0包括第一初始桥IB1和第一目标桥TB1,所述NOC1包括第二初始桥IB2;所述第一初始桥IB1,用于发送第一会话请求,所述第一会话请求包括第一会话标识、第一上下文条目编号和所述IB1的编号;所述第一目标桥TB1,用于接收所述第一会话请求;基于所述第一会话请求生成第二会话请求,并向所述IB2发送第二会话请求;所述第二会话请求包括第二会话标识和所述第一上下文条目编号;所述第二会话标识为基于所述第一会话标识和所述IB1的编号打包后生成的;所述第二初始桥IB2,用于接收所述第二会话请求;基于所述第二会话请求生成第一会话响应,并向所述TB1发送所述第一会话响应;所述第一会话响应包括所述第二会话标识和所述第一上下文条目编号;所述第一目标桥TB1,还用于接收所述第一会话响应;将所述第二会话标识解包获得所述IB1的编号,生成第二会话响应,所述第二会话响应包括所述IB1的编号和所述第一上下文条目编号。
图1A为现有技术中的一种NOC子系统连接示意图。
图1B为现有技术中的初始桥结构示意图。
图1C为现有技术中的协议转换信号示意图。
图1D为现有技术中的网络信号示意图。
图1E为现有技术中的目标桥结构示意图。
图2为本发明实施例提供的一种片上网络结构示意图。
图3A为本发明实施例提供的一种片上系统示意图。
图3B为本发明实施例提供的另一种片上系统示意图。
图3C为本发明实施例提供的一种IB1内部结构示意图。
图3D为本发明实施例提供的一种TB的结构示意图。
图3E为本发明实施例提供的一种NOC0外部信号示意图。
图3F为本发明实施例提供的一种IB2结构示意图。
下面将结合本发明实施例中的附图,对本发明实施例进行描述。本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信息与其它系统交互的互联网)的信息通过本地和/或远程进程来通信。
首先,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)片上网络(Network On Chip,NOC),是单片系统芯片(System On Chip,SoC)的一种新的通信方法,它是多核技术的主要组成部分。NoC方法带来了一种全新的片上通信方法,显著优于传统总线式系统(bus)的性能。
(2)协议转换(Protocol conversion),协议转换指将一个设备的标准或协议转换成适用于另一设备的协议的过程,目的是为了使得不同协议之间实现互操作。协议通常是以软件的形式出现。比如路由器将一个网络中的数据格式、数据速率等转换成适用于另一个网 络的协议。网络中有很多种协议,分别应用在不同的领域,比如发电、石油与天然气、自动化、公用事业、远程监控等。主要的协议转换消息涉及数据消息、事件、命令和时间同步的转换。
首先,为了便于理解本发明实施例,进一步分析并提出本申请所具体要解决的技术问题。以下示例性的列举现有的关于片上网络接口协议的技术方案。其中,
如图1A所示,图1A为现有技术中的一种NOC子系统连接示意图,图中NOC0中包括两个初始桥和两个目标桥,其中,两个初始桥分别与两个主设备(如中央处理器CPU等)相连,目标桥022与从设备030(如存储器DDR等)相连,另一个目标桥023与NOC1的初始桥061相连;NOC1中包括两个初始桥和两个目标桥,其中,两个目标桥分别与两个从设备相连,一个初始桥与主设备070相连,另一个初始桥061与NOC0的目标桥023相连。由于主设备和NOC子系统之间的接口协议不同,所以主设备和NOC子系统进行通信时需要使用图中接口协议010进行协议转换;由于NOC子系统与从设备之间的接口协议不同,所以NOC子系统与从设备进行通信时需要使用图中接口协议040进行协议转换;由于NOC不同子系统之间的接口协议不同,所以NOC子系统之间进行通信时需要使用图中接口协议050进行协议转换。需要说明的是,接口协议010、接口协议040和接口协议050为三种不同的协议,但本发明实施例主要针对接口协议050进行改进,因此以下将基于图1B、图1C、图1D和图1E对现有技术中的接口协议050进行相关描述。
如图1B所示,图1B为现有技术中的初始桥结构示意图,需要说明的是,图1A中的初始桥061可以为图1B中所示的初始桥结构,那么在此假设图1A中的初始桥061结构为图1B所示。在图1B中初始桥的结构可包括,地址解码器(addressdecoder)110、分配器(allocate)120、上下文表(contexttable)130、索引模块(index)140,且NOC1的初始桥061的接口150和接口160与NOC0的目标桥023相连,NOC1的初始桥061的接口170和接口180与NOC1内部网络相连接。
NOC外部会话请求从NOC0的目标桥023进入到NOC1的初始桥061,需要说明的是,如图1C所示,图1C为现有技术中的协议转换信号示意图,NOC外部会话请求的具体形式为图1C中的信息510所示,在信息510中包括了请求操作类型信息(request_operationalcode,req_opc)、请求地址信息(request_address,req_addr)、请求数据量大小信息(request_transactionsize,req_tsize)、请求数据信息(request_data,req_data)、请求会话标识信息(request_transaction identity document,req_tid)。NOC外部会话请求在经过初始桥061的处理后得到NOC1内部请求信息,并且NOC1内部请求信息从初始桥061的接口170输出进入到NOC1内部网络中,需要说明的是,如图1D所示,图1D为现有技术中的网络信号示意图,NOC1内部会话请求的具体形式为图1D中的信息610所示,在信息610中包括了网络请求操作类型信息(network_request_operationalcode,network_req_opc)、网络请求有效载荷信息(network_request_payload,network_req_pld)、网络请求目标节点标识信息(network_request_destinationidentity,network_req_dstid)、网络请求原端标识符信息(network_request_source identity,network_req_srcid)、网络请求会话标识信息(network_request_transaction identity document,network_req_tid)、网络请求返回信息(network_ request_returnmessage,network_req_retmsg)。NOC外部会话请求在初始桥061中处理并生成NOC1内部会话请求的主要过程如下:
1、地址译码器110根据输入的NOC外部会话请求510中的请求地址信息req_addr,进行地址译码生成NOC1内部请求信息610中的网络请求目标节点标识信息network_req_dstid。
2、分配器120根据输入的NOC外部会话请求510中的请求会话标识信息req_tid,进行重新映射生成NOC1内部会话请求610中的网络请求会话标识信息network_req_tid。
3、分配器120分配contexttable130中的条目entry,并将entry编号赋值给NOC1内部会话请求610中的网络请求返回信息network_req_retmsg。
4、接口170将当前进行协议转换的IB在片上网络的编号赋值给原端标识符信息network_req_srcid。
NOC外部会话请求510在初始桥061中经过上述步骤处理后可生成NOC1内部会话请求610,使得NOC0的总线与NOC1的总线之间能够更好进行通信。
在NOC0与NOC1进行互联的过程中,NOC0的目标桥023向NOC1的初始桥061发送会话请求后,NOC1会向NOC0发送会话响应,该会话响应由NOC1的初始桥061发送到NOC0的目标桥023。需要说明的是,如图1D所示,图中会话响应的具体形式为信息620所示,NOC1内部会话响应通过初始桥061的接口180进入初始桥061,然后经过初始桥061的处理后生成NOC外部会话响应,NOC外部会话响应的具体形式如图1C中的信号520所示,进一步的NOC外部会话响应从初始桥061的接口160输出。需要说明的是,信息620包括网络响应操作类型信息(network_respond_operationalcode,network_rsp_opc)、网络响应有效载荷信息(network_request_payload,network_req_pld)、网络响应目标节点标识信息(network_respond_destinationidentity document,network_rsp_dstid)、网络请求原端标识符信息(network_request_source,network_req_srcid)、网络响应返回信息(network_respond_returnmessage,network_rsp_retmsg);信号520包括响应操作类型信息(respond_operationalcode,rsp_opc)、响应数据信息(respond_data,rsp_data)、响应会话标识信息(respond_transactionidentity document,rsp_tid)。NOC1内部会话响应在初始桥061中处理并生成NOC外部会话响应的主要过程如下:
1、初始桥061中的index140根据从接口180输入的网络响应返回信息network_rsp_retmsg,查询contexttable130中接口160的tid信息。
NOC1内部会话响应在初始桥061中经过上述步骤处理后可生成NOC外部会话响应,从而使得NOC0的总线与NOC1的总线之间能够更好进行通信。
接下来,如图1E所示,图1E为现有技术中的目标桥结构示意图,需要说明的是,图1A中的目标桥023可以为图1E中所示的目标桥结构,那么在此假设图1A中的目标桥023结构为图1E所示。在图1E中目标桥023结构可包括,分配器(allocate)210、上下文表(context table)220、索引模块(index)230,且NOC0的目标桥023的接口240和接口250与NOC0相连接,NOC0接口260和接口270与NOC1的初始桥061相连接。NOC0内部会话请求从NOC0的目标桥023的接口240进入目标桥023,需要说明的是,如图1D所示,NOC0内部会话请求的具体形式为图1D中的信号610,在信号610中包括了网络请 求操作类型信息(network_request_operational code,network_req_opc)、网络请求有效载荷信息(network_request_payload,network_req_pld)、网络请求目标节点标识信息(network_request_destination identity document,network_req_dstid)、原端标识符信息(network_request_source,network_req_srcid)、网络请求会话标识信息(network_request_transaction identity document,network_req_tid)、网络请求返回信息(network_request_return message,network_req_retmsg)。NOC0内部会话请求在经过目标桥023的处理后得到NOC外部会话请求,并且NOC外部会话请求从目标桥023的接口260输出进入到初始桥061中。需要说明的是,如图1C所示,NOC外部会话请求的具体形式为图1C中的信息510所示,在信息510中包括了请求操作类型信息(request_operational code,req_opc)、请求地址信息(request_address,req_addr)、请求数据量大小信息(request_transaction size,req_tsize)、请求数据信息(request_data,req_data)、请求会话标识信息(request_transaction identity document,req_tid)。NOC0内部会话请求在目标桥023中处理并生成NOC外部会话请求的主要过程如下:
1、分配器210根据NOC0内部会话请求610中的原端标识符信息network_req_srcid和网络请求会话标识信息network_req_tid,进行译码生成NOC外部会话请求中的请求会话标识信息req_tid。
2、分配器210分配contexttable220中的entry,并将接口240输入的NOC0内部会话请求610的网络请求返回信息network_req_retmsg记录在entry中。
NOC0内部会话请求610在目标桥023中经过上述步骤处理后可生成NOC外部会话请求510,从而使得NOC0的总线与NOC1的总线之间能够更好进行通信。
在NOC0与NOC1进行互联的过程中,NOC0的目标桥023向NOC1发送请求消息后,NOC1会向其发送响应消息,该响应消息从NOC1的初始桥传输到NOC0的目标桥023中。需要说明的是,如图1C所示,图中NOC外部会话响应的具体形式为信号520所示,NOC外部会话响应通过目标桥023的接口270进入目标桥023,然后经过目标桥023的处理后生成NOC0内部会话响应,NOC0内部会话响应的具体形式为信号620所示,进一步的NOC0内部会话响应从目标桥023的接口250输出。需要说明的是,信号520包括响应操作类型信息(respond_operational code,rsp_opc)、响应数据信息(respond_data,rsp_data)、响应会话标识信息(respond_transaction identity document,rsp_tid);信号620包括网络响应操作类型信息(network_respond_operational code,network_rsp_opc)、网络响应有效载荷信息(network_request_payload,network_req_pld)、网络响应目标节点标识信息(network_respond_destination identity document,network_rsp_dstid)、网络响应原端标识符信息(network_respond_source,network_req_srcid)、网络响应返回信息(network_respond_return message,network_rsp_retmsg)。NOC外部会话响应在目标桥023中处理并生成NOC0内部会话响应的主要过程如下:
1、目标桥023的index230根据从目标桥023的接口270输入的NOC外部会话响应520中的响应会话标识信息rsp_tid,查询contexttable220中记录的网络响应目标节点标识信息network_rsp_dstid和网络响应返回信息network_rsp_retmsg。
NOC外部会话响应在目标桥023中经过上述步骤处理后可生成NOC0内部会话响应, 从而使得NOC0的总线与NOC1的总线之间能够更好进行通信。
现有技术的缺点:在实现NOC0访问NOC1的过程中,信息从NOC0的目标桥中输出,然后经过上述协议转换后进入到NOC1的初始桥中再进行一次协议转换,从而实现跨NOC互联。但在现有技术复杂的协议转换过程会导致NOC0访问NOC1的时延增加同时也会导致芯片面积开销增加。
基于上述现有技术,本申请提供一种片上网络结构,请参见图2,图2为本发明实施例提供的一种片上网络结构示意图,该片上系统20可以位于任意一个电子设备中,如电脑、计算机、手机、平板等各类设备中。该片上网络20具体可以是芯片或芯片组或搭载有芯片或者芯片组的电路板。该芯片或芯片组或搭载有芯片或芯片组的电路板可在必要的软件驱动下工作。
片上系统20包括n+1个片上网络NOC,n+1个NOC中的任意一个NOC可包括一个或多个初始桥和一个或多个目标桥。接下来以图2中的NOC0、NOC1为例,NOC0中包括了初始桥111、初始桥113、目标桥112、目标桥114、NOC0总线110;NOC1中包括了初始桥211、初始桥213、目标桥212、目标桥214、NOC1总线210。在NOC0上初始桥113与主设备115相连接,目标桥112与从设备116相连接,目标桥114与NOC1的初始桥213可通过NOC0的总线110和NOC1的总线210进行连接,NOC1的目标桥212与从设备216相连接,从而可以实现主设备115与从设备116进行通信,NOC0访问NOC1。其中,
初始桥为对接设备接口协议转换为NOC内部网络接口协议的协议转换桥。在一种情况下,初始桥与主设备(如图形处理器GPU等)相连,由于主设备和NOC内部网络的接口协议不同,所以当信号从主设备输出时,会在初始桥中进行信号协议转换,使得信号进入NOC内部网络。在另一种情况下,当两个不同的NOC跨NOC互联时,例如NOC0访问NOC1,NOC1的初始桥与NOC0的目标桥相连,由于两个NOC有独立的NOC总线,所以两个不同的NOC之间不能直接进行信号传输,此时,信号从目标桥输出前在目标桥中根据协议规则进行信号的协议转换,并且目标桥将协议转换后的信号传输给NOC1的初始桥,然后初始桥会根据接收到的信号再做一次协议转换,使得信号能够进入到NOC1内部网络,从而实现跨NOC互联。
目标桥为NOC内部网络协议转换为对接设备接口协议的协议转换桥。在一种情况下,目标桥与从设备(如存储器等)相连,由于从设备和NOC内部网络的接口协议不同,所以当信号从NOC内部网络输出时,会在目标桥中进行信号的协议转换,使得信号能够进入从设备。在另一种情况下,当两个不同的NOC跨NOC互联时,例如NOC0访问NOC1,NOC0目标桥与NOC1的初始桥相连,由于NOC0与NOC1有独立的NOC总线,所以两个NOC之间不能直接进行信号传输,此时,信号从NOC0的目标桥输出前会在目标桥中根据协议规则进行信号的协议转换,并且目标桥将协议转换后的信号发送给NOC1的初始桥,然后NOC1的初始桥会根据接收到的信号再进行一次协议转换,使得信号能够进入到NOC1内部网络,从而实现跨NOC互联。
需要说明的是,与NOC中的初始桥相连接的主设备可以为应用处理器(application processor,AP),中央处理器(central processing unit,CPU),图形处理器(graphics processing unit,GPU),神经网络处理器(neural-network processing unit,NPU),调制解调处理器,图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器等。例如,GPU获取存储器中的图片信息,并根据图片信息进行数学和几何计算实现图形渲染等。
与NOC中目标桥相连接的从设备可以为Flash闪存(例如,NAND闪存、NOR闪存等),通用闪存存储器(universal flash storage,UFS),嵌入式多媒体卡eMMC,通用闪存存储多芯片封装uMCP存储器,嵌入式多媒体卡多芯片封装eMCP存储器,固态驱动器(SSD),机械硬盘(Hard Disk Drive,HDD)等。例如,将手机运行数据存储在相应存储器中,记录手机运行情况等。
可以理解的是,图2中的一种片上系统的结构只是本申请实施例中的一种示例性的实施方式,本申请实施例中的片上系统的结构架构包括但不仅限于以上架构。
下面基于上述片上网络结构,结合本申请中提供的片上系统的实施例,对本申请中提出的技术问题进行具体分析和解决。请参见图3A,图3A为本发明实施例提供的一种片上系统示意图,如图3A所示,片上系统30包括:第一片上网络NOC0 301和第二片上网络NOC1 302,需要说明的是在NOC0 301包括第一初始桥IB1 303和第一目标桥TB1 304,NOC1 302包括第二初始桥IB2 305。其中:
第一初始桥IB1 303,用于发送第一会话请求,所述第一会话请求包括第一会话标识、第一上下文条目编号和所述IB1 303的编号。需要说明的是,第一初始桥IB1 303为请求设备的初始会话请求发送给NOC0内部网络306的协议转换桥,当初始会话请求经过IB1 303后会生成第一会话请求,该第一会话请求中包括了请求会话标识(如第一会话标识)、在IB1 303中记录请求过程的第一上下文条目的编号和IB1 303的编号信息。例如,当请求设备为GPU时,在GPU通过NOC0 301访问NOC1 302的片上网络并读取NOC1 302中的数据的场景下,此时NOC1 302片上网络为寄存器子系统,在该寄存器子系统中存储了多个图片数据。GPU向IB1 303发送初始会话请求,当初始会话请求进入IB1时会进行信号的协议转换可生成第一会话请求。可选的,第一会话请求中可包括NOC0内部网络请求操作类型信息network0_req_opc、NOC0内部网络请求有效载荷信息network0_req_pld、NOC0内部网络请求目标节点标识信息network0_req_dstid、NOC0内部网络请求原端标识符信息network0_req_srcid、NOC0内部网络请求会话标识信息network0_req_tid、NOC0内部网络请求返回信息network0_req_retmsg。需要说明的是,在GPU通过NOC0 301访问NOC1 302过程中network0_req_opc信息为请求读操作信息,network0_req_pld信息中携带其他请求信息,network0_req_dstid信息可以指示NOC0内部网络306将第一会话请求发送给network0_req_dstid对应的TB,network0_req_srcid为上述提到的IB1的编号信息,network0_req_tid为上述提到的第一会话标识,network0_req_retmsg为上述提到的第一上下文条目编号。需要说明的是,如图3C所示,图3C为本发明实施例提供的一种IB1内部结构示意图,图中初始会话请求通过接口1500进入IB1 303,IB1 303的地址译码器1100根据初始会话请求中的目标地址信息译码后得到network0_req_dstid,IB1 303中的分配器1200根据初始请求设备标识进行重映射得到network0_req_tid,同时分配器1200 会分配第一上下文表308中的条目用于记录请求过程信息,此时IB1 303可根据第一上边文表中用于记录请求过程的条目编号得到network0_req_retmsg。
在一种可能的实现方式中,如图3B所示,图3B为本发明实施例提供的另一种片上系统示意图,图中所述IB1 303中存储有第一上下文表308,所述第一上下文表308中包括多个IB1 303上下文条目;所述IB1 303,还用于在所述多个IB1 303上下文条目中的第一上下文条目308中存储请求设备会话请求标识和所述第一会话标识的映射关系;所述第一上下文条目308的编号为所述第一上下文条目编号。具体地,当NOC0 301中的IB1 303接收到请求设备的会话请求后,会在IB1 303第一上下文表308中记录下该请求设备标识与NOC0 301内部会话标识的映射关系,其原因是IB1可以连续接收到多个不同的会话请求,每个会话请求都会对应一个相应的会话响应且每个会话请求标识与其对应的会话响应标识一致。因此当IB1 303接收会话响应后,可以根据会话响应中的NOC0 301内部会话标识找到相应的请求设备,便于通知该请求设备请求已经得到响应。例如,当请求设备为GPU时,在GPU通过NOC0 301访问NOC1 302的片上网络并读取NOC1 302中的数据的场景下,此时NOC1 302片上网络为寄存器子系统,在该寄存器子系统中存储了多个图片数据。如图3C所示,图中IB1 303包括第一上下文表308,IB1 303中的分配器1200会分配第一上下文表308中的条目用于记录请求过程信息,此时IB1 303可根据第一上边文表中用于记录请求过程的条目编号得到network0_req_retmsg,需要说明的是,network0_req_retmsg为上述提及的第一上下文条目编号。
在一种可能的实现方式中,如图3B所示,图中所述NOC0 301还包括NOC0内部网络306;所述NOC0内部网络306,用于:接收所述IB1 303发送的所述第一会话请求,所述第一会话请求还包括目标节点标识信息;根据所述目标节点标识信息,确定与所述目标节点标识信息匹配的所述TB1 304;向所述TB1 304发送所述第一会话请求。具体地,NOC0 301还可以包括NOC0内部网络306,当请求设备通过IB1 303发起请求后,IB1 303会根据请求设备的请求生成第一会话请求,然后向NOC0内部网络306发送第一会话请求,接下来NOC0 301会根据第一会话请求中的目标节点标识信息将第一会话请求发送给TB1 304,从而使得TB1 304能够生成第二会话请求并且向NOC1 302的IB2 305发送第二会话请求,从而实现NOC0 301可以更加快速的访问NOC1 302。例如,当请求设备为GPU时,在GPU通过NOC0 301访问NOC1 302的片上网络并读取NOC1 302中的数据的场景下,此时NOC1 302片上网络为寄存器子系统,在该寄存器子系统中存储了多个图片数据。在第一会话请求中还包括目标节点标识信息,如图3C所示,图中IB1 303中的接口1700向NOC0内部网络306发送第一会话请求,接下来NOC0内部网络306根据目标节点标识信息将该第一会话请求发送给目标节点标识信息所对应的TB。
第一目标桥TB1 304,用于接收所述第一会话请求;基于所述第一会话请求生成第二会话请求,并向所述IB2发送第二会话请求;所述第二会话请求包括第二会话标识和所述第一上下文条目编号;所述第二会话标识为基于所述第一会话标识和所述IB1的编号打包后生成的。具体地,如图3D所示,图3D为本发明实施例提供的一种TB的结构示意图,图中TB1 304包括打包模块3500和解包模块3600,当TB1 304接收到从接口3100输入的第一会话请求后,在打包模块3500中将第一会话请求中的第一会话标识和IB1的编号进行 打包得到第二会话标识,然后生成携带第二会话标识的第二会话请求,并通过接口3300向NOC1 302的IB2 305发送该第二会话请求。例如,当请求设备为GPU时,在GPU通过NOC0 301访问NOC1 302的片上网络并读取NOC1 302中的数据的场景下,此时NOC1 302片上网络为寄存器子系统,在该寄存器子系统中存储了多个图片数据。可选的,NOC0 301的IB1 303向TB1 304发送的第一会话请求包括NOC0内部网络请求操作类型信息network0_req_opc、NOC0内部网络请求有效载荷信息network0_req_pld、NOC0内部网络请求目标节点标识信息network0_req_dstid、NOC0内部网络请求原端标识符信息network0_req_srcid、NOC0内部网络请求会话标识信息network0_req_tid、NOC0内部网络请求返回信息network0_req_retmsg,当该第一会话请求通过TB1304的接口3100进入TB1后,TB1 304的打包模块3500会将NOC0内部网络请求原端标识符信息network0_req_srcid和NOC0内部网络请求会话标识信息network0_req_tid进行打包得到NOC0外部会话标识信息,从而生成携带NOC0外部会话标识信息的第二会话请求,并通过接口3300将第二会话请求发送给NOC1 302的IB2 305。
第二初始桥IB2 305,用于接收所述第二会话请求;基于所述第二会话请求生成第一会话响应,并向所述TB1发送所述第一会话响应;所述第一会话响应包括所述第二会话标识和所述第一上下文条目编号。具体地,NOC1 302的IB2 305在接收到NOC0 301的TB1 304发送的第二会话请求后,可根据第二会话请求生成第一会话响应并将该第一会话响应发送给TB1 304。可选的,如图3E所示,图3E为本发明实施例提供的一种NOC0外部信号示意图,第二会话请求可以包括图中信号810所示的信息,NOC0外部请求操作类型信息req_opc、NOC0外部请求地址信息req_addr、NOC0外部请求数据信息req_data、NOC0外部请求会话标识信息req_tid、NOC0外部请求返回信息req_retmsg。第一会话响应可以包括图中信号820所示的信息,NOC0外部响应操作类型信息rsp_opc、NOC0外部响应数据信息rsp_data、NOC0外部响应会话标识信息rsp_tid、NOC0外部响应rsp_retmsg返回信息。需要说明的是,NOC0外部请求会话标识信息req_tid和NOC0外部响应会话标识信息rsp_tid为上述提及的第二会话标识,NOC0外部请求返回信息req_retmsg和NOC0外部响应rsp_retmsg返回信息为上述提及的第一上下文条目编号。
在一种可能的实现方式中,如图3B所示,图中所述IB2 305包中存储有第二上下文表309,所述第二上下文表309中包括多个IB2上下文条目;所述IB2 305,还用于:根据所述第二会话标识进行重映射得到第三会话标识;在所述多个IB2上下文条目中的第二上下文条目309中存储所述第二会话标识与所述第三会话标识的映射关系、所述第二会话标识和所述第一上下文条目编号;所述第二上下文条目的编号为所述第二上下文条目编号;生成第三会话请求;所述第三会话请求包括IB2 305编号、所述第三会话标识、所述第二上下文条目编号。具体地,由于NOC0 301与NOC1 302跨NOC进行通信,所以第二会话请求进入NOC1 302需要在IB2 305进行协议转换。当TB1 304向IB2 305发送第二会话请求后,由于该第二会话请求中携带了NOC0内部网络信息,其中NOC0内部网络信息包括第二NOC0外部会话标识信息和IB1上下文条目编号,所以IB2 305在接收到第二会话请求后,会根据第二NOC0外部会话标识信息重映射得到NOC1内部会话标识信息,然后将第二NOC0外部会话标识信息与NOC1内部会话标识信息映射关系、第二NOC0外部会话标 识信息和IB1上下文条目编号存储在IB2上下文表的IB2上下文条目中。当IB2 305接收到针对第二会话请求的响应信号后,可根据会话响应中的IB2上下文条目编号,在IB2 305上下文表中查找到相应的NOC0内部网络信息。通过在IB2 305的上下文表中存储和查找NOC0内部网络信息,避免了在TB1 304的上下文表中存储和查找NOC0内部网络信息带来的延时和不必要的芯片面积开销,从而简化TB1 304的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率。例如,当请求设备为GPU时,在GPU通过NOC0 301访问NOC1 302的片上网络并读取NOC1 302中的数据的场景下,此时NOC1 302片上网络为寄存器子系统,在该寄存器子系统中存储了多个图片数据。接下来结合图3F进行说明,图3F为本发明实施例提供的一种IB2结构示意图,图中当IB2 305通过接口4500接收到第二会话请求后,IB2 305根据第二会话请求生成第三会话请求,并从接口4700输出该第三会话请求。可选的,第二会话请求可包括NOC0外部请求操作类型信息req_opc、NOC0外部请求地址信息req_addr、NOC0外部请求数据信息req_data、NOC0外部请求会话标识信息req_tid、NOC0外部请求返回信息req_retmsg。可选的,第三会话请求可包括NOC1内部网络请求操作类型信息network1_req_opc、NOC1内部网络请求有效载荷信息network1_req_pld、NOC1内部网络请求目标节点标识信息network1_req_dstid、NOC1内部网络请求原端标识符信息network1_req_srcid、NOC1内部网络请求会话标识信息network1_req_tid、NOC1内部网络请求返回信息network1_req_retmsg。具体地,IB2 305的地址译码器4100将req_addr进行译码得到network1_req_dstid,IB2 305的分配器4200根据req_tid进行重新映射得到network1_req_tid,同时分配器4200会分配第二上下文表309中的条目用于存储req_tid、req_tid与network1_req_tid的映射关系和req_retmsg,并根据该条目的编号得到network1_req_retmsg。需要说明的是,req_tid为上述提及的第二会话标识,network1_req_tid为上述提及的第三会话标识,req_retmsg为上述提及的第一上下文条目编号,network1_req_retmsg为上述提及的第二上下文条目编号。
在一种可能的实现方式中,如图3B所示,图中所述NOC1 302还包括所述NOC1内部网络307;所述IB2305,还用于向所述NOC1内部网络307发送所述第三会话请求;所述NOC1内部网络307,用于:接收所述第三会话请求,响应于所述第三会话请求;基于所述第三会话请求生成第三会话响应,并向所述IB2 305发送所述第三会话响应;所述第三会话响应包括所述第二上下文条目编号。具体地,NOC1 302中还可以包括NOC1内部网络307,当IB2 305接收到由NOC0 301发送的第二会话请求后会生成第三会话请求,然后向NOC1内部网络307发送该第三会话请求,接下来NOC1内部网络307会根据请求进行相应的响应后生成第三会话响应,并向IB2 305发送该第三会话响应。在第三会话响应中包括了IB2上下文条目编号,其目的是便于IB2 305接收到第三会话响应后根据该第三会话响应查找之前存储在IB2上下文表中的NOC0内部网络信息。例如,当请求设备为GPU时,在GPU通过NOC0 301访问NOC1 302的片上网络并读取NOC1 302中的数据的场景下,此时NOC1 302片上网络为寄存器子系统,在该寄存器子系统中存储了多个图片数据。在NOC1 302中还可以包括NOC1内部网络307,IB2305根据第二会话请求生成第三会话请求后,可将第三会话请求发送给NOC1内部网络307,指示NOC1内部网络307在相应 的寄存器中读取图片数据。接下来NOC1内部网络307接收到第三请求后,在相应的寄存器中读取图片数据,并生成第三会话响应。可选的,第三会话响应可包括,NOC1内部网络响应操作类型信息network1_rsp_opc、NOC1内部网络响应有效载荷信息network1_rsp_pld、NOC1内部网络响应目标节点标识信息network1_rsp_dstid、NOC1内部网络响应原端标识符信息network1_rsp_srcid、NOC1内部网络响应返回信息network1_rsp_retmsg。需要说明的是,network1_rsp_retmsg为上述提及的第二上下文条目编号,该第三会话响应用于通知IB2 305在NOC1内部网络307已经响应了第三会话请求的请求。
在一种可能的实现方式中,所述IB2 305,还用于:接收所述第三会话响应,根据所述第三会话响应中的所述第二上下文条目编号,根据所述第二上下文条目编号在所述第二上下文表中查找所述第二上下文条目,获取所述第二上下文条目中存储的所述第二会话标识和所述第一上下文条目编号;基于所述第二会话标识和所述第一上下文条目编号生成所述第一会话响应。具体地,当IB2 305接收到由NOC1内部网络307发送的第三会话响应后,可以根据该第三会话响应中的IB2上下文条目编号,在IB2上下文表中查找之前存储的NOC0内部网络信息,其中该NOC0内部网络信息中包括NOC0外部会话标识信息与NOC1内部会话标识信息、NOC0外部会话标识信息和IB1上下文条目编号。接下来IB2 305可根据NOC0内部网络信息生成第一会话响应,然后将该第一响应发送给NOC0 301的TB1 304。因此,IB2 305根据第三会话响应可在IB2上下文表中读取出NOC0内部网络信息,避免了在TB1 304的上下文表中存储和查找NOC0内部网络信息带来的延时和不必要的芯片面积开销,从而简化TB1 304的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率。例如,当请求设备为GPU时,在GPU通过NOC0 301访问NOC1 302的片上网络并读取NOC1 302中的数据的场景下,此时NOC1 302片上网络为寄存器子系统,在该寄存器子系统中存储了多个图片数据。当NOC1内部网络307根据第三会话请求中的请求,在相应的寄存器中读取完数据后,向IB2 305发送第三会话响应。IB2 305接收到第三会话响应后,生成第一会话响应。可选的,第三会话响应可包括NOC1内部网络响应操作类型信息network1_rsp_opc、NOC1内部网络响应有效载荷信息network1_rsp_pld、NOC1内部网络响应目标节点标识信息network1_rsp_dstid、NOC1内部网络响应原端标识符信息network1_rsp_srcid、NOC1内部网络响应返回信息network1_rsp_retmsg。可选的,第一会话响应可包括NOC0外部响应操作类型信息rsp_opc、NOC0外部响应数据信息rsp_data、NOC0外部响应会话标识信息rsp_tid、NOC0外部响应rsp_retmsg返回信息。如在图3F中,第三会话响应通过接口4800进入IB2 305,IB2 305中的索引模块4400根据第三会话响应中的network1_rsp_retmsg在第二上下文表309中查询获取到rsp_tid和rsp_retmsg信息,从而生成第一响应信息。该第一响应信息用于通知TB1 304第二会话请求的请求在NOC1 302上已经得到响应。需要说明的是,req_tid为上述提及的第二会话标识,network1_req_tid为上述提及的第三会话标识,req_retmsg为上述提及的第一上下文条目编号,network1_req_retmsg为上述提及的第二上下文条目编号。
第一目标桥TB1 304,还用于接收所述第一会话响应;将所述第二会话标识解包获得所述IB1的编号,生成第二会话响应,所述第二会话响应包括所述IB1的编号和所述第一上下文条目编号。例如,当请求设备为GPU时,在GPU通过NOC0 301访问NOC1 302 的片上网络并读取NOC1 302中的数据的场景下,此时NOC1 302片上网络为寄存器子系统,在该寄存器子系统中存储了多个图片数据。当NOC1 302根据会话请求在NOC1内部网络307中读取完数据后,NOC1 302的IB2 305会向NOC0 301的TB1 304发送第一会话响应。当TB1 304接收到第一会话响应后会生成第二会话响应。可选的,第一会话响应包括NOC0外部响应操作类型信息rsp_opc、NOC0外部响应数据信息rsp_data、NOC0外部响应会话标识信息rsp_tid、NOC0外部响应rsp_retmsg返回信息。可选的,第二会话响应包括NOC0内部网络响应操作类型信息network0_rsp_opc、NOC0内部网络响应有效载荷信息network0_rsp_pld、NOC0内部网络响应目标节点标识信息network0_rsp_dstid、NOC0内部网络响应原端标识符信息network0_rsp_srcid、NOC0内部网络响应返回信息network0_rsp_retmsg。具体地,如图3D所示,当TB1 304通过接口3400接收到第一会话响应后,TB1 304的解包模块3600将rsp_tid进行解包得到network0_rsp_dstid信息,从而生成携带network0_rsp_dstid和network0_rsp_retmsg的第二会话响应。可选的,network0_rsp_srcid为TB1304在NOC0上的编号信息,此时network0_rsp_srcid可以接固定值。需要说明的是,rsp_tid为上述提及的第二会话标识,network0_rsp_dstid为上述提及的IB1的编号,network0_rsp_retmsg为上述提及的第一上下文条目编号。
在一种可能的实现方式中,所述TB1 304,还用于向所述NOC0内部网络306发送所述第二会话响应;所述NOC0内部网络306,还用于:接收所述第二会话响应,并向根据所述IB1 303的编号向所述IB1 303发送所述第二会话响应。具体地,当NOC0 301的TB1 304接收到NOC1 302的IB2 305发送的第一会话响应后,TB1 304会将第一会话响应中的第二NOC0外部会话标识信息进行解包得到NOC0内部会话标识信息和IB1编号信息,生成包括NOC0内部会话标识信息、IB1编号信息和IB1上下文条目编号的第二会话响应。接下来,TB1 304会将该第二会话响应发送给NOC0内部网络306,然后NOC0内部网络306根据IB1编号信息将第二会话响应发送给IB1 303,通知IB1 303在NOC1 302上已经响应了第一会话请求的请求。因此改进后的TB1 304只需进行信息的打包和解包,避免了在TB1 303上下文表中存储和查找NOC0内部网络信息带来的延时和不必要的芯片面积开销,从而简化TB1303的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率。例如,当请求设备为GPU时,在GPU通过NOC0 301访问NOC1 302的片上网络并读取NOC1 302中的数据的场景下,此时NOC1 302片上网络为寄存器子系统,在该寄存器子系统中存储了多个图片数据。当TB1 304生成第二会话响应后,通过图3D中的接口3200向NOC0内部网络306发送第二会话响应,可选的,第二会话响应包括NOC0内部网络响应操作类型信息network0_rsp_opc、NOC0内部网络响应有效载荷信息network0_rsp_pld、NOC0内部网络响应目标节点标识信息network0_rsp_dstid、NOC0内部网络响应原端标识符信息network0_rsp_srcid、NOC0内部网络响应返回信息network0_rsp_retmsg。NOC0内部网络306根据network0_rsp_dstid将该第二会话响应发送给network0_rsp_dstid对应的IB,为了通知其请求已经在NOC1 302上得到响应。需要说明的是,network0_rsp_dstid为上述提及的IB1 303的编号信息。
在一种可能的实现方式中,所述IB1 303,还用于:接收所述第二会话响应,根据所述第二响信号中的所述第一上下文条目编号,在所述第一上下文表中查找与所述请求设备会 话请求标识和所述第一会话标识的映射关系;所述请求设备会话请求标识对应目标请求设备;基于所述第二会话响应向所述目标请求设备发送第四会话响应;所述第一会话响应用于通知所述请求设备已完成请求。具体地,当NOC0 301的IB1 303接收到NOC0内部网络306发送的第二会话响应后,会根据第二会话响应中的IB1上下文条目编号在IB1上下文表中查找之前记录的请求设备的会话请求标识与NOC0内部会话标识信息映射关系,从而IB1 303可基于第二会话响应将第四会话响应发送给相应的请求设备,通知该请求设备的请求已经在NOC1 302上得到响应。通过实施本发明提供的实施例,避免了在TB1 304的上下文表中存储和查找NOC0内部网络信息带来的延时和不必要的芯片面积开销,从而简化TB1 304的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率,实现了NOC0 303能够更加快速的访问NOC1 304。例如,当请求设备为GPU时,在GPU通过NOC0 301访问NOC1 302的片上网络并读取NOC1 302中的数据的场景下,此时NOC1 302片上网络为寄存器子系统,在该寄存器子系统中存储了多个图片数据。当IB1接收到第二会话响应后,可选的,第二会话响应包括NOC0内部网络响应操作类型信息network0_rsp_opc、NOC0内部网络响应有效载荷信息network0_rsp_pld、NOC0内部网络响应目标节点标识信息network0_rsp_dstid、NOC0内部网络响应原端标识符信息network0_rsp_srcid、NOC0内部网络响应返回信息network0_rsp_retmsg,如图3C所示,图中IB1 303的索引模块1400可根据network0_rsp_retmsg在第一上下文表308中查询之前的请求记录,便于后续通知请求设备相应的会话请求已经在NOC1内部网络307中得到响应。
在一种可能的实现方式中,所述第一初始桥IB1,具体用于:按照目标顺序发送多个会话请求,所述多个会话请求包括所述第一会话请求;按照所述目标顺序接收多个会话响应,所述会话响应包括所述第二会话响应;按照所述目标顺序,基于所述多个会话响应向多个请求设备分别发送处理后的会话响应;所述多个请求设备包括所述目标请求设备,所述处理后的会话响应中的其中一个为所述第四会话响应。具体地,当IB1接收到多个初始请求会话时,且这些初始会话请求标识相同,那么IB1在转换成多个第一请求会话时,要求NOC0内部会话请求标识是相同的,且要求NOC0和NOC1确保相同的会话请求标识到达NOC1内部网络是按照目标顺序的,从而使得请求在NOC1内部网络响应后,响应会话按照上述目标顺序分别发送给IB1。例如,IB1接收到100个从主设备发送的请求会话,且这些初始会话请求标识相同,IB1接收到该100请求会话后,需要说明的是,IB1根据这100个初始会话请求转换成多个第一请求会话时要求NOC0内部会话请求标识是相同的,接下来IB1会按照这个100请求会话的请求顺序向NOC1发送请求会话,当请求在NOC1上得到响应后,同样会按照这100请求会话初始的请求顺序分别接收到相应的响应会话。
因此,在本发明实施例中,通过对NOC0中的TB1 304进行改进,使得上述提及的第二会话请求和第一会话响应中携带上NOC0内部网络信息,从而简化TB1 304的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率。具体地,当TB1 304接收到IB1 303的第一会话请求后,由于在第一会话请求中包括了NOC0内部网络信息,其中NOC内部网络信息包括了NOC0内部会话标识信息、IB1 303中用于记录请求设备与NOC0内部会话标识信息映射关系的IB1上下文条目编号和IB1编号信息,因此TB1 304将NOC0内部会话标识信息和IB1编号信息进行打包得到第二NOC0外部会话标识信息,然后向 NOC1 302的IB2 305发送第二会话请求,第二会话请求中包括了第二NOC0外部会话标识信息和IB1上下文条目编号,从而第二会话请求携带了NOC0内部网络信息。接下来,IB2 305接收到第二会话请求后,IB2 305会针对第二会话请求生成第一会话响应,然后向TB1 304发送第一会话响应。当TB1 304接收到第一会话响应后,由于第一会话响应中包括了NOC0内部网络信息,其中NOC内部网络信息包括了第二NOC0外部会话标识信息和IB1上下文条目编号,因此TB1 304将第二NOC0外部会话标识信息进行解包得到NOC0内部会话标识信息和IB1编号信息,然后根据NOC0内部会话标识信息、IB1编号信息和IB1上下文条目编号生成第二会话响应。通过实施本发明实施例,对TB1 304进行改进,使得第二会话请求和第一会话响应中携带NOC0内部网络信息,避免了在TB1 304的上下文表中存储和查找NOC0内部网络信息带来的延时和不必要的芯片面积开销,从而简化TB1 304的内部结构的同时也可以提升跨NOC互联过程中信号的协议转换效率。
上述详细阐述了本发明实施例的装置,下面提供了本发明实施例的相关方法。
本发明实施例提供一种片上系统通信方法,其特征在于,所述片上系统包括第一片上网络NOC0和第二片上网络NOC1;所述NOC0包括第一初始桥IB1和第一目标桥TB1,所述NOC1包括第二初始桥;所述方法包括:所述第一初始桥IB1发送第一会话请求,所述第一会话请求包括第一会话标识、第一上下文条目编号和所述IB1的编号;所述第一目标桥TB1接收所述第一会话请求;基于所述第一会话请求生成第二会话请求,并向所述IB2发送第二会话请求;所述第二会话请求包括第二会话标识和所述第一上下文条目编号;所述第二会话标识为基于所述第一会话标识和所述IB1的编号打包后生成的;所述第二初始桥IB2接收所述第二会话请求;基于所述第二会话请求生成第一会话响应,并向所述TB1发送所述第一会话响应;所述第一会话响应包括所述第二会话标识和所述第一上下文条目编号;所述第一目标桥TB1接收所述第一会话响应;将所述第二会话标识解包获得所述IB1的编号,生成第二会话响应,所述第二会话响应包括所述IB1的编号和所述第一上下文条目编号。
在一种可能的实现方式中,所述NOC0还包括NOC0内部网络;所述方法还包括:所述NOC0内部网络接收所述IB1发送的所述第一会话请求,所述第一会话请求还包括目标节点标识信息;根据所述目标节点标识信息,确定与所述目标节点标识信息匹配的所述TB1;向所述TB1发送所述第一会话请求。
在一种可能的实现方式中,所述IB1中存储有第一上下文表,所述第一上下文表中包括多个IB1上下文条目;所述方法还包括:所述IB1在所述多个IB1上下文条目中的第一上下文条目中存储请求设备会话请求标识和所述第一会话标识的映射关系;所述第一上下文条目的编号为所述第一上下文条目编号。
在一种可能的实现方式中,所述IB2包中存储有第二上下文表,所述第二上下文表中包括多个IB2上下文条目;所述方法还包括:所述IB2根据所述第二会话标识进行重映射得到第三会话标识;在所述多个IB2上下文条目中的第二上下文条目中存储所述第二会话标识与所述第三会话标识的映射关系、所述第二会话标识和所述第一上下文条目编号;所述第二上下文条目的编号为所述第二上下文条目编号;生成第三会话请求;所述第三会话 请求包括IB2编号、所述第三会话标识、所述第二上下文条目编号。
在一种可能的实现方式中,所述NOC1还包括所述NOC1内部网络;所述方法还包括:所述IB2向所述NOC1内部网络发送所述第三会话请求;所述NOC1内部网络接收所述第三会话请求,响应于所述第三会话请求;基于所述第三会话请求生成第三会话响应,并向所述IB2发送所述第三会话响应;所述第三会话响应包括所述第二上下文条目编号。
在一种可能的实现方式中,所述方法还包括:所述IB2接收所述第三会话响应,根据所述第三会话响应中的所述第二上下文条目编号,根据所述第二上下文条目编号在所述第二上下文表中查找所述第二上下文条目,获取所述第二上下文条目中存储的所述第二会话标识和所述第一上下文条目编号;基于所述第二会话标识和所述第一上下文条目编号生成所述第一会话响应。
在一种可能的实现方式中,所述方法还包括:所述TB1向所述NOC0内部网络发送所述第二会话响应;所述NOC0内部网络接收所述第二会话响应,并向根据所述IB1的编号向所述IB1发送所述第二会话响应。
在一种可能的实现方式中,所述方法还包括:所述IB1接收所述第二会话响应,根据所述第二响信号中的所述第一上下文条目编号,在所述第一上下文表中查找与所述请求设备会话请求标识和所述第一会话标识的映射关系;基于所述第二会话响应向所述请求设备发送第四会话响应;所述第一会话响应用于通知所述请求设备已完成请求。
需要说明的是,本发明实施例中所描述的片上系统通信方法中各个步骤的实现在所述的装置实施例中的模斑转换装置中完成,此处不再赘述。
本申请提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述权利要求上述任意一项所述的方法。
本申请提供一种计算机程序,其特征在于,所述计算机可读程序包括指令,当所述计算机程序被处理器执行时,使得所述处理器执行如上述权利要求上述中任意一项所述的方法。
本申请提供一种片上网络接口装置,其特征在于,所述片上系统包括第一片上网络NOC0和第二片上网络NOC1;所述NOC0包括第一初始桥IB1和第一目标桥TB1,所述NOC1包括第二初始桥IB2;所述第一初始桥IB1,用于发送第一会话请求,所述第一会话请求包括第一会话标识、第一上下文条目编号和所述IB1的编号;所述第一目标桥TB1,用于接收所述第一会话请求;基于所述第一会话请求生成第二会话请求,并向所述IB2发送第二会话请求;所述第二会话请求包括第二会话标识和所述第一上下文条目编号;所述第二会话标识为基于所述第一会话标识和所述IB1的编号打包后生成的;所述第二初始桥IB2,用于接收所述第二会话请求;基于所述第二会话请求生成第一会话响应,并向所述TB1发送所述第一会话响应;所述第一会话响应包括所述第二会话标识和所述第一上下文条目编号;所述第一目标桥TB1,还用于接收所述第一会话响应;将所述第二会话标识解包获得所述IB1的编号,生成第二会话响应,所述第二会话响应包括所述IB1的编号和所述第一上下文条目编号。
本发明实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质可存储有程序,该程序被多核处理器执行时包括上述方法实施例中记载的任意一种的部分或全部步骤。
本发明实施例还提供一种计算机程序,该计算机程序包括指令,当该计算机程序被多核处理器执行时,使得所述多核处理器可以执行任意一种多核处理器的处理方法的部分或全部步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本申请各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(Read-Only Memory,缩写:ROM)或者随机存取存储器(Random Access Memory,缩写:RAM)等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (20)
- 一种片上系统,其特征在于,所述片上系统包括第一片上网络NOC0和第二片上网络NOC1;所述NOC0包括第一初始桥IB1和第一目标桥TB1,所述NOC1包括第二初始桥IB2;所述第一初始桥IB1,用于发送第一会话请求,所述第一会话请求包括第一会话标识、第一上下文条目编号和所述IB1的编号;所述第一目标桥TB1,用于接收所述第一会话请求;基于所述第一会话请求生成第二会话请求,并向所述IB2发送第二会话请求;所述第二会话请求包括第二会话标识和所述第一上下文条目编号;所述第二会话标识为基于所述第一会话标识和所述IB1的编号打包后生成的;所述第二初始桥IB2,用于接收所述第二会话请求;基于所述第二会话请求生成第一会话响应,并向所述TB1发送所述第一会话响应;所述第一会话响应包括所述第二会话标识和所述第一上下文条目编号;所述第一目标桥TB1,还用于接收所述第一会话响应;将所述第二会话标识解包获得所述IB1的编号,生成第二会话响应,所述第二会话响应包括所述IB1的编号和所述第一上下文条目编号。
- 根据权利要求1所述的片上系统,其特征在于,所述NOC0还包括NOC0内部网络;所述NOC0内部网络,用于:接收所述IB1发送的所述第一会话请求,所述第一会话请求还包括目标节点标识信息;根据所述目标节点标识信息,确定与所述目标节点标识信息匹配的所述TB1;向所述TB1发送所述第一会话请求。
- 根据权利要求1或2所述的片上系统,其特征在于,所述IB1中存储有第一上下文表,所述第一上下文表中包括多个IB1上下文条目;所述IB1,还用于:在所述多个IB1上下文条目中的第一上下文条目中存储请求设备会话请求标识和所述第一会话标识的映射关系;所述第一上下文条目的编号为所述第一上下文条目编号。
- 根据权利要求1-3所述的任意一项所述片上系统,其特征在于,所述IB2包中存储有第二上下文表,所述第二上下文表中包括多个IB2上下文条目;所述IB2,还用于:根据所述第二会话标识进行重映射得到第三会话标识;在所述多个IB2上下文条目中的第二上下文条目中存储所述第二会话标识与所述第三会话标识的映射关系、所述第二会话标识和所述第一上下文条目编号;所述第二上下文条目的编号为所述第二上下文条目编号;生成第三会话请求;所述第三会话请求包括IB2编号、所述第三会话标识、所述第二上下文条目编号。
- 根据权利要求4所述的任意一项所述片上系统,其特征在于,所述NOC1还包括所述NOC1内部网络;所述IB2,还用于向所述NOC1内部网络发送所述第三会话请求;所述NOC1内部网络,用于:接收所述第三会话请求,响应于所述第三会话请求;基于所述第三会话请求生成第三会话响应,并向所述IB2发送所述第三会话响应;所述第三会话响应包括所述第二上下文条目编号。
- 根据权利要求5所述的片上系统,其特征在于,所述IB2,还用于:接收所述第三会话响应,根据所述第三会话响应中的所述第二上下文条目编号,根据所述第二上下文条目编号在所述第二上下文表中查找所述第二上下文条目,获取所述第二上下文条目中存储的所述第二会话标识和所述第一上下文条目编号;基于所述第二会话标识和所述第一上下文条目编号生成所述第一会话响应。
- 根据权利要求6所述的片上系统,其特征在于,所述TB1,还用于向所述NOC0内部网络发送所述第二会话响应;所述NOC0内部网络,还用于:接收所述第二会话响应,并向根据所述IB1的编号向所述IB1发送所述第二会话响应。
- 根据权利要求7所述的片上系统,其特征在于,所述IB1,还用于:接收所述第二会话响应,根据所述第二响信号中的所述第一上下文条目编号,在所述第一上下文表中查找与所述请求设备会话请求标识和所述第一会话标识的映射关系;所述请求设备会话请求标识对应目标请求设备;基于所述第二会话响应向所述目标请求设备发送第四会话响应;所述第一会话响应用于通知所述请求设备已完成请求。
- 根据权利要求8所述的片上系统,其特征在于,所述第一初始桥IB1,具体用于:按照目标顺序发送多个会话请求,所述多个会话请求包括所述第一会话请求;按照所述目标顺序接收多个会话响应,所述会话响应包括所述第二会话响应;按照所述目标顺序,基于所述多个会话响应向多个请求设备分别发送处理后的会话响应;所述多个请求设备包括所述目标请求设备,所述处理后的会话响应中的其中一个为所述第四会话响应。
- 一种片上系统通信方法,其特征在于,所述片上系统包括第一片上网络NOC0和第二片上网络NOC1;所述NOC0包括第一初始桥IB1和第一目标桥TB1,所述NOC1包括第二初始桥;所述方法包括:所述第一初始桥IB1发送第一会话请求,所述第一会话请求包括第一会话标识、第一上下文条目编号和所述IB1的编号;所述第一目标桥TB1接收所述第一会话请求;基于所述第一会话请求生成第二会话请求,并向所述IB2发送第二会话请求;所述第二会话请求包括第二会话标识和所述第一上下文条目编号;所述第二会话标识为基于所述第一会话标识和所述IB1的编号打包后生成的;所述第二初始桥IB2接收所述第二会话请求;基于所述第二会话请求生成第一会话响应,并向所述TB1发送所述第一会话响应;所述第一会话响应包括所述第二会话标识和所述第一上下文条目编号;所述第一目标桥TB1接收所述第一会话响应;将所述第二会话标识解包获得所述IB1的编号,生成第二会话响应,所述第二会话响应包括所述IB1的编号和所述第一上下文条目编号。
- 根据权利要求10所述的方法,其特征在于,所述NOC0还包括NOC0内部网络; 所述方法还包括:所述NOC0内部网络接收所述IB1发送的所述第一会话请求,所述第一会话请求还包括目标节点标识信息;根据所述目标节点标识信息,确定与所述目标节点标识信息匹配的所述TB1;向所述TB1发送所述第一会话请求。
- 根据权利要求10或11所述的方法,其特征在于,所述IB1中存储有第一上下文表,所述第一上下文表中包括多个IB1上下文条目;所述方法还包括:所述IB1在所述多个IB1上下文条目中的第一上下文条目中存储请求设备标识和所述第一会话标识的映射关系;所述第一上下文条目的编号为所述第一上下文条目编号。
- 根据权利要求10-12所述的任意一项所述方法,其特征在于,所述IB2包中存储有第二上下文表,所述第二上下文表中包括多个IB2上下文条目;所述方法还包括:所述IB2根据所述第二会话标识进行重映射得到第三会话标识;在所述多个IB2上下文条目中的第二上下文条目中存储所述第二会话标识与所述第三会话标识的映射关系、所述第二会话标识和所述第一上下文条目编号;所述第二上下文条目的编号为所述第二上下文条目编号;生成第三会话请求;所述第三会话请求包括IB2编号、所述第三会话标识、所述第二上下文条目编号。
- 根据权利要求13所述的任意一项所述方法,其特征在于,所述NOC1还包括所述NOC1内部网络;所述方法还包括:所述IB2向所述NOC1内部网络发送所述第三会话请求;所述NOC1内部网络接收所述第三会话请求,响应于所述第三会话请求;基于所述第三会话请求生成第三会话响应,并向所述IB2发送所述第三会话响应;所述第三会话响应包括所述第二上下文条目编号。
- 根据权利要求14所述的方法,其特征在于,所述方法还包括:所述IB2接收所述第三会话响应,根据所述第三会话响应中的所述第二上下文条目编号,根据所述第二上下文条目编号在所述第二上下文表中查找所述第二上下文条目,获取所述第二上下文条目中存储的所述第二会话标识和所述第一上下文条目编号;基于所述第二会话标识和所述第一上下文条目编号生成所述第一会话响应。
- 根据权利要求15所述的方法,其特征在于,所述方法还包括:所述TB1向所述NOC0内部网络发送所述第二会话响应;所述NOC0内部网络接收所述第二会话响应,并向根据所述IB1的编号向所述IB1发送所述第二会话响应。
- 根据权利要求16所述的方法,其特征在于,所述方法还包括:所述IB1接收所述第二会话响应,根据所述第二响信号中的所述第一上下文条目编号,在所述第一上下文表中查找与所述请求设备会话请求标识和所述第一会话标识的映射关系;所述请求设备会话请求标识对应目标请求设备;基于所述第二会话响应向所述目标请求设备发送第四会话响应;所述第一会话响应用于通知所述请求设备已完成请求。
- 根据权利要求17所述的方法,其特征在于,所述方法包括:所述第一初始桥IB1按照目标顺序发送多个会话请求,所述多个会话请求包括所述第一会话请求;按照所述目标顺序接收多个会话响应,所述会话响应包括所述第二会话响应; 按照所述目标顺序,基于所述多个会话响应向多个请求设备分别发送处理后的会话响应;所述多个请求设备包括所述目标请求设备,所述处理后的会话响应中的其中一个为所述第四会话响应。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述权利要求9-16任意一项所述的方法。
- 一种计算机程序,其特征在于,所述计算机可读程序包括指令,当所述计算机程序被处理器执行时,使得所述处理器执行如上述权利要求9-16中任意一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/141852 WO2022141322A1 (zh) | 2020-12-30 | 2020-12-30 | 一种片上系统及相关方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116711281A true CN116711281A (zh) | 2023-09-05 |
Family
ID=82260048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080108260.4A Pending CN116711281A (zh) | 2020-12-30 | 2020-12-30 | 一种片上系统及相关方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116711281A (zh) |
WO (1) | WO2022141322A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117370231B (zh) * | 2023-12-07 | 2024-04-12 | 芯动微电子科技(武汉)有限公司 | 实现gpu核内片上网络总线访问的协议转换模块及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753388B (zh) * | 2008-11-28 | 2011-08-31 | 中国科学院微电子研究所 | 适用于多核处理器片上和片间扩展的路由及接口装置 |
CN102567277A (zh) * | 2010-12-30 | 2012-07-11 | 世意法(北京)半导体研发有限责任公司 | 用于通过片上网络系统来降低功耗的方法 |
US20150103822A1 (en) * | 2013-10-15 | 2015-04-16 | Netspeed Systems | Noc interface protocol adaptive to varied host interface protocols |
US9699079B2 (en) * | 2013-12-30 | 2017-07-04 | Netspeed Systems | Streaming bridge design with host interfaces and network on chip (NoC) layers |
-
2020
- 2020-12-30 WO PCT/CN2020/141852 patent/WO2022141322A1/zh active Application Filing
- 2020-12-30 CN CN202080108260.4A patent/CN116711281A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022141322A1 (zh) | 2022-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6871957B2 (ja) | エミュレートされたエンドポイントコンフィグレーション | |
TWI570563B (zh) | 後置中斷架構 | |
WO2022126919A1 (zh) | 文件传输方法、装置、计算机设备及存储介质 | |
US20150026286A1 (en) | Iwarp rdma read extensions | |
JP5681782B2 (ja) | オン・ダイ・システム・ファブリック・ブロックの制御 | |
US8631184B2 (en) | Interconnection method and device, for example for systems-on-chip | |
US9886410B1 (en) | Dynamic function assignment to I/O device interface port | |
TW201423422A (zh) | 具有PCIe介面的裝置共享系統及方法 | |
US8473658B2 (en) | Input output bridging | |
WO2016119469A1 (zh) | 业务上下文管理方法、物理主机、pcie设备及迁移管理设备 | |
CN109857545B (zh) | 一种数据传输方法及装置 | |
WO2014086219A1 (zh) | 一种基于外设部件互联总线的内容查找芯片及系统 | |
CN115269174A (zh) | 一种数据传输方法、数据处理方法及相关产品 | |
CN116711281A (zh) | 一种片上系统及相关方法 | |
US20220141322A1 (en) | Interface circuit for providing extension packet and processor including the same | |
WO2015172391A1 (zh) | 快速数据读写方法和装置 | |
Nguyen et al. | Reducing data copies between gpus and nics | |
KR20050080704A (ko) | 프로세서간 데이터 전송 장치 및 방법 | |
US10452579B2 (en) | Managing input/output core processing via two different bus protocols using remote direct memory access (RDMA) off-loading processing system | |
Klilou et al. | Performance optimization of high-speed Interconnect Serial RapidIO for onboard processing | |
US10938904B2 (en) | Multi-processor/endpoint data splitting system | |
WO2024217333A1 (zh) | 一种基于块存储的io访问方法、装置、电子设备及介质 | |
CN116561036B (zh) | 数据访问控制方法、装置、设备及存储介质 | |
KR100978083B1 (ko) | 공유 메모리형 멀티 프로세서에 있어서의 절차 호출 방법 및 절차 호출 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체 | |
US20240104045A1 (en) | System and method for ghost bridging |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |