[發明專利]一種無鎖的處理器間通信的方法和系統在審
| 申請號: | 202111591989.4 | 申請日: | 2021-12-23 |
| 公開(公告)號: | CN114356834A | 公開(公告)日: | 2022-04-15 |
| 發明(設計)人: | 郝繼鋒;任曉瑞;周霆;虞保忠;尹超;朱曉寧 | 申請(專利權)人: | 中國航空工業集團公司西安航空計算技術研究所 |
| 主分類號: | G06F15/163 | 分類號: | G06F15/163;G06F9/54 |
| 代理公司: | 中國航空專利中心 11008 | 代理人: | 王世磊 |
| 地址: | 710000 *** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 處理器 通信 方法 系統 | ||
1.一種無鎖的處理器間通信的方法,其特征在于,應用于發送處理器,包括:
步驟1:向接收處理器發送消息;
步驟2:接收接收處理器對所述發送消息的回復;
步驟3:收到所述回復之后,從指令列表上讀取未處理的指令并返回步驟1。
2.根據權利要求1所述的方法,其特征在于,步驟1,具體包括:
監控共享內存,直到一個內存塊被標記為“空閑”狀態,并在標記為“空閑”狀態之后選擇一個適當的內存塊;
發送處理器把要發送給接收處理器的消息寫入所選擇的內存塊;
將內存塊的狀態從“空閑”狀態更改為“已發送”狀態;
將要發送給接收處理器的消息對應的指令添加到指令列表的末尾;
發送處理器確定是否還要給接收處理器發送消息,在確定不再向接收處理器發送消息的情況下,發送處理器更新指令列表的頭指針,使其指向接收處理器等待處理的第一條指令;
向接收處理器發送處理器間中斷。
3.根據權利要求1所述的方法,其特征在于,指令列表中的表項包含對共享內存中內存塊位置的索引。
4.根據權利要求1所述的方法,其特征在于,步驟3,具體包括:
接收接收處理器發送的處理器間中斷;
檢查共享內存,并刪除指令列表中標記為“已處理”的指令;
把“已處理”的指令對應的內存塊的狀態從“已處理”變成“空閑”;
更新指針的位置。
5.一種無鎖的處理器間通信的方法,其特征在于,應用于接收處理器,包括:
步驟1:接收發送處理器發送的消息;
步驟2:對接收到的消息進行處理并回復。
6.根據權利要求5所述的方法,其特征在于,步驟1,具體包括:
接收到發送處理器發送的處理器間中斷;
接收處理器把其指針指向指令列表中第一個待發送的指令;
根據共享內存中的內存塊的內容執行指令列表中的下一指令;
將包含第一個待發送的指令的內存塊從“已發送”狀態更改為“已處理”狀態;
確定是否完成了所有指令的接收,如果指令列表中不包含待處理項,則更新指針指向第一個沒有被處理的表項并進行處理,如果所有的表項都處理完成,向發送處理器發送處理器間中斷。
7.根據權利要求6所述的方法,其特征在于,更新指針指向第一個沒有被處理的表項,具體包括:
在沒有找到第一個沒有被處理的表項的情況下,指向一個空指針。
8.一種無鎖的處理器間通信的系統,其特征在于,包括:發送處理器、接收處理器、共享內存,發送處理器與接收處理器和共享內存通過總線連接;
發送處理器向接收處理器發送消息;接收處理器接收發送處理器發送的消息,以及對接收到的消息進行處理并回復;發送處理器接收接收處理器對所述發送消息的回復;以及發送處理器在收到所述回復之后,從指令列表上讀取未處理的指令并繼續向接收處理器發送消息;所述消息和指令列表存儲在共享內存中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國航空工業集團公司西安航空計算技術研究所,未經中國航空工業集團公司西安航空計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111591989.4/1.html,轉載請聲明來源鉆瓜專利網。





