Affiliation:
1. University of California, Riverside, CA
Abstract
Recent high-level synthesis approaches and C-based hardware description languages attempt to improve the hardware design process by allowing developers to capture desired hardware functionality in a well-known high-level source language. However, these approaches have yet to achieve wide commercial success due in part to the difficulty of incorporating such approaches into software tool flows. The requirement of using a specific language, compiler, or development environment may cause many software developers to resist such approaches due to the difficulty and possible instability of changing well-established robust tool flows. Thus, in the past several years, synthesis from binaries has been introduced, both in research and in commercial tools, as a means of better integrating with tool flows by supporting all high-level languages and software compilers. Binary synthesis can be more easily integrated into a software development tool-flow by only requiring an additional backend tool, and it even enables completely transparent dynamic translation of executing binaries to configurable hardware circuits. In this article, we survey the key technologies underlying the important emerging field of binary synthesis. We compare binary synthesis to several related areas of research, and we then describe the key technologies required for effective binary synthesis: decompilation techniques necessary for binary synthesis to achieve results competitive with source-level synthesis, hardware/software partitioning methods necessary to find critical binary regions suitable for synthesis, synthesis methods for converting regions to custom circuits, and binary update methods that enable replacement of critical binary regions by circuits.
Funder
Division of Computer and Network Systems
Semiconductor Research Corporation
Publisher
Association for Computing Machinery (ACM)
Subject
Electrical and Electronic Engineering,Computer Graphics and Computer-Aided Design,Computer Science Applications
Reference112 articles.
1. Ahpah Software Inc. 2004. SourceAgain Java decompiler. http://www.ahpah.com/product.html. Ahpah Software Inc. 2004. SourceAgain Java decompiler. http://www.ahpah.com/product.html.
2. Altera Corp. 2006. Nios embedded processor. http://www.altera.com/products/ip/processors/nios/nio-index.html. Altera Corp. 2006. Nios embedded processor. http://www.altera.com/products/ip/processors/nios/nio-index.html.
3. Exploiting hardware performance counters with flow and context sensitive profiling
4. Processor reconfiguration through instruction-set metamorphosis
5. Dynamo
Cited by
10 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. SLaDe: A Portable Small Language Model Decompiler for Optimized Assembly;2024 IEEE/ACM International Symposium on Code Generation and Optimization (CGO);2024-03-02
2. Binary synthesis implementing external interrupt handler as independent module;Proceedings of the 28th International Symposium on Rapid System Prototyping Shortening the Path from Specification to Prototype - RSP '17;2017
3. ASTRO: Synthesizing application-specific reconfigurable hardware traces to exploit memory-level parallelism;Microprocessors and Microsystems;2015-10
4. Runtime Resource Management in Heterogeneous System Architectures: The SAVE Approach;2014 IEEE International Symposium on Parallel and Distributed Processing with Applications;2014-08
5. LegUp;ACM Transactions on Embedded Computing Systems;2013-09