EP0239081A2

Pipelined data processor capable of decoding and executing plural instructions in parallel.

Abstract

A pipelined data processor comprises a circuit (3) for extracting two instructions into a pair of instruction registers (l, 2), a circuit (6) for detecting whether those instructions are a combination of an instruction requesting a use of an operation unit and an instruction requesting the use of other resource, and a circuit (4) to control the execution of the instruction when the decision of the detection circuit is affirmative such that those instructions are executed by the operation unit and the resource in a plurality of stages.

EP0239081A2, drawing sheet 1
Sheet 1 of 10

Term

Term ended

Projected expiry passed 24 March 2007, 19.5 years ago.

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

5 claims: 5 independent, 0 dependent

  1. 1
    A pipelined data processor for executing a plurality of instructions in parallel, comprising:a main storage (l3);operation means (l2) connected to said main storage for performing a plurality of operations requested by a plurality of instructions of a first kind to be executed by said data processor;at least one resource means for performing an operation other than said plurality of operations, requested by at least one instruction of a second kind;at least one pair of instruction registers (l, 2);set means (3) for setting into said pair of instruction registers the first instruction to be next executed and the second instruction to be executed next to the first instruction, stored in said main storage;detection means (6) for detecting whether one of the first and second instructions set in said pair of instruction registers is one of said instructions of the first kind and the other is said instruction of the second kind;and     control means (4) responsive to an affirmative decision of said detection means for controlling the execution of said one instruction such that the operation requested by said one instruction is executed in a executed in a plurality of stages including a stage executed by said operation means, controlling the execution of said other instruction such that said other instruction is executed in a plurality of stages including a stage executed by said resource means, in parallel with the execution of said one instruction, and controlling said set means such that third and fourth instructions following to said first and second instructions are set into said pair of instruction registers in parallel with the execution of said first and second instructions, and responsive to a negative decision of said detection means for controlling the execution of said first instruction such that said first instruction is executed in a plurality of stages including a stage in which the operation requested by said first instruction is executed by said operation means or said resource means and controlling said set means such that said second instruc­tion and said third instruction are held in said pair of instruction registers in parallel with the execution of said first instruction.
  2. 2
    A pipelined data processor according to Claim l wherein said detection means detects whether said second instruction does not use a result of execution of said first instruction in the execution of said second instruction, said one instruction is one of said instruc­tions of the first kind, the said other instruction is said instruction of the second kind.
  3. 3
    A pipelined data processor according to Claim l wherein said instruction of the second kind is a branch instruction and said resource means fetches a branch-to instruction specified by the branch instruction, from said main storage.
  4. 4
    A pipelined data processor according to Claim l further comprising:a first buffer memory (l0) connected to said main storage for holding an operand;a second buffer (ll) memory connected to said main storage for holding an instruction;first and second address generation means (8, 9) connected to said first and second buffer memories, respectively, for generating addresses for accessing said main storage, and accessing said first and second buffer memories, respectively;and     a plurality of registers (7) addressable by the instruction;wherein said one instruction requests an operation to an operand is said main storage, and said control means includes means responsive to an affirmative decision of said detection means for sending data in at least one register specified by said one instruction held in said pair of instruction register to said first address generation means and sending data in at least one register specified by said other instruction to said second address generation means.
  5. 5
    A pipelined data processor according to Claim l further comprising:a first buffer memory (l0) connected to said main storage and said operation unit for holding an operand;a second buffer memory (ll) connected to said main storage for holding an instruction;a plurality of registers (7) connected to said pair of instruction registers for fetching first data in at least one register specified by said first instruction and second data in at least one register specified by said second instruction;and     first and second address generation means (8, 9) for receiving said first and second data, respectively, from said registers and generating addresses to access said main storage;wherein said one instruction requests an operation to an operand in said main storage, and said control means includes means depending on whether said first instruction is said one instruction and said second instruction is said other instruction for sending the output addresses of said first and second address generation means to said first and second buffer memories, respectively, or to said second and first buffer memories, respectively.