嵌入式实时操作系统性能测试方法研究

2019-01-26 15:31

嵌入式实时操作系统性能测试方法研究

发布时间: 2009-7-08 16:22 作者: 未知 来源: 网络转载

字体: 小 中 大 | 上一篇 下一篇 | 打印 | 我要投稿 | 推荐标签: 嵌入式系统 性能测试 软件测试技

引 言

随着计算机技术的迅速发展和芯片制造工艺的不断进步,ERTOS的研究和应用日益广泛,从民用的手机、电子书等手持移动设备到航空航天、医学设备、工业控制等各个领域都有它的身影。然而,在设计和选择ERTOS时,如何确定其是否能够满足所需的应用成为一个棘手的问题,必须用一种有效的方法对它们的各个方面进行对比测试,以选择符合要求的系统。本文首先分析三种常用的系统实时性能测试方法,接着介绍一套测试实验平台,对于ERTOS的测试和分析有一定的指导意义。 1 Rheaostone方法

Rhealstone方法对ERTOS中六个关键操作的时间量进行测量,并将它们的加权和称为Rhealstone数。这六个时间量如下:

◆任务切换时间(task switching time),也称上下文切换时间,定义为系统在两个独立的、处于就绪态并具有相同优先级的任务之间切换所需要的时间。它包括三个部分,即保存当前任务上下文的时间、调度程序选中新任务的时间和恢复新任务上下文的时间。切换所需的时间主要取决于保存任务上下文所用的数据结构以及操作系统采用的调度算法的效率。

◆抢占时间(preemption time),即系统将控制从低优先级的任务转移到高优先级任务所花费的时间。为了对任务进行抢占,系统必须首先识别引起高优先级任务就绪的事件,比较两个任务的优先级,最后进行任务的切换,所以抢占时间中包括了任务切换时间。

◆中断延迟时间(interrupt latency time),指从中断第一条指令所持续的时间间隔.它由四部分组成,即硬件延迟部分(通常可以忽略不计)、ERTOS的关中断时间、处理器完成当前指令的时间以及中断响应周期的时间。

◆信号量混洗时间(semaphore shuffling time),指从一个任务释放信号量到另一个等待该信号量的任务被激活的时间延迟。在ERTOS中,通常有许多任务同时竞争某一共享资源,基于信号量的互斥访问保证了任一时刻只有一个任务能够访问公共资源。信号量混洗时间反映了与互斥有关的时间开销,因此也是衡量ERTOS实时性能的一个重要指标。

◆死锁解除时间(deadlock breaking time),即系统解开处于死锁状态的多个任务所需花费的时间。死锁解除时间反映了RTOS解决死锁的算法的效率。

◆数据包吞吐率(datagram throuShput time),指一个任务通过调用ERTOS的原语,把数据传送到另一个任务去时,每秒可以传送的字节数。 2 进程分派延迟时间法

进程分派延迟时间PDLT(Process Dispatcb LatencyTime)是另一个常用的测量ERTOS性能的方法。在实时系统中,实时任务总是等待外部事件引发的中断来激活它。当一个中断产生后,系统必须迅速停止当前运行的低优先级任务,将控制权交给被激活的实时任务。PDLT定义为从中断的产生到由中断激活的实时任务开始执行之间的时间间隔。这段间隔由几个部分组成,如图1所示。

不同操作系统中,PDLT差异的主要部分是内核延迟部分。目前绝大多数ERTOS为了减少内核延迟,采用可抢占式的内核,有效地提高了系统对外部事件的响应速度。 3 三维表示法

有人将实时系统定义为能够从外部进程获取输入,处理所获得的数据,并能在足够快的时间内将正确的响应返回给外部进程的系统。由这个定义,可以将ER丁OS的工作分为三个阶段: ◆响应传感器或者其他输入设备的请求,并获取数据; ◆对获得的数据进行处理(主要由应用程序进行处理); ◆输出处理结果。

