Patents by Inventor Jenq-Kuen Lee

Jenq-Kuen Lee 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).

  • Publication number: 20130061022
    Abstract: A method for providing intrinsic supports for a VLIW DSP processor with distributed register files comprises the steps of: generating a program representation with cluster information on instructions of the DSP processor, wherein the cluster information is provided by a program with cluster intrinsic coding; identifying data stream operations indicating parallel instruction sequences applied on different data sets in the program representation; identifying data sharing relations indicating data shared by the data stream operations in the program representation; identifying data aggregation relations indicating results aggregated from the data stream operations in the program representation; and performing register allocation for the DSP processor according to the identified data stream operations, the data sharing relations and the data aggregation relations.
    Type: Application
    Filed: September 1, 2011
    Publication date: March 7, 2013
    Applicant: NATIONAL TSING HUA UNIVERSITY
    Inventors: JENQ KUEN LEE, CHI BANG KUAN
  • Publication number: 20130024666
    Abstract: A method of scheduling a plurality of instructions for a processor comprises the steps of: establishing a functional unit resource table comprising a plurality of columns, each of which corresponds to one of a plurality of operation cycles of the processor and comprises a plurality of fields, each of which indicates a functional unit of the processor; establishing a ping-pong resource table comprising a plurality of columns, each of which corresponds to one of the plurality of operation cycles of the processor and comprises a plurality of fields, each of which indicates a read port or a write port of a register bank of the processor; and allotting the plurality of instructions to the plurality of operation cycles of the processor and registering the functional units and the ports of the register banks corresponding to the allotted instructions on the functional unit resource table and the ping-pong resource table.
    Type: Application
    Filed: July 18, 2011
    Publication date: January 24, 2013
    Applicant: NATIONAL TSING HUA UNIVERSITY
    Inventors: JENQ KUEN LEE, YU TE LIN, CHUNG JU WU
  • Patent number: 8239560
    Abstract: A system of remote objects with network streaming ability includes a streaming client, a plurality of streaming servers, a streaming buffer area, a plurality of first continuous buffer areas, a streaming controller, a plurality of first network connections, and a plurality of second network connections. The plurality of streaming servers is used to respond a remote procedure call from the streaming client. The streaming buffer area stores a complete data unit for the streaming client to access. A generation method of remote objects with network streaming ability is further provided. The method includes executing a link procedure, executing a streaming preparation, executing a streaming transfer procedure, and closing the link procedure.
    Type: Grant
    Filed: September 28, 2007
    Date of Patent: August 7, 2012
    Assignee: National Tsing Hua University
    Inventors: Jenq Kuen Lee, Chung Kai Chen, Yu Hao Chang, Chih Chieh Yang, Kai Hsin Chung
  • Publication number: 20120159110
    Abstract: A method of allocating registers for a processor based on cycle information is disclosed. The processor comprises a first cluster and a second cluster. Each cluster comprises a first functional unit, a second functional unit, a first local register file connected to the first functional unit, a second local register file connected to the second register file, and a global register file having a ping-pong structure formed by a first register bank and a second register bank. After building a Component/Register Type Associated Data Dependency Graph (CRTA-DDG), a functional unit assignment, register file assignment, ping-pong register bank assignment, and cluster assignment are performed to take full advantage of the properties of a processor as well as cycle information.
    Type: Application
    Filed: December 21, 2010
    Publication date: June 21, 2012
    Applicant: NATIONAL TSING HUA UNIVERSITY
    Inventors: CHUNG JU WU, YU TE LIN, JENQ KUEN LEE
  • Patent number: 8200944
    Abstract: A method for pipelining instructions on a PAC processor includes determining a minimum initial interval, and grouping the instructions so that the operands of dependent instructions are assigned to the same local register file. The virtual registers of the instructions that have data dependency across the first functional unit and the second functional unit are assigned to a global register file. The instructions are then modulo scheduled based on a current value of initial interval. The virtual registers of the scheduled instructions are allocated to the corresponding register files. If the allocation fails, a set of virtual registers is transferred from the first or second register file to the global register file.
    Type: Grant
    Filed: June 24, 2009
    Date of Patent: June 12, 2012
    Assignee: National Tsing Hua University
    Inventors: Jenq Kuen Lee, Ling Hua Tseng, Chung Kai Chen
  • Patent number: 8185898
    Abstract: A method of streaming remote procedure invocation for multi-core systems to execute a transmitting thread and an aggregating thread of a multi-core system comprises the steps of: temporarily storing data to be transmitted; activating the aggregating thread if the amount of the temporarily stored data is equal to or greater than a threshold and the aggregating thread is at pause status; pausing the transmitting thread if there is no space to temporarily store the data to be transmitted; retrieving data to be aggregated; activating the transmitting thread if the amount of the data to be aggregated is less than a threshold and the transmitting thread is at pause status; and pausing the aggregating thread if there is no data to be retrieved.
    Type: Grant
    Filed: October 1, 2009
    Date of Patent: May 22, 2012
    Assignee: National Tsing Hua University
    Inventors: Jenq Kuen Lee, Kun Yuan Hsieh
  • Patent number: 8051411
    Abstract: A method for copy propagations of a processor including two clusters, each cluster comprising a first function unit and a second function unit, a first local register file and a second local register file being respectively accessible by the first and second function unit only, and a global register file having a ping-pong structure to access the first and second local register files, the method comprising the steps of: (a) listing possible copy propagation paths between two nodes of a data flow graph; (b) calculating a profit of machine cycles for each of the copy propagation paths according to constraints of the processor; and (c) performing a copy propagation through the copy propagation path if the profit thereof is greater than a threshold value.
    Type: Grant
    Filed: August 8, 2007
    Date of Patent: November 1, 2011
    Assignee: National Tsing Hua University
    Inventors: Jenq Kuen Lee, Chung Ju Wu, Sheng Yuan Chen
  • Publication number: 20110087922
    Abstract: A test method for a master-slave concurrent system running on a multicore processor includes the steps of establishing a PFA, otherwise called probabilistic finite automata, or probabilistic finite state machine, for a given regular expression; generating test patterns by running the PFA; splitting and merging the test patterns to generate an interleaved test pattern; and performing test on the master-slave system according to the interleaved test pattern. In an embodiment, the method further includes a step of debugging failures of the multicore processor during testing.
    Type: Application
    Filed: October 9, 2009
    Publication date: April 14, 2011
    Applicant: NATIONAL TSING HUA UNIVERSITY
    Inventors: JENQ KUEN LEE, SHOU WEI CHANG
  • Publication number: 20110083133
    Abstract: A method of streaming remote procedure invocation for multi-core systems to execute a transmitting thread and an aggregating thread of a multi-core system comprises the steps of: temporarily storing data to be transmitted; activating the aggregating thread if the amount of the temporarily stored data is equal to or greater than a threshold and the aggregating thread is at pause status; pausing the transmitting thread if there is no space to temporarily store the data to be transmitted; retrieving data to be aggregated; activating the transmitting thread if the amount of the data to be aggregated is less than a threshold and the transmitting thread is at pause status; and pausing the aggregating thread if there is no data to be retrieved.
    Type: Application
    Filed: October 1, 2009
    Publication date: April 7, 2011
    Applicant: NATIONAL TSING HUA UNIVERSITY
    Inventors: JENQ KUEN LEE, KUN YUAN HSIEH
  • Publication number: 20110004741
    Abstract: A spilling method in register files for a processor is proposed. The processor is of Parallel Architecture Core (PAC) structure, and accordingly includes a first cluster, a second cluster and a memory. Each of the first and second clusters includes a first function unit (e.g., M-Unit), a second function unit (e.g., I-Unit), a first local register file, a second local register file and a global register file. The first and second local register files are used by the first and second function units, respectively.
    Type: Application
    Filed: July 2, 2010
    Publication date: January 6, 2011
    Applicant: NATIONAL TSING HUA UNIVERSITY
    Inventors: Chia Han Lu, Chung Ju Wu, Jenq Kuen Lee
  • Patent number: 7779412
    Abstract: A system chip includes a plurality of processing elements for performing primary computations of a plurality of tasks, a plurality of non-processing elements for controlling flow of data associated with the tasks among the processing elements, and a main controller including a scheduler, a resource allocation module, and a power management module. The scheduler assigns the tasks on the processing and non-processing elements with reference to time parameters of the processing and non-processing elements. The resource allocation module controls operations of the processing and non-processing elements with reference to task assignments determined by the scheduler. The power management module performs dynamic voltage management upon the processing and non-processing elements according to the scheduled tasks.
    Type: Grant
    Filed: September 19, 2005
    Date of Patent: August 17, 2010
    Assignee: National Tsing Hua University
    Inventors: Yung-Chia Lin, Yi-Ping You, Chung-Wen Huang, Jenq-Kuen Lee
  • Patent number: 7761691
    Abstract: A method for scheduling instructions for clustered digital signal processors comprising a plurality of clusters, each cluster including at least two functional units and a first register file having a first unit, a second unit and a single set of access ports shared by the functional units comprises steps of checking whether executing one instruction needs data to be read from the first unit and the second unit of the first register file, generating a copying instruction to transfer data from the first unit to the second unit of the first register file, checking whether there is a prior operation cycle available to perform the copying instruction, scheduling the copying instruction in the prior operation cycle, and scheduling the instruction after the copying instruction.
    Type: Grant
    Filed: October 27, 2005
    Date of Patent: July 20, 2010
    Assignee: National Tsing Hua University
    Inventors: Chung-Lin Tang, Yung-Chia Lin, Jenq-Kuen Lee
  • Patent number: 7701904
    Abstract: A roaming method for maintaining connectivity between a client and a server through heterogeneous wireless networks includes the steps of establishing an initial connection between the client and the server through a first selected one of the heterogeneous wireless networks, detecting disconnection of the initial connection, and establishing a current connection between the client and server through a second selected one of the heterogeneous wireless networks upon detecting that the initial connection has been disconnected. A system, which includes the client and the server, for realizing the roaming method is also disclosed.
    Type: Grant
    Filed: December 14, 2005
    Date of Patent: April 20, 2010
    Assignee: National Tsing Hua University
    Inventors: Jenq-Kuen Lee, Jyh-Cheng Chen, Cheng-Wei Chen, Chung-Kai Chen
  • Publication number: 20100037037
    Abstract: A method for pipelining instructions on a PAC processor includes determining a minimum initial interval, and grouping the instructions so that the operands of dependent instructions are assigned to the same local register file. The virtual registers of the instructions that have data dependency across the first functional unit and the second functional unit are assigned to a global register file. The instructions are then modulo scheduled based on a current value of initial interval. The virtual registers of the scheduled instructions are allocated to the corresponding register files. If the allocation fails, a set of virtual registers is transferred from the first or second register file to the global register file.
    Type: Application
    Filed: June 24, 2009
    Publication date: February 11, 2010
    Applicant: NATIONAL TSING HUA UNIVERSITY
    Inventors: JENQ KUEN LEE, LING HUA TSENG, CHUNG KAI CHEN
  • Patent number: 7650598
    Abstract: A method of allocating registers for a PAC processor. The PAC processor has a first cluster and a second cluster. Each cluster includes a first functional unit, a second functional unit, a first local register file connected to the first functional unit, a second local register file connected to the second register file, and a global register file having a ping-pong structure formed by a first register bank and a second register bank. After building a Component/Register Type Associated Data Dependency Graph (CRTA-DDG), a functional unit assignment, register file assignment, ping-pong register bank assignment, and cluster assignment of the invention are performed to take full advantage of the properties of a PAC processor.
    Type: Grant
    Filed: August 9, 2006
    Date of Patent: January 19, 2010
    Assignee: National Tsing Hua University
    Inventors: Jenq Kuen Lee, Yung Chia Lin, Yi Ping Yu
  • Publication number: 20090043620
    Abstract: A method for copy propagations of a processor including two clusters, each cluster comprising a first function unit and a second function unit, a first local register file and a second local register file being respectively accessible by the first and second function unit only, and a global register file having a ping-pong structure to access the first and second local register files, the method comprising the steps of: (a) listing possible copy propagation paths between two nodes of a data flow graph; (b) calculating a profit of machine cycles for each of the copy propagation paths according to constraints of the processor; and (c) performing a copy propagation through the copy propagation path if the profit thereof is greater than a threshold value.
    Type: Application
    Filed: August 8, 2007
    Publication date: February 12, 2009
    Applicant: NATIONAL TSING HUA UNIVERSITY
    Inventors: Jenq Kuen Lee, Chung Ju Wu, Sheng Yuan Chen
  • Publication number: 20080270771
    Abstract: A method of optimizing multi-set context switch for embedded processors includes the steps of partitioning a plurality of registers into a plurality of register sets based on a live-range-sensitive context-switch procedure that is associated with a usage frequency of each of the registers, storing contents of first target registers according to live set information of a current task, wherein the first target registers are selected from the register sets, determining a next task by an operating system and updating the live set information according to the next task, and restoring contents of second target registers according to the updated live set information, wherein the second target registers are selected from the register sets.
    Type: Application
    Filed: April 30, 2007
    Publication date: October 30, 2008
    Applicant: NATIONAL TSING HUA UNIVERSITY
    Inventors: Jenq Kuen Lee, Kun Yuan Hsieh, Yung Chia Lin
  • Publication number: 20080209063
    Abstract: A system of remote objects with network streaming ability includes a streaming client, a plurality of streaming servers, a streaming buffer area, a plurality of first continuous buffer areas, a streaming controller, a plurality of first network connections, and a plurality of second network connections. The plurality of streaming servers is used to respond a remote procedure call from the streaming client. The streaming buffer area stores a complete data unit for the streaming client to access. A generation method of remote objects with network streaming ability is further provided. The method includes executing a link procedure, executing a streaming preparation, executing a streaming transfer procedure, and closing the link procedure.
    Type: Application
    Filed: September 28, 2007
    Publication date: August 28, 2008
    Applicant: NATIONAL TSING HUA UNIVERSITY
    Inventors: Jenq Kuen Lee, Chung Kai Chen, Yu Hao Chang, Chih Chieh Yang, Kai Hsin Chung
  • Patent number: 7398410
    Abstract: A processor includes a plurality of execution units configured to execute instructions, a pre-decoder configured to sieve out a power-switching instruction from the instructions, and a power controller configured to control the status of the execution unit based on the power-switching instruction. The power controller includes an identification decoder configured to generate identifications respectively corresponding to the execution units from the power-switching instruction, and a power manager configured to switch the execution unit corresponding to the identification. Particularly, the power-switching instruction includes a power-on instruction and a power-off instruction. The processor further includes a plurality of reservation tables each configured to store the instruction to be executed by one of the execution units, and a turn-off signal is not conveyed to the power manager until the reservation table corresponding to the execution unit to be turned off is empty.
    Type: Grant
    Filed: July 8, 2005
    Date of Patent: July 8, 2008
    Assignee: National Tsing Hua University
    Inventors: Jenq-Kuen Lee, Yung-Chia Lin, Yi-Ping Yu, Chung-Wen Huang
  • Publication number: 20080052694
    Abstract: A method of allocating registers for a PAC processor. The PAC processor has a first cluster and a second cluster. Each cluster includes a first functional unit, a second functional unit, a first local register file connected to the first functional unit, a second local register file connected to the second register file, and a global register file having a ping-pong structure formed by a first register bank and a second register bank. After building a Component/Register Type Associated Data Dependency Graph (CRTA-DDG), a functional unit assignment, register file assignment, ping-pong register bank assignment, and cluster assignment of the invention are performed to take full advantage of the properties of a PAC processor.
    Type: Application
    Filed: August 9, 2006
    Publication date: February 28, 2008
    Applicant: NATIONAL TSING HUA UNIVERSITY
    Inventors: Jenq Kuen Lee, Yung Chia Lin, Yi Ping Yu