带有对所有权的请求且没有数据的预取的制作方法

文档序号:6485480阅读:156来源:国知局
带有对所有权的请求且没有数据的预取的制作方法
【专利摘要】本发明描述了一种由处理器执行的方法。该方法包括执行指令。该指令具有作为操作数的地址。该指令的执行包括把信号发送给处理器的高速缓存一致性协议逻辑。响应于该信号,高速缓存一致性协议逻辑发起对在该地址处的高速缓存线的所有权的请求。该高速缓存线不在处理器的高速缓存中。对所有权的请求也指示不把该高速缓存线发送给处理器。
【专利说明】带有对所有权的请求且没有数据的预取
[0001] 背景 发明领域
[0002] 本发明的领域通常涉及计算科学且尤其涉及带有对所有权的请求且没有数据的 预取。

【背景技术】
[0003] 图1示出具有多个处理器核心101_1到101_N的处理器100。每一核心具有其自 己的相应L1高速缓存102_1到102_N,但共享公共的系统存储器103。L1高速缓存102_1 到102_N的共同目的是通过把数据项保持在有可能对其进行操作的核心的高速缓存中来 最小化对共享存储器103的访问。然而,由于在不同的核心101_1到101_N上运行的相应 程序代码可能希望并发地对相同的数据项进行操作是完全可能的,实现"一致性"协议以便 确保数据项在计算系统内整体保持"一致"。
[0004] 通常使用的一致性协议是MESI协议。MESI协议把四种不同的状态中的一种指派 给任何高速缓存的项:1)修改(M) ;2)独占(E) ;3)共享(S);以及4)无效。处于Μ状态 的高速缓存线对应于"脏"高速缓存线,其包括还没有更新到共享存储器的近来已更新的数 据。处于Ε状态的高速缓存线对应于"清洁"的数据。即,其数据内容与共享存储器中其相 应的条目(即,相同的地址)相同。在处理器把新的数据写到处于Ε状态的高速缓存线时, 高速缓存线的状态被改变成Μ状态。在高速缓存线处于Μ状态时,在高速缓存线的相应地 址处批准对共享存储器的读取之前,必须把已更新的数据回写到共享存储器。回写到存储 器引起高速缓存线从Μ状态转变到Ε状态。
[0005] 处于S状态的高速缓存线通常对应于具有跨越各种高速缓存102_1到102_Ν的多 个副本的高速缓存线。在典型的情况中,高速缓存线的单个实例驻留在具体的处理器的高 速缓存中的Ε状态。如果另一处理器期望相同的高速缓存线,则把高速缓存线的第二副本 发送给请求的处理器。高速缓存线的状态因此从Ε改变成S,这是由于现在系统中存在高速 缓存线的两个副本。存在MESI协议的其他各方面。然而,这样的特征是公知的,且不需要 在这里讨论。
[0006] 如果处理器101_1到101_N中的任何期望对处于S状态的高速缓存线的副本写 入,贝 1J期望执行写入的处理器发起对高速缓存线的所有权的请求(request for ownership, RFO),该请求被广播给其他处理器。如果批准该RF0,则使得其他处理器的高速缓存中的高 速缓存线的任何其他副本无效(即,从S改变为I状态)。
[0007] 如果RF0被批准的处理器具有处于S状态的高速缓存线的本地副本,则RF0的批 准使得本地副本的状态转变到E状态,且随后的写入再次把状态从E状态改变成Μ状态。如 果RF0被批准的处理器在发起RF0时不具有高速缓存线的本地副本,作为RF0的批准的一 部分,从具有副本的其他处理器中的一个给它提供高速缓存线的副本。高速缓存线最初保 持在Ε状态。随后的写入把高速缓存线从Ε状态转变到Μ状态。
[0008] 在处理器发起对它期望写入的高速缓存线的RF0但在其自己的高速缓存中当前 不具有副本时,不能确保所期望的高速缓存线处于其他高速缓存中的任何。在这种情况中, 当其他高速缓存中的任何中不存在所期望的高速缓存线的实例时,从共享存储器取出高速 缓存线并将其提供给处于E状态的请求处理器的高速缓存。
[0009] 附图简述
[0010] 作为示例而非限制在附图的各图中阐释本发明,附图中,类似的标号指示类似的 元素,且附图中:
[0011] 图1示出多个处理器和系统存储器;
[0012] 图2示出用于发起RF0_N0DATA请求的方法;
[0013] 图3示出用于处理在批准RF0_N0DATA请求之后创建的高速缓存中的条目的方 法;
[0014] 图4示出用于插入引起硬件发起RF0_N0DATA请求的CLINITPREF Μ指令的程序代 码编译过程;
[0015] 图5示出具有能够处理RF0_N0DATA请求的缓存和系统存储器协议代理的多处理 器半导体芯片;
[0016] 图6示出能够执行CLINTPREF Μ指令的处理核心流水线;
[0017] 图7示出更详细的处理核心流水线;
[0018] 图8示出计算系统。
[0019] 详细描述
[0020] 概览
[0021] 从背景部分的讨论中回忆起,在处理器发起写入它当前在其自己的本地高速缓存 中不具有的高速缓存线的RF0时,不能确保所期望高速缓存线处于另一处理器的高速缓存 中。在这种情况中,被称为"高速缓存未命中",从共享存储器取出高速缓存线并将其输入到 请求处理器的高速缓存。
[0022] 然而,在请求处理器旨在写入到整个高速缓存线(而不是部分地写入到高速缓存 线)时,这种操作对应于低效率。在这里,高速缓存线通常被组织成不同的可单独寻址的部 分(例如,字节)。至少在其中处理器旨在把新的数据写入到这些可单独寻址的部分中的每 一个的情况下,在高速缓存未命中的情况中,从共享存储器取出高速缓存线没有任何作用。 艮Ρ,因为处理器旨在用新的数据完全盖写每一部分,浪费存储器带宽资源来取出将被完全 盖写的数据没有任何有用作用。
[0023] 图2涉及一种经改善的方法,其中,处理核心的指令集包括一种指令,如果程序代 码相信它将盖写整个高速缓存线,则程序代码可以调用该指令。根据图2的方法,多核心处 理器的处理核心支持指令CLINITPREF Μ,其充当硬件在地址Μ处预取高速缓存线的提示。
[0024] 执行CLINITPREF Μ指令的处理核心首先检查其自己的高速缓存以便得到高速缓 存线,201,且如果它存在(高速缓存命中),则该过程结束。如果高速缓存线不在处理器的 本地高速缓存中(本地高速缓存未命中),则处理器向其他处理核心发起RF0_N0DATA,202。 如果RF0_N0DATA得到批准,203,且另一高速缓存中存在高速缓存命中,204 ( S卩,其他处理 核心中的至少一个在其本地高速缓存中具有该高速缓存线),则其他处理器使得它们的高 速缓存线的本地副本无效。然而,不同于传统的已批准RF0和高速缓存命中,不把该高速缓 存线提供给请求处理核心205。类似地,如果RFO_NODATA得到批准,203,且高速缓存线不驻 留在其他处理核心的相应高速缓存中的任何(高速缓存未命中),则不从存储器取出所请 求的高速缓存线,206。
[0025] 相反,在一种实施例中,无需任何"真实"数据,在对所请求的高速缓存线发起RF0_ N0DATA的处理器的高速缓存中创建虚拟条目,207。理论上,通过在期望对高速缓存线的任 何其他访问(例如,读取或部分写入)之前执行随后的存储指令,处理器在虚拟高速缓存线 条目上完全写入。在这里,拒绝把高速缓存线转发给请求核心并且代之以创建虚拟条目,节 省了在各协议代理之间以及在协议代理和系统存储器之间的带宽/通信资源。
[0026] 虚拟条目可以被看作是具有一种新状态,该新状态被添加到MESI -致性协议中 的一组传统的MESI状态。具体地,虚拟条目可以被看作是处于N状态:独占的状态,且应进 一步理解,高速缓存线不具有数据(回忆起传统上经批准的RF0致使仅把高速缓存线的剩 余副本置于E状态)。
[0027] 理解了高速缓存线不具有数据,协议代理行为不同于如果高速缓存线处于传统的 E状态的情况。具体地,如图3中可见,如果在处理核心执行读取虚拟条目的加载指令或执 行仅部分地写入高速缓存线的存储指令303之前,该处理核心不能执行完全盖写高速缓存 线的存储指令302,则该具有虚拟条目301的处理核心使得虚拟条目无效303。此外,如果 由另一处理器做出对虚拟高速缓存线的读取或RF0请求,不是把高速缓存线转变到S状态 并执行读取/RF0请求(即,向请求处理器发送高速缓存线的副本),而是使得虚拟高速缓存 线无效(转变到I状态)并且不执行该请求。这迫使请求处理器从处于E状态的存储器接 收高速缓存线。
[0028] 注意,在各种实施例中,CLINITPREFM指令可以被看作是一种类型的预取指令,在 高速缓存线是需要完全盖写的问题时,该取出指令有效地给系统准备地址Μ处的高速缓存 线的完整盖写,而无需承受在各协议代理之间或在系统存储器接口上承受高速缓存线传输 的惩罚。因而,CLINITPREF Μ在指令程序代码的编译中尤其有用。
[0029] 在这里,参见图4,如果编译器识别将完全盖写高速缓存线的存储指令的存在, 401,则编译器可以把CLINITPREF指令插入到在存储指令前面的代码中,402。因而,在运行 时期间,首先执行CLINITPREF指令,其具有以下效果:i)使得其他处理核心中受影响的高 速缓存线的任何共享副本无效;ii)给予将完全盖写高速缓存线的处理核心高速缓存线的 独占所有权;以及iii)在处理核心的高速缓存中创建虚拟条目,以使得它将按其本地高速 缓存中的高速缓存命中处理存储操作。
[0030] 注意,与上面呈现的思想一致的各种实施例是可能的。例如,在其中处理核心将要 完全盖写高速缓存线的情况中,图2的方法避免了在各核心之间的高速缓存线传输和在系 统存储器接口上的高速缓存线传输两者的惩罚。
[0031] 在例如可以被实现为以系统性能的代价强加较不复杂的一致性协议逻辑的替代 实施例中,仅避免了跨越系统存储器接口的高速缓存线传输的惩罚。即,在请求处理核心发 起RF0_N0DATA请求时,把"无数据"部分附加到控制系统存储器访问的一致性协议逻辑的 组件,而不是与各个核心的本地高速缓存相关联的一致性协议逻辑的组件。
[0032] 因而,在处理核心发起RF0_N0DATA请求时,如果另一处理核心在其本地高速缓存 中具有高速缓存线,则把高速缓存线从具有该高速缓存线的处理核心转发给请求该高速缓 存线的处理核心。如果跨越所有处理核心的本地高速缓存发生高速缓存未命中,则控制对 系统存储器的访问的一致性逻辑理解,即使正常的高速缓存未命中应触发系统存储器的读 取,在RFO_NODATA的情况中,也不应做出这样的读取。
[0033] 在另一方法中,在指令中提供的提示,以指示在(例如多个)高速缓存未命中的情 况中所请求的高速缓存线应向请求处理核心移动多远。例如,图5示出具有多个处理核心 501_1 - 501_N(每一个都带有其自己的本地L1高速缓存502_1 - 502_N)和L2缓存层的多 处理器芯片,L2缓存层由不同的L2高速缓存"片"503_1 - 503_X组成,其中每一片负责缓 存不同的地址且具有其自己的关联一致性平面逻辑。交换核心509把各处理核心互连到L2 高速缓存代理和系统存储器控制器507。L1高速缓存、L2高速缓存片两者以及系统存储器 控制器507具有它们自己的相应协议代理逻辑电路504_1 - 504_N、505_1 - 505_X、508,用 于实现与在此提供的教导一致的RF0_N0DATA协议和N状态。
[0034] 注意,上面所描述的实施例中的任何都可以在图5中可见的系统中实现。具体 地,图5的系统如上所述操作,不同之处在于,响应于RF0_N0DATA请求的所有L1高速缓存 502_1到502_N中的未命中引起监听L2高速缓存。在第一实施例中,如果L2高速缓存中 存在命中,则使得L2高速缓存中的副本无效且不将其转发给请求处理器。在替代的实施例 中,使得L2高速缓存中的副本无效,但将其转发给请求处理器。替代的实施例浪费在L2高 速缓存和处理器之间的通信资源509,但使得L2缓存代理的逻辑保持比第一实施例更加简 单。如果L2高速缓存中存在未命中,则如刚才所描述的,该过程向系统存储器506行进。具 体地,根据任一实施例,系统存储器协议代理508可以被设计为像以上所描述的L2高速缓 存协议代理那样工作。
[0035] 与这些选项一致,在进一步的实施例中,在CLINITPREF Μ指令中提供指定在处理 器内的高速缓存线的数据移动的提示。即,系统可以被设计为支持以上所描述的实施例中 的每一个,并且,在该指令中指定哪一实施例生效。具体地,该指令可以采取CLINITPREF Μ h的形式,其中h是规定在L2高速缓存中的命中时L2缓存协议代理是把高速缓存线(该高 速缓存线是RF0_N0DATA的对象)向上移动到L1高速缓存还是不把高速缓存线移动到L1 1?速缓存的临时提不。
[0036] 单独地或组合地,临时提示h也可以指定在L2高速缓存未命中时系统存储器协议 代理508是应该从系统存储器506取出高速缓存线还是不从系统存储器506取出高速缓存 线。在进一步的实施例中,如果系统存储器协议代理508从系统存储器506取出高速缓存 线,则高速缓存线仅移动到L2高速缓存且不通过任何方式传送到请求处理器。这具有节省 在L2高速缓存和处理器(但不是系统存储器总线)之间的通信资源509的效果。在一种 实施例中,在指令的立即操作数中指定临时提示信息h。
[0037] 图6示出具有至少一个执行单元601的指令执行流水线600,至少一个执行单元 601耦合到具有该流水线的处理核心的(例如,L1)高速缓存一致性逻辑602。在一种实施 例中,响应于CLINITPREF Μ指令的执行,从执行单元601向高速缓存一致性逻辑602发送信 号,该信号触发对指令中所指定的地址Μ的RF0_N0DATA的发起。因此,该信号包括应当发 起RF0_N0DATA的某种指示以及地址M。可以把地址Μ从通用寄存器空间603路由到L1高 速缓存一致性逻辑,其中把地址Μ保存为指令的输入操作数。可以直接把地址Μ从寄存器 空间603路由到高速缓存协议代理逻辑602,或者可以通过流水线600路由地址Μ。在包含 临时提示信息的CLINITPREF M h指令的情况中,也把临时提示信息从执行单元601传送到 高速缓存一致性逻辑602,高速缓存一致性逻辑602把信息嵌入在RFO_NODATA请求中。
[0038] 图7示出一般的处理核心700,该处理核心700被认为是描述多种不同类型的 处理核架构,例如复杂指令集(CISC)、精简指令集(RISC)和超长指令字(VLIW)。图7的 处理核心可以耦合到图6中所叙述的L1高速缓存代理协议逻辑和寄存器空间,以便支持 CLINITPREF Μ指令的执行。
[0039] 图7的一般处理核700包括:1)获取单元703,其获取指令(例如,从高速缓存或 存储器);2)解码单元704,其解码指令;3)调度单元705,其确定到执行单元706的指令发 布的时序和/或顺序(注意,调度程序是任选的);4)执行单元706,其执行指令;5)引退单 元707,其表示指令的成功完成。值得注意的是,处理核部分地或完全地可以包括或可以不 包括控制执行单元706的微操作的微代码708。在前面的讨论中提及的指令执行资源/逻 辑可利用执行单元706内的执行单元中的一种或多种实现。
[0040] 也可以在各种计算系统中实现具有以上所描述的功能性的处理核心。图8示出 计算系统(例如,计算机)的实施例。图8的示例性计算系统包括:1) 一个或多个处理核 心801,其可以被设计为包括两个和三个寄存器标量整数和矢量指令执行;2)存储器控制 中枢(MCH)802 ;3)系统存储器803(存在不同类型的系统存储器,例如DDR RAM、EDO RAM 等等);4)高速缓存804 ;5)1/0控制中枢(ICH)805 ;6)图形处理器806 ;7)显示器/屏 幕807 (存在不同类型的显示器/屏幕,例如阴极射线管(CRT)、平面显示器、薄膜晶体管 (TFT)、液晶显示器(LCD)、DPL等等);8) -个或多个I/O设备808。
[0041] 一个或多个处理核心801执行指令以便执行计算系统实现的任何软件例程。指令 频繁地涉及某种类型的对数据执行的操作。数据和指令两者被存储在系统存储器803和高 速缓存804中。高速缓存804通常被设计成具有比系统存储器803更短的延迟时间。例如, 高速缓存804可以被集成到与(多个)处理器相同的硅芯片上和/或借助于较快的SRAM 单元来构建,同时系统存储器803可以借助于DRAM单元来构建。通过往往把更频繁地使用 的指令和数据存储在高速缓存804而不是系统存储器803中,改善了计算系统改善的总体 性能效率。
[0042] 有意使得系统存储器803可由在计算系统内的其他组件使用。例如,在软件程序 的实现中由一个或多个处理器801操作之前,从到计算系统的各种接口(例如,键盘和鼠 标、打印机端口、LAN端口、调制解调器端口等等)接收或从计算系统的内部存储元件(例 如,硬盘驱动器)检索的数据常常临时在系统存储器803中排队。类似地,软件程序确定应 当通过各计算系统接口中的一个从计算系统发送到外部实体或存储到内部存储元件的数 据在传输或存储之前常常临时在系统存储器803中排队。
[0043] ICH805负责确保在系统存储器803及其适当的相应计算系统接口(以及内部存储 设备,如果计算系统被设计为如此的话)之间适当地传输这样的数据。MCH802负责管理在 (多个)处理器801、接口和内部存储元件当中对系统存储器803访问的、可能相对于彼此 在时间上很接近地出现的各种竞争性请求。
[0044] 也在典型计算系统中实现一个或多个I/O设备808。I/O设备通常负责传输去往 和/或来自计算系统的数据(例如,联网适配器);或者负责在计算系统内的大规模非易失 性存储(例如,硬盘驱动器)。ICH805在自身和所示的I/O设备808之间具有双向点对点 链路。
[0045] 上面的讨论所教导的过程可以用程序代码来执行,例如引起机器执行这些指令以 便执行某些功能的机器可执行指令。在这一上下文中,"机器"可以是把中间形式(或者"抽 象")指令转换为处理器专用指令的机器(例如,抽象执行环境,例如"虚拟机"(例如,Java 虚拟机)、解释器、公共语言运行时、高级语言虚拟机等))和/或被设计为执行指令的、被放 置在半导体芯片上的电子电路(例如,用晶体管实现的"逻辑电路"),例如通用处理器和/ 或专用处理器。上面的讨论所教导的过程也可以由(在替代方案中,以一台机器或与机器 组合)被设计为执行该过程(或其部分)的电子电路执行,而无需执行程序代码。
[0046] 相信以上讨论所教导的过程也可按各种软件部署框架(例如微软公司的.NET、 Mono、Java,甲骨文公司的Fusion等)支持的各种面向对象或非面向对象的计算机编程语 言(例如,Java、C#、VB、Python、C、C++、J#、APL、Cobol、Fortran、Pascal、Perl 等)在源级 程序代码中描述。源级程序代码可被转换成中间形式的程序代码(诸如Java字节代码、微 软中间语言等),可将其理解为抽象执行环境(例如,Java虚拟机、公共语言运行时、高级语 言虚拟机、解释器等),或者可直接编译成对象代码。
[0047] 根据各种方法,通过1)编译中间形式的程序代码(例如在运行时间(例如JIT 编译器)),2)解释中间形式的程序代码或3)在运行时间编译中间形式的程序代码和解释 中间形式的程序代码的组合,抽象执行环境可将中间形式的程序代码转换成处理器专用代 码。抽象执行环境可运行在各种操作系统上(诸如UNIX、LINUX、包括Windows系列的微软 操作系统、包括MacOS X的苹果计算机操作系统、Sun/Solaris、OS/2、Novell等)。
[0048] 制品可用于存储程序代码。存储程序代码的制品可体现为但不限于一个或多个存 储器(例如,一个或多个闪存、随机存取存储器(静态、动态或其它))、光盘、CD-ROM、DVD ROM、EPROM、EEPR0M、磁或光卡或适于存储电子指令的其它类型的机器可读介质。还可从远 程计算机(例如,服务器)将程序代码作为体现在传播介质中的数据信号(例如,经由通信 链路(例如,网络连接))下载至请求计算机(例如,客户机)。
[〇〇49] 在前述的说明书中,已经参考其特定的示例性实施例描述了本发明。然而,将明显 看出,可以在不偏离所附权利要求中所陈述的本发明的宽广精神和范围的前提下对其做出 各种修改和改变。
【权利要求】
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. 一种由处理器执行的方法,包括: 执行指令,所述指令具有作为操作数的地址,所述指令的执行包括把信号发送给所述 处理器的高速缓存一致性协议逻辑; 响应于所述信号,所述高速缓存一致性协议逻辑发起对在所述地址处的高速缓存线的 所有权的请求,所述高速缓存线不在所述处理器的高速缓存中,所述对所有权的请求也指 示不把所述高速缓存线发送给所述处理器。
10. 如权利要求9所述的方法,进一步包括在所述高速缓存中为所述高速缓存线创建 虚拟条目。
11. 如权利要求10所述的方法,进一步包括如果对所述高速缓存线的下次访问不是对 所述高速缓存线的完全写入则使得所述虚拟条目无效。
12. 如权利要求11所述的方法,其特征在于,所述下次访问少于对所述高速缓存线的 完全写入。
13. 如权利要求11所述的方法,其特征在于,所述下次访问是所述高速缓存线的读取。
14. 如权利要求9所述的方法,进一步包括,响应于所述请求,把所述高速缓存线从系 统存储器移动到位于所述高速缓存和系统存储器之间的第二高速缓存。
15. -种具有多个处理核心的半导体芯片,包括: 所述处理核心的第一处理核心,具有第一高速缓存和第一高速缓存一致性逻辑,所述 第一高速缓存一致性逻辑发起对高速缓存线的所有权的请求,但即使所述高速缓存线不在 所述第一高速缓存中也无需响应于所述请求而接收所述高速缓存线,响应于所述第一处理 核心执行提示即将到来的程序代码旨在完全写入所述高速缓存线的提示指令,发起所述请 求。
16. 如权利要求15所述的半导体芯片,其特征在于,响应于接收对所述请求的批准,所 述第一高速缓存一致性逻辑在所述第一高速缓存中为所述高速缓存线创建虚拟条目。
17. 如权利要求16所述的半导体芯片,其特征在于,在所述处理器能够完全写入所述 高速缓存线之前,响应于发起对所述高速缓存线的读取请求,所述第一高速缓存一致性逻 辑使得所述虚拟条目无效。
18. 如权利要求16所述的半导体芯片,其特征在于,在所述处理器能够完全写入所述 高速缓存线之前,响应于所述处理器执行存储指令,所述第一高速缓存一致性逻辑使得所 述虚拟条目无效。
19. 如权利要求15所述的半导体芯片,其特征在于,所述指令包含在所述第一高速缓 存和系统存储器之间的第二高速缓存未命中的情况中判断是否从系统存储器读取所述高 速缓存线的临时提示信息。
20. 如权利要求15所述的半导体芯片,其特征在于,所述处理核心的指令处理流水线 的执行单元执行所述提示指令,所述执行单元被耦合到所述第一高速缓存一致性逻辑以便 发送要发起所述请求的信号。
【文档编号】G06F15/80GK104067266SQ201180076288
【公开日】2014年9月24日 申请日期:2011年12月22日 优先权日:2011年12月22日
【发明者】J·考博尔, L·K·吴, G·Z·克里斯沃斯, A·T·福塞斯, R·C·桑德拉拉曼 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1