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

S698PM宇航芯片的軟件支持及信息處理性能測試

2019-06-13 06:01:30龔永紅許怡冰蔣曉華唐芳福沈祖崮
航天控制 2019年2期
關鍵詞:設計

顏 軍 龔永紅 許怡冰 蔣曉華 唐芳福 沈祖崮

珠海歐比特宇航科技股份有限公司,珠海 519080

1 概述

隨著現代航空航天飛行器智能化和信息化水平的不斷提高,其飛行控制任務變得越來越復雜,處理的信息量及計算量劇增,對飛行控制任務的實時性、可靠性要求變得更加苛刻,對所采用的處理器要求也越來越高。SPARC架構處理器于2000年左右被引入中國,在航天領域獲得成功應用,至今仍是中國航天領域的主流處理器[1]。

歐比特公司自主研制的與LEON4核完全兼容的抗幅照S698PM宇航處理器于2013年推出芯片。該芯片是世界上第一款基于LEON4核的SOC芯片,芯片除了具有LEON4核的優點外,還集成了豐富的片內外設[2]。S698PM宇航芯片已經成功應用于多個型號項目。

圍繞著S698PM宇航芯片,歐比特聯合多方研制推出了一整套的軟件生態系統,包括:操作系統BSP包、軟件集成開發環境和軟件調試工具等。

2 針對S698PM的VxWorks6.7 BSP軟件

S698PM支持目前市場上主流的多種嵌入式操作系統(EOS),包括VxWorks和RTEMS等。歐比特公司專門為這些嵌入式操作系統移植開發了針對S698PM處理器的板級支持包(BSP)。

OBT VxWorks BSP是歐比特公司在VxWorks 6.7操作系統基礎上針對S698PM多核處理器開發的BSP包軟件。在SMP系統中,當任務同時運行時,可能會產生鎖死的情況和負載不均衡問題[3],為了防止這兩種問題發生,在OBT VxWorks BSP中設計了多任務調度機制、中斷機制和互斥機制等軟件技術約束管理任務,解決了SPARC并行多核架構的軟件處理問題[2]。

2.1 BSP設計

2.1.1 中斷機制設計

OBT VxWorks BSP為S698PM 4個CPU分配中斷,通過CPU內部的LOCAL APIC控制器處理中斷[4]。OBT VxWorks BSP以優先級為準則,對中斷進行判定和排隊,對中斷隊列中的中斷進行分派。

在OBT VxWorks BSP中,每一個中斷都可以掛載在4個CPU上,但同時只允許一個CPU響應中斷[5]。OBT VxWorks BSP對LOCAL APIC進行編程,讓所有中斷都被一個CPU處理,默認設置為CPU0。通過函數intCtrlISREnable()對全局變量VXB_INTCTLR_SPECIFIC_N進行賦值(0、1、2和3),決定由哪個CPU來處理中斷。當外部中斷發生時,如果CPU0的中斷鎖打開,則CPU0處理中斷,并發送Message通知其它CPU,否則中斷會被發送到其它的CPU處理,其設計流程如圖1所示。

圖1 中斷設計流程

2.1.2 互斥機制設計

在OBT VxWorks BSP中提供了中斷自旋鎖和任務自旋鎖,分別控制任務和中斷對臨界段的訪問。當任務獲得某個中斷自旋鎖時,運行該任務的CPU核會自動關中斷,保護該任務的臨界資源。中斷自旋鎖可以在任務和中斷中調用,任務自旋鎖只允許有任務自旋,運行該任務的CPU核不允許其他任務的優先搶占。

在中斷自旋鎖中,設計了自旋鎖的歸屬字段、在每一個核下的使用情況、運行的中斷級別和任務控制塊。在初始化時,這些參數設置為0,代表不被任何處理器使用。獲取中斷自旋鎖要先判斷是否已經被其它任務或者中斷取得,如果沒有則獲取該鎖,同時改變該鎖的狀態,將自旋鎖的歸屬字段設置為當前CPU的ID號,表示自旋鎖正在被該CPU占用,將該CPU ID下的使用情況設置為USING。

在任務自旋鎖中,設計了擁有權的標識、下一個可獲取該鎖的任務標識和鎖的狀態。在獲取任務鎖時應判斷該鎖是否為空閑狀態,獲取后改變該鎖的狀態,同時設置下一個獲取該鎖的任務ID,并設置鎖的狀態為忙碌,使用完成后應釋放該鎖,設置鎖的狀態為空閑。

