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: 12657030Abstract: 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: GrantFiled: July 16, 2024Date of Patent: June 16, 2026Assignee: 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: 12572625Abstract: 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: GrantFiled: January 3, 2023Date of Patent: March 10, 2026Assignee: Apple Inc.Inventors: Wei-Han Lien, Edvin Catovic, Nikhil Gupta, Mridul Agarwal, Haoyan Jia, Ethan R. Schuchman
-
Publication number: 20250383881Abstract: 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: ApplicationFiled: September 3, 2025Publication date: December 18, 2025Inventors: Divyansh Jagota, Manan R. Salvi, Vignyan Kothinti, Wei-han Lien
-
Patent number: 12430137Abstract: 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: GrantFiled: August 22, 2024Date of Patent: September 30, 2025Inventors: Divyansh Jagota, Manan R Salvi, Vignyan Kothinti, Wei-han Lien
-
Publication number: 20250291598Abstract: 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: ApplicationFiled: June 28, 2024Publication date: September 18, 2025Inventors: Vignyan Kothinti, Soundharya Balasubramanian, Ashok T Venkatachar, Yasuo Ishii, Wei-han Lien
-
Publication number: 20250291601Abstract: 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: ApplicationFiled: August 22, 2024Publication date: September 18, 2025Inventors: Divyansh Jagota, Manan R. Salvi, Vignyan Kothinti, Wei-han Lien
-
Publication number: 20250138624Abstract: 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: ApplicationFiled: October 30, 2024Publication date: May 1, 2025Inventors: Yongbum Kim, Wei-han Lien, Luke Yen, Thaddeus Fortenberry
-
Publication number: 20250141729Abstract: 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: ApplicationFiled: October 30, 2024Publication date: May 1, 2025Inventors: Yongbum Kim, Wei-han Lien, Luke Yen, Thaddeus Fortenberry
-
Patent number: 12236244Abstract: 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: GrantFiled: June 30, 2022Date of Patent: February 25, 2025Assignee: Apple Inc.Inventors: Wei-Han Lien, Muawya M. Al-Otoom, Ian D. Kountanis, Niket K. Choudhary, Pruthivi Vuyyuru
-
Publication number: 20240385842Abstract: 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: ApplicationFiled: July 16, 2024Publication date: November 21, 2024Applicant: 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: 12067399Abstract: 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: GrantFiled: February 1, 2022Date of Patent: August 20, 2024Assignee: 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: 11829763Abstract: 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: GrantFiled: August 13, 2019Date of Patent: November 28, 2023Assignee: Apple Inc.Inventors: Yuan C. Chou, Viney Gautam, Wei-Han Lien, Kulin N. Kothari, Mridul Agarwal
-
Patent number: 11809874Abstract: 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: GrantFiled: February 1, 2022Date of Patent: November 7, 2023Assignee: 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: 20230244495Abstract: 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: ApplicationFiled: February 1, 2022Publication date: August 3, 2023Applicant: 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: 20230244494Abstract: 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: ApplicationFiled: February 1, 2022Publication date: August 3, 2023Applicant: 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: 11003233Abstract: 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: GrantFiled: April 9, 2019Date of Patent: May 11, 2021Assignee: Apple Inc.Inventors: Jong-Suk Lee, Daniel C. Murray, Wei-Han Lien
-
Publication number: 20210049015Abstract: 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: ApplicationFiled: August 13, 2019Publication date: February 18, 2021Inventors: Yuan C. Chou, Viney Gautam, Wei-Han Lien, Kulin N. Kothari, Mridul Agarwal
-
Publication number: 20190235601Abstract: 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: ApplicationFiled: April 9, 2019Publication date: August 1, 2019Inventors: Jong-Suk Lee, Daniel C. Murray, Wei-Han Lien
-
Patent number: 10303238Abstract: 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: GrantFiled: May 31, 2017Date of Patent: May 28, 2019Assignee: Apple Inc.Inventors: Jong-Suk Lee, Daniel C. Murray, Wei-Han Lien
-
Patent number: 9959120Abstract: 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: GrantFiled: January 25, 2013Date of Patent: May 1, 2018Assignee: Apple Inc.Inventors: Josh P. de Cesare, Gerard R. Williams, III, Michael J. Smith, Wei-Han Lien