CN116821044A - 处理系统、访存方法及计算机可读存储介质 - Google Patents

处理系统、访存方法及计算机可读存储介质 Download PDF

Info

Publication number
CN116821044A
CN116821044A CN202311033870.4A CN202311033870A CN116821044A CN 116821044 A CN116821044 A CN 116821044A CN 202311033870 A CN202311033870 A CN 202311033870A CN 116821044 A CN116821044 A CN 116821044A
Authority
CN
China
Prior art keywords
node
mesh network
network
nodes
edge
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.)
Granted
Application number
CN202311033870.4A
Other languages
English (en)
Other versions
CN116821044B (zh
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.)
Phytium Technology Co Ltd
Original Assignee
Phytium 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 Phytium Technology Co Ltd filed Critical Phytium Technology Co Ltd
Priority to CN202311033870.4A priority Critical patent/CN116821044B/zh
Publication of CN116821044A publication Critical patent/CN116821044A/zh
Application granted granted Critical
Publication of CN116821044B publication Critical patent/CN116821044B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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)
  • 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

本申请提供了一种处理系统、访存方法及计算机可读存储介质,处理系统包括:片上网络,片上网络为网格网络,网格网络包括边缘节点以及中间节点,且中间节点位于网格网络的边缘处;内存单元,位于网格网络的边缘处,且与中间节点相连,其中,网格网络的第一拓扑关系与网格网络的第二拓扑关系相同,第一拓扑关系为中间节点位于网格网络的边缘处时网格网络的拓扑关系,第二拓扑关系为中间节点位于网格网络的中间位置时网格网络的拓扑关系。本申请通过将内存单元连接在网格网络的中间节点,且将连接有内存单元的中间节点设置于网格网络的边缘处,有助于减小网格网络中不同的节点的访存延迟差异的同时,简化网格网络的布线。

Description