2.2 與傳統SPARC VxWorks的比較

目前航天系統中常用的SPARC處理器VxWorks操作系統還是基于5.4內核版本,VxWorks 5.4使用了幾十年,雖然可靠性經過了充分驗證,但隨著硬件的發展,已經越來越顯示出弊端。與之對比,VxWorks6.7結合OBT VxWorks BSP的系統在以下幾個方面進行了加強和優化。

2.2.1 實時進程處理對比

在運行多任務時,傳統SPARC只能按照優先級順序進行調度,當有緊急需要處理的實時任務插入時,操作系統只能將當前運行的任務掛起,去執行實時任務,雖然實時任務得到了執行,但這是在犧牲當前任務實時性的前提下實現的,這種機制無疑不是最佳的解決方式。

為了既能保證當前任務的實時性,又能立即執行實時任務,在OBT VxWorks BSP中設計了實時任務保護控制模塊,存放在分區表中,該分區中控制模塊運行的程序與內核獨立。

當有實時任務插入時,將該任務放入到實時任務保護控制模塊中,由于分區控制模塊與內核獨立,因此可以立即執行該實時任務,并且不會影響內核原先的調度,與內核運行的任務沒有關系??梢钥闯?,OBT VxWorks BSP設計的實時任務保護控制模塊解決了傳統SPARC對實時任務處理的不足。

2.2.2 多任務處理對比

傳統SPARC不支持多任務同時運行,其處理多任務的方式還是按照優先級進行順序執行。當處理一個較為復雜的算法任務時,嚴格按照代碼的順序去執行[6],這樣會導致處理的時間過長,效率低下。而在OBT VxWorks BSP中,可以將該算法按照需求進行拆解,拆分成多個任務同時執行,而且可以指定任務均勻的分布在4個CPU中運行,各個CPU獨立運行各自的任務,不用等待,因此相比傳統SPARC BSP來言,大大減少了處理算法的時間,而且大大提升了執行多任務的效率。

2.2.3 網絡協議棧對比

傳統SPARC中網絡協議功能較少,僅支持IPV4和FTP協議的基本內容,當用戶需要使用其它復雜的網絡協議時,需要花費時間進行開發。

OBT VxWorks BSP在傳統SPARC網絡協議中增加了目前主流的IPV6協議,TCP協議和UDP等網絡傳輸協議,并且采用組件的方式對這些網絡協議功能進行了封裝,用戶只需在Workbench圖形界面中進行簡單的配置就能實現所需功能,與傳統SPARC開發相比節省了開發時間。

2.2.4 傳輸文件速率對比

傳統SPARC采用文件系統的方式實現文件傳輸,如TSFS、dosFS和TFFS。這3種方式均采用IO方式實現文件的傳輸,雖然能實現流量傳輸,但在傳輸大文件時,其IO方式傳輸還是顯得速率低下,且這3種文件系統能保存的文件大小只有幾百K,因此在大文件傳輸時,需要用戶將文件進行拆分,按照單個文件的形式按順序傳輸,同時接收方需要對這些文件進行重組,為了保證傳輸的安全性,需要用戶指定嚴格的協議來制約,增加用戶的開發時間。

OBT VxWorks BSP針對上述現象,在傳統SPARC中增加設計了NFS文件系統,通過100M以太網方式實現文件的傳輸,提高了通訊的速度,且文件大小沒有限制,不用用戶進行分包和組包工作,如圖2所示。

圖2 文件系統對比圖

從圖2可以看出,傳統SPARC VxWorks傳遞大文件時需要進行多次傳遞工作,而OBT VxWorks BSP NFS文件系統只需一次就能完成文件傳輸,大大的縮減了傳輸文件的時間;且由于OBT VxWorks BSP NFS文件系統采用了TCP協議,因此其安全性能得到保證。

OBT VxWorks BSP不僅支持S698PM,也支持其他SPARC處理器,如:AT697、GR712等,借助OBT VxWorks BSP完全可以使VxWorks6.7成為航天用SPARC處理器主流操作系統。

3 S698PM信息處理性能測試

S698PM芯片集成4個高性能處理器核心,提高了單芯片的處理能力;采用7級指令流水,提高了指令執行效率[6];采用128-bit的AHB作為處理器核間的互聯總線,降低了處理器總線沖突,提高了處理器間的通訊效率;片內集成了512KB的大容量二級緩存,提高了處理器核訪問存儲器的命中率和效率[7];片外支持DDR2高速存儲器,提高了存儲器控制器訪問外部存儲器的速度。這一系列的措施,使得S698PM芯片較其它同類型芯片在性能上有了大幅度的提升。

