WO2011086808A1 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
WO2011086808A1
WO2011086808A1 PCT/JP2010/072656 JP2010072656W WO2011086808A1 WO 2011086808 A1 WO2011086808 A1 WO 2011086808A1 JP 2010072656 W JP2010072656 W JP 2010072656W WO 2011086808 A1 WO2011086808 A1 WO 2011086808A1
Authority
WO
WIPO (PCT)
Prior art keywords
instruction
instruction word
information processing
combination
words
Prior art date
Application number
PCT/JP2010/072656
Other languages
English (en)
French (fr)
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 WO2011086808A1 publication Critical patent/WO2011086808A1/ja

Links

Images

Classifications

    • 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
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3853Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
    • 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
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Definitions

  • the present invention relates to an information processing apparatus, and more particularly, to a VLIW (Very Long Instruction Word) type information processing apparatus that can increase the number of instructions that can be executed simultaneously at a low cost.
  • VLIW Very Long Instruction Word
  • VLIW Very Long Instruction Word
  • a plurality of instruction words operation, load, etc.
  • VLIW very long instruction
  • the order relations and data dependency relations between instructions are analyzed, and a group of instructions that can be executed simultaneously is extracted.
  • a plurality of instructions can be executed at the same time, so overhead related to runtime such as load time is reduced, and speed performance can be improved.
  • VLIW information processing apparatus the performance of the information processing apparatus can be further improved by increasing the number of instruction words to be executed simultaneously.
  • the number of instruction words to be executed simultaneously it is necessary to increase the number of read ports of the general-purpose register file that supplies the source operand to the instruction word.
  • the number of bits and the number of entries in the general-purpose register file tend to increase due to other factors, and the additional cost increases to increase the number of read ports. This is a problem in improving the performance of the VLIW information processing apparatus.
  • the clock cycle for controlling the circuit inside the information processing apparatus is determined based on the instruction word having the longest processing time. For this reason, in a VLIW type information processing apparatus that simultaneously executes addition or bit product with a short processing time and multiplication or loading with a long processing time, the clock cycle is determined based on the processing time for multiplication or loading. However, in this case, as shown in FIG. 15, the clock cycle is too long for the addition of a short processing time or the processing of a bit product instruction word, so that useless time is consumed.
  • Patent Document 1 proposes a VLIW information processing apparatus capable of selecting a CISC (Complex Instruction Set Computer) instruction as an instruction word.
  • CISC Complex Instruction Set Computer
  • a plurality of arithmetic units driven based on a plurality of instruction words are controlled based on a single CISC instruction.
  • the information processing apparatus uses the operation result of the arithmetic unit specified by the CISC instruction as a part of the source operand of another arithmetic unit specified by the CISC instruction. For example, as shown in FIG.
  • the information processing apparatus controls two selectors (multiplexer mux in the drawing) to newly This makes it possible to execute more complicated instructions without adding a special read port. Further, the information processing apparatus enables execution of a combination of a plurality of arithmetic units so that useless time consumption as shown in FIG. 15 can be suppressed.
  • the VLIW information processing apparatus of the related technology for example, in the case of the technique of the VLIW information processing apparatus disclosed in Patent Document 1 described above, a VLIW information processing apparatus capable of selecting a CISC instruction as an instruction word is used.
  • the problem in the VLIW type information processing apparatus that operates as shown in FIG. 15 is solved.
  • the configuration of the VLIW information processing apparatus disclosed in Patent Document 1 the following problems remain.
  • the first problem is that the combination pattern of the arithmetic units is limited. That is, in the VLIW information processing apparatus disclosed in Patent Document 1, since the combination of arithmetic units is defined as a CISC instruction, no combination of arithmetic units other than that defined as a CISC instruction can be realized.
  • the second problem is that the use efficiency of the general-purpose register file read port and write port decreases. That is, in the technique of the VLIW information processing apparatus disclosed in Patent Document 1, the operation result of the arithmetic unit A specified by the CISC instruction is used as a part of the source operand of another arithmetic unit B specified by the CISC instruction. . For this reason, when the CISC instruction is executed, when the arithmetic unit B is driven by an instruction other than the CISC instruction, one of the read ports of the general-purpose register file that supplies the source operand to the arithmetic unit B is not used. .
  • the present invention has been made in view of the above problems, and is an information processing apparatus that executes a very long instruction composed of a plurality of instruction words, and in particular, realizes a combination of a plurality of instruction words at a low cost.
  • a very long instruction composed of a plurality of instruction words
  • realizes a combination of a plurality of instruction words at a low cost when combining instruction words, it is possible to effectively use the read port and write port of the register file that are not used, and to increase the number of instructions that can be executed simultaneously at a low cost. At the same time, it aims to improve speed performance.
  • an information processing apparatus includes M command words (M is an integer of 2 or more), and N command words (N is 2 or more and M or less).
  • M is an integer of 2 or more
  • N is 2 or more and M or less.
  • the processing method of the super-long instruction according to the present invention is composed of M instruction words (M is an integer of 2 or more), and from the N instruction words (N is an integer of 2 or more and M or less).
  • M is an integer of 2 or more
  • N is an integer of 2 or more and M or less.
  • a set of P instruction word groups (P is an integer equal to or greater than 1 satisfying M ⁇ P ⁇ N) and a combination instruction field that indicates whether or not to execute the instruction words in the instruction word group in combination; Are determined for each of the M instruction words, and the very long instruction is executed using the determined operands.
  • a combination of instruction words is instructed for each instruction word group composed of a plurality of instruction words.
  • free combinations of instruction words can be realized at low cost.
  • register file read ports and write ports that are not used can be used effectively. For this reason, there is an effect that increasing the number of instructions that can be executed simultaneously can be realized at low cost.
  • FIG. 1 is a block diagram illustrating an overall configuration of an information processing apparatus according to a first embodiment of the present invention. It is explanatory drawing which shows an example of the command format used with the information processing apparatus which concerns on the 1st Embodiment of this invention.
  • 3 is a block diagram showing a configuration of an input selector unit 5.
  • FIG. It is a block diagram which shows the structure of the input selector part 5a.
  • FIG. 3 is an explanatory diagram illustrating a generation rule of a control signal output from the combination control unit 3 toward the input selector unit 5 when the command format illustrated in FIG. 2 is used.
  • FIG. 3 is an explanatory diagram illustrating a generation rule of a control signal output from the combination control unit 3 toward the input selector unit 5 when the command format illustrated in FIG. 2 is used.
  • It is explanatory drawing which shows an example of the other command format used in the information processing apparatus which concerns on the 1st Embodiment of this invention.
  • FIG. 6 is an explanatory diagram illustrating a generation rule of a control signal output from the combination control unit 3 to the input selector unit 5 when another instruction format illustrated in FIG. 5 is used. It is a block diagram which shows the whole structure of the information processing apparatus which concerns on the 2nd Embodiment of this invention. It is explanatory drawing which shows an example of the command word format used in the information processing apparatus shown in FIG.
  • FIG. 4 is a block diagram showing a detailed configuration of an input selector unit 5b and an output selector unit 7.
  • FIG. 3 is a block diagram showing a detailed configuration of an input selector unit 5c and an output selector unit 7;
  • FIG. 4 is an explanatory diagram illustrating a generation rule for a control signal supplied to the input selector unit 5 by the combination control unit 3 and a generation rule for a control signal supplied to the output selector unit 7.
  • It is explanatory drawing which shows an example of the command word format which the information processing apparatus which concerns on the 3rd Embodiment of this invention uses. It is explanatory drawing which shows the expansion
  • FIG. 6 is a timing chart showing an example of delay deviation between instructions in an information processing apparatus according to a related technology.
  • FIG. 11 is a configuration diagram illustrating a configuration example of a VLIW type information processing apparatus that executes a CISC instruction in an information processing apparatus of a related technology.
  • An information processing apparatus instructs a combination of instruction words for each instruction word group including a plurality of instruction words, and realizes a free combination of instruction words at a low cost.
  • the information processing apparatus according to the embodiment of the present invention can effectively use the register file read port and the write port that are not used when combining the instruction words, and the number of instructions that can be simultaneously executed at low cost. It is configured so that it can be increased. That is, the information processing apparatus according to the embodiment of the present invention includes two instruction word groups each including three instruction words, and determines combinations of instruction words in each instruction word group based on the combination instruction field. Go and run.
  • FIG. 1 is a block diagram showing the overall configuration of the information processing apparatus according to the first embodiment of the present invention.
  • an information processing apparatus includes an instruction fetch unit 1 that fetches a program from a memory (not shown), an instruction decoder unit 2 that decodes a fetched instruction, a combination instruction field, and instructions in an instruction word group.
  • a combination control unit 3 for instructing a combination of arithmetic units, which will be described later, based on the sequence of the register, a register file unit 4 for supplying a source operand to the arithmetic unit based on an instruction of the decoded instruction, and an instruction of the combination control unit 3
  • An input selector unit 5 and an input selector unit 6 for supplying a source operand from the register file unit 4 or an operation result of an arithmetic unit in the instruction word group as a source operand of another arithmetic unit in the instruction word group;
  • For the source operand supplied by the unit 5 and the input selector unit 6 Of operations performed based on the instruction includes a register file unit 4 the operation result, and a computing unit A ⁇ F supplied to an input selector section 5 and the input selector 6.
  • the configuration of the information processing apparatus according to the embodiment of the present invention is not necessarily limited to such a configuration.
  • the information processing apparatus according to the embodiment of the present invention may have a configuration including a plurality of pipeline stages in order to improve the operating frequency.
  • the configuration from the instruction fetch unit 1 to the arithmetic units A to F is illustrated as a series of cycles. However, this may be implemented by dividing it into a plurality of pipeline stages.
  • FIG. 2 is an explanatory diagram illustrating an example of an instruction format used in the information processing apparatus according to the first embodiment of the present invention.
  • the instruction format shown in the figure is composed of two instruction word groups composed of three instruction words, and a combination instruction flag 11 for indicating a combination of instruction words in each instruction word group.
  • Each instruction word includes an operation code (opc) that specifies the type of operation to be executed, source operands (src1, src2) that specify data to be operated, and a destination operand (dst; Simply called “destination”).
  • the instruction format illustrated in FIG. 2 is an instruction format having two source operands (src1, src2) and one destination (dst).
  • command format of the information processing apparatus is not necessarily limited to this example.
  • the number of source operands and destinations may be 0 or 3, for example.
  • another field such as an immediate field
  • the order of the instruction word group and the combination instruction flag 11 in the instruction format of FIG. 2 does not necessarily have to be the order shown.
  • the instruction fetch unit 1 of the information processing apparatus shown in FIG. 1 fetches instructions in the instruction format shown in FIG.
  • the operation code (opc) of each instruction word included in the fetched instruction and the combination instruction flag 11 are sent to the combination control unit 3, and the combination control unit 3 sends the input code to the input selector unit 5 and the input selector unit 6.
  • a control signal is generated.
  • the instruction fetch unit 1 supplies an operation word opcode (opc) and a combination instruction flag 11 to the combination control unit 3.
  • the instruction decoder unit 2 may be configured to perform the same operation as described above.
  • the configuration of the input selector unit 5 and the control signal to the input selector unit 5 generated by the combination control unit 3 will be described.
  • FIG. 3A is a block diagram showing a configuration of the input selector unit 5.
  • the input selector unit 5 includes selectors (muxa to muxc) for selecting one source operand of each of the arithmetic units A to C.
  • Each selector (muxa to muxc) of the input selector unit 5 inputs the data supplied from the register file unit 4 and the operation results of the other two arithmetic units different from the arithmetic unit to which the output of each selector is connected.
  • the input data is selected based on the control signals (ca to cc) from the combination control unit 3.
  • Each selector selects the leftmost data when the control signal is 0, selects the middle data (calculation result) when the control signal is 1, and when the control signal is 2 Select the rightmost data (calculation result).
  • the configuration of the input selector unit 6 is the same as described above.
  • each selector (muxa to muxc) of the input selector unit 5 is temporarily stored in a dedicated register when an operation result of an arithmetic unit different from the arithmetic unit to which the output of each selector is connected is input. You may use the value which I did.
  • the input selector unit 5a is provided with registers 51a to 51c for storing the calculation results of the calculators A to C, and each selector (muxa to muxc) receives data from the registers 51a to 51c. And data supplied from the register file unit 4 are input, and input data is selected based on control signals (ca to cc) from the combination control unit 3 in the next cycle of instruction execution.
  • the combination control unit 3 controls the control signal (muxa to muxc) of the input selector unit 5 shown in FIG. ca to cc).
  • FIG. 4 is an explanatory diagram illustrating a rule for generating a control signal that the combination control unit 3 outputs to the input selector unit 5 when the command format illustrated in FIG. 2 is used.
  • the control signals (ca to cc) are set to 0, 0, 0, and each instruction word is executed independently.
  • the combination instruction flag is active (1) (that is, when an instruction word combination is instructed)
  • control signals (ca to cc) to the selector based on the order of the instruction words in the instruction word group.
  • FIG. 5 is an explanatory diagram showing an example of another command format used in the information processing apparatus according to the first embodiment of the present invention.
  • the other instruction format illustrated in the figure is configured to include two instruction word groups each including three instruction words.
  • Each instruction word includes a combination instruction flag 12 that indicates a combination with the immediately preceding instruction word in the instruction word group, an operation code (opc) that specifies the type of the operation to be performed, and a source operand that specifies the target data of the operation ( src1, src2) and a destination (dst) for designating a storage destination of the operation result.
  • the other instruction format illustrated in FIG. 5 shows an example of an instruction format having two source operands (src1, src2) and one destination (dst).
  • the command format of the information processing apparatus is not necessarily limited to such a configuration.
  • the number of source operands and destinations may be 0 or 3.
  • the instruction format may include another field (such as an immediate field).
  • the order of the operation code (opc), source operand (src1, src2), destination (dst), and combination instruction flag 12 in the instruction format shown in FIG. 5 does not necessarily have to be the order shown.
  • the instruction fetch unit 1 fetches instructions in other instruction formats shown in FIG. 5. Further, the opcode (opc) of each instruction word included in the fetched instruction and the combination instruction flag 12 are sent to the combination control unit 3, and the combination control unit 3 controls the input selector unit 5 and the input selector unit 6. A signal is generated.
  • the instruction fetch unit 1 supplies the operation word opcode (opc) and the combination instruction flag 12 to the combination control unit 3.
  • the instruction decoder unit 2 may perform the same operation as described above.
  • each selector uses the value stored in the dedicated register when the operation results of the other two arithmetic units different from the arithmetic unit to which the output of each selector is connected are input.
  • the points that may be used are the same as in the case of using the instruction format illustrated in FIG.
  • the combination control unit 3 uses the operation code (opc) of each instruction word in the instruction word group and the combination instruction flag 12 given to each instruction word. Based on this, control signals (ca to cc) to the selectors (muxa to muxc) in FIG. 3A are generated.
  • FIG. 6 is an explanatory diagram illustrating a rule for generating a control signal that the combination control unit 3 outputs to the input selector unit 5 when the other instruction format illustrated in FIG. 5 is used.
  • the combination instruction flag (x, y, z) is represented by setting the combination instruction flag 12 of the leftmost instruction word in the instruction word group to x, and setting the combination instruction flag 12 of the middle instruction word. This means that y is set, and the rightmost instruction word combination instruction flag 12 is set to z.
  • the control signals (ca to cc) to the selector are arranged regardless of the instruction words in the instruction word group. ) Is 0, 0, 0, and each instruction is executed independently. Further, when the value of the combination instruction flag 12 of the second and third instruction words in the instruction word group is active (1), it is the same as when the instruction word format illustrated in FIG. 4 is used. .
  • control signals (ca to cc) to the selector are generated, and instruction words are combined in the order shown in the “instruction word execution order” illustrated in FIG.
  • the notation “X ⁇ Y, Z” in the “execution order of instruction words” illustrated in FIG. 6 indicates that the execution result of the instruction word X is input to the instruction word Y, and the instruction word Z is executed independently.
  • the combination of the instruction words in the instruction word group is not provided without providing a field for instructing the combination order of the instruction words in the instruction word group. It is possible to indicate the order. Therefore, there is an effect that the bit width of the instruction code can be prevented from increasing.
  • the information processing apparatus has two instruction word groups composed of three instruction words, and performs combination execution of the instruction words in each instruction word group based on the combination instruction field. Also, two other instruction words not included in the instruction word group can be executed.
  • FIG. 7 is a block diagram showing an overall configuration of an information processing apparatus according to the second embodiment of the present invention. Here, the same components as those of the overall configuration of the information processing apparatus according to the first embodiment of the present invention shown in FIG. As shown in the figure, the information processing apparatus according to the present embodiment executes two other instruction words that are not included in the two instruction word groups in addition to the configuration of the information processing apparatus shown in FIG.
  • the number of instruction words constituting the instruction word group is three, the number of instruction word groups is two, and the number of instruction words not included in the instruction word group is two.
  • the information processing apparatus according to the embodiment of the present invention is generally not necessarily limited to such a configuration.
  • a configuration including a plurality of pipeline stages may be used in order to improve the operating frequency.
  • FIG. 7 illustrates a configuration in which a series of cycles from the instruction fetch unit 1 to the output selector unit is used. However, it may be implemented by dividing this into a plurality of pipeline stages.
  • FIG. 8 is an explanatory diagram showing an example of an instruction word format used in the information processing apparatus shown in FIG.
  • the instruction word format shown in the figure includes two instruction word groups consisting of three instruction words, two instruction words not included in the instruction word group (instruction words X and Y), and instruction words in each instruction word group. And a combination instruction flag 13 for instructing the combination.
  • Each instruction word includes an operation code (opc) that specifies the type of operation to be executed, source operands (src1, src2) that specify operation target data, and a destination (dst) that specifies the storage destination of the operation result. Composed.
  • FIG. 8 shows an example of an instruction word format having two source operands (src1, src2) and one destination (dst).
  • the information processing apparatus is not necessarily limited to such an instruction word format.
  • the number of source operands and destinations may be 0 or 3, for example.
  • this command format may include other fields (immediate fields, etc.).
  • the instruction fetch unit 1 fetches an instruction in the instruction word format shown in FIG.
  • the operation code (opc) of each instruction word included in the fetched instruction and the combination instruction flag 13 are sent to the combination control unit 3, and the combination control unit 3 includes an input selector unit 5b, an input selector unit 6b, and an output. Control signals to be output to the selector unit 7 and the output selector unit 8 are generated.
  • the instruction fetch unit 1 supplies the operation word opcode (opc) and the combination instruction flag 13 to the combination control unit 3.
  • the instruction decoder unit 2 may perform the same operation as described above.
  • configurations of the input selector unit 5b and the output selector unit 7, and control signals to the input selector unit 5b and the output selector unit 7 generated by the combination control unit 3 will be described.
  • FIG. 9A is a block diagram showing a detailed configuration of the input selector unit 5 b and the output selector unit 7.
  • the input selector unit 5b shown in the figure has a configuration obtained by extending the input selector unit 5 shown in FIG. 3A. Specifically, two additional selectors (muxx0, muxx1) are added to the input selector unit 5 shown in FIG. 3A described above.
  • the additional selector receives the source operand supplied to the selectors (muxa to muxc) of the arithmetic units A to C, and selects input data based on the control signals (cx0 to cx1) from the combination control unit 3.
  • the added selector selects the leftmost data when the control signal is 0, selects the middle data when the control signal is 1, and selects one when the control signal is 2. Select the rightmost data.
  • the input selector unit 6b has the same configuration as described above.
  • the added selectors use the values stored in the dedicated registers when the source operands supplied to the selectors (muxa to muxc) corresponding to the arithmetic units A to C are input. It doesn't matter.
  • registers 52a to 52c for storing source operands supplied to selectors (muxa to muxc) corresponding to the arithmetic units A to C are provided in the input selector unit 5c.
  • the additional selectors (muxx0, muxx1) select data from those registers based on the control signals (cx0, cx1) from the combination control unit 3 in the next cycle of instruction execution.
  • the combination control unit 3 controls the control signals (ca to cc) to the selectors (muxa to muxc) shown in FIG.
  • a control signal (cx0, cx1) to the added selector (muxx0, muxx1) is generated.
  • FIG. 10 is an explanatory diagram showing a generation rule for a control signal supplied to the input selector unit 5 b by the combination control unit 3 and a generation rule for a control signal supplied to the output selector unit 7.
  • the control signals (ca to cc) to the selector are 0, 0, 0 regardless of the order of the instruction words in the instruction word group. Further, the control signals (cx0, cx1) to the additional selector are “Don't care”.
  • a control signal (ca to cc) to the selector is generated based on the sequence of the instruction words in the instruction word group,
  • the instruction words are combined in the order shown in “Word Execution Order”.
  • the notation of “X ⁇ Y ⁇ Z” in “instruction word execution order” means that the execution result of the instruction word X is the input of the instruction word Y and the execution result of the instruction word Y is the input of the instruction word Z.
  • the generation of the control signal to the input selector unit 6b is performed in the same manner as described above.
  • the output selector section 7 shown in FIG. 9A selects between the calculation results of the calculators A and B and the calculation result of the calculator X, and supplies the selected calculation results to the register file section 4. To do.
  • the output selector unit 7 selects input data (calculation result) based on the control signals (cx2, cx3) from the combination control unit 3.
  • the output selector unit 7 selects the left data when the control signal is 0, and selects the right data when the control signal is 1.
  • the configuration of the output selector unit 8 is the same as described above. In FIG.
  • the output selector unit 7 and the output selector unit 8 are configured to select from the calculation results of the calculator A and the calculator B and the calculation result of the calculator X.
  • the configuration may be such that selection is made from the calculation results of the calculators B and C and the calculation results of the calculator X.
  • control signals (cx2, cx3) to the output selector unit 7 are 0, 0 regardless of the order of instructions in the instruction word group.
  • control signals (cx2 to cx3) to the output selector unit 7 are generated based on the sequence of the instruction words in the instruction word group.
  • the operation result of the arithmetic unit that is no longer required to supply the operation result to the register file unit 4 and the operation result of the arithmetic unit X are input to the output selector unit 7.
  • the calculation result of the calculator X is selected.
  • the calculation result of the calculator X can be supplied to the register file unit 4.
  • the generation of the control signal to the output selector unit 8 is the same as described above.
  • the read port and the write port of the register file unit 4 that are not used in the operation in the instruction word group are not included in the instruction word group. Can be used in word operations. Accordingly, there is an effect that execution of a new instruction word can be added without adding a read port and a write port for a new register file.
  • FIG. 11 is an explanatory diagram illustrating an example of an instruction word format used by the information processing apparatus according to the third embodiment of the present invention.
  • the instruction word format shown in the figure includes two instruction word groups consisting of three instruction words, two instruction words not included in the instruction word group (instruction words X and Y), and instruction words in each instruction word group. And a combination instruction flag 14 for instructing the combination.
  • the instruction words included in the instruction word group include an operation code (opc) that specifies the type of operation to be executed, source operands (src1, src2) that specify operation target data, and a destination ( dst).
  • instruction words X and Y which are instruction words not included in the above instruction word group are composed only of opcodes (opc-X and opc-Y) for specifying the type of operation to be executed.
  • the instruction word shown in FIG. 11 shows an example of an instruction word format having two source operands (src1, src2) and one destination (dst).
  • the number of source operands and destinations may be 0 or 3, for example.
  • another field such as an immediate field
  • the order of the instruction word group, the combination instruction flag, and the two instruction words not included in the instruction word group in the instruction word format shown in FIG. 11 is not necessarily limited to the above.
  • the detailed configuration of the input selector unit 5b and the output selector unit 7 in the information processing apparatus using the instruction word shown in FIG. 11 is the same as the input selector unit 5b of the information processing apparatus (FIG. 7) according to the second embodiment described above.
  • the detailed configuration of the output selector unit 7 (see FIG. 9A) is the same.
  • the rules indicating the method of generating the control signal to the input selector unit 5b and the output selector unit 7 generated by the combination control unit 3 the method of generating the control signal of the information processing apparatus according to the second embodiment described above is also used. Since it is the same as the rule shown (FIG. 10), the description is omitted here.
  • instruction words (instruction words X, Y) not included in the instruction word group only when the combination instruction flag 14 (FIG. 11) is active (1). Will be executed.
  • the combination instruction flag 14 when the combination instruction flag 14 is active (1), an instruction field that is not used is generated in the instruction words in the instruction word group for combining the instruction words.
  • FIG. 12 is an explanatory diagram showing a method for expanding the instruction field of the instruction word in the instruction word format shown in FIG.
  • FIG. 12 as a result of executing a combination of instruction words in the instruction fields of the instruction words in the instruction word group 1, for example, four instruction fields should not be used. become. Therefore, these four instruction fields are used as instruction fields for instruction words (instruction words X, Y) not included in the instruction word group.
  • instruction word group 1 two instruction fields (src1-B, src1-C) that are not used as source operands are replaced with two instruction words (instruction word X) not included in the instruction word group 1. Used as an instruction field (src1-X, src2-X) indicating a source operand.
  • one of the two instruction fields (dst-A, dst-B) that are not used as a destination is assigned the destination of an instruction word (instruction word X) not included in the instruction word group 1. This is used as an instruction field (dst-X) shown.
  • instruction word group 1 two instruction fields (src1-B, src1-C) that are not used as source operands are replaced with two sources of instruction words (instruction word Y) not included in instruction word group 1. It is used as an instruction field (src1-Y, src2-Y) indicating an operand.
  • the other of the two instruction fields (dst-A, dst-B) that are not used as the destination is used as the destination of the instruction word (instruction word Y) not included in the instruction word group 1. This is used as an instruction field (dst-Y) shown.
  • two instruction fields (src1-B, src1, c) that are not used as source operands are converted into two sources of instruction words (instruction word X) not included in instruction word group 1.
  • An instruction field (src1-X, src2-X) indicating an operand and one of two instruction fields (dst-A, dst-B) not used as a destination is an instruction word (instruction that is not included in the instruction word group 1 It is used as an instruction field (dst-X) indicating the destination of the word X).
  • an instruction field (dst-X) indicating the destination of the word X).
  • the method of using an unused instruction field is not limited to this.
  • instruction fields (src1-B, src1-C) that are not used as source operands may be used as destinations for instruction words (instruction word X) not included in the instruction word group 1.
  • instruction fields (dst-A, dst-B) that are not used as destinations may be used as source operands for instruction words (instruction word X) not included in the instruction word group 1.
  • the instruction operand (instruction word X) not included in the instruction word group 1 was not used as an instruction field indicating the source operand and the destination.
  • One instruction field can be used to further expand the function of the instruction word X.
  • an instruction field that is not used in the instruction words in the instruction word group is represented as an instruction field that is not included in the instruction word group. Can be used as Therefore, there is an effect that execution of a new instruction word can be added without adding a new instruction field.
  • FIG. 13 is an explanatory diagram illustrating an example of an instruction word format used by the information processing apparatus according to the fourth embodiment of the present invention.
  • a part of the operation code of the instruction word (instruction word X, Y) not included in the instruction word group is provided as a combination instruction flag 15 that indicates a combination of instruction words in the instruction word group. It is done.
  • FIG. 14 is an explanatory diagram showing a method of assigning the operation code of the instruction word in the instruction word format shown in FIG.
  • MSB most significant bit
  • Opcode operation code
  • Instruction types are assigned so that the most significant bit is 0 for the operation codes of the instruction words included in the instruction word group.
  • instruction types are assigned so that the most significant bit is 1 for the operation codes of instruction words not included in the instruction word group.
  • instruction words that are not included in the instruction word group can be executed only when instruction words in the instruction word group are combined.
  • the combination of instruction words and the execution of instruction words that are not included in the instruction word group need to be realized at the same time, so that the fields expressing them can be shared.
  • the combination instruction flag 15 and a field indicating execution of an instruction word not included in the instruction word group can be shared.
  • the combination instruction flag 15 is shared with the most significant bit of the operation code.
  • the object to be shared with the combination instruction flag 15 may be the least significant bit of the operation code or an intermediate bit of the operation code.
  • the instruction word combination instruction flag 15 and the opcode field indicating the execution of the instruction word not included in the instruction word group can be shared.
  • the present invention has been described with reference to the embodiments.
  • the information processing apparatus according to the present invention is not limited to the above-described embodiments, and the configuration and details of the present invention include the technology of the present invention.
  • Various other embodiments that can be understood by those skilled in the art can be taken as long as they fall within the scope.
  • an instruction word combination is instructed for each instruction word group including a plurality of instruction words.
  • free combinations of instruction words can be realized at low cost.
  • a register file read port and write port that are not used can be effectively used. As a result, the number of instructions that can be executed simultaneously can be increased at low cost.
  • the present invention is applicable to the construction of a VLIW (Very Long Instruction Word) type information processing apparatus, and in particular, information of a VLIW (Very Long Instruction Word) type that can increase the number of instructions that can be executed simultaneously at a low cost. It is suitable for construction of a processing apparatus.
  • VLIW Very Long Instruction Word

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

 複数の命令語で構成される超長命令を実行する情報処理装置において、同時実行可能な命令数を低コストで増やすことができるようにすること。情報処理装置は、M個の命令語(Mは、2以上の整数)から構成され、N個の命令語(Nは、2以上M以下の整数)から構成されるP個の命令語グループ(Pは、M≧P×Nを満たす1以上の整数)と、命令語グループ内の命令語を組み合わせて実行するかどうかを指示する組合せ指示フィールドとを含む超長命令に基づいて、M個の命令語の実行に使用されるオペランドをそれぞれ決定する制御手段と、制御手段が決定したオペランドを使用して超長命令を実行する実行手段とを備える。

Description

情報処理装置
 本発明は情報処理装置に係り、特に、同時実行可能な命令数を低コストで増やすことができるVLIW(Very Long Instruction Word)タイプの情報処理装置に関する。
 近年、IT(Information Technology)技術の進展に伴い、コンピュータが処理するデータ量は増加の一途にある。これらのデータを高速に処理するため、様々なタイプの情報処理装置が提案されている。例えば、VLIW(Very Long Instruction Word)タイプの情報処理装置では、複数の命令語(演算、ロードなど)を1つの超長命令(VLIW)にパックし、これら命令語を同時に実行する。プログラムのコンパイル時に、命令間の順序関係やデータ依存関係を解析し、同時実行可能な命令群を抽出している。これにより、複数の命令を同時に実行することができるので、ロード時間等のランタイムに関するオーバーヘッドが縮小されて、速度性能の向上が可能となる。
 当然ながら、VLIWタイプの情報処理装置(以下、「VLIW情報処理装置」と称する)では、同時実行する命令語の個数を増やせば、該情報処理装置の性能を一層向上させることができる。しかし、同時実行する命令語数を増やすには、命令語へソースオペランドを供給する汎用レジスタファイルの読み出しポート数を、その分増やす必要がある。近年では、この汎用レジスタファイルのビット数やエントリ数は、他の要因からも、より増加する傾向にあるため、更に読み出しポートを増やすためには、その追加コストが大きくなる。このことが、VLIW情報処理装置の性能を向上させる上での課題となっている。
 また、VLIWタイプの情報処理装置では、同時実行する命令語毎の処理時間が不均一であるという事実も存在し、このような不利な条件を解決することも課題の1つとなっている。
 なお、VLIWタイプの情報処理装置では、情報処理装置内部の回路を制御するクロック周期は、最も処理時間の長い命令語に基づいて決定される。このため、処理時間の短い加算やビット積と、処理時間の長い乗算やロードを同時実行するVLIWタイプの情報処理装置では、乗算やロードの処理時間に基づきクロック周期が決定されている。しかし、これでは、図15に示すように、処理時間の短い加算やビット積の命令語の処理にとっては、クロック周期が長過ぎるため、無駄な時間が費やされることになる。
 このような課題を解決するため、例えば、特許文献1では、命令語として、CISC(Complex Instruction Set Computer)命令の選択が可能なVLIW情報処理装置が提案されている。この情報処理装置では、複数の命令語に基づき駆動される複数の演算器を、単一のCISC命令に基づき制御する。そして、CISC命令を実行する場合には、上記情報処理装置は、CISC命令が指定する演算器の演算結果を、CISC命令が指定する他の演算器のソースオペランドの一部として利用する。例えば、図16に示すように、命令語AがCISC命令である場合には、上記情報処理装置は、2つのセレクタ(図中のマルチプレクサmux)を制御して、汎用レジスタファイルに対して、新たな読み出しポートを追加することなく、より複雑な命令の実行を可能にしている。また、上記情報処理装置は、複数の演算器を組み合わせた実行を可能にして、図15に示すような、無駄な時間の消費を抑えることができるようにしている。
日本特表2007-519052号公報
 ところで、関連する技術の情報処理装置では、例えば、前述の特許文献1に開示されているVLIW情報処理装置の技術の場合、命令語として、CISC命令を選択可能なVLIW情報処理装置を用いて、図15に示したように動作するVLIWタイプの情報処理装置における課題を解決している。
 しかしなから、この特許文献1に開示されているVLIW情報処理装置の構成では、以下で述べるような問題点が残されている。
 第1の問題点は、演算器の組合せパターンが限定されることである。即ち、特許文献1に開示されているVLIW情報処理装置では、演算器の組合せをCISC命令として定義するため、CISC命令として定義した以外の演算器の組合せを実現することができない。
 また、この問題点を解消するため、予め、演算器の多数の組合せをCISC命令として実装しておくことも可能ではある。しかし、その場合は、演算器の多数の組合せを表現するための大きな命令フィールドが必要となる。例えば、10種類の演算器のうち、2種類の演算器を組み合わせるパターン数は90有り、それらのパターンを表現するだけでも7bitのフィールドが必要となる。組み込み分野ではメモリのコストが高く、容量及びアクセスバンド幅とも限られてしまう。このため、命令コードのビット幅が大きく増えることは、特許文献1に開示されているVLIW情報処理装置の技術を実施する上で、組み込み分野においての障害となる可能性が有る。
 第2の問題点は、汎用レジスタファイルの読み出しポートと書き込みポートの利用効率が低下することである。即ち、特許文献1に開示されているVLIW情報処理装置の技術では、CISC命令が指定する演算器Aの演算結果を、CISC命令が指定する他の演算器Bのソースオペランドの一部として利用する。このため、CISC命令を実行する際、演算器BがCISC命令以外の命令で駆動される場合に演算器Bへソースオペランドを供給していた汎用レジスタファイルの読み出しポートの1つが利用されないことになる。同様に、CISC命令を実行する際、演算器AがCISC命令以外の命令で駆動される場合に演算器Aの演算結果を書き戻していた汎用レジスタファイルの書き込みポートの1つが利用されないことになる。
 本発明は、上記問題点に鑑みてなされたものであって、複数の命令語から構成される超長命令を実行する情報処理装置で、特に、複数の命令語の組合せを低コストに実現すると共に、命令語の組合せを行う際に、利用されないレジスタファイルの読み出しポート及び書き込みポートを有効利用することを可能にして、同時実行が可能な命令の数を低コストで増やすことができるようにすると共に、速度性能を向上させることを目的としている。
 上記課題を解決するために、本発明に係る情報処理装置は、M個の命令語(Mは、2以上の整数)から構成され、N個の前記命令語(Nは、2以上M以下の整数)から構成されるP個の命令語グループ(Pは、M≧P×Nを満たす1以上の整数)と、前記命令語グループ内の前記命令語を組み合わせて実行するかどうかを指示する組合せ指示フィールドとを含む超長命令に基づいて、前記M個の命令語の実行にそれぞれ使用されるオペランドを決定する制御手段と、前記制御手段が決定した前記オペランドを使用して前記超長命令を実行する実行手段とを具備している。
 また、本発明に係る超長命令の処理方法は、M個の命令語(Mは、2以上の整数)から構成され、N個の前記命令語(Nは、2以上M以下の整数)から構成されるP個の命令語グループ(Pは、M≧P×Nを満たす1以上の整数)と、前記命令語グループ内の前記命令語を組み合わせて実行するかどうかを指示する組合せ指示フィールドとを含む超長命令に基づいて、前記M個の命令語の実行にそれぞれ使用されるオペランドを決定し、決定した前記オペランドを使用して前記超長命令を実行する。
 以上説明したように、本発明の情報処理装置では、複数の命令語から構成される命令語グループ毎に、命令語の組合せを指示する。その結果、命令語の自由な組合せを、低コストに実現できる。また、命令語の組合せを行う際に、利用されないレジスタファイルの読み出しポート及び書き込みポートを有効使用することができる。このため、同時実行可能な命令数を増やすことを低コストで実現することができる効果が有る。
