嵌入式产品RTOS实时性能测量方法解析方案
来源:元器件交易网 作者:—— 时间:2012-02-03 15:05
如何测量实时性能?
实时性能的测量注重最重要的方面,使用通用硬件平台严格测量各项指标,以比较不同RTOS。
因此开发者可以通过特定功能的执行情况,比较每个RTOS的性能,以量化实时性能,为产品开发作出正确的决定。需要测量的关键RTOS功能包括:
* 环境切换(CS) : 需要保存当前线程环境所需的时间,查找优先级最高的线程并保存其环境。
* 中断潜伏范围(ILR): 中断被禁止的时间。
* RTOS系统服务
o tx_thread_suspend. 暂停应用程序线程。
o tx_thread_resume. 继续先前暂停的线程。
o tx_thread_relinquish. 取消对其它应用程序线程的控制。
o tx_queue_send . 向消息队列发送消息。
o tx_queue_receive. 从消息队列获取消息。
o tx_semaphore_get. 从计数信号获得实例。
o tx_semaphore_put. 在计数信号中放置实例。
o tx_mutex_get. 获得互斥体的所有权。
o tx_mutex_put. 释放互斥体的所有权。
o tx_event_flags_set. 设置或清除事件标志。
o tx_event_flags_get. 提取事件标志。
o tx_block_allocate. 分配内存模块。
o tx_block_release. 释放内存模块。
o tx_byte_allocate. 分配内存字节。
o tx_byte_release. 释放先前分配的内存区域。
对于如上的每个系统服务,必须测量如下指标:
o 立即响应:需要立即处理请求所需的时间,比如没有线程暂停或线程恢复。
o 线程暂停(TS): 由于资源无效需要暂停线程时处理请求所需时间。
o 线程恢复(TR): 当前一暂停的线程(优先级相同或者较低)恢复时处理请求所需时间。
o 线程恢复及环境切换(TRCS): 当前一暂停的高优先级线程恢复后处理请求所需时间。由于恢复的线程优先级高,针对恢复线程的环境切换也将在该请求中完成。
这些功能的时间示例如下表所示。参考平台使用的是主频40MHz的ARM9处理器,采用ThreadX RTOS。这些时间对大多数32位处理器可根据时钟速率作线性缩放。