Patents by Inventor Joseph Michael PUSDESRIS
Joseph Michael PUSDESRIS 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: 20250028531Abstract: Processing circuitry to execute load operations, each associated with an identifier. Prediction circuitry to receive a given load value associated with a given identifier, and to make, in dependence on the given load value, a prediction indicating a predicted load value for a subsequent load operation to be executed by the processing circuitry and an ID-delta value indicating a difference between the given identifier and an identifier of the subsequent load operation. The predicted load value being predicted in dependence on at least one occurrence of each of the given load value and the predicted load value during execution of a previously-executed sequence of load operations. The prediction circuitry is configured to determine the ID-delta value in dependence on a difference between identifiers associated with the at least one occurrence of each of the given load value and the predicted load value in the previously-executed sequence of load operations.Type: ApplicationFiled: July 17, 2023Publication date: January 23, 2025Inventors: Alexander Cole SHULYAK, Yasuo ISHII, Joseph Michael PUSDESRIS
-
Publication number: 20230418766Abstract: Aspects of the present disclosure relate to an apparatus comprising processing circuitry, first cache circuitry and second cache circuitry, wherein the second cache circuitry has an access latency higher than an access latency of the first cache circuitry. The second cache circuitry is responsive to receiving a request for data stored within the second cache circuitry to identify said data as pseudo-invalid data and provide said data to the first cache circuitry. The second cache circuitry is responsive to receiving an eviction indication, indicating that the first cache circuitry is to evict said data, to, responsive to determining that said data has not been modified since said data was provided to the first cache circuitry, identify said pseudo-invalid data as valid data.Type: ApplicationFiled: November 18, 2021Publication date: December 28, 2023Inventors: Joseph Michael PUSDESRIS, Klas Magnus BRUCE, Jamshed JALAL, Dimitrios KASERIDIS, Gurunath RAMAGIRI, Ho-Seop KIM, Andrew John TURNER, Rania Hussein Hassan MAMEESH
-
Publication number: 20230418609Abstract: There is provided a data processing apparatus comprising history storage circuitry that stores sets of behaviours of helper instructions for a control flow instruction. Pointer storage circuitry stores pointers, each associated with one of the sets. The behaviours in the one of the sets are indexed according to one of the pointers associated with that one of the sets. Increment circuitry increments at least some of the pointers in response to an increment event and prediction circuitry determines a predicted behaviour of the control flow instruction using one of the sets of behaviours.Type: ApplicationFiled: June 28, 2022Publication date: December 28, 2023Inventors: Joseph Michael PUSDESRIS, Alexander Cole SHULYAK, Yasuo ISHII, Houdhaifa BOUZGUARROU
-
Publication number: 20230297384Abstract: A data processing apparatus is provided. Rename circuitry performs a register rename stage of a pipeline by storing, in storage circuitry, mappings between registers. Each of the mappings is associated with an elimination field value. Operation elimination circuitry replaces an operation that indicates an action is to be performed on data from a source register and stored in a destination register, with a new mapping in the storage circuitry that references the destination register and has the elimination field value set. Operation circuitry responds to a subsequent operation that accesses the destination register when the elimination field value is set; by obtaining contents of the source register, performing the action on the contents to obtain a result, and returning the result.Type: ApplicationFiled: March 21, 2022Publication date: September 21, 2023Inventors: Nicholas Andrew PLANTE, Joseph Michael PUSDESRIS, Jungsoo KIM
-
Publication number: 20230229596Abstract: Indirect prefetch circuitry initiates a producer prefetch requesting return of producer data having a producer address and at least one consumer prefetch to request prefetching of consumer data having a consumer address derived from the producer data. A producer prefetch filter table stores producer filter entries indicative of previous producer addresses of previous producer prefetches. Initiation of a requested producer prefetch for producer data having a requested producer address is suppressed when a lookup of the producer prefetch filter table determines that the requested producer address hits against a producer filter entry of the table. The lookup of the producer prefetch filter table for the requested producer address depends on a subset of bits of the requested producer address including at least one bit which distinguishes different chunks of data within a same cache line.Type: ApplicationFiled: January 20, 2022Publication date: July 20, 2023Inventors: Alexander Cole SHULYAK, Balaji VIJAYAN, Karthik SUNDARAM, Yasuo ISHII, Joseph Michael PUSDESRIS
-
Publication number: 20230176979Abstract: An apparatus comprises memory management circuitry to perform a translation table walk for a target address of a memory access request and to signal a fault in response to the translation table walk identifying a fault condition for the target address, prefetch circuitry to generate a prefetch request to request prefetching of information associated with a prefetch target address to a cache; and faulting address prediction circuitry to predict whether the memory management circuitry would identify the fault condition for the prefetch target address if the translation table walk was performed by the memory management circuitry for the prefetch target address. In response to a prediction that the fault condition would be identified for the prefetch target address, the prefetch circuitry suppresses the prefetch request and the memory management circuitry prevents the translation table walk being performed for the prefetch target address of the prefetch request.Type: ApplicationFiled: December 2, 2021Publication date: June 8, 2023Inventors: Alexander Cole SHULYAK, Joseph Michael PUSDESRIS, . ABHISHEK RAJA, Karthik SUNDARAM, Anoop Ramachandra IYER, Michael Brian SCHINZLER, James David DUNDAS, Yasuo ISHII
-
Publication number: 20230120596Abstract: A predicated-loop-terminating branch instruction controls, based on whether a loop termination condition is satisfied, whether the processing circuitry should process a further iteration of a predicated loop body or process a following instruction. If at least one unnecessary iteration of the predicated loop body is processed following a mispredicted-non-termination branch misprediction when the loop termination condition is mispredicted as unsatisfied for a given iteration when it should have been satisfied, processing of the at least one unnecessary iteration of the predicated loop body is predicated to suppress an effect of the at least one unnecessary iteration.Type: ApplicationFiled: October 20, 2021Publication date: April 20, 2023Inventors: Joseph Michael PUSDESRIS, Nicholas Andrew PLANTE, Yasuo ISHII, Chris ABERNATHY
-
Publication number: 20230110541Abstract: A technique is provided for prefetching data items. An apparatus has a storage structure with a plurality of entries to store data items. The storage structure is responsive to access requests from processing circuitry to provide access to the data items. The apparatus has prefetch circuitry to prefetch data and correlation information storage to store correlation information for a plurality of data items. The correlation information identifies, for each of the plurality of data items, one or more correlated data items. The prefetch circuitry is configured to monitor the access requests from the processing circuitry. In response to detecting a hit in the correlation information storage for a particular access request that identifies a requested data item for which the correlation information storage stores correlation information, the prefetch circuitry is configured to prefetch the one or more correlated data items identified by the correlation information for the requested data item.Type: ApplicationFiled: October 13, 2021Publication date: April 13, 2023Inventors: Joseph Michael PUSDESRIS, Jacob Martin DEGASPERIS, Alexander Cole SHULYAK
-
Publication number: 20220237478Abstract: An apparatus comprises processing circuitry to perform data processing in response to instructions; prediction state storage circuitry to store prediction state information; prediction state training circuitry to train the prediction state information in response to events detected during processing of instructions by the processing circuitry; and prediction circuitry to predict, based on the prediction state information, a given speculative action to be performed in response to a given prediction trigger event; in which: the prediction circuitry varies, based on one or more current system resource conditions of the apparatus, at least one action selection criterion used to select which speculative action is to be performed.Type: ApplicationFiled: January 22, 2021Publication date: July 28, 2022Inventors: Devin LAFFORD, Alexander Cole SHULYAK, Joseph Michael PUSDESRIS, Jacob Martin DeGASPERIS
-
Publication number: 20220156078Abstract: In register renaming circuitry architectural registers specified in instructions are mapped to physical registers using a mapping table. Operations to be performed with respect to the physical registers are generated in dependence on the instructions and on the mapping table entries. When the mapping table has a mapping of a first instruction destination physical register for a first instruction destination architectural register specified in a first instruction, a second instruction specifying the first instruction destination architectural register as a second instruction source architectural register causes an adapted second operation to be generated corresponding to the second instruction using at least one first instruction source physical register as at least one second instruction source physical register. The adapted second operation incorporates a first operation corresponding to the first instruction.Type: ApplicationFiled: November 19, 2020Publication date: May 19, 2022Inventors: Joseph Michael PUSDESRIS, Yasuo ISHII, Eric Charles QUINNELL, Nicholas Andrew PLANTE
-
Publication number: 20220147459Abstract: Data processing apparatuses and methods of processing data are disclosed. The operations comprise: storing copies of data items; and storing, in a producer pattern history table, a plurality of producer-consumer relationships, each defining an association between producer load indicator and a plurality of consumer load entries, each consumer load entry comprising a consumer load indicator and one or more usefulness metrics. Further steps comprise: initiating, in response to a data load from an address corresponding to the producer load indicator in the producer pattern history table and when at least one of the corresponding one or more usefulness meets a criterion, a producer prefetch of data to be prefetched for storing as a local copy; and issuing, when the data is returned, one or more consumer prefetches to return consumer data from a consumer address generated from the data returned by the producer prefetch and a consumer load indicator of a consumer load entry.Type: ApplicationFiled: November 10, 2020Publication date: May 12, 2022Inventors: Alexander Cole SHULYAK, Adrian MONTERO, Joseph Michael PUSDESRIS, Karthik SUNDARAM, Yasuo ISHII
-
Publication number: 20220129186Abstract: A request node is provided, that includes request circuitry for issuing outgoing memory access requests to a remote node. Status receiving circuitry receives statuses regarding remote memory access requests at the remote node and control circuitry controls at least one of a rate or an aggression at which the outgoing memory access requests are issued to the remote node in dependence on at least some of the statuses. The control circuitry is inhibited from controlling the rate or the aggression until multiple statuses are received.Type: ApplicationFiled: October 23, 2020Publication date: April 28, 2022Inventors: Ho-Seop KIM, Joseph Michael PUSDESRIS, Miles Robert DOOLEY
-
Publication number: 20220107894Abstract: A technique is provided for controlling eviction from a storage structure. An apparatus has a storage structure with a plurality of entries to store data. The apparatus also has eviction control circuitry configured to maintain eviction control information in accordance with an eviction policy, the eviction policy specifying how the eviction control information is to be updated in response to accesses to the entries of the storage structure. The eviction control circuitry is responsive to a victim selection event to employ the eviction policy to select, with reference to the eviction control information, one of the entries to be a victim entry whose data is to be discarded from the storage structure. The eviction control circuitry is further configured to maintain, for each of one or more groups of entries in the storage structure, an indication of a most-recent entry. The most-recent entry is an entry in that group that was most recently subjected to at least a given type of access.Type: ApplicationFiled: October 6, 2020Publication date: April 7, 2022Inventor: Joseph Michael PUSDESRIS
-
Publication number: 20210357228Abstract: An apparatus and method are provided. The apparatus comprises storage circuitry to store a plurality of data elements. Processing circuitry executes a stream of instructions comprising access instructions that access some of the data elements at given locations. Training circuitry determines a pattern of the given locations based on the access instructions. Prefetch circuitry performs prefetches based on the pattern and filter circuitry filters the access instructions used by the training circuitry to determine the pattern by including discontinuous access instructions whose given location raises a discontinuity with the given location of a previous access instruction. In this way, it is possible to perform prefetching by calculating, rather than guessing, at a cumulative stride between the access instructions.Type: ApplicationFiled: May 13, 2020Publication date: November 18, 2021Inventors: Alexander Cole SHULYAK, Joseph Michael PUSDESRIS, Adrian MONTERO, Balaji VIJAYAN
-
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
-
Publication number: 20210056034Abstract: A data processing apparatus is provided. It includes cache circuitry to store a plurality of items, each having an associated indicator. Processing circuitry executes instructions using at least some of the plurality of items. Fill circuitry inserts a new item into the cache circuitry. Eviction circuitry determines which of the plurality of items is to be a victim item based on the indicator, and evicts the victim item from the cache circuitry. Detection circuitry detects a state of the processing circuitry at a time that the new item is inserted into the cache circuitry, and sets the indicator in dependence on the state.Type: ApplicationFiled: August 23, 2019Publication date: February 25, 2021Inventors: Joseph Michael PUSDESRIS, Yasuo ISHII
-
Publication number: 20200174947Abstract: A data processing system (2) incorporates a first exclusive cache memory (8, 10) and a second exclusive cache memory (14). A snoop filter (18) located together with the second exclusive cache memory on one side of the communication interface (12) serves to track entries within the first exclusive cache memory. The snoop filter includes retention data storage circuitry to store retention data for controlling retention of cache entries within the second exclusive cache memory. Retention data transfer circuitry (20) serves to transfer the retention data to and from the retention data storage circuitry within the snoop filter and the second cache memory as the cache entries concerned are transferred between the second exclusive cache memory and the first exclusive cache memory.Type: ApplicationFiled: October 19, 2016Publication date: June 4, 2020Inventors: Alex James WAUGH, Dimitrios KASERIDIS, Klas Magnus BRUCE, Michael FILIPPO, Joseph Michael PUSDESRIS, Jamshed JALAL
-
Publication number: 20200133863Abstract: An apparatus is provided that includes cache circuitry that comprises a plurality of cache lines. The cache circuitry treats one or more of the cache lines as trace lines each having correlated addresses and each being tagged by a trigger address. Prefetch circuitry causes data at the correlated addresses stored in the trace lines to be prefetched.Type: ApplicationFiled: October 31, 2018Publication date: April 30, 2020Inventors: Joseph Michael PUSDESRIS, Miles Robert DOOLEY, Michael FILIPPO
-
Publication number: 20200097411Abstract: Apparatuses and methods for prefetch generation are disclosed. Prefetching circuitry receives addresses specified by load instructions and can cause retrieval of a data value from an address before that address is received. Stride determination circuitry determines stride values as a difference between a current address and a previously received address. Plural stride values corresponding to a sequence of received addresses are determined. Multiple stride storage circuitry stores the plurality of stride values determined by the stride determination circuitry. New address comparison circuitry determines whether a current address corresponds to a matching stride value based on the plurality of stride values stored in the multiple stride storage circuitry. Prefetch initiation circuitry can causes a data value to be retrieved from a further address, wherein the further address is the current address modified by the matching stride value of the plurality of stride values.Type: ApplicationFiled: September 25, 2018Publication date: March 26, 2020Inventors: Joseph Michael PUSDESRIS, Miles Robert DOOLEY, Alexander Cole SHULYAK, Krishnendra NATHELLA, Dam SUNWOO
-
Publication number: 20200073576Abstract: Storage circuitry is provided, that is designed to form part of a memory hierarchy. The storage circuitry comprises receiver circuitry for receiving a request to obtain data from the memory hierarchy. Transfer circuitry causes the data to be stored at a selected destination in response to the request, wherein the selected destination is selected in dependence on at least one selection condition. Tracker circuitry tracks the request while the request is unresolved. If at least one selection condition is met then the destination is the storage circuitry and otherwise the destination is other storage circuitry in the memory hierarchy.Type: ApplicationFiled: August 31, 2018Publication date: March 5, 2020Inventors: Adrian MONTERO, Miles Robert DOOLEY, Joseph Michael PUSDESRIS, Klas Magnus BRUCE, Chris ABERNATHY