用于多处理器系统中的片上数据传输的方法和系统的制作方法

文档序号:6421039阅读:119来源:国知局
专利名称:用于多处理器系统中的片上数据传输的方法和系统的制作方法
技术领域
本发明通常涉及内存管理方案,尤其涉及经由片上内部总线,使用高速缓冲存储器传送数据。
背景技术
在大型配置计算机系统中,应用数据从系统内存传送到处理器,然后,在相同组的运算数据能被其他处理器重用之前,运算数据将被往复地传送到系统内存。往复传输数据到系统存储器所消费的时间成为系统性能的大问题。如果系统设计没有很好优化,处理器将花费大多数时间等待可用数据。
在大型系统配置中,存储器有不同的层次,例如第一级(L1)高速缓冲存储器,第二级(L2)高速缓冲存储器,第三级(L3)高速缓冲存储器和系统存储器。L1高速缓冲存储器距离处理器最近,并且在多处理器系统中,通常不被其他处理器共享。典型的,L1高速缓冲存储器居于处理器内部,而L2高速缓冲存储器位于处理器外部。两个或更多个处理器可以共享L2高速缓冲存储器;然而,通常L2高速缓冲存储器连接到不同处理器。L3高速缓冲存储器比L2高速缓冲存储器距离处理器更远,而与系统存储器相比,距离处理器更近一些。这些高速缓冲存储器将数据存放在处理器附近,将会以更好的响应延迟重用数据。
然而,在多处理器系统中,当不直接连接到高速缓冲存储器的处理器请求数据时,高速缓冲存储器可能包括该数据。例如,第一处理器可能请求存储在与第二处理器相连,而不直接与第一处理器相连的L2高速缓冲存储器中的数据。在此例中,L2高速缓冲存储器中的请求数据不能直接传送到第一处理器。首先,此请求数据必须传送到系统存储器(或L3高速缓冲存储器),然后传送到第一处理器。这必定影响多处理器系统的性能,因为第一处理器必须等待请求的数据首先从高速缓冲存储器传送到系统存储器(或L3高速缓冲存储器),然后从系统存储器传送到第一处理器。
因此,需要一种为了改善计算机系统的性能,通过从高速缓冲存储器直接传送数据到任何一个请求数据的处理器的系统和方法。

发明内容
本发明提供了通过在不同处理器间提供直接数据传送,以改善计算机系统性能的系统和方法。此系统包括第一和第二处理器。第一处理器需要数据。系统还包括与第一处理器通信的目录。目录接收针对数据的数据请求,并且包括关于数据存储地址的信息。高速缓冲存储器连接到第二处理器。内部总线被连接在第一处理器和高速缓冲存储器之间,以便当发现数据存储在高速缓冲存储器中时,从高速缓冲存储器传输数据到第一处理器。


