-
公开(公告)号:US20240143530A1
公开(公告)日:2024-05-02
申请号:US18404449
申请日:2024-01-04
Applicant: Apple Inc.
Inventor: Brett D. George , Rohit K. Gupta , Do Kyung Kim , Paul W. Glendenning
IPC: G06F13/28
CPC classification number: G06F13/28 , G06F2213/28
Abstract: Techniques for improving the handling of peripherals in a computer system, including through the use of a DMA control circuit that helps manage the flow of data between memory and the peripherals via an intermediate storage buffer. The DMA control circuit is configured to control timing of DMA transfers between sample buffers in the memory and the intermediate storage buffer. The DMA control circuit may output a priority value of the DMA control circuit for accesses to memory, where the priority value based on stored quality of service (QoS) information and current channel data buffer levels for different DMA channels. The DMA control circuit may separately arbitrate between multiple active transmit and receive channels. Still further, the DMA control circuit may store, for a given data transfer over a particular DMA channel, timestamp information indicative of completion of the DMA and peripheral-side operations.
-
公开(公告)号:US11893413B2
公开(公告)日:2024-02-06
申请号:US17143149
申请日:2021-01-06
Applicant: Apple Inc.
Inventor: Michael D. Snyder , Ronald P. Hall , Deepak Limaye , Brett S. Feero , Rohit K. Gupta
CPC classification number: G06F9/467 , G06F9/5016 , G06F9/5022
Abstract: An embodiment of an apparatus includes a processing circuit and a system memory. The processing circuit may store a pending request in a buffer, the pending request corresponding to a transaction that includes a write request to the system memory. The processing circuit may also allocate an entry in a write table corresponding the transaction. After sending the transaction to the system memory to be processed, the pending request in the buffer may be removed in response to the allocation of the write entry.
-
公开(公告)号:US11893251B2
公开(公告)日:2024-02-06
申请号:US17462812
申请日:2021-08-31
Applicant: Apple Inc.
Inventor: Rohit Natarajan , Jurgen M. Schulz , Christopher D. Shuler , Rohit K. Gupta , Thomas T. Zou , Srinivasa Rangan Sridharan
IPC: G06F3/06 , G06F12/0831
CPC classification number: G06F3/0631 , G06F3/0619 , G06F3/0656 , G06F3/0659 , G06F3/0679 , G06F12/0835 , G06F2212/1021
Abstract: A non-transitory computer-readable medium is disclosed, the medium having instructions stored thereon that are executable by a computer system to perform operations that may include allocating a plurality of storage locations in a system memory of the computer system to a buffer. The operations may further include selecting a particular order for allocating the plurality of storage locations into a cache memory circuit. This particular order may increase a uniformity of cache miss rates in comparison to a linear order. The operations may also include caching subsets of the plurality of storage locations of the buffer using the particular order.
-
公开(公告)号:US11755489B2
公开(公告)日:2023-09-12
申请号:US17463292
申请日:2021-08-31
Applicant: Apple Inc.
Inventor: Rohit K. Gupta , Rohit Natarajan , Jurgen M. Schulz , Harshavardhan Kaushikkar , Connie W. Cheung
IPC: G06F12/0871 , G06F13/16 , G06F12/02 , G06F3/06
CPC classification number: G06F12/0871 , G06F3/0607 , G06F3/067 , G06F3/0664 , G06F12/0238 , G06F13/1673
Abstract: A configurable interface circuit is disclosed. An integrated circuit (IC) having a particular configuration. The IC includes a memory system and a communication fabric coupled to the memory system. The IC further includes a plurality of agent circuits configured to make requests to the memory system that are in a first format that is not specific to the particular configuration of the IC. A plurality of interface circuits is coupled between corresponding ones of the plurality of agent circuits and the communication fabric. A given one of the plurality of interface circuits is configured to receive a request to the memory system in the first format and output the request in a second format that is specific to the particular configuration of the IC.
-
公开(公告)号:US20230062917A1
公开(公告)日:2023-03-02
申请号:US17462812
申请日:2021-08-31
Applicant: Apple Inc.
Inventor: Rohit Natarajan , Jurgen M. Schulz , Christopher D. Shuler , Rohit K. Gupta , Thomas T. Zou , Srinivasa Rangan Sridharan
IPC: G06F3/06 , G06F12/0831
Abstract: A non-transitory computer-readable medium is disclosed, the medium having instructions stored thereon that are executable by a computer system to perform operations that may include allocating a plurality of storage locations in a system memory of the computer system to a buffer. The operations may further include selecting a particular order for allocating the plurality of storage locations into a cache memory circuit. This particular order may increase a uniformity of cache miss rates in comparison to a linear order. The operations may also include caching subsets of the plurality of storage locations of the buffer using the particular order.
-
公开(公告)号:US11232033B2
公开(公告)日:2022-01-25
申请号:US16530216
申请日:2019-08-02
Applicant: Apple Inc.
Inventor: Wolfgang H. Klingauf , Connie W. Cheung , Rohit K. Gupta , Rohit Natarajan , Vanessa Cristina Heppolette , Varaprasad V. Lingutla , Muditha Kanchana
IPC: G06F12/0842 , G06F12/0895
Abstract: Systems, apparatuses, and methods for dynamically partitioning a memory cache among a plurality of agents are described. A system includes a plurality of agents, a communication fabric, a memory cache, and a lower-level memory. The partitioning of the memory cache for the active data streams of the agents is dynamically adjusted to reduce memory bandwidth and increase power savings across a wide range of applications. A memory cache driver monitors activations and characteristics of the data streams of the system. When a change is detected, the memory cache driver dynamically updates the memory cache allocation policy and quotas for the agents. The quotas specify how much of the memory cache each agent is allowed to use. The updates are communicated to the memory cache controller to enforce the new policy and enforce the new quotas for the various agents accessing the memory.
-
公开(公告)号:US11886365B2
公开(公告)日:2024-01-30
申请号:US17475074
申请日:2021-09-14
Applicant: Apple Inc.
Inventor: Brett D. George , Rohit K. Gupta , Do Kyung Kim , Paul W. Glendenning
IPC: G06F13/28
CPC classification number: G06F13/28 , G06F2213/28
Abstract: Techniques for improving the handling of peripherals in a computer system, including through the use of a DMA control circuit that helps manage the flow of data between memory and the peripherals via an intermediate storage buffer. The DMA control circuit is configured to control timing of DMA transfers between sample buffers in the memory and the intermediate storage buffer. The DMA control circuit may output a priority value of the DMA control circuit for accesses to memory, where the priority value based on stored quality of service (QoS) information and current channel data buffer levels for different DMA channels. The DMA control circuit may separately arbitrate between multiple active transmit and receive channels. Still further, the DMA control circuit may store, for a given data transfer over a particular DMA channel, timestamp information indicative of completion of the DMA and peripheral-side operations.
-
公开(公告)号:US11842700B2
公开(公告)日:2023-12-12
申请号:US18109691
申请日:2023-02-14
Applicant: Apple Inc.
Inventor: Prabhu Rajamani , Liang Deng , Oren Kerem , Meir Harar , Ido Yaacov Soffair , Assaf Menachem , John H. Kelm , Rohit K. Gupta
IPC: G09G3/34
CPC classification number: G09G3/3426 , G09G2320/0233 , G09G2320/0646 , G09G2330/021 , G09G2360/18
Abstract: Throttling circuitry may throttle the backlight reconstruction via backlight reconstruction and compensation circuitry in a display pipeline when power may be limited. This throttling of the display pipeline may limit a number of cycles that may be used for performing backlight reconstruction and compensation.
-
公开(公告)号:US11824795B2
公开(公告)日:2023-11-21
申请号:US17455321
申请日:2021-11-17
Applicant: Apple Inc.
Inventor: Rohit K. Gupta , Gregory S. Mathews , Harshavardhan Kaushikkar , Jeonghee Shin , Rohit Natarajan
IPC: H04L12/801 , H04L47/80 , H04L47/25 , H04L47/10
CPC classification number: H04L47/805 , H04L47/25 , H04L47/39
Abstract: Techniques are disclosed relating to merging virtual communication channels in a portion of a computing system. In some embodiments, a communication fabric routes first and second classes of traffic with different quality-of-service parameters, using a first virtual channel for the first class and a second virtual channel for the second class. In some embodiments, a memory controller communicates, via the fabric, using a merged virtual channel configured to handle traffic from both the first virtual channel and the second virtual channel. In some embodiments, the system limits the rate at which an agent is allowed to transmit requests of the second class of traffic, but requests by the agent for the first class of traffic are not rate limited. Disclosed techniques may improve independence of virtual channels, relative to sharing the same channel in an entire system, without unduly increasing complexity.
-
公开(公告)号:US11822416B2
公开(公告)日:2023-11-21
申请号:US17934976
申请日:2022-09-23
Applicant: Apple Inc.
Inventor: Ramana V. Rachakonda , Rohit K. Gupta , Brad W. Simeral , Peter F. Holland
IPC: G06F1/32 , G06F1/3287 , G06F1/3228 , H04B17/318
CPC classification number: G06F1/3287 , G06F1/3228 , H04B17/318
Abstract: In an embodiment, a system may include one or more processors forming central processing units (CPUs) in the system, a display controller configured to display frames on a display device, a memory controller configured to control a memory, and a power management circuit. The power management circuit may be configured to establish one of a plurality of power states in the system. In a first power state, the display controller and the memory controller are powered on while the CPUs are powered off. The display controller may be configured to read a plurality of prerendered frames from the memory and display the plurality of prerendered frames at times specified for each of the plurality of prerendered frames.
-
-
-
-
-
-
-
-
-