本発明の第1の実施形態に係る情報処理装置の全体構成を示すブロック図である。 本発明の第1の実施形態に係る情報処理装置で用いられる命令形式の1例を示す説明図である。 入力セレクタ部5の構成を示すブロック図である。 入力セレクタ部5aの構成を示すブロック図である。 図2に例示する命令形式を使用する場合に、組合せ制御部3が、入力セレクタ部5に向けて出力する制御信号の生成ルールを示す説明図である。 本発明の第1の実施形態に係る情報処理装置において用いられる他の命令形式の1例を示す説明図である。 図5に例示する他の命令形式を使用する場合に、組合せ制御部3が、入力セレクタ部5に向けて出力する制御信号の生成ルールを示す説明図である。 本発明の第2の実施形態に係る情報処理装置の全体構成を示すブロック図である。 図7に示す情報処理装置において用いられる命令語形式の1例を示す説明図である。 入力セレクタ部5bと出力セレクタ部7の詳細構成を示すブロック図である。 入力セレクタ部5cと出力セレクタ部7の詳細構成を示すブロック図である。 組合せ制御部3が、入力セレクタ部5へ供給する制御信号の生成ルールと、出力セレクタ部7へ供給する制御信号の生成ルールとを示す説明図である。 本発明の第3の実施形態に係る情報処理装置が使用する命令語形式の1例を示す説明図である。 図11に示す命令語形式の命令語の命令フィールドの展開方法を示す説明図である。 本発明の第4の実施形態に係る情報処理装置が使用する命令語形式の1例を示す説明図である。 図13に示す命令語形式の命令語のオペコードの割り当て方法を示す説明図である。 関連する技術の情報処理装置において、命令間での遅延の偏りの1例を示すタイミングチャートである。 関連する技術の情報処理装置において、CISC命令を実行するVLIWタイプの情報処理装置の1構成例を示す構成図である。
 本発明の実施形態に係る情報処理装置は、複数の命令語から構成される命令語グループ毎に、命令語の組合せを指示して、命令語の自由な組合せを、低コストに実現する。
 また、本発明の実施形態に係る情報処理装置は、命令語の組合せを行う際に、利用されないレジスタファイルの読み出しポート及び書き込みポートを有効利用して、低コストに、同時実行が可能な命令数を増やすことができるように構成する。
 即ち、本発明の実施形態に係る情報処理装置は、3つの命令語から構成される2つの命令語グループを備えて、組合せ指示フィールドに基づいて各々の命令語グループ内での命令語の組合せを行って実行する。
 以下、本発明の情報処理装置の実施形態について、第1の実施形態~第4の実施形態の順に、図面を参照して詳細に説明する。
