Within two or three technology generations, processor architects will face a number of major challenges. Wire delays will become critical, and power considerations will temper the availability of billions of transistors. Many important applications will be object-oriented, multithreaded, and will consist of many separately compiled and dynamically linked parts. To accommodate these shifts in both technology and applications, microarchitectures will process instruction streams in a distributed fashion -- instruction level distributed processing (ILDP). ILDP will be implemented in a variety of ways, including both homogeneous and heterogeneous elements. To help find runtime parallelism, orchestrate distributed hardware resources, and implement nservation strategies, an additional layer of abstraction -- the virtual machine layer -- will likely become an essential ingredient. Finally, new instruction sets may be necessary to better focus on instruction level communication and dependence, ...
James E. Smith