Abstract
Multiscalar processors use a new, aggressive implementation paradigm for extracting large quantities of instruction level parallelism from ordinary high level language programs. A single program is divided into a collection of tasks by a combination of software and hardware. The tasks are distributed to a number of parallel processing units which reside within a processor complex. Each of these units fetches and executes instructions belonging to its assigned task. The appearance of a single logical register file is maintained with a copy in each parallel processing unit. Register results are dynamically routed among the many parallel processing units with the help of compiler-generated masks. Memory accesses may occur speculatively without knowledge of preceding loads or stores. Addresses are disambiguated dynamically, many in parallel, and processing waits only for true data dependences.This paper presents the philosophy of the multiscalar paradigm, the structure of multiscalar programs, and the hardware architecture of a multiscalar processor. The paper also discusses performance issues in the multiscalar model, and compares the multiscalar paradigm with other paradigms. Experimental results evaluating the performance of a sample of multiscalar organizations are also presented.
- 1 S.E. Breach, T. N. Vijaykumar, and G. S. Sohi, "The Anatomy of the Register File in a Multiscalar Processor," Proc. MICRO-27, pp. 181-190, December 1994. Google ScholarDigital Library
- 2 D.K. Chert, H. M. Su, and P. C. Yew, "The Impact of Synchronization and Granularity on Parallel Systems," Proc. 17th Annual hzternational Symposium on Computer Architecture, pp. 239-248, May 1990. Google ScholarDigital Library
- 3 M. Franklin and G. S. Sohi, "ARB: A Hardware Mechanism for Dynamic Memory Disambiguation." submitted to IEEE Transactions on Computers. Google ScholarDigital Library
- 4 M. Franklin and G. S. Sohi, "The Expandable Split Window Paradigm for Exploiting Fine-Grain Parallelism," in Proc. 19th Annual Symposium on Computer Architecture, Queensland, Australia, pp. 58-67, May 1992. Google ScholarDigital Library
- 5 M. Franklin, "The Multiscalar Architecture,'" Ph. D. Thesis, Computer Sciences Technical Re, port #1196, University of Wisconsin-Madison. Madison, WI 53706, November 1993. Google ScholarDigital Library
- 6 R.E. Hank, S. A. Mahlke, R. A. Bringmann, J. C. Gyttenhaal, and W. W. Hwu, "Superblock Formation Using Static Program Analysis," Proc. MICRO-26, pp. 247-255, December 1993. Google ScholarDigital Library
- 7 P.Y.-T. Hsu and E. S. Davidson, "Highly Concurrent Scalar Processing," Proc. 13th Anmzal Swnposture on Computer Architecture, pp. 386-395, June 1986. Google ScholarDigital Library
- 8 R.M. Keller, "Look-Ahead Processors," A CM Conzputmg Survey,s, voI. 7, pp. 66-72, December 1975. Google ScholarDigital Library
- 9 S.A. Mahlke, D. C. Llu, W Y. Chen, R. E. Hank, and R. A. Brlngmann, "'Effective Compiler Support for Predicated Execution Using the Hyperblock," in MICRO-25. Portland, Oregon, pp. 45-54, December 1992. Google ScholarDigital Library
- 10 D.N. Pnevmatikatos and G. S. Sohi, "Guarded Execution and Branch Prediction in Dynamic ILP Processors," in Proc. 21th Annual hzternational Symposium on Cmtqmter Architecture, Chicago, Illinois, pp. 120-129, April 1994. Google ScholarDigital Library
- 11 G.S. Tjaden and M. J. Flynn, "Detection and Parallel Execution of Independent Instructions," IEEE Transactions on Computers, vol. C-19, pp. 889-895, October 1970.Google Scholar
- 12 T.-Y. Yeh and Y. N. Patt, "A Comparison of Dynamic Branch Predictors; that Use Two Levels of Branch History," in Ptvc. 20th Annual hztenTationai Symposium on Computer Architecture, San Diego, California, pp. 257-266, May 1993. Google ScholarDigital Library
Index Terms
- Multiscalar processors
Recommendations
Multiscalar processors
ISCA '95: Proceedings of the 22nd annual international symposium on Computer architectureMultiscalar processors use a new, aggressive implementation paradigm for extracting large quantities of instruction level parallelism from ordinary high level language programs. A single program is divided into a collection of tasks by a combination of ...
A study of dynamic scheduling techniques for multiscalar processors
HIPC '96: Proceedings of the Third International Conference on High-Performance Computing (HiPC '96)The multiscalar processing model is a recently proposed model for exploiting large amounts of instruction level parallelism from programs written in ordinary, high-level languages. It splits a sequential program into smaller tasks, and exploits ...
Comments