数据处理设备和光传送网络交换机的制作方法

文档序号:18600897发布日期:2019-09-03 22:38阅读:187来源:国知局
数据处理设备和光传送网络交换机的制作方法
本发明涉及通信领域,并且更具体地,涉及数据处理设备和光传送网络交换机。
背景技术
:为了降低网络的资本支出(Capex或Opex),业界提出了软件定义网络(SoftwareDefinedNetwork,SDN)以及网络功能虚拟化(Networkfunctionvirtualization,NFV)技术,通过分离通信设备的数据面和控制面,标准化硬件架构,开放接口和可编程能力,来简化设备实现和运营维护,加速网络业务的创新和部署,发挥信息技术(InformationTechnology,IT)的规模优势。在现有的SDN中,网络上层业务功能以软件方式实现,并能在一系列的工业标准服务器硬件上运行,可以根据需要进行迁移、实例化,并且部署在网络的不同位置,而不需要安装新设备,一般采用基于X86架构的服务器作为其实现的基础;在网络转发层,采用标准化接口,转发平面只包括基本的指令集和表资源,而转发流程和业务都由远程控制器进行加载部署,一般采用网络处理器(NetworkProcessor,NP)或协议独立转发(ProtocolIndependentForwarding,PIF)处理器作为其实现的基础;网络L1层主要负责对物理层的比特流进行时钟数据恢复和同步、速率适配映射、复用、成帧和前向误差校正(ForwardErrorCorrection,FEC)等处理,一般采用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)来实现其功能,设备对用户是一种黑盒状态,用户仅能做一些配置管理工作。随着技术的发展,L1层数据面需要破除固化的功能实现,打破设备的黑盒状态,业界提出采用NP或者PIF芯片来实现L1的业务功能。NP多采用专用于分组数据平面处理的优化设计的精简指令集计算机(ReducedInstructionSetComputer,RISC)处理器作为处理引擎,通过微码编程来完成业务处理。NP的编程颗粒为RISC处理器,在程序计数器的控制下执行程序指令,访问数据存储单元,来完成业务处理。该结构下的内存墙成为数据比特流处理的最大障碍,无法满足L1层对比特流处理的性能要求。技术实现要素:本发明实施例提供了一种数据处理设备和OTN交换机,能够提高数据处理性能。第一方面,提供了一种数据处理设备,包括:多个处理元素,该多个处理元素中的每个处理元素包括比特交织单元和至少一个ALU,该比特交织单元的至少一个输出端口与该至少一个ALU一一对应,其中,该比特交织单元用于根据多个连续比特的当前帧头偏移信息,确定由该多个连续比特组成的至少一个比特组中每个比特组对应的目标输出端口,以及从该对应的目标输出端口输出该每个比特组,其中,该至少一个比特组中每个比特组包括该多个连续比特中的至少一个连续比特;该至少一个ALU中的至少一个目标ALU用于接收该比特交织单元传输的该至少一个比特组中的至少一个第一比特组,并对该至少一个第一比特组执行指令,以获得指令执行结果,其中,该至少一个目标ALU与该至少一个比特组对应的至少一个目标输出端口相对应。在第一种可能的实现方式中,该设备存储有预设帧头偏移值与输出端口之间的对应关系;该比特交织单元具体用于根据该多个连续比特的当前帧头偏移信息以及该预设帧头偏移值与输出端口之间的对应关系,确定该至少一个比特组中每个比特组的目标输出端口。结合上述可能的实现方式,在第二种可能的实现方式中,该预设帧头偏移值以M个比特为单位,M≥1,该比特交织单元具体用于:根据该多个连续比特的当前帧头偏移信息,确定该至少一个比特组中的每个比特组的帧头偏移值,其中,该至少一个比特组中的每个比特组包括M个连续比特;确定该预设帧头偏移值与输出端口之间的对应关系中与该每个比特组的帧头偏移值相对应的输出端口;将该对应的输出端口确定为该每个比特组的目标输出端口。结合上述可能的实现方式,在第三种可能的实现方式中,该多个处理元素中的每个处理元素存储有该预设帧头偏移值与输出端口之间的对应关系。结合上述可能的实现方式,在第四种可能的实现方式中,该设备还存储有多个指令参数;该比特交织单元还用于根据该多个连续比特的当前帧头偏移信息,确定该至少一个比特组中的每个比特组的指令参数存储地址,并通过与该至少一个目标ALU中每个目标ALU对应的目标输出端口向该每个目标ALU发送指示信息,该指示信息用于指示该每个目标ALU接收到的第一比特组的指令参数存储地址;该至少一个目标ALU中的每个目标ALU还用于在对接收到的第一比特组执行指令之前,从该比特交织单元发送的指示信息所指示的指令参数存储地址获取指令参数,并根据获取到的该指令参数对接收到的第一比特执行该指令。结合上述可能的实现方式,在第五种可能的实现方式中,该比特交织单元还用于通过该比特交织单元所属处理元素的输出端输出该多个连续比特的当前帧头偏移信息。结合上述可能的实现方式,在第六种可能的实现方式中,该多个处理元素中的每个处理元素还包括转换单元,其中,该转换单元的输入端与该比特交织单元的至少一个输出端口连接,并且该转换单元的输出端与该转换单元所属处理元素的输出端连接;该比特交织单元还用于在确定该至少一个比特组中的至少一个第二比特组的目标输出端口与该转换单元相对应时,通过与该转换单元对应的目标输出端口向该转换单元传输该至少一个第二比特组;该转换单元用于将接收到的该至少一个第二比特组传输至该转换单元所属处理元素的输出端。结合上述可能的实现方式,在第七种可能的实现方式中,该多个处理元素呈Mesh结构。结合上述可能的实现方式,在第八种可能的实现方式中,该多个处理元素包括至少一个第一处理元素和至少一个第二处理元素,其中,该至少一个第一处理元素中的每个第一处理元素的输出端与该至少一个第二处理元素中的所有第二处理元素的输入端连接。结合上述可能的实现方式,在第九种可能的实现方式中,该设备还包括输入单元,该输入单元的输出端与该多个处理元素中的第三处理元素的输入端连接,其中,该输入单元用于对并行比特流进行定帧处理,以确定该并行比特流的帧头位置;该输入单元还用于向该第三处理元素发送该并行比特流中的多个连续比特以及该多个连续比特的第一帧头偏移信息;该第三处理元素的比特交织单元具体用于接收该输入单元传输的多个连续比特和该多个连续比特的第一帧头偏移信息,并将接收到的该多个连续比特的第一帧头偏移信息确定为该多个连续比特的当前帧头偏移信息。结合上述可能的实现方式,在第十种可能的实现方式中,该多个处理元素包括至少一个第四处理元素和第五处理元素,该至少一个第四处理元素中每个第四处理单元的输出端与该第五处理元素的输入端连接,其中,该第五处理元素的比特交织单元具体用于:接收该至少一个第四处理元素传输的多个连续比特,其中,该多个连续比特是该至少一个第四处理元素通过对接收到的至少一个连续比特进行处理获得的;根据该多个连续比特的至少一个输入端口,确定本地的多个时隙位置中与该多个连续比特对应的至少一个时隙位置;根据该至少一个时隙位置的帧头偏移信息,确定该多个连续比特的当前帧头偏移信息。结合上述可能的实现方式,在第十种可能的实现方式中,该多个连续比特的当前帧头偏移信息包括该多个连续比特中的第一个比特相对于该多个连续比特所属帧的帧头的偏移值。第二方面,提供了一种光传送网络交换机,包括第一光电转换单元、上述第一方面或任一种可能的实现方式中的数据处理设备和第二光电转换单元,其中,该第一光电转换单元用于对输入的第一光信号进行光电转换处理,以获得该第一光信号对应的比特流,并将该比特流传输至该处理设备;该数据处理设备用于接收该第一光电转换单元传输的该比特流,对该比特流进行处理,以获得处理后的该比特流,并且将该处理后的该比特流传输至该第二光电转换单元;该第二光电转换单元用于接收该数据处理设备传输的该处理后的比特流,并对该处理后的比特流进行电光转换,以获得该处理后的比特流对应的第二光信号,以及输出该第二光信号。因此,本发明实施例的数据处理设备和OTN交换机,包括多个处理元素,每个处理元素包括比特交织单元和至少一个ALU,其中,比特交织单元用于根据多个连续比特的帧头偏移信息,确定该多个连续比特组成的至少一个比特组中每个比特组对应的目标输出端口,以及从该对应的目标输出端口输出该每个比特组,该至少一个ALU中的至少一个目标ALU用于接收该比特交织单元传输的该至少一个比特组中的至少一个第一比特组,并对该至少一个第一比特组执行指令,以获得指令执行结果,能够提高比特流处理的时延等性能。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的数据处理设备的示意性框图。图2是本发明实施例提供的数据处理设备的另一示意性框图。图3是本发明实施例提供的数据处理设备的另一示意性框图。图4是本发明实施例提供的数据处理设备中的输入单元的示意性框图。图5是本发明实施例提供的数据处理设备中的输出单元的示意性框图。图6是本发明实施例提供的数据处理设备中处理元素的示意性框图。图7是本发明实施例提供的OTN交换机的示意性框图。图8是本发明实施例提供的数据处理设备应用于信号复用场景的系统架构示意图。图9是图8所示的系统架构的工作流程示意性。图10是图8中的PE332对于接收到的前8个字节中每个字节的处理流向的示意图。图11是图8中的PE333对于接收到的次8个字节中每个字节的处理流向的示意图。图12是本发明实施例提供的数据处理设备应用于信号复用场景的另一系统架构示意图。图13是本发明实施例提供的数据处理设备应用的组合示意图。图14是本发明实施例提供的数据处理设备应用的另一组合示意图。图15是本发明实施例提供的数据处理设备应用的另一组合示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。应理解,本发明实施例的技术方案可以应用于各种SDN架构,如开放无线(OpenRadio)架构等。该技术方案可以主要应用SDN架构的L1层,也可以应用于SDN架构的L2~L7层中的任意一层或多层,但本发明提供的技术方案还可以应用于其他网络架构,本发明实施例对此不做限定。本发明提供的数据处理设备采用基于数据流架构的数据流机模型,针对数据的平面处理进行优化设计,提供数据平面的可编程能力。在数据流架构中,采用数据驱动方式推动指令的执行,只要指令所需的操作数全部就绪即开始执行该指令,然后,该指令的运算结果被传递至下一个指令并且作为该下一个指令的操作数来驱动该下一个指令的执行。具体地,处理程序被编译器转换为有向指令图,并且将该有向指令图映射到数据处理设备中的各个处理节点,其中,一个处理节点用于实现有向指令图中的一个指令,最终形成处理流水线。图1示出了本发明实施例提供的数据处理设备100。该数据处理设备100包括:多个处理元素(ProcessingElement,PE),该多个PE中的每个PE包括比特交织单元112和至少一个算术逻辑单元(ArithmeticLogicUnit,ALU)114,该至少一个ALU114与该比特交织单元112的至少一个输出端口一一对应,其中,该比特交织单元112用于根据多个连续比特的当前帧头偏移信息,确定该多个连续比特组成的至少一个比特组中每个比特组对应的目标输出端口,以及从该对应的目标输出端口输出该每个比特组;该至少一个ALU114中的至少一个目标ALU114用于接收该比特交织单元114传输的该至少一个比特组中的至少一个第一比特组,并对该至少一个第一比特组执行指令,以获得指令执行结果,其中,该至少一个目标ALU114与该至少一个比特组对应的至少一个目标输出端口相对应。该多个连续比特可以是该比特交织单元112接收到的,也可以是该比特交织单元112根据接收到的至少一个连续比特生成的,本发明实施例对此不做限定。该比特交织单元112可以具有多个输出端口,其中,该多个输出端口中的至少一个输出端口分别与该至少一个ALU114的输入端连接,即该多个输出端口中的至少一个输出端口与该至少一个ALU114一一对应,其中,该至少一个输出端口可以具体为该比特交织单元112的多个输出端口中的全部或部分输出端口,例如,该至少一个ALU114的数量为多个,并且该比特交织单元112的多个输出端口的数量等于该多个ALU114的数量,则该比特交织单元112的多个输出端口可以与该多个ALU114一一对应;或者,该至少一个ALU114的数量为一个或多个,并且该至少一个ALU114的数量小于该比特交织单元112的多个输出端口的数量,则该多个输出端口中的部分输出端口与该至少一个ALU114一一对应,而其余输出端口可以直接与PE110的输出端连接(或作为PE110的输出端口)或者可以与PE110中包括的其它单元的输入端连接,本发明实施例对此不做限定。现有技术的数据处理设备以存储器为中心。具体地,输入至数据处理设备的比特流首先被存储至存储器,ALU需要从存储器中读取多个所需比特和指令,然后才能对该多个所需比特执行读取的该指令,并且将该指令的运算结果写入存储器,由于当前存储器的读写速度已经严重滞后于处理器的计算速度,而上述处理过程中对存储器的反复读写操作会进一步加剧处理时延。本发明实施例提供的数据处理设备通过比特交织单元直接将比特流中的各个比特组交织分发至对应的ALU,无需ALU对存储器进行反复读写,能够提高数据处理时延和抖动等其它处理性能。为了便于描述,以下以该多个连续比特的数量为N进行描述,但本发明实施例不限于此。该比特交织单元112可以确定该N个连续比特的当前帧头偏移信息,并根据该N个连续比特的当前帧头偏移信息,确定该N个连续比特组成的至少一个比特组中的每个比特组对应的目标输出端口,以及将该至少一个比特组中的每个比特组由与该每个比特组对应的目标输出端口输出。具体地,该N个连续比特组成一个或多个比特组,每个比特组包括该N个连续比特中的一个比特或多个连续比特,并且该至少一个比特组中不同比特组包括的比特个数可以相同或不同,本发明实施例对此不做限定。该N个连续比特可以对应于该比特交织单元112的多个输出端口中的一个或多个目标输出端口,该一个或多个目标输出端口中的某个目标输出端口可以与该至少一个ALU114中的某个ALU114连接,或者与PE110中的其它单元连接,或者直接与PE110的输出端连接。相应地,该一个或多个目标输出端口中的至少一个目标输出端口可以与该至少一个ALU114中的至少一个目标ALU114一一对应,其中,该至少一个目标输出端口可以具体为该一个或多个目标输出端口中的部分或全部目标输出端口,该至少一个目标ALU114也可以具体为该至少一个ALU114中的部分或所有ALU114,本发明实施例对此不做限定。该至少一个比特组可以包括至少一个第一比特组,其中,每个第一比特组的目标输出端口可以与该至少一个ALU114中的某个目标ALU对应,并且被传输至该对应的目标ALU114。该至少一个目标ALU114中的每个目标ALU114可以接收该比特交织单元112通过与该每个目标ALU114对应的目标输出端口传输的一个或多个第一比特组,并且对接收到的该一个或多个第一比特组中的每个第一比特组执行指令,以获得该每个第一比特组对应的指令执行结果。该至少一个目标ALU114中的每个目标ALU114执行的指令可以由编译器确定。具体地,编译器可以根据该数据处理设备需要实现的功能,生成有向指令图,并将该有向指令图映射到该数据处理设备,其中,该多个PE110中的部分或全部PE110中的每个PE110可以用于实现一个或多个指令,PE110中的每个ALU可以与一个指令相对应,例如,异或或赋值等,但本发明实施例不限于此。在本发明实施例中,该多个PE110之间可以形成片上网络,其中,该多个PE110可以具有各种分布形式。例如,该多个PE110可以具有如图1所示的网状(Mesh)结构,或者也可以具有克洛斯(Clos)结构或蝴蝶(butterfly)结构;或者,该多个PE110中的部分或全部PE110之间可以全互连,例如,如图2所示,该多个PE110可以包括至少一个第一PE110和至少一个第二PE110,其中,该至少一个第一PE110中的每个第一PE110的输出端与该至少一个第二PE110中的所有第二PE110的输入端连接,即该至少一个第一PE110中的任意一个第一PE110可以与该至少一个第二PE110中的任意一个第二PE110连接,但本发明实施例不限于此。在本发明实施例中,该N个连续比特的帧头偏移信息可以包括该N个连续比特中的第一个比特相对于该N个连续比特所属帧的帧头位置的偏移值,或者也可以包括该N个连续比特组成的至少一个比特组中的每个比特组的帧头偏移值,即该每个比特组中的第一个比特相对于其所属帧的帧头位置的偏移值,但本发明实施例不限于此。本发明实施例中的帧可以具体为同步数字体系(SynchronousDigitalHierarchy,SDH)中的同步传输模式(SynchronousTransferMode,STM)帧、千兆比特无源光网络(GigabitPassiveOpticalNetwork,GPON)中的GPON汇聚传输(GPONTransmissionConvergence,GPON传输汇聚)帧、或66比特码块(66-bitblock),等等,本发明实施例对此不做限定。比特交织单元112可以通过多种方式确定该N个连续比特的当前帧头偏移信息。具体地,该N个连续比特的当前帧头偏移信息可以是该比特交织单元112接收到的,例如,该比特交织单元112所属PE110的输入端可以与该数据处理设备中的其它部件的输出端连接,例如另一个PE110或输入单元,此时,该比特交织单元112可以接收该其它部件传输的帧头偏移信息,并将接收到的该帧头偏移信息确定为该N个连续比特的当前帧头偏移信息,其中,该多个连续比特的帧头偏移信息可以与该多个连续比特在同一个时钟周期内传输;或者,该N个连续比特的当前帧头偏移信息可以是该比特交织单元112在本地生成的,例如,该比特交织单元112可以根据该N个连续比特的输入端口,确定本地与该N个连续比特对应的至少一个时隙位置,并根据该对应的至少一个时隙位置的帧头偏移信息,确定该N个连续比特的当前帧头偏移信息,但本发明实施例不限于此。作为一个可选实施例,如图3所示,该数据处理设备还包括输入单元120,该输入单元120的输入端口可以与该数据处理设备的输入端连接,该输入单元120的输出端可以与该多个PE110中的一个或多个输入PE110的输入端连接。该输入单元120可以用于对并行比特流进行定帧处理,以确定该并行比特流的帧头位置。其中,该并行比特流可以包括一个或多个帧,相应地,该输入单元120可以确定该并行比特流的一个或多个帧头位置。进一步地,该输入单元120可以以多个连续比特(例如N个连续比特)为单位向与该输入单元120连接的至少一个第三PE110传输该并行比特流,其中,该至少一个第三PE110可以为该一个或多个输入PE110中的部分或全部PE110,并且可以由编译器预先确定,本发明实施例对此不作限定。此外,该输入单元120在向某一个第三PE110传输至少一个连续比特时,可以根据该至少一个连续比特所属帧的帧头位置,确定该至少一个连续比特的第一帧头偏移信息(即初始帧头偏移信息),并向该第三PE110传输该至少一个连续比特的第一帧头偏移信息,其中,可选地,该输入单元120可以在同一个时钟周期内向该第三PE110传输该至少一个连续比特以及该至少一个连续比特的第一帧头偏移信息。作为一个可选实施例,该第三PE110的比特交织单元112可以对该至少一个连续比特进行处理,以生成该N个连续比特,并确定该N个连续比特的当前帧头偏移信息(即本地帧头偏移信息),例如,该第三PE110的比特交织单元112可以对该至少一个连续比特进行比特填充处理,以生成N个连续比特,并根据该比特填充处理后该至少一个连续比特在该N个连续比特中的位置和/或该至少一个连续比特的第一帧头偏移信息,确定该N个连续比特的当前帧头偏移信息,但本发明实施例不限于此。作为另一个可选实施例,该输入单元可以具体用于向与其连接的某个第三PE110传输N个连续比特和该N个连续比特的第一帧头偏移信息,相应地,第三PE110的比特交织单元112还可以用于接收该输入单元120传输的N个连续比特和该N个连续比特的第一帧头偏移信息,并将接收到的该第一帧头偏移信息确定为该N个连续比特的当前帧头偏移信息。可选地,该输入单元120在对并行比特流进行定帧处理之前,还可以接收串行比特流,并对接收到的该串行比特流进行串并转换处理,以获得该并行比特流,但本发明实施例不限于此。图4示例性地示出了输入单元120的结构,其中,该输入单元120可以包括p1个第一输入输出(Input/Output,I/O)子单元121-1,…,121-p1、p1个定帧子单元122-1,…,122-p1和第一转换子单元123,其中,p1≥1。具体地,第i(1≤i≤p1)个第一I/O子单元121-i可以用于接收第一串行比特流,并对接收到的第一串行比特流进行串并转换,以获得第一并行比特流,以及向与其连接的第i个定帧子单元122-i传输该第一并行比特流。该第i个定帧子单元122-i可以对第i个I/O子单元121-i传输的第一并行比特流进行定帧处理,以获得该第一并行比特流的至少一个帧头位置,并且以至少一个连续比特为单位输出该第一并行比特流,其中,该至少一个连续比特的数量可以为处理位宽,但本发明实施例不限于此。该第一转换子单元123可以接收该i个定帧子单元122-i传输的至少一个连续比特,并且向与该输入单元120连接的至少一个PE110中的至少一个第三PE110发送该至少一个连续比特。应理解,本发明实施例中的输入单元120也可以具有其它结构,例如该输入单元120可以不包括该第一转换子单元123,或者还可以包括其它子单元,本发明实施例对此不做限定。可选地,如图3所示,该数据处理设备还可以包括输出单元130,其中,该输出单元130的输入端与该多个PE110中的一个或多个输出PE110的输出端连接。其中,该输出单元130可以用于接收该一个或多个输出PE110中的至少一个第六PE110传输的第二并行比特流,对该第二并行比特流进行并串转换处理,以获得第二串行比特流,并输出该第二串行比特流。其中,该第二并行比特流可以包括多个连续比特,该至少一个第六PE110可以为该一个或多个输出PE110中的部分或全部PE110,本发明实施例对此不作限定。图5示例性地示出了输出单元130的结构,其中,该输出单元130可以包括第二转换子单元131和p2个第二I/O子单元132-1,…,132-p2,其中,p2≥1,p2可以与p1相等或不等。具体地,第二转换子单元132用于接收与该输出单元130连接的至少一个第六PE110发送的第二并行比特流,并向该p2个第二I/O子单元中的第i个第二I/O子单元132-i传输该第二并行比特流,该第i个第二I/O子单元132-i可以在接收该第二转换子单元132传输的第二并行比特流之后,对该第二并行比特流进行并串转换,以获得与该第二并行比特流对应的第二串行比特流,并输出该第二串行比特流。应理解,本发明实施例中的输出单元130也可以具有其它结构,例如该输出单元130可以不包括该第二转换子单元131,或者还可以包括其它子单元,本发明实施例对此不做限定。作为另一个可选实施例,该多个PE110可以包括至少一个第四PE110和第五PE110,其中,该至少一个第四PE110中的每个第四PE110的输出端与该第五PE110的输入端连接。此时,该至少一个第四PE110中的某个第四PE110可以对接收到的至少一个连续比特执行第一指令,以获得L个连续比特,L≥1,并向该第五PE110传输该L个连续比特以及可选地传输该L个连续比特的第二帧头偏移信息,其中,该第二帧头偏移信息可以是该第四PE110接收到的,例如,该第二帧头偏移信息可以是该第四PE110的输入端连接的某个PE110发送的或者是与该第四PE110的输入端连接的输入单元发送的,该第二帧头偏移信息也可以是该第四PE110在本地生成的,本发明实施例对此不做限定。该第五PE110的比特交织单元112在接收到该至少一个第四PE110传输的该N个连续比特之后,可以对该N个连续比特进行映射复用处理。可选地,如果该比特交织单元112接收到该N个连续比特的第二帧头偏移信息,可以终结该第二帧头偏移信息,并且确定该N个连续比特的本地帧头偏移信息(即当前帧头偏移信息),但本发明实施例不限于此。具体地,该第五PE110的比特交织单元112可以确定本地的多个时隙位置,并且根据该N个连续比特对应的至少一个输入端口,确定该多个时隙位置中与该N个连续比特对应的至少一个时隙位置,并且根据该至少一个时隙位置的帧头偏移信息,确定该N个连续比特的当前帧头偏移信息。该多个时隙位置可以为该第五PE本地的基本比特单元。可选地,该第五PE可以存储有输入端口与预设时隙位置之间的对应关系,相应地,该比特交织单元可以根据该对应关系以及该N个连续比特对应的至少一个输入端口,确定该多个时隙位置中与该N个连续比特对应的至少一个时隙位置,但本发明对此不做限定。可选地,该比特交织单元可以将该至少一个时隙位置中每个时隙位置的帧头偏移值确定为该N个连续比特中与该每个时隙位置对应的至少一个连续比特的帧头偏移值,但本发明实施例不限于此。该第五PE110的至少一个目标ALU114在接收到该第五PE110的比特交织单元112传输的至少一个第一比特组时,该至少一个目标ALU114中的每个ALU114可以对接收到的第一比特组执行第二指令,以获得第二指令执行结果。这样,该第五PE110以第四PE110的指令执行结果作为操作数进一步进行处理,从而形成处理流水线。在本发明实施例中,处理程序可以由编译器转换为具有数据依赖关系的有向指令流图,并将这些指令和相关信息依据PE110资源映射到对应的PE110节点,同时依据每个PE110节点对应的指令,将该PE110节点所需要处理的流格式信息也同步映射,最终形成用于处理比特流的处理流水线。具体地,当原始比特流经过输入单元120的处理后,各PE110节点接收上一级PE110节点处理完成的比特流,执行本地指令操作,并将执行结果送入下一级PE110节点,直至数据流处理完成,由输出单元130输出最终结果。该比特交织单元112在确定该N个连续比特的当前帧头偏移信息之后,可以根据该N个连续比特的当前帧头偏移信息,确定该N个连续比特组成的至少一个比特组中的每个比特组的目标输出端口。作为一个可选实施例,该数据处理设备存储有预设帧头偏移值与输出端口之间的对应关系。具体地,该数据处理设备可以包括第一存储单元,该第一存储单元用于存储该预设帧头偏移值与输出端口之间的对应关系,其中,该第一存储单元可以独立于该多个PE110部署,或者可以部署于该多个PE110中的至少一个PE110中,例如,该多个PE110中的每个PE110包括第一存储单元,即该多个PE110中的每个PE110可以存储有预设帧头偏移值与输出端口之间的对应关系,其中,该多个PE110中的不同PE110所存储的对应关系可以相同或不同,并且可以预先由编译器配置,本发明实施例对此不做限定。此时,该比特交织单元112可以根据该N个连续比特的当前帧头偏移信息和存储的该预设帧头偏移值与输出端口之间的对应关系,确定该N个连续比特组成的至少一个比特组中每个比特组的目标输出端口。具体地,该比特交织单元112可以向独立存在或部署在PE110中的存储单元发送该N个连续比特的当前帧头偏移信息,并接收该存储单元根据该N个连续比特的当前帧头偏移信息确定的每个比特组对应的目标输出端口的信息。或者,该比特交织单元112也可以获取该对应关系,并且根据该N个连续比特的当前帧头偏移信息,确定该N个连续比特组成的至少一个比特组中每个比特组的当前帧头偏移值,并通过在获取的该对应关系中查询该每个比特组的当前帧头偏移值,确定该至少一个比特组中每个比特组对应的目标输出端口。可选地,该至少一个比特组中每个比特组包括M个连续比特,其中,M为大于或等于1的整数,并且N为M的整数倍,例如,M=8,即每个比特组包括一个字节,但本发明实施例对此不做限定。作为另一个可选实施例,该预设帧头偏移值以M个比特为单位,1≤M≤N,此时,该比特交织单元112具体用于:根据该N个连续比特的帧头偏移信息,确定该至少一个比特组中每个比特组的帧头偏移值,其中,该至少一个比特组中的每个比特组包括M个连续比特;确定该预设帧头偏移值与输出端口之间的对应关系中与该每个比特组的帧头偏移值相对应的输出端口;将该对应的输出端口确定为该每个比特组的目标输出端口。作为另一个可选实施例,如图6所示,该多个PE110中的每个PE110还包括转换单元116,其中,该转换单元116的输入端与该比特交织单元112的至少一个输出端口连接,并且该转换单元116的输出端与该每个PE110的输出端连接。此时,该比特交织单元112的多个输出端口中的部分输出端口可以与该至少一个ALU114对应,部分输出端口可以与该转换单元116对应。该比特交织单元112还用于在确定该至少一个比特组中的至少一个第二比特组的目标输出端口与该转换单元116相对应时,通过与该转换单元116对应的目标输出端口向该转换单元116传输该至少一个第二比特组;相应地,该转换单元116用于将接收到的该至少一个第二比特组传输至该转换单元116所属PE110的输出端。可选地,如图6所示,该预设帧头偏移值与输出端口之间的对应关系可以以信息格式表的形式存储在PE中。表1示出了信息格式表的一个示例,其中,这里假设PE包括比特交织单元、转换单元和三个ALU,分别为ALU1、ALU2和ALU3,相应地,比特交织单元具有四个输出端口,分别为与交换单元对应的交换单元端口,与ALU1对应的ALU1端口,与ALU2对应的ALU2端口和与ALU3对应的ALU3端口。该信息格式表中的帧头偏移值以字节为单位,相应地,该比特交织单元112可以根据该格式信息表确定N个连续比特中包括的各个字节的目标输出端口,但本发明实施例不限于此。表1格式信息表示例目标ALU114在接收到该比特交织单元112传输的一个或多个第一比特组之后,可以对该一个或多个第一比特组执行指令,以获得指令执行结果。其中,该指令可以由编译器预先配置在该目标ALU114中,或者由该目标ALU114从该数据处理设备的第二存储单元获取。该目标ALU114在执行指令时所需要的指令参数可以由该ALU114从该数据处理设备的第二存储单元获取,其中,该第一存储单元与该第二存储单元可以相同或不同,并且该第二存储单元可以独立于该多个PE110部署或者部署于该多个PE110中的部分或全部PE110中,本发明实施例对此不做限定。作为一个可选实施例,该比特交织单元112可以根据该N个连续比特的帧头偏移信息,确定与向该至少一个目标ALU114中每个目标ALU114传输的第一比特组相对应的指令参数或指令参数信息,并在向该每个目标ALU114传输第一比特组的同时,向该每个ALU114传输该第一比特组对应的指令参数或指令参数信息(例如,指令参数的存储地址)。例如,表1还包括预设帧头偏移值与指令参数之间的对应关系,但本发明实施例中的预设帧头偏移值与指令参数之间的对应关系与预设帧头偏移值与输出端口之间的对应关系也可以存储在不同的表中,本发明实施例对此不做限定。作为一个可选实施例,该比特交织单元112还可以用于获取预设帧头偏移信息与指令参数存储地址之间的对应关系。此时,该比特交织单元112还可以用于根据该N个连续比特的当前帧头偏移信息,确定该N个连续比特组成的至少一个比特组中的每个比特组的指令参数存储地址,以及通过与该至少一个目标ALU114中每个目标ALU114对应的目标输出端口向该每个目标ALU114发送指示信息,该指示信息用于指示该每个目标ALU114接收到的第一比特组的指令参数存储地址;相应地,该至少一个目标ALU114中的每个目标ALU114还用于在对接收到的第一比特组执行指令之前,从该比特交织单元112发送的指示信息所指示的指令参数存储地址获取指令参数,并根据获取到的该指令参数对该接收到的第一比特组执行该指令。作为另一个可选实施例,如果该比特交织单元所属PE110的输出端与另一个PE110的输入端连接,则该比特交织单元可以通过其所属PE的输出端口输出该N个连续比特的当前帧头偏移信息,以便于该另一个PE110根据该N个连续比特的当前帧头偏移信息,对该比特交织单元所属PE输出的该N个连续比特继续进行处理。具体地,该比特交织单元可以通过转换单元向PE的输出端输出该N个连续比特的当前帧头偏移信息,或者该比特交织单元可以具有至少一个与PE的输出端连接的输出端口,并且直接向PE的输出端输出该N个连续比特的当前帧头偏移信息,本发明实施例不限于此。因此,本发明实施例的数据处理设备,包括多个处理元素,每个处理元素包括比特交织单元和至少一个ALU,其中,比特交织单元用于根据多个连续比特的帧头偏移信息,确定该多个连续比特组成的至少一个比特组中每个比特组对应的目标输出端口,以及从该对应的目标输出端口输出该每个比特组,该至少一个ALU中的至少一个目标ALU用于接收该比特交织单元传输的该至少一个比特组中的至少一个第一比特组,并对该至少一个第一比特组执行指令,以获得指令执行结果,能够提高比特流处理的时延等性能。此外,本发明实施例提供的数据处理设备,通过采用可编程的方式对比特流进行处理,能够实现L1层对物理层比特流进行时钟数据恢复和同步、速率匹配和映射、复用、成帧、FEC等功能,归一化了硬件的实现方式,简化了设备的实现方式,提高了设备的灵活性和可维护性。此外,通过将可编程方式引入到L1层的数据面处理,为L1层的白盒化趋势打下了基础。下面将具体描述本发明实施例提供的数据处理设备的应用。图7示出了本发明实施例提供的OTN交换机200,该OTN交换机200可以包括:第一光电转换单元210、数据处理设备220和第二光电转换单元230,其中,该第一光电转换单元210用于对输入的光信号进行光电转换处理,以获得该光信号对应的比特流,并将该比特流传输至该数据处理设备220;该数据处理设备220用于接收该第一光电转换单元传输的该比特流,对该比特流进行处理,以获得处理后的该比特流,并且将该处理后的该比特流传输至该第二光电转换单元;该第二光电转换单元用于接收该数据处理设备220传输的该处理后的比特流,并对该处理后的比特流进行电光转换,以获得该处理后的比特流对应的光信号,以及输出该光信号。该OTN交换机中包括的第一光电转换单元210和第二光电转换单元230的数量可以分别为一个或多个。如图7所示,该OTN交换机可以包括k1个第一光电交换单元210-1,…,210-k1,以及k2个第二光电交换单元230-1,…,230-k2,其中,k1≥1,k2≥1,本发明实施例对此不做限定。该数据处理设备220的结构以及工作原理可以参照上文,为了简洁,这里不再赘述。本实施例中的OTN交换机,无需分离支路、线路和交叉分离结构,仅用比特流处理器即可完成OTN交换机的主要功能。图8和图9分别示例性地示出了上述数据处理设备实现信号复用的系统架构和处理流程。为了方便描述,在本实施例中,假设该数据处理设备为比特流处理器,并且该数据处理设备应用于光传送网络(OpticalTransportNetwork,OTN),用于将两个并行的光传送单元(OpticalTransportUnit,OTU)1发送的光信号复用到OTU2,其中,假设OTU1的传输速率为2.5Gbps,OTU2的传输速率为10Gbps,但本发明实施例不限于此。如图8所示,该比特流处理系统300包括第一光电转换(Optical/ElectricalConversion,O/E)单元310、第二O/E单元320、比特流处理器330和第三O/E单元340,其中,该比特流处理器330的输入端分别与第一O/E单元310和第二O/E单元320的输出端连接,该比特流处理器330的输出端与第三O/E单元340的输入端连接。可选地,该比特流处理器330可以具有上文所述的任意结构(例如图3所示的结构),为了简洁,仅在图8中示出了与本实施例有关的部分。如图9所示,光信号的复用可以通过以下流程来实现:光电转换、串并转换、定帧处理、解扰处理、映射复用处理、成帧处理、扰码处理、并串转换和电光转换。参照图8可知,该比特流处理器330中包括的多个PE可以具体用于实现解扰、映射复用、成帧和扰码处理等功能。具体地,该第一O/E单元310可以用于对第一光信号进行光电转换处理,以获得第一串行比特流,并将该第一串行比特流传输至该比特流处理器330,该第二O/E单元320可以用于对第二光信号进行光电转换处理,以得到第二串行比特流,并该第二串行比特流传输至比特流处理器330。该比特流处理器330的输入单元331可以对接收到的该第一串行比特流进行串并转换处理,以得到与该第一串行比特流对应的第一并行比特流,并且对该第一并行比特流进行定帧处理,以获得该第一并行比特流中的至少一个帧头位置,以及以L个连续比特为单位向该PE332传输该第一并行比特流以及该L个连续比特的初始帧头偏移信息,其中,L可以为该比特流处理器330的处理位宽。类似地,该比特流处理器330的输入单元331可以对接收到的该第二串行比特流进行串并转换处理,以得到与该第二串行比特流对应的第二并行比特流,并且对该第二并行比特流进行定帧处理,以获得该第二并行比特流中的至少一个帧头位置,以及以L个连续比特为单位向该PE333传输该第二并行比特流以及该L个连续比特的初始帧头偏移信息。为了便于描述,以下假设L为64,对应于8个字节,但本发明实施例中的处理位宽还可以为其它数值,本发明实施例对此不做限定。该PE332和PE333可以具体用于实现解扰功能,即执行异或(XOR)指令。具体地,该PE332和该PE333可以具有如表1所示的格式信息表。该PE332和该PE333中的比特交织单元在接收到该输入单元331传输的8个连续字节和该8个连续字节的初始帧头偏移信息时,可以将接收到的初始帧头偏移信息确定该8个连续字节的当前帧头偏移信息,并且根据表1确定该8个字节中各个字节对应的目标输出端口。具体地,PE332的比特交织单元可以接收某一帧中的第一拍比特流(即前8个字节)以及该第一拍比特流的初始帧头偏移信息,并确定接收到的该64个连续比特(即N1=L=64)组成的8个字节(每个字节对应一个比特组)中每个字节对应的目标输出端口。具体地,该第一拍比特流的拍头相对于帧头的偏移值为0。此时,前六个字节的帧头偏移值分别为0至5个字节,如图10所示,该比特交织单元可以根据表1将该前六个字节通过与转换单元对应的输出端口传输至该转换单元,该转换单元无需对接收到的字节进行操作而直接将其输出;后两个字节的帧头偏移值分别为6至7个字节,如图10所示,该比特交织单元可以根据表1将该后两个字节通过与ALU3对应的输出端口传输至ALU3,此外,该比特交织单元还可以根据表1确定该后两个字节中的每个字节对应的扰码矩阵信息(例如扰码矩阵值或扰码矩阵值存储地址等等),并通过与ALU3对应的输出端口将其传输至ALU3,其中,每个字节对应的扰码矩阵信息可以相同或不同。ALU3在接收到该比特交织单元传输的后两个字节和与其分别对应的扰码矩阵信息之后,可以采用与该后两个字节中每个字节对应的扰码矩阵值对该每个字节进行异或操作,获得异或处理后的两个连续字节,并且输出该异或处理后的该两个连续字节。类似地,PE333的比特交织单元可以接收该帧中的第二拍比特流(即第9至16个字节)以及该第二拍比特流的初始帧头偏移信息,并确定接收到的该64个连续比特(即N2=L=64)组成的8个字节(每个字节对应一个比特组)中每个字节对应的目标输出端口。具体地,该第二拍比特流的拍头相对于帧头的偏移值为8个字节。此时,如图11所示,该PE333的比特交织单元可以根据表1,将该第二拍比特流中的第一个字节和第二个字节通过与ALU0对应的输出端口传输至ALU0,将第三个字节和第四个字节通过与ALU1对应的输出端口传输至ALU1,将第五个字节和第六个字节通过与ALU2对应的输出端口传输至ALU2,以及将第七个字节和第八个字节通过与ALU3对应的输出端口传输至ALU3。可选地,该比特交织单元还可以进一步将各个字节对应的扰码矩阵信息传输至对应的ALU。各个ALU可以根据接收到的两个字节中每个字节对应的扰码矩阵值,对该每个字节进行异或操作,并输出该异或操作的结果。此外,该PE332和PE333的比特交织单元还可以分别向所属PE的输出端口输出该64个连续比特的当前帧头偏移信息(即初始帧头偏移信息)。该当前帧头偏移信息被传输至PE335。该PE332输出的8个字节(64个连续比特)及其对应的当前帧头偏移信息被传输至PE335,该PE333输出的8个字节(64个连续比特)及其对应的当前帧头偏移信息可以通过PE334被传输至PE335。该PE335可以具体用于实现映射复用功能。该PE335可以终结接收到的帧头偏移信息,并生成本地帧头偏移信息,以及根据本地帧头偏移信息确定各个字节的目标输出端口。具体地,该PE335可以具有表2所示的格式信息表。具体地,由于该OTU2的传输速率为OTU1的传输速率的4倍,则在OTU2侧对应的每拍比特流包括4个时隙位置,每个时隙位置可以容纳至少8个字节,相应地,该PE335中的比特交织单元可以根据表2确定该4个时隙位置中的每个时隙位置对应的比特以及目标输出端口。具体地,对于第一个时隙位置,其帧头偏移值为0,则由表2可知,该第一个时隙位置对应于输入端口0~7以及ALU0端口,其中,PE335的输入端口0~7对应于PE332,则该比特交织单元可以将该PE332传输的8个字节通过与ALU0对应的输出端口传输至ALU0,ALU0可以将该第一个时隙位置赋值为接收到的该8个字节;对于第二个时隙位置,其帧头偏移值为1,则由表2可知,该第二个时隙位置对应于输入端口8~15以及ALU1端口,其中,该PE335的输入端口8~15对应于PE334或PE333,则该比特交织单元可以将该PE333传输的8个字节通过与ALU1对应的输出端口传输至ALU1,ALU1可以将该第二个时隙位置赋值为接收到的该8个字节;对于第三个时隙位置,其帧头偏移值为2,则由表2可知,该第三个时隙位置没有对应的输入,则该比特交织单元可以将用于指示无输入的特征码通过与该ALU2对应的输出端口传输至ALU2,该ALU2可以根据该特征码确定该第三个时隙位置无相应输入,并且为该第三个时隙位置填充8个字节,其中,该填充的8个字节可以由该ALU2本地生成,或者可以由ALU2从指令参数存储器获取;对于第四个时隙位置,其帧头偏移值为3,则由表2可知,该第四个时隙位置仍没有对应的输入,则该比特交织单元可以将特征码通过与该ALU3对应的输出端口传输至ALU3,该ALU3可以与ALU2类似地为该第四个时隙位置填充64个比特。应理解,本发明实施例中的特征码能够与承载数据的比特流相区分,用于表示无数据输入,例如,该特征码可以由多个设置为0的二进制位组成,但本发明实施例不限定其具体形式。该PE335输出的至少32个字节可以传输至PE336。该PE336可以具体用于执行开销的下插,以实现成帧功能。PE337可以具体用于执行与PE332和PE333类似的操作,以实现扰码功能,并将获得的第三并行比特流传输至输出单元338。该输出单338可以对接收到的第三并行比特流执行并串转换处理,以获得第三串行数据流,并将该第三串行数据流传输至该第三O/E单元340。该第三O/E单元340可以对接收到的第三串行数据流执行电光转换,以获得第三光信号,并输出该第三光信号。表2格式信息表的示例帧头偏移值O输入端口输出端口指令数据0~15/4080~4095/…/12240~12255NULLNULLNULLOmod4=00~7ALU0端口NULLOmod4=18~15ALU1端口NULLOmod4=2NULLALU2端口填充值1Omod4=3NULLALU3端口填充值2应理解,上述实施例以图8为例描述了该比特流处理器330中的比特流处理流向,可选地,该比特流处理器330中的比特流处理流向也可以如图12所示,其中,该PE333输出的8个字节通过该PE332传输至PE335,但本发明实施例不限于此。上述实施例中的比特流处理系统300可以应用于发送端。本发明实施例提供的比特流处理器还可以应用于接收端,其中与发送端的不同之处在于接收端将一路信号解复用为两路信号,并且无需进行解扰处理而直接进行成帧处理。本发明实施例提供的数据处理设备还可以用于实现OTN固定颗粒(也可以称为OTN刚性管道)的交叉功能。为了方便描述,在本实施例中,假设数据处理设备为比特流处理器,其中,该比特流处理器的多个中间PE具有全连接关系,可选地,该比特流处理器可以具有图2所示的结构,但本发明实施例不限于此。具体地,该多个PE可以将比特流解复用为相同大小的待交叉颗粒,并且读取开销位置的值以及对开销位置进行赋值,以实现交叉功能,具体流程与上述信号复用实施例的流程类似,为了简洁,这里不再赘述。本发明实施例提供的多个数据处理设备还可以进行任意组合,以实现更强大的业务处理能力。图13至图15分别示出了对本发明实施例提供的多个数据处理设备进行组合的可能方式。其中,图13中的多个数据处理设备串联连接,图14中的多个数据处理设备并联连接,图15中的多个数据处理设备呈Mesh结构分布,其中,该多个数据处理设备之间可以相互独立,或者相互之间可以进行交互,以交互某些信息或数据,本发明实施例不限于此。可选地,本发明实施例中的多个数据处理设备还可以以上述方式中的任意组合来部署,例如,系统中的多个数据处理设备以Mesh方式连接,而另外多个数据处理设备以串联或并联方式连接,本发明实施例不限于此。应注意,图8至图15的例子是为了帮助本领域技术人员更好地理解本发明实施例,而非要限制本发明实施例的范围。本领域技术人员根据所给出的图2的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。应理解,在本发明实施例中,术语和/或仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符/,一般表示前后关联对象是一种或的关系。本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、设备或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理元素中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1