A compiler with scheduling for a specialized synchronous multiprocessor system

  • Petr Kroha
  • Peter Fritzson
Regular Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 477)


This paper presents an algorithm for scheduling parallel activities in a specialized synchronous multiprocessor system. The algorithm is being implemented as a part of a cross-compiler for an extended parallel Single Instruction Computer (SIC). A SIC machine may contain multiple arithmetic processors, each associated with certain addresses in the address space.

The scheduling cross-compiler initially derives a schedule including information about the number and types of processors necessary for the highest possible degree of parallelism for the code in each basic block. If too few arithmetic processors are available, a schedule for a smaller number of processors can be generated. Code generation and scheduling is presented for a one page program example in Pascal. For this example, a speedup of a factor of seven was obtained for the multiprocessor system, compared to the Intel 80286 processor, and assuming the same clock cycle time.


  1. [AzTab80]
    Azaria, H.,Tabak, D.: Bit-Sliced Realization of a CMOVE Architecture Microcomputer. In: EUROMICRO Journal, Vol.6, No.6, pp.373–380, Nov.1980.Google Scholar
  2. [AzTab83]
    Azaria, H.,Tabak, D.: Design Consideration of a Single-Instruction Microcomputer — A Case Study. Microprocessing and Microprogramming, Vol.11, No.3,4, pp.187–194, North-Holland, 1983.Google Scholar
  3. [BlaKro87]
    Blazek, Z.,Kroha, P.: Design of a Reconfigurable Parallel RISC Machine. EUROMICRO'87, Portsmouth, in: Microprocessing and Microprogramming, Vol.21, No.1–5, pp.39–46, North-Holland, 1987.Google Scholar
  4. [Fi84]
    Fisher,J.A.,Ellis,J.R.,Ruttenberg,J.C.,Nicolau,A.: Parallel Processing: A Smart Compiler and a Dumb Machine. In:Proceeding of the Compiler Construction, pp.37–47, Association for Computing Machinery, June 1984.Google Scholar
  5. [Fri83]
    Fritzson, P.: Symbolic Debugging Through Incremental Compilation in an Integrated Environment. The Journal of Systems and Software 3, pp.285–294 (1983).Google Scholar
  6. [Fri86]
    Fritzson,P.: A Common Intermediate Representation for C, Pascal, Modula-2 and FORTRAN-77. LITH-IDA-R-86-38, Research Report, PELAB, December 1986, University of Linköping.Google Scholar
  7. [Kess82]
    Kessler,P.B.: The Portable C Compiler's Intermediate Representation, as Used by the Berkeley Pascal Front-End for the VAX. (An unpublished paper).Google Scholar
  8. [Kro86]
    Kroha,P.: Design of a Code Generator by Help of a PROLOG-Database. Proceedings of the Workshop Compiler Compilers and Incremental Compilation, Bautzen, October 1986, in: IIR, 12/86, AdW.Google Scholar
  9. [Kro88]
    Kroha,P.: Code Generation for a RISC Machine. Proceedings of CCHSC'88, Berlin, GDR, October 1988. In Lecture Notes on Computer Science 371, Springer Verlag.Google Scholar
  10. [Kro89]
    Kroha,P.: An Extension of the Single Instruction Machine Idea. LITH-IDA-R-89-25, Research Report, PELAB, June 1989, Department of Computer Science, Linköping University, Sweden.Google Scholar
  11. [Kuck72]
    Kuck, D.J.,Muraoka, Y.,Chen, S.C.: On the Number of Operation Simultaneously Executable in Fortran-like Programs and their Resulting Speedup. IEEE Transactions on Computers C-21(12), pp.1293–1310, December, 1972.Google Scholar
  12. [Kuck78]
    Kuck, D.J.: The Structure of Computers and Computations. John Wiley and Sons, New York, 1978.Google Scholar
  13. [Lip76]
    Lipovski,G.J.: The Architecture of a Simple, Effective, Control Processor. EUROMICRO'76, in: Microprocessing and Microprogramming, pp.7–18, North-Holland, 1976.Google Scholar
  14. [Mil86]
    Milutinovic,V.M.: RISC Architecture. Tutorials, EUROMICRO'86, North-Holland.Google Scholar
  15. [MorAlb86]
    Morse,S.P.,Albert,D.J.: The 80 286 Architecture. John Wiley & Sons, 1986.Google Scholar
  16. [Nam88]
    Namjoo,M.,Agrawal,A.: Implementing SPARC: A High-Performance 32-Bit RISC Processor. Sun Technology, Winter 1988.Google Scholar
  17. [Pat82]
    Patterson,D.A.,Sequin,C.H.: A VLSI RISC. IEEE Computer, September 1982.Google Scholar
  18. [Po88]
    Polychronopoulos,C.D.: Parallel Programming and Compilers. Kluwer Academic Publishers, 1988.Google Scholar
  19. [Sed88]
    Sedwick,R.: Algorithms. Addison-Wesley, Second edition, pp.350–351, 1988.Google Scholar
  20. [TabLip80]
    Tabak, D.,Lipovski, G.J.: MOVE Architecture in Digital Controllers. IEEE Trans. Compul, Vol. C-29, pp. 180–190, Feb.1980.Google Scholar
  21. [Tab87]
    Tabak,D.: RISC Architecture. Research Studies Press, John Wiley & Sons, 1987.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Petr Kroha
    • 1
  • Peter Fritzson
    • 2
  1. 1.Department of ComputersTechnical University PraquePraha 2Czechoslovakia
  2. 2.Department of Computer and Information ScienceLinköping UniversityLinköpingSweden

Personalised recommendations