DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claims 1-5, 7, 9-13, and 15-20 have been amended.
Claims 1-20 have been examined.
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on February 18, 2026 has been entered.
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.
Claims 1-7, 9, 11-16, and 18-20 are rejected under 35 U.S.C. 103 as being unpatentable over US Publication No. 2008/0313443 by Terashima (as cited by Applicant and hereinafter referred to as “Terashima”).
Regarding claims 1, 9, and 16, taking claim 1 as representative, Terashima discloses:
a system, comprising: instruction fetch circuitry; decoder circuitry coupled to the instruction fetch circuitry (Terashima discloses, at Figure 1 and related description, fetching instructions, which discloses fetch circuitry, to a decoder, which discloses decoder circuitry coupled thereto.);
and condition aggregation circuitry coupled to the decoder circuitry (Terashima discloses, at Figure 1 and related description, a complex condition branching decision unit, which discloses condition aggregation circuitry coupled to the decoder.);
wherein the instruction fetch circuitry is capable of: fetching a conditional branch instruction from a memory, wherein the conditional branch instruction identifies multiple register locations and a condition aggregation operation, and wherein the condition aggregation operation comprises second-order condition checks (Terashima discloses, at Figure 1 and related description, fetching a complex conditional branch instruction. As disclosed at Figure 4 and related description, the complex conditional branch instruction specifies which comparisons are to be made, which discloses identifying multiple register locations, and a condition for branching, which discloses the aggregating comprises second-order condition checks.); and
providing the conditional branch instruction to the decoder circuitry (Terashima discloses, at Figure 1 and related description, decoding a complex conditional branch instruction.); and
wherein the decoder circuitry is capable of causing the condition aggregation circuitry to perform the second-order condition checks with respect to values stored in the multiple register locations, wherein the values include results of first-order condition checks…and wherein the second-order condition checks are performed in parallel (Terashima discloses, at Figure 4 and related description, the condition for branching involves performing multiple, i.e., second-order, checks with respect to the results of comparisons, which discloses values stored in the multiple register locations. Terashima also discloses, at Figure 3 and related description, parallel comparisons, which discloses the second-order condition checks are performed in parallel.); and
causing the condition aggregation circuitry to provide a result of the second- order condition checks… (Terashima discloses, at Figure 4 and related description, the condition for branching involves performing multiple, i.e., second-order, checks with respect to the results of comparisons, which discloses providing a result.).
Terashima does not explicitly disclose that the aforementioned first-order condition checks are performed by program control circuitry and the aforementioned providing of the result is to the program control circuitry.
However, Terashima discloses program control circuitry, such as conditional branching circuitry. See, e.g., Figure 10A and related description. Both the conditional branching circuitry and the complex conditional circuitry evaluate conditions. It would have been obvious to modify Terashima such that the conditional branching circuitry evaluated the conditions and received the complex condition evaluation results from the complex conditional circuitry. Doing so represents an obvious design choice, e.g., whether to have separate or integrated condition evaluation circuits. A person having ordinary skill in the art would have been motivated to make this modification for any of a number of reasons, such as reducing redundant components, increasing parallelism, and the like.
Regarding claim 2, Terashima discloses the elements of claim 1, as discussed above. Terashima also discloses:
the condition aggregation circuitry is capable of performing the second-order condition checks with respect to the values stored in the multiple register locations, and wherein the conditional branch instruction comprises an identifier for the condition aggregation operation that defines the second-order condition checks (Terashima discloses, at Figure 4 and related description, the complex conditional branching decision unit performs the second-order condition checks and the complex conditional branch comprises an identifier for the condition checks that are to be performed.).
Regarding claims 3 and 11, taking claim 3 as representative, Terashima discloses the elements of claim 1, as discussed above. Terashima also discloses:
the condition aggregation circuitry comprises look-up table (LUT) circuitry for performing the second-order condition checks, wherein input to the LUT circuitry comprises the identifier for the condition aggregation operation and the values from the multiple register locations, and wherein an output from the LUT circuitry comprises the result of the second-order condition checks (Terashima discloses, at Figure 2 and related description, a complex condition storage unit, which discloses a look-up table for performing the multiple condition checks. As disclosed at Figure 4 and related description, the looking up is performed using the branching value identified by the complex conditional branch instruction and the outputs from the complex condition storage unit.).
Regarding claims 4, 12, and 18, taking claim 4 as representative, Terashima discloses the elements of claim 1, as discussed above. Terashima also discloses:
prior to fetching the conditional branch instruction, the instruction fetch circuitry is capable of fetching multiple compare instructions from the memory, wherein the multiple compare instructions identify multiple comparison operations to be performed by arithmetic logic circuitry and wherein the multiple comparison operations comprise the first-order condition checks to be performed …(Terashima discloses, at Figure 5 and related description, processing a number of compare instructions prior to the conditional branch. The comparisons are understood to be performed by arithmetic logic circuitry.).
Terashima does not explicitly disclose that the aforementioned first-order condition checks are to be performed by program control circuitry.
However, Terashima discloses program control circuitry, such as conditional branching circuitry. See, e.g., Figure 10A and related description. Both the conditional branching circuitry and the complex conditional circuitry evaluate conditions. It would have been obvious to modify Terashima such that the complex conditions were evaluated by the conditional branching circuitry. Doing so represents an obvious design choice. A person having ordinary skill in the art would have been motivated to make this modification for any of a number of reasons, such as reducing redundant components, increasing parallelism, and the like.
Regarding claims 5, 13, and 19, taking claim 1 as representative, Terashima discloses the elements of claim 1, as discussed above. Terashima also discloses:
…performing the multiple comparison operations (Terashima discloses, at Figure 1 and related description, performing the comparisons.); and
providing comparison results of the multiple comparison operations… (Terashima discloses, at Figure 1 and related description, performing the comparisons, which discloses providing the results.; and
…performing the first-order condition checks with respect to the comparison results, wherein the first-order condition checks are performed in parallel (Terashima discloses, at Figure 1 and related description, determining the results of the comparisons, which discloses performing the first-order condition checks.); and
storing each one of the results of the first-order condition checks in a different one of the multiple register locations (Terashima discloses, at Figure 1 and related description, providing results from the comparisons and storing the results, i.e., in different register locations.).
Terashima does not explicitly disclose that the aforementioned providing the comparison results is to the program control circuitry and the aforementioned performing the checks and storing the results can be performed by performed by the program control circuitry.
However, Terashima discloses program control circuitry, such as conditional branching circuitry. See, e.g., Figure 10A and related description. Both the conditional branching circuitry and the complex conditional circuitry perform comparisons and evaluate conditions. Performing the comparisons is understood to be by arithmetic and logic circuitry that then provides the results. It would have been obvious to modify Terashima such that the conditional branching circuitry evaluated the conditions and received the complex condition evaluation results from the complex conditional circuitry. Doing so represents an obvious design choice, e.g., whether to have separate or integrated condition evaluation circuits. A person having ordinary skill in the art would have been motivated to make this modification for any of a number of reasons, such as reducing redundant components, increasing parallelism, and the like.
Regarding claims 6 and 14, taking claim 6 as representative, Terashima discloses the elements of claim 1, as discussed above. Terashima also discloses:
the second-order condition checks comprise a first condition check and a second condition check, and wherein the multiple register locations include a first register location and a second register location (Terashima discloses, at Figure 4 and related description, performing multiple checks for branching using comprarison results, i.e., register locations.).
Regarding claims 7, 15, and 20, taking claim 7 as representative, Terashima discloses the elements of claim 1, as discussed above. Terashima also discloses:
the LUT circuitry is capable of: determining if a first result stored in the first register location satisfies the first condition check and a second result stored in the second register location satisfies the second condition check (Terashima discloses, at Figure 4 and related description, performing complex condition checks, such as determining if each of three results are 1, and outputting false if not and true if so, which discloses using first and second results stored in first and second locations.);
outputting a false indication when the first result does not satisfy the first condition check (Terashima discloses, at Figure 4 and related description, performing complex condition checks, such as determining if each of three results are 1, and outputting false if not.);
outputting the false indication when the second result does not satisfy the second condition check (Terashima discloses, at Figure 4 and related description, performing complex condition checks, such as determining if each of three results are 1, and outputting false if not.); and
outputting a true indication when the first result satisfies the first condition check, and the second result satisfies the second condition check (Terashima discloses, at Figure 4 and related description, performing complex condition checks, such as determining if each of three results are 1, and outputting true if so, which discloses using first and second results stored in first and second locations. The number of conditions is arbitrary.).
Claims 8, 10, and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Terashima in view of US Patent No. 6,366,999 by Drabenstott et al. (hereinafter referred to as “Drabenstott”).
Regarding claims 8, 10, and 17, taking claim 8 as representative, Terashima discloses the elements of claim 1, as discussed above. Terashima does not explicitly disclose the identifier for the condition aggregation operation comprises a hexadecimal value.
However, in the same field of endeavor (e.g., conditional execution) Drabenstott discloses:
hexadecimal values (Drabenstott discloses, at Table 3, hexadecimal representations in instructions.).
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to modify Terashima to include hexadecimal representations, as disclosed by Drabenstott, in order to improve efficiency by providing a compact representational format.
Response to Arguments
On pages 9-10 of the response filed February 18, 2026 (“response”), the Applicant argues, “claim 1 has been amended to disclose the use of existing hardware for performing the first-order condition checks. As a result, Terashima fails to teach or suggest the limitations of amended claim 1. Instead, Terashima discloses the use of new hardware for performing the first-order condition checks of complex conditional branch instructions. For example, FIG. 1 of Terashima illustrates conditional branching circuitry for handling normal conditional branching operations and further illustrates complex conditional branching circuitry for handling complex conditional branching operations. The conditional branching circuitry of Terashima includes arithmetic/logic unit (ALU) 7, flag register 8, and conditional branching decision unit 9, while the complex conditional branching circuitry of Terashima includes complex condition setting storage unit 1, condition comparison unit 2, and complex condition branching decision unit 3. Accordingly, Terashima employs new circuitry for handling the first-order condition checks and second-order condition checks of a complex conditional branching instruction. More specifically, Terashima fails to employ the program control circuitry for performing the first-order condition checks of a complex conditional branching instruction. Instead, the program control circuitry of Terashima (i.e., selection 10, selector 11, and program counter (PC) 12) merely determines the next program location for branching.”
These remarks have been fully considered and, in light of the claim amendments presented in the response, are deemed persuasive, in part. Please see above for new grounds of rejection of the amended claims.
As an initial matter, the limitation “program control circuitry” is subject to broad interpretation. For example, Terashima’s condition comparison unit, as shown in Figure 1 and detailed in Figure 3, includes a variety of circuitry that could be reasonably interpreted as program control circuitry. Therefore, the Examiner disagrees with the Applicant’s limiting characterizations of, e.g., Terashima’s conditional branch path as existing hardware, Terashima’s complex conditional branch path as new hardware, and Terashima’s selectors and PC as program control hardware.
However, in order to expedite prosecution, the Examiner has changed the grounds of rejection to obviousness based on the teachings of Terashima. Terashima discloses multiple paths for executing conditional branches, i.e., the complex conditional path and the conditional path. Each of these paths involves performing comparisons and checking the results of the comparisons. It is a matter of design choice, dictated by circumstance, whether to use two separate comparison units, as disclosed by Terashima, for the different paths. It is an obvious alternative to have one comparison unit, e.g., ALU, perform all the comparisons, and supply those values that were needed by a complex conditional to the complex conditional path for further processing. It would have been obvious to modify Terashima such that the first-order condition checks were performed a single ALU that also performed checks for “non-complex” conditional branches and which provided the results of the first-order condition checks to the complex branching decision unit. The rationale motivating such modification is provided above. The Examiner submits that Terashima, as modified, discloses all elements of the amended claims.
Conclusion
The following prior art made of record and not relied upon is considered pertinent to Applicant’s disclosure.
US 20090177874 by Terashima discloses branch prediction circuitry having a condition comparison unit.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SHAWN DOMAN whose telephone number is (571)270-5677. The examiner can normally be reached on Monday through Friday 8:30am-6pm Eastern Time.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Jyoti Mehta can be reached on 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.
/SHAWN DOMAN/Primary Examiner, Art Unit 2183