Abstract
A mathematical model of programs, which is based on the concept of a hierarchical graph, is described. The model is used in the retargetable optimizing compiler NVRK-2 for microprocessor architectures with irregular very long instruction words (VLIWs). A formal description of a microprocessor with such an architecture is proposed and issues of code generation and analysis of microprocessors with VLIWs extended by a collection of instructions for signal processing and multimedia application are discussed. The problem of the computational speedup of the architectures being considered is also discussed.
Similar content being viewed by others
REFERENCES
V. V. Voyevodin, “Mapping of problems of computing mathematics onto architectures of computer systems,” Vychisl. Metody i Programmirovanie, Vol. 1, 44-73 (2000).
V. A. Evstigneev,“ Some distinctive features of software with a long instruction word,” Programmirovanie, No. 2, 69-80 (1991).
P. Marwedel and G. Goossens (eds.), Code Generation for Embedded Processors, Kluwer Academic, Dordrecht (1995), ISBN 0-7923-9577-8.
A. Yu. Doroshenko and D. V. Kuivashev, “The architecture of a modular cross-compiler for microprocessors with a very long instruction word,” Probl. Progr., Nos. 3-4, 122-134 (2000).
V. A. Evstigneev and V. N. Kas'yanov, Reducible Graphs and Graph Models in Programming [in Russian], IDMI, Novosibirsk (1999).
A. V. Aho, R. Sethi, and J. D. Ullman, Compilers: Principles, Techniques, and Tools, Addison-Wesley, Reading, Massachusetts (1986).
V. A. Evstigneev and V. N. Kas'yanov, “Optimizing transformations in parallelizing compilers,” Programmirovanie, No. 6, 12-26 (1996).
D. F. Bacon, S. L. Graham, and O. J. Sharp, “Compiler transformations for high-performance computing,” ACM Computing Surveys, 26, No. 4, 345-420 (1994).
G. I. Shpakovskii, Organization of Parallel Computers and Superscalar Processors [in Russian], Belgosuniversitet, Minsk (1996).
Analog Devices: ADSP-21060 User Manual (1998), http://www.analog.com/publications/documentation/.
TMS Cx80 User Manual, http://www.ti.com.
A. V. Frolov, “Determination and use of oriented sections of real-word graphs of algorithms,” Programmirovanie, No. 4, 71-80 (1997).
A. S. Antonov and Vl. V. Voyevodin, “Efficient adaptation of sequential programs for modern vector-pipelined and massively parallel supercomputers,” Programmirovanie, No. 4, 37-51 (1996).
A. W. Lim and M. S. Lam, “Maximizing parallelism and minimizing synchronization with affine partitions,” in: Conf. Record of the 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, New York (January 1997).
Yu. A. Frantsuzov, “Construction of estimates for the problem of scheduling codes in pipeline processors,” Programmirovanie, No. 4, 57-71 (1993).
S. V. Skvortsov, “Code optimization for superscalar processors with the use of disjunctive graphs,” Programmirovanie, No. 2, 41-52 (1996).
Yu. A. Frantsuzov, “A review of methods of parallelizing codes and pipelining programs,” Programmirovanie, No. 3, 16-37 (1992).
V. Allan, R. Jones, R. Lee, and S. Allan, “Software pipelining,” ACM Computing Surveys, 27, No. 3, 367-432 (1995).
M. W. Hall, B. R. Murphy, and S. P. Amarasinghe, “Interprocedural analysis for parallelization: Design and experience,” in: Proc. 7th SIAM Conf. on Parallel Processing for Scientific Computing, New York (February 1995).
V. A. Evstigneev and V. A. Serebryakov,“ Methods of interprocedural analysis (a review),” Programmirovanie, No. 3, 4-15 (1992).
S. Liao, S. Devadas, K. Keutzer, et al., “Code generation and optimization techniques for embedded digital signal processors,” in: G. De Micheli and M. Sami (eds.), Hardware/Software Co-Design, Kluwer Academic, Dordrecht (1995), pp. 599-604.
P. Marwedel, “The MIMOLA design system: Tools for design of digital processors,” in: Proc. 21th Design Autom. Conf. (1984), pp. 587-593.
“FlexWare: A flexible firmware development environment for embedded systems,” in: P. Paulin, et. al. (eds.), Code Generation for Embedded Processors, Kluwer Academic, Dordrecht (1995), pp. 67-84.
“CHESS: Retargetable code generation for embedded DSP processors,” in: D. Lanneer, et al. (eds.), Code Generation for Embedded Processors, Kluwer Academic, Dordrecht (1995), pp. 85-102.
“An ILP-Based approach to code generation,” in: T. Wilson, et al. (eds.), Code Generation for Embedded Processors, Kluwer Academic, Dordrecht (1995), pp. 103-118.
G. Chen and M. Smith, “Global instruction scheduling on the machine SUIF,” in: Workshop on Interaction between Compilers and Computer Architecture, High Performance Computer Architecture 3 (February 1997).
R. Stallman, Using and Porting the GNU Compiler Collection, http://gcc.gnu.org/onlinedocs/gcc_toc.html.
P. Marwedel, “Tree-based mapping of algorithms to predefined structures,” in: Proc. Intern. Conf. on Computer-Aided Design (November 1995) (1995), pp. 586-593.
G. Hadjiyiannis, S. Hanono, and S. Devadas, “ISDL: An instruction set description language for retargetability,” in: Proc. 34th Design Automat. Conf. (June 1997) (1997), pp. 299-302.
D. A. Patterson and J. L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, 2nd Edition, New York (1998).
M. S. Dolinskii, I. M. Zigel'man, and S. L. Belotskii, “An adjustable interpretive debugger of assembler programs,” Programmirovanie, No. 6, 36-45 (1995).
A. Yu. Doroshenko and D. V. Kuivashev, “Intellectualization of vectorizing compilers for microprocessors with a long instruction word,” Probl. Progr., Nos. 1-2, 138-151 (2001).
V. A. Evstigneev, Using Graph Theory in Programming [in Russian], A. P. Yershov (ed.), Nauka, Moscow (1985).
P. Briggs, “Register allocation via graph coloring,” Ph. D thesis, Rice University, Houston, Texas (April 1992) (1992).
Yu. A. Frantsuzov, “Instruction flow scheduling with delayed register allocation,” Programmirovanie, No. 1, 58-66 (1991).
A. P. Yershov, An Introduction to Theoretical Programming [in Russian], Nauka, Moscow (1977).
M. Poletto and V. Sarkar, “Linear scan register allocation”, ACM TOPLAS, 21, No. 5, 895-913 (1999).
G. I. Shpakovskii, “A Method of scheduling traces and the architecture of a computer with a very long instruction,” ZRE, No. 11, 10-27 (1991).
K. Ebcioglu and T. Nakatani, “A new compilation technique for parallelizing loops with unpredictable branches on a VLIW architecture,” in: D. Gelerntner (ed.), Languages and Compilers for Parallel Computers, MIT Press, Cambridge, MA (1990), pp. 213-229.
B. Case, “Phillips hope to displace DSPs with VLIW,” Microprocessor Report, 8, No. 16, 12-15 (1994).
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Doroshenko, A.E., Ragozin, D.V. Using Graph Models in Retargetable Optimizing Compilers for Microprocessors with VLIW Architectures. Cybernetics and Systems Analysis 39, 192–211 (2003). https://doi.org/10.1023/A:1024735105533
Issue Date:
DOI: https://doi.org/10.1023/A:1024735105533