CN116248574A - 一种路由信息确定方法、装置、芯片及存储介质 - Google Patents

一种路由信息确定方法、装置、芯片及存储介质 Download PDF

Info

Publication number
CN116248574A
CN116248574A CN202211573729.9A CN202211573729A CN116248574A CN 116248574 A CN116248574 A CN 116248574A CN 202211573729 A CN202211573729 A CN 202211573729A CN 116248574 A CN116248574 A CN 116248574A
Authority
CN
China
Prior art keywords
router
initial
routing information
target
input port
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
Application number
CN202211573729.9A
Other languages
English (en)
Inventor
刘伟
张亚林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Enflame Technology Co ltd
Original Assignee
Shanghai Enflame Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Enflame Technology Co ltd filed Critical Shanghai Enflame Technology Co ltd
Priority to CN202211573729.9A priority Critical patent/CN116248574A/zh
Publication of CN116248574A publication Critical patent/CN116248574A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/083Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种路由信息确定方法、装置、芯片及存储介质,包括:通过初始路由器的目标输入端口,接收Master节点触发的访问请求以及初始路由信息;通过初始路由器根据初始路由信息进行输入端口仲裁,并同时确定下层路由器对应的下层路由信息;通过初始路由器根据输入端口仲裁结果,将下层路由信息以及访问请求发送至下层路由器;如果确定下层路由器为访问请求对应的目标路由器,则通过下层路由器根据下层路由信息进行输入端口仲裁,并根据输入端口仲裁结果将访问请求发送至目标Slave节点。本发明实施例的技术方案可以减少Master节点对Slave节点的访问耗时,提高访问效率。

Description

