CN101122893A - 用于数据处理设备的互连逻辑 - Google Patents

用于数据处理设备的互连逻辑 Download PDF

Info

Publication number
CN101122893A
CN101122893A CNA2007101384884A CN200710138488A CN101122893A CN 101122893 A CN101122893 A CN 101122893A CN A2007101384884 A CNA2007101384884 A CN A2007101384884A CN 200710138488 A CN200710138488 A CN 200710138488A CN 101122893 A CN101122893 A CN 101122893A
Authority
CN
China
Prior art keywords
affairs
logical unit
logic
dependent
transaction identifiers
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
CNA2007101384884A
Other languages
English (en)
Other versions
CN101122893B (zh
Inventor
A·C·布鲁斯
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.)
ARM Ltd
Original Assignee
Advanced Risc Machines Ltd
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 Advanced Risc Machines Ltd filed Critical Advanced Risc Machines Ltd
Publication of CN101122893A publication Critical patent/CN101122893A/zh
Application granted granted Critical
Publication of CN101122893B publication Critical patent/CN101122893B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种控制事务重排序的互连逻辑,耦合主逻辑和从属逻辑单元,每个事务有事务标识符。ID别名逻辑与从属逻辑单元关联,从属逻辑单元能乱序地为不同事务发布响应传输。如果一事务所涉及的从属逻辑单元与ID别名逻辑关联,则ID别名逻辑以预定标识符代替该事务标识符然后连同预定标识符一起把该事务的地址传输转发至从属逻辑单元。对于由从属逻辑单元利用预定标识符所发布的响应传输,ID别名逻辑以去除的原始事务标识符来代替该预定标识符,以使数据传输能路由至适当的主逻辑单元。这提供了一种非常简单而有效的机制来减少在互连逻辑内发生死锁。

Description

