WO2020108158A1 - Instruction data processing method and apparatus, and device and storage medium - Google Patents

Instruction data processing method and apparatus, and device and storage medium Download PDF

Info

Publication number
WO2020108158A1
WO2020108158A1 PCT/CN2019/111729 CN2019111729W WO2020108158A1 WO 2020108158 A1 WO2020108158 A1 WO 2020108158A1 CN 2019111729 W CN2019111729 W CN 2019111729W WO 2020108158 A1 WO2020108158 A1 WO 2020108158A1
Authority
WO
WIPO (PCT)
Prior art keywords
instruction
type
field
source
operand
Prior art date
Application number
PCT/CN2019/111729
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 WO2020108158A1 publication Critical patent/WO2020108158A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead

Definitions

  • the embodiments of the present application relate to a computer system, but not limited to a method, device, device, and storage medium for processing instruction data.
  • the network processor is a processor specially used for network data processing. It is mainly used in network products such as switches and routers, and is mostly used to process messages in the network; it has high processing performance, programmable, flexible expansion, and short development cycle. Advantage. It is precisely because of the difference between the processing of network business data and ordinary system programs and their characteristic requirements that the instruction set design of network processors must have the characteristics of high instruction execution efficiency, strong instruction scalability, and rich instruction set.
  • the embodiments of the present application provide a method, device, device, and storage medium for processing instruction data in order to solve at least one problem in the prior art.
  • an embodiment of the present application provides a method for processing instruction data.
  • the method includes: if it is determined that there are fields of the same type between the instructions before compilation, the fields of the same type are stored to the designated during compilation Coding position; generate the corresponding operation code according to the type of each pre-compiled instruction and the attribute information of the field of the same type; store the operation code in the compiled instruction; output the compiled instruction.
  • an embodiment of the present application provides a method for processing instruction data.
  • the method includes: determining an operation code in a compiled instruction; and according to the operation code, determining the type of the instruction and the instruction
  • the attribute information of the field of; the field of the corresponding type is determined from the specified coding position in the instruction according to the attribute information of the field; the corresponding operand is obtained according to the field of the corresponding type, and the operand is output.
  • an embodiment of the present application provides an instruction data processing apparatus.
  • the apparatus includes: a first storage unit configured to: if it is determined that there are fields of the same type between instructions before compilation, compile the The fields of the same type are stored to the designated coding position; the generating unit is configured to generate a corresponding operation code according to the type of each pre-compiled instruction and the attribute information of the fields of the same type; the second storage unit is configured as Storing the operation code in the compiled instruction; the first output unit is configured to output the compiled instruction.
  • an embodiment of the present application provides an instruction data processing apparatus.
  • the apparatus includes: a first determination unit configured to determine an operation code in a compiled instruction; a second determination unit configured to The operation code determines the type of the instruction and the attribute information of the field in the instruction; the third determination unit is configured to determine the field of the corresponding type from the specified coding position in the instruction according to the attribute information of the field; The second output unit is configured to obtain a corresponding operand according to the corresponding type of field and output the operand.
  • an embodiment of the present application provides a computer device, the computer device at least includes: a processor and a storage medium configured to store executable instructions, wherein: the processor is configured to execute the stored executable instructions, the The executable instruction is configured to execute the processing method of the instruction data provided by the above embodiment.
  • an embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored, and the computer-executable instructions are configured to execute the instruction data processing method provided in the foregoing embodiments A step of.
  • Embodiments of the present application provide an instruction data processing method and apparatus, device, and storage medium, where the method includes: if it is determined that there is a field of the same type between instructions before compilation, the same type is used during compilation Store the field in the specified coding position; generate the corresponding operation code according to the type of each pre-compiled instruction and the attribute information of the field of the same type; store the operation code in the compiled instruction; output The compiled instruction.
  • the operation code is directly related to the type of the instruction and the number and type of the instruction source operands, so that the classification and acquisition of the instruction source operands is completed according to the instruction operation code.
  • FIG. 1 is a schematic flowchart 1 of a method for processing instruction data provided by an embodiment of the present application
  • FIG. 2 is a second schematic flowchart of a method for processing instruction data provided by an embodiment of the present application
  • FIG. 3 is a schematic flowchart of a method for processing an instruction source operand of a network processor according to an embodiment of the present application
  • FIG. 4 is a schematic structural diagram of a processing device for a network processor instruction source operand provided by an embodiment of the present application
  • FIG. 5 is a schematic structural diagram 1 of a structure of an instruction data processing device provided by an embodiment of the present application.
  • FIG. 6 is a second schematic structural diagram of a composition of a device for processing instruction data provided by an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a computer device according to an embodiment of the present application.
  • instruction encoding and decoding are the basis of instruction set design, which directly determines the complexity of instruction set processing.
  • instruction encoding and decoding are the basis of instruction set design, which directly determines the complexity of instruction set processing.
  • instruction set design which directly determines the complexity of instruction set processing.
  • the instruction set design of the traditional network processor adopts instruction pipeline decoding technology similar to Reduced Instruction Set (Computer for short, RISC).
  • the instruction encoding adopts fixed-length encoding. Since the opcode field of the instruction is encoded only according to the functional operation of each instruction, when acquiring the source operand in the decoding stage, it is necessary to determine the type of each instruction first, and then encode the instruction according to the source operand recorded by each instruction To obtain the field information such as the number and address of the source operand.
  • the number of instructions based on the network processor is very large. Obtaining source operands in this way not only requires additional chip memory resources for storing the source operand information of each instruction; but also greatly increases the logic complexity of the chip core .
  • An embodiment of the present application provides a method for processing instruction data.
  • the method is applied to a computer device.
  • the functions implemented by the method can be implemented by a processor in a computer device calling program code.
  • the program code can be stored in a computer storage medium It can be seen that the computer device includes at least a processor and a storage medium.
  • FIG. 1 is a schematic flowchart 1 of a method for processing instruction data according to an embodiment of the present application. As shown in FIG. 1, the method includes:
  • step S11 if it is determined that there are fields of the same type between the instructions before compilation, during compilation, the fields of the same type are stored to the designated coding position.
  • At least one instruction is acquired from a preset instruction set. Since the function and role of each instruction are preset, the same type of fields between the instructions before compilation can be determined according to the acquired instruction, and then compiled by the compilation unit At this time, each instruction can be divided into several sections according to the corresponding rules, each section occupies a preset position and corresponding byte length, and the preset position and corresponding byte length are set to the corresponding encoding position, During compilation, fields of the same type between each instruction can be stored to the designated encoding position, and the established encoding position can be preset as needed.
  • instruction set has instruction A and instruction B
  • instruction A has fields A1, A2, A3
  • instruction B has fields B1, B2, B3, if A3 and B3 are the same type of fields, the compilation unit will put the A3 field of instruction A , And the B3 field of instruction B are placed in the same bit position of their respective codes.
  • step S12 according to the type of each pre-compiled instruction and the attribute information of the field of the same type, a corresponding operation code is generated.
  • the operation code is used to indicate the operation to be completed by the instruction, and the length of the operation code may be fixed or may vary.
  • the type information of the instruction before compilation and the attribute information of the field of the same type can be obtained, the type of the instruction before compilation and the attribute information of the field of the same type are respectively marked, and the corresponding Opcode.
  • the types of instructions may be: logic calculation instructions, data upload/download instructions, jump instructions, and some special instructions, etc., which can be preset as needed. Fields of the same type can be different source operands, destination operands, or other fields.
  • step S13 the operation code is stored in the compiled instruction.
  • the compiling unit may store the operation code generated according to the above steps to the corresponding coding position in the compiled instruction.
  • Step S14 output the compiled instruction.
  • the fields of the same type are stored to the specified coding position during compilation, according to the type of each instruction before compilation and the attributes of the fields of the same type Information, generate the corresponding operation code, store the operation code in the compiled instruction, and output the compiled instruction.
  • the operation code can be directly related to the type of the instruction and the attribute information of the field, so as to realize the classification and acquisition of the corresponding operand of the field according to the instruction operation code.
  • An embodiment of the present application also provides another method for processing instruction data.
  • the method includes:
  • step S101 if it is determined that there are fields of the same type between the instructions before compilation, during compilation, the fields of the same type are stored to the designated coding position.
  • step S102 if it is determined that the field of the same type includes the source operation digital field, the number and type of the source operation digital field are determined.
  • the instruction may include one or more source operation digital fields.
  • the fields of the same type include the source operation digital field, the number and type of the source operation digital field are determined.
  • step S103 a corresponding operation code is generated according to the type of each pre-compiled instruction and the number and type of the source operand fields.
  • the type of the instruction before compilation and the number and type of source operation digital fields can be obtained, the type of the instruction before compilation, the number and type of source operation digital fields are respectively marked, and the corresponding code is generated according to the identification code generated by the mark Opcode.
  • Mark the number and type of the source operand field separately including: determining the number and type of source operands, and generating a mark based on the number and type of source operands. For example: no source operand or immediate value is required to be marked as 000; a register that only needs to operate on a condition is marked as 001 and so on.
  • the above steps S102 to S103 provide a way to implement the step of “generating a corresponding operation code according to the type of each pre-compiled instruction and the attribute information of the field of the same type”.
  • the number and type of the source operation digital field are determined, according to the type of each instruction before compilation and the number of the source operation digital field And type, generate the corresponding opcode.
  • the operation code can be directly related to the type of the instruction and the number and type of source operation digital fields, so as to realize the classification and acquisition of the instruction source operand according to the instruction operation code.
  • Step S104 Store the operation code in the compiled instruction.
  • Step S105 output the compiled instruction.
  • An embodiment of the present application also provides another method for processing instruction data.
  • the method includes:
  • Step S201 Classify the instruction before compilation according to the function to be executed by each instruction before compilation, and obtain a classification result.
  • the instructions before compilation can be classified into at least one category according to the functions to be performed by the instructions.
  • the classification result can be: logic calculation instructions, data upload/download instructions, jump instructions and some special instructions.
  • step S202 if it is determined that there are fields of the same type between the instructions before compilation, during compilation, the fields of the same type are stored to the designated coding position.
  • step S203 if it is determined that the field of the same type includes the source operation digital field, the number and type of the source operation digital field are determined according to the classification result.
  • the instruction can be determined whether the instruction requires a source operand according to the function to be executed by the instruction before compilation, and if the source operand is required, the number and type of source operands required.
  • logic calculation instructions usually have destination registers, ordinary register source operand one, ordinary register source operand two or immediate source operand second fields, etc.
  • data upload/download instructions usually have destination register, conditional register source operation Number two, memory source operand number one or memory source operand two, immediate source source operand second class, etc.
  • jump class instructions usually have tags, condition register source operand class two
  • special class instructions usually complete network service checks Tables, co-processing, etc. do not require source operands.
  • the source operand one refers to the source operand in the first place when there is one operand, or there are two operands
  • the source operand two refers to the second place in the second place when there are two operands Source operand.
  • step S204 a corresponding operation code is generated according to the type of each pre-compilation instruction, the number and type of the source operand fields.
  • Step S205 Store the operation code in the compiled instruction.
  • Step S206 output the compiled instruction.
  • An embodiment of the present application also provides another method for processing instruction data.
  • the method includes:
  • Step S301 Classify the instruction before compilation according to the function to be executed by each instruction before compilation, and obtain a classification result.
  • Step S302 if it is determined that there are fields of the same type between the instructions before compilation, during compilation, the fields of the same type are stored to the designated coding position.
  • Step S303 if it is determined that the field of the same type includes the source operation digital segment, the number and type of the source operation digital segment are determined according to the classification result.
  • Step S304 Mark the type of each instruction before compilation to generate a first identification code corresponding to each instruction before compilation.
  • marking the type of instruction means that the compilation unit generates a corresponding identification code according to the type of instruction.
  • instructions can be divided into four types: logic calculation instructions, data upload/download instructions, jump instructions, and special instructions, and then generate four corresponding marks according to the four types, respectively corresponding to logic calculation instructions
  • the first identification code one 00, the data upload/download instruction corresponds to the first identification code two 01, the jump instruction corresponds to the first identification code three 10, and the special instruction corresponds to the first identification code four 11.
  • Use the above identification code as the first part of the opcode field encoding of the corresponding instruction.
  • Step S305 Generate a corresponding second identification code according to the number and type of the source operation digital field.
  • the instructions are divided into logical calculation instructions, data upload/download instructions, jump instructions and special instructions.
  • the four types are divided into eight types as an example. Respectively: instructions that do not require source operands or immediate operands are of type one; instructions that only need to operate on a source register in the form of a condition register are of type two; only need to operate on a source operation in the form of an ordinary register
  • the instruction of the number is type three; the instruction that only needs to operate a source operand in the form of memory is type four; the instruction that needs to operate a source operand in the form of a common register and a source operand in the form of memory is type five;
  • the instructions of the source operand in the form of a common register and the source operand in the form of a condition register are of type six; the instruction of the source operand in the form of two ordinary registers is of type seven; the source operand in the form of a memory and one The instruction of the source operand in the form of a condition register
  • the compilation unit classifies the instructions according to the number and type of source operands to obtain a classification result, and obtains a corresponding identification code for the classification result.
  • type one corresponds to the second identification code one 000
  • type two corresponds to the second identification code two 001
  • type three corresponds to the second identification code three 010
  • type four corresponds to the second identification code four 011
  • type five corresponds to the second identification code five 100
  • type six corresponds to the second identification code six 101
  • type seven corresponds to the second identification code seven 110
  • type eight corresponds to the second identification code eight 111.
  • Use the above identification code as the second part of the opcode field encoding of the corresponding instruction.
  • Step S306 Combine the first identification code and the second identification code to generate a corresponding operation code.
  • the first part of the opcode field code generated through the above steps and the second part of the opcode field code may be combined to generate a corresponding opcode.
  • the above steps S304 to S306 provide a way to realize the step of “generating a corresponding operation code according to the type of each pre-compilation instruction, the number and type of the source operand fields”. In this way, it is possible to directly associate the operation code with the type of the instruction and the number and type of source operation digit fields, so as to realize the classification and acquisition of the instruction source operand according to the instruction operation code.
  • step S307 the operation code is stored in the compiled instruction.
  • Step S308 output the compiled instruction.
  • FIG. 2 is a second schematic flowchart of a method for processing instruction data provided by an embodiment of the present application. As shown in FIG. 2, the method includes:
  • Step S21 Determine the operation code in the compiled instruction.
  • the decoding unit may determine the corresponding operation code from the compiled instruction.
  • Step S22 Determine the type of the instruction and the attribute information of the field in the instruction according to the operation code.
  • the decoding unit obtains the compiled instruction, and can parse out the corresponding operation code from the instruction, and according to the operation code, determine the type of the instruction and the attribute information of the field in the instruction.
  • step S23 according to the attribute information of the field, the corresponding type of field is determined from the specified coding position in the instruction.
  • the field is a designated encoding position stored in the compiled instruction
  • the decoding unit may directly determine the corresponding type of field from the designated encoding position according to the attribute information of the field.
  • Step S24 Obtain the corresponding operand according to the corresponding type of field, and output the operand.
  • the corresponding operand can be directly obtained from the corresponding register, and the obtained operand can be processed accordingly.
  • the operation code in the compiled instruction is determined, according to the operation code, the type of the instruction and the attribute information of the field in the instruction are determined, and according to the attribute information of the field, the corresponding type is determined from the specified coding position in the instruction Field, get the corresponding operand according to the corresponding type of field, and output the operand.
  • the decoding unit can directly intercept the corresponding operand from the compiled instruction without determining the type of the instruction, and then determine the corresponding operand according to the type of the instruction, which can reduce the judgment step and the complexity of processing the operand.
  • An embodiment of the present application also provides another method for processing instruction data.
  • the method includes:
  • Step S401 Determine the operation code in the compiled instruction.
  • Step S402 if it is detected that the instruction needs to obtain the source operation digital segment, the operation code corresponding to the instruction that needs to obtain the source operation digital segment is parsed to obtain a parsing result.
  • the decoding unit determines whether the source operand needs to be obtained according to the operation code.
  • the operation code corresponding to the instruction that needs to obtain the source operation digit field is parsed to obtain the analysis result.
  • Step S403 According to the analysis result, determine the type of the instruction and the attribute information of the source operation digital field.
  • the operation code includes the first identification code and the second identification code
  • the type of the instruction may be determined according to the first identification code
  • the attribute information of the source operation digital field may be determined according to the second identification code
  • the above steps S402 to S403 provide a way to implement the step of “determining the type of the instruction and the attribute information of the field in the instruction according to the operation code”.
  • the operation code corresponding to the instruction for the source operation digital segment needs to be obtained for analysis, and the analysis result is obtained.
  • the type of the instruction and the attribute information of the source operation digital segment are determined.
  • Step S404 according to the attribute information of the field, determine the corresponding type of field from the specified coding position in the instruction.
  • Step S405 Obtain the corresponding operand according to the corresponding type of field, and output the operand.
  • An embodiment of the present application also provides another method for processing instruction data.
  • the method includes:
  • Step S501 Determine the operation code in the compiled instruction.
  • Step S502 if it is detected that the instruction needs to obtain the source operation digital segment, the operation code corresponding to the instruction that needs to obtain the source operation digital segment is parsed to obtain a parsing result.
  • Step S503 According to the analysis result, determine the type of the instruction and the attribute information of the source operation digital field.
  • Step S504 Determine the type of the instruction according to the first identification code parsed from the operation code.
  • the decoding unit parses the first part of the operation code, that is, the first identification code of the operation code, to determine the type of the instruction.
  • Step S505 Determine the number and type of the source operation digital field according to the second identification code parsed from the operation code.
  • the decoding unit parses the second part of the operation code, that is, parses the second identification code of the operation code, and can determine the number and type of source operation digital fields.
  • Step S506 according to the number and type of the source operation digital field, determine the field of the corresponding type from the designated coding position in the instruction.
  • the field of the corresponding type can be determined from the designated coding position in the instruction according to the number and type of source operation digital fields.
  • the source operand one is divided into three cases: the instruction does not need to obtain the source operand one, the instruction is transparently transmitted to the reading unit; the instruction needs to obtain the source operand one, and the source register number and the source code need to be intercepted from the instruction code Address; the instruction needs to get the source operand one, and the read address is fixed without other decoding operations.
  • the source operand is divided into four cases: the instruction does not need to obtain the source operation two, and it is directly transmitted to the reading unit; the instruction needs to obtain the source operand two, and the number and address of the source register need to be intercepted from the instruction code; the instruction needs Obtain the source operand two, and the required source register is intercepted from the instruction code and converted; the instruction needs to obtain the source operand two, and the read address is fixed without other decoding operations.
  • the above steps S504 to S506 provide a way to implement the step of “determining a field of a corresponding type from a specified coding position in the instruction according to the attribute information of the field”.
  • the type of the instruction is determined according to the first identification code parsed from the operation code; the number and type of source operation digits are determined according to the second identification code parsed from the operation code; And type, determine the source operand field from the specified coding position in the instruction.
  • the source operation digital segment can be directly determined from the designated encoding position in the instruction according to the number and type of the source operation digital segment, which can reduce the complexity of decoding.
  • Step S507 Acquire the corresponding operand according to the corresponding type of field, and output the operand.
  • An embodiment of the present application also provides another method for processing instruction data.
  • the method includes:
  • Step S601 Determine the operation code in the compiled instruction.
  • Step S602 if it is detected that the instruction needs to obtain the source operation digital segment, the operation code corresponding to the instruction that needs to obtain the source operation digital segment is parsed to obtain a parsing result.
  • Step S603 According to the analysis result, determine the type of the instruction and the attribute information of the source operation digital field.
  • Step S604 Determine the type of the instruction according to the first identification code parsed from the operation code.
  • Step S605 Determine the number and type of the source operation digital field according to the second identification code parsed from the operation code.
  • Step S606 Determine the field of the corresponding type from the specified coding position in the instruction according to the number and type of the source operation digital field.
  • step S607 according to the number and type of the source operation digital segment, the corresponding source operation digital segment is obtained from the designated coding position in the instruction.
  • Step S608 Determine the number and address of the source operand according to the source operand field.
  • the decoding unit determines the source operation number segment according to the fixed position of the source operation number segment in the instruction encoding, and obtains the number and address of the source operation number and sends it to the reading unit.
  • Step S609 Acquire the source operand according to the number and address of the source operand, and output the source operand.
  • the above steps S608 to S609 provide a way to realize the step of “acquiring the corresponding operand according to the corresponding type of field and outputting the operand”.
  • the number and address of the source operand are determined according to the source operand field; according to the number and address of the source operand, the source operand is obtained and the source operand is output.
  • the source operation digital segment can be directly determined from the designated coding position in the instruction, and then the corresponding source operand can be directly obtained according to the source operation digital segment, which can reduce the complexity of decoding.
  • the function of the instruction is determined according to the type of instruction, and the source operand is processed according to the function of the instruction.
  • FIG. 3 is a schematic flowchart of a method for processing an instruction source operand of a network processor according to an embodiment of the present application. As shown in FIG. 3, the method includes the following steps:
  • step S31 the compilation unit places the same field between the instructions in a fixed position in the instruction code.
  • the instructions are encoded using fixed-length encoding, and then each encoded instruction in the instruction set is segmented, and the instructions in the instruction set are classified according to function.
  • the instructions of the network processor are divided into logical calculation types Instruction, data upload/download instruction, jump instruction and some special instructions. Then, according to the function of each type of instruction, confirm the field type required by each instruction.
  • the instructions can be converted into a format that is convenient for the compilation unit to store, and the decoding unit does not need to record the storage location and length of the instructions, and directly obtains the encoded instructions in the storage memory.
  • logical calculation instructions usually have a destination register operation number field, ordinary register source operand one field, ordinary register source operand two field, immediate data source operand two field, etc.
  • data upload/download instructions usually have a purpose Register operand field, conditional register source operand two field, memory source operand one field, memory source operand two field, immediate source operand two field, etc.
  • jump instruction usually have label, condition register source operand Second-class fields
  • special instructions usually complete operations such as network business table lookup, co-processing, etc., do not need the source to operate the digital field.
  • step S32 the compilation unit judges and marks the type of the instruction and the source operand of the instruction, and generates an operation code corresponding to the instruction according to the marking.
  • the compilation unit completes the judgment and marking of the type of instruction and the source operand of the instruction, and generates the corresponding instruction opcode, which is directly related to the type of instruction and the number and type of instruction source operands.
  • the instruction opcode completes the classification and acquisition of instruction source operands.
  • judging the type of the instruction means: dividing the instruction into at least one type according to the function operation.
  • instructions can be divided into four types: logic calculation instructions, data upload/download instructions, jump instructions, and some special instructions.
  • Marking the type of instruction means that the compilation unit generates a corresponding mark according to the type of instruction.
  • instructions can be divided into four types: logic calculation instructions, data upload/download instructions, jump instructions, and special instructions, and then generate four corresponding marks according to the four types, respectively corresponding to logic calculation instructions Mark one 00, data upload/download instruction corresponds to marker two 01, jump instruction corresponds to marker three 10, and special instruction corresponds to marker four 11 as the first part of the opcode field encoding of the instruction.
  • Judging the source operand of an instruction refers to classifying the instruction according to the number and type of source operands.
  • the instructions are divided into logic calculation instructions, data upload/download instructions, jump instructions and special instructions.
  • the four types are divided into eight types for example.
  • the types are: : Instructions that do not require source operands or immediate operands are of type one; instructions that only need to operate on a source register in the form of a conditional register are of type two; those that only need to operate on a source register in the form of an ordinary register
  • the instruction is type three; the instruction that only needs to operate a source operand in the form of memory is type four; the instruction that needs to operate a source operand in the form of an ordinary register and a source operand in the form of memory is type five;
  • the source operand in the form of a condition register and the source operand in the form of a condition register are of type six; the instruction that needs to operate the source operand in the form of two ordinary registers is type seven;
  • the form of source operand instructions is type eight.
  • the marking of the source operand of the instruction means that the compilation unit classifies the instruction according to the number and type of source operands, obtains a classification result, and marks the classification result. Taking the above eight types as an example, type one corresponds to mark 000, type two to mark two 001, type three to mark three 010, type four to mark four 011, type five to mark five 100, and type six to mark six 101, Type seven corresponds to mark seven 110, and type eight corresponds to mark eight 111, as the second part of the opcode field encoding of the instruction.
  • Step S33 the decoding unit determines whether the source operand needs to be obtained according to the operation code.
  • the decoding unit uses the fixed position of the source operand in the instruction encoding, the decoding unit directly intercepts the source operand obtained in the instruction Number and address.
  • the decoding unit judges the second part of the operation code, and the source operand is divided into three cases: the instruction does not need to obtain the source operand one, and the reading unit is directly transparently transmitted, which corresponds to the operation code The two parts of 000, 001 and 011; the instruction needs to obtain the source operand one, and the number and address of the source register need to be intercepted from the instruction code, corresponding to the 010, 100, 101 and 110 of the second part of the operation code of step S32 above; If the instruction needs to obtain the source operand one and the read address is fixed without other decoding operations, it corresponds to 111 in the second part of the operation code in step S32 above.
  • the source operand is divided into four cases: the instruction does not need to obtain the source operation two, and the read unit is directly transparently transmitted, which corresponds to 000 and 010 in the second part of the operation code of step S32 above; the instruction needs to obtain the source operand two, and If the source register number and address are intercepted from the instruction code, it corresponds to 110 in the second part of the opcode in step S32 above; the instruction needs to obtain the source operand two, and the required source register is intercepted from the instruction code and converted.
  • the decoding unit needs to include three operation modes, in which, when intercepting the number and address of the source operation, the source operand two condition register of some instructions needs to be converted into an ordinary register operation.
  • step S34 the decoding unit obtains the data of the source operand in the kernel register according to the number and address of the source operand, and sends it to the execution unit.
  • the obtained number and address of the source operand are sent to the reading unit.
  • the reading unit obtains the data of the source operand in the kernel register and sends it to the execution unit. Transparent transmission to the execution unit.
  • step S35 after the execution of the execution unit is completed, the processing result is stored in the kernel register.
  • the execution unit processes the instruction according to the instruction function and the source operand. After the processing is successful, the result is rewritten into the kernel register.
  • FIG. 4 is a schematic structural diagram of a device for processing an instruction source operand of a network processor according to an embodiment of the present application. As shown in FIG. 4, the device includes:
  • the compiling unit 41 is used to put the same field between instructions in a fixed position in the instruction code; to judge and mark the type of the instruction and the source operation of the instruction, and generate an operation code corresponding to the instruction according to the mark.
  • the decoding unit 42 is used to determine whether the instruction needs to obtain the source operation according to the operation code of the instruction. When the instruction needs to obtain the source operand, according to the fixed position of the source operand in the instruction encoding, complete The number and address of the source operand in the form are obtained and sent to the reading unit.
  • the reading unit 43 is configured to obtain the data of the source operand in the kernel register according to the number and address of the source operand of the instruction.
  • the execution unit 44 is configured to process the source operand according to the instruction function.
  • the output unit 45 is used to store the processing result in the kernel register.
  • the same field between the instructions is placed in a fixed position in the instruction encoding to ensure that the same field between the instructions is aligned and encoded, so that when decoding the instruction ,
  • the decoding unit can directly intercept the number and address of the source operand, without first distinguishing each instruction type, and then obtain the source operand in the instruction encoding, so that the decoding unit does not need additional judgment logic, nor need to record the source operand in each instruction
  • the location of the device greatly reduces the logic complexity of the decoding unit and saves chip resources.
  • embodiments of the present application provide an apparatus for processing instruction data.
  • the units included in the device and the subunits included in each unit can be implemented by a processor in a computer device; of course, it can also be implemented by a logic circuit; in the implementation process, the processor may be central Processor (CPU), microprocessor (MPU), digital signal processor (DSP) or field programmable gate array (FPGA), etc.
  • CPU central Processor
  • MPU microprocessor
  • DSP digital signal processor
  • FPGA field programmable gate array
  • FIG. 5 is a schematic structural diagram 1 of a structure of an instruction data processing device provided by an embodiment of the present application. As shown in FIG. 5, the device includes:
  • the first storage list 51 is configured to, if it is determined that there are fields of the same type between instructions before compilation, during compilation, store the fields of the same type to a specified coding position.
  • the generating unit 52 is configured to generate a corresponding operation code according to the type of each instruction before compilation and the attribute information of the field of the same type.
  • the second storage unit 53 is configured to store the operation code in the compiled instruction.
  • the first output unit 54 is configured to output the compiled instruction.
  • the generating unit is further configured to: if it is determined that the field of the same type includes a source operation digital field, determine the number and type of the source operation digital field; according to each The type of the instruction, the number and type of the source operation digital field, and generate the corresponding operation code.
  • the apparatus further includes: a classification unit configured to classify the instructions before compilation according to the function to be performed by each instruction before compilation, and obtain a classification result; correspondingly, the The generating unit is further configured to: if it is determined that the field of the same type includes a source operation digital segment, determine the number and type of the source operation digital segment according to the classification result.
  • the generating unit is further configured to: mark the type of each instruction before compilation, and generate a first identification code corresponding to each instruction before compilation; according to the The number and type of source operation digital fields generate a corresponding second identification code; the first identification code and the second identification code are combined to generate a corresponding operation code.
  • FIG. 6 is a second schematic structural diagram of a structure of an instruction data processing device provided by an embodiment of the present application. As shown in FIG. 6, the device includes:
  • the first determining unit 61 is configured to determine the operation code in the compiled instruction.
  • the second determining unit 62 is configured to determine the type of the instruction and the attribute information of the field in the instruction according to the operation code.
  • the third determining unit 63 is configured to determine the corresponding type of field from the specified encoding position in the instruction according to the attribute information of the field.
  • the second output unit 64 is configured to obtain a corresponding operand according to the corresponding type of field and output the operand.
  • the second determining unit is further configured to: if it is detected that the instruction needs to obtain the source operation digital field, parse the operation code corresponding to the instruction that needs to obtain the source operation digital field to obtain the analysis result ; According to the analysis result, determine the type of the instruction and the attribute information of the source operation digital field.
  • the third determining unit is further configured to: according to the first identification code parsed from the operation code, determine the type of the instruction; according to the parsed from the operation code The second identification code determines the number and type of the source operation digital field; according to the number and type of the source operation digital field, the source operation digital field is determined from the designated coding position in the instruction.
  • the second output unit is further configured to: determine the number and address of the source operand according to the source operand field; and obtain the number based on the number and address of the source operand Describe the source operand, and output the source operand.
  • the embodiments of the present application if the above instruction data processing method is implemented in the form of a software function module and sold or used as an independent product, it may also be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of the embodiments of the present application can be embodied in the form of software products in essence or part of contributions to the prior art.
  • the computer software products are stored in a storage medium and include several instructions for A computer device is allowed to perform all or part of the methods described in the embodiments of the present application.
  • the foregoing storage media include various media that can store program codes, such as a U disk, a mobile hard disk, a read-only memory (Read Only Memory, ROM), a magnetic disk, or an optical disk. In this way, the embodiments of the present application are not limited to any specific combination of hardware and software.
  • an embodiment of the present application provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the steps in the method for processing instruction data provided in the foregoing embodiments are implemented.
  • FIG. 7 is a schematic structural diagram of a computer device according to an embodiment of the present application.
  • the computer device 70 includes at least a processor 71, a communication interface 72, and a memory 73.
  • the processor 71 generally controls the overall operation of the computer device 70.
  • the communication interface 72 can enable the computer device to communicate with other computer devices or servers through the network.
  • the memory 73 is configured to store instructions and applications executable by the processor 71, and may also cache data to be processed or processed by the modules in the processor 71 and the computer device 70 (for example, image data, audio data, voice communication data, and Video communication data) can be achieved through flash memory (FLASH) or random access memory (Random Access Memory, RAM).
  • FLASH flash memory
  • RAM Random Access Memory
  • the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may take the form of a hardware embodiment, a software embodiment, or an embodiment combining software and hardware. Moreover, the present application may take the form of a computer program product implemented on one or more computer usable storage media (including but not limited to disk storage and optical storage, etc.) containing computer usable program code.
  • a computer usable storage media including but not limited to disk storage and optical storage, etc.
  • These computer program instructions may also be stored in a computer readable memory that can guide a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture including the instruction device, the instructions
  • the device implements the functions specified in one block or multiple blocks in the flowchart one flow or multiple flows and/or block diagrams.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operating steps are performed on the computer or other programmable device to produce computer-implemented processing, which is executed on the computer or other programmable device
  • the instructions provide steps for implementing the functions specified in one block or multiple blocks of the flowchart one flow or multiple flows and/or block diagrams.
  • the disclosed device and method may be implemented in other ways.
  • the device embodiments described above are only schematic.
  • the division of the modules is only a division of logical functions.
  • there may be other divisions for example, multiple modules or components may be combined, or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the coupling or direct coupling or communication connection between the displayed or discussed components may be indirect coupling or communication connection through some interfaces, devices or modules, and may be electrical, mechanical or other forms of.
  • modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules; they may be located in one place or distributed to multiple network modules; Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • Embodiments of the present application provide an instruction data processing method and apparatus, device, and storage medium, where the method includes: if it is determined that there is a field of the same type between instructions before compilation, the same type is used during compilation Store the field in the specified coding position; generate the corresponding operation code according to the type of each pre-compiled instruction and the attribute information of the field of the same type; store the operation code in the compiled instruction; output The compiled instruction.
  • the operation code is directly related to the type of the instruction and the number and type of the instruction source operand, so as to realize the classification and acquisition of the instruction source operand according to the instruction operation code.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