〔第1の実施形態〕
 図1は、本発明の第1の実施形態に係る情報処理装置の全体構成を示すブロック図である。
 同図において、本実施形態の情報処理装置は、図示しないメモリからプログラムをフェッチする命令フェッチ部1と、フェッチされた命令をデコードする命令デコーダ部2と、組合せ指示フィールドと命令語グループ内の命令の並びに基づいて後述する演算器の組合せを指示する組合せ制御部3と、デコードされた命令の指示に基づいて演算器へソースオペランドを供給するレジスタファイル部4と、組合せ制御部3の指示に基づいてレジスタファイル部4からのソースオペランド若しくは命令語グループ内の演算器の演算結果を、命令語グループ内の他の演算器のソースオペランドとして供給する入力セレクタ部5及び入力セレクタ部6と、入力セレクタ部5及び入力セレクタ部6が供給するソースオペランドに対して、デコードされた命令の指示に基づく演算を実施し、該演算結果をレジスタファイル部4と、入力セレクタ部5及び入力セレクタ部6へ供給する演算器A~Fと、を備える。
 上記の構成では、命令語グループを構成する命令語の数を3つとし、命令語グループの数を2つとしている。しかし、本発明の実施形態に係る情報処理装置の構成は、必ずしも、このような構成に限るものではない。
 また、近年の情報処理装置と同様に、動作周波数の向上を実現するために、本発明の実施形態に係る情報処理装置は、複数のパイプラインステージから成る構成であっても構わない。
 さらに、図1に示す構成では、命令フェッチ部1から演算器A~Fまでの構成を、一連のサイクルとして図示している。しかし、これを複数のパイプラインステージに分割した実装としても構わない。
 図2は、本発明の第1の実施形態に係る情報処理装置で用いられる命令形式の1例を示す説明図である。
 同図に示す命令形式は、3つの命令語からなる2つの命令語グループと、各命令語グループ内の命令語の組合せを指示する組合せ指示フラグ11とから構成される。各命令語は、実行する演算の種類を指定するオペコード(opc)と、演算の対象データを指定するソースオペランド(src1,src2)と、演算結果の保存先を指定するデスティネーションオペランド(dst;以下、単に「デスティネーション」と呼ぶ)とから構成される。
 なお、図2に例示する命令形式は、2個のソースオペランド(src1,src2)と、1個のデスティネーション(dst)とを有する命令形式とした。しかし、本発明の実施形態に係る情報処理装置の命令形式は、必ずしもこの例に限るものではない。
 ソースオペランドやデスティネーションの数は、例えば0個や3個であっても構わない。また、命令形式に、別のフィールド(即値のフィールドなど)を含めても構わない。さらには、図2の命令形式内における、命令語グループと組合せ指示フラグ11の順序は、必ずしも図示した順序でなくても構わない。
 以下、本実施形態の情報処理装置が有する各構成要素について説明する。
 図1に示す情報処理装置の命令フェッチ部1は、図2に示す命令形式の命令をフェッチする。このフェッチされた命令に含まれる各命令語のオペコード(opc)と、組合せ指示フラグ11とは、組合せ制御部3に送られ、この組合せ制御部3において入力セレクタ部5及び入力セレクタ部6への制御信号が生成される。
 なお、図1に示す構成では、組合せ制御部3に向けた命令語のオペコード(opc)及び組合せ指示フラグ11の供給を、命令フェッチ部1が行っている。しかし、命令デコーダ部2が上記と同様の動作を行うように構成しても構わない。
 以下、入力セレクタ部5の構成と、組合せ制御部3が生成する入力セレクタ部5への制御信号とについて説明する。
 図3Aは、入力セレクタ部5の構成を示すブロック図である。
 同図に示すように、入力セレクタ部5は、演算器A~Cの各々の一方のソースオペランドを選択するためのセレクタ(muxa~muxc)から構成される。入力セレクタ部5の各セレクタ(muxa~muxc)は、レジスタファイル部4から供給されるデータと、各セレクタの出力が接続された演算器とは異なる、他の2つの演算器の演算結果を入力とし、組合せ制御部3からの制御信号(ca~cc)に基づいて入力データの選択を行う。各セレクタは、制御信号が0である場合に、一番左側のデータを選択し、制御信号が1である場合に、真ん中のデータ(演算結果)を選択し、制御信号が2である場合に、一番右側のデータ(演算結果)を選択する。
 なお、入力セレクタ部6の構成も上記と同様である。
 また、入力セレクタ部5の各セレクタ(muxa~muxc)は、前述の、各セレクタの出力が接続された演算器とは異なる演算器の演算結果を入力とする際に、一旦専用のレジスタに格納した値を用いても構わない。図3Bに示すように、入力セレクタ部5aには、演算器A~Cの演算結果を格納するレジスタ51a~51cを設け、各セレクタ(muxa~muxc)は、それらのレジスタ51a~51cからのデータと、レジスタファイル部4から供給されるデータとを入力として、命令実行の次のサイクルにおいて、組合せ制御部3からの制御信号(ca~cc)に基づいて入力データの選択を行う。
 組合せ制御部3は、命令語グループ内の各命令語のオペコード(opc)と、組合せ指示フラグ11とを基に、図3Aに示す入力セレクタ部5のセレクタ(muxa~muxc)への制御信号(ca~cc)を生成する。
 図4は、図2に例示する命令形式を使用する場合に、組合せ制御部3が、入力セレクタ部5に向けて出力する制御信号の生成ルールを示す説明図である。
 同図に示すように、組合せ指示フラグが非アクティブ(0)である場合(つまり、命令語の組み合わせを指示しない場合)には、命令語グループ内での命令語の並びに関わらず、セレクタへの制御信号(ca~cc)は0,0,0とし、各命令語を独立に実行する。一方、組合せ指示フラグがアクティブ(1)である場合(つまり、命令語の組み合わせを指示する場合)には、命令語グループ内での命令語の並びに基づいてセレクタへの制御信号(ca~cc)を生成し、図4の「命令語の実行順序」に示す順序で、命令語の組み合わせを行う。但し、「命令語の実行順序」における「X→Y→Z」の表記は、命令語Xの実行結果を命令語Yの入力とし、命令語Yの実行結果を命令語Zの入力とすることを意味する。
 なお、入力セレクタ部6への制御信号の生成も上記と同様にして行われる。
 図5は、本発明の第1の実施形態に係る情報処理装置において用いられる他の命令形式の1例を示す説明図である。
 同図に例示する他の命令形式は、各々3つの命令語から成る2つの命令語グループを備えて構成される。各命令語は、命令語グループ内の直前の命令語との組合せを指示する組合せ指示フラグ12と、実行する演算の種類を指定するオペコード(opc)と、演算の対象データを指定するソースオペランド(src1,src2)と、演算結果の保存先を指定するデスティネーション(dst)とを備えて構成される。
 図5に例示する他の命令形式では、2個のソースオペランド(src1,src2)と、1個のデスティネーション(dst)とを有する命令形式の1例を示した。しかし、本発明の実施形態に係る情報処理装置の命令形式は、必ずしもこのような構成に限るものではない。例えば、ソースオペランドやデスティネーションの数は、0個や3個であっても構わない。また、命令形式に、別のフィールド(即値のフィールドなど)を備える構成としても構わない。さらに、図5に示す命令形式でのオペコード(opc)とソースオペランド(src1,src2)とデスティネーション(dst)と組合せ指示フラグ12の順序は、必ずしも図示した順序でなくても構わない。
 図1に示す情報処理装置では、前述のとおり、図5に示す他の命令形式の命令を、命令フェッチ部1がフェッチする。また、フェッチされた命令に含まれる各命令語のオペコード(opc)と組合せ指示フラグ12は、組合せ制御部3に送られ、組合せ制御部3において、入力セレクタ部5及び入力セレクタ部6への制御信号が生成される。図1に示す構成では、組合せ制御部3に向けた、命令語のオペコード(opc)及び組合せ指示フラグ12の供給を、命令フェッチ部1が行う構成としている。しかし、命令デコーダ部2が上記と同様の動作をしても構わない。
 以下、図5に例示する他の命令形式を使用する場合において、入力セレクタ部5の構成と、組合せ制御部3が生成する入力セレクタ部5への制御信号について説明する。
 図5に例示する他の命令形式を使用する場合、図3Aに示す入力セレクタ部5の構成は、図2に例示する命令形式を使用する場合の構成と同様である。また、各セレクタ(muxa~muxc)は、各セレクタの出力が接続された演算器とは異なる、他の2つの演算器の演算結果を入力とする際に、一旦専用のレジスタに格納した値を用いても構わない点も、図2に例示する命令形式を使用する場合と同様である。
 但し、図5に例示する他の命令形式を使用する場合、組合せ制御部3は、命令語グループ内の各命令語のオペコード(opc)と、各命令語に付与された組合せ指示フラグ12とを基にして、図3Aのセレクタ(muxa~muxc)への制御信号(ca~cc)を生成する。
 図6は、図5に例示する他の命令形式を使用する場合に、組合せ制御部3が、入力セレクタ部5に向けて出力する制御信号の生成ルールを示す説明図である。
 同図において、組合せ指示フラグ(x,y,z)の表記は、命令語グループ内における一番左側の命令語の組合せ指示フラグ12をxに設定し、真ん中の命令語の組合せ指示フラグ12をyに設定し、一番右側の命令語の組合せ指示フラグ12をzに設定することを意味する。
 命令語グループ内の各命令語の組合せ指示フラグ12の値が全て非アクティブ(0)である場合には、命令語グループ内での命令語の並びに関わらず、セレクタへの制御信号(ca~cc)は0,0,0とし、各命令を独立に実行する。
 また、命令語グループ内で、2番目及び3番目の命令語の組合せ指示フラグ12の値がアクティブ(1)である場合には、図4に例示する命令語形式を使用する場合と同様となる。
 一方、命令語グループ内で、2番目及び3番目の命令語の組合せ指示フラグ12の一方の値がアクティブ(1)である場合には、図6に例示するように、命令語の並びに基づいてセレクタへの制御信号(ca~cc)を生成し、図6に例示する「命令語の実行順序」に示す順序で、命令語の組み合わせを行う。但し、図6に例示する「命令語の実行順序」における「X→Y、Z」の表記は、命令語Xの実行結果を命令語Yの入力とし、命令語Zは独立に実行することを意味する。
 この実施形態では、命令語グループ内の命令語を組み合わせて実行する際に、命令語グループ内での命令語の組合せ順序を指示するフィールドを設けることなく、命令語グループ内での命令語の組合せ順序を指示することが可能となる。したがって、命令コードのビット幅が大きくなることを防ぐことができる効果が有る。
