Patents by Inventor Jack Kang

Jack Kang 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: 8850169
    Abstract: A system, apparatus and method for multithread handling on a multithread processing device are described herein. Embodiments of the present invention provide a multithread processing device for multithread handling including a plurality of registers operatively coupled to an instruction dispatch block, including thread-control registers for selectively disabling threads. In various embodiments, the multithread processing device may include a thread-operation register for selectively providing a lock to a first thread to prevent a second thread from disabling the first thread while the first thread has the lock. In still further embodiments, the multithread processing device may be configured to atomically disable and release a lock held by a thread. Other embodiments may be described and claimed.
    Type: Grant
    Filed: July 1, 2013
    Date of Patent: September 30, 2014
    Assignee: Marvell International Ltd.
    Inventors: Jack Kang, Hsi-Cheng Chu, Yu-Chi Chuang
  • Patent number: 8799929
    Abstract: A system, apparatus, and method for allocation mode switching on an event-driven basis are described herein. The allocation mode switching method includes detecting an event, selecting a bandwidth allocation mode associated with the detected event, and allocating a plurality of execution cycles of an instruction execution period of a processor core among a plurality of instruction execution threads based at least in part on the selected bandwidth allocation mode. Other embodiments may be described and claimed.
    Type: Grant
    Filed: April 15, 2013
    Date of Patent: August 5, 2014
    Assignee: Marvell World Trade Ltd.
    Inventors: Jack Kang, Yu-Chi Chuang
  • Publication number: 20130247072
    Abstract: A system, apparatus, and method for allocation mode switching on an event-driven basis are described herein. The allocation mode switching method includes detecting an event, selecting a bandwidth allocation mode associated with the detected event, and allocating a plurality of execution cycles of an instruction execution period of a processor core among a plurality of instruction execution threads based at least in part on the selected bandwidth allocation mode. Other embodiments may be described and claimed.
    Type: Application
    Filed: April 15, 2013
    Publication date: September 19, 2013
    Applicant: Marvell World Trade Ltd.
    Inventors: Jack Kang, Yu-Chi Chuang
  • Patent number: 8539212
    Abstract: Systems, apparatuses, and methods for determinative branch prediction indexing are described herein. The determinative branch prediction indexing method includes receiving a program counter address for a branch instruction, dynamically selecting a branch indexing scheme from a plurality of branch indexing schemes, and generating a branch prediction index based at least in part on selected branch indexing scheme and the program counter address. Other embodiments may be described and claimed.
    Type: Grant
    Filed: August 31, 2012
    Date of Patent: September 17, 2013
    Assignee: Marvell International Ltd.
    Inventors: Jack Kang, Yu-Chi Chuang
  • Patent number: 8478972
    Abstract: A system, apparatus and method for handling switching among threads within a multithread processor are described herein. Embodiments of the present invention provide a method for multithread handling that includes fetching and issuing one or more instructions, corresponding to a first instruction execution thread, to an execution block for execution during a cycle count associated with the first instruction execution thread and when the instruction execution thread is in an active mode. The method further includes switching a second instruction execution thread to the active mode when the cycle count corresponding to the first instruction execution thread is complete, and fetching and issuing one or more instructions, corresponding to the second instruction execution thread, to the execution block for execution during a cycle count associated with the second instruction execution thread.
    Type: Grant
    Filed: September 28, 2011
    Date of Patent: July 2, 2013
    Assignee: Marvell World Trade Ltd.
    Inventors: Jack Kang, Hsi-Cheng Chu
  • Patent number: 8478971
    Abstract: A system, apparatus and method for multithread handling on a multithread processing device are described herein. Embodiments of the present invention provide a multithread processing device for multithread handling including a plurality of registers operatively coupled to an instruction dispatch block, including thread-control registers for selectively disabling threads. In various embodiments, the multithread processing device may include a thread-operation register for selectively providing a lock to a first thread to prevent a second thread from disabling the first thread while the first thread has the lock. In still further embodiments, the multithread processing device may be configured to atomically disable and release a lock held by a thread. Other embodiments may be described and claimed.
    Type: Grant
    Filed: December 19, 2011
    Date of Patent: July 2, 2013
    Assignee: Marvell International Ltd.
    Inventors: Jack Kang, Yu-Chi Chuang, Hsi-Cheng Chu
  • Patent number: 8473728
    Abstract: Techniques for handling interrupts of multiple instruction threads within a multi-thread processing environment. The techniques include: interleavingly fetching and issuing instructions of (i) a first instruction execution thread and (ii) a second instruction thread for execution by an execution block of the multi-thread processing environment; providing a first interrupt signal via a first interrupt signal line within the multi-thread processing environment to interrupt fetching and issuing of instructions of the first instruction execution thread; and providing a second interrupt signal via a second interrupt signal line within the multi-thread processing environment to interrupt fetching and issuing of instructions of the second instruction execution thread. The first interrupt signal line and the second interrupt signal line are physically separate and distinct signal lines that are directly electrically coupled to one another.
    Type: Grant
    Filed: May 24, 2012
    Date of Patent: June 25, 2013
    Assignee: Marvell World Trade Ltd.
    Inventors: Jack Kang, Hsi-Cheng Chu, Yu-Chi Chuang
  • Patent number: 8468326
    Abstract: A hardware module configured to perform single instructions faster than is possible in software running on the microprocessor. In one implementation, the hardware module is configured to perform a single count instruction, including - counting a number of “ones” contained in a first register; and storing, in a second register, the count of the number of “ones” contained in the first register.
    Type: Grant
    Filed: August 3, 2009
    Date of Patent: June 18, 2013
    Assignee: Marvell International Ltd.
    Inventors: Jack Kang, Jianwei Bei, Shanker Rao Donthineni, Manish Kumar, Victor Lin, Justin Lau
  • Patent number: 8424021
    Abstract: A system, apparatus, and method for allocation mode switching on an event-driven basis are described herein. The allocation mode switching method includes detecting an event, selecting a bandwidth allocation mode associated with the detected event, and allocating a plurality of execution cycles of an instruction execution period of a processor core among a plurality of instruction execution threads based at least in part on the selected bandwidth allocation mode. Other embodiments may be described and claimed.
    Type: Grant
    Filed: October 21, 2011
    Date of Patent: April 16, 2013
    Assignee: Marvell World Trade Ltd.
    Inventors: Jack Kang, Yu-Chi Chuang
  • Publication number: 20120239915
    Abstract: Techniques for handling interrupts of multiple instruction threads within a multi-thread processing environment. The techniques include: interleavingly fetching and issuing instructions of (i) a first instruction execution thread and (ii) a second instruction thread for execution by an execution block of the multi-thread processing environment; providing a first interrupt signal via a first interrupt signal line within the multi-thread processing environment to interrupt fetching and issuing of instructions of the first instruction execution thread; and providing a second interrupt signal via a second interrupt signal line within the multi-thread processing environment to interrupt fetching and issuing of instructions of the second instruction execution thread. The first interrupt signal line and the second interrupt signal line are physically separate and distinct signal lines that are directly electrically coupled to one another.
    Type: Application
    Filed: May 24, 2012
    Publication date: September 20, 2012
    Inventors: Jack Kang, His-Cheng Chu, Yu-Chi Chuang
  • Patent number: 8261049
    Abstract: Systems, apparatuses, and methods for determinative branch prediction indexing are described herein. The determinative branch prediction indexing method includes receiving a program counter address for a branch instruction, dynamically selecting a branch indexing scheme from a plurality of branch indexing schemes, and generating a branch prediction index based at least in part on selected branch indexing scheme and the program counter address. Other embodiments may be described and claimed.
    Type: Grant
    Filed: April 9, 2008
    Date of Patent: September 4, 2012
    Assignee: Marvell International Ltd.
    Inventors: Jack Kang, Yu-Chi Chuang
  • Patent number: 8190866
    Abstract: Techniques for handling interrupts of multiple instruction threads within a multi-thread processing environment. The techniques include: interleavingly fetching and issuing instructions of (i) a first instruction execution thread and (ii) a second instruction thread for execution by an execution block of the multi-thread processing environment; providing a first interrupt signal via a first interrupt signal line within the multi-thread processing environment to interrupt fetching and issuing of instructions of the first instruction execution thread; and providing a second interrupt signal via a second interrupt signal line within the multi-thread processing environment to interrupt fetching and issuing of instructions of the second instruction execution thread. The first interrupt signal line and the second interrupt signal line are physically separate and distinct signal lines that are directly electrically coupled to one another.
    Type: Grant
    Filed: January 10, 2011
    Date of Patent: May 29, 2012
    Assignee: Marvell World Trade Ltd.
    Inventors: Jack Kang, Hsi-Cheng Chu, Yu-Chi Chuang
  • Publication number: 20120066479
    Abstract: A system, apparatus and method for handling switching among threads within a multithread processor are described herein. Embodiments of the present invention provide a method for multithread handling that includes fetching and issuing one or more instructions, corresponding to a first instruction execution thread, to an execution block for execution during a cycle count associated with the first instruction execution thread and when the instruction execution thread is in an active mode. The method further includes switching a second instruction execution thread to the active mode when the cycle count corresponding to the first instruction execution thread is complete, and fetching and issuing one or more instructions, corresponding to the second instruction execution thread, to the execution block for execution during a cycle count associated with the second instruction execution thread.
    Type: Application
    Filed: September 28, 2011
    Publication date: March 15, 2012
    Inventors: Jack Kang, Hsi-Cheng Chu
  • Publication number: 20120036518
    Abstract: A system, apparatus, and method for allocation mode switching on an event-driven basis are described herein. The allocation mode switching method includes detecting an event, selecting a bandwidth allocation mode associated with the detected event, and allocating a plurality of execution cycles of an instruction execution period of a processor core among a plurality of instruction execution threads based at least in part on the selected bandwidth allocation mode. Other embodiments may be described and claimed.
    Type: Application
    Filed: October 21, 2011
    Publication date: February 9, 2012
    Inventors: Jack Kang, Yu-Chi Chuang
  • Patent number: 8082427
    Abstract: A system, apparatus and method for multithread handling on a multithread processing device are described herein. Embodiments of the present invention provide a multithread processing device for multithread handling including a plurality of registers operatively coupled to an instruction dispatch block, including thread-control registers for selectively disabling threads. In various embodiments, the multithread processing device may include a thread-operation register for selectively providing a lock to a first thread to prevent a second thread from disabling the first thread while the first thread has the lock. In still further embodiments, the multithread processing device may be configured to atomically disable and release a lock held by a thread. Other embodiments may be described and claimed.
    Type: Grant
    Filed: July 7, 2010
    Date of Patent: December 20, 2011
    Assignee: Marvell International Ltd.
    Inventors: Jack Kang, Hsi-Cheng Chu, Yu-Chi Chuang
  • Patent number: 8046775
    Abstract: A system, apparatus, and method for allocation mode switching on an event-driven basis are described herein. The allocation mode switching method includes detecting an event, selecting a bandwidth allocation mode associated with the detected event, and allocating a plurality of execution cycles of an instruction execution period of a processor core among a plurality of instruction execution threads based at least in part on the selected bandwidth allocation mode. Other embodiments may be described and claimed.
    Type: Grant
    Filed: July 9, 2007
    Date of Patent: October 25, 2011
    Assignee: Marvell World Trade Ltd.
    Inventors: Jack Kang, Yu-Chi Chuang
  • Patent number: 8032737
    Abstract: A system, apparatus and method for handling switching among threads within a multithread processor are described herein. Embodiments of the present invention provide a method for multithread handling that includes fetching and issuing one or more instructions, corresponding to a first instruction execution thread, to an execution block for execution during a cycle count associated with the first instruction execution thread and when the instruction execution thread is in an active mode. The method further includes switching a second instruction execution thread to the active mode when the cycle count corresponding to the first instruction execution thread is complete, and fetching and issuing one or more instructions, corresponding to the second instruction execution thread, to the execution block for execution during a cycle count associated with the second instruction execution thread.
    Type: Grant
    Filed: August 8, 2007
    Date of Patent: October 4, 2011
    Assignee: Marvell World Trade Ltd.
    Inventors: Jack Kang, Hsi-Cheng Chu
  • Patent number: 7941643
    Abstract: A system, apparatus and method for an interleaving multi-thread processing device are described herein. The multi-thread processing device includes an execution block to execute instructions and a fetch block to fetch and issue instructions, interleavingly, of a first instruction execution thread and at least one other instruction execution thread. The fetch block includes at least one program counter, which is allocable and/or corresponds to each instruction execution thread.
    Type: Grant
    Filed: July 9, 2007
    Date of Patent: May 10, 2011
    Assignee: Marvell World Trade Ltd.
    Inventors: Jack Kang, Yu-Chi Chuang
  • Patent number: D879730
    Type: Grant
    Filed: December 18, 2018
    Date of Patent: March 31, 2020
    Assignee: SiFive, Inc.
    Inventors: Jack Kang, David Lee, Jeffrey Mulhausen
  • Patent number: D900044
    Type: Grant
    Filed: March 30, 2020
    Date of Patent: October 27, 2020
    Assignee: SiFive, Inc.
    Inventors: Jack Kang, David Lee, Jeffrey Mulhausen