Patents by Inventor ABHISHEK RAJA
ABHISHEK RAJA 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: 20230067573Abstract: A predicated vector load micro-operation specifies a load target address, a destination vector register for which active vector elements of the destination vector register are to be loaded with data associated with addresses identified based on the load target address, and a predicate operand indicative of whether each vector element of the destination vector register is active or inactive.Type: ApplicationFiled: August 27, 2021Publication date: March 2, 2023Inventor: . ABHISHEK RAJA
-
Publication number: 20230017802Abstract: In response to a single-copy-atomic load/store instruction for requesting an atomic transfer of a target block of data between the memory system and the registers, where the target block has a given size greater than a maximum data size supported for a single load/store micro-operation by a load/store data path, instruction decoding circuitry maps the single-copy-atomic load/store instruction to two or more mapped load/store micro-operations each for requesting transfer of a respective portion of the target block of data. In response to the mapped load/store micro-operations, load/store circuitry triggers issuing of a shared memory access request to the memory system to request the atomic transfer of the target block of data of said given size to or from the memory system, and triggers separate transfers of respective portions of the target block of data over the load/store data path.Type: ApplicationFiled: July 13, 2021Publication date: January 19, 2023Inventors: ABHISHEK RAJA, Albin Pierrick TONNERRE
-
Patent number: 11513966Abstract: An apparatus has processing circuitry, load tracking circuitry and value prediction circuitry. In response to an actual value of first target data becoming available for a value-predicted load operation, it is determined whether the actual value matches the predicted value of the first target data determined by the value prediction circuitry, and whether the tracking information indicates that, for a given younger load operation issued before the actual value of the first target data was available, there is a risk of second target data associated with that given load operation having changed after having been loaded. Independent of whether the addresses of the value-predicted load operation and younger load operation correspond, at least the given load operation is re-processed when the value prediction is correct and the tracking information indicates there is a risk of the second target data having changes after being loaded. This protects against ordering violations.Type: GrantFiled: March 22, 2021Date of Patent: November 29, 2022Assignee: Arm LimitedInventor: . Abhishek Raja
-
Publication number: 20220318051Abstract: Circuitry comprises two or more clusters of execution units, each cluster comprising one or more execution units to execute processing instructions; and scheduler circuitry to maintain one or more queues of processing instructions, the scheduler circuitry comprising picker circuitry to select a queued processing instruction for issue to an execution unit of one of the clusters of execution units for execution; in which: the scheduler circuitry is configured to maintain dependency data associated with each queued processing instruction, the dependency data for a queued processing instruction indicating any source operands which are required to be available for use in execution of that queued processing instruction and to inhibit issue of that queued processing instruction until all of the required source operands for that queued processing instruction are available and is configured to be responsive to an indication to the scheduler circuitry of the availability of the given operand as a source operand for useType: ApplicationFiled: March 31, 2021Publication date: October 6, 2022Inventors: Chris ABERNATHY, Eric Charles QUINNELL, ABHISHEK RAJA, Michael David ACHENBACH
-
Patent number: 11461247Abstract: Address translation circuitry translates a target virtual address specified by a memory access request into a target physical address associated with a selected physical address space. Granule protection information (GPI) loading circuitry loads from a memory system at least one granule protection descriptor providing GPI indicating, for at least one granule of physical addresses, which physical address spaces is allowed access to the at least one granule. GPI compressing circuitry compresses the GPI to generate compressed GPI. A GPI cache to caches the compressed GPI. Filtering circuitry determines, on a hit in the GPI cache, whether the memory access request should be allowed to access the target physical address, based on whether the compressed GPI cached in the GPI cache for the target physical address indicates that the selected physical address space is allowed access to the target physical address. This allows more efficient caching of granule protection information.Type: GrantFiled: July 19, 2021Date of Patent: October 4, 2022Assignee: Arm LimitedInventors: Guillaume Bolbenes, Abhishek Raja
-
Publication number: 20220300329Abstract: An apparatus has processing circuitry, load tracking circuitry and load prediction circuitry to determine a prediction for a predicted load operation. It is determined whether the prediction is correct, and whether the tracking information indicates that, for a given younger load operation issued before it is known whether the prediction is correct, there is a risk of second target data associated with that given load operation having changed after having been loaded. Independent of whether the addresses of the predicted load operation and younger load operation correspond, at least the given load operation is re-processed when the prediction is correct and the tracking information indicates there is a risk of the second target data having changes after being loaded. This protects against ordering violations.Type: ApplicationFiled: February 14, 2022Publication date: September 22, 2022Inventor: . ABHISHEK RAJA
-
Publication number: 20220300430Abstract: An apparatus has processing circuitry, load tracking circuitry and value prediction circuitry. In response to an actual value of first target data becoming available for a value-predicted load operation, it is determined whether the actual value matches the predicted value of the first target data determined by the value prediction circuitry, and whether the tracking information indicates that, for a given younger load operation issued before the actual value of the first target data was available, there is a risk of second target data associated with that given load operation having changed after having been loaded. Independent of whether the addresses of the value-predicted load operation and younger load operation correspond, at least the given load operation is re-processed when the value prediction is correct and the tracking information indicates there is a risk of the second target data having changes after being loaded. This protects against ordering violations.Type: ApplicationFiled: March 22, 2021Publication date: September 22, 2022Inventor: ABHISHEK RAJA
-
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: 11327791Abstract: An apparatus provides an issue queue having a first section and a second section. Each entry in each section stores operation information identifying an operation to be performed. Allocation circuitry allocates each item of received operation information to an entry in the first section or the second section. Selection circuitry selects from the issue queue, during a given selection iteration, an operation from amongst the operations whose required source operands are available. Availability update circuitry updates source operand availability for each entry whose operation information identifies as a source operand a destination operand of the selected operation in the given selection iteration. A deferral mechanism inhibits from selection, during a next selection iteration, any operation associated with an entry in the second section whose source operands are now available due to that operation having as a source operand the destination operand of the selected operation in the given selection iteration.Type: GrantFiled: August 21, 2019Date of Patent: May 10, 2022Assignee: Arm LimitedInventors: Michael David Achenbach, Robert Greg McDonald, Nicholas Andrew Pfister, Kelvin Domnic Goveas, Michael Filippo, . Abhishek Raja, Zachary Allen Kingsbury
-
Patent number: 11314509Abstract: An apparatus comprises processing circuitry to issue load operations to load data from memory. In response to a plural-register-load instruction specifying at least two destination registers to be loaded with data from respective target addresses, the processing circuitry permits issuing of separate load operations corresponding to the plural-register-load instruction. Load tracking circuitry maintains tracking information for one or more issued load operations. When the plural-register-load instruction is subject to an atomicity requirement and the plurality of load operations are issued separately, the load tracking circuitry detects, based on the tracking information, whether a loss-of-atomicity condition has occurred for the load operations corresponding to the plural-register-load instruction, and requests re-processing of the plural-register-load instruction when the loss-of-atomicity condition is detected.Type: GrantFiled: March 19, 2020Date of Patent: April 26, 2022Assignee: Arm LimitedInventor: Abhishek Raja
-
Patent number: 11221951Abstract: A tag check performed for a memory access operation comprises determining whether an address tag associated with a target address of the access corresponds to a guard tag stored in the memory system associated with a memory system location to be accessed. A given tag check architecturally required for a tag-checked load operation can be skipped when a number of tag-check-skip conditions are satisfied, including at least: that there is an older tag-checked store operation awaiting a pending tag check, for which a guard tag checked in the pending tag check is associated with a same block of one or more memory system locations as a guard tag to be checked in the given tag check; and that the address tag for the tag-checked load operation is the same as the address tag for the older tag-checked store operation.Type: GrantFiled: September 22, 2020Date of Patent: January 11, 2022Assignee: Arm LimitedInventors: Abhishek Raja, Kias Magnus Bruce, Albin Pierrick Tonnerre
-
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
-
Publication number: 20210294607Abstract: An apparatus comprises processing circuitry to issue load operations to load data from memory. In response to a plural-register-load instruction specifying at least two destination registers to be loaded with data from respective target addresses, the processing circuitry permits issuing of separate load operations corresponding to the plural-register-load instruction. Load tracking circuitry maintains tracking information for one or more issued load operations. When the plural-register-load instruction is subject to an atomicity requirement and the plurality of load operations are issued separately, the load tracking circuitry detects, based on the tracking information, whether a loss-of-atomicity condition has occurred for the load operations corresponding to the plural-register-load instruction, and requests re-processing of the plural-register-load instruction when the loss-of-atomicity condition is detected.Type: ApplicationFiled: March 19, 2020Publication date: September 23, 2021Inventor: . ABHISHEK RAJA
-
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: 20210064528Abstract: A data processing apparatus is provided. Cache circuitry caches data, the data being indexed according to execution contexts of processing circuitry. Receive circuitry receives invalidation requests each referencing a specific execution context in the execution contexts. Invalidation circuitry invalidates at least some of the data in the cache circuitry and filter circuitry filters the invalidation requests based on at least one condition and, when the condition is met, causes the invalidation circuitry to invalidate the data in the cache circuitry.Type: ApplicationFiled: August 26, 2019Publication date: March 4, 2021Inventors: Yasuo ISHII, Matthew Andrew RAFACZ, Guillaume BOLBENES, Houdhaifa BOUZGUARROU, . ABHISHEK RAJA
-
Publication number: 20210055962Abstract: An apparatus and method are provided for operating an issue queue. The issue queue has a first section and a second section, where each of those sections comprises a number of entries, and where each entry is employed to store operation information identifying an operation to be performed by a processing unit. Allocation circuitry determines, for each item of received operation information, whether to allocate that operation information to an entry in the first section or to an entry in the second section. The operation information identifies not only the associated operation, but also each source operand required by the associated operation and availability of each source operand. Selection circuitry selects from the issue queue, during a given selection iteration, an operation to be issued to the processing unit, and selects that operation from amongst the operations whose required source operands are available.Type: ApplicationFiled: August 21, 2019Publication date: February 25, 2021Inventors: Michael David ACHENBACH, Robert Greg MCDONALD, Nicholas Andrew PFISTER, Kelvin Domnic GOVEAS, Michael FILIPPO, . ABHISHEK RAJA, Zachary Allen KINGSBURY
-
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
-
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
-
Patent number: 10754687Abstract: There is provided a data processing apparatus that includes processing circuitry for executing a plurality of instructions. Storage circuitry stores a plurality of entries, each entry relating to an instruction in the plurality of instructions and including a dependency field. The dependency field stores a data dependency of that instruction on a previous instruction in the plurality of instructions. Scheduling circuitry schedules the execution of the plurality of instructions in an order that depends on each data dependency. When the previous instruction is a single-cycle instruction, the dependency field includes a reference to one of the entries that relates to the previous instruction, otherwise, the data dependency field includes an indication of an output destination of the previous instruction.Type: GrantFiled: June 12, 2018Date of Patent: August 25, 2020Assignee: Arm LimitedInventors: . Abhishek Raja, Chris Abernathy, Michael Filippo
-
Patent number: 10719453Abstract: Each entry of a set associative address translation cache (ATC) stores address translation data (ATD) used by processing circuitry when converting a virtual address into a corresponding physical address. The processing circuitry operates in multiple contexts, and each entry has an associated context identifier identifying the context to which the ATD therein applies. A masking structure comprises at least one mask storage and, for each mask storage, an associated context storage. Each mask storage provides a mask field for each set of the ATC. Control circuitry responds to a maintenance request, specifying a given context and requiring a maintenance operation to be performed in respect of each entry of the ATC that stores ATD applying to the given context, by setting each mask field in a selected mask storage, storing an indication of the given context in the associated context storage, and issuing a response to a request source.Type: GrantFiled: April 3, 2019Date of Patent: July 21, 2020Assignee: Arm LimitedInventor: Abhishek Raja