〔第2の実施形態〕
 本実施形態に係る情報処理装置は、3つの命令語から構成される2つの命令語グループを持ち、組合せ指示フィールドに基づき、それぞれの命令語グループ内の命令語の組合せ実行を行う。また、命令語グループに含まれない他の命令語を2つ実行することができる。
 図7は、本発明の第2の実施形態に係る情報処理装置の全体構成を示すブロック図である。
 ここでは、図1に示す本発明の第1の実施形態に係る情報処理装置の全体構成と同じ構成要素には同一の符号を附し、構成上の説明を省略する。
 同図に示すように、本実施形態に係る情報処理装置は、前述の図1に示す情報処理装置の構成に加えて、2つの命令語グループに含まれない2つの他の命令語を実行するための演算器X,Yと、演算器A~Fからの演算結果及び演算器X,Yからの演算結果の中から選択を行い、選択された演算結果をレジスタファイル部4へ供給する出力セレクタ部7及び出力セレクタ部8と、を備える。
 演算器X,Yを増やした反面、レジスタファイル部4からの読み出しポート数及びレジスタファイル部4への書き込みポート数は増やしていない。
 この実施形態では、命令語グループを構成する命令語の個数を3つ、命令語グループの数を2つ、命令語グループに含まれない命令語の数を2つとしている。しかし、本発明の実施形態に係る情報処理装置は、一般に、必ずしも、このような構成に限定されるものではない。また、近年の情報処理装置と同様に、動作周波数の向上を実現するために、複数のパイプラインステージから成る構成であっても構わない。さらに、図7では、命令フェッチ部1から出力セレクタ部までを一連のサイクルとする構成を図示している。しかし、これを複数のパイプラインステージに分割した実装であっても構わない。
 図8は、図7に示す情報処理装置において用いられる命令語形式の1例を示す説明図である。
 同図に示す命令語形式は、3つの命令語からなる2つの命令語グループと、命令語グループに含まれない2つの命令語(命令語X,Y)と、各命令語グループ内の命令語の組合せを指示する組合せ指示フラグ13とから構成される。
 また、各命令語は、実行する演算の種類を指定するオペコード(opc)、演算の対象データを指定するソースオペランド(src1,src2)、及び演算結果の保存先を指定するデスティネーション(dst)から構成される。
 図8では、2個のソースオペランド(src1,src2)および1個のデスティネーション(dst)を持つ命令語形式の1例を示した。しかし、本発明の実施形態に係る情報処理装置は、一般に、必ずしもこのような命令語形式に限定されるものではない。また、ソースオペランドやデスティネーションの数は、例えば0個や3個であっても構わない。
 さらに、この命令語形式には、他のフィールド(即値のフィールドなど)を含めても構わない。また、図8に示す命令語形式内における、命令語グループ、組合せ指示フラグ、及び命令語グループに含まれない2つの命令語の順序については、本発明の実施形態に係る情報処理装置では、一般に、図示した順序に限られるものではない。
 図7に示す情報処理装置では、図8に示す命令語形式の命令を命令フェッチ部1がフェッチする。このフェッチされた命令に含まれる各命令語のオペコード(opc)と、組合せ指示フラグ13とは、組合せ制御部3に送られ、組合せ制御部3において、入力セレクタ部5b、入力セレクタ部6b、出力セレクタ部7、出力セレクタ部8へ出力する制御信号が生成される。
 なお、図7に示す情報処理装置では、組合せ制御部3に向けた、命令語のオペコード(opc)と組合せ指示フラグ13の供給を、命令フェッチ部1が行っている。しかし、命令デコーダ部2が上記と同様の動作をしても構わない。
 以下では、入力セレクタ部5bと出力セレクタ部7の構成と、組合せ制御部3が生成する入力セレクタ部5bと出力セレクタ部7への制御信号とについて説明する。
 図9Aは、入力セレクタ部5bと出力セレクタ部7の詳細構成を示すブロック図である。
 同図に示す入力セレクタ部5bは、前述の図3Aに示す入力セレクタ部5を拡張した構成である。具体的には、前述の図3Aに示した入力セレクタ部5に対して、2つの追加セレクタ(muxx0,muxx1)を追加している。追加セレクタは、演算器A~Cのセレクタ(muxa~muxc)に供給されたソースオペランドを入力とし、組合せ制御部3からの制御信号(cx0~cx1)に基づいて入力データの選択を行う。この追加したセレクタは、制御信号が0である場合に、一番左側のデータを選択し、制御信号が1である場合に、真ん中のデータを選択し、制御信号が2である場合に、一番右側のデータを選択する。
 なお、入力セレクタ部6bも上記と同様の構成である。
 なお、追加したセレクタ(muxx0,muxx1)は、演算器A~Cに対応するセレクタ(muxa~muxc)に供給されたソースオペランドを入力とする際に、一旦専用のレジスタに格納した値を用いても構わない。この場合、図9Bに示すように、入力セレクタ部5cにおいて、演算器A~Cに対応するセレクタ(muxa~muxc)に供給されたソースオペランドを格納するレジスタ52a~52cを設ける。そして、追加セレクタ(muxx0,muxx1)は、命令実行の次のサイクルにおいて、それらのレジスタからのデータを、組合せ制御部3からの制御信号(cx0,cx1)に基づいて選択するものとする。
 組合せ制御部3は、命令語グループ内の各命令語のオペコード(opc)と、組合せ指示フラグ13を基に、図9Aに示すセレクタ(muxa~muxc)への制御信号(ca~cc)と、追加したセレクタ(muxx0,muxx1)への制御信号(cx0,cx1)とを生成する。
 図10は、組合せ制御部3が、入力セレクタ部5bへ供給する制御信号の生成ルールと、出力セレクタ部7へ供給する制御信号の生成ルールとを示す説明図である。
 組合せ指示フラグ13の値が非アクティブ(0)である場合には、命令語グループ内での命令語の並びに関わらず、セレクタへの制御信号(ca~cc)は0,0,0となる。また、追加セレクタへの制御信号(cx0,cx1)は「Don’t care」となる。一方、組合せ指示フラグ13の値がアクティブ(1)である場合には、命令語グループ内での命令語の並びに基づいてセレクタへの制御信号(ca~cc)を生成し、図10の「命令語の実行順序」に示す順序で、命令語の組み合わせを行う。但し、「命令語の実行順序」における「X→Y→Z」の表記は、命令語Xの実行結果を命令語Yの入力とし、命令語Yの実行結果を命令語Zの入力とすることを意味する。その際、レジスタファイル部4から演算器A~Cへ供給されるソースオペランドのうち、命令語の組合せの結果として、演算器A~Cの実行に不要となったソースオペランドを、追加セレクタ(muxx0,muxx1)が選択する。これにより、演算器Xへのソースオペランドの供給を実現する。
 なお、入力セレクタ部6bへの制御信号の生成も上記と同様にして行われる。
 一方、図9Aに示す出力セレクタ部7は、演算器A及び演算器Bの演算結果、ならびに、演算器Xの演算結果の中から選択を行い、選択された演算結果をレジスタファイル部4へ供給する。その際、出力セレクタ部7は、組合せ制御部3からの制御信号(cx2,cx3)に基づき、入力データ(演算結果)の選択を行う。出力セレクタ部7は、制御信号が0である場合に、左側のデータを選択し、制御信号が1である場合に、右側のデータを選択する。
 なお、出力セレクタ部8の構成についても上記と同様の構成とする。
 また、図9Aでは、出力セレクタ部7及び出力セレクタ部8の構成として、演算器A及び演算器Bの演算結果、ならびに、演算器Xの演算結果の中から選択を行う構成としている。しかし、演算器B及び演算器Cの演算結果、ならびに、演算器Xの演算結果の中から選択を行うなどの構成にしても構わない。
 組合せ指示フラグ13が非アクティブ(0)である場合には、命令語グループ内での命令語の並びに関わらず、出力セレクタ部7への制御信号(cx2,cx3)は0,0となる。一方、組合せ指示フラグ13がアクティブ(1)である場合には、命令語グループ内での命令語の並びに基づいて出力セレクタ部7への制御信号(cx2~cx3)を生成する。その際に、命令語の組合せの結果として、演算結果をレジスタファイル部4へ供給することが不要となった演算器の当該演算結果と、演算器Xの演算結果を出力セレクタ部7への入力とし、演算器Xの演算結果を選択する。これにより、演算器Xの演算結果をレジスタファイル部4へ供給することを可能とする。
 なお、出力セレクタ部8への制御信号の生成も上記と同様である。
 この実施形態では、命令語グループ内の命令語を組み合わせて実行する際に、命令語グループ内での演算で使用されないレジスタファイル部4の読み出しポート及び書き込みポートを、命令語グループに含まれない命令語の演算で利用することができる。これにより、新たなレジスタファイルの読み出しポートと書き込みポートを追加することなく、新たな命令語の実行を追加することが可能となる効果が有る。
〔第3の実施形態〕
 本発明の第3の実施形態に係る情報処理装置の構成は、本発明の第2の実施形態に係る情報処理装置の構成(図7参照)と同じであり、使用する命令語形式だけが異なる。したがって、以下では、使用する命令語形式を中心に説明する。
 図11は、本発明の第3の実施形態に係る情報処理装置が使用する命令語形式の1例を示す説明図である。
 同図に示す命令語形式は、3つの命令語からなる2つの命令語グループと、命令語グループに含まれない2つの命令語(命令語X,Y)と、各命令語グループ内の命令語の組合せを指示する組合せ指示フラグ14とから構成される。
 命令語グループに含まれる命令語は、実行する演算の種類を指定するオペコード(opc)、演算の対象データを指定するソースオペランド(src1,src2)、及び演算結果の保存先を指定するデスティネーション(dst)から構成される。
 一方で、上記の命令語グループに含まれない命令語である2つの命令語(命令語X,Y)は、実行する演算の種類を指定するオペコード(opc-X,opc-Y)のみから構成される。
 図11に示す命令語は、2個のソースオペランド(src1,src2)、1個のデスティネーション(dst)を有する命令語形式の例を示した。しかし、本発明の実施形態に係る情報処理装置は、必ずしもこれに限るものではない。ソースオペランドやデスティネーションの数は、例えば0個や3個であっても構わない。
 また、命令語形式に、別のフィールド(即値のフィールドなど)を含めても構わない。
 さらには、図11に示す命令語形式内における、命令語グループ、組合せ指示フラグ、及び命令語グループに含まれない2つの命令語の順序は、必ずしも、上記の限りではない。
 図11に示す命令語を使用する情報処理装置における、入力セレクタ部5b及び出力セレクタ部7の詳細構成は、前述の第2の実施形態に係る情報処理装置(図7)の入力セレクタ部5b及び出力セレクタ部7の詳細構成(図9A参照)と同様である。また、組合せ制御部3が生成する入力セレクタ部5bと出力セレクタ部7への制御信号の生成方法を示すルールについても、前述の第2の実施形態に係る情報処理装置の制御信号の生成方法を示すルール(図10)と同様であるため、ここでは、その説明を省略する。
 前述の第2の実施形態と同様に、本実施形態では、組合せ指示フラグ14(図11)がアクティブ(1)である場合のみ、命令語グループに含まれない命令語(命令語X,Y)が実行されはする。また、その一方で、組合せ指示フラグ14がアクティブ(1)である場合には、命令語の組合せを行う命令語グループ内の命令語において、利用しない命令フィールドが生じることになる。
 以下、図11に示す命令語形式において、命令語グループ1内の命令語を、命令語A→命令語B→命令語Cと、組み合わせて実行する場合を1例にして、利用しない命令フィールドについて説明する。
 図12は、図11に示す命令語形式の命令語の命令フィールドの展開方法を示す説明図である。
 本実施形態に係る情報処理装置では、図12に示すように、命令語グループ1内の命令語の命令フィールドの内で、命令語を組み合わせて実行する結果、例えば4つの命令フィールドを利用しないことになる。
 そこで、これら4つの命令フィールドを、命令語グループに含まれない命令語(命令語X,Y)の命令フィールドとして利用する。
 具体的には、命令語グループ1内で、ソースオペランドとして利用しない2つの命令フィールド(src1-B,src1-C)を、命令語グループ1に含まれない命令語(命令語X)の2つのソースオペランドを示す命令フィールド(src1-X,src2-X)として利用する。
 また、命令語グループ1内で、デスティネーションとして利用しない2つの命令フィールド(dst-A,dst-B)の一方を、命令語グループ1に含まれない命令語(命令語X)のデスティネーションを示す命令フィールド(dst-X)として利用する。
 同様にして、命令語グループ1内で、ソースオペランドとして利用しない2つの命令フィールド(src1-B,src1-C)を、命令語グループ1に含まれない命令語(命令語Y)の2つのソースオペランドを示す命令フィールド(src1-Y,src2-Y)として利用する。
 また、命令語グループ1内で、デスティネーションとして利用しない2つの命令フィールド(dst-A,dst-B)の他方を、命令語グループ1に含まれない命令語(命令語Y)のデスティネーションを示す命令フィールド(dst-Y)として利用する。
 図12に示す命令フィールドの展開方法では、ソースオペランドとして利用しない2つの命令フィールド(src1-B,src1,c)を、命令語グループ1に含まれない命令語(命令語X)の2つのソースオペランドを示す命令フィールド(src1-X,src2-X)とし、デスティネーションとして利用しない2つの命令フィールド(dst-A,dst-B)の一方を、命令語グループ1に含まれない命令語(命令語X)のデスティネーションを示す命令フィールド(dst-X)として使用している。しかし、一般に、本発明の実施形態に係る情報処理装置において、使用しない命令フィールドの使用方法は、この限りではない。
 なお、ソースオペランドとして利用しない2つの命令フィールド(src1-B,src1-C)を、命令語グループ1に含まれない命令語(命令語X)のデスティネーションとしても構わない。また、デスティネーションとして利用しない2つの命令フィールド(dst-A,dst-B)を、命令語グループ1に含まれない命令語(命令語X)のソースオペランドとしても構わない。
 また、命令語グループ1内で、利用しなかった4つの命令フィールドの内、命令語グループ1に含まれない命令語(命令語X)のソースオペランド及びデスティネーションを示す命令フィールドとして利用しなかった1つの命令フィールドを、命令語Xの機能を更に拡張するために利用することも可能である。
 さらに、利用しなかった1つの命令フィールドを、命令語Xのオペコードを表現するために利用することも可能である。
 この実施形態では、命令語グループ内の命令語を組み合わせて実行する際に、命令語グループ内の命令語で利用されない命令フィールドを、命令語グループに含まれない命令語を表現するための命令フィールドとして利用することができる。したがって、新たな命令フィールドを追加することなく、新たな命令語の実行を追加することが可能となる効果が有る。
〔第4の実施形態〕
 本発明の第4の実施形態に係る情報処理装置の構成は、本発明の第2の実施形態に係る情報処理装置の構成(図7参照)とほぼ同様であり、使用する命令語形式だけが異なる。したがって、以下では、使用する命令語形式の相違点を主体に説明する。
 図13は、本発明の第4の実施形態に係る情報処理装置が使用する命令語形式の1例を示す説明図である。
 図13に示す命令語形式では、命令語グループに含まれない命令語(命令語X,Y)のオペコードの一部が、命令語グループ内の命令語の組合せを指示する組合せ指示フラグ15として設けられる。
 図14は、図13に示す命令語形式の命令語のオペコードの割り当て方法を示す説明図である。
 同図では、前述のとおり、オペコード(Opcode)の最上位ビット(MSB)が、組合せ指示フラグ15として利用されることが示されている。命令語グループに含まれる命令語のオペコードには、最上位ビットが0となるように命令種類の割り当てを行う。これに対して、命令語グループに含まれない命令語のオペコードには、最上位ビットが1となるように命令種類の割り当てを行う。
 前述の第3の実施形態と同様に、命令語グループ内の命令語の組合せを行う場合のみ、命令語グループに含まれない命令語の実行を行うことができる。即ち、命令語の組合せを行うことと、命令語グループに含まれない命令語の実行を行うこととは同時に実現させる必要があるため、それらを表現するフィールドを共通化することができる。より具体的には、組合せ指示フラグ15と、命令語グループに含まれない命令語の実行を示すフィールドとを共通化できる。
 また、ここでは、組合せ指示フラグ15をオペコードの最上位ビットと共通化している。しかし、本発明の実施形態に係る情報処理装置では、一般に、組合せ指示フラグ15と共通化する対象はオペコードの最下位ビットであったり、オペコードの中間のビットであったりしても構わない。
 この実施形態では、命令語グループ内の命令語を組み合わせて実行する際に、命令語の組合せ指示フラグ15と、命令語グループに含まれない命令語の実行を示すオペコードのフィールドとを共通化できる。これにより、組合せ指示フラグ用の命令フィールドを追加することなく、新たな命令語の実行を追加することが可能となる効果が有る。
 以上、実施形態を参照して本発明を説明したが、本発明に係る情報処理装置は、前述の各実施形態に限定されることはなく、本発明の構成や詳細には、本発明の技術的範囲に属する限り、当業者が理解し得る他の様々な実施形態を取ることができる。
 本発明の実施形態では、複数の命令語から構成される命令語グループ毎に、命令語の組合せを指示する。これにより、命令語の自由な組合せを、低コストに実現できる。また、命令語の組合せを行う際に、利用されないレジスタファイルの読み出しポート及び書き込みポートを有効利用することができる。これにより、低コストに、同時実行可能な命令数を増やすことが可能となる。
 この出願は、2010年1月14日に出願された日本出願特願2010-006054号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、VLIW(Very Long Instruction Word)タイプの情報処理装置の構築に適用可能であり、特に、同時実行可能な命令数を低コストで増やすことができるVLIW(Very Long Instruction Word)タイプの情報処理装置の構築に好適である。
 1 命令フェッチ部
 2 命令デコーダ部
 3 組合せ制御部(制御手段)
 4 レジスタファイル部(レジスタファイル)
 5,5a,5b,5c,6,6b 入力セレクタ部(制御手段)
 7,8 出力セレクタ部(制御手段)
11~15 組合せ指示フラグ(組合せ指示フィールド)
A~F,X,Y 演算器(実行手段)

Claims (12)

  1.  M個の命令語(Mは、2以上の整数)から構成され、N個の前記命令語(Nは、2以上M以下の整数)から構成されるP個の命令語グループ(Pは、M≧P×Nを満たす1以上の整数)と、前記命令語グループ内の前記命令語を組み合わせて実行するかどうかを指示する組合せ指示フィールドとを含む超長命令に基づいて、前記M個の命令語の実行にそれぞれ使用されるオペランドを決定する制御手段と、
     前記制御手段が決定した前記オペランドを使用して前記超長命令を実行する実行手段と
     を具備する情報処理装置。
  2.  前記超長命令は、前記組合せ指示フィールドを、前記命令語グループに属する命令語の領域とは異なる前記超長命令内の領域に含み、
     前記制御手段は、前記組合せ指示フィールドが前記命令語グループ内の前記命令語を組み合わせて実行することを指示する場合に、前記命令語グループ内の全ての命令語において、N個の前記命令語が配置されている順番でQ番目(Qは、1≦Q<Nを満たす整数)に配置された命令語の実行結果を、前記順番でQ+1番目に配置された命令語のオペランドの一部とする請求項1記載の情報処理装置。
  3.  前記超長命令は、前記組合せ指示フィールドを、前記命令語グループ内の命令語毎に含み、
     前記制御手段は、N個の前記命令語が配置されている順番でQ+1番目(Qは、1≦Q<Nを満たす整数)に配置された命令語内の組合せ指示フィールドが前記命令語グループ内の前記命令語を組み合わせて実行することを指示する場合には、前記順番でQ番目に配置された命令語の実行結果を、前記順番でQ+1番目に配置された命令語のオペランドの一部とする請求項1記載の情報処理装置。
  4.  前記順番でQ番目に配置された前記命令語の前記実行結果を格納する専用レジスタを具備し、
     前記制御手段は、命令実行の次のサイクルにおいて、前記専用レジスタの値を、Q+1番目に配置された命令語のオペランドの一部とする請求項2または請求項3に記載の情報処理装置。
  5.  読み出しポートを介して前記オペランドを前記制御手段へ供給し、書き込みポートを介して供給される前記命令語の実行結果を記憶するレジスタファイルを具備し、
     前記制御手段は、前記命令語を組み合わせて実行すると、前記実行手段への供給が不要となる前記命令語グループ内の前記命令語のオペランドに対応する前記読み出しポートを、前記命令語グループに含まれない他の命令語のオペランドを前記実行手段へ供給するために使用し、前記命令語を組み合わせて実行すると、前記命令語グループ内の前記命令語の実行結果の書き込みに使用されなくなる前記書き込みポートを、前記他の命令語の実行結果を前記レジスタファイルへ書き込むために使用する請求項1~4のいずれか1項記載の情報処理装置。
  6.  前記制御手段は、前記命令語を組み合わせて実行すると、前記命令語グループ内の前記命令語が使用しないオペランドフィールドを、前記他の命令語のオペランドフィールドとして使用する請求項5記載の情報処理装置。
  7.  前記組合せ指示フィールドが、前記他の命令語のオペコードの一部である請求項6記載の情報処理装置。
  8.  前記他の命令語はオペコードのみからなる請求項6記載の情報処理装置。
  9.  前記制御手段は、前記命令語グループ内の前記命令語のオペランドを格納する専用レジスタを具備し、命令実行の次のサイクルにおいて、前記専用レジスタの値を、前記他の命令語のオペランドとして使用する請求項5に記載の情報処理装置。
  10.  前記命令語グループ内の前記命令語が使用しない前記オペランドフィールドを、前記他の命令語の機能拡張に使用する請求項6記載の情報処理装置。
  11.  前記命令語グループ内の前記命令語が使用しない前記オペランドフィールドを、前記他の命令語のオペコードの一部として使用する請求項6記載の情報処理装置。
  12.  M個の命令語(Mは、2以上の整数)から構成され、N個の前記命令語(Nは、2以上M以下の整数)から構成されるP個の命令語グループ(Pは、M≧P×Nを満たす1以上の整数)と、前記命令語グループ内の前記命令語を組み合わせて実行するかどうかを指示する組合せ指示フィールドとを含む超長命令に基づいて、前記M個の命令語の実行にそれぞれ使用されるオペランドを決定し、
     決定した前記オペランドを使用して前記超長命令を実行する超長命令の処理行方法。
PCT/JP2010/072656 2010-01-14 2010-12-16 情報処理装置 WO2011086808A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-006054 2010-01-14
JP2010006054A JP2011145886A (ja) 2010-01-14 2010-01-14 情報処理装置

Publications (1)

Publication Number Publication Date
WO2011086808A1 true WO2011086808A1 (ja) 2011-07-21

Family

ID=44304099

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/072656 WO2011086808A1 (ja) 2010-01-14 2010-12-16 情報処理装置

Country Status (2)

Country Link
JP (1) JP2011145886A (ja)
WO (1) WO2011086808A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5813484B2 (ja) * 2011-11-30 2015-11-17 ルネサスエレクトロニクス株式会社 Vliwプロセッサと命令構造と命令実行方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0926878A (ja) * 1995-07-12 1997-01-28 Mitsubishi Electric Corp データ処理装置
JPH1185513A (ja) * 1997-09-03 1999-03-30 Hitachi Ltd プロセッサ
JP2002333978A (ja) * 2001-05-08 2002-11-22 Nec Corp Vliw型プロセッサ
JP2008015589A (ja) * 2006-07-03 2008-01-24 Nec Corp Vliw型プロセッサおよび命令発行方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0926878A (ja) * 1995-07-12 1997-01-28 Mitsubishi Electric Corp データ処理装置
JPH1185513A (ja) * 1997-09-03 1999-03-30 Hitachi Ltd プロセッサ
JP2002333978A (ja) * 2001-05-08 2002-11-22 Nec Corp Vliw型プロセッサ
JP2008015589A (ja) * 2006-07-03 2008-01-24 Nec Corp Vliw型プロセッサおよび命令発行方法

Also Published As

Publication number Publication date
JP2011145886A (ja) 2011-07-28

Similar Documents

Publication Publication Date Title
KR102413832B1 (ko) 벡터 곱셈 덧셈 명령
US7386844B2 (en) Compiler apparatus and method of optimizing a source program by reducing a hamming distance between two instructions
JP4283131B2 (ja) プロセッサ及びコンパイル方法
JP2816248B2 (ja) データプロセッサ
US9329866B2 (en) Methods and apparatus for adapting pipeline stage latency based on instruction type
EP1267256A2 (en) Conditional execution of instructions with multiple destinations
US11307855B2 (en) Register-provided-opcode instruction
US9965275B2 (en) Element size increasing instruction
US7302552B2 (en) System for processing VLIW words containing variable length instructions having embedded instruction length identifiers
WO2015114305A1 (en) A data processing apparatus and method for executing a vector scan instruction
JP2019511056A (ja) 複素数乗算命令
US20030037085A1 (en) Field processing unit
US7769982B2 (en) Data processing apparatus and method for accelerating execution of subgraphs
US10846056B2 (en) Configurable SIMD multiplication circuit
EP1634163B1 (en) Result partitioning within simd data processing systems
WO2011086808A1 (ja) 情報処理装置
US11385897B2 (en) Merge execution unit for microinstructions
US20240004663A1 (en) Processing device with vector transformation execution
KR102365306B1 (ko) 데이터 처리장치 및 벡터 스캔 연산의 수행방법
JP3753991B2 (ja) プロセッサ、該プロセッサにおける演算命令処理方法及び演算制御方法
JP2017228213A (ja) 演算処理装置及び演算処理装置の制御方法
KR100636596B1 (ko) 고에너지 효율 병렬 처리 데이터 패스 구조
US20090031117A1 (en) Same instruction different operation (sido) computer with short instruction and provision of sending instruction code through data
JP2014164659A (ja) プロセッサ
JP2012128790A (ja) 演算処理装置

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

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

Country of ref document: EP

Kind code of ref document: A1