用于编织排序的设备和方法

文档序号:6417402阅读:302来源:国知局
专利名称:用于编织排序的设备和方法
技术领域
本发明一般而言涉及数据处理系统,尤其是,涉及在多处理器节点数据处理系统结构中事务处理的排序。
现代数据处理系统编入许多处理节点。每个节点本身包括一个或多个中央处理单元(“CPU”),系统存贮器,其本身可包括高速缓存存贮器,外围设备,以及连接系统总线至外围总线的外围主桥(“PHB”)。
此外,具有多处理器的现代数据处理系统可以实现一种共享存贮器环境。在这样的环境中,在一个节点中的一个处理器或多个处理器可以存取其它节点中的存贮器。实现多节点上共享存贮器的典型环境是非均匀存贮器存取(NUMA)环境和只高速缓存存贮器存取(COMA)环境。另外,在这些系统中希望通过每个节点中的设备实现既到本地存贮器也到远距离存贮器的直接存贮器存取(DMA)。
在这样一种NUMA或COMA系统中的节点通过一种称为“编织器”的设备连接,这种设备传递在其间的事务。越过编织器的节点对节点的事务可以包括对I/O设备的加载/存贮(L/S)操作和DMA对等关系的事务,除非编织器包括一种事务排序的机构,否则这些事务可能引起相干性损失。相干性抑制可以由每个节点中CPU的结构强加上的,也可以由每个节点中总线的结构强加上的。此外,事务排序必须被强加上以避免死锁及保证在I/O中断后系统相干域中的数据。因此,在技术上需要一种设备与方法,用于在一种共享存贮器环境中连接多重节点的编织器上实现事务排序规则。
本发明解决了上面提到的需要。因此,在此以第一形式提供包括编织器桥的一种数据处理系统。该编织器桥用于在数据处理系统中的节点之间传递事务,编织器控制节点间事务的顺序,其中,编织桥确定前面事务和后继事务的排序。该排序是后继事务可以绕过前面的事务,必须绕过前面的事务,和不允许绕过前面的事务之中的一种,其中所述的事务序列包括对输入/输出(I/O)设备的加载/存贮(L/S),和直接存贮器存取(DMA)对等关系事务。
在此也以第二形式提供一种数据处理系统中节点之间传递事务的方法。此方法包括步骤通过确定前面事务和后继事务的排序来控制节点间事务顺序,该排序是后继事务可以绕过前面的事务,必须绕过前面的事务,和不允许绕过前面的事务之中的一种,其中所述的事务序列包括对输入/输出(I/O)设备的加载存贮(L/S),和直接存贮器存取(DMA)对等关系事务。
此外,在此以第三形式提供一种可操作的计算机程序产品,用于在程序存贮媒介上存贮,此程序产品可用于在数据处理系统中节点之间的事务传递。该程序产品包括通过确定前面事务与后继事务的排序来控制节点之间事务的顺序的编程,该排序是后继事务可以绕过前面事务,必须绕过前面事务,和必须不绕过前面事务之中的一种,其中所述的事务序列包括对输入/输出(I/O)设备的加载/存贮(L/S),和直接存贮器存取(DMA)对等关系的事务。
以上已经相当广泛扼要地叙述了本发明的特征和技术优点,以便更好地理解后续的发明详述。以下将描述本发明另外的特征和优点,这些构成本发明的权利要求的主题。
为了更全面地理解本发明,及其优点,在此参考结合附图所做的下列描述,其中

