[發明專利]計算機處理器中線程間數據通信的方法和系統有效
| 申請號: | 201110351954.3 | 申請日: | 2011-11-09 |
| 公開(公告)號: | CN102541630A | 公開(公告)日: | 2012-07-04 |
| 發明(設計)人: | P·J·博雷爾;A·蓋特;J·L·彼得森 | 申請(專利權)人: | 國際商業機器公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46 |
| 代理公司: | 北京市中咨律師事務所 11247 | 代理人: | 張亞非;于靜 |
| 地址: | 美國*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 計算機 處理器 線程 數據通信 方法 系統 | ||
1.一種在具有多個硬件執行線程的計算機處理器中進行線程間數據通信的方法,每個硬件線程在操作上連接以便通過線程間通信控制器進行數據通信,所述方法包括:
響應于一個或多個RECEIVE操作碼,由所述線程間通信控制器注冊一個或多個執行RECEIVE操作碼的接收線程;
由所述線程間通信控制器從發送線程的SEND操作碼接收要發送到接收線程的派生消息數量和基值的指定;
由所述線程間通信控制器產生派生消息,針對每個已注冊的接收線程遞增一次所述基值的計數,以便每個派生消息包括單個整數作為所述基值的單獨增量;
由所述線程間通信控制器將派生消息發送到每個已注冊的接收線程;以及
由所述線程間通信控制器將接收線程接收的實際派生消息數量返回到發送線程。
2.如權利要求1中所述的方法,其中:
SEND操作碼進一步將通道指定為通道標識值;
每個RECEIVE操作碼將通道指定為通道標識值;以及
發送派生消息進一步包括僅將所述派生消息發送到其RECEIVE操作碼指定了由SEND操作碼所指定的通道的接收線程。
3.如權利要求1中所述的方法,其中:
SEND操作碼和RECEIVE操作碼將通道指定為映射到用于使用同一通道的所有線程的同一硬件存儲器地址的虛擬存儲器地址;以及
發送派生消息進一步包括僅將所述派生消息發送到其RECEIVE操作碼指定了下述虛擬存儲器地址的接收線程,所述虛擬存儲器地址映射到也由SEND操作碼指定的虛擬存儲器地址映射到的硬件存儲器地址。
4.如權利要求1中所述的方法,其中:
所述線程間通信控制器進一步在操作上與一個或多個服務于硬件線程的存儲器管理單元相連;
SEND操作碼和RECEIVE操作碼將通道指定為映射到用于使用同一通道的所有線程的同一硬件存儲器地址的虛擬存儲器地址;以及
發送派生消息進一步包括檢查一個或多個存儲器管理單元的訪問權限,并且僅從對硬件存儲器地址具有寫入權限的發送線程發送所述派生消息以及僅將所述派生消息發送到對通道的硬件存儲器地址具有讀取權限的接收線程。
5.如權利要求1中所述的方法,其中:
通過所述線程間通信控制器路由中斷;以及
返回接收線程接收的實際派生消息數量進一步包括在發生中斷時,返回所述基值和在中斷之前發送到接收線程的派生消息數量的總和。
6.如權利要求1中所述的方法,其中中斷通過所述線程間通信控制器路由并且所述方法進一步包括:
如果在發生中斷時沒有可提供給接收線程的消息,則由所述線程間通信控制器告知每個已注冊的接收線程沒有可提供給接收線程的消息。
7.如權利要求1中所述的方法,進一步包括:
如果在注冊后的預定時段內沒有可提供給接收線程的消息,則由所述線程間通信控制器告知每個已注冊的接收線程沒有可提供給接收線程的消息。
8.如權利要求1中所述的方法,其中返回接收線程接收的實際派生消息數量進一步包括:
如果所述基值和已發送的實際派生消息數量的總和等于SEND操作碼指定的要發送的派生消息數量,其中要發送的派生消息由SEND操作碼指定為所述基值的最大增量,則返回所述基值加上發送到接收線程的派生消息數量;以及
如果所述基值和已發送的派生消息數量的總和小于SEND操作碼指定的要發送的派生消息數量,則在接收要發送的派生消息數量和基值的指定之后的預定時段到期之時,返回所述基值和發送到接收線程的派生消息數量的總和。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國際商業機器公司,未經國際商業機器公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110351954.3/1.html,轉載請聲明來源鉆瓜專利網。





