[發明專利]一種多處理器的數據交換方法和裝置有效
| 申請號: | 201410034898.4 | 申請日: | 2014-01-24 |
| 公開(公告)號: | CN103810139B | 公開(公告)日: | 2017-04-26 |
| 發明(設計)人: | 周勇;舒宇;周公爽 | 申請(專利權)人: | 浙江眾合科技股份有限公司 |
| 主分類號: | G06F15/17 | 分類號: | G06F15/17 |
| 代理公司: | 杭州華鼎知識產權代理事務所(普通合伙)33217 | 代理人: | 胡根良 |
| 地址: | 310052 浙江省杭州市濱*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 處理器 數據 交換 方法 裝置 | ||
技術領域
本發明涉及計算機技術領域,尤其是一種多處理器的數據交換方法和裝置。
背景技術
在現有的基于PCI(Peripheral Component Interconnect,外設部件互連標準)總線或CPCI(Compact Peripheral Component Interconnect,緊湊型外設部件互連標準)總線的數據交換系統中,只能實現主處理器與從處理器之間的數據交換,而從處理器與從處理器之間的數據交換需要通過主處理器轉發才能實現。并且現有技術中,系統對廣播數據或者組播數據的讀寫不能夠提供很好的支持。
發明內容
本發明的目的是提供一種多處理器的數據交換方法和裝置,一方面,將主機的物理內存映射到通信總線上實現物理內存的共享,所述主機和所有從機均可通過通信總線訪問該物理內存,另一方面,將所述主機和所有從機的寄存器映射到通信總線上,形成一寄存器地址空間,所述主機和所有從機均可通過通信總線訪問寄存器地址空間并改寫本地或對方的寄存器的內容,實現了從機與從機之間的自由訪問。
為了解決上述技術問題,本發明采用如下技術方案:
一種多處理器的數據交換方法,其特征在于:主機的物理內存映射到通信總線上,主機與至少一個從機共享所述的主機的物理內存,所述主機和每個從機的處理器通過通信總線訪問共享的物理內存。
優選的,所述主機和各個從機的寄存器分別映射到通信總線上,每個寄存器被分配不同的地址,從而形成一寄存器地址空間,所述主機和每個從機的處理器通過通信總線訪問所述寄存器地址空間,讀寫寄存器內容。
優選的,當主機和/或每個從機通過中斷機制進行物理內存的數據讀取時,所述的寄存器為中斷寄存器,主機通過通信總線訪問所述寄存器地址空間,改寫至少一個從機的中斷寄存器內容,或者,每個從機通過通信總線訪問所述寄存器地址空間,改寫主機或其余至少一個從機的中斷寄存器內容,從而觸發對方的中斷,引起中斷觸發的主機和/或每個從機通過中斷服務程序通知應用程序調用讀取接口訪問物理內存中的數據區。
優選的,當主機和/或每個從機通過輪詢方式進行物理內存的數據讀取時,主機和/或每個從機通過調用讀寫接口訪問物理內存中的數據區進行數據讀取。
優選的,主機和/或每個從機對主機的共享物理內存中的數據區分別定義訪問屬性,包括讀或寫;若主機和/或每個從機與數據區有寫入關系,則在所述主機和/或每個從機中將此數據區的寫屬性定義為有,否則定義為無;若主機和/或每個從機與數據區有讀取關系,則在所述主機和/或每個從機中將此數據的讀屬性定義為有,否則定義為無;主機和/或每個從機對共享的物理內存的的數據讀寫方法包括以下一種或幾種:主機寫入數據,主機和/或至少一個從機讀取數據,或者,一個從機寫入數據,主機和/或至少一個從機讀取數據,或者,主機和至少一個從機寫入數據,主機和/或至少一個從機讀取數據,或者,多個從機寫入數據,主機和/或至少一個從機讀取數據;主機和從機通過以上方法讀寫主機的共享物理內存的數據處理單播數據、組播數據以及廣播數據。
優選的,通過面包店算法實現主機和/或每個從機中的進程或線程對物理內存中的臨界數據區的互斥訪問,所述互斥訪問的步驟包括:
A.主機和/或每個從機中的進程或線程獲取本地互斥量,則獲取到本地互斥量的所述進程或線程調用讀寫接口,否則所述進程或線程等待被其余進程或線程釋放的本地互斥量,所述本地互斥量由主機和/或每個從機中的操作系統提供,用于保證主機和每個從機在一個時刻最多只有一個進程或線程正在調用共享物理內存的讀寫接口;
B.所述進程或線程調用讀寫接口后,首先通過通信總線訪問面包店數據區,對所述面包店數據區的每個變量的訪問都是原子的;
C.所述進程或線程根據面包店算法對面包店數據區進行數次訪問后,判斷所述進程或線程是否獲得所述共享物理內存的臨界數據區的訪問權,若獲得訪問權,則讀寫臨界數據區;
D.讀寫完成后,根據面包店算法修改對應的面包店數據區中的變量,然后釋放保護讀寫接口的本地互斥量。
一種多處理器的數據交換裝置,包括主機板卡、若干個從機板卡、總線板卡,主機板卡和從機板卡通過總線板卡相互通信,其特征在于:主機板卡的集成有第一處理器以及和所述的第一處理器通信的寄存器和用于數據共享的物理內存,每個從機板卡集成有相互通信的處理器和寄存器,從機板卡的處理器和所述的物理內存通信。
優選的,所述主機板卡的第一處理器和各個從機板卡的處理器通過總線板卡與主機板卡、從機板卡的寄存器通信。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江眾合科技股份有限公司,未經浙江眾合科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410034898.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種計算網頁完整率的方法
- 下一篇:用于電子設備的便攜式功能擴展設備
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





