首页 / 高度可编程处理器阵列网络

高度可编程处理器阵列网络实质审查 发明

技术领域

[0001] 本发明属于计算机技术领域,具体涉及一种高度可编程处理器阵列网络。

相关背景技术

[0002] 传统现场可编程门阵列(FPGA)通过可编程逻辑块和互连资源提供极高的设计灵活性,广泛应用于定制化计算和加速领域。然而,FPGA在实现高度复杂的计算任务时,由于其基本构建块为逻辑门和查找表,编程复杂度较高,且能效相对较低。

具体实施方式

[0030] 以下通过特定的具体示例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
[0031] 需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0032] 在本发明的描述中,需要说明的是,对于方位词,如有术语“外侧”,“中段”、“内”、“外”等指示方位和位置关系为基于附图所示的方位或位置关系,仅是为了便于叙述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定方位构造和操作,不能理解为限制本发明的具体保护范围。
[0033] 此外,如有术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或隐含指明技术特征的数量。由此,限定有“第一”、“第二”特征可以明示或者隐含包括一个或者多个该特征,在本发明描述中,“数个”、“若干”的含义是两个或两个以上,除非另有明确具体的限定。
[0034] 参照图1至图3,本发明实施例提供一种高度可编程处理器阵列网络(CPPA: Configurable Processor Array Network),该高度可编程处理器阵列网络将FPGA的基本单元由逻辑门阵列替换为小型处理器节点(例如CPU核或GPU核等),形成一个高度可编程的处理器阵列网络,以实现更高级别的计算抽象和能效提升。
[0035] 本发明的高度可编程处理器阵列网络包括处理器阵列1和动态随机存储器层2。
[0036] 处理器阵列1具有若干呈阵列分布的处理器单元11,处理器单元11具有处理器节点111及寄存器群112(也称寄存器组),相邻处理器节点111之间通过寄存器群112进行数据交互。
[0037] 动态随机存储器层2具有一层或若干层动态随机存储器21(Dynamic Random Access Memory,DRAM),动态随机存储器层2堆叠于处理器阵列1上层,各动态随机存储器21与各处理器节点111分别连接。
[0038] 本发明设计为处理器阵列形式,在封装时可以随意定制处理器阵列的大小,根据需求进行切割,也可实现单晶圆大芯片目的。
[0039] 本发明通过三维堆叠技术,构建由一个众核处理器节点核心层和多层DRAM层组成的CPPA。所有处理器节点通过共享上层堆叠的DRAM空间,实现高效的数据交换和计算资源优化,尤其适用于AI、大数据处理等数据密集型任务。
[0040] 本发明每个处理器节点均被设计为一个自治单元,拥有自己的内存管理、控制逻辑和对外通信能力。每个处理器节点均配备有完整的计算资源与控制逻辑,能够独立执行程序代码、管理本地内存与外设交互。这意味着,任何处理器节点都能发起计算任务、管理数据传输和控制其他节点的协作,而不依赖于单一中心控制器。
[0041] 本发明任务调度和分配不再由单一主机控制,而可以通过网络上的分布式任务调度算法实现,该算法基于处理器节点的当前负载、资源可用性及任务特性平衡任务分配。每个处理器节点间通过标准化协议进行直接通信,无需通过中心控制器中转。每个处理器节点可以依据当前负载、资源状态和任务队列,动态决定接受新任务、委托任务给其他节点或是请求资源,实现真正的对等计算环境。
[0042] 具体的,可通过具有分布式任务调度算法的资源调度系统,动态分配内存资源,根据任务需求和运行时状况,优化数据分布,减少数据复制和迁移,提高数据访问效率。
[0043] 在一些实施例中,处理器阵列1具有2n个呈阵列分布的处理器单元11,其中n为自n/2 n/2 (n然数。当n为偶数时,处理器阵列1具有2 行和2 列。当n为奇数时,处理器阵列1具有2 ‑1)/2 (n+1)/2
行和2  列。
[0044] 通过上述的合理设计后,便于根据需求对处理器阵列1进行切割成需要的网络大小。
[0045] 在一些实施例中,参照图1,在单个处理器单元11中,寄存器群112位于处理器节点111的四周,寄存器群112分别与四个方向的其他相邻处理器单元11进行数据交互。
[0046] 在一些实施例中,在单个处理器单元11中,处理器节点111与寄存器群112通过金属层铜互联实现连接。
[0047] 在相邻处理器单元11中,相邻两个寄存器群112通过金属层铜互联实现连接。
[0048] 金属层铜互联可确保数据传输的低延迟。
[0049] 在一些实施例中,参照图2,在单个处理器单元11中,处理器节点111的四周设置有存储控制器节点113(Memory control,MC),处理器节点111通过四个方向的存储控制器节点113分别与四个方向的寄存器群112进行数据交互。
[0050] 在一些实施例中,参照图3,在单个处理器单元11中,处理器节点111与存储控制器节点113通过金属层铜互联实现连接,存储控制器节点113与寄存器群112通过金属层铜互联实现连接。
[0051] 在相邻处理器单元11中,相邻两个寄存器群112通过金属层铜互联实现连接。
[0052] 在一些实施例中,处理器节点111包括中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)、张量处理器(Tensor Processing Unit,TPU)、处理器分散处理器(Data Processing Unit,DPU)、智能处理器(Image Processing Unit,IPU)或神经网络处理器(Neural‑network Processing Unit,NPU)。
[0053] 因此,本发明采用三维堆叠技术,可构建主要具有一个众核CPU/ GPU/ TPU/ DPU/ IPU/ NPU核心层和多层DRAM层组成的CPPA。
[0054] 在一些实施例中,处理器阵列1投影与上层动态随机存储器层2区域完全重合。
[0055] 在一些实施例中,参照图3,处理器节点111通过寄存器群112与动态随机存储器层2实现连接。
[0056] 在一些实施例中,寄存器群112与动态随机存储器层2通过金属层铜互联实现连接。
[0057] 具体的,当动态随机存储器层2为若干层动态随机存储器21时,寄存器群112分布与每一层的动态随机存储器21通过金属层铜互联实现连接。
[0058] 在一些实施例中,为了实现处理器节点之间的去中心化,在上层DRAM的存储空间中,动态随机存储器层2内具有属于各处理器节点111的独立存储空间。该独立存储空间通过处理器节点的本地内存管理电路控制与分配。
[0059] 在一些实施例中,为了实现处理器节点之间的数据高速通信和数据的强相关,各处理器节点111共享动态随机存储器层2内的所有地址空间。即所有的处理器节点111都可访问动态随机存储器层2内全部地址。
[0060] 在一些实施例中,在本发明的CPPA中,可集成高效NoC(network on chip,片上网络),优化数据在处理器节点和DRAM之间的传输,支持高带宽、低延迟的通信。NoC采用动态路由算法,根据网络状况和任务优先级智能调整数据流向,提升数据处理并行度。NoC架构采用了多维度环形或二维网格拓扑,确保数据能够在多个方向上传输,减少传输瓶颈。动态路由算法基于分布式自适应机制,收集网络流量信息与任务优先级指标,利用先进先出(FIFO)队列结合优先级队列管理策略,动态规划数据传输的最佳路径。此外,NoC中嵌入的流量控制机制可预防数据包冲突与拥塞,进一步提升数据传输的流畅性与效率。
[0061] 在一些实施例中,在本发明的CPPA中,可使用硬件描述语言(HDL)层面对处理器节点的微架构进行细粒度定制,如指令集、缓存大小和互连拓扑。
[0062] 以上结合附图实施例对本发明进行了详细说明,本领域中普通技术人员可根据上述说明对本发明做出种种变化例。因而,实施例中的某些细节不应构成对本发明的限定,本发明将以所附权利要求书界定的范围作为保护范围。

当前第1页 第1页 第2页 第3页