← Back to Patent Explorer
US4912635A Expired / Lapsed US ⏱️ 0.0 years remaining

System for reexecuting branch instruction without fetching by storing target instruction control information

Assignee: Hitachi Microcomputer System Ltd
•
Filing: 1988-02-01
•
Granted: 1990-03-27
•
Expires: 2008-02-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention relates to a pipeline data processing apparatus wherein an instruction is fetched from a main storage, the instruction is decoded to generate control information for executing the instruction, and the control information is transferred to an instruction execute circuit. The target address of a branch instruction is stored in the index field of an associative memory, and control information obtained by decoding a target instruction of branch corresponding to the branch instruction is stored in the data field of the associative memory beforehand. When executing the branch instruction, the associative memory is accessed with the target address, and the control information of the corresponding entry is read out and is transferred to the instruction execute circuit, whereupon the instruction execute circuit starts executing the target instruction of branch instruction in succeession to the execution of the branch instruction.

Inventors

  • 👤 Tadahiko Nishimukai
  • 👤 Atsushi Hasegawa
  • 👤 Kunio Uchiyama
  • 👤 Yoshifumi Takamoto

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-28 15:20
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3836; G06F9/3842; G06F9/3846

Claims Analysis

Total Claims: 38
Claim 1
Independent Claim 251 words
A data processing apparatus comprising: a main storage in which instructions to be executed are stored; means, coupled to the main storage, for fetching instructions from said main storage; decoding and generating means, coupled to the means for fetching, for decoding the instructions fetched by the means for fetching and for generating control information for executing the instructions; means, coupled to the decoding and generating means, for executing the instructions in response to the control information generated by the decoding and generating means; said means for fetching, said means for decoding and generating, and said means for executing operating in parallel to perform pipeline data processing; and said decoding and generating means including a first memory for storing said control information, obtained from said decoding and generating means by decoding a target instruction accessed by a target address obtained from a branch instruction, for storing content of the target instruction, and for storing an address of said branch instruction, said first memory stores said control information, said content of said target instruction and said address of said branch instruction before re-executing the branch instruction, said first memory further includes means for reading out said control information and said content of the target instruction in response to the address of said branch instruction, and for sending said read out control information and said read out content of the target instruction to said means for executing without an additional fetch of the target instruction from said main storage when re-executing the branch instruction.
Claim 2
Dependent Claim 251 words
A data processing apparatus comprising: a main storage in which instructions to be executed are stored; means, coupled to the main storage, for fetching instructions from said main storage; decoding and generating means, coupled to the means for fetching, for decoding the instructions fetched by the means for fetching and for generating control information for executing the instructions; means, coupled to the decoding and generating means, for executing the instructions in response to the control information generated by the decoding and generating means; said means for fetching, said means for decoding and generating, and said means for executing operating in parallel to perform pipeline data processing; and said decoding and generating means including a first memory for storing said control information, obtained from said decoding and generating means by decoding a target instruction accessed by a target address obtained from a branch instruction, for storing content of the target instruction, and for storing an address of said branch instruction, said first memory stores said control information, said content of said target instruction and said address of said branch instruction before re-executing the branch instruction, said first memory further includes means for reading out said control information and said content of the target instruction in response to the address of said branch instruction, and for sending said read out control information and said read out content of the target instruction to said means for executing without an additional fetch of the target instruction from said main storage when re-executing the branch instruction.
Claim 3
Dependent Claim 81 words
A data processing apparatus in accordance with claim 1 wherein said first memory is an associative memory, the control information and the content of the target instruction are written in data fields of the associative memory, the address of the branch instruction is written in an index field of the associative memory and wherein the control information, the content of the target instruction and the address of the branch instruction are written into the associative memory by a single entry number.
Claim 4
Dependent Claim 94 words
A data processing apparatus in accordance with claim 1, wherein said decoding and generating means includes means for sending a signal for requesting an instruction to be decoded to said means for fetching when said first memory has been accessed with the address of a branch instruction and no address of the branch instruction exists in the first memory, and said means for sending a signal does not send a signal when said first memory has been accessed with the address of the branch instruction and the address of the branch instruction exists therein.
Claim 5
Dependent Claim 28 words
A data processing apparatus in accordance with claim 1, wherein said means for executing executes said target instruction according to the control information stored in said first memory.
Claim 6
Dependent Claim 36 words
A data processing apparatus in accordance with claim 1, wherein said means for fetching further includes: a second memory for storing a plurality of instructions and a plurality of addresses corresponding to said plurality of instructions.
Claim 7
Dependent Claim 271 words
A data processing apparatus comprising: a main storage in which instructions to be executed are stored; means, coupled to the main storage, for fetching instructions from said main storage; decoding and generating means, coupled to the means for fetching, for decoding the instructions fetched by the means for fetching and for generating control information for executing the instructions; means, coupled to the decoding and generating means, for executing the instructions in response to the control information generated by the decoding and generating means; said means for fetching, said means for decoding and generating, and said means for executing operating in parallel to perform pipeline data processing; and said decoding and generating means including a first memory for storing content of a target instruction accessed by a target address obtained from a branch instruction, for storing an address of an instruction immediately following the address of the target instruction, and for storing an address of said branch instruction, said first memory stores said content of said target instruction, said address of said instruction immediately following said target instruction and said address of said branch instruction before re-executing the branch instruction, said first memory further includes means for reading out said content of the target instruction and said address of said instruction immediately following said target instruction in response to the address of said branch instruction, for sending said read out content of the target instruction to said means for executing, and for sending said read out address of said instruction immediately following said target instruction to said means for fetching without an additional fetch of the target instruction from said main storage.
Claim 8
Dependent Claim 271 words
A data processing apparatus comprising: a main storage in which instructions to be executed are stored; means, coupled to the main storage, for fetching instructions from said main storage; decoding and generating means, coupled to the means for fetching, for decoding the instructions fetched by the means for fetching and for generating control information for executing the instructions; means, coupled to the decoding and generating means, for executing the instructions in response to the control information generated by the decoding and generating means; said means for fetching, said means for decoding and generating, and said means for executing operating in parallel to perform pipeline data processing; and said decoding and generating means including a first memory for storing content of a target instruction accessed by a target address obtained from a branch instruction, for storing an address of an instruction immediately following the address of the target instruction, and for storing an address of said branch instruction, said first memory stores said content of said target instruction, said address of said instruction immediately following said target instruction and said address of said branch instruction before re-executing the branch instruction, said first memory further includes means for reading out said content of the target instruction and said address of said instruction immediately following said target instruction in response to the address of said branch instruction, for sending said read out content of the target instruction to said means for executing, and for sending said read out address of said instruction immediately following said target instruction to said means for fetching without an additional fetch of the target instruction from said main storage.
Claim 9
Dependent Claim 94 words
A data processing apparatus in accordance with claim 6, wherein said first memory is an associative memory, the content of the target instruction and the address of an instruction immediately following the address of the target instruction are written in data fields of the associative memory, the address of the branch instruction is written in an index field of the associative memory, and wherein the content of the target instruction, the address of the instruction immediately following the address of the target instruction are written into the associative memory by a single entry number.
Claim 10
Dependent Claim 94 words
A data processing apparatus in accordance with claim 6 wherein said decoding and generating means includes means for sending a signal for requesting an instruction to be decoded to said means for fetching when said first memory has been accessed with the address of a branch instruction and no address of the branch instruction exists in the first memory and said means for sending a signal does not send a signal when said first memory has been accessed with the address of the branch instruction and the address of the branch instruction exists therein.
Claim 11
Dependent Claim 42 words
A data processing apparatus in accordance with claim 6, wherein said first memory further stores control information, obtained by decoding said target instruction, and wherein said means for executing executes said target instruction according to the control information stored in the memory.
Claim 12
Dependent Claim 36 words
A data processing apparatus in accordance with claim 6, wherein said means for fetching further includes: a second memory for storing a plurality of instructions and a plurality of addresses corresponding to said plurality of instructions.
Claim 13
Dependent Claim 327 words
A data processing apparatus comprising: a main storage in which instructions to be executed are stored; means, coupled to the main storage, for fetching instructions from said main storage; decoding and generating means, coupled to the means for fetching, for decoding the instructions fetched by the means for fetching and for generating control information for executing the instructions; means, coupled to the decoding and generating means, for executing the instructions in response to the control information generated by the decoding and generating means; said means for fetching, said means for decoding and generating, and said means for executing operating in parallel to perform pipeline data processing; and said decoding and generating means including a first memory for storing said control information obtained from said decoding and generating means by decoding a target instruction accessed by a target address obtained from a branch instruction, for storing content of the target instruction, for storing the address of the target instruction, and for storing an address of said branch instruction, said first memory stores said control information, said content of said target instruction, said address of said target instruction and said address of said branch instruction before re-executing the branch instruction, said first memory further includes means for reading out said control information, said content of the target instruction and said address of said target instruction in response to the address of said branch instruction, and for sending said read out address of said target instruction to comparator means, said comparator means compares said read out address of said target instruction with an address of said target instruction generated from said means for executing, when a coincidence is detected by said comparator means said read out control information and said read out content of the target instruction are sent to said means for executing in response to an output of said comparator means without an additional fetch of the target instruction from the main storage when re-executing the branch instruction.
Claim 14
Dependent Claim 327 words
A data processing apparatus comprising: a main storage in which instructions to be executed are stored; means, coupled to the main storage, for fetching instructions from said main storage; decoding and generating means, coupled to the means for fetching, for decoding the instructions fetched by the means for fetching and for generating control information for executing the instructions; means, coupled to the decoding and generating means, for executing the instructions in response to the control information generated by the decoding and generating means; said means for fetching, said means for decoding and generating, and said means for executing operating in parallel to perform pipeline data processing; and said decoding and generating means including a first memory for storing said control information obtained from said decoding and generating means by decoding a target instruction accessed by a target address obtained from a branch instruction, for storing content of the target instruction, for storing the address of the target instruction, and for storing an address of said branch instruction, said first memory stores said control information, said content of said target instruction, said address of said target instruction and said address of said branch instruction before re-executing the branch instruction, said first memory further includes means for reading out said control information, said content of the target instruction and said address of said target instruction in response to the address of said branch instruction, and for sending said read out address of said target instruction to comparator means, said comparator means compares said read out address of said target instruction with an address of said target instruction generated from said means for executing, when a coincidence is detected by said comparator means said read out control information and said read out content of the target instruction are sent to said means for executing in response to an output of said comparator means without an additional fetch of the target instruction from the main storage when re-executing the branch instruction.
Claim 15
Dependent Claim 93 words
A data processing apparatus in accordance with claim 11, wherein said first memory is an associative memory, the control information, the content of the target instruction and the address of the target instruction are written in data fields of the associative memory, the address of the branch instruction is written in an index field of the associative memory, and wherein the control information, the content of the target instruction, the address of the target instruction and the address of the branch instruction are written into the associative memory by a single entry number.
Claim 16
Dependent Claim 94 words
A data processing apparatus in accordance with claim 11, wherein said decoding and generating means includes means for sending a signal for requesting an instruction to be decoded to said means for fetching when said first memory has been accessed with the address of a branch instruction and no address of the branch instruction exists in the first memory, and said means for sending a signal does not send a signal when said first memory has been accessed with the address of the branch instruction and the address of the branch instruction exists therein.
Claim 17
Dependent Claim 28 words
A data processing apparatus in accordance with claim 11, wherein said means for executing executes said target instruction according to the control information stored in said first memory.
Claim 18
Dependent Claim 37 words
A data processing apparatus in accordance with claim 11, wherein the address of the target instruction read out from said first memory is compared with an address of a next instruction calculated by said means for executing.
Claim 19
Dependent Claim 36 words
A data processing apparatus in accordance with claim 11, wherein said means for fetching further includes: a second memory for storing a plurality of instructions and a plurality of addresses corresponding to said plurality of instructions.
Claim 20
Dependent Claim 265 words
A microprocessor for use with a main storage in a data processing system with instructions to be executed by the microprocessor being stored in the main storage, the microprocessor comprising: means, coupled to the main storage, for fetching instructions from said main storage; decoding and generating means, coupled to the means for fetching, for decoding the instructions fetched by the means for fetching and for generating control information for executing the instructions; means, coupled to the decoding and generating means, for executing the instructions in response to the control information generated by the decoding and generating means; said means for fetching, said means for decoding and generating, and said means for executing operating in parallel to perform pipeline data processing; and said decoding and generating means including a first memory for storing said control information, obtained from said decoding and generating means by decoding a target instruction accessed by a target address obtained from a branch instruction, for storing content of the target instruction, and for storing an address of said branch instruction, said first memory stores said control information, said content of said target instruction and said address of said branch instruction before re-executing the branch instruction, said first memory further includes means for reading out said control information and said content of the target instruction in response to the address of said branch instruction and for sending said read out control information and said read out content of the target instruction to said means for executing without an additional fetch of the target instruction from said main storage when re-executing the branch instruction.
Claim 21
Dependent Claim 265 words
A microprocessor for use with a main storage in a data processing system with instructions to be executed by the microprocessor being stored in the main storage, the microprocessor comprising: means, coupled to the main storage, for fetching instructions from said main storage; decoding and generating means, coupled to the means for fetching, for decoding the instructions fetched by the means for fetching and for generating control information for executing the instructions; means, coupled to the decoding and generating means, for executing the instructions in response to the control information generated by the decoding and generating means; said means for fetching, said means for decoding and generating, and said means for executing operating in parallel to perform pipeline data processing; and said decoding and generating means including a first memory for storing said control information, obtained from said decoding and generating means by decoding a target instruction accessed by a target address obtained from a branch instruction, for storing content of the target instruction, and for storing an address of said branch instruction, said first memory stores said control information, said content of said target instruction and said address of said branch instruction before re-executing the branch instruction, said first memory further includes means for reading out said control information and said content of the target instruction in response to the address of said branch instruction and for sending said read out control information and said read out content of the target instruction to said means for executing without an additional fetch of the target instruction from said main storage when re-executing the branch instruction.
Claim 22
Dependent Claim 79 words
A microprocessor in accordance with claim 17, wherein said first memory is an associative memory, the control information and the content of the target instruction are written in data fields of the associative memory, the address of the branch instruction is written in an index field of the associative memory, and wherein the control information, the content of the target instruction and the address of the branch instruction are written into the associative memory by a single entry number.
Claim 23
Dependent Claim 92 words
A microprocessor in accordance with claim 17, wherein said decoding and generating means includes means for sending a signal for requesting an instruction to be decoded to said means for fetching when said first memory has been accessed with the address of a branch instruction and no address of the branch instruction exists in the first memory and said means for sending a signal does not send a signal when said first memory has been accessed with the address of the branch instruction and the address of the branch instruction exists therein.
Claim 24
Dependent Claim 26 words
A microprocessor in accordance with claim 1, wherein said means for executing executes said target instruction according to the control information stored in said first memory.
Claim 25
Dependent Claim 34 words
A microprocessor in accordance with claim 17, wherein said means for fetching further includes: a second memory for storing a plurality of instructions and a plurality of addresses corresponding to said plurality of instructions.
Claim 26
Dependent Claim 290 words
A microprocessor for use with a main storage in a data processing system with instructions to be executed by the microprocessor being stored in said main storage, said microprocessor comprising: means, coupled to the main storage, for fetching instructions from said main storage; decoding and generating means, coupled to the means for fetching, for decoding the instructions fetched by the means for fetching and for generating control information for executing the instructions; means, coupled to the decoding and generating means, for executing the instructions in response to the control information generated by the decoding and generating means; said means for fetching, said means for decoding and generating, and said means for executing operating in parallel to perform pipeline data processing; and said decoding and generating means including a first memory for storing content of a target instruction accessed by a target address obtained from a branch instruction, for storing an address of an instruction immediately following the address of the target instruction, and for storing an address of said branch instruction, said first memory stores said content of said target instruction, said address of said instruction immediately following said target instruction and said address of said branch instruction before re-executing the branch instruction, said first memory further includes means for reading out said content of the target instruction and said address of said instruction immediately following said target instruction in response to the address of said branch instruction, for sending said read out content of the target instruction to said means for executing, and for sending said read out address of said instruction immediately following said target instruction to said means for fetching without an additional fetch of the target instruction from said main storage when re-executing the branch instruction.
Claim 27
Dependent Claim 290 words
A microprocessor for use with a main storage in a data processing system with instructions to be executed by the microprocessor being stored in said main storage, said microprocessor comprising: means, coupled to the main storage, for fetching instructions from said main storage; decoding and generating means, coupled to the means for fetching, for decoding the instructions fetched by the means for fetching and for generating control information for executing the instructions; means, coupled to the decoding and generating means, for executing the instructions in response to the control information generated by the decoding and generating means; said means for fetching, said means for decoding and generating, and said means for executing operating in parallel to perform pipeline data processing; and said decoding and generating means including a first memory for storing content of a target instruction accessed by a target address obtained from a branch instruction, for storing an address of an instruction immediately following the address of the target instruction, and for storing an address of said branch instruction, said first memory stores said content of said target instruction, said address of said instruction immediately following said target instruction and said address of said branch instruction before re-executing the branch instruction, said first memory further includes means for reading out said content of the target instruction and said address of said instruction immediately following said target instruction in response to the address of said branch instruction, for sending said read out content of the target instruction to said means for executing, and for sending said read out address of said instruction immediately following said target instruction to said means for fetching without an additional fetch of the target instruction from said main storage when re-executing the branch instruction.
Claim 28
Dependent Claim 99 words
A microprocessor in accordance with claim 22, wherein said first memory is an associative memory, the content of the target instruction and the address of an instruction immediately following the address of the target instruction are written in data fields of the associative memory, the address of the branch instruction is written in an index field of the associative memory, and wherein, the content of the target instruction, the address of the instruction immediately following the address of the target instruction and the address of the branch instruction are written into the associative memory by a single entry number.
Claim 29
Dependent Claim 92 words
A microprocessor in accordance with claim 22, wherein said decoding and generating means includes means for sending a signal for requesting an instruction to be decoded to said means for fetching when said first memory has been accessed with the address of a branch instruction and no address of the branch instruction exists in the first memory and said means for sending a signal does not send a signal when said first memory has been accessed with the address of the branch instruction and the address of the branch instruction exists therein.
Claim 30
Dependent Claim 41 words
A microprocessor in accordance with claim 27, wherein said first memory further stores control information, obtained by decoding said target instruction and wherein said means for executing executes said target instruction according to the control information stored in the first memory.
Claim 31
Dependent Claim 34 words
A microprocessor in accordance with claim 22, wherein said means for fetching further includes: a second memory for storing a plurality of instructions and a plurality of addresses corresponding to said plurality of instructions.
Claim 32
Dependent Claim 341 words
A microprocessor for use with a main storage in a data processing system with instructions to be executed by the microprocessor being stored in said main storage, said microprocessor comprising: means, coupled to the main storage, for fetching instructions from said main storage; decoding and generating means, coupled to the means for fetching, for decoding the instructions fetched by the means for fetching and for generating control information for executing the instructions; means, coupled to the decoding and generating means, for executing the instructions in response to the control information generated by the decoding and generating means; said means for fetching, said means for decoding and generating, and the means for executing operating in parallel to perform pipeline data processing; and said decoding and generating means including a first memory for storing said control information obtained from said decoding and generating means by decoding a target instruction accessed by a target address obtained from a branch instruction, for storing content of the target instruction, for storing the address of the target instruction, and for storing an address of said branch instruction, said first memory stores said control information, said content of said target instruction, said address of said target instruction and said address of said branch instruction before re-executing the branch instruction, said first memory further includes means for reading out said control information, said content of the target instruction and said address of said target instruction in response to the address of said branch instruction, and for sending said read out address of said target instruction to comparator means, said comparator means compares said read out address of said target instruction with an address of said target instruction generated from said means for executing, when a coincidence is detected by said comparator means, said read out control information and said read out content of the target instruction are sent to said means for executing in response to an output of said comparator means without an additional fetch of the target instruction from the main storage when re-executing the branch instruction.
Claim 33
Dependent Claim 341 words
A microprocessor for use with a main storage in a data processing system with instructions to be executed by the microprocessor being stored in said main storage, said microprocessor comprising: means, coupled to the main storage, for fetching instructions from said main storage; decoding and generating means, coupled to the means for fetching, for decoding the instructions fetched by the means for fetching and for generating control information for executing the instructions; means, coupled to the decoding and generating means, for executing the instructions in response to the control information generated by the decoding and generating means; said means for fetching, said means for decoding and generating, and the means for executing operating in parallel to perform pipeline data processing; and said decoding and generating means including a first memory for storing said control information obtained from said decoding and generating means by decoding a target instruction accessed by a target address obtained from a branch instruction, for storing content of the target instruction, for storing the address of the target instruction, and for storing an address of said branch instruction, said first memory stores said control information, said content of said target instruction, said address of said target instruction and said address of said branch instruction before re-executing the branch instruction, said first memory further includes means for reading out said control information, said content of the target instruction and said address of said target instruction in response to the address of said branch instruction, and for sending said read out address of said target instruction to comparator means, said comparator means compares said read out address of said target instruction with an address of said target instruction generated from said means for executing, when a coincidence is detected by said comparator means, said read out control information and said read out content of the target instruction are sent to said means for executing in response to an output of said comparator means without an additional fetch of the target instruction from the main storage when re-executing the branch instruction.
Claim 34
Dependent Claim 85 words
A microprocessor in accordance with claim 27, wherein said first memory is an associative memory, the control information and the content of the target instruction are written in data fields of the associative memory, the address of the branch instruction is written in an index field of the associative memory, and wherein the control information, the content of the target instruction, the address of the target instruction and the address of the branch instruction are written into the associative memory by a single entry number.
Claim 35
Dependent Claim 92 words
A microprocessor in accordance with claim 27 wherein said decoding and generating means includes means for sending a signal for requesting an instruction to be decoded to said means for fetching when said first memory has been accessed with the address of a branch instruction and no address of the branch instruction exists in the first memory and said means for sending a signal does not send a signal when said first memory has been accessed with the address of the branch instruction and the address of the branch instruction exists therein.
Claim 36
Dependent Claim 25 words
A microprocessor in accordance with claim 27, wherein said means for executing executes target instruction according to the control information stored in said first memory.
Claim 37
Dependent Claim 35 words
A microprocessor in accordance with claim 28, wherein the address of the target instruction read out from said first memory is compared with an address of a next instruction calculated by said means for executing.
Claim 38
Dependent Claim 34 words
A microprocessor in accordance with claim 27, wherein said means for fetching further includes: a second memory for storing a plurality of instructions and a plurality of addresses corresponding to said plurality of instructions.

References Cited (Backward Citations)

US3559183A Cited
US3940741A Cited
JPS56123041A Cited
US4477872A Cited
JPS5920049A Cited
US4604691A Cited
US4594659A Cited
US4626988A Cited
US4566063A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1993-03-26 1993-09-25 1994-03-27 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1997-03-26 1997-09-25 1998-03-27 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2001-03-26 2001-09-25 2002-03-27 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag