EP0354740A2

Data processing apparatus for performing parallel decoding and parallel execution of a variable word length instruction.

Abstract

A data processing apparatus for decoding and executing instructions in a parallel manner in a variable word length instruction format. A plurality of decoders is used in which while the primary instruc­tion decoder (12) is decoding an instruction, the probability of parallel decoding of the next instruction is detected, so that the primary instruction decoder and a secondary instruction decoder (13) decode a variable word length instruction and a fixed word length instruction, respectively, in a parallel manner. A conditional branch instruction of a fixed word length and the subsequent instruction of a variable word length are decoded and executed in a parallel manner to increase the speed at which the conditional branch instruction is executed.

EP0354740A2, drawing sheet 1
Sheet 1 of 11

Term

Term ended

Projected expiry passed 4 August 2009, 17.1 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

3 claims: 3 independent, 0 dependent

  1. 1
    A data processing apparatus comprising:a first instruction decoder (12) for decoding a variable word length instruction;parallel decoding probability detection means (21) for decoding the instruction word subsequent to the instruction decoded by the first instruction decoder (12) and for beforehand detecting the presence of instructions decodable in a parallel manner;at least one second instruction decoder (13) for decoding the instruction detected by the parallel decoding probability detection means (21);and instruction supplying means (19) for selec­tively validating the instruction detected by the parallel decoding probability detection means (21) in accordance with a signal indicative of the boundary of the instruction outputted by the first instruction decoder (12), supplying the validated instruction to the second instruction decoder (13) and the instruction subsequent to the former instruction to the first instruction decoder (12) whereby the plurality of instructions including at least one fixed length instruc­tion in a variable instruction format are decoded in a parallel manner.
  2. 2
    A data processing apparatus comprising:a first instruction decoder (12) for decoding a variable word length instruction;parallel decoding probability detection means (21) for decoding the instruction word subsequent to the instruction decoded by the first instruction decoder (12) and for beforehand detecting the presence of instructions decodable in a parallel manner;at least one second instruction decoder (13) for decoding the instruction detected by the parallel decoding probability detection means (21);instruction supplying means (19) for selective­ly validating the instruction detected by the parallel decoding probability detection means (21) in accordance with a signal indicative of the boundary of the instruc­tion outputted by the first instruction decoder (12), supplying the validated instruction to the second instruction decoder (13) and the instruction subsequent to the former instruction to the first instruction decoder (12);an adder (30) for calculating a branch target address of a conditional branch instruction;a comparator (27) for detecting whether con­ditions are met;and branch control means (26) for suppressing the execution of the instructions subsequent to the condi­tional branch instruction only when the conditions are met and for starting the execution of the instruction from the branch target address outputted by the adder (30), whereby the conditional branch instruction and subsequent instructions are processed in a parallel manner.
  3. 3
    A data processing apparatus comprising:a first instruction decoder (12) for decoding a variable word length instruction;parallel decoding probability detection means (21) for decoding the instruction word subsequent to the instruction decoded by the first instruction decoder (12) and for beforehand detecting the presence of instructions decodable in a parallel manner;at least one second instruction decoder (13) for decoding the instruction detected by the parallel decoding probability detection means (21);instruction supplying means (19) for selec­tively validating the instruction detected by the parallel decoding probability detection means (21) in accordance with a signal indicative of the boundary of the instruction outputted by the first instruction decoder (12), supplying the validated instruction to the second instruction decoder (13) and the instruction subsequent to the former instruction to the first instruction decoder (12);means (21) for reading a memory;means (24) for performing a calculation among a plurality of registers;means (31) for delaying the operation of the calculation performing means using the results of the decoding by the first and second instruction decoders (12, 13);and means (25) for writing data into the memory, whereby an instruction for transfer of data in the memory and the internal register and the instructions subsequent to the instruction for transfer of data are processed in a parallel manner.