Systems and methods for controlling data on a bus using latency

    公开(公告)号:US10423558B1

    公开(公告)日:2019-09-24

    申请号:US16058433

    申请日:2018-08-08

    申请人: Apple Inc.

    摘要: A system and method for efficiently routing data in a communication fabric. A computing system includes a fabric for routing data among one or more agents and a memory controller for system memory. The fabric includes multiple hierarchical clusters with a split topology where the data links are physically separated from the control links. A given cluster receives a write command and associated write data, and stores them in respective buffers. The given cluster marks the write command as a candidate to be issued to the memory controller when it is determined the write data will arrive ahead of the write command at the memory controller after being issued. The given cluster prevents the write command from becoming a candidate to be issued when it is determined the write data may not arrive ahead of the write command at the memory controller.

    Simultaneous VoLTE and 2G/3G/LTE data in dual SIM configuration

    公开(公告)号:US10412591B2

    公开(公告)日:2019-09-10

    申请号:US14795104

    申请日:2015-07-09

    申请人: Apple Inc.

    摘要: A user equipment (UE) device may perform uplink (UL) data communication using a first radio access technology (RAT) while performing an UL voice call communication using a second RAT. The UL data communication may be supported by a first subscriber identity module (SIM) and the UL packet switched voice call communication may be supported by a second SIM. The UL voice call communication may be a packet switched communication. The communications may be performed by a radio(s) of the UE. The radio(s) may include shared physical layer resources that are shared between the UL data and UL voice communications. The UE may also include a single transmitter that may be shared between the UL data and UL packet voice communications and the UL data communication may use a first portion of the single transmitter's TTI and the UL voice communication may use a second portion of the single transmitter's TTI.

    Handling voice and non-voice data under uplink limited conditions

    公开(公告)号:US10397119B2

    公开(公告)日:2019-08-27

    申请号:US16147913

    申请日:2018-10-01

    申请人: Apple Inc.

    摘要: This disclosure relates to techniques for handling voice and data under uplink limited conditions in a wireless communication system. A wireless device and a base station may establish a wireless communication link. Transmission time interval bundling (TTI-B) may be enabled for uplink communications between the wireless device and the base station. It may be determined that the wireless device is experiencing uplink limited conditions. One or more rules prioritizing a first type of data over a second type of data for uplink communications may be enabled based on TTI-B being enabled and the wireless device experiencing uplink limited conditions.

    Baseband power estimation and feedback mechanism

    公开(公告)号:US10341957B2

    公开(公告)日:2019-07-02

    申请号:US16241107

    申请日:2019-01-07

    申请人: Apple Inc.

    IPC分类号: H04W52/02 H04W72/04 H04W88/02

    摘要: This disclosure relates to techniques for estimating baseband power consumption and using the baseband power consumption estimation to select baseband operation features. According to some embodiments, one or more baseband power consumption modifiers occurring during an estimation window may be identified. Baseband power consumption of the wireless device during the estimation window may be estimated based on the identified baseband power consumption modifiers occurring during the estimation window. Baseband data throughput of the wireless device during the estimation window may also be estimated. One or more baseband operation characteristics may be selected based at least in part on the estimated baseband power consumption during the estimation window, possibly in conjunction with the estimated baseband data throughput during the estimation window, current wireless medium conditions, and/or other considerations.

    User equipment that autonomously selects between full and half duplex operations

    公开(公告)号:US10341081B2

    公开(公告)日:2019-07-02

    申请号:US15495010

    申请日:2017-04-24

    申请人: Apple Inc.

    摘要: A user equipment (UE) comprises a radio having TX and RX paths that include a duplexer, thus facilitating a full-duplex mode. The radio may also have TX and RX paths that exclude the duplexer, and which thus facilitate a half-duplex mode. The UE may be configured to autonomously and opportunistically switch from the full-duplex mode (the paths that include the duplexer) to the half-duplex mode (the paths that exclude the duplexer) when the UE desires to avoid the path loss caused by the duplexer, e.g., to temporarily receive with greater sensitivity and/or transmit with more power, during poor channel conditions. At other times the UE may autonomously decide to remain in full-duplex mode to achieve reduced transmission time, e.g., during time-critical communications such as VoLTE. The UE may autonomously determine whether to use full or half-duplex mode, i.e., without requiring any coordination with network-side devices.

    Fully virtualized TLBs
    108.
    发明授权

    公开(公告)号:US10339068B2

    公开(公告)日:2019-07-02

    申请号:US15495707

    申请日:2017-04-24

    摘要: Systems, apparatuses, and methods for implementing a virtualized translation lookaside buffer (TLB) are disclosed herein. In one embodiment, a system includes at least an execution unit and a first TLB. The system supports the execution of a plurality of virtual machines in a virtualization environment. The system detects a translation request generated by a first virtual machine with a first virtual memory identifier (VMID). The translation request is conveyed from the execution unit to the first TLB. The first TLB performs a lookup of its cache using at least a portion of a first virtual address and the first VMID. If the lookup misses in the cache, the first TLB allocates an entry which is addressable by the first virtual address and the first VMID, and the first TLB sends the translation request with the first VMID to a second TLB.

    Bufferless communication for redundant multithreading using register permutation

    公开(公告)号:US10303472B2

    公开(公告)日:2019-05-28

    申请号:US15359236

    申请日:2016-11-22

    摘要: Systems, apparatuses, and methods for implementing bufferless communication for redundant multithreading applications using register permutation are disclosed. In one embodiment, a system includes a parallel processing unit, a register file, and a scheduler. The scheduler is configured to cause execution of a plurality of threads to be performed in lockstep on the parallel processing unit. The plurality of threads include a first thread and a second thread executing on adjacent first and second lanes, respectively, of the parallel processing unit. The second thread is configured to perform a register permute operation from a first register location to a second register location in a first instruction cycle, with the second register location associated with the second processing lane. The second thread is configured to read from the second register location in a second instruction cycle, wherein the first and second instruction cycles are successive instruction cycles.

    Scheduling memory requests with non-uniform latencies

    公开(公告)号:US10296230B1

    公开(公告)日:2019-05-21

    申请号:US15853090

    申请日:2017-12-22

    摘要: Systems, apparatuses, and methods for performing scheduling memory requests for issue to two different memory types are disclosed. A computing system includes one or more clients for processing applications. A heterogeneous memory channel within a memory controller transfers memory traffic between the memory controller and a memory bus connected to each of a first memory and a second memory different from the first memory. The memory controller determines a next given point in time that does not already have read response data scheduled to be driven on the memory bus. The memory controller determines whether there is time to schedule a first memory access command for accessing the first memory and a second memory access command for accessing the second memory. If there is sufficient time for each, then one of the access commands is selected based on weighted criteria.