一种支持不同架构多处理器扩展的系统和方法技术方案

技术编号:25123119 阅读:23 留言:0更新日期:2020-08-05 02:52
本发明专利技术提出了一种支持不同架构多处理器扩展的系统,该系统包括主代理节点和处理器协同芯片;主代理节点通过高速I/O接口协议与处理器协同芯片通信;处理器协同芯片完成高速I/O接口协议和自定义轻量级数据传输协议之间的数据互相转换和数据传输;处理器协同芯片之间通过协同芯片互联网络通信,其中处理器协同芯片支持高速I/O接口协议和自定义轻量级数据传输协议。本发明专利技术支持多种不同架构不同厂商的CPU搭建计算系统。基于本发明专利技术提出的系统,还提出了扩展的方法,本发明专利技术利用高速I/O接口和处理器协同芯片,实现不同架构CPU在一个系统下的兼容,为不同架构不同厂商的CPU集成在同一个计算系统里提供了基础结构。

【技术实现步骤摘要】
一种支持不同架构多处理器扩展的系统和方法
本专利技术涉及芯片设计
,特别是公开了一种支持不同架构多处理器扩展的系统和方法。
技术介绍
随着大数据、人工智能等技术的发展,一方面出于对不同应用场景的针对性优化越来越多,另一方面对系统的功耗等要求越来越苛刻。而随着工艺向更深演进,具体来说就是7nm之后,收到的材料和物理上的限制越来越大,单颗CPU的性能提升也不断在放缓。这种情况下,面对性能和功耗的要求,更多的系统选择了不同于传统上的方案,采用了多核的架构。CPU,即中央处理器,在计算机和智能系统中的核心部件。传统上它承担了系统中绝大部分的控制和计算操作,而随着SoC、Chiplet等技术的发展,使用定制化计算、控制模块、或者独立芯片来针对性地提高特定应用能力的方式越来越常见,CPU承担的最重要和必须的功能是承载上层的操作系统和应用软件,提供完善的指令集架构,控制系统底层模块之间的指令和数据传输。标准IO协议的数据传输一般都是不对称的,如PCIe,简单来说会规定数据传输的节点为两类,一类是master,指的是CPU这样的会主动发出控制命令和发起数据传输的节点,另一类是slave,指的是设备或者从属模块,主要是接受CPU的控制命令完成操作和数据传输。显然,这种传输方式,一般情况下一个系统里支持一个master。而像PCIe这样的协议,也在不断改进,从协议上开始支持一个系统里多个master,使用非透明桥技术,,从而支持多个CPU芯片对同一设备的共享,但这种方式实现上还是比较复杂,并且master之间的通信也没有优化。作为CPU中最重要,也是最能表达其特征的就是指令集架构,它决定了CPU是怎么工作的。而自从有CPU出现,指令集架构就在不断演进,有了不同的思路和解决方案,到了现在,比较主流的指令集架构包括:X86、Power、MIPS、ARM、RISC-V等等,这些指令集架构区别已经非常大了,彼此完全不兼容,基于不同指令集架构下设计的软件系统区别也非常大,甚至在同一指令集架构下的不同厂商的CPU,往往也不兼容,比如X86下的Intel和AMD,因此对一个系统而言,一般只会支持一种指令集架构,有些场景下,比如在X86架构或其它架构下的服务器中,会有BMC这样的子系统,BMC有自己的处理器核心,可以和服务器CPU的架构不同,因为这个子系统只是用来监测和收集信息,并不会和CPU协同工作。处理器协同芯片,是基于Intel和Power的特定CPU芯片的互联接口,用于单一计算系统中突破互联接口限制,扩展CPU个数。但因为设计复杂,而且需要针对目标CPU架构的互联接口,这一方面要求CPU厂商开放其接口设计,另一方面还是无法与其它厂商兼容。全球只要非常少的厂商和系统有该项技术,无法实现通用性。为了在单颗CPU性能提升受到限制的情况下,为了提升系统的性能和满足不同应用场景的定制化需求,主要有两个方向。一个是基于SoC和Chiplet等技术,在系统或芯片中增加定制化计算或者控制模块来针对性地提高特定应用能力,比如为了提高AI算法中的计算能力,在CPU之外增加专用AI计算单元模块,通过CPU的标准高速IO接口或者专用的协处理器接口,比较新的处理器架构支持,比如RISC-V连接,在进行计算时,CPU直接将计算任务和数据发送给AI计算单元模块,这样的好处一方面是降低了对CPU资源的占用,另一方面是定制化的AI计算单元模块在专用领域的性能和功耗上一般都会有明显的优势。另一个方向是增加CPU个数,通过CPU专用的互联接口实现缓存和计算资源的共享,从而以并行处理的方式提高整体性能。现有的两种扩展CPU能力的方式都有局限性。用定制化计算模块的方式提升系统性能,只适用于特定一种或者某几种特定的应用场景,缺乏通用性。用CPU互联接口扩展CPU个数的方式,首先会受到CPU类型的限制,不同指令集架构、不同厂商之间的CPU是无法兼容的,因为互联接口不同,甚至同一厂商的不同型号的CPU,都很有可能无法兼容,这样的话就只是单纯的数量叠加,可以优化的空间有限;然后这个扩展的规模是比较有限的,因为互联接口往往受限于共享缓存和计算资源维护的复杂性,在厂商设计时就会有一个硬性的规模限制,并且不同厂商之间设置的规模也不同。
技术实现思路
本专利技术提出了一种支持不同架构多处理器扩展的系统和方法,利用高速I/O接口和处理器协同芯片,实现了不同架构CPU在同一个系统下的兼容。为了实现上述目的,本专利技术提出了一种支持不同架构多处理器扩展的系统,该系统包括主代理节点和处理器协同芯片;主代理节点通过高速I/O接口协议与处理器协同芯片通信;处理器协同芯片完成高速I/O接口协议和自定义轻量级数据传输协议之间的数据互相转换和数据传输;处理器协同芯片之间通过协同芯片互联网络通信。进一步的,所述处理器协同芯片支持高速I/O接口协议和自定义轻量级数据传输协议。进一步的,所述处理器协同芯片包括高速I/O接口、虚拟slave代理节点、协议处理引擎和自定义轻量级数据传输接口;所述高速I/O接口用于完成与主代理节点的通信;所述虚拟slave代理节点用于完成系统的连接和高速I/O接口协议内数据类型的转换;所述协议处理引擎用于完成高速I/O接口协议和自定义轻量级数据传输协议之间的转换和数据传输;所述自定义轻量级数据传输接口用于完成处理器协同芯片之间的通信。进一步的,所述协议处理引擎为芯片逻辑电路。进一步的,所述协同芯片互联网络采用自定义网络互连通信。进一步的,所述主代理节点与一台或者若干台CPU相连。基于一种支持不同架构多处理器扩展的系统,本专利技术还提出了一种支持不同架构多处理器扩展的方法,包括以下步骤:S1:主代理节点通过高速I/O接口协议给处理器协同芯片发送第一数据;S2:处理器协同芯片在第一处理过程接收第一数据,并将第一数据转换成支持自定义轻量级数据传输协议的第二数据,处理器协同芯片之间通过协同芯片互联网络完成第二数据的传输;S3:处理器协同芯片在第二处理过程将第二数据转换成支持高速I/O接口协议的第一数据。
技术实现思路
中提供的效果仅仅是实施例的效果,而不是专利技术所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:本专利技术实施例提出了一种支持不同架构多处理器扩展的系统,该系统包括主代理节点和处理器协同芯片;主代理节点通过高速I/O接口协议与处理器协同芯片通信;处理器协同芯片完成高速I/O接口协议和自定义轻量级数据传输协议之间的数据互相转换和数据传输;处理器协同芯片之间通过协同芯片互联网络通信,其中处理器协同芯片支持高速I/O接口协议和自定义轻量级数据传输协议。处理器协同芯片包括高速I/O接口、虚拟slave代理节点、协议处理引擎和自定义轻量级数据传输接口;高速I/O接口用于完成与主代理节点的通信;虚拟slave代理节点用于完成系统的连接和高速I/O接口协议内数据类型的转换;协议处理引擎用于完成高速I/O接口协议和自定义轻量级数据传输协议之间的转换和数据传输;自定义轻量级数据传输接口用于完成处本文档来自技高网
...

