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

任选地将1/0数据推入处理器高速缓存制造技术

技术编号:2835165 阅读:158 留言:0更新日期:2012-04-11 18:40
本发明专利技术的实施例一般地涉及一种用于计算系统实现一种被称为高速缓存推入的技术的方法、装置和系统。该高速缓存推入技术用任选地将数据推入另一个处理器的高速缓存而不改变存储器一致性模型的能力来增强单个写入器无效协议。

【技术实现步骤摘要】
【国外来华专利技术】任选地将I/O数据推入处理器高速缓存背景信息在例如因特网服务的计算系统中使用的处理器极为快速地处理数据并且需要 恒定的数据供应以高效工作。如果处理器需要从不在该处理器的内部高速缓存中的 存储器中获得数据,则会导致在检索数据的同时许多空闲的处理器时钟周期。某些 尝试改善处理器效率的现有技术的高速缓存方案涉及在数据一写入存储器就将其 推入高速缓存。这些现有技术方案的一个问题是如果是直到一段时间以后才需要该 数据,则该数据可能被盖写并且需要再次从存储器中取出,从而浪费了互连带宽。 这些现有技术方案的另一问题是在多处理器系统中并不总是能够确定哪个处理器 将需要该数据。附图简述本专利技术的各特征将从在附图中示出的较佳实施例的如下描述中显见,在各附 图中相同的标号通常指代相同的部分。各图没有必要按比例绘出,而是对示出本发 明原理的部分有所强调。附图说明图1是根据本专利技术一个实施例的用于实现高速缓存推入的示例性计算系统的 框图。图2是由图1的计算系统执行的用以任选地将I/0数据推入处理器高速缓存的 示例性方法的流程图。图3是由图l的计算系统执行的用以任选地将I/0数据从处理器高速缓存中丢 弃的示例性方法的流程图。图4是包括在由设备访问时使该设备实现本专利技术一个或多个实施例的一个或 多个方面的内容的示例性制品的框图。详细描述在随后的描述中,将出于解释性而非限制性的目的阐述诸如特定结构、架构、 接口、技术等的具体细节以提供对本专利技术各方面的全面理解。然而,对已从本专利公开中获益的本领域普通技术人员显而易见的是可以用不合这些具体细节的其他 示例来实现本专利技术的各方面。在某些情况中,省略了对公知设备、电路和方法的描 述以免用不必要的细节淡化对本专利技术的描述。本专利技术的实施例一般涉及一种用于计算系统实现被称为高速缓存推入的技术 的方法、装置和系统。该高速缓存推入技术用任选地将数据推入另一个处理器的高 速缓存而不改变存储器一致性模型的能力来增强单个写入器无效协议。该存储器一 致性模型可以是顺序一致性排序模型。顺序一致性模型是要求不同处理器上的程序 执行看上去应该像是在一个处理器内的程序执行的某种交错的存储器访问排序模 型。顺序一致性访问模型在对每个处理器都没有相对于来自同一处理器的先前的读 或写来重新排序读或写的情况下可以得到满足。通过在不改变一致性模型的情况下使该高速缓存推入技术无缝集成,避免了 对该计算系统任意其他部分或对用于该机器的编程模型的改变。此外,高速缓存推入可以在推入(或发生器)高速缓存或设备的控制下,因此可以被优化以避免对互 连带宽的浪费。此外,在适当时间将数据推入另一个处理器的高速缓存具有通过在 需要时将数据移动得离处理器更近来改善性能的优点。图1是根据本专利技术一个实施例的适用于实现高速缓存推入的示例性计算系统的框图。计算系统100旨在表示各种各样的传统和非传统计算系统、服务器、网络交换机、网络路由器、无线通信用户单元、无线通信电话基础元件、个人数字助理、 机顶盒,或者可从本专利技术教示中获益的任何电子设备中的任一种。根据示出的实施例,计算系统100可以包括一个或多个处理器102、 104、 106;高速缓存108、 110、 112;总线116;存储器118和1/0控制器120。处理器102、 104、 106可以表示各种各样的控制逻辑中的任一种,包括但不 限于微处理器、可编程逻辑器件(PLD)、可编程逻辑阵列(PLA)、专用集成电 路(ASIC)、微控制器等中的一个或多个,虽然本专利技术在这一方面不受限制。在 一个实施例中,计算系统100可以是web服务器,而处理器可以是一个或多个Intel Itanium 2处理器。在另一个实施例中,计算系统100可以是多芯片卡、板等等,或者是多处理 器部件,诸如芯片多处理器或多个芯片模块。芯片多处理器是含有多个处理核的单 个集成电路,其中每个处理核都是能够执行指令的处理装置。高速缓存108、 110、 112分别耦合至处理器102、 104、 106。各处理器可以具 有用于对数据和指令的低等待时间访问的内部高速缓冲存储器。当处理器执行所需的数据或指令不位于内部高速缓存中时,各处理器会尝试从存储器118中读取数据或指令。高速缓存108、 110、 112耦合至也与存储器118相耦合的总线116。总线116可以是点对点互连或者在其它实施例中可以是两点或多跃点总线。可以利用各种已知的或其他可用的总线、互连或其他通信协议以允许与诸如存储器、其他处理器、1/0部件、桥之类的其他外部部件通信。图1的计算系统的实施例可以包括多个处理器和多个高速缓存。这些处理器和高速缓存包括在其中通过高速缓存一致性机制保持各高速缓存彼此一致的多处理器系统。可以在处理器高速缓存和存储器互连中实现高速缓存一致性协议以保持各高速缓存一致性。该高速缓存一致性机制可以包括总线116内的额外的高速缓存一致性控制线。存储器118可以表示用于存储已被或将被存储器使用的数据和指令的任何种 类的存储器设备。虽然本专利技术在这一方面不受限制,但是存储器118通常由动态随 机存取存储器(DRAM)构成。在另一个实施例中,存储器118可以包括半导体存 储器。在又一个实施例中,存储器118可以包括诸如磁盘驱动器等磁性存储设备。 然而本专利技术不限于在此提及的各存储器示例。I/O控制器120耦合至总线116。 I/O控制器120可以表示将I/O设备122与计 算系统110的其他部件接口的任何种类的芯片组或控制逻辑。 一个或多个I/0设备 122可以表示为计算系统100提供输入或处理计算系统100的输出的任何种类的设 备、外围设备或部件。在一个实施例中,虽然本专利技术不限于此,但是至少一个I/0 设备122可以是能够执行直接存储器访问(DMA)操作以将数据复制到存储器118 中的网络接口控制器。在此方面,可以存在作为在接收到互联网协议(TCP/IP)分 组时由I/O设备122执行DMA的结果而由处理器102、 104、 106执行的带TCP/IP 栈的软件传输控制协议。然而,特别是I/0设备122,以及一般地本专利技术不限于网 络接口控制器。在其它实施例中,至少一个I/0设备122可以是图形控制器或磁盘 控制器,或者是可从本专利技术的教示中获益的另一个控制器。图2示出了由图1的计算系统执行的示例性方法的流程图。对本领域普通技 术人员显而易见的是虽然以下各操作被描述为顺序过程,但是许多操作实际上可以 并行或同时执行。此外还可以重新安排这些操作的次序而不背离本专利技术各实施例的 精神。根据一种实现,图2的方法200可以从计算系统100检测要由I/O设备122 之一写入存储器118的分组(205)开始。在一个实施例中,I/O设备发送一个指示该分组的细节的通信给计算系统100。在另一个实施例中,计算系统100可以通过监视对存储器的入站写入来检测分组。接着,将一中断发送至一特定处理器以通知该处理器访问该数据(210)。此 时该处理器不知道数据分组是在高速缓存内还是在1/0设备内。然后,与此同时(在 中断的影响下),I/O设备122可以将该分组直接推入处理器的高速缓存中(215)。 通过将分组直接推入高速缓存中,计算系统100能够避免由处理器从I/0设备中读 取分组而引起的额本文档来自技高网...

【技术保护点】
一种方法,包括:    响应于检测到传入数据而将来自输入/输出(I/O)设备的数据直接推入处理器的高速缓存中;以及    如果发生死锁则任选地丢弃所述数据。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:S慕克吉
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1