用于数据处理设备的互连逻辑
技术领域
本发明涉及用于数据处理设备的互连逻辑,尤其涉及对耦合至所述互连逻辑的主逻辑单元和从属逻辑单元之间的事务的重排序进行控制的技术。
背景技术
在具有多个主逻辑单元和从属逻辑单元的数据处理设备中,已知提供互连逻辑用于耦合所述主逻辑单元和从属逻辑单元以使事务能得以执行。每个事务由从主逻辑单元至从属逻辑单元的地址传输以及在那个主逻辑单元和那个从属逻辑单元之间的一个或者多个数据传输所组成。对于写入事务,这些数据传输将从所述主逻辑单元传递至所述从属逻辑单元(在一些实施方式中,还将可以是从所述从属逻辑单元传输至所述主逻辑单元的写入响应),而对于读取事务,这些数据传输将从所述从属逻辑单元传递至所述主逻辑单元。从从属逻辑单元至主逻辑单元的任何传输在此被称为响应传输。
互连逻辑将提供用于耦合各个主逻辑单元和从属逻辑单元的多个连接路径。各个传输经由那些连接路径进行路由的方式将依赖于所述互连逻辑中所采用的总线协议。一种已知的总线协议是不分割(non-split)事务协议,例如具有依照英国剑桥ARM有限公司所研发的AHB总线协议而设计的AHB总线的数据处理设备中所采用的。依据这样的不分割事务协议,在事务的地址传输和该事务后续的一个或多个数据传输之间具有固定的时序关系。特别是,在跟随地址被传输之后的周期中数据传输开始。由于地址传输和数据传输之间的固定时序时间关系,接着将意识到多个事务的数据传输以与地址传输相同的次序而发生。
随着互连逻辑复杂性的增加,由于需要支持大量主和从属逻辑单元的互连,接下来研发了另一种总线协议,就是所知的分割事务(splittransaction)协议。依照这样的分割事务协议,互连逻辑中的多个连接路径提供至少一个用于承载地址传输的地址通道和至少一个用于承载数据传输的数据通道。这样的分割事务协议的一个示例是英国剑桥ARM有限公司所研发的AXI(Advanced eXtensible Interface-高级可扩展接口)协议。AXI协议提供多个能够在通过其传输信息和数据的通道,这些通道包括用于承载读取事务的地址传输的读取地址通道、用于承载写入事务的地址传输的写入地址通道、用于承载写入事务的数据传输的写入数据通道、用于承载读取事务的数据传输的读取数据通道、以及用于向写入事务末端的主逻辑单元返回事务状态信息的写入响应通道,例如,所述事务状态信息指示事务是否成功完成或是否发生错误等等。与使用不分割事务协议的相似系统相比,使用这样的分割事务协议能够提高系统的性能。
通常,当采用这样的分割事务协议时,根据相关地址通道上的相应地址传输的时间次序,对数据通道上的数据传输进行优先级排序,从而与较早的地址(即,在地址通道上较早传输的地址)相关的数据优先于与较晚地址相关的数据。
由ARM有限公司作为受让人的于2003年12月23日提交的美国专利申请No.10/743537公开了一种增进方式,其在使用符合这样的分割事务协议的互连逻辑时,可以被用来允许对特定从属逻辑单元的事务进行一定的本地重排序,上述专利申请的全部内容结合于此作为参考。依照该专利申请的教导,每个地址传输包括识别事务源的源标识符。优选地,每个主逻辑单元具有能够关联至其所发布(issue)的多个事务的多个可能的源标识符。例如,这样具有的优势是,由运行在相同处理器上的不同应用程序所生成的事务能够被区分开,从而在多个进程自身互相独立的情况下,来自每个应用程序的事务序列能够被独立排序。从属装置接着能够对其必须基于这样的源标识符信息而维护的未决事务执行一定的本地重排序,由此,例如,与用特定源标识符所发布的事务相关联的一个或多个数据传输能够被给予优先于与用较低优先级的不同源标识符所发布的较早未决事务相关联的一个或多个数据传输的优先权。
这样,虽然对于任何特定事务而言,要求所述从属装置按照次序发布任何响应传输,但是如果所述从属设备有两个具有不同事务标识符的未决事务,则其能够选择首先处理哪一个事务。尽管这使得不同的主逻辑单元能够被给予不同的优先权,或者甚至是运行在特定主逻辑单元上的特定应用程序能够被给予不同的优先权,但是这能够导致在互连逻辑内发生潜在的循环依赖死锁。特别是,如果至少一些主逻辑单元能够向多于一个的从属装置发布多个未决事务,则会出现以下情况:具有特定事务标识符的一个事务被发布至一个从属装置(为了简洁起见将简称为从属1),同时具有相同事务标识符的另一个事务接着被发布至另一个从属装置(为了简洁起见将简称为从属2)。典型地,总线协议将要求对于具有相同事务标识符的事务而言,事务必须被按照次序处理。然而,各从属逻辑单元并不互相通信,并且如果那些从属逻辑单元单独具有对具有不同事务标识符的事务进行重排序的能力,则接收具有相同事务标识符的稍后事务的从属2可能在从属1之前发布响应传输,所述从属1接收具有那个事务标识符的较早事务。在这一点上,从属2不能采取任何进一步的行动,直至那个响应传输由互连逻辑所接受而将其路由至与所述事务相关联的主逻辑单元,但是所述互连逻辑不能接受那个响应传输,原因在于首先它需要接收所述响应传输或用相同事务标识符向从属1所发布的与较早事务相关联的响应传输。这导致从属2被阻塞,原因在于它不能使该响应无效(de-assert)并且不能继续处理,直至所述响应被所述互连逻辑所接受。
例如,如果从属1当前对一个事务输出响应的试图被阻塞,所述事务比已经发布至从属2的具有相同事务标识符的事务更晚,但是所述发布至从属2的事务由于重排序而被从属2降级,这本身就足以导致死锁。这种情况由以下四个事务的示例序列来说明,其中由主方1所发布的两个事务具有相同的事务标识符,相似地,由主方2所发布的两个事务具有相同的事务标识符。
M1->S2
M1->S1
M2->S1
M2->S2
这导致所述事务要用两个从属进行排序,如下:
S1:M1.2M2.1
S2:M1.1M2.2
在上述中,后缀“.1”意味着来自相关联的主方的第一事务,并且“.2”意味着来自相关联的主方的第二事务,从而例如“M1.1”意味着来自主方1的第一事务。如果从属2把它的两个事务重排序,则可以看到从属1和从属2二者试图发布与来自一个主方的第二事务相关的响应传输,由于主方需要首先接收与它们的第一事务相关联的(多个)响应传输,所以条目两个都被阻塞。
当多个从属装置具有重排序的能力时,死锁的可能性甚至变得更大。
当发生死锁时,要把互连逻辑恢复到正常操作状态通常是非常困难的。因此,当发生死锁时,通常要求互连配置复位,典型地,这也将影响与其耦合的逻辑单元的操作。由此,这些逻辑单元也需要被复位以使所要求的数据传输得以执行或完成。所以,将要意识到的是,死锁能够对数据处理装置的性能造成破坏性的影响。
已经研发了多个寻求减少或去除死锁发生可能的死锁避免方案。一个这样的方案称为“单从属”方案,这是一个在每个主逻辑单元所采用的方案。依照该方案,一个主逻辑单元能够向各单个从属逻辑单元发布如其所要求的多个未决事务,并且这些事务可以具有相同或不同的事务标识符。然而,对于任何特定的事务标识符,每次仅允许所述主逻辑单元拥有具有那个由一个从属逻辑单元未决的事务标识符的事务。仅当那些事务完成时,所述事务标识符才能够关于向不同的从属装置所发布的事务而被再次使用。因此,通过这种方法,同时向多个从属装置发布具有相同事务标识符的两个事务的情形得以避免。
依照称之为“唯一ID”方案的备选方案,限制每个主逻辑单元对发布至不同从属逻辑单元的事务永远使用不同的标识符,这又防止了具有相同标识符的多个事务由不同从属逻辑单元未决的情形。
依照称之为“循环次序”方案的第三种方案,向耦合至互连逻辑的多个从属逻辑单元分配适宜的次序。接着每个主逻辑单元被约束为以该预定的适宜次序而向各个从属逻辑单元发送事务。因此,例如,如果预定的次序是从属0、从属2、从属1,则每个主逻辑单元能够向从属0发布任意数目的事务,接着向从属2发布任意数目的事务,接着向从属1发布任意数目的事务。之后,在该主逻辑单元能够再次开始向从属0发送事务之前,所有的未决事务必须完成。
尽管所有这些技术对降低或去除死锁发生的危险均有效,它们都对每个主逻辑单元如何工作进行了显著的约束。
由ARM有限公司作为受让人的于2004年9月30日提交的美国专利申请No.10/953500,其全文结合于此作为参考,所述专利申请描述了给互连逻辑提供一种死锁预测逻辑,所述死锁预测逻辑在主逻辑单元发布每个地址传输时,试图确定该地址传输的传播是否会导致所述互连逻辑变为死锁,并且如果会导致死锁,则阻止该地址传输的传播。在决定任何特定的地址传输是否安全或相反可能导致死锁问题时,所述预测逻辑可以考虑诸如之前所提到的死锁避免方案。由于如果所述预测逻辑预测会发生死锁,则阻止特定地址传输的传播,所以当主逻辑单元发布事务时,该方案再一次限制了主逻辑单元的灵活性。此外,这样的方案是相对复杂的,原因在于其要求提供这样的预测逻辑。
作为上述类型的方案的一个备选选择,可以依据一些总线协议使用的另一个可能性在于在死锁情况发生之后使用超时机制进行恢复。然而,由之前对死锁的讨论将会意识到,这样的死锁能够显著影响数据处理装置的性能,并且从死锁中恢复所要求的步骤是重要的。因此,通常希望提供用于设法避免死锁的发生的方案,而不是依靠在死锁已经发生之后从死锁中恢复的机制。
因此,人们会希望能提供一种改进的技术来控制上述循环依赖死锁问题,所述技术不要求对单个主逻辑单元发布事务的方式进行约束。
发明内容
从第一方面看,本发明提供一种互连逻辑,用于在数据处理装置中耦合主逻辑单元和从属逻辑单元以使事务能得以执行,每个事务包括从主逻辑单元至从属逻辑单元的地址传输和该主逻辑单元和从属逻辑单元之间的一个或多个数据传输,至少一个数据传输是从所述从属逻辑单元至所述主逻辑单元的响应传输,每个事务具有与其相关联的事务标识符,所述互连逻辑包括:多个连接路径,可操作来提供至少一个用于承载地址传输的地址通道和至少一个用于承载数据传输的数据通道;和与所述从属逻辑单元的至少一个子集相关联的ID别名(aliasing)逻辑,在所述至少一个子集中的每个从属逻辑单元都能够相对于该从属逻辑单元接收不同事务的地址传输的次序而乱序地为那些不同事务发布响应传输;对于至少一个事务子集,如果该事务中所涉及的从属逻辑单元与所述ID别名逻辑相关联,则所述ID别名逻辑可操作来:(a)以预先确定的标识符代替该事务的事务标识符,并且然后连同所述预先确定的标识符一起把该事务的地址传输转发至所述从属逻辑单元;(b)对于由所述从属逻辑单元利用所述预先确定的标识符所发布的任意响应传输,以所述步骤(a)中所去除的事务标识符代替所述预先确定的标识符,以使该响应传输能通过所述互连逻辑的连接路径上路由至与该事务相关联的主逻辑单元。
依照本发明,与从属逻辑单元的至少一个子集相关联地提供ID别名逻辑,其中所述别名单元与其相关联的的每个从属逻辑单元能够相对于该从属逻辑单元接收不同事务的地址传输的次序而乱序地为那些不同事务发布响应传输。对于至少一些事务,如果该事务中所涉及的从属逻辑单元与所述ID别名逻辑相关联,则所述ID别名逻辑被安排来以预先确定的标识符代替该事务的事务标识符,所述预先确定的标识符然后被利用所述地址传输路由至所述从属逻辑单元。结果,对于其事务标识符被以这种方式而取别名的任意事务,从属逻辑单元将不会在那些不同事务之间进行重排序,因为它仅在具有不同事务标识符的事务之间进行重排序,并且这些事务中的每一个将具有相同的事务标识符,即已经由所述ID别名逻辑所插入的预先确定的标识符。
当随后由所述从属逻辑单元利用所述预先确定的标识符发布响应传输时,所述ID别名逻辑接着以之前已经去除的事务标识符来代替该预先确定的标识符,从而使得该数据传输通过所述互连逻辑路由至适当的主逻辑单元。
通过使用本发明的ID别名逻辑,通过使用现有协议的工具能够在特定事务上进行排序(即从属逻辑单元不能在具有相同事务标识符的事务之间进行重排序),而不是在现有协议的顶部(top)施加额外的机制。因此,本发明提供了一种技术,用于通过使用首次产生问题的规则来控制在分割事务协议系统中固有的循环依赖死锁问题,即从属逻辑单元在具有不同事务标识符的事务之间进行重排序的能力。
因此,本发明提供了一种非常简单且有效的技术,用于防止互连逻辑中的这种循环依赖死锁。
所述事务可以采用各种形式。在一个实施例中,如果所述事务是读取事务,则与所述事务相关联的从属逻辑单元可操作来发布一个或多个包含所述读取事务主题数据的响应传输。作为选择,如果所述事务是写入事务,则与所述事务相关联的从属逻辑单元可操作来在写入事务末尾发布一个包含事务状态信息的响应传输。
所述ID别名逻辑能够以多种方式进行配置。然而,在一个实施例中,并不是所有发布至与所述ID别名逻辑相关联的从属逻辑单元的事务的事务标识符都被预先确定的标识符所代替,并且相反,对于与所述ID别名逻辑相关联的每个从属逻辑单元,所述ID别名逻辑包括ID匹配逻辑,用于为涉及该从属逻辑单元的每个事务确定所关联的事务标识符是否与所存储的事务标识符列表相匹配,并且如果匹配,则以预先确定的标识符代替所述事务标识符。通过这样的方法,利用预先确定的标识符给事务标识符取别名能够被限制为事务标识符的某一特子集,例如由希望向多个从属装置传递地址的主逻辑单元所发布的那些事务标识符。对于该特定的示例,还可能会把所述取别名限制为被用来访问所述多个从属装置的特定事务标识符。这使得不在所存储列表中的其它事务标识符自由参与交错(interleaving),并且这允许从属逻辑单元在它们的事务安排中进行一定的判断。
在一个实施例中,对于每个从属逻辑单元,所述ID别名逻辑进一步包括:FIFO(先入先出)存储器,在其中放置用预先确定的标识符所代替的任意事务标识符;和第二匹配逻辑,可操作来为由从属逻辑单元所发布的每个数据传输检测所述预先确定的标识符是否关联于该数据传输而发布,并且如果是,则以从所述FIFO存储器中所获得的事务标识符代替所述预先确定的标识符。这提供了有效的机制,用于当每个响应传输被路由回适当的主逻辑单元时以适当的事务标识符来代替预先确定的标识符。
由于对于某些事务,将会有多个响应传输,因此需要在所述FIFO存储器中保存任何事务标识符,直至相关联的事务的最后响应传输被发布之时。依照一个实施例,对于每个从属逻辑单元,所述ID别名逻辑可操作地为涉及该从属逻辑单元的每个事务检测由该从属逻辑单元为该事务所发布的最后响应传输,并且一旦检测到,则从所述FIFO存储器中弹出位于所述FIFO存储器头部的事务标识符。因此,通过这种方法,位于FIFO头部的事务标识符将停留在所述FIFO的头部,直至该事务最后的响应传输被发布,其后它将从所述FIFO存储器中被弹出来使得下一个事务标识符进入所述FIFO存储器的头部。
如之前所讨论的,对于不在所存储列表中的任意事务标识符,那些事务标识符能够参与到交错中并且能够被从属逻辑单元重排序。在一个实施例中,对于不在所述存储列表中的任意事务标识符,当实施一个或多个其它死锁避免方案而不利用ID别名逻辑时,那些事务标识符能够由主逻辑单元使用。例如,那些事务标识符可以关联于之前提到的先有技术方案,其对单个主逻辑单元能够发布事务的地址传输的方式进行限制。因此,本发明实施例的方案是非常灵活的,原因在于它能够用于独立地、或者与一个或多个另外的死锁避免方案相组合。
在一个实施例中,所述至少一个事务子集包括所涉及的从属逻辑单元为其关联于ID别名逻辑的所有事务。这样,在这个简化的实施例中,所述ID别名逻辑被配置成以预先确定的标识符来代替所有的事务标识符,从而使得接受方从属逻辑单元不能对其任何事务进行重排序,而仅仅是按照次序来处理它们全部。
在这样的实施例中,对于每个从属逻辑单元,所述ID别名逻辑可以进一步包括:FIFO存储器,在其中放置由预先确定的标识符所代替的每个事务标识符;和可操作来为所述从属逻辑单元所发布的每个数据传输以从所述FIFO存储器中所获得的事务标识符代替所述预先确定的标识符。与之前所描述的实施例一样,所述ID别名逻辑也能够被配置成检测由从属逻辑单元为特定事务所发布的最后响应传输,并且一旦检测到,则从所述FIFO存储器中弹出位于所述FIFO存储器头部的事务标识符。
所述ID别名逻辑能够以多种方式进行配置。然而,在一个实施例中,所述ID别名逻辑包括用于所述从属逻辑单元的所述至少一个子集中的每个从属逻辑单元的分离逻辑单元。由此,通过提供与所要求的每个从属逻辑单元相关联的分离ID别名逻辑,使得所述ID别名逻辑被接近于互连逻辑与所耦合的从属逻辑单元之间的接口而提供。
尽管所述ID别名逻辑能够与从属逻辑单元的一个子集相关联,但是在一个实施例中,连接至所述互连逻辑的所有从属逻辑单元都与所述ID别名逻辑相关联。
由所述ID别名逻辑所接收的事务标识符能够采用多种形式。然而,在一个实施例中,所述互连逻辑进一步包括:与每个主逻辑单元相关联的事务标识符生成逻辑,其可操作来通过把主方标识符与所述主逻辑单元所发布的原始事务标识符相结合而产生每个事务标识符,从而在所述互连逻辑内,由不同的主逻辑单元所发布的事务都被唯一地标识。由此,即使不同的主逻辑单元使用相同的原始事务标识符,通过所述互连逻辑所路由的事务标识符也将是唯一的,这是由于所述事务标识符生成逻辑结合了主方标识符与原始事务标识符。
所述从属逻辑单元能够采用多种形式。然而,在一个实施例中,与所述ID别名逻辑相关联的那些从属逻辑单元中的至少一个是用于控制对存储器的访问的存储器控制器。存储器控制器一种类型从属逻辑单元,其中通常希望允许那些从属逻辑单元对事务进行重排序,并且由此本发明的实施例的ID取别名技术的使用对于关联于存储器控制器的使用是一种尤其有效的方案。
在所述互连逻辑中所提供的地址通道和数据通道能够采用多种形式。然而,在一个实施例中,这样的通道是单向通道。因此,不同于双向数据通道,将会有分离的读取数据通道和分离的写入数据通道。
从第二方面看,本发明提供一种数据处理设备,包括多个主逻辑单元和从属逻辑单元,以及依照本发明第一方面的互连逻辑,用于耦合所述多个主逻辑单元和从属逻辑单元,以使得事务能得以执行。
从第三方面看,本发明提供一种用于在数据处理设备中耦合多个主逻辑部件和从属逻辑部件以使得事务能得以执行的互连逻辑,每个事务包括从主逻辑部件至从属逻辑部件的地址传输和该主逻辑部件和从属逻辑部件之间的一个或多个数据传输,至少一个数据传输是从所述从属逻辑部件至所述主逻辑部件的响应传输,每个事务具有与其相关联的事务标识符,所述互连逻辑包括:多个连接路径部件,用于提供至少一个用于承载地址传输的地址通道部件和至少一个用于承载数据传输的数据通道部件;和与所述从属逻辑部件的至少一个子集相关联的ID别名部件,在所述至少一个子集中的每个从属逻辑部件能够相对于该从属逻辑部件接收不同事务的地址传输的次序而乱序地为那些不同事务发布响应传输;对于多个事务的至少一个子集,如果该事务中所涉及的从属逻辑部件与所述ID别名部件相关联,则所述ID别名部件被用于:(a)以预先确定的标识符代替该事务的事务标识符,并且连同所述预先确定的标识符一起把该事务的地址传输转发至所述从属逻辑部件;(b)对于由所述从属逻辑部件利用所述预先确定的标识符所发布的任意响应传输,以所述步骤(a)中所去除的事务标识符代替所述预先确定的标识符,以使得该响应传输能通过所述互连逻辑的连接路径部件路由至与该事务相关联的主逻辑部件。
从第四方面看,本发明提供了一种在数据处理设备中耦合主逻辑部件和从属逻辑部件以使事务能得以执行的方法,每个事务包括从主逻辑单元至从属逻辑单元的地址传输和该主逻辑单元和从属逻辑单元之间的一个或多个数据传输,至少一个数据传输是从所述从属逻辑单元至所述主逻辑单元的响应传输,每个事务具有与其相关联的事务标识符,所述方法包括步骤:使用多个连接路径来提供至少一个用于承载地址传输的地址通道和至少一个用于承载数据传输的数据通道;对于至少一个事务子集,涉及从属逻辑单元,所述从属逻辑单元能够相对于该从属逻辑单元接收不同事务的地址传输的次序而乱序地为不同事务发布响应传输:(a)以预先确定的标识符代替每个这样的事务的事务标识符,并且然后连同所述预先确定的标识符一起把该事务的地址传输转发至所述从属逻辑单元;和
(b)对于由所述从属逻辑单元利用所述预先确定的标识符所发布的任意响应传输,以所述步骤(a)中所去除的事务标识符代替所述预先确定的标识符,以使该响应传输能通过所述连接路径路由至与该事务相关联的主逻辑单元。
附图说明
将参考结合附图所图示的本发明的实施例对本发明以举例的方式进一步进行描述,其中:
图1是依据本发明一个实施例的数据处理设备的框图;
图2是依据本发明一个实施例而图示在图1中的每个ID别名单元的构造的示图;
图3是依据本发明一个实施例而图示图2的ID匹配和控制逻辑的操作的流程图;
图4是依据本发明一个实施例而图示图2的别名ID匹配逻辑的操作的流程图。
具体实施方式
在本发明的实施例中,数据处理设备的互连逻辑采用分割事务协议,在该协议中提供了分离的地址通道和数据通道,并且把数据传输时序相对于特定事务的地址传输时序相分离。在一个特定实施例中,所述互连逻辑依照AXI协议进行操作,并且所述互连逻辑的连接路径提供五个通道,即读取地址通道,写入地址通道,读取数据通道、写入数据通道和写入响应通道。
图1是并入这样的互连逻辑的数据处理设备的框图。如图1所示,所述互连逻辑具有多个主方(master)装置,在该示例中三个主方装置M0、M1、M2(80、85、90)与其连接,并且具有多个从属装置,在该示例中从属装置S0、S1、S2(95、100、105)与其连接。互连逻辑10经由多个连接路径耦合主逻辑单元和从属逻辑单元,以使得事务得以执行。每个事务包括从主逻辑单元经由地址通道至从属逻辑单元的地址传输和该主逻辑单元与从属逻辑单元之间经由适当数据通道的一个或多个数据传输。为了简明,图1中没有相独立地示出各通道。
当每个主逻辑单元通过发布一个地址传输而开始一个事务时,该主逻辑单元也随所述地址传输发布一个事务标识符来识别所述事务,该事务标识符接着与所述事务的数据传输相关联所述使用,从而那些数据传输能够与所述地址传输相匹配。
每个主逻辑单元80、85、90可以具有一个或多个其用于事务的事务标识符,并且由任意特定的主逻辑单元所使用的(多个)事务标识符可以不同于任何其它主逻辑单元所使用的一个或多个事务标识符也可以不与它们不相同。
关联于每个主逻辑单元,互连逻辑10具有控制和路由逻辑20、30、40,其中的每一个均包括多路复用器(multiplexer)/解多路复用器(de-multiplexer)逻辑24、34、44,用于经由适当的连接路径路由事务的地址传输,从而使得所述地址传输被路由至适当的从属逻辑单元95、100、105,用于把任意写入数据传输路由至该从属逻辑单元,并且用于把任何读取数据传输或写入响应传输(写入响应传输在写入事务末尾包含事务状态信息,例如识别所述事务是否成功完成)从该从属逻辑单元向回路由到相关联的主逻辑单元。
此外,每个控制和路由逻辑20、30、40还包括为相关联的主逻辑单元所发布的每一个事务标识符配置的ID添加/去除逻辑单元22、32、42,其使用允许把响应向回路由到该主方的主方号码扩展该事务标识符,从而来自不同主方的事务在互连逻辑10内能够被唯一标识。相似地,当传输被向回路由到所述主方时,所述ID添加/去除逻辑单元22、32、42在响应传输被返回相关联的主逻辑单元80、85、90之前剥离所述主方号码。除了允许把响应向回路由到适当的主方之外,利用主方号码扩展事务标识符以在所述互连逻辑内生成新形式的事务标识符还具有这样的结果:能够对具有不同事务标识符的多个事务重排序的任何从属逻辑单元95、100、105接着也能够对来自不同主方的多个事务进行重排序,即使它们最初具有相同的事务标识符。
互连逻辑10还包括关联于每个从属逻辑单元95、100、105的多路复用器/解多路复用器逻辑50、60、70,用于把地址传输和写入传输路由至所关联的从属逻辑单元,并且类似地经由互连逻辑10向适当的主逻辑单元路由由从属逻辑单元所发布的响应传输。
尽管,图1所示的互连逻辑10仅具有与其连接的三个主逻辑单元和三个从属逻辑单元,但是应当理解:连接至所述互连的主逻辑单元和从属逻辑单元的数目可以变化的,并且还应当理解在互连逻辑10中所提供的连接路径能够比图1所示的简单连接路径网络复杂得多。
如之前所讨论的,当为连接至互连逻辑10的从属逻辑单元提供了对具有不同事务标识符的未决事务进行重排序的能力时,这会导致由单个从属逻辑单元处理事务的性能改进,并且还能够允许某些事务具有优先于其它事务的优先权。然而,该灵活性的一个潜在的副作用是会在互连逻辑10中发生循环依赖死锁。为了缓解该问题,本发明一个实施例的互连逻辑10具有与耦合至互连逻辑10的一个或多个从属逻辑单元相关联的ID别名逻辑单元55、65、75。出于说明的原因,在图1中,示出每个从属逻辑单元95、100、105具有相关联的ID别名逻辑单元55、65、75。然而,如果连接至互连逻辑10的任意特定的从属逻辑单元不能够对多个事务进行重排序,则将不需要相关联的ID别名逻辑单元。相似地,如果对于互连逻辑10中能够对多个事务进行重排序的特定从属逻辑单元,实施了另一种死锁避免方案(例如之前所描述的对单个主逻辑单元发送地址的方式进行限制的方案),则将不需要相关联的ID别名逻辑单元。然而,在一个实施例中,关联于能够对多个事务进行重排序的任意从属逻辑单元来提供这样的ID别名逻辑单元。
每个ID别名逻辑单元55、65、75被配置成为多个事务的至少一个子集以预先确定的标识符代替相关联的事务标识符,并且然后连同所述预先确定的标识符把该事务的地址传输转发至所述逻辑单元。该预先确定的标识符能够具有任何预选值,只要其不同于所述ID别名逻辑所接收的任何传输标识符即可。这例如可以通过向所述ID添加额外的比特以及使用全1值而容易地获得。
相似地,对于写入事务的任意写入数据传输,所述ID别名逻辑单元将再次以所述预先确定的标识符代替所述事务标识符。结果,对于其标识符以这种方式取别名的任意事务,相关联的从属逻辑单元接着不能够在那些事务之间进行重排序,原因在于关于该从属逻辑单元,那些事务的每一个都具有相同事务标识符。结果,该方法使得所述从属逻辑单元按照次序的处理那些事务,这就消除了与那些事务相关联地发生死锁的可能。
当所述从属逻辑单元利用预先确定的标识符发布任意响应传输时,ID别名逻辑单元55、65、75接着被配置成以之前关联相关事务被去除的事务标识符代替所述预先确定的标识符,从而使得该响应传输经由所述互连逻辑而被路由至与该标识符相关联的主逻辑单元。
在一个实施例中,每个ID别名逻辑单元55、65、75被配置成以所述预先确定的标识符代替每个事务标识符。该实施方式是最简单的,并且将防止循环依赖死锁发生。然而,在该实施例中,由于所有的标识符都被单个标识符所代替,所以禁止到多个主方和来自多个主方的数据传输的交错。
依据可替换的实施例,给事务标识符取别名被限制在可能事务标识符的某一子集内,例如,希望向多个从属装置发送地址的主逻辑单元所发布的那些事务标识符。对于每个这样的主逻辑单元,把所述取别名限制为被用于访问多个从属装置的特定标识符也会是有利的。这使得其它事务标识符自由参与交错,并且允许从属逻辑单元在它们的事务安排中进行一定的判断。
图2是依据该实施例所示而图示在图1的每个ID别名单元的构造的框图。在图2中,图顶部的路径200、225是关联于地址传输或写入数据传输而发布的任意事务标识符所取的路径,而图2底部的路径230、245是关联于响应传输的任意事务标识符所取的路径,例如,读取事务情况下的读取数据传输,或写入事务情况下的写入响应传输。从图2可以看出,当经由路径200从主方接收到事务标识符时,该事务标识符被路由至多路复用器205作为一个输入,所述多路复用器205还接收预先确定的标识符作为第二输入,在图2中称为特殊标识符。此外,经由路径200从主方所接收的事务标识符被路由至ID匹配和控制逻辑215,所述ID匹配和控制逻辑215被用来确定该事务标识符是否与所存储的事务标识符列表相匹配,取别名要对所述事务标识符列表而执行。由ID匹配和控制逻辑215所执行的过程将在稍后参考图3更为详细的描述。假设检测到匹配,所述ID匹配和控制逻辑215向多路复用器205发布控制信号,以使得多路复用器205经由路径225输出经由路径210所接收的特殊标识符,并且除此之外,所述ID匹配和控制逻辑215还向FIFO 220输出经由路径200所接收的原始事务标识符。
在一个实施例中,为其事务标识符被所述特殊标识符所代替的每个事务,使一个条目进入FIFO 220。当所关联的从属装置发布响应传输时,关联于该传输的事务标识符经由路径230被路由到多路复用器235作为一个输入。所述多路复用器235的其它输入由位于FIFO 220头部的条目来提供。经由路径230所接收的事务标识符也被路由至别名ID匹配逻辑240,所述别名ID匹配逻辑240确定该事务标识符是否为所述特殊标识符,并且如果是,则向多路复用器235发布控制信号,以使得所述多路复用器经由路径245输出从FIFO 220头部所获得的事务标识符。否则,别名ID匹配逻辑240控制多路复用器235来经由路径245输出经由路径230所接收的事务标识符。别名ID匹配逻辑240的操作的更多细节将在稍后参考图4提供。
图3是图示依据本发明一个实施例的ID匹配和控制逻辑215的操作的流程图。在步骤300,主方装置以事务标识符“n”向从属装置发布地址和相关联的控制信息传输,此处n可以是任何适宜的值。
在步骤305,确定ID“n”是否与由ID匹配和控制逻辑215所维护的列表中的一个指定的ID相匹配。如果不匹配,则该过程前进至步骤320,其中多路复用器205被设置成经由输出路径225传递未改变的事务ID“n”,其后该过程在步骤325结束。
然而,如果在步骤305检测到匹配,则所述过程前进至步骤310,其中所述多路复用器被设置成以经由路径210所接收的特殊标识符代替原始标识符“n”,除此之外,在步骤315,原始标识符“n”还被压入FIFO 220。之后,该过程在步骤325结束。
现在将进一步参考图4来描述图2的别名ID匹配逻辑240的操作。在步骤400,从属装置到主方装置的响应传输用ID“x”发布。之后,在步骤405,确定所述标识符“x”是否与所述特殊标识符相匹配。如果不匹配,则在步骤425,多路复用器235被设置成把未改变的标识符从路径230传递到路径245上,其后该过程在步骤430结束。
然而,如果在步骤405检测到匹配,则所述过程前进至步骤410,其中多路复用器235被设置成以从位于FIFO 220头部的条目所获得的标识符“n”代替所述特殊标识符。之后,在步骤415,确定所讨论的响应传输是否为所述事务的最后响应传输。如果不是,则不需要任何进一步的动作并且该过程在步骤430结束。然而,如果所述响应传输是所述事务的最后响应传输,则该过程前进至步骤420,其中为了去除位于FIFO头部的条目并且允许新的条目进入所述FIFO的头部,弹出FIFO 220。
因此,在一个事务具有来自从属装置的多个响应传输的情况下,例如指定一个块读取进程的读取事务,则将看到,对于每个响应传输,将从FIFO 220头部获得相同的事务标识符,以用于经由互连逻辑10而路由至适当的主逻辑单元,但是当遇到最后的响应传输时,这将导致FIFO被弹出来以从所述FIFO去除该事务标识符,并且允许下一个事务标识符进入所述FIFO的头部。之后,当关于其ID已经用特殊ID取别名的下一个事务的响应传输开始被发布时,则适当的事务标识符将位于所述FIFO的头部,用于从多路复用器235输出。
现有的协议典型地具有一些机制,用于标记一个事务最后的响应传输,并且由此所有所需要的是让别名ID匹配逻辑240检测与所述最后响应传输相关联的这样的标记,并以这样的鉴别结果来执行步骤420。考虑到之前提到的AXI协议,写入事务仅具有单个响应传输,即写入响应传输,而读取事务能够具有1至16个响应传输,即读取数据传输。最后的读取数据传输具有与其相关联而被置为有效的RLAST信号,用于标识其是所述读取事务的最后响应传输。
在一个实施例中,ID匹配和控制逻辑215被静态配置,由此,特别地,以要由特殊标识符多代替的一个标识符或标识符范围来静态配置要被取别名的事务ID的列表。然而,在另一实施例中,ID匹配和控制逻辑215能够被动态编程。在一个实施例中,ID匹配和控制逻辑215中存储的标识符列表包含来自所有主方的所有标识符,所述标识符被多个从属用于并发事务。
以下描述将说明一个事务序列的示例,如果不使用ID别名逻辑55、65、75,所述序列将会在图1所示的互连逻辑中导致死锁。
给定图1所示的互连,以下是能够导致死锁的事务序列的示例:
M0->S2
M1->S2
M2->S1
M0->S0
M1->S1
M2->S0
M0->S1
M1->S0
M2->S2
注释:
1.M0->S2应解释为“主方M0向从属S2发送控制信息以开始事务”。
2.在本示例中,当所有事务离开主方时,它们具有相同的ID。然而,所述互连把始发主方的号码与这些ID连接起来,从而所述从属看到不同的ID,这取决于它们所来哪一个主方。这允许所述从属对来自不同主方的事务进行重排序,即使它们开始具有相同的ID也是如此。
在这个序列之后,从方将具有以下排队的事务:
S0:M02M13M22
S1:M03M12M21
S2:M01M11M23
下标指示依照协议的要求而必须返回主方的响应的次序。
如果没有从属对事务的处理进行重排序并且以到达的次序给出它们的响应,则将不会出现死锁:
S0->M02//被阻塞因为M0在等待来自S2的M01
S1->M03//被阻塞因为M0在等待来自S0的M02
S2->M01
S0->M02
S1->M03//被阻塞因为M0在等待来自S0的M02
S2->M11
S0->M13//被阻塞因为M1在等待来自S1的M12
S1->M03
S2->M23//被阻塞因为M2在等待来自S1的M21
S0->M13//被阻塞因为M1在等待来自S1的M12
S1->M12
S2->M23//被阻塞因为M2在等待来自S1的M21
S0->M13
S1->M21
S2->M23//被阻塞因为M2在等待来自S1的M21
S0->M22
S1->
S2->M23//被阻塞因为M2在等待来自S0的M22
S0->
S1->
S2->M23
然而,如果多个从属中的一个对事务的处理进行了重排序,则会发生死锁。考虑到从属S0对其处理进行重排序的情况,从而其现在的队列是:
S0:M22M02M13
现在的响应序列会是:
S0->M22//被阻塞因为M2在等待来自S1的M21
S1->M03//被阻塞因为M0在等待来自S0的M02
S2->M01
S0->M22//被阻塞因为M2在等待来自S1的M21
S1->M03//被阻塞因为M0在等待来自S0的M02
S2->M11
S0->M22//被阻塞因为M2在等待来自S1的M21\
S1->M03//被阻塞因为M0在等待来自S0的M02|死锁
S2->M23//被阻塞因为M2在等待来自S1的M21/
注释:
1.S0->M22应解释为“从属S0开始主方M2所期望的第二响应”。
参考图1至4所描述的本发明的实施例通过在互连中以能够对事务进行重排序的所有从属的唯一ID代替连接起来的ID而防止了死锁现象。这防止了导致死锁现象的从属内的重排序。
之前所描述的“单从属”和“唯一ID”死锁避免方案能够与本发明实施例的技术自由结合,原因在于它们明确避免了需要保持多个从属之间的次序。
然而,本发明实施例的技术不能与多从属死锁避免方案(例如,之前所描述的“循环次序”方案)相结合,原因在于它们保持多个从属之间的次序的机制将妨碍本发明的机制。
由本发明实施例的上述描述将意识到,这样的实施例提供了新的方式来控制分割事务协议系统中所固有的循环依赖死锁,特别地,本发明实施例的技术使用在首次产生问题的规则来达到这一目的。特别地,本发明实施例的技术通过使用产生循环依赖死锁问题的次序要求克服了循环依赖死锁问题。如之前所述,还有控制死锁问题的其它方法,但是它们不可避免地更加复杂并且更具有限制性,原因在于它们试图利用其它机制来保持次序约束。
虽然在此描述了特定实施例,但是将要理解的是,本发明并不局限于此,并且在本发明的范围之内能够对其进行许多修改和添加。例如,以下从属权利要求的特征的各种组合均可以作为独立权利要求的特征,这并没有背离本发明的范围。