图1用作说明依据本发明的一个实施方案的一种共享存贮器数据处理系统;图2A以方框图的形式,用作说明依据本发明的一个实施方案的一种编织器桥;图2B以方框图的形式,用作说明依据本发明的一种替代的实施方案的一种编织器桥;图3以流程图的形式,用作说明依据本发明的一种实施方案的一种事务排序方法;和图4以表格形式,说明由图3中的方法实现的排序规则。
本发明提供一种机构,用于在一个共享资源数据处理系统环境中通过连接多重节点的一个编织器对L/S到I/O,DMA对等关系事务,L/S到系统存贮器和DMA到系统存贮器排序。越过编织器的L/S和DMA事务由对事务排序的一个状态机构控制。此状态机构确定依据预先规定的规则组一个后继的事务是否可以绕过一个前面的事务。在总线桥中的事务排序已经公开在共同指定的美国专利No.5,694,556 to Neal,etal中,引入于此作为参考,本发明提供一种在NUMA或COMA环境中事务排序的机构。
在以下的描述中,为了对本发明的透彻理解,阐明了许多专门的细节。然而,对本领域的技术人员来说是显然的,即没有这样一些专门的细节本发明也可被实现,另外,大家熟知的电路用方框图形式示出,以便不让本发明在不必要的细节中弄得含糊不清,对于大多数部分来说,与定时考虑有关的细节以及对于本发明的充分理解是不必要的并且在有关技术领域的专业人员的技能范围内的细节均被略去。
现参看附图,其中所描述的部件并不必要按比例示出,并且相同或类似的部件在几个图中用相同的参考数字标记。
现参看图1,用作说明依据本发明的原理的一种多重节点数据处理系统100,每个节点102包括许多,N个,连接到系统总线106的CPU 104,系统存贮器部分,存贮器108也包括在每个节点中,并被连到系统总线106上。
外围设备位于外围总线110上,并通过外围主桥(PHB)112接合到系统总线。另外,外围设备,譬如设备114,可以位于一个或多个子总线116上,而这些子总线通过外围对外围(在图1上标记为PtP)桥连到外围总线110,这样一种实施方案可被采用是为了满足关于外围总线110的扇出技术指标。例如,在本发明的实施方案中,外围总线110可以是一种外围部件互联(PCI)总线,其中这种类型的每个总线支持在总线上十个负载。然而,熟悉常规技术的技术人员将理解,本发明可被提供在共享存贮器数据处理系统的其它实施方案中而并不限于外围总线110是PCI总线的系统。
节点102通过编织器120连接,编织器120包括编织器桥122和多重节点编织器互联126。在第一节点102内的设备,如CPU104或外围设备114之一可以参与另一个节点102中的另一个设备或存贮器的事务,这些事务由编织器桥122传递,编织器桥122和多重节点编织器互联126,例如,在本发明的一个实施方案中可以是一个可比相干接口(SCI),或,替换为一个电子切换编织器。在本发明的一个实施方案中,编织桥122可以传递到I/O的加载/存贮事务。另外,事务可包括DMA对等关系事务,虽然在图1中的系统100已被说明为具有四个节点102,熟悉常规技术的技术人员将理解,依据本发明的原理,一个多重节点数据处理系统100可以包括任何预先规定的节点数102,这样一种实施方案将在本发明的精神与范围内。
现参看图2,用作更详细地说明编织器桥122。桥122通过多重节点编织器互联126连到每个节点,在节点和桥之间传送数据和控制信号,控制信号通知互联事务已被执行,在事务中要传递的数据可被安置在缓冲器202中,例如,对于一个用DMA操作方式对系统存贮器的延时读请求来说,在第一节点102中的请求设备114可以试图对物理上位于第二节点102中的存贮器108为目标进行读请求,此读请求被缓存在编织器桥122中。然后编织器桥122将此请求传交给第二节点102中的存贮器108,从第二,目的地,节点102中的存贮器108接收到的数据可以存贮在缓冲器202中并被转交给请求的PHB112,然后当请求设备114再次试图其请求时提供给请求设备114。
在系统总线106上PHB 112执行指定给另一个节点102的事务请求由请求节点102中的编织器桥112接受。然后这些事务在缓冲器202中缓存,由控制和路由逻辑204接收,状态机构206执行控制各个节点间的事务的操作,在图2B中所示的编织器桥122的一种替代实施方案中,CPU205依据存贮在存贮器207中指令程序作为排序规则状态机构起作用。在节点102上来自或去系统的事务在节点接口208上出或入编织器桥,同样地,来自或去其它节点102的事务在编织器连接接口210上出或入编织器桥。
在节点102之间的事务在图1中的编织器120上被连续地传递。为了保持数据连贯性和遵守可由CPU104和外围总线110加上的适当的排序限制,状态机构206或,替换为在存贮器207中的指令控制下的CPU205,必须执行事务排序规则,由此后继事务的执行受前面事务的制约,换句话说,状态机构206或,替换为CPU205由一套排序规则确定何时可以允许后续事务在前面事务前执行,如果已有临时性失速的话,必须允许在前面事务以前执行,或者必须按次序执行,也就是说不允许在前面事务以前执行,状态机构206或CPU205依据在图3中以流程图形式示出的方法300确定排序。
现参看图3,以流程图形式示出的一种对图1的编织器122中的事务排序的方法300,支持对I/O设备的L/S操作,对等关系DMA事务,和对系统存贮器的L/S以及对系统存贮器的DMA。此外,CPU 104可以执行对总线事务强制排序的指令,例如,Power PC结构(“Power PC”是IBM公司的一个商标)执行Sync和eieio(强制按次序执行I/O)指令。执行Sync指令保证在Sync指令以前的所有Load和store指令在程序执行经过Sync指令以前的总线上被完成,eieio指令的执行使所有在执行eieio指令以前的Load和store指令,在任何执行eieio指令以后可被发出的写操作以前,为在总线上执行作记号。方法300在步骤302中开始,并在步骤304中确定是否允许对I/O事务L/S。如果在步骤304中允许对I/O作L/S,那末在步骤306中,确定是否前面的事务是DMA操作或者对系统存贮器的L/S或者eieio或Sync事务。如果不是,方法300在步骤308中确定,是否前面的事务是L/S对I/O或者来自I/O的加载。如果不是,方法300在步骤310中继续确定是否允许DMA对等关系事务。
然而,如果在步骤308中,前面的事务是L/S对I/O或来自I/O的加载,在步骤312中确定是否后继的事务是对系统存贮器的L/S或来自系统存贮器的加载完成。如果是的,那末在步骤314中后续的事务被允许绕过前面的事务,方法300在步骤399结束。可是,若在步骤312中后继的事务不是对系统存贮器的L/S,或者来自系统存贮器的加载完成,那末在步骤316中,确定是否后继事务是eieio或Sync事务。如果在步骤316中,后继事务是eieio或Sync,那末在步骤318中方法300确定后继事务不允许绕过前面的对I/O的L/S或来自I/O的加载完成。然而,如果在步骤316中,后继事务不是eieio或sync事务,那末方法300在步骤320中确定是否后继事务是对系统存贮器的DMA读。如果是的,那末在步骤314中确定后继事务可以绕过前面的事务,否则在步骤321中确定,是否后继事务是对系统存贮器的DMA写,如果是的,在步骤324中,此事务必须被允许绕过,否则,在步骤322中确定是否后继事务是来自系统存贮器的DMA读完成并且前面的事务不是加载完成。如果是的,在步骤324中确定必须允许绕过。如果,在步骤322中后继事务不是DMA读完成或前面的事务不是加载完成,那末,在步骤326中确定是否对等关系传送被允许。如不是,在步骤328中辨识后继事务或者是加载或者是存贮到I/O,否则,在步骤326中,如果对等关系的事务被允许,确定是否后继事务是加载或存贮到I/O。如果是的,或者,如果在步骤326中,已确定不允许对等关系的事务,和因此后继事务必须或者是加载或者是存贮到I/O,在步骤332中确定是否前面的L/S到I/O或来自I/O的加载完成以及后继的L/S到I/O是到相同的目的地地址。如果是的,在步骤318中确定不允许绕过。可是,如果目的地地址与步骤332中的不相同,在步骤314中确定可以允许绕过。
如果在步骤326中对等关系被允许,并且在步骤330中,后继的事务不是L/S到I/O,那末,在步骤334中确定是否后继事务是对I/O的DMA写或对系统存贮器的DMA写。如果是的,确定在步骤324中必须允许绕过。可是,如果在步骤334中后继事务不是对I/O的DMA写或对系统存贮器的DMA写,确定在步骤336中是否后继事务是对I/O的读请求。如果是的,对I/O的后继读请求可以绕过前面的对I/O的L/S或来自I/O的加载完成,步骤314。可是如果后继事务不是对I/O的读,方法300确定在步骤338中是否后继事务是来自I/O的DMA读完成和前面的事务,在步骤308中是来自I/O的加载完成,如果不是,在步骤340中确定,是否后继事务是对I/O的DMA读,然而若在步骤338中,后继事务是来自I/O的DMA读完成,在步骤308中前面事务是来自I/O的加载完成,那末在步骤314中可以允许绕过,如果,在步骤340中确定后继事务是对I/O的DMA读和在步骤342中,事务是到相同的目的地,那末前面的来自I/O的加载完成被后继的来自I/O的读完成绕过必须被允许,步骤324。否则,在步骤314中此事务被允许绕过。
回到步骤306,如果确定,前面的事务是对系统存贮器的DMA操作或L/S,或者eieio或者sync,那末在步骤344中确定,是否后继事务是对系统存贮器的DMA操作或加载或存贮。如果后继事务是对系统存贮器的DMA操作或L/S,那末方法300,在步骤346中,按对系统存贮器L/S和DMA事务排序的方法对事务排序,后述的方法描述在共同未决,共同指定的美国专利申请中,标题是“Apparatus and Method for FafricOrdering of Load/Store and Direct Memory Access Transactions,”引入于此作为参考。可是如果在步骤344中,后继事务不是对系统存贮器的DMA操作或L/S操作,那末,在步骤346中确定,是否来自步骤306的前面事务是对系统存贮器的L/S或来自系统存贮器的加载完成。如果是的,在步骤348中确定是否对等关系的事务被允许。如果不是,那末方法300确定,在步骤350中是否后继事务或者是对I/O的加载或存贮,或者是来自I/O的加载完成,如果是的,在步骤314中确定前面的事务被后继的L/S或加载完成绕过可以被允许。如果不是,方法300回到步骤399。
否则,如果在步骤348中对等关系的事务被允许,在步骤352中确定,是否后继事务是对I/O的DMA写或对系统存贮器的DMA写,如果是的,在步骤234中后继的对I/O或系统存贮器的DMA写必须被允许绕过来自步骤346的前面的对系统存贮器的L/S或来自系统存贮器的加载完成。
然而,如果在步骤352中后继的事务不是对I/O或系统存贮器的DMA写,那末在步骤354中确定,是否后继事务是对I/O的L/S或来自I/O的加载完成。如果是的,那末在步骤346,314中后继事务可被允许绕过前面的对系统存贮器的L/S或来自系统存贮器的加载完成。然而,如在步骤354中,后继的事务不是对I/O的L/S或来自I/O的加载完成,那末,在步骤356中确定是否后继的事务是对I/O的DMA读或来自I/O的DMA读完成,如果是的,后继的DMA读在步骤356中可被允许绕过,在步骤314中,前面的在步骤346中被确定的对系统存贮器的L/S或来自系统存贮器的加载完成。否则,方法300走到步骤399。
回到步骤346,如果确定前面的事务不是对系统存贮器的L/S或来自系统存贮器的加载完成,在步骤358中确定是否前面的事务是eieio或sync。如果是的,在步骤360中确定是否后继事务是对I/O的加载或存贮。如果是的,后继的对I/O的加载或存贮,在步骤318中不允许绕过前面的eieio或sync。否则,方法300在步骤362中辨识,后继事务是来自I/O的加载完成,并且在步骤314中前面的eieio或sync,来自步骤358,可允许被后继的来自步骤362的来自I/O的读完成绕过。
回到步骤358。如果前面的事务不是eieio或sync,那末在步骤364中,方法300辨识前面的事务是DMA系统存贮器操作,并且在步骤366中确定是否后继的事务是来自I/O的读完成和前面的事务不是对系统存贮器的DMA写,或者是否后继的事务是对I/O的L/S。如果是的,那末在步骤314中后继事务可被允许绕过前面的DMA系统存贮器操作。否则,在步骤368中确定是否DMA对等关系的事务被允许。如果不是,在步骤370中,方法300辨识,后继事务是来自I/O的加载完成和前面事务是对系统存贮器的DMA写,后继的来自I/O的加载完成不允许绕过前面的对系统存贮器的DMA写,后继的来自I/O的加载完成不允许绕过前面的DMA写。这是因为前面的对系统存贮器的DMA写在完成后继事务,即来自I/O的加载完成以前必须是完全地连贯的。
然而,如果在步骤368中DMA对等关系事务被允许,那末在步骤372中确定,是否前面的事务是对系统存贮器的DMA读或来自系统存贮器的DMA读完成并且后继事务或者是对I/O的DMA读或来自I/O的DMA读完成或者前面事务是对系统存贮器的DMA写以及后继事务或者是对I/O的DMA读或写或来自I/O的DMA读完成。如果前面的和后继的事务满足这些条件组之一,那末在步骤314中,后继事务可被允许绕过前面的事务。如果在步骤372中,前面的和后继的事务被确定不满足这些条件组之一,那末在步骤374中方法300确定,是否后继事务是对系统存贮器的DMA写或者来自I/O的加载完成,前面的事务是对系统存贮器的DMA写。
如果后继的和前面的事务满足此条件,那末,在步骤318中,后继事务,或者是对系统存贮器的DMA写或来自I/O的加载完成不允许绕过前面的对系统存贮器的DMA写。否则,在步骤376中,方法300确定是否后继事务或者是对系统存贮器的DMA写或者对I/O的DMA写并且在前面事务中的DMA或者是对系统存贮器的DMA读请求或者是来自系统存贮器的DMA读完成。如果是的,在步骤324中确定后继的事务或者是对系统存贮器的DMA写或者是对I/O的DMA写必须允许绕过前面的DMA读请求或读完成,否则,方法300走到步骤399。
再次回到步骤306,如果前面的事务既不是DMA操作也不是对系统存贮器的L/S或者eieio或sync,那末在步骤308中确定,是否前面事务是对I/O的L/S或者来自I/O的加载完成。来自步骤308的“是”通路在以上已描述过了。如果在步骤308中确定是否前面事务不是对I/O的L/S或者来自I/O的加载完成,那末方法300回到步骤310,并确定是否DMA对等关系事务被允许,如果不是,那末方法300对事务排序采用L/S和DMA对系统存贮器的排序协议,描述在共同拥有,共同未决的美国专利申请中,标题是“Appratns and Method for Fafric Orderingfor Load/Store and Direct Memory Accecc Transactions”,引入于此作为参考。
然而,如果在步骤310中,DMA对等关系事务被允许,在步骤378中方法300辨识前面的事务是DMA对等关系的操作,其中,所有其它的可能性已在前面考虑过了。在步骤379中确定是否前面的事务是对I/O的DMA读或写。如果是的,在步骤381中确定,是否后继事务是来自系统存贮器的DMA读完成。如果是的,在步骤324中,后继事务必须被允许绕过,否则方法走到步骤399,如果在步骤379中,无通路可取,则本方法进行到步骤380。然后在步骤380中确定,是否后继事务是对I/O或系统存贮器的L/S,或者来自I/O或系统存贮器的加载完成或eieio或sync事务,如果是的,在步骤382中进一步确定,是否后继事务是对系统存贮器的加载,如果不是,在步骤314中前面的事务被后继的事务绕过被允许,后继的事务可以是对I/O的加载或存贮,或对系统存贮器存贮,或者来自I/O或系统存贮器的加载完成,或者eieio或sync,来自步骤380,然而,如果后继事务是对系统存贮器的加载,那末进一步在步骤385中确定,是否前面和后继的事务是到不同的节点或目标I/O设备,如果是的,在步骤314中,对系统存贮器的后继加载,在步骤382中,可被允许绕过前面的事务,否则,如果在步骤385中,后继的对系统存贮器的加载是到与前面的事务相同的节点,那末在步骤318中,对系统存贮器的后继的加载不允许绕过前面的事务,因为前面的事务必须在后继事务以前完成。
回到步骤380,如果后继事务不是对I/O或系统存贮器的L/S,或来自I/O或系统存贮器的加载完成,或者eieio或sync,那末在步骤384中确定是否前面的事务是对I/O的DMA读或来自I/O的DMA读完成。如果是的,在步骤386中确定是否后继事务是对系统存贮器的DMA写,或者对I/O的DMA写。如果是的,那末在步骤324中确定后继事务必须被允许绕过前面的对I/O的DMA读,或者来自I/O的DMA读完成。如果在步骤386中,确定后继事务不是对系统存贮器的DMA写,或来自系统存贮器的DMA读完成,或对I/O的DMA写,在步骤387中确定是否前面的事务是来自I/O的DMA读完成。如果不是,方法300进行到步骤399。否则,在步骤383确定是否后继事务是来自系统存贮器的DMA读完成。如果是的,前面的事务可以被绕过,步骤314。否则方法300在步骤399中结束。
如果在步骤384中前面的事务不是对I/O的DMA读或者来自I/O的DMA读完成,在步骤388中确定是否后继事务是来自I/O的DMA读完成。如果是的,在步骤389中,方法300确定是否前面的事务是对I/O的DMA写或对I/O的DMA读,如果是的,在步骤324中确定后继的来自I/O的DMA读完成,步骤389,必须被允许绕过前面的步骤389中的DMA事务。然而如果在步骤389中前面事务不是对I/O的DMA写或对I/O的DMA读,方法300辨认,在步骤390中,前面的事务是来自I/O的DMA读完成,并且在步骤314中确定,后继的来自I/O的DMA读完成,步骤388,可以被允许绕过前面的来自I/O的DMA读完成。
然而,如果在步骤388中确定,后继的事务不是来自I/O的DMA读完成,在步骤391中确定,是否前面的事务是对I/O的DMA写,如果不是,在步骤392中,方法300辨认前面的事务必须是对I/O的DMA读或来自I/O的DMA读完成,通过步骤386到达步骤392,后继事务必须是对I/O的DMA读或对系统存贮器的DMA读。然后,在步骤314中,后继的对I/O的DMA读或对系统存贮器的DMA读可被允许绕过前面的对I/O的DMA读或来自I/O的DMA读完成。
可是若在步骤391中前面的事务是对I/O的DMA写,那末在步骤393中确定是否后继事务是对I/O的DMA读或写,如果不是,那末辨认后继事务是对系统存贮器的读或写,步骤394,和在步骤314中后继的对系统存贮器的DMA读或写可以被允许绕过前面的对I/O的DMA写。
可是如在步骤393中确定后继事务是对I/O的读或写,在步骤395中进一步确定是否后继事务是对I/O的DMA写。如果是的,后继的对I/O的DMA写不允许绕过前面的对I/O的DMA写,步骤318。然而,如果在步骤395中后继事务不是对I/O的DMA写。那末,在步骤396中辨认后继事务必须是对I/O的DMA读。那末,在步骤385中确定是否后继的对I/O的DMA读和前面的对I/O的DMA写,来自步骤391,是到不同的节点或目标I/O设备。如果是的,那末在步骤314中,后继的DMA读可被允许绕过前面的DMA写。然而,如果在步骤385中,后继的DMA读是与前面的DMA写到相同的节点或目标I/O设备,那末后继的DMA读必须不绕过前面的DMA写,步骤318,那末方法300在步骤399中结束。
可将方法300实施的排序协议扼要叙述在图4的表中。在图4中的表规定了事务对的组,这些组按表中相应的入口指明的顺序排序,其中“A”指明前面的/后继的事务,其中后继事务可被允许绕过前面的事务,“Y”指明后继事务必须被允许绕过前面的事务,和“N”指明后继事务一定不允许绕过前面的前务。
本发明提供一种机构,用于在多节点,NUMA/COMA数据处理环境中编织器桥。在包括在编织器桥中的状态机构的控制下,通过桥交换的节点之间的事务可依据由状态机构执行的方法排序。桥对由桥传递的事务排序,使得连接性要求被保持,死锁被避免。
权利要求
1.一种数据处理系统包括一个编织器桥,用于在所述的数据处理系统中的节点之间传递事务,所述的编织器桥用于控制所述的节点之间事务的顺序,其中所述的编织器桥确定前面事务与后继事务的排序,所述的排序就是所述的后继事务可被允许绕过,必须允许绕过,和必须不允许绕过所述的前面事务之中的一种,其中所述的事务序列包括对输入/输出(I/O)设备的加载/存贮(L/S),和直接存贮器存取(DMA)对等关系的事务。
2.根据权利要求1的数据处理系统,其中所述的排序是当所述的第一和第二事务分别处于第一,第二和第三预先规定的事务对组时,所述的后继事务可被允许绕过,所述的后继事务必须被允许绕过,和所述的后继事务必须不允许绕过。
3.根据权利要求1的数据处理系统,其中所述的编织桥依据预定的协议确定所述的事务排序。
4.根据权利要求2的数据处理系统,其中所述的第一、第二和第三组是依据预定的协议确定的。
5.根据权利要求1的数据处理系统,其中所述的编织器桥进一步包括控制电路,用于控制所述节点之间事务的顺序,所述的控制电路确定所述的前面事务和所述的后继事务的排序。
6.根据权利要求5的数据处理系统,其中所述的控制电路包括一个状态机构,所述的状态机构依据一种预定的协议确定所述的前面事务和所述的后继事务的排序。
7.根据权利要求5的数据处理系统进一步包括至少一个缓冲器,用于存贮事务信息,所述的缓冲器对来自所述的控制电路的信号作出响应传送事务信息。
8.根据权利要求1的数据处理系统,其中所述的事务序列进一步包括对系统存贮器的直接存贮器存取(DMA)和对系统存贮器的加载/存贮。
9.根据权利要求8的数据处理系统,其中所述的事务序列还包括eieio和sync事务。
10.根据权利要求1的数据处理系统还包括中央处理单元(CPU),连接到所述编织器桥,每个CPU用于产生所述的事务序列的一个或多个事务。
11.一种在数据处理系统中的节点之间传递事务的方法包括以下步骤通过确定前面事务和后继事务的排序控制所述节点之间事务的顺序,所述的排序是所述的后继事务可被允许绕过所述的前面事务,必须被允许绕过所述的前面事务,和必须不允许绕过前面事务中的一种,其中所述的事务序列包括对输入/输出(I/O)设备的加载/存贮(L/S),和直接存贮器存取(DMA)对等关系的事务。
12.根据权利要求11的方法,其中所述的排序是当所述的第一和第二事务分别处于第一、第二和第三预定的事务对组时,所述的后继事务可被允许绕过,所述的后继事务必须被允许绕过,和所述的后继事务必须不允许绕过前面的事务。
13.根据权利要求11的方法,其中所述的事务排序是依据预定的协议确定的。
14.根据权利要求12的方法,其中所述的第一,第二和第三组是依据预定的协议确定的。
15.根据权利要求11的方法,其中控制所述的事务顺序的步骤包括提供控制电路,用于控制所述的节点之间的事务顺序,所述的控制电路确定所述的前面事务和所述的后继事务的排序。
16.根据权利要求15的方法,其中所述的控制电路包括一个状态机构,所述的状态机构依据预定的协议确定所述的前面事务和所述的后继事务的排序。
17.根据权利要求15的方法,其中控制所述的事务顺序的步骤进一步包括提供至少一个缓冲器,用于存贮事务信息,和对来自所述的控制电路的信号作出响应,通过所述的缓冲器传递事务信息。
18.根据权利要求11的方法,其中所述的事务序列进一步包括对系统存贮器的直接存贮器存取(DMA)和对系统存贮器的加载/存贮。
19.根据权利要求18的方法,其中所述的事务序列还包括eieio和sync指令。
20.根据权利要求11的方法,其中所述的事务序列包括进一步或多个中央处理单元(CPU)产生的事务。
21.一种计算机程序产品,用于在程序存贮媒介上存贮,程序产品用于在数据处理系统中的节点之间传递事务,程序产品包括通过确定前面事务和后继事务的排序,编程控制所述的节点之间事务的顺序,所述的排序是所述的后继事务可被允许绕过前面事务,必须被允许绕过和必须不允许绕过前面事务中的一种,其中所述的事务序列包括对输入/输出(I/O)设备的加载/存贮(L/S),和直接存贮器(DMA)对等关系事务。
22.根据权利要求21的程序产品,其中所述的排序是当所述的第一和第二事务分别是第一、第二和第三预定的事务对组之一时,所述的后继事务可被允许绕过,所述的后继事务必须被允许绕过,和所述的后继事务必须不允许被绕过,所述的前面事务。
23.根据权利要求21的程序产品,其中所述的事务排序依据预定协议确定。
24.根据权利要求22的程序产品,其中所述的第一,第二和第三组是依据预定协议确定的。
25.根据权利要求21的程序产品,其中所述的用于控制所述的事务顺序的编程包括对控制所述的节点之间的事务顺序的控制电路编程,所述的控制电路对所述的编程作出响应确定所述的前面事务和所述的后继事务的排序。
26.根据权利要求25的程序产品,其中所述的控制电路包括状态机构,所述的状态机构对所述的编程作出响应,依据预定的协议确定所述的前面事务和所述的后继事务的排序。
27.根据权利要求25的程序产品,其中对所述的控制事务顺序的编程进一步包括对控制至少一个用于存贮事务信息的缓冲器的编程;和对来自所述的控制电路的信号作出响应通过所述的缓冲器传递事务信息编程。
28.根据权利要求21的程序产品,其中所述的事务序列进一步包括对系统存贮器的直接存贮器存取(DMA)和对系统存贮器的加载/存贮。
29.根据权利要求28的程序产品,其中所述的事务序列还包括eieio和sync指令。
30.根据权利要求21的程序产品,其中所述的事务序列包括由一个或多个中央处理单元(CPU)产生的事务。
全文摘要
实现一种在数据处理系统中越过编织器传递事务序列的设备和方法。编织器桥依据预定的协议将前面事务与后继事务排序。利用协议确定是否后继事务可被允许绕过前面事务,必须被允许绕过前面事务,或必须不允许绕过前面事务。事务包括加载/存贮(L/S)系统存贮器和对输入/输出(I/O)设备的L/S,以及对系统存贮器的直接存贮器存取(DMA)和DMA对等关系事务。
文档编号G06F13/40GK1259702SQ9912476
公开日2000年7月12日 申请日期1999年12月9日 优先权日1998年12月28日
发明者D·M·尼尔, S·M·瑟伯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1