相应地,ERTOS的性能可以用对应的三个特性来描述:

◆CPU的计算能力,其度量单位为MIPSl(Millions of Instructions Per Second); ◆中断处理能力,其度量单位为MIPS2(Millions of Interrupts Per Second); ◆I/O吞吐率,其度量单位为MIPS3(Millions of I/O Per Second)。

上述三个特性的最大值可分别单独测得,但这三个特性之间并不是相互独立的。为了直观地表现ERTOS的实时性能,可以用一个三维的图形来表达三个特性之间的依赖关系,如图2所示。

图2中用曲面来表现ER70S三个特性之间的依赖关系。如果随着一个特性的增加,另外两个特性下降的速度比较缓慢,可以认为该曲面所表现的系统是ERTOS;反之,如果随着一个特性的增加,另外两个特性下降的速度超过了一定的范围,就可以认为该系统非ERTOS,如图2中的阴影部分所示。 4 系统实时性能测试实验平台

为了对RTOS的实时性能进行测试,我们设计并实现了一套测试实验平台。实验平台由两块开发板(被测系统)构成,便于对不同的ERTOS进行对比。由于实验平台的主要设计目标是对相同硬件架构下的不同操作系统及操作系统的不同层次进行比较,所以两块开发板均采用了研华的PCM 7230。其主要硬件特性如下:

CPU:Intel Xscale PXA255 400MHz SDRAM:64 MB

LCD:10.4”

I/O接口:CompactFlash、PCMCIA、RS232、RS485、 USB、Ethernet等。

实验平台的整体结构如图3所示。

4.1 实验平台功能 (1)实时性能测试

由于大多数ERTOS的内核是不可更改的,所以对其实时性能的测试主要在用户层实现。开发者可以将现有的用于测量Rhealstone性能指标和PDLT延迟时间的benchmark程序方便地移植到PCM 7230开发板与不同RTOS组合的平台上,也可以根据应用需要自己编写测试程序,对感兴趣的延迟时间进行测量。 除此之外,PCM7230开发板从CPU引脚上引出了一个120针的扩展接口AMI-120(ARM Module Interface)。将这120针引脚引出至实验平台上的两个测试端口1和2,可以通过示波器或逻辑分析仪对

引脚上的信号进行分析;配合benchmark测试,可以得出更加精确和可信的测试结果。另外,对引脚中的部分控制信号通过CPLD单独引出至一个测试端口3,便于对不同的系统进行对比测试。 (2)负荷发生

由三维表示法得知,ERTOS的实时性能可以用三个特性来表示。相应地,实验平台可以产生三种类型的负荷;计算负荷(CPU负荷)、I/O负荷以及中断负荷。

计算负荷由I/hrystone或Whetstone改编的进程实现,每秒钟消耗一定的MIPS数。

I/0负荷由系统时钟控制,通过PCM 7230开发板上丰富的I/O接口产生流量。另外,通过配置不同的I/O接口,还可以测试不同存储介质对ERTOS性能的影响。

中断负荷的产生可以用CPLD进行控制.通过DIP开关设置中断发生的频率,在CPLD中实现一个分频器用于产生中断信号,并将中断信号通过AMI-120接口中的GPIO引脚传送给CPU。

在进行ERTOS实时性能的测试时,这三类负荷可以模拟应用的真实环境。另外,通过指定三种负荷的变化,可以获得它们在三维图中的一系列坐标点,由此也可以绘制ERTOS的三维表示曲面。 此外,由于CPLD为可编程器件,方便对其再编程以重新定义与其相连的各种器件的功能,使得测试平台有很大的灵活性和扩展性。 4.2 计时方法

评价ERTOS实时性能的具体指标多数是用延迟时间来表示的,比如Rhealstone方法中的前五个指标和PDLT方法。可以将这些对时间的测量过程简化为图4所示的流程。


嵌入式实时操作系统性能测试方法研究.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2013高考数学第二轮复习学案 第1--8讲答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: