用于多处理器系统中的片上数据传输的方法和系统技术方案

技术编号:2869305 阅读:164 留言:0更新日期:2012-04-11 18:40
一种计算机系统,包括:    需要数据的第一处理器;    第二处理器;    与第一处理器通信的目录,该目录接收针对数据的数据请求,并且包括关于数据存储位置的信息;    连接到第二处理器的高速缓冲存储器;和    连接于第一处理器和高速缓冲存储器之间的内部总线,用于当发现数据存储在高速缓冲存储器中时,从高速缓冲存储器传输数据到第一处理器。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术通常涉及内存管理方案,尤其涉及经由片上内部总线,使用高速缓冲存储器传送数据。
技术介绍
在大型配置计算机系统中,应用数据从系统内存传送到处理器,然后,在相同组的运算数据能被其他处理器重用之前,运算数据将被往复地传送到系统内存。往复传输数据到系统存储器所消费的时间成为系统性能的大问题。如果系统设计没有很好优化,处理器将花费大多数时间等待可用数据。在大型系统配置中,存储器有不同的层次,例如第一级(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传送数据请本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:迈克尔·N·戴查尔斯·R·约翰斯詹姆斯·A·卡尔刘培军戴维·希比尚·Q·张
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1