使用基準測試程序Dhrystone和Whetstone分別對S698PM芯片的整型處理能力和浮點處理能力進行測試。Dhrystone是測量處理器運算能力最常見的基準程序之一,常用于處理器整型運算性能的測量。Dhtrystone基準程序由主程序和3個函數、8個過程組成。各函數和過程分別用來測試字符串、記錄及整數運算。Dhrystone的計量單位為DMIPS。Whetstone用于測浮點計算能力,計算單位是MFLOPS。S698PM在各個頻點的性能指標數據如圖3。

圖3 S698PM芯片在不同主頻時的處理性能實測值

將S698PM芯片做橫向比較,匯總各類官方數據,對比目前市場上主流高可靠嵌入式SPARC SOC芯片的處理能力及性能(為了便于比較,所有SOC芯片的綜合處理性能指標統一換算為DMIPS/MHz,浮點處理性能指標統一換算為MFLOPS/MHz),可得出如下幾種比較圖:

圖4 SPARC SOC芯片最高主頻比較圖

圖5 SPARC SOC芯片處理性能比較圖

可以看出:S698PM SOC芯片無論是最高頻率還是綜合處理性能、浮點處理性能等方面都很有優勢。

4 FFT算法在平臺上的設計與實現

FFT算法是頻域圖像處理中最重要的核心算法之一,是影響數字圖像處理軟件系統整體效率的關鍵,工程實用性強。FFT具有原位性特征,較適合進行并行運算處理。

傳統設計多采用AT697與VxWorks5.4操作系統實現FFT算法,速度較慢,難以滿足日益增長的高速數據處理要求。本設計采用S698PM處理器和VxWorks6.7操作系統實現FFT算法,通過多核并行,大大提高運算效率。設計的難點是處理好FFT算法本身的并行化以及實現S698PM 4個處理器核的協調工作。

FFT的一般輸入形式是一組包含N個復數的數組。N一般是2的冪次級。有許多不同的方法來實現FFT,但最典型的是時間抽取法[8]。以8個數據輸入點的FFT變換為例,時間抽取的蝶形變換方法如圖6。

圖6 FFT時間抽取的蝶形變換圖

左邊的x[i]是FFT輸入,右邊的x[i]是FFT輸出,箭頭表示每個中間階段的輸入到輸出。

蝶形運算的一般規律:原位運算。觀察8點DIF-FFT運算流程圖可以歸納出來,其每級每列計算都是由N/2個蝶形運算構成,由1次復數乘法和2次復數加減法組成。

某一列的任何2個節點k和j的節點變量進行蝶形運算后,得到結構為下一列k,j兩節點的節點變量,與其他節點無關,所以可以采用原位運算。計算完一級后立刻把結果存進原來的內存單元,再進行下一級的運算。那么輸入到結果輸出其內存單元不變,如N=1024,則整個FFT只需要1024個長整型單元即可。這樣就可以大量節省儲存單元,方便處理器低資源運行。

分析圖6可以看出,如果是2個CPU核參與并行處理,可以完全并行完成到最后階段,不需要CPU之間的數據交換。在最后一個階段,每個CPU需要使用其他CPU產生的結果,因此需做同步處理,等待所有CPU都處理完成后再進行。而如果是4 個CPU參與并行處理,并行處理可以進行到倒數第二階段,之前都不需要進行數據交換。而倒數第二階段和最后一個階段開始之前都需要進行CPU同步,等待所有CPU處理完成后再進行。

一般來說,階段數M與輸入點數N的關系為M=log2N。例如8192個輸入點的FFT運算,總共有13個階段需要處理。前11階段,即大部分工作,可以完全獨立地在4個CPU上并行完成,每個CPU處理一塊2048個點的輸入。以上處理完后需要同步,再并行完成倒數第二階段運算,之后再同步,并行完成最后一個階段的運算。

系統上電時,CPU0開始運行,CPU1/CPU2/CPU3處于關閉模式,CPU0執行其對應的VxWorks任務,在任務中使能其它3個CPU。其它的CPU被喚醒后,開始執行屬于自己的VxWorks任務,任務的主要功能是進行FFT運算處理,任務最開始是等待一個信號量A,這個信號量由CPU0給出。

