EP1069499A2

Data processing apparatus and method for simultaneously executing plural instructions

Abstract

A data processing apparatus includes a plurality of execution units (221 to 224) for executing a plurality of instructions fetched from a cache memory (15) or an instruction memory (11), at a same time. Then, in case of a cache miss-hit in an instruction fetch, a hazard detector (16) detects an executable instruction from the plurality of instructions fetched from the instruction memory (11), and generates a tag data, and then sends an instruction selected based on the tag data to the execution unit (221 to 224), and also stores the generated tag data and the plurality of fetched instructions in the cache memory (15). On the other hand, at a time of a miss-hit, it sends to the execution unit (221 to 224) an instruction selected in accordance with the tag data stored in the cache memory (15), from the plurality of instructions stored in the cache memory (15). Thus, it is possible to provide the data processing apparatus and the data processing method that can treat all instructions including a branch instruction at a high speed, irrespectively of a small hardware.

EP1069499A2, drawing sheet 1
Sheet 1 of 8

Term

Term ended

Projected expiry passed 9 July 2020, 6.2 years ago.

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

8 claims: 2 independent, 6 dependent

  1. 1
    A data processing apparatus comprising:an instruction memory (11) which stores instructions;a hazard detector (16) which detects whether or not a plurality of instructions fetched from said instruction memory (11) can be executed at a same time, and outputs the detected result as a tag data;a cache memory (15) which stores a set of said plurality of instructions fetched from said instruction memory (11) and said tag data outputted from said hazard detector (16);and a plurality of execution units (22 1 to 22 4 ) which simultaneously executes said plurality of instructions fetched from said cache memory (15) based on said tag data fetched from said cache memory (15).
  2. 4
    The data processing apparatus according to any one of claims 1 to 3,    wherein said hazard detector (16), if a branch instruction is included in said plurality of instructions fetched from said instruction memory (11), outputs said tag data further indicating that instructions to be executed after the branch instruction can not be executed simultaneously with the branch instruction.
  3. 5
    A data processing method for simultaneously executing a plurality of instructions, comprising:detecting whether or not said plurality of instructions fetched from an instruction memory (11) can be executed at a same time, and producing the detected result as a tag data;storing a set of said plurality of instructions and said produced tag data into a cache memory (15);and simultaneously executing said plurality of instructions fetched from said cache memory (15), based on said tag data fetched from said cache memory (15).
  4. 8
    The data processing method according to any one of claims 5 to 7,    wherein at said detecting step, if a branch instruction is included in said plurality of instructions fetched from said instruction memory (11), said tag data is produced for further indicating that instructions to be executed after the branch instruction can not be executed simultaneously with the branch instruction.