Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Arguments
1. Applicant's arguments filed January 30th, 2026 have been fully considered but they are not persuasive.
Applicant argues that the cited references fail to teach the limitations of the independent claims as “Tu…handles [a] direct conditional jump” and “Henzinger…handles [an] indirect unconditional branch instruction”, and thus “it is impossible to use [Henzinger’s jump table and indirect register] in Tu’s processor 104 that handles direct conditional branch instructions”.
In response to the above argument, Examiner respectfully disagrees. Applicant’s arguments rely entirely upon the unsubstantiated assertion that the disclosure of Henzinger is exclusively applicable to “unconditional” branch or jump instructions. However, this assertion is entirely unsupported by the disclosure of Henzinger, which at no point makes any mention of the indirect jump instructions (Henzinger 2:48-49, indirect computed jump instruction) being “unconditional”. In fact, the disclosure of Henzinger is largely related to the routinely understood aspect of jump and other branch instructions of their conditions and targets being difficult to know or compute until program runtime (Henzinger Abstract, Background). While Henzinger does clearly relate to the handling of “indirect” jump instructions, Henzinger at no point in the disclosure states that such jumps are exclusively “unconditional”, as asserted by Applicant. Therefore, Applicant’s arguments are not considered persuasive and the rejections are maintained.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
2. Claims 1-13 are rejected under 35 U.S.C. 103 as being unpatentable over Tu et al (US 2014/0281440, herein Tu) in view of Henzinger et al (US 5,956,758, herein Henzinger).
Regarding claim 1, teaches a processor comprising a logic circuit configured to execute a conditional jump instruction of assembly code under indirect addressing using plural registers including a program counter as a table ([0027-0028], conditional jump using program counter based addressing), the processor being logically configured to execute after storing a jump-destination effective address, storing jump-destination effective addresses that differ from one another in memory space and have a possibility to be specified by a conditional jump instruction, or address offsets from a predetermined reference to jump-destination effective addresses that differ from one another in memory space and have a possibility to be specified by a conditional jump instruction, into plural reference registers respectively, and fetching and decoding a conditional jump instruction that is one instruction that quotes the register ([0047], [0051], [0056], [0068-0070], calculating effective jump address using bits from address registers and instruction);
a first step of acquiring a jump-destination effective address or an address offset from the reference register ([0045-0048], [0051], [0064], acquire address or offset), and;
a second step of setting the acquired jump-destination effective address, or a jump-destination effective address calculated from the acquired address offset, to a register serving as the program counter ([0045-0048], [0064], jump to acquired address).
Tu fails to teach the processor storing a destination address in an index register with an index register number, and acquiring the effective address or offset from the index register corresponding to the index register number.
Henzinger teaches a processor for executing a conditional jump instruction including storing a destination address in an index register with an index register number, and acquiring an effective address or address offset from the index register corresponding to the index register number (1:49-55, 2:48-63, using index register and values to stored and retrieve jump target addresses).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the teachings of Tu and Henzinger to utilize index registers in determining jump destination addresses. While Tu is primarily directed toward the process of correcting a mispredicted destination address of a conditional jump instruction, one of ordinary skill in the art would understand that the use of index registers and jump tables for executing correctly predicted or completed jump instructions is a routine and conventional aspect of the microprocessor art. Therefore, the combination would merely entail a simple substitution of known prior art elements to achieve predictable results, and would have been obvious to one of ordinary skill in the art.
Regarding claim 2, the combination of Tu and Henzinger teaches the processor as claimed in claim 1, logically configured to execute, after storing, into an index register, an index register number that is an index to a jump-destination effective address, storing jump-destination effective addresses that differ from one another in memory space and have a possibility to be specified by a conditional jump instruction into plural reference registers, respectively, and fetching and decoding a conditional jump instruction that is one instruction that quotes the index register: a first step of acquiring a jump-destination effective address from the reference register corresponding to the index register number that is a content of the index register; and a second step of setting the jump-destination effective address to a register serving as the program counter (Tu [0035], fetch and decode, [0047], [0051], [0056], [0068-0070], calculating effective jump address using bits from address registers and instruction & Henzinger 1:49-55, 2:48-63, using index register and values to stored and retrieve jump target addresses).
Regarding claim 3, the combination of Tu and Henzinger teaches the processor as claimed in claim 1, logically configured to execute, after storing, into an index register, an index register number that is an index to a jump-destination effective address, storing address offsets from the program counter to jump-destination effective addresses that differ from one another in memory space and have a possibility to be specified by a conditional jump instruction into plural reference registers, respectively, and fetching and decoding a conditional jump instruction that is one instruction that quotes the index register: a first step of acquiring an address offset from the reference register corresponding to the index register number that is a content of the index register; and a second step of setting, to a register serving as the program counter, a jump-destination effective address that is a result of adding the address offset to the program counter (Tu [0035], fetch and decode, [0047], [0051], [0056], [0068-0070], calculating effective jump address using bits from address registers, offsets, and instruction & Henzinger 1:49-55, 2:48-63, using index register and values to stored and retrieve jump target addresses).
Regarding claim 4, the combination of Tu and Henzinger teaches the processor as claimed in claim 1, logically configured to execute, after storing, into a base resister, a base address in memory space, storing, into an index register, an index register number that is an index to a jump-destination effective address, storing address offsets from the base address to jump-destination effective addresses that differ from one another in memory space and have a possibility to be specified by a conditional jump instruction into plural reference registers, respectively, and fetching and decoding a conditional jump instruction that is one instruction that quotes the index register and the base resister: a first step of acquiring an address offset from the reference register corresponding to the index register number that is a content of the index register; and a second step of setting, to a register serving as the program counter, a jump-destination effective address that is a result of adding the address offset to the base address of the base resister (Tu [0035], fetch and decode, [0047], [0051], [0056], [0068-0070], calculating effective jump address using bits from address registers, offsets, and instruction, base address used to calculate destination address & Henzinger 1:49-55, 2:48-63, using index register and values to stored and retrieve jump target addresses).
Regarding claim 5, the combination of Tu and Henzinger teaches the processor as claimed in claim 1, wherein the logic circuit is configured by a source code described in a hardware description language or by wired logic (Tu [0076], Henzinger 2:45).
Claims 6-9 refer to a medium embodiment including the limitations present in the processor embodiment of claims 1-4. Therefore, the above rejections for claims 1-4 are applicable to claims 6-9.
Claims 10-13 refer to a method embodiment including the limitations present in the processor embodiment of claims 1-4. Therefore, the above rejections for claims 1-4 are applicable to claims 10-13.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Pagni (US 2004/0225869) discloses a processor that handles conditioned jump instructions by using an index register.
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MICHAEL J METZGER whose telephone number is (571)272-3105. The examiner can normally be reached Monday-Friday 8:30-5.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Jyoti Mehta can be reached at 571-270-3995. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/MICHAEL J METZGER/ Primary Examiner, Art Unit 2183