CN1094526A - 用于在多条总线之间传送信息的系统和方法 - Google Patents

用于在多条总线之间传送信息的系统和方法 Download PDF

Info

Publication number
CN1094526A
CN1094526A CN94100521A CN94100521A CN1094526A CN 1094526 A CN1094526 A CN 1094526A CN 94100521 A CN94100521 A CN 94100521A CN 94100521 A CN94100521 A CN 94100521A CN 1094526 A CN1094526 A CN 1094526A
Authority
CN
China
Prior art keywords
bus
information
address
data
treating apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN94100521A
Other languages
English (en)
Other versions
CN1102265C (zh
Inventor
查尔斯·罗伯茨·摩尔
约汉·斯蒂芬·穆海什
罗伯特·詹姆斯·里斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1094526A publication Critical patent/CN1094526A/zh
Application granted granted Critical
Publication of CN1102265C publication Critical patent/CN1102265C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Storage Device Security (AREA)

Abstract

用于在多条总线之间传送信息的方法和系统。 信息经第一总线在多个第一总线装置之间传送。信 息经第二总线在多个第二总线装置之间传送。信息 经逻辑装置在第一和第二总线之间传送。利用逻辑 装置,允许一个第一总线装置采取动作响应于下述情 况,即:第二总线装置等待上述动作,而该第一总线装 置又等待第二总线上的单独动作。

Description

本专利申请一般地涉及处理系统,并特别涉及用于在多条总线之间传送信息的方法和系统。
根据一种提高数据处理系统的效率的方法,指令由通过总线连到公共存储装置的多个处理装置同时执行。一或多个处理装置可有常驻高速缓冲存储器,用于存储经常存取的信息,而不用在每次需要信息时都再次对公用存储装置进行存取。凝聚技术被用来保持多个处理装置之间共享的信息的完整性,特别是被其中的一个处理装置修改的信息的完整性。此外,一或多个处理装置可支通过总线的流水线操作和分离事务处理操作。
某些现有技术曾试图在多条总线之间传送信息。然而,一般的现有技术未能可靠地完成这种信息传送而不遇到不可解决的死锁,特别是在总线彼此异步运行的场合,或在一或多条总线支持凝聚技术、流水线或分离事务处理操作时。
因此,需要一种在多条总线之间传送信息的方法和系统,其中信息在彼此异步地运行的多条总线之间可靠地传送。此外,还需要一种在多条总线之间传送信息的方法和系统,其中信息传送不受 不可解决的死锁状态的影响。另外,需要一种在多条数据总线之间传送数据的方法,其中一或多条总线支持着凝聚技术、流水线、或分离事务处理操作。
第一方面,一种方法和系统在多条总线之间传送信息。信息经第一总线在多个第一总线装置之间传送。信息经第二总线在多个第二总线装置之间传送。信息经逻辑装置在第一和第二总线之间传送。利用该逻辑装置,允许一个第一总线装置采取动作,该动作响应于如下的情况即:第二总线装置等待上述动作而第一总线装置等待第二总线上的单独动作。
第二方面,一种方法和系统在多条总线之间传送信息。信息通过多个第一总线装置之间的第一总线传送。至少有一个第一总线装置不同于数据段完成地址段,来传送信息。信息经第二总线在多个第二总线装置间传送。利用逻辑装置,监测地址和数据段,并相应地调节经过第一和第二总线及其间的信息传送。
本发明的这些方面的一个技术优点在于,可在互相异步运行的总线之间可靠地传送信息。
本发明的这些方面的另一技术优点在于,信息传送不受不可解决的死锁状态的影响。
本发明的这些方面的又一技术优点在于,信息在多条总线间传送,其中一或多条总线支持凝聚技术、流水线、或分离事物处理操作。
第三方面,处理设备包括用于把设备连到总线及控制线的装置。该设备还包括使设备通过根据相应的相关地址段来分别完成多个数据段从而通过总线传送信息的装置。数据段得到排列,以按相应的相关地址段的顺序完成。另外,该设备包括用于使设备在根据控制线的状态而在先前的一个数据段之前有选择地完成一个特定数据段的装置。
本发明的这一方面的一个技术优点,在于处理设备是为这样的系统提供的,即在该系统中在不受到死锁状态影响的情况下在多条总线之间传送信息。
为了更好地理解本发明及其优点,现在结合附图进行以下说明。其中:
图1是根据第一实施例的用于在多条总线间传送信息的系统的框图;
图2a-d是对图1的系统的总线运行的说明;
图3是图1的处理装置的系统接口的示意框图;
图4是根据第二实施例的用于在多条总线间传送信息的系统的框图。
参见图1-4,就能对本发明的最佳实施例及其优点有最好的了解;各附图中相同及对应的部分采用了相同的标号。
图1是用10概括地表示的根据第一实施例的系统的框图,该系统用于在总线12和总线14之间传送信息。总线12包括地址总 线ADDRESS(A)和数据总线DATA(A)。另外,总线12包括控制线的数据总线只写DBWO(A)、高优先级窥探请求HP    SNP    REQ(A)、及将在以下进一步讨论的地址重试ARTRY(A)。为简明起见,未显示总线12的其他控制线。在最佳实施例中,地址总线ADDRESS(A)为32位宽,数据总线DATA(A)为64位宽,且它们都能以处理装置16和18的全时钟速率操作。
每一个处理装置16和18均连到总线ADDRESS(A)和DATA(A)及总线12的控制线DBWO(A)、HP    SNP    REQ(A)和ARTRY(A)。输入/输出(“I/O”)装置20与总线ADDRESS(A)和DATA(A)及总线12的控制线ARTRY(A)相连。在另一实施例中,I/O装置20是另一种类型的I/O装置,如盘存储单元或总线接口单元。
仲裁逻辑22与控制线DBWO(A)相连。另外,仲裁逻辑22经控制线总线请求BR1(A)、地址总线许可BG1(A)及数据总线许可DBG1(A)而与处理装置16耦合,如下面所要讨论的。类似地,仲裁逻辑经控制线总线请求BR2(A)、地址总线许可BG2(A)、及数据总线许可DBG2(A)与处理装置18耦合,如下面所要进一步讨论的。
总线14包括地址总线ADDRESS(B)和数据总线DATA(A)。在一个实施例中,总线14按NU-BUS总线构成。处理装置24和I/O装置26与总线14的总线ADDRESS(B)和DATA(B) 相连。判断逻辑28经控制线总线请求BR1(B)和总线许可BG1(B)而与处理装置24耦合,如下面所要进一步讨论的。
在一个实施例中,处理装置24是与NU-BUS结构兼容的微处理器。在最佳实施例中,I/O装置26是存储装置。在另一实施例中,I/O装置26是另一种I/O装置,如盘存储单元或总线接口单元。
总线间通信逻辑(“ICL”)34包括外出排队36、进入排队38、及控制逻辑40。每一个外出排队36和进入排队38均与总线ADDRESS(A)、DATA(A)、ADDRESS(B)和DATA(B)相连。控制逻辑40经控制线总线请求BR(I)、地址总线许可BG(I)、数据总线许可DBG(I)和DEADLOCK(I)与判断逻辑22耦合,如下面要进一步讨论的。另外控制逻辑40经控制线总线请求BR(O)和总线许可BG(O)耦合到判断逻辑28,如下面所要进一步讨论的。另外,控制逻辑40连到总线12的控制线HP    SNP    REQ(A)和ARTRY(A)。
处理装置16和18及I/O装置20一同构成与总线12相连的一组装置。在一种实施例中,I/O装置20与处理装置18是一个整体,如虚线框42所示。在另一种实施例中,该组装置包括其他与总线12相连的I/O装置和处理装置。在又一种实施例中,处理装置18不与总线12相连。
处理装置24与I/O装置26一同构成与总线14相连的一组装 置。在另一实施例中,I/O装置26与处理装置24是一个整体,如虚线框44所示。在又一实施例中,该组装置包括其他与总线14,相连的处理装置和I/O装置。
总线12和14不由中央仲裁装置控制,以使信息经总线14与经总线12传送的信息异步地被传送。总线12在ICL34、I/O装置20、以及处理装置16和18之间传送信息。仲裁逻辑22通过在连到总线12的潜在总线主控器即ICL34和处理装置16之间进行仲裁,而对这种信息传送进行同步。总线主控器控制着地址或数据总总线,并能启动或请求事务处理。
事务处理是总线装置之间的完全交换。事务处理最少包括在其中总线主控器控制地址总线的地址段期间的地址事务处理。事务处理还可包括在包含在该交换中的一或多个数据段期间在数据总线上的一或多个数据事务处理。
各潜在总线主控器,均通过相联的总线请求、地址总线许可、及数据总线许可控制线,而与仲裁逻辑22耦合,如上面所具体讨论的。在另一种实施例中,其他的潜在总线主控器被连到总线12,它们中每一个均经相联的总线请求、地址总线许可、及数据许可控制线而与仲裁逻辑22耦合。
总线14在ICL34、I/O装置26、及处理装置24之间传送信息。仲裁逻辑28通过在与总线14相连的潜在总线主控器即ICL34和处理装置24之间进行仲裁,对这种信息传送进行同步。各潜在总 线主控器经相关的总线请求和总线许可控制线(如上面所进一步讨论的)与仲裁逻辑28耦合。在另一实施例中,其他的潜在总线主控器与总线14相连每个均经相关的总线请求、地址总线许可、及数据许可控制线,与仲裁逻辑28耦合。
总线12连到两个总线从属器,即I/O装置20和ICL34。总线14连到两个总线从属器,即I/O装置26和ICL34。因此,ICL34即作为总线12和总线14上的总线主控器又作为总线从属器而工作。总线从属器是被总线主控器寻址的装置。总线从属器在地址段标识,并用于在数据段中为总线主控器发出或吸收数据。
图2a-d显示了系统10的总线操作。参见图2a,仲裁逻辑28支持传统的微处理器总线协议。对于处理装置24和I/O装置26间的一个示例性的信息传送,处理装置24在地址段(“使用期”)50a中完成地址总线ADDRESS(B)上的地址事务处理。响应于地址总线ADDRESS(B)上的地址事务处理,处理装置24在与地址段50a相联的数据段(“使用期”)50b中完成数据总线DATA(B)上的数据事务处理。类似地,后面的信息传送操作具有地址段52a、54a及56a和分别相应的、响应于其的数据段52b、54b及56b。
如图2a所示,用传统的微处理机总线协议,地址段50a一直延续到其相关的数据段50b完成。因此,在处理装置24在地址段50a中完成了地址总线ADDRESS(B)上的地址事务处理之后,在相关的数据段50b中完成数据总线DATA(B)上的数据事务处理 之前,处理装置24并不放弃对地址总线ADDRESS(B)的控制。在段50a和50b中,处理装置24同时控制地址总线ADDRESS(B)和数据总线DATA(B)。
通过比较,仲裁逻辑22支持地址总线ADDRESS(A)上的地址段与数据总线DATA(A)上的数据段的解耦,以此方式,仲裁逻辑22支持总线12上的流水线和分离事务处理操作。例如,处理装置16还能在第一个事务处理完成之前启动在总线12上的第二个事务处理;另外,处理装置16能把事务处理分成地址事务处理和数据事务处理。
参见图2b,对于在处理装置16和I/O装置20间的一个示例性的信息传送,地址段60a先于其相联的数据段60b完成,从而使地址段60a不同于其相联的数据段60b。这样分离事务处理操作使处理装置16能控制地址总线ADDRESS(A)而不必控制数据总线DATA(A)。
因此,处理装置16和18可通过完成地址总线ADDRESS(A)上的只寻址传送而不必使用数据总线DATA(A),从而减小总线的流量,节省数据总线带宽。地址段62a也可延续至其相关的数据段62b完成。另外,由于地址和数据段是不同的,不同处理装置的地址段64a和66a可在其各自相应的数据段64b和66b完成之前完成,从而实现处理器间的流水线化。这种流水线和分离事务处理操作,通过允许诸如数据段64b和66b的背对背数据段,有效地 利用了数据总线DATA(A),从而使多个处理装置处理根据来自仲裁逻辑22的指令有效地交叠在总线12上。
参见图2c,各处理装置16和18有用于支持处理器内的流水线化的内部排队。对于处理装置16和I/O装置20之间的一个示例性的信息传送,处理装置16在其相应的数据段70b之前完成地址段70a。在为另一示例性信息传送时较后的地址段中,数据段70b(与前面的地址段70a相应)完成。在地址段72a中,其自己的相应数据段也完成了。
用于处理装置16的不同信息传送的地址段74a和76a可在其各自的相应数据段74b和76b完成之前完成。为简单起见,处理装置16在任一时刻最多允许多两个未完成(“未决”)数据段。因此,若有两个数据段尚未完成,则处理装置16在两个未决数据段之一完成之前不会完成另一地址段。在另一实施例中,处理装置16可同时允许两个以上的未决数据段。
参见图2b,总线12的协议一般要求数据段60b、62b、64b、及66b按它们各自的相应地址段60a、62a、64a、及66a的顺序完成。同样地,参见图2c,处理装置16在设计上把数据段70b、72b、74b及76b按它们各自相应的地址段70a、72a、74a、及76a的顺序完成。
然而,参见图2d,无固定顺序的分离事务处理,在某些情况下(如下面所进一步讨论的)最好由仲裁逻辑22、ICL34、及处理装置16和18支持。在这类情况下,数据段80b、82b、84b、和86b不必按 它们各自相应的地址段80a、82a、84a和86a的顺序完成。如图2d所示,数据段86b在数据段84b之前完成,尽管地址段84a先于地址段86a完成。以此方式,包含地址段86a及其相应数据段86b的信息传送被“包络”在包含地址段84a及其相应数据段84b的信息传送中。
各地址段和数据段包括三段,即仲裁、传送、和终止。在地址段的仲裁段,仲裁逻辑22响应总线仲裁信号并把对地址总线ADDRESS(A)的控制授予总线主控器。在数据段的仲裁段中,仲裁逻辑22把对数据总线DATA(A)的控制授予总线主控器。多个潜在总线主控器可竞争总线12的共用资源。促裁逻辑22支持公平或其他协议。另外,仲裁逻辑22能安置总线主控器,以减少仲裁的开销,从而使总线主控器不用对其仲裁便可控制总线。
在地址段的传送段中,信号交换线和地址总线ADDRESS(A)由总线主控器操作。在数据段的传送段中,总线主控器对数据总线DATA(A)进行取样或驱动。在终结段,段被终结或通知再试。
应特别提到,总线14和仲裁逻辑28的协议未能支持流水线和分离事务处理操作。总线12和14最好异步运行并且不由中央仲裁装置控制,使总线12不与总线14直接相连。以此方式,总线12和处理装置16和18的流水流化及分离事务处理的好处不会因总线12与总线14直接相连而丧失。
图3是处理装置16的系统接口100的示意框图。处理装置18 在设计上与处理装置16相同。系统接口100包括耦合在统一的高速缓冲存储器104和地址总线ADDRESS(A)之间的窥探逻辑102。
高速缓冲存储器104存储指令和数据。高速缓冲存储器104是具有八路组结合性的、实际寻址和索引的32千字节高速缓冲存储器。高速缓冲存储器104形成128个区段的八组。每个16字的高速缓冲存储器约包括两个八字区段。这两个区段存储相邻的存储地址,因而共用公共的线路地址标记。高速缓冲存储器的凝聚性由区段的粒度来维持。
地址转换/控制逻辑110与高速缓冲存储器104、读取排队106、及存储排队108耦合。地址转换/控制逻辑110还与指令取出器112和执行单元114耦合。执行单元114包括浮点处理单元、定点处理单元、及分支处理单元。
窥探逻辑102“窥探”总线12上的事务处理,以便向高速缓冲存储器104提供凝聚性。凝聚性是一种机制,用于维持处理装置间共享的信息的完整性,特别是被处理装置修正的信息的完整性。为了保证凝聚性,处理装置16通过监测总线12上的事务处理来进行“窥探”,以判定是否要求对于高速缓冲存储器104,读取排队106、或存储排队108采取凝聚行动。
系统接口100还包括读取排队106和存储排队108,每个均耦合在地址转换/控制逻辑110和地址总线ADDRESS(A)之间。
作为例子参见图1,处理装置16从I/O装置20的特定地址输入信息。处理装置16修正信息并将其存入高速缓冲存储器104。随后,处理装置20试图从I/O装置20的该特定地址输入信息。处理装置16的窥探逻辑102“窥探”到此地址并判定高速缓冲存储器104在窥探的地址存储了信息,这个信息具有相对于I/O装置20中的相应信息的修改状态。
响应于这个匹配,处理装置16确认ARTRY(A)并通知处理装置18以下匹配,即与在高速缓冲存储器104中的修正信息的匹配。由于处理装置16认识到处理装置18需要存取修正信息,处理装置16向I/O装置20的特定地址执行修正信息的脉冲串写入复制(“窥探推动”)然后,处理装置18成功地从I/O装置的特定地址输入信息。
处理装置的事务处理可包括多个地址或数据拍。脉冲串通常是多个拍信息传送,其总的大小等于高速缓冲存储器区段。相一般是处理装置接口上的单一状态,它可在多个总线周期上延伸。总线周期一般是由总线取样率确定的周期。
高速缓冲存储器的凝聚性依靠区段的粒度维持,从而为高速缓冲存储器104的各区段维持单独的凝聚状态位。若从存储器填满了线路的第一区段,则处理装置16可试图作为低优先权总线操作(称为动态再装载操作来装载第二个区段。
高速缓冲存储器104有专用于地址转换/控制逻辑110的单独 口,用于取出及装载/存储操作。此外,高速缓冲存储器104还有专用于窥探逻辑102的另一个口,用于窥探总线12上的事务处理。因此,窥探操作并不降低处理装置16的取出及装载/存储操作。
系统接口100的读取排队106和存储排队108支持诸如地址流水线化、窥探、及写入缓冲的特征。读取排队106包括两个读取排队元素,即A和B。读取排队元素A和B可共同向多达两个的未决读取操作提供缓存。
存储排队108包括三个存储排队元素,即SNOOP、A和B。存储排队元素A和B缓冲存储操作及区段替代去除,以使区段替代能在从高速缓冲存储器104至I/O装置20的修正区段复制之前进行。
存储排队元素SNOOP把窥探推进操作(在下面将进一步讨论)排在存储排队元素A和B的操作之前。每当需要窥探推进操作时,若ICL34认定HP    SNP    REQ(A),处理装置16便把窥探推进操作放在存储排队元素SNOOP中;否则,处理装置16把窥探推进操作放在存储排队元素A和B之一中。
参见图1,由在上面详细讨论的凝聚技术和仲裁逻辑22,在总线12上支持多个潜在总线主控器(处理装置16、处理装置18、ICL34)。另外,多个潜在总线主控器(处理装置24、ICL34)可竞争总线14的共用资源。仲裁逻辑28支持公平或其他协议,并能“安置”总线控制器,,以减小仲裁开销。
多处理器的软件支持由原子存储操作提供。例如,原子总线存取可试图成为对同一地址的读一写操作的一部分,而造成处理装置放弃独占存取的另一总线控制器将不会存取。处理装置分别开始读出和写入,但通知存储系统它正尝试原子操作。若操作失败,状态被保留,以使处理装置能再试。
关于总线12,潜在总线主控制器(处理装置16、处理装置18、ICL34)认定其总线请求线路(BR1(A)、BR2(A)、BR(I)),以表明潜在总线主控器正请求对地址总线ADDRESS(A)的控制。当潜在总线主控器需要执行总线处理时,该潜在总线主控器持续认定其总线请求线路。若被安置,总线主控器不认定其总线请求线路。若流水线已满,总线请求线路可被认定。
潜在总线主控器否定其总线请求线路,以表明潜在总线主控器未请求对地址总线ADDRESS(A)的控制。这种情况下,总线主控器可能没有未决的总线操作、可能被安置,或者ARTRY(A)线路可在总线12的前一周期上被认定。即使正有另一未决事务处理,潜在总线主控器在来自仲裁逻辑22的可接受合格总线授予的至少一个总线周期之后才能否定其总线请求线路,潜在总线主控器还响应正被认定的ARTRY(A)线路,将其总线请求线路否定至少一个总线周期。
响应于认定其总线请求线路的潜在总线主控器,仲裁逻辑22认定潜在总线主控器的总线授予线(BG1(A)、BG2(A)、BG(I)), 以表明潜在总线主控器可以以适当的条件对总线12的下一周期的地址总线ADDRESS(A)进行控制。仲裁逻辑22可随时认定总线授予线。若总线主控器需要进行第二个处理,则总线主控器在第一次处理的地址段完成后再次检查对其总线授予线的合格认定。对潜在总线主控器的总线授予线的否定,表明潜在的总线主控器未被允许在总线12的下一周期利用地址总线ADDRESS(A)。仲裁逻辑22每次仅认定一条总线授予线,以使地址总线ADDRESS(A)每次仅受一个潜在总线主控器的控制。
控制线ARTRY(A)是双向信号,使潜在总线主控器使其他潜在总线主控器再试总线操作。潜在总线主控器为高速缓冲存储器/存储器凝聚性或为硬件排队问题而认定ARTRY(A)。例如,若外出的排队36已满,ICL34可认定ARTRY(A)。
潜在总线主控器认定控制线ARTRY(A),以表明潜在总线主控器检测到应再次执行窥探的地址段的状态。若作为窥探的结果,潜在总线主控器需要把信息复制到I/O装置20,潜在总线主控器如上所述地认定其总线请求线。对控制线ARTRY(A)的不认定,表明窥探的地址段不需再执行。
若总线主控器目前正控制地址总线ADDRESS(A),则对ARTRY(A)的认定,表明该总线主控器应立即否定其总线请求线,直至否定ARTRY(A)之后的一个总线周期。然后,总线主控器应尝试再执行窥探的地址段,对ARTRY(A)的否定表明总线主 控器不必再执行窥探的地址段。
若潜在总线主控器目前未控制地址总线ADDRESS(A),则对ARTRY(A)的认定表明潜在总线主控器应立即否定其总线请求线,直至否定ARTRY(A)之后的一个总线周期。
仲裁逻辑22认定一潜在总线主控器的数据总线授予线(DBG1(A),DBG2(A),DBG(I)),以表明潜在总线主控器在适当条件下可在总线12的下一周期控制数据总线DATA(A)。仲裁逻辑22可随时认定数据授予线。对潜在总线主控器的数据总线授予线的否定,表明该潜在总线主控器未被允许在总线12的下一周期开始使用数据总线DATA(A)。
仲裁逻辑22通过有选择地认定和否定总线授予线BG1(A),BG2(A),BG(I))及数据总线授予线(DBG1(A),DBG2(A),DBG(I)),影响流水线化。虽然处理装置16可将其自己的总线操作流水线化(处理器内流水线化)至一个层次的深度,可在多个潜在总线主控器间的总线12上出现的流水线化的最大层次数(处理器内流水线化)则不受限制。
作为总线12上的总线从属器,ICL输入从总线12发向总线14的读和写指令,且ICL34把这类指令放在外出排队36中。作为总线14上的总线主控器,ICL34认定至仲裁逻辑28的BR(O),以获得对总线14的总线ADDRESS(B)和DATA(B)的控制。响应于ICL34对BR(O)的认定,仲裁逻辑28在适当的时刻,通过认定BG (O),把对总线14的控制授予ICL34。响应于仲裁逻辑28对BG(O)的认定,ICL34执行在外出排队中的一或多个指令。
作为总线14上的总线从属器,ICL34输入从总线14发向总线12的读和写指令,且ICL34把这类指令置于进入排队38中。作为总线12上的总线主控器,ICL34认定至仲裁逻辑22的BR(I),以获得对总线12的总线ADDRESS(A)的控制。响应于ICL34对BR(I)的认定,仲裁逻辑通过认定BG(I)而在适当时刻把对ADDRESS(A)的控制授予ICL34。响应于仲裁逻辑22对BG(I)的认定,ICL34完成对进入排队38中的一或多个指令的地址段。在以后的适当时刻,仲裁逻辑22通过认定DBG(I),把对DATA(A)的控制授予ICL34。响应于仲裁逻辑22对DBG(I)的控制,ICL34完成与前面完成的地址段有关的数据段。
作为总线12上的总线主控器,ICL34认定控制线HP    SNP    REQ(A)。响应于对HP    SNP    REQ(A)的认定,处理装置16把任何所需的窥探推进操作,作为存储排队108(图3)中的最高优先级操作,置于存储排队元素SNOOP中,以使这个窥探推进操作成为处理装置16为总线12排队的下一操作。
如上面结合图2b-d所进一步讨论的,总线12的协议一般要求数据段按它们的各自相应的地址段的顺序完成。同样,处理装置16在设计上把数据段按它们各自相应的地址段的顺序完成。而且,如上面结合图2d所进一步讨论的,无顺序的分离事务处理在某 些情况下最好由仲裁逻辑22、ICL34、及处理装置16和18支持。
为支持这种无顺序分离事务处理,仲裁逻辑22认定控制线DBWO(A)。响应于仲裁逻辑22对控制线DBWO(A)和DBG1(A)的认定,处理装置16为一未决的写入数据段而不是为未决的读取数据段,控制数据总线DATA(A)。在这种情况下控制了数据总线DATA(A)之后,即使相关的读取地址段在相关的写入地址段之前。处理装置16还是在完成(与前面完成的读取地址段有关的)未决读取数据段之前,先完成(与前面完成的写入地址段有关的)未决写入数据段。
以此方式,包含写入地址段及其相关的写入数据段的信息传送,被“包络”在包含读取地址段及其相应的读取数据段的信息传送中。这把写入操作有效地“包络”在读取操作中。该写入操作可是窥探推进操作。类似地,响应于仲裁逻辑22对控制行DBWO(A)和DBG2(A)的认定,处理装置18为一未决写入数据段对数据总线DATA(A)进行控制。
以下事件序列,描述了一示例性的操作:(1)处理装置16通过在没有地址再试的情况下成功完成一读取地址段而开始一读取操作,以使相应的读取数据段未决,(2)处理装置16,通过在没有地址再试的情况下成功完成一写入地址段,开始一写入操作,以使相应的写入数据段未决,(3)仲裁逻辑22认定控制线DBWO(A)和DBG1(A),(4)处理装置16把未决写入操作“包络”在读取操作 中,使写入数据段相对于读取数据段不按顺序地完成,(5)仲裁逻辑22认定控制行DBG1(A)而不认定DBWO(A),且(6)处理装置16完成未决读取数据段。在任何这些事件之间,其他潜在总线主控器可尝试任意次的总线操作。
在认定DBWO(A)之后,仲裁逻辑22不认定潜在总线主控器的数据总线授予行,直至仲裁逻辑22证实潜在总线主控器有未决写入数据。对DBWO(A)的否定,表明各潜在总线主控器应按它们各自的相应地址段的顺序完成数据段。
即使潜在总线主控器没有未决读取数据段,仲裁逻辑22也能认定DBWO(A),但对DBWO(A)的这种认定对写入数据段完成的顺序没有影响。写入数据段的顺序,由认定BG1(A)时存储排队108(图3)中的存储操作的顺序决定,而与何时认定DBG1(A)无关。
在一个读取操作中,可包括一个以上的写入操作。例如,窥探推进操作是最高优先级的写入操作,但在一具体时刻,在存储排队108中可有一个以上窥探推进操作。在此情况下,多个窥探推进操作可被包括在一个读取操作中。
仲裁逻辑22监测总线12上的操作并使总线主控器和总线从属器相对于总线12的行动得以同步。为了控制,处理装置16和18、仲裁逻辑22、及ICL34把行动识别为特定的总线事务处理类型。为支持和同步流水线、分离、及无顺序事务处理,仲裁逻辑22 利用了控制线DBWO(A)和各潜在总线主控器的各个总线请求线、总线授予行、及数据总线授予线。为相对其相应地址段不按顺序地完成数据段,仲裁逻辑22把不按顺序的数据段与其原有地址段相联系。
重要的是,系统10通过通信逻辑电路(包括仲裁逻辑22和ICL34),支持总线12和14之间的信息传送。总线14和仲裁逻辑28的协议未能支持流水线和分离事务处理操作。部线12和14最好异步操作且不由中央仲裁装置控制,以使总线12不与总线14直接相连。由此,不会由于直接连接总线12和14而牺牲总线12和处理装置16与18的流水线化和分离事务处理的好处。
通信逻辑电路(包括仲裁逻辑22和ICL34)在总线12与一非流水线化非分离事务处理的总线(如总线14)之间传送信息。与这类总线间传送相联系,可产生死锁状态,其中与总线14相连的第二处理装置(如处理装置24)等候着与总线12相连的第一处理装置(如处理装置16)的行动,而第一处理装置又等候着第二处理装置的独立行动。响应于这类死锁状态,通信逻辑电路(包括仲裁逻辑22和ICL34),利用控制线DBWO(A)和DEADLOCK(I),通过启动与总线12相连的第一处理装置的动作,解决该死锁状态。
下列事例序列,描述了一例死锁状态及利用通信逻辑电路(包括仲裁逻辑22和ICL34)的解决办法。
事件1:处理装置18通过在没有地址再试的情况下成功完成 读取地址段,开始在I/O装置26读取信息的读取操作,从而使相应的读取数据段未决,并使一读取指令被ICL34置于外出排队36中。
事件2:处理装置24通过成功完成一读取地址处理,开始在I/O装置20读取信息的读取操作,从而使一读取指令被ICL34置于进入排队38中。由于总线14及仲裁逻辑28的协议未支持流水线及分离事务处理操作,处理装置24在完成读取地址处理后并不放弃对地址总线ADDRESS(B)的控制。相反,处理装置24在等待完成数据总线DATA(B)上的数据事务处理时,同时控制着地址总线ADDRESS(B)和数据总线DATA(B)。
事件3:ICL34的控制逻辑40,响应于同时在外出排队36和进入排队38中的存储指令,检测到潜在的死锁状态。因此,控制逻辑40认定至仲裁逻辑22的控制线DEADLOCK(I)。
事件4:为简单起见,处理装置18最多同时允许两个未决数据段。因此,响应于对DEADLOCK(I)的认定及已有未决读取数据段的处理装置18(在上面结合事件1进一步讨论的),仲裁逻辑可以:(a)利用BG2(A),为除窥探推进操作之外的任何后续总线操作,制止处理装置18对地址总线ADDRESS(A)的控制,或者(b)把对地址总线ADDRESS(A)的控制授予处理装置18但响应于任何不是写入存储器的操作而认定ARTRY(A)。以这两种方式之一,仲裁逻辑22使处理装置18为所需的窥探推进操作保留两个允 许的未决数据段中的一个。
事件5:作为总线12上的总线主控器,ICL34认定至仲裁逻辑22的BR(I),以得到对总线12的总线ADDRESS(A)的控制。响应于ICL34对BR(I)的认定,仲裁逻辑22,通过认定BG(I),在适当的时刻把对ADDRESS(A)的控制授予ICL34。响应于仲裁逻辑22对BG(I)的认定,ICL34认定HP    SNP    REQ(A)并为在进入排队38中的(在上面结合事件2进一步讨论的)读取指令完成一地址段。
事件6:处理装置18“窥探”地址并确定其高速缓冲存储器在窥探的地址存储相对于在I/O装置20中的相应信息处于修正状态的信息。响应于此匹配,处理装置18认定ARTRY(A),以通知ICL34与其高速缓冲存储器中的修正信息的匹配。
事件7:由于处理装置18认识到ICL34需要存取修正的信息,且由于HP    SNP    REQ(A)被认定,处理装置18把一窥探推进操作作为其存储排队中的最高优先级操作置于存储排队元素SNOOP中(在上面结合事件3进一步讨论过),以使这种窥探推进操作成为处理装置18为总线12排队的下一个操作。
事件8:响应对ARTRY(4)的认定,总线12上除处理装置18外的所有其他潜在总线主控器,均撤回总线请求。由于处理装置18认定ARTRY(A),处理装置18认定BR2(A)。响应于对BR2(A)的认定,仲裁逻辑22认定BG2(A)。响应于对BG2(A)的认定,处 理装置18通过在没有再试的情况下成功完成一写入地址段,开始(在上面结合事件7具体讨论的)窥探推进操作,从而使一写入数据段未决。
事件1至8产生死锁状态。在事件8后,处理装置18有两个未决数据段。第一个示决未决数据段是一读取数据段,它因等待处理装置24的一独立行动(即处理装置对地址总线ADDRESS(B)和数据总线DATA(B)的控制的放弃)而被处理装置18所推迟。在处理装置24放弃对ADDRESS(B)和DATA(B)的控制之前,ICL34不能响应处理装置18在事件1开始的读取操作而从I/O装置26读取信息。处理装置18在ICL34能读取这类信息之前,不完成第一个未决数据段。第二个未决数据段是因等待第一个未决数据段的完成而被处理装置18推迟的写入数据段。
然而,处理装置24等待处理装置18的行动,即处理装置18完成第二个未决数据段。在处理装置18完成第二个未决数据段之前,ICL34不能响应处理装置24在事件2开始的读取操作从I/O装置20读取信息。在ICL34能读取这种信息之前,处理装置24不放弃对地址总线ADDRESS(B)和数据总线DATA(B)的控制。
在最佳实施例的一个重要方面,总线仲裁逻辑22检测到(1)处理装置18有未决读取数据段,其后跟有未决写入数据段。且(2)ICL34正认定DEADLOCK(I)以表示潜在死锁状态。在这类情况下,仲裁逻辑22最好通过认定DBG2(A)并同时认定DBWO(A), 把对数据总线DATA(A)的控制给予处理装置18。响应于对DBG2(A)和DBWO(A)的认定,处理装置18把未决窥探推进操作“包络”在读取操作中,以使未决写入数据段相对于未决读取数据段不按顺序地被完成。
此时,处理装置18还剩下一个未决读取数据段,同时ICL34有一未决读取数据段。若仲裁逻辑22把对DATA(A)的控制授予处理装置18,则死锁状态将持续。因此,响应于ICL34对DEADLOCK(I)持续的认定,仲裁逻辑22通过认定DBG(I)而把对DATA(A)的控制授予ICL34。
响应于对DBG(I)的认定,ICL34根据处理装置24在事件2开始的读取信息,经数据总线DATA(A)从I/O装置20读取信息,以完成ICL34的未决读取数据段。ICL34随后经数据总线DATA(B)把这类信息传到处理装置24并否定DEADLOCK(I)。
在处理装置24通过输入这类信息而完成其读取操作后,它放弃对地址总线ADDRESS(B)和数据总线DATA(B)的控制。在处理装置24放弃对总线14的这类控制后,仲裁逻辑28通过响应于ICL34对BR(O)的认定而认定BG(O),把对总线14的控制授予ICL34。然后,ICL34根据处理装置18在事件1开始的读取操作,从I/O装置26读取信息。
由于未认定DEADLOCK(I),仲裁逻辑22通过认定DBG2(A)而不认定DBWO(A),从而把对DATA(A)的控制授予处理 装置18。响应于对DBG2(A)的认定,处理装置18根据处理装置18在事件1开始的读取操作,经数据总线DATA(A)从ICL34输入信息,以完成处理装置18的未决读取数据段。
图4是系统10的第二个实施例的框图。如图4所示,系统10与图1中所示的相同,只是处理装置24、I/O装置26及仲裁逻辑28被替代了。在它们的位置上,图4显示了处理装置120、处理装置122、I/O装置124、及仲裁逻辑126。
处理装置120和122在设计上与处理装置16和18相同。另外,仲裁逻辑126在设计上与仲裁逻辑22相同。如图4所示,总线14在设计上与总线12相同。总线14包括地址总线ADDRESS(B)、数据总线DATA(B)、及控制线ARTRY(B)、HP    SNP    REQ(B)及DBWO(B)。同样,图4的控制线DEADLOCK(O)、DBG(O)、BG(O)、及BR(O)在设计上分别与控制线DEADLOCK(I)、DBG(I)、BG(I)及BR(I)相同。
对图4所示的系统10,以下事件序列描述了一例锁状态及通信逻辑电路(包括仲裁逻辑22、仲裁逻辑126、及ICL34)对其的解除。
事件1:处理装置18通过在没有再试的情况下成功完成一读取地址段,开始在I/O装置24读取信息的读取操作,以使一个相应的读取数据段未决,并使一个读取指令被ICL34置于外出排队36中。
事件2:处理装置120通过在没有再试的情况下成功完成一读取地址段,开始在I/O装置20读取信息的读取操作,以使相应的读取数据段未决,并使一读取指令被ICL34置于进入排队38中。
事件3:ICL34的控制逻辑40响应于同时在外出排队36和进入排队38中的存储指令,检测潜在的死锁状态。因此,控制逻辑40对仲裁逻辑22认定控制线DEADLOCK(I)并对仲裁逻辑126认定控制线DEADLOCK(O)。
事件4:响应于对DEADLOCK(I)的认定及已有未决读取数据段的处理装置18,仲裁逻辑22使处理装置18为所需的窥探推进操作而保留其两个允许的未决数据段中的一个。或者,响应于对DEADLOCK(O)的认定及已有未决读取数据段的处理装置120,仲裁逻辑126使处理装置120为所需的窥探推进操作而保留其两个允许的未决数据段中的一个。
事件5:作为总线12上的总线主控器,ICL34认定至仲裁逻辑22的BR(I),以获得对总线12的总线ADDRESS(A)的控制。响应于ICL34对BR(I)的认定,仲裁逻辑22通过认定BG(I)而在适当时刻把对ADDRESS(A)的控制授予ICL34。响应于仲裁逻辑22对BG(I)的认定,ICL34认定HP    SNP    REQ(A)并为进入排队38中的(在上面结合事件2进一步讨论过)读取操作完成地址段。
事件6:处理装置18“窥探”地址并确定其高速缓冲存储器在窥探的地址存储了信息,该信息所处的修正状态系相对于I/O装置 20中的相应信息而言。响应于该匹配,处理装置认定ARTRY(A)以通知ICL34在其高速缓冲存储器中与修正信息的匹配。
事件7:由于处理装置18认识到ICL34需要存取修正的信息,且由于HP    SNP    REQ(A)被认定,处理装置18把窥探推进操作作为其存储排队中最高优先级的操作而置于存储排队元素SNOOP中,以使这种窥探推进操作成为处理装置18为总线12排队的下一个操作。
事件8:响应于对ARTRY(A)的认定,除处理装置18外的所有其他潜在总线主控器均撤回总线请求。由于处理装置认定ARTRY(A),处理装置18认定BR2(A)。响应于对BG2(A)的认定,仲裁逻辑22认定BG2(A)。响应对BG2(A)的认定,处理装置18通过在没有地址再试的情况下成功完成写入地址段而开始窥探推进操作,以使写入数据段未决。
事件9:作为总线14上的总线主控器,ICL34认定至仲裁逻辑126和BR(O),以获得对总线14的总线ADDRESS(B)的控制。响应于ICL34对BR(O)的认定,仲裁逻辑126通过认定BG(O)在适当时刻把对ADDRESS(B)的控制授予ICL34。响应仲裁逻辑126对BG(O)的认定,ICL34认定HP    SNP    REQ(B)并为外出排队36中的(在上面结合事件1进一步讨论的)读取指令完成地址段。
事件10:处理装置120“窥探”地址并确定其高速缓冲存储器在 窥探的地址存储有相对I/O装置124中的相应信息处于修正状态的信息。响应于这种匹配,处理装置120认定ARTRY(B),以通知ICL34与在其高速缓冲存储器中的修正信息的匹配。
事件11:由于处理装置120认识到ICL34需要存取修正的信息,且由于HP    SNP    REQ(B)被认定,处理装置120把窥探推进操作作为其存储排队中最高优先级的操作置于存储排队元素SNOOP中,以使该窥探推进操作成为处理装置120为总线14排队的下一个操作。
事件12:响应于对ARTRY(B)的认定,除处理装置120之外的所有其他潜在总线主控器均撤回总线请求。由于处理装置120认定ARTRY(B),处理装置120认定BR1(B)。响应于对BR1(B)的认定,仲裁逻辑126认定BG1(B)。响应于对BG1(B)的认定,处理装置120,通过在没有地址再试的情况下成功完成写入地址段,开始窥探推进操作,以使写入数据段未决。
从事件1至12产生一死锁状态。在事件12后,处理装置18有两个未决数据段,且处理装置120有两个未决数据段。处理装置18的第一个未决数据段,是因等待处理装置120的独立行动即处理装置120完成其第二个未决数据段而被处理装置18推迟的读取数据段。在处理装置120完成其第二个未决数据段之前,ICL34不能响应处理装置18在事件1开始的读取操作而从I/O装置124读取信息。在ICL34能读取这种信息之前,处理装置18不完成其第一个 未决数据段。处理装置18的第二个未决数据段是被处理装置18推迟以等待其第一个未决数据段完成的写入数据段。
然而,处理装置120等待处理装置18的动作,即等待处理装置18完成其第二个未决数据段。在处理装置18完成其第二个未决数据段之前,ICL34不能响应处理装置120在事件2开始的读取操作而从I/O装置20读取信息。在ICL34能读取这种信息之前,处理装置120不完成其第一个未决数据段。处理装置120的第二个未决数据段是被处理装置120推迟以等待其第一个未决数据段完成的写入数据段。
在最佳实施例的一个重要方面,总线仲裁逻辑22检测(1)处理装置18有未决读取数据段,其后跟有未决写入数据段,且(2)ICL34正认定DEADLOCK(I)以表明潜在的死锁状态。在这种情况下,仲裁逻辑22最好通过认定DB2(A)并同时认定DBWO(A),把对数据总线DATA(A)的控制授予处理装置18。响应于对DBG2(A)和DBWO(A)的认定,处理装置18把其未决窥探推进操作“包络”在其读取操作中,以使其未决写入数据段相对于其未决读取数据段不按顺序地完成。
响应于ICL34对DEADLOCK(I)持续认定,仲裁逻辑22通过认定DBG(I),把对DATA(A)的控制授予ICL34响应于对DBG(I)的认定,ICL34根据处理装置120在事件2开始的读取操作,通过数据总线DATA(A)从(I/O)装置20读取信息,从而完成 ICL34的未决读取数据段。ICL34随后经数据总线DATA(B)把这种信息传送到处理装置120,并否定DEADLOCK(I)和DEADLOCK(O),从而解除死锁状态。
或者,总线仲裁逻辑126检测(1)处理装置120有未决读取数据段,其后跟有未决写入数据段且(2)ICL34正认定DEADLOCK(O)以表明潜在的死锁状态。在此情况下,总线仲裁逻辑126最好通过认定DBG1(B)并同时认定DBWO(B),把对数据总线DATA(B)的控制授予处理装置120。响应于对DBG1(B)和DBWO(B)的认定,处理装置120把其未决窥探推进操作“包络”在其读取操作中,从而使其未决写入数据段相对其未决读取数据段不按顺序地完成。
响应于ICL34对DEADLOCK(O)的持续认定,仲裁逻辑126,通过认定DBG(O),把对DATA(B)的控制授予ICL34。响应对DBG(O)的认定,ICL34,根据处理装置18在事件1开始的读取操作,通过数据总线DATA(B)从I/O装置124读取信息,从而完成ICL34的未决读取数据段。ICL34随后经数据总线DATA(A)把这种信息传送到处理装置18并否定DEADLOCK(I)和DEADLOCK(O),从而解除死锁状态。
控制线DBWO(A)还可用于某些外部排队控制器情况,及诸如“转储和运行”的更复杂存储操作。例如,控制线DBWO(A)可用于修正的高速缓冲存储器区段被去除到存储缓冲器同时存储器被装 载操作所存取的情况。这种去除最好在不对装载存储器等待时间产生不利影响的情况下,由存储系统输入。由于处理装置16可使处理流水线化,可在再试地址总线处理的同时,使数据总线处理等待。
尽管详细描述了本发明及其优点,但应理解,在不脱离如所附权利要求书限定的本发明的实质和范围的前提下,可对其进行各种改变替换和更动。

Claims (11)

1、用于在多条总线之间传送信息的系统,其特征在于包括:
第一总线,用于在多个第一总线装置之间传送信息;
第二总线,用于在多个第二总线装置之间传送信息;
逻辑装置,用于所述第一和第二总线之间传送信息,并用于允许一个第一总线装置采取行动,该行动响应于下述情况,即:第二总线装置等待所述动作而所述第一总线装置又等待所述第二总线上的单独的行动。
2、权利要求1的系统,其特征在于所述多个第一总线装置包括输入/输出装置,且其中所述行动包括由所述第一总线装置向所述输入/输出装置输出特定的信息。
3、权利要求1的系统,其特征在于所述第一总线装置通过完成响应于各自的相应地址段的多个数据段来经所述第一总线传送信息,所述数据段被排出顺序以按所述各自的相应地址段的顺序完成。
4、权利要求1的系统,其特征在于所述第二总线相对于经所述第一总线传送的信息异步地传送信息。
5、权利要求1的系统,其特征在于所述单独动作包括所述第二总线装置放弃对所述第二总线的控制。
6、权利要求1的系统,其特征在于所述多个第一总线装置包括与所述第一总线装置构成整体的输入/输出装置,且其中所述行动包括由所述输入/输出装置于向所述逻辑装置输出特定的信息。
7、权利要求1的系统,其特征在于所述多个第二总线装置包括与所述第二总线装置构成整体的输入/输出装置,且其中所述独立动作包括由所述输入/输出装置向所述逻辑装置输出特定的信息。
8、用于在多条总线之间传送信息的系统,其特征在于包括:
第一总线,用于在多个第一总线装置之间传送信息,至少一个第一总线装置通过完成与多个数据段分离的多个地址段传送信息;
第二总线,用于在多个第二总线装置之间传送信息;
逻辑装置,用于监测所述地址和数据段并响应其而调节经过所述第一和第二总线及在第一和第二总线之间的信息传送。
9、处理设备,其特征在于包括:
用于把该设备连到一总线并连到一控制线的装置;
用于使所述设备通过完成每个均响应于各自的相应地址段的多个数据段而经所述总线传送信息的装置,所述数据段被排出顺序以按所述各自的相应地址段的顺序完成;
用于使该设备响应于所述控制线的状态而在一个特定的所述数据段的前一个之前完成该特定所述数据段的装置。
10、在多条总线之间传送信息的方法,其特征在于包括以下步骤:
经过第一总线在多个第一总线装置之间传送信息;
经过第二总线在多个第二总线装置之间传送信息;
经过逻辑装置在所述第一和第二总线之间传送信息;
利用所述逻辑装置,允许一个第一总线装置采取动作,该动作响应于下述情况,即:第二总线装置等待上述动作而所述第一总线装置等待所述第二总线上的单独动作。
11、在多条总线之间传送信息的方法,其特征在于包括以下步骤:
经过第一总线在多个第一总线装置之间传送信息,至少一个所述第一线装置通过完成与多个数据段分离的多个地址段而传送信息;
经过第二总线在多个第二总线装置之间传送信息;
利用逻辑装置,监测所述地址和数据段并响应其调节通过所述第一和第二总线及在所述第一和第二总线之间的信息传送。
CN94100521A 1993-01-29 1994-01-20 用于在多条总线之间传送信息的系统和方法 Expired - Fee Related CN1102265C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US1104193A 1993-01-29 1993-01-29
US08/011,041 1993-01-29

Publications (2)

Publication Number Publication Date
CN1094526A true CN1094526A (zh) 1994-11-02
CN1102265C CN1102265C (zh) 2003-02-26

Family

ID=21748611

Family Applications (1)

Application Number Title Priority Date Filing Date
CN94100521A Expired - Fee Related CN1102265C (zh) 1993-01-29 1994-01-20 用于在多条总线之间传送信息的系统和方法

Country Status (7)

Country Link
US (1) US5611058A (zh)
EP (1) EP0609041A1 (zh)
JP (1) JP3189139B2 (zh)
KR (1) KR970001919B1 (zh)
CN (1) CN1102265C (zh)
CA (1) CA2109043A1 (zh)
TW (1) TW283218B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104145251A (zh) * 2012-03-02 2014-11-12 Arm有限公司 具有第一协议域和第二协议域的数据处理装置及其方法

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5037587A (en) * 1989-07-17 1991-08-06 Mitsui Toatsu Chemicals, Inc. Preparation process of polyimide film
US5828856A (en) * 1994-01-28 1998-10-27 Apple Computer, Inc. Dual bus concurrent multi-channel direct memory access controller and method
EP0690382B1 (en) * 1994-07-01 2003-01-02 Sun Microsystems, Inc. Computer system with a multiplexed address bus and pipelined write operations
US5793996A (en) * 1995-05-03 1998-08-11 Apple Computer, Inc. Bridge for interconnecting a computer system bus, an expansion bus and a video frame buffer
US6226695B1 (en) 1995-09-29 2001-05-01 International Business Machines Corporation Information handling system including non-disruptive command and data movement between storage and one or more auxiliary processors
US6470405B2 (en) 1995-10-19 2002-10-22 Rambus Inc. Protocol for communication with dynamic memory
US5748914A (en) * 1995-10-19 1998-05-05 Rambus, Inc. Protocol for communication with dynamic memory
US6810449B1 (en) 1995-10-19 2004-10-26 Rambus, Inc. Protocol for communication with dynamic memory
US5778438A (en) * 1995-12-06 1998-07-07 Intel Corporation Method and apparatus for maintaining cache coherency in a computer system with a highly pipelined bus and multiple conflicting snoop requests
US5867675A (en) * 1996-08-06 1999-02-02 Compaq Computer Corp Apparatus and method for combining data streams with programmable wait states
US5905876A (en) * 1996-12-16 1999-05-18 Intel Corporation Queue ordering for memory and I/O transactions in a multiple concurrent transaction computer system
US6055373A (en) * 1997-04-28 2000-04-25 Ncr Corporation Computer system including a digital signal processor and conventional central processing unit having equal and uniform access to computer system resources
US6266379B1 (en) 1997-06-20 2001-07-24 Massachusetts Institute Of Technology Digital transmitter with equalization
US6178477B1 (en) * 1997-10-09 2001-01-23 Vlsi Technology, Inc. Method and system for pseudo delayed transactions through a bridge to guarantee access to a shared resource
US6401167B1 (en) 1997-10-10 2002-06-04 Rambus Incorporated High performance cost optimized memory
US6343352B1 (en) * 1997-10-10 2002-01-29 Rambus Inc. Method and apparatus for two step memory write operations
US6032178A (en) * 1998-01-12 2000-02-29 Siemens Aktiengesellschaft Method and arrangement for data transmission between units on a bus system selectively transmitting data in one of a first and a second data transmission configurations
US6061764A (en) * 1998-01-26 2000-05-09 Intel Corporation Coherent variable length reads which implicates multiple cache lines by a memory controller connected to a serial and a pipelined bus utilizing a plurality of atomic transactions
US6347344B1 (en) 1998-10-14 2002-02-12 Hitachi, Ltd. Integrated multimedia system with local processor, data transfer switch, processing modules, fixed functional unit, data streamer, interface unit and multiplexer, all integrated on multimedia processor
US6434649B1 (en) 1998-10-14 2002-08-13 Hitachi, Ltd. Data streamer
US6202112B1 (en) * 1998-12-03 2001-03-13 Intel Corporation Arbitration methods to avoid deadlock and livelock when performing transactions across a bridge
US7555603B1 (en) 1998-12-16 2009-06-30 Intel Corporation Transaction manager and cache for processing agent
US6675272B2 (en) * 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
US8391039B2 (en) * 2001-04-24 2013-03-05 Rambus Inc. Memory module with termination component
US6810455B2 (en) 2001-09-28 2004-10-26 Cradle Technologies, Inc. Bus arbitration system and method for carrying out a centralized arbitration with independent bus request and grant lines
US6807593B1 (en) * 2001-11-01 2004-10-19 Lsi Logic Corporation Enhanced bus architecture for posted read operation between masters and slaves
US6839816B2 (en) * 2002-02-26 2005-01-04 International Business Machines Corporation Shared cache line update mechanism
US6907502B2 (en) * 2002-10-03 2005-06-14 International Business Machines Corporation Method for moving snoop pushes to the front of a request queue
TW594490B (en) * 2003-03-20 2004-06-21 Via Tech Inc Bus for control chipset and the arbitration method
US7099971B1 (en) * 2003-06-26 2006-08-29 Emc Corporation Arbitration system
US7301831B2 (en) * 2004-09-15 2007-11-27 Rambus Inc. Memory systems with variable delays for write data signals
US7502895B2 (en) * 2005-09-13 2009-03-10 Hewlett-Packard Development Company, L.P. Techniques for reducing castouts in a snoop filter
US8375171B2 (en) * 2010-04-08 2013-02-12 Unisys Corporation System and method for providing L2 cache conflict avoidance
US10282109B1 (en) * 2016-09-15 2019-05-07 Altera Corporation Memory interface circuitry with distributed data reordering capabilities

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5526736B2 (zh) * 1973-12-14 1980-07-15
US4096571A (en) * 1976-09-08 1978-06-20 Codex Corporation System for resolving memory access conflicts among processors and minimizing processor waiting times for access to memory by comparing waiting times and breaking ties by an arbitrary priority ranking
JPS56147224A (en) * 1980-04-18 1981-11-16 Toshiba Corp Information processor
US4494193A (en) * 1982-09-30 1985-01-15 At&T Bell Laboratories Deadlock detection and resolution scheme
US4908749A (en) * 1985-11-15 1990-03-13 Data General Corporation System for controlling access to computer bus having address phase and data phase by prolonging the generation of request signal
JP2554050B2 (ja) * 1986-02-26 1996-11-13 株式会社日立製作所 デ−タ処理方法
JP2886856B2 (ja) * 1986-04-09 1999-04-26 株式会社日立製作所 二重化バス接続方式
US4965723A (en) * 1987-10-23 1990-10-23 Digital Equipment Corporation Bus data path control scheme
US5317715A (en) * 1987-12-15 1994-05-31 Advanced Micro Devices, Inc. Reduced instruction set computer system including apparatus and method for coupling a high performance RISC interface to a peripheral bus having different performance characteristics
GB8808353D0 (en) * 1988-04-09 1988-05-11 Int Computers Ltd Data processing system
US5133074A (en) * 1989-02-08 1992-07-21 Acer Incorporated Deadlock resolution with cache snooping
US5072369A (en) * 1989-04-07 1991-12-10 Tektronix, Inc. Interface between buses attached with cached modules providing address space mapped cache coherent memory access with SNOOP hit memory updates
US5278974A (en) * 1989-12-04 1994-01-11 Digital Equipment Corporation Method and apparatus for the dynamic adjustment of data transfer timing to equalize the bandwidths of two buses in a computer system having different bandwidths
JPH0485646A (ja) * 1990-07-30 1992-03-18 Oki Electric Ind Co Ltd バスインタフェイス制御装置
US5274763A (en) * 1990-12-28 1993-12-28 Apple Computer, Inc. Data path apparatus for IO adapter
US5265216A (en) * 1991-06-28 1993-11-23 Digital Equipment Corporation High performance asynchronous bus interface
US5369748A (en) * 1991-08-23 1994-11-29 Nexgen Microsystems Bus arbitration in a dual-bus architecture where one bus has relatively high latency
US5359715A (en) * 1991-09-16 1994-10-25 Ncr Corporation Architectures for computer systems having multiple processors, multiple system buses and multiple I/O buses interfaced via multiple ported interfaces
US5355455A (en) * 1991-11-19 1994-10-11 International Business Machines Corporation Method and apparatus for avoiding deadlock in a computer system with two or more protocol-controlled buses interconnected by a bus adaptor
US5265211A (en) * 1992-01-02 1993-11-23 International Business Machines Corporation Arbitration control logic for computer system having dual bus architecture
US5309567A (en) * 1992-01-24 1994-05-03 C-Cube Microsystems Structure and method for an asynchronous communication protocol between master and slave processors

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104145251A (zh) * 2012-03-02 2014-11-12 Arm有限公司 具有第一协议域和第二协议域的数据处理装置及其方法
CN104145251B (zh) * 2012-03-02 2017-06-09 Arm 有限公司 具有第一协议域和第二协议域的数据处理装置及其方法

Also Published As

Publication number Publication date
CN1102265C (zh) 2003-02-26
EP0609041A1 (en) 1994-08-03
CA2109043A1 (en) 1994-07-30
US5611058A (en) 1997-03-11
KR970001919B1 (ko) 1997-02-19
KR940018760A (ko) 1994-08-18
TW283218B (zh) 1996-08-11
JPH076124A (ja) 1995-01-10
JP3189139B2 (ja) 2001-07-16

Similar Documents

Publication Publication Date Title
CN1102265C (zh) 用于在多条总线之间传送信息的系统和方法
CN1207670C (zh) 具有重叠读写操作和可伸缩地址流水线化的数据传送系统
CN1037982A (zh) 在有仲裁的80386/82385微机系统运行中80386对系统总线的抢用
JP3771260B2 (ja) 据置きトランザクションを実行するための方法および装置
CN1111799C (zh) 用于多处理器系统的改进的信号发送协议方法和信号发送协议电路
EP0694849B1 (en) Method for performing bus transactions in a computer system and computer system
JP2505115B2 (ja) システム・バスと周辺バスの間でのデ―タ転送を最適化する複数バス情報処理システム用のバス間ブリッジ
CN1069426C (zh) 信息处理系统
US5261105A (en) System for transferring blocks of data among diverse units having cycle identifier signals to identify different phase of data transfer operations
CN1011356B (zh) 用于数字数据处理器的总线接口电路
CN101059783A (zh) 事务型存储器的虚拟化
JP2002140289A (ja) 調整可能ワード・サイズ転送とアドレス配列/増加を備えたマイクロコントローラdmaオペレーション
CN1162785A (zh) 存储器直接存取控制设备
WO1998032063A2 (en) Method and apparatus for zero latency bus transactions
JPH08235106A (ja) アップグレード・プロセッサのインタフェース方法及びシステム
US20100058001A1 (en) Distributed shared memory multiprocessor and data processing method
US20060253662A1 (en) Retry cancellation mechanism to enhance system performance
JPH02207352A (ja) 中央処理装置を持った多プロセッサーシステムのシステム制御装置をインターフェースする方法及び装置
US5812815A (en) Address tenure control for cache management wherein bus master addresses are internally latched in a cache controller
JP2003316724A (ja) 制御チップセット間の信号送信デバイス
JP2004185610A (ja) メモリ複製オペレーション時の不正確なキャッシュ・ライン保護機構
CN101044459A (zh) 在具有混合体系结构的系统中使用原子操作来修改信息单元的方法和装置
US20040215899A1 (en) Method and data processing system for microprocessor communication in a cluster-based multi-processor network
JP2002278923A (ja) バスシステム,バス制御方式及びそのバス変換装置
US20020169930A1 (en) Memory access control system, method thereof and host bridge

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee