指令存储式计算机技术,一种星上计算机延时指令存储及执行方法技术

本发明专利技术公开了一种星上计算机延时指令存储及执行方法,(1)本发明专利技术通过进一步开发数组的数据结构来实现,在数组的数据结构的基础上增加本数据元素编号,前数据元素编号,后数据元素编号,以及指令数据。通过改变数据元素中前数据元素编号和后数据元素编号的值,完成数据元素的插入删除操作。(2)本发明专利技术在确保星载软件的可靠性和安全性,不使用动态分配内存操作的基础上,对传统的星载延时指令集管理方法进一步改进,设计了一个指令链表结构,在延时指令执行和插入删除操作时无需移动后续延时指令,提高了软件执行效率,延时指令执行时间也很稳定。

【技术实现步骤摘要】

【专利摘要】本专利技术公开了,(1)本专利技术通过进一步开发数组的数据结构来实现,在数组的数据结构的基础上增加本数据元素编号,前数据元素编号,后数据元素编号,以及指令数据。通过改变数据元素中前数据元素编号和后数据元素编号的值,完成数据元素的插入删除操作。(2)本专利技术在确保星载软件的可靠性和安全性,不使用动态分配内存操作的基础上,对传统的星载延时指令集管理方法进一步改进,设计了一个指令链表结构,在延时指令执行和插入删除操作时无需移动后续延时指令,提高了软件执行效率,延时指令执行时间也很稳定。【专利说明】

本专利技术涉及,尤其涉及在关键安全嵌入式软件中,在不使用动态申请内存的条件下,实现一种快速插入删除的星载延时指令存储及执行方法,属于嵌入式软件

技术介绍

嫦娥三号应用软件包含延时指令,延时指令带有执行时间标签,有如下管理要求: 1.应用软件收到一条新的延时指令时,应根据所有延时指令时间码从小到大重新排列,并按顺序存储;2.应用软件收到一条删除延时指令的指令时,应比较延时指令的时间码和指令数据是否与存放的延时指令数组内的指令内容一致,一致则删除该条指令,并将其他延时指令时间码从小到大重新排列,按顺序存储;3.应用软件应每秒检查第一条指令时间,如果指令时间到达则执行指令,并删除该条延时指令;如果指令时间超时,则直接删除该条延时指令;如果指令时间未到达,则不执行操作。 传统的星载延时指令集存储及执行方法(基于数组的数据结构)具有如下缺点:延时指令插入、删除操作效率低,找到插入、删除位置后,需要将后面的延时指令逐条后移。假定每条延时指令包含长度为L的指令数据,当延时指令条数为N,当N和L较大时,会移动大量数据,软件执行效率低。延时指令集管理时间不确定且相差很大,在延时指令执行和插入删除操作时,其移动的数据量与后续的指令条数相关,软件执行时间不确定且最大最小执行时间相差很大。综上,传统的星载延时指令集管理方法软件执行效率低,执行时间不确定且相差很大。

技术实现思路

