检索规则说明:AND代表“并且”;OR代表“或者”;NOT代表“不包含”;(注意必须大写,运算符两边需空一格)
检 索 范 例 :范例一: (K=图书馆学 OR K=情报学) AND A=范并思 范例二:J=计算机应用与软件 AND (U=C++ OR U=Basic) NOT M=Visual
作 者:杨志斌[1,2] 袁胜浩 谢健 周勇[1] 陈哲[1] 薛垒[3] Jean-Paul BODEVEIX Mamoun FILALI YANG Zhi-Bin;YUAN Sheng-Hao;XIE Jian;ZHOU Yong;CHEN Zhe;XUE Lei(School of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing 211106, China;Collaborative Innovation Center of Novel Software Technology and Industrialization, Nanjing 210093, China;Shanghai Aerospace Electronic Technology Institute, Shanghai 201109, China)
机构地区:[1]南京航空航天大学计算机科学与技术学院,江苏南京211106 [2]软件新技术与产业化协同创新中心,江苏南京210093 [3]上海航天电子技术研究所,上海201109 [4]IRIT-University of Toulouse,Toulouse 31062,France
出 处:《软件学报》2019年第7期1980-2002,共23页Journal of Software
基 金:国家自然科学基金(61502231);国家重点研发计划(2016YFB1000802);GF基础科研重点项目(JCKY2016203B011);江苏省自然科学基金(BK20150753);中央高校基本科研业务费专项资金(NP2017205);国家自然科学基金委员会-中国民航局民航联合研究基金(U1533130);南京航空航天大学研究生创新基地(实验室)开放基金(kfjj20181603)~~
摘 要:随着安全关键系统对计算性能要求的日趋提高,能够提供更强计算能力而又减少电子设备的体积、重量和功耗的多核处理器将在安全关键领域得到广泛应用。同步语言能够表达确定性并发行为且具有精确时间语义等特性,适用于安全关键软件的建模和验证。目前,同步语言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,the SIGNAL specification is transformed into the intermediate program S-CGA and is carried out the clock calculus.After that,the S-CGA program is transformed into CDDG(clock data dependency graph).Then,the CDDG is partitioned by topological sort,after which an optimized algorithm and a partition algorithm are respectively proposed 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 the proposed methodology.
分 类 号:TP311[自动化与计算机技术—计算机软件与理论]
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在链接到云南高校图书馆文献保障联盟下载...
云南高校图书馆联盟文献共享服务平台 版权所有©
您的IP:216.73.216.124