當CPU0在任務中建立了測試數據,完成了數據隊列排序,初始化好共享內存中的控制塊后,向其它CPU發送信號量A,并進入運算流程。其它CPU得到信號量A后開始并行處理當前階段的FFT運算,運算完成后向CPU0發送信號量B,然后返回到之前等待信號量A的狀態。CPU0收到所有CPU發送過來的信號量B后,表示所有CPU完成了工作,結束本階段的運算處理,進入下一個運算階段,下一階段的執行過程與上述相同。最后階段完成后,FFT的運算結果會保持在制定內存中,CPU0負責打印輸出結果。

基于VxWorks操作系統的FFT程序編輯完后,使用SPARC編譯器進行編譯。運行DMON調試器,連接S698PM硬件平臺后下載程序并執行,觀察到的程序運行結果如圖7。

圖7 FFT算法程序在S698PM平臺上的執行結果

以上的測試條件為:8192個輸入點,100次FFT循環計算;S698PM處理器啟用了L2高速緩存,處理器主頻為400MHz,總線頻率200MHz。對比同等條件下在S698P4處理器平臺以及AT697平臺下的測試結果,最終測試數據比較如圖8所示。

圖8 FFT運算運行結果分析

實測表明:在設計合理的情況下,使用S698PM處理器4核進行FFT運算比使用單核運算,運算速度提高了3.26倍,對比AT697處理器平臺,運算速度提高了約20倍。實驗數據充分說明:S698PM處理器無論是峰值處理能力還是并行化運算性能都比前代產品有了較大的提升。

5 結束語

綜上所述,S698PM是一款高可靠、高性能、高集成度的SPARC V8 SMP架構多核SOC芯片,其設計合理,片上外設資源豐富,芯片可廣泛應用于航空、航天領域,特別適用于需兼顧大量運算和復雜控制的宇航電子系統。同時,S698PM芯片的軟件支持到位,支持多種嵌入式操作系統,專門設計的操作系統BSP包降低了用戶使用多核處理以及開發并行應用程序的門檻,并且這些軟件系統都經過了大量的應用驗證。

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過?!律O計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 波多野结衣亚洲一区| 国产精品成人不卡在线观看| 成人第一页| 永久免费av网站可以直接看的| 国产欧美视频综合二区| 亚洲最新在线| 国产青榴视频| 久久6免费视频| 日韩不卡免费视频| 亚洲欧美不卡中文字幕| 很黄的网站在线观看| 天堂亚洲网| 久久国产精品77777| 亚洲天堂日韩在线| 国产在线一二三区| 四虎成人精品| 亚洲经典在线中文字幕| 996免费视频国产在线播放| 成人精品在线观看| 久久无码av三级| 成人精品在线观看| 精品久久高清| 国产日韩丝袜一二三区| 青青草原国产av福利网站| 亚洲综合第一区| 性色一区| 国产啪在线91| 亚洲成a∧人片在线观看无码| 亚洲免费三区| 亚洲男人的天堂在线| 色综合久久久久8天国| 久久大香香蕉国产免费网站| 欧美乱妇高清无乱码免费| 欧美三级视频网站| av色爱 天堂网| 亚洲系列无码专区偷窥无码| 亚洲天堂自拍| 日韩毛片免费观看| 国产精品无码一区二区桃花视频| 亚洲成人福利网站| 欧美日韩激情| 噜噜噜综合亚洲| 99久久精品国产自免费| 国产乱视频网站| 青青草原国产免费av观看| 日韩一区二区三免费高清| 国产电话自拍伊人| 美女内射视频WWW网站午夜 | 国产午夜精品一区二区三区软件| 制服丝袜一区二区三区在线| 欧美激情首页| 亚洲视频二| 亚洲伦理一区二区| 亚洲欧美另类中文字幕| 亚洲综合欧美在线一区在线播放| www欧美在线观看| 亚洲成年人片| 国产成人亚洲无码淙合青草| 国产综合在线观看视频| 日本日韩欧美| 久久毛片基地| 色综合手机在线| 欧美区日韩区| 国产女同自拍视频| 国产一级裸网站| 毛片网站观看| 91久久国产综合精品女同我| 欧美午夜理伦三级在线观看| 免费看a毛片| 91精品国产综合久久香蕉922| 69av在线| 中文字幕av一区二区三区欲色| 日韩专区欧美| 国产在线观看一区二区三区| 黄片一区二区三区| 亚洲国产日韩在线成人蜜芽| 免费日韩在线视频| 91小视频版在线观看www| 久久免费视频6| 久久96热在精品国产高清| 国产尤物jk自慰制服喷水| 尤物精品视频一区二区三区|