z-logo
open-access-imgOpen Access
Accelerating the Development of DSL Compilers for Specialized Processors
Author(s) -
Пётр Николаевич Советов
Publication year - 2020
Publication title -
trudy instituta sistemnogo programmirovaniâ ran/trudy instituta sistemnogo programmirovaniâ
Language(s) - English
Resource type - Journals
eISSN - 2220-6426
pISSN - 2079-8156
DOI - 10.15514/ispras-2020-32(5)-3
Subject(s) - computer science , compiler , very long instruction word , parallel computing , dynamic compilation , register allocation , just in time compilation , optimizing compiler , instruction level parallelism , instruction scheduling , programming language , code generation , computer architecture , schedule , parallelism (grammar) , operating system , dynamic priority scheduling , two level scheduling , key (lock)
Specialized processors programmable in domain-specific languages are increasingly used in modern computing systems. The compiler-in-the-loop approach, based on the joint development of a specialized processor and a compiler, is gaining popularity. At the same time, the traditional tools, like GCC and LLVM, are insufficient for the agile development of optimizing compilers that generate target code of an exotic, irregular architecture with static parallelism of operations. The article proposes methods from the field of program synthesis for the implementation of machine-dependent compilation phases. The phases are based on a reduction to SMT problem which allows to get rid of heuristic and approximate approaches, that requires complex software implementation of a compiler. In particular, a synthesis of machine-dependent optimization rules, instruction selection and instruction scheduling combined with register allocation are implemented with help of SMT solver. Practical applications of the developed methods and algorithms are illustrated by the example of a compiler for a specialized processor with an instruction set that accelerates the implementation of lightweight cryptography algorithms in the Internet of Things. The results of compilation and simulation of 8 cryptographic primitives for 3 variants of specialized processor (CISC-like, VLIW-like and a variant with delayed load instruction) show the vitality of the proposed approach.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here