The invention discloses a forward-looking
multithreading partitioning method, comprising the following steps: constructing a corresponding expanding program
correlogram for each loop statement
basic block and each non loop statement
basic block in a single threading application program; designing a corresponding
directed acyclic graph for each expanding program
correlogram; designing a forward-looking node for each
directed acyclic graph, and removing the node from the
directed acyclic graph; performing
topological sorting for each directed acyclic graph; at last, partitioning forward-lookingmultithreading for a single-
chip multi-core processor according to the sequence
semantics in the single threading application program and the obtained
topological order. The method performs forward-looking
multithreading partitioning by the loop statement and the non loop statement, can fully dig control dependency and
data dependency in the program, fully utilizes thread-level parallelism, reduces unnecessary
delay waiting by forward-looking performing, increases the performing speed of the program on the multi-core processor and improves the utilization ratio of the processor.