主页期刊介绍编委会编辑部服务介绍道德声明在线审稿编委办公编辑办公English
2018-2019年专刊出版计划 微信服务介绍 最新一期:2019年第4期
     
在线出版
各期目录
纸质出版
分辑系列
论文检索
论文排行
综述文章
专刊文章
美文分享
各期封面
E-mail Alerts
RSS
旧版入口
中国科学院软件研究所
  
投稿指南 问题解答 下载区 收费标准 在线投稿
杨志斌,袁胜浩,谢健,周勇,陈哲,薛垒,BODEVIX Jean-Paul,FILALI Mamoun.一种同步语言多线程代码自动生成工具.软件学报,2019,30(7):0
一种同步语言多线程代码自动生成工具
Multi-Threaded Code Generation Tool for Synchronous Language
投稿时间:2018-07-15  修订日期:2018-09-28
DOI:10.13328/j.cnki.jos.005754
中文关键词:  同步语言  同步多时钟卫式动作  多线程代码生成
英文关键词:Synchronous Language  Synchronous Clocked Guarded Actions  Multi-threaded Code Generation
基金项目:国家自然科学基金(61502231);国家重点研发计划(2016YFB1000802);GF基础科研重点项目(JCKY2016203B011);江苏省自然科学基金(BK20150753);中央高校基本科研业务费专项资金资助(NP2017205);国家自然科学基金委员会-中国民航局民航联合研究基金(U1533130);南京航空航天大学研究生创新基地(实验室)开放基金(kfjj20181603)
作者单位E-mail
杨志斌 南京航空航天大学 计算机科学与技术学院, 江苏 南京 211106
软件新技术与产业化协同创新中心, 江苏 南京 210093 
yangzhibin168@163.com 
袁胜浩 南京航空航天大学 计算机科学与技术学院, 江苏 南京 211106  
谢健 南京航空航天大学 计算机科学与技术学院, 江苏 南京 211106  
周勇 南京航空航天大学 计算机科学与技术学院, 江苏 南京 211106  
陈哲 南京航空航天大学 计算机科学与技术学院, 江苏 南京 211106  
薛垒 上海航天电子技术研究所, 上海 201109  
BODEVIX Jean-Paul IRIT-University of Toulouse, Toulouse 31062  
FILALI Mamoun IRIT-University of Toulouse, Toulouse 31062  
摘要点击次数: 126
全文下载次数: 105
中文摘要:
      随着安全关键系统对计算性能要求的日趋提高,相比单核处理器,能够提供更强计算能力而又减少电子设备的体积、重量和功耗的多核处理器将在安全关键领域得到广泛应用.同步语言能够表达确定性并发行为且具有精确时间语义等特性,非常适合用于安全关键软件建模和验证.目前,同步语言SIGNAL编译器主要支持串行代码生成,较少关注多线程代码生成.本文提出一种同步语言SIGNAL多线程代码生成工具.首先将SIGNAL程序转换为经过时钟演算的S-CGA中间程序;其次将S-CGA中间程序转换为时钟数据依赖图以分析依赖关系;然后对时钟数据依赖图进行拓扑排序划分,并针对划分结果提出优化算法和基于流水线方式的任务划分方法;最后将划分结果转换为虚拟多线程结构并进一步生成可执行多线程C/Java代码.通过在多核处理器上实验验证本文所提方法的有效性.
英文摘要:
      Multi-core processors are being widely used in safety-critical systems,due to the demands of higher computation performance when designing these systems,and strengths of multi-core processors,such as faster computation and SWaP (Size,Weight and Power) properties.Synchronous Languages are suitable for modeling and verification of safety-critical software due to their abilities,e.g.the description of concurrency behaviors and precise timing semantics.At present,the SIGNAL compiler supports to generate the sequential code from synchronous specification.The existing studies pay a little attention to the generation of parallel code from SIGNAL specification.The paper presents a multi-threaded code generation tool for synchronous language.Firstly we transform the SIGNAL specification into the intermediate program S-CGA and do the clock calculus.After that,the S-CGA program is transformed into CDDG (Clock Data Dependency Graph).Then we partition the CDDG by topological sort,after which we respectively propose an optimized algorithm and a partition algorithm based on pipeline-style.Finally,the partition results are transformed to VMT (Virtual Multi-Threaded) code which is then transformed into executable multi-threaded C/Java program.The experiment running on multi-core CPUs is given to verify the effectiveness of our methodology
HTML  下载PDF全文  查看/发表评论  下载PDF阅读器
 

京公网安备 11040202500064号

主办单位:中国科学院软件研究所 中国计算机学会
编辑部电话:+86-10-62562563 E-mail: jos@iscas.ac.cn
Copyright 中国科学院软件研究所《软件学报》版权所有 All Rights Reserved
本刊全文数据库版权所有,未经许可,不得转载,本刊保留追究法律责任的权利