Patents by Inventor Wei-Han Lien

Wei-Han Lien 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).

  • Patent number: 12657030
    Abstract: A processor may include a bias prediction circuit and an instruction prediction circuit to provide respective predictions for a conditional instruction. The bias prediction circuit may provide a bias prediction whether a condition of the conditional instruction is biased true or biased false. The instruction prediction circuit may provide an instruction prediction whether the condition of the conditional instruction is true of false. Responsive to a bias prediction that the condition of the conditional instruction is biased true or biased false, the processor may use the bias prediction from the bias prediction circuit to speculatively process the conditional instruction. Otherwise, the processor may use the instruction prediction from the instruction prediction circuit to speculatively process the conditional instruction.
    Type: Grant
    Filed: July 16, 2024
    Date of Patent: June 16, 2026
    Assignee: Apple Inc.
    Inventors: Ian D Kountanis, Douglas C Holman, Wei-Han Lien, Pruthivi Vuyyuru, Ethan R Schuchman, Niket K Choudhary, Kulin N Kothari, Haoyan Jia
  • Patent number: 12572625
    Abstract: Techniques are disclosed relating to critical path identification and prioritization. In some embodiments, criticality detection circuitry is configured to sparsely assign tokens to a subset of instructions to be executed by pipeline circuitry, track a distance between execution of the instruction and execution of one or more instructions that depend on the instruction, and train instructions as predicted-critical or not based on tracked distances. In some embodiments, scheduling circuitry is configured to prioritize predicted-critical instructions over other instructions for issuance.
    Type: Grant
    Filed: January 3, 2023
    Date of Patent: March 10, 2026
    Assignee: Apple Inc.
    Inventors: Wei-Han Lien, Edvin Catovic, Nikhil Gupta, Mridul Agarwal, Haoyan Jia, Ethan R. Schuchman
  • Publication number: 20250383881
    Abstract: Systems and methods related to a processor with opportunistic bypass of dispatch buffer and reservation station are disclosed herein. The microarchitecture of the processor can determine when conditions exist for the dispatch buffers, reservation station, or other components of an instruction pipeline, to be bypassed by an instruction. One or more components may be bypassed after at least a portion of the instruction pipeline is flushed or ignored. Instructions may bypass one or more components if the source operands of the instruction are ready, there is sufficient space at the destination bypass path, and if the bypassed component is empty. Systems and methods as disclosed herein may improve the efficiency of processing instructions and reduce penalties for branch interpretations and other errors.
    Type: Application
    Filed: September 3, 2025
    Publication date: December 18, 2025
    Inventors: Divyansh Jagota, Manan R. Salvi, Vignyan Kothinti, Wei-han Lien
  • Patent number: 12430137
    Abstract: Systems and methods related to a processor with opportunistic bypass of dispatch buffer and reservation station are disclosed herein. The microarchitecture of the processor can determine when conditions exist for the dispatch buffers, reservation station, or other components of an instruction pipeline, to be bypassed by an instruction. One or more components may be bypassed after at least a portion of the instruction pipeline is flushed or ignored. Instructions may bypass one or more components if the source operands of the instruction are ready, there is sufficient space at the destination bypass path, and if the bypassed component is empty. Systems and methods as disclosed herein may improve the efficiency of processing instructions and reduce penalties for branch interpretations and other errors.
    Type: Grant
    Filed: August 22, 2024
    Date of Patent: September 30, 2025
    Inventors: Divyansh Jagota, Manan R Salvi, Vignyan Kothinti, Wei-han Lien
  • Publication number: 20250291598
    Abstract: Systems and methods related to branch prediction circuits and instruction fetch circuits in computer processors are disclosed herein. A branch prediction circuit and an instruction fetch circuit may operate in combination to fetch a group of instructions from a memory. A counter and an offset may be associated with the fetch group and may form a prediction entry in a table of a prediction circuit. The counter may represent the longest consecutive number of uses of an instruction as the exit point of the branch. The offset may represent the instruction in the fetch group that is associated with the current longest consecutive number of uses as the exit point of the branch. The processor may predict that a branching instruction in the fetch group will be used to branch the program based on the counter and the offset. The fetch circuit may prefetch an instruction based on the prediction.
    Type: Application
    Filed: June 28, 2024
    Publication date: September 18, 2025
    Inventors: Vignyan Kothinti, Soundharya Balasubramanian, Ashok T Venkatachar, Yasuo Ishii, Wei-han Lien
  • Publication number: 20250291601
    Abstract: Systems and methods related to a processor with opportunistic bypass of dispatch buffer and reservation station are disclosed herein. The microarchitecture of the processor can determine when conditions exist for the dispatch buffers, reservation station, or other components of an instruction pipeline, to be bypassed by an instruction. One or more components may be bypassed after at least a portion of the instruction pipeline is flushed or ignored. Instructions may bypass one or more components if the source operands of the instruction are ready, there is sufficient space at the destination bypass path, and if the bypassed component is empty. Systems and methods as disclosed herein may improve the efficiency of processing instructions and reduce penalties for branch interpretations and other errors.
    Type: Application
    Filed: August 22, 2024
    Publication date: September 18, 2025
    Inventors: Divyansh Jagota, Manan R. Salvi, Vignyan Kothinti, Wei-han Lien
  • Publication number: 20250138624
    Abstract: Methods and systems involving automotive computing architectures with phased wake sequences and power control are disclosed herein. A disclosed automotive computing system includes at least three subsystems: a first subsystem that is in an always-on power domain, a second subsystem that is powered on from a sleep state in response to an event detected by the first subsystem, and a third subsystem that is powered on, from an off state, after the first subsystem and the second subsystem are powered on. The subsystems of the architecture can be activated in different phases based on a given scenario in which the automotive computing architecture is operating. The same subsystem can occupy a different phase in different scenarios. The phased wake sequences may conserve power without sacrificing utility and may be optimized for different scenarios and triggering events.
    Type: Application
    Filed: October 30, 2024
    Publication date: May 1, 2025
    Inventors: Yongbum Kim, Wei-han Lien, Luke Yen, Thaddeus Fortenberry
  • Publication number: 20250141729
    Abstract: This disclosure relates to automotive computing architectures and more specifically to specialized discrete scale out computational elements that enhance the performance of an automotive computing architecture in terms of efficient networking and sensor data processing. A disclosed automotive computing architecture includes a set of zones, a zonal network, a sensor in a first zone, and an actuator in a second zone. A discrete computational element, in the first zone, receives sensor data from the sensor according to a legacy protocol, and is programmed to process the sensor data to produce a command therefrom and packages the command in the legacy protocol with an Ethernet packet. A second discrete computational element, in a second zone, is coupled to the actuator and is programmed to receive the Ethernet packet with the command, unpack the command into the legacy protocol, and provide the command in the legacy protocol to the actuator.
    Type: Application
    Filed: October 30, 2024
    Publication date: May 1, 2025
    Inventors: Yongbum Kim, Wei-han Lien, Luke Yen, Thaddeus Fortenberry
  • Patent number: 12236244
    Abstract: A multi-degree branch predictor is disclosed. A processing circuit includes an instruction fetch circuit configured to fetch branch instructions, and a branch prediction circuit having a plurality of prediction subcircuits. The prediction subcircuits are configured to store different amounts of branch history data with respect to other ones, and to receive an indication of a given branch instruction in a particular clock cycle. The prediction subcircuits implement a common branch prediction scheme to output, in different clock cycles, corresponding predictions for the given branch instruction using the different amounts of branch history data and cause, instruction fetches to be performed by the instruction fetch circuit.
    Type: Grant
    Filed: June 30, 2022
    Date of Patent: February 25, 2025
    Assignee: Apple Inc.
    Inventors: Wei-Han Lien, Muawya M. Al-Otoom, Ian D. Kountanis, Niket K. Choudhary, Pruthivi Vuyyuru
  • Publication number: 20240385842
    Abstract: A processor may include a bias prediction circuit and an instruction prediction circuit to provide respective predictions for a conditional instruction. The bias prediction circuit may provide a bias prediction whether a condition of the conditional instruction is biased true or biased false. The instruction prediction circuit may provide an instruction prediction whether the condition of the conditional instruction is true of false. Responsive to a bias prediction that the condition of the conditional instruction is biased true or biased false, the processor may use the bias prediction from the bias prediction circuit to speculatively process the conditional instruction. Otherwise, the processor may use the instruction prediction from the instruction prediction circuit to speculatively process the conditional instruction.
    Type: Application
    Filed: July 16, 2024
    Publication date: November 21, 2024
    Applicant: Apple Inc.
    Inventors: Ian D Kountanis, Douglas C Holman, Wei-Han Lien, Pruthivi Vuyyuru, Ethan R Schuchman, Niket K Choudhary, Kulin N Kothari, Haoyan Jia
  • Patent number: 12067399
    Abstract: A processor may include a bias prediction circuit and an instruction prediction circuit to provide respective predictions for a conditional instruction. The bias prediction circuit may provide a bias prediction whether a condition of the conditional instruction is biased true or biased false. The instruction prediction circuit may provide an instruction prediction whether the condition of the conditional instruction is true of false. Responsive to a bias prediction that the condition of the conditional instruction is biased true or biased false, the processor may use the bias prediction from the bias prediction circuit to speculatively process the conditional instruction. Otherwise, the processor may use the instruction prediction from the instruction prediction circuit to speculatively process the conditional instruction.
    Type: Grant
    Filed: February 1, 2022
    Date of Patent: August 20, 2024
    Assignee: Apple Inc.
    Inventors: Ian D Kountanis, Douglas C Holman, Wei-Han Lien, Pruthivi Vuyyuru, Ethan R Schuchman, Niket K Choudhary, Kulin N Kothari, Haoyan Jia
  • Patent number: 11829763
    Abstract: A system and method for efficiently reducing the latency of load operations. In various embodiments, logic of a processor accesses a prediction table after fetching instructions. For a prediction table hit, the logic executes a load instruction with a retrieved predicted address from the prediction table. For a prediction table miss, when the logic determines the address of the load instruction and hits in a learning table, the logic updates a level of confidence indication to indicate a higher level of confidence when a stored address matches the determined address. When the logic determines the level of confidence indication stored in a given table entry of the learning table meets a threshold, the logic allocates, in the prediction table, information stored in the given entry. Therefore, the predicted address is available during the next lookup of the prediction table.
    Type: Grant
    Filed: August 13, 2019
    Date of Patent: November 28, 2023
    Assignee: Apple Inc.
    Inventors: Yuan C. Chou, Viney Gautam, Wei-Han Lien, Kulin N. Kothari, Mridul Agarwal
  • Patent number: 11809874
    Abstract: A processor may include an instruction distribution circuit and a plurality of execution pipelines. The instruction distribution circuit may distribute a conditional instruction to a first execution pipeline for execution when the conditional instruction is associated with a prediction of a high confidence level, or to a second execution pipeline for execution when the conditional instruction is associated with a prediction of a low confidence level. The second execution pipeline, not the first execution pipeline, may directly instruct the processor to obtain an instruction from a target address for execution, when the conditional instruction is mispredicted. Thus, when the conditional instruction is distributed to the first execution pipeline for execution and determined to be mispredicted, the first execution pipeline may cause the conditional instruction to be re-executed in the second execution pipeline to cause the instruction from the correct target address to be obtained for execution.
    Type: Grant
    Filed: February 1, 2022
    Date of Patent: November 7, 2023
    Assignee: Apple Inc.
    Inventors: Ethan R Schuchman, Niket K Choudhary, Kulin N Kothari, Haoyan Jia, Ian D Kountanis, Douglas C Holman, Wei-Han Lien, Pruthivi Vuyyuru
  • Publication number: 20230244495
    Abstract: A processor may include an instruction distribution circuit and a plurality of execution pipelines. The instruction distribution circuit may distribute a conditional instruction to a first execution pipeline for execution when the conditional instruction is associated with a prediction of a high confidence level, or to a second execution pipeline for execution when the conditional instruction is associated with a prediction of a low confidence level. The second execution pipeline, not the first execution pipeline, may directly instruct the processor to obtain an instruction from a target address for execution, when the conditional instruction is mispredicted. Thus, when the conditional instruction is distributed to the first execution pipeline for execution and determined to be mispredicted, the first execution pipeline may cause the conditional instruction to be re-executed in the second execution pipeline to cause the instruction from the correct target address to be obtained for execution.
    Type: Application
    Filed: February 1, 2022
    Publication date: August 3, 2023
    Applicant: Apple Inc.
    Inventors: Ethan R. Schuchman, Niket K. Choudhary, Kulin N. Kothari, Haoyan Jia, Ian D. Kountanis, Douglas C. Holman, Wei-Han Lien, Pruthivi Vuyyuru
  • Publication number: 20230244494
    Abstract: A processor may include a bias prediction circuit and an instruction prediction circuit to provide respective predictions for a conditional instruction. The bias prediction circuit may provide a bias prediction whether a condition of the conditional instruction is biased true or biased false. The instruction prediction circuit may provide an instruction prediction whether the condition of the conditional instruction is true of false. Responsive to a bias prediction that the condition of the conditional instruction is biased true or biased false, the processor may use the bias prediction from the bias prediction circuit to speculatively process the conditional instruction. Otherwise, the processor may use the instruction prediction from the instruction prediction circuit to speculatively process the conditional instruction.
    Type: Application
    Filed: February 1, 2022
    Publication date: August 3, 2023
    Applicant: Apple Inc.
    Inventors: Ian D Kountanis, Douglas C Holman, Wei-Han Lien, Pruthivi Vuyyuru, Ethan R Schuchman, Niket K Choudhary, Kulin N Kothari, Haoyan Jia
  • Patent number: 11003233
    Abstract: In an embodiment, a system may include multiple processors and an automatic power state controller (APSC) configured to switch the processors between various operating points. The operating points may be described by data programmed into the APSC, and the APSC may include a register that is programmable with a target operating point request identifying a target operating point for the processors from among the described operating points. The data describing the operating points may also include an indication of whether or not the number of processors that may be concurrently active at the operating point is limited. Based on the indication and the number of active processors, the APSC may override the requested operating point with a reduced operating point. In some embodiments, a digital power estimator (DPE) may monitor operation of the processors and may throttle the processors when high power consumption is detected.
    Type: Grant
    Filed: April 9, 2019
    Date of Patent: May 11, 2021
    Assignee: Apple Inc.
    Inventors: Jong-Suk Lee, Daniel C. Murray, Wei-Han Lien
  • Publication number: 20210049015
    Abstract: A system and method for efficiently reducing the latency of load operations. In various embodiments, logic of a processor accesses a prediction table after fetching instructions. For a prediction table hit, the logic executes a load instruction with a retrieved predicted address from the prediction table. For a prediction table miss, when the logic determines the address of the load instruction and hits in a learning table, the logic updates a level of confidence indication to indicate a higher level of confidence when a stored address matches the determined address. When the logic determines the level of confidence indication stored in a given table entry of the learning table meets a threshold, the logic allocates, in the prediction table, information stored in the given entry. Therefore, the predicted address is available during the next lookup of the prediction table.
    Type: Application
    Filed: August 13, 2019
    Publication date: February 18, 2021
    Inventors: Yuan C. Chou, Viney Gautam, Wei-Han Lien, Kulin N. Kothari, Mridul Agarwal
  • Publication number: 20190235601
    Abstract: In an embodiment, a system may include multiple processors and an automatic power state controller (APSC) configured to switch the processors between various operating points. The operating points may be described by data programmed into the APSC, and the APSC may include a register that is programmable with a target operating point request identifying a target operating point for the processors from among the described operating points. The data describing the operating points may also include an indication of whether or not the number of processors that may be concurrently active at the operating point is limited. Based on the indication and the number of active processors, the APSC may override the requested operating point with a reduced operating point. In some embodiments, a digital power estimator (DPE) may monitor operation of the processors and may throttle the processors when high power consumption is detected.
    Type: Application
    Filed: April 9, 2019
    Publication date: August 1, 2019
    Inventors: Jong-Suk Lee, Daniel C. Murray, Wei-Han Lien
  • Patent number: 10303238
    Abstract: In an embodiment, a system may include multiple processors and an automatic power state controller (APSC) configured to switch the processors between various operating points. The operating points may be described by data programmed into the APSC, and the APSC may include a register that is programmable with a target operating point request identifying a target operating point for the processors from among the described operating points. The data describing the operating points may also include an indication of whether or not the number of processors that may be concurrently active at the operating point is limited. Based on the indication and the number of active processors, the APSC may override the requested operating point with a reduced operating point. In some embodiments, a digital power estimator (DPE) may monitor operation of the processors and may throttle the processors when high power consumption is detected.
    Type: Grant
    Filed: May 31, 2017
    Date of Patent: May 28, 2019
    Assignee: Apple Inc.
    Inventors: Jong-Suk Lee, Daniel C. Murray, Wei-Han Lien
  • Patent number: 9959120
    Abstract: In an embodiment, an integrated circuit includes at least one processor. The processor may include a reset vector base address register configured to store a reset vector address for the processor. Responsive to a reset, the processor may be configured to capture a reset vector address on an input, updating the reset vector base address register. Upon release from reset, the processor may initiate instruction execution at the reset vector address. The integrated circuit may further include a logic circuit that is coupled to provide the reset vector address. The logic circuit may include a register that is programmable with the reset vector address. More particularly, in an embodiment, the register may be programmable via a write operation issued by the processor (e.g. a memory-mapped write operation). Accordingly, the reset vector address may be programmable in the integrated circuit, and may be changed from time to time.
    Type: Grant
    Filed: January 25, 2013
    Date of Patent: May 1, 2018
    Assignee: Apple Inc.
    Inventors: Josh P. de Cesare, Gerard R. Williams, III, Michael J. Smith, Wei-Han Lien