CN116578523B - 片上网络系统及其控制方法 - Google Patents
片上网络系统及其控制方法 Download PDFInfo
- Publication number
- CN116578523B CN116578523B CN202310855961.XA CN202310855961A CN116578523B CN 116578523 B CN116578523 B CN 116578523B CN 202310855961 A CN202310855961 A CN 202310855961A CN 116578523 B CN116578523 B CN 116578523B
- Authority
- CN
- China
- Prior art keywords
- node
- cache
- nodes
- array
- network
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012545 processing Methods 0.000 claims abstract description 155
- 238000004891 communication Methods 0.000 claims abstract description 62
- 238000001693 membrane extraction with a sorbent interface Methods 0.000 claims description 36
- 230000005540 biological transmission Effects 0.000 claims description 17
- 230000003993 interaction Effects 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 claims description 3
- 230000015654 memory Effects 0.000 description 65
- 230000008569 process Effects 0.000 description 23
- 230000006399 behavior Effects 0.000 description 20
- 230000007246 mechanism Effects 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 10
- 229920002153 Hydroxypropyl cellulose Polymers 0.000 description 8
- 235000010977 hydroxypropyl cellulose Nutrition 0.000 description 8
- 230000010354 integration Effects 0.000 description 7
- 101710149624 Pectinesterase B Proteins 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000000149 penetrating effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 101000896024 Rattus norvegicus Enoyl-CoA delta isomerase 1, mitochondrial Proteins 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000007731 hot pressing Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17312—Routing techniques specific to parallel machines, e.g. wormhole, store and forward, shortest path problem congestion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17318—Parallel communications techniques, e.g. gather, scatter, reduce, roadcast, multicast, all to all
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17325—Synchronisation; Hardware support therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17381—Two dimensional, e.g. mesh, torus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System 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/781—On-chip cache; Off-chip memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System 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/7825—Globally asynchronous, locally synchronous, e.g. network on chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Networks & Wireless Communication (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本公开实施例公开了一种片上网络系统及其控制方法,包括:第一网络层和第二网络层;其中,第一网络层,包括:路由节点阵列、处理节点阵列和缓存一致性节点阵列,其中,路由节点阵列中的每一个路由节点分别与处理节点阵列中的对应的一个处理节点以及缓存一致性节点阵列中对应的一个缓存一致性节点连接;路由节点,用于转发处理节点的通信事务请求到缓存一致性节点或其他路由节点对应的缓存一致性节点;第二网络层,与第一网络层通过键合层连接,包括缓存节点阵列,缓存节点阵列中的缓存节点与缓存一致性节点阵列中的一个缓存一致性节点通过键合层中的键合触点连接;缓存一致性节点,用于响应于通信事务请求访问缓存节点。
Description
技术领域
本公开实施例涉及通信技术领域,尤其涉及一种片上网络系统及其控制方法。
背景技术
随着人工智能、数据中心、机器学习、高级建模、云端计算等技术的不断发展和普及,对于算力的需求成几何式增长,大算力需求需要更大集成度的集成电路来满足。
为应对此类高算力需求,提出一种高性能计算(High performance computing,HPC)架构。HPC包括多个并行处理单元(处理器)或者处理核心,HPC利用其并行体系架构协调各个处理单元之间的算力分布,将庞大的数据处理任务或者程序进程分发给各个处理单元进行协同处理,可在短时间内执行海量计算。随着HPC 应用领域的不断扩大,数据量和计算速度的不断提高,HPC需要比以往更强大的处理能力以及存储吞吐量,这要求HPC 除了提升CPU处理速度,对存储的访问速度和带宽有更高的要求。在搭建HPC时,传统的片上系统(System on Chip,SOC)因为其采用共享互连结构,其单一时钟引起时钟延迟等问题,使得总线的通信带宽出现瓶颈,限制SOC内处理单元的算力发挥。在集成多个处理单元的计算架构中,如何提高通信带宽、提高数据吞吐量成为亟待解决的问题。
发明内容
有鉴于此,本公开实施例提供一种片上网络系统及其控制方法。
根据本公开实施例的第一方面,提供一种片上网络系统,包括:
第一网络层和第二网络层;其中,
所述第一网络层,包括:路由节点阵列、处理节点阵列和缓存一致性节点阵列,其中,所述路由节点阵列中的每一个路由节点分别与所述处理节点阵列中的对应的一个处理节点以及所述缓存一致性节点阵列中对应的一个缓存一致性节点连接;所述路由节点,用于转发所述处理节点的通信事务请求到所述缓存一致性节点或其他路由节点对应的缓存一致性节点;
所述第二网络层,与所述第一网络层通过键合层连接,包括缓存节点阵列,所述缓存节点阵列中的缓存节点与所述缓存一致性节点阵列中的一个缓存一致性节点通过所述键合层中的键合触点连接;所述缓存一致性节点,用于响应于所述通信事务请求访问所述缓存节点。
在一些实施例中,所述缓存一致性节点包括缓存探听过滤器;所述缓存探听过滤器,用于响应于与所述缓存一致性节点对应的处理节点或其他处理节点的所述通信事务请求,根据缓存一致性MESI协议与所述缓存一致性节点对应的缓存节点进行数据交互。
在一些实施例中,所述路由节点阵列中的路由节点之间及所述缓存一致性节点阵列中的缓存一致性节点与所述缓存节点阵列中的缓存节点之间均采用一致性CHI协议总线进行数据传输。
在一些实施例中,所述路由节点阵列中的路由节点与所述处理节点中的处理节点通过网络接口耦接,所述网络接口执行CHI协议。
在一些实施例中,所述片上网络系统还包括:缓存控制节点阵列;所述缓存控制节点阵列中的每一个缓存控制节点与一个所述缓存一致性节点耦接;所述缓存控制节点接收所述缓存一致性节点的操作指令,对至少一个所述缓存节点进行操作。
在一些实施例中,所述缓存控制节点阵列位于所述第一网络层或第二网络层中。
在一些实施例中,在所述缓存控制节点阵列位于在所述第二网络层中时,所述缓存控制节点阵列中的每一个所述缓存控制节点与所述缓存节点阵列中的一个或多个所述缓存节点集成在一起。
在一些实施例中,所述缓存节点包括动态随机存储器。
在一些实施例中,所述第一网络层包括多个子网,所述子网包括:
多个相邻的所述路由节点;
与所述多个相邻的所述路由节点对应连接的多个处理节点及多个缓存一致性节点;
其中,所述缓存一致性节点,用于响应于所述多个处理节点中的至少一个处理节点的所述通信事务请求访问与所述多个缓存一致性节点对应键合连接的多个所述缓存节点中的至少一个缓存节点在一些实施例中,所述处理节点包括以下至少之一:中央处理器CPU、图形处理器GPU、神经网络处理器NPU。
在一些实施例中,所述片上网络系统还包括:
外存节点阵列,所述外存节点阵列中的每一个外存节点与一个或多个所述路由节点连接;所述处理节点与所述外存节点之间通过所述路由节点进行数据交互。
根据本公开实施例的第二方面,提供一种片上网络系统的控制方法,所述片上网络系统包括:第一网络层和第二网络层;其中,所述第一网络层包括:路由节点阵列、处理节点阵列和缓存一致性节点阵列;所述路由节点阵列中的每一个路由节点分别与所述处理节点阵列中的对应的一个处理节点以及所述缓存一致性节点阵列中对应的一个缓存一致性节点连接;所述第二网络层,与所述第一网络层通过键合层连接,包括缓存节点阵列,所述缓存节点阵列中的缓存节点与所述缓存一致性节点阵列中的一个缓存一致性节点通过所述键合层中的键合触点连接;所述控制方法包括:
使所述处理节点生成通信事务请求;
使所述路由节点将所述通信事务请求转发给所述到所述缓存一致性节点或其他路由节点对应的缓存一致性节点;
使所述缓存一致性节点响应于所述通信事务请求访问所述缓存节点。
在一些实施例中,所述缓存一致性节点包括缓存探听过滤器;所述控制方法包括:
使所述缓存探听过滤器响应于所述缓存一致性节点对应的处理节点或其他处理节点的所述通信事务请求,根据MESI协议与所述缓存一致性节点对应的缓存节点进行数据交互。
在一些实施例中,所述控制方法还包括:
将所述第一网络层划分多个子网;其中,所述子网包括:多个相邻的所述路由节点;与所述多个相邻的所述路由节点对应连接的多个处理节点及多个缓存一致性节点;
使所述多个缓存一致性节点中的至少一个缓存一致性节点响应所述多个处理节点中的至少一个处理节点的所述通信事务请求,以访问与所述多个缓存一致性节点对应键合连接的多个所述缓存节点中的至少一个缓存节点。
本公开实施例通过设置路由节点阵列,路由节点互相连接构成网格拓扑,每一个路由节点上连接一个处理节点和缓存一致性节点,缓存一致性节点键合连接缓存节点,由此构成片上网络(Network on Chip,NOC)。在利用NOC的网络路由端口高带宽传输实现大数据并行计算的同时,还通过3D混合键合来将缓存节点与缓存一致性节点连接构成NOC,通过混合键合在兼顾器件面积的同时最大程度提高系统内存(System Level Cache,SLC)容量,提高数据缓存吞吐量,提高数据访问深度,提高并行处理进程数量,提高带宽,提高NOC算力。
附图说明
图1是根据一示例性实施例示出的一种片上网络系统示意图;
图2是根据一示例性实施例示出的一种片上网络系统在不同场景下的访问延迟测试曲线图;
图3是根据本公开实施例示出的一种片上网络系统的示意图;
图4是根据本公开实施例示出的一种片上网络系统的控制方法示意图。
具体实施方式
以下结合说明书附图及具体实施例对本公开的技术方案做进一步的详细阐述。
在本公开实施例中,术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。
在本公开实施例中,术语“A与B接触”包含A与B直接接触的情形,或者A、B两者之间还间插有其它部件而A间接地与B接触的情形。
在本公开实施例中,术语“层”是指包括具有厚度的区域的材料部分。层可以在下方或上方结构的整体之上延伸,或者可以具有小于下方或上方结构范围的范围。此外,层可以是厚度小于连续结构厚度的均质或非均质连续结构的区域。例如,层可位于连续结构的顶表面和底表面之间,或者层可在连续结构顶表面和底表面处的任何水平面对之间。层可以水平、垂直和/或沿倾斜表面延伸。并且,层可以包括多个子层。
可以理解的是,本公开中的“在……上”、“在……之上”和“在……上方”的含义应当以最宽方式被解读,以使得“在……上”不仅表示其“在”某物“上”且其间没有居间特征或层(即直接在某物上)的含义,而且还包括“在”某物“上”且其间有居间特征或层的含义。
需要说明的是,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其它实施方式。
在一些SOC(System on Chip,SOC)架构中,采用总线架构将各个模块连接并使用同一时钟,在器件集成度较低,处理的数据量较少时,其计算性能以及通信带宽可以满足实时数据处理。当SOC片上处理单元等器件的集成度较高,计算量和数据传输量庞大时,SOC的时钟延迟和偏移,通讯效率低下等问题将暴露出来,总线架构出现难以克服的通信瓶颈(或者,通讯带宽瓶颈),无法胜任大数据量的计算任务。
在一些具体实施例中,SOC表现出不易拓展性。随着大数据计算的要求越来越高,SOC集成的处理单元数目进一步增加,处理单元之间的通讯量也随之增大,导致SOC总线地址资源和处理单元之间的不匹配,有限的地址资源也限制处理单元数目的增加。
在一些具体实施例中,SOC无法并行通信。SOC中的总线架构更多的是串行总线,当多个处理单元同时发出请求时,总线会根据优先级产生仲裁,按序传输处理单元所需的数据或者发送指令,无法实现并行通信,从而导致较小的带宽,降低通信效率。
在一些具体实施例中,SOC要求信号全局同步,执行单一时钟同步,而总线架构下的互连延时使得时钟错位问题变得难以控制,单一时钟同步全系统的目标变的及其困难。
有鉴于此,本公开的一示例性实施例提出一种片上网络系统(Network on Chip,NOC)替代SOC来提高HPC的应用处理速度和传输带宽,该NOC系统包括多个路由节点R,每个路由节点R可包括至少一个路由器,路由节点R之间通过网络接口进行通信,路由节点R上连接处理节点(Processing Element,PE)和缓存一致性节点(Coherent Home Node,CHN)。具体的,参照图1所示,本公开一示例性实施例提供的一种NOC可包括多个路由节点R互相连接组网构成的路由节点R阵列,路由节点R之间通过通信端口进行数据交互,包括但不限于供电传输,指令集、时钟、地址或者数据包等通讯交互;其中,每一个路由节点R上连接一个处理节点PE,并且每一个路由节点R上连接一个缓存一致性节点CHN,在每一个第一缓存一致性节点CHN上连接一个缓存节点;在该NOC中,路由节点R被配置为转发处理节点PE的通信事务请求到缓存一致性节点CHN或者其他路由节点R对应的缓存一致性节点CHN,缓存一致性节点CHN接收到通信事务请求后,根据通信事务请求访问缓存节点,对缓存节点上存储器进行读写或者擦除操作。
在图1所示的实施例中,路由节点R可包括路由器,处理节点PE可包括:中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(Neural Processing Unit,NPU)或者其他已知的任意处理器。缓存节点可包括各种存储器,包括但不限于:动态随机存储器(DRAM),静态随机存储器(SRAM)、相变存储器(PCM)、阻变存储器(RRAM)或者其他类型的存储器。需要指出的是,该实施例中的缓存节点或者多个SRAM构成的缓存阵列是作为整个NOC的系统缓存(System Level Cache,SLC),也即作为整个NOC的主内存。在上述路由节点R阵列中的任何一个或者多个路由节点R上接入外存节点M,外存节点M上包括闪存设备,例如,NAND flash设备或者HDD设备。每一个存储节点中的处理器内部可包括多级内部缓存,例如一个CPU中可具有一级缓存、二级缓存、三级缓存等,一个CPU也可具有多个计算核心。示例性的,带有外存节点M以及多级内部缓存的处理节点PE的NOC,其工作时的数据流转如下:将程序以及数据从外存节点M加载到缓存节点中;将程序和数据加载到处理节点PE内部的多级缓存中;将程序和数据加载到寄存器中并进行运算;将运算后的数据加载(或者更新)到多级缓存中,在一定的时间周期或者多级缓存写满时加载(或者更新)到缓存节点中。
得益于多个路由节点R阵列的高带宽传输,路由节点R将每一个处理节点PE连接起来组成处理节点PE阵列,处理节点PE之间可以通过路由节点R互相访问以进行数据共享,充分发挥多处理节点PE在处理大数据计算任务时的并行计算能力,提高算力。在一些实施例中,处理节点PE的指令、需要计算的数据、计算之后且更新完毕的数据可先存入其内部多级缓存中,再转存到缓存节点中,或者存在处理节点PE自带的多级内部缓存中。任意两个处理节点PE需要互相访问多级内部缓存中的数据时,可先通过路由节点R将数据转存到缓存节点中,再通过缓存节点进行数据访问获取所需数据。
缓存一致性节点CHN可包括缓存探听过滤器,用于探测和过滤处理节点PE的缓存操作行为,可依据缓存一致性协议(Modify Exclusive Shared Invalid,MESI)处理缓存一致性事务,并且在一些使用场景中过滤非必要的缓存一致性通信事务,降低各个接口以及各级总线的带宽需求,提高系统的有效带宽。
一般的,MESI协议可针对多核处理器,或者针对服务器等多个处理器的系统应用,本质可以细化到处理器的计算核心与计算核心之间的缓存数据的一致。例如,处理器中的多个核心同时运行操作多个线程对同一数据进行更新时,如果处理器2在处理器1还未将更新的数据刷新到内存(对应于本公开实施例的缓存节点)之前就读取了数据,并行进行了计算,就会造成程序执行结果的不一致性而出错,造成计算结果的随机性。MESI协议提供一种高效的内存数据管理方案,对单个缓存行(缓存行是处理器内部多级缓存中数据存储的基本单元)的数据进行加锁,不影响内存中其他数据的读写。
MESI协议通过监控独立的loads和stores指令来监控缓存同步冲突,并确保不同处理器或者处理器中不同核心对于共享内存的状态一致性看法。当一个核心loads或stores一个内存地址时,该核心会在总线上广播该请求,其他核心和内存会监听总线(也称为snooping)。以单核处理器为例:
处理器1从内存中将变量a加载到其内部缓存中,将变量a的状态改为E(独享),通过总线嗅探机制对内存中变量a进行嗅探;
处理器2读取变量a,总线嗅探机制会将处理器1中的变量a的状态置为S(共享),并将变量a加载到处理器2的缓存中,状态为S;
处理器1对变量进行更新操作,此时处理器1中的变量a会被置为M(更新/修改)状态,而处理器2中的变量a会被通知改为I(无效)状态,此时处理器2中的变量a做的任何修改都不会被写会内存中;高并发情况下可能出现多个核心或者多个处理器同时修改变量a,并且同时向总线发出将各自的缓存行为更改为M状态时,总线会采用相应的裁决机制进行裁决,将其中一个M状态,另一个状态置为I状态,I状态的缓存行修改无效;
处理器1将修改后的数据写回内存,并将变量a置为E(独占)状态;
处理器2通过总线嗅探机制得知变量a已经被修改,会重新去内存中加载变量a,同时处理器1和处理器2中的变量都改为S状态。
以上是多核处理器内部的MESI协议下的缓存一致性行为,多个处理器接入NOC时,多个处理器中的所有核心可参照上述MESI的操作来实现缓存一致性。
可以理解的是,缓存一致性行为可通过多种协议实现,且实施行为十分复杂,上述示例性实施例的MESI协议仅为简单示例,还可通过其他协议(例如,MEOSI协议)或者其他协议合作来更好的实现缓存一致性行为。
对于本公开实施例的NOC系统是多个处理节点PE(或者处理器)通过路由器阵列进行组网。一方面,单个处理节点PE的内部多级缓存利用与其对应的缓存节点(内存)可满足MESI协议实现缓存一致性,其中的缓存一致性节点CHN中的缓存探听过滤器用于监听缓存行为,并执行总线的嗅探机制,可实时监测并识别数据的M、E、S、I状态,以执行MESI协议,实现缓存一致性行为。
另一方面,缓存节点通过缓存一致性节点CHN接入路由节点R阵列组网,构成缓存节点阵列,单个处理节点PE可通过路由节点R阵列将对任意缓存节点上的数据进行读取或者写入,即整个缓存节点阵列作为系统内存(System Level Cache,SLC),处理节点PE阵列的所有处理节点PE中的内部缓存与缓存阵列符合MESI协议来实现缓存一致行为。处理节点PE中的处理器可包括但不限于:CPU、GPU或者NPU等,处理器可包括多核,单个处理器的多核满足MESI协议,多个处理器的所有核心也满足MESI协议。
在一些实施例中,处理节点PE的处理器类型可相同,例如可全部为CPU,CPU构成处理器阵列协同处理庞大数据,各个。在另外一些实施例中,也可以是CPU与GPU构成的混合处理器阵列。
在一些实施例中,处理节点PE-A将根据当前进程更新某个缓存节点中的数据得到C数据,处理节点PE-B基于其当前进程需要访问处理节点PE-A更新后的C数据,通过路由器阵列构成的网络定位到存储C数据的缓存节点,并通过与更新过后的缓存节点上的缓存一致性节点CHN来访问该缓存节点以获取C数据。当处理节点PE-B获取C数据后,可根据其当前进程进行处理并更新C数据为D数据存储在空闲的任意缓存节点中,该空闲的任意缓存节点可包括C数据所在的当前缓存节点。后续包括处理节点PE-A在内的任意处理节点PE可通过路由节点R阵列和缓存一致性节点CHN访问数据D并对数据D进行更新。该实施例的NOC的任意处理节点PE以及任意缓存节点可满足MESI协议,在执行MESI协议实现缓存一致行为时,还包括对数据的M、E、S、I状态的定义与切换,还包括缓存探听过滤器对数据各种状态的嗅探,并将数据的状态反馈给各个处理器的各个核心,使的各个处理器的各个核心可以依据MESI协议在缓存节点中取得正确的数据,避免一个核心或者处理器获取其他核心或者其他处理器正在处理但未在缓存节点中更新的原数据,避免内部缓存不一致而导致随机出现多个计算结果而出错。
本公开实施例中的连接在实际集成电路布图设计中或者制作过程中可以是导电线连接,路由节点R之间可通过总线连接(例如,一级总线)连接,总线可包括传输控制指令信号、供电、时钟信号、数据包传输的多根导线。类似的,处理节点PE与路由节点R之间可通过二级总线连接,缓存一致性节点CHN包括缓存探听过滤器,与路由器之间可通过另外的二级总线连接,缓存一致性节点CHN与缓存节点之间通过三级总线连接。各级总线以及接口可执行一致性总线协议(Coherent Hub Interface,CHI),以使得整个NOC系统满足缓MESI协议。在另外一些实施例中,还可通过执行其他协议的接口或者总线来实现整个系统的缓存一致性,例如AMBA AXI或者ACE协议等。
结合图1所示的NOC的CHI总线将路由节点R连接构成网格拓扑,这种网格拓扑可以包含更多通信事务到达目的地的路径,减少通信事务的传输时间,有利于提高系统带宽。并且,根据CHI总线协议中的一些描述,图1中CHI总线定义了CHI网络中的不同组件,但不会限制组件的拓扑方式,基于路由节点R阵列的网格拓扑骨架,可以增加更多的路由节点R,提高NOC系统的可扩展性。以一个路由节点R以及连接在一个路由节点R上的组件为整个网格拓扑中的一个IP,图1中示出了16个IP构成的4×4 mesh网格。每个IP包括路由节点R,连接在路由节点R上的处理节点PE、缓存一致性节点CHN,连接在缓存一致性节点CHN上的缓存节点,处理器可为单核处理器。
本公开实施例的各级CHI总线也可实现总线嗅探机制以满足MESI协议。在CHI总线嗅探或者定义的缓存行为可包括:
唯一脏(Unique Dirty,对应MESI的M态);
唯一干净(Unique Clean Empty,对应MESI的E态);
共享干净(Shared Clean,对应于MESI的S态)。
无效(Invalid,对应MESI的I态);
唯一脏部分(Unique Dirty Partial,相较于MESI新增的数据态),此时的缓存行类似M态,缓存行存在当前缓存行为,也被认为相对于缓存节点(主内存)进行了修改,但缓存行中存在有效数据和无效数据;
共享脏(Shared Dirty,相较于MESI新增的数据态),相对于缓存节点,缓存行已经被修改,并且可将修改后的数据更新在缓存节点中。由于缓存行是共享的,它可以存在与一个或多个本地缓存中。
唯一干净空(Unique Clean Empty,相较于MESI新增的数据态),缓存行不被共享,但没有有效数据,缓存行可在不通知(不广播)其他内部缓存的情况下进行修改。在上述Clean态中,内部缓存不对主内存中对应的数据进行更新,缓存行可与主内存保持不同的值,此时总线可不将当前缓存行为通过总线的嗅探机制广播给其他处理器。在上述Dirty态中,缓存行为修改了缓存行数据,此时总线需要将当前缓存行为以及数据状态通过嗅探机制广播给其他处理器。总线的嗅探机制可通过缓存一致性节点CHN上的缓存探听过滤器执行。
在一些实施例中,缓存探听过滤器在监听总线上的缓存行为时,会根据当前进程裁决或者判定是否为必须执行缓存一致性通信事务,对于将必要的、需要执行缓存一致性操作的缓存行为过滤出来执行缓存一致性操作,由此可以降低对CHI总线的带宽需求,提高NOC并行计算能力。在数据传输方面,借助于高带宽的路由节点R阵列,可实现数据包形式的并行传输,提高传输带宽。
图2是根据本公开一示例性实施例示出的一种NOC在不同场景下的访问延迟测试曲线,图中多种曲线代表了多种测试条件、运行不同进程时的SLC访问延迟示意图。图1所示的NOC的SLC为16MB的SRAM,可以看出当访问深度超过16MB后,NOC的访问延迟从33ns增长到98ns,访问深度变大后使得SLC容量不够大数据量的缓存,从而导致SLC的缓存命中率降低。如果加大SLC的容量,可在加大访问深度的同时保持较低的访问延迟,提高NOC性能。
在一些实施例中,结合图1所示的,缓存节点可为SRAM,处理节点PE可为单核处理器,受限制于SRAM阵列的器件面积以及制作工艺,SRAM阵列以2D集成方式接入到缓存探听过滤器上作为SLC,其容量较小。以集成64个处理节点PE的NOC为例,NOC上的SRAM阵列最多为256M ~512M Byte,相较于DRAM具有较小的存储容量,但是却占据相对较大的器件面积。可以理解的是,SLC容量较小时,会导致更大的SLC未命中率,当SLC未命中是需要访问外存,如此会增加主内存访问外存的次数,外存的带宽较低且延时大,使得内存限制算力的瓶颈效应放大,降低NOC性能。
有鉴于此,本公开实施例提供一种NOC,集成多个处理节点PE,以DRAM阵列作为SLC,并以3D混合键合(Hybrid Bonding)的方式接入NOC中的缓存一致性节点CHN。同样的集成64个处理节点PE的NOC,本公开实施例的DRAM阵列可以达到6G Byte以上的SLC容量,其容量可以是SRAM SCL的10倍以上,这可以大幅提升缓存命中率,带宽上可通过混合键合技术实现与SRAM相仿的带宽。
参照图3所示,本公开实施例提供一种NOC系统,可以包括:
第一网络层210和第二网络层220;其中,
第一网络层210,包括:路由节点R阵列、处理节点PE阵列和缓存一致性节点CHN阵列,其中,路由节点R阵列中的每一个路由节点R分别与处理节点PE阵列中的对应的一个处理节点PE以及缓存一致性节点CHN阵列中对应的一个缓存一致性节点CHN连接;路由节点R,用于转发处理节点PE的通信事务请求到缓存一致性节点CHN或其他路由节点R对应的缓存一致性节点CHN;
第二网络层220,与第一网络层210通过键合层连接,包括缓存节点阵列,缓存节点阵列中的缓存节点与缓存一致性节点CHN阵列中的一个缓存一致性节点CHN通过键合层中的键合触点连接;缓存一致性节点CHN,用于响应于通信事务请求访问缓存节点。
在图3中,路由节点R可包括路由器,路由器之间通过网络接口进行通信,该网络接口可执行CHI总线协议,在每一个路由节点R上连接处理节点PE和缓存一致性节点CHN,在缓存一致性节点CHN上通过混合键合接入缓存节点。路由节点R与路由节点R之间通过一级总线连接构成网格拓扑,处理节点PE通过二级总线接入路由节点R,缓存一致节点通过另一二级总线接入路由节点R,在缓存一致性节点CHN上以混合键合的方式接入缓存节点。
处理节点PE发出的通信事务包括但不限于指令、缓存数据、时钟信号等与当前进程运行相关的任何数据,通过路由节点R构成的网格拓扑转发至缓存一致性节点CHN阵列中的任意节点,缓存一致性节点CHN中的缓存探听过滤器执行总线探听机制,过滤非必要缓存一致性通信事务以及必要的缓存一致性通信事务,控制缓存一致性节点CHN更新或者获取数据,对于必要的缓存一致性通信事务,可根据MESI或者MEOSI等缓存一致性协议执行单个处理节点PE或者多个处理节点PE的缓存一致行为,减少数据的随机出错。该部分通信事务需求包括处理节点PE内部多级缓存与缓存节点之间的数据交互。
本公开实施例的缓存节点以DRAM为例,DRAM以混合键合的方式通过键合触点接入缓存一致性节点CHN,键合触点为一个层级的总线的一部分,DRAM阵列作为NOC的SLC。在一些实施例中,DRAM包括存储阵列以及存储器控制器,存储器控制器响应于缓存一致性节点CHN的指令,该指令可以是来自于路由节点R转发的处理节点PE的通信事务请求,根据指令访问DRAM。存储器控制器可位于第一网络层210或者位于第二网络层220。
在一些具体实施例中,先设置或者制作第二网络层220,第二网络层220上具有DRAM阵列,单个DRAM之间可不进行连接组网,而是经由混合键合与缓存一致性节点CHN连接从而连入第一网络层210的路由网格拓扑。在实际的制作过程中,第一网络层210载体为逻辑晶圆或者逻辑芯片,第二网络层220额载体为存储晶圆或者存储芯片(DRAM芯片),通过混合键合将两个网络层进行堆叠,利用键合层的导电键合触点进行电性耦接。
以图1所示的,在逻辑芯片中直接2D接入SRAM阵列作为NOC的SLC为例,512M ByteSRAM的面积开销是614.4平方毫米,这将占据逻辑芯片的器件面积,降低逻辑芯片的器件集成度。采用图3所示的混合键合方式接入DRAM阵列作为NOC的SLC,同等容量的DRAM进行3D堆叠仅占逻辑芯片面积的2%,此处的2%是指在DRAM芯片在键合方向的投影面积仅占逻辑芯片面积的占比。所以,在对应同等逻辑芯片面积的DRAM芯片,可具有更大的存储容量,更大的SLC容量有利于提高数据缓存吞吐量,提高数据访问深度,提高并行处理进程数量,提高带宽,提高NOC算力。
本公开实施例通过设置路由节点R阵列,路由节点R互相连接构成网格拓扑,每一个路由节点R上连接一个处理节点PE和缓存一致性节点CHN,缓存一致性节点CHN键合连接缓存节点,由此构成NOC。在利用NOC的网络路由端口高带宽传输实现大数据并行计算的同时,还通过3D混合键合来将缓存节点与缓存一致性节点CHN连接构成NOC,通过混合键合在兼顾器件面积的同时最大程度提高SLC容量,提高数据缓存吞吐量,提高数据访问深度,提高并行处理进程数量,提高带宽,提高NOC算力。
在一些实施例中,缓存一致性节点CHN可以包括缓存探听过滤器;缓存探听过滤器,用于响应于与缓存一致性节点CHN对应的处理节点PE或其他处理节点PE的通信事务请求,根据MESI协议与缓存一致性节点CHN对应的缓存节点进行数据交互。
参照图3所示,缓存探听过滤器具有CHI接口以接入可执行CHI协议的各级总线。缓存探听过滤器可根据MESI协议执行总线监听机制,监听总线上的缓存行为,根据当前进程裁决或者判定是否为必须执行的缓存一致性通信事务,将无需执行缓存一致性的缓存行为过滤出来,仅监听必要的缓存一致性行为的数据实时状态,由此使得NOC上多个处理单元实现缓存一致性,减少计算的随机错误和冲突的基础上,还可以降低对CHI总线的带宽需求,提高NOC并行计算能力。过滤出来需要执行缓存一致性后,缓存探听过滤器根据MECI协议或者其他缓存一致性协议对缓存行为进行监听,执行总线的嗅探机制,可实时监测并识别数据的M、E、S、I状态,以执行MESI协议,来控制处理节点PE中的缓存行与缓存节点之间的数据交互行为,实现缓存一致性行为。
示例性的,当NOC的当前进程的计算量较少,一个处理节点PE或者一个处理节点PE中的一个核心即可满足算力需求,或者各个处理节点PE的当前进程相互独立无需数据交互需求,此时各个处理节点PE的缓存行为相对独立,无需执行缓存一致性。
在一些实施例中,路由节点R阵列中的路由节点R之间及缓存一致性节点CHN阵列中的缓存一致性节点CHN与缓存节点阵列中的缓存节点之间均采用CHI协议总线进行数据传输。
这里,NOC中各个节点与节点之间通过多级总线连接,各级总线以及接口可执行CHI协议,以使整个NOC系统满足MESI缓存一致性协议(或者MESI缓存一致性规则)。在另外一些实施例中,还可通过执行其他协议的接口或者总线来实现整个系统的缓存一致性,例如AMBA AXI或者ACE协议等。
在一些实施例中,路由节点R阵列中的路由节点R与处理节点PE中的处理节点PE通过网络接口耦接,网络接口执行CHI协议。
需要说明的是,路由节点R之间通过网络接口进行通信,网络接口可提供较大的传输带宽,该网络接口可执行CHI协议,便于实现处理节点PE的缓存一致性。多个路由节点R通过高带宽的网络接口连接,构成网络通信的网格拓扑,与路由节点R(网络节点)连接的资源节点可无限制,尤其执行CHI总线协议的各级总线和接口定义组件,但不限制组件之间的拓扑形式,可拓展性强。在此网路通信基础上,每个路由节点R上的组件可在独立的时钟下工作,路由节点R上的组件实现局部同步通讯,而NOC全局可实现异步通讯机制。
在一些实施例中,片上网络系统还包括:
缓存控制节点阵列;缓存控制节点阵列中的每一个缓存控制节点与一个缓存一致性节点CHN耦接;缓存控制节点接收缓存一致性节点CHN的操作指令,对至少一个缓存节点进行操作。
缓存控制节点接收缓存一致性节点CHN的指令,控制至少一个缓存节点,并将当前数据发送给缓存一致性节点CHN。
在一些实施例中,缓存控制节点位于第一网络层210中或者第二网络层中220中。
在一些实施例中,在缓存控制节点阵列位于在第二网络层220中时,缓存控制节点阵列中的每一个缓存控制节点与缓存节点阵列中的一个或多个缓存节点集成在一起。
在一些实施例中,缓存节点包括动态随机存储器;缓存控制节点包括存储器控制器。
在一些实施例中,DRAM包括存储阵列以及存储器控制器,存储器控制器响应于缓存一致性节点CHN的指令,该指令可以是来自于路由节点R转发的处理节点PE的通信事务请求,根据指令访问DRAM。存储器控制器可位于第一网络层210或者位于第二网络层220,位于第一网络层210时通过混合键合与DRAM存储阵列耦接;位于第二网络层220时,则可与每一个DRAM存储阵列集成在一起,集成方式可包括2D集成或者混合键合。
在一些实施例中,DRAM以阵列方式对应接入缓存一致性节点CHN阵列中,一个DRAM可作为任意一个处理节点PE的内存,多个DRAM或者全部DRAM可通过路由节点R的阵列的网格拓扑进行统一地址的整体映射,即任意个DRAM可组成SLC组,为任意的处理节点PE提供内存,其他未并组的DRAM在带宽和资源足够的前提下可进行闲置,以节约总线带宽和降低能耗。示例性的,DRAM的并网分组可基于DRAM的存储余量,以及通信事务传输的实时带宽或者路径远近来进行划分。对此,对于存储器控制器的并行、协同计算性能提出更高的要求,为提高带宽可在DRAM阵列之外设置独立的缓存控制节点与缓存一致性节点连接,此时的缓存控制节点可包括存储器控制器,例如HDC存储器控制器(Heterogeneous IntegrationTechnology On Chip DRAM Controller),DRAM再通过混合键合与HDC存储器控制器连接接入第一网络层搭建NOC。DRAM存储阵列可包括电容阵列、控制逻辑电路以及其他电路器件,存储器控制器与控制逻辑电路电信号互联。该存储器控制器可响应MESI等缓存一致性协议,也具有适配CHI总线协议的接口。示例性的,本公开实施例中的缓存节点可以是包括分布式SRAM和高带宽低延时DRAM构成的三维存储单元,图3中以DRAM Unit示例。
示例性的,在实际的混合键合工艺中,第一网络层210的第一键合层包括介电层以及贯穿介电层的多个第一键合触点,多个第一键合触点与第一网络层210中的缓存一致性节点CHN对应连接,当缓存一致性节点CHN与缓存控制节点连接时,多个第一键合触点与缓存控制节点连接。第二网络层220的第二键合层包括介电层以及贯穿介电层的多个第二键合触点,多个第二键合触点与第二网络层220中的缓存节点对应连接。热压键合第一键合层和第二键合层,第一触点和第二触点对准键合连接实现电信好互联,介电层键合提高键合力。
在一些实施例中,第一网络层210包括多个子网,子网包括:多个相邻的路由节点R,与多个相邻的路由节点R对应连接的多个处理节点PE以及多个缓存一致性节点CHN;缓存一致性节点CHN,用于响应于多个处理节点PE中的至少一个处理节点PE输出的通信事务请求访问与多个缓存一致性节点CHN对应键合连接的多个缓存节点中的至少一个缓存节点。
这里,以一个路由节点R以及连接在一个路由节点R上的组件为整个网格拓扑中的一个IP,图3示出了16个IP构成的4Ï4 mesh网格,每个IP包括路由节点R,连接在路由节点R上的处理节点PE、缓存一致性节点CHN,连接在缓存一致性节点CHN上的缓存节点。根据当前NOC的进程大小,NOC可配置一个或者相邻的多个IP组成全局网格拓扑中的一个或者多个子网参与进程运行,在运行进程时可以子网为单位分别单独运行不同的进程,进程较小时也会存在空闲的子网或者空闲的IP。由此来充分发挥NOC的并行处理性能,并且减少SLC的一致性开销,进一步提升有效带宽。例如,图3中所示出第一网络层210中虚线框示出的2Ï2mesh网格及连接的所有组件构成的一个子网。在子网中的任何一个PE的通信事务请求,可通过子网的网格拓扑读取或者更新与子网对应连接的缓存节点子阵列中的任意一个缓存节点中的数据。
在一些实施例中,处理节点PE包括以下至少之一:CPU、GPU、NPU。
在一些实施例中,片上网络系统还包括:
外存节点M阵列,外存节点M阵列中的每一个外存节点M与一个或多个路由节点R连接;处理节点PE与外存节点M之间通过路由节点R进行数据交互。
至少一个外存节点M,所述外存节点M与所述路由节点R连接;处理节点PE中的内部缓存数据与外存节点M之间通过缓存节点来进行数据交互,路由节点R提供高带宽网络传输的中转节点,数据在路由节点R中作为传输,而不作更新。
这里,外存节点M可包括非易失性存储设备,包括但不限于:NAND flash设备或者HDD设备,具体可以是紧凑型闪存卡(Compact Flash Card,CFC),智能媒体卡(Smart MediaCard,SMC),记忆棒(Memory Stick,MS),多媒体卡(Multi-Media Card,MMC),例如RS-MMC、MMCmicro、eMMC等,安全数字卡(Secure Digital Memory Card,SD card),例如Mini SD卡、Micro SD卡、SDHC卡等,通用闪存(Universal Flash Storage,UFS)卡和固态硬盘(SolidState Drive,SSD)中的一种。
参照图3所示,区别于缓存节点阵列的每一个IP对应一个缓存节点,外存节点M供整个系统的数据存储且容量较大,可无需为所有的IP都配置外存节点M,可在NOC的外围路由节点R上接入外存节点M,例如图3所示的在4Ï4 mesh网格的首尾两列的路由节点R上接入外存节点M,共接入8个外存节点M。
根据本公开实施例的另外一些方面,提供一种片上网络系统的控制方法,所述片上网络系统包括:第一网络层210和第二网络层220;其中,第一网络层210包括:路由节点R阵列、处理节点PE阵列和缓存一致性节点CHN阵列;路由节点R阵列中的每一个路由节点R分别与处理节点PE阵列中的对应的一个处理节点PE以及缓存一致性节点CHN阵列中对应的一个缓存一致性节点CHN连接;
第二网络层220,与第一网络层210通过键合层连接,包括缓存节点阵列,缓存节点阵列中的缓存节点与缓存一致性节点CHN阵列中的一个缓存一致性节点CHN通过键合层中的键合触点连接;
参照图4所示,所述控制方法包括:
S100:使处理节点PE生成通信事务请求;
S200:使路由节点R将通信事务请求转发给缓存一致性节点CHN或其他路由节点R对应的缓存一致性节点;
S300:使缓存一致性节点CHN响应于通信事务请求访问缓存节点。
在一些实施例中,缓存一致性节点CHN包括缓存探听过滤器;所述控制方法包括:
缓存探听过滤器响应于缓存一致性节点CHN对应的处理节点PE或其他处理节点PE的通信事务请求,根据MESI协议与缓存一致性节点CHN对应的缓存节点进行数据交互。
在一些实施例中,所述控制方法还包括:
将第一网络层210划分为多个子网,所述子网包括:多个相邻的路由节点R,与多个相邻的路由节点R对应连接的多个处理节点PE以及多个缓存一致性节点CHN;
使多个缓存一致性节点CHN中的至少一个缓存一致性节点CHN响应多个处理节点PE中的至少一个处理节点PE的通信事务请求,以访问与多个缓存一致性节点CHN对应键合连接的多个缓存节点中的至少一个缓存节点。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。
Claims (14)
1.一种片上网络系统,其特征在于,包括:第一网络层和第二网络层;其中,
所述第一网络层,包括:路由节点阵列、处理节点阵列和缓存一致性节点阵列,其中,所述路由节点阵列中的每一个路由节点分别与所述处理节点阵列中的对应的一个处理节点以及所述缓存一致性节点阵列中对应的一个缓存一致性节点连接;所述路由节点,用于转发所述处理节点的通信事务请求到所述缓存一致性节点或其他路由节点对应的缓存一致性节点;
所述第二网络层,与所述第一网络层通过键合层连接,包括缓存节点阵列,所述缓存节点阵列中的缓存节点与所述缓存一致性节点阵列中的一个缓存一致性节点通过所述键合层中的键合触点连接;所述缓存一致性节点,用于响应于所述通信事务请求访问所述缓存节点。
2.根据权利要求1所述的片上网络系统,其特征在于,所述缓存一致性节点包括缓存探听过滤器;所述缓存探听过滤器,用于响应于与所述缓存一致性节点对应的处理节点或其他处理节点的所述通信事务请求,根据缓存一致性MESI协议与所述缓存一致性节点对应的缓存节点进行数据交互。
3.根据权利要求1所述的片上网络系统,其特征在于,所述路由节点阵列中的路由节点之间及所述缓存一致性节点阵列中的缓存一致性节点与所述缓存节点阵列中的缓存节点之间均采用一致性CHI协议总线进行数据传输。
4.根据权利要求1所述的片上网络系统,其特征在于,所述路由节点阵列中的路由节点与所述处理节点中的处理节点通过网络接口耦接,所述网络接口执行CHI协议。
5.根据权利要求1所述的片上网络系统,其特征在于,所述片上网络系统还包括:缓存控制节点阵列;所述缓存控制节点阵列中的每一个缓存控制节点与一个所述缓存一致性节点耦接;所述缓存控制节点接收所述缓存一致性节点的操作指令,对至少一个所述缓存节点进行操作。
6.根据权利要求5所述的片上网络系统,其特征在于,所述缓存控制节点阵列位于所述第一网络层或第二网络层中。
7.根据权利要求6所述的片上网络系统,其特征在于,在所述缓存控制节点阵列位于在所述第二网络层中时,所述缓存控制节点阵列中的每一个所述缓存控制节点与所述缓存节点阵列中的一个或多个所述缓存节点集成在一起。
8.根据权利要求1至7任一项所述的片上网络系统,其特征在于,所述缓存节点包括动态随机存储器。
9.根据权利要求1所述的片上网络系统,其特征在于,所述第一网络层包括多个子网,所述子网包括:
多个相邻的所述路由节点;
与所述多个相邻的所述路由节点对应连接的多个处理节点及多个缓存一致性节点;
其中,所述缓存一致性节点,用于响应于所述多个处理节点中的至少一个处理节点的所述通信事务请求访问与所述多个缓存一致性节点对应键合连接的多个所述缓存节点中的至少一个缓存节点。
10.根据权利要求1所述的片上网络系统,其特征在于,所述处理节点包括以下至少之一:中央处理器CPU、图形处理器GPU、神经网络处理器NPU。
11.根据权利要求1所述的片上网络系统,其特征在于,所述片上网络系统还包括:
外存节点阵列,所述外存节点阵列中的每一个外存节点与一个或多个所述路由节点连接;所述处理节点与所述外存节点之间通过所述路由节点进行数据交互。
12.一种片上网络系统的控制方法,其特征在于,所述片上网络系统包括:
第一网络层和第二网络层;其中,所述第一网络层包括:路由节点阵列、处理节点阵列和缓存一致性节点阵列;所述路由节点阵列中的每一个路由节点分别与所述处理节点阵列中的对应的一个处理节点以及所述缓存一致性节点阵列中对应的一个缓存一致性节点连接;所述第二网络层,与所述第一网络层通过键合层连接,包括缓存节点阵列,所述缓存节点阵列中的缓存节点与所述缓存一致性节点阵列中的一个缓存一致性节点通过所述键合层中的键合触点连接;所述控制方法包括:
使所述处理节点生成通信事务请求;
使所述路由节点将所述通信事务请求转发给所述缓存一致性节点或其他路由节点对应的缓存一致性节点;
使所述缓存一致性节点响应于所述通信事务请求访问所述缓存节点。
13.根据权利要求12所述的控制方法,其特征在于,所述缓存一致性节点包括缓存探听过滤器;所述控制方法包括:
使所述缓存探听过滤器响应于所述缓存一致性节点对应的处理节点或其他处理节点的所述通信事务请求,根据MESI协议与所述缓存一致性节点对应的缓存节点进行数据交互。
14.根据权利要求12所述的控制方法,其特征在于,所述控制方法还包括:
将所述第一网络层划分为多个子网;其中,所述子网包括:多个相邻的所述路由节点;与所述多个相邻的所述路由节点对应连接的多个处理节点及多个缓存一致性节点;
使所述多个缓存一致性节点中的至少一个缓存一致性节点响应所述多个处理节点中的至少一个处理节点的所述通信事务请求,以访问与所述多个缓存一致性节点对应键合连接的多个所述缓存节点中的至少一个缓存节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310855961.XA CN116578523B (zh) | 2023-07-12 | 2023-07-12 | 片上网络系统及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310855961.XA CN116578523B (zh) | 2023-07-12 | 2023-07-12 | 片上网络系统及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116578523A CN116578523A (zh) | 2023-08-11 |
CN116578523B true CN116578523B (zh) | 2023-09-29 |
Family
ID=87534567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310855961.XA Active CN116578523B (zh) | 2023-07-12 | 2023-07-12 | 片上网络系统及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116578523B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049422A (zh) * | 2012-12-17 | 2013-04-17 | 浪潮电子信息产业股份有限公司 | 一种具有多cache一致性域的多处理器节点系统构建方法 |
CN103955584A (zh) * | 2014-05-12 | 2014-07-30 | 合肥工业大学 | 基于多路径路由的片上网络重组缓存的上界优化方法 |
CN103986664A (zh) * | 2014-05-15 | 2014-08-13 | 厦门大学 | 一种用于片上网络的混合互连Mesh拓扑结构及其路由算法 |
CN111475457A (zh) * | 2020-04-08 | 2020-07-31 | 苏州浪潮智能科技有限公司 | 一种片上网络的数据传输路径确定方法、装置及存储介质 |
CN112363612A (zh) * | 2020-10-21 | 2021-02-12 | 海光信息技术股份有限公司 | 一种降低片上网络功耗的方法、装置、cpu芯片及服务器 |
CN114500355A (zh) * | 2022-02-16 | 2022-05-13 | 上海壁仞智能科技有限公司 | 路由方法、片上网络、路由节点和路由装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9081501B2 (en) * | 2010-01-08 | 2015-07-14 | International Business Machines Corporation | Multi-petascale highly efficient parallel supercomputer |
US9703707B2 (en) * | 2012-12-04 | 2017-07-11 | Ecole polytechnique fédérale de Lausanne (EPFL) | Network-on-chip using request and reply trees for low-latency processor-memory communication |
US20150186277A1 (en) * | 2013-12-30 | 2015-07-02 | Netspeed Systems | Cache coherent noc with flexible number of cores, i/o devices, directory structure and coherency points |
US10489323B2 (en) * | 2016-12-20 | 2019-11-26 | Arm Limited | Data processing system for a home node to authorize a master to bypass the home node to directly send data to a slave |
US11675722B2 (en) * | 2021-04-16 | 2023-06-13 | Apple Inc. | Multiple independent on-chip interconnect |
-
2023
- 2023-07-12 CN CN202310855961.XA patent/CN116578523B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049422A (zh) * | 2012-12-17 | 2013-04-17 | 浪潮电子信息产业股份有限公司 | 一种具有多cache一致性域的多处理器节点系统构建方法 |
CN103955584A (zh) * | 2014-05-12 | 2014-07-30 | 合肥工业大学 | 基于多路径路由的片上网络重组缓存的上界优化方法 |
CN103986664A (zh) * | 2014-05-15 | 2014-08-13 | 厦门大学 | 一种用于片上网络的混合互连Mesh拓扑结构及其路由算法 |
CN111475457A (zh) * | 2020-04-08 | 2020-07-31 | 苏州浪潮智能科技有限公司 | 一种片上网络的数据传输路径确定方法、装置及存储介质 |
CN112363612A (zh) * | 2020-10-21 | 2021-02-12 | 海光信息技术股份有限公司 | 一种降低片上网络功耗的方法、装置、cpu芯片及服务器 |
CN114500355A (zh) * | 2022-02-16 | 2022-05-13 | 上海壁仞智能科技有限公司 | 路由方法、片上网络、路由节点和路由装置 |
Non-Patent Citations (3)
Title |
---|
Optimal placement of vertical connections in 3D Network-on-Chip;Thomas Canhao Xu;Journal of Systems Architecture;第59卷(第7期);441-454 * |
Research on Image Feature Matching Algorithm Applied to UAV Obstacle Avoidance;Zhu Haijie;第32届中国控制与决策会议;3753-3757 * |
片上网络多级缓存技术研究及系统互联方案实现;叶红伟;中国优秀硕士学位论文全文数据库;I135-468 * |
Also Published As
Publication number | Publication date |
---|---|
CN116578523A (zh) | 2023-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210034524A1 (en) | Stacked memory device system interconnect directory-based cache coherence methodology | |
US20210125649A1 (en) | In-memory lightweight memory coherence protocol | |
US7076609B2 (en) | Cache sharing for a chip multiprocessor or multiprocessing system | |
CN104699631A (zh) | Gpdsp中多层次协同与共享的存储装置和访存方法 | |
US20160092362A1 (en) | Memory network to route memory traffic and i/o traffic | |
US20080270653A1 (en) | Intelligent resource management in multiprocessor computer systems | |
US11966330B2 (en) | Link affinitization to reduce transfer latency | |
WO2013097394A1 (zh) | 一种多处理器共享存储方法及系统 | |
CN116610630B (zh) | 一种基于片上网络的多核系统和数据传输方法 | |
CN116578523B (zh) | 片上网络系统及其控制方法 | |
CN116795767A (zh) | 一种基于CHI协议的多核Cache共享一致性协议构建方法 | |
Bilas et al. | Shared virtual memory across SMP nodes using automatic update: Protocols and performance | |
Mojumder et al. | Mgpu-tsm: A multi-gpu system with truly shared memory | |
US20170255558A1 (en) | Isolation mode in a cache coherent system | |
CN111045974A (zh) | 一种基于交换结构的多处理器数据交互方法 | |
US11874783B2 (en) | Coherent block read fulfillment | |
US20230195632A1 (en) | Probe filter directory management | |
WO2021196160A1 (zh) | 一种数据存储管理装置及处理核 | |
CN115309670A (zh) | 存储芯片、电子设备及存储系统 | |
CN117827706A (zh) | 数据处理方法、数据处理装置、电子设备和存储介质 | |
US20190303316A1 (en) | Hardware based virtual memory management | |
Steele et al. | A bus-efficient low-latency network interface for the PDSS multicomputer | |
TW202422331A (zh) | 儲存裝置及操作方法 | |
WO2024049862A1 (en) | Systems, methods, and devices for advanced memory technology | |
Panicucci | Wire delay effects reduction techniques and topology optimization in NUCA based CMP systems |
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 |