Claims (18)

1.一种互连逻辑,用于在数据处理装置中耦合主逻辑单元和从属逻辑单元以使事务能得以执行,每个事务包括从主逻辑单元至从属逻辑单元的地址传输和该主逻辑单元和从属逻辑单元之间的一个或多个数据传输,至少一个数据传输是从所述从属逻辑单元至所述主逻辑单元的响应传输,每个事务具有与其相关联的事务标识符,所述互连逻辑包括:
多个连接路径,可操作来提供至少一个用于承载地址传输的地址通道和至少一个用于承载数据传输的数据通道;和
与所述从属逻辑单元的至少一个子集相关联的ID别名逻辑,在所述至少一个子集中的每个从属逻辑单元都能够相对于该从属逻辑单元接收不同事务的地址传输的次序而乱序地为那些不同事务发布响应传输;
对于至少一个事务子集,如果该事务中所涉及的从属逻辑单元与所述ID别名逻辑相关联,则所述ID别名逻辑可操作来:
(a)以预先确定的标识符代替该事务的事务标识符,并且然后连同所述预先确定的标识符一起把该事务的地址传输转发至所述从属逻辑单元;
(b)对于由所述从属逻辑单元利用所述预先确定的标识符所发布的任意响应传输,以所述步骤(a)中所去除的事务标识符代替所述预先确定的标识符,以使该响应传输能通过所述互连逻辑的连接路径上路由至与该事务相关联的主逻辑单元。
2.如权利要求1所述的互连逻辑,其中如果所述事务是读取事务,则与所述事务相关联的从属逻辑单元可操作来发布一个或多个包含所述读取事务主题数据的响应传输。
3.如权利要求1所述的互连逻辑,其中如果所述事务是写入事务,则与所述事务相关联的从属逻辑单元可操作来在写入事务结尾时发布包含事务状态信息的响应传输。
4.如权利要求1所述的互连逻辑,其中对于与所述ID别名逻辑相关联的每个从属逻辑单元,所述ID别名逻辑包括ID匹配逻辑,用于为涉及该从属逻辑单元的每个事务确定所关联的事务标识符是否与所存储的事务标识符列表相匹配,并且如果匹配,则以预先确定的标识符代替所述事务标识符。
5.如权利要求4所述的互连逻辑,其中对于每个从属逻辑单元,所述ID别名逻辑进一步包括:
FIFO存储器,在其中放置由预先确定的标识符所代替的任意事务标识符;和
第二匹配逻辑,可操作来为由所述从属逻辑单元所发布的每个数据传输检测所述预先确定的标识符是否是与该数据传输相关联地发布的,并且如果是,则以从所述FIFO存储器中所获得的事务标识符代替所述预先确定的标识符。
6.如权利要求5所述的互连逻辑,其中对于每个从属逻辑单元,所述ID别名逻辑可操作地为涉及该从属逻辑单元的每个事务检测由该从属逻辑单元为该该事务所发布的最后响应传输,并且一旦检测到,则从所述FIFO存储器中弹出位于所述FIFO存储器头部的事务标识符。
7.如权利要求4所述的互连逻辑,其中对于不在所述存储的列表中的任意事务标识符,当不利用所述ID别名逻辑实现一个或多个其它死锁避免方案时,那些事务标识符能够由主逻辑单元所使用。
8.如权利要求1所述的互连逻辑,其中所述至少一个事务子集包括所涉及的从属逻辑单元都为其而关联于所述ID别名逻辑的所有事务。
9.如权利要求8所述的互连逻辑,其中对于每个从属逻辑单元,所述ID别名逻辑可以进一步包括:
FIFO存储器,在其中放置用所述预先确定的标识符所代替的每个事务标识符;和
可操作来为由所述从属逻辑单元所发布的每个数据传输用从所述FIFO存储器中所获得的事务标识符代替所述预先确定的标识符的逻辑。
10.如权利要求9所述的互连逻辑,其中对于每个从属逻辑单元,所述ID别名逻辑可操作地为涉及该从属逻辑单元的每个事务检测由该从属逻辑单元为该事务所发布的最后响应传输,并且一旦检测到,则从所述FIFO存储器中弹出位于所述FIFO存储器头部的事务标识符。
11.如权利要求1所述的互连逻辑,其中所述ID别名逻辑包括在所述从属逻辑单元的所述至少一个子集中的每个从属逻辑单元的分离逻辑单元。
12.如权利要求1所述的互连逻辑,其中所述从属逻辑单元的所述至少一个子集包括所有的所述多个从属逻辑单元。
13.如权利要求1所述的互连逻辑,进一步包括:
事务标识符生成逻辑,与每个主逻辑单元相关联并可操作来通过把主方标识符与所述主逻辑单元所发布的原始事务标识符相结合而产生每个事务标识符,由此在所述互连逻辑内,由不同的主逻辑单元所发布的事务都被唯一地标识。
14.如权利要求1所述的互连逻辑,其中所述至少一个子集中的至少一个所述从属逻辑单元是用于控制对存储器的访问的存储器控制器。
15.如权利要求1所述的互连逻辑,其中所述至少一个地址通道和所述至少一个数据通道是单向通道。
16.一种数据处理设备,包括:
多个主逻辑单元和从属逻辑单元,以及
如权利要求1所述的互连逻辑,用于耦合所述多个主逻辑单元和从属逻辑单元以使事务能得以执行。
17.一种用于在数据处理设备中耦合主逻辑部件和从属逻辑部件以使事务能够得以执行的互连逻辑,每个事务包括从主逻辑部件至从属逻辑部件的地址传输和该主逻辑部件和从属逻辑部件之间的一个或多个数据传输,至少一个数据传输是从所述从属逻辑部件至所述主逻辑部件的响应传输,每个事务具有与其相关联的事务标识符,所述互连逻辑包括:
多个连接路径部件,用于提供至少一个用于承载地址传输的地址通道部件和至少一个用于承载数据传输的数据通道部件;和
与所述从属逻辑部件的至少一个子集相关联的ID别名部件,在所述至少一个子集中的每个从属逻辑部件都能够相对于该从属逻辑部件接收不同事务的地址传输的次序而乱序地为那些不同事务发布响应传输;
对于至少一个事务子集,如果该事务中所涉及的从属逻辑部件与所述ID别名部件相关联,则所述ID别名部件被用于:
(a)以预先确定的标识符代替该事务的事务标识符,并且然后连同所述预先确定的标识符一起把该事务的地址传输转发至所述从属逻辑部件;
(b)对于由所述从属逻辑部件利用所述预先确定的标识符所发布的任意响应传输,以所述步骤(a)中所去除的事务标识符代替所述预先确定的标识符,以使该响应传输能通过所述互连逻辑的连接路径部件路由至与该事务相关联的主逻辑部件。
18.一种在数据处理设备中耦合主逻辑部件和从属逻辑部件以使事务能得以执行的方法,每个事务包括从主逻辑单元至从属逻辑单元的地址传输和该主逻辑单元和从属逻辑单元之间的一个或多个数据传输,至少一个数据传输是从所述从属逻辑单元至所述主逻辑单元的响应传输,每个事务具有与其相关联的事务标识符,所述方法包括步骤:
使用多个连接路径来提供至少一个用于承载地址传输的地址通道和至少一个用于承载数据传输的数据通道;
对于至少一个事务子集,涉及从属逻辑单元,所述从属逻辑单元能够相对于该从属逻辑单元接收不同事务的地址传输的次序而乱序地为不同事务发布响应传输:
(a)以预先确定的标识符代替每个这样的事务的事务标识符,并且然后连同所述预先确定的标识符一起把该事务的地址传输转发至所述从属逻辑单元;和
(b)对于由所述从属逻辑单元利用所述预先确定的标识符所发布的任意响应传输,以所述步骤(a)中所去除的事务标识符代替所述预先确定的标识符,以使该响应传输能通过所述连接路径路由至与该事务相关联的主逻辑单元。
CN2007101384884A 2006-08-08 2007-08-08 用于数据处理设备的互连逻辑 Active CN101122893B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0615734A GB2440758B (en) 2006-08-08 2006-08-08 Interconnect logic for a data processing apparatus
GB0615734.1 2006-08-08

