片上系统的制作方法

文档序号:18684845发布日期:2019-09-13 23:48阅读:206来源:国知局
片上系统的制作方法

本发明涉及数据处理领域,尤其涉及片上系统。



背景技术:

随着互联网技术及大数据技术的发展,出现了大量生成后极少再被使用的数据-冷数据。由于冷数据数量通常较大,因此需要专门的服务器存储冷数据。

现有服务器主要由处理器、存储器及网络接口卡(Network Interface Card,简称NIC)构成,服务器主要的数据处理操作在于数据的输入输出和存储两方面。例如,服务器在接收并存储数据过程中,由网络适配卡将网络线缆上传入的数据包发送给处理器;处理器先从接收到的数据包中解析出报文净荷,然后再对报文净荷进行处理得到处理结果,即数据本身,最后进行数据的存储操作。

由此可以看出,在服务器处理冷数据过程中,其中的处理器的计算资源大量消耗在解析数据包报文净荷的过程中,从而导致处理器的I/O性能低。



技术实现要素:

本发明实施例提供了片上系统,以解决处理器处理数据包时I/O性能低的问题。

第一方面,本发明实施例提供了一种片上系统,该片上系统包括:

处理器核心、交换控制器、协议处理器及分段缓存;其中,所述分段缓存分别与所述交换控制器、所述协议处理器、所述处理器核心电气连接,所述协议处理器与所述处理器核心电气连接;所述交换控制器,用于在NIC所接收网络数据包的目的地址为本机时,将所述网络数据包存储至所述分段缓存;所述协议处理器,用于在支持所述分段缓存中已分段缓存数据包的第一传输协议时,从所述已缓存数据包中摘取出报文净荷,以便于所述处理器核心进一步处理所述报文净荷,得到处理器结果。

结合第一方面,在第一方面第一种可能的实现方式中,

所述处理器核心,还用于在所述已分段缓存数据包的数量超出所述交换控制器的处理能力时,处理所述已分段缓存数据包中超出所述交换控制器的处理能力的部分,得到处理器结果。

结合第一方面,在第一方面第二种可能的实现方式中,

所述处理器核心,还用于在所述协议处理器不支持所述已缓存数据包的第一传输协议时,处理所述已缓存数据包,得到处理器结果。

结合第一方面,在第一方面第三种可能的实现方式中,

所述交换控制器,还用于在所述网络数据包的目的地址为其他设备时,转发所述网络数据包。

结合第一方面,在第一方面第四种可能的实现方式中,

所述片上系统还包括与所述协议处理器电气连接的高速缓存;所述高速缓存用于缓存所述报文净荷,以便于采用直接内存存取DMA方式将所述报文净荷存储至内存中,以供处理器核心进一步处理所述报文净荷。

结合第一方面第一种可能的实现方式或第一方面第二种可能的实现方式,在第一方面第五种可能的实现方式中,

所述片上系统还包括电气连接在所述分段缓存与所述处理器核心之间的预处理器;所述预处理器,用于对所述分段缓存中的已缓存数据包进行通用以太网二层数据处理,以便于所述处理器核心进一步对经过通用以太网二层数据处理的已缓存数据包进行处理,得到处理器结果。

结合第一方面,在第一方面第六种可能的实现方式中,

所述协议处理器,还用于在支持待发送数据需采用的第二传输协议时,使用所述第二传输协议对所述待发送数据进行打包得到待发送数据包;所述交换控制器,还用于将所述待发送数据包发送至NIC,以便于所述NIC发送所述待发送数据包。

结合第一方面第六种可能的实现方式,在第一方面第七种可能的实现方式中,

所述处理器核心,还用于在所述协议处理器不支持所述第二传输协议时,使用所述第二传输协议对所述待发送数据包进行打包得到待发送数据包。

结合第一方面第六种可能的实现方式或第一方面第七种可能的实现方式,在第一方面第五种可能的实现方式中,

所述分段缓存,还用于缓存所述待发送数据包。

