Patents by Inventor Huzefa Moiz SANJELIWALA
Huzefa Moiz SANJELIWALA 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).
-
Patent number: 12182427Abstract: An apparatus is provided for controlling the operating mode of control circuitry, such that the control circuitry may change between two operating modes. In an allocation mode, data that is loaded in response to an instruction is allocated into storage circuitry from an intermediate buffer, and the data is read from the storage circuitry. In a non-allocation mode, the data is not allocated to the storage circuitry, and is read directly from intermediate buffer. The control of the operating mode may be performed by mode control circuitry, and the mode may be changed in dependence on the type of instruction that calls the data, and whether the data may be used again in the near future, or whether it is expected to be used only once.Type: GrantFiled: October 14, 2022Date of Patent: December 31, 2024Assignee: Arm LimitedInventors: Stefano Ghiggini, Natalya Bondarenko, Luca Nassi, Geoffray Matthieu Lacourba, Huzefa Moiz Sanjeliwala, Miles Robert Dooley, Abhishek Raja
-
Publication number: 20240126458Abstract: An apparatus is provided for controlling the operating mode of control circuitry, such that the control circuitry may change between two operating modes. In an allocation mode, data that is loaded in response to an instruction is allocated into storage circuitry from an intermediate buffer, and the data is read from the storage circuitry. In a non-allocation mode, the data is not allocated to the storage circuitry, and is read directly from intermediate buffer. The control of the operating mode may be performed by mode control circuitry, and the mode may be changed in dependence on the type of instruction that calls the data, and whether the data may be used again in the near future, or whether it is expected to be used only once.Type: ApplicationFiled: October 14, 2022Publication date: April 18, 2024Inventors: Stefano GHIGGINI, Natalya Bondarenko, Luca NASSI, Geoffray Matthieu LACOURBA, Huzefa Moiz SANJELIWALA, Miles Robert DOOLEY, . ABHISHEK RAJA
-
Patent number: 11663014Abstract: A data processing apparatus is provided that comprises fetch circuitry to fetch an instruction stream comprising a plurality of instructions, including a status updating instruction, from storage circuitry. Status storage circuitry stores a status value. Execution circuitry executes the instructions, wherein at least some of the instructions are executed in an order other than in the instruction stream. For the status updating instruction, the execution circuitry is adapted to update the status value based on execution of the status updating instruction. Flush circuitry flushes, when the status storage circuitry is updated, following instructions that appear after the status updating instruction in the instruction stream.Type: GrantFiled: August 26, 2019Date of Patent: May 30, 2023Assignee: ARM LIMITEDInventors: Abhishek Raja, Rakesh Shaji Lal, Michael Filippo, Glen Andrew Harris, Vasu Kudaravalli, Huzefa Moiz Sanjeliwala, Jason Setter
-
Patent number: 11392378Abstract: Circuitry comprises an instruction decoder to decode a gather load instruction having a vector operand comprising a plurality of vector entries, in which each vector entry defines, at least in part, a respective address from which data is to be loaded; the instruction decoder being configured to generate a set of load operations relating to respective individual addresses in dependence upon the vector operand, each of the set of load operations having a respective identifier which is unique with respect to other load operations in the set, and control circuitry to maintain a data item for the gather load instruction, the data item including a count value representing a number of load operations in the set of load operations awaiting issue for execution; and execution circuitry to execute the set of load operations; the control circuitry being configured, in response to a detection from the count value of the data item associated with a given gather load instruction that the set of load operations generated foType: GrantFiled: July 25, 2019Date of Patent: July 19, 2022Assignee: Arm LimitedInventors: Abhishek Raja, Michael Filippo, Huzefa Moiz Sanjeliwala, Kelvin Domnic Goveas
-
Patent number: 11194574Abstract: An apparatus is described, comprising load issuing circuitry configured to issue load operations to load data from memory, and memory ordering tracking storage circuitry configured to store memory ordering tracking information on issued load operations. The apparatus also includes control circuitry configured to access the memory ordering tracking storage circuitry to determine, using the memory ordering tracking information, whether at least one load operation has been issued in disagreement with a memory ordering requirement, and, if so, to determine whether to re-issue one or more issued load operations or to continue issuing load operations despite disagreement with the memory ordering requirement. Furthermore, the control circuitry is capable of merging the memory ordering tracking information for a plurality of issued load operations into a merged entry in the memory ordering tracking storage circuitry.Type: GrantFiled: July 25, 2019Date of Patent: December 7, 2021Assignee: Arm LimitedInventors: Miles Robert Dooley, Balaji Vijayan, Huzefa Moiz Sanjeliwala, Abhishek Raja, Sharmila Shridhar
-
Patent number: 10983916Abstract: A data processing apparatus is provided that includes a plurality of storage elements. Receiving circuitry receives a plurality of incoming data beats from cache circuitry and stores the incoming data beats in the storage elements. At least one existing data beat in the storage elements is replaced by an equal number of the incoming data beats belonging to a different cache line of the cache circuitry. The existing data beats stored in said plurality of storage elements form an incomplete cache line.Type: GrantFiled: March 1, 2017Date of Patent: April 20, 2021Assignee: ARM LimitedInventors: Huzefa Moiz Sanjeliwala, Klas Magnus Bruce, Leigang Kou, Michael Filippo, Miles Robert Dooley, Matthew Andrew Rafacz
-
Publication number: 20210064377Abstract: A data processing apparatus is provided that comprises fetch circuitry to fetch an instruction stream comprising a plurality of instructions, including a status updating instruction, from storage circuitry. Status storage circuitry stores a status value. Execution circuitry executes the instructions, wherein at least some of the instructions are executed in an order other than in the instruction stream. For the status updating instruction, the execution circuitry is adapted to update the status value based on execution of the status updating instruction. Flush circuitry flushes, when the status storage circuitry is updated, flushed instructions that appear after the status updating instruction in the instruction stream.Type: ApplicationFiled: August 26, 2019Publication date: March 4, 2021Inventors: . ABHISHEK RAJA, Rakesh Shaji LAL, Michael FILIPPO, Glen Andrew HARRIS, Vasu KUDARAVALLI, Huzefa Moiz SANJELIWALA, Jason SETTER
-
Publication number: 20210026627Abstract: Circuitry comprises an instruction decoder to decode a gather load instruction having a vector operand comprising a plurality of vector entries, in which each vector entry defines, at least in part, a respective address from which data is to be loaded; the instruction decoder being configured to generate a set of load operations relating to respective individual addresses in dependence upon the vector operand, each of the set of load operations having a respective identifier which is unique with respect to other load operations in the set, and control circuitry to maintain a data item for the gather load instruction, the data item including a count value representing a number of load operations in the set of load operations awaiting issue for execution; and execution circuitry to execute the set of load operations; the control circuitry being configured, in response to a detection from the count value of the data item associated with a given gather load instruction that the set of load operations generated foType: ApplicationFiled: July 25, 2019Publication date: January 28, 2021Inventors: . ABHISHEK RAJA, Michael FILIPPO, Huzefa Moiz SANJELIWALA, Kelvin Domnic GOVEAS
-
Publication number: 20210026632Abstract: An apparatus is described, comprising load issuing circuitry configured to issue load operations to load data from memory, and memory ordering tracking storage circuitry configured to store memory ordering tracking information on issued load operations. The apparatus also includes control circuitry configured to access the memory ordering tracking storage circuitry to determine, using the memory ordering tracking information, whether at least one load operation has been issued in disagreement with a memory ordering requirement, and, if so, to determine whether to re-issue one or more issued load operations or to continue issuing load operations despite disagreement with the memory ordering requirement. Furthermore, the control circuitry is capable of merging the memory ordering tracking information for a plurality of issued load operations into a merged entry in the memory ordering tracking storage circuitry.Type: ApplicationFiled: July 25, 2019Publication date: January 28, 2021Inventors: Miles Robert DOOLEY, Balaji VIJAYAN, Huzefa Moiz SANJELIWALA, . ABHISHEK RAJA, Sharmila SHRIDHAR
-
Patent number: 10817426Abstract: A variety of data processing apparatuses are provided in which stride determination circuitry determines a stride value as a difference between a current address and a previously received address. Stride storage circuitry stores an association between stride values determined by the stride determination circuitry and a frequency during a training period. Prefetch circuitry causes a further data value to be proactively retrieved from a further address. The further address is the current address modified by a stride value in the stride storage circuitry having a highest frequency during the training period. The variety of data processing apparatuses are directed towards improving efficiency by variously disregarding certain candidate stride values, considering additional further addresses for prefetching by using multiple stride values, using feedback to adjust the training process and compensating for page table boundaries.Type: GrantFiled: September 24, 2018Date of Patent: October 27, 2020Assignee: Arm LimitedInventors: Krishnendra Nathella, Chris Abernathy, Huzefa Moiz Sanjeliwala, Dam Sunwoo, Balaji Vijayan
-
Publication number: 20200097409Abstract: A variety of data processing apparatuses are provided in which stride determination circuitry determines a stride value as a difference between a current address and a previously received address. Stride storage circuitry stores an association between stride values determined by the stride determination circuitry and a frequency during a training period. Prefetch circuitry causes a further data value to be proactively retrieved from a further address. The further address is the current address modified by a stride value in the stride storage circuitry having a highest frequency during the training period. The variety of data processing apparatuses are directed towards improving efficiency by variously disregarding certain candidate stride values, considering additional further addresses for prefetching by using multiple stride values, using feedback to adjust the training process and compensating for page table boundaries.Type: ApplicationFiled: September 24, 2018Publication date: March 26, 2020Inventors: Krishnendra Nathella, Chris Abernathy, Huzefa Moiz Sanjeliwala, Dam Sunwoo, Balaji Vijayan
-
Patent number: 10372618Abstract: An apparatus and method are provided for maintaining address translation data within an address translation cache. The address translation cache has a plurality of entries, where each entry is used to store address translation data used when converting a virtual address into a corresponding physical address of a memory system. Control circuitry is used to perform an allocation process to determine the address translation data to be stored in each entry. The address translation cache is used to store address translation data of a plurality of different types representing address translation data specified at respective different levels of address translation within a multiple-level page table walk. The plurality of different types comprises a final level type of address translation data that identifies a full translation from the virtual address to the physical address, and at least one intermediate level type of address translation data that identifies a partial translation of the virtual address.Type: GrantFiled: October 14, 2016Date of Patent: August 6, 2019Assignee: ARM LimitedInventors: Miles Robert Dooley, Abhishek Raja, Barry Duane Williamson, Huzefa Moiz Sanjeliwala
-
Patent number: 10229066Abstract: A data processing apparatus is provided including queue circuitry to respond to control signals each associated with a memory access instruction, and to queue a plurality of requests for data, each associated with a reference to a storage location. Resolution circuitry acquires a request for data, and issues the request for data, the resolution circuitry having a resolution circuitry limit. When a current capacity of the resolution circuitry is below the resolution circuitry limit, the resolution circuitry acquires the request for data by receiving the request for data from the queue circuitry, stores the request for data in association with the storage location, issues the request for data, and causes a result of issuing the request for data to be provided to said storage location.Type: GrantFiled: September 30, 2016Date of Patent: March 12, 2019Assignee: ARM LimitedInventors: Miles Robert Dooley, Matthew Andrew Rafacz, Huzefa Moiz Sanjeliwala, Michael Filippo
-
Publication number: 20180253387Abstract: A data processing apparatus is provided that includes a plurality of storage elements. Receiving circuitry receives a plurality of incoming data beats from cache circuitry and stores the incoming data beats in the storage elements. At least one existing data beat in the storage elements is replaced by an equal number of the incoming data beats belonging to a different cache line of the cache circuitry. The existing data beats stored in said plurality of storage elements form an incomplete cache line.Type: ApplicationFiled: March 1, 2017Publication date: September 6, 2018Inventors: Huzefa Moiz SANJELIWALA, Klas Magnus BRUCE, Leigang KOU, Michael FILIPPO, Miles Robert DOOLEY, Matthew Andrew RAFACZ
-
Publication number: 20180107604Abstract: An apparatus and method are provided for maintaining address translation data within an address translation cache. The address translation cache has a plurality of entries, where each entry is used to store address translation data used when converting a virtual address into a corresponding physical address of a memory system. Control circuitry is used to perform an allocation process to determine the address translation data to be stored in each entry. The address translation cache is used to store address translation data of a plurality of different types representing address translation data specified at respective different levels of address translation within a multiple-level page table walk. The plurality of different types comprises a final level type of address translation data that identifies a full translation from the virtual address to the physical address, and at least one intermediate level type of address translation data that identifies a partial translation of the virtual address.Type: ApplicationFiled: October 14, 2016Publication date: April 19, 2018Inventors: Miles Robert DOOLEY, ABHISHEK RAJA, Barry Duane WILLIAMSON, Huzefa Moiz SANJELIWALA
-
Publication number: 20180095893Abstract: A data processing apparatus is provided including queue circuitry to respond to control signals each associated with a memory access instruction, and to queue a plurality of requests for data, each associated with a reference to a storage location. Resolution circuitry acquires a request for data, and issues the request for data, the resolution circuitry having a resolution circuitry limit. When a current capacity of the resolution circuitry is below the resolution circuitry limit, the resolution circuitry acquires the request for data by receiving the request for data from the queue circuitry, stores the request for data in association with the storage location, issues the request for data, and causes a result of issuing the request for data to be provided to said storage location.Type: ApplicationFiled: September 30, 2016Publication date: April 5, 2018Inventors: Miles Robert DOOLEY, Matthew Andrew RAFACZ, Huzefa Moiz SANJELIWALA, Michael FILIPPO