[发明专利]带进位的原子加法指令有效
申请号: | 201580067802.7 | 申请日: | 2015-11-03 |
公开(公告)号: | CN107003855B | 公开(公告)日: | 2021-03-26 |
发明(设计)人: | 安德烈亚斯·都·恩格-哈尔斯特韦德特 | 申请(专利权)人: | ARM有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 宗晓斌 |
地址: | 英国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 进位 原子 加法 指令 | ||
处理电路执行由程序指令指定的处理操作。指令解码器对带进位的原子加法指令AADDC进行解码,以控制处理电路执行对加数操作数值和存储在存储器中的数据值的加法的原子操作,以生成存储在存储器中的结果值以及表示该加法是否生成进位输出的进位值。
技术领域
本公开涉及数据处理系统领域。
背景技术
一些数据处理系统可以支持原子指令,该原子指令访问存储器中的数据值并且被执行时会使得执行该指令的结果与可以在指令的执行期间独占访问存储器中的数据值的指令相一致,例如,没有其他指令可以以重叠方式访问同一数据值来生成与在其执行期间已独占访问过该数据值的原子指令不一致的结果。原子指令用于尝试隔离对各个指令的执行,从而不存在不适当和/或不期望的与其他指令的执行的交互。
发明内容
本公开的至少一些实施例提供了用于处理数据的装置,包括:处理电路,用于执行由程序指令指定的处理操作;以及指令解码器,用于解码带进位的原子加法指令以控制处理电路执行下述操作:以与在原子操作期间独占访问数据值相一致的方式,将对加数操作数值和存储在存储单元的数据值的加法作为原子操作来执行,从而生成存储在存储单元的结果值以及指示加法是否生成进位输出的进位值。
本公开的至少一些另外的实施例提供了用于处理数据的装置,包括:用于执行由程序指令指定的处理操作的处理装置;以及用于解码带进位的原子加法指令的指令解码装置,以控制处理装置以与在原子操作期间独占访问数据值相一致的方式,将对加数操作数值和存储在存储单元的数据值的加法作为原子操作来执行,从而生成存储在存储单元的结果值以及指示加法是否生成进位输出的进位值。
本公开的至少一些另外的实施例提供了一种处理数据的方法,包括:用处理电路执行由程序指令指定的处理操作;以及解码带进位的原子加法指令,以控制处理电路以与在原子操作期间独占访问数据值相一致的方式,将对加数操作数值和存储在存储单元的数据值的加法作为原子操作来执行,从而生成存储在存储单元的结果值以及指示加法是否生成进位输出的进位值。
附图说明
现在将仅通过示例的方式参考附图来描述示例实施例,其中:
图1示意性地示出了用于执行原子指令的数据处理系统;
图2示意性地示出了具有共享存储器的多处理器数据处理系统;
图3示意性地示出了两个线程的动作,每个线程执行对累加值的相应的不同有效位部分进行累加的带进位的原子加法指令序列;
图4示意性地示出了执行图3所示的带进位的原子加法指令的相对顺序;
图5A至5G示意性地示出了对生成本地和值的带进位的原子加法指令序列的执行,其中当数据值被返回到缓存存储器中时,该本地和值被累加到该数据值中。
图6是示意性地示出了在系统中对带进位的原子加法指令的使用的图,其中该系统包括作为合并树工作的用于累加到由根处理器保持的数据值的多个数据处理装置;以及
图7是示意性地示出在图6的合并树内的节点的操作的流程图。
具体实施方式
根据本公开的至少一些示例性实施例,提供了带进位的原子加法指令,其作为原子操作执行对加数操作数和存储在存储单元中的数据值的加法。从该带进位的原子加法指令生成进位值。从原子指令生成进位值是不常见的,因为这表示原子指令是通过该进位值与其他指令进行交互。这与原子指令是独立的这一正规哲学相悖。
存储单元可以具有各种不同的形式,例如,寄存器。存储单元可以是存储器映射的(例如,与存储器地址空间内的(一个或多个)存储器地址相关联)。在一些实施例中,存储单元可以是诸如SRAM、DRAM之类或类似的存储器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ARM有限公司,未经ARM有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580067802.7/2.html,转载请声明来源钻瓜专利网。