【技术保护点】
1.一种支持不同架构多处理器扩展的系统,其特征在于,包括主代理节点和处理器协同芯片;/n主代理节点通过高速I/O接口协议与处理器协同芯片通信;处理器协同芯片完成高速I/O接口协议和自定义轻量级数据传输协议之间的数据互相转换和数据传输;处理器协同芯片之间通过协同芯片互联网络通信。/n

【技术特征摘要】
1.一种支持不同架构多处理器扩展的系统,其特征在于,包括主代理节点和处理器协同芯片;
主代理节点通过高速I/O接口协议与处理器协同芯片通信;处理器协同芯片完成高速I/O接口协议和自定义轻量级数据传输协议之间的数据互相转换和数据传输;处理器协同芯片之间通过协同芯片互联网络通信。


2.根据权利要求1所述的一种支持不同架构多处理器扩展的系统,其特征在于,所述处理器协同芯片支持高速I/O接口协议和自定义轻量级数据传输协议。


3.根据权利要求1所述的一种支持不同架构多处理器扩展的系统,其特征在于,所述处理器协同芯片包括高速I/O接口、虚拟slave代理节点、协议处理引擎和自定义轻量级数据传输接口;
所述高速I/O接口用于完成与主代理节点的通信;所述虚拟slave代理节点用于完成系统的连接和高速I/O接口协议内数据类型的转换;所述协议处理引擎用于完成高速I/O接口协议和自定义轻量级数据传输协议之间的转换和数据传输;所述自定义轻量级数据传输接口用于完成处理器协同芯片之...

【专利技术属性】
技术研发人员:李拓
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1