处理系统、访存方法及计算机可读存储介质
技术领域
本申请涉及信息技术领域,具体涉及一种处理系统、访存方法及计算机可读存储介质。
背景技术
片上网络(network on chip,NOC)是一种基于片上系统(system on chip,SOC)的互连结构,使用类似于计算机网络的通信方式来连接处理系统内的不同处理器核心、内存单元、输入输出接口等模块。其中,片上网络的拓扑关系可以是网格(mesh)网络。
目前,为了简化内存单元与网格网络中节点的连接方式,内存单元位于网格网络的边缘位置,且与网格网络中的边缘节点相连。然而,这种设置方式导致网格网络中不同的节点访问内存单元(简称“访存”)时,访存延迟的差异较大。
发明内容
本申请实施例致力于提供一种处理系统、访存方法及存储介质,有助于减小网格网络中不同的节点的访存延迟差异。
第一方面,提供一种处理系统,包括:片上网络,片上网络为网格网络,网格网络包括边缘节点以及中间节点,且中间节点位于网格网络的边缘处;内存单元,位于网格网络的边缘处,且与中间节点相连。
作为一种可能的实现方式,中间节点位于网格网络的角落位置。
作为一种可能的实现方式,网格网络包括第一角落位置和第二角落位置,中间节点包括第一中间节点和第二中间节点,第一中间节点位于第一角落位置,第二中间节点位于第二角落位置,且第一中间节点和第二中间节点直接连接。
作为一种可能的实现方式,网格网络为4×4的网格网络,4×4的网格网络包括4个角落位置,中间节点包括4个中间节点,分别位于4个角落位置。
作为一种可能的实现方式,边缘节点中的至少部分节点位于网格网络的中间位置。
第二方面,提供了一种访存方法,访存方法应用于处理系统,包括:片上网络,片上网络为网格网络,网格网络包括边缘节点以及中间节点,且中间节点位于网格网络的边缘处;内存单元,位于网格网络的边缘处,且与中间节点相连;访存方法包括:生成访存指令;通过片上网络向内存单元发送访存指令。
作为一种可能的实现方式,中间节点位于网格网络的角落位置。
作为一种可能的实现方式,网格网络包括第一角落位置和第二角落位置,中间节点包括第一中间节点和第二中间节点,第一中间节点位于第一角落位置,第二中间节点位于第二角落位置,且第一中间节点和第二中间节点直接连接。
作为一种可能的实现方式,网格网络为4×4的网格网络,4×4的网格网络包括4个角落位置,中间节点包括4个中间节点,分别位于4个角落位置。
作为一种可能的实现方式,边缘节点中的至少部分节点位于网格网络的中间位置。
第三方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机执行第二方面中任一种可能的实现方式的方法。
第四方面,提供了一种计算机可读存储介质,计算机可读介质存储有程序代码,当计算机程序代码在计算机上运行时,使得计算机执行第二方面中任一种可能的实现方式的方法。
传统的网格网络中,由于内存单元需要外接内存条,所以通常将内存单元与网格网络的边缘节点相连。这样便于引出外接的接口,可以使网格网络的布线更加简单。但这样设计可能导致某一个节点访存的路径相较于其他节点的访存的路径差距过大,导致网格网络中不同节点的访存延迟差异较大。本申请通过将内存单元连接在网格网络的中间节点,且将连接有内存单元的中间节点设置于网格网络的边缘处,有助于减小网格网络中不同的节点的访存延迟差异的同时,简化网格网络的布线。
另一方面,网格网络的第一拓扑关系与网格网络的第二拓扑关系相同,有助于减少网格网络对应的路由策略的改进,提高本申请实施例的网格网络的兼容性。
附图说明
图1是传统技术中二维网格网络的示意性结构图。
图2是传统技术中一种4×4网格网络的示意性结构图。
图3是图2所示的4×4网格网络的示意性结构图。
图4是本申请实施例提供的一种4×4网格网络示意性结构图。
图5是本申请实施例提供的另一种4×4网格网络示意性结构图。
图6是本申请实施例提供的又一种4×4网格网络示意性结构图。
图7(a)是传统技术中一种6×6网格网络示意性结构图。
图7(b)是本申请实施例提供的一种6×6网格网络示意性结构图。
图8是本申请实施例提供的一种处理系统的示意性框图。
图9是本申请实施例提供的一种访存方法示意性流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
本申请的实施例可应用于在NOC上访问内存单元的场景。为了便于理解,先对本申请提及的NOC及其相连的功能模块进行介绍。
NOC是一种基于片上系统的互连结构,使用类似于计算机网络的通信方式来相连芯片内的不同处理器核心、内存单元、输入/输出接口等功能模块。NOC的主要目的是提供高效的通信和数据传输,从而实现芯片内部的快速、可靠和灵活的通信。
内存单元是指在芯片内部集成的用于存储网络连接信息的存储器单元。内存单元可以由静态随机存取存储器实现,用于存储网络连接所需的各种信息,如源地址、目的地址、传输层协议类型、端口号、状态等。内存单元可以分为两类:控制平面内存和数据平面内存。控制平面内存用于存储路由表、转发表、缓存等控制平面的信息,而数据平面内存用于存储数据包、缓存、队列等数据平面的信息。
输入/输出接口可以包括以下几个部分:物理层接口(port physical layer,PHY)、介质访问控制(media access control,MAC)接口、外设接口、控制接口。其中,PHY接口是片上网络连接的物理层接口,它负责将数据从网络层转换为物理信号,并将物理信号转换为数据。PHY接口包括传输介质(如网线)的连接接口和PHY芯片的控制接口,它们通常使用标准的物理层协议(如以太网协议)进行通信。MAC接口是片上网络连接的数据链路层接口,它负责处理数据包的发送和接收、数据包的封装和解封装、数据包的重传等操作。MAC接口通常与PHY接口紧密结合,共同构成数据链路层的硬件实现。外设接口是片上网络连接的与外部设备连接的接口,它可以连接各种外部设备。控制接口是片上网络连接的控制信号接口,它负责控制各个接口的工作状态,并向外部设备发送控制信号。
NOC旨在将宏观网络的通讯措施应用于芯片上,每个处理器核心当做一个独立的单元。图1所示为一个4×4的二维网格网络100。其中N为节点,IN为接口,IP为处理器核心,M为内存单元。处理器核心IP通过接口IN与片上网络的节点N相连,内存单元M同样可以通过接口IN连接在节点上。由此,将处理器核心之间或者处理器核心与内存单元的通信转化为节点之间的通信。
NOC网络可以采用的拓扑关系包括规则拓扑关系和不规则拓扑关系。其中,规则拓扑可以包括网格网络、二维环面、八边形、超立方、蜂窝式、树形和蝶形等拓扑关系。
以NOC为网格网络为例,该种拓扑关系具有多种优势。一方面,网格网络具有良好的可扩展性,可以轻松地增加或减少节点数目,同时还可以通过添加更多的层来增加可用带宽。另一方面,网格网络提供了多条路径来传输数据,这些路径可以同时工作以提供更高的带宽和更快的数据传输速度。再一方面,网格网络中的节点数量较少,因此在进行通信时,信号传输的距离相对较短,从而可以实现较低的传输延迟。再一方面,网格网络的节点数量较少,因此在进行通信时,需要消耗较少的功率,从而可以实现较低的功耗。再一方面,网格网络结构简单、易于实现,同时还可以通过标准接口来实现不同模块之间的互连。
在现代芯片设计中,网格网络结构已成为一种常见的片上网络拓扑关系,被广泛用于嵌入式系统、数字信号处理器、图像处理器、多核处理器等领域。
为了进一步理解NOC网格网络,下文以4×4网格网络为例,结合图2介绍传统的NOC网格网络访问内存单元的过程。需要说明的是,为了便于描述,在图2所示的网格网络200中按照从左到右的顺序对各个节点编号进行顺序编号。参见图2所示,网格网络200第一行中的节点对应的编号依次为节点1、节点2、节点3以及节点4。网格网络200第二行中的节点对应的编号依次为节点5、节点6、节点7以及节点8。网格网络200第三行中的节点对应的编号依次为节点9、节点10、节点11以及节点12。网格网络200第四行中的节点对应的编号依次为节点13、节点14、节点15以及节点16。
网格网络可以包括中间节点和边缘节点。中间节点是指位于网格网络中间位置的节点,中间节点可以与其他节点相连。在一些实现方式中,在上、下、左、右方向上中间节点可以与网格网络中的其他节点相连。例如,参见图2所示,中间节点可以包括节点6、节点7、节点10、节点11。以节点6为例进行说明,其在上、下、左、右方向分别与节点2、节点5、节点7以及节点10连接,其中,节点2、节点5、节点7以及节点10均为网格网络200中的节点。
边缘节点是指位于网格网络边缘位置的节点。边缘节点可以用于与网格网络之外的其他节点相连。在一些实现方式中,在上、下、左、右4个方向中的至少一个方向上,中间节点可以用于与网格网络外的其他节点相连。或者说,每个边缘节点并非在4个方向上与网格网络内的四个节点都连接。在一些实现方式中,每个边缘节点可以与周围的两个或者三个节点相连。例如,参见图2所示,节点1-节点4、节点5、节点8、节点9、节点12、节点13-节点16为边缘节点。以节点2为例进行说明,其在下、左、右方向分别与节点6、节点1以及节点3连接。
在一些场景中,内存单元M需要通过接口外接内存条。参见图2,可以将内存单元M通过接口IN连接在网格网络200的节点8处。由于节点8属于边缘节点,通过将内存单元M连接于边缘节点处,这样便于引出外接的接口,以使整个网格网络200的布线更加简单。
继续参见图2,内存单元M可以与节点8相连。在整个网格网络200中,节点13访问内存单元M的路径最长,可以表示为节点13→节点9→节点5→节点6→节点7→节点8,该路径对应的最小跳数为5。节点7访问内存单元M的路径最短,相应的路径可以是节点7→节点8,该路径对应的最小跳数为1。相应地,上述两条路径之间的跳数差值为4。由于节点访问内存单元M的路径越长,延迟越长,路径越短,延迟越短。所以节点13相较于节点7访问内存单元M的延迟差异可能会比较大。
因此,为了减少网格网络中不同节点访问内存单元的延迟差异,申请人提出可以将内存单元M与网格网络的中间节点相连。下文结合图3以中间节点为节点7为例进行介绍。参见图3,在网格网络300中,节点13访问内存单元M的路径最长,可以表示为节点13→节点9→节点10→节点11→节点7,该路径对应的最小跳数为4。节点6访问内存单元M的路径最短,相应的路径可以表示为节点6→节点7,该路径对应的最小跳数为1。相应地,上述两条路径之间的跳数差值为3。由此可知,在上文图2中将内存单元M连接在节点8处时两条路径之间的跳数差值为4,而在图3中,将内存单元M连接在节点7处时两条路径之间的跳数差值为3。所以将内存单元M连接在中间节点处,有助于减少不同节点间访问内存单元M的延迟差异。
然而,基于图3所示的网格网络300以及内存单元M之间的连接关系,可以看出,虽然将内存单元与网格网络300的中间节点相连,有助于减少网格网络300中不同节点访问内存单元的访存延时差异。但是,这种连接方式需要从网格网络300的内部引出连接线来连接内存单元,可能会增加网格网络300中布线的复杂度。
因此,针对上述问题,本申请实施例还提供了一种处理系统,该处理系统包括网格网络以及内存单元,其中,将网格网络的中间节点设置于网格网络的边缘位置,有助于简化中间节点与内存单元相连时布线的复杂度。
为了便于理解,下文结合图4介绍本申请实施例提供的处理系统。图4是本申请实施例提供的一种4×4网格网络示意性结构图。本申请实施例提供的处理系统包括片上网络和内存单元。
片上网络为网格网络,包括边缘节点和中间节点。中间节点可以位于网格网络的边缘处。例如,参见图4所示,节点6为中间节点,位于网格网络400的边缘位置。
内存单元设置在网格网络的边缘处,并且与中间节点相连。例如,参见图4所示,内存单元M与中间节点6连接,且内存单元M位于网格网络400的边缘处。边缘节点和中间节点可以向内存单元访问信息。
在一些实现方式中,网格网络的第一拓扑关系与网格网络的第二拓扑关系相同。其中,第一拓扑关系为中间节点位于网格网络的边缘处时网格网络的拓扑关系,第二拓扑关系为中间节点位于网格网络的中间位置时网格网络的拓扑关系,这样有助于减少网格网络对应的路由策略的改进,提高本申请实施例的网格网络的兼容性。
例如,参见图2以及图4所示,图2示出了中间节点位于网格网络的中间位置时网格网络对应的网络拓扑关系(即第二拓扑关系),图4示出了中间节点位于网格网络的边缘位置时网格网络对应的网络拓扑关系(即第一拓扑关系)。相应地,虽然图4所示的网络拓扑关系中将网格网络的之间节点设置在网格网络的边缘位置,但是图4所示的网格网络的拓扑关系与图2所示的网格网络的拓扑关系相同。
也即是说,针对中间节点6而言,在图2所示的网格网络200的拓扑关系中,中间节点6与网格网络200中的节点2、节点5、节点7以及节点10分别相连。在图4所示的网格网络400的拓扑关系中,中间节点6位于边缘位置后,仍然与网格网络400中的节点2、节点5、节点7以及节点10分别相连。
针对中间节点7而言,在图2所示的网格网络200的拓扑关系中,中间节点7与网格网络200中的节点3、节点6、节点8以及节点11分别相连。在图4所示的网格网络400的拓扑关系中,中间节点7位于边缘位置后,仍然与网格网络400中的节点3、节点6、节点8以及节点11分别相连。
针对中间节点10而言,在图2所示的网格网络200的拓扑关系中,中间节点10与网格网络200中的节点6、节点9、节点11以及节点14分别相连。在图4所示的网格网络400的拓扑关系中,中间节点10位于边缘位置后,仍然与网格网络400中的节点6、节点9、节点11以及节点14分别相连。
针对中间节点11而言,在图2所示的网格网络200的拓扑关系中,中间节点11与网格网络200中的节点7、节点10、节点12以及节点15分别相连。在图4所示的网格网络400的拓扑关系中,中间节点11位于边缘位置后,仍然与网格网络400中的节点7、节点10、节点12以及节点15分别相连。
因此,基于上文的介绍可以看出,图2所示的网格网络200的拓扑关系与图4所示的网格网络400的拓扑关系相同。
如上文介绍,网格网络的中间节点可以位于网格网络的边缘位置,本申请实施例对此不作具体限定。在一些实现方式中,中间节点可以位于网格网络的角落位置。例如,中间节点可以与角落位置的节点互换。参见图4所示,中间节点6可以设置在网格网络400的左上角,相应地,中间节点6可以与边缘节点1的位置互换。在另一些实现方式中,中间节点可以位于网格网络的非角落位置。例如,中间节点可以与非角落位置的节点互换。参见图5所示,中间节点7可以设置在网格网络500边缘的非角落位置,相应地,中间节点7可以与边缘节点8的位置互换。
在一些场景中,网格网络可以包括多个中间节点,相应地,多个中间节点中的全部中间节点可以设置在网格网络的角落位置。以网格网络为4×4的网格网络为例,4×4的网格网络包括4个角落位置,中间节点包括4个中间节点,分别位于4个角落位置。
参见图4,网格网络400的中间节点包括节点6、节点7、节点10以及节点11。网格网络400包括4个角落位置:左上角、右上角、左下角以及右下角。相应地,可以将节点6设置在左上角,将节点7设置在右上角,将节点10设置在左下角,将节点11设置在右下角。
当然,在本申请实施例中,多个中间节点中的部分中间节点可以设置在网格网络中非角落的边缘位置。参见图2所示,网格网络中非角落的边缘位置可以包括节点5对应的边缘位置、节点9对应的边缘位置、节点2对应的边缘位置、节点3对应的边缘位置、节点8对应的边缘位置、节点12对应的边缘位置、节点14对应的边缘位置以及节点15对应的边缘位置。
下文结合图5,以非角落的边缘位置包括节点5对应的边缘位置以及节点8对应的边缘位置为例进行介绍。参见图5所示,网格网络500的中间节点包括节点6、节点7。网格网络500非角落的边缘位置包括节点5对应的边缘位置以及节点8对应的边缘位置。此时,可以将节点6设置在节点5对应的边缘位置,将节点7设置在节点8对应的边缘位置。
在一些实现方式中,若网格网络中的多个中间节点分别设置在网格网络的角落位置,则相邻的两个角落位置上的中间节点之间直接连接。以网格网络包含的第一角落位置和第二角落位置为例,中间节点可以包括第一中间节点和第二中间节点,相应地,第一中间节点位于第一角落位置,第二中间节点位于第二角落位置,且第一中间节点和第二中间节点直接连接,有助于减少第一中间节点和第二中间节点之间传输访存指令所需的跳数。
需要说明的是,上述相邻的两个角落位置可以理解为两个角落位置之间不间隔其他角落位置,但是相邻的两个角落位置之间可能间隔或不间隔其他边缘节点。参见图4所示,节点6所在的角落位置为第一角落位置,节点7所在的角落位置为第二角落位置,相应地,节点6所在的角落位置与节点7所在的角落位置之间不间隔其他角落位置,但是节点6所在的角落位置与节点7所在的角落位置之间间隔节点2以及节点3。此时,节点6所在的角落位置与节点7所在的角落位置相邻。
另外,上述第一中间节点与第二中间节点可以是网格网络中的某两个中间节点。当然,在本申请实施例中,上述第一中间节点与第二中间节点可以是网格网络中的任意两个中间节点。其中,若上述第一中间节点与第二中间节点可以是网格网络中的任意两个中间节点,则可以理解为,网格网络中的全部中间节点位于角落位置后,相邻角落位置之间的中间节点可以直接相连。为了便于理解,下文结合图6进行介绍。
参见图6所示,假设第一角落位置位于网格网络600的左上角,第二角落位置位于网格网络600的右上角,第一中间节点包括节点6,第二中间节点包括节点7。此时,节点6可以设置于网格网络600的左上角(即第一角落位置),节点7可以设置于网格网络600的右上角(即第二角落位置),并且节点6与节点7之间可以直接相连。
继续参见图4,网格网络400包括4个中间节点:节点6、节点7、节点10、节点11。网格网络400中除中间节点之外的其余节点为边缘节点。其中,中间节点分别位于网格网络400的4个角落位置,即节点6位于网格网络400的左上角,节点7位于网格网络400的右上角,节点10位于网格网络400的左下角,节点11位于网格网络400的右下角。并且,节点6与节点7之间可以直接相连,节点7与节点11之间可以直接相连,节点11与节点10之间可以直接相连,节点10与节点6之间可以直接相连,也即是说,网格网络400中任意两个相邻的角落位置上的中间节点直接相连。
为了便于理解,下文结合图2、图4以及图6,介绍本申请实施例的处理系统。
参见图2所示,网格网络200包括4个中间节点:节点6、节点7、节点10以及节点11。网格网络200包括4个角落位置:左上角、右上角、左下角以及右下角。并且,左上角设置有边缘节点1,右上角设置有边缘节点4,左下角设置有边缘节点13,右下角设置有边缘节点16。
相应地,为了减少网格网络中不同节点访问内存单元M之间的延时差异,参见图4所示,可以将4个中间节点与4个角落位置上的边缘节点的位置互换。即,将节点6与节点1的位置互换,将节点6设置于网格网络400的左上角,相应地,将节点1设置在节点6对应的中间位置。将节点7与节点4的位置互换,将节点7设置于网格网络400的右上角,相应地,将节点4设置在节点7对应的中间位置。将节点10与节点13的位置互换,将节点10设置于网格网络400的左下角,相应地,将节点13设置在节点10对应的中间位置。将节点11与节点16的位置互换,将节点11设置于网格网络400的右下角,相应地,将节点16设置在节点11对应的中间位置。
继续参见图4所示,内存单元M可以与节点6相连(通过接口IN连接),如此,在整个网格网络400中,节点16访问内存单元M的路径最长,可以表示为节点16→节点12→节点8→节点7→节点6,该路径对应的最小跳数为4。在整个网格网络400中,节点2访问内存单元M的路径最短,可以表示为节点2→节点6,该路径对应的最小跳数为1。相应地,上述两条路径之间的跳数差值为3。相比于图2所示的传统网格网络200对应的跳数差值4跳,有助于减小网格网络中最长访问路径与最短访问路径之间的跳数差值,相应地,有助于减少网格网络中不同节点访问内存单元的延时差异。
本申请实施例对网格网络的元数不作具体限定。例如,可以是上文中的4×4的网格网络。在一些实现方式中,也可以是6×6网格网络。
例如,参见图7(a)所示,网格网络700包括16个中间节点:节点8、节点9、节点10、节点11、节点14、节点15、节点16、节点17、节点20、节点21、节点22、节点23、节点26、节点27、节点28、节点29。网格网络700包括4个角落位置:左上角、右上角、左下角以及右下角。并且,左上角设置有边缘节点1,右上角设置有边缘节点6,左下角设置有边缘节点31,右下角设置有边缘节点36。内存单元M可以与节点6相连。在整个网格网络700中,节点31访问内存单元M的路径最长,可以表示为节点31→节点32→节点33→节点34→节点35→节点36→节点30→节点24→节点18→节点12→节点6,该路径对应的最小跳数为10。节点5访问内存单元M的路径最短,相应的路径可以是节点5→节点6,该路径对应的最小跳数为1。相应地,上述两条路径之间的跳数差值为9。
相应地,为了减少网格网络中不同节点访问内存单元M之间的延时差异,参见图7(b)所示,可以将节点15、节点16、节点21、节点22分别与4个角落位置上的边缘节点的位置互换。即,将节点15与节点1的位置互换,将节点15设置于网格网络800的左上角,相应地,将节点1设置在节点15对应的中间位置。将节点16与节点6的位置互换,将节点16设置于网格网络800的右上角,相应地,将节点6设置在节点16对应的中间位置。将节点21与节点31的位置互换,将节点21设置于网格网络800的左下角,相应地,将节点31设置在节点21对应的中间位置。将节点22与节点36的位置互换,将节点22设置于网格网络800的右下角,相应地,将节点36设置在节点22对应的中间位置。
继续参见图7(b)所示,内存单元M可以与节点16相连(通过接口IN连接),如此,在整个网格网络800中,节点31访问内存单元M的路径最长,可以表示为节点31→节点32→节点33→节点34→节点28→节点22→节点16,该路径对应的最小跳数为6。在整个网格网络400中,节点15访问内存单元M的路径最短,可以表示为节点15→节点16,该路径对应的最小跳数为1。相应地,上述两条路径之间的跳数差值为5。相比于图7(a)所示的传统网格网络700对应的跳数差值9,有助于减小网格网络中最长访问路径与最短访问路径之间的跳数差值,相应地,有助于减少网格网络中不同节点访问内存单元的延时差异。
图8是本申请实施例提供的一种处理系统的示意性框图。图8所示的处理系统800可以包括:内存810、处理器核心820、输入/输出接口830。其中,内存810、处理器核心820、输入/输出接口830通过片上网络相连,该内存810用于存储指令,该处理器核心820用于执行该内存810存储的指令,以控制输入/输出接口830接收输入的数据和信息,输出操作结果等数据。应理解,在本申请实施例中,该处理器核心820可以采用通用的中央处理器核心(central processing unit,CPU)的核心,微处理器的核心,应用专用集成电路(application specific integrated circuit,ASIC)的核心,或者一个或多个集成电路的核心,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该内存810可以包括只读内存和随机存取内存,并向处理器核心820提供指令和数据。处理器核心820的一部分还可以包括非易失性随机存取内存。例如,处理器核心820还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器核心820中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的用于请求上行传输资源的方法可以直接体现为硬件处理器核心执行完成,或者用处理器核心中的硬件及软件模块组合执行完成。软件模块可以位于随机内存,闪存、只读内存,可编程只读内存或者电可擦写可编程内存、寄存器等本领域成熟的存储介质中。该存储介质位于内存810,处理器核心820读取内存810中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,本申请实施例中,该处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上文结合图1至图8,详细描述了本申请的装置实施例,下面结合图9,详细描述本申请的方法实施例。应理解,方法实施例适用于前文介绍的任一种装置实施例,因此,未详细描述的部分可以参见前面装置实施例。
图9是本申请实施例提供的一种访存方法示意性流程图。图9所示方法包括步骤S910-步骤S920。
在步骤S910中,生成访存指令。
在步骤S920中,通过片上网络向内存单元发送访存指令。
应理解,本申请实施例的方案可以适用于4×4的网格网络,也可以适用于6×6的网格网络。当然,也可以适用于4×6的网格网络,本申请对此不作限定。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信相连可以是通过一些接口,装置或单元的间接耦合或通信相连,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够读取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital video disc,DVD))或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (11)