Disclosed in embodiments of the present application are an instruction data processing method and apparatus, and a device and a storage medium. The method comprises: if it is determined that there are fields of the same type among instructions before compilation, during the compilation, storing said fields to a specified encoding location; generating a corresponding operation code according to the type of each of the instructions before compilation and the attribute information of said fields; storing the operation code in the instructions after compilation; and outputting the instructions after compilation.

Description

一种指令数据的处理方法及装置、设备、存储介质Method, device, equipment and storage medium for processing instruction data 技术领域Technical field
本申请实施例涉及计算机系统,涉及但不限于一种指令数据的处理方法及装置、设备、存储介质。The embodiments of the present application relate to a computer system, but not limited to a method, device, device, and storage medium for processing instruction data.
背景技术Background technique
网络处理器是专门用于网络数据处理的处理器,主要应用于交换机,路由器等网络产品,多用于处理网络中的报文;它具有高处理性能、可编程、可灵活扩展、开发周期短等优势。正是由于网络业务数据的处理与普通系统类程序的不同以及其特性需求,导致网络处理器的指令集设计,必须具有指令执行效率高、指令扩展性强、指令集丰富等特征。The network processor is a processor specially used for network data processing. It is mainly used in network products such as switches and routers, and is mostly used to process messages in the network; it has high processing performance, programmable, flexible expansion, and short development cycle. Advantage. It is precisely because of the difference between the processing of network business data and ordinary system programs and their characteristic requirements that the instruction set design of network processors must have the characteristics of high instruction execution efficiency, strong instruction scalability, and rich instruction set.
同时,在满足转发性能的基础上,要降低逻辑设计的复杂度,减少芯片资源和降低功耗。而这些特征要求不仅需要从指令集设计的每个流程单独考虑,更要把所有流程作整体统一考虑,因此网络处理器的指令集设计和处理是非常复杂的。At the same time, on the basis of satisfying the forwarding performance, it is necessary to reduce the complexity of logic design, reduce chip resources and reduce power consumption. These characteristics require not only to consider each process from the instruction set design, but also to consider all the processes as a whole, so the instruction set design and processing of the network processor is very complicated.
发明内容Summary of the invention
有鉴于此,本申请实施例为解决现有技术中存在的至少一个问题而提供一种指令数据的处理方法及装置、设备、存储介质。In view of this, the embodiments of the present application provide a method, device, device, and storage medium for processing instruction data in order to solve at least one problem in the prior art.
本申请实施例的技术方案是这样实现的:The technical solutions of the embodiments of the present application are implemented as follows:
可选地,本申请实施例提供了一种指令数据的处理方法,所述方法包括:如果确定编译前的指令之间有相同类型的字段,编译时,将所述相同类型的字段存储至指定编码位置;根据每一所述编译前的指令的类型和所述相同类型的字段的属性信息,生成对应的操作码;将所述操作码存储至编译后的指令中;输出所述编译后的指令。Optionally, an embodiment of the present application provides a method for processing instruction data. The method includes: if it is determined that there are fields of the same type between the instructions before compilation, the fields of the same type are stored to the designated during compilation Coding position; generate the corresponding operation code according to the type of each pre-compiled instruction and the attribute information of the field of the same type; store the operation code in the compiled instruction; output the compiled instruction.
可选地,本申请实施例提供了一种指令数据的处理方法,所述方法包括:确定编译后的指令中的操作码;根据所述操作码,确定所述指令的类 型和所述指令中的字段的属性信息;根据所述字段的属性信息,从所述指令中的指定编码位置确定相应类型的字段;根据所述相应类型的字段获取对应的操作数,并输出所述操作数。Optionally, an embodiment of the present application provides a method for processing instruction data. The method includes: determining an operation code in a compiled instruction; and according to the operation code, determining the type of the instruction and the instruction The attribute information of the field of; the field of the corresponding type is determined from the specified coding position in the instruction according to the attribute information of the field; the corresponding operand is obtained according to the field of the corresponding type, and the operand is output.
可选地,本申请实施例提供了一种指令数据的处理装置,所述装置包括:第一存储单元,配置为如果确定编译前的指令之间有相同类型的字段,编译时,将所述相同类型的字段存储至指定编码位置;生成单元,配置为根据每一所述编译前的指令的类型和所述相同类型的字段的属性信息,生成对应的操作码;第二存储单元,配置为将所述操作码存储至编译后的指令中;第一输出单元,配置为输出所述编译后的指令。Optionally, an embodiment of the present application provides an instruction data processing apparatus. The apparatus includes: a first storage unit configured to: if it is determined that there are fields of the same type between instructions before compilation, compile the The fields of the same type are stored to the designated coding position; the generating unit is configured to generate a corresponding operation code according to the type of each pre-compiled instruction and the attribute information of the fields of the same type; the second storage unit is configured as Storing the operation code in the compiled instruction; the first output unit is configured to output the compiled instruction.
可选地,本申请实施例提供了一种指令数据的处理装置,所述装置包括:第一确定单元,配置为确定编译后的指令中的操作码;第二确定单元,配置为根据所述操作码,确定所述指令的类型和所述指令中的字段的属性信息;第三确定单元,配置为根据所述字段的属性信息,从所述指令中的指定编码位置确定相应类型的字段;第二输出单元,配置为根据所述相应类型的字段获取对应的操作数,并输出所述操作数。Optionally, an embodiment of the present application provides an instruction data processing apparatus. The apparatus includes: a first determination unit configured to determine an operation code in a compiled instruction; a second determination unit configured to The operation code determines the type of the instruction and the attribute information of the field in the instruction; the third determination unit is configured to determine the field of the corresponding type from the specified coding position in the instruction according to the attribute information of the field; The second output unit is configured to obtain a corresponding operand according to the corresponding type of field and output the operand.
可选地,本申请实施例提供了一种计算机设备,所述计算机设备至少包括:处理器和配置为存储可执行指令的存储介质,其中:处理器配置为执行存储的可执行指令,所述可执行指令配置为执行上述实施例提供的指令数据的处理方法。Optionally, an embodiment of the present application provides a computer device, the computer device at least includes: a processor and a storage medium configured to store executable instructions, wherein: the processor is configured to execute the stored executable instructions, the The executable instruction is configured to execute the processing method of the instruction data provided by the above embodiment.
可选地,本申请实施例提供了一种计算机可读存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述实施例提供的指令数据的处理方法中的步骤。Optionally, an embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored, and the computer-executable instructions are configured to execute the instruction data processing method provided in the foregoing embodiments A step of.
本申请实施例提供了一种指令数据的处理方法及装置、设备、存储介质,其中,所述方法包括:如果确定编译前的指令之间有相同类型的字段,编译时,将所述相同类型的字段存储至指定编码位置;根据每一所述编译前的指令的类型和所述相同类型的字段的属性信息,生成对应的操作码;将所述操作码存储至编译后的指令中;输出所述编译后的指令。这样,将 令操作码与指令的类型以及指令源操作数的数量和类型直接关联,实现据所述指令操作码完成对指令源操作数的分类获取。Embodiments of the present application provide an instruction data processing method and apparatus, device, and storage medium, where the method includes: if it is determined that there is a field of the same type between instructions before compilation, the same type is used during compilation Store the field in the specified coding position; generate the corresponding operation code according to the type of each pre-compiled instruction and the attribute information of the field of the same type; store the operation code in the compiled instruction; output The compiled instruction. In this way, the operation code is directly related to the type of the instruction and the number and type of the instruction source operands, so that the classification and acquisition of the instruction source operands is completed according to the instruction operation code.
附图说明BRIEF DESCRIPTION
图1为本申请实施例提供的指令数据的处理方法流程示意图一;1 is a schematic flowchart 1 of a method for processing instruction data provided by an embodiment of the present application;
图2为本申请实施例提供的指令数据的处理方法流程示意图二;2 is a second schematic flowchart of a method for processing instruction data provided by an embodiment of the present application;
图3为本申请实施例提供的一种网络处理器的指令源操作数处理方法的流程示意图;3 is a schematic flowchart of a method for processing an instruction source operand of a network processor according to an embodiment of the present application;
图4为本申请实施例提供的一种网络处理器指令源操作数的处理装置的组成结构示意图;FIG. 4 is a schematic structural diagram of a processing device for a network processor instruction source operand provided by an embodiment of the present application; FIG.
图5为本申请实施例提供的指令数据的处理装置的组成结构示意图一;FIG. 5 is a schematic structural diagram 1 of a structure of an instruction data processing device provided by an embodiment of the present application; FIG.
图6为本申请实施例提供的指令数据的处理装置的组成结构示意图二;FIG. 6 is a second schematic structural diagram of a composition of a device for processing instruction data provided by an embodiment of the present application; FIG.
图7为本申请实施例提供的一种计算机设备结构示意图。7 is a schematic structural diagram of a computer device according to an embodiment of the present application.
具体实施方式detailed description
相关技术中,在设计网络处理器的指令集时,需要考虑指令编码、储存、获取、解码等几个关键技术,其中指令编解码是指令集设计的基础,直接决定指令集处理的复杂度。同时为了能够处理网络中各种业务数据,需要设计多种不同功能的指令以及大容量的指令空间。因此,如果指令编解码没有对应的好的设计方案,往往会导致逻辑设计的复杂度很高,而且会占用大量的芯片内存,功耗也很高。In the related art, when designing the instruction set of the network processor, several key technologies such as instruction encoding, storage, retrieval, and decoding need to be considered. Among them, instruction encoding and decoding are the basis of instruction set design, which directly determines the complexity of instruction set processing. At the same time, in order to be able to process various business data in the network, it is necessary to design a plurality of instructions with different functions and a large-capacity instruction space. Therefore, if there is no corresponding good design solution for instruction encoding and decoding, the complexity of the logic design is often high, and it will occupy a large amount of chip memory and the power consumption is also very high.
传统的网络处理器的指令集设计采用与精简指令集计算机(Reduced Instruction Set Computer,简称为RISC)类似的指令流水线解码技术,指令编码采用的是定长方式进行编码。由于仅根据每个指令的功能操作对指令的操作码字段进行编码,导致在解码阶段获取源操作数时,需要先判断每个指令的类型,再根据每个指令记录的源操作数在指令编码中的位置,获取源操作数的编号和地址等字段信息。The instruction set design of the traditional network processor adopts instruction pipeline decoding technology similar to Reduced Instruction Set (Computer for short, RISC). The instruction encoding adopts fixed-length encoding. Since the opcode field of the instruction is encoded only according to the functional operation of each instruction, when acquiring the source operand in the decoding stage, it is necessary to determine the type of each instruction first, and then encode the instruction according to the source operand recorded by each instruction To obtain the field information such as the number and address of the source operand.
基于网络处理器的指令数量非常多,通过这样的方式获取源操作数,不仅需要额外增加芯片内存资源,用于存储每个指令的源操作数信息;而且也大大增加了芯片内核的逻辑复杂度。The number of instructions based on the network processor is very large. Obtaining source operands in this way not only requires additional chip memory resources for storing the source operand information of each instruction; but also greatly increases the logic complexity of the chip core .
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对发明的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。In order to make the objectives, technical solutions, and advantages of the embodiments of the present application more clear, the specific technical solutions of the invention will be described in further detail in conjunction with the drawings in the embodiments of the present application. The following embodiments are used to illustrate this application, but are not used to limit the scope of this application.
本申请实施例提供一种指令数据的处理方法,该方法应用于计算机设备,该方法所实现的功能可以通过计算机设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该计算机设备至少包括处理器和存储介质。An embodiment of the present application provides a method for processing instruction data. The method is applied to a computer device. The functions implemented by the method can be implemented by a processor in a computer device calling program code. Of course, the program code can be stored in a computer storage medium It can be seen that the computer device includes at least a processor and a storage medium.
图1为本申请实施例提供的指令数据的处理方法流程示意图一,如图1所示,该方法包括:FIG. 1 is a schematic flowchart 1 of a method for processing instruction data according to an embodiment of the present application. As shown in FIG. 1, the method includes:
步骤S11,如果确定编译前的指令之间有相同类型的字段,编译时,将所述相同类型的字段存储至指定编码位置。In step S11, if it is determined that there are fields of the same type between the instructions before compilation, during compilation, the fields of the same type are stored to the designated coding position.
这里,从预设的指令集中获取至少一个指令,由于每个指令的功能和作用是预设的,可以根据获取到的指令确定编译前的指令之间相同类型的字段,在通过编译单元进行编译时,可以根据相应的规则将每个指令分为几段,每一段占用预设的位置和相应的字节长度,并将该预设的位置和相应的字节长度设置为对应的编码位置,在编译时,可以将各个指令之间相同类型的字段存储至指定编码位置,制定的编码位置可以根据需要预设。例如,指令集中有指令A和指令B,指令A有字段A1,A2,A3,指令B有字段B1,B2,B3,如果A3和B3是相同类型的字段,编译单元会把指令A的A3字段,和指令B的B3字段放在各自编码的相同比特位置。Here, at least one instruction is acquired from a preset instruction set. Since the function and role of each instruction are preset, the same type of fields between the instructions before compilation can be determined according to the acquired instruction, and then compiled by the compilation unit At this time, each instruction can be divided into several sections according to the corresponding rules, each section occupies a preset position and corresponding byte length, and the preset position and corresponding byte length are set to the corresponding encoding position, During compilation, fields of the same type between each instruction can be stored to the designated encoding position, and the established encoding position can be preset as needed. For example, instruction set has instruction A and instruction B, instruction A has fields A1, A2, A3, instruction B has fields B1, B2, B3, if A3 and B3 are the same type of fields, the compilation unit will put the A3 field of instruction A , And the B3 field of instruction B are placed in the same bit position of their respective codes.
步骤S12,据每一所述编译前的指令的类型和所述相同类型的字段的属性信息,生成对应的操作码。In step S12, according to the type of each pre-compiled instruction and the attribute information of the field of the same type, a corresponding operation code is generated.
这里,操作码用于指明指令所要完成的操作,操作码的长度可以是固 定的,也可以是变化的。本申请实施例中,可以获取编译前的指令的类型和相同类型的字段的属性信息,对编译前的指令的类型和相同类型的字段的属性信息分别进行标记,根据生成的标记信息生成对应的操作码。这里,指令的类型可以为:逻辑计算类指令、数据上传/下载类指令、跳转类指令和一些特殊类指令等,可以根据需要预设。相同类型的字段可以为不同的源操作数、目的操作数或者其他的字段等。Here, the operation code is used to indicate the operation to be completed by the instruction, and the length of the operation code may be fixed or may vary. In the embodiment of the present application, the type information of the instruction before compilation and the attribute information of the field of the same type can be obtained, the type of the instruction before compilation and the attribute information of the field of the same type are respectively marked, and the corresponding Opcode. Here, the types of instructions may be: logic calculation instructions, data upload/download instructions, jump instructions, and some special instructions, etc., which can be preset as needed. Fields of the same type can be different source operands, destination operands, or other fields.
步骤S13,将所述操作码存储至编译后的指令中。In step S13, the operation code is stored in the compiled instruction.
这里,编译单元可以将根据上述步骤生成的操作码存储至编译后的指令中的相应编码位置。Here, the compiling unit may store the operation code generated according to the above steps to the corresponding coding position in the compiled instruction.
步骤S14,输出所述编译后的指令。Step S14, output the compiled instruction.
本申请实施例中,如果确定编译前的指令之间有相同类型的字段,编译时,将相同类型的字段存储至指定编码位置,根据每一编译前的指令的类型和相同类型的字段的属性信息,生成对应的操作码,将操作码存储至编译后的指令中,输出编译后的指令。能够将令操作码与指令的类型以及字段的属性信息直接关联,实现据所述指令操作码完成对字段相应的操作数的分类获取。In the embodiment of the present application, if it is determined that there are fields of the same type between the instructions before compilation, the fields of the same type are stored to the specified coding position during compilation, according to the type of each instruction before compilation and the attributes of the fields of the same type Information, generate the corresponding operation code, store the operation code in the compiled instruction, and output the compiled instruction. The operation code can be directly related to the type of the instruction and the attribute information of the field, so as to realize the classification and acquisition of the corresponding operand of the field according to the instruction operation code.
本申请实施例还供了另一指令数据的处理方法,该方法包括:An embodiment of the present application also provides another method for processing instruction data. The method includes:
步骤S101,如果确定编译前的指令之间有相同类型的字段,编译时,将所述相同类型的字段存储至指定编码位置。In step S101, if it is determined that there are fields of the same type between the instructions before compilation, during compilation, the fields of the same type are stored to the designated coding position.
步骤S102,如果确定所述相同类型的字段包括源操作数字段,确定所述源操作数字段的数量和类型。In step S102, if it is determined that the field of the same type includes the source operation digital field, the number and type of the source operation digital field are determined.
这里,指令中可以包括一个或者多个源操作数字段。本申请实施例中,如果确定相同类型的字段包括源操作数字段,确定源操作数字段的数量和类型。Here, the instruction may include one or more source operation digital fields. In the embodiment of the present application, if it is determined that the fields of the same type include the source operation digital field, the number and type of the source operation digital field are determined.
步骤S103,根据每一所述编译前的指令的类型、所述源操作数字段 的数量和类型,生成对应的操作码。In step S103, a corresponding operation code is generated according to the type of each pre-compiled instruction and the number and type of the source operand fields.
这里,可以获取编译前的指令的类型和源操作数字段的数量和类型,对编译前的指令的类型、源操作数字段的数量和类型分别进行标记,根据该标记生成的标识码生成对应的操作码。对源操作数字段的数量和类型分别进行标记,包括:确定源操作数的数量和类型,并根据源操作数的数量和类型生成一个标记。例如:不需要源操作数或者是立即数形式的标记为000;只需要操作一个条件的寄存器的形式标记为001等。Here, the type of the instruction before compilation and the number and type of source operation digital fields can be obtained, the type of the instruction before compilation, the number and type of source operation digital fields are respectively marked, and the corresponding code is generated according to the identification code generated by the mark Opcode. Mark the number and type of the source operand field separately, including: determining the number and type of source operands, and generating a mark based on the number and type of source operands. For example: no source operand or immediate value is required to be marked as 000; a register that only needs to operate on a condition is marked as 001 and so on.
上述的步骤S102至步骤S103提供了一种实现步骤“根据每一所述编译前的指令的类型和所述相同类型字段的属性信息,生成对应的操作码”的方式。该方式中,如果确定所述相同类型的字段包括源操作数字段,确定所述源操作数字段的数量和类型,根据每一所述编译前的指令的类型、所述源操作数字段的数量和类型,生成对应的操作码。能够将令操作码与指令的类型以及源操作数字段的数量和类型直接关联,实现据所述指令操作码完成对指令源操作数的分类获取。The above steps S102 to S103 provide a way to implement the step of “generating a corresponding operation code according to the type of each pre-compiled instruction and the attribute information of the field of the same type”. In this mode, if it is determined that the field of the same type includes the source operation digital field, the number and type of the source operation digital field are determined, according to the type of each instruction before compilation and the number of the source operation digital field And type, generate the corresponding opcode. The operation code can be directly related to the type of the instruction and the number and type of source operation digital fields, so as to realize the classification and acquisition of the instruction source operand according to the instruction operation code.
步骤S104,将所述操作码存储至编译后的指令中。Step S104: Store the operation code in the compiled instruction.
步骤S105,输出所述编译后的指令。Step S105, output the compiled instruction.
本申请实施例还供了另一指令数据的处理方法,该方法包括:An embodiment of the present application also provides another method for processing instruction data. The method includes:
步骤S201,根据每一编译前的指令所要执行的功能,对所述编译前的指令进行分类,得到分类结果。Step S201: Classify the instruction before compilation according to the function to be executed by each instruction before compilation, and obtain a classification result.
这里,可以根据指令所要执行的功能,将编译前的指令分为至少一类。其中,分类结果可以为:逻辑计算类指令、数据上传/下载类指令、跳转类指令和一些特殊类指令等。Here, the instructions before compilation can be classified into at least one category according to the functions to be performed by the instructions. Among them, the classification result can be: logic calculation instructions, data upload/download instructions, jump instructions and some special instructions.
步骤S202,如果确定编译前的指令之间有相同类型的字段,编译时,将所述相同类型的字段存储至指定编码位置。In step S202, if it is determined that there are fields of the same type between the instructions before compilation, during compilation, the fields of the same type are stored to the designated coding position.
步骤S203,如果确定所述相同类型的字段包括源操作数字段,根据 所述分类结果,确定所述源操作数字段的数量和类型。In step S203, if it is determined that the field of the same type includes the source operation digital field, the number and type of the source operation digital field are determined according to the classification result.
这里,可以根据编译前的指令所要执行的功能确定该指令是否需要源操作数,如果需要源操作数,确定所需要的源操作数的数量和类型。以将指令分为逻辑计算类指令、数据上传/下载类指令、跳转类指令为例。其中,逻辑计算类指令通常有目的寄存器,普通寄存器源操作数一,普通寄存器源操作数二或立即数源操作数二等字段等;数据上传/下载类指令通常有目的寄存器,条件寄存器源操作数二,内存源操作数数一或内存源操作数二,立即数源操作数二等字段等;跳转类指令通常有标签,条件寄存器源操作数二等;特殊类指令通常完成网络业务查表,协处理等处理,不需要源操作数。其中,源操作数一指的是有一个操作数,或者有两个操作数时,处于第一位的源操作数;源操作数二指的是有两个操作数时,处于第二位的源操作数。Here, it can be determined whether the instruction requires a source operand according to the function to be executed by the instruction before compilation, and if the source operand is required, the number and type of source operands required. Take the example of dividing instructions into logic calculation instructions, data upload/download instructions, and jump instructions. Among them, logic calculation instructions usually have destination registers, ordinary register source operand one, ordinary register source operand two or immediate source operand second fields, etc.; data upload/download instructions usually have destination register, conditional register source operation Number two, memory source operand number one or memory source operand two, immediate source source operand second class, etc.; jump class instructions usually have tags, condition register source operand class two; special class instructions usually complete network service checks Tables, co-processing, etc. do not require source operands. Among them, the source operand one refers to the source operand in the first place when there is one operand, or there are two operands; the source operand two refers to the second place in the second place when there are two operands Source operand.
步骤S204,根据每一所述编译前的指令的类型、所述源操作数字段的数量和类型,生成对应的操作码。In step S204, a corresponding operation code is generated according to the type of each pre-compilation instruction, the number and type of the source operand fields.
步骤S205,将所述操作码存储至编译后的指令中。Step S205: Store the operation code in the compiled instruction.
步骤S206,输出所述编译后的指令。Step S206, output the compiled instruction.
本申请实施例还供了另一指令数据的处理方法,该方法包括:An embodiment of the present application also provides another method for processing instruction data. The method includes:
步骤S301,根据每一编译前的指令所要执行的功能,对所述编译前的指令进行分类,得到分类结果。Step S301: Classify the instruction before compilation according to the function to be executed by each instruction before compilation, and obtain a classification result.
步骤S302,如果确定编译前的指令之间有相同类型的字段,编译时,将所述相同类型的字段存储至指定编码位置。Step S302, if it is determined that there are fields of the same type between the instructions before compilation, during compilation, the fields of the same type are stored to the designated coding position.
步骤S303,如果确定所述相同类型的字段包括源操作数字段,根据所述分类结果,确定所述源操作数字段的数量和类型。Step S303, if it is determined that the field of the same type includes the source operation digital segment, the number and type of the source operation digital segment are determined according to the classification result.
步骤S304,对每一所述编译前的指令的类型进行标记,生成与每一所述编译前的指令对应的第一标识码。Step S304: Mark the type of each instruction before compilation to generate a first identification code corresponding to each instruction before compilation.
这里,对指令的类型进行标记是指:编译单元根据指令的类型,生成相应的标识码。例如,可以将指令分为逻辑计算类指令、数据上传/下载类指令、跳转类指令和特殊类指令四种类型,再根据该四种类型生成四个对应标记,分别为逻辑计算类指令对应第一标识码一00、数据上传/下载类指令对应第一标识码二01、跳转类指令对应第一标识码三10、特殊类指令对应第一标识码四11。将上述标识码作为相应的指令的操作码字段编码的第一部分。Here, marking the type of instruction means that the compilation unit generates a corresponding identification code according to the type of instruction. For example, instructions can be divided into four types: logic calculation instructions, data upload/download instructions, jump instructions, and special instructions, and then generate four corresponding marks according to the four types, respectively corresponding to logic calculation instructions The first identification code one 00, the data upload/download instruction corresponds to the first identification code two 01, the jump instruction corresponds to the first identification code three 10, and the special instruction corresponds to the first identification code four 11. Use the above identification code as the first part of the opcode field encoding of the corresponding instruction.
步骤S305,根据所述源操作数字段的数量和类型,生成对应的第二标识码。Step S305: Generate a corresponding second identification code according to the number and type of the source operation digital field.
这里,以根据源操作数的数量和类型,将指令分为逻辑计算类指令、数据上传/下载类指令、跳转类指令和特殊类指令四种类型分为八种类型为例,形成的类型分别为:不需要源操作数或者是立即数形式的源操作数的指令为类型一;只需要操作一个条件寄存器形式的源操作数的指令为类型二;只需要操作一个普通寄存器形式的源操作数的指令为类型三;只需要操作一个内存形式的源操作数的指令为类型四;需要操作一个普通寄存器形式的源操作数和一个内存形式的源操作数的指令为类型五;需要操作一个普通寄存器形式的源操作数和一个条件寄存器形式的源操作数的指令为类型六;需要操作两个普通寄存器形式的源操作数的指令为类型七;需要操作一个内存形式的源操作数和一个条件寄存器形式的源操作数的指令为类型八。Here, according to the number and type of source operands, the instructions are divided into logical calculation instructions, data upload/download instructions, jump instructions and special instructions. The four types are divided into eight types as an example. Respectively: instructions that do not require source operands or immediate operands are of type one; instructions that only need to operate on a source register in the form of a condition register are of type two; only need to operate on a source operation in the form of an ordinary register The instruction of the number is type three; the instruction that only needs to operate a source operand in the form of memory is type four; the instruction that needs to operate a source operand in the form of a common register and a source operand in the form of memory is type five; The instructions of the source operand in the form of a common register and the source operand in the form of a condition register are of type six; the instruction of the source operand in the form of two ordinary registers is of type seven; the source operand in the form of a memory and one The instruction of the source operand in the form of a condition register is type eight.
编译单元根据源操作数的数量和类型,对指令进行分类,得到分类结果,对分类结果得到相应的标识码。以上述八种类型为例,类型一对应第二标识码一000,类型二对应第二标识码二001,类型三对应第二标识码三010,类型四对应第二标识码四011,类型五对应第二标识码五100,类型六对应第二标识码六101,类型七对应第二标识码七110,类型八对应第二标识码八111。将上述标识码作为相应的指令的操作码字段编码的第二部分。The compilation unit classifies the instructions according to the number and type of source operands to obtain a classification result, and obtains a corresponding identification code for the classification result. Taking the above eight types as examples, type one corresponds to the second identification code one 000, type two corresponds to the second identification code two 001, type three corresponds to the second identification code three 010, type four corresponds to the second identification code four 011, and type five Corresponding to the second identification code five 100, type six corresponds to the second identification code six 101, type seven corresponds to the second identification code seven 110, and type eight corresponds to the second identification code eight 111. Use the above identification code as the second part of the opcode field encoding of the corresponding instruction.
步骤S306,将所述第一标识码和所述第二标识码合并,生成对应的操作码。Step S306: Combine the first identification code and the second identification code to generate a corresponding operation code.
这里,可以将经过上述步骤生成的操作码字段编码的第一部分和操作码字段编码的第二部分进行合并,生成对应的操作码。Here, the first part of the opcode field code generated through the above steps and the second part of the opcode field code may be combined to generate a corresponding opcode.
上述的步骤S304至步骤S306提供了一种实现步骤“根据每一所述编译前的指令的类型、所述源操作数字段的数量和类型,生成对应的操作码”的方式。该方式中,能够将令操作码与指令的类型以及源操作数字段的数量和类型直接关联,实现据所述指令操作码完成对指令源操作数的分类获取。The above steps S304 to S306 provide a way to realize the step of “generating a corresponding operation code according to the type of each pre-compilation instruction, the number and type of the source operand fields”. In this way, it is possible to directly associate the operation code with the type of the instruction and the number and type of source operation digit fields, so as to realize the classification and acquisition of the instruction source operand according to the instruction operation code.
步骤S307,将所述操作码存储至编译后的指令中。In step S307, the operation code is stored in the compiled instruction.
步骤S308,输出所述编译后的指令。Step S308, output the compiled instruction.
图2为本申请实施例提供的指令数据的处理方法流程示意图二,如图2所示,该方法包括:FIG. 2 is a second schematic flowchart of a method for processing instruction data provided by an embodiment of the present application. As shown in FIG. 2, the method includes:
步骤S21,确定编译后的指令中的操作码。Step S21: Determine the operation code in the compiled instruction.
这里,解码单元接收到编译后的指令之后,可以从编译后的指令中确定对应的操作码。Here, after receiving the compiled instruction, the decoding unit may determine the corresponding operation code from the compiled instruction.
步骤S22,根据所述操作码,确定所述指令的类型和所述指令中的字段的属性信息。Step S22: Determine the type of the instruction and the attribute information of the field in the instruction according to the operation code.
这里,解码单元获取到编译后的指令,可以从指令中解析出相应的操作码,并根据操作码,确定指令的类型和指令中的字段的属性信息。Here, the decoding unit obtains the compiled instruction, and can parse out the corresponding operation code from the instruction, and according to the operation code, determine the type of the instruction and the attribute information of the field in the instruction.
步骤S23,根据所述字段的属性信息,从所述指令中的指定编码位置确定相应类型的字段。In step S23, according to the attribute information of the field, the corresponding type of field is determined from the specified coding position in the instruction.
这里,字段是存储在编译后的指令中的指定编码位置,解码单元可以根据字段的属性信息从指定编码位置直接确定相应类型的字段。Here, the field is a designated encoding position stored in the compiled instruction, and the decoding unit may directly determine the corresponding type of field from the designated encoding position according to the attribute information of the field.
步骤S24,根据所述相应类型的字段获取对应的操作数,并输出所述 操作数。Step S24: Obtain the corresponding operand according to the corresponding type of field, and output the operand.
这里,基于上述步骤确定了相应类型的字段之后,可以直接从相应的寄存器中获取相应的操作数,并对获取的操作数进行相应的处理。Here, after the field of the corresponding type is determined based on the above steps, the corresponding operand can be directly obtained from the corresponding register, and the obtained operand can be processed accordingly.
本申请实施例中,确定编译后的指令中的操作码,根据操作码,确定指令的类型和指令中的字段的属性信息,根据字段的属性信息,从指令中的指定编码位置确定相应类型的字段,根据相应类型的字段获取对应的操作数,并输出操作数。解码单元能够从编译后的指令中直接截取相应的操作数,不用通过确定指令的类型,再根据指令的类型确定相应的操作数,能够减少判断步骤,并且减少对操作数处理的复杂度。In the embodiment of the present application, the operation code in the compiled instruction is determined, according to the operation code, the type of the instruction and the attribute information of the field in the instruction are determined, and according to the attribute information of the field, the corresponding type is determined from the specified coding position in the instruction Field, get the corresponding operand according to the corresponding type of field, and output the operand. The decoding unit can directly intercept the corresponding operand from the compiled instruction without determining the type of the instruction, and then determine the corresponding operand according to the type of the instruction, which can reduce the judgment step and the complexity of processing the operand.
本申请实施例还供了另一指令数据的处理方法,该方法包括:An embodiment of the present application also provides another method for processing instruction data. The method includes:
步骤S401,确定编译后的指令中的操作码。Step S401: Determine the operation code in the compiled instruction.
步骤S402,如果检测出所述指令需要获取源操作数字段,解析所述需要获取源操作数字段的指令对应的操作码,得到解析结果。Step S402, if it is detected that the instruction needs to obtain the source operation digital segment, the operation code corresponding to the instruction that needs to obtain the source operation digital segment is parsed to obtain a parsing result.
这里,解码单元根据操作码判断是否需要获取源操作数,当需要获取源操作数时,解析需要获取源操作数字段的指令对应的操作码,得到解析结果。Here, the decoding unit determines whether the source operand needs to be obtained according to the operation code. When the source operand needs to be obtained, the operation code corresponding to the instruction that needs to obtain the source operation digit field is parsed to obtain the analysis result.
步骤S403,根据所述解析结果,确定所述指令的类型和所述源操作数字段的属性信息。Step S403: According to the analysis result, determine the type of the instruction and the attribute information of the source operation digital field.
这里,由于操作码包括第一标识码和第二标识码,可以根据第一标识码确定指令的类型,根据第二标识码确定源操作数字段的属性信息。Here, since the operation code includes the first identification code and the second identification code, the type of the instruction may be determined according to the first identification code, and the attribute information of the source operation digital field may be determined according to the second identification code.
上述的步骤S402至步骤S403提供了一种实现步骤“根据所述操作码,确定所述指令的类型和所述指令中的字段的属性信息”的方式。该方式中,如果检测出指令需要获取源操作数字段,解析需要获取源操作数字段的指令对应的操作码,得到解析结果,根据解析结果,确定指令的类型和源操作数字段的属性信息。通过对操作码进行解析,能够直接获取指令的类型 和源操作数字段的属性信息,可以减少解码的复杂度。The above steps S402 to S403 provide a way to implement the step of “determining the type of the instruction and the attribute information of the field in the instruction according to the operation code”. In this mode, if an instruction needs to be acquired for the source operation digital segment, the operation code corresponding to the instruction for the source operation digital segment needs to be obtained for analysis, and the analysis result is obtained. Based on the analysis result, the type of the instruction and the attribute information of the source operation digital segment are determined. By parsing the opcode, you can directly obtain the type of instruction and the attribute information of the source operand field, which can reduce the complexity of decoding.
步骤S404,根据所述字段的属性信息,从所述指令中的指定编码位置确定相应类型的字段。Step S404, according to the attribute information of the field, determine the corresponding type of field from the specified coding position in the instruction.
步骤S405,根据所述相应类型的字段获取对应的操作数,并输出所述操作数。Step S405: Obtain the corresponding operand according to the corresponding type of field, and output the operand.
本申请实施例还供了另一指令数据的处理方法,该方法包括:An embodiment of the present application also provides another method for processing instruction data. The method includes:
步骤S501,确定编译后的指令中的操作码。Step S501: Determine the operation code in the compiled instruction.
步骤S502,如果检测出所述指令需要获取源操作数字段,解析所述需要获取源操作数字段的指令对应的操作码,得到解析结果。Step S502, if it is detected that the instruction needs to obtain the source operation digital segment, the operation code corresponding to the instruction that needs to obtain the source operation digital segment is parsed to obtain a parsing result.
步骤S503,根据所述解析结果,确定所述指令的类型和所述源操作数字段的属性信息。Step S503: According to the analysis result, determine the type of the instruction and the attribute information of the source operation digital field.
步骤S504,根据从所述操作码中解析出的第一标识码,确定所述指令的类型。Step S504: Determine the type of the instruction according to the first identification code parsed from the operation code.
这里,解码单元解析操作码的第一部分,即解析操作码的第一标识码,可以确定指令的类型。Here, the decoding unit parses the first part of the operation code, that is, the first identification code of the operation code, to determine the type of the instruction.
步骤S505,根据从所述操作码中解析出的第二标识码,确定所述源操作数字段数量和类型。Step S505: Determine the number and type of the source operation digital field according to the second identification code parsed from the operation code.
这里,解码单元解析操作码的第二部分,即解析操作码的第二标识码,可以确定源操作数字段数量和类型。Here, the decoding unit parses the second part of the operation code, that is, parses the second identification code of the operation code, and can determine the number and type of source operation digital fields.
步骤S506,根据所述源操作数字段数量和类型,从所述指令中的指定编码位置确定相应类型的字段。Step S506, according to the number and type of the source operation digital field, determine the field of the corresponding type from the designated coding position in the instruction.
这里,可以根据源操作数字段数量和类型,从指令中的指定编码位置确定相应类型的字段。例如,对于源操作数一分成三种情况:指令不需要获取源操作数一,指令直接透传至读取单元;指令需要获取源操作数一,且需要从指令编码中截取源寄存器的编号和地址;指令需要获取源操作数 一,且读地址固定无需其他解码操作。对于源操作数二分四种情况:指令不需要获取源操作二,直接透传至读取单元;指令需要获取源操作数二,且需要从指令编码中截取源寄存器的编号和地址;指令需要获取源操作数二,且所需源寄存器从指令编码中截取后并做转换;指令需要获取源操作数二,且读地址固定无需其他解码操作。Here, the field of the corresponding type can be determined from the designated coding position in the instruction according to the number and type of source operation digital fields. For example, for the source operand one is divided into three cases: the instruction does not need to obtain the source operand one, the instruction is transparently transmitted to the reading unit; the instruction needs to obtain the source operand one, and the source register number and the source code need to be intercepted from the instruction code Address; the instruction needs to get the source operand one, and the read address is fixed without other decoding operations. The source operand is divided into four cases: the instruction does not need to obtain the source operation two, and it is directly transmitted to the reading unit; the instruction needs to obtain the source operand two, and the number and address of the source register need to be intercepted from the instruction code; the instruction needs Obtain the source operand two, and the required source register is intercepted from the instruction code and converted; the instruction needs to obtain the source operand two, and the read address is fixed without other decoding operations.
上述的步骤S504至步骤S506提供了一种实现步骤“根据所述字段的属性信息,从所述指令中的指定编码位置确定相应类型的字段”的方式。该方式中,根据从操作码中解析出的第一标识码,确定指令的类型;根据从操作码中解析出的第二标识码,确定源操作数字段数量和类型;根据源操作数字段数量和类型,从指令中的指定编码位置确定源操作数字段。能够根据源操作数字段数量和类型,直接从指令中的指定编码位置确定源操作数字段,能够减少解码的复杂度。The above steps S504 to S506 provide a way to implement the step of “determining a field of a corresponding type from a specified coding position in the instruction according to the attribute information of the field”. In this mode, the type of the instruction is determined according to the first identification code parsed from the operation code; the number and type of source operation digits are determined according to the second identification code parsed from the operation code; And type, determine the source operand field from the specified coding position in the instruction. The source operation digital segment can be directly determined from the designated encoding position in the instruction according to the number and type of the source operation digital segment, which can reduce the complexity of decoding.
步骤S507,根据所述相应类型的字段获取对应的操作数,并输出所述操作数。Step S507: Acquire the corresponding operand according to the corresponding type of field, and output the operand.
本申请实施例还供了另一指令数据的处理方法,该方法包括:An embodiment of the present application also provides another method for processing instruction data. The method includes:
步骤S601,确定编译后的指令中的操作码。Step S601: Determine the operation code in the compiled instruction.
步骤S602,如果检测出所述指令需要获取源操作数字段,解析所述需要获取源操作数字段的指令对应的操作码,得到解析结果。Step S602, if it is detected that the instruction needs to obtain the source operation digital segment, the operation code corresponding to the instruction that needs to obtain the source operation digital segment is parsed to obtain a parsing result.
步骤S603,根据所述解析结果,确定所述指令的类型和所述源操作数字段的属性信息。Step S603: According to the analysis result, determine the type of the instruction and the attribute information of the source operation digital field.
步骤S604,根据从所述操作码中解析出的第一标识码,确定所述指令的类型。Step S604: Determine the type of the instruction according to the first identification code parsed from the operation code.
步骤S605,根据从所述操作码中解析出的第二标识码,确定所述源操作数字段数量和类型。Step S605: Determine the number and type of the source operation digital field according to the second identification code parsed from the operation code.
步骤S606,根据所述源操作数字段数量和类型,从所述指令中的指 定编码位置确定相应类型的字段。Step S606: Determine the field of the corresponding type from the specified coding position in the instruction according to the number and type of the source operation digital field.
步骤S607,根据所述源操作数字段的数量和类型,从所述指令中的指定编码位置获取相应的源操作数字段。In step S607, according to the number and type of the source operation digital segment, the corresponding source operation digital segment is obtained from the designated coding position in the instruction.
步骤S608,根据所述源操作数字段,确定所述源操作数的编号和地址。Step S608: Determine the number and address of the source operand according to the source operand field.
这里,解码单元根据源操作数字段在指令编码中的固定位置,确定源操作数字段,并获取源操作数的编号和地址,送给读取单元。Here, the decoding unit determines the source operation number segment according to the fixed position of the source operation number segment in the instruction encoding, and obtains the number and address of the source operation number and sends it to the reading unit.
步骤S609,根据所述源操作数的编号和地址,获取所述源操作数,并输出所述源操作数。Step S609: Acquire the source operand according to the number and address of the source operand, and output the source operand.
上述的步骤S608至步骤S609提供了一种实现步骤“根据所述相应类型的字段获取对应的操作数,并输出所述操作数”的方式。该方式中,根据源操作数字段,确定源操作数的编号和地址;根据源操作数的编号和地址,获取源操作数,并输出所述源操作数。能够根据源操作数字段数量和类型,直接从指令中的指定编码位置确定源操作数字段,然后根据源操作数字段直接获取相应的源操作数,可以减少解码的复杂度。The above steps S608 to S609 provide a way to realize the step of “acquiring the corresponding operand according to the corresponding type of field and outputting the operand”. In this mode, the number and address of the source operand are determined according to the source operand field; according to the number and address of the source operand, the source operand is obtained and the source operand is output. According to the number and type of source operation digital segment, the source operation digital segment can be directly determined from the designated coding position in the instruction, and then the corresponding source operand can be directly obtained according to the source operation digital segment, which can reduce the complexity of decoding.
在其他的实施例中,根据指令的类型确定指令的功能,根据指令的功能对源操作数进行处理。In other embodiments, the function of the instruction is determined according to the type of instruction, and the source operand is processed according to the function of the instruction.
图3为本申请实施例提供的一种网络处理器的指令源操作数处理方法的流程示意图,如图3所示,该方法包括以下步骤:FIG. 3 is a schematic flowchart of a method for processing an instruction source operand of a network processor according to an embodiment of the present application. As shown in FIG. 3, the method includes the following steps:
步骤S31,编译单元将各个指令之间的相同字段放在指令编码中固定位置。In step S31, the compilation unit places the same field between the instructions in a fixed position in the instruction code.
这里,首先指令采用定长编码方式对指令进行编码,然后把指令集中每个编码后的指令进行分段,并根据功能对指令集中的指令进行分类,通常网络处理器的指令分为逻辑计算类指令、数据上传/下载类指令、跳转类指令和一些特殊类指令。然后根据每一类指令的功能,确认各个指令需要 的字段类型。Here, first, the instructions are encoded using fixed-length encoding, and then each encoded instruction in the instruction set is segmented, and the instructions in the instruction set are classified according to function. Generally, the instructions of the network processor are divided into logical calculation types Instruction, data upload/download instruction, jump instruction and some special instructions. Then, according to the function of each type of instruction, confirm the field type required by each instruction.
本申请实施例中,通过采用定长编码方式,能够将指令转化为便于编译单元存储的格式,而且解码单元不需要记录指令的存储位置和长度,直接在存储内存中获取到编码后的指令。In the embodiment of the present application, by adopting the fixed-length encoding method, the instructions can be converted into a format that is convenient for the compilation unit to store, and the decoding unit does not need to record the storage location and length of the instructions, and directly obtains the encoded instructions in the storage memory.
其中,逻辑计算类指令:通常有目的寄存器操作数字段,普通寄存器源操作数一字段,普通寄存器源操作数二字段、立即数源操作数二字段等;数据上传/下载类指令:通常有目的寄存器操作数字段,条件寄存器源操作数二字段,内存源操作数一字段、内存源操作数二字段,立即数源操作数二字段等;跳转类指令:通常有标签、条件寄存器源操作数二等字段;特殊类指令:通常完成网络业务查表、协处理等操作,不需要源操作数字段。Among them, logical calculation instructions: usually have a destination register operation number field, ordinary register source operand one field, ordinary register source operand two field, immediate data source operand two field, etc.; data upload/download instructions: usually have a purpose Register operand field, conditional register source operand two field, memory source operand one field, memory source operand two field, immediate source operand two field, etc.; jump instruction: usually have label, condition register source operand Second-class fields; special instructions: usually complete operations such as network business table lookup, co-processing, etc., do not need the source to operate the digital field.
步骤S32,编译单元对指令的类型及指令的源操作数进行判断和标记,根据所述标记生成指令相应的操作码。In step S32, the compilation unit judges and marks the type of the instruction and the source operand of the instruction, and generates an operation code corresponding to the instruction according to the marking.
这里,编译单元完成对指令的类型和指令的源操作数进行判断和标记,生成相应的指令操作码,该操作码与指令的类型以及指令源操作数的数量和类型直接关联;采用了根据所述指令操作码完成对指令源操作数的分类获取。Here, the compilation unit completes the judgment and marking of the type of instruction and the source operand of the instruction, and generates the corresponding instruction opcode, which is directly related to the type of instruction and the number and type of instruction source operands. The instruction opcode completes the classification and acquisition of instruction source operands.
其中,对指令的类型进行判断是指:根据功能操作把指令分为至少一种类型。例如,可以将指令分为逻辑计算类指令、数据上传/下载类指令、跳转类指令和一些特殊类指令等四种类型。Among them, judging the type of the instruction means: dividing the instruction into at least one type according to the function operation. For example, instructions can be divided into four types: logic calculation instructions, data upload/download instructions, jump instructions, and some special instructions.
对指令的类型进行标记是指:编译单元根据指令的类型,生成相应的标记。例如,可以将指令分为逻辑计算类指令、数据上传/下载类指令、跳转类指令和特殊类指令四种类型,再根据该四种类型生成四个对应标记,分别为逻辑计算类指令对应标记一00、数据上传/下载类指令对应标记二01、跳转类指令对应标记三10、特殊类指令对应标记四11,作为指令的操作码字段编码的第一部分。Marking the type of instruction means that the compilation unit generates a corresponding mark according to the type of instruction. For example, instructions can be divided into four types: logic calculation instructions, data upload/download instructions, jump instructions, and special instructions, and then generate four corresponding marks according to the four types, respectively corresponding to logic calculation instructions Mark one 00, data upload/download instruction corresponds to marker two 01, jump instruction corresponds to marker three 10, and special instruction corresponds to marker four 11 as the first part of the opcode field encoding of the instruction.
对指令的源操作数进行判断是指:根据源操作数的数量和类型,对指令进行分类。Judging the source operand of an instruction refers to classifying the instruction according to the number and type of source operands.
以根据源操作数的数量和类型,将指令分为逻辑计算类指令、数据上传/下载类指令、跳转类指令和特殊类指令四种类型分为八种类型为例,形成的类型分别为:不需要源操作数或者是立即数形式的源操作数的指令为类型一;只需要操作一个条件寄存器形式的源操作数的指令为类型二;只需要操作一个普通寄存器形式的源操作数的指令为类型三;只需要操作一个内存形式的源操作数的指令为类型四;需要操作一个普通寄存器形式的源操作数和一个内存形式的源操作数的指令为类型五;需要操作一个普通寄存器形式的源操作数和一个条件寄存器形式的源操作数的指令为类型六;需要操作两个普通寄存器形式的源操作数的指令为类型七;需要操作一个内存形式的源操作数和一个条件寄存器形式的源操作数的指令为类型八。Based on the number and type of source operands, the instructions are divided into logic calculation instructions, data upload/download instructions, jump instructions and special instructions. The four types are divided into eight types for example. The types are: : Instructions that do not require source operands or immediate operands are of type one; instructions that only need to operate on a source register in the form of a conditional register are of type two; those that only need to operate on a source register in the form of an ordinary register The instruction is type three; the instruction that only needs to operate a source operand in the form of memory is type four; the instruction that needs to operate a source operand in the form of an ordinary register and a source operand in the form of memory is type five; The source operand in the form of a condition register and the source operand in the form of a condition register are of type six; the instruction that needs to operate the source operand in the form of two ordinary registers is type seven; The form of source operand instructions is type eight.
所述对指令的源操作数进行标记是指:编译单元根据源操作数的数量和类型,对指令进行分类,得到分类结果,对分类结果进行标记。以上述八种类型为例,类型一对应标记一000,类型二对应标记二001,类型三对应标记三010,类型四对应标记四011,类型五对应标记五100,类型六对应标记六101,类型七对应标记七110,类型八对应标记八111,作为指令的操作码字段编码的第二部分。The marking of the source operand of the instruction means that the compilation unit classifies the instruction according to the number and type of source operands, obtains a classification result, and marks the classification result. Taking the above eight types as an example, type one corresponds to mark 000, type two to mark two 001, type three to mark three 010, type four to mark four 011, type five to mark five 100, and type six to mark six 101, Type seven corresponds to mark seven 110, and type eight corresponds to mark eight 111, as the second part of the opcode field encoding of the instruction.
步骤S33,解码单元根据所述操作码进行判断是否需要获取源操作数,当需要获取源操作数时,利用源操作数在指令编码中的固定位置,解码单元直接截取获得指令中源操作数的编号和地址。Step S33, the decoding unit determines whether the source operand needs to be obtained according to the operation code. When the source operand needs to be obtained, using the fixed position of the source operand in the instruction encoding, the decoding unit directly intercepts the source operand obtained in the instruction Number and address.
本申请实施例中,解码单元判断操作码的第二部分,对于源操作数一分成三种情况:指令不需要获取源操作数一,直接透传读取单元的,对应上述步骤S32操作码第二部分的000,001和011;指令需要获取源操作数一,且需要从指令编码中截取源寄存器的编号和地址的,对应上述步骤S32操作码第二部分的010,100,101和110;指令需要获取源操作数一,且读地址固定无需其他解码操作的,对应上述步骤S32操作码第二部分的111。In the embodiment of the present application, the decoding unit judges the second part of the operation code, and the source operand is divided into three cases: the instruction does not need to obtain the source operand one, and the reading unit is directly transparently transmitted, which corresponds to the operation code The two parts of 000, 001 and 011; the instruction needs to obtain the source operand one, and the number and address of the source register need to be intercepted from the instruction code, corresponding to the 010, 100, 101 and 110 of the second part of the operation code of step S32 above; If the instruction needs to obtain the source operand one and the read address is fixed without other decoding operations, it corresponds to 111 in the second part of the operation code in step S32 above.
对于源操作数二分四种情况:指令不需要获取源操作二,直接透传读取单元的,对应上述步骤S32操作码第二部分的000和010;指令需要获取源操作数二,且需要从指令编码中截取源寄存器的编号和地址的,对应上述步骤S32操作码第二部分的110;指令需要获取源操作数二,且所需源寄存器从指令编码中截取后并做转换的,对应上述步骤S32操作码第二部分的001,101和111;指令需要获取源操作数二,且读地址固定无需其他解码操作的,对应上述步骤S32操作码第二部分的111。The source operand is divided into four cases: the instruction does not need to obtain the source operation two, and the read unit is directly transparently transmitted, which corresponds to 000 and 010 in the second part of the operation code of step S32 above; the instruction needs to obtain the source operand two, and If the source register number and address are intercepted from the instruction code, it corresponds to 110 in the second part of the opcode in step S32 above; the instruction needs to obtain the source operand two, and the required source register is intercepted from the instruction code and converted. The 001, 101 and 111 of the second part of the operation code of step S32 above; the instruction needs to obtain the source operand two, and the read address is fixed without other decoding operations, corresponding to 111 of the second part of the operation code of step S32 above.
解码单元需要的包括三种操作方式,其中,在截取源操作的编号和地址时,部分指令的源操作数二条件寄存器需要转换成普通寄存器的操作。The decoding unit needs to include three operation modes, in which, when intercepting the number and address of the source operation, the source operand two condition register of some instructions needs to be converted into an ordinary register operation.
步骤S34,解码单元根据所述源操作数的编号和地址,在内核寄存器中获取源操作数的数据,并送给执行单元。In step S34, the decoding unit obtains the data of the source operand in the kernel register according to the number and address of the source operand, and sends it to the execution unit.
解码单元处理完成后,将获取到的源操作数的编号和地址送给读取单元,读取单元在内核寄存器中获取源操作数的数据,送给执行单元,对于其中没有源操作数的直接透传至执行单元。After the processing of the decoding unit is completed, the obtained number and address of the source operand are sent to the reading unit. The reading unit obtains the data of the source operand in the kernel register and sends it to the execution unit. Transparent transmission to the execution unit.
步骤S35,执行单元执行完成后,将处理结果存储至内核寄存器中。In step S35, after the execution of the execution unit is completed, the processing result is stored in the kernel register.
这里,执行单元根据指令功能和源操作数处理指令,处理成功后把结果重新写进内核寄存器中。Here, the execution unit processes the instruction according to the instruction function and the source operand. After the processing is successful, the result is rewritten into the kernel register.
图4为本申请实施例提供的一种网络处理器指令源操作数的处理装置的组成结构示意图,如图4所示,该装置包括:FIG. 4 is a schematic structural diagram of a device for processing an instruction source operand of a network processor according to an embodiment of the present application. As shown in FIG. 4, the device includes:
编译单元41,用于对指令间的相同字段放在指令编码中固定位置;用于对指令的类型及指令的源操作进行判断和标记,根据所述标记生成指令相应的操作码。The compiling unit 41 is used to put the same field between instructions in a fixed position in the instruction code; to judge and mark the type of the instruction and the source operation of the instruction, and generate an operation code corresponding to the instruction according to the mark.
解码单元42,用于根据所述指令的操作码判断指令是否需要获取源操作,当所述指令需要获取源操作数时,根据所述源操作数在指令编码中的固定位置,完成对各种形式的源操作数的编号和地址的获取,送给读取单元。The decoding unit 42 is used to determine whether the instruction needs to obtain the source operation according to the operation code of the instruction. When the instruction needs to obtain the source operand, according to the fixed position of the source operand in the instruction encoding, complete The number and address of the source operand in the form are obtained and sent to the reading unit.
读取单元43,用于根据所述指令的源操作数的编号和地址,在内核寄存器中获取源操作数的数据。The reading unit 43 is configured to obtain the data of the source operand in the kernel register according to the number and address of the source operand of the instruction.
执行单元44,用于根据指令功能对所述源操作数进行处理。The execution unit 44 is configured to process the source operand according to the instruction function.
输出单元45,用于将处理结果存储至内核寄存器中。The output unit 45 is used to store the processing result in the kernel register.
本申请实施例中,编译单元在将指令转换为二进制编码时,把指令间的相同字段放在指令编码中的固定位置,保证指令间的相同字段对齐编码,这样,在对该指令进行解码时,解码单元可以直接截取源操作数的编号和地址,而不用先区分各个指令类型,再到指令编码中获取源操作数,这样解码单元无需额外的判断逻辑,也无需记录各个指令中源操作数的位置,大大减少了解码单元的逻辑复杂度和节省了芯片资源。In the embodiment of the present application, when the compiler converts the instruction into binary encoding, the same field between the instructions is placed in a fixed position in the instruction encoding to ensure that the same field between the instructions is aligned and encoded, so that when decoding the instruction , The decoding unit can directly intercept the number and address of the source operand, without first distinguishing each instruction type, and then obtain the source operand in the instruction encoding, so that the decoding unit does not need additional judgment logic, nor need to record the source operand in each instruction The location of the device greatly reduces the logic complexity of the decoding unit and saves chip resources.
基于前述的实施例,本申请实施例提供一种指令数据的处理装置。该装置所包括的各单元、以及各单元所包括的各子单元,都可以通过计算机设备中的处理器来实现;当然也可通过的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。Based on the foregoing embodiments, embodiments of the present application provide an apparatus for processing instruction data. The units included in the device and the subunits included in each unit can be implemented by a processor in a computer device; of course, it can also be implemented by a logic circuit; in the implementation process, the processor may be central Processor (CPU), microprocessor (MPU), digital signal processor (DSP) or field programmable gate array (FPGA), etc.
图5为本申请实施例提供的指令数据的处理装置的组成结构示意图一,如图5所示,所述装置包括:FIG. 5 is a schematic structural diagram 1 of a structure of an instruction data processing device provided by an embodiment of the present application. As shown in FIG. 5, the device includes:
第一存储单51,配置为如果确定编译前的指令之间有相同类型的字段,编译时,将所述相同类型的字段存储至指定编码位置。The first storage list 51 is configured to, if it is determined that there are fields of the same type between instructions before compilation, during compilation, store the fields of the same type to a specified coding position.
生成单元52,配置为根据每一所述编译前的指令的类型和所述相同类型的字段的属性信息,生成对应的操作码。The generating unit 52 is configured to generate a corresponding operation code according to the type of each instruction before compilation and the attribute information of the field of the same type.
第二存储单元53,配置为将所述操作码存储至编译后的指令中。The second storage unit 53 is configured to store the operation code in the compiled instruction.
第一输出单元54,配置为输出所述编译后的指令。The first output unit 54 is configured to output the compiled instruction.
在其他的实施例中,所述生成单元,还配置为:如果确定所述相同类型的字段包括源操作数字段,确定所述源操作数字段的数量和类型;根据 每一所述编译前的指令的类型、所述源操作数字段的数量和类型,生成对应的操作码。In other embodiments, the generating unit is further configured to: if it is determined that the field of the same type includes a source operation digital field, determine the number and type of the source operation digital field; according to each The type of the instruction, the number and type of the source operation digital field, and generate the corresponding operation code.
在其他的实施例中,所述装置还包括:分类单元,配置为:根据每一编译前的指令所要执行的功能,对所述编译前的指令进行分类,得到分类结果;对应地,所述生成单元,还配置为:如果确定所述相同类型的字段包括源操作数字段,根据所述分类结果,确定所述源操作数字段的数量和类型。In other embodiments, the apparatus further includes: a classification unit configured to classify the instructions before compilation according to the function to be performed by each instruction before compilation, and obtain a classification result; correspondingly, the The generating unit is further configured to: if it is determined that the field of the same type includes a source operation digital segment, determine the number and type of the source operation digital segment according to the classification result.
在其他的实施例中,所述生成单元,还配置为:对每一所述编译前的指令的类型进行标记,生成与每一所述编译前的指令对应的第一标识码;根据所述源操作数字段的数量和类型,生成对应的第二标识码;将所述第一标识码和所述第二标识码合并,生成对应的操作码。In other embodiments, the generating unit is further configured to: mark the type of each instruction before compilation, and generate a first identification code corresponding to each instruction before compilation; according to the The number and type of source operation digital fields generate a corresponding second identification code; the first identification code and the second identification code are combined to generate a corresponding operation code.
图6为本申请实施例提供的指令数据的处理装置的组成结构示意图二,如图6所示,所述装置包括:FIG. 6 is a second schematic structural diagram of a structure of an instruction data processing device provided by an embodiment of the present application. As shown in FIG. 6, the device includes:
第一确定单元61,配置为确定编译后的指令中的操作码。The first determining unit 61 is configured to determine the operation code in the compiled instruction.
第二确定单元62,配置为根据所述操作码,确定所述指令的类型和所述指令中的字段的属性信息。The second determining unit 62 is configured to determine the type of the instruction and the attribute information of the field in the instruction according to the operation code.
第三确定单元63,配置为根据所述字段的属性信息,从所述指令中的指定编码位置确定相应类型的字段。The third determining unit 63 is configured to determine the corresponding type of field from the specified encoding position in the instruction according to the attribute information of the field.
第二输出单元64,配置为根据所述相应类型的字段获取对应的操作数,并输出所述操作数。The second output unit 64 is configured to obtain a corresponding operand according to the corresponding type of field and output the operand.
在其他的实施例中,所述第二确定单元,还配置为:如果检测出所述指令需要获取源操作数字段,解析所述需要获取源操作数字段的指令对应的操作码,得到解析结果;根据所述解析结果,确定所述指令的类型和所述源操作数字段的属性信息。In other embodiments, the second determining unit is further configured to: if it is detected that the instruction needs to obtain the source operation digital field, parse the operation code corresponding to the instruction that needs to obtain the source operation digital field to obtain the analysis result ; According to the analysis result, determine the type of the instruction and the attribute information of the source operation digital field.
在其他的实施例中,所述第三确定单元,还配置为:根据从所述操作 码中解析出的第一标识码,确定所述指令的类型;根据从所述操作码中解析出的第二标识码,确定所述源操作数字段数量和类型;根据所述源操作数字段数量和类型,从所述指令中的指定编码位置确定所述源操作数字段。In other embodiments, the third determining unit is further configured to: according to the first identification code parsed from the operation code, determine the type of the instruction; according to the parsed from the operation code The second identification code determines the number and type of the source operation digital field; according to the number and type of the source operation digital field, the source operation digital field is determined from the designated coding position in the instruction.
在其他的实施例中,所述第二输出单元,还配置为:根据所述源操作数字段,确定所述源操作数的编号和地址;根据所述源操作数的编号和地址,获取所述源操作数,并输出所述源操作数。In other embodiments, the second output unit is further configured to: determine the number and address of the source operand according to the source operand field; and obtain the number based on the number and address of the source operand Describe the source operand, and output the source operand.
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述指令数据的处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。It should be noted that, in the embodiments of the present application, if the above instruction data processing method is implemented in the form of a software function module and sold or used as an independent product, it may also be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of the embodiments of the present application can be embodied in the form of software products in essence or part of contributions to the prior art. The computer software products are stored in a storage medium and include several instructions for A computer device is allowed to perform all or part of the methods described in the embodiments of the present application. The foregoing storage media include various media that can store program codes, such as a U disk, a mobile hard disk, a read-only memory (Read Only Memory, ROM), a magnetic disk, or an optical disk. In this way, the embodiments of the present application are not limited to any specific combination of hardware and software.
对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例提供的指令数据的处理方法中的步骤。Correspondingly, an embodiment of the present application provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the steps in the method for processing instruction data provided in the foregoing embodiments are implemented.
本申请装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。The description of the device embodiments of the present application is similar to the description of the above method embodiments, and has similar beneficial effects as the method embodiments. For technical details not disclosed in the device embodiments of the present application, please refer to the description of the method embodiments of the present application for understanding.
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。It should be noted here that the above description of the storage medium and device embodiments is similar to the description of the above method embodiments, and has similar beneficial effects as the method embodiments. For technical details not disclosed in the storage medium and device embodiments of the present application, please refer to the description of the method embodiments of the present application for understanding.
需要说明的是,图7为本申请实施例提供的一种计算机设备结构示意 图,如图7所示,该计算机设备70至少包括:处理器71、通信接口72和存储器73,其中It should be noted that FIG. 7 is a schematic structural diagram of a computer device according to an embodiment of the present application. As shown in FIG. 7, the computer device 70 includes at least a processor 71, a communication interface 72, and a memory 73.
处理器71通常控制计算机设备70的总体操作。The processor 71 generally controls the overall operation of the computer device 70.
通信接口72可以使计算机设备通过网络与其他计算机设备或服务器通信。The communication interface 72 can enable the computer device to communicate with other computer devices or servers through the network.
存储器73配置为存储由处理器71可执行的指令和应用,还可以缓存待处理器71以及计算机设备70中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。The memory 73 is configured to store instructions and applications executable by the processor 71, and may also cache data to be processed or processed by the modules in the processor 71 and the computer device 70 (for example, image data, audio data, voice communication data, and Video communication data) can be achieved through flash memory (FLASH) or random access memory (Random Access Memory, RAM).
当然,本申请实施例中的装置还可有其他类似的协议交互实现案例,在不背离本申请精神及其实质的情况下,本领域的技术人员当可根据本申请实施例做出各种相应的改变和变形,但这些相应的改变和变形都应属于本申请方法所附的权利要求的保护范围。Of course, the devices in the embodiments of the present application may also have other similar protocol interaction implementation cases. Without departing from the spirit and essence of the present application, those skilled in the art may make various corresponding responses according to the embodiments of the present application Changes and deformations, but these corresponding changes and deformations shall fall within the scope of protection of the claims appended to the method of this application.
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art should understand that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may take the form of a hardware embodiment, a software embodiment, or an embodiment combining software and hardware. Moreover, the present application may take the form of a computer program product implemented on one or more computer usable storage media (including but not limited to disk storage and optical storage, etc.) containing computer usable program code.
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。This application is described with reference to flowcharts and/or block diagrams of methods, devices (systems), and computer program products according to embodiments of the application. It should be understood that each flow and/or block in the flowchart and/or block diagram and a combination of the flow and/or block in the flowchart and/or block diagram may be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, special-purpose computer, embedded processing machine, or other programmable data processing device to produce a machine that enables the generation of instructions executed by the processor of the computer or other programmable data processing device A device for realizing the functions specified in one block or multiple blocks of one flow or multiple flows of a flowchart and/or one block or multiple blocks of a block diagram.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处 理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer readable memory that can guide a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture including the instruction device, the instructions The device implements the functions specified in one block or multiple blocks in the flowchart one flow or multiple flows and/or block diagrams.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operating steps are performed on the computer or other programmable device to produce computer-implemented processing, which is executed on the computer or other programmable device The instructions provide steps for implementing the functions specified in one block or multiple blocks of the flowchart one flow or multiple flows and/or block diagrams.
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。It should be understood that “one embodiment” or “one embodiment” mentioned throughout the specification means that a specific feature, structure, or characteristic related to the embodiment is included in at least one embodiment of the present application. Therefore, “in one embodiment” or “in one embodiment” appearing throughout the specification does not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics may be combined in one or more embodiments in any suitable manner. It should be understood that in various embodiments of the present application, the size of the sequence numbers of the above processes does not mean that the execution order is sequential, and the execution order of each process should be determined by its function and inherent logic, and should not correspond to the embodiments of the present application The implementation process constitutes no limitation. The sequence numbers of the above embodiments of the present application are for description only, and do not represent the advantages and disadvantages of the embodiments.
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。It should be noted that in this article, the terms "include", "include" or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device that includes a series of elements includes not only those elements, It also includes other elements that are not explicitly listed, or include elements inherent to such processes, methods, objects, or devices. Without more restrictions, the element defined by the sentence "include one..." does not exclude that there are other identical elements in the process, method, article or device that includes the element.
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互 之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。In the several embodiments provided in this application, it should be understood that the disclosed device and method may be implemented in other ways. The device embodiments described above are only schematic. For example, the division of the modules is only a division of logical functions. In actual implementation, there may be other divisions, for example, multiple modules or components may be combined, or Can be integrated into another system, or some features can be ignored, or not implemented. In addition, the coupling or direct coupling or communication connection between the displayed or discussed components may be indirect coupling or communication connection through some interfaces, devices or modules, and may be electrical, mechanical or other forms of.
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络模块上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。The modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules; they may be located in one place or distributed to multiple network modules; Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。The above is only the implementation of this application, but the scope of protection of this application is not limited to this. Any person skilled in the art can easily think of changes or replacements within the technical scope disclosed in this application. Covered within the scope of protection of this application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
工业实用性Industrial applicability
本申请实施例提供了一种指令数据的处理方法及装置、设备、存储介质,其中,所述方法包括:如果确定编译前的指令之间有相同类型的字段,编译时,将所述相同类型的字段存储至指定编码位置;根据每一所述编译前的指令的类型和所述相同类型的字段的属性信息,生成对应的操作码;将所述操作码存储至编译后的指令中;输出所述编译后的指令。这样,将令操作码与指令的类型以及指令源操作数的数量和类型直接关联,实现据所述指令操作码完成对指令源操作数的分类获取。Embodiments of the present application provide an instruction data processing method and apparatus, device, and storage medium, where the method includes: if it is determined that there is a field of the same type between instructions before compilation, the same type is used during compilation Store the field in the specified coding position; generate the corresponding operation code according to the type of each pre-compiled instruction and the attribute information of the field of the same type; store the operation code in the compiled instruction; output The compiled instruction. In this way, the operation code is directly related to the type of the instruction and the number and type of the instruction source operand, so as to realize the classification and acquisition of the instruction source operand according to the instruction operation code.

Claims (12)

  1. 一种指令数据的处理方法,所述方法包括:An instruction data processing method, the method includes:
    如果确定编译前的指令之间有相同类型的字段,编译时,将所述相同类型的字段存储至指定编码位置;If it is determined that there are fields of the same type between the instructions before compilation, during compilation, the fields of the same type are stored to the specified coding position;
    根据每一所述编译前的指令的类型和所述相同类型的字段的属性信息,生成对应的操作码;Generate a corresponding operation code according to the type of each instruction before compilation and the attribute information of the field of the same type;
    将所述操作码存储至编译后的指令中;Store the operation code in the compiled instruction;
    输出所述编译后的指令。Output the compiled instruction.
  2. 根据权利要求1所述的方法,其中,所述根据每一所述编译前的指令的类型和所述相同类型字段的属性信息,生成对应的操作码,包括:The method according to claim 1, wherein the generating the corresponding operation code according to the type of each instruction before compilation and the attribute information of the field of the same type includes:
    如果确定所述相同类型的字段包括源操作数字段,确定所述源操作数字段的数量和类型;If it is determined that the field of the same type includes the source operation digital field, determine the number and type of the source operation digital field;
    根据每一所述编译前的指令的类型、所述源操作数字段的数量和类型,生成对应的操作码。According to the type of each pre-compiled instruction, the number and type of the source operand fields, a corresponding operation code is generated.
  3. 根据权利要求2所述的方法,其中,所述方法还包括:The method of claim 2, wherein the method further comprises:
    根据每一编译前的指令所要执行的功能,对所述编译前的指令进行分类,得到分类结果;Classify the pre-compilation instruction according to the function to be performed by each pre-compilation instruction, and obtain a classification result;
    对应地,所述如果确定所述相同类型的字段包括源操作数字段,确定所述源操作数字段的数量和类型,包括:Correspondingly, if it is determined that the field of the same type includes a source operation digital field, determining the number and type of the source operation digital field includes:
    如果确定所述相同类型的字段包括源操作数字段,根据所述分类结果,确定所述源操作数字段的数量和类型。If it is determined that the field of the same type includes the source operation digital field, the number and type of the source operation digital field are determined according to the classification result.
  4. 根据权利要求3所述的方法,其中,根据每一所述编译前的指令的类型、所述源操作数字段的数量和类型,生成对应的操作码,包括:The method according to claim 3, wherein generating a corresponding operation code according to the type of each pre-compiled instruction and the number and type of the source operand fields includes:
    对每一所述编译前的指令的类型进行标记,生成与每一所述编译前的指令对应的第一标识码;Marking the type of each instruction before compilation to generate a first identification code corresponding to each instruction before compilation;
    根据所述源操作数字段的数量和类型,生成对应的第二标识码;Generate a corresponding second identification code according to the number and type of the source operation digital field;
    将所述第一标识码和所述第二标识码合并,生成对应的操作码。Combining the first identification code and the second identification code to generate a corresponding operation code.
  5. 一种指令数据的处理方法,所述方法包括:An instruction data processing method, the method includes:
    确定编译后的指令中的操作码;Determine the opcode in the compiled instruction;
    根据所述操作码,确定所述指令的类型和所述指令中的字段的属性信息;According to the operation code, determine the type of the instruction and the attribute information of the field in the instruction;
    根据所述字段的属性信息,从所述指令中的指定编码位置确定相应类型的字段;According to the attribute information of the field, determine the corresponding type of field from the specified coding position in the instruction;
    根据所述相应类型的字段获取对应的操作数,并输出所述操作数。Obtain the corresponding operand according to the corresponding type of field, and output the operand.
  6. 根据权利要求5所述的方法,其中,所述根据所述操作码,确定所述指令的类型和所述指令中的字段的属性信息,包括:The method according to claim 5, wherein the determining the type of the instruction and the attribute information of the field in the instruction according to the operation code includes:
    如果检测出所述指令需要获取源操作数字段,解析所述需要获取源操作数字段的指令对应的操作码,得到解析结果;If it is detected that the instruction needs to obtain the source operation digital segment, parse the operation code corresponding to the instruction that needs to obtain the source operation digital segment to obtain the analysis result;
    根据所述解析结果,确定所述指令的类型和所述源操作数字段的属性信息。According to the analysis result, the type of the instruction and the attribute information of the source operation digital segment are determined.
  7. 根据权利要求6所述的方法,其中,所述根据所述字段的属性信息,从所述指令中的指定编码位置确定相应类型的字段,包括:The method according to claim 6, wherein the determining the corresponding type of field from the specified coding position in the instruction according to the attribute information of the field includes:
    根据从所述操作码中解析出的第一标识码,确定所述指令的类型;Determine the type of the instruction according to the first identification code parsed from the operation code;
    根据从所述操作码中解析出的第二标识码,确定所述源操作数字段数量和类型;Determine the number and type of the source operation digital field according to the second identification code parsed from the operation code;
    根据所述源操作数字段数量和类型,从所述指令中的指定编码位置确定所述源操作数字段。According to the number and type of the source operation digital field, the source operation digital field is determined from the designated coding position in the instruction.
  8. 根据权利要求7所述的方法,其中,所述根据所述相应类型的字段获取对应的操作数,并输出所述操作数,包括:The method according to claim 7, wherein the obtaining the corresponding operand according to the corresponding type of field and outputting the operand includes:
    根据所述源操作数字段,确定所述源操作数的编号和地址;Determine the number and address of the source operand according to the source operand field;
    根据所述源操作数的编号和地址,获取所述源操作数,并输出所述源 操作数。According to the number and address of the source operand, the source operand is obtained, and the source operand is output.
  9. 一种指令数据的处理装置,所述装置包括:An instruction data processing device, the device includes:
    第一存储单元,配置为如果确定编译前的指令之间有相同类型的字段,编译时,将所述相同类型的字段存储至指定编码位置;The first storage unit is configured to, if it is determined that there is a field of the same type between instructions before compilation, store the field of the same type to a specified coding position during compilation;
    生成单元,配置为根据每一所述编译前的指令的类型和所述相同类型的字段的属性信息,生成对应的操作码;A generating unit configured to generate a corresponding operation code according to the type of each instruction before compilation and the attribute information of the field of the same type;
    第二存储单元,配置为将所述操作码存储至编译后的指令中;A second storage unit configured to store the operation code in the compiled instruction;
    第一输出单元,配置为输出所述编译后的指令。The first output unit is configured to output the compiled instruction.
  10. 一种指令数据的处理装置,所述装置包括:An instruction data processing device, the device includes:
    第一确定单元,配置为确定编译后的指令中的操作码;The first determining unit is configured to determine the operation code in the compiled instruction;
    第二确定单元,配置为根据所述操作码,确定所述指令的类型和所述指令中的字段的属性信息;A second determining unit configured to determine the type of the instruction and the attribute information of the field in the instruction according to the operation code;
    第三确定单元,配置为根据所述字段的属性信息,从所述指令中的指定编码位置确定相应类型的字段;The third determining unit is configured to determine the corresponding type of field from the specified coding position in the instruction according to the attribute information of the field;
    第二输出单元,配置为根据所述相应类型的字段获取对应的操作数,并输出所述操作数。The second output unit is configured to obtain a corresponding operand according to the corresponding type of field and output the operand.
  11. 一种计算机设备,所述计算机设备至少包括:处理器和配置为存储可执行指令的存储介质,其中:A computer device, the computer device at least includes a processor and a storage medium configured to store executable instructions, wherein:
    处理器配置为执行存储的可执行指令,所述可执行指令配置为执行上述权利要求1至10任一项提供的指令数据的处理方法。The processor is configured to execute the stored executable instructions, and the executable instructions are configured to execute the processing method of the instruction data provided in any one of claims 1 to 10 above.
  12. 一种计算机可读存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述权利要求1至10中任一项提供的指令数据的处理方法中的步骤。A computer-readable storage medium having computer-executable instructions stored therein, the computer-executable instructions configured to perform steps in a method for processing instruction data provided in any one of claims 1 to 10 above.
PCT/CN2019/111729 2018-11-28 2019-10-17 Instruction data processing method and apparatus, and device and storage medium WO2020108158A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811436260.8 2018-11-28
CN201811436260.8A CN111240682A (en) 2018-11-28 2018-11-28 Instruction data processing method and device, equipment and storage medium

Publications (1)

Publication Number Publication Date
WO2020108158A1 true WO2020108158A1 (en) 2020-06-04

Family

ID=70854310

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/111729 WO2020108158A1 (en) 2018-11-28 2019-10-17 Instruction data processing method and apparatus, and device and storage medium

Country Status (2)

Country Link
CN (1) CN111240682A (en)
WO (1) WO2020108158A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117311727A (en) * 2023-11-27 2023-12-29 摩尔线程智能科技(北京)有限责任公司 Analysis method, analysis device, electronic equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070239975A1 (en) * 2006-04-07 2007-10-11 Lei Wang Programmable backward jump instruction prediction mechanism
CN104951401A (en) * 2014-03-28 2015-09-30 英特尔公司 Sort acceleration processor, method, system, and instruction
CN106406820A (en) * 2015-07-29 2017-02-15 深圳市中兴微电子技术有限公司 Multi-issue instruction parallel processing method and device of network processor micro engine
CN107016175A (en) * 2017-03-23 2017-08-04 中国科学院计算技术研究所 It is applicable the Automation Design method, device and the optimization method of neural network processor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819097A (en) * 1996-12-09 1998-10-06 Allen Bradley Company, Llc Industrial controller compiler with expandable instruction set
US8028153B2 (en) * 2008-08-14 2011-09-27 International Business Machines Corporation Data dependent instruction decode
CN102141903B (en) * 2011-03-22 2014-02-12 杭州中天微系统有限公司 Device for symmetrically encoding 16/32-bit mixed instruction and device for decoding 16/32-bit mixed instruction
CN104731558A (en) * 2015-01-13 2015-06-24 山东大学 Instruction set design method for embedded graphic processing unit
US20170090922A1 (en) * 2015-09-30 2017-03-30 Futurewei Technologies, Inc. Efficient Instruction Pair for Central Processing Unit (CPU) Instruction Design

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070239975A1 (en) * 2006-04-07 2007-10-11 Lei Wang Programmable backward jump instruction prediction mechanism
CN104951401A (en) * 2014-03-28 2015-09-30 英特尔公司 Sort acceleration processor, method, system, and instruction
CN106406820A (en) * 2015-07-29 2017-02-15 深圳市中兴微电子技术有限公司 Multi-issue instruction parallel processing method and device of network processor micro engine
CN107016175A (en) * 2017-03-23 2017-08-04 中国科学院计算技术研究所 It is applicable the Automation Design method, device and the optimization method of neural network processor

Also Published As

Publication number Publication date
CN111240682A (en) 2020-06-05

Similar Documents

Publication Publication Date Title
US10902013B2 (en) Method and apparatus for accelerated record layout detection
US10949442B2 (en) Method and apparatus for accelerated format translation of data in a delimited data format
US10102260B2 (en) Method and apparatus for accelerated data translation using record layout detection
US8726256B2 (en) Unrolling quantifications to control in-degree and/or out-degree of automaton
CN110912825B (en) Message forwarding method, device, equipment and system
JP2014182810A (en) Parallel apparatus for high-speed, highly compressed lz77 tokenization and huffman encoding for deflate compression
KR20140005258A (en) State grouping for element utilization
US11282413B2 (en) Secure multi-party computation method, device, apparatus and computer-readable storage medium
CN104050077A (en) Fusible instructions and logic to provide or-test and and-test functionality using multiple test sources
US11947979B2 (en) Systems and devices for accessing a state machine
US20170371811A1 (en) Systems and devices for accessing a state machine
CN115269006A (en) Machine code instruction conversion method and device, electronic equipment and readable storage medium
WO2020108158A1 (en) Instruction data processing method and apparatus, and device and storage medium
US7895347B2 (en) Compact encoding of arbitrary length binary objects
CN113176990B (en) Taint analysis framework and method supporting correlation analysis among data
CN111324645B (en) Block chain data processing method and device
US20150055868A1 (en) Character data processing method, information processing method, and information processing apparatus
US20160057452A1 (en) Methods and devices for coding and decoding depth information, and video processing and playing device
CN109542904A (en) Business data processing method, device, server and medium
US10915547B2 (en) Optimizing data conversion using pattern frequency
US20050071756A1 (en) XML to numeric conversion method, system, article of manufacture, and computer program product
US8661162B2 (en) Address handling
US12100481B2 (en) System and method of efficient coding and decoding of contact matrices
US20230106805A1 (en) System and method of efficient coding and decoding of contact matrices
WO2023109812A1 (en) Event bus monitoring method and apparatus, and device, and medium

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: 19890812

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: 19890812

Country of ref document: EP

Kind code of ref document: A1