[发明专利]扩展高速缓存一致性协议以支持本地缓冲的数据的设备、处理器、系统和方法有效
| 申请号: | 200910261800.8 | 申请日: | 2009-12-28 |
| 公开(公告)号: | CN101770397B | 公开(公告)日: | 2017-07-11 |
| 发明(设计)人: | G·希菲尔;S·赖金;V·巴辛;E·科亨;O·马古利斯;R·萨德 | 申请(专利权)人: | 英特尔公司 |
| 主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/38 |
| 代理公司: | 中国专利代理(香港)有限公司72001 | 代理人: | 汤春龙,王洪斌 |
| 地址: | 美国加利*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 扩展 高速缓存 一致性 协议 支持 本地 缓冲 数据 | ||
技术领域
本发明涉及处理器执行领域,并且具体地说,涉及成群指令的执行。
背景技术
半导体加工和逻辑设计的发展允许增加可在集成电路装置上存在的逻辑量。因此,计算机系统配置已从系统中单个或多个集成电路发展到在各个集成电路上存在多核和多个逻辑处理器。处理器或集成电路一般包括单个处理器管芯,其中处理器管芯可包括任意数量的核或逻辑处理器。
集成电路上数量不断增大的核和逻辑处理器允许更多软件线程同时执行。然而,可同时执行的软件线程数量的增大造成了同步在软件线程之间共享的数据有关的问题。在多核或多个逻辑处理器系统中访问共享数据的一个常见解决方案包括使用锁来保证在对共享数据的多次访问之间的相互排斥。然而,不断增长的执行多个软件线程的能力可能导致错误争用和执行的串行化。
例如,假设有保存共享数据的哈希表。通过锁系统,程序员可锁定整个哈希表,允许一个线程访问整个哈希表。然而,其它线程的吞吐量和性能可能受到不利影响,因为它们在锁释放前无法访问哈希表中的任何项目。备选,可锁定哈希表中的每个项目。无论是哪一种方式,在将此简单的示例推断到大的可扩展程序中后,锁争用、串行化、精细颗粒同步及死锁避免的复杂性对程序员明显变成极为沉重的负担。
另一种最近的数据同步技术包括事务存储器(TM)的使用。事务执行经常包括执行一群多个微操作、操作或指令。在上述示例中,两个线程均在哈希表内执行,并且其存储器访问受到监视/跟踪。如果两个线程均访问/改变同一项目,则冲突消解可执行以确保数据有效性。一种类型的事务执行包括软件事务存储器(STM),其中,以软件形式执行存储器访问的跟踪、冲突消解、中止任务和其它事务任务,而经常无需硬件支持。
另一种类型的事务执行包括硬件事务存储器(HTM)系统,其中,包括硬件以支持访问跟踪、冲突消解和其它事务任务。以前的HTM利用单独的写入缓冲器结构缓冲到存储单元(memory location)的事务写入。然而,添加单独的缓冲器可能增加处理器的成本和复杂性及减缓事务提交过程。
发明内容
本发明的第一方面在于一种设备,包括:执行资源,执行引用与数据项相关联的地址的事务内的事务存储操作;以及耦合到所述执行资源的存储器,所述存储器响应所述执行资源执行所述事务存储操作而将所述数据项保持在缓冲一致性状态。
本发明的第二方面在于一种处理器,包括:高速缓冲存储器,响应执行存储操作而在要保持在缓冲一致性状态的高速缓存行中保存至少部分数据项,所述存储操作要引用所述数据项和要选择用于缓冲;以及与所述高速缓冲存储器相关联的控制逻辑部件,响应在所述高速缓存行保持在所述缓冲一致性状态时接收与所述高速缓存行相关联的外部访问请求,提供未命中响应。
本发明的第三方面在于一种设备,包括:高速缓冲存储器,响应所述数据项在事务内被事务性访问(transactionally accessed)而在要与缓冲一致性状态相关联的高速缓存行中保存至少部分数据项;以及与所述高速缓冲存储器相关联的控制逻辑部件,所述控制逻辑部件响应所述事务被提交而将所述高速缓存行从与所述缓冲一致性状态相关联转变为修改一致性状态。
本发明的第四方面在于一种系统,包括:处理器,包括存储器和耦合到所述存储器的控制逻辑部件,所述存储器包括用于响应所述数据项被事务性写入而保存至少部分数据项的、在缓冲状态的行,以及所述控制逻辑部件响应对在所述缓冲状态的所述行的本地访问请求而提供命中响应并且响应对在所述缓冲状态的所述行的非本地访问请求而提供未命中响应;以及耦合到所述处理器的输入/输出(I/O)装置。
本发明的第五方面在于一种方法,包括:遇到引用与数据项相关联的地址的事务存储;响应遇到所述事务存储,执行所述数据项的缓冲存储以将所述数据项与缓冲状态相关联;以及响应所述数据项与所述缓冲状态相关联,为对所述数据项的本地访问提供命中响应,并且为对所述数据项的外部访问提供未命中响应。
附图说明
本发明通过示例描述,并不是要限于附图的图形。
图1示出包括能够同时执行多个软件线程的多个处理部件(PE)的处理器的实施例。
图2示出将一致性状态与高速缓冲存储器中保存的数据项相关联的实施例。
图3示出包括缓冲状态的状态转变图的实施例。
图4示出用于确定是否要缓冲访问操作的方法的流程图的实施例。
图5示出用于支持缓冲数据的方法的流程图的实施例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910261800.8/2.html,转载请声明来源钻瓜专利网。





