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

Data processor and data processing system

Assignee: Renesas Electronics Corp
•
Filing: 1997-10-17
•
Granted: 1999-06-29
•
Expires: 2017-10-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The data processor includes a CPU and an instruction prefetch buffer that prefetches an instruction executed by the CPU and stores it therein. The CPU contains a detection circuit for detecting whether or not a displacement from a branch instruction to a branch target instruction is a specific displacement on the basis of branch displacement information that the concerned branch instruction holds. The instruction prefetch buffer clears an instruction already prefetched when the detection circuit detects that the displacement is not the specific displacement and outputs a branch target instruction newly fetched to the CPU, and outputs a branch target instruction already prefetched to the CPU when the detection circuit detects that the displacement is the specific displacement. Thus, the date processor fetches a branch target instruction within a certain range from the instruction prefetch buffer at a high speed without adding the nullifying bit on the instruction code.

Inventors

  • 👤 Osamu Nishii
  • 👤 Sadaki Nakano
  • 👤 Norio Nakagawa
  • 👤 Takanobu Tsunoda

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 15:41
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/30003; G06F9/30072; G06F9/32; G06F9/322; G06F9/324; G06F9/3802; G06F9/3804; G06F9/3836; G06F9/3842

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 117 words
A data processor comprising a CPU and an instruction prefetch buffer that prefetches an instruction executed by the CPU and stores it therein, wherein: the CPU contains detection means for detecting whether or not a displacement from a branch instruction to a branch target instruction is a specific displacement on the basis of information that the concerned branch instruction holds; and the instruction prefetch buffer clears an instruction already prefetched when the detection means detects that the displacement is not the specific displacement and outputs a branch target instruction newly fetched to the CPU, and outputs a branch target instruction already prefetched to the CPU when the detection means detects that the displacement is the specific displacement.
Claim 2
Dependent Claim 117 words
A data processor comprising a CPU and an instruction prefetch buffer that prefetches an instruction executed by the CPU and stores it therein, wherein: the CPU contains detection means for detecting whether or not a displacement from a branch instruction to a branch target instruction is a specific displacement on the basis of information that the concerned branch instruction holds; and the instruction prefetch buffer clears an instruction already prefetched when the detection means detects that the displacement is not the specific displacement and outputs a branch target instruction newly fetched to the CPU, and outputs a branch target instruction already prefetched to the CPU when the detection means detects that the displacement is the specific displacement.
Claim 3
Dependent Claim 28 words
A data processor as claimed in claim 1, wherein the information that the branch instruction holds is information of a displacement field contained in a branch instruction word.
Claim 4
Dependent Claim 122 words
A data processor comprising a CPU and an instruction prefetch buffer that prefetches an instruction executed by the CPU and stores it therein, wherein: the CPU contains detection means for detecting whether or not a branch displacement information of a branch instruction containing the branch displacement information for determining an address displacement to a branch target indicates a specific value; and the instruction prefetch buffer clears an instruction already prefetched when the detection means detects that the branch displacement information does not indicate the specific value and outputs a branch target instruction newly fetched to the CPU, and outputs a branch target instruction already prefetched to the CPU when the detection means detects that the branch displacement information indicates the specific value.
Claim 5
Dependent Claim 122 words
A data processor comprising a CPU and an instruction prefetch buffer that prefetches an instruction executed by the CPU and stores it therein, wherein: the CPU contains detection means for detecting whether or not a branch displacement information of a branch instruction containing the branch displacement information for determining an address displacement to a branch target indicates a specific value; and the instruction prefetch buffer clears an instruction already prefetched when the detection means detects that the branch displacement information does not indicate the specific value and outputs a branch target instruction newly fetched to the CPU, and outputs a branch target instruction already prefetched to the CPU when the detection means detects that the branch displacement information indicates the specific value.
Claim 6
Dependent Claim 135 words
A data processor comprising a CPU, prefetch control means that controls prefetching of an instruction executed by the CPU, and a buffer memory for storing a prefetched instruction; wherein: the CPU contains detection means for detecting whether or not branch displacement information contained in a branch instruction for determining an address displacement to a branch target indicates a specific value; and the prefetch control means clears an instruction already prefetched in the buffer memory when the detection means detects that the branch displacement information does not indicate the specific value and newly fetches a branch target instruction into the buffer memory and outputs to the CPU, and outputs a branch target instruction already prefetched in the buffer memory to the CPU when the detection means detects that the branch displacement information indicates the specific value.
Claim 7
Dependent Claim 135 words
A data processor comprising a CPU, prefetch control means that controls prefetching of an instruction executed by the CPU, and a buffer memory for storing a prefetched instruction; wherein: the CPU contains detection means for detecting whether or not branch displacement information contained in a branch instruction for determining an address displacement to a branch target indicates a specific value; and the prefetch control means clears an instruction already prefetched in the buffer memory when the detection means detects that the branch displacement information does not indicate the specific value and newly fetches a branch target instruction into the buffer memory and outputs to the CPU, and outputs a branch target instruction already prefetched in the buffer memory to the CPU when the detection means detects that the branch displacement information indicates the specific value.
Claim 8
Dependent Claim 252 words
A data processor comprising a CPU, prefetch control means that controls prefetching of an instruction executed by the CPU, and a buffer memory for storing a prefetched instruction, wherein: the CPU comprises: a program counter, instruction decode means for decoding an instruction fetched from the instruction prefetch buffer on the basis of a value of the program counter, detection means for detecting whether or not a decoded result by the instruction decode means is a program counter-relative branch instruction and whether or not a value indicated by branch displacement information contained in a branch instruction is a specific value, and address operation means for producing a branch target address on the basis of the branch displacement information; and the prefetch control means clears an instruction already prefetched in the buffer memory when the detection means detects that the decoded result by the instruction decode means is an instruction other than the program counter-relative branch instruction or the branch displacement information does not indicate the specific value and newly fetches a branch target instruction on the basis of an instruction address operated by the address operation means and outputs to the CPU, and selects the branch target instruction corresponding to the instruction address operated by the address operation means out of instructions already prefetched in the buffer memory and outputs it to the CPU when the detection means detects that the decoded result by the instruction decode means indicates a program counter-relative branch instruction and the branch displacement information indicates the specific value.
Claim 9
Dependent Claim 252 words
A data processor comprising a CPU, prefetch control means that controls prefetching of an instruction executed by the CPU, and a buffer memory for storing a prefetched instruction, wherein: the CPU comprises: a program counter, instruction decode means for decoding an instruction fetched from the instruction prefetch buffer on the basis of a value of the program counter, detection means for detecting whether or not a decoded result by the instruction decode means is a program counter-relative branch instruction and whether or not a value indicated by branch displacement information contained in a branch instruction is a specific value, and address operation means for producing a branch target address on the basis of the branch displacement information; and the prefetch control means clears an instruction already prefetched in the buffer memory when the detection means detects that the decoded result by the instruction decode means is an instruction other than the program counter-relative branch instruction or the branch displacement information does not indicate the specific value and newly fetches a branch target instruction on the basis of an instruction address operated by the address operation means and outputs to the CPU, and selects the branch target instruction corresponding to the instruction address operated by the address operation means out of instructions already prefetched in the buffer memory and outputs it to the CPU when the detection means detects that the decoded result by the instruction decode means indicates a program counter-relative branch instruction and the branch displacement information indicates the specific value.
Claim 10
Dependent Claim 40 words
A data processor as claimed in any one of claim 3 through 5, wherein the specific value of the branch displacement information detected by the detection means is a value to skip one instruction next to the concerned branch instruction.
Claim 11
Dependent Claim 28 words
A data processor as claimed in any one of claim 1, 3 through 5, wherein an instruction set executed by the CPU is of a 16-bit fixed length.
Claim 12
Dependent Claim 31 words
A data processor as claimed in claim 7, wherein the data processor further comprises an instruction cache memory, and wherein said instruction prefetch buffer inputs instructions from the instruction cache memory.
Claim 13
Dependent Claim 53 words
A data processor as claimed in claim 8, wherein the data processor further comprises a bus controller and is formed into one semiconductor chip, and the bus controller controls the start of an external bus cycle whereby the instruction cache memory takes in a cache entry from the outside of the semiconductor chip.
Claim 14
Dependent Claim 44 words
A data processing system comprising the data processor set forth in claim 9, and further including an external memory that the data processor accesses through the bus controller and an external input output circuit in which the data processor accesses through the bus controller.
Claim 15
Dependent Claim 87 words
A data processor comprising a CPU and an instruction prefetch buffer for prefetching an instruction executed by the CPU, wherein: the CPU contains a detection circuit for detecting a displacement from a branch instruction to a branch target instruction; and the instruction prefetch buffer clears an instruction already prefetched when the displacement does not indicate a specific value and outputs a branch target instruction newly fetched to the CPU, and outputs a branch target instruction already prefetched to the CPU when the displacement indicates the specific value.
Claim 16
Dependent Claim 87 words
A data processor comprising a CPU and an instruction prefetch buffer for prefetching an instruction executed by the CPU, wherein: the CPU contains a detection circuit for detecting a displacement from a branch instruction to a branch target instruction; and the instruction prefetch buffer clears an instruction already prefetched when the displacement does not indicate a specific value and outputs a branch target instruction newly fetched to the CPU, and outputs a branch target instruction already prefetched to the CPU when the displacement indicates the specific value.
Claim 17
Dependent Claim 182 words
A data processor comprising a CPU, a prefetch buffer for an instruction executed by the CPU, wherein: the CPU comprises: a program counter, an instruction decoder for decoding an instruction fetched from the instruction prefetch buffer on the basis of a value of the program counter, and a detection circuit for detecting whether or not a decoded result by the instruction decoder indicates a program counter-relative branch instruction and whether or not a value indicated by a branch displacement information contained in a branch instruction is a specific value; and the prefetch buffer clears an instruction already prefetched when the detection circuit detects that a decoded result by the instruction decoder is an instruction other than the program counter-relative branch instruction or the branch displacement information does not indicate the specific value and outputs a newly fetched branch target instruction to the CPU, and outputs a branch target instruction already prefetched to the CPU when the detection circuit detects that the decoded result by the instruction decoder is the program counter-relative branch instruction and the branch displacement information indicates the specific value.
Claim 18
Dependent Claim 182 words
A data processor comprising a CPU, a prefetch buffer for an instruction executed by the CPU, wherein: the CPU comprises: a program counter, an instruction decoder for decoding an instruction fetched from the instruction prefetch buffer on the basis of a value of the program counter, and a detection circuit for detecting whether or not a decoded result by the instruction decoder indicates a program counter-relative branch instruction and whether or not a value indicated by a branch displacement information contained in a branch instruction is a specific value; and the prefetch buffer clears an instruction already prefetched when the detection circuit detects that a decoded result by the instruction decoder is an instruction other than the program counter-relative branch instruction or the branch displacement information does not indicate the specific value and outputs a newly fetched branch target instruction to the CPU, and outputs a branch target instruction already prefetched to the CPU when the detection circuit detects that the decoded result by the instruction decoder is the program counter-relative branch instruction and the branch displacement information indicates the specific value.

References Cited (Backward Citations)

JPS626328A Cited
JPH01239639A Cited
JPH02275532A Cited
US5463737A Cited
US5784604A Cited
US5367703A Cited
US5579493A Cited
JPH07239781A Cited
JPH07306785A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-06-28 2002-12-28 2003-06-29 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-06-28 2006-12-28 2007-06-29 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-06-28 2010-12-28 2011-06-29 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag