1. A computer system comprising: a main memory; a cache; a cache controller, which dynamically controls the cache such that a thread binary compiler divides a program into multiple threads and loads the program as a recompiled program whenever the cache loads the program from the main memory; and a simultaneous multithreading processor, which processes instructions from threads such that the instructions from each thread can be executed simultaneously.