[發明專利]一種基于自旋鎖的多核處理器共享數據訪問設計方法在審
| 申請號: | 202211042527.1 | 申請日: | 2022-08-29 |
| 公開(公告)號: | CN116302097A | 公開(公告)日: | 2023-06-23 |
| 發明(設計)人: | 陳雷;王瀟瀟;莊偉;張世遠;侯國偉;楊雪;郭嘉;郝帥;李欣;趙晉;禹瑩;張麒 | 申請(專利權)人: | 北京時代民芯科技有限公司;北京微電子技術研究所 |
| 主分類號: | G06F9/30 | 分類號: | G06F9/30;G06F9/48 |
| 代理公司: | 中國航天科技專利中心 11009 | 代理人: | 龐靜 |
| 地址: | 100076 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 自旋 多核 處理器 共享 數據 訪問 設計 方法 | ||
1.一種基于自旋鎖的多核處理器共享數據訪問設計方法,其特征在于:通過向多核處理器提供寄存器原子鎖的方式,實現線程對共享數據訪問的調度;所述的寄存器原子鎖由4N位的原子鎖寄存器實現;N為處理器的核數;
將原子鎖寄存器分為高2N位和低2N位兩個部分;
設置原子鎖寄存器的低2N位為COREn_ID區域,保存正在申請該寄存器原子鎖的處理器核的識別號COREn_ID,其中COREn_ID區域中的低N位代表COREn_ID的值,高N位COREn_ID_WEN分別為低N位對應位的寫使能;
設置原子鎖寄存器的高2N位為LOCKn_ID區域,保存當前嘗試獲取該寄存器原子鎖的處理器核的識別號LOCKn_ID,其中LOCKn_ID區域中的低N位代表LOCKn_ID的值,高N位LOCKn_ID_WEN分別為低N位對應位的寫使能;
各個處理器核都有相同的機會獲取到寄存器原子鎖;
在同一時刻,同一個寄存器原子鎖最多只能被一個處理器核所獲取。
2.根據權利要求1所述的方法,其特征在于:原子鎖寄存器的位數根據處理器的核數確定,每個原子鎖寄存器實現一個寄存器原子鎖,由單個4N位的原子鎖寄存器實現的寄存器原子鎖適用于最多N個處理器核對共享地址的訪問調度。
3.根據權利要求1所述的方法,其特征在于:所述原子鎖寄存器中保存當前嘗試獲取該寄存器原子鎖的處理器核識別號的LOCKn_ID區域,包括:
該區域低N位LOCKn_ID只有在其對應使能位有效時才能夠寫入,對應使能位無效時LOCKn_ID只可讀,LOCKn_ID的值為0時代表寄存器原子鎖處于釋放狀態,LOCKn_ID的值不為0時,該值代表當前嘗試獲取該寄存器原子鎖的處理器核的識別號;
該區域高N位LOCKn_ID_WEN為LOCKn_ID的使能位,分別對應低N位的寫使能,使能位為高時有效,使能位為低時無效,LOCKn_ID_WEN寫入后會自動清零。
4.根據權利要求1所述的方法,其特征在于:所述原子鎖寄存器中保存正在申請該寄存器原子鎖的處理器核的識別號COREn_ID區域,包括:
該區域低N位COREn_ID只有在其對應使能位有效時才能夠寫入,對應使能位無效時COREn_ID只可讀,COREn_ID保存當前正在申請該寄存器原子鎖的各個處理器核的識別號;
該區域高N位COREn_ID_WEN為COREn_ID的使能位,分別對應低N位的寫使能,使能位為高時有效,使能位為低時無效,COREn_ID_WEN寫入后會自動清零。
5.根據權利要求1所述的方法,其特征在于:處理器核獲取寄存器原子鎖包括:
處理器核請求寄存器原子鎖,讀取該寄存器原子鎖對應的原子鎖寄存器中LOCKn_ID的值,判斷原子鎖寄存器是否處于釋放狀態,若處于,向該原子鎖寄存器中的COREn_ID區域寫入本處理器核的識別號,否則退出請求;
從原子鎖寄存器中的COREn_ID區域讀出當前正在請求該原子鎖的處理器核識別號,并根據讀出的值進行優先級判斷,當本處理器核具有最高優先級時,向原子鎖寄存器的LOCKn_ID中寫入本處理器核的識別號,否則,清除COREn_ID區域中本處理器核的識別號;
判斷原子鎖寄存器的LOCKn_ID中的處理器核是否唯一,若唯一,則本處理器核成功獲取寄存器原子鎖,否則清除清除原子鎖寄存器中LOCKn_ID區域和COREn_ID區域中本處理器核的識別號,釋放該寄存器原子鎖。
6.根據權利要求5所述的方法,其特征在于:各個處理器核請求寄存器原子鎖的優先級判斷方式為輪詢方式,在一次優先級判斷中,優先授權給與上次拿到該原子鎖的處理器核緊鄰的下一個處理器核,如果優先級授予到的處理器核輪空則優先權順延到下一個緊鄰的處理器核。
7.根據權利要求5或6所述的方法,其特征在于:通過設置原子鎖歷史寄存器保存上一次獲取寄存器原子鎖的處理核的識別號,用于優先級判斷。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京時代民芯科技有限公司;北京微電子技術研究所,未經北京時代民芯科技有限公司;北京微電子技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211042527.1/1.html,轉載請聲明來源鉆瓜專利網。





