Abstract
Most computer architecture courses are geared toward the classical von Neumann style of computer architectures, mentioning only in passing other models such as data flow computation. This is unfortunate, due to the high degree of parallelism possible using data flow. We present an alternative course, designed as an elective in computer architecture for upper level undergraduate or graduate students, that presents a side-by-side comparison of von Neumann and data flow architectures.Our teaching environment is based on Simple Arithmetic SISAL (SAS), a subset of the applicative programming language SISAL, which we designed for both teaching about and research into data flow architectures. SAS runs in a highly integrated environment, allowing students to implement their program on a von Neumann architecture, then observe its execution through a data flow simulator. The environment runs on a standard IBM-style personal computer, providing a cost-effective platform for presenting the course.
- [1] D. Abramson and G. Egan. Design of a high performance dataflow multiprocessor. In Advanced Topics in Data-flow Computing, pages 121 - 142, 1991.Google Scholar
- [2] Arvind, L. Bic, and T. Ungerer. Evolution of data-flow computers. In Advanced Topics in Data-flow Computing , pages 3 - 34, 1991.Google Scholar
- [3] Arvind, V. Kathail, and K. Pingali. A data-flow architecture with tagged tokens. Technical Report TR-174, MIT Laboratory for Computer Science, 1980.Google Scholar
- [4] J. Backus. Can programming be liberated from the von Neumann style? a functional style and its algebra of programs. Communications of the ACM, 21:613 - 641, August 1978. Google ScholarDigital Library
- [5] A. Böhm, R. Oldehoeft, D. Cann, and J. Feo. SISAL Reference Manual, Language Version 2.0. Lawrence Livermore National Laboratory, P.O. Box 808, L-306, Livermore, CA 94550, 1993.Google Scholar
- [6] J. Canning, I. Nwokogba, R. Miner, and L. Wilkens. A software development environment for data flow computation. In Proceedings of the ISMM International Conference on Parallel and Distributed Computing and Systems, pages 86 - 90, October 1990.Google Scholar
- [7] J. Dennis. Dataflow supercomputers. IEEE Computer, 13(11):48 - 56, November 1980.Google ScholarDigital Library
- [8] A. Enright. Porting Sisal to the IBM PC. Technical Report D-93-001, Department of Computer Science, The University of Massachusetts, Lowell, August 1993.Google Scholar
- [9] A. Enright and L. Wilkens. Adding iteration and selection to SAS. Technical Report R-94-005, Department of Computer Science, The University of Massachusetts, 1 University Ave, Lowell, MA, 1994.Google Scholar
- [10] T. Jeffery. The μPD7281 processor. Byte Magazine, pages 237 - 246, November 1985.Google Scholar
- [11] J. McGraw, S. Skedzielewski, S. Allan, R. Oldehoeft, J. Glauert, C. Kirkham, B. Noyce, and R. Thomas. SISAL Reference Manual, Language Version 1.2. Lawrence Livermore National Laboratory, P.O. Box 808, L-306, Livermore, CA 94550, 1985.Google Scholar
- [12] Nippon Equimpent Corporation. The μPD7281 Reference Manual, 1985.Google Scholar
- [13] D. Simoes. On multiprocessor dataflow parallel pipelined processors in image processing. Master's thesis, The University of Lowell, 1 University Avenue, Lowell, MA 01854, February 1988.Google Scholar
- [14] S. Skedzielewski and J. Glauert. IF1: An Intermediate Form for Applicative Languages. Lawrence Livermore National Laboratory, P.O. Box 808, L-306, Livermore, CA 94550, July 1985.Google Scholar
- [15] M. Welcome, S. Skedzielewski, R. Yates, and J. Ranelletti. IF2: An Applicative Language Intermediate Form with Explicit Memory Management. Lawrence Livermore National Laboratory, P.O. Box 808, L-306, Livermore, CA 94550, December 1986.Google Scholar
- [16] L. Wilkens. Modeling Parallel Computation via the Fusion of Timed Petri Nets with an Application to the Mapping Problem. PhD thesis, The University of Massachusetts, 1 University Avenue, Lowell, MA 01854, April 1992. Google ScholarDigital Library
- [17] L. Wilkens and A. Enright. Implementation issues for IF2 on a static data-flow architecture. In Proceedings of SISAL '93: The Third SISAL User's Conference, San Diego, CA, pages 175 - 188, October 1993.Google Scholar
- [18] L. Wilkens and A. Enright. Simple arithmetic SISAL (SAS) for the NEC μPD7281 data flow processor. Technical Report R-94-002, Department of Computer Science, The University of Massachusetts, 1 University Ave, Lowell, MA, 1994.Google Scholar
Index Terms
- An alternative computer architecture course
Recommendations
Concepts of high-level-language computer architecture
ACM '75: Proceedings of the 1975 annual conferenceHigh-level-language (HLL) computer architecture refers to those architecture which can accept one or more high-level languages (such as Fortran, Alogl, Snobol, etc.). This paper classifies the HLL computer architecture into four types (von Neumann ...
Concepts of high-level-language computer architecture
High-level-language (HLL) computer architecture refers to those architecture which can accept one or more high-level languages (such as Fortran, Alogl, Snobol, etc.). This paper classifies the HLL computer architecture into four types (von Neumann ...
Comments