本专利技术解决的技术问题是:克服现有技术的不足,提供,该方法。 本专利技术的技术解决方案是:,步骤如下: (I)首先设计星载延时指令结构,该星载延时指令结构包括星载延时指令数据及对应的星载延时指令编号、前一个星载延时指令编号和后一个星载延时指令编号; (2)定义一个固定长度的星载延时指令结构数组用于存储星载延时指令,并利用指令结构指针索引第一条星载延时指令,第二条星载延时指令通过第一条星载延时指令结构中的后一个星载延时指令编号进行索引,第三条星载延时指令通过第二条星载延时指令结构中的后一个星载延时指令编号进行索引,其余依次类推,该星载延时指令结构数组存储在星上计算机中;其中指令结构数组中的每个元素采用步骤(I)设计的星载延时指令结构来表示; (3)星上计算机根据地面发送的控制指令进行相应操作,当星上计算机接收到插入星载延时指令时,执行步骤(4);当星上计算机接收到删除星载延时指令时,执行步骤(5);当星上计算机存储的星载延时指令的执行时间到达时,执行步骤(6); (4)星上计算机接收新的星载延时指令New,新的星载延时指令New需要插入已存储星载延时指令N-1和N之间,星上计算机将新的星载延时指令New的前一个星载延时指令编号赋值为星载延时指令指令N-1的指令编号,下一个星载延时指令编号赋值为星载延时指令N的指令编号,星载延时指令N-1的下一星载延时指令编号赋值为新的星载延时指令New的指令编号,星载延时指令N的前一个星载延时指令编号赋值为新的星载延时指令New的指令编号; (5)星上计算机接收删除星载延时指令,删除星载延时指令为删除已存储的星载延时指令N,星上计算机将星载延时指令N-1的下一个星载延时指令编号赋值为星载延时指令N+1的指令编号,星载延时指令N+1的前一个星载延时指令编号赋值为星载延时指令N-1的指令编号;星载延时指令N的下一个星载延时指令编号和前一个星载延时指令编号均赋值为无效编号; (6)星上计算机将指令结构指针指向第二条星载延时指令,第二条星载延时指令的前一个星载延时指令编号赋值为最后一条星载延时指令的指令编号;最后一条星载延时指令的后一个星载延时指令编号赋值第二条星载延时指令的指令编号,第一条星载延时指令的下一个星载延时指令编号和前一个星载延时指令编号均赋值为无效编号; (7)星上计算机按照步骤(3)-(6)进行执行,直至星上计算机关机。 本专利技术与现有技术相比的优点在于: (I)该方法通过进一步开发数组的数据结构来实现,在数组的数据结构的基础上增加本数据元素编号,前数据元素编号,后数据元素编号,以及指令数据。通过改变数据元素中前数据元素编号和后数据元素编号的值,完成数据元素的插入删除操作。 (2)本方法在确保星载软件的可靠性和安全性,不使用动态分配内存操作的基础上,对传统的星载延时指令集管理方法进一步改进,设计了一个指令链表结构,在延时指令执行和插入删除操作时无需移动后续延时指令,提高了软件执行效率,延时指令执行时间也很稳定。 该方法已在嫦娥三号应用软件延时指令管理中得到应用,解决了延时指令管理中删除,插入及执行操作复杂的问题。在满足可靠性和安全性的同时,提高了软件的运行效率。 【专利附图】【附图说明】 图1为星载延时指令结构组成示意图; 图2为星载延时指令链表结构示意图; 图3为插入星载延时指令示意图; 图4为删除星载延时指令示意图。 【具体实施方式】 下面结合附图和具体实施例对本专利技术做进一步详细的描述: (I)首先设计星载延时指令结构,该星载延时指令结构包括星载延时指令数据及对应的星载延时指令编号、前一个星载延时指令编号和后一个星载延时指令编号,如图1所示; (2)定义一个固定长度的星载延时指令结构数组用于存储星载延时指令,并利用指令结构指针索引第一条星载延时指令,第二条星载延时指令通过第一条星载延时指令结构中的后一个星载延时指令编号进行索引,第三条星载延时指令通过第二条星载延时指令结构中的后一个星载延时指令编号进行索引,其余依次类推,该星载延时指令结构数组存储在星上计算机中;其中指令结构数组中的每个元素采用步骤(I)设计的星载延时指令结构来表示; 如图2所示,预先定义一个固定长度的上述数据元素的数组,并使用数据元素指针Ip来索引该数组的第一个元素。其他数据元素通过与第一个数据元素的关系来表示其可变序号,逐一往后递增。例如相对与数据元素I的后一数据元素的后一数据元素,其可变序号为3。每个数据元素包含本数据元素固有编号,前数据元素编号,后数据元素编号,以及指令数据。 (3)星上计算机根据地面发送的控制指令进行相应操作,当星上计算机接收到插入星载延时指令时,执行步骤(4);当星上计算机接收到删除星载延时指令时,执行步骤 (5);当星上计算机存储的星载延时指令的执行时间到达时,执行步骤(6); (4)上计算机接收新的星载延时指令New,新的星载延时指令New需要插入已存储星载延时指令N-1和N之间,星上计算机将新的星载延时指令New的前一个星载延时指令编号赋值为星载延时指令指令N-1的指令编号,下一个星载延时指令编号赋值为星载延时指令N的本文档来自技高网...

【技术保护点】

一种星上计算机延时指令存储及执行方法,其特征在于步骤如下:(1)首先设计星载延时指令结构,该星载延时指令结构包括星载延时指令数据及对应的星载延时指令编号、前一个星载延时指令编号和后一个星载延时指令编号;(2)定义一个固定长度的星载延时指令结构数组用于存储星载延时指令,并利用指令结构指针索引第一条星载延时指令,第二条星载延时指令通过第一条星载延时指令结构中的后一个星载延时指令编号进行索引,第三条星载延时指令通过第二条星载延时指令结构中的后一个星载延时指令编号进行索引,其余依次类推,该星载延时指令结构数组存储在星上计算机中;其中指令结构数组中的每个元素采用步骤(1)设计的星载延时指令结构来表示;(3)星上计算机根据地面发送的控制指令进行相应操作,当星上计算机接收到插入星载延时指令时,执行步骤(4);当星上计算机接收到删除星载延时指令时,执行步骤(5);当星上计算机存储的星载延时指令的执行时间到达时,执行步骤(6);(4)星上计算机接收新的星载延时指令New,新的星载延时指令New需要插入已存储星载延时指令N‑1和N之间,星上计算机将新的星载延时指令New的前一个星载延时指令编号赋值为星载延时指令指令N‑1的指令编号,下一个星载延时指令编号赋值为星载延时指令N的指令编号,星载延时指令N‑1的下一星载延时指令编号赋值为新的星载延时指令New的指令编号,星载延时指令N的前一个星载延时指令编号赋值为新的星载延时指令New的指令编号;(5)星上计算机接收删除星载延时指令,删除星载延时指令为删除已存储的星载延时指令N,星上计算机将星载延时指令N‑1的下一个星载延时指令编号赋值为星载延时指令N+1的指令编号,星载延时指令N+1的前一个星载延时指令编号赋值为星载延时指令N‑1的指令编号;星载延时指令N的下一个星载延时指令编号和前一个星载延时指令编号均赋值为无效编号;(6)星上计算机将指令结构指针指向第二条星载延时指令,第二条星载延时指令的前一个星载延时指令编号赋值为最后一条星载延时指令的指令编号;最后一条星载延时指令的后一个星载延时指令编号赋值第二条星载延时指令的指令编号,第一条星载延时指令的下一个星载延时指令编号和前一个星载延时指令编号均赋值为无效编号;(7)星上计算机按照步骤(3)‑(6)进行执行,直至星上计算机关机。...

【技术特征摘要】

【专利技术属性】

技术研发人员:万丽景,党纪红,关小川,林琳,高进,王晶,

申请(专利权)人:北京控制工程研究所,

类型:发明

国别省市:北京;11

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值