1.一种处理系统,其特征在于,包括:
片上网络,所述片上网络为网格网络,所述网格网络包括边缘节点以及中间节点,且所述中间节点位于所述网格网络的边缘处;
内存单元,位于所述网格网络的边缘处,且与所述中间节点相连;
其中,所述网格网络的第一拓扑关系与所述网格网络的第二拓扑关系相同,所述第一拓扑关系为所述中间节点位于所述网格网络的边缘处时所述网格网络的拓扑关系,所述第二拓扑关系为所述中间节点位于所述网格网络的中间位置时所述网格网络的拓扑关系。
2.根据权利要求1所述的处理系统,其特征在于,所述中间节点位于所述网格网络的角落位置。
3.根据权利要求2所述的处理系统,其特征在于,所述网格网络包括第一角落位置和第二角落位置,所述中间节点包括第一中间节点和第二中间节点,所述第一中间节点位于所述第一角落位置,所述第二中间节点位于所述第二角落位置,且所述第一中间节点和所述第二中间节点直接连接。
4.根据权利要求1所述的处理系统,其特征在于,所述网格网络为4×4的网格网络,所述4×4的网格网络包括4个角落位置,所述中间节点包括4个中间节点,分别位于所述4个角落位置。
5.根据权利要求1所述的处理系统,其特征在于,所述边缘节点中的至少部分节点位于所述网格网络的中间位置。
6.一种访存方法,其特征在于,所述方法应用于处理系统,所述处理系统包括:
片上网络,所述片上网络为网格网络,所述网格网络包括边缘节点以及中间节点,且所述中间节点位于所述网格网络的边缘处;
内存单元,位于所述网格网络的边缘处,且与所述中间节点相连;
所述方法包括:
生成访存指令;
通过所述片上网络向所述内存单元发送所述访存指令。
7.根据权利要求6所述的访存方法,其特征在于,所述中间节点位于所述网格网络的角落位置。
8.根据权利要求7所述的访存方法,其特征在于,所述网格网络包括第一角落位置和第二角落位置,所述中间节点包括第一中间节点和第二中间节点,所述第一中间节点位于所述第一角落位置,所述第二中间节点位于所述第二角落位置,且所述第一中间节点和所述第二中间节点直接连接。
9.根据权利要求7所述的访存方法,其特征在于,所述网格网络为4×4的网格网络,所述4×4的网格网络包括4个角落位置,所述中间节点包括4个中间节点,分别位于所述4个角落位置。
10.根据权利要求6所述的访存方法,其特征在于,所述边缘节点中的至少部分节点位于所述网格网络的中间位置。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如权利要求6-10中任一项所述的方法。
CN202311033870.4A 2023-08-17 2023-08-17 处理系统、访存方法及计算机可读存储介质 Active CN116821044B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311033870.4A CN116821044B (zh) 2023-08-17 2023-08-17 处理系统、访存方法及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311033870.4A CN116821044B (zh) 2023-08-17 2023-08-17 处理系统、访存方法及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN116821044A true CN116821044A (zh) 2023-09-29
CN116821044B CN116821044B (zh) 2024-01-09

