DETAILED ACTION
Claims 1-5, 8, and 21-34 have been examined.
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 .
Specification
The lengthy specification has not been checked to the extent necessary to determine the presence of all possible minor errors. Applicant’s cooperation is requested in correcting any errors of which applicant may become aware in the specification.
Claim Interpretation
At least one claim is identified as including non-limiting contingent limitations. “The broadest reasonable interpretation of a method (or process) claim having contingent limitations requires only those steps that must be performed and does not include steps that are not required to be performed because the condition(s) precedent are not met.” “The broadest reasonable interpretation of a system (or apparatus or product) claim having structure that performs a function, which only needs to occur if a condition precedent is met, requires structure for performing the function should the condition occur. The system claim interpretation differs from a method claim interpretation because the claimed structure must be present in the system regardless of whether the condition is met and the function is actually performed.” See MPEP 2111.04(II).
Regarding claim 1, the incrementing step does not occur if the communication issued signal is never received (or before it is received). Furthermore, the dispatching step does not occur because, under one interpretation, it relies on the first count that is incremented in the claimed manner. However, as stated, such an incremented first count need not exist. Even if the incremented first count is required to exist, the first count may have a value which prevents the dispatching (e.g. from FIG.5, it is the examiner’s understanding that if there is a dependent instruction, the dependent instruction would not be dispatched if the first counter value does not equal the second counter value. Similarly, it is the examiner’s understanding that if there is an independent instruction, the independent instruction would not be dispatched if the first counter value equals the second counter value). Thus, the broadest reasonable interpretation of the method of claim 1 merely includes lines 1-6. The examiner recommends rewording to remove at least one contingency. For instance, after lines 1-6, applicant could start a new paragraph and claim “receiving a communication issued signal indicating…”, and then follow with another new paragraph that claims “incrementing…responsive to receiving the communication issued signal”. These amendments would then require the method to perform the incrementing.
Regarding claim 33, the step of incrementing a second count does not occur if the communication served signal is never received (or before it is received). Thus, at its broadest, claim 33 is not any further limiting of claim 1 at its broadest.
Claims 2-5 include steps that are contingent because there need not be any additional instruction, because the dispatching need not occur in claim 1. Thus, at their broadest, claims 2-5 are not any further limiting of claim 1 at its broadest.
Claim 21, at its broadest, does not further limit claim 1 because the issued and served signals need not even exist in the method covered by claim 1.
In claim 22, the limitation starting after the last comma is deemed non-limiting because these signals may never be received (per interpretation of claims 1 and 33). What claim 22 is interpreted as claiming is that if the signals are received, they would be received on a sideband network. If applicant wants this to be limiting, applicant should claim it as a method step, i.e., “receiving the…signal from a sideband network…”
Claim 23 is not further limiting of claim 1 because the communication issued signal is not required by the method of claim 1, under its broadest interpretation. When the signal is required to exist, its prioritization would be limiting; however, when it doesn’t exist, the claim sets forth no additional limitation.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-5, 8, 21-31, and 33-34 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
The claims recite the following limitations for which there is a lack of antecedent basis:
In claim 1, “the data communications that provide the requested data”. Applicant has not previously set forth that the data communications provide the requested data.
In claim 33, “the data communications received”. Received data communications were never previously set forth.
In claim 33, “the data communications that include the requested data”. Does applicant mean --provide-- instead of “include”?
In claims 21-23, each instance of “the data communications” since claims 1 and 33 could be interpreted to set forth multiple sets of data communications.
In claim 26, “the data communications that provide the requested data” for similar reasoning given above.
In claims 28, last line, “the data communications” since claim 26 could be interpreted to set forth multiple sets of data communications (based on the basis issue in claim 26).
In claim 29, 2nd to last line, “the data communications” since claim 26 could be interpreted to set forth multiple sets of data communications (based on the basis issue in claim 26).
In claim 34, “the data communications received”. Received data communications were never previously set forth.
In claim 34, “the data communications that include the requested data”. Does applicant mean --provide-- instead of “include”?
In claims 30-31, each instance of “the data communications” since claims 26 and 34 could be interpreted to set forth multiple sets of data communications.
Claims 2-5, 8, 21-25, 27-31, and 33-34 are rejected due to their dependence on an indefinite claim.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1, 33, 2-5, and 21-24 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Gupta et al., “Hybrid Multithreading for VLIW Processors”, ACM, 2009, pp.37-46.
Referring to claim 1, Gupta has taught a method comprising:
dispatching, to a plurality of processing elements of a very long instruction word machine, a first instruction that causes at least one destination processing element of the very long instruction word machine to request data from at least one source processing element of the very long instruction word machine as part of a dynamic communication pattern (see Figures 1-2. In a multi-threaded VLIW machine, a VLIW instruction is dispatched to multiple processing elements. From section 5, 2nd paragraph, one such processing element may be a load/store unit (at least part of a destination processing element) to which a load (ld) instruction (first instruction) is dispatched in order to request data from memory (at least part of a source processing element), e.g. DRAM (section 5, 3rd paragraph), for storage to a register in a register file (section 1, 1st paragraph, and/or section 5, 2nd paragraph). Note that “processing element” is broad and that memory is an element of the processing system and, thus, a “processing element”);
(note that struck-through limitations are not required to be taught by the prior art due to contingency).
Referring to claim 33, Gupta has taught the method of claim 1 (see the rejection of claim 1). (again, struck through language is not required by the prior art).
Referring to claim 2, Gupta has taught the method of claim 33 (see the rejection of claim 33)(again, struck through language is not required by the prior art).
Referring to claim 3, Gupta has taught the method of claim 2 (see the rejection of claim 2) (again, struck through language is not required by the prior art).
Referring to claim 4, Gupta has taught the method of claim 33 (see the rejection of claim 33)(again, struck through language is not required by the prior art).
Referring to claim 5, Gupta has taught the method of claim 4 (see the rejection of claim 4)(again, struck through language is not required by the prior art).
Referring to claim 21, Gupta has taught the method of claim 33 (see the rejection of claim 33)(again, struck through language is not required by the prior art).
Referring to claim 22, Gupta has taught the method of claim 33, wherein the plurality of processing elements are arranged in an array (VLIW is an array of processing elements to execute multiple operations at once in different processing elements. This is the known nature of VLIW) having a network of data paths facilitating the data communications between the at least one source processing element and the at least one destination processing element (for data to travel between memory and destination processing elements, a path must exist to send a request to memory and to send data from memory to a register. And, since any of the threads can execute a communications instruction (e.g. load/store, as shown in FIG.2 of Gupta), then each execution unit in the array would have a path to make a request, thereby realizing a network of paths)(again, struck through language is not required by the prior art).
Referring to claim 23, Gupta has taught the method of claim 33 (see the rejection of claim 33)(again, struck through language is not required by the prior art).
Referring to claim 24, Gupta has taught the method of claim 1, further comprising dispatching one or more statically scheduled instructions to the at least one destination processing element (see section 4.2. Gupta has taught both dynamic and static scheduling embodiments for scheduling instructions to a destination element (execution unit plus register file)), the one or more statically scheduled instructions encoded with a first indication of a number of instruction cycles that the at least one destination processing element will be occupied processing the one or more statically scheduled instructions (see section 5, 2nd paragraph. Each instruction includes an opcode encoding that indicates the type of instruction and number of cycles it will take. For instance, a multiply opcode (FIG.2, “mpy”) is an indication that a destination element will be occupied for 2 cycles, whereas an “add” opcode would indicate 1 cycle occupation).
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.
Claim 25 is rejected under 35 U.S.C. 103 as being unpatentable over Gupta and the examiner’s taking of Official Notice.
Referring to claim 25, Gupta has taught the method of claim 24, but has not taught wherein the first instruction causes the at least one source processing element to stall issuing data communications to the at least one destination processing element until the number of instruction cycles have completed based on the first indication. However, Official Notice is taken that stalling a dependent instruction until a previous instruction is complete was well known in the art before applicant’s invention. Specifically, a known sequence of instructions would generate an arithmetic result and then store that result to memory. The result cannot be stored (i.e., the data cannot be communicated) until the result is generated. As such, where a multiply that takes multiple cycles is followed by a store to store the result of the multiple, the store must be stalled until the multiply completes so as to wait for the result to be generated. At this point, the data can be communicated from source to destination (which includes the memory). Note that source could be register file or memory (the former for a load and the latter for a store), as can the destination (the formed for a store and the latter for a load). As a result, in order to respect dependencies between instructions and ensure correct results, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Gupta such that the first instruction causes the at least one source processing element to stall issuing data communications to the at least one destination processing element until the number of instruction cycles have completed based on the first indication.
Allowable Subject Matter
Claims 26-32 and 34 are allowed over the prior art. Please address any remaining non-prior art issues.
The following is a statement of reasons for the indication of allowable subject matter:
Regarding claim 26, the prior art of record has not taught, either individually or in combination, and together with all other claimed features, a first instruction that causes at least one destination processing element of the very long instruction word machine to request data from at least one source processing element of the very long instruction word machine, and incrementing a first count of data communications issued by the at least one source processing element responsive to receiving a communication issued signal indicating that the at least one source processing element issued one or more of the data communications that provide the requested data to the at least one destination processing element in connection with processing the first instruction. In the prior art of record, this would require that a count be incremented when the memory outputs data in response to a load instruction. This is not taught by Du, which more broadly teaches to increment a count when a load request is made (FIG.3, steps 314-316). When a load request is made is not the same as when a memory outputs data in response to a load request. There is also no reason to modify Du to increment upon memory output instead of upon load request because one of ordinary skill in the art would recognize that such a change could be to the detriment of Du. In Du, a positive count means that not all data has been received from memory and, thus, a dependent instruction is not scheduled (since the data it needs to execute is unavailable). If Du waited to increment until after the data was outputted from memory, then a dependent instruction might be incorrectly dispatched between the time the request was made and the data was outputted from memory, which would result in loss of efficiency.
Claim 32 is indicated as allowable for similar reasoning.
Claim 8 is objected to as being dependent upon a rejected base claim, but would be allowable, at least over the prior art, if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Response to Amendments/Arguments
The examiner agrees with applicant’s arguments for the independent claims and has therefore withdrawn the rejections. Any dependent claim arguments are moot. New 112 rejections have been made based on amendments.
Conclusion
The following prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
Katori, 5,513,321, has taught incrementing a count when data is output from a memory, and decrementing the count when a transfer allowance signal is received.
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 David J. Huisman whose telephone number is 571-272-4168. The examiner can normally be reached on Monday-Friday, 9:00 am-5:30 pm.
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.
/David J. Huisman/Primary Examiner, Art Unit 2183