《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于最小空閑時間優先的片上總線仲裁算法
基于最小空閑時間優先的片上總線仲裁算法
來源:電子技術應用2010年第11期
任沛閣1,2,王 勇1,劉 安1,莫遠楠3
1.空軍工程大學 工程學院,陜西 西安710038;2.空軍通信訓練基地,河北 保定071051;3.西安電子科技大學,陜西 西安710071
摘要: 提出一種基于搶占閾值的最小空閑時間優先服務的總線仲裁算法。主設備總線服務請求的空閑時間越短,獲得總線服務就越快,引入搶占閾值降低了總線服務頻繁切換造成的顛簸現象。實驗結果表明,該算法的MDP比常見的算法平均減少了43.8%,滿足了各主設備總線服務請求的強實時要求。
中圖分類號: TP311
文獻標識碼: A
文章編號: 0258-7998(2010)11-0035-04
A least-slack-first based arbitration algorithm for on-chip bus
REN Pei Ge1,2,WANG Yong1,LIU An1,MO Yuan Nan3
1.The Engineering College of Air Force Engineering University, Xi′an 710038,China;2.Air Force Communication Training Base,Baoding 071051,China;3.Xidian University, Xi′an 710071,China
Abstract: In this paper, we present a preemption threshold least-slack-first(PT-LSF) based arbitration algorithm. The smaller the remaining slack time of a master request was, the sooner it should to be serviced. Preemption threshold was adopt to relieve the thrashing caused by high frequently switching of bus service. Experimental results show that PT-LSF outperforms existing arbitration algorithms on real-time requirement and the average MDP of PT-LSF decreases by 43.8%.
Key words : on-chip bus;arbitration algorithm;least-slack-first(LSF);preemption threshold;missed deadline percentage

    對于包含多主設備的片上系統,采用共享總線的結構具有實現簡單和硬件開銷較少的優勢,已成為設計的主要手段。在共享總線結構中,多個總線主設備競爭使用總線控制權,不可避免地會產生競爭和沖突,為有效解決沖突,設計了總線仲裁器來決定總線上哪個主設備獲得總線的使用權。但是,各總線主設備會有不同的實時性和帶寬的要求,所以,總線仲裁器必須采取合理的策略和高性能的調度算法來滿足各主設備的要求。目前,常用的總線仲裁算法有:固定/動態優先權算法FP/DP(Fix/Dynamic Priority)、時分復用算法TDMA(Time Division Multiple Access)、時間片輪轉算法RR(Round Robin)和彩票算法(Lottery)。文獻[1]-[3]已經證明了這些傳統算法不能很好地滿足各主設備實時性和帶寬要求。目前,不少學者對傳統算法進行了改進,如文獻[4]把Lottery算法改進成三級總線仲裁機制;文獻[5]通過自適應的動態調整“彩票”數來改進Lottery算法;文獻[6]則提出了一種基于傳輸時間精確預測的仲裁算法。但是,這些改進算法也都沒有考慮主設備請求總線服務的緩急程度。因此,本文提出一種基于搶占閾值最小空閑時間優先PT-LSF(Preemption Threshold-Least Slack First)服務的片上總線仲裁算法。該算法在收集主設備請求(服務時間和截止時間等)特性參數和總線傳輸狀態信息的基礎上,通過PT-LSF算法的調度結果,實時動態地改變主設備優先權,以滿足主設備強實時性要求。
1 基于最小空閑時間優先的總線仲裁算法原理及實現
1.1 算法原理

    記空閑時間Si定義為從當前時刻t直到其截止期di的時間與其剩余服務時間ci(t)之間的差,則最小空閑時間優先調度算法的策略是:按照主設備的空閑時間動態地分配優先級p,可由式(1)確定:
    pi=pmax-Si    (1)
    空閑時間越短,主設備的優先級就越高,因此選擇具有最小空閑時間的主設備獲得總線的使用權。假設某個主設備Ti發出請求總線服務請求時,總線正被具有更高優先級的其他主設備Tj所占用,從而阻止了Ti使用總線。隨著時間的推移,Ti的空閑時間嚴格單調遞減直至小于正占用總線的主設備Tj的空閑時間時,按照調度策略,總線必須切換到服務Ti。
1.1.1 總線顛簸現象
    由于等待主設備的空閑時間隨時間嚴格遞減,當有多個任務等待主設備時,其空閑時間不斷變化,所以會出現多個主設備相互交叉搶占總線服務的現象。每次搶占都發生一次總線切換,造成總線服務顛簸現象。由于總線服務切換的時間不可忽略,而且會加大仲裁器的設計難度,浪費資源,因此必須有效地避免顛簸現象。顛簸現象的產生主要是因為等待服務主設備Ti的空閑時間Si一旦小于服務主設備Tj的空閑時間Sj,就馬上進行總線服務切換,所以選擇合適的切換時機可以有效地解決顛簸現象。本文引入搶占閾值來擴展最小空閑時間優先服務的總線仲裁算法。
1.1.2 搶占閾值的確定
    記pi為主設備Ti的優先級,hi為主設備Ti的切換閾值。根據之前的分析,主設備的優先值越大,其優先級就越高,所以主設備的切換閾值必須大于其優先值,即hi>pi。因為pi的值是動態變化的,所以hi值不能事先確定,需要隨時間進行動態修改。考慮到總線仲裁過程實時性要求很高,hi值的確定不宜過于復雜,所以本文采用線性法來設計。對于任意Ti,hi的值由式(2)確定:
 
1.2 算法流程
    算法流程如下:
    (1)算法初始化;
    (2)檢測是否有主設備請求總線服務,有則初始化主設備(假設為Ti)的參數(優先級pi=pmax;切換閾值hi=hmax;空閑時間Si),并加入等待服務主設備隊列T′中;
    (3)對T′中的每個主設備計算Si;
    (4)判斷總線是否正在服務,是則轉(5),否則轉(7);
    (5)對T′中的所有Ti,計算Si-Sj,結果小于0則加入就緒服務主設備隊列T″中,轉(6);
    (6)判斷T″是否為空,是則轉(9),否則對T″中的每個主設備計算pi=pi-hj,如果max(pi)>0設置Ti的優先級最高,減小pj,轉(7);
    (7)對優先級最高的Ti進行服務,轉(8);
    (8)修改各主設備參數,按照式(1)修改pi,式(2)修改hi;判斷T′中的主設備是否服務完,是則轉(9),否則轉(2);
    (9)算法結束。
1.3 算法實現
    基于閾值的最小空閑時間優先服務的片上總線仲裁算法由4個基本模塊組成:算法控制模塊、優先級調節器、帶寬調節器和總線傳輸控制器。另外,算法所需的主設備訪問總線特性參數(服務時間、截止時間等)和總線服務參數信息由信號提取模塊完成,信號的控制和實際數據的傳輸由信號授權模塊完成,其總體結構如圖1所示。

    (1)優先級調節器
    該模塊的主要作用是實現對主設備優先級的動態調節,以滿足主設備的實時性要求。該模塊從信號提取模塊中獲得各個主設備實時性相關的參數(主設備請求總線服務時間、最大截止時間、請求訪問從設備的地址及從設備傳輸響應時間等),然后進行簡單的處理后,傳入算法控制模塊,經過算法控制模塊的運算,最終得到各個主設備調整后的優先級。優先級調節器根據該結果通過信號授權模塊動態調整各個主設備的優先級。
    (2)帶寬調節器
    該模塊的主要作用是監視總線上主設備實際傳輸帶寬和由算法控制的應該配置帶寬之間的變化,實時反饋信息給算法控制模塊來保證帶寬精確分配。該模塊從信號提取模塊中獲得各個主設備帶寬要求相關的參數(主設備每次數據傳輸的長度、主設備帶寬需求以及總線帶寬利用情況等),然后進行簡單的處理,傳入算法控制模塊,經過算法控制模塊的運算,最終得到各個主設備調整后的帶寬要求,帶寬調節器根據該結果通過信號授權模塊動態調整各個主設備的帶寬配置。
    (3)總線傳輸控制器
    該模塊的主要作用是監視總線帶寬的狀態,準確預測出各設備請求的響應時間,并將該結果傳入算法控制模塊,經過算法控制模塊的運算,得到新的總線帶寬分配方案。總線傳輸控制器通過信號授權模塊來協調各個主設備使用總線。
    (4)算法控制模塊
    算法控制模塊的硬件邏輯包括:時間片定時器、判據寄存器組、比較邏輯和算法控制狀態機。其中,判據寄存器組的初始值通過離線計算獲得,在總線服務過程時,通過主設備特性參數提取模塊獲得實時參數值,作為新的判據寄存器數據提供給算法控制狀態機。比較邏輯負責對算法運行產生的新結果與判據寄存器組進行比較,并對判據寄存器組內的數據進行更新。
    算法控制狀態機采用Mealy有限狀態機來實現總線仲裁算法流程,完成對各主設備的優先級、帶寬分配等屬性的動態調節。另外對各主設備請求使用總線服務進行仲裁,實現各主設備協調使用總線所提供的服務。
2 實驗及結果分析
    為驗證基于閾值的最小空閑時間優先服務總線仲裁器的性能,本文對基于動態優先級的仲裁器、基于時間輪轉的仲裁器和本文提出的仲裁器進行了實驗,并進行了比較。
2.1 實驗平臺
    實驗硬件平臺為Core 2 Duo CPU(主頻為2 GHz),內存4 GB,操作系統是Windows XP,仿真軟件使用ModelSim6.4。在實驗平臺上,共實現了6個主設備、1個從設備和1個總線仲裁器。6個主設備的類型和相關參數如表1所示(在表1中,R表示有實時性要求,NR表示沒有實時性要求;B表示有帶寬要求,NB表示沒有帶寬要求)。

2.2 實驗結果
    首先,定義兩種性能指標:
    (1)服務請求截止期錯失率MDP(Missed Deadline Percentage)=“所有截止期錯失的總線服務請求/所有主設備總線服務請求之和”。
    (2)服務切換次數SSN(Service Switch Num)=“從未完成的總線服務請求到搶占的總線服務請求切換次數”+“從完成總線服務請求到另一總線服務請求的切換次數”。
    在此基礎上,對表1中所示的6個主設備分別采用4種總線仲裁算法進行仿真實驗,得到如下結果。
    (1)對于不同總線負載ρ
    取公式(2)中的α=5,圖2和圖3分別表示對于不同總線負載ρ(0.5≤ρ≤2.0)情況下,4種總線仲裁算法的MDP比較。其中圖2是在每個主設備請求100個總線服務下的MDP,圖3是每個主設備請求200個總線服務下的MDP。從圖2和圖3中可以看出,最小空閑時間優先總線仲裁器得到的MDP要明顯小于其他兩種總線仲裁器。當ρ≤1時,最小空閑時間總線仲裁器可以保證每個主設備都滿足其總線服務截止期要求;當ρ>1時,會出現主設備部分總線服務請求不能滿足其服務截止期要求的情況,但其MDP要明顯小于其他兩種總線仲裁器。

    (2)對于不同比例系數α
    取ρ=1.3,圖4和圖5分別給出了在不同比例系數α時的MDP和SSN變化情況。
    從圖4中可以看出,對于MDP的影響,并不是搶占次數越多(比例系數α越小)調度效果就越好,而是當α=12時,MDP最小;而當α=1時,MDP達到最大。從圖5中可以看出,SSN的值隨著ρ的變大而逐漸變小,但是,當α的值大到一定量時,SSN的值變化不明顯;當α接近1時,SSN變化顯著。究其原因,從公式(2)中可以看出:當α=1時,hi=pi,即主設備的搶占閾值等于其優先級,則搶占閾值就沒有起到作用,即變成了完全搶占模式,該情況下,主設備頻繁地搶占總線服務,造成過多的總線服務切換,浪費了總線帶寬資源,從而影響總線服務的性能;當α=16時主設備的搶占閾值為最高優先級,造成永遠不能被其他主設備搶占的情況,成為非搶占模式。以上兩種情況都會造成總線服務質量的下降,所以,比例系數α的選擇應當保證MDP最小的情況下,相應的SSN值不能太大,結合圖4和圖5可以看出,α=12為最優比例系數。

2.3 試驗結果分析
    在PT-LSF算法中,總線仲裁器在收集主設備請求特性參數和總線傳輸狀態信息基礎上,結合主設備請求總線服務的緩急程度來實時地改變主設備優先權,以滿足主設備強實時性要求。通過與常用的動態優先級算法、時間片輪轉算法和Lottery算法的實驗分析比較可以看出,本文提出的PT-LSF算法在服務請求截止期錯失率(MDP)上有顯著優勢。當總線負載在0.5~1.0范圍內時,PT-LSF算法的MDP值為0;當總線負載在1.0~2.0范圍內時,PT-LSF算法的MDP值比時間片輪轉算法平均減少了50.8%,比動態優先級算法平均減少了43.6%,比Lottery算法平均減少了36.3%。綜合對比,PT-LSF算法的MDP比其他算法平均減少了43.8%,能很好地滿足各主設備在各種情況下的強實時要求。另外,在PT-LSF算法中,使總線服務達到最優時,并不是搶占次數越多(比例系數α越大)越好,而是取一個中間合適值。在本文中,系統最大優先級為16,最小優先級為1,最優比例系數α為12,該結果為搶占閾值比例系數?琢的確定提供了實驗依據。
    本文提出了基于最小空閑時間優先的總線仲裁算法,并給出了算法的實現流程和組成結構。將其與動態優先級算法、時間片輪轉算法和Lottery算法進行比較。實驗結果顯示:該總線仲裁算法在MDP方面比其他兩種算法平均減少了43.8%,能更好地保證主設備的強實時要求。該總線仲裁算法對于共享總線的片上系統設計具有重要的參考價值。
參考文獻
[1] POLETTI F,BERTOZZI D,BENINI L,et al.Performance analysis of arbitration policies for SoC communication architectures[J].Journal of Design Automation for Embedded  Systems,2003(8):189-210.
[2] LISNER J C.Efficiency of dynamic arbitration in TDMA protocols[C].EDCC2005,Berlin,2005:91-102.
[3] ZHANG Y.Architecture and performance comparison of a statistic-based Lottery arbiter for shared bus on chip[C]. //Proceedings of Asia South Pacific Design Automation  Conference,Yokohama,2004:1313-1316
[4] Bu-Ching Lin,Geeng-Wei Lee,Juinn-Dar Huang,et al.A Precise bandwidth control arbitration algorithm for hard real-time SoC buses.IEEE,2007:165-170.
[5] 徐懿,李麗,杜高明,等.一款基于多處理器片上系統的動態自適應仲裁器[J].計算機研究與發展,2008,45(6):1085-1092.
[6] 孟海波,張志敏.基于傳輸時間精確預測的片上總線仲裁算法[J].計算機輔助設計與圖形學學報,2008,20(7):830-837.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美日韩免费观看一区| 亚洲国产精品成人久久综合一区| 久久久久综合一区二区三区| 亚洲一区二区三| 在线视频免费在线观看一区二区| 亚洲精品欧美极品| 亚洲第一精品久久忘忧草社区| 亚洲你懂的在线视频| 亚洲午夜久久久久久久久电影网| 99ri日韩精品视频| 日韩图片一区| 亚洲日本在线视频观看| 亚洲电影在线观看| 136国产福利精品导航网址应用 | 久久精品一区二区三区不卡牛牛| 亚洲欧美影院| 亚洲免费在线视频一区 二区| 一区二区三区产品免费精品久久75| 最新日韩中文字幕| 亚洲三级免费观看| 99这里只有久久精品视频| 日韩一区二区高清| 99re66热这里只有精品3直播| 亚洲免费激情| 一区二区三区欧美亚洲| 亚洲视频1区| 亚洲制服av| 羞羞答答国产精品www一本| 欧美一区亚洲二区| 亚洲精华国产欧美| 日韩一级片网址| 国产精品99久久不卡二区| 亚洲一区999| 午夜国产精品视频免费体验区| 香蕉视频成人在线观看| 久久国产天堂福利天堂| 久久久久国产精品一区二区| 久久综合激情| 欧美—级高清免费播放| 国产精品v欧美精品v日韩精品| 国产精品一区二区a| 国内精品久久久久影院 日本资源| 在线看片成人| 日韩视频―中文字幕| 亚洲在线播放电影| 久久精品五月| 一个色综合导航| 欧美在线观看视频一区二区| 免费观看成人网| 欧美日韩免费区域视频在线观看| 国产精品日韩久久久久| 狠狠色2019综合网| 亚洲欧洲一区二区在线播放| 亚洲图片欧美一区| 久久国产直播| 在线性视频日韩欧美| 欧美一区二区私人影院日本| 久热国产精品| 欧美日韩综合视频| 国产欧美视频一区二区| 一区在线播放| 亚洲色图在线视频| 久久精品国产999大香线蕉| 亚洲精品美女久久久久| 午夜精品久久久久久99热软件| 久久频这里精品99香蕉| 欧美日韩国产美女| 国产综合精品一区| aa国产精品| 亚洲电影在线看| 亚洲一区二区三区激情| 久久综合999| 国产精品sm| 一区二区三区无毛| 亚洲专区在线视频| 日韩一区二区精品| 久久精品欧美日韩| 欧美视频在线播放| 伊人精品成人久久综合软件| 中文日韩在线视频| 亚洲人线精品午夜| 欧美一区二区视频在线观看| 欧美精品情趣视频| 国产一区亚洲| 亚洲最黄网站| 91久久精品美女高潮| 欧美亚洲免费电影| 欧美日韩在线播放三区四区| 樱花yy私人影院亚洲| 亚洲在线第一页| 亚洲免费av电影| 久久久亚洲午夜电影| 国产精品久久久一区二区| 亚洲激情专区| 亚洲电影免费观看高清完整版在线观看| 亚洲自拍偷拍一区| 欧美日韩国产不卡| 影视先锋久久| 久久精品99国产精品| 欧美在线免费| 国产精品系列在线播放| 日韩视频在线免费| 亚洲三级色网| 免费在线观看成人av| 国产一区二区三区无遮挡| 亚洲尤物在线| 亚洲一区精品在线| 欧美日韩一级片在线观看| 亚洲国产日韩欧美| 亚洲国产精品va在线观看黑人| 久久国产精品久久久久久电车| 欧美性事在线| 欧美亚洲第一区| 亚洲精品麻豆| 亚洲精选久久| 欧美成人精品在线观看| 一区在线影院| 亚洲第一精品影视| 老司机凹凸av亚洲导航| 伊甸园精品99久久久久久| 亚洲第一区在线观看| 久久综合狠狠综合久久综合88| 国产一区二区三区在线观看精品| 性欧美video另类hd性玩具| 久久大逼视频| 国产一区二区在线观看免费| 性欧美在线看片a免费观看| 欧美综合77777色婷婷| 国产精品一区视频| 午夜精品久久99蜜桃的功能介绍| 亚洲欧美国内爽妇网| 国产精品美女999| 亚洲资源av| 久久福利毛片| 激情成人av| 亚洲国内自拍| 欧美精品色网| 日韩亚洲欧美成人| 亚洲欧美一级二级三级| 国产欧美日韩精品一区| 亚洲欧美日韩中文在线制服| 久久九九免费视频| 在线观看视频亚洲| 日韩视频免费大全中文字幕| 欧美日韩国产三级| 亚洲一区二区黄色| 久久久久久自在自线| 在线观看欧美亚洲| 一本色道久久88精品综合| 国产精品久久久久久久久久尿 | 亚洲国产精品一区二区第一页| 裸体丰满少妇做受久久99精品 | 亚洲精品一区中文| 亚洲男人的天堂在线观看| 国产日产精品一区二区三区四区的观看方式| 亚洲欧美日本另类| 麻豆久久久9性大片| 亚洲精品色图| 亚洲综合成人在线| 国产在线国偷精品产拍免费yy| 亚洲黄色性网站| 欧美三级视频| 欧美亚洲一区二区在线观看| 久久这里只精品最新地址| 亚洲三级视频在线观看| 香蕉免费一区二区三区在线观看| 国内偷自视频区视频综合| 亚洲精品一区二区三| 国产精品网站视频| 亚洲欧洲日本国产| 欧美午夜电影在线| 欧美在线免费播放| 欧美精品系列| 亚洲欧美一区二区原创| 欧美jizzhd精品欧美喷水| 亚洲视频一区二区免费在线观看| 久久精品视频在线| 亚洲乱码日产精品bd| 欧美一区国产在线| 亚洲国产精品女人久久久| 亚洲欧美久久久| 在线精品观看| 亚洲男人的天堂在线aⅴ视频| 狠狠色综合网| 国产精品99久久久久久www| 国产一区二区三区久久悠悠色av | 国产精品观看| 亚洲精品1区2区| 国产精品免费一区二区三区观看| 久久国产视频网站| 欧美四级剧情无删版影片| 亚洲国产婷婷香蕉久久久久久99| 国产精品久久久久天堂| 亚洲欧洲在线视频| 国产精品永久入口久久久| 日韩视频一区二区三区在线播放免费观看| 国产精品夜夜夜| 9久草视频在线视频精品| 国产日韩精品一区| 亚洲视频免费在线观看|