999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種高效的浮點上下文切換算法

2017-07-10 06:41:24張東梅濤
科技風 2017年2期

張東 梅濤

摘 要:為了提升基于浮點運算的任務上下文切換性能,本文提出了一種高效的浮點上下文切換算法;基于某型嵌入式實時操作系,設計實現了所提出的浮點上下文切換算法,并進行任務上下文切換的性能對比實驗;實驗結果表明,本文提出的浮點上下文切換算法可以有效地提高混合環境下任務切換的效率,顯著減小浮點任務上下文切換的時間消耗。

關鍵詞:浮點任務;上下文切換;性能對比

中圖分類號:TP311 文獻標識碼:A

一、背景

隨著嵌入式領域信息處理技術的發展,越來越多的應用需要使用浮點運算來完成其功能,對操作系統[ 1 ]提出了新的功能和性能要求。在信息處理領域,通常情況下浮點任務和非浮點任務配合使用,完成各種計算。如果操作系統在任務切換的過程中,對每一個任務均保存和恢復浮點上下文,則會造成大量的時間和空間開銷,嚴重影響系統性能,需要提出新的浮點任務和非浮點任務切換算法,為混合任務環境下任務的高效切換提供支持。

二、浮點上下文切換算法

上下文切換[ 2 ]的基本原理就是當發生任務切換時,保存當前任務的寄存器到內存中,將下一個即將要切換過來的任務的寄存器狀態恢復到當前 CPU 寄存器中,使其繼續執行,同一時刻只允許一個任務獨享寄存器。在任務切換的過程中是涉及任務上下文的保存和恢復操作,而任務上下文切換操作的性能是衡量操作系統性能的一個重要指標。任務上下文切換指標可以反映出操作系統在多任務環境下的處理能力。由于浮點運算應用的大量普及,已有的操作系統上下文切換算法已不能有效滿足實時高效處理的需求。

為了提高任務切換的性能,減少浮點上下文的保存和恢復次數,本文設計了一種高效浮點上下文切換算法。該浮點上下文切換的基本原理為:盡量延遲浮點上下文的保存和恢復操作,僅在切換到使用浮點運算的任務時,才進行浮點上下文的保存和恢復操作。使用浮點運算的任務稱為浮點任務,否則稱為普通任務。如果當前執行的任務為普通任務,那么該任務在運行過程中不會進行浮點運算,不會破壞浮點上下文,則不需要進行浮點上下文的保存和恢復操作;如果當前執行的任務為浮點任務,那么直到換到另一個浮點任務時,才進行浮點上下文的保存和恢復操作。根據該原理,系統中需要進行浮點上下文的切換操作的影響范圍僅與系統中使用浮點運算的任務相關,有效地提高了系統中任務切換的性能和效率。圖1給出了浮點上下文切換的示意。

由圖可知,假設系統當前有4個任務,浮點任務A,普通任務B,浮點任務C和普通任務D。根據前述浮點上下文切換原理,在任務A切換任務B的過程中,并不需要保存浮點任務A的浮點上下文,僅僅將浮點任務A的浮點上下文向任務B傳遞;當由普通任務B切換到浮點任務C的時候,才需要保存浮點任務A的浮點上下文。在進行了兩次任務切換時,僅需要一次浮點上下文的切換操作,可以有效降低由于浮點運算導致的系統性能的下降。

三、浮點上下文切換算法的實現

根據前述浮點上下文切換原理,選擇某型嵌入式實時操作系統軟件(RTOS)實現該上下文切換算法。為了敘述方便,定義前繼任務為當前即將切換出去的任務;后繼任務為即將切換進入CPU執行的任務。為了能夠簡潔高效地實現該浮點上下文切換算法,在所選擇的RTOS的任務控制塊中增加了一個任務浮點屬性,標識當前任務是否為浮點任務。如果在創建任務時,設置了任務的浮點屬性,則所創建的任務即為浮點任務;否則為普通任務。

為了充分發揮浮點運算的性能,浮點上下文地址通常要求按CPU字長的整數倍對齊,本文所選擇的RTOS中,浮點上下文按照8字節對齊。在實現前文提出的浮點上下文切換方法的過程中,使用了任務浮點上下文的最低位,作為任務浮點上下文傳遞的標記。當浮點上下文傳遞標記被置位,則認為當前任務中的浮點上下文為傳遞過來的,當前任務為普通任務,并不是浮點任務;否則,表示當前任務就是浮點任務。

任務切換的過程中,根據前繼任務和后繼任務的不同類型,需要進行不同的操作。

本文設計的浮點上下文切換算法的具體步驟如下:

1)判斷所創建的任務是否為浮點任務。

2)如果是浮點任務,則申請浮點上下文空間,并將申請的浮點上下文空間記錄在任務控制塊的浮點上下文成員中;否則,則設置任務控制塊中的浮點上下文成員為空。

3)任務切換時,判斷前繼任務和后繼任務的類型;可能存在的任務類型組合包括:

a.浮點任務/浮點任務;

b.浮點任務/非浮點任務;

c.非浮點任務/浮點任務;

d.非浮點任務/非浮點任務。

4)根據前繼任務和后繼任務的類型對浮點上下文進行切換操作:

①如果為步驟3)的a.組合,則對浮點任務的上下文進行保存和恢復;

②如果為步驟3)的b.組合,暫時不進行浮點上下文的保存,將前繼任務控制塊中的浮點上下文成員傳遞給后繼任務,而將浮點上下文的保存操作推遲到切換浮點任務時才進行;

③如果為步驟3)的c.組合,任務上下文切換操作過程如下:

(a)判斷前繼任務控制塊中的浮點上下文成員是否為空;如果為空,則進行步驟(b);否則,則進行步驟(c);

(b)在當前任務運行前,沒有浮點任務運行,不需要進行浮點上下文的保存工作,僅需要恢復浮點上下文;

(c)在當前任務運行前,有浮點任務運行,如果前繼任務的浮點上下文與后繼任務的浮點上下文不一致,則將浮點上下文保存到前繼任務控制塊所傳遞的上下文中,并清除前繼任務控制塊浮點上下文傳遞標記,恢復后繼任務的浮點上下文,否則清除前繼任務的浮點上下文;

④如果為步驟3)的d.組合,任務上下文切換操作的方式為:

(a)判斷前繼任務控制塊中的浮點上下文成員是否為空;如果為空,則進行步驟(b);否則,則進行步驟(c);

(b)在當前任務運行前,沒有浮點任務運行;不需要進行浮點上下文保存/恢復操作;

(c)在當前任務運行前,有浮點任務運行,將前繼任務的浮點上下文傳遞到后繼任務,并清除前繼任務控制塊中的浮點上下文成員。

四、浮點上下文切換算法的性能

為了驗證本文設計的浮點上下文切換算法的性能,根據前文設計的上下文切換算法,在某型RTOS中實現了上述浮點上下文切換算法,并在PowerPC7450單核處理器[ 3 ]平臺上進行性能驗證實驗。為了比較本文設計的浮點上下文切換算法的性能,在所選擇的RTOS中使用始終在任務上下文中保存和恢復浮點上下文方法切換上下文,即在每次任務切換時,均對每個前繼任務保存浮點上下文并且對后繼任務恢復浮點上下文,并在同一處理器平臺上進行性能驗證實驗。

實驗中通過兩個任務進行切換操作,計算任務上下文切換操作的時間。實驗場景[ 4 ]如下,任務A和任務B進行切換,在任務A從CPU中切換出來的點開始第一次計時,在任務B切換進入CPU的點記錄第一結束時間;然后,在任務B切換出來的點開始第二次計時,在任務A切換進入CPU的點記錄第二次結束時間,通過1000次任務切換操作,計算任務上下文切換操作的平均時間。

基于本文設計的浮點上下文切換方法,實驗結果如下所示:

如果任務切換時按照始終進行浮點上下文切換的算法進行上下文切換操作時,實驗數據如下:

根據實驗結果,可置本文設計的浮點上下文切換算法,在非浮點任務和浮點任務混雜的運算環境下,可以有效地提高任務切換的性能,顯著地降低任務切換的時間消耗;對于計算資源相對有限的嵌入式環境,上下文切換性能的提升,可以有效提高系統的效率;對于實時性要求較高的環境,任務上下文切換時間的降低,可以顯著提高系統的實時響應能力。

五、結語

本文設計了一種高效的浮點上下文切換算法,根據性能對比實驗結果,證實了本文提出算法可以有效地提高系統的任務切換性能,顯著地降低任務上下文切換的時間消耗。通過與已有的任務上下文切換算法進行對比實驗,證明本文設計實現的浮點上下文切換算法,在使用浮點運算和非浮點運算混合的情況下可以提高上下文切換的性能,可以顯著提高系統的效率,增強系統性能。

參考文獻:

[1] 陳瑜,諶衛軍譯.操作系統設計與實現[M].北京:電子工業出版社,2007,3.

[2] 孫利鋒.嵌入式操作系統任務切換方法對比分析[J].單片機與嵌入式系統應用,2011年07期:10-12.

[3] Freescale Inc.MPC7450 microprocessor family users manual [M].USA: Freescale Inc,2010.

[4] 王蕾,樸希望,李世群,陳蕾.嵌入式實時操作系統的時間性能測試[J].內蒙古大學學報,2011年,42卷第5期:547-551.

基金項目:

工信部民用飛機專項科研項目(MJ-S-2012-05)

作者簡介:

張東(1983-),男,陜西西安人,碩士,主要研究方向為嵌入式實時操作系統。

主站蜘蛛池模板: 国产AV无码专区亚洲A∨毛片| 欧美国产综合色视频| 一区二区三区在线不卡免费| 亚洲视频无码| 国产一二三区在线| 欧美h在线观看| 国产精品真实对白精彩久久 | 蝌蚪国产精品视频第一页| 无码一区二区三区视频在线播放| 日韩在线网址| 国产丰满大乳无码免费播放| 欧美天堂在线| 色视频久久| 手机永久AV在线播放| 凹凸国产分类在线观看| 91成人在线免费观看| 亚洲欧美日韩中文字幕在线| 国产亚洲欧美在线视频| 青青青国产免费线在| 日韩黄色在线| A级毛片无码久久精品免费| 亚洲最黄视频| av在线5g无码天天| 国模沟沟一区二区三区| 亚洲黄色成人| 国产欧美日韩资源在线观看| 亚洲日韩久久综合中文字幕| 中文字幕无码制服中字| 国产va视频| 久久久噜噜噜| 国产欧美精品一区aⅴ影院| 黄色在线不卡| 欧美黄网在线| 国产91小视频在线观看| 午夜毛片免费看| 97在线视频免费观看| 国产剧情一区二区| 又爽又大又光又色的午夜视频| 一级做a爰片久久毛片毛片| 伊人精品成人久久综合| 人妻丝袜无码视频| 无码精品国产dvd在线观看9久| 国产69精品久久久久孕妇大杂乱 | 国产69囗曝护士吞精在线视频| aaa国产一级毛片| 久久精品国产免费观看频道| 国产va免费精品观看| 亚洲精品爱草草视频在线| 91无码视频在线观看| 久996视频精品免费观看| 97se亚洲综合在线韩国专区福利| 免费高清毛片| 欧美日韩国产系列在线观看| 2020国产免费久久精品99| 久久婷婷六月| 自偷自拍三级全三级视频| 国产精品v欧美| 国产麻豆精品久久一二三| 91免费国产在线观看尤物| 日本不卡视频在线| 国产精品亚洲αv天堂无码| 少妇精品久久久一区二区三区| 99精品福利视频| 亚洲无码高清免费视频亚洲 | 亚洲人成在线精品| 高清色本在线www| 黄色三级毛片网站| 麻豆国产精品视频| 亚洲最猛黑人xxxx黑人猛交| 视频一区视频二区中文精品| 毛片久久网站小视频| 狠狠做深爱婷婷久久一区| 精品福利一区二区免费视频| 乱人伦99久久| 99性视频| 天堂网亚洲综合在线| 亚洲欧美精品日韩欧美| 国产在线八区| 97国产成人无码精品久久久| 99re免费视频| 97视频在线观看免费视频| 91精品专区国产盗摄|