亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FC總線的多核通信中間件設(shè)計(jì)與實(shí)現(xiàn)

        2022-05-05 09:21:14強(qiáng)
        數(shù)字通信世界 2022年4期
        關(guān)鍵詞:信息

        朱 強(qiáng)

        (中國(guó)航空工業(yè)集團(tuán)公司洛陽(yáng)電光設(shè)備研究所,河南 洛陽(yáng) 471000)

        當(dāng)前,隨著戰(zhàn)斗機(jī)作戰(zhàn)任務(wù)的復(fù)雜度越來(lái)越高,對(duì)戰(zhàn)斗機(jī)的航電系統(tǒng)要求也越來(lái)越高,綜合核心處理機(jī)是航電任務(wù)系統(tǒng)核心組成部分,任務(wù)系統(tǒng)的大部分應(yīng)用程序都駐留在綜合核心處理機(jī)中,比如,火控管理、戰(zhàn)術(shù)決策、導(dǎo)航解算、傳感器管理、數(shù)據(jù)融合、顯示控制等。這些應(yīng)用對(duì)綜合核心處理機(jī)的硬件要求也越來(lái)越高。隨著電子技術(shù)的發(fā)展,單純提高處理器的主頻的空間越來(lái)越小,而目前多核是處理器發(fā)展的主要方向。在航空電子系統(tǒng)中,多核處理器也開(kāi)始在各種型號(hào)處理器中使用。飛思卡爾推出的T2080處理器是四核八線程高性能處理器,每個(gè)核的最高主頻可達(dá)1.8 GHz,而風(fēng)河公司推出的vxWorks653 3.0多核操作系統(tǒng)也支持T2080處理器。在多核系統(tǒng)中,其應(yīng)用程序的部署方式以及驅(qū)動(dòng)開(kāi)發(fā)等與在單核系統(tǒng)中不同。在某型號(hào)綜合核心處理機(jī)驗(yàn)證系統(tǒng)中高性能數(shù)據(jù)處理單元以T2080多核處理器為硬件平臺(tái),以vxWorks653 3.0為軟件平臺(tái),負(fù)責(zé)運(yùn)行各種任務(wù)系統(tǒng)的應(yīng)用程序。圖1是高性能數(shù)據(jù)處理模塊組成框圖。

        圖1 高性能數(shù)據(jù)處理模塊組成框圖

        1 方案設(shè)計(jì)

        在高性能數(shù)據(jù)處理單元中,多核通信中間件運(yùn)行在核0分區(qū)操作系統(tǒng)中,核0上的分區(qū)還運(yùn)行FC驅(qū)動(dòng)程序。多核通信中間件主要完成數(shù)據(jù)的轉(zhuǎn)發(fā)工作,即將應(yīng)用程序需要發(fā)送的數(shù)據(jù)通過(guò)端口PORT發(fā)送到中間件,中間件將數(shù)據(jù)轉(zhuǎn)發(fā)到FC總線,或者中間件將數(shù)據(jù)直接轉(zhuǎn)發(fā)到其他分區(qū)應(yīng)用中。同時(shí)中間件接收FC總線的數(shù)據(jù)或者其他分區(qū)的數(shù)據(jù),并將數(shù)據(jù)轉(zhuǎn)發(fā)到對(duì)應(yīng)的分區(qū)應(yīng)用中。此外還具備消息組播功能,即收到消息后,根據(jù)配置轉(zhuǎn)發(fā)到多個(gè)端口中[1]。

        在多核通信中間件中,主要包含三個(gè)模塊,分別是應(yīng)用程序發(fā)送模塊、應(yīng)用程序接收模塊、轉(zhuǎn)換算法模塊。

        (1)應(yīng)用程序發(fā)送模塊:完成從端口中接收分區(qū)應(yīng)用發(fā)過(guò)來(lái)的數(shù)據(jù),根據(jù)配置,將數(shù)據(jù)轉(zhuǎn)發(fā)到FC總線或者將數(shù)據(jù)轉(zhuǎn)發(fā)到對(duì)應(yīng)的分區(qū)應(yīng)用中。

        (2)應(yīng)用程序接收模塊:根據(jù)配置,從FC驅(qū)動(dòng)中接收數(shù)據(jù)或者從分區(qū)應(yīng)用中接收數(shù)據(jù),然后將數(shù)據(jù)單發(fā)或者以組播方式發(fā)送到對(duì)應(yīng)的接收分區(qū)應(yīng)用中。

        (3)轉(zhuǎn)換算法模塊:多核通信中間件在初始化時(shí),需要完成配置表到轉(zhuǎn)發(fā)表的轉(zhuǎn)換,涉及的兩個(gè)轉(zhuǎn)換分別是,組播轉(zhuǎn)換和核間通信轉(zhuǎn)發(fā)時(shí)需要的索引轉(zhuǎn)換。

        多核通信中間件在運(yùn)行時(shí)先初始化發(fā)送和接收的配置表數(shù)據(jù)結(jié)構(gòu)、創(chuàng)建端口、轉(zhuǎn)換成發(fā)送和接收轉(zhuǎn)發(fā)表,然后創(chuàng)建應(yīng)用程序接收任務(wù)和應(yīng)用程序發(fā)送任務(wù),兩個(gè)任務(wù)會(huì)讀取轉(zhuǎn)發(fā)表的信息進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。

        圖2 多核通信中間件架構(gòu)圖

        2 轉(zhuǎn)換算法

        多核通信中間件在初始化時(shí)需要將配置表轉(zhuǎn)換成轉(zhuǎn)發(fā)表,配置表是多核通信中間件的輸入,包括發(fā)送配置表和接收配置表。轉(zhuǎn)發(fā)表是多核通信中間件將配置表轉(zhuǎn)換后形成的,在進(jìn)行多核通信轉(zhuǎn)發(fā)時(shí)用到的信息都在轉(zhuǎn)發(fā)表中。轉(zhuǎn)換算法分為組播算法和內(nèi)部轉(zhuǎn)發(fā)算法[2]。

        發(fā)送和接收配置表的信息主要包括消息ID、消息類型、端口名稱、消息大小、最大消息數(shù)量、以及內(nèi)部和外部標(biāo)志等。發(fā)送和接收配置表使用相同的結(jié)構(gòu)體,結(jié)構(gòu)體成員信息如下。

        發(fā)送轉(zhuǎn)發(fā)表的信息主要包括消息ID、消息類型、消息大小、消息數(shù)量、發(fā)送端口portID、核間通信時(shí)對(duì)應(yīng)的接收轉(zhuǎn)發(fā)表的索引、內(nèi)部外部標(biāo)識(shí)等。發(fā)送轉(zhuǎn)發(fā)表的結(jié)構(gòu)體成員信息如下。

        接收轉(zhuǎn)發(fā)表的信息主要包括消息ID、消息類型、消息大小、消息數(shù)量、接收端口portID數(shù)組、接收端口PortID數(shù)量、核間通信時(shí)對(duì)應(yīng)的發(fā)送轉(zhuǎn)發(fā)表的索引、內(nèi)部外部標(biāo)識(shí)等。接收轉(zhuǎn)發(fā)表的結(jié)構(gòu)體成員信息如下。

        發(fā)送轉(zhuǎn)發(fā)表與接收轉(zhuǎn)發(fā)表不同的地方在于接收轉(zhuǎn)發(fā)表的端口portID是數(shù)組。當(dāng)多核通信中間件收到FC總線消息或者分區(qū)應(yīng)用的消息后,將消息組播到對(duì)應(yīng)分區(qū),而接收端口的portID數(shù)組則保存了組播時(shí)需要的端口信息,進(jìn)行組播時(shí)遍歷這個(gè)數(shù)組,逐條轉(zhuǎn)發(fā)。

        2.1 組播算法

        組播算法的核心思想是將接收配置表的信息進(jìn)行重組后轉(zhuǎn)化成接收轉(zhuǎn)發(fā)表,當(dāng)多核中間件進(jìn)行轉(zhuǎn)發(fā)時(shí),讀取轉(zhuǎn)發(fā)表的信息就可以完成組播消息轉(zhuǎn)發(fā)。配置表和轉(zhuǎn)發(fā)表的轉(zhuǎn)換是遍歷配置表里的所有消息ID,當(dāng)配置表中有多個(gè)相同的消息ID時(shí),代表這些相同的消息ID為組播消息。轉(zhuǎn)發(fā)表過(guò)濾并記錄這些相同的消息ID,并保存在數(shù)組中,在進(jìn)行轉(zhuǎn)發(fā)時(shí),遍歷這個(gè)數(shù)組就可以逐條轉(zhuǎn)發(fā)[3]。

        假設(shè)接收配置表為集合T={T[0],T[1],T[2],T[3]…},假設(shè)接收轉(zhuǎn)發(fā)表集合S={S[0],S[1],S[2],S[3]…}

        (1)初始狀態(tài),轉(zhuǎn)發(fā)表接收集合S={0}為空,配置表接收集合T={T1,T2,T3,T4…}。接收轉(zhuǎn)發(fā)表結(jié)構(gòu)體創(chuàng)建時(shí)被初始化為0。

        (2)遍歷接收配置表的每一項(xiàng),并和接收轉(zhuǎn)發(fā)表的每一項(xiàng)的消息ID進(jìn)行比對(duì)。

        (3)如果接收配置表的消息ID和接收轉(zhuǎn)發(fā)表的消息ID不同,則將接收配置表的消息ID等信息復(fù)制到接收轉(zhuǎn)發(fā)表的當(dāng)前最后一項(xiàng)中。

        (4)如果接受配置表的消息ID和接收轉(zhuǎn)發(fā)表的消息ID相同,則說(shuō)明有組播消息,因?yàn)樵诮M播消息中多個(gè)接收的消息ID相同,在轉(zhuǎn)發(fā)表中需要將這些相同的消息ID進(jìn)行記錄,相同消息的ID不再在轉(zhuǎn)發(fā)表中占用新的結(jié)構(gòu)體空間,而是將這些相同的ID放到一個(gè)結(jié)構(gòu)體空間中,只需要記錄其portID即可,這樣在進(jìn)行轉(zhuǎn)發(fā)過(guò)的過(guò)程中,收到消息后,遍歷所有對(duì)應(yīng)的發(fā)送PortID即可。

        2.2 內(nèi)部轉(zhuǎn)發(fā)算法

        由于vxWorks653 3.0提供了基于port的核間通信機(jī)制,因此分區(qū)之間的應(yīng)用即可以通過(guò)FC總線進(jìn)行通信,也可以不經(jīng)過(guò)FC總線,中間件收到分區(qū)的消息后,直接轉(zhuǎn)發(fā)到對(duì)應(yīng)的接收分區(qū)。這樣可以減輕FC總線通信壓力。

        集合T代表轉(zhuǎn)發(fā)表中發(fā)送信息,包括發(fā)送消息msgID、發(fā)送端口portID、內(nèi)部轉(zhuǎn)發(fā)標(biāo)志、內(nèi)部轉(zhuǎn)發(fā)對(duì)應(yīng)的接收索引等。集合R代表轉(zhuǎn)發(fā)表中的接收信息,包括接收消息msgID、接收端口portID、內(nèi)部轉(zhuǎn)發(fā)標(biāo)志、內(nèi)部轉(zhuǎn)發(fā)對(duì)應(yīng)的發(fā)送索引等。

        遍歷轉(zhuǎn)發(fā)表中接收信息的每一項(xiàng),判斷其內(nèi)外轉(zhuǎn)發(fā)標(biāo)志,如果是外部,即標(biāo)志為EXTRAL,代表消息從FC總線接收,此時(shí)內(nèi)部轉(zhuǎn)發(fā)對(duì)應(yīng)的發(fā)送索引設(shè)置為-1。

        如果是內(nèi)部,即標(biāo)志為INTERNAL,代表消息直接從分區(qū)中接收。遍歷轉(zhuǎn)發(fā)表中的發(fā)送信息的每一項(xiàng),如果發(fā)送信息中的消息msgID和接收信息中的消息msgID相同,則發(fā)送信息中的結(jié)構(gòu)體記錄接收信息的索引,同樣接收信息的結(jié)構(gòu)體記錄發(fā)送信息的索引。

        3 應(yīng)用程序接收任務(wù)

        應(yīng)用程序接收任務(wù)負(fù)責(zé)從FC總線接收數(shù)據(jù)或者從其他分區(qū)中接收數(shù)據(jù)然后轉(zhuǎn)發(fā)到對(duì)應(yīng)的分區(qū)應(yīng)用中。

        圖3 應(yīng)用程序接收任務(wù)流程圖

        (1)遍歷接收轉(zhuǎn)發(fā)表中的每條信息,判斷內(nèi)部外部標(biāo)志。

        (2)如果是外部標(biāo)志,則說(shuō)明任務(wù)從FC總線接收數(shù)據(jù),然后再組播到對(duì)應(yīng)的分區(qū)應(yīng)用中。其中單播是組播的一種情況,只是需要轉(zhuǎn)發(fā)的消息個(gè)數(shù)為1,這樣就可以都統(tǒng)一按照組播轉(zhuǎn)發(fā)。

        (3)如果是內(nèi)部標(biāo)志,則說(shuō)明任務(wù)是從其他分區(qū)中接收數(shù)據(jù),然后再組播到對(duì)應(yīng)的分區(qū)應(yīng)用中。其中單播是組播的一種情況,只是需要轉(zhuǎn)發(fā)的消息個(gè)數(shù)為1,這樣就可以都統(tǒng)一按照組播轉(zhuǎn)發(fā)。

        4 應(yīng)用程序發(fā)送任務(wù)

        應(yīng)用程序發(fā)送任務(wù)負(fù)責(zé)將分區(qū)應(yīng)用中的數(shù)據(jù)發(fā)送到FC總線或者轉(zhuǎn)發(fā)到對(duì)應(yīng)的其他分區(qū)應(yīng)用中。

        (1)遍歷發(fā)送轉(zhuǎn)發(fā)表中的每條信息,判斷內(nèi)部外部標(biāo)志。

        (2)如果是外部標(biāo)志,則說(shuō)明任務(wù)從應(yīng)用分區(qū)中接收數(shù)據(jù)再發(fā)送到FC總線。

        (3)如果是內(nèi)部,則說(shuō)明任務(wù)從應(yīng)用分區(qū)中接收數(shù)據(jù)直接組播到其他分區(qū)中。其中單播是組播的一種情況,只是需要轉(zhuǎn)發(fā)的消息個(gè)數(shù)為1,這樣就可以都統(tǒng)一按照組播轉(zhuǎn)發(fā)。

        5 結(jié)束語(yǔ)

        本文提出了基于FC總線的多核通信中間件實(shí)現(xiàn)方案,該方案對(duì)于分區(qū)間通信本文提供了兩個(gè)可以配置的方案,即發(fā)送分區(qū)將數(shù)據(jù)發(fā)送到多核通信中間件,中間件根據(jù)配置信息,即可以將數(shù)據(jù)發(fā)送到FC總線后再經(jīng)過(guò)FC交換機(jī)轉(zhuǎn)到多核通信中間件,中間件再將數(shù)據(jù)發(fā)送到接收分區(qū)中。還可以將數(shù)據(jù)直接轉(zhuǎn)發(fā)到接收分區(qū)中。這樣可以減輕FC子卡的通信壓力。同時(shí)本文中的多核通信中間件還實(shí)現(xiàn)了消息多播功能。經(jīng)過(guò)測(cè)試,該方案轉(zhuǎn)發(fā)效率高,配置靈活。

        圖4 應(yīng)用程序發(fā)送任務(wù)流程圖

        猜你喜歡
        信息
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        展會(huì)信息
        信息超市
        展會(huì)信息
        展會(huì)信息
        展會(huì)信息
        展會(huì)信息
        展會(huì)信息
        信息
        健康信息
        祝您健康(1987年3期)1987-12-30 09:52:32
        人妻少妇精品系列一区二区| 人妻少妇偷人精品无码| 99久久久精品免费观看国产| 91精品国产91久久久无码95| 在线视频一区二区观看| 国产91色综合久久高清| 免费黄色影片| 亚洲精品免费专区| 亚洲福利第一页在线观看| 亚洲日本一区二区在线| 波多野结衣爽到高潮大喷| 成人天堂资源www在线| 亚洲日产国无码| 最近更新中文字幕一区二区| 国产午夜福利精品一区二区三区| 人人妻人人添人人爽日韩欧美| 国产呦系列视频网站在线观看| 色婷婷久久综合中文蜜桃| 久久久免费精品re6| 妺妺窝人体色www在线图片| 国产一区,二区,三区免费视频 | 亚洲精品熟女国产| 2022Av天堂在线无码| 亚洲最大的av在线观看| 一本到在线观看视频| 成人看片黄a免费看那个网址| 对白刺激的老熟女露脸| 国产极品大秀在线性色| 国产无夜激无码av毛片| 亚洲最新偷拍网站| 亚洲中文字幕高清乱码毛片| 丰满女人猛烈进入视频免费网站 | 欧美成人看片一区二区三区尤物| 国产精品久久久久久麻豆一区| 国产一级片内射在线视频| 91色老久久偷偷精品蜜臀懂色| 久久精品成人无码观看不卡| 综合无码综合网站| 白白色日韩免费在线观看| 无码gogo大胆啪啪艺术| 亚欧AV无码乱码在线观看性色 |