Patents by Inventor Muhammad Umar FAROOQ
Muhammad Umar FAROOQ has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20240028241Abstract: There is provided a data processing apparatus in which decode circuitry receives a memory copy instruction containing an indication of a source area of memory, an indication of a destination area of memory, and an indication of a remaining copy length. In response to receiving the memory copy instruction, the decode circuitry generates at least one active memory copy operation or a null memory copy operation. The active memory copy operation causes one or more execution units to perform a memory copy from part of the source area of memory to part of the destination area of memory and the null memory copy operation leaves the destination area of memory unmodified.Type: ApplicationFiled: July 22, 2022Publication date: January 25, 2024Inventors: Yasuo ISHII, Steven Daniel MACLEAN, Nicholas Andrew PLANTE, Muhammad Umar FAROOQ, Michael Brian SCHINZLER, Nicholas Todd HUMPHRIES, Glen Andrew HARRIS
-
Patent number: 11748105Abstract: Aspects of the present disclosure relate an apparatus comprising fetch circuitry and instruction storage circuitry. The fetch circuitry is to fetch instructions for execution by execution circuitry. The instruction storage circuitry is to store temporary copies of fetched instructions. The fetch circuitry is configured to preferentially fetch instructions from the instruction storage circuitry. The instruction storage circuitry is configured to, responsive to a storage condition being met, begin storing copies of consecutive fetched instructions, the storage condition indicating a utility of a current fetched instruction; and to, responsive to determining that a number of said stored consecutive instructions has reached a storage threshold, cease storing copies of subsequent fetched instructions.Type: GrantFiled: April 27, 2021Date of Patent: September 5, 2023Assignee: Arm LimitedInventors: Michael Brian Schinzler, Muhammad Umar Farooq, Yasuo Ishii
-
Publication number: 20230195466Abstract: A data processing apparatus is provided that comprises rename circuitry for performing a register rename stage of a pipeline in respect of a stream of operations. Move elimination circuitry performs a move elimination operation on the stream of operations in which a move operation is eliminated and the register rename stage performs an adjustment of an identity of registers in the stream of operations to compensate for the move operation being eliminated and demotion circuitry reverses or inhibits the adjustment in response to one or more conditions being met.Type: ApplicationFiled: December 17, 2021Publication date: June 22, 2023Inventors: Yasuo ISHII, Muhammad Umar FAROOQ, William Elton BURKY, Michael Brian SCHINZLER, Jason Lee SETTER, David Gum LIM
-
Publication number: 20230151161Abstract: Heating of rubber products during processing produces odours which may be abated by commingling the rubber product with fabric softener. The fabric softener may be commingled with the rubber product via a dip tank filled with fabric softener solution, by applying fabric softener to the rubber product prior to heating/processing the rubber product, by injecting the fabric softener into an extruder that is heating/processing the rubber product, and by treating the by-product exiting the side stream of the extruder.Type: ApplicationFiled: April 9, 2021Publication date: May 18, 2023Inventor: Muhammad Umar FAROOQ
-
Patent number: 11526359Abstract: A data processing apparatus is provided that includes global-history prediction circuitry that provides a prediction of an outcome of a given control flow instruction based on a result of execution of one or more previous control flow instructions. Correction circuitry provides a corrected prediction of the global-history prediction circuitry in respect of the given control flow instruction and cache circuitry, separate from the correction circuitry, stores the corrected prediction in respect of the given control flow instruction.Type: GrantFiled: October 3, 2018Date of Patent: December 13, 2022Assignee: Arm LimitedInventors: Yasuo Ishii, Muhammad Umar Farooq, Chris Abernathy
-
Patent number: 11507372Abstract: An apparatus and method are provided for processing instructions fetched from memory. Decode circuitry is used to decode the fetched instructions in order to produce decoded instructions, and downstream circuitry then processes the decoded instructions in order to perform the operations specified by those decoded instructions. Dispatch circuitry is arranged to dispatch to the downstream circuitry up to N decoded instructions per dispatch cycle, and is arranged to determine, based on a given candidate sequence of decoded instructions being considered for dispatch in a given dispatch cycle, whether at least one resource conflict within the downstream circuitry would occur in the event that the given candidate sequence of decoded instructions is dispatched in the given dispatch cycle.Type: GrantFiled: October 7, 2020Date of Patent: November 22, 2022Assignee: Arm LimitedInventors: Michael Brian Schinzler, Yasuo Ishii, Muhammad Umar Farooq, Jason Lee Setter
-
Publication number: 20220342671Abstract: Aspects of the present disclosure relate an apparatus comprising fetch circuitry and instruction storage circuitry. The fetch circuitry is to fetch instructions for execution by execution circuitry. The instruction storage circuitry is to store temporary copies of fetched instructions. The fetch circuitry is configured to preferentially fetch instructions from the instruction storage circuitry. The instruction storage circuitry is configured to, responsive to a storage condition being met, begin storing copies of consecutive fetched instructions, the storage condition indicating a utility of a current fetched instruction; and to, responsive to determining that a number of said stored consecutive instructions has reached a storage threshold, cease storing copies of subsequent fetched instructions.Type: ApplicationFiled: April 27, 2021Publication date: October 27, 2022Inventors: Michael Brian SCHINZLER, Muhammad Umar FAROOQ, Yasuo ISHII
-
Patent number: 11455253Abstract: An apparatus comprises first-level and second-level set-associative caches each comprising the same number of sets of cache entries. Indexing circuitry generates, based on a lookup address, a set index identifying which set of the first-level set-associative cache or the second-level set-associative cache is a selected set of cache entries to be looked up for information associated with the lookup address. The indexing circuitry generates the set index using an indexing scheme which maps the lookup address to the same set index for both the first-level set-associative cache and the second-level set-associative cache. This can make migration of cached information between the cache levels more efficient, which can be particularly useful for caches with high access frequency, such as branch target buffers for a branch predictor.Type: GrantFiled: October 1, 2020Date of Patent: September 27, 2022Assignee: Arm LimitedInventors: Yasuo Ishii, James David Dundas, Chang Joo Lee, Muhammad Umar Farooq
-
Patent number: 11379239Abstract: An apparatus and method are provided for making predictions for instruction flow changing instructions. The apparatus has a fetch queue that identifies a sequence of instructions to be fetched for execution by execution circuitry, and prediction circuitry for making predictions in respect of instruction flow changing instructions, and for controlling which instructions are identified in the fetch queue in dependence on the predictions. The prediction circuitry has a target prediction storage used to identify target addresses for instruction flow changing instructions that are predicted as taken.Type: GrantFiled: March 26, 2019Date of Patent: July 5, 2022Assignee: Arm LimitedInventors: Yasuo Ishii, Muhammad Umar Farooq
-
Patent number: 11334361Abstract: An apparatus has processing circuitry, and history storage circuitry to store local history records. Each local history record corresponds to a respective subset of instruction addresses and tracks a sequence of observed instruction behaviour observed for successive instances of instructions having addresses in that subset. Pointer storage circuitry to store a shared pointer shared between the local history records. The shared pointer indicates a common storage position reached in each local history record. Prediction circuitry determines predicted instruction behaviour for a given instruction address based on a selected portion of a selected local history record stored in the history storage circuitry. The prediction circuitry selects the selected local history record based on the given instruction address and selects the selected portion based on the shared pointer.Type: GrantFiled: March 2, 2020Date of Patent: May 17, 2022Assignee: Arm LimitedInventors: Yasuo Ishii, Joseph Michael Pusdesris, Muhammad Umar Farooq
-
Publication number: 20220107807Abstract: An apparatus and method are provided for processing instructions fetched from memory. Decode circuitry is used to decode the fetched instructions in order to produce decoded instructions, and downstream circuitry then processes the decoded instructions in order to perform the operations specified by those decoded instructions. Dispatch circuitry is arranged to dispatch to the downstream circuitry up to N decoded instructions per dispatch cycle, and is arranged to determine, based on a given candidate sequence of decoded instructions being considered for dispatch in a given dispatch cycle, whether at least one resource conflict within the downstream circuitry would occur in the event that the given candidate sequence of decoded instructions is dispatched in the given dispatch cycle.Type: ApplicationFiled: October 7, 2020Publication date: April 7, 2022Inventors: Michael Brian SCHINZLER, Yasuo ISHII, Muhammad Umar FAROOQ, Jason Lee SETTER
-
Publication number: 20220107898Abstract: An apparatus comprises first-level and second-level set-associative caches each comprising the same number of sets of cache entries. Indexing circuitry generates, based on a lookup address, a set index identifying which set of the first-level set-associative cache or the second-level set-associative cache is a selected set of cache entries to be looked up for information associated with the lookup address. The indexing circuitry generates the set index using an indexing scheme which maps the lookup address to the same set index for both the first-level set-associative cache and the second-level set-associative cache. This can make migration of cached information between the cache levels more efficient, which can be particularly useful for caches with high access frequency, such as branch target buffers for a branch predictor.Type: ApplicationFiled: October 1, 2020Publication date: April 7, 2022Inventors: Yasuo ISHII, James David DUNDAS, Chang Joo LEE, Muhammad Umar FAROOQ
-
Patent number: 11157284Abstract: An apparatus is described, comprising processing circuitry to speculatively execute an earlier instruction and a later instruction by generating a prediction of an outcome of the earlier instruction and a prediction of an outcome of the later instruction, wherein the prediction of the outcome of the earlier instruction causes a first control flow path to be executed. The apparatus also comprises storage circuitry to store the outcome of the later instruction in response to the later instruction completing, and flush circuitry to generate a flush in response to the prediction of the outcome of the earlier instruction being incorrect. Permission circuitry permits the generating of the prediction by the processing circuitry.Type: GrantFiled: June 3, 2020Date of Patent: October 26, 2021Assignee: Arm LimitedInventors: Yasuo Ishii, Muhammad Umar Farooq, Joseph Michael Pusdesris
-
Publication number: 20210271486Abstract: An apparatus has processing circuitry, and history storage circuitry to store local history records. Each local history record corresponds to a respective subset of instruction addresses and tracks a sequence of observed instruction behaviour observed for successive instances of instructions having addresses in that subset. Pointer storage circuitry to store a shared pointer shared between the local history records. The shared pointer indicates a common storage position reached in each local history record. Prediction circuitry determines predicted instruction behaviour for a given instruction address based on a selected portion of a selected local history record stored in the history storage circuitry. The prediction circuitry selects the selected local history record based on the given instruction address and selects the selected portion based on the shared pointer.Type: ApplicationFiled: March 2, 2020Publication date: September 2, 2021Inventors: Yasuo ISHII, Joseph Michael PUSDESRIS, Muhammad Umar FAROOQ
-
Patent number: 11086629Abstract: Apparatus and a method of operating the same is disclosed. Instruction fetch circuitry is provided to fetch a block of instructions from memory and branch prediction circuitry to generate branch prediction indications for each branch instruction present in the block of instructions. The branch prediction circuitry is responsive to identification of a first conditional branch instruction in the block of instructions that is predicted to be taken to modify a branch prediction indication generated for the first conditional branch instruction to include a subsequent branch status indicator. When there is a subsequent branch instruction after the first conditional branch instruction in the block of instructions that is predicted to be taken the subsequent branch status indicator has a first value, and otherwise the subsequent branch status indicator has a second value. This supports improved handling of a misprediction as taken.Type: GrantFiled: November 9, 2018Date of Patent: August 10, 2021Assignee: ARM LimitedInventors: Yasuo Ishii, Muhammad Umar Farooq, Chris Abernathy
-
Patent number: 11029959Abstract: Branch prediction circuitry processes blocks of instructions and provides instruction fetch circuitry with indications of predicted next blocks of instructions to be retrieved from memory. Main branch target storage stores branch target predictions for branch instructions in the blocks of instructions. Secondary branch target storage caches the branch target predictions from the main branch target storage. Look-ups in the secondary branch target storage and the main branch target storage are performed in parallel. The main branch target storage is set-associative and an entry in the main branch target storage comprises multiple ways, wherein each way of the multiple ways stores a branch target prediction for one branch instruction.Type: GrantFiled: September 4, 2018Date of Patent: June 8, 2021Assignee: Arm LimitedInventors: Yasuo Ishii, Muhammad Umar Farooq, Chris Abernathy
-
Patent number: 10990403Abstract: An apparatus is described, comprising processing circuitry to speculatively execute an earlier instruction and a later instruction by generating a prediction of an outcome of the earlier instruction and a prediction of an outcome of the later instruction, wherein the prediction of the outcome of the earlier instruction causes a first control flow path to be executed. The apparatus also comprises storage circuitry to store the outcome of the later instruction in response to the later instruction completing, and flush circuitry to generate a flush in response to the prediction of the outcome of the earlier instruction being incorrect. When re-executing the later instruction in a second control flow path following the flush, the processing circuitry is adapted to generate the prediction of the outcome of the later instruction as the outcome stored in the storage circuitry during execution of the first control flow path.Type: GrantFiled: January 27, 2020Date of Patent: April 27, 2021Assignee: Arm LimitedInventors: Joseph Michael Pusdesris, Yasuo Ishii, Muhammad Umar Farooq
-
Patent number: 10963258Abstract: A data processing apparatus is provided that includes lookup circuitry to provide first prediction data in respect of a first block of instructions and second prediction data in respect of a second block of instructions. First processing circuitry provides a first control flow prediction in respect of the first block of instructions using the first prediction data and second processing circuitry provides a second control flow prediction in respect of the second block of instructions using the second prediction data. The first block of instructions and the second block of instructions collectively define a prediction block and the lookup circuitry uses a reference to the prediction block as at least part of an index to both the first prediction data and the second prediction data.Type: GrantFiled: October 9, 2018Date of Patent: March 30, 2021Assignee: Arm LimitedInventors: Yasuo Ishii, Muhammad Umar Farooq, Chris Abernathy
-
Patent number: 10901742Abstract: An apparatus and method are provided for making predictions for instruction flow changing instructions. The apparatus has a fetch queue that identifies a sequence of instructions to be fetched for execution by execution circuitry, and prediction circuitry for making predictions in respect of instruction flow changing instructions, and for controlling which instructions are identified in the fetch queue in dependence on the predictions. The prediction circuitry is arranged, during each prediction iteration, to make a prediction for a predict block comprising a sequence of M instruction addresses, in order to identify whether that predict block contains the instruction address for an instruction flow changing instruction that is predicted as taken.Type: GrantFiled: March 26, 2019Date of Patent: January 26, 2021Assignee: Arm LimitedInventors: Yasuo Ishii, Muhammad Umar Farooq
-
Patent number: 10817298Abstract: An apparatus comprises a branch target buffer (BTB) to store predicted target addresses of branch instructions. In response to a fetch block address identifying a fetch block comprising two or more program instructions, the BTB performs a lookup to identify whether it stores one or more predicted target addresses for one or more branch instructions in the fetch block. When the BTB is identified in the lookup as storing predicted target addresses for more than one branch instruction in said fetch block, branch target selecting circuitry selects a next fetch block address from among the multiple predicted target addresses returned in the lookup. A shortcut path bypassing the branch target selecting circuitry is provided to forward a predicted target address identified in the lookup as the next fetch block address when a predetermined condition is satisfied.Type: GrantFiled: October 27, 2016Date of Patent: October 27, 2020Assignee: ARM LimitedInventors: Yasuo Ishii, Michael Filippo, Muhammad Umar Farooq