频谱分析仪软件之高效率多线程设计
1 引言
现代频谱分析仪功能日趋复杂且性能不断提高,为满足这些需求就必须充分利用硬件平台提供的CPU、磁盘、通信接口等资源,良好的多线程设计越发重要。
在一个频谱分析仪软件内部,从功能角度通常将线程进行如下划分:人机界面控制管理线程(这也是软件的主线程)、内部控制管理线程、程控管理线程、硬件/总线检测线程、数据分析线程及其他辅助线程。这些线程彼此分工又密切合作以实现各种复杂的功能,因此多线程设计也带来很多挑战,比如资源的分配与线程调度等,这些设计不但关系到主要测量功能的正常实现,也关系着可靠性与响应速度等重要性能,因此频谱分析仪软件在多线程基础上还要实现高效率设计。
频谱分析仪软件着重从高效运行、节能、多线程协作与消除副作用4个技术点进行多线程设计。
2 高效运行设计
软件要求能对外部的各种信息及时捕获并作出相关响应,因此线程要高效运行才能完成有效测量。根据各种需求的及时性合理安排线程的优先级与内部执行方式是关键,在此处设计时采用“硬件优先,测量优先”的策略,具体优先级分配如表1所示。
硬件需要最高的及时性,所以硬件处理相关的优先级最高,而人的反应相对于硬件远没有那么快,所以优先级低。
除了划分线程的优先级外,各线程还采用时间片主动让出策略,即已经完成当前任务的线程主动放弃执行剩余的时间片,配合操作系统线程调度,从而提高CPU使用效率。
3 节能设计
对于便携式频谱分析仪而言应深入“经济”概念,因此降低能耗十分重要,要避免高效率高消耗现象。对软件而言,重点在于节约CPU使用,据统计,在一台经济型的手持式频谱分析仪中,CPU的能耗约占整机能耗的20%,这对使用电池供电的仪器格外重要。软件采用的节能策略如下:
(1)每一个线程都设计成默认为挂起状态,即不工作就不使用CPU;
(2)工作时采用等待外部消息或事件同步的方式进行通知,只有通知到来才进行处理,否则继续挂起;
(3)同步时杜绝使用消耗CPU的自旋方式;
(4)需要进行周期性后台维护的各种需求,采用定时器通知的方式进行处理,杜绝使用自旋查询。
以上设计再配合时间片主动出让策略,将整个软件的CPU消耗降至最低。
4 多线程协作
一些功能可能需要多个线程精密协作完成,亦可能某个特定急迫功能需要抢在已安排的功能前执行,因此多线程间的通信是设计的一大重点,同时也是保证工业设计中的高可靠性与快速响应的技术手段。此处频谱分析仪软件采用5级优先级通信方式,相比传统平台提供的同步与异步两种方式,大大增强了灵活性。具体通信优先级与使用规则设计如表2所示。
相关文章
- 2023-05-19硅微谐振式加速度计2种谐振结构比较
- 2023-05-19微型机器人的现状与发展
- 2024-10-30浅谈计量中的误差
- 2024-08-26射线源焦点距离误差对CT重建质量影响分析
- 2022-10-17力控forcecontrol6.0+S7200构建垃圾焚烧监控系统
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。