Family

ID=88120529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311033870.4A Active CN116821044B (zh) 2023-08-17 2023-08-17 处理系统、访存方法及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN116821044B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040081155A1 (en) * 2001-02-24 2004-04-29 Bhanot Gyan V Class network routing
US20080084889A1 (en) * 2006-10-06 2008-04-10 Charles Jens Archer Method and Apparatus for Routing Data in an Inter-Nodal Communications Lattice of a Massively Parallel Computer System by Dynamically Adjusting Local Routing Strategies
US20210344618A1 (en) * 2020-05-04 2021-11-04 The George Washington University Interconnection Network With Adaptable Router Lines For Chiplet-Based Manycore Architecture
WO2023124147A1 (zh) * 2021-12-27 2023-07-06 华为数字能源技术有限公司 一种功率模块的衬底设计方法、装置和终端设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040081155A1 (en) * 2001-02-24 2004-04-29 Bhanot Gyan V Class network routing
US20080084889A1 (en) * 2006-10-06 2008-04-10 Charles Jens Archer Method and Apparatus for Routing Data in an Inter-Nodal Communications Lattice of a Massively Parallel Computer System by Dynamically Adjusting Local Routing Strategies
US20210344618A1 (en) * 2020-05-04 2021-11-04 The George Washington University Interconnection Network With Adaptable Router Lines For Chiplet-Based Manycore Architecture
WO2023124147A1 (zh) * 2021-12-27 2023-07-06 华为数字能源技术有限公司 一种功率模块的衬底设计方法、装置和终端设备

