WO2017012564A1 - Data processing device and optical transport network switch - Google Patents

Data processing device and optical transport network switch Download PDF

Info

Publication number
WO2017012564A1
WO2017012564A1 PCT/CN2016/090852 CN2016090852W WO2017012564A1 WO 2017012564 A1 WO2017012564 A1 WO 2017012564A1 CN 2016090852 W CN2016090852 W CN 2016090852W WO 2017012564 A1 WO2017012564 A1 WO 2017012564A1
Authority
WO
WIPO (PCT)
Prior art keywords
bit
unit
frame header
consecutive bits
alu
Prior art date
Application number
PCT/CN2016/090852
Other languages
French (fr)
Chinese (zh)
Inventor
向俊凌
董立民
李昆
丁炽武
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2017012564A1 publication Critical patent/WO2017012564A1/en

Links

Images

Definitions

  • the present invention relates to the field of communications and, more particularly, to data processing devices and optical transport network switches.
  • SDN Software Defined Network
  • NFV Network Function Virtualization
  • the upper-layer service functions of the network are implemented in software and can run on a series of industry standard server hardware. They can be migrated, instantiated and deployed in different locations on the network without installation.
  • the new device generally uses the X86-based server as the basis for its implementation; at the network forwarding layer, the standardized interface is used, the forwarding plane only includes the basic instruction set and table resources, and the forwarding process and services are loaded and deployed by the remote controller.
  • NP network processor
  • PIF protocol independent forwarding
  • the network L1 layer is mainly responsible for clock data recovery and synchronization of the bit stream of the physical layer, and the rate.
  • Adaptation mapping, multiplexing, framing, and Forward Error Correction (FEC) processing are generally implemented by an Application Specific Integrated Circuit (ASIC).
  • ASIC Application Specific Integrated Circuit
  • the device is a black box for the user. State, the user can only do some configuration management work.
  • the L1 layer data surface needs to break through the solidification function realization, breaking the black box state of the device, and the industry proposes to adopt the NP or PIF chip to realize the L1 business function.
  • the NP uses a Reduced Instruction Set Computer (RISC) processor optimized for packet data plane processing as a processing engine to perform business processing through microcode programming.
  • the programming particles of the NP are RISC processors, execute program instructions under the control of the program counter, and access the data storage unit to complete the business processing.
  • the memory wall under this structure becomes data The biggest obstacle to bitstream processing cannot meet the performance requirements of the L1 layer for bitstream processing.
  • the embodiment of the invention provides a data processing device and an OTN switch, which can improve data processing performance.
  • a data processing apparatus comprising: a plurality of processing elements, each of the plurality of processing elements comprising a bit interleaving unit and at least one ALU, at least one output port of the bit interleaving unit Corresponding to at least one ALU, wherein the bit interleaving unit is configured to determine, according to current frame header offset information of the plurality of consecutive bits, a target output corresponding to each of the at least one bit group consisting of the plurality of consecutive bits a port, and outputting each of the bit groups from the corresponding target output port, wherein each of the at least one bit group includes at least one of the plurality of consecutive bits; at least one of the at least one ALU
  • the target ALU is configured to receive at least one first bit group of the at least one bit group transmitted by the bit interleaving unit, and execute an instruction on the at least one first bit group to obtain an instruction execution result, wherein the at least one target ALU Corresponding to at least one target output port corresponding to the at least one bit
  • the device stores a correspondence between a preset frame header offset value and an output port, where the bit interleaving unit is specifically configured to use current frame header offset information of the multiple consecutive bits. And determining a correspondence between the preset frame header offset value and the output port, and determining a target output port of each of the at least one bit group.
  • the preset frame header offset value is in units of M bits, and M ⁇ 1
  • the bit interleaving unit is specifically configured to: according to the multiple consecutive bits Current frame header offset information, determining a frame header offset value for each of the at least one bit group, wherein each of the at least one bit group includes M consecutive bits; determining the preset And an output port corresponding to a frame header offset value of each bit group in a correspondence between the frame header offset value and the output port; determining the corresponding output port as the target output port of each of the bit groups.
  • each processing element of the multiple processing elements stores a correspondence between the preset frame header offset value and an output port.
  • the device further stores Having a plurality of instruction parameters; the bit interleaving unit is further configured to determine an instruction parameter storage address of each of the at least one bit group according to the current frame header offset information of the plurality of consecutive bits, and pass the A target output port corresponding to each target ALU in a target ALU sends indication information to each target ALU, where the indication information is used to indicate an instruction parameter storage address of the first bit group received by each target ALU; the at least one Each target ALU in the target ALU is further configured to acquire an instruction parameter from an instruction parameter storage address indicated by the indication information sent by the bit interleaving unit before executing the instruction on the received first bit group, and according to the acquired The instruction parameter executes the instruction on the first bit received.
  • bit interleaving unit is further configured to output current frame header offset information of the multiple consecutive bits by an output end of the processing element to which the bit interleaving unit belongs.
  • each of the multiple processing elements further includes a converting unit, wherein an input end of the converting unit and at least one output of the bit interleaving unit a port is connected, and an output end of the conversion unit is connected to an output end of the processing element to which the conversion unit belongs; the bit interleaving unit is further configured to determine a target output port of the at least one second bit group of the at least one bit group and the Translating, by the target output port corresponding to the conversion unit, the at least one second bit group; and the converting unit is configured to transmit the received at least one second bit group to the conversion unit The output of the processing element to which it belongs.
  • the multiple processing elements are in a Mesh structure.
  • the multiple processing elements include at least one first processing element and at least one second processing element, wherein each of the at least one first processing element An output of the first processing element is coupled to an input of all of the at least one second processing element.
  • the device further includes an input unit, where an output end of the input unit is connected to an input end of a third processing element of the plurality of processing elements, where The input unit is configured to perform a framing process on the parallel bit stream to determine a frame header position of the parallel bit stream; the input unit is further configured to send, to the third processing element, a plurality of consecutive bits in the parallel bit stream and the plurality of First frame header offset information of consecutive bits; the third processing element
  • the bit interleaving unit is configured to receive the plurality of consecutive bits transmitted by the input unit and the first frame header offset information of the multiple consecutive bits, and offset the received first frame header of the multiple consecutive bits The information is determined as the current header offset information for the plurality of consecutive bits.
  • the multiple processing elements include at least one fourth processing element and a fifth processing element, and each of the at least one fourth processing element The output end is connected to the input end of the fifth processing element, wherein the bit interleaving unit of the fifth processing element is specifically configured to: receive a plurality of consecutive bits transmitted by the at least one fourth processing element, where the multiple consecutive bits Obtaining, by the at least one fourth processing element, processing, by processing the received at least one consecutive bit; determining, according to the at least one input port of the plurality of consecutive bits, corresponding to the plurality of consecutive bits in a plurality of local time slot positions At least one slot position; determining current head offset information of the plurality of consecutive bits according to the header offset information of the at least one slot position.
  • the current frame header offset information of the multiple consecutive bits includes a first bit of the multiple consecutive bits relative to the frame to which the multiple consecutive bits belong The offset value of the frame header.
  • an optical transmission network switch comprising: a first photoelectric conversion unit, the data processing device and the second photoelectric conversion unit in the first aspect or any of the possible implementations, wherein the first photoelectric The conversion unit is configured to perform photoelectric conversion processing on the input first optical signal to obtain a bit stream corresponding to the first optical signal, and transmit the bit stream to the processing device; the data processing device is configured to receive the first photoelectric Converting the bit stream transmitted by the unit, processing the bit stream to obtain the processed bit stream, and transmitting the processed bit stream to the second photoelectric conversion unit; the second photoelectric conversion unit is configured to Receiving the processed bit stream transmitted by the data processing device, and performing electro-optical conversion on the processed bit stream to obtain a second optical signal corresponding to the processed bit stream, and outputting the second optical signal.
  • the data processing device and the OTN switch of the embodiments of the present invention include a plurality of processing elements, each processing element including a bit interleaving unit and at least one ALU, wherein the bit interleaving unit is configured to offset a frame header according to a plurality of consecutive bits Information, determining a target output port corresponding to each of the at least one of the plurality of consecutive bit groups, and outputting each of the bit groups from the corresponding target output port, at least one target ALU of the at least one ALU Receiving at least one of the at least one bit group transmitted by the bit interleaving unit, and The execution of the instruction by one less bit group to obtain the instruction execution result can improve the performance of the bit stream processing delay and the like.
  • FIG. 1 is a schematic block diagram of a data processing device according to an embodiment of the present invention.
  • FIG. 2 is another schematic block diagram of a data processing device according to an embodiment of the present invention.
  • FIG. 3 is another schematic block diagram of a data processing device according to an embodiment of the present invention.
  • FIG. 4 is a schematic block diagram of an input unit in a data processing device according to an embodiment of the present invention.
  • FIG. 5 is a schematic block diagram of an output unit in a data processing device according to an embodiment of the present invention.
  • FIG. 6 is a schematic block diagram of processing elements in a data processing device according to an embodiment of the present invention.
  • FIG. 7 is a schematic block diagram of an OTN switch according to an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a system for applying a data processing device to a signal multiplexing scenario according to an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of the workflow of the system architecture shown in FIG.
  • Figure 10 is a schematic illustration of the processing flow of the PE 332 of Figure 8 for each of the first 8 bytes received.
  • Figure 11 is a diagram showing the processing flow of the PE 333 of Figure 8 for each of the received 8 bytes.
  • FIG. 12 is a schematic diagram of another system architecture of a data processing device according to an embodiment of the present invention applied to a signal multiplexing scenario.
  • FIG. 13 is a schematic diagram of a combination of data processing device applications according to an embodiment of the present invention.
  • FIG. 14 is another schematic diagram of a combination of data processing device applications according to an embodiment of the present invention.
  • FIG. 15 is another schematic diagram of a combination of data processing device applications according to an embodiment of the present invention.
  • the technical solutions of the embodiments of the present invention may be applied to various SDN architectures, such as an Open Radio architecture.
  • the technical solution can be applied to the L1 layer of the SDN architecture, and can also be applied to any one or more of the L2 to L7 layers of the SDN architecture.
  • the technical solution provided by the present invention can also be applied to other network architectures. This example does not limit this.
  • the data processing device adopts a data stream machine model based on a data stream architecture, optimizes design for data plane processing, and provides programmability of the data plane.
  • the data-driven manner is used to drive the execution of the instruction.
  • the instruction is started, and then the operation result of the instruction is passed to the next instruction and is used as the next instruction.
  • the operands drive the execution of the next instruction.
  • the processing program is converted by the compiler into a directed instruction map, and the directed instruction map is mapped to each processing node in the data processing device, wherein one processing node is used to implement an instruction in the directed instruction graph, Eventually a processing pipeline is formed.
  • FIG. 1 shows a data processing device 100 provided by an embodiment of the present invention.
  • the data processing device 100 includes: a plurality of processing elements (PEs), each of the plurality of PEs including a bit interleaving unit 112 and at least one Arithmetic Logic Unit (ALU) 114, the at least one The ALU 114 has a one-to-one correspondence with at least one output port of the bit interleaving unit 112, where
  • PEs processing elements
  • ALU Arithmetic Logic Unit
  • the bit interleaving unit 112 is configured to determine, according to current frame header offset information of the plurality of consecutive bits, a target output port corresponding to each of the at least one bit group composed of the plurality of consecutive bits, and output from the corresponding target.
  • the port outputs the each bit group;
  • At least one target ALU 114 of the at least one ALU 114 is configured to receive at least one first bit group of the at least one bit group transmitted by the bit interleaving unit 114, and execute an instruction on the at least one first bit group to obtain The instruction execution result, wherein the at least one target ALU 114 corresponds to at least one target output port corresponding to the at least one bit group.
  • the plurality of consecutive bits may be received by the bit interleaving unit 112, or may be generated by the bit interleaving unit 112 according to the received at least one consecutive bit, which is not limited by the embodiment of the present invention.
  • the bit interleaving unit 112 may have a plurality of output ports, wherein at least one of the plurality of output ports is respectively connected to an input of the at least one ALU 114, that is, at least one of the plurality of output ports is
  • the at least one output port may be specifically all or part of the output ports of the bit interleaving unit 112. For example, the number of the at least one ALU 114 is multiple.
  • the number of the plurality of output ports of the bit interleaving unit 112 is equal to the number of the plurality of ALUs 114, and the plurality of output ports of the bit interleaving unit 112 may be in one-to-one correspondence with the plurality of ALUs 114; or the at least one ALU
  • the number of 114 is one or more, and the number of the at least one ALU 114 is smaller than the number of the plurality of output ports of the bit interleaving unit 112, and a part of the plurality of output ports is one by one with the at least one ALU 114.
  • Corresponding, and the remaining output ports can be directly connected to the output of PE 110 (or as the output port of PE 110) or can be combined with PE 1
  • the input of the other units included in the 10 is not limited in this embodiment of the present invention.
  • Prior art data processing devices are memory-centric. Specifically, the bit stream input to the data processing device is first stored to the memory, and the ALU needs to read a plurality of required bits and instructions from the memory before the read instruction can be executed on the plurality of required bits, and The operation result of the instruction is written into the memory. Since the read/write speed of the current memory has seriously lags behind the calculation speed of the processor, the repeated reading and writing operations to the memory during the above processing further aggravate the processing delay.
  • the data processing device provided by the embodiment of the present invention directly interleaves and distributes each bit group in the bit stream to the corresponding ALU through the bit interleaving unit, and does not need to repeatedly read and write the memory by the ALU, thereby improving other processing performances such as data processing delay and jitter. .
  • N the number of the plurality of consecutive bits
  • the embodiment of the present invention is not limited thereto.
  • the bit interleaving unit 112 may determine current frame header offset information of the N consecutive bits, and determine, according to the current frame header offset information of the N consecutive bits, each of the at least one bit group composed of the N consecutive bits. a target output port corresponding to each bit group, and each bit group of the at least one bit group is output by a target output port corresponding to each of the bit groups.
  • the N consecutive bits constitute one or more bit groups
  • each bit group includes one or more consecutive bits of the N consecutive bits
  • bits included in different bit groups in the at least one bit group The number may be the same or different, which is not limited by the embodiment of the present invention.
  • the N consecutive bits may correspond to one of a plurality of output ports of the bit interleaving unit 112
  • One or more target output ports, one of the one or more target output ports may be connected to one of the at least one ALU 114, or to other units in the PE 110, or directly Connected to the output of PE 110.
  • At least one target output port of the one or more target output ports may be in one-to-one correspondence with at least one target ALU 114 of the at least one ALU 114, wherein the at least one target output port may be specifically the one or Some or all of the target output ports of the plurality of target output ports, the at least one target ALU 114 may also be a part or all of the at least one ALU 114, which is not limited in this embodiment of the present invention.
  • the at least one bit group may include at least one first bit group, wherein a target output port of each first bit group may correspond to a target ALU in the at least one ALU 114 and be transmitted to the corresponding target ALU 114.
  • Each of the at least one target ALUs 114 may receive one or more first groups of bits transmitted by the bit interleaving unit 112 through a target output port corresponding to each of the target ALUs 114, and the received ones
  • Each of the one or more first bit groups executes an instruction to obtain an instruction execution result corresponding to each of the first bit groups.
  • the instructions executed by each of the at least one target ALU 114 may be determined by a compiler.
  • the compiler may generate a directed instruction map according to a function that the data processing device needs to implement, and map the directed instruction map to the data processing device, wherein some or all of the plurality of PEs 110 are 110
  • Each of the PEs 110 may be used to implement one or more instructions, and each ALU in the PE 110 may correspond to one instruction, for example, an exclusive OR or an assignment, etc., but embodiments of the present invention are not limited thereto.
  • an on-chip network may be formed between the plurality of PEs 110, wherein the plurality of PEs 110 may have various distribution forms.
  • the plurality of PEs 110 may have a mesh structure as shown in FIG. 1, or may have a Clos structure or a butterfly structure; or a part of the plurality of PEs 110 or All of the PEs 110 may be fully interconnected.
  • FIG. 1 As shown in FIG. 1, or may have a mesh structure as shown in FIG. 1, or may have a Clos structure or a butterfly structure; or a part of the plurality of PEs 110 or All of the PEs 110 may be fully interconnected.
  • the plurality of PEs 110 may include at least one first PE 110 and at least one second PE 110, wherein the at least one first PE 110 An output of each first PE 110 is coupled to an input of all of the second PEs 110 of the at least one second PE 110, ie, any one of the at least one first PEs 110 may be associated with the at least one Any one of the second PEs 110 is connected to the second PE 110, but the embodiment of the present invention is not limited thereto.
  • the frame header offset information of the N consecutive bits may include an offset value of a first bit of the N consecutive bits relative to a frame header position of the frame to which the N consecutive bits belong, or A frame header offset value of each of the at least one bit group consisting of the N consecutive bits, that is, a deviation of a first bit in each of the bit groups relative to a frame header position of a frame to which the frame belongs The value is shifted, but the embodiment of the invention is not limited thereto.
  • the frame in the embodiment of the present invention may be specifically a Synchronous Transfer Mode (STM) frame in a Synchronous Digital Hierarchy (SDH) or a Gigabit Passive Optical Network (GPON).
  • STM Synchronous Transfer Mode
  • SDH Synchronous Digital Hierarchy
  • GPON Gigabit Passive Optical Network
  • the GPON Transmission Convergence (GPON Transmission Convergence) frame, or the 66-bit block (66-bit block), and the like are not limited in this embodiment of the present invention.
  • the bit interleaving unit 112 can determine the current frame header offset information for the N consecutive bits in a variety of ways. Specifically, the current frame header offset information of the N consecutive bits may be received by the bit interleaving unit 112. For example, the input end of the PE 110 to which the bit interleaving unit 112 belongs may be associated with other components in the data processing device. The output is connected, for example, another PE 110 or an input unit.
  • the bit interleaving unit 112 can receive the header offset information transmitted by the other component, and determine the received header offset information as the N Current frame header offset information of consecutive bits, wherein the frame header offset information of the plurality of consecutive bits may be transmitted in the same clock cycle as the plurality of consecutive bits; or, the current frame header bias of the N consecutive bits
  • the shift information may be locally generated by the bit interleaving unit 112.
  • the bit interleaving unit 112 may determine at least one slot position locally corresponding to the N consecutive bits according to the input ports of the N consecutive bits, and according to The frame header offset information of the corresponding at least one slot position determines the current frame header offset information of the N consecutive bits, but the embodiment of the present invention is not limited thereto.
  • the data processing device further includes an input unit 120, and an input port of the input unit 120 can be connected to an input end of the data processing device, and an output end of the input unit 120 can be One or more of the plurality of PEs 110 are connected to an input of the input PE 110.
  • the input unit 120 can be configured to frame the parallel bit stream to determine a frame header position of the parallel bit stream.
  • the parallel bit stream may include one or more frames, and correspondingly, the input unit 120 may determine one or more frame header positions of the parallel bit stream.
  • the input unit 120 may transmit the parallel bit stream to at least one third PE 110 connected to the input unit 120 in units of a plurality of consecutive bits (for example, N consecutive bits), where
  • the at least one third PE 110 may be part or all of the one or more input PEs 110, and may be predetermined by a compiler, which is not limited by the embodiment of the present invention.
  • the first frame header offset information of the at least one consecutive bit may be determined according to the frame header position of the frame to which the at least one consecutive bit belongs ( That is, the initial frame header offset information), and transmitting the first frame header offset information of the at least one consecutive bit to the third PE 110, wherein, optionally, the input unit 120 can be in the same clock cycle to the first
  • the third PE 110 transmits the at least one consecutive bit and the first header offset information of the at least one consecutive bit.
  • the bit interleaving unit 112 of the third PE 110 may process the at least one consecutive bit to generate the N consecutive bits, and determine current frame header offset information of the N consecutive bits (ie, Local frame header offset information), for example, the bit interleaving unit 112 of the third PE 110 may perform bit stuffing processing on the at least one consecutive bit to generate N consecutive bits, and according to the bit padding process, the at least one consecutive The position of the bit in the N consecutive bits and/or the first frame header offset information of the at least one consecutive bit determines the current frame header offset information of the N consecutive bits, but the embodiment of the present invention is not limited thereto.
  • the input unit may be specifically configured to transmit N consecutive bits and first frame header offset information of the N consecutive bits to a third PE 110 connected thereto, and correspondingly, a third
  • the bit interleaving unit 112 of the PE 110 may be further configured to receive the N consecutive bits transmitted by the input unit 120 and the first frame header offset information of the N consecutive bits, and receive the received first frame header offset information.
  • the current frame header offset information for the N consecutive bits is determined.
  • the input unit 120 may further receive the serial bit stream before performing the framing processing on the parallel bit stream, and perform serial-to-parallel conversion processing on the received serial bit stream to obtain the parallel bit stream.
  • embodiments of the invention are not limited thereto.
  • FIG. 4 exemplarily shows the structure of the input unit 120, wherein the input unit 120 may include p1 first input/output (I/O) subunits 121-1, . . ., 121-p1, p1.
  • the i-th (1 ⁇ i ⁇ p1) first I/O sub-units 121-i may be configured to receive the first serial bit stream and perform serial-to-parallel conversion on the received first serial bit stream, A first parallel bit stream is obtained, and the first parallel bit stream is transmitted to an ith framing sub-unit 122-i connected thereto.
  • the ith framing sub-unit 122-i may stream the first parallel bit stream transmitted by the ith I/O sub-unit 121-i Performing a framing process to obtain at least one frame header position of the first parallel bit stream, and outputting the first parallel bit stream in units of at least one consecutive bit, wherein the number of the at least one consecutive bit may be a processing bit width
  • the first conversion sub-unit 123 may receive at least one consecutive bit transmitted by the i framing sub-units 122-i and transmit the at least one of the at least one third PE 110 of the at least one PE 110 connected to the input unit 120.
  • the input unit 120 in the embodiment of the present invention may also have other structures.
  • the input unit 120 may not include the first conversion subunit 123, or may further include other subunits. limited.
  • the data processing device may further include an output unit 130, wherein an input end of the output unit 130 is connected to an output of one or more of the plurality of PEs 110.
  • the output unit 130 may be configured to receive a second parallel bit stream transmitted by the at least one sixth PE 110 of the one or more output PEs 110, and perform parallel-to-serial conversion processing on the second parallel bit stream to obtain a Two serial bit streams and outputting the second serial bit stream.
  • the second parallel bit stream may include a plurality of consecutive bits, and the at least one sixth PE 110 may be part or all of the PEs 110 of the one or more output PEs 110, which is not limited by the embodiment of the present invention.
  • FIG. 5 exemplarily shows the structure of the output unit 130, wherein the output unit 130 may include a second conversion sub-unit 131 and p2 second I/O sub-units 132-1, . . ., 132-p2, where P2 ⁇ 1, p2 may be equal or unequal to p1.
  • the second conversion subunit 132 is configured to receive the second parallel bit stream sent by the at least one sixth PE 110 connected to the output unit 130, and to the ith one of the p2 second I/O subunits
  • the second I/O sub-unit 132-i transmits the second parallel bit stream
  • the i-th second I/O sub-unit 132-i may receive the second parallel bit stream transmitted by the second conversion sub-unit 132
  • the second parallel bit stream is parallel-serial converted to obtain a second serial bit stream corresponding to the second parallel bit stream, and the second serial bit stream is output.
  • the output unit 130 in the embodiment of the present invention may also have other structures.
  • the output unit 130 may not include the second conversion subunit 131, or may further include other subunits. limited.
  • the plurality of PEs 110 may include at least one fourth PE 110 and a fifth PE 110, wherein an output of each of the fourth PEs 110 of the at least one fourth PE 110 and the first The input terminals of the five PEs 110 are connected.
  • one of the at least one fourth PE 110 The fourth PE 110 may perform a first instruction on the received at least one consecutive bit to obtain L consecutive bits, L ⁇ 1, and transmit the L consecutive bits to the fifth PE 110 and optionally transmit the L
  • the second header offset information of the consecutive bits wherein the second header offset information may be received by the fourth PE 110, for example, the second header offset information may be the fourth PE 110
  • the second frame header offset information may be generated locally by the PE 110 sent by the input terminal or sent by the input unit connected to the input end of the fourth PE 110. The embodiment of the invention does not limit this.
  • the bit interleaving unit 112 of the fifth PE 110 may perform mapping multiplexing processing on the N consecutive bits after receiving the N consecutive bits transmitted by the at least one fourth PE 110.
  • the bit interleaving unit 112 may receive the second frame header offset information of the N consecutive bits, the second frame header offset information may be terminated, and the local frame header offset of the N consecutive bits is determined.
  • Information ie, current frame header offset information
  • the bit interleaving unit 112 of the fifth PE 110 may determine a plurality of local slot positions, and determine, according to the at least one input port corresponding to the N consecutive bits, the N consecutive slots. At least one slot position corresponding to the bit, and determining current head offset information of the N consecutive bits according to the header offset information of the at least one slot position.
  • the plurality of slot positions may be basic bit units local to the fifth PE.
  • the fifth PE may store a correspondence between the input port and the preset slot position, and correspondingly, the bit interleaving unit may be configured according to the correspondence and the at least one input port corresponding to the N consecutive bits. At least one slot position corresponding to the N consecutive bits in the plurality of slot positions is determined, but the invention does not limit this.
  • the bit interleaving unit may determine a frame header offset value of each slot position in the at least one slot position as at least one consecutive bit of the N consecutive bits corresponding to each slot position. The frame header offset value, but the embodiment of the present invention is not limited thereto.
  • each of the at least one target ALU 114 of the fifth PE 110 may receive the The first bit group executes the second instruction to obtain a second instruction execution result.
  • the fifth PE 110 further processes the result of the instruction of the fourth PE 110 as an operand, thereby forming a processing pipeline.
  • the processing program may be converted by the compiler into a directed instruction flow graph with data dependencies, and the instructions and related information are mapped to the corresponding PE according to the PE 110 resource.
  • the stream format information to be processed by the PE 110 node is also synchronously mapped, and finally a processing pipeline for processing the bit stream is formed.
  • each PE 110 node receives the bit stream processed by the upper-level PE 110 node, performs a local instruction operation, and sends the execution result to the next-level PE 110 node.
  • the output result is output by the output unit 130 until the data stream processing is completed.
  • the bit interleaving unit 112 may determine, in the at least one bit group consisting of the N consecutive bits, according to the current frame header offset information of the N consecutive bits.
  • the target output port of each bit group As an optional embodiment, the data processing device stores a correspondence between a preset frame header offset value and an output port.
  • the data processing device may include a first storage unit, where the first storage unit is configured to store a correspondence between the preset frame header offset value and an output port, where the first storage unit may be independent of the Multiple PEs 110 are deployed, or may be deployed in at least one of the plurality of PEs 110, for example, each of the plurality of PEs 110 includes a first storage unit, ie, each of the plurality of PEs 110
  • the PEs 110 may store a correspondence between a preset frame header offset value and an output port, where the correspondences stored by different PEs 110 may be the same or different, and may be pre-compiled by the compiler.
  • the configuration of the present invention is not limited thereto.
  • the bit interleaving unit 112 may determine, according to the current frame header offset information of the N consecutive bits and the stored correspondence between the preset frame header offset value and the output port, the N consecutive bits are determined.
  • the bit interleaving unit 112 may send current frame header offset information of the N consecutive bits to a storage unit that exists independently or deployed in the PE 110, and receive the current frame header of the storage unit according to the N consecutive bits. The information of the target output port corresponding to each bit group determined by the offset information.
  • the bit interleaving unit 112 may also acquire the correspondence, and determine a current frame header of each of the at least one bit group consisting of the N consecutive bits according to the current frame header offset information of the N consecutive bits. Offset value, and determining a target output port corresponding to each bit group in the at least one bit group by querying the current frame header offset value of each bit group in the obtained correspondence.
  • the preset frame header offset value is in units of M bits, 1 ⁇ M ⁇ N, at this time, the bit interleaving unit 112 is specifically used to:
  • the corresponding output port is determined as the target output port of each bit group.
  • each of the plurality of PEs 110 further includes a conversion unit 116, wherein an input of the conversion unit 116 and at least one output of the bit interleaving unit 112 The ports are connected and the output of the conversion unit 116 is connected to the output of each of the PEs 110.
  • a part of the plurality of output ports of the bit interleaving unit 112 may correspond to the at least one ALU 114, and a part of the output ports may correspond to the converting unit 116.
  • the bit interleaving unit 112 is further configured to: when determining that the target output port of the at least one second bit group of the at least one bit group corresponds to the converting unit 116, to convert the target output port corresponding to the converting unit 116 Unit 116 transmits the at least one second bit group;
  • the converting unit 116 is configured to transmit the received at least one second bit group to the output end of the PE 110 to which the converting unit 116 belongs.
  • the correspondence between the preset frame header offset value and the output port may be stored in the PE in the form of an information format table.
  • Table 1 shows an example of an information format table in which it is assumed here that the PE includes a bit interleaving unit, a converting unit, and three ALUs, which are ALU1, ALU 2, and ALU 3, respectively, and correspondingly, the bit interleaving unit has four output ports. , respectively, is a switching unit port corresponding to the switching unit, an ALU 1 port corresponding to the ALU 1, an ALU 2 port corresponding to the ALU 2, and an ALU 3 port corresponding to the ALU 3.
  • the frame header offset value in the information format table is in units of bytes. Accordingly, the bit interleaving unit 112 may determine a target output port of each byte included in the N consecutive bits according to the format information table, but the present invention The embodiment is not limited to this.
  • the target ALU 114 may execute an instruction on the one or more first bit groups to obtain an instruction execution result.
  • the instruction may be pre-configured by the compiler in the target ALU 114 or obtained by the target ALU 114 from the second storage unit of the data processing device.
  • the instruction parameters required by the target ALU 114 when executing the instructions may be obtained by the ALU 114 from the second storage unit of the data processing device, wherein the first storage unit and the second storage unit may be the same or different, and the The second storage unit may be deployed in the part or all of the plurality of PEs 110, which is not limited by the embodiment of the present invention.
  • the bit interleaving unit 112 may determine, according to the frame header offset information of the N consecutive bits, corresponding to the first bit group transmitted to each target ALU 114 of the at least one target ALU 114. Command parameters or instruction parameter information, and transmitting the first bit group to the each ALU 114 while transmitting the instruction parameter or instruction parameter information corresponding to the first bit group (for example, storing the instruction parameter) address).
  • Table 1 further includes a correspondence between a preset frame header offset value and an instruction parameter, but the correspondence between the preset frame header offset value and the command parameter in the embodiment of the present invention is different from the preset frame header bias.
  • the corresponding relationship between the value-shifting and the output port can also be stored in different tables, which is not limited in this embodiment of the present invention.
  • the bit interleaving unit 112 is further configured to obtain a correspondence between the preset frame header offset information and the instruction parameter storage address. At this time, the bit interleaving unit 112 may be further configured to determine, according to the current frame header offset information of the N consecutive bits, an instruction parameter storage address of each of the at least one of the N consecutive bits. And transmitting, by the target output port corresponding to each target ALU 114 of the at least one target ALU 114, the indication information to the each target ALU 114, the indication information being used to indicate the first bit group received by each target ALU 114 Instruction parameter storage address;
  • each target ALU 114 of the at least one target ALU 114 is further configured to acquire an instruction parameter storage address indicated by the indication information sent from the bit interleaving unit 112 before executing the instruction on the received first bit group.
  • the instruction parameter is executed, and the instruction is executed on the received first bit group according to the obtained instruction parameter.
  • the bit interleaving unit may output the current of the N consecutive bits through the output port of the PE to which it belongs.
  • the header offset information is such that the other PE 110 continues processing the N consecutive bits output by the PE to which the bit interleaving unit belongs according to the current header offset information of the N consecutive bits.
  • the bit interleaving unit may output the current frame header offset information of the N consecutive bits to the output end of the PE through the converting unit, or the bit interleaving unit may have at least one output port connected to the output end of the PE, and The current frame header offset information of the N consecutive bits is directly output to the output end of the PE, and the embodiment of the present invention is not limited thereto.
  • the data processing device of the embodiment of the present invention includes a plurality of processing elements, each of the processing elements includes a bit interleaving unit and at least one ALU, wherein the bit interleaving unit is configured to determine, according to the frame header offset information of the plurality of consecutive bits, a target output port corresponding to each of the at least one bit group of the plurality of consecutive bits, and outputting each bit group from the corresponding target output port, at least one target ALU of the at least one ALU for receiving And at least one first bit group of the at least one bit group transmitted by the bit interleaving unit, and executing an instruction on the at least one first bit group to obtain an instruction execution result, which can improve performance such as delay of bit stream processing.
  • the data processing device can perform clock data recovery and synchronization, rate matching, mapping, multiplexing, and framing on the physical layer bit stream by using the L1 layer by processing the bit stream in a programmable manner.
  • the functions such as FEC normalize the implementation of the hardware, simplify the implementation of the device, and improve the flexibility and maintainability of the device.
  • FEC normalize the implementation of the hardware, simplify the implementation of the device, and improve the flexibility and maintainability of the device.
  • by introducing the programmable method to the data plane processing of the L1 layer it lays the foundation for the white boxing trend of the L1 layer.
  • FIG. 7 shows an OTN switch 200 provided by an embodiment of the present invention.
  • the OTN switch 200 may include:
  • the first photoelectric conversion unit 210 is configured to perform photoelectric conversion processing on the input optical signal to obtain Obtaining a bit stream corresponding to the optical signal, and transmitting the bit stream to the data processing device 220;
  • the data processing device 220 is configured to receive the bit stream transmitted by the first photoelectric conversion unit, process the bit stream to obtain the processed bit stream, and transmit the processed bit stream to the second Photoelectric conversion unit;
  • the second photoelectric conversion unit is configured to receive the processed bit stream transmitted by the data processing device 220, and perform electro-optical conversion on the processed bit stream to obtain an optical signal corresponding to the processed bit stream, and output The optical signal.
  • the number of the first photoelectric conversion unit 210 and the second photoelectric conversion unit 230 included in the OTN switch may be one or more, respectively.
  • the OTN switch may include k1 first optical switching units 210-1, ..., 210-k1, and k2 second optical switching units 230-1, ..., 230-k2, where k1 ⁇ 1, k2 ⁇ 1, which is not limited by the embodiment of the present invention.
  • the structure and working principle of the data processing device 220 can be referred to the above, and for brevity, no further details are provided herein.
  • the OTN switch in this embodiment does not need to separate the branch, line and cross-separation structure, and only the bit stream processor can complete the main functions of the OTN switch.
  • the data processing device is a bit stream processor, and the data processing device is applied to an Optical Transport Network (OTN) for connecting two parallel optical transmission units (
  • OTN Optical Transport Network
  • the optical signal transmitted by the Optical Transport Unit (OTU) 1 is multiplexed to the OTU 2, wherein the transmission rate of the OTU 1 is assumed to be 2.5 Gbps, and the transmission rate of the OTU 2 is 10 Gbps, but the embodiment of the present invention is not limited thereto.
  • the bit stream processing system 300 includes a first optical/electrical conversion (O/E) unit 310, a second O/E unit 320, a bit stream processor 330, and a third O/E unit. 340, wherein an input end of the bit stream processor 330 is connected to an output end of the first O/E unit 310 and the second O/E unit 320, respectively, and an output end of the bit stream processor 330 and a third O/E The inputs of unit 340 are connected.
  • the bit stream processor 330 may have any of the structures described above (e.g., the structure shown in FIG. 3), and for the sake of brevity, only the portion related to the present embodiment is shown in FIG.
  • multiplexing of optical signals can be implemented by the following processes: photoelectric conversion, serial-to-parallel conversion, framing processing, descrambling processing, mapping multiplexing processing, framing processing, scrambling processing, parallel-to-serial conversion, and Electro-optic conversion.
  • the plurality of PEs included in the bit stream processor 330 can be It is specifically used to implement functions such as descrambling, mapping multiplexing, framing, and scrambling.
  • the first O/E unit 310 may be configured to perform photoelectric conversion processing on the first optical signal to obtain a first serial bit stream, and transmit the first serial bit stream to the bit stream processor 330.
  • the second O/E unit 320 can be configured to perform photoelectric conversion processing on the second optical signal to obtain a second serial bit stream, and the second serial bit stream is transmitted to the bit stream processor 330.
  • the input unit 331 of the bit stream processor 330 may perform serial-to-parallel conversion processing on the received first serial bit stream to obtain a first parallel bit stream corresponding to the first serial bit stream, and the first A parallel bit stream is subjected to framing processing to obtain at least one header position in the first parallel bit stream, and the first parallel bit stream and the L consecutive bits are transmitted to the PE 332 in units of L consecutive bits Initial frame header offset information, where L may be the processing bit width of the bitstream processor 330.
  • the input unit 331 of the bit stream processor 330 may perform serial-to-parallel conversion processing on the received second serial bit stream to obtain a second parallel bit stream corresponding to the second serial bit stream, and And framing the second parallel bit stream to obtain at least one frame header position in the second parallel bit stream, and transmitting the second parallel bit stream to the PE 333 in units of L consecutive bits and the L Initial frame header offset information for consecutive bits.
  • the following assumption is that L is 64, which corresponds to 8 bytes, but the processing bit width in the embodiment of the present invention may also be other values, which is not limited in the embodiment of the present invention.
  • the PE 332 and the PE 333 may be specifically configured to implement a descrambling function, that is, perform an exclusive OR (XOR) instruction.
  • the PE 332 and the PE 333 may have a format information table as shown in Table 1.
  • the PE 332 and the bit interleaving unit in the PE 333 may receive the received initial frame header when receiving the 8 consecutive bytes transmitted by the input unit 331 and the initial header offset information of the 8 consecutive bytes.
  • the offset information determines the current header offset information of the 8 consecutive bytes, and determines the target output port corresponding to each of the 8 bytes according to Table 1.
  • the output port is transmitted to the conversion unit, and the conversion unit directly outputs the received byte without operating the received byte; the frame offset of the last two bytes is 6 to 7 bytes, respectively, as shown in FIG.
  • the bit interleaving unit may transmit the last two bytes to the ALU 3 through the output port corresponding to the ALU 3 according to Table 1.
  • the bit interleaving unit may further determine the last two bytes according to Table 1.
  • Each byte corresponds to scrambling matrix information (such as scrambling matrix value or scrambling matrix value storage address, etc.) and transmits it to ALU 3 through an output port corresponding to ALU 3, where each byte corresponds
  • the scrambling matrix information can be the same or different.
  • the ALU 3 may adopt a scrambling code matrix value corresponding to each byte of the last two bytes.
  • the bytes are XORed to obtain two consecutive bytes after XOR processing, and the two consecutive bytes after the XOR processing are output.
  • the bit interleaving unit of the PE 333 can transmit the first byte and the second byte in the second beat bit stream through the output port corresponding to the ALU 0 according to Table 1.
  • the bit interleaving unit may further transmit the scrambling code matrix information corresponding to each byte to the corresponding ALU.
  • Each ALU may perform an exclusive OR operation on each byte according to the scrambling code matrix value corresponding to each byte of the received two bytes, and output the result of the exclusive OR operation.
  • bit interleaving unit of the PE 332 and the PE 333 may also output current frame header offset information (ie, initial header offset information) of the 64 consecutive bits to the output port of the associated PE.
  • the current frame header offset information is transmitted to the PE 335.
  • the 8 bytes (64 consecutive bits) output by the PE 332 and their corresponding current header offset information are transmitted to the PE 335, and the PE 333 outputs 8 bytes (64 consecutive bits) and their corresponding
  • the current frame header offset information can be transmitted to the PE 335 via the PE 334.
  • the PE 335 can be specifically configured to implement a mapping multiplexing function.
  • the PE 335 can terminate the received header offset information, and Generating local frame header offset information, and determining a target output port for each byte based on local frame header offset information.
  • the PE 335 may have a format information table shown in Table 2. Specifically, since the transmission rate of the OTU 2 is 4 times of the transmission rate of the OTU 1, the bit stream per beat corresponding to the OTU 2 side includes 4 slot positions, and each slot position can accommodate at least 8 bytes. Correspondingly, the bit interleaving unit in the PE 335 can determine the bit corresponding to each of the four slot positions and the target output port according to Table 2. Specifically, for the first slot position, the frame header offset value is 0.
  • the first slot position corresponds to the input ports 0-7 and the ALU 0 port, wherein the PE 335 If the input ports 0 to 7 correspond to the PE 332, the bit interleaving unit can transmit the 8 bytes transmitted by the PE 332 to the ALU 0 through the output port corresponding to the ALU 0, and the ALU 0 can set the first time slot position.
  • the value is the received 8 bytes; for the second slot position, the header offset value is 1, as can be seen from Table 2, the second slot position corresponds to the input ports 8 to 15 and the ALU.
  • the bit interleaving unit can transmit the 8 bytes transmitted by the PE 333 to the ALU 1 through the output port corresponding to the ALU 1
  • ALU 1 may assign the second slot position to the received 8 bytes; for the third slot position, the frame header offset value is 2, as shown in Table 2, the third If the slot position has no corresponding input, the bit interleaving unit may use a signature for indicating no input.
  • the output port corresponding to the ALU 2 is transmitted to the ALU 2, and the ALU 2 can determine, according to the signature, that the third slot position has no corresponding input, and fills the third slot position with 8 bytes, wherein
  • the padded 8 bytes may be generated locally by the ALU 2, or may be acquired by the ALU 2 from the instruction parameter memory; for the fourth slot position, the frame header offset value is 3, as can be seen from Table 2, If the fourth time slot position still has no corresponding input, the bit interleaving unit may transmit the signature to the ALU 3 through an output port corresponding to the ALU 3, and the ALU 3 may be the fourth similar to the ALU 2
  • the slot position is filled with 64 bits.
  • the feature code in the embodiment of the present invention can be distinguished from the bit stream carrying the data, and is used to indicate that there is no data input.
  • the feature code can be composed of multiple binary bits set to 0, but the embodiment of the present invention It is not limited to its specific form.
  • At least 32 bytes of the PE 335 output can be transmitted to the PE 336.
  • the PE 336 can be specifically configured to perform overhead insertion to implement a framing function.
  • PE 337 can be specifically used to perform with PE 332 and PE 333 operate similarly to implement the scrambling function and transmit the obtained third parallel bit stream to output unit 338.
  • the output sheet 338 may perform parallel-to-serial conversion processing on the received third parallel bit stream to obtain a third serial data stream, and transmit the third serial data stream to the third O/E unit 340.
  • the third O/E unit 340 may perform electro-optical conversion on the received third serial data stream to obtain a third optical signal, and output the third optical signal.
  • bit stream processing flow in the bit stream processor 330 by using FIG. 8 as an example.
  • bit stream processing flow in the bit stream processor 330 may also be as shown in FIG.
  • the 8 bytes of the output of the PE 333 are transmitted to the PE 335 through the PE 332, but the embodiment of the present invention is not limited thereto.
  • the bit stream processing system 300 in the above embodiment can be applied to the transmitting end.
  • the bit stream processor provided by the embodiment of the present invention can also be applied to a receiving end, where the difference from the transmitting end is that the receiving end demultiplexes one channel of signals into two signals, and directly performs framing processing without performing descrambling processing. .
  • the data processing device provided by the embodiment of the present invention can also be used to implement the cross function of OTN fixed particles (also referred to as OTN rigid pipes).
  • OTN fixed particles also referred to as OTN rigid pipes.
  • the data processing device is a bit stream processor, wherein a plurality of intermediate PEs of the bit stream processor have a fully connected relationship, and optionally, the bit stream processor may have FIG. 2 The structure shown, but the embodiment of the invention is not limited thereto.
  • the multiple PEs may demultiplex the bit stream into the same size of the to-be-interleaved particles, and read the value of the overhead position and assign the value of the overhead position to implement the cross function, and the specific process and the above signal multiplexing embodiment The process is similar, for the sake of brevity, it will not be repeated here.
  • the plurality of data processing devices provided by the embodiments of the present invention may also perform any combination to achieve more powerful service processing capabilities.
  • 13 to 15 respectively illustrate possible ways of combining a plurality of data processing devices provided by embodiments of the present invention.
  • the plurality of data processing devices in FIG. 13 are connected in series, and the plurality of data processing devices in FIG. 14 are connected in parallel.
  • the plurality of data processing devices in FIG. 15 are distributed in a Mesh structure, wherein between the plurality of data processing devices
  • the embodiments of the present invention are not limited thereto, and may be independent of each other or may interact with each other to exchange certain information or data.
  • the multiple data processing devices in the embodiment of the present invention may also be deployed in any combination of the foregoing manners, for example, multiple data processing devices in the system are connected in a Mesh manner, and another plurality of data processing devices are The embodiments are connected in series or in parallel, and the embodiment of the invention is not limited thereto.
  • FIG. 8 to FIG. 15 are intended to help those skilled in the art to better understand the embodiments of the present invention, and not to limit the scope of the embodiments of the present invention.
  • a person skilled in the art will be able to make various modifications and changes in accordance with the example of FIG. 2, and such modifications or variations are also within the scope of the embodiments of the present invention.
  • association relationship describing the associated object indicates that there may be three relationships.
  • a and/or B may indicate that A exists separately, and A and B exist simultaneously, and B cases exist alone.
  • the character / in this paper generally indicates that the contextual object is an OR relationship.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division, and may be implemented in actual implementation.
  • multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, or an electrical, mechanical or other form of connection.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiments of the present invention.
  • each functional unit in each embodiment of the present invention may be integrated into one processing element, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • the technical solution of the present invention contributes in essence or to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program codes. .

Abstract

The present invention discloses a data processing device and an OTN switch, which can improve data processing performance. The data processing device comprises a plurality of processing elements; and each processing element in the plurality of processing elements comprises a bit interleaving unit and at least one ALU, wherein the bit interleaving unit is used for, according to current frame header offset information about a plurality of continuous bits, determining a target output port corresponding to each bit group in at least one bit group consisting of the plurality of continuous bits, and outputting the bit group from the corresponding target output port, with each bit group in the at least one bit group comprising at least one continuous bit in the plurality of continuous bits, and at least one target ALU in the at least one ALU is used for receiving at least one first bit group in the at least one bit group transmitted by the bit interleaving unit, and executing an instruction on the at least one first bit group to obtain an instruction execution result.

Description

数据处理设备和光传送网络交换机Data processing equipment and optical transport network switches 技术领域Technical field
本发明涉及通信领域,并且更具体地,涉及数据处理设备和光传送网络交换机。The present invention relates to the field of communications and, more particularly, to data processing devices and optical transport network switches.
背景技术Background technique
为了降低网络的资本支出(Capex或Opex),业界提出了软件定义网络(Software Defined Network,SDN)以及网络功能虚拟化(Network function virtualization,NFV)技术,通过分离通信设备的数据面和控制面,标准化硬件架构,开放接口和可编程能力,来简化设备实现和运营维护,加速网络业务的创新和部署,发挥信息技术(Information Technology,IT)的规模优势。In order to reduce the capital expenditure of the network (Capex or Opex), the industry has proposed Software Defined Network (SDN) and Network Function Virtualization (NFV) technology, by separating the data plane and control plane of the communication device. Standardized hardware architecture, open interfaces and programmability to simplify equipment implementation and operation and maintenance, accelerate the innovation and deployment of network services, and take advantage of the scale of Information Technology (IT).
在现有的SDN中,网络上层业务功能以软件方式实现,并能在一系列的工业标准服务器硬件上运行,可以根据需要进行迁移、实例化,并且部署在网络的不同位置,而不需要安装新设备,一般采用基于X86架构的服务器作为其实现的基础;在网络转发层,采用标准化接口,转发平面只包括基本的指令集和表资源,而转发流程和业务都由远程控制器进行加载部署,一般采用网络处理器(Network Processor,NP)或协议独立转发(Protocol Independent Forwarding,PIF)处理器作为其实现的基础;网络L1层主要负责对物理层的比特流进行时钟数据恢复和同步、速率适配映射、复用、成帧和前向误差校正(Forward Error Correction,FEC)等处理,一般采用专用集成电路(Application Specific Integrated Circuit,ASIC)来实现其功能,设备对用户是一种黑盒状态,用户仅能做一些配置管理工作。In the existing SDN, the upper-layer service functions of the network are implemented in software and can run on a series of industry standard server hardware. They can be migrated, instantiated and deployed in different locations on the network without installation. The new device generally uses the X86-based server as the basis for its implementation; at the network forwarding layer, the standardized interface is used, the forwarding plane only includes the basic instruction set and table resources, and the forwarding process and services are loaded and deployed by the remote controller. Generally, a network processor (NP) or a protocol independent forwarding (PIF) processor is used as a basis for implementation; the network L1 layer is mainly responsible for clock data recovery and synchronization of the bit stream of the physical layer, and the rate. Adaptation mapping, multiplexing, framing, and Forward Error Correction (FEC) processing are generally implemented by an Application Specific Integrated Circuit (ASIC). The device is a black box for the user. State, the user can only do some configuration management work.
随着技术的发展,L1层数据面需要破除固化的功能实现,打破设备的黑盒状态,业界提出采用NP或者PIF芯片来实现L1的业务功能。NP多采用专用于分组数据平面处理的优化设计的精简指令集计算机(Reduced Instruction Set Computer,RISC)处理器作为处理引擎,通过微码编程来完成业务处理。NP的编程颗粒为RISC处理器,在程序计数器的控制下执行程序指令,访问数据存储单元,来完成业务处理。该结构下的内存墙成为数据 比特流处理的最大障碍,无法满足L1层对比特流处理的性能要求。With the development of technology, the L1 layer data surface needs to break through the solidification function realization, breaking the black box state of the device, and the industry proposes to adopt the NP or PIF chip to realize the L1 business function. The NP uses a Reduced Instruction Set Computer (RISC) processor optimized for packet data plane processing as a processing engine to perform business processing through microcode programming. The programming particles of the NP are RISC processors, execute program instructions under the control of the program counter, and access the data storage unit to complete the business processing. The memory wall under this structure becomes data The biggest obstacle to bitstream processing cannot meet the performance requirements of the L1 layer for bitstream processing.
发明内容Summary of the invention
本发明实施例提供了一种数据处理设备和OTN交换机,能够提高数据处理性能。The embodiment of the invention provides a data processing device and an OTN switch, which can improve data processing performance.
第一方面,提供了一种数据处理设备,包括:多个处理元素,该多个处理元素中的每个处理元素包括比特交织单元和至少一个ALU,该比特交织单元的至少一个输出端口与该至少一个ALU一一对应,其中,该比特交织单元用于根据多个连续比特的当前帧头偏移信息,确定由该多个连续比特组成的至少一个比特组中每个比特组对应的目标输出端口,以及从该对应的目标输出端口输出该每个比特组,其中,该至少一个比特组中每个比特组包括该多个连续比特中的至少一个连续比特;该至少一个ALU中的至少一个目标ALU用于接收该比特交织单元传输的该至少一个比特组中的至少一个第一比特组,并对该至少一个第一比特组执行指令,以获得指令执行结果,其中,该至少一个目标ALU与该至少一个比特组对应的至少一个目标输出端口相对应。In a first aspect, a data processing apparatus is provided, comprising: a plurality of processing elements, each of the plurality of processing elements comprising a bit interleaving unit and at least one ALU, at least one output port of the bit interleaving unit Corresponding to at least one ALU, wherein the bit interleaving unit is configured to determine, according to current frame header offset information of the plurality of consecutive bits, a target output corresponding to each of the at least one bit group consisting of the plurality of consecutive bits a port, and outputting each of the bit groups from the corresponding target output port, wherein each of the at least one bit group includes at least one of the plurality of consecutive bits; at least one of the at least one ALU The target ALU is configured to receive at least one first bit group of the at least one bit group transmitted by the bit interleaving unit, and execute an instruction on the at least one first bit group to obtain an instruction execution result, wherein the at least one target ALU Corresponding to at least one target output port corresponding to the at least one bit group.
在第一种可能的实现方式中,该设备存储有预设帧头偏移值与输出端口之间的对应关系;该比特交织单元具体用于根据该多个连续比特的当前帧头偏移信息以及该预设帧头偏移值与输出端口之间的对应关系,确定该至少一个比特组中每个比特组的目标输出端口。In a first possible implementation manner, the device stores a correspondence between a preset frame header offset value and an output port, where the bit interleaving unit is specifically configured to use current frame header offset information of the multiple consecutive bits. And determining a correspondence between the preset frame header offset value and the output port, and determining a target output port of each of the at least one bit group.
结合上述可能的实现方式,在第二种可能的实现方式中,该预设帧头偏移值以M个比特为单位,M≥1,该比特交织单元具体用于:根据该多个连续比特的当前帧头偏移信息,确定该至少一个比特组中的每个比特组的帧头偏移值,其中,该至少一个比特组中的每个比特组包括M个连续比特;确定该预设帧头偏移值与输出端口之间的对应关系中与该每个比特组的帧头偏移值相对应的输出端口;将该对应的输出端口确定为该每个比特组的目标输出端口。In combination with the foregoing possible implementation manners, in a second possible implementation manner, the preset frame header offset value is in units of M bits, and M≥1, the bit interleaving unit is specifically configured to: according to the multiple consecutive bits Current frame header offset information, determining a frame header offset value for each of the at least one bit group, wherein each of the at least one bit group includes M consecutive bits; determining the preset And an output port corresponding to a frame header offset value of each bit group in a correspondence between the frame header offset value and the output port; determining the corresponding output port as the target output port of each of the bit groups.
结合上述可能的实现方式,在第三种可能的实现方式中,该多个处理元素中的每个处理元素存储有该预设帧头偏移值与输出端口之间的对应关系。In combination with the foregoing possible implementation manner, in a third possible implementation manner, each processing element of the multiple processing elements stores a correspondence between the preset frame header offset value and an output port.
结合上述可能的实现方式,在第四种可能的实现方式中,该设备还存储 有多个指令参数;该比特交织单元还用于根据该多个连续比特的当前帧头偏移信息,确定该至少一个比特组中的每个比特组的指令参数存储地址,并通过与该至少一个目标ALU中每个目标ALU对应的目标输出端口向该每个目标ALU发送指示信息,该指示信息用于指示该每个目标ALU接收到的第一比特组的指令参数存储地址;该至少一个目标ALU中的每个目标ALU还用于在对接收到的第一比特组执行指令之前,从该比特交织单元发送的指示信息所指示的指令参数存储地址获取指令参数,并根据获取到的该指令参数对接收到的第一比特执行该指令。In combination with the above possible implementation manners, in a fourth possible implementation manner, the device further stores Having a plurality of instruction parameters; the bit interleaving unit is further configured to determine an instruction parameter storage address of each of the at least one bit group according to the current frame header offset information of the plurality of consecutive bits, and pass the A target output port corresponding to each target ALU in a target ALU sends indication information to each target ALU, where the indication information is used to indicate an instruction parameter storage address of the first bit group received by each target ALU; the at least one Each target ALU in the target ALU is further configured to acquire an instruction parameter from an instruction parameter storage address indicated by the indication information sent by the bit interleaving unit before executing the instruction on the received first bit group, and according to the acquired The instruction parameter executes the instruction on the first bit received.
结合上述可能的实现方式,在第五种可能的实现方式中,该比特交织单元还用于通过该比特交织单元所属处理元素的输出端输出该多个连续比特的当前帧头偏移信息。In combination with the foregoing possible implementation manner, in a fifth possible implementation, the bit interleaving unit is further configured to output current frame header offset information of the multiple consecutive bits by an output end of the processing element to which the bit interleaving unit belongs.
结合上述可能的实现方式,在第六种可能的实现方式中,该多个处理元素中的每个处理元素还包括转换单元,其中,该转换单元的输入端与该比特交织单元的至少一个输出端口连接,并且该转换单元的输出端与该转换单元所属处理元素的输出端连接;该比特交织单元还用于在确定该至少一个比特组中的至少一个第二比特组的目标输出端口与该转换单元相对应时,通过与该转换单元对应的目标输出端口向该转换单元传输该至少一个第二比特组;该转换单元用于将接收到的该至少一个第二比特组传输至该转换单元所属处理元素的输出端。In combination with the foregoing possible implementation manner, in a sixth possible implementation, each of the multiple processing elements further includes a converting unit, wherein an input end of the converting unit and at least one output of the bit interleaving unit a port is connected, and an output end of the conversion unit is connected to an output end of the processing element to which the conversion unit belongs; the bit interleaving unit is further configured to determine a target output port of the at least one second bit group of the at least one bit group and the Translating, by the target output port corresponding to the conversion unit, the at least one second bit group; and the converting unit is configured to transmit the received at least one second bit group to the conversion unit The output of the processing element to which it belongs.
结合上述可能的实现方式,在第七种可能的实现方式中,该多个处理元素呈Mesh结构。In combination with the foregoing possible implementation manners, in a seventh possible implementation manner, the multiple processing elements are in a Mesh structure.
结合上述可能的实现方式,在第八种可能的实现方式中,该多个处理元素包括至少一个第一处理元素和至少一个第二处理元素,其中,该至少一个第一处理元素中的每个第一处理元素的输出端与该至少一个第二处理元素中的所有第二处理元素的输入端连接。In combination with the foregoing possible implementation manner, in an eighth possible implementation, the multiple processing elements include at least one first processing element and at least one second processing element, wherein each of the at least one first processing element An output of the first processing element is coupled to an input of all of the at least one second processing element.
结合上述可能的实现方式,在第九种可能的实现方式中,该设备还包括输入单元,该输入单元的输出端与该多个处理元素中的第三处理元素的输入端连接,其中,该输入单元用于对并行比特流进行定帧处理,以确定该并行比特流的帧头位置;该输入单元还用于向该第三处理元素发送该并行比特流中的多个连续比特以及该多个连续比特的第一帧头偏移信息;该第三处理元 素的比特交织单元具体用于接收该输入单元传输的多个连续比特和该多个连续比特的第一帧头偏移信息,并将接收到的该多个连续比特的第一帧头偏移信息确定为该多个连续比特的当前帧头偏移信息。In combination with the foregoing possible implementation manner, in a ninth possible implementation manner, the device further includes an input unit, where an output end of the input unit is connected to an input end of a third processing element of the plurality of processing elements, where The input unit is configured to perform a framing process on the parallel bit stream to determine a frame header position of the parallel bit stream; the input unit is further configured to send, to the third processing element, a plurality of consecutive bits in the parallel bit stream and the plurality of First frame header offset information of consecutive bits; the third processing element The bit interleaving unit is configured to receive the plurality of consecutive bits transmitted by the input unit and the first frame header offset information of the multiple consecutive bits, and offset the received first frame header of the multiple consecutive bits The information is determined as the current header offset information for the plurality of consecutive bits.
结合上述可能的实现方式,在第十种可能的实现方式中,该多个处理元素包括至少一个第四处理元素和第五处理元素,该至少一个第四处理元素中每个第四处理单元的输出端与该第五处理元素的输入端连接,其中,该第五处理元素的比特交织单元具体用于:接收该至少一个第四处理元素传输的多个连续比特,其中,该多个连续比特是该至少一个第四处理元素通过对接收到的至少一个连续比特进行处理获得的;根据该多个连续比特的至少一个输入端口,确定本地的多个时隙位置中与该多个连续比特对应的至少一个时隙位置;根据该至少一个时隙位置的帧头偏移信息,确定该多个连续比特的当前帧头偏移信息。In combination with the foregoing possible implementation manner, in a tenth possible implementation manner, the multiple processing elements include at least one fourth processing element and a fifth processing element, and each of the at least one fourth processing element The output end is connected to the input end of the fifth processing element, wherein the bit interleaving unit of the fifth processing element is specifically configured to: receive a plurality of consecutive bits transmitted by the at least one fourth processing element, where the multiple consecutive bits Obtaining, by the at least one fourth processing element, processing, by processing the received at least one consecutive bit; determining, according to the at least one input port of the plurality of consecutive bits, corresponding to the plurality of consecutive bits in a plurality of local time slot positions At least one slot position; determining current head offset information of the plurality of consecutive bits according to the header offset information of the at least one slot position.
结合上述可能的实现方式,在第十种可能的实现方式中,该多个连续比特的当前帧头偏移信息包括该多个连续比特中的第一个比特相对于该多个连续比特所属帧的帧头的偏移值。In combination with the foregoing possible implementation manner, in a tenth possible implementation, the current frame header offset information of the multiple consecutive bits includes a first bit of the multiple consecutive bits relative to the frame to which the multiple consecutive bits belong The offset value of the frame header.
第二方面,提供了一种光传送网络交换机,包括第一光电转换单元、上述第一方面或任一种可能的实现方式中的数据处理设备和第二光电转换单元,其中,该第一光电转换单元用于对输入的第一光信号进行光电转换处理,以获得该第一光信号对应的比特流,并将该比特流传输至该处理设备;该数据处理设备用于接收该第一光电转换单元传输的该比特流,对该比特流进行处理,以获得处理后的该比特流,并且将该处理后的该比特流传输至该第二光电转换单元;该第二光电转换单元用于接收该数据处理设备传输的该处理后的比特流,并对该处理后的比特流进行电光转换,以获得该处理后的比特流对应的第二光信号,以及输出该第二光信号。In a second aspect, there is provided an optical transmission network switch, comprising: a first photoelectric conversion unit, the data processing device and the second photoelectric conversion unit in the first aspect or any of the possible implementations, wherein the first photoelectric The conversion unit is configured to perform photoelectric conversion processing on the input first optical signal to obtain a bit stream corresponding to the first optical signal, and transmit the bit stream to the processing device; the data processing device is configured to receive the first photoelectric Converting the bit stream transmitted by the unit, processing the bit stream to obtain the processed bit stream, and transmitting the processed bit stream to the second photoelectric conversion unit; the second photoelectric conversion unit is configured to Receiving the processed bit stream transmitted by the data processing device, and performing electro-optical conversion on the processed bit stream to obtain a second optical signal corresponding to the processed bit stream, and outputting the second optical signal.
因此,本发明实施例的数据处理设备和OTN交换机,包括多个处理元素,每个处理元素包括比特交织单元和至少一个ALU,其中,比特交织单元用于根据多个连续比特的帧头偏移信息,确定该多个连续比特组成的至少一个比特组中每个比特组对应的目标输出端口,以及从该对应的目标输出端口输出该每个比特组,该至少一个ALU中的至少一个目标ALU用于接收该比特交织单元传输的该至少一个比特组中的至少一个第一比特组,并对该至 少一个第一比特组执行指令,以获得指令执行结果,能够提高比特流处理的时延等性能。Therefore, the data processing device and the OTN switch of the embodiments of the present invention include a plurality of processing elements, each processing element including a bit interleaving unit and at least one ALU, wherein the bit interleaving unit is configured to offset a frame header according to a plurality of consecutive bits Information, determining a target output port corresponding to each of the at least one of the plurality of consecutive bit groups, and outputting each of the bit groups from the corresponding target output port, at least one target ALU of the at least one ALU Receiving at least one of the at least one bit group transmitted by the bit interleaving unit, and The execution of the instruction by one less bit group to obtain the instruction execution result can improve the performance of the bit stream processing delay and the like.
附图说明DRAWINGS
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings to be used in the embodiments of the present invention or the description of the prior art will be briefly described below. Obviously, the drawings described below are only the present invention. For some embodiments, other drawings may be obtained from those of ordinary skill in the art without departing from the drawings.
图1是本发明实施例提供的数据处理设备的示意性框图。FIG. 1 is a schematic block diagram of a data processing device according to an embodiment of the present invention.
图2是本发明实施例提供的数据处理设备的另一示意性框图。FIG. 2 is another schematic block diagram of a data processing device according to an embodiment of the present invention.
图3是本发明实施例提供的数据处理设备的另一示意性框图。FIG. 3 is another schematic block diagram of a data processing device according to an embodiment of the present invention.
图4是本发明实施例提供的数据处理设备中的输入单元的示意性框图。FIG. 4 is a schematic block diagram of an input unit in a data processing device according to an embodiment of the present invention.
图5是本发明实施例提供的数据处理设备中的输出单元的示意性框图。FIG. 5 is a schematic block diagram of an output unit in a data processing device according to an embodiment of the present invention.
图6是本发明实施例提供的数据处理设备中处理元素的示意性框图。FIG. 6 is a schematic block diagram of processing elements in a data processing device according to an embodiment of the present invention.
图7是本发明实施例提供的OTN交换机的示意性框图。FIG. 7 is a schematic block diagram of an OTN switch according to an embodiment of the present invention.
图8是本发明实施例提供的数据处理设备应用于信号复用场景的系统架构示意图。FIG. 8 is a schematic structural diagram of a system for applying a data processing device to a signal multiplexing scenario according to an embodiment of the present invention.
图9是图8所示的系统架构的工作流程示意性。9 is a schematic diagram of the workflow of the system architecture shown in FIG.
图10是图8中的PE 332对于接收到的前8个字节中每个字节的处理流向的示意图。Figure 10 is a schematic illustration of the processing flow of the PE 332 of Figure 8 for each of the first 8 bytes received.
图11是图8中的PE 333对于接收到的次8个字节中每个字节的处理流向的示意图。Figure 11 is a diagram showing the processing flow of the PE 333 of Figure 8 for each of the received 8 bytes.
图12是本发明实施例提供的数据处理设备应用于信号复用场景的另一系统架构示意图。FIG. 12 is a schematic diagram of another system architecture of a data processing device according to an embodiment of the present invention applied to a signal multiplexing scenario.
图13是本发明实施例提供的数据处理设备应用的组合示意图。FIG. 13 is a schematic diagram of a combination of data processing device applications according to an embodiment of the present invention.
图14是本发明实施例提供的数据处理设备应用的另一组合示意图。FIG. 14 is another schematic diagram of a combination of data processing device applications according to an embodiment of the present invention.
图15是本发明实施例提供的数据处理设备应用的另一组合示意图。FIG. 15 is another schematic diagram of a combination of data processing device applications according to an embodiment of the present invention.
具体实施方式detailed description
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。The technical solution in the embodiment of the present invention will be described below with reference to the accompanying drawings in the embodiments of the present invention. It is clear that the described embodiments are part of the embodiments of the invention, and not all of the embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts shall fall within the scope of the present invention.
应理解,本发明实施例的技术方案可以应用于各种SDN架构,如开放无线(Open Radio)架构等。该技术方案可以主要应用SDN架构的L1层,也可以应用于SDN架构的L2~L7层中的任意一层或多层,但本发明提供的技术方案还可以应用于其他网络架构,本发明实施例对此不做限定。It should be understood that the technical solutions of the embodiments of the present invention may be applied to various SDN architectures, such as an Open Radio architecture. The technical solution can be applied to the L1 layer of the SDN architecture, and can also be applied to any one or more of the L2 to L7 layers of the SDN architecture. However, the technical solution provided by the present invention can also be applied to other network architectures. This example does not limit this.
本发明提供的数据处理设备采用基于数据流架构的数据流机模型,针对数据的平面处理进行优化设计,提供数据平面的可编程能力。在数据流架构中,采用数据驱动方式推动指令的执行,只要指令所需的操作数全部就绪即开始执行该指令,然后,该指令的运算结果被传递至下一个指令并且作为该下一个指令的操作数来驱动该下一个指令的执行。具体地,处理程序被编译器转换为有向指令图,并且将该有向指令图映射到数据处理设备中的各个处理节点,其中,一个处理节点用于实现有向指令图中的一个指令,最终形成处理流水线。The data processing device provided by the invention adopts a data stream machine model based on a data stream architecture, optimizes design for data plane processing, and provides programmability of the data plane. In the data flow architecture, the data-driven manner is used to drive the execution of the instruction. As long as the operand required by the instruction is all ready, the instruction is started, and then the operation result of the instruction is passed to the next instruction and is used as the next instruction. The operands drive the execution of the next instruction. Specifically, the processing program is converted by the compiler into a directed instruction map, and the directed instruction map is mapped to each processing node in the data processing device, wherein one processing node is used to implement an instruction in the directed instruction graph, Eventually a processing pipeline is formed.
图1示出了本发明实施例提供的数据处理设备100。该数据处理设备100包括:多个处理元素(Processing Element,PE),该多个PE中的每个PE包括比特交织单元112和至少一个算术逻辑单元(Arithmetic Logic Unit,ALU)114,该至少一个ALU 114与该比特交织单元112的至少一个输出端口一一对应,其中,FIG. 1 shows a data processing device 100 provided by an embodiment of the present invention. The data processing device 100 includes: a plurality of processing elements (PEs), each of the plurality of PEs including a bit interleaving unit 112 and at least one Arithmetic Logic Unit (ALU) 114, the at least one The ALU 114 has a one-to-one correspondence with at least one output port of the bit interleaving unit 112, where
该比特交织单元112用于根据多个连续比特的当前帧头偏移信息,确定该多个连续比特组成的至少一个比特组中每个比特组对应的目标输出端口,以及从该对应的目标输出端口输出该每个比特组;The bit interleaving unit 112 is configured to determine, according to current frame header offset information of the plurality of consecutive bits, a target output port corresponding to each of the at least one bit group composed of the plurality of consecutive bits, and output from the corresponding target. The port outputs the each bit group;
该至少一个ALU 114中的至少一个目标ALU 114用于接收该比特交织单元114传输的该至少一个比特组中的至少一个第一比特组,并对该至少一个第一比特组执行指令,以获得指令执行结果,其中,该至少一个目标ALU114与该至少一个比特组对应的至少一个目标输出端口相对应。At least one target ALU 114 of the at least one ALU 114 is configured to receive at least one first bit group of the at least one bit group transmitted by the bit interleaving unit 114, and execute an instruction on the at least one first bit group to obtain The instruction execution result, wherein the at least one target ALU 114 corresponds to at least one target output port corresponding to the at least one bit group.
该多个连续比特可以是该比特交织单元112接收到的,也可以是该比特交织单元112根据接收到的至少一个连续比特生成的,本发明实施例对此不做限定。 The plurality of consecutive bits may be received by the bit interleaving unit 112, or may be generated by the bit interleaving unit 112 according to the received at least one consecutive bit, which is not limited by the embodiment of the present invention.
该比特交织单元112可以具有多个输出端口,其中,该多个输出端口中的至少一个输出端口分别与该至少一个ALU 114的输入端连接,即该多个输出端口中的至少一个输出端口与该至少一个ALU 114一一对应,其中,该至少一个输出端口可以具体为该比特交织单元112的多个输出端口中的全部或部分输出端口,例如,该至少一个ALU 114的数量为多个,并且该比特交织单元112的多个输出端口的数量等于该多个ALU 114的数量,则该比特交织单元112的多个输出端口可以与该多个ALU 114一一对应;或者,该至少一个ALU 114的数量为一个或多个,并且该至少一个ALU 114的数量小于该比特交织单元112的多个输出端口的数量,则该多个输出端口中的部分输出端口与该至少一个ALU 114一一对应,而其余输出端口可以直接与PE 110的输出端连接(或作为PE 110的输出端口)或者可以与PE 110中包括的其它单元的输入端连接,本发明实施例对此不做限定。The bit interleaving unit 112 may have a plurality of output ports, wherein at least one of the plurality of output ports is respectively connected to an input of the at least one ALU 114, that is, at least one of the plurality of output ports is The at least one output port may be specifically all or part of the output ports of the bit interleaving unit 112. For example, the number of the at least one ALU 114 is multiple. And the number of the plurality of output ports of the bit interleaving unit 112 is equal to the number of the plurality of ALUs 114, and the plurality of output ports of the bit interleaving unit 112 may be in one-to-one correspondence with the plurality of ALUs 114; or the at least one ALU The number of 114 is one or more, and the number of the at least one ALU 114 is smaller than the number of the plurality of output ports of the bit interleaving unit 112, and a part of the plurality of output ports is one by one with the at least one ALU 114. Corresponding, and the remaining output ports can be directly connected to the output of PE 110 (or as the output port of PE 110) or can be combined with PE 1 The input of the other units included in the 10 is not limited in this embodiment of the present invention.
现有技术的数据处理设备以存储器为中心。具体地,输入至数据处理设备的比特流首先被存储至存储器,ALU需要从存储器中读取多个所需比特和指令,然后才能对该多个所需比特执行读取的该指令,并且将该指令的运算结果写入存储器,由于当前存储器的读写速度已经严重滞后于处理器的计算速度,而上述处理过程中对存储器的反复读写操作会进一步加剧处理时延。本发明实施例提供的数据处理设备通过比特交织单元直接将比特流中的各个比特组交织分发至对应的ALU,无需ALU对存储器进行反复读写,能够提高数据处理时延和抖动等其它处理性能。Prior art data processing devices are memory-centric. Specifically, the bit stream input to the data processing device is first stored to the memory, and the ALU needs to read a plurality of required bits and instructions from the memory before the read instruction can be executed on the plurality of required bits, and The operation result of the instruction is written into the memory. Since the read/write speed of the current memory has seriously lags behind the calculation speed of the processor, the repeated reading and writing operations to the memory during the above processing further aggravate the processing delay. The data processing device provided by the embodiment of the present invention directly interleaves and distributes each bit group in the bit stream to the corresponding ALU through the bit interleaving unit, and does not need to repeatedly read and write the memory by the ALU, thereby improving other processing performances such as data processing delay and jitter. .
为了便于描述,以下以该多个连续比特的数量为N进行描述,但本发明实施例不限于此。For convenience of description, the following describes the number of the plurality of consecutive bits as N, but the embodiment of the present invention is not limited thereto.
该比特交织单元112可以确定该N个连续比特的当前帧头偏移信息,并根据该N个连续比特的当前帧头偏移信息,确定该N个连续比特组成的至少一个比特组中的每个比特组对应的目标输出端口,以及将该至少一个比特组中的每个比特组由与该每个比特组对应的目标输出端口输出。具体地,该N个连续比特组成一个或多个比特组,每个比特组包括该N个连续比特中的一个比特或多个连续比特,并且该至少一个比特组中不同比特组包括的比特个数可以相同或不同,本发明实施例对此不做限定。The bit interleaving unit 112 may determine current frame header offset information of the N consecutive bits, and determine, according to the current frame header offset information of the N consecutive bits, each of the at least one bit group composed of the N consecutive bits. a target output port corresponding to each bit group, and each bit group of the at least one bit group is output by a target output port corresponding to each of the bit groups. Specifically, the N consecutive bits constitute one or more bit groups, each bit group includes one or more consecutive bits of the N consecutive bits, and bits included in different bit groups in the at least one bit group The number may be the same or different, which is not limited by the embodiment of the present invention.
该N个连续比特可以对应于该比特交织单元112的多个输出端口中的一 个或多个目标输出端口,该一个或多个目标输出端口中的某个目标输出端口可以与该至少一个ALU 114中的某个ALU 114连接,或者与PE 110中的其它单元连接,或者直接与PE 110的输出端连接。相应地,该一个或多个目标输出端口中的至少一个目标输出端口可以与该至少一个ALU 114中的至少一个目标ALU 114一一对应,其中,该至少一个目标输出端口可以具体为该一个或多个目标输出端口中的部分或全部目标输出端口,该至少一个目标ALU 114也可以具体为该至少一个ALU 114中的部分或所有ALU 114,本发明实施例对此不做限定。The N consecutive bits may correspond to one of a plurality of output ports of the bit interleaving unit 112 One or more target output ports, one of the one or more target output ports may be connected to one of the at least one ALU 114, or to other units in the PE 110, or directly Connected to the output of PE 110. Correspondingly, at least one target output port of the one or more target output ports may be in one-to-one correspondence with at least one target ALU 114 of the at least one ALU 114, wherein the at least one target output port may be specifically the one or Some or all of the target output ports of the plurality of target output ports, the at least one target ALU 114 may also be a part or all of the at least one ALU 114, which is not limited in this embodiment of the present invention.
该至少一个比特组可以包括至少一个第一比特组,其中,每个第一比特组的目标输出端口可以与该至少一个ALU 114中的某个目标ALU对应,并且被传输至该对应的目标ALU 114。该至少一个目标ALU 114中的每个目标ALU 114可以接收该比特交织单元112通过与该每个目标ALU 114对应的目标输出端口传输的一个或多个第一比特组,并且对接收到的该一个或多个第一比特组中的每个第一比特组执行指令,以获得该每个第一比特组对应的指令执行结果。The at least one bit group may include at least one first bit group, wherein a target output port of each first bit group may correspond to a target ALU in the at least one ALU 114 and be transmitted to the corresponding target ALU 114. Each of the at least one target ALUs 114 may receive one or more first groups of bits transmitted by the bit interleaving unit 112 through a target output port corresponding to each of the target ALUs 114, and the received ones Each of the one or more first bit groups executes an instruction to obtain an instruction execution result corresponding to each of the first bit groups.
该至少一个目标ALU 114中的每个目标ALU 114执行的指令可以由编译器确定。具体地,编译器可以根据该数据处理设备需要实现的功能,生成有向指令图,并将该有向指令图映射到该数据处理设备,其中,该多个PE 110中的部分或全部PE 110中的每个PE 110可以用于实现一个或多个指令,PE110中的每个ALU可以与一个指令相对应,例如,异或或赋值等,但本发明实施例不限于此。The instructions executed by each of the at least one target ALU 114 may be determined by a compiler. Specifically, the compiler may generate a directed instruction map according to a function that the data processing device needs to implement, and map the directed instruction map to the data processing device, wherein some or all of the plurality of PEs 110 are 110 Each of the PEs 110 may be used to implement one or more instructions, and each ALU in the PE 110 may correspond to one instruction, for example, an exclusive OR or an assignment, etc., but embodiments of the present invention are not limited thereto.
在本发明实施例中,该多个PE 110之间可以形成片上网络,其中,该多个PE 110可以具有各种分布形式。例如,该多个PE 110可以具有如图1所示的网状(Mesh)结构,或者也可以具有克洛斯(Clos)结构或蝴蝶(butterfly)结构;或者,该多个PE 110中的部分或全部PE 110之间可以全互连,例如,如图2所示,该多个PE 110可以包括至少一个第一PE 110和至少一个第二PE 110,其中,该至少一个第一PE 110中的每个第一PE 110的输出端与该至少一个第二PE 110中的所有第二PE 110的输入端连接,即该至少一个第一PE 110中的任意一个第一PE 110可以与该至少一个第二PE110中的任意一个第二PE 110连接,但本发明实施例不限于此。 In the embodiment of the present invention, an on-chip network may be formed between the plurality of PEs 110, wherein the plurality of PEs 110 may have various distribution forms. For example, the plurality of PEs 110 may have a mesh structure as shown in FIG. 1, or may have a Clos structure or a butterfly structure; or a part of the plurality of PEs 110 or All of the PEs 110 may be fully interconnected. For example, as shown in FIG. 2, the plurality of PEs 110 may include at least one first PE 110 and at least one second PE 110, wherein the at least one first PE 110 An output of each first PE 110 is coupled to an input of all of the second PEs 110 of the at least one second PE 110, ie, any one of the at least one first PEs 110 may be associated with the at least one Any one of the second PEs 110 is connected to the second PE 110, but the embodiment of the present invention is not limited thereto.
在本发明实施例中,该N个连续比特的帧头偏移信息可以包括该N个连续比特中的第一个比特相对于该N个连续比特所属帧的帧头位置的偏移值,或者也可以包括该N个连续比特组成的至少一个比特组中的每个比特组的帧头偏移值,即该每个比特组中的第一个比特相对于其所属帧的帧头位置的偏移值,但本发明实施例不限于此。In the embodiment of the present invention, the frame header offset information of the N consecutive bits may include an offset value of a first bit of the N consecutive bits relative to a frame header position of the frame to which the N consecutive bits belong, or A frame header offset value of each of the at least one bit group consisting of the N consecutive bits, that is, a deviation of a first bit in each of the bit groups relative to a frame header position of a frame to which the frame belongs The value is shifted, but the embodiment of the invention is not limited thereto.
本发明实施例中的帧可以具体为同步数字体系(Synchronous Digital Hierarchy,SDH)中的同步传输模式(Synchronous Transfer Mode,STM)帧、千兆比特无源光网络(Gigabit Passive Optical Network,GPON)中的GPON汇聚传输(GPON Transmission Convergence,GPON传输汇聚)帧、或66比特码块(66-bit block),等等,本发明实施例对此不做限定。The frame in the embodiment of the present invention may be specifically a Synchronous Transfer Mode (STM) frame in a Synchronous Digital Hierarchy (SDH) or a Gigabit Passive Optical Network (GPON). The GPON Transmission Convergence (GPON Transmission Convergence) frame, or the 66-bit block (66-bit block), and the like are not limited in this embodiment of the present invention.
比特交织单元112可以通过多种方式确定该N个连续比特的当前帧头偏移信息。具体地,该N个连续比特的当前帧头偏移信息可以是该比特交织单元112接收到的,例如,该比特交织单元112所属PE 110的输入端可以与该数据处理设备中的其它部件的输出端连接,例如另一个PE 110或输入单元,此时,该比特交织单元112可以接收该其它部件传输的帧头偏移信息,并将接收到的该帧头偏移信息确定为该N个连续比特的当前帧头偏移信息,其中,该多个连续比特的帧头偏移信息可以与该多个连续比特在同一个时钟周期内传输;或者,该N个连续比特的当前帧头偏移信息可以是该比特交织单元112在本地生成的,例如,该比特交织单元112可以根据该N个连续比特的输入端口,确定本地与该N个连续比特对应的至少一个时隙位置,并根据该对应的至少一个时隙位置的帧头偏移信息,确定该N个连续比特的当前帧头偏移信息,但本发明实施例不限于此。The bit interleaving unit 112 can determine the current frame header offset information for the N consecutive bits in a variety of ways. Specifically, the current frame header offset information of the N consecutive bits may be received by the bit interleaving unit 112. For example, the input end of the PE 110 to which the bit interleaving unit 112 belongs may be associated with other components in the data processing device. The output is connected, for example, another PE 110 or an input unit. At this time, the bit interleaving unit 112 can receive the header offset information transmitted by the other component, and determine the received header offset information as the N Current frame header offset information of consecutive bits, wherein the frame header offset information of the plurality of consecutive bits may be transmitted in the same clock cycle as the plurality of consecutive bits; or, the current frame header bias of the N consecutive bits The shift information may be locally generated by the bit interleaving unit 112. For example, the bit interleaving unit 112 may determine at least one slot position locally corresponding to the N consecutive bits according to the input ports of the N consecutive bits, and according to The frame header offset information of the corresponding at least one slot position determines the current frame header offset information of the N consecutive bits, but the embodiment of the present invention is not limited thereto.
作为一个可选实施例,如图3所示,该数据处理设备还包括输入单元120,该输入单元120的输入端口可以与该数据处理设备的输入端连接,该输入单元120的输出端可以与该多个PE 110中的一个或多个输入PE 110的输入端连接。该输入单元120可以用于对并行比特流进行定帧处理,以确定该并行比特流的帧头位置。其中,该并行比特流可以包括一个或多个帧,相应地,该输入单元120可以确定该并行比特流的一个或多个帧头位置。进一步地,该输入单元120可以以多个连续比特(例如N个连续比特)为单位向与该输入单元120连接的至少一个第三PE 110传输该并行比特流,其中, 该至少一个第三PE 110可以为该一个或多个输入PE 110中的部分或全部PE110,并且可以由编译器预先确定,本发明实施例对此不作限定。As an optional embodiment, as shown in FIG. 3, the data processing device further includes an input unit 120, and an input port of the input unit 120 can be connected to an input end of the data processing device, and an output end of the input unit 120 can be One or more of the plurality of PEs 110 are connected to an input of the input PE 110. The input unit 120 can be configured to frame the parallel bit stream to determine a frame header position of the parallel bit stream. Wherein, the parallel bit stream may include one or more frames, and correspondingly, the input unit 120 may determine one or more frame header positions of the parallel bit stream. Further, the input unit 120 may transmit the parallel bit stream to at least one third PE 110 connected to the input unit 120 in units of a plurality of consecutive bits (for example, N consecutive bits), where The at least one third PE 110 may be part or all of the one or more input PEs 110, and may be predetermined by a compiler, which is not limited by the embodiment of the present invention.
此外,该输入单元120在向某一个第三PE 110传输至少一个连续比特时,可以根据该至少一个连续比特所属帧的帧头位置,确定该至少一个连续比特的第一帧头偏移信息(即初始帧头偏移信息),并向该第三PE 110传输该至少一个连续比特的第一帧头偏移信息,其中,可选地,该输入单元120可以在同一个时钟周期内向该第三PE110传输该至少一个连续比特以及该至少一个连续比特的第一帧头偏移信息。作为一个可选实施例,该第三PE110的比特交织单元112可以对该至少一个连续比特进行处理,以生成该N个连续比特,并确定该N个连续比特的当前帧头偏移信息(即本地帧头偏移信息),例如,该第三PE 110的比特交织单元112可以对该至少一个连续比特进行比特填充处理,以生成N个连续比特,并根据该比特填充处理后该至少一个连续比特在该N个连续比特中的位置和/或该至少一个连续比特的第一帧头偏移信息,确定该N个连续比特的当前帧头偏移信息,但本发明实施例不限于此。In addition, when the input unit 120 transmits the at least one consecutive bit to the third PE 110, the first frame header offset information of the at least one consecutive bit may be determined according to the frame header position of the frame to which the at least one consecutive bit belongs ( That is, the initial frame header offset information), and transmitting the first frame header offset information of the at least one consecutive bit to the third PE 110, wherein, optionally, the input unit 120 can be in the same clock cycle to the first The third PE 110 transmits the at least one consecutive bit and the first header offset information of the at least one consecutive bit. As an optional embodiment, the bit interleaving unit 112 of the third PE 110 may process the at least one consecutive bit to generate the N consecutive bits, and determine current frame header offset information of the N consecutive bits (ie, Local frame header offset information), for example, the bit interleaving unit 112 of the third PE 110 may perform bit stuffing processing on the at least one consecutive bit to generate N consecutive bits, and according to the bit padding process, the at least one consecutive The position of the bit in the N consecutive bits and/or the first frame header offset information of the at least one consecutive bit determines the current frame header offset information of the N consecutive bits, but the embodiment of the present invention is not limited thereto.
作为另一个可选实施例,该输入单元可以具体用于向与其连接的某个第三PE 110传输N个连续比特和该N个连续比特的第一帧头偏移信息,相应地,第三PE 110的比特交织单元112还可以用于接收该输入单元120传输的N个连续比特和该N个连续比特的第一帧头偏移信息,并将接收到的该第一帧头偏移信息确定为该N个连续比特的当前帧头偏移信息。As another optional embodiment, the input unit may be specifically configured to transmit N consecutive bits and first frame header offset information of the N consecutive bits to a third PE 110 connected thereto, and correspondingly, a third The bit interleaving unit 112 of the PE 110 may be further configured to receive the N consecutive bits transmitted by the input unit 120 and the first frame header offset information of the N consecutive bits, and receive the received first frame header offset information. The current frame header offset information for the N consecutive bits is determined.
可选地,该输入单元120在对并行比特流进行定帧处理之前,还可以接收串行比特流,并对接收到的该串行比特流进行串并转换处理,以获得该并行比特流,但本发明实施例不限于此。Optionally, the input unit 120 may further receive the serial bit stream before performing the framing processing on the parallel bit stream, and perform serial-to-parallel conversion processing on the received serial bit stream to obtain the parallel bit stream. However, embodiments of the invention are not limited thereto.
图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连接的至少一个PE 110中的至少一个第三PE 110发送该至少一个连续比特。应理解,本发明实施例中的输入单元120也可以具有其它结构,例如该输入单元120可以不包括该第一转换子单元123,或者还可以包括其它子单元,本发明实施例对此不做限定。FIG. 4 exemplarily shows the structure of the input unit 120, wherein the input unit 120 may include p1 first input/output (I/O) subunits 121-1, . . ., 121-p1, p1. The framing sub-units 122-1, ..., 122-p1 and the first conversion sub-unit 123, wherein p1 ≥ 1. Specifically, the i-th (1 ≤ i ≤ p1) first I/O sub-units 121-i may be configured to receive the first serial bit stream and perform serial-to-parallel conversion on the received first serial bit stream, A first parallel bit stream is obtained, and the first parallel bit stream is transmitted to an ith framing sub-unit 122-i connected thereto. The ith framing sub-unit 122-i may stream the first parallel bit stream transmitted by the ith I/O sub-unit 121-i Performing a framing process to obtain at least one frame header position of the first parallel bit stream, and outputting the first parallel bit stream in units of at least one consecutive bit, wherein the number of the at least one consecutive bit may be a processing bit width However, embodiments of the invention are not limited thereto. The first conversion sub-unit 123 may receive at least one consecutive bit transmitted by the i framing sub-units 122-i and transmit the at least one of the at least one third PE 110 of the at least one PE 110 connected to the input unit 120. One continuous bit. It should be understood that the input unit 120 in the embodiment of the present invention may also have other structures. For example, the input unit 120 may not include the first conversion subunit 123, or may further include other subunits. limited.
可选地,如图3所示,该数据处理设备还可以包括输出单元130,其中,该输出单元130的输入端与该多个PE 110中的一个或多个输出PE 110的输出端连接。其中,该输出单元130可以用于接收该一个或多个输出PE 110中的至少一个第六PE 110传输的第二并行比特流,对该第二并行比特流进行并串转换处理,以获得第二串行比特流,并输出该第二串行比特流。其中,该第二并行比特流可以包括多个连续比特,该至少一个第六PE 110可以为该一个或多个输出PE 110中的部分或全部PE 110,本发明实施例对此不作限定。Optionally, as shown in FIG. 3, the data processing device may further include an output unit 130, wherein an input end of the output unit 130 is connected to an output of one or more of the plurality of PEs 110. The output unit 130 may be configured to receive a second parallel bit stream transmitted by the at least one sixth PE 110 of the one or more output PEs 110, and perform parallel-to-serial conversion processing on the second parallel bit stream to obtain a Two serial bit streams and outputting the second serial bit stream. The second parallel bit stream may include a plurality of consecutive bits, and the at least one sixth PE 110 may be part or all of the PEs 110 of the one or more output PEs 110, which is not limited by the embodiment of the present invention.
图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,或者还可以包括其它子单元,本发明实施例对此不做限定。FIG. 5 exemplarily shows the structure of the output unit 130, wherein the output unit 130 may include a second conversion sub-unit 131 and p2 second I/O sub-units 132-1, . . ., 132-p2, where P2 ≥ 1, p2 may be equal or unequal to p1. Specifically, the second conversion subunit 132 is configured to receive the second parallel bit stream sent by the at least one sixth PE 110 connected to the output unit 130, and to the ith one of the p2 second I/O subunits The second I/O sub-unit 132-i transmits the second parallel bit stream, and the i-th second I/O sub-unit 132-i may receive the second parallel bit stream transmitted by the second conversion sub-unit 132, The second parallel bit stream is parallel-serial converted to obtain a second serial bit stream corresponding to the second parallel bit stream, and the second serial bit stream is output. It should be understood that the output unit 130 in the embodiment of the present invention may also have other structures. For example, the output unit 130 may not include the second conversion subunit 131, or may further include other subunits. limited.
作为另一个可选实施例,该多个PE 110可以包括至少一个第四PE 110和第五PE 110,其中,该至少一个第四PE 110中的每个第四PE 110的输出端与该第五PE 110的输入端连接。此时,该至少一个第四PE 110中的某个 第四PE 110可以对接收到的至少一个连续比特执行第一指令,以获得L个连续比特,L≥1,并向该第五PE 110传输该L个连续比特以及可选地传输该L个连续比特的第二帧头偏移信息,其中,该第二帧头偏移信息可以是该第四PE 110接收到的,例如,该第二帧头偏移信息可以是该第四PE 110的输入端连接的某个PE 110发送的或者是与该第四PE 110的输入端连接的输入单元发送的,该第二帧头偏移信息也可以是该第四PE 110在本地生成的,本发明实施例对此不做限定。As another optional embodiment, the plurality of PEs 110 may include at least one fourth PE 110 and a fifth PE 110, wherein an output of each of the fourth PEs 110 of the at least one fourth PE 110 and the first The input terminals of the five PEs 110 are connected. At this time, one of the at least one fourth PE 110 The fourth PE 110 may perform a first instruction on the received at least one consecutive bit to obtain L consecutive bits, L≥1, and transmit the L consecutive bits to the fifth PE 110 and optionally transmit the L The second header offset information of the consecutive bits, wherein the second header offset information may be received by the fourth PE 110, for example, the second header offset information may be the fourth PE 110 The second frame header offset information may be generated locally by the PE 110 sent by the input terminal or sent by the input unit connected to the input end of the fourth PE 110. The embodiment of the invention does not limit this.
该第五PE 110的比特交织单元112在接收到该至少一个第四PE 110传输的该N个连续比特之后,可以对该N个连续比特进行映射复用处理。可选地,如果该比特交织单元112接收到该N个连续比特的第二帧头偏移信息,可以终结该第二帧头偏移信息,并且确定该N个连续比特的本地帧头偏移信息(即当前帧头偏移信息),但本发明实施例不限于此。The bit interleaving unit 112 of the fifth PE 110 may perform mapping multiplexing processing on the N consecutive bits after receiving the N consecutive bits transmitted by the at least one fourth PE 110. Optionally, if the bit interleaving unit 112 receives the second frame header offset information of the N consecutive bits, the second frame header offset information may be terminated, and the local frame header offset of the N consecutive bits is determined. Information (ie, current frame header offset information), but embodiments of the present invention are not limited thereto.
具体地,该第五PE 110的比特交织单元112可以确定本地的多个时隙位置,并且根据该N个连续比特对应的至少一个输入端口,确定该多个时隙位置中与该N个连续比特对应的至少一个时隙位置,并且根据该至少一个时隙位置的帧头偏移信息,确定该N个连续比特的当前帧头偏移信息。Specifically, the bit interleaving unit 112 of the fifth PE 110 may determine a plurality of local slot positions, and determine, according to the at least one input port corresponding to the N consecutive bits, the N consecutive slots. At least one slot position corresponding to the bit, and determining current head offset information of the N consecutive bits according to the header offset information of the at least one slot position.
该多个时隙位置可以为该第五PE本地的基本比特单元。可选地,该第五PE可以存储有输入端口与预设时隙位置之间的对应关系,相应地,该比特交织单元可以根据该对应关系以及该N个连续比特对应的至少一个输入端口,确定该多个时隙位置中与该N个连续比特对应的至少一个时隙位置,但本发明对此不做限定。可选地,该比特交织单元可以将该至少一个时隙位置中每个时隙位置的帧头偏移值确定为该N个连续比特中与该每个时隙位置对应的至少一个连续比特的帧头偏移值,但本发明实施例不限于此。The plurality of slot positions may be basic bit units local to the fifth PE. Optionally, the fifth PE may store a correspondence between the input port and the preset slot position, and correspondingly, the bit interleaving unit may be configured according to the correspondence and the at least one input port corresponding to the N consecutive bits. At least one slot position corresponding to the N consecutive bits in the plurality of slot positions is determined, but the invention does not limit this. Optionally, the bit interleaving unit may determine a frame header offset value of each slot position in the at least one slot position as at least one consecutive bit of the N consecutive bits corresponding to each slot position. The frame header offset value, but the embodiment of the present invention is not limited thereto.
该第五PE 110的至少一个目标ALU 114在接收到该第五PE 110的比特交织单元112传输的至少一个第一比特组时,该至少一个目标ALU 114中的每个ALU 114可以对接收到的第一比特组执行第二指令,以获得第二指令执行结果。这样,该第五PE 110以第四PE 110的指令执行结果作为操作数进一步进行处理,从而形成处理流水线。When the at least one target ALU 114 of the fifth PE 110 receives the at least one first bit group transmitted by the bit interleaving unit 112 of the fifth PE 110, each of the at least one target ALU 114 may receive the The first bit group executes the second instruction to obtain a second instruction execution result. Thus, the fifth PE 110 further processes the result of the instruction of the fourth PE 110 as an operand, thereby forming a processing pipeline.
在本发明实施例中,处理程序可以由编译器转换为具有数据依赖关系的有向指令流图,并将这些指令和相关信息依据PE 110资源映射到对应的PE 110节点,同时依据每个PE 110节点对应的指令,将该PE 110节点所需要处理的流格式信息也同步映射,最终形成用于处理比特流的处理流水线。具体地,当原始比特流经过输入单元120的处理后,各PE 110节点接收上一级PE 110节点处理完成的比特流,执行本地指令操作,并将执行结果送入下一级PE 110节点,直至数据流处理完成,由输出单元130输出最终结果。In the embodiment of the present invention, the processing program may be converted by the compiler into a directed instruction flow graph with data dependencies, and the instructions and related information are mapped to the corresponding PE according to the PE 110 resource. At the same time, according to the instruction corresponding to each PE 110 node, the stream format information to be processed by the PE 110 node is also synchronously mapped, and finally a processing pipeline for processing the bit stream is formed. Specifically, after the original bit stream passes through the processing of the input unit 120, each PE 110 node receives the bit stream processed by the upper-level PE 110 node, performs a local instruction operation, and sends the execution result to the next-level PE 110 node. The output result is output by the output unit 130 until the data stream processing is completed.
该比特交织单元112在确定该N个连续比特的当前帧头偏移信息之后,可以根据该N个连续比特的当前帧头偏移信息,确定该N个连续比特组成的至少一个比特组中的每个比特组的目标输出端口。作为一个可选实施例,该数据处理设备存储有预设帧头偏移值与输出端口之间的对应关系。具体地,该数据处理设备可以包括第一存储单元,该第一存储单元用于存储该预设帧头偏移值与输出端口之间的对应关系,其中,该第一存储单元可以独立于该多个PE 110部署,或者可以部署于该多个PE 110中的至少一个PE 110中,例如,该多个PE 110中的每个PE 110包括第一存储单元,即该多个PE110中的每个PE 110可以存储有预设帧头偏移值与输出端口之间的对应关系,其中,该多个PE 110中的不同PE 110所存储的对应关系可以相同或不同,并且可以预先由编译器配置,本发明实施例对此不做限定。After determining the current frame header offset information of the N consecutive bits, the bit interleaving unit 112 may determine, in the at least one bit group consisting of the N consecutive bits, according to the current frame header offset information of the N consecutive bits. The target output port of each bit group. As an optional embodiment, the data processing device stores a correspondence between a preset frame header offset value and an output port. Specifically, the data processing device may include a first storage unit, where the first storage unit is configured to store a correspondence between the preset frame header offset value and an output port, where the first storage unit may be independent of the Multiple PEs 110 are deployed, or may be deployed in at least one of the plurality of PEs 110, for example, each of the plurality of PEs 110 includes a first storage unit, ie, each of the plurality of PEs 110 The PEs 110 may store a correspondence between a preset frame header offset value and an output port, where the correspondences stored by different PEs 110 may be the same or different, and may be pre-compiled by the compiler. The configuration of the present invention is not limited thereto.
此时,该比特交织单元112可以根据该N个连续比特的当前帧头偏移信息和存储的该预设帧头偏移值与输出端口之间的对应关系,确定该N个连续比特组成的至少一个比特组中每个比特组的目标输出端口。At this time, the bit interleaving unit 112 may determine, according to the current frame header offset information of the N consecutive bits and the stored correspondence between the preset frame header offset value and the output port, the N consecutive bits are determined. A target output port of each bit group in at least one bit group.
具体地,该比特交织单元112可以向独立存在或部署在PE 110中的存储单元发送该N个连续比特的当前帧头偏移信息,并接收该存储单元根据该N个连续比特的当前帧头偏移信息确定的每个比特组对应的目标输出端口的信息。或者,该比特交织单元112也可以获取该对应关系,并且根据该N个连续比特的当前帧头偏移信息,确定该N个连续比特组成的至少一个比特组中每个比特组的当前帧头偏移值,并通过在获取的该对应关系中查询该每个比特组的当前帧头偏移值,确定该至少一个比特组中每个比特组对应的目标输出端口。可选地,该至少一个比特组中每个比特组包括M个连续比特,其中,M为大于或等于1的整数,并且N为M的整数倍,例如,M=8,即每个比特组包括一个字节,但本发明实施例对此不做限定。Specifically, the bit interleaving unit 112 may send current frame header offset information of the N consecutive bits to a storage unit that exists independently or deployed in the PE 110, and receive the current frame header of the storage unit according to the N consecutive bits. The information of the target output port corresponding to each bit group determined by the offset information. Alternatively, the bit interleaving unit 112 may also acquire the correspondence, and determine a current frame header of each of the at least one bit group consisting of the N consecutive bits according to the current frame header offset information of the N consecutive bits. Offset value, and determining a target output port corresponding to each bit group in the at least one bit group by querying the current frame header offset value of each bit group in the obtained correspondence. Optionally, each of the at least one bit group includes M consecutive bits, where M is an integer greater than or equal to 1, and N is an integer multiple of M, eg, M=8, ie, each bit group A byte is included, but the embodiment of the present invention does not limit this.
作为另一个可选实施例,该预设帧头偏移值以M个比特为单位,1≤M ≤N,此时,该比特交织单元112具体用于:As another optional embodiment, the preset frame header offset value is in units of M bits, 1 ≤ M ≤ N, at this time, the bit interleaving unit 112 is specifically used to:
根据该N个连续比特的帧头偏移信息,确定该至少一个比特组中每个比特组的帧头偏移值,其中,该至少一个比特组中的每个比特组包括M个连续比特;Determining, according to the frame header offset information of the N consecutive bits, a frame header offset value of each of the at least one bit group, wherein each of the at least one bit group includes M consecutive bits;
确定该预设帧头偏移值与输出端口之间的对应关系中与该每个比特组的帧头偏移值相对应的输出端口;Determining, in the correspondence between the preset frame header offset value and the output port, an output port corresponding to the frame header offset value of each of the bit groups;
将该对应的输出端口确定为该每个比特组的目标输出端口。The corresponding output port is determined as the target output port of each bit group.
作为另一个可选实施例,如图6所示,该多个PE 110中的每个PE 110还包括转换单元116,其中,该转换单元116的输入端与该比特交织单元112的至少一个输出端口连接,并且该转换单元116的输出端与该每个PE 110的输出端连接。此时,该比特交织单元112的多个输出端口中的部分输出端口可以与该至少一个ALU 114对应,部分输出端口可以与该转换单元116对应。As another alternative embodiment, as shown in FIG. 6, each of the plurality of PEs 110 further includes a conversion unit 116, wherein an input of the conversion unit 116 and at least one output of the bit interleaving unit 112 The ports are connected and the output of the conversion unit 116 is connected to the output of each of the PEs 110. At this time, a part of the plurality of output ports of the bit interleaving unit 112 may correspond to the at least one ALU 114, and a part of the output ports may correspond to the converting unit 116.
该比特交织单元112还用于在确定该至少一个比特组中的至少一个第二比特组的目标输出端口与该转换单元116相对应时,通过与该转换单元116对应的目标输出端口向该转换单元116传输该至少一个第二比特组;The bit interleaving unit 112 is further configured to: when determining that the target output port of the at least one second bit group of the at least one bit group corresponds to the converting unit 116, to convert the target output port corresponding to the converting unit 116 Unit 116 transmits the at least one second bit group;
相应地,该转换单元116用于将接收到的该至少一个第二比特组传输至该转换单元116所属PE 110的输出端。Correspondingly, the converting unit 116 is configured to transmit the received at least one second bit group to the output end of the PE 110 to which the converting unit 116 belongs.
可选地,如图6所示,该预设帧头偏移值与输出端口之间的对应关系可以以信息格式表的形式存储在PE中。表1示出了信息格式表的一个示例,其中,这里假设PE包括比特交织单元、转换单元和三个ALU,分别为ALU1、ALU 2和ALU 3,相应地,比特交织单元具有四个输出端口,分别为与交换单元对应的交换单元端口,与ALU 1对应的ALU 1端口,与ALU 2对应的ALU 2端口和与ALU 3对应的ALU 3端口。该信息格式表中的帧头偏移值以字节为单位,相应地,该比特交织单元112可以根据该格式信息表确定N个连续比特中包括的各个字节的目标输出端口,但本发明实施例不限于此。Optionally, as shown in FIG. 6, the correspondence between the preset frame header offset value and the output port may be stored in the PE in the form of an information format table. Table 1 shows an example of an information format table in which it is assumed here that the PE includes a bit interleaving unit, a converting unit, and three ALUs, which are ALU1, ALU 2, and ALU 3, respectively, and correspondingly, the bit interleaving unit has four output ports. , respectively, is a switching unit port corresponding to the switching unit, an ALU 1 port corresponding to the ALU 1, an ALU 2 port corresponding to the ALU 2, and an ALU 3 port corresponding to the ALU 3. The frame header offset value in the information format table is in units of bytes. Accordingly, the bit interleaving unit 112 may determine a target output port of each byte included in the N consecutive bits according to the format information table, but the present invention The embodiment is not limited to this.
表1格式信息表示例Table 1 format information example
Figure PCTCN2016090852-appb-000001
Figure PCTCN2016090852-appb-000001
Figure PCTCN2016090852-appb-000002
Figure PCTCN2016090852-appb-000002
目标ALU 114在接收到该比特交织单元112传输的一个或多个第一比特组之后,可以对该一个或多个第一比特组执行指令,以获得指令执行结果。其中,该指令可以由编译器预先配置在该目标ALU 114中,或者由该目标ALU 114从该数据处理设备的第二存储单元获取。该目标ALU 114在执行指令时所需要的指令参数可以由该ALU 114从该数据处理设备的第二存储单元获取,其中,该第一存储单元与该第二存储单元可以相同或不同,并且该第二存储单元可以独立于该多个PE 110部署或者部署于该多个PE 110中的部分或全部PE 110中,本发明实施例对此不做限定。After receiving the one or more first bit groups transmitted by the bit interleaving unit 112, the target ALU 114 may execute an instruction on the one or more first bit groups to obtain an instruction execution result. Wherein, the instruction may be pre-configured by the compiler in the target ALU 114 or obtained by the target ALU 114 from the second storage unit of the data processing device. The instruction parameters required by the target ALU 114 when executing the instructions may be obtained by the ALU 114 from the second storage unit of the data processing device, wherein the first storage unit and the second storage unit may be the same or different, and the The second storage unit may be deployed in the part or all of the plurality of PEs 110, which is not limited by the embodiment of the present invention.
作为一个可选实施例,该比特交织单元112可以根据该N个连续比特的帧头偏移信息,确定与向该至少一个目标ALU 114中每个目标ALU 114传输的第一比特组相对应的指令参数或指令参数信息,并在向该每个目标ALU114传输第一比特组的同时,向该每个ALU 114传输该第一比特组对应的指令参数或指令参数信息(例如,指令参数的存储地址)。例如,表1还包括预设帧头偏移值与指令参数之间的对应关系,但本发明实施例中的预设帧头偏移值与指令参数之间的对应关系与预设帧头偏移值与输出端口之间的对应关系也可以存储在不同的表中,本发明实施例对此不做限定。As an optional embodiment, the bit interleaving unit 112 may determine, according to the frame header offset information of the N consecutive bits, corresponding to the first bit group transmitted to each target ALU 114 of the at least one target ALU 114. Command parameters or instruction parameter information, and transmitting the first bit group to the each ALU 114 while transmitting the instruction parameter or instruction parameter information corresponding to the first bit group (for example, storing the instruction parameter) address). For example, Table 1 further includes a correspondence between a preset frame header offset value and an instruction parameter, but the correspondence between the preset frame header offset value and the command parameter in the embodiment of the present invention is different from the preset frame header bias. The corresponding relationship between the value-shifting and the output port can also be stored in different tables, which is not limited in this embodiment of the present invention.
作为一个可选实施例,该比特交织单元112还可以用于获取预设帧头偏移信息与指令参数存储地址之间的对应关系。此时,该比特交织单元112还可以用于根据该N个连续比特的当前帧头偏移信息,确定该N个连续比特组成的至少一个比特组中的每个比特组的指令参数存储地址,以及通过与该至少一个目标ALU 114中每个目标ALU 114对应的目标输出端口向该每个目标ALU 114发送指示信息,该指示信息用于指示该每个目标ALU 114接收到的第一比特组的指令参数存储地址; As an optional embodiment, the bit interleaving unit 112 is further configured to obtain a correspondence between the preset frame header offset information and the instruction parameter storage address. At this time, the bit interleaving unit 112 may be further configured to determine, according to the current frame header offset information of the N consecutive bits, an instruction parameter storage address of each of the at least one of the N consecutive bits. And transmitting, by the target output port corresponding to each target ALU 114 of the at least one target ALU 114, the indication information to the each target ALU 114, the indication information being used to indicate the first bit group received by each target ALU 114 Instruction parameter storage address;
相应地,该至少一个目标ALU 114中的每个目标ALU 114还用于在对接收到的第一比特组执行指令之前,从该比特交织单元112发送的指示信息所指示的指令参数存储地址获取指令参数,并根据获取到的该指令参数对该接收到的第一比特组执行该指令。Correspondingly, each target ALU 114 of the at least one target ALU 114 is further configured to acquire an instruction parameter storage address indicated by the indication information sent from the bit interleaving unit 112 before executing the instruction on the received first bit group. The instruction parameter is executed, and the instruction is executed on the received first bit group according to the obtained instruction parameter.
作为另一个可选实施例,如果该比特交织单元所属PE 110的输出端与另一个PE 110的输入端连接,则该比特交织单元可以通过其所属PE的输出端口输出该N个连续比特的当前帧头偏移信息,以便于该另一个PE 110根据该N个连续比特的当前帧头偏移信息,对该比特交织单元所属PE输出的该N个连续比特继续进行处理。As another optional embodiment, if the output end of the PE 110 to which the bit interleaving unit belongs is connected to the input end of another PE 110, the bit interleaving unit may output the current of the N consecutive bits through the output port of the PE to which it belongs. The header offset information is such that the other PE 110 continues processing the N consecutive bits output by the PE to which the bit interleaving unit belongs according to the current header offset information of the N consecutive bits.
具体地,该比特交织单元可以通过转换单元向PE的输出端输出该N个连续比特的当前帧头偏移信息,或者该比特交织单元可以具有至少一个与PE的输出端连接的输出端口,并且直接向PE的输出端输出该N个连续比特的当前帧头偏移信息,本发明实施例不限于此。Specifically, the bit interleaving unit may output the current frame header offset information of the N consecutive bits to the output end of the PE through the converting unit, or the bit interleaving unit may have at least one output port connected to the output end of the PE, and The current frame header offset information of the N consecutive bits is directly output to the output end of the PE, and the embodiment of the present invention is not limited thereto.
因此,本发明实施例的数据处理设备,包括多个处理元素,每个处理元素包括比特交织单元和至少一个ALU,其中,比特交织单元用于根据多个连续比特的帧头偏移信息,确定该多个连续比特组成的至少一个比特组中每个比特组对应的目标输出端口,以及从该对应的目标输出端口输出该每个比特组,该至少一个ALU中的至少一个目标ALU用于接收该比特交织单元传输的该至少一个比特组中的至少一个第一比特组,并对该至少一个第一比特组执行指令,以获得指令执行结果,能够提高比特流处理的时延等性能。Therefore, the data processing device of the embodiment of the present invention includes a plurality of processing elements, each of the processing elements includes a bit interleaving unit and at least one ALU, wherein the bit interleaving unit is configured to determine, according to the frame header offset information of the plurality of consecutive bits, a target output port corresponding to each of the at least one bit group of the plurality of consecutive bits, and outputting each bit group from the corresponding target output port, at least one target ALU of the at least one ALU for receiving And at least one first bit group of the at least one bit group transmitted by the bit interleaving unit, and executing an instruction on the at least one first bit group to obtain an instruction execution result, which can improve performance such as delay of bit stream processing.
此外,本发明实施例提供的数据处理设备,通过采用可编程的方式对比特流进行处理,能够实现L1层对物理层比特流进行时钟数据恢复和同步、速率匹配和映射、复用、成帧、FEC等功能,归一化了硬件的实现方式,简化了设备的实现方式,提高了设备的灵活性和可维护性。此外,通过将可编程方式引入到L1层的数据面处理,为L1层的白盒化趋势打下了基础。In addition, the data processing device provided by the embodiment of the present invention can perform clock data recovery and synchronization, rate matching, mapping, multiplexing, and framing on the physical layer bit stream by using the L1 layer by processing the bit stream in a programmable manner. The functions such as FEC normalize the implementation of the hardware, simplify the implementation of the device, and improve the flexibility and maintainability of the device. In addition, by introducing the programmable method to the data plane processing of the L1 layer, it lays the foundation for the white boxing trend of the L1 layer.
下面将具体描述本发明实施例提供的数据处理设备的应用。图7示出了本发明实施例提供的OTN交换机200,该OTN交换机200可以包括:The application of the data processing device provided by the embodiment of the present invention is specifically described below. FIG. 7 shows an OTN switch 200 provided by an embodiment of the present invention. The OTN switch 200 may include:
第一光电转换单元210、数据处理设备220和第二光电转换单元230,其中,a first photoelectric conversion unit 210, a data processing device 220, and a second photoelectric conversion unit 230, wherein
该第一光电转换单元210用于对输入的光信号进行光电转换处理,以获 得该光信号对应的比特流,并将该比特流传输至该数据处理设备220;The first photoelectric conversion unit 210 is configured to perform photoelectric conversion processing on the input optical signal to obtain Obtaining a bit stream corresponding to the optical signal, and transmitting the bit stream to the data processing device 220;
该数据处理设备220用于接收该第一光电转换单元传输的该比特流,对该比特流进行处理,以获得处理后的该比特流,并且将该处理后的该比特流传输至该第二光电转换单元;The data processing device 220 is configured to receive the bit stream transmitted by the first photoelectric conversion unit, process the bit stream to obtain the processed bit stream, and transmit the processed bit stream to the second Photoelectric conversion unit;
该第二光电转换单元用于接收该数据处理设备220传输的该处理后的比特流,并对该处理后的比特流进行电光转换,以获得该处理后的比特流对应的光信号,以及输出该光信号。The second photoelectric conversion unit is configured to receive the processed bit stream transmitted by the data processing device 220, and perform electro-optical conversion on the processed bit stream to obtain an optical signal corresponding to the processed bit stream, and output The optical signal.
该OTN交换机中包括的第一光电转换单元210和第二光电转换单元230的数量可以分别为一个或多个。如图7所示,该OTN交换机可以包括k1个第一光电交换单元210-1,…,210-k1,以及k2个第二光电交换单元230-1,…,230-k2,其中,k1≥1,k2≥1,本发明实施例对此不做限定。The number of the first photoelectric conversion unit 210 and the second photoelectric conversion unit 230 included in the OTN switch may be one or more, respectively. As shown in FIG. 7, the OTN switch may include k1 first optical switching units 210-1, ..., 210-k1, and k2 second optical switching units 230-1, ..., 230-k2, where k1 ≥ 1, k2 ≥ 1, which is not limited by the embodiment of the present invention.
该数据处理设备220的结构以及工作原理可以参照上文,为了简洁,这里不再赘述。本实施例中的OTN交换机,无需分离支路、线路和交叉分离结构,仅用比特流处理器即可完成OTN交换机的主要功能。The structure and working principle of the data processing device 220 can be referred to the above, and for brevity, no further details are provided herein. The OTN switch in this embodiment does not need to separate the branch, line and cross-separation structure, and only the bit stream processor can complete the main functions of the OTN switch.
图8和图9分别示例性地示出了上述数据处理设备实现信号复用的系统架构和处理流程。为了方便描述,在本实施例中,假设该数据处理设备为比特流处理器,并且该数据处理设备应用于光传送网络(Optical Transport Network,OTN),用于将两个并行的光传送单元(Optical Transport Unit,OTU)1发送的光信号复用到OTU2,其中,假设OTU1的传输速率为2.5Gbps,OTU2的传输速率为10Gbps,但本发明实施例不限于此。8 and 9 respectively exemplarily show a system architecture and a processing flow for realizing signal multiplexing by the above data processing device. For convenience of description, in the present embodiment, it is assumed that the data processing device is a bit stream processor, and the data processing device is applied to an Optical Transport Network (OTN) for connecting two parallel optical transmission units ( The optical signal transmitted by the Optical Transport Unit (OTU) 1 is multiplexed to the OTU 2, wherein the transmission rate of the OTU 1 is assumed to be 2.5 Gbps, and the transmission rate of the OTU 2 is 10 Gbps, but the embodiment of the present invention is not limited thereto.
如图8所示,该比特流处理系统300包括第一光电转换(Optical/Electrical Conversion,O/E)单元310、第二O/E单元320、比特流处理器330和第三O/E单元340,其中,该比特流处理器330的输入端分别与第一O/E单元310和第二O/E单元320的输出端连接,该比特流处理器330的输出端与第三O/E单元340的输入端连接。可选地,该比特流处理器330可以具有上文所述的任意结构(例如图3所示的结构),为了简洁,仅在图8中示出了与本实施例有关的部分。As shown in FIG. 8, the bit stream processing system 300 includes a first optical/electrical conversion (O/E) unit 310, a second O/E unit 320, a bit stream processor 330, and a third O/E unit. 340, wherein an input end of the bit stream processor 330 is connected to an output end of the first O/E unit 310 and the second O/E unit 320, respectively, and an output end of the bit stream processor 330 and a third O/E The inputs of unit 340 are connected. Alternatively, the bit stream processor 330 may have any of the structures described above (e.g., the structure shown in FIG. 3), and for the sake of brevity, only the portion related to the present embodiment is shown in FIG.
如图9所示,光信号的复用可以通过以下流程来实现:光电转换、串并转换、定帧处理、解扰处理、映射复用处理、成帧处理、扰码处理、并串转换和电光转换。参照图8可知,该比特流处理器330中包括的多个PE可以 具体用于实现解扰、映射复用、成帧和扰码处理等功能。As shown in FIG. 9, multiplexing of optical signals can be implemented by the following processes: photoelectric conversion, serial-to-parallel conversion, framing processing, descrambling processing, mapping multiplexing processing, framing processing, scrambling processing, parallel-to-serial conversion, and Electro-optic conversion. Referring to FIG. 8, the plurality of PEs included in the bit stream processor 330 can be It is specifically used to implement functions such as descrambling, mapping multiplexing, framing, and scrambling.
具体地,该第一O/E单元310可以用于对第一光信号进行光电转换处理,以获得第一串行比特流,并将该第一串行比特流传输至该比特流处理器330,该第二O/E单元320可以用于对第二光信号进行光电转换处理,以得到第二串行比特流,并该第二串行比特流传输至比特流处理器330。Specifically, the first O/E unit 310 may be configured to perform photoelectric conversion processing on the first optical signal to obtain a first serial bit stream, and transmit the first serial bit stream to the bit stream processor 330. The second O/E unit 320 can be configured to perform photoelectric conversion processing on the second optical signal to obtain a second serial bit stream, and the second serial bit stream is transmitted to the bit stream processor 330.
该比特流处理器330的输入单元331可以对接收到的该第一串行比特流进行串并转换处理,以得到与该第一串行比特流对应的第一并行比特流,并且对该第一并行比特流进行定帧处理,以获得该第一并行比特流中的至少一个帧头位置,以及以L个连续比特为单位向该PE 332传输该第一并行比特流以及该L个连续比特的初始帧头偏移信息,其中,L可以为该比特流处理器330的处理位宽。The input unit 331 of the bit stream processor 330 may perform serial-to-parallel conversion processing on the received first serial bit stream to obtain a first parallel bit stream corresponding to the first serial bit stream, and the first A parallel bit stream is subjected to framing processing to obtain at least one header position in the first parallel bit stream, and the first parallel bit stream and the L consecutive bits are transmitted to the PE 332 in units of L consecutive bits Initial frame header offset information, where L may be the processing bit width of the bitstream processor 330.
类似地,该比特流处理器330的输入单元331可以对接收到的该第二串行比特流进行串并转换处理,以得到与该第二串行比特流对应的第二并行比特流,并且对该第二并行比特流进行定帧处理,以获得该第二并行比特流中的至少一个帧头位置,以及以L个连续比特为单位向该PE 333传输该第二并行比特流以及该L个连续比特的初始帧头偏移信息。Similarly, the input unit 331 of the bit stream processor 330 may perform serial-to-parallel conversion processing on the received second serial bit stream to obtain a second parallel bit stream corresponding to the second serial bit stream, and And framing the second parallel bit stream to obtain at least one frame header position in the second parallel bit stream, and transmitting the second parallel bit stream to the PE 333 in units of L consecutive bits and the L Initial frame header offset information for consecutive bits.
为了便于描述,以下假设L为64,对应于8个字节,但本发明实施例中的处理位宽还可以为其它数值,本发明实施例对此不做限定。For convenience of description, the following assumption is that L is 64, which corresponds to 8 bytes, but the processing bit width in the embodiment of the present invention may also be other values, which is not limited in the embodiment of the present invention.
该PE 332和PE 333可以具体用于实现解扰功能,即执行异或(XOR)指令。具体地,该PE 332和该PE 333可以具有如表1所示的格式信息表。该PE 332和该PE 333中的比特交织单元在接收到该输入单元331传输的8个连续字节和该8个连续字节的初始帧头偏移信息时,可以将接收到的初始帧头偏移信息确定该8个连续字节的当前帧头偏移信息,并且根据表1确定该8个字节中各个字节对应的目标输出端口。The PE 332 and the PE 333 may be specifically configured to implement a descrambling function, that is, perform an exclusive OR (XOR) instruction. Specifically, the PE 332 and the PE 333 may have a format information table as shown in Table 1. The PE 332 and the bit interleaving unit in the PE 333 may receive the received initial frame header when receiving the 8 consecutive bytes transmitted by the input unit 331 and the initial header offset information of the 8 consecutive bytes. The offset information determines the current header offset information of the 8 consecutive bytes, and determines the target output port corresponding to each of the 8 bytes according to Table 1.
具体地,PE 332的比特交织单元可以接收某一帧中的第一拍比特流(即前8个字节)以及该第一拍比特流的初始帧头偏移信息,并确定接收到的该64个连续比特(即N1=L=64)组成的8个字节(每个字节对应一个比特组)中每个字节对应的目标输出端口。具体地,该第一拍比特流的拍头相对于帧头的偏移值为0。此时,前六个字节的帧头偏移值分别为0至5个字节,如图10所示,该比特交织单元可以根据表1将该前六个字节通过与转换单元 对应的输出端口传输至该转换单元,该转换单元无需对接收到的字节进行操作而直接将其输出;后两个字节的帧头偏移值分别为6至7个字节,如图10所示,该比特交织单元可以根据表1将该后两个字节通过与ALU 3对应的输出端口传输至ALU 3,此外,该比特交织单元还可以根据表1确定该后两个字节中的每个字节对应的扰码矩阵信息(例如扰码矩阵值或扰码矩阵值存储地址等等),并通过与ALU 3对应的输出端口将其传输至ALU 3,其中,每个字节对应的扰码矩阵信息可以相同或不同。ALU 3在接收到该比特交织单元传输的后两个字节和与其分别对应的扰码矩阵信息之后,可以采用与该后两个字节中每个字节对应的扰码矩阵值对该每个字节进行异或操作,获得异或处理后的两个连续字节,并且输出该异或处理后的该两个连续字节。Specifically, the bit interleaving unit of the PE 332 may receive the first beat bit stream (ie, the first 8 bytes) in a certain frame and the initial frame header offset information of the first beat bit stream, and determine the received A target output port corresponding to each byte of 8 bytes (each bit corresponding to one bit group) composed of 64 consecutive bits (ie, N 1 = L = 64). Specifically, the offset of the beat of the first beat bit stream relative to the frame header is 0. At this time, the frame header offset values of the first six bytes are respectively 0 to 5 bytes, as shown in FIG. 10, the bit interleaving unit may pass the first six bytes according to Table 1 through the corresponding to the conversion unit. The output port is transmitted to the conversion unit, and the conversion unit directly outputs the received byte without operating the received byte; the frame offset of the last two bytes is 6 to 7 bytes, respectively, as shown in FIG. The bit interleaving unit may transmit the last two bytes to the ALU 3 through the output port corresponding to the ALU 3 according to Table 1. In addition, the bit interleaving unit may further determine the last two bytes according to Table 1. Each byte corresponds to scrambling matrix information (such as scrambling matrix value or scrambling matrix value storage address, etc.) and transmits it to ALU 3 through an output port corresponding to ALU 3, where each byte corresponds The scrambling matrix information can be the same or different. After receiving the last two bytes transmitted by the bit interleaving unit and the scrambling code matrix information corresponding thereto, the ALU 3 may adopt a scrambling code matrix value corresponding to each byte of the last two bytes. The bytes are XORed to obtain two consecutive bytes after XOR processing, and the two consecutive bytes after the XOR processing are output.
类似地,PE 333的比特交织单元可以接收该帧中的第二拍比特流(即第9至16个字节)以及该第二拍比特流的初始帧头偏移信息,并确定接收到的该64个连续比特(即N2=L=64)组成的8个字节(每个字节对应一个比特组)中每个字节对应的目标输出端口。具体地,该第二拍比特流的拍头相对于帧头的偏移值为8个字节。此时,如图11所示,该PE 333的比特交织单元可以根据表1,将该第二拍比特流中的第一个字节和第二个字节通过与ALU 0对应的输出端口传输至ALU 0,将第三个字节和第四个字节通过与ALU 1对应的输出端口传输至ALU 1,将第五个字节和第六个字节通过与ALU 2对应的输出端口传输至ALU 2,以及将第七个字节和第八个字节通过与ALU 3对应的输出端口传输至ALU 3。可选地,该比特交织单元还可以进一步将各个字节对应的扰码矩阵信息传输至对应的ALU。各个ALU可以根据接收到的两个字节中每个字节对应的扰码矩阵值,对该每个字节进行异或操作,并输出该异或操作的结果。Similarly, the bit interleaving unit of the PE 333 can receive the second beat bit stream (ie, the 9th to 16th bytes) in the frame and the initial header offset information of the second beat bit stream, and determine the received The target output port corresponding to each byte of the 8 bytes (each byte corresponding to one bit group) composed of 64 consecutive bits (ie, N 2 = L = 64). Specifically, the offset of the tap of the second beat bit stream relative to the frame header is 8 bytes. At this time, as shown in FIG. 11, the bit interleaving unit of the PE 333 can transmit the first byte and the second byte in the second beat bit stream through the output port corresponding to the ALU 0 according to Table 1. To ALU 0, the third byte and the fourth byte are transmitted to the ALU 1 through the output port corresponding to the ALU 1, and the fifth byte and the sixth byte are transmitted through the output port corresponding to the ALU 2 To ALU 2, and the seventh byte and the eighth byte are transmitted to the ALU 3 through the output port corresponding to the ALU 3. Optionally, the bit interleaving unit may further transmit the scrambling code matrix information corresponding to each byte to the corresponding ALU. Each ALU may perform an exclusive OR operation on each byte according to the scrambling code matrix value corresponding to each byte of the received two bytes, and output the result of the exclusive OR operation.
此外,该PE 332和PE 333的比特交织单元还可以分别向所属PE的输出端口输出该64个连续比特的当前帧头偏移信息(即初始帧头偏移信息)。该当前帧头偏移信息被传输至PE 335。In addition, the bit interleaving unit of the PE 332 and the PE 333 may also output current frame header offset information (ie, initial header offset information) of the 64 consecutive bits to the output port of the associated PE. The current frame header offset information is transmitted to the PE 335.
该PE 332输出的8个字节(64个连续比特)及其对应的当前帧头偏移信息被传输至PE 335,该PE 333输出的8个字节(64个连续比特)及其对应的当前帧头偏移信息可以通过PE334被传输至PE 335。该PE 335可以具体用于实现映射复用功能。该PE 335可以终结接收到的帧头偏移信息,并 生成本地帧头偏移信息,以及根据本地帧头偏移信息确定各个字节的目标输出端口。The 8 bytes (64 consecutive bits) output by the PE 332 and their corresponding current header offset information are transmitted to the PE 335, and the PE 333 outputs 8 bytes (64 consecutive bits) and their corresponding The current frame header offset information can be transmitted to the PE 335 via the PE 334. The PE 335 can be specifically configured to implement a mapping multiplexing function. The PE 335 can terminate the received header offset information, and Generating local frame header offset information, and determining a target output port for each byte based on local frame header offset information.
具体地,该PE 335可以具有表2所示的格式信息表。具体地,由于该OTU 2的传输速率为OTU 1的传输速率的4倍,则在OTU 2侧对应的每拍比特流包括4个时隙位置,每个时隙位置可以容纳至少8个字节,相应地,该PE 335中的比特交织单元可以根据表2确定该4个时隙位置中的每个时隙位置对应的比特以及目标输出端口。具体地,对于第一个时隙位置,其帧头偏移值为0,则由表2可知,该第一个时隙位置对应于输入端口0~7以及ALU 0端口,其中,PE 335的输入端口0~7对应于PE 332,则该比特交织单元可以将该PE 332传输的8个字节通过与ALU 0对应的输出端口传输至ALU 0,ALU 0可以将该第一个时隙位置赋值为接收到的该8个字节;对于第二个时隙位置,其帧头偏移值为1,则由表2可知,该第二个时隙位置对应于输入端口8~15以及ALU 1端口,其中,该PE 335的输入端口8~15对应于PE 334或PE 333,则该比特交织单元可以将该PE 333传输的8个字节通过与ALU 1对应的输出端口传输至ALU 1,ALU 1可以将该第二个时隙位置赋值为接收到的该8个字节;对于第三个时隙位置,其帧头偏移值为2,则由表2可知,该第三个时隙位置没有对应的输入,则该比特交织单元可以将用于指示无输入的特征码通过与该ALU 2对应的输出端口传输至ALU 2,该ALU 2可以根据该特征码确定该第三个时隙位置无相应输入,并且为该第三个时隙位置填充8个字节,其中,该填充的8个字节可以由该ALU 2本地生成,或者可以由ALU 2从指令参数存储器获取;对于第四个时隙位置,其帧头偏移值为3,则由表2可知,该第四个时隙位置仍没有对应的输入,则该比特交织单元可以将特征码通过与该ALU 3对应的输出端口传输至ALU 3,该ALU 3可以与ALU 2类似地为该第四个时隙位置填充64个比特。Specifically, the PE 335 may have a format information table shown in Table 2. Specifically, since the transmission rate of the OTU 2 is 4 times of the transmission rate of the OTU 1, the bit stream per beat corresponding to the OTU 2 side includes 4 slot positions, and each slot position can accommodate at least 8 bytes. Correspondingly, the bit interleaving unit in the PE 335 can determine the bit corresponding to each of the four slot positions and the target output port according to Table 2. Specifically, for the first slot position, the frame header offset value is 0. As can be seen from Table 2, the first slot position corresponds to the input ports 0-7 and the ALU 0 port, wherein the PE 335 If the input ports 0 to 7 correspond to the PE 332, the bit interleaving unit can transmit the 8 bytes transmitted by the PE 332 to the ALU 0 through the output port corresponding to the ALU 0, and the ALU 0 can set the first time slot position. The value is the received 8 bytes; for the second slot position, the header offset value is 1, as can be seen from Table 2, the second slot position corresponds to the input ports 8 to 15 and the ALU. 1 port, wherein the input ports 8 to 15 of the PE 335 correspond to the PE 334 or the PE 333, the bit interleaving unit can transmit the 8 bytes transmitted by the PE 333 to the ALU 1 through the output port corresponding to the ALU 1 ALU 1 may assign the second slot position to the received 8 bytes; for the third slot position, the frame header offset value is 2, as shown in Table 2, the third If the slot position has no corresponding input, the bit interleaving unit may use a signature for indicating no input. The output port corresponding to the ALU 2 is transmitted to the ALU 2, and the ALU 2 can determine, according to the signature, that the third slot position has no corresponding input, and fills the third slot position with 8 bytes, wherein The padded 8 bytes may be generated locally by the ALU 2, or may be acquired by the ALU 2 from the instruction parameter memory; for the fourth slot position, the frame header offset value is 3, as can be seen from Table 2, If the fourth time slot position still has no corresponding input, the bit interleaving unit may transmit the signature to the ALU 3 through an output port corresponding to the ALU 3, and the ALU 3 may be the fourth similar to the ALU 2 The slot position is filled with 64 bits.
应理解,本发明实施例中的特征码能够与承载数据的比特流相区分,用于表示无数据输入,例如,该特征码可以由多个设置为0的二进制位组成,但本发明实施例不限定其具体形式。It should be understood that the feature code in the embodiment of the present invention can be distinguished from the bit stream carrying the data, and is used to indicate that there is no data input. For example, the feature code can be composed of multiple binary bits set to 0, but the embodiment of the present invention It is not limited to its specific form.
该PE 335输出的至少32个字节可以传输至PE 336。该PE 336可以具体用于执行开销的下插,以实现成帧功能。PE 337可以具体用于执行与PE 332和PE 333类似的操作,以实现扰码功能,并将获得的第三并行比特流传输至输出单元338。At least 32 bytes of the PE 335 output can be transmitted to the PE 336. The PE 336 can be specifically configured to perform overhead insertion to implement a framing function. PE 337 can be specifically used to perform with PE 332 and PE 333 operate similarly to implement the scrambling function and transmit the obtained third parallel bit stream to output unit 338.
该输出单338可以对接收到的第三并行比特流执行并串转换处理,以获得第三串行数据流,并将该第三串行数据流传输至该第三O/E单元340。该第三O/E单元340可以对接收到的第三串行数据流执行电光转换,以获得第三光信号,并输出该第三光信号。The output sheet 338 may perform parallel-to-serial conversion processing on the received third parallel bit stream to obtain a third serial data stream, and transmit the third serial data stream to the third O/E unit 340. The third O/E unit 340 may perform electro-optical conversion on the received third serial data stream to obtain a third optical signal, and output the third optical signal.
表2格式信息表的示例Table 2 Example of format information table
帧头偏移值OHeader offset value O 输入端口Input port 输出端口Output port 指令数据Instruction data
0~15/4080~4095/…/12240~122550~15/4080~4095/.../12240~12255 NULLNULL NULLNULL NULLNULL
O mod 4=0O mod 4=0 0~70 to 7 ALU 0端口 ALU 0 port NULLNULL
O mod 4=1O mod 4=1 8~158~15 ALU 1端口 ALU 1 port NULLNULL
O mod 4=2O mod 4=2 NULL NULL ALU 2端口ALU 2 port 填充值1Fill value 1
O mod 4=3O mod 4=3 NULL NULL ALU 3端口ALU 3 port 填充值2Fill value 2
应理解,上述实施例以图8为例描述了该比特流处理器330中的比特流处理流向,可选地,该比特流处理器330中的比特流处理流向也可以如图12所示,其中,该PE 333输出的8个字节通过该PE 332传输至PE 335,但本发明实施例不限于此。It should be understood that the foregoing embodiment describes the bit stream processing flow in the bit stream processor 330 by using FIG. 8 as an example. Alternatively, the bit stream processing flow in the bit stream processor 330 may also be as shown in FIG. The 8 bytes of the output of the PE 333 are transmitted to the PE 335 through the PE 332, but the embodiment of the present invention is not limited thereto.
上述实施例中的比特流处理系统300可以应用于发送端。本发明实施例提供的比特流处理器还可以应用于接收端,其中与发送端的不同之处在于接收端将一路信号解复用为两路信号,并且无需进行解扰处理而直接进行成帧处理。The bit stream processing system 300 in the above embodiment can be applied to the transmitting end. The bit stream processor provided by the embodiment of the present invention can also be applied to a receiving end, where the difference from the transmitting end is that the receiving end demultiplexes one channel of signals into two signals, and directly performs framing processing without performing descrambling processing. .
本发明实施例提供的数据处理设备还可以用于实现OTN固定颗粒(也可以称为OTN刚性管道)的交叉功能。为了方便描述,在本实施例中,假设数据处理设备为比特流处理器,其中,该比特流处理器的多个中间PE具有全连接关系,可选地,该比特流处理器可以具有图2所示的结构,但本发明实施例不限于此。具体地,该多个PE可以将比特流解复用为相同大小的待交叉颗粒,并且读取开销位置的值以及对开销位置进行赋值,以实现交叉功能,具体流程与上述信号复用实施例的流程类似,为了简洁,这里不再赘述。 The data processing device provided by the embodiment of the present invention can also be used to implement the cross function of OTN fixed particles (also referred to as OTN rigid pipes). For convenience of description, in this embodiment, it is assumed that the data processing device is a bit stream processor, wherein a plurality of intermediate PEs of the bit stream processor have a fully connected relationship, and optionally, the bit stream processor may have FIG. 2 The structure shown, but the embodiment of the invention is not limited thereto. Specifically, the multiple PEs may demultiplex the bit stream into the same size of the to-be-interleaved particles, and read the value of the overhead position and assign the value of the overhead position to implement the cross function, and the specific process and the above signal multiplexing embodiment The process is similar, for the sake of brevity, it will not be repeated here.
本发明实施例提供的多个数据处理设备还可以进行任意组合,以实现更强大的业务处理能力。图13至图15分别示出了对本发明实施例提供的多个数据处理设备进行组合的可能方式。其中,图13中的多个数据处理设备串联连接,图14中的多个数据处理设备并联连接,图15中的多个数据处理设备呈Mesh结构分布,其中,该多个数据处理设备之间可以相互独立,或者相互之间可以进行交互,以交互某些信息或数据,本发明实施例不限于此。The plurality of data processing devices provided by the embodiments of the present invention may also perform any combination to achieve more powerful service processing capabilities. 13 to 15 respectively illustrate possible ways of combining a plurality of data processing devices provided by embodiments of the present invention. The plurality of data processing devices in FIG. 13 are connected in series, and the plurality of data processing devices in FIG. 14 are connected in parallel. The plurality of data processing devices in FIG. 15 are distributed in a Mesh structure, wherein between the plurality of data processing devices The embodiments of the present invention are not limited thereto, and may be independent of each other or may interact with each other to exchange certain information or data.
可选地,本发明实施例中的多个数据处理设备还可以以上述方式中的任意组合来部署,例如,系统中的多个数据处理设备以Mesh方式连接,而另外多个数据处理设备以串联或并联方式连接,本发明实施例不限于此。Optionally, the multiple data processing devices in the embodiment of the present invention may also be deployed in any combination of the foregoing manners, for example, multiple data processing devices in the system are connected in a Mesh manner, and another plurality of data processing devices are The embodiments are connected in series or in parallel, and the embodiment of the invention is not limited thereto.
应注意,图8至图15的例子是为了帮助本领域技术人员更好地理解本发明实施例,而非要限制本发明实施例的范围。本领域技术人员根据所给出的图2的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。It should be noted that the examples of FIG. 8 to FIG. 15 are intended to help those skilled in the art to better understand the embodiments of the present invention, and not to limit the scope of the embodiments of the present invention. A person skilled in the art will be able to make various modifications and changes in accordance with the example of FIG. 2, and such modifications or variations are also within the scope of the embodiments of the present invention.
应理解,在本发明实施例中,术语和/或仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符/,一般表示前后关联对象是一种或的关系。It should be understood that in the embodiments of the present invention, the term and/or merely an association relationship describing the associated object indicates that there may be three relationships. For example, A and/or B may indicate that A exists separately, and A and B exist simultaneously, and B cases exist alone. In addition, the character / in this paper generally indicates that the contextual object is an OR relationship.
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。Those skilled in the art will appreciate that the various method steps and elements described in connection with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both, in order to clearly illustrate hardware and software. Interchangeability, the steps and composition of the various embodiments have been generally described in terms of function in the foregoing description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the solution. Different methods may be used to implement the described functionality for each particular application, but such implementation should not be considered to be beyond the scope of the present invention.
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。A person skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working process of the system, the device and the unit described above can refer to the corresponding process in the foregoing method embodiment, and details are not described herein again.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可 以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、设备或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。In the several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the device embodiments described above are merely illustrative. For example, the division of the unit is only a logical function division, and may be implemented in actual implementation. In a different manner, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, or an electrical, mechanical or other form of connection.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiments of the present invention.
另外,在本发明各个实施例中的各功能单元可以集成在一个处理元素中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present invention may be integrated into one processing element, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。The integrated unit, if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention contributes in essence or to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium. A number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program codes. .
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。 The above is only the specific embodiment of the present invention, but the scope of the present invention is not limited thereto, and any equivalent person can be easily conceived within the technical scope of the present invention by any person skilled in the art. Modifications or substitutions are intended to be included within the scope of the invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims (13)

  1. 一种数据处理设备,其特征在于,包括:多个处理元素,所述多个处理元素中的每个处理元素包括比特交织单元和至少一个算术逻辑单元ALU,所述至少一个ALU与所述比特交织单元的至少一个输出端口一一对应,其中,A data processing apparatus, comprising: a plurality of processing elements, each of the plurality of processing elements comprising a bit interleaving unit and at least one arithmetic logic unit ALU, the at least one ALU and the bit At least one output port of the interleaving unit is in one-to-one correspondence, wherein
    所述比特交织单元用于根据多个连续比特的当前帧头偏移信息,确定由所述多个连续比特组成的至少一个比特组中每个比特组对应的目标输出端口,以及从所述对应的目标输出端口输出所述每个比特组,其中,所述至少一个比特组中每个比特组包括所述多个连续比特中的至少一个连续比特;The bit interleaving unit is configured to determine, according to current frame header offset information of the plurality of consecutive bits, a target output port corresponding to each of the at least one bit group consisting of the plurality of consecutive bits, and from the corresponding The target output port outputs the each bit group, wherein each of the at least one bit group includes at least one consecutive bit of the plurality of consecutive bits;
    所述至少一个ALU中的至少一个目标ALU用于接收所述比特交织单元传输的所述至少一个比特组中的至少一个第一比特组,并对所述至少一个第一比特组执行指令,以获得指令执行结果,其中,所述至少一个目标ALU与所述至少一个第一比特组对应的至少一个目标输出端口相对应。At least one target ALU of the at least one ALU is configured to receive at least one first bit group of the at least one bit group transmitted by the bit interleaving unit, and execute an instruction to the at least one first bit group to Obtaining an instruction execution result, wherein the at least one target ALU corresponds to at least one target output port corresponding to the at least one first bit group.
  2. 根据权利要求1所述的设备,其特征在于,所述设备存储有预设帧头偏移值与输出端口之间的对应关系;The device according to claim 1, wherein the device stores a correspondence between a preset frame header offset value and an output port;
    所述比特交织单元具体用于根据所述多个连续比特的当前帧头偏移信息以及所述预设帧头偏移值与输出端口之间的对应关系,确定所述至少一个比特组中每个比特组的目标输出端口。The bit interleaving unit is configured to determine, according to a current frame header offset information of the multiple consecutive bits, and a correspondence between the preset frame header offset value and an output port, each of the at least one bit group is determined. The target output port of the bit group.
  3. 根据权利要求2所述的设备,其特征在于,所述预设帧头偏移值以M个比特为单位,M≥1,所述比特交织单元具体用于:The device according to claim 2, wherein the preset frame header offset value is in units of M bits, and M ≥ 1. The bit interleaving unit is specifically configured to:
    根据所述多个连续比特的当前帧头偏移信息,确定所述至少一个比特组中的每个比特组的帧头偏移值,其中,所述至少一个比特组中的每个比特组包括M个连续比特;Determining a frame header offset value of each of the at least one bit group according to current frame header offset information of the plurality of consecutive bits, wherein each of the at least one bit group includes M consecutive bits;
    确定所述预设帧头偏移值与输出端口之间的对应关系中与所述每个比特组的帧头偏移值相对应的输出端口;Determining, in the correspondence between the preset frame header offset value and the output port, an output port corresponding to the frame header offset value of each of the bit groups;
    将所述对应的输出端口确定为所述每个比特组的目标输出端口。The corresponding output port is determined as the target output port of each of the bit groups.
  4. 根据权利要求2或3所述的设备,其特征在于,所述多个处理元素中的每个处理元素存储有所述预设帧头偏移值与输出端口之间的对应关系。The device according to claim 2 or 3, wherein each of the plurality of processing elements stores a correspondence between the preset frame header offset value and an output port.
  5. 根据权利要求1至4中任一项所述的设备,其特征在于,所述设备还存储有多个指令参数; The device according to any one of claims 1 to 4, wherein the device further stores a plurality of instruction parameters;
    所述比特交织单元还用于根据所述多个连续比特的当前帧头偏移信息,确定所述至少一个比特组中的每个比特组的指令参数存储地址,并向所述每个目标ALU发送指示信息,所述指示信息用于指示所述每个目标ALU接收到的第一比特组的指令参数存储地址;The bit interleaving unit is further configured to determine, according to current frame header offset information of the multiple consecutive bits, an instruction parameter storage address of each of the at least one bit group, and to each target ALU And transmitting the indication information, where the indication information is used to indicate an instruction parameter storage address of the first bit group received by each target ALU;
    所述至少一个目标ALU中的每个目标ALU还用于在对接收到的第一比特组执行指令之前,从所述比特交织单元发送的指示信息所指示的指令参数存储地址获取指令参数,并根据获取到的所述指令参数对接收到的第一比特执行所述指令。Each of the at least one target ALU is further configured to acquire an instruction parameter by using an instruction parameter storage address indicated by the indication information sent by the bit interleaving unit before executing the instruction on the received first bit group, and The instruction is executed on the received first bit according to the obtained instruction parameter.
  6. 根据权利要求1至5中任一项所述的设备,其特征在于,所述比特交织单元还用于通过所述比特交织单元所属处理元素的输出端输出所述多个连续比特的当前帧头偏移信息。The device according to any one of claims 1 to 5, wherein the bit interleaving unit is further configured to output a current frame header of the plurality of consecutive bits by an output end of a processing element to which the bit interleaving unit belongs Offset information.
  7. 根据权利要求1至6中任一项所述的设备,其特征在于,所述多个处理元素中的每个处理元素还包括转换单元,其中,所述转换单元的输入端与所述比特交织单元的至少一个输出端口连接,并且所述转换单元的输出端与所述转换单元所属处理元素的输出端连接;The apparatus according to any one of claims 1 to 6, wherein each of the plurality of processing elements further comprises a conversion unit, wherein an input of the conversion unit is interleaved with the bit At least one output port of the unit is connected, and an output end of the conversion unit is connected to an output end of the processing element to which the conversion unit belongs;
    所述比特交织单元还用于在确定所述至少一个比特组中的至少一个第二比特组的目标输出端口与所述转换单元相对应时,向所述转换单元传输所述至少一个第二比特组;The bit interleaving unit is further configured to: when determining that a target output port of the at least one second bit group of the at least one bit group corresponds to the converting unit, transmit the at least one second bit to the converting unit group;
    所述转换单元用于将接收到的所述至少一个第二比特组传输至所述转换单元所属处理元素的输出端。The converting unit is configured to transmit the received at least one second bit group to an output end of a processing element to which the conversion unit belongs.
  8. 根据权利要求1至7中任一项所述的设备,其特征在于,所述多个处理元素呈网状Mesh结构。The apparatus according to any one of claims 1 to 7, wherein the plurality of processing elements are in a mesh Mesh structure.
  9. 根据权利要求1至7中任一项所述的设备,其特征在于,所述多个处理元素包括至少一个第一处理元素和至少一个第二处理元素,其中,所述至少一个第一处理元素中的每个第一处理元素的输出端与所述至少一个第二处理元素中的所有第二处理元素的输入端连接。The apparatus according to any one of claims 1 to 7, wherein the plurality of processing elements comprise at least one first processing element and at least one second processing element, wherein the at least one first processing element An output of each of the first processing elements is coupled to an input of all of the at least one second processing element.
  10. 根据权利要求1至9中任一项所述的设备,其特征在于,所述设备还包括输入单元,所述输入单元的输出端与所述多个处理元素中的第三处理元素的输入端连接,其中,The device according to any one of claims 1 to 9, characterized in that the device further comprises an input unit, an output of the input unit and an input of a third processing element of the plurality of processing elements Connected, among them,
    所述输入单元用于对并行比特流进行定帧处理,以确定所述并行比特流 的帧头位置;The input unit is configured to perform a framing process on the parallel bit stream to determine the parallel bit stream Frame header position;
    所述输入单元还用于向所述第三处理元素发送所述并行比特流中的多个连续比特以及所述多个连续比特的第一帧头偏移信息;The input unit is further configured to send, to the third processing element, a plurality of consecutive bits in the parallel bitstream and first frame header offset information of the multiple consecutive bits;
    所述第三处理元素的比特交织单元具体用于接收所述输入单元传输的多个连续比特和所述多个连续比特的第一帧头偏移信息,并将接收到的所述多个连续比特的第一帧头偏移信息确定为所述多个连续比特的当前帧头偏移信息。The bit interleaving unit of the third processing element is specifically configured to receive a plurality of consecutive bits transmitted by the input unit and first frame header offset information of the multiple consecutive bits, and receive the multiple consecutive frames The first frame header offset information of the bit is determined as the current frame header offset information of the plurality of consecutive bits.
  11. 根据权利要求1至10中任一项所述的设备,其特征在于,所述多个处理元素包括至少一个第四处理元素和第五处理元素,所述至少一个第四处理元素中每个第四处理元素的输出端与所述第五处理元素的输入端连接,其中,The apparatus according to any one of claims 1 to 10, wherein the plurality of processing elements comprise at least one fourth processing element and a fifth processing element, each of the at least one fourth processing element An output of the four processing elements is coupled to an input of the fifth processing element, wherein
    所述第五处理元素的比特交织单元具体用于:The bit interleaving unit of the fifth processing element is specifically configured to:
    接收所述至少一个第四处理元素传输的多个连续比特,其中,所述多个连续比特是所述至少一个第四处理元素通过对接收到的至少一个连续比特进行处理获得的;Receiving a plurality of consecutive bits transmitted by the at least one fourth processing element, wherein the plurality of consecutive bits are obtained by processing the at least one fourth processing element by processing the received at least one consecutive bit;
    根据所述多个连续比特对应的至少一个输入端口,确定本地的多个时隙位置中与所述多个连续比特对应的至少一个时隙位置;Determining at least one slot position corresponding to the plurality of consecutive bits among the plurality of local slot positions according to the at least one input port corresponding to the plurality of consecutive bits;
    根据所述至少一个时隙位置的帧头偏移信息,确定所述多个连续比特的当前帧头偏移信息。Determining current frame header offset information of the plurality of consecutive bits according to the header offset information of the at least one slot position.
  12. 根据权利要求1至11中任一项所述的设备,其特征在于,所述多个连续比特的当前帧头偏移信息包括所述多个连续比特中的第一个比特相对于所述多个连续比特所属帧的帧头的偏移值。The apparatus according to any one of claims 1 to 11, wherein the current header offset information of the plurality of consecutive bits comprises a first bit of the plurality of consecutive bits relative to the The offset value of the frame header of the frame to which consecutive bits belong.
  13. 一种光传送网络交换机,其特征在于,包括第一光电转换单元、如权利要求1至12所述的数据处理设备和第二光电转换单元,其中,An optical transmission network switch, comprising: a first photoelectric conversion unit, the data processing device according to claims 1 to 12, and a second photoelectric conversion unit, wherein
    所述第一光电转换单元用于对输入的第一光信号进行光电转换处理,以获得所述第一光信号对应的比特流,并将所述比特流传输至所述处理设备;The first photoelectric conversion unit is configured to perform photoelectric conversion processing on the input first optical signal to obtain a bit stream corresponding to the first optical signal, and transmit the bit stream to the processing device;
    所述数据处理设备用于接收所述第一光电转换单元传输的所述比特流,对所述比特流进行处理,以获得处理后的所述比特流,并且将所述处理后的所述比特流传输至所述第二光电转换单元;The data processing device is configured to receive the bit stream transmitted by the first photoelectric conversion unit, process the bit stream to obtain the processed bit stream, and use the processed bit Streaming to the second photoelectric conversion unit;
    所述第二光电转换单元用于接收所述数据处理设备传输的所述处理后的比特流,并对所述处理后的比特流进行电光转换,以获得所述处理后的比特流对应的第二光信号,以及输出所述第二光信号。 The second photoelectric conversion unit is configured to receive the processed bit stream transmitted by the data processing device, and perform electro-optical conversion on the processed bit stream to obtain a corresponding bit stream of the processed bit stream. a second optical signal, and outputting the second optical signal.
PCT/CN2016/090852 2015-07-22 2016-07-21 Data processing device and optical transport network switch WO2017012564A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510433895.2 2015-07-22
CN201510433895.2A CN106375243B (en) 2015-07-22 2015-07-22 Data processing equipment and optical transport network interchanger

Publications (1)

Publication Number Publication Date
WO2017012564A1 true WO2017012564A1 (en) 2017-01-26

Family

ID=57833806

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/090852 WO2017012564A1 (en) 2015-07-22 2016-07-21 Data processing device and optical transport network switch

Country Status (2)

Country Link
CN (1) CN106375243B (en)
WO (1) WO2017012564A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040010321A1 (en) * 2002-03-06 2004-01-15 Hiroyuki Morishita Data processor and program
US20060184766A1 (en) * 2002-12-30 2006-08-17 Orlando Pires Dos Reis Moreira Processing system
CN104488208A (en) * 2012-08-01 2015-04-01 阿尔卡特朗讯 Bit-interleaver for an optical line terminal
CN104572480A (en) * 2013-10-25 2015-04-29 Arm有限公司 Data processing device and method for interleaved storage of data elements

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR0006012B1 (en) * 1999-04-02 2012-12-25 interleaving / deinterleaving apparatus and method for a communication system.
US8135015B2 (en) * 2009-03-27 2012-03-13 Qualcomm Incorporated System and method of transmitting and receiving data frames
US10198248B2 (en) * 2012-07-11 2019-02-05 Intel Corporation Parallel processing of a single data buffer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040010321A1 (en) * 2002-03-06 2004-01-15 Hiroyuki Morishita Data processor and program
US20060184766A1 (en) * 2002-12-30 2006-08-17 Orlando Pires Dos Reis Moreira Processing system
CN104488208A (en) * 2012-08-01 2015-04-01 阿尔卡特朗讯 Bit-interleaver for an optical line terminal
CN104572480A (en) * 2013-10-25 2015-04-29 Arm有限公司 Data processing device and method for interleaved storage of data elements

Also Published As

Publication number Publication date
CN106375243A (en) 2017-02-01
CN106375243B (en) 2019-09-03

Similar Documents

Publication Publication Date Title
WO2021103928A1 (en) Data transmission method and apparatus, terminal device and storage medium
CN109600188A (en) Data transmission method, transmission device and Transmission system
WO2020164229A1 (en) Network topology abstraction method and system of flexible ethernet for sdn controller
CN103918231B (en) A kind of apparatus and method of Optical Channel Data Unit-k operation exchange
WO2018228420A1 (en) Transmission network system, and data exchange and transmission method, device and apparatus
WO2015100624A1 (en) Crc calculation method and apparatus
CN105009540A (en) Scrambling method and scrambling apparatus
WO2017121158A1 (en) Method and apparatus for processing elastic ethernet signal
WO2019090696A1 (en) Method and apparatus for transporting optical transport unit signal
WO2023273712A1 (en) Encryption transmission method and device
US10243876B2 (en) Chip-based data transmission method, device and system, and computer storage medium
US8532100B2 (en) System and method for data exchange in a heterogeneous multiprocessor system
CN110248260B (en) Method, device and system for processing Ethernet data in optical network
US20030161344A1 (en) Method and device for transporting ethernet frames over transport SDH/SONET network
WO2017012564A1 (en) Data processing device and optical transport network switch
WO2016101555A1 (en) Cross scheduling method and device, and storage medium
JP2006270888A (en) Transmission apparatus
CN106713149A (en) Daughter card of router and wire clamp board
CN112291077A (en) Method, device, processor, network equipment and system for improving transmission rate
US7023836B2 (en) Transport interface for time division frames
CN105027491A (en) Systems and methods to explicitly realign packets
WO2021017726A1 (en) Method for improving transmission speed, processor, network device, and network system
JP6046016B2 (en) Transmission system and transmission method
CN101938308A (en) SDH equipment and method for transmitting ECC information in network consisting of same
WO2024002115A1 (en) Service processing method, optical module, access site and convergence site

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16827255

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16827255

Country of ref document: EP

Kind code of ref document: A1