-
公开(公告)号:US11941428B2
公开(公告)日:2024-03-26
申请号:US17657506
申请日:2022-03-31
Applicant: Apple Inc.
Inventor: Sagi Lahav , Lital Levy-Rubin , Gaurav Garg , Gerard R. Williams, III , Samer Nassar , Per H. Hammarlund , Harshavardhan Kaushikkar , Srinivasa Rangan Sridharan , Jeff Gonion
CPC classification number: G06F9/466 , G06F13/1668
Abstract: Techniques are disclosed relating to an I/O agent circuit. The I/O agent circuit may include one or more queues and a transaction pipeline. The I/O agent circuit may issue, to the transaction pipeline from a queue of the one or more queues, a transaction of a series of transactions enqueued in a particular order. The I/O agent circuit may generate, at the transaction pipeline, a determination to return the transaction to the queue based on a detection of one or more conditions being satisfied. Based on the determination, the I/O agent circuit may reject, at the transaction pipeline, up to a threshold number of transactions that issued from the queue after the transaction issued. The I/O agent circuit may insert the transaction at a head of the queue such that the transaction is enqueued at the queue sequentially first for the series of transactions according to the particular order.
-
公开(公告)号:US11934313B2
公开(公告)日:2024-03-19
申请号:US17821296
申请日:2022-08-22
Applicant: Apple Inc.
Inventor: Per H. Hammarlund , Lior Zimet , James Vash , Gaurav Garg , Sergio Kolor , Harshavardhan Kaushikkar , Ramesh B. Gunna , Steven R. Hutsell
IPC: G06F12/0815 , G06F12/0811 , G06F12/0831 , G06F12/109 , G06F12/128 , G06F13/16 , G06F13/28 , G06F13/40 , G06F15/173 , G06F15/78
CPC classification number: G06F12/0831 , G06F12/0811 , G06F12/0815 , G06F12/109 , G06F12/128 , G06F13/161 , G06F13/1668 , G06F13/28 , G06F13/4068 , G06F15/17368 , G06F15/7807 , G06F2212/305 , G06F2212/657
Abstract: A system including a plurality of processor cores, a plurality of graphics processing units, a plurality of peripheral circuits, and a plurality of memory controllers is configured to support scaling of the system using a unified memory architecture.
-
公开(公告)号:US20230161700A1
公开(公告)日:2023-05-25
申请号:US18151834
申请日:2023-01-09
Applicant: Apple Inc.
Inventor: Gaurav Garg , Sagi Lahav , Lital Levy - Rubin , Gerard Williams, III , Samer Nassar , Per H. Hammarlund , Harshavardhan Kaushikkar , Srinivasa Rangan Sridharan , Jeff Gonion , James Vash
IPC: G06F12/06 , G06F12/0891 , G06F9/46 , G06F13/16 , G06F12/0831
CPC classification number: G06F12/063 , G06F12/0891 , G06F9/467 , G06F13/1668 , G06F12/0835
Abstract: Techniques are disclosed relating to an I/O agent circuit of a computer system. The I/O agent circuit may receive, from a peripheral component, a set of transaction requests to perform a set of read transactions that are directed to one or more of a plurality of cache lines. The I/O agent circuit may issue, to a first memory controller circuit configured to manage access to a first one of the plurality of cache lines, a request for exclusive read ownership of the first cache line such that data of the first cache line is not cached outside of the memory and the I/O agent circuit in a valid state. The I/O agent circuit may receive exclusive read ownership of the first cache line, including receiving the data of the first cache line. The I/O agent circuit may then perform the set of read transactions with respect to the data.
-
公开(公告)号:US20220334997A1
公开(公告)日:2022-10-20
申请号:US17337805
申请日:2021-06-03
Applicant: Apple Inc.
Inventor: Sergio Kolor , Sergio V. Tota , Tzach Zemer , Sagi Lahav , Jonathan M. Redshaw , Per H. Hammarlund , Eran Tamari , James Vash , Gaurav Garg
IPC: G06F13/40 , G06F15/173
Abstract: In an embodiment, a system on a chip (SOC) comprises a semiconductor die on which circuitry is formed, wherein the circuitry comprises a plurality of agents and a plurality of network switches coupled to the plurality of agents. The plurality of network switches are interconnected to form a plurality of physical and logically independent networks. A first network of the plurality of physically and logically independent networks is constructed according to a first topology and a second network of the plurality of physically and logically independent networks is constructed according to a second topology that is different from the first topology. For example, the first topology may a ring topology and the second topology may be a mesh topology. In an embodiment, coherency may be enforced on the first network and the second network may be a relaxed order network.
-
公开(公告)号:US20220083472A1
公开(公告)日:2022-03-17
申请号:US17315725
申请日:2021-05-10
Applicant: Apple Inc.
Inventor: James Vash , Gaurav Garg , Brian P. Lilly , Ramesh B. Gunna , Steven R. Hutsell , Lital Levy-Rubin , Per H. Hammarlund
IPC: G06F12/0815
Abstract: A scalable cache coherency protocol for system including a plurality of coherent agents coupled to one or more memory controllers is described. The memory controller may implement a precise directory for cache blocks from the memory to which the memory controller is coupled. Multiple requests to a cache block may be outstanding, and snoops and completions for requests may include an expected cache state at the receiving agent, as indicated by a directory in the memory controller when the request was processed, to allow the receiving agent to detect race conditions. In an embodiment, the cache states may include a primary shared and a secondary shared state. The primary shared state may apply to a coherent agent that bears responsibility for transmitting a copy of the cache block to a requesting agent. In an embodiment, at least two types of snoops may be supported: snoop forward and snoop back.
-
公开(公告)号:US20240273024A1
公开(公告)日:2024-08-15
申请号:US18582333
申请日:2024-02-20
Applicant: Apple Inc.
Inventor: James Vash , Gaurav Garg , Brian P. Lilly , Ramesh B. Gunna , Steven R. Hutsell , Lital Levy-Rubin , Per H. Hammarlund , Harshavardhan Kaushikkar
IPC: G06F12/0815 , G06F12/0831
CPC classification number: G06F12/0815 , G06F12/0831 , G06F2212/1032
Abstract: A scalable cache coherency protocol for system including a plurality of coherent agents coupled to one or more memory controllers is described. The memory controller may implement a precise directory for cache blocks from the memory to which the memory controller is coupled. Multiple requests to a cache block may be outstanding, and snoops and completions for requests may include an expected cache state at the receiving agent, as indicated by a directory in the memory controller when the request was processed, to allow the receiving agent to detect race conditions. In an embodiment, the cache states may include a primary shared and a secondary shared state. The primary shared state may apply to a coherent agent that bears responsibility for transmitting a copy of the cache block to a requesting agent. In an embodiment, at least two types of snoops may be supported: snoop forward and snoop back.
-
公开(公告)号:US12007895B2
公开(公告)日:2024-06-11
申请号:US17821305
申请日:2022-08-22
Applicant: Apple Inc.
Inventor: Per H. Hammarlund , Eran Tamari , Lior Zimet , Sergio Kolor , Sergio V. Tota , Sagi Lahav , James Vash , Gaurav Garg , Jonathan M. Redshaw , Steven R. Hutsell , Harshavardhan Kaushikkar , Shawn M. Fukami
IPC: G06F12/08 , G06F12/0811 , G06F12/0815 , G06F12/0831 , G06F12/109 , G06F12/128 , G06F13/16 , G06F13/28 , G06F13/40 , G06F15/173 , G06F15/78
CPC classification number: G06F12/0831 , G06F12/0811 , G06F12/0815 , G06F12/109 , G06F12/128 , G06F13/161 , G06F13/1668 , G06F13/28 , G06F13/4068 , G06F15/17368 , G06F15/7807 , G06F2212/305 , G06F2212/657
Abstract: A system including a plurality of processor cores, a plurality of graphics processing units, a plurality of peripheral circuits, and a plurality of memory controllers is configured to support scaling of the system using a unified memory architecture.
-
公开(公告)号:US11868258B2
公开(公告)日:2024-01-09
申请号:US18160575
申请日:2023-01-27
Applicant: Apple Inc.
Inventor: James Vash , Gaurav Garg , Brian P. Lilly , Ramesh B. Gunna , Steven R. Hutsell , Lital Levy-Rubin , Per H. Hammarlund , Harshavardhan Kaushikkar
IPC: G06F12/0815 , G06F12/0831
CPC classification number: G06F12/0815 , G06F12/0831 , G06F2212/1032
Abstract: A scalable cache coherency protocol for system including a plurality of coherent agents coupled to one or more memory controllers is described. The memory controller may implement a precise directory for cache blocks from the memory to which the memory controller is coupled. Multiple requests to a cache block may be outstanding, and snoops and completions for requests may include an expected cache state at the receiving agent, as indicated by a directory in the memory controller when the request was processed, to allow the receiving agent to detect race conditions. In an embodiment, the cache states may include a primary shared and a secondary shared state. The primary shared state may apply to a coherent agent that bears responsibility for transmitting a copy of the cache block to a requesting agent. In an embodiment, at least two types of snoops may be supported: snoop forward and snoop back.
-
公开(公告)号:US20230083397A1
公开(公告)日:2023-03-16
申请号:US18058105
申请日:2022-11-22
Applicant: Apple Inc.
Inventor: James Vash , Gaurav Garg , Brian P. Lilly , Ramesh B. Gunna , Steven R. Hutsell , Lital Levy-Rubin , Per H. Hammarlund , Harshavardhan Kaushikkar
IPC: G06F12/0815 , G06F12/0831
Abstract: A scalable cache coherency protocol for system including a plurality of coherent agents coupled to one or more memory controllers is described. The memory controller may implement a precise directory for cache blocks from the memory to which the memory controller is coupled. Multiple requests to a cache block may be outstanding, and snoops and completions for requests may include an expected cache state at the receiving agent, as indicated by a directory in the memory controller when the request was processed, to allow the receiving agent to detect race conditions. In an embodiment, the cache states may include a primary shared and a secondary shared state. The primary shared state may apply to a coherent agent that bears responsibility for transmitting a copy of the cache block to a requesting agent. In an embodiment, at least two types of snoops may be supported: snoop forward and snoop back.
-
公开(公告)号:US20230063676A1
公开(公告)日:2023-03-02
申请号:US17657524
申请日:2022-03-31
Applicant: Apple Inc.
Inventor: Sagi Lahav , Lital Levy - Rubin , Gaurav Garg , Gerard R. Williams, III , Samer Nassar , Per H. Hammarlund , Harshavardhan Kaushikkar , Srinivasa Rangan Sridharan , Jeff Gonion
Abstract: Techniques are disclosed relating to an I/O agent circuit. The I/O agent circuit may include a transaction pipeline and a pool of counters. The I/O agent circuit may initialize a first counter included in the pool of counters with an initial counter value. The I/O agent circuit may assign the first counter to a specific transaction type. The I/O agent circuit may increment the first counter as a part of allocating a transaction of a transaction type included in a set of transaction types different than the specific transaction type. Based on receiving a transaction request to process a first transaction of the specific transaction type, the I/O agent circuit may bind the first transaction to the first counter. The I/O agent circuit may issue the first transaction to the transaction pipeline based on a counter value stored by the first counter matching the initial counter value.
-
-
-
-
-
-
-
-
-