一种高效的浮点上下文切换算法

更新时间:2023-11-28 19:49:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

龙源期刊网 http://www.qikan.com.cn

一种高效的浮点上下文切换算法

作者:张东 梅涛

来源:《科技风》2017年第02期

摘 要:为了提升基于浮点运算的任务上下文切换性能,本文提出了一种高效的浮点上下文切换算法;基于某型嵌入式实时操作系,设计实现了所提出的浮点上下文切换算法,并进行任务上下文切换的性能对比实验;实验结果表明,本文提出的浮点上下文切换算法可以有效地提高混合环境下任务切换的效率,显著减小浮点任务上下文切换的时间消耗。 关键词:浮点任务;上下文切换;性能对比 中图分类号:TP311 文献标识码:A 一、背景

随着嵌入式领域信息处理技术的发展,越来越多的应用需要使用浮点运算来完成其功能,对操作系统[ 1 ]提出了新的功能和性能要求。在信息处理领域,通常情况下浮点任务和非浮点任务配合使用,完成各种计算。如果操作系统在任务切换的过程中,对每一个任务均保存和恢复浮点上下文,则会造成大量的时间和空间开销,严重影响系统性能,需要提出新的浮点任务和非浮点任务切换算法,为混合任务环境下任务的高效切换提供支持。 二、浮点上下文切换算法

上下文切换[ 2 ]的基本原理就是当发生任务切换时,保存当前任务的寄存器到内存中,将下一个即将要切换过来的任务的寄存器状态恢复到当前 CPU 寄存器中,使其继续执行,同一时刻只允许一个任务独享寄存器。在任务切换的过程中是涉及任务上下文的保存和恢复操作,而任务上下文切换操作的性能是衡量操作系统性能的一个重要指标。任务上下文切换指标可以反映出操作系统在多任务环境下的处理能力。由于浮点运算应用的大量普及,已有的操作系统上下文切换算法已不能有效满足实时高效处理的需求。

为了提高任务切换的性能,减少浮点上下文的保存和恢复次数,本文设计了一种高效浮点上下文切换算法。该浮点上下文切换的基本原理为:尽量延迟浮点上下文的保存和恢复操作,仅在切换到使用浮点运算的任务时,才进行浮点上下文的保存和恢复操作。使用浮点运算的任务称为浮点任务,否则称为普通任务。如果当前执行的任务为普通任务,那么该任务在运行过程中不会进行浮点运算,不会破坏浮点上下文,则不需要进行浮点上下文的保存和恢复操作;如果当前执行的任务为浮点任务,那么直到换到另一个浮点任务时,才进行浮点上下文的保存和恢复操作。根据该原理,系统中需要进行浮点上下文的切换操作的影响范围仅与系统中使用浮点运算的任务相关,有效地提高了系统中任务切换的性能和效率。图1给出了浮点上下文切换的示意。

本文来源:https://www.bwwdw.com/article/79mt.html

Top