Tutorial: Compiling concurrent languages for sequential processors

被引:32
|
作者
Edwards, SA
机构
[1] Columbia Univ, Dept Comp Sci, New York, NY 10027 USA
[2] Synopsys Inc, Mountain View, CA USA
关键词
languages; compilation; concurrency; Esterel; Lustre; Verilog; Petri nets; sequential; code generation; communication; dataflow; discrete-event; partial evaluation;
D O I
10.1145/762488.762489
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Embedded systems often include a traditional processor capable of executing sequential code, but both control and data-dominated tasks are often more naturally expressed using one of the many domain-specific concurrent specification languages. This article surveys a variety of techniques for translating these concurrent specifications into sequential code. The techniques address compiling a wide variety of languages, ranging from dataflow to Petri nets. Each uses a different method, to some degree chosen to match the semantics of concurrent language. Each technique is considered to consist of a partial evaluator operating on an interpreter. This combination provides a clearer picture of how parts of each technique could be used in a different setting.
引用
收藏
页码:141 / 187
页数:47
相关论文
共 50 条
  • [1] Compiling concurrent programs for embedded sequential execution
    Lin, Bill
    INTEGRATION-THE VLSI JOURNAL, 2007, 40 (02) : 106 - 117
  • [2] Compiling embedded languages
    Elliott, C
    Finne, S
    de Moor, O
    SEMANTICS, APPLICATIONS AND IMPLEMENTATION OF PROGRAM GENERATION, PROCEEDINGS, 2000, 1924 : 9 - 27
  • [3] Compiling embedded languages
    Elliott, C
    Finne, S
    De Moor, O
    JOURNAL OF FUNCTIONAL PROGRAMMING, 2003, 13 : 455 - 481
  • [4] Compiling High Throughput Network Processors
    Lavasani, Maysam
    Dennison, Larry
    Chiou, Derek
    FPGA 12: PROCEEDINGS OF THE 2012 ACM-SIGDA INTERNATIONAL SYMPOSIUM ON FIELD PROGRAMMABLE GATE ARRAYS, 2012, : 87 - 96
  • [5] Compiling Universal Probabilistic Programming Languages with Efficient Parallel Sequential Monte Carlo Inference
    Lunden, Daniel
    Ohman, Joey
    Kudlicka, Jan
    Senderov, Viktor
    Ronquist, Fredrik
    Broman, David
    PROGRAMMING LANGUAGES AND SYSTEMS, ESOP 2022, 2022, 13240 : 29 - 56
  • [6] Compiling Functional to Scripting Languages
    Giannini, Paola
    Shaqiri, Albert
    SOFTWARE TECHNOLOGIES (ICSOFT 2013), 2014, 457 : 114 - 130
  • [7] CONCURRENT PROCESSORS
    BERMAN, RH
    PHYSICS TODAY, 1984, 37 (10) : 15 - 15
  • [8] Compiling esterel into sequential code
    Edwards, SA
    PROCEEDINGS OF THE SEVENTH INTERNATIONAL WORKSHOP ON HARDWARE/SOFTWARE CODESIGN (CODES'99), 1999, : 147 - 151
  • [9] Compiling policy descriptions into reconfigurable firewall processors
    Lee, TK
    Yusuf, S
    Luk, W
    Sloman, M
    Lupu, E
    Dulay, N
    FCCM 2003: 11TH ANNUAL IEEE SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES, PROCEEDINGS, 2003, : 39 - 48
  • [10] Compiling for Energy Efficiency on Timing Speculative Processors
    Sartori, John
    Kumar, Rakesh
    2012 49TH ACM/EDAC/IEEE DESIGN AUTOMATION CONFERENCE (DAC), 2012, : 1297 - 1304