[发明专利]计算机处理器中线程间数据通信的方法和系统有效
申请号: | 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.vipzhuanli.com/pat/books/201110351954.3/1.html,转载请声明来源钻瓜专利网。