当前位置: 首页 > 专利查询>英特尔公司专利>正文

带有对所有权的请求且没有数据的预取制造技术

技术编号:10467437 阅读:172 留言:0更新日期:2014-09-24 19:03
本发明专利技术描述了一种由处理器执行的方法。该方法包括执行指令。该指令具有作为操作数的地址。该指令的执行包括把信号发送给处理器的高速缓存一致性协议逻辑。响应于该信号,高速缓存一致性协议逻辑发起对在该地址处的高速缓存线的所有权的请求。该高速缓存线不在处理器的高速缓存中。对所有权的请求也指示不把该高速缓存线发送给处理器。

【技术实现步骤摘要】
【国外来华专利技术】带有对所有权的请求且没有数据的预取 背景 专利
本专利技术的领域通常涉及计算科学且尤其涉及带有对所有权的请求且没有数据的 预取。
技术介绍
图1示出具有多个处理器核心101_1到101_N的处理器100。每一核心具有其自 己的相应L1高速缓存102_1到102_N,但共享公共的系统存储器103。L1高速缓存102_1 到102_N的共同目的是通过把数据项保持在有可能对其进行操作的核心的高速缓存中来 最小化对共享存储器103的访问。然而,由于在不同的核心101_1到101_N上运行的相应 程序代码可能希望并发地对相同的数据项进行操作是完全可能的,实现一致性协议以便 确保数据项在计算系统内整体保持一致。 通常使用的一致性协议是MESI协议。MESI协议把四种不同的状态中的一种指派 给任何高速缓存的项:1)修改(M) ;2)独占(E) ;3)共享(S);以及4)无效。处于Μ状态 的高速缓存线对应于脏高速缓存线,其包括还没有更新到共享存储器的近来已更新的数 据。处于Ε状态的高速缓存线对应于清洁的数据。即,其数据内容与共享存储器中其相 应的条目(即,相同的地址)相同。在处理器把新的数据写到处于Ε状态的高速缓存线时, 高速缓存线的状态被改变成Μ状态。在高速缓存线处于Μ状态时,在高速缓存线的相应地 址处批准对共享存储器的读取之前,必须把已更新的数据回写到共享存储器。回写到存储 器引起高速缓存线从Μ状态转变到Ε状态。 处于S状态的高速缓存线通常对应于具有跨越各种高速缓存102_1到102_Ν的多 个副本的高速缓存线。在典型的情况中,高速缓存线的单个实例驻留在具体的处理器的高 速缓存中的Ε状态。如果另一处理器期望相同的高速缓存线,则把高速缓存线的第二副本 发送给请求的处理器。高速缓存线的状态因此从Ε改变成S,这是由于现在系统中存在高速 缓存线的两个副本。存在MESI协议的其他各方面。然而,这样的特征是公知的,且不需要 在这里讨论。 如果处理器101_1到101_N中的任何期望对处于S状态的高速缓存线的副本写 入,贝 1J期望执行写入的处理器发起对高速缓存线的所有权的请求(request for ownership, RFO),该请求被广播给其他处理器。如果批准该RF0,则使得其他处理器的高速缓存中的高 速缓存线的任何其他副本无效(即,从S改变为I状态)。 如果RF0被批准的处理器具有处于S状态的高速缓存线的本地副本,则RF0的批 准使得本地副本的状态转变到E状态,且随后的写入再次把状态从E状态改变成Μ状态。如 果RF0被批准的处理器在发起RF0时不具有高速缓存线的本地副本,作为RF0的批准的一 部分,从具有副本的其他处理器中的一个给它提供高速缓存线的副本。高速缓存线最初保 持在Ε状态。随后的写入把高速缓存线从Ε状态转变到Μ状态。 在处理器发起对它期望写入的高速缓存线的RF0但在其自己的高速缓存中当前 不具有副本时,不能确保所期望的高速缓存线处于其他高速缓存中的任何。在这种情况中, 当其他高速缓存中的任何中不存在所期望的高速缓存线的实例时,从共享存储器取出高速 缓存线并将其提供给处于E状态的请求处理器的高速缓存。 附图简述 作为示例而非限制在附图的各图中阐释本专利技术,附图中,类似的标号指示类似的 元素,且附图中: 图1示出多个处理器和系统存储器; 图2示出用于发起RF0_N0DATA请求的方法; 图3示出用于处理在批准RF0_N0DATA请求之后创建的高速缓存中的条目的方 法; 图4示出用于插入引起硬件发起RF0_N0DATA请求的CLINITPREF Μ指令的程序代 码编译过程; 图5示出具有能够处理RF0_N0DATA请求的缓存和系统存储器协议代理的多处理 器半导体芯片; 图6示出能够执行CLINTPREF Μ指令的处理核心流水线; 图7示出更详细的处理核心流水线; 图8示出计算系统。 详细描述 概览 从背景部分的讨论中回忆起,在处理器发起写入它当前在其自己的本地高速缓存 中不具有的高速缓存线的RF0时,不能确保所期望高速缓存线处于另一处理器的高速缓存 中。在这种情况中,被称为高速缓存未命中,从共享存储器取出高速缓存线并将其输入到 请求处理器的高速缓存。 然而,在请求处理器旨在写入到整个高速缓存线(而不是部分地写入到高速缓存 线)时,这种操作对应于低效率。在这里,高速缓存线通常被组织成不同的可单独寻址的部 分(例如,字节)。至少在其中处理器旨在把新的数据写入到这些可单独寻址的部分中的每 一个的情况下,在高速缓存未命中的情况中,从共享存储器取出高速缓存线没有任何作用。 艮Ρ,因为处理器旨在用新的数据完全盖写每一部分,浪费存储器带宽资源来取出将被完全 盖写的数据没有任何有用作用。 图2涉及一种经改善的方法,其中,处理核心的指令集包括一种指令,如果程序代 码相信它将盖写整个高速缓存线,则程序代码可以调用该指令。根据图2的方法,多核心处 理器的处理核心支持指令CLINITPREF Μ,其充当硬件在地址Μ处预取高速缓存线的提示。 执行CLINITPREF Μ指令的处理核心首先检查其自己的高速缓存以便得到高速缓 存线,201,且如果它存在(高速缓存命中),则该过程结束。如果高速缓存线不在处理器的 本地高速缓存中(本地高速缓存未命中),则处理器向其他处理核心发起RF0_N0DATA,202。 如果RF0_N0DATA得到批准,203,且另一高速缓存中存在高速缓存命中,204 ( S卩,其他处理 核心中的至少一个在其本地高速缓存中具有该高速缓存线),则其他处理器使得它们的高 速缓存线的本地副本无效。然而,不同于传统的已批准RF0和高速缓存命中,不把该高速缓 存线提供给请求处理核心205。类似地,如果RFO_NODATA得到批准,203,且高速缓存线不驻 留在其他处理核心的相应高速缓存中的任何(高速缓存未命中),则不从存储器取出所请 求的高速缓存线,206。 相反,在一种实施例中,无需任何真实数据,在对所请求的高速缓存线发起RF0_ N0DATA的处理器的高速缓存中创建虚拟条目,207。理论上,通过在期望对高速缓存线的任 何其他访问(例如,读取或部分写入)之前执行随后的存储指令,处理器在虚拟高速缓存线 条目上完全写入。在这里,拒绝把高速缓存线转发给请求核心并且代之以创建虚拟条目,节 省了在各协议代理之间以及在协议代理和系统存储器之间的带宽/通信资源。 虚拟条目可以被看作是具有一种新状态,该新状态被添加到MESI -致性协议中 的一组传统的MESI状态。具体地,虚拟条目可以被看作是处于N状态:独占的状态,且应进 一步理解,高速缓存线不具有数据(回忆起传统上经批准的RF0致使仅把高速缓存线的剩 余副本置于E状态)。 理解了高速缓存线不具有数据,协议代理行为不同于如果高速缓存线处于传统的 E状态的情况。具体地,如图3中可见,如果在处理核心执行读取虚拟条目的加载指令或执 行仅部分地写入高速缓存线的存储指令303之前,该处理核心不能执行完全盖写高速缓存 线的存储指令302,则该具有虚拟条目301的处理核心使得虚拟条目无效303本文档来自技高网...
带有对所有权的请求且没有数据的预取

【技术保护点】
一种半导体芯片,其具有多个处理核心,包括:所述处理核心的第一处理核心,具有第一L1高速缓存和第一L1高速缓存一致性逻辑,所述第一L1高速缓存一致性逻辑发起对高速缓存线的所有权的请求,但无需响应于所述请求接收所述高速缓存线,响应于所述第一处理核心执行提示即将到来的程序代码旨在完全写入所述高速缓存线的提示指令,发起所述请求。

【技术特征摘要】
【国外来华专利技术】1. 一种半导体芯片,其具有多个处理核心,包括: 所述处理核心的第一处理核心,具有第一 L1高速缓存和第一 L1高速缓存一致性逻辑, 所述第一 L1高速缓存一致性逻辑发起对高速缓存线的所有权的请求,但无需响应于所述 请求接收所述高速缓存线,响应于所述第一处理核心执行提示即将到来的程序代码旨在完 全写入所述高速缓存线的提示指令,发起所述请求。2. 如权利要求1所述的半导体芯片,其特征在于,响应于接收对所述请求的批准,所述 第一 L1高速缓存一致性逻辑在所述第一处理核心的L1高速缓存中为所述高速缓存线创建 虚拟条目。3. 如权利要求2所述的半导体芯片,其特征在于,在所述处理器能够完全写入所述高 速缓存线之前,响应于发起对所述高速缓存线的读取请求,所述第一 L1高速缓存一致性逻 辑使得所述虚拟条目无效。4. 如权利要求2所述的半导体芯片,其特征在于,在所述处理器能够完全写入所述高 速缓存线之前,响应于所述处理器执行存储指令,所述第一 L1高速缓存一致性逻辑使得所 述虚拟条目无效。5. 如权利要求1所述的半导体芯片,其特征在于,在L2高速缓存未命中的情况中,所述 指令包含判断是否从系统存储器读取所述高速缓存线的临时提示信息。6. 如权利要求1所述的半导体芯片,其特征在于,所述处理核心的指令处理流水线的 执行单元执行所述提示指令,所述执行单元耦合到所述第一 L1高速缓存一致性逻辑,以便 发送应发起所述请求的信号。7. 如权利要求1所述的半导体芯片,进一步包括L2高速缓存一致性逻辑,所述L2高速 缓存一致性逻辑被设计为在L2高速缓存命中的情况中响应于所述请求不把所述高速缓存 线转发给所述处理核心。8. 如权利要求1所述的半导体芯片,进一步包括系统存储器一致性逻辑,所述系统存 储器一致性逻辑被设计为在L2高速缓存未命中的情况中响应于所述请求不从系统存储器 取出所述高速缓存线。9. 一种由处理器执行的方法,包括: 执行指令,所述指令具有作为操作数的地址,所述指令的执行包括把信号发送给所述 处理器的高速缓存一致性协议逻辑; 响应于所述信号,所述高速缓存一致性协议逻辑发起对在所述地址处的高速缓存线的 所有权的请求,所述高速缓存线不在所述处理器的高速缓存...

【专利技术属性】
技术研发人员:J·考博尔L·K·吴G·Z·克里斯沃斯A·T·福塞斯R·C·桑德拉拉曼
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1