Also Published As

Publication number Publication date
CN116821044B (zh) 2024-01-09

Similar Documents

Publication Publication Date Title
CN111104775B (zh) 一种片上网络拓扑结构及其实现方法
US7856551B2 (en) Dynamically discovering a system topology
US9253085B2 (en) Hierarchical asymmetric mesh with virtual routers
US8699953B2 (en) Low-latency interface-based networking
US20150003247A1 (en) Mechanism to control resource utilization with adaptive routing
US8169850B2 (en) Forming multiprocessor systems using dual processors
Shu et al. Direct Universal Access: Making Data Center Resources Available to {FPGA}
US20220206979A1 (en) Communications for field programmable gate array device
US7987313B2 (en) Circuit of on-chip network having four-node ring switch structure
US9117034B2 (en) Data processing apparatus, computation device, control method for data processing apparatus
US11983481B2 (en) Software-defined wafer-level switching system design method and apparatus
Fadakar Noghondar et al. A low-cost and latency bypass channel-based on-chip network
CN116383114B (zh) 芯片、芯片互联系统、数据传输方法、电子设备和介质
CN116915708A (zh) 路由数据包的方法、处理器及可读存储介质
CN116821044B (zh) 处理系统、访存方法及计算机可读存储介质
US8645557B2 (en) System of interconnections for external functional blocks on a chip provided with a single configurable communication protocol
JP2021507384A (ja) ニューラルネットワークプロセッサのためのオンチップ通信システム
WO2022178675A1 (zh) 一种互联系统、数据传输方法以及芯片
US9774498B2 (en) Hierarchical asymmetric mesh with virtual routers
JP2023508791A (ja) マルチビット量子フィードバック制御のための量子測定・制御システム
CN117135103B (zh) 片上网络的路由方法、装置、计算机设备及存储介质
WO2023246689A1 (zh) 计算系统及通信方法
US20230018349A1 (en) Device management method, apparatus, and computer system
TWI827034B (zh) 積體電路、資料處理裝置和方法
CN114844757B (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
GR01 Patent grant
GR01 Patent grant