{"title":"编译了用于硬件/软件协同设计中代码划分和ip合成的低级虚拟指令集仿真和分析","authors":"Carsten Gremzow","doi":"10.1145/1357910.1358025","DOIUrl":null,"url":null,"abstract":"We present ongoing work and first results in static and detailed quantitative runtime analysis of LLVM byte code for the purpose of automatic procedural level partitioning and co-synthesis of complex software systems. Runtime behaviour is captured by reverse compilation of LLVM bytecode into augmented, self-profiling ANSI-C simulator programs retaining the LLVM instruction level. The actual global data flow is captured both in quantity and value range to guide function unit layout in the synthesis of application specific processors. Currently the implemented tool LLILA (Low Level Intermediate Language Analyzer) focuses on static code analysis on the inter-procedural data flow via e.g. function parameters and global variables to uncover a program's potential paths of data exchange.","PeriodicalId":91410,"journal":{"name":"Summer Computer Simulation Conference : (SCSC 2014) : 2014 Summer Simulation Multi-Conference : Monterey, California, USA, 6-10 July 2014. Summer Computer Simulation Conference (2014 : Monterey, Calif.)","volume":"45 Suppl 3 1","pages":"741-748"},"PeriodicalIF":0.0000,"publicationDate":"2007-07-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"9","resultStr":"{\"title\":\"Compiled low-level virtual instruction set simulation and profiling for code partitioning and ASIP-synthesis in hardware/software co-design\",\"authors\":\"Carsten Gremzow\",\"doi\":\"10.1145/1357910.1358025\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"We present ongoing work and first results in static and detailed quantitative runtime analysis of LLVM byte code for the purpose of automatic procedural level partitioning and co-synthesis of complex software systems. Runtime behaviour is captured by reverse compilation of LLVM bytecode into augmented, self-profiling ANSI-C simulator programs retaining the LLVM instruction level. The actual global data flow is captured both in quantity and value range to guide function unit layout in the synthesis of application specific processors. Currently the implemented tool LLILA (Low Level Intermediate Language Analyzer) focuses on static code analysis on the inter-procedural data flow via e.g. function parameters and global variables to uncover a program's potential paths of data exchange.\",\"PeriodicalId\":91410,\"journal\":{\"name\":\"Summer Computer Simulation Conference : (SCSC 2014) : 2014 Summer Simulation Multi-Conference : Monterey, California, USA, 6-10 July 2014. Summer Computer Simulation Conference (2014 : Monterey, Calif.)\",\"volume\":\"45 Suppl 3 1\",\"pages\":\"741-748\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2007-07-16\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"9\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Summer Computer Simulation Conference : (SCSC 2014) : 2014 Summer Simulation Multi-Conference : Monterey, California, USA, 6-10 July 2014. Summer Computer Simulation Conference (2014 : Monterey, Calif.)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/1357910.1358025\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Summer Computer Simulation Conference : (SCSC 2014) : 2014 Summer Simulation Multi-Conference : Monterey, California, USA, 6-10 July 2014. Summer Computer Simulation Conference (2014 : Monterey, Calif.)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1357910.1358025","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 9
摘要
我们介绍了正在进行的工作和第一个结果,用于自动过程级划分和复杂软件系统的协同合成的LLVM字节码的静态和详细的定量运行时分析。运行时行为是通过将LLVM字节码反向编译为增强的、自分析的ANSI-C模拟器程序来捕获的,这些程序保留了LLVM指令级别。在数量和值范围上捕获实际的全局数据流,以指导特定应用程序处理器合成中的功能单元布局。目前已实现的工具LLILA (Low Level Intermediate Language Analyzer)侧重于通过函数参数和全局变量对过程间数据流进行静态代码分析,以揭示程序中潜在的数据交换路径。
Compiled low-level virtual instruction set simulation and profiling for code partitioning and ASIP-synthesis in hardware/software co-design
We present ongoing work and first results in static and detailed quantitative runtime analysis of LLVM byte code for the purpose of automatic procedural level partitioning and co-synthesis of complex software systems. Runtime behaviour is captured by reverse compilation of LLVM bytecode into augmented, self-profiling ANSI-C simulator programs retaining the LLVM instruction level. The actual global data flow is captured both in quantity and value range to guide function unit layout in the synthesis of application specific processors. Currently the implemented tool LLILA (Low Level Intermediate Language Analyzer) focuses on static code analysis on the inter-procedural data flow via e.g. function parameters and global variables to uncover a program's potential paths of data exchange.