一种路由信息确定方法、装置、芯片及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种路由信息确定方法、装置、芯片及存储介质。
背景技术
片上系统(System On Chip,SOC)中包含片上网络(Network On Chip,NOC),NOC网络可以连接多个Master节点和Slave节点,并通过多个路由器实现Master节点与Slave节点之间的信息交互。
现有技术中,Master节点访问Slave节点时,需要将访问请求发送至对应的路由器,由所述路由器根据访问请求,计算本路由器对应的路由信息,然后根据所述路由信息对输入端口进行仲裁,最后根据仲裁结果将访问请求发送至后续路由器。后续路由器通过重复执行上述过程,确定Slave节点对应的最终路由器,并通过该路由器将访问请求发送至Slave节点。
但是,由于现有技术中路由器是采用串行方式,执行路由信息确定过程以及端口仲裁过程,由此导致Master节点对Slave节点的访问过程延迟较大。
发明内容
本发明提供了一种路由信息确定方法、装置、芯片及存储介质,可以减少Master节点对Slave节点的访问耗时,提高访问效率。
根据本发明的一方面,提供了一种路由信息确定方法,应用于芯片中,所述芯片中各路由器之间通过片上网络进行连接,所述方法包括:
通过初始路由器的目标输入端口,接收Master节点触发的访问请求,以及所述初始路由器对应的初始路由信息;
通过所述初始路由器,根据所述初始路由信息进行输入端口仲裁,并同时确定下层路由器对应的下层路由信息;
通过所述初始路由器根据输入端口仲裁结果,将所述下层路由信息以及访问请求,发送至下层路由器;
如果确定下层路由器为访问请求对应的目标路由器,则通过所述下层路由器根据下层路由信息进行输入端口仲裁,并根据输入端口仲裁结果,将所述访问请求发送至目标Slave节点。
可选的,通过所述初始路由器,根据所述初始路由信息进行输入端口仲裁,包括:
通过所述初始路由器,根据所述初始路由信息确定目标输出端口,并获取所述目标输出端口对应的多个输入端口;
通过所述初始路由器,对所述多个输入端口进行仲裁,得到与各所述输入端口分别对应的执行顺序。
可选的,通过所述初始路由器根据输入端口仲裁结果,将所述下层路由信息以及访问请求,发送至下层路由器,包括:
通过所述初始路由器的目标输出端口,根据所述目标输入端口对应的执行顺序,将所述下层路由信息以及访问请求,发送至下层路由器。
可选的,确定下层路由器对应的下层路由信息,包括:
通过所述初始路由器,根据所述访问请求对应的目标Slave节点,以及所述片上网络的组成结构,确定下层路由器以及目标路由器;
通过所述初始路由器,根据所述下层路由器以及目标路由器对应的连接方式,确定下层路由器对应的下层路由信息。
可选的,在通过所述初始路由器根据输入端口仲裁结果,将所述下层路由信息以及访问请求,发送至下层路由器之后,还包括:
如果确定下层路由器不是访问请求对应的目标路由器,则通过所述下层路由器,根据所述下层路由信息进行输入端口仲裁,并同时确定后续级联路由器对应的后续路由信息;
通过所述下层路由器根据输入端口仲裁结果,将所述后续路由信息以及访问请求,发送至后续级联路由器;
如果确定后续级联路由器为访问请求对应的目标路由器,则通过所述后续级联路由器根据后续路由信息进行输入端口仲裁,并根据输入端口仲裁结果,将所述访问请求发送至目标Slave节点。
可选的,在将所述访问请求发送至目标Slave节点之后,还包括:
通过所述目标Slave节点,确定目标路由器对应的目标路由信息,并将所述目标路由信息,以及访问请求对应的响应数据,发送至目标路由器;
通过所述目标路由器,根据所述目标路由信息进行输入端口仲裁,并同时确定上层路由器对应的上层路由信息;
通过所述目标路由器根据输入端口仲裁结果,将所述上层路由信息以及响应数据,发送至上层路由器;
如果确定上层路由器为所述初始路由器,则通过所述上层路由器根据上层路由信息进行输入端口仲裁,并根据输入端口仲裁结果,将所述响应数据发送至所述Master节点。
根据本发明的另一方面,提供了一种路由信息确定装置,应用于芯片中,所述芯片中各路由器之间通过片上网络进行连接,所述装置包括:
请求接收模块,用于通过初始路由器的目标输入端口,接收Master节点触发的访问请求,以及所述初始路由器对应的初始路由信息;
信息确定模块,用于通过所述初始路由器,根据所述初始路由信息进行输入端口仲裁,并同时确定下层路由器对应的下层路由信息;
信息发送模块,用于通过所述初始路由器根据输入端口仲裁结果,将所述下层路由信息以及访问请求,发送至下层路由器;
请求发送模块,用于如果确定下层路由器为访问请求对应的目标路由器,则通过所述下层路由器根据下层路由信息进行输入端口仲裁,并根据输入端口仲裁结果,将所述访问请求发送至目标Slave节点。
根据本发明的另一方面,提供了一种芯片,所述芯片包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的路由信息确定方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的路由信息确定方法。
本发明实施例提供的技术方案,通过初始路由器的目标输入端口,接收Master节点触发的访问请求以及初始路由信息,通过初始路由器根据初始路由信息进行输入端口仲裁,并同时确定下层路由器的下层路由信息,通过初始路由器根据输入端口仲裁结果,将下层路由信息以及访问请求发送至下层路由器,如果确定下层路由器为访问请求对应的目标路由器,则通过下层路由器根据下层路由信息进行输入端口仲裁,并根据输入端口仲裁结果将访问请求发送至目标Slave节点的技术手段,可以减少Master节点对Slave节点的访问耗时,提高访问效率。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是根据本发明实施例提供的一种路由信息确定方法的流程图;
图1b是根据本发明实施例提供的一种路由器的结构示意图;
图1c是根据本发明实施例提供的一种片上网络的结构示意图;
图2是根据本发明实施例提供的另一种路由信息确定方法的流程图;
图3是根据本发明实施例提供的另一种路由信息确定方法的流程图;
图4是根据本发明实施例提供的一种路由信息确定装置的结构示意图;
图5是实现本发明实施例的路由信息确定方法的芯片结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1a为本发明实施例一提供的一种路由信息确定方法的流程图,本实施例可适用于芯片中路由器确定路由信息的情况,该方法可以由路由信息确定装置来执行,该路由信息确定装置可以采用硬件和/或软件的形式实现,该路由信息确定装置可配置于芯片中,所述芯片中各路由器之间通过片上网络进行连接。如图1a所示,该方法包括:
步骤110、通过初始路由器的目标输入端口,接收Master节点触发的访问请求,以及所述初始路由器对应的初始路由信息。
在本实施例中,片上网络可以连接多个Master节点和Slave节点。如果某个Master节点触发了对目标Slave节点的访问请求,则可以将该Master节点对应的路由器作为初始路由器,并通过所述Master节点确定所述初始路由器对应的路由信息(也即初始路由信息)。所述目标输入端口可以为所述Master节点与初始路由器之间的连接端口。
在一个具体的实施例中,图1b可以为本实施例中一种路由器的结构示意图。如图1b所示,每个路由器可以包括五个端口(端口0、端口1、端口2、端口3和端口4)。其中,端口0、端口1、端口2和端口3可以为路由器的输入或输出端口,端口4可以为路由器对应的本地端口,所述本地端口可以与路由器对应的Master节点或Slave节点连接。如果所述Master节点触发了对目标Slave节点的访问请求,则可以通过端口4将初始路由信息以及访问请求发送至初始路由器。
在本实施例中,可选的,Master节点可以根据初始路由器与目标Slave节点之间的路径信息,确定初始路由器的初始路由信息。所述初始路由信息中可以包括初始路由器到达目标Slave节点的输出端口信息。
步骤120、通过所述初始路由器,根据所述初始路由信息进行输入端口仲裁,并同时确定下层路由器对应的下层路由信息。
在本实施例中,如果路由器的输出端口同时接收到来自多个输入端口的请求,则需要对所述多个输入端口进行仲裁,以根据仲裁结果依次将各输入端口的请求传输至所述输出端口。
在此步骤中,初始路由器可以根据所述初始路由信息,对匹配的多个输入端口进行仲裁,并同时确定下层路由器对应的下层路由信息。其中,下层路由器可以为片上网络中访问请求所经过的下一路由器。所述下层路由信息中可以包括下层路由器到达目标Slave节点的输出端口信息。
步骤130、通过所述初始路由器根据输入端口仲裁结果,将所述下层路由信息以及访问请求,发送至下层路由器。
步骤140、如果确定下层路由器为访问请求对应的目标路由器,则通过所述下层路由器根据下层路由信息进行输入端口仲裁,并根据输入端口仲裁结果,将所述访问请求发送至目标Slave节点。
在本实施例中,目标路由器为目标Slave节点对应的路由器。如果下层路由器为目标路由器,则所述下层路由器可以直接根据下层路由信息,对匹配的多个输入端口进行仲裁,并根据仲裁结果将访问请求发送至目标Slave节点。
在一个具体的实施例中,以图1c中的片上网络为例,该片上网络中包括以下路由器:R0、R1、R2、R3、R4、R5、R6、R7、R8、R9、R10、R11、R12、R13、R14和R15。假设R5对应的Master节点(即M5)触发了对S9(也即R9对应的Slave节点)的访问请求,则可以将R5作为初始路由器,M5可以确定R5的初始路由信息为“输出端口2”,并将所述初始路由信息通过R5的端口4发送至R5。R5可以对输出端口2对应的多个输入端口进行仲裁,并同时确定下层路由器R9对应的下层路由信息为“输出端口4”。R5可以根据输入端口仲裁结果,将下层路由信息以及访问请求发送至R9。由于R9为目标路由器,则可以直接通过R9对输出端口4对应的多个输入端口进行仲裁,并根据仲裁结果将访问请求发送至S9。
在本实施例的一个实施方式中,在通过所述初始路由器根据输入端口仲裁结果,将所述下层路由信息以及访问请求,发送至下层路由器之后,还包括:如果确定下层路由器不是访问请求对应的目标路由器,则通过下层路由器,根据下层路由信息进行输入端口仲裁,并同时确定后续级联路由器对应的后续路由信息;通过下层路由器根据输入端口仲裁结果,将后续路由信息以及访问请求,发送至后续级联路由器;如果确定后续级联路由器为访问请求对应的目标路由器,则通过后续级联路由器根据后续路由信息进行输入端口仲裁,并根据输入端口仲裁结果,将所述访问请求发送至目标Slave节点。其中,后续级联路由器可以为片上网络中位于下层路由器之后的,访问请求所经过的下一路由器。
在一个具体的实施例中,以图1c中的片上网络为例,假设M5触发了对S13(也即R13对应的Slave节点)的访问请求,则可以将R5作为初始路由器,M5可以确定R5的初始路由信息为“输出端口2”,并将所述初始路由信息通过R5的端口4发送至R5。R5可以对输出端口2对应的多个输入端口进行仲裁,并同时确定下层路由器R9对应的下层路由信息为“输出端口2”。R5可以根据输入端口仲裁结果,将下层路由信息以及访问请求发送至R9。由于R9不是目标路由器,因此R9需要对输出端口2对应的多个输入端口进行仲裁,并确定后续级联路由器R13对应的后续路由信息为“输出端口4”。由于R13为目标路由器,则可以直接通过R13对输出端口4对应的多个输入端口进行仲裁,并根据仲裁结果将访问请求发送至S13。
在一个具体的实施方式中,如果所述后续级联路由器不是目标路由器,则可以通过后续级联服务器重复执行步骤120-140的操作,直至确定最终的目标路由器,并通过目标路由器根据对应的路由信息进行输入端口仲裁,然后根据输入端口仲裁结果,将访问请求发送至目标Slave节点。
示例性地,以图1c中的片上网络为例,假设M5触发了对S11(也即R11对应的Slave节点)的访问请求,现有技术中芯片需要执行以下过程“R5确定本地路由信息-R5进行输入端口仲裁-R6确定本地路由信息-R6进行输入端口仲裁-R7确定本地路由信息-R7进行输入端口仲裁-R11确定本地路由信息-R11进行输入端口仲裁”。相区别的,本实施例中通过上一路由器确定下一路由器的路由信息,可以实现路由器对路由信息确定过程以及端口仲裁过程并行执行,也即,通过本实施例的技术方案,芯片仅需执行下述过程“R5确定R6路由信息并进行输入端口仲裁-R6确定R7路由信息并进行输入端口仲裁-R7确定R11路由信息并进行输入端口仲裁-R11进行输入端口仲裁”,由此可以减少Master节点对Slave节点的访问耗时,提高访问效率。
本发明实施例提供的技术方案,通过初始路由器的目标输入端口,接收Master节点触发的访问请求以及初始路由信息,通过初始路由器根据初始路由信息进行输入端口仲裁,并同时确定下层路由器的下层路由信息,通过初始路由器根据输入端口仲裁结果,将下层路由信息以及访问请求发送至下层路由器,如果确定下层路由器为访问请求对应的目标路由器,则通过下层路由器根据下层路由信息进行输入端口仲裁,并根据输入端口仲裁结果将访问请求发送至目标Slave节点的技术手段,可以减少Master节点对Slave节点的访问耗时,提高访问效率。
图2为本发明实施例二提供的一种路由信息确定方法的流程图,本实施例是对上述实施例的进一步细化。如图2所示,该方法包括:
步骤210、通过初始路由器的目标输入端口,接收Master节点触发的访问请求,以及所述初始路由器对应的初始路由信息。
步骤220、通过所述初始路由器,根据所述初始路由信息确定目标输出端口,并获取所述目标输出端口对应的多个输入端口。
在此步骤中,初始路由器可以根据初始路由信息中指定的输出端口信息,确定目标输出端口,并获取向目标输出端口发出请求的多个输入端口。
步骤230、通过所述初始路由器,对所述多个输入端口进行仲裁,得到与各所述输入端口分别对应的执行顺序,并同时确定下层路由器对应的下层路由信息。
在本实施例中,可选的,初始路由器可以根据各输入端口对应的预设权重对各输入端口进行仲裁,得到与各输入端口分别对应的执行顺序。其中,输入端口对应的权重越高,执行顺序越优先。具体的,初始路由器可以通过预设的输出端口仲裁模块,对各输入端口进行仲裁。
步骤240、通过所述初始路由器的目标输出端口,根据所述目标输入端口对应的执行顺序,将所述下层路由信息以及访问请求,发送至下层路由器。
这样设置的好处在于,可以避免初始路由器的目标输出端口发生拥堵,由此提高请求传输效率。
步骤250、如果确定下层路由器为访问请求对应的目标路由器,则通过所述下层路由器根据下层路由信息进行输入端口仲裁,并根据输入端口仲裁结果,将所述访问请求发送至目标Slave节点。
本发明实施例提供的技术方案,通过初始路由器的目标输入端口,接收Master节点触发的访问请求以及初始路由信息,通过初始路由器根据初始路由信息确定目标输出端口,并获取目标输出端口对应的多个输入端口,通过初始路由器对多个输入端口进行仲裁,得到与各输入端口分别对应的执行顺序,并同时确定下层路由器对应的下层路由信息,通过初始路由器的目标输出端口,根据目标输入端口对应的执行顺序,将下层路由信息以及访问请求发送至下层路由器,如果确定下层路由器为访问请求对应的目标路由器,则通过下层路由器根据下层路由信息进行输入端口仲裁,并根据输入端口仲裁结果将访问请求发送至目标Slave节点的技术手段,可以减少Master节点对Slave节点的访问耗时,提高访问效率。
图3为本发明实施例三提供的一种路由信息确定方法的流程图,本实施例是对上述实施例的进一步细化。如图3所示,该方法包括:
步骤310、通过初始路由器的目标输入端口,接收Master节点触发的访问请求,以及所述初始路由器对应的初始路由信息。
步骤320、通过初始路由器,根据初始路由信息进行输入端口仲裁,并同时根据访问请求对应的目标Slave节点,以及片上网络的组成结构,确定下层路由器以及目标路由器,根据下层路由器以及目标路由器对应的连接方式,确定下层路由器对应的下层路由信息。
在一个具体的实施例中,以图1c中的片上网络为例,假设M5触发了对S6(也即R6对应的Slave节点)的访问请求,则可以将R5作为初始路由器,M5可以确定R5的初始路由信息为“输出端口1”,并将所述初始路由信息通过R5的端口4发送至R5。R5可以对输出端口1对应的多个输入端口进行仲裁,同时根据S6以及片上网络组成结构,确定下层路由器为R6,目标路由器为R6,并确定下层路由器R6的下层路由信息为“输出端口4”。
步骤330、通过所述初始路由器根据输入端口仲裁结果,将所述下层路由信息以及访问请求,发送至下层路由器。
步骤340、如果确定下层路由器为访问请求对应的目标路由器,则通过所述下层路由器根据下层路由信息进行输入端口仲裁,并根据输入端口仲裁结果,将所述访问请求发送至目标Slave节点。
步骤350、通过所述目标Slave节点,确定目标路由器对应的目标路由信息,并将所述目标路由信息,以及访问请求对应的响应数据,发送至目标路由器。
在本实施例中,与请求传输过程类似,目标Slave节点在反馈响应数据时,可以确定目标路由器对应的目标路由信息。
步骤360、通过所述目标路由器,根据所述目标路由信息进行输入端口仲裁,并同时确定上层路由器对应的上层路由信息。
步骤370、通过所述目标路由器根据输入端口仲裁结果,将所述上层路由信息以及响应数据,发送至上层路由器。
步骤380、如果确定上层路由器为所述初始路由器,则通过所述上层路由器根据上层路由信息进行输入端口仲裁,并根据输入端口仲裁结果,将所述响应数据发送至所述Master节点。
这样设置的好处在于,在Master节点与Slave节点的交互过程中,通过上一路由器确定下一路由器的路由信息,可以实现路由器对路由信息确定过程以及端口仲裁过程并行执行,由此可以减少Master节点与Slave节点之间的交互耗时,提高交互效率。
本发明实施例提供的技术方案,通过初始路由器接收Master节点触发的访问请求以及初始路由信息,通过初始路由器进行输入端口仲裁并同时确定下层路由信息,通过初始路由器根据输入端口仲裁结果将下层路由信息以及访问请求发送至下层路由器,如果确定下层路由器为目标路由器,则通过下层路由器进行输入端口仲裁,并根据输入端口仲裁结果将访问请求发送至目标Slave节点,通过目标Slave节点将目标路由信息以及响应数据发送至目标路由器,通过目标路由器进行输入端口仲裁并同时确定上层路由信息,通过目标路由器根据输入端口仲裁结果将上层路由信息以及响应数据发送至上层路由器,如果确定上层路由器为初始路由器,则通过上层路由器进行输入端口仲裁,并根据输入端口仲裁结果将响应数据发送至Master节点的技术手段,可以减少Master节点与Slave节点之间的交互耗时,提高交互效率。
图4为本发明实施例四提供的一种路由信息确定装置的结构示意图,所述装置应用于芯片中,所述芯片中各路由器之间通过片上网络进行连接。如图4所示,该装置包括:请求接收模块410、信息确定模块420、信息发送模块430和请求发送模块440。
其中,请求接收模块410,用于通过初始路由器的目标输入端口,接收Master节点触发的访问请求,以及所述初始路由器对应的初始路由信息;
信息确定模块420,用于通过所述初始路由器,根据所述初始路由信息进行输入端口仲裁,并同时确定下层路由器对应的下层路由信息;
信息发送模块430,用于通过所述初始路由器根据输入端口仲裁结果,将所述下层路由信息以及访问请求,发送至下层路由器;
请求发送模块440,用于如果确定下层路由器为访问请求对应的目标路由器,则通过所述下层路由器根据下层路由信息进行输入端口仲裁,并根据输入端口仲裁结果,将所述访问请求发送至目标Slave节点。
本发明实施例提供的技术方案,通过初始路由器的目标输入端口,接收Master节点触发的访问请求以及初始路由信息,通过初始路由器根据初始路由信息进行输入端口仲裁,并同时确定下层路由器的下层路由信息,通过初始路由器根据输入端口仲裁结果,将下层路由信息以及访问请求发送至下层路由器,如果确定下层路由器为访问请求对应的目标路由器,则通过下层路由器根据下层路由信息进行输入端口仲裁,并根据输入端口仲裁结果将访问请求发送至目标Slave节点的技术手段,可以减少Master节点对Slave节点的访问耗时,提高访问效率。
在上述实施例的基础上,信息确定模块420包括:
输入端口获取单元,用于通过所述初始路由器,根据所述初始路由信息确定目标输出端口,并获取所述目标输出端口对应的多个输入端口;
顺序确定单元,用于通过所述初始路由器,对所述多个输入端口进行仲裁,得到与各所述输入端口分别对应的执行顺序;
目标路由器确定单元,用于通过所述初始路由器,根据所述访问请求对应的目标Slave节点,以及所述片上网络的组成结构,确定下层路由器以及目标路由器;
路由信息确定单元,用于通过所述初始路由器,根据所述下层路由器以及目标路由器对应的连接方式,确定下层路由器对应的下层路由信息。
信息发送模块430包括:
请求发送单元,用于通过所述初始路由器的目标输出端口,根据所述目标输入端口对应的执行顺序,将所述下层路由信息以及访问请求,发送至下层路由器;
后续信息确定单元,用于如果确定下层路由器不是访问请求对应的目标路由器,则通过所述下层路由器,根据所述下层路由信息进行输入端口仲裁,并同时确定后续级联路由器对应的后续路由信息;
后续信息发送单元,用于通过所述下层路由器根据输入端口仲裁结果,将所述后续路由信息以及访问请求,发送至后续级联路由器;
后续路由器执行单元,用于如果确定后续级联路由器为访问请求对应的目标路由器,则通过所述后续级联路由器根据后续路由信息进行输入端口仲裁,并根据输入端口仲裁结果,将所述访问请求发送至目标Slave节点。
所述路由信息确定装置还包括:
响应数据发送模块,用于通过所述目标Slave节点,确定目标路由器对应的目标路由信息,并将所述目标路由信息,以及访问请求对应的响应数据,发送至目标路由器;
上层信息确定模块,用于通过所述目标路由器,根据所述目标路由信息进行输入端口仲裁,并同时确定上层路由器对应的上层路由信息;
上层信息发送模块,用于通过所述目标路由器根据输入端口仲裁结果,将所述上层路由信息以及响应数据,发送至上层路由器;
初始路由器执行模块,用于如果确定上层路由器为所述初始路由器,则通过所述上层路由器根据上层路由信息进行输入端口仲裁,并根据输入端口仲裁结果,将所述响应数据发送至所述Master节点。
上述装置可执行本发明前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本发明实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的方法。
图5示出了可以用来实施本发明的实施例的芯片10的结构示意图。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图5所示,芯片10包括多个处理器核心11、多个计算加速核心12,以及至少一个与处理器核心11和计算加速核心12通信连接的存储器,如随机访问存储器(RAM)13、只读存储器(ROM)14等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器核心11可以根据存储在只读存储器(ROM)14中的计算机程序或者加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储芯片10操作所需的各种程序和数据。处理器核心11、计算加速核心12、RAM 13以及ROM 14通过总线15彼此相连。输入/输出(I/O)接口也连接在总线15上。
芯片10中的多个部件连接至I/O接口,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;以及通信单元18,例如网卡、调制解调器、无线通信收发机等。通信单元18允许芯片10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器核心11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器核心11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器核心11执行上文所描述的各个方法和处理,例如路由信息确定方法。
在一些实施例中,路由信息确定方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质。在一些实施例中,计算机程序的部分或者全部可以经由ROM 14和/或通信单元18而被载入和/或安装到芯片10上。当计算机程序加载到RAM 13并由处理器核心11执行时,可以执行上文描述的路由信息确定方法的一个或多个步骤。备选地,在其他实施例中,处理器核心11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行路由信息确定方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在芯片上实施此处描述的系统和技术,该芯片具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给芯片。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种路由信息确定方法,其特征在于,应用于芯片中,所述芯片中各路由器之间通过片上网络进行连接,所述方法包括:
通过初始路由器的目标输入端口,接收Master节点触发的访问请求,以及所述初始路由器对应的初始路由信息;
通过所述初始路由器,根据所述初始路由信息进行输入端口仲裁,并同时确定下层路由器对应的下层路由信息;
通过所述初始路由器根据输入端口仲裁结果,将所述下层路由信息以及访问请求,发送至下层路由器;
如果确定下层路由器为访问请求对应的目标路由器,则通过所述下层路由器根据下层路由信息进行输入端口仲裁,并根据输入端口仲裁结果,将所述访问请求发送至目标Slave节点。
2.根据权利要求1所述的方法,其特征在于,通过所述初始路由器,根据所述初始路由信息进行输入端口仲裁,包括:
通过所述初始路由器,根据所述初始路由信息确定目标输出端口,并获取所述目标输出端口对应的多个输入端口;
通过所述初始路由器,对所述多个输入端口进行仲裁,得到与各所述输入端口分别对应的执行顺序。
3.根据权利要求2所述的方法,其特征在于,通过所述初始路由器根据输入端口仲裁结果,将所述下层路由信息以及访问请求,发送至下层路由器,包括:
通过所述初始路由器的目标输出端口,根据所述目标输入端口对应的执行顺序,将所述下层路由信息以及访问请求,发送至下层路由器。
4.根据权利要求1所述的方法,其特征在于,确定下层路由器对应的下层路由信息,包括:
通过所述初始路由器,根据所述访问请求对应的目标Slave节点,以及所述片上网络的组成结构,确定下层路由器以及目标路由器;
通过所述初始路由器,根据所述下层路由器以及目标路由器对应的连接方式,确定下层路由器对应的下层路由信息。
5.根据权利要求1所述的方法,其特征在于,在通过所述初始路由器根据输入端口仲裁结果,将所述下层路由信息以及访问请求,发送至下层路由器之后,还包括:
如果确定下层路由器不是访问请求对应的目标路由器,则通过所述下层路由器,根据所述下层路由信息进行输入端口仲裁,并同时确定后续级联路由器对应的后续路由信息;
通过所述下层路由器根据输入端口仲裁结果,将所述后续路由信息以及访问请求,发送至后续级联路由器;
如果确定后续级联路由器为访问请求对应的目标路由器,则通过所述后续级联路由器根据后续路由信息进行输入端口仲裁,并根据输入端口仲裁结果,将所述访问请求发送至目标Slave节点。
6.根据权利要求1所述的方法,其特征在于,在将所述访问请求发送至目标Slave节点之后,还包括:
通过所述目标Slave节点,确定目标路由器对应的目标路由信息,并将所述目标路由信息,以及访问请求对应的响应数据,发送至目标路由器;
通过所述目标路由器,根据所述目标路由信息进行输入端口仲裁,并同时确定上层路由器对应的上层路由信息;
通过所述目标路由器根据输入端口仲裁结果,将所述上层路由信息以及响应数据,发送至上层路由器;
如果确定上层路由器为所述初始路由器,则通过所述上层路由器根据上层路由信息进行输入端口仲裁,并根据输入端口仲裁结果,将所述响应数据发送至所述Master节点。
7.一种路由信息确定装置,其特征在于,应用于芯片中,所述芯片中各路由器之间通过片上网络进行连接,所述装置包括:
请求接收模块,用于通过初始路由器的目标输入端口,接收Master节点触发的访问请求,以及所述初始路由器对应的初始路由信息;
信息确定模块,用于通过所述初始路由器,根据所述初始路由信息进行输入端口仲裁,并同时确定下层路由器对应的下层路由信息;
信息发送模块,用于通过所述初始路由器根据输入端口仲裁结果,将所述下层路由信息以及访问请求,发送至下层路由器;
请求发送模块,用于如果确定下层路由器为访问请求对应的目标路由器,则通过所述下层路由器根据下层路由信息进行输入端口仲裁,并根据输入端口仲裁结果,将所述访问请求发送至目标Slave节点。
8.根据权利要求7所述的装置,其特征在于,信息确定模块包括:
输入端口获取单元,用于通过所述初始路由器,根据所述初始路由信息确定目标输出端口,并获取所述目标输出端口对应的多个输入端口;
顺序确定单元,用于通过所述初始路由器,对所述多个输入端口进行仲裁,得到与各所述输入端口分别对应的执行顺序。
9.一种芯片,其特征在于,所述芯片包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的路由信息确定方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-6中任一项所述的路由信息确定方法。
CN202211573729.9A 2022-12-08 2022-12-08 一种路由信息确定方法、装置、芯片及存储介质 Pending CN116248574A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211573729.9A CN116248574A (zh) 2022-12-08 2022-12-08 一种路由信息确定方法、装置、芯片及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211573729.9A CN116248574A (zh) 2022-12-08 2022-12-08 一种路由信息确定方法、装置、芯片及存储介质

