There is provided a
parallel processing computer for executing a plurality of threads concurrently and in parallel. The computer includes: a thread activation controller for determining whether or not each of threads, which are exclusively
executable program fragments, is ready-to-run, to put the thread determined ready-to-run into a ready thread
queue as ready-to-run thread; and a thread execution controller having a pre-
load unit, an EU allocation and trigger unit, a plurality of thread execution units and a plurality of register files including a plurality of registers, and the pre-
load unit, prior to when each ready-to-run thread in the ready thread
queue is executed, allocates a free
register file of the plurality of register files to the each ready-to-run thread, to load initial data for the each ready-to-run thread into the allocated
register file, and the EU allocation and trigger unit, when there is a thread
execution unit in idle state of the plurality of thread
execution unit, retrieves ready-to-run thread from the top of the ready thread
queue, and to allocate the retrieved ready-to-run thread to the thread
execution unit in idle state, and to couple the
register file loaded the initial data for the ready-to-run thread with the allocated thread execution unit in idle state, and to trigger the ready-to-run thread. The plurality of thread execution units execute the triggered threads concurrently in parallel.