为了更完整地理解本发明及其优点,现在参照结合附图所进行的描述,其中图1的模块图说明了具有内部总线的计算机系统,所述总线用于在第一处理器和与第二处理器相连的高速缓冲存储器之间传送数据;图2的流程图说明了图1的计算机系统的操作。
具体实施例方式
在以下讨论中,提出多个特定的具体细节以提供对本发明的完整理解。然而,对于本领域的技术人员,即使没有这些特定的具体细节,本发明显然也可以实施。在其他实例中,为了不因不必要的细节而使本发明模糊,熟知的部分以示意图或模块图的形式示出。
还注意到,除非另外指出,这里说明的全部功能可以通过硬件或软件之一,或者它们的某种结合来执行。然而,在优选实施例中,除非另外指出,通过诸如计算机或电子数据处理器、基于例如计算机程序代码、软件的代码的处理器,和/或被编码以执行这些功能的集成电路来执行所述功能。
参考图1,通常用数字100指示计算机系统。计算机系统100包括第一处理器102,本地存储器103,直接存储器存取控制器(DMAC)104,第一总线控制器106,系统控制器108,系统存储器110,第二总线控制器112,高速缓冲存储器114,以及第二处理器116。
第一处理器102经由连接120连接到本地存储器103。第一处理器102还经由连接122连接到DMAC 104。DMAC经由连接123连接到本地存储器103。DMAC 104还经由连接124连接到第一总线控制器106。第一总线控制器106经由连接126连接到系统控制器108。系统控制器108存储目录128。系统控制器108经由连接130连接到系统存储器110。系统控制器108还经由连接132连接到第二总线控制器112。第二总线控制器112经由连接134连接到高速缓冲存储器114。高速缓冲存储器114经由连接136连接到第二处理器116。高速缓冲存储器114还经由连接138连接到本地存储器103。优选地,连接138包括片上内部总线。
第一处理器102建立从系统存储器110到本地存储器103的直接存储器存取(DMA)读取传送。DMAC 104发出针对数据的数据请求。经由连接124,DMAC 104传输数据请求到第一总线控制器106。然后,经由连接126,第一总线控制器106发送数据请求到系统控制器108。目录128包括关于数据存储位置的信息。
如果发现数据存储在高速缓冲存储器114中,那么经由连接132,系统控制器108传送数据请求到第二总线控制器112。之后,经由连接134,第二总线控制器112发送数据请求到高速缓冲存储器114。从高速缓冲存储器114中取得数据并经由连接138直接传送到本地存储器103。优选地,高速缓冲存储器114中可以包括高速缓冲存储器控制器(没有示出),以从高速缓冲存储器114中取得数据,并发送数据请求到本地存储器103。可选的,第一处理器102可以包括本地存储器103,或者用第一处理器102中的高速缓冲存储器(没有示出)替代本地存储器103,使得经由连接138,高速缓冲存储器114直接连接到第一处理器102。
如果发现数据存储在系统存储器110中,从系统存储器110中取得存储在系统存储器110中的数据,并经由连接130传送到系统控制器108。然后,经由连接126从系统控制器108传送数据到第一总线控制器106。之后,经由连接124,第一总线控制器106传送数据到DMAC 104。之后,经由连接123,DMAC 104传送数据到本地存储器103。
优选地,第二处理器116包括第一级(L1)高速缓冲存储器(没有示出)。在此情况下,高速缓冲存储器114是第二级(L2)高速缓冲存储器,而目录128存储在第三级(L3)高速缓冲存储器(没有示出)中。
优选地,第一处理器102是特殊的处理器,而第二处理器116是通用处理器。同样,计算机系统100可以被概括为具有多个通用处理器。在此情况下,以类似于第二处理器116和系统控制器108之间的连接的方式,在每个附加处理器(没有示出)和系统控制器108之间,可以连接附加的高速缓冲存储器(没有示出)和附加的总线控制器(没有示出)。
在图2中,流程图200图解了图1的计算机系统100的操作。在步骤202,针对第一处理器发出要求数据的数据请求。优选地,DMAC 104为第一处理器102发出数据请求。
在步骤204中,传送数据请求到目录。优选地,DMAC 104通过第一总线控制器106传送数据请求到系统控制器108。在此情况下,传送数据请求到居于系统控制器108中的目录128。
在步骤206中,确定请求的数据是否存储在第二处理器的高速缓冲存储器中。优选地,目录128确定请求的数据是否存储在第二处理器116的高速缓冲存储器114中。
如果在步骤206中确定请求的数据存储在第二处理器的高速缓冲存储器中,在步骤208中,传送数据请求到高速缓冲存储器。优选地,通过第二总线控制器112,目录128传送数据请求到高速缓冲存储器114。在步骤210中,经由内部总线,请求的数据直接从高速缓冲存储器传送到第一处理器。优选地,经由连接138,高速缓冲存储器114传送请求的数据到第一处理器102的本地存储器103。
如果在步骤206中确定请求的数据没有存储在第二处理器的高速缓冲存储器中,在步骤212中,传送数据请求到系统存储器。然后,在步骤214中,从系统存储器传送请求的数据到第一处理器。优选地,经由系统控制器108,第一总线控制器106以及DMAC 104,从系统存储器110传送请求的数据到第一处理器102。
从前述的说明将理解,在不违背本发明的真正精髓的前提下,可以在本发明的选优实施例中做不同的修改和变化。本说明书仅用作说明目的,并且不应被理解为限制性的。本发明的范围应该受限于下述权利要求。
权利要求
1.一种计算机系统,包括需要数据的第一处理器;第二处理器;与第一处理器通信的目录,该目录接收针对数据的数据请求,并且包括关于数据存储位置的信息;连接到第二处理器的高速缓冲存储器;和连接于第一处理器和高速缓冲存储器之间的内部总线,用于当发现数据存储在高速缓冲存储器中时,从高速缓冲存储器传输数据到第一处理器。
2.如权利要求1所述的计算机系统,还包括用于存储目录的系统控制器。
3.如权利要求2所述的计算机系统,其中高速缓冲存储器是第二级(L2)高速缓冲存储器。
4.如权利要求3所述的计算机系统,其中系统控制器包括用于存储目录的第三级(L3)高速缓冲存储器。
5.如权利要求1所述的计算机系统,还包括连接到目录的系统存储器。
6.如权利要求1所述的计算机系统,还包括连接到第一处理器的直接存储器存取控制器(DMAC),用于代表第一处理器发出数据请求。
7.如权利要求6所述的计算机系统,还包括连接在DMAC和目录之间的第一总线控制器,用于从DMAC发送数据请求到目录;和连接在高速缓冲存储器和目录之间的第二总线控制器,用于当发现数据存储在高速缓冲存储器中时,从目录发送数据到高速缓冲存储器。
8.如权利要求2所述的计算机系统,还包括连接到第一处理器的直接存储器存取控制器(DMAC),用于代表第一处理器发出数据请求。
9.如权利要求8所述的计算机系统,还包括连接在DMAC和系统控制器之间的第一总线控制器,用于从DMAC发送数据请求到目录;和连接在高速缓冲存储器和系统控制器之间的第二总线控制器,用于当发现数据存储在高速缓冲存储器中时,从目录发送数据请求到高速缓冲存储器。
10.如权利要求1所述的计算机系统,还包括连接到第一处理器的本地存储器,本地存储器经由内部总线连接到高速缓冲存储器。
11.如权利要求5所述的计算机系统,其中当发现数据存储在系统存储器中时,发送数据请求到系统存储器。
12.如权利要求11所述的计算机系统,其中数据从系统存储器110发送到第一处理器。
13.一种通过在不同处理器间提供直接数据传送而改善计算机系统的性能的方法,此方法包括步骤为第一处理器发出针对数据的数据请求;发送数据请求到目录;确定数据是否存储在第二处理器的高速缓冲存储器中;在确定数据存储在第二处理器的高速缓冲存储器中时,发送数据请求到高速缓冲存储器;和经由内部总线,直接从高速缓冲存储器发送数据到第一处理器。
14.如权利要求13所述的方法,还包括步骤在确定数据没有存储在第二处理器的高速缓冲存储器中时,发送数据请求到系统存储器;和从系统存储器发送数据到第一处理器。
15.如权利要求13所述的方法,其中发送数据请求到目录的步骤包括步骤从直接存储器存取控制器(DMAC)为第一处理器发送数据请求到第一总线控制器;和从第一总线控制器发送数据请求到目录。
16.如权利要求13所述的方法,其中,发送数据请求到高速缓冲存储器的步骤包括步骤从目录发送数据请求到第二总线控制器;和从第二总线控制器发送数据请求到高速缓冲存储器。
17.一种通过在不同处理器间提供直接数据传送以改善计算机系统性能的计算机系统,此计算机系统包括用于为第一处理器发出针对数据的数据请求的装置;用于发送数据请求到目录的装置;用于确定数据是否存储在第二处理器的高速缓冲存储器中的装置;用于在确定数据存储在第二处理器的高速缓冲存储器中时,发送数据请求到高速缓冲存储器的装置;和用于经由内部总线,直接从高速缓冲存储器发送数据到第一处理器的装置。
18.如权利要求17所述的计算机系统,还包括用于在确定数据没有存储在第二处理器的高速缓冲存储器中时,发送数据请求到系统存储器的装置;和用于从系统存储器发送数据到第一处理器的装置。
19.如权利要求17所述的计算机系统,其中用于发送数据请求到目录的装置包括用于从直接存储器存取控制器(DMAC)为第一处理器发送数据请求到第一总线控制器的装置;和用于从第一总线控制器发送数据请求到目录的装置。
20.如权利要求17所述的计算机系统,其中用于发送数据请求到高速缓冲存储器的装置包括用于从目录发送数据请求到第二总线控制器的装置;和用于从第二总线控制器发送数据请求到高速缓冲存储器的装置。
21.一种通过在不同处理器间提供直接数据传送以改善计算机系统性能的计算机程序产品,此计算机程序产品具有在其上实施计算机程序的介质,此计算机程序包括用于为第一处理器发出针对数据的数据请求的计算机程序代码;用于发送数据请求到目录的计算机程序代码;用于确定数据是否存储在第二处理器的高速缓冲存储器中的计算机程序代码;用于在确定数据存储在第二处理器的高速缓冲存储器中时,发送数据请求到高速缓冲存储器的计算机程序代码;和用于经由内部总线,直接从高速缓冲存储器发送数据到第一处理器的计算机程序代码。
22.如权利要求21所述的计算机程序产品,还包括用于在确定数据没有存储在第二处理器的高速缓冲存储器中时,发送数据请求到系统存储器的计算机程序代码;和用于从系统存储器发送数据到第一处理器的计算机程序代码。
23.如权利要求21所述的计算机程序产品,其中用于发送数据请求到目录的计算机程序代码包括用于从直接存储器存取控制器(DMAC)为第一处理器发送数据请求到第一总线控制器的计算机程序代码;和用于从第一总线控制器发送数据请求到目录的计算机程序代码。
24.如权利要求21所述的计算机程序产品,其中用于发送数据请求到高速缓冲存储器的计算机程序代码包括用于从目录发送数据请求到第二总线控制器的计算机程序代码;和用于从第二总线控制器发送数据请求到高速缓冲存储器的计算机程序代码。
全文摘要
为了改善计算机系统性能,在不同处理器间提供直接数据发送的系统和方法。系统包含第一和第二处理器。第一处理器需要数据。系统还包含与第一处理器通信的目录,目录接收要求数据的数据请求,并且包含关于数据存储位置的信息。高速缓冲存储器连接到第二处理器。连接于第一处理器和高速缓冲存储器之间的内部总线,当发现数据存储在高速缓冲存储器中时,从高速缓冲存储器传输数据到第一处理器。
文档编号G06F13/28GK1530842SQ200310119558
公开日2004年9月22日 申请日期2003年12月4日 优先权日2002年12月17日
发明者迈克尔·N·戴, 查尔斯·R·约翰斯, 詹姆斯·A·卡尔, 刘培军, 戴维·希比, 尚·Q·张, A 卡尔, R 约翰斯, ふ, 希比, 迈克尔 N 戴 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1