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.