Dynamic scheduling in RISC architectures

Multithreaded processors support a number of execution contexts, and switch contexts rapidly in order to tolerate highly latent events such as external memory references. Existing multithreaded architectures are implicitly based on the assumption that latency tolerance requires massive parallelism, which must be found from diverse contexts. The authors have carried out a quantitative analysis of the efficiency of multithreaded execution as a function of the number of threads for two important classes of memory systems: conventional off-chip memory and symmetric networks. The results of these analyses show that there are fundamental reasons for the efficiency to grow very rapidly with the number of threads. This, in turn, implies that the original goal of latency tolerance can be achieved with only a limited number of threads; these can typically be drawn from the same referential context and do not therefore require the heavyweight hardware solutions of conventional multithreading. A novel dynamically scheduled RISC architecture, based on this new understanding of the problem is presented.

[1]  Robert A. Iannucci,et al.  Editors: Multithreaded computer architecture : A summary of the state of the art , 1994 .

[2]  Janak H. Patel,et al.  Stride directed prefetching in scalar processors , 1992, MICRO.

[3]  Nathan Newman,et al.  Metallization of GaN thin films prepared by ion beam assisted molecular beam epitaxy , 1994 .

[4]  S. Wittevrongel,et al.  Queueing Systems , 2019, Introduction to Stochastic Processes and Simulation.

[5]  Richard E. Kessler,et al.  Evaluating stream buffers as a secondary cache replacement , 1994, Proceedings of 21 International Symposium on Computer Architecture.

[6]  Jean-Loup Baer,et al.  A performance study of software and hardware data prefetching schemes , 1994, ISCA '94.

[7]  Jean-Luc Gaudiot,et al.  Advanced Topics in Data-Flow Computing , 1991 .

[8]  Norman P. Jouppi,et al.  Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffers , 1990, [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture.

[9]  Allan Porterfield,et al.  The Tera computer system , 1990, ICS '90.

[10]  David E. Culler,et al.  Multithreading: Fundamental Limits, Potential Gains, and Alternatives , 1994, Multithreaded Computer Architecture.

[11]  Burton J. Smith Architecture And Applications Of The HEP Multiprocessor Computer System , 1982, Optics & Photonics.

[12]  Janak H. Patel,et al.  Data prefetching in multiprocessor vector cache memories , 1991, ISCA '91.

[13]  David Kroft,et al.  Lockup-free instruction fetch/prefetch cache organization , 1998, ISCA '81.

[14]  Robert H. Halstead,et al.  Multithreaded Computer Architecture , 1994, The Kluwer International Series in Engineering and Computer Science.

[15]  Ruben W. Castelino,et al.  Internal Organization of the Alpha 21164, a 300-MHz 64-bit Quad-issue CMOS RISC Microprocessor , 1995, Digit. Tech. J..

[16]  D. Burger,et al.  Memory Bandwidth Limitations of Future Microprocessors , 1996, 23rd Annual International Symposium on Computer Architecture (ISCA'96).

[17]  C R Jesshope,et al.  Compiling Data-parallel Languages for Distributed Memory Multi-processors , .