Publications (2)

Publication Number Publication Date
CN101122893A true CN101122893A (zh) 2008-02-13
CN101122893B CN101122893B (zh) 2012-03-21

Family

ID=37056010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101384884A Active CN101122893B (zh) 2006-08-08 2007-08-08 用于数据处理设备的互连逻辑

Country Status (4)

Country Link
US (1) US7558895B2 (zh)
JP (1) JP5322412B2 (zh)
CN (1) CN101122893B (zh)
GB (1) GB2440758B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055467A (zh) * 2015-04-13 2016-10-26 Arm 有限公司 逻辑分析
TWI651620B (zh) * 2014-01-13 2019-02-21 英商Arm股份有限公司 用於處理多個交易之資料處理系統及方法
CN111241029A (zh) * 2018-11-29 2020-06-05 意法半导体(鲁塞)公司 片上系统内的访问限制管理
CN113886310A (zh) * 2021-11-02 2022-01-04 上海兆芯集成电路有限公司 桥接模块、数据传输系统和数据传输方法
CN114265872A (zh) * 2022-02-24 2022-04-01 苏州浪潮智能科技有限公司 一种用于总线的互联装置

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8000229B2 (en) * 2007-02-07 2011-08-16 Lightfleet Corporation All-to-all interconnect fabric generated monotonically increasing identifier
US7895381B2 (en) * 2009-02-16 2011-02-22 Himax Media Solutions, Inc. Data accessing system
GB2478795B (en) * 2010-03-19 2013-03-13 Imagination Tech Ltd Requests and data handling in a bus architecture
JP2012073851A (ja) * 2010-09-29 2012-04-12 Sony Corp バスシステムおよびそのデッドロック回避回路
GB2484483B (en) * 2010-10-12 2018-07-11 Advanced Risc Mach Ltd Communication using integrated circuit interconnect circuitry
KR101699781B1 (ko) * 2010-10-19 2017-01-26 삼성전자주식회사 시스템 온 칩 및 그것의 데이터 중재 방법
JP5664187B2 (ja) * 2010-12-06 2015-02-04 ソニー株式会社 相互接続装置、および、その制御方法
JP5659817B2 (ja) * 2011-01-21 2015-01-28 ソニー株式会社 相互接続装置
US8656078B2 (en) 2011-05-09 2014-02-18 Arm Limited Transaction identifier expansion circuitry and method of operation of such circuitry
US8861410B2 (en) 2011-10-31 2014-10-14 Qualcomm Incorporated Method and apparatus for scalable network transaction identifier for interconnects
US9069912B2 (en) 2012-03-31 2015-06-30 Qualcomm Technologies, Inc. System and method of distributed initiator-local reorder buffers
US9348537B2 (en) * 2013-09-10 2016-05-24 Qualcomm Incorporated Ascertaining command completion in flash memories
US10255210B1 (en) * 2016-03-01 2019-04-09 Amazon Technologies, Inc. Adjusting order of execution of a target device
KR20180062807A (ko) 2016-12-01 2018-06-11 삼성전자주식회사 시스템 인터커넥트 및 이를 포함하는 시스템 온 칩
GB2557944B (en) * 2016-12-19 2020-02-12 Advanced Risc Mach Ltd Transaction handling
JP6767269B2 (ja) * 2017-01-24 2020-10-14 Necプラットフォームズ株式会社 情報処理システム、情報処理装置、周辺装置、データ転送方法、及びデータ転送プログラム
US10402349B2 (en) * 2017-02-08 2019-09-03 Arm Limited Memory controller having data access hint message for specifying the given range of one or more memory addresses
CN107894963B (zh) * 2017-11-27 2021-07-27 上海兆芯集成电路有限公司 用于系统单芯片的通信控制器与通信方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5682485A (en) * 1994-12-01 1997-10-28 Unisys Corporation Deadlock avoidance for switched interconnect bus systems
US6412030B1 (en) * 1999-04-16 2002-06-25 Koninklijke Philips Electronics N.V. System and method to optimize read performance while accepting write data in a PCI bus architecture
US6587930B1 (en) * 1999-09-23 2003-07-01 International Business Machines Corporation Method and system for implementing remstat protocol under inclusion and non-inclusion of L1 data in L2 cache to prevent read-read deadlock
US6529979B1 (en) * 1999-11-08 2003-03-04 International Business Machines Corporation Method and apparatus for a high-speed serial communications bus protocol with positive acknowledgement
US6665730B1 (en) * 1999-12-16 2003-12-16 At&T Corp. Method and apparatus for transaction routing in a connection-oriented packet network using a non-fault-tolerant directory server
US6657632B2 (en) * 2001-01-24 2003-12-02 Hewlett-Packard Development Company, L.P. Unified memory distributed across multiple nodes in a computer graphics system
CN1174584C (zh) * 2002-08-13 2004-11-03 北京长城鼎兴网络通信技术有限公司 一种利用串行总线实现多点通信的方法
US7181556B2 (en) 2003-12-23 2007-02-20 Arm Limited Transaction request servicing mechanism
US7418625B2 (en) * 2004-09-09 2008-08-26 Broadcom Corporation Deadlock detection and recovery logic for flow control based data path design
US7219178B2 (en) 2004-09-30 2007-05-15 Arm Limited Bus deadlock avoidance

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI651620B (zh) * 2014-01-13 2019-02-21 英商Arm股份有限公司 用於處理多個交易之資料處理系統及方法
CN106055467A (zh) * 2015-04-13 2016-10-26 Arm 有限公司 逻辑分析
CN106055467B (zh) * 2015-04-13 2021-04-30 Arm 有限公司 包括逻辑分析器电路的装置和逻辑分析方法
CN111241029A (zh) * 2018-11-29 2020-06-05 意法半导体(鲁塞)公司 片上系统内的访问限制管理
CN113886310A (zh) * 2021-11-02 2022-01-04 上海兆芯集成电路有限公司 桥接模块、数据传输系统和数据传输方法
CN114265872A (zh) * 2022-02-24 2022-04-01 苏州浪潮智能科技有限公司 一种用于总线的互联装置

