[发明专利]一种基于延迟栅栏同步操作指令的多核处理器同步方法有效
申请号: | 201910405943.5 | 申请日: | 2019-05-16 |
公开(公告)号: | CN110147253B | 公开(公告)日: | 2020-10-20 |
发明(设计)人: | 万江华;陈虎;汪东 | 申请(专利权)人: | 湖南毂梁微电子有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 周长清 |
地址: | 410000 湖南省长沙市芙蓉*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 延迟 栅栏 同步 操作 指令 多核 处理器 方法 | ||
本发明公开了一种基于延迟栅栏同步操作指令的多核处理器同步方法,为:所有参与核处理器在“同步达到站”发出该核处理器已到达同步的信号,在“同步检查站”确认参与栅栏同步的其他核处理器是否全部到达;若是,则该核处理器继续执行,否则进入等待状态,直到最后一个到达的核处理器发出的信号且被该核处理器检查到。所述“同步达到站”为“自身同步状态更新”所在的流水站;所述“同步检查站”为“查询他核同步状态”所在的流水站,且当“同步检查站”与“同步达到站”不是同一流水站且不紧邻的同步方式为“延迟同步”。本发明具有基于任意指令类型实现、能减少额外的栅栏同步操作、提高事务同步的效率等优点。
技术领域
本发明主要涉及到微处理器领域,特指一种具有支持延迟栅栏同步操作指令的多核处理器同步方法。
背景技术
在现代处理器中,一条指令从获取到执行完成通常需要经过多个流水线站,例如指令地址产生、指令存储器访问、指令发射、译码以及多个(1-N)个执行站等。
栅栏同步是多核处理过程中经常涉及的操作,它保证了多核之间的事务处理顺序。栅栏同步的实现方式均使用Load/Store类型指令操作存储器或内存映射寄存器,例如,有些处理器提供原子操作指令,通过这些原子操作指令对存储器进行操作,从而构建栅栏同步操作;还有一些处理器提供了硬件栅栏同步,软件通过存取指令操作相应内存映射寄存器,实现同步操作。
尽管栅栏同步操作广泛存在于现有处理器及系统当中,但是仍然有些不足。
首先,完成传统同步操作都需要额外的指令来进行,而这些指令所进行的数据访问仅与同步变量有关,而与被同步的事务毫无关系。在事务本身执行时间很短的情形下,这种额外操作的开销将超过事务本身。
其次,传统的同步操作将自身同步状态更新和查询他核同步状态两者绑定在一起执行,如原子操作的读改写。这种绑定意味自身同步状态更新和查询他核同步状态需要在同一指令周期或是紧邻的指令周期完成。然而,在一个多核处理器中核之间的物理距离往往较远,导致一个核的状态更新到该状态被其他核感知,通常需要耗费几个甚至十几个时钟周期。特别是在连续多次同步的情况下,即便多个核在刚刚完成同步不久,再次完成同步仍然需要等待最后一个核到达并被其他核感知。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种基于任意指令类型实现、能减少额外的栅栏同步操作、提高事务同步的效率的基于延迟栅栏同步操作指令的多核处理器同步方法。
为解决上述技术问题,本发明采用以下技术方案:
一种基于延迟栅栏同步操作指令的多核处理器同步方法,为:
所有参与栅栏同步的核处理器设置相同的同步计数,即所有参与栅栏同步的核处理器数量;所有参与栅栏同步的核处理器在进行同步时,均执行一条同步指令,同步指令在该指令的一指令流水站,发出该核处理器已到达栅栏的信号,该指令流水站为作为“同步达到站”;并在该同步指令的后续指令流水站确认参与栅栏同步的其他核处理器是否全部到达,该后续指令流水站为“同步检查站”;若是,则该核处理器继续执行,否则进入等待状态,直到最后一个到达的核处理器发出同步点达到信号且被该核处理器检查到;
所述“同步达到站”为“自身同步状态更新”所在的流水站;所述“同步检查站”为“查询他核同步状态”所在的流水站,且当“同步检查站”与“同步达到站”不是同一流水站且不紧邻的同步方式为“延迟同步”。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南毂梁微电子有限公司,未经湖南毂梁微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910405943.5/2.html,转载请声明来源钻瓜专利网。