本发明大体上涉及提高数据处理系统中的数据传送效率,特别涉及在多处理机数据处理系统中提高数据传送效率的方法和系统。更详细地说,本发明涉及的是一种方法和系统,它在确定该传送是否会导致数据一致性问题之前,先在多处理机数据处理系统内进行推测性的数据传送,然后,若随后在公用总线上出现所选的控制信号,则禁止把数据传送到多个处理机之一,因为该选择的控制信号表明,尝试的动作会在多处理机数据处理系统内破坏数据一致性。 现代化的数据处理系统的设计人员一直在试图提高这类系统的性能。提高数据处理系统效率的一项技术,就是在系统内设置多个处理机。多处理机数据处理系统内的每个处理机一般都有一个小的专用存储器或“超高速缓存”,它以熟悉这项技术的人们所熟知的方式,被优先用于存取系统存储器内的数据或批令。在数据处理技术领域内,超高速缓冲存储器的容量和用途是人们所熟悉的一个子学科,本应用中将不予论述。但是,熟悉这项技术的人们都会知道,通过利用现代化的相联超高速缓存技术,系统内部的大部分存储器存取操作都可利用暂时存储在超高速缓存/存储器接口内的数据来实现。
在存储器被分布成较小的超高速缓存地多处理机系统内会发生的一个问题,是某些超高速缓存操作会迫使一台处理机将与其相联的超高速缓存内的一个数据块冲掉并/或使之作废。在单处理机环境下,这是一种相对简单的操作,因为这个数据块只可能存在于两个地点之一处。也就是说,或是在超高速缓存内,或是在主存储器内。但是,在多处理机环境下,这些功能被一个事实复杂化了,即其它处理机在相联的超高速缓存内也可能有同样的数据块,而那个数据块可能未被修改或已修改。
在多处理机系统中保持数据一致性的一种方法要求,在将数据实际传送到发出请求的微处理机之前,必须确认该数据为“良好数据”。在进行检验时,在这些系统中会产生时间延迟。在每个处理机都可能有其自己的超高速缓存的多处理机系统中,由于必须检验每个超高速缓存,因而时间延迟就会增加。这是因为要允许每个处理机“窥探”公用总线上的动作,以便探查因访问数据而可能引起数据一致性问题的请求。
因此,显然需要一种能提高数据传送效率的方法和系统。它在确定是否存在数据一致性问题之前,允许在多处理机数据处理系统内假设传送数据,然后,若公用总线上出现能表明该尝试动作会破坏数据一致性的选择控制信号,则禁止实现该数据传送。
因此,本发明的一个目的是提高数据处理系统中的数据传送效率。
本发明的另一个目的是提供一种提高多处理机数据处理系统中的数据传送效率的改进了的方法和系统。
本发明还有一个目的,就是提供一种改进了的方法和系统,它在确定该数据传送是否会引起数据一致性问题之前,先在多处理机数据处理系统内假设传送数据,然后,若随后在公用总线上出现能表明该试图进行的动作将会在多处理机数据处理系统内破坏数据一致性的选择控制信号时,禁止将数据传送到多个处理机之一。
上述目的是按下面的描述实现的。这里提供了一种在数据处理系统中提高从存储器到多个处理机的数据传送效率的方法和系统。多个处理机中的每个处理机都有一个供存储数据用的相联缓冲器,而这些数据是通过把处理机和存储器连在一起的公用总线传送的。多个处理机中的每个处理机连续监控着公用总线,并能根据多个处理机中的另一个处理机的尝试动作确定一个选择控制信号,该尝试动作会在其后的一个特定的时间间隔内破坏数据处理系统内的数据一致性。在这个特定的时间间隔期满之前以及在确定这次传送是否将导致可能的数据一致性问题之前,根据多处理机系统中某个处理机的请求,数据将从存储器被传送到与处理机相联的缓冲器并存储在该缓冲器中。在特定的时间间隔内,公用总线连续受到监控。在特定的时间间隔期满之前,若公用总线上出现被选控制信号,将禁止把数据从缓冲器传送到该处理机。在公用总线上没有被选控制信号时,将允许把数据从存储器传送到该处理机。
从下面的详细书面说明中,本发明的上述一切以及另外的目的、特征和优点将看得更为明显。
在后附的权利要求书中,提出了本发明所特有的新颖特征。但是,发明本身及其最佳使用方式、进一步的目的及优点,将会在结合附图阅读下面解说实施例的详细说明时得到最好的理解。在这些附图中:
图1是描述多处理机数据处理系统的高层框图,该系统可用来实现本发明的方法和系统;
图2是图1多处理机数据处理系统中的超高速缓冲存储器/总线接口的高层框图;
图3是按照本发明描述数据传送的时序图;
图4则是说明按照本发明将数据从缓冲器传送到与该缓冲器相联的处理机的高层流程图。
现在参阅附图,特别是图1,它是说明多处理机数据处理系统6的高层框图。系统6可用来实现本发明的方法和系统。如图所示,多处理机数据处理系统6可用多标量处理机10组成,每个处理机10都利用总线8与系统存储器18连接。在象多处理机数据处理系统6这样的紧耦合对称式多处理机系统中,多处理机数据处理系统6内的每个处理机10皆可用来从存储器8中读出和写入存储器18。
如图1所示,以及在此处将要更详细说明的,多处理机数据处理系统6内的每个处理机10都包括一个超高速缓冲存储器40,后者可用来有效地和暂时地访问并存储来自系统存储器18的被选的指令或数据。考虑到超高速缓冲存储器构成一个存储空间的事实,为了确保其正确运行,重要的是要保持多处理机数据处理系统6内每个超高速缓冲存储器之间的一致性。除了超高速缓存40之外,在存储器18和总线8之间还可设置二级超高速缓存20或辅助超高速缓冲。设置二级超高速缓存是为了提高数据传送效率。一般说来,二极超高速缓存20要比超高速缓存40更大并可存储更多的数据,但它的响应时间较慢。二级超高速缓存20中除了有处理机10之一可能请求的其它数据之外,还包括存储在超高速缓存40中的数据的拷贝。因此,在增加了二级超高速缓存20之后,在超高速缓存40或二级超高速缓存20中找到处理机10之一所请求的数据的可能性就加大了。
现在参阅图2,该图给出了图1多处理机数据处理系统中的超高速缓冲存储器/总线接口的高层框图。如图所示,超高速缓冲存储器40通过存储器队列60与总线8连接。根据本发明的一项重要特征,装入并存储到超高速缓冲存储器40是通过输入队列42与超高速缓冲存储器40的连接实现的。访问超高速缓冲存储器40是以在这项技术中具有一般技能的人们所熟知的方式,通过超高速缓存仲裁控制48进行的。
如图所示,在超高速缓冲存储器40内,一般设置有多个超高速缓冲标记52。每个超高速缓存标记被用来指定并控制对超高速缓冲存储器内的超高速缓存数据50进行存取。此外,在超高速缓冲存储器40内还设有超高速缓冲状态段54,它用来为超高速缓冲存储器40中的每个项目提供超高速缓存状态指示。在本发明的这个实施例中,使用了一般称为“MESI”的四态超高速缓冲协议。熟悉这项技术的人们都会知道,这四个字母中的每个字母对应于超高速缓冲存储器内数据的一个特定状态。因此,这四个状态分别为“修改”、“互斥”、“共享”和“无效”。此外,在超高速缓冲存储器40内还有一个最近最少使用协议56。正如在这项技术中具有一般技能的人们所知道的,利用最近最少使用协议56以便确定,如果由于所要求的数据在超高速缓存中并不存在,因而必须把另外的数据输入超高速缓冲存储器40时,必须把什么数据从超高速缓冲存储器40内消除。
在多处理机系统内,多处理机可能会试图在大致同一个时间,去访问或修改同一个数据。为了保持数据一致性,处理机10通过把总线8上的所有数据输入读缓冲器64,来监控或“窥探”其它处理机的动作。从而每个处理机10就可确定,另一个处理机10的动作是否会破坏数据一致性。如果数据一致性会被违反时,处理机10必须在总线8上认定一个被选控制信号,该信号会指出可能的数据一致性问题。读缓冲器64中的数据就被置入再装入缓冲器66。如果数据一致性会被违反时,再装入缓冲器66中的数据就被禁止传送给处理机10。
总线控制逻辑62向再装入缓冲器指出,在尝试动作之后的一个特定时间间隔内,总线8上是否会有被选控制信号。如果在尝试动作之后的特定时间间隔内没有被选控制信号时,再装入缓冲器66中的数据就被放入超高速缓存仲裁48。
现在参看图3,它画出了本发明数据传送的时序图。信号70说明一个同步总线,它为所画的其它信号确定时钟。信号71说明地址及地址重合控制信号。信号72描绘地址总线周期的开始。处理机10之一可通过传送数据地址请求数据。接着,信号74确认地址传送结束。信号76表示授予数据总线使用权,它一般为数据传送所要求。此后,信号78确认数据被传送处理机10。这项认可是与实际的数据传送同时发生的。信号80画出总线8上的数据,这些数据与信号72和74所描绘的被传送地址有关。
接着,信号82说明从总线8来的数据现在在读缓冲器64中。如图解所示,数据是在时钟周期3内被传送到读缓冲器64的,而对这项数据传送的认可则已在时钟周期2内发生。然后,如信号84所画的那样,数据在时钟周期4内被传送并装入缓冲器66。如图所示,在这个时间内,处理机10监控着总线8并可检测到信号86的存在。当检测到数据一致性问题时,即要求有信号86。如果检测到信号86则不再要求信号88,并从而禁止把数据传送到处理机。但是,如果未检测到信号86,信号88未被要求,数据即可象信号90所描绘的那样,被传送到处理机。
再看图4,它画出了根据本发明的方法和系统,把数据从系统存储器传送到与处理机相联的缓冲器的高层流程图。如图所示,过程从框100开始,然后转到方框102。方框102说明,在多处理机数据处理系统6内,一个处理机的数据传送请求开始。这个开始是随着请求数据和把该数据的地址传送到总线8上而发生的。
其次,根据本发明的一个重要特征,下面的两个过程是同时发生的。也就是说,方框104说明在特定的时间间隔内对公用总线连续监控,在该时间间隔内,其它处理机可能会指出伴随数据传送而产生的数据一致性问题。与此同时,方框106说明在允许的时间间隔内把数据传送到与启动的处理机相联的缓冲器,而在该时间间隔内,其它处理机可能指出可能发生的数据一致性问题。熟悉这项技术的人们都会知道,这样,在为确定是否存在数据一致性问题所需的等待时间期满之前,即可把数据从高速的超高速缓冲存储器迅速传送出去,从而极大地提高了数据传送效率。
然后,参阅方框108。它说明,在允许其它处理机指出数据一致性问题的可能性的时间间隔期满之前,要确定在公用总线上是否有地址重试或“ARETRY”信号。“ARETRY”信号在这类系统中一般被处理机用来显示数据一致性问题的可能性,它可能会被反复要求,直至数据一致性问题被产生ARETRY信号的处理机解决的时候为止。如果系统内的一个备用处理机要求ARETRY信号,过程就转到方框110。
方框110说明禁止把数据从缓冲器传送到相联的处理机。这样,在实际确定是否可能有数据一致性问题之前,数据可能从存储器被传送到与处理机相联的缓冲器,然后,如果在总线上出现表明有可能存在一致性问题的信号时,将有选择地禁止把该数据从缓冲器传送到处理机。其后,过程转到方框112,并返回等待出现下一次传送。
现在再返回到方框108。如果在允许有ARETRY信号的那段时间间隔期满之前,另外的处理机在公用总线上没有要求该信号时,过程即转到方框114。方框114表明要立即把该数据从缓冲器传送到与其相联的处理机,从而极大地提高了可把数据传送给处理机的速度和效率。这样,本发明的方法和系统不是等待一段时间,在这段时间里,另外的处理机可能指出数据一致性问题的可能性、并在其后启动把数据从存储器传送到处理机,而是允许推测性地把数据从存储器传送到与处理机相联的缓冲器,然后根据有没有出现指出数据一致性问题的可能性的信号,决定是否把该数据从缓冲器传送到相联的处理机。在把数据从缓冲器传送到相联的处理机之后,过程又转到方框112,并返回等待下一次数据传送。
在参照最佳实施例对本发明予以特殊展示和说明的同时,熟悉这项技术的人们将会理解,在不背离本发明的精神和范围的情况下,由此可实现形式和细节上的各种不同变化。