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

        ?

        基于PCI總線的多處理器協(xié)同機制研究

        2017-07-10 18:56:06張旭
        科技風(fēng) 2017年20期
        關(guān)鍵詞:共享內(nèi)存中斷

        DOI:10.19392/j.cnki.16717341.201720060

        摘要:本文對基于PCI總線互連體系架構(gòu)下的多CPU協(xié)同工作的通信機制進行了研究與分析,并針對共享內(nèi)存訪問沖突的問題,提出了一種總線仲裁結(jié)合訪問隔離的方案來解決這一問題。

        關(guān)鍵詞:PCI總線;多CPU互連;共享內(nèi)存;中斷

        目前,在軍事、軌道交通、能源電力及航空航天等領(lǐng)域,對計算機系統(tǒng)的安全性、可靠性及處理能力具有較高的要求。由于傳統(tǒng)的單CPU系統(tǒng)在信息的獲取、處理及控制等方面的能力有限,對于高實時、高安全等復(fù)雜的工作任務(wù),其能力略顯不足。因此,多CPU的結(jié)構(gòu),協(xié)同完成數(shù)據(jù)的輸入、處理、控制、輸出等工作,相比于單CPU工作,能夠有效的提高系統(tǒng)的安全性及處理能力。

        多個CPU通過一定的方式進行互連,通過CPU間的數(shù)據(jù)傳輸和共享進行協(xié)同工作,能夠最大化的調(diào)度和分配每個CPU的資源,提高處理器的性能,達到最優(yōu)的資源利用率。要達到這樣的目標(biāo),需要對CPU的互連方法進行正確的選擇,其關(guān)鍵所在,就是要使用高效的CPU間通信機制。因此,本文就是研究一種基于PCI總線的多CPU互連協(xié)同工作的實現(xiàn)方法,并提出一種同步互斥機制來保證數(shù)據(jù)的訪問的安全性。

        1 多CPU互連的方法

        1.1 基于PCI總線互連的優(yōu)勢

        嵌入式多處理器的互連,具有多種方式,如以太網(wǎng)、PCI總線、以及雙口RAM等等。本文選擇采用基于PCI總線的方式實現(xiàn)多個CPU互連,完成協(xié)同工作的目的。之所以選擇PCI總線的方式,是因為PCI總線是一種仲裁型并行總線,為32/64位地址數(shù)據(jù)復(fù)用總線,支持突發(fā)傳輸和即插即用,具有兼容性好、傳輸速度高等優(yōu)點。

        1.2 基于PCI總線互連的系統(tǒng)結(jié)構(gòu)

        基于PCI總線互連的系統(tǒng)結(jié)構(gòu)如圖1所示。

        如上圖所示的多個CPU通過PCI總線實現(xiàn)互連。其中,CPU(A)提供一塊內(nèi)存區(qū)域作為共享內(nèi)存,用于各CPU之間的數(shù)據(jù)交互。CPU(A)負(fù)責(zé)共享內(nèi)存的初始化、管理等工作,并以本地內(nèi)存的形式直接進行訪問。其它CPU則要通過PCI總線對共享內(nèi)存進行訪問。

        2 基于PCI的多CPU通信機制的實現(xiàn)

        在此種互連結(jié)構(gòu)中,共享內(nèi)存在同一時間內(nèi)可能會有多個CPU進行訪問,出現(xiàn)資源爭搶的情況,這樣會導(dǎo)致系統(tǒng)故障的發(fā)生。因此,如何在避免沖突的產(chǎn)生,實現(xiàn)效率的最大化,是本系統(tǒng)結(jié)構(gòu)的難點所在。本文通過數(shù)據(jù)傳輸、通知機制和互斥機制三個方面來解決這一問題。

        2.1 數(shù)據(jù)傳輸機制實現(xiàn)

        在基于PCI總線的互連結(jié)構(gòu)中,每個CPU端都有各自的地址空間,并且有各自獨立的RAM。每一端的CPU都能夠?qū)ζ涞刂房臻g內(nèi)的RAM進行訪問。那么如果總線上的某個CPU要訪問CPU(A)上的共享RAM,只有通過地址映射才能實現(xiàn),即將目標(biāo)區(qū)域映射到本地地址空間上。地址的映射是通過PCI橋?qū)崿F(xiàn)的。

        基于內(nèi)存映射的數(shù)據(jù)傳輸過程如下:

        CPU(A)在初始化時,在其RAM中分配一塊區(qū)域作為共享內(nèi)存,然后通過對PCI橋進行配置,把共享內(nèi)存映射到PCI域的地址空間。而其它的CPU則通過PCI橋,將PCI地址空間映射到本地RAM地址空間,從而各節(jié)點可以通過訪問PCI地址來訪問共享內(nèi)存。但是,由于本地RAM為PCI設(shè)備開辟的映射空間是有限的,不能一次性完成所有地址的映射,因此,要采用一種叫做“加窗映射”的機制。CPU在本地RAM的中,為PCI創(chuàng)建一個窗口,一次只將一段PCI地址映射到窗口中,當(dāng)要訪問的PCI地址不在窗口中時,則將窗口移動到指定地址范圍。PCI地址空間映射如圖2所示。

        2.2 通知機制的實現(xiàn)

        只有數(shù)據(jù)的傳輸機制,還不能高效的進行通信。還需要一種高效的通知機制來實現(xiàn)數(shù)據(jù)發(fā)送方和接收方之間的同步。當(dāng)一個CPU完成數(shù)據(jù)的發(fā)送之后,應(yīng)該有某種方法通知其他CPU有數(shù)據(jù)可用;同樣當(dāng)數(shù)據(jù)接收完成以后,接收方也要通知發(fā)送方可寫入新的數(shù)據(jù)。本文采用電平觸發(fā)方式話,只需要一次中斷即可,當(dāng)發(fā)送端數(shù)據(jù)寫入完成以后,向接收端發(fā)送一個中斷觸發(fā)電平,接收端讀取完數(shù)據(jù)以后將該電平拉倒非觸發(fā)狀態(tài)即可,具有較高的效率。通知機制的具體的工作過程如圖3所示:

        2.3 互斥機制的實現(xiàn)

        互斥機制用來解決同一時間多個CPU同時訪問共享內(nèi)存造成訪問沖突的問題。CPU(B)、CPU(C)和CPU(D)三個CPU是通過PCI總線訪問共享內(nèi)存的,而PCI總線在同一時間只允許一個CPU取得控制權(quán),PCI總線可以通過仲裁機制來合理分配總線帶寬,保證同一時刻只能有一方訪問。所以,我們可以通過總線仲裁來避免B、C、D這三個CPU訪問沖突的發(fā)生。

        但是,CPU(A)訪問共享內(nèi)存是不通過PCI總線的,CPU(A)隨時可能和另外三個CPU中的一個發(fā)生訪問沖突的問題。因此,本文提出一種總線仲裁結(jié)合訪問隔離的方案來保證訪問的互斥??偩€仲裁通過硬件完成,數(shù)據(jù)區(qū)隔離通過軟件完成。

        2.3.1 PCI總線的仲裁機制

        PCI總線仲裁方式不是基于時間片的,而是基于訪問的。因此,對于某個PCI主設(shè)備來講,其每次在總線上進行訪問時都要提出仲裁要求。PCI總線采用獨立的請求仲裁方案,其結(jié)構(gòu)如圖4所示。

        圖中,PCI總線仲裁器上連接有4個設(shè)備,各設(shè)備之間沒有任何的控制關(guān)系。當(dāng)仲裁器接收到各設(shè)備的請求時,會通過仲裁算法對設(shè)備進行選定,并發(fā)送總線授權(quán)信號GNT到選定設(shè)備;設(shè)備只有在獲取總線的控制權(quán)后,才能夠進行一次交易。

        2.3.2 訪問隔離實現(xiàn)方式

        為了防止CPU(A)和另外三個CPU之間對共享內(nèi)存訪問的沖突,本文采用了分時訪問的隔離方式,來保證某一時間片內(nèi)只能有一個CPU具有共享內(nèi)存的訪問權(quán)。

        要實現(xiàn)這一機制,首先要為共享內(nèi)存建立一個自旋鎖,每個CPU要訪問共享內(nèi)存前都要先通過CPU(A)來獲取自旋鎖狀態(tài)。實現(xiàn)的具體方法是:當(dāng)某一個CPU需要訪問共享內(nèi)存時,先向CPU(A)發(fā)送一個中斷請求,CPU(A)收到中斷以后,檢查自旋鎖是否被占用,沒被占用的話則通知請求方可以訪問共享內(nèi)存,完成一次握手操作;請求方通過PCI總線在規(guī)定時間內(nèi)完成共享內(nèi)存的讀寫操作,自旋鎖進入占用狀態(tài),以防止其它CPU訪問到共享內(nèi)存;執(zhí)行完后釋放自旋鎖。

        3 總結(jié)

        本文通過對比分析,闡述了基于PCI總線的多處理互連方法的優(yōu)勢。根據(jù)基于PCI總線互連結(jié)構(gòu)中所存在的問題,從數(shù)據(jù)傳輸、通知機制和互斥機制三個方面對基于PCI的多CPU通信機制的實現(xiàn)方式進行了詳細(xì)的描述,并提出一種總線仲裁結(jié)合訪問隔離的方案來解決共享內(nèi)存訪問沖突的問題。此方法具有使用靈活、處理效率高和安全的特點。

        參考文獻:

        [1]萬綿濤.基于PCI互連的嵌入式多處理器系統(tǒng)通信機制研究[D].華中科技大學(xué),2012.

        [2]孔帥帥.基于嵌入式多核處理器的通信及中斷問題的研究[D].電子科技大學(xué),2011.

        [3]沈雪峰.多CPU系統(tǒng)的中斷機制[D].電子科技大學(xué),2009.

        [4]劉培寧,楊玉華,李連云,陳涵生,陳紅詣.基于PCI總線的共享內(nèi)存底板網(wǎng)絡(luò)[J].計算機工程,2006(6):246247.

        作者簡介:張旭(1988),男,碩士,軟件設(shè)計師,研究方向:嵌入式系統(tǒng)應(yīng)用。

        猜你喜歡
        共享內(nèi)存中斷
        共享內(nèi)存在高效進程間通信中的應(yīng)用研究
        基于共享內(nèi)存的過約束多自由度振動臺解耦控制方法
        通過QT實現(xiàn)進程間的通信
        基于FPGA的中斷控制器設(shè)計*
        基于Linux內(nèi)核的文件服務(wù)器模型的研究與構(gòu)建
        科技視界(2018年28期)2018-01-16 12:34:48
        跟蹤導(dǎo)練(二)(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        一種基于Tilcon的維護界面設(shè)計
        一種高效RTAI 共享內(nèi)存管理層的研究與實現(xiàn)*
        AT89C51與中斷有關(guān)的寄存器功能表解
        日韩在线无| 精品福利一区二区三区免费视频| 成人性生交大片免费看96| 亚洲日韩中文字幕无码一区| 在线成人爽a毛片免费软件| 无码丰满少妇2在线观看| 亚州无线国产2021| 国产av一区二区三区国产福利| 美女被躁到高潮嗷嗷免费观看| 久久精品久99精品免费| 成人午夜福利视频| 国产精品成人av在线观看 | 亚洲综合网一区二区三区| 淫秽在线中国国产视频| 国产一区高清在线观看| 精品国产免费一区二区三区| 亚洲精品无码国模| 国产成人亚洲精品77| 国产精品香蕉网页在线播放| 亚洲av色精品国产一区二区三区| 26uuu在线亚洲欧美| 少妇放荡的呻吟干柴烈火动漫| 久久精品国产亚洲黑森林| 国产黄色一区二区福利| 日本一区二区在线高清观看| 蜜桃无码一区二区三区| 亚洲精品老司机在线观看| 绿帽人妻被插出白浆免费观看| 一级内射免费观看视频| 久久亚洲色一区二区三区| 色一乱一伦一图一区二区精品| 日韩成人无码v清免费| 成人爽a毛片免费网站中国| 亚洲一区二区三区特色视频| 精品乱码久久久久久久| 亚洲AⅤ无码片一区二区三区| 欧美亚洲另类 丝袜综合网| 男人的天堂av你懂得| a级毛片免费观看在线播放| 少妇厨房愉情理伦片bd在线观看| 不打码在线观看一区二区三区视频|