[发明专利]用于支持任务间通信的基于硬件的原子操作有效
申请号: | 201580014125.2 | 申请日: | 2015-03-05 |
公开(公告)号: | CN106104488B | 公开(公告)日: | 2019-06-07 |
发明(设计)人: | 阿列克谢·弗拉狄米罗维奇·布尔德;司瓦浦奈尔·普拉迪普库尔马·沙克哈雪特;徐飞 | 申请(专利权)人: | 高通股份有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52;G06F9/54 |
代理公司: | 北京律盟知识产权代理有限责任公司 11287 | 代理人: | 宋献涛 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明描述用于支持并行计算系统中的任务间通信的技术。所述用于支持任务间通信的技术可使用基于硬件的原子操作来维持管线的状态。管线可指代先入先出FIFO组织的缓冲器,其允许各种任务作为数据产生者或数据消费者而与缓冲器交互。各种管线实施方案可使用多个状态参数来界定管线的状态。本发明中所描述的所述基于硬件的原子操作可以原子方式修改多个管线状态参数。以原子方式修改多个管线状态参数可避免竞态条件,当多个产生者和/或多个消费者同时尝试修改管线的状态时原本将发生所述竞态条件。以此方式,可在并行计算系统中支持基于管线的任务间通信。 | ||
搜索关键词: | 用于 支持 任务 通信 基于 硬件 原子 操作 | ||
【主权项】:
1.一种用于基于硬件的原子操作的方法,其包括:以一或多个处理器执行基于硬件的原子读取‑修改‑写入操作,所述基于硬件的原子读取‑修改‑写入操作在单个存储器事务中修改指示管线的状态的两个或更多个管线状态参数,所述管线对应于用于支持任务间通信的数据缓冲器,其中所述两个或更多个管线状态参数包括以下参数中的至少两个参数:识别多少包当前存储在所述管线中的参数、识别存储所述管线的起始包的包条目的参数、识别多少未提交保留当前对于所述管线待决的参数、或者识别多少包条目当前保留在所述管线中的参数,其中以所述一或多个处理器执行所述基于硬件的原子读取‑修改‑写入操作包括执行非可中断操作集合,所述非可中断操作集合包括:从存储器子系统读取对应于所述两个或更多个管线状态参数的值的操作,其中所述从存储器子系统读取对应于所述两个或更多个管线状态参数的值的操作包括在所述单个存储器事务中,在寄存器的四重寄存器群组内的三个连续寄存器中读取和返回三个管线状态参数的数据的操作,所述寄存器的四重寄存器群组包括四个寄存器;产生所述两个或更多个管线状态参数的经修改值的操作;以及将所述两个或更多个管线状态参数的所述经修改值写入到所述存储器子系统的操作。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于高通股份有限公司,未经高通股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201580014125.2/,转载请声明来源钻瓜专利网。
- 上一篇:除尘装置
- 下一篇:车辆及用于车辆的控制方法