欢迎来到天天文库
浏览记录
ID:42708401
大小:212.61 KB
页数:6页
时间:2019-09-20
《车控多核操作系统任务间数据交互实现方法研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、车控多核操作系统任务间数据交互实现方法研究孙忠刚1张晓谦1刘超1李岩11,中国第一汽车股份有限公司技术中心,汽车电子部,吉林省长春市创业大街1063号,130011【摘要】在汽车电控系统中,微处理器正逐步由单核过渡到多核。单核操作系统任务间数据交互实现方法不能解决多核微处理器核间任务交互数据的数据一致性问题。针对此问题,本文提出了一种适用于多核微处理器的改进方法。该方法利用汽车电子开放式架构(AutomotiveOpenSystemArchitecture,AOTUSAR)OS提供的自旋锁机制[1]及内存缓存方法,保证交互数据在被访问过程中,数据一致性不被破坏,有效解决了多核微处理
2、器上任务间数据交互问题。此方法容易实现,且原有软件由单核过渡到多核,软件改动量小,现已应用于一汽发动机控制器项目中。【关键词】多核微处理器软件,AUTOSAROS,任务间数据交互,数据一致性Researchontheimplementationofdatainteractionbetweentasksinmulti-coreOperationSysteminvehiclecontrolsystemSunZhonggang1,ZhangXiaoqian1,LiuChao1,LiYan11.FAWCorporationlimitedR&Dcenter,ChinaABSTRACT–Int
3、heelectroniccontrolsystemforautomotivevehicle,themicrocontrolleristransformingfromsinglecoretomulti-core.Theimplementationofdatainteractionbetweentasksinsinglecoreoperatingsystemcannotresolvethedataconsistencyproblemwhenthetasksonthedifferentcoresdothedatainteraction.Tosolvethisproblem,Animpro
4、vedimplementationwasputforward.TheAUTOSAROSSpinLockmechanismandmemorycachemethodwasusedinthisimplementation,whichcanensurethatthedataconsistencyisnotdestroyedwhenthedataisbeingaccessed.Theimplementationwaseasilytoberealizedandthesoftwarechangeisverysmall,hasbeenverifiedinFAWengineelectroniccon
5、trolsystem.KEYWORDS–Multi-Coresoftware,AUTOSAROS,Datainteractionbetweentasks,Dataconsistency1.引言随着汽车排放法规要求日趋严格,用户需求不断增多,发动机控制功能越来越复杂,汽车电控系统软件规模越来越大,单核微处理器资源及处理速度逐渐逼近上限。汽车半导体厂商纷纷推出了针对动力总成控制的多核微处理器。发动机控制器主芯片由单核微处理器变为多核微处理器是一种必然趋势。微处理器由单核过渡到多核,单核操作系统任务间数据交互实现方法不能解决多核微处理器核间任务交互数据的数据一致性问题。本文以AUTOSA
6、R[1]操作系统为基础,介绍了汽车电控系统中任务间的数据交互类型、分析了原有单核操作系统任务间数据交互实现方法在多核微处理器上应用存在的问题,提出了适用于多核微处理器的改进方法。2.任务间数据交互类型介绍在汽车电控系统中,任务间交互的数据有两种类型。一种是交互的数据之间存在关联关系,另一种是交互的数据之间不存在关联关系。如图1所示,操作系统中有两个任务TaskA(高优先级)和TaskB(低优先级),在运行过程中,TaskB需要对数据VarA和VarB写访问,TaskA需要对这两个数据读访问。图1任务间数据交互图数据间存在关联关系是指,TaskA在使用数据VarA和VarB时,Var
7、A和VarB的对应关系必须存在。即在任务TaskA中,参与计算的变量VarA和VarB或者是TaskB更新之前的数值0和80,或者是TaskB更新之后的数值80和100。若对应关系被破坏,TaskA将会得到错误的运行结果。数据间不存在关联关系是指,数据VarA与数据VarB在任务TaskA中独立参与运算,数据值的更新时机不对TaskA结果正确性产生影响。当一个交互数据的长度大于机器字(word)时,数据值的更新需要多条指令完成,则该数据交互的实现方案应按照关联数据类型
此文档下载收益归作者所有