Also Published As

Publication number Publication date
JP5322412B2 (ja) 2013-10-23
GB2440758B (en) 2011-03-30
GB0615734D0 (en) 2006-09-20
CN101122893B (zh) 2012-03-21
GB2440758A (en) 2008-02-13
US20080040523A1 (en) 2008-02-14
JP2008041099A (ja) 2008-02-21
US7558895B2 (en) 2009-07-07

Similar Documents

Publication Publication Date Title
CN101122893B (zh) 用于数据处理设备的互连逻辑
EP1830279B1 (en) Network interface controlling lock operation and method of operating the network
US8165120B2 (en) Buffering architecture for packet injection and extraction in on-chip networks
CN101194240B (zh) 一种弱有序处理系统
US7613849B2 (en) Integrated circuit and method for transaction abortion
CN102576341A (zh) 对分布式系统中的各种组件的活动进行同步
US8937958B2 (en) Router and many-core system
WO2008047179A1 (en) Device having redundant core and a method for providing core redundancy
CN101645915B (zh) 一种磁盘阵列主机通道子卡、在线切换系统及其切换方法
CN101471882A (zh) 存储子系统
US20230018225A1 (en) Apparatus and mechanism to bypass pcie address translation by using alternative routing
KR101355626B1 (ko) 네트워크 제어 장치
CN103197997A (zh) 信息处理设备和操作状态监视方法
JP2006048162A (ja) ループ状態監視装置
EP2502150A1 (en) Method and apparatus of master-to-master transfer of data on a chip and system on chip
CN107204922A (zh) 用于过滤事务的装置和方法
SE456629B (sv) Forfarande och anordning for overforing av information via ett bussystem
JP2006268215A (ja) ストレージシステム
US7751312B2 (en) System and method for packet switch cards re-synchronization
US20040225707A1 (en) Systems and methods for combining a slow data stream and a fast data stream into a single fast data stream
US9037769B1 (en) SAS expander with multimode phys
KR100361657B1 (ko) 아이디이 타입의 하드 디스크 장치 및 그 제어 방법
US6216194B1 (en) Information processing unit for separately controlling a plurality of shared buses
TWI567562B (zh) 具有可擴充功能之驅動器
JP2006091982A (ja) オンチップバスシステム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant