A method for designing a time-sliced and multi-threaded architecture
comprises the steps of conducting a thorough analysis of a range of
applications and building a specific processor to accommodate the range
of applications. In one embodiment, the thorough analysis includes
extracting real time aspects from each application, determining optimal
granularity in the architecture based on the real time aspects of each
application, and adjusting the optimal granularity based on acceptable
context switching overhead.