第二方面,本发明实施例还提供了另一种片上系统,该片上系统包括:

交换控制器、协议处理器、处理器核心及与所述交换控制器、所述协议处理器、所述处理器核心分别电气连接的分段缓存,所述协议处理器与所述处理器核心电气连接;所述协议处理器,用于在支持待发送数据需采用的第二传输协议时,使用所述第二传输协议对所述待发送数据进行打包得到待发送数据包;所述交换控制器,用于将所述待发送数据包发送至NIC,以便于所述NIC发送所述待发送数据包。

结合第二方面,在第二方面第一种可能的实现方式中,

所述处理器核心器,还用于在所述协议处理器不支持所述第二传输协议时,使用所述第二传输协议对所述待发送数据包进行打包得到待发送数据包。

结合第二方面或第二方面第一种可能的实现方式,在第二方面第二种可能的实现方式中,

结合第二方面、第二方面第一种可能的实现方式或第二方面第二种可能的实现方式,在第二方面第三种可能的实现方式中,

所述交换控制器,还用于在NIC所接收网络数据包的目的地址为本机时,将所述网络数据包存储至所述分段缓存;所述协议处理器,还用于在支持所述分段缓存中已分段缓存数据包的第一传输协议时,从所述已缓存数据包中摘取出报文净荷,以便于所述处理器核心进一步处理所述报文净荷,得到处理器结果。

本发明实施例中,片上系统包括处理器核心、交换控制器、协议处理器及分段缓存;所述分段缓存分别与所述交换控制器、所述协议处理器、所述处理器核心电气连接,所述协议处理器与所述处理器核心电气连接;所述交换控制器,用于在NIC所接收网络数据包的目的地址为本机时,将所述网络数据包存储至所述分段缓存;所述协议处理器,用于在支持所述分段缓存中已分段缓存数据包的第一传输协议时,从所述已缓存数据包中摘取出报文净荷,以便于所述处理器核心进一步处理所述报文净荷,得到处理器结果。与现有技术相比,本发明实施例中的SoC,可以由协议处理器解析数据包中的报文净荷,并由处理器核心对报文净荷进行处理。采用此方式,可以降低处理器核心在解析数据包报文净荷的过程中的计算资源消耗量,从而使处理器核心有更多的计算资源用于报文净荷处理,从而可以提升处理器核心的I/O性能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明SoC一个实施例的结构示意图;

图2为本发明SoC另一个实施例的结构示意图。

具体实施方式

随着64位数据处理带宽的版本发布,ARM(Advanced RISC Machine)处理器核心的性能和可扩展性得到极大的提升,已逐渐能满足类似冷数据等应用的计算性能和存储空间支持的需求。在使用ARM处理器时,可以将计算机系统所需的控制器、存储器及ARM处理器集成在一起,构成片上系统(System on Chip,简称SoC)。本发明通过在SoC中集成处理器核心、交换控制器、协议处理器及分段缓存等模块,实现接收和发送数据的功能。从而可以使SoC能够替代现有服务器中的传统处理器完成数据的接收和发送工作。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,为本发明SoC一个实施例的结构示意图。如图1所示,该SoC可以由处理器核心101、交换控制器102、协议处理器103及分段缓存104构成。其中,所述分段缓存104分别与所述交换控制器102、所述协议处理器103、所述处理器核心101电气连接,所述协议处理器103与所述处理器核心101电气连接。

其中,协议处理器103是一个可编程的FPGA模块,可根据需求进行配置,使其支持对不同网络协议的处理,其内部可以为专门针对网络协议对数据包进行封装、解析的芯片电路。

SoC所在服务器上的所有NIC 105都可以通过内部互联总线连接到交换控制器102。NIC 105对外提供连接网络的通信线路接口,可根据需要连接到不同的线缆适配器,例如电缆接口、光纤接口或无限带宽技术(InfiniBand)接口,实现数据信号的接收和发送的功能。

下面结合SoC接收数据的过程,SoC各个模块做进行一步说明。

该SoC在接收数据时,NIC 105将网络线缆上传入的数据信号解析成为网络数据包,并将网络数据包发送到交换控制器102。

在所述网络数据包的目的地址为其他设备时,交换控制器102可以将网络数据包返回给NIC 105,以使NIC 105将所述网络数据包转发到其目的地址。在NIC 105所接收网络数据包的目的地址为本机时,交换控制器102将所述网络数据包存储至所述分段缓存104。在实际使用中,如果协议处理器103支持所述网络数据包的传输协议,那么交换控制器102可以将该网络数据包放入分段缓存104的硬件卸载分段,以便于协议处理器103处理该网络数据包;如果协议处理器103不支持所述网络数据包的传输协议,或者协议处理器103没有空闲处理能力处理该网络数据包,那么交换控制器102可以将该网络数据包放入分段缓存104的软件卸载分段,以便于处理器核心101处理该网络数据包。

所述协议处理器103,用于在支持所述分段缓存104中已分段缓存104数据包的第一传输协议时,从所述已缓存数据包中摘取出报文净荷,以便于所述处理器核心101进一步处理所述报文净荷,得到处理器结果。在实际使用中,协议处理器103可以直接从分段缓存104的硬件卸载分段中获取已缓存数据包,并对获取到的已缓存数据包进行协议处理,摘取出报文净荷。

所述处理器核心101,除了可以用于处理所述报文净荷,得到处理器结果外,还可以用于在所述已分段缓存104数据包的数量超出所述交换控制器102的处理能力时,直接处理所述已分段缓存104数据包中超出所述交换控制器102的处理能力的部分,得到处理器结果;或者,也可以用于在所述协议处理器103不支持所述已缓存数据包的第一传输协议时,处理所述已缓存数据包,得到处理器结果。在实际使用中,处理器核心101可以直接从分段缓存104的软件卸载分段中获取已缓存数据包,并对获取到的已缓存数据包进行协议处理,摘取出报文净荷。

为便于处理器核心101对已缓存数据包进行处理,如图2所示,所述的SoC还可以包括一个预处理器106。所述预处理器106电气连接在所述分段缓与所述处理器核心101之间。

所述预处理器106,可以用于对所述分段缓存104软件卸载分段中的已缓存数据包进行通用以太网二层数据处理,以便于所述处理器核心101进一步对经过通用以太网二层数据处理的已缓存数据包进行处理,得到处理器结果。

为便于处理器核心101对报文净荷进行处理,如图2所述,所述的SoC还可以包括一个高速缓存107。所述高速缓存107与所述协议处理器电气连接,用于缓存所述报文净荷,以便于采用直接内存存取(Direct Memory Access,简称DMA)方式将所述报文净荷存储至内存108中,以供处理器核心101进一步处理所述报文净荷。

下面结合SoC发送数据的过程,SoC各个模块做进行一步说明。

该SoC在发送数据时,如果所述协议处理器103支持待发送数据需采用的第二传输协议,所述协议处理器103还可以使用所述第二传输协议对所述待发送数据进行打包得到待发送数据包,然后将待发送数据包存入所述分段缓存104的待发送分段中。

如果所述协议处理器103不支持待发送数据需采用的第二传输协议,所述处理器核心101还可以使用所述第二传输协议对所述待发送数据进行打包得到待发送数据包,然后将待发送数据包存入所述分段缓存104的待发送分段中。

该SoC在发送数据时,交换控制器102,还用于将所述待发送数据包发送至NIC 105,以便于所述NIC 105发送所述待发送数据包。NIC 105在接收到待发送数据包后,将待发送数据包转换为数据信号,并通过网络线缆进行发送。

本发明实施例中的SoC,可以由协议处理器解析数据包中的报文净荷,并由处理器核心对报文净荷进行处理。采用此方式,可以降低处理器核心在解析数据包报文净荷的过程中的计算资源消耗量,从而使处理器核心有更多的计算资源用于报文净荷处理,从而可以提升处理器核心的I/O性能。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络接口卡等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1