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

Pipeline microcomputer having branch instruction detector and bus controller for producing and carrying branch destination address prior to instruction execution

Assignee: NEC Electronics Corp
•
Filing: 1989-11-27
•
Granted: 1992-03-24
•
Expires: 2009-11-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In a microcomputer for use in combination with a memory which memorizes a sequence of instruction codes including branch instruction codes and ordinary instruction codes, each instruction is prefetched from the memory to a bus controller and monitored by a branch destination address calculator to detect whether or not each instruction code specifies the branch instruction code to calculate a branch destination address indicated by the branch destination address. Such calculation of the branch destination address is carried out before the branch instruction code is fed to an execution unit through an instruction code memory and executed by the execution unit indepenently of prefetch operation in the bus controller. The branch destination address calculator comprises a branch instruction detection circuit for detecting a branch instruction code and an address calculation circuit for calculating the branch destination address when the branch instruction code by the branch instruction detection circuit.

Inventors

  • 👤 Masahiro Nomura

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 14:11
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3802; G06F9/3804

Claims Analysis

Total Claims: 5
Claim 1
Independent Claim 311 words
A microcomputer for use in combination with a memory which memorizes a sequence of instruction codes and a sequence of data signals, said instruction codes comprising ordinary instructions and branch instructions, said microcomputer comprising: (a) bus control means coupled to said memory for accessing said memory to selectively control a write-in operation and a readout operation of said memory and to thereby write and read each of the instruction codes and the data signals into and out of said memory as a write-in instruction code and a readout instruction code, respectively; (b) instruction code memorizing means coupled to said bus control means for successively memorizing said readout instruction code read out of said memory through said bus control means to produce the readout instruction code memorized therein as an execution instruction code; (c) instruction execution means successively supplied from said instruction code memorizing means with said execution instruction code for executing said execution instruction code in a pipeline fashion independently of said write-in and said readout operations carried out in said bus control means; (d) branch instruction detecting means, supplied with said readout instruction code from said bus control means, for detecting whether or not said readout instruction code specifies said branch instruction to produce a branch destination instruction request signal on detection of said branch instruction before said branch instruction is executed in said instruction execution means in said pipeline fashion; (e) address calculation means, supplied with said readout instruction code from said bus control means, for calculating a branch destination address of said memory from said readout instruction code; (f) means for supplying said branch destination address and said branch destination instruction request signal to said bus control means; and (g) said bus control means being for carrying out said readout operation from said branch destination address prior to execution of said branch instruction in said instruction execution means.
Claim 2
Dependent Claim 311 words
A microcomputer for use in combination with a memory which memorizes a sequence of instruction codes and a sequence of data signals, said instruction codes comprising ordinary instructions and branch instructions, said microcomputer comprising: (a) bus control means coupled to said memory for accessing said memory to selectively control a write-in operation and a readout operation of said memory and to thereby write and read each of the instruction codes and the data signals into and out of said memory as a write-in instruction code and a readout instruction code, respectively; (b) instruction code memorizing means coupled to said bus control means for successively memorizing said readout instruction code read out of said memory through said bus control means to produce the readout instruction code memorized therein as an execution instruction code; (c) instruction execution means successively supplied from said instruction code memorizing means with said execution instruction code for executing said execution instruction code in a pipeline fashion independently of said write-in and said readout operations carried out in said bus control means; (d) branch instruction detecting means, supplied with said readout instruction code from said bus control means, for detecting whether or not said readout instruction code specifies said branch instruction to produce a branch destination instruction request signal on detection of said branch instruction before said branch instruction is executed in said instruction execution means in said pipeline fashion; (e) address calculation means, supplied with said readout instruction code from said bus control means, for calculating a branch destination address of said memory from said readout instruction code; (f) means for supplying said branch destination address and said branch destination instruction request signal to said bus control means; and (g) said bus control means being for carrying out said readout operation from said branch destination address prior to execution of said branch instruction in said instruction execution means.
Claim 3
Dependent Claim 57 words
A microcomputer as claimed in claim 1, said branch destination address being defined by a sum of a reference address of the readout instruction and a displacement derived from the readout instruction, wherein said address calculation means comprises: means for storing said reference address; and means for calculating said sum of the reference address and said displacement.
Claim 4
Dependent Claim 411 words
A microcomputer for use in combination with a memory which memorizes a sequence of instruction codes and a sequence of data signals, said instruction codes comprising ordinary instructions and branch instructions, said microcomputer comprising: (a) bus control means coupled to said memory for accessing said memory to selectively control a write-in operation and a readout operation of said memory and to thereby write and read each of the instruction codes and the data signals into and out of said memory as a write-in instruction code and a readout instruction code, respectively; (b) instruction code memorizing means, coupled to said bus control means, for successively memorizing said readout instruction code read out of said memory through said bus control means to produce the readout instruction code memorized therein as an execution instruction code; (c) instruction execution means successively supplied from said instruction code memorizing means with said execution instruction code for executing said execution instruction code in a pipeline fashion independently of said write-in and said readout operations carried out in said bus control means; (d) branch instruction detecting means, supplied with said readout instruction code from said bus control means, for detecting whether or not said readout instruction code specifies said branch instruction to produce a branch destination instruction request signal on detection of said branch instruction before the branch instruction is executed in said instruction execution means in said pipeline fashion; (e) a pointer buffer for holding a reference address derived from said readout instruction code to produce a held reference address; (f) a buffer selector for selecting either one of said reference address and said held reference address to produce a first selected address; (g) a fixed value generator for generating a fixed value; (h) an additional selector, responsive to said fixed value and said readout instruction code sent from said bus control means and coupled to said branch instruction detecting means, for selecting either one of said fixed value and a readout address derived from said readout instruction code as a second selected address; (i) an address adder for summing up said first selected address and said second selected address to produce a sum address which specifies a branch destination address of said branch destination instruction code; and (j) means for supplying said sum address to said bus control means; (k) said bus control means being for carrying out said readout operation from said sum address prior to execution of said branch instruction in said instruction execution means.
Claim 5
Dependent Claim 411 words
A microcomputer for use in combination with a memory which memorizes a sequence of instruction codes and a sequence of data signals, said instruction codes comprising ordinary instructions and branch instructions, said microcomputer comprising: (a) bus control means coupled to said memory for accessing said memory to selectively control a write-in operation and a readout operation of said memory and to thereby write and read each of the instruction codes and the data signals into and out of said memory as a write-in instruction code and a readout instruction code, respectively; (b) instruction code memorizing means, coupled to said bus control means, for successively memorizing said readout instruction code read out of said memory through said bus control means to produce the readout instruction code memorized therein as an execution instruction code; (c) instruction execution means successively supplied from said instruction code memorizing means with said execution instruction code for executing said execution instruction code in a pipeline fashion independently of said write-in and said readout operations carried out in said bus control means; (d) branch instruction detecting means, supplied with said readout instruction code from said bus control means, for detecting whether or not said readout instruction code specifies said branch instruction to produce a branch destination instruction request signal on detection of said branch instruction before the branch instruction is executed in said instruction execution means in said pipeline fashion; (e) a pointer buffer for holding a reference address derived from said readout instruction code to produce a held reference address; (f) a buffer selector for selecting either one of said reference address and said held reference address to produce a first selected address; (g) a fixed value generator for generating a fixed value; (h) an additional selector, responsive to said fixed value and said readout instruction code sent from said bus control means and coupled to said branch instruction detecting means, for selecting either one of said fixed value and a readout address derived from said readout instruction code as a second selected address; (i) an address adder for summing up said first selected address and said second selected address to produce a sum address which specifies a branch destination address of said branch destination instruction code; and (j) means for supplying said sum address to said bus control means; (k) said bus control means being for carrying out said readout operation from said sum address prior to execution of said branch instruction in said instruction execution means.

References Cited (Backward Citations)

US3940741A Cited
US3881173A Cited
US4200927A Cited
US4719570A Cited
US4373180A Cited
US4604691A Cited
US4924377A Cited
US4764861A Cited
US4827402A Cited
US4954947A Cited
US4853840A Cited
US4881170A Cited
US4860197A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1995-03-24 1995-09-23 1996-03-24 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1999-03-24 1999-09-23 2000-03-24 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2003-03-24 2003-09-23 2004-03-24 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag