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

用于使用分布式高速缓存器的方法和设备技术

技术编号:2868048 阅读:235 留言:0更新日期:2012-04-11 18:40
一种使用分布式高速缓存器的系统和方法。更具体来讲,本发明专利技术涉及一种可扩充的方法,该方法用于通过实现分布式高速缓存器来改善高速缓存器的带宽和等待时间性能。分布式高速缓存器消除了单一的单片式高速缓存器系统在结构上和实现方式上的不利影响。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

技术介绍
本专利技术涉及一种方法和设备,用于使用分布式高速缓存器(例如,处于超大规模集成电路(VLSI)设备中)。更具体来讲,本专利技术涉及一种可扩充的方法,该方法用于通过实现分布式高速缓存器来改善高速缓存器的带宽和等待时间性能。正如现有技术中所公知的,计算机系统中的系统高速缓存器用于增强现代计算机的系统性能。例如,高速缓存器可以通过保持最近存取的存储单元、以备它们被再次需要,在处理器和相对慢速的系统存储器之间维护数据。高速缓存器的存在使得处理器可以利用快速存取的高速缓存器中的数据,来连续地执行操作。从结构上来讲,系统高速缓存器被设计为“单片式”单元。为了向处理器核心给出来自多条流水线的同步读写访问,可以为单片式高速缓存器设备添加多个端口。然而,使用具有几个端口的单片式高速缓存器设备(例如,以两端口的单片式高速缓存器的方式),存在几种在结构以及实现方式方面的不利影响。对于两端口单片式高速缓存器设备的当前解决方案可能包括,对于来自两个端口的请求、为对这些请求进行的服务进行复用,或者提供两组地址、命令和数据端口。由于必须在多个端口之间共享高速缓存器资源,前一方案、也就是进行复用,限制了高速缓存性能。对来自两个端口的请求进行服务,可能会使有效的事务带宽减半,并且使最不利情况下的事务服务等待时间加倍。后一方案、也就是为每一客户设备提供独立的读/写端口,存在不可扩充的固有问题。在需要时增加额外的端口组,例如提供五组读和写端口,可能要求五个读端口和五个写端口。在单片式高速缓存器设备上,五端口高速缓存器可能显著地增加小片尺寸,而使得实施变得不切实际。此外,为了提供单一端口高速缓存器设备的有效带宽,新的高速缓存器可能需要支持五倍于原来的高速缓存器设备的带宽。当前单片式高速缓存器设备对于多端口来讲并不是最佳化的,也不是可获得的最高效的实现方式。正如现有技术中所公知的,已经在多处理器计算机系统设计中使用了多高速缓存器系统。实施了一致性协议,用于确保每一处理器仅仅从高速缓存器中检索数据的最新版本。换言之,高速缓存器一致性是多个高速缓存器中的数据的同步化,以致通过任一高速缓存器读一个存储单元,都将返回经由任何其他高速缓存器写入该存储单元的最新数据。可以为高速缓存数据增添MESI(修改-排他-共享-无效)一致性协议数据,以便对在各个高速缓存器内的、同一数据的多个拷贝进行仲裁和同步化。因而,处理器通常被称为“可高速缓存的”设备。然而,输入/输出部件(I/O部件)通常是不可高速缓存的设备,例如与外设部件互连总线(PCI规范,2.1版本)耦合的那些输入/输出部件。也就是说,它们通常没有实施由处理器使用的相同高速缓存器一致性协议。通常,I/O部件经由直接存储器存取(DMA)操作,从存储器或者可高速缓存的设备中检索数据。可以将I/O设备作为各个I/O桥接部件之间的连接点来提供,I/O部件连接到该I/O设备,并最终连接到处理器。输入/输出(I/O)设备还可以用作高速缓存I/O设备。也就是说,该I/O设备包括用于数据的、单一的单片式高速缓存资源。因此,由于一个I/O设备通常与几个客户端口耦合,所以单片式I/O高速缓存器设备将遭受与先前所论及的那些相同的、结构和性能方面的不利影响。当前I/O高速缓存器设备设计不是用于高性能系统的有效实现方式。鉴于上述情况,需要一种方法和设备,用于使用VLSI设备中的分布式高速缓存器。附图概述附图说明图1是采用本专利技术的一个实施例的处理器高速缓存器系统的一部分的方框图。图2是示出采用本专利技术的一个实施例的输入/输出高速缓存器设备的方框图。图3是示出采用本专利技术的一个实施例的入站一致性读事务的程序框图。图4是示出采用本专利技术的一个实施例的入站一致性写事务的程序框图。附图的详细说明参见图1,示出了采用本专利技术的一个实施例的处理器高速缓存器系统的方框图。在该实施例中,CPU125是从高速缓存器-一致性CPU设备100请求数据的处理器。所述高速缓存器-一致性CPU设备100通过对分布式高速缓存器110、115和120内的数据进行仲裁和同步化,实现一致性。CPU端口部件130、135和140例如可以包括系统RAM。然而,可以将用于CPU端口的任何适当的部件用作端口部件130、135和140。在该范例中,高速缓存器-一致性CPU设备100是一芯片组的一部分,该芯片组提供PCI总线,用于与I/O部件(下文中论及)接口以及与系统存储器和所述CPU接口。所述高速缓存器-一致性CPU设备100包括一致性引擎105,以及一个或多个读和写高速缓存器110、115和120。在高速缓存器-一致性CPU设备100的这一实施例中,一致性引擎105包含一个目录,用于对分布式高速缓存器110、115和120内的所有数据进行索引。所述一致性引擎105可以例如使用修改-排他-共享-无效(MESI)一致性协议,利用行状态MESI标记符对数据进行标记“M”状态(修改),“E”状态(排他),“S”状态(共享),或者“I”状态(无效)。来自任一CPU端口部件130、135或者140的高速缓存器的每一新请求都被对照一致性引擎105中的目录加以校验。如果请求不影响在任何其他高速缓存器中查找到的任何数据,则处理该事务。使用MESI标记符使得一致性引擎105可以在对同一数据进行读取和写入的诸高速缓存器之间进行快速仲裁,同时保持所有高速缓存器之间的所有数据被同步化和追踪。高速缓存器-一致性CPU设备100并没有采用单一的单片式高速缓存器,而是从物理上将高速缓存资源划分为更小的、更易实现的部分。高速缓存器110、115和120被分布到该设备上的所有端口,以致每一高速缓存器与一个端口部件相关联。依照本专利技术的一个实施例,高速缓存器110物理上位于与被服务的端口部件130邻近的设备上。类似地,高速缓存器115与端口部件135位置接近,高速缓存器120与端口部件140位置接近,从而减少了事务数据请求的等待时间。该方法将用于“高速缓存器命中”的等待时间最小化,并且提高了性能。高速缓存器命中是指在无需使用主(或者另一)存储器的情况下、可以被该高速缓存器满足的、对于从存储器进行读取的请求。该方案对于通过端口部件130、135和140预取的数据格外有用。此外,所述分布式高速缓存器结构改善了总带宽,使得每一端口部件130、135和140能够为每一读/写高速缓存器110、115和120使用整个事务带宽。依据本专利技术的这一实施例的分布式高速缓存器还在可扩充设计方面作出了改进。在使用单片式高速缓存器时,端口数目的增加可能导致CPU设备在设计方面几何上更加复杂(例如四个端口的CPU设备使用单片式高速缓存器将比一个端口的CPU设备复杂十六倍)。利用本专利技术的这一实施例,通过为增加的端口增加一个另外的高速缓存器、并且添加与一致性引擎的适当联系,另一端口的增加将被更容易地设计到CPU设备中。因此,分布式高速缓存器本质上是更可扩充的。参见图2,示出了采用本专利技术的一个实施例的输入/输出高速缓存器设备的方框图。在该实施例中,高速缓存器-一致性I/O设备200被连接到一致性主机,在这里一致性主机是前端总线225。所述高速缓存器-一致性I/O设备200通过对分布式高速缓存器210、215和220内的数据进行仲裁和同步化本文档来自技高网...

【技术保护点】
一种高速缓存器一致性设备,包括:多个客户端口,均与多个端口部件之一相耦合;多个子单元高速缓存器,均与所述多个客户端口之一相耦合,并且均被分配给所述多个端口部件之一;以及一致性引擎,与所述多个子单元高速缓存器相耦合。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:K克雷塔D贝尔R乔治
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1