[发明专利]用于双存储器原子操作的硬件支持在审
申请号: | 202010223756.8 | 申请日: | 2020-03-26 |
公开(公告)号: | CN112130970A | 公开(公告)日: | 2020-12-25 |
发明(设计)人: | R.鲍洛夫斯基;J.B.弗里曼;V.卡夫;E.M.施瓦茨;I.B.加内夫;J.M.郝华德;A.摩尔;S.史密斯 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 李伟森;姜冰 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 存储器 原子 操作 硬件 支持 | ||
公开的实施例涉及对于双存储器原子操作的硬件支持。在一个示例中,处理器包括多个核,每个核包括:多个多线程流水线(MTP),每个MTP与存储器相关联;原子单元(ATMU),用于执行原子操作;以及写组合缓冲器(WCB),用于管理对关联的存储器中的高速缓存行的访问和锁定,每个MTP包括提取和解码级以提取和解码指令,所述指令具有用来指定第一和第二存储器位置以及操作码(其调用第一MTP来向所述多个MTP中的第二MTP发送请求)的字段,所述第二MTP与所述第一存储器位置所映射到的存储器相关联且用来使用其关联的ATMU和WCB在所述第一和第二存储器位置上执行原子双存储器操作以执行所述请求。
技术领域
该发明领域一般涉及计算机处理器架构,并且更具体地,涉及对双存储器原子操作(dual-memory atomic operations)的新颖硬件支持。
背景技术
在当今的应用前景中,越来越普遍的是需要同时原子地对两个存储器位置进行操作的软件用例。
例如,一些应用需要存储数据(值或指针)以及用于存储相关联的时间戳、状态、标识符或计数的相应元数据。
作为另一个示例,许多图工作负荷包含这样的用例,其中数据元素和作为第二元素被保持在存储器中的附加描述符需要被原子地联合修改。例如,在单最短源路径(SSSP)算法中,顶点具有距离和前趋。线程一次一个地处理顶点,并根据以下规则来尝试更新顶点的邻居的距离和前趋:如果当前顶点v1的距离加上连接到另一顶点v2的边的权重小于顶点v2的当前距离,则需要更新距离和前趋值二者。重要的是注意到,一次只有单个线程可以写距离和前趋值,否则可能记录错误的路径。
为了原子地读或写两个存储器位置,传统方法使用第三存储器位置来实现锁定方案。这种细粒度锁定通常是昂贵的。首先,在无竞争的情况下,取和释放锁的开销对于要在临界区中执行的操作可能是禁止的。其次,软件必须实现用于当已经采取锁定时的策略,这通过忙等待或使用回调机制来进行,在性能与存储器或能量消耗之间进行折中。
附图说明
本发明通过示例的方式进行说明,并且不限于附图中的图,附图中相同的附图标记表示相似的元件,并且附图中:
图1是示出根据一些实施例的用于执行指令的处理组件的框图;
图2是示出根据一些实施例的用于执行双存储器原子指令的多核多线程(MCMT)处理器的框图;
图3是示出根据一些实施例的多核多线程(MCMT)处理器的核的框图;
图4是示出根据一些实施例的由多核多线程(MCMT)处理器执行以执行双存储器操作的过程的方框流程图;
图5是示出根据一实施例多核多线程(MCMT)处理器如何执行dual.XCXA指令的方框流程图;
图6是示出根据一实施例多核多线程(MCMT)处理器如何执行dual.CXXI指令的方框流程图;
图7是根据一些实施例的远程双存储器指令的格式;
图8A-8B是示出根据本发明的一些实施例的通用向量友好指令格式及其指令模板的框图;
图8A是示出根据本发明的一些实施例的通用向量友好指令格式及其A类指令模板的框图;
图8B是示出根据本发明的一些实施例的通用向量友好指令格式及其B类指令模板的框图;
图9A是示出根据本发明的一些实施例的示例性特定向量友好指令格式的框图;
图9B是示出根据一个实施例的构成完整操作码字段的特定向量友好指令格式的字段的框图;
图9C是示出根据一个实施例的构成寄存器索引字段的特定向量友好指令格式的字段的框图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010223756.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:促进基于硬件的表查找的技术
- 下一篇:预测性分组头部压缩