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

Program counter and indirect address calculation system which concurrently performs updating of a program counter and generation of an effective address

Assignee: NEC Electronics Corp
•
Filing: 1991-09-04
•
Granted: 1993-07-06
•
Expires: 2011-09-04
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A processor capable of processing a variable word length instruction has a program counter controlled to indicate the head of an instruction by the value of the program counter. There are provided an adder for summing the length of decoded portions in the variable word length instruction in accordance with the progress of the instruction decoding, and another adder for adding the length of the decoded instruction portions to the program counter so as to update the program counter. Further, there is provided a circuit for calculating an operand effective address by using the value of the program counter in the course of the variable word length instruction decoding. Thus, the updating of the program counter and the generation of the effective address are concurrently executed.

Inventors

  • 👤 Yasushi Ooi
  • 👤 Yoshikuni Sato

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 20:47
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/34; G06F9/355; G06F9/30145; G06F9/30149; G06F9/32; G06F9/321; G06F9/3557

Claims Analysis

Total Claims: 8
Claim 1
Independent Claim 220 words
A processor including an instruction decoder receiving an instruction of a variable word length for generating a decoded instruction, and a program counter for indicating an instruction address to be read, said processor allowing a program to be located at any desired location within an address space and also allowing addressing a program with a relative reference to a value of said program counter, said processor comprising: first means for receiving said decoded instruction from said instruction decoder and for summing respective lengths of decoded portions of said instruction of variable word length as instruction decoding proceeds, said first means outputting a total length of said decoded portions of said instruction of variable word length; second means for receiving said total length outputted from said first means and for adding said total length of said decoded portions to a value of said program counter to update said program counter; third means for receiving said value of said program counter to execute an effective address calculation, using said value of said program counter as it existed before said updating of said program counter, for a next instruction; and fourth means, coupled to receive decoded information from said instruction decoder and also coupled to said second means and to said third means, for independently controlling said second means and said third means.
Claim 2
Dependent Claim 220 words
A processor including an instruction decoder receiving an instruction of a variable word length for generating a decoded instruction, and a program counter for indicating an instruction address to be read, said processor allowing a program to be located at any desired location within an address space and also allowing addressing a program with a relative reference to a value of said program counter, said processor comprising: first means for receiving said decoded instruction from said instruction decoder and for summing respective lengths of decoded portions of said instruction of variable word length as instruction decoding proceeds, said first means outputting a total length of said decoded portions of said instruction of variable word length; second means for receiving said total length outputted from said first means and for adding said total length of said decoded portions to a value of said program counter to update said program counter; third means for receiving said value of said program counter to execute an effective address calculation, using said value of said program counter as it existed before said updating of said program counter, for a next instruction; and fourth means, coupled to receive decoded information from said instruction decoder and also coupled to said second means and to said third means, for independently controlling said second means and said third means.
Claim 3
Dependent Claim 278 words
A processor comprising: a program counter coupled to a first bus through which an instruction is supplied and a second bus through which an effective address is supplied, said program counter associated with a first adder for updating a content of said program counter; a register file coupled to said first bus and to said second bus for operatively latching a displacement on said first bus and a value of said program counter supplied on said second bus; an effective address calculation adder coupled to said register file to produce a sum of said displacement and said value of said program counter as a calculated effective address; an effective address latch coupled to said effective address calculation adder for outputting a calculated effective address to said second bus; an instruction decoder coupled to said first bus for generating decoded data; an instruction request controller coupled to receive said decoded data; an instruction request total byte number generator, coupled to receive said decoded data, to generated total byte number information; a program counter update controller controlled by said instruction request controller to control updating of said program counter; a program counter offset supplying means, coupled to said instruction request total byte number generator and to said program counter update controller, to supply an offset value to said first adder associated with said program counter; an effective address generation controller, coupled to receive said decoded data, for controlling said register file and said effective address calculation adder; and a sequencer for enabling said program counter update controller and said effective address generation controller simultaneously such that updating of said program counter and generation of said effective address are concurrently executed.
Claim 4
Dependent Claim 278 words
A processor comprising: a program counter coupled to a first bus through which an instruction is supplied and a second bus through which an effective address is supplied, said program counter associated with a first adder for updating a content of said program counter; a register file coupled to said first bus and to said second bus for operatively latching a displacement on said first bus and a value of said program counter supplied on said second bus; an effective address calculation adder coupled to said register file to produce a sum of said displacement and said value of said program counter as a calculated effective address; an effective address latch coupled to said effective address calculation adder for outputting a calculated effective address to said second bus; an instruction decoder coupled to said first bus for generating decoded data; an instruction request controller coupled to receive said decoded data; an instruction request total byte number generator, coupled to receive said decoded data, to generated total byte number information; a program counter update controller controlled by said instruction request controller to control updating of said program counter; a program counter offset supplying means, coupled to said instruction request total byte number generator and to said program counter update controller, to supply an offset value to said first adder associated with said program counter; an effective address generation controller, coupled to receive said decoded data, for controlling said register file and said effective address calculation adder; and a sequencer for enabling said program counter update controller and said effective address generation controller simultaneously such that updating of said program counter and generation of said effective address are concurrently executed.
Claim 5
Dependent Claim 308 words
A processor for processing an instruction of a variable word length, said processor including an instruction decoder receiving said instruction of variable word length for generating a decoded instruction, and a program counter controlled to indicate a beginning of an instruction to be decoded by a value of said program counter, said processor allowing a program to be located at any desired location within an address space and also allowing addressing a program with a relative reference to said value of said program counter, said processor comprising: first means for receiving said decoded instruction from said instruction decoder and for summing respective lengths of decoded portions of said instruction of variable word length as instruction decoding proceeds, said first means outputting a total length of said decoded portions of said instruction of variable word length; second means, coupled to said program counter, for receiving said total length outputted from said first means and for supplying and adding said total length of said decoded portions to a value of said program counter so as to update said program counter after a decoding of said instruction of variable word length; third means for receiving said value of said program counter as it exists prior to said updating by said second means and a relative address information portion of said decoded instruction and for generating a sum of said value of said program counter as it exists prior to said updating by said second means and said relative address information portion as a program counter relative operand effective address in the course of said decoding of said instruction of variable word length; and a control unit for enabling said second means and said third means simultaneously so that updating of said program counter and generation of said effective address based on an original value of said program counter are concurrently executed.
Claim 6
Dependent Claim 308 words
A processor for processing an instruction of a variable word length, said processor including an instruction decoder receiving said instruction of variable word length for generating a decoded instruction, and a program counter controlled to indicate a beginning of an instruction to be decoded by a value of said program counter, said processor allowing a program to be located at any desired location within an address space and also allowing addressing a program with a relative reference to said value of said program counter, said processor comprising: first means for receiving said decoded instruction from said instruction decoder and for summing respective lengths of decoded portions of said instruction of variable word length as instruction decoding proceeds, said first means outputting a total length of said decoded portions of said instruction of variable word length; second means, coupled to said program counter, for receiving said total length outputted from said first means and for supplying and adding said total length of said decoded portions to a value of said program counter so as to update said program counter after a decoding of said instruction of variable word length; third means for receiving said value of said program counter as it exists prior to said updating by said second means and a relative address information portion of said decoded instruction and for generating a sum of said value of said program counter as it exists prior to said updating by said second means and said relative address information portion as a program counter relative operand effective address in the course of said decoding of said instruction of variable word length; and a control unit for enabling said second means and said third means simultaneously so that updating of said program counter and generation of said effective address based on an original value of said program counter are concurrently executed.
Claim 7
Dependent Claim 51 words
A processor claimed in claim 3 wherein said third means is connected to receive said value of said program counter and displacement information included in said decoded instruction and operates to add said displacement information to said value of said program counter for generating said program counter relative operand effective address.
Claim 8
Dependent Claim 41 words
A processor claimed in claim 3 further including an adder coupled to said program counter only for offsetting said program counter so that the number or time of long bit data addition made directly to said program counter can be decreased.

References Cited (Backward Citations)

US3728692A Cited
US3840861A Cited
US4079455A Cited
US4240139A Cited
US4315314A Cited
US4255785A Cited
US4236206A Cited
US4694391A Cited
US4677547A Cited
US4760519A Cited
US4777594A Cited
US4819165A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-07-05 1997-01-04 1997-07-06 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-07-05 2001-01-04 2001-07-06 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-07-05 2005-01-04 2005-07-06 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag