1.一种网络处理器,包括从机、中控单元及主机,其特征在于,所述从机包括:
功能单元阵列模块,用于实现网络数据包的处理,由多个功能单元构成;
控制模块,用于对长指令进行解码,将解码得到的每一子指令发送至对应的功能单元,并控制每一功能单元执行子指令时的顺序;
每一功能单元设有对应的配置寄存器,所述配置寄存器中存储有一套配置向量,每一配置向量中存储有对应的配置信息,所述一套配置向量对应于一种类型的网络协议,在处理器配置加载周期,每一功能单元根据所述子指令选取对应的配置向量,并读取配置信息后加载到相应的配置信息寄存器中。
2.根据权利要求1所述的网络处理器,其特征在于,所述功能单元阵列模块包括:
fetch功能单元,用于从数据总线读取数据,并分发到其它功能单元或者内存;
match功能单元,用于对网络数据进行多字节比较;
calc功能单元,用于对网络数据进行基本alu操作;
modify功能单元,用于对网络数据进行提取、写入及修改操作;
decide功能单元,用于对网络数据进行搜索并实现跳转;
repeat功能单元,用于提取载荷,以及重复执行当前指令的操作;
checksum功能单元,用于对数据进行校验和checksum计算;
crc功能单元,用于对数据进行循环冗余校验crc计算。
3.根据权利要求1所述的网络处理器,其特征在于,所述功能单元阵列模块还包括:
fmmu功能单元,用于使用现场存储管理单元寻址并读写数据;
sync功能单元,用于使用同步管理器进行寻址并读写数据。
4.根据权利要求1所述的网络处理器,其特征在于,所述网络处理器还包括:
配置存储器,用于在所述网络处理器初始化时,向每一功能单元的配置寄存器写入与网络协议类型对应的配置向量。
5.根据权利要求1所述的网络处理器,其特征在于,所述控制模块包括:
程序计数器单元,用于根据程序目标地址,生成pc指针;
指令译码器,用于对总指令进行解码,转换为与每一功能单元对应的子指令;
内存读写控制器,用于控制存储载荷的数据存储器的读写操作;
外部管理总线,用于管理各功能单元的配置向量。
6.根据权利要求5所述的网络处理器,其特征在于,所述控制模块还包括:
流水线顺序管理器,用于根据每一子指令,向各功能单元发出顺序的处理周期使能信号,以控制每个功能单元的执行顺序。
7.根据权利要求1所述的网络处理器,其特征在于,还包括接口转发逻辑模块,与物理接口连接,用于适配异步时钟域;
所述接口转发逻辑模块采用多于两级管道的先进先出异步寄存器对数据流进行处理,且每一管道的数据宽度乘以系统时钟大于入口比特率。
8.根据权利要求1-7任一项所述的网络处理器,其特征在于,所述网络处理器中存储有指令集,所述指令集中包括:
fetch指令,用于从数据总线读取数据,并分发到相应功能单元或者内存;
match指令,用于对网络数据进行多字节比较;
calc指令,用于对网络数据进行基本alu操作;
modify指令,用于对网络数据进行提取、写入及修改操作;
decide指令,用于对网络数据进行搜索并实现跳转;
repeat指令,用于提取载荷,以及重复执行当前指令的操作;
checksum指令,用于对数据进行校验和checksum计算;
crc指令,用于对数据进行循环冗余校验crc计算;
还包括,用于支持ethercat协议的:
fmmu指令,用于使用现场存储管理单元寻址并读写数据;
sync指令,用于使用同步管理器进行寻址并读写数据。
9.根据权利要求8所述的网络处理器,其特征在于,所述指令集还包括:
frame指令,用于控制网络处理器数据帧操作阶段的系统指令,并指示数据帧操作结束;
bytes指令,用于字节的大端模式、小端模式的整合与分解之间的转换。
10.一种基于权利要求1-9任一项所述网络处理器的网络数据的入栈处理方法,其特征在于,包括:
控制模块对长指令进行解码,将解码后的每一子指令发送给功能阵列模块中相应的功能单元;
每一功能单元从配置向量中,选取处理相应子指令的配置,并加载至配置信息寄存器中;
每一功能单元根据加载后的配置,根据控制模块的控制信息,执行相应的子指令,通过模块互联,实现对网络数据的入栈处理。