一种基于飞腾平台的网络checksum算法优化方法技术

技术编号:27974722 阅读:26 留言:0更新日期:2021-04-06 14:08
本发明专利技术公开了一种基于飞腾平台的网络checksum算法优化方法,其实现过程为:首先装载128bit数据到NEON 128位寄存器中,以减少循环次数;然后采用NEON向量成对相加指令,将NEON 128位寄存器中数据划分为8个16bit数据进行成对相加,而当数据流处理到一定长度时则切换到arm64汇编来处理;然后再进行64bit转16bit算法操作。本发明专利技术的一种基于飞腾平台的网络checksum算法优化方法与现有技术相比,有效降低了网络UDP接收数据时checksum算法所带来的延时,从而达到提高UDP包数据传输效率的目地,具有自主可控性、实现方式的独创性、实现效果明显等优点。

【技术实现步骤摘要】
一种基于飞腾平台的网络checksum算法优化方法
本专利技术属于通信及计算机
,具体涉及一种基于飞腾平台的网络checksum算法优化方法。
技术介绍
国产飞腾系列处理器是基于ARM64体系结构,全面兼容ARMV8指令集,内部实现了NEON拓展指令。这种拓展指令SIMD部分弥补了飞腾处理器在CPU频率方面存在的弱势,可提高数据密集型应用内存访问和数据计算的速度。其中,常见的数据密集型应用包括有图形计算、娱乐影音、数据校验等。以太网是当今现有局域网采用的最通用的通信协议标准,在传输层有多种协议可选,其中UDP协议因为结构精简、传输开销小而在局域网上应用非常广泛。UDP协议是一个简单的面向数据报的传输层协议,提供的是非面向连接的、不可靠的数据流传输。UDP协议是在以太网的数据包中的数据段,UDP封装包头中包括源端口、目的端口、UDP长度以及UDP的checksum,对于16bitUDP的checksum校验和计算会包括UDP的checksum域后面的所有数据负载。据悉,现有的UDP的checksum校验和计算方法是先将UDP本文档来自技高网...

【技术保护点】
1.一种基于飞腾平台的网络checksum算法优化方法,其特征在于,所述方法包括步骤:/nS1:确定NEON指令循环次数cnt_neon和汇编循环次数cnt_asm;/nS2:定义NEON寄存器变量VA和VB,并初始化为0;/nS3:判断cnt_neon>0是否成立;若是,执行步骤S4;若否,执行步骤S7;/nS4:从buff中加载8个16bit数据到VB;/nS5:采用UADALP向量加法指令完成VA与VB的向量加法计算;/nS6:将cnt_neon减1,且将buff后移16字节,并返回步骤S3;/nS7:将VA中的4个32bit数据累加到result;/nS8:判断cnt_asm>0是否成...

【技术特征摘要】
1.一种基于飞腾平台的网络checksum算法优化方法,其特征在于,所述方法包括步骤:
S1:确定NEON指令循环次数cnt_neon和汇编循环次数cnt_asm;
S2:定义NEON寄存器变量VA和VB,并初始化为0;
S3:判断cnt_neon>0是否成立;若是,执行步骤S4;若否,执行步骤S7;
S4:从buff中加载8个16bit数据到VB;
S5:采用UADALP向量加法指令完成VA与VB的向量加法计算;
S6:将cnt_neon减1,且将buff后...

【专利技术属性】
技术研发人员:胡海刘正元刘云肖林逵黄锦慧李佑鸿彭灿孙立明张铎李唯实曾驰
申请(专利权)人:麒麟软件有限公司
类型:发明
国别省市:天津;12

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

1