Patent US5381531A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5381531A Expired / Lapsed US ⏱️ 0.0 years remaining

Data processor for selective simultaneous execution of a delay slot instruction and a second subsequent instruction the pair following a conditional branch instruction

Assignee: Renesas Electronics Corp
•
Filing: 1991-07-09
•
Granted: 1995-01-10
•
Expires: 2011-07-09
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An instruction fetch unit (640) of a data processor (610) capable of simultaneous execution of two instructions fetches a first and a second instruction from a memory (620) in one cycle. The first and the second instruction thus fetched are set in a first and a second register (641, 642) before being decoded in a first and a second instruction decoder (644, 645). Comparators (131, 132) compares data on the destination field of the first instruction with data on the source field of the second instruction. When both the data are inconsistent, a parallel operation control unit (646) permits the first and the second instruction execution unit (651, 652) under the first and the second instruction to execute the two instructions in response to the outputs of the comparators (131, 132). When both the data are consistent, the parallel operation control unit (646) inhibits the parallel execution.

Inventors

  • 👤 Makoto Hanawa
  • 👤 Tadahiko Nishimukai
  • 👤 Makoto Suzuki
  • 👤 Katsuhiro Shimohigashi

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 08:06
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3818; G06F9/3822; G06F9/30145; G06F9/3016; G06F9/30167; G06F9/3836; G06F9/3885

Claims Analysis

Total Claims: 10
Claim 1
Independent Claim 471 words
A data processor capable of selective simultaneous parallel execution of at least two instructions following a branch instruction, the first instruction being a delay slot instruction, the data processor comprising: an instructional fetch unit for fetching from a memory unit a first delay slot instruction including a destination field and a second instruction following the first delay slot instruction including a source field, said first delay slot instruction being fetched from the memory immediately after said branch instruction is fetched into the data processor and for outputting the first delay slot instruction and the second instruction in parallel; a first instruction decoder having an input supplied with the first delay slot instruction output from the instruction fetch unit, the first instruction decoder decoding the first delay slot instruction and outputting a first result of said decoding; a second instruction decoder having an input supplied with the second instruction output from the instruction fetch unit, the second instruction decoder decoding the second instruction and outputting a second result of said decoding; a first instruction execution unit controlled according to the first result of said decoding in the first instruction decoder; a second instruction execution unit controlled according to the second result of said decoding in the second instruction decoder; a comparator for comparing data on the destination field of the first delay slot instruction output from the instruction fetch unit with data on the source field of the second instruction output from the instruction fetch unit, the comparator generating an output when the data of the destination field of the first delay slot instruction output from the instruction fetch unit matches the data of the source field of the second instruction output from the instruction fetch unit; and, a parallel operation control unit coupled with the first instruction decoder the second instruction decoder, the first instruction execution unit, the second instruction execution unit and the comparator, the parallel operation control unit generating a parallel operation inhibit signal when the branch instruction is taken; and, the parallel operation control unit i) nullifying the result of the decoding of the second instruction in the second instruction decoder so as to inhibit the execution of the second instruction in the second instruction execution unit when the preceding branch instruction is taken axed ii) activating the result of the decoding of the first delay slot instruction in tile first instruction decoder together with the results of the decoding of the second instruction in the second instruction decoder so as to carry out the parallel execution of the first delay slot instruction in the first instruction execution unit and the second instruction in the second instruction execution unit according to an absence of said parallel operation inhibits signal when the immediately preceding branch instruction is next taken and in an absence of said output from said comparator.
Claim 2
Dependent Claim 471 words
A data processor capable of selective simultaneous parallel execution of at least two instructions following a branch instruction, the first instruction being a delay slot instruction, the data processor comprising: an instructional fetch unit for fetching from a memory unit a first delay slot instruction including a destination field and a second instruction following the first delay slot instruction including a source field, said first delay slot instruction being fetched from the memory immediately after said branch instruction is fetched into the data processor and for outputting the first delay slot instruction and the second instruction in parallel; a first instruction decoder having an input supplied with the first delay slot instruction output from the instruction fetch unit, the first instruction decoder decoding the first delay slot instruction and outputting a first result of said decoding; a second instruction decoder having an input supplied with the second instruction output from the instruction fetch unit, the second instruction decoder decoding the second instruction and outputting a second result of said decoding; a first instruction execution unit controlled according to the first result of said decoding in the first instruction decoder; a second instruction execution unit controlled according to the second result of said decoding in the second instruction decoder; a comparator for comparing data on the destination field of the first delay slot instruction output from the instruction fetch unit with data on the source field of the second instruction output from the instruction fetch unit, the comparator generating an output when the data of the destination field of the first delay slot instruction output from the instruction fetch unit matches the data of the source field of the second instruction output from the instruction fetch unit; and, a parallel operation control unit coupled with the first instruction decoder the second instruction decoder, the first instruction execution unit, the second instruction execution unit and the comparator, the parallel operation control unit generating a parallel operation inhibit signal when the branch instruction is taken; and, the parallel operation control unit i) nullifying the result of the decoding of the second instruction in the second instruction decoder so as to inhibit the execution of the second instruction in the second instruction execution unit when the preceding branch instruction is taken axed ii) activating the result of the decoding of the first delay slot instruction in tile first instruction decoder together with the results of the decoding of the second instruction in the second instruction decoder so as to carry out the parallel execution of the first delay slot instruction in the first instruction execution unit and the second instruction in the second instruction execution unit according to an absence of said parallel operation inhibits signal when the immediately preceding branch instruction is next taken and in an absence of said output from said comparator.
Claim 3
Dependent Claim 82 words
The data processor according to claim 1, wherein said processor further comprises a register file having a plurality of registers, and wherein when a register designated by the data on the destination field in the first delay slot instruction matches a register designated by the data on the source field in the second instruction, the output of the comparator inhibits the parallel execution of the first delay slot instruction and the second instruction in the first and the second instruction execution unit.
Claim 4
Dependent Claim 41 words
The data processor according to claim 1, wherein the instruction length of the first delay slot instruction and the second instruction is fixed having a predetermined bit length, and wherein said data processor is constructed for a reduced instruction set computer.
Claim 5
Dependent Claim 41 words
The data processor according to claim 2, wherein the instruction length of the first delay slot instruction and the second instruction is fixed having a predetermined bit length, and wherein said data processor is constructed for a reduced instruction set computer.
Claim 6
Dependent Claim 23 words
The data processor according to claim 1, wherein the memory is at least a one of a main memory and a cache memory.
Claim 7
Dependent Claim 22 words
A data processor according to claim 2, wherein the memory is at least a one of a main memory a cache memory.
Claim 8
Dependent Claim 23 words
A data processor according to claim 3, wherein the memory is at least a one of a main memory and a cache memory.
Claim 9
Dependent Claim 21 words
A data processor according claim 4, wherein the memory is at least a one of a main memory a cache memory.
Claim 10
Dependent Claim 65 words
The data processor according to claim 1, wherein said parallel operation control unit includes means for permitting the result of the decoding of the second instruction in the second instruction decoder so as to execute in parallel: i) the second instruction in the second instruction execution unit and ii) the first instruction in the first instruction execution unit, when the branch instruction is not taken.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-01-09 1998-07-11 1999-01-10 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-01-09 2002-07-11 2003-01-10 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-01-09 2006-07-11 2007-01-10 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag