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: 20130061022Abstract: 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: ApplicationFiled: September 1, 2011Publication date: March 7, 2013Applicant: NATIONAL TSING HUA UNIVERSITYInventors: JENQ KUEN LEE, CHI BANG KUAN
-
Publication number: 20130024666Abstract: 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: ApplicationFiled: July 18, 2011Publication date: January 24, 2013Applicant: NATIONAL TSING HUA UNIVERSITYInventors: JENQ KUEN LEE, YU TE LIN, CHUNG JU WU
-
Patent number: 8239560Abstract: 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: GrantFiled: September 28, 2007Date of Patent: August 7, 2012Assignee: National Tsing Hua UniversityInventors: Jenq Kuen Lee, Chung Kai Chen, Yu Hao Chang, Chih Chieh Yang, Kai Hsin Chung
-
Publication number: 20120159110Abstract: 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: ApplicationFiled: December 21, 2010Publication date: June 21, 2012Applicant: NATIONAL TSING HUA UNIVERSITYInventors: CHUNG JU WU, YU TE LIN, JENQ KUEN LEE
-
Patent number: 8200944Abstract: 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: GrantFiled: June 24, 2009Date of Patent: June 12, 2012Assignee: National Tsing Hua UniversityInventors: Jenq Kuen Lee, Ling Hua Tseng, Chung Kai Chen
-
Patent number: 8185898Abstract: 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: GrantFiled: October 1, 2009Date of Patent: May 22, 2012Assignee: National Tsing Hua UniversityInventors: Jenq Kuen Lee, Kun Yuan Hsieh
-
Patent number: 8051411Abstract: 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: GrantFiled: August 8, 2007Date of Patent: November 1, 2011Assignee: National Tsing Hua UniversityInventors: Jenq Kuen Lee, Chung Ju Wu, Sheng Yuan Chen
-
Publication number: 20110087922Abstract: 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: ApplicationFiled: October 9, 2009Publication date: April 14, 2011Applicant: NATIONAL TSING HUA UNIVERSITYInventors: JENQ KUEN LEE, SHOU WEI CHANG
-
Publication number: 20110083133Abstract: 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: ApplicationFiled: October 1, 2009Publication date: April 7, 2011Applicant: NATIONAL TSING HUA UNIVERSITYInventors: JENQ KUEN LEE, KUN YUAN HSIEH
-
Publication number: 20110004741Abstract: 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: ApplicationFiled: July 2, 2010Publication date: January 6, 2011Applicant: NATIONAL TSING HUA UNIVERSITYInventors: Chia Han Lu, Chung Ju Wu, Jenq Kuen Lee
-
Patent number: 7779412Abstract: 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: GrantFiled: September 19, 2005Date of Patent: August 17, 2010Assignee: National Tsing Hua UniversityInventors: Yung-Chia Lin, Yi-Ping You, Chung-Wen Huang, Jenq-Kuen Lee
-
Patent number: 7761691Abstract: 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: GrantFiled: October 27, 2005Date of Patent: July 20, 2010Assignee: National Tsing Hua UniversityInventors: Chung-Lin Tang, Yung-Chia Lin, Jenq-Kuen Lee
-
Patent number: 7701904Abstract: 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: GrantFiled: December 14, 2005Date of Patent: April 20, 2010Assignee: National Tsing Hua UniversityInventors: Jenq-Kuen Lee, Jyh-Cheng Chen, Cheng-Wei Chen, Chung-Kai Chen
-
Publication number: 20100037037Abstract: 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: ApplicationFiled: June 24, 2009Publication date: February 11, 2010Applicant: NATIONAL TSING HUA UNIVERSITYInventors: JENQ KUEN LEE, LING HUA TSENG, CHUNG KAI CHEN
-
Patent number: 7650598Abstract: 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: GrantFiled: August 9, 2006Date of Patent: January 19, 2010Assignee: National Tsing Hua UniversityInventors: Jenq Kuen Lee, Yung Chia Lin, Yi Ping Yu
-
Publication number: 20090043620Abstract: 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: ApplicationFiled: August 8, 2007Publication date: February 12, 2009Applicant: NATIONAL TSING HUA UNIVERSITYInventors: Jenq Kuen Lee, Chung Ju Wu, Sheng Yuan Chen
-
Publication number: 20080270771Abstract: 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: ApplicationFiled: April 30, 2007Publication date: October 30, 2008Applicant: NATIONAL TSING HUA UNIVERSITYInventors: Jenq Kuen Lee, Kun Yuan Hsieh, Yung Chia Lin
-
Publication number: 20080209063Abstract: 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: ApplicationFiled: September 28, 2007Publication date: August 28, 2008Applicant: NATIONAL TSING HUA UNIVERSITYInventors: Jenq Kuen Lee, Chung Kai Chen, Yu Hao Chang, Chih Chieh Yang, Kai Hsin Chung
-
Patent number: 7398410Abstract: 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: GrantFiled: July 8, 2005Date of Patent: July 8, 2008Assignee: National Tsing Hua UniversityInventors: Jenq-Kuen Lee, Yung-Chia Lin, Yi-Ping Yu, Chung-Wen Huang
-
Publication number: 20080052694Abstract: 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: ApplicationFiled: August 9, 2006Publication date: February 28, 2008Applicant: NATIONAL TSING HUA UNIVERSITYInventors: Jenq Kuen Lee, Yung Chia Lin, Yi Ping Yu