Publications (1)

Publication Number Publication Date
CN116248574A true CN116248574A (zh) 2023-06-09

Family

ID=86630295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211573729.9A Pending CN116248574A (zh) 2022-12-08 2022-12-08 一种路由信息确定方法、装置、芯片及存储介质

Country Status (1)

Country Link
CN (1) CN116248574A (zh)

Similar Documents

Publication Publication Date Title
CN113568860B (zh) 基于深度学习的多机集群拓扑映射方法、装置及程序产品
US8291092B2 (en) Managing IPMI sessions
CN114564435A (zh) 异构多核芯片的核间通信方法、装置及介质
CN117009283A (zh) 一种多核多芯片数据处理方法、装置、芯片及存储介质
CN116306408B (zh) 片上系统soc的验证环境确定方法、装置、设备和存储介质
CN116248574A (zh) 一种路由信息确定方法、装置、芯片及存储介质
CN116303141A (zh) 一种数据传输方法、装置、设备及介质
CN116567077A (zh) 裸金属指令发送方法、装置、设备及存储介质
CN116055386B (zh) 一种端口权重更新方法、装置、芯片及存储介质
CN116306407B (zh) 片上网络noc的验证方法、装置、设备和存储介质
CN112134814A (zh) 一种板级互联网络结构及通信方法
CN117076720B (zh) 一种嵌入表访问方法、装置、电子设备及存储介质
CN116700996B (zh) 一种神经网络的内存分配方法、装置、设备及介质
CN116489110A (zh) 一种路由数据包校验方法、装置、芯片及存储介质
CN116166605B (zh) 数据混合传输方法、装置、dma控制器、介质及系统
CN117130970A (zh) 一种多芯片数据传输方法、装置、芯片及存储介质
CN114466079B (zh) 请求处理方法、装置、代理服务器及存储介质
CN114553894B (zh) 数据同步方法、装置、系统及存储介质
CN117632167A (zh) 基于PCIe总线的FPGA并行升级方法、装置、设备和介质
CN117370264A (zh) 一种芯片内裸片之间的互联系统、方法、装置及介质
CN116599896A (zh) 片上网络noc验证中的多通道通信方法、装置和设备
CN117573170A (zh) 一种cpld更新方法、装置、电子设备及存储介质
CN116991789A (zh) 一种系统总线互联验证方法、装置、芯片及存储介质
CN117033271A (zh) 基于累加传输的中断触发方法、装置、芯片及存储介质
CN116974957A (zh) 系统保护电路、芯片系统、复位方法、设备及存储介质

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
CB02 Change of applicant information

Country or region after: China

Address after: Room a-522, 188 Yesheng Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201306

Applicant after: Shanghai Suiyuan Technology Co.,Ltd.

Address before: Room a-522, 188 Yesheng Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201306

Applicant before: SHANGHAI ENFLAME TECHNOLOGY Co.,Ltd.

Country or region before: China

CB02 Change of applicant information