一种控制事务重排序的互连逻辑,耦合主逻辑和从属逻辑单元,每个事务有事务标识符。ID别名逻辑与从属逻辑单元关联,从属逻辑单元能乱序地为不同事务发布响应传输。如果一事务所涉及的从属逻辑单元与ID别名逻辑关联,则ID别名逻辑以预定标识符代替该事务标识符然后连同预定标识符一起把该事务的地址传输转发至从属逻辑单元。对于由从属逻辑单元利用预定标识符所发布的响应传输,ID别名逻辑以去除的原始事务标识符来代替该预定标识符,以使数据传输能路由至适当的主逻辑单元。这提供了一种非常简单而有效的机制来减少在互连逻辑内发生死锁。
【技术实现步骤摘要】
本专利技术涉及用于数据处理设备的互连逻辑,尤其涉及对耦合至所 述互连逻辑的主逻辑单元和从属逻辑单元之间的亊务的重排序进行控 制的技术.
技术介绍
在具有多个主逻辑单元和从属逻辑单元的数据处理设备中,已知 提供互连逻辑用于耦合所述主逻辑单元和从属逻辑单元以使亊务能得 以执行.每个亊务由从主逻辑单元至从属逻辑单元的地址传输以及在 那个主逻辑单元和那个从属逻辑单元之间的一个或者多个数据传输所 组成,对于写入事务,这些数据传输将从所述主逻辑单元传递至所述 从属逻辑单元(在一些实施方式中,还将可以是从所述从属逻辑单元 传输至所述主逻辑单元的写入响应),而对于读取亊务,这些数据传 输将从所述从属逻辑单元传递至所述主逻辑单元.从从属逻辑单元至 主逻辑单元的任何传输在此被称为响应传输.互连逻辑将提供用于耦合各个主逻辑单元和从属逻辑单元的多个 连接路径.各个传输经由那些连接路径进行路由的方式将依赖于所述互连逻辑中所采用的总线协议. 一种已知的总线协议是不分割(non-split )事务协议,例如具有依照英国剑桥ARM有限公司所研发的AHB 总线协议而设计的AHB总线的数据处理设备中所采用的.依据这样的 不分割事务协议,在事务的地址传输和该亊务后续的一个或多个数据 传输之间具有固定的时序关系.特别是,在跟随地址被传输之后的周 期中数据传输开始。由于地址传输和数据传输之间的固定时序时间关 系,接着将意识到多个事务的数据传输以与地址传输相同的次序而发 生。随着互连逻辑复杂性的增加,由于需要支持大量主和从属逻辑单 元的互连,接下来研发了另一种总线协议,就是所知的分割事务(split transaction)协议,依照这样的分割事务协议,互连逻辑中的多个连接 路径提供至少一个用于承栽地址传输的地址通道和至少一个用于承栽 数据传输的数据通道.这样的分割亊务协议的一个示例是英国剑桥 ARM有限公司所研发的AXI( Advanced extensible Interface-高级可扩 展接口 )协议.AXI协议提供多个能够在通过其传输信息和数据的通 道,这些通道包括用于承栽读取亊务的地址传输的读取地址通道、用 于承栽写入事务的地址传输的写入地址通道、用于承栽写入亊务的数 据传输的写入数据通道、用于承栽读取事务的数据传输的读取数据通 道、以及用于向写入亊务末端的主逻辑单元返回亊务状态信息的写入 响应通道,例如,所述亊务状态信息指示亊务是否成功完成或是否发 生错误等等.与使用不分割亊务协议的相似系统相比,使用这样的分 割事务协议能够提高系统的性能.通常,当采用这样的分割事务协议时,根据相关地址通道上的相 应地址传输的时间次序,对数据通道上的数据传输进行优先级排序, 从而与较早的地址(即,在地址通道上较早传输的地址)相关的数据优先于与较晚地址相关的数据.由ARM有限公司作为受让人的于2003年12月23日提交的美国专利申请No. 10/743537公开了一种增进方式,其在使用符合这样的分 割事务协议的互连逻辑时,可以被用来允许对特定从属逻辑单元的事 务进行一定的本地重排序,上述专利申请的全部内容结合于此作为参 考.依照该专利申请的教导,每个地址传输包括识别事务源的源标识 符.优选地,每个主逻辑单元具有能够关联至其所发布(issue)的多 个亊务的多个可能的源标识符.例如,这样具有的优势是,由运行在 相同处理器上的不同应用程序所生成的事务能够被区分开,从而在多 个进程自身互相独立的情况下,来自每个应用程序的事务序列能够被 独立排序.从属装置接着能够对其必须基于这样的源标识符信息而维 护的未决事务执行一定的本地重排序,由此,例如,与用特定源标识 符所发布的事务相关联的一个或多个数据传输能够被给予优先于与用 较低优先级的不同源标识符所发布的较早未决事务相关联的一个或多 个数据传输的优先权.这样,虽然对于任何特定事务而言,要求所述从属装置按照次序 发布任何响应传输,但是如果所述从属设备有两个具有不同事务标识 符的未决事务,则其能够选择首先处理哪一个事务.尽管这使得不同 的主逻辑单元能够被给予不同的优先权,或者甚至是运行在特定主逻 辑单元上的特定应用程序能够被给予不同的优先权,但是这能够导致在互连逻辑内发生潜在的循环依赖死锁.特别是,如果至少一些主逻 辑单元能够向多于一个的从属装置发布多个未决亊务,则会出现以下情况具有特定事务标识符的一个事务被发布至一个从属装置(为了 简洁起见将简称为从属l),同时具有相同亊务标识符的另一个事务接 着被发布至另 一个从属装置(为了简洁起见将简称为从属2 ).典型地, 总线协议将要求对于具有相同事务标识符的事务而言,亊务必须被按 照次序处理.然而,各从属逻辑单元并不互相通信,并且如果那些从 属逻辑单元单独具有对具有不同亊务标识符的亊务进行重排序的能 力,则接收具有相同事务标识符的稍后事务的从属2可能在从属1之 前发布响应传输,所述从属1接收具有那个事务标识符的较早事务. 在这一点上,从属2不能采取任何进一步的行动,直至那个响应传输 由互连逻辑所接受而将其路由至与所述事务相关联的主逻辑单元,但 是所述互连逻辑不能接受那个响应传输,原因在于首先它需要接收所 述响应传输或用相同亊务标识符向从属1所发布的与较早事务相关联 的响应传输.这导致从属2被阻塞,原因在于它不能使该响应无效 (de-assert)并且不能继续处理,直至所述响应被所述互连逻辑所接 受.例如,如果从属1当前对一个事务输出响应的试图被阻塞,所述事务比已经发布至从属2的具有相同事务标识符的事务更晚,但是所述发布至从属2的亊务由于重排序而被从属2降级,这本身就足以导致死锁。这种情况由以下四个事务的示例序列来说明,其中由主方1所发布的两个事务具有相同的事务标识符,相似地,由主方2所发布的两个事务具有相同的亊务标识符. M1->S2M1->S1M2->S1M2->S2这导致所述事务要用两个从属进行排序,如下 SI: M1.2M2.1 S2: M1.1M2.2在上述中,后缀".1"意味着来自相关联的主方的第一事务,并且 ".2"意味着来自相关联的主方的笫二亊务,从而例如"Ml.l"意味着来自主方l的第一亊务.如果从属2把它的两个亊务重排序,则可 以看到从属1和从属2 二者试困发布与来自一个主方的第二亊务相关 的响应传输,由于主方需要首先接收与它们的第一事务相关联的(多 个)响应传输,所以条目两个都被阻塞.当多个从属装置具有重排序的能力时,死锁的可能性甚至变得更大。当发生死锁时,要把互连逻辑恢复到正常操作状态通常是非常困 难的.因此,当发生死锁时,通常要求互连配置复位,典型地,这也 将影响与其輛合的逻辑单元的操作.由此,这些逻辑单元也需要被复位以使所要求的数据传输得以执行或完成.所以,将要意识到的是, 死锁能够对数据处理装置的性能造成破坏性的影响.已经研发了多个寻求减少或去除死锁发生可能的死锁避免方案. 一个这样的方案称为"单从属"方案,这是一个在每个主逻辑单元所 采用的方案,依照该方案, 一个主逻辑单元能够向各单个从属逻辑单 元发布如其所要求的多个未决亊务,并且这些事务可以具有相同或不同的事务标识符.然而,对于任何特定的亊务标识符本文档来自技高网...
【技术保护点】
一种互连逻辑,用于在数据处理装置中耦合主逻辑单元和从属逻辑单元以使事务能得以执行,每个事务包括从主逻辑单元至从属逻辑单元的地址传输和该主逻辑单元和从属逻辑单元之间的一个或多个数据传输,至少一个数据传输是从所述从属逻辑单元至所述主逻辑单元的响应传输,每个事务具有与其相关联的事务标识符,所述互连逻辑包括: 多个连接路径,可操作来提供至少一个用于承载地址传输的地址通道和至少一个用于承载数据传输的数据通道;和 与所述从属逻辑单元的至少一个子集相关联的ID别名逻辑,在所述至少一个子集中的每个从属逻辑单元都能够相对于该从属逻辑单元接收不同事务的地址传输的次序而乱序地为那些不同事务发布响应传输; 对于至少一个事务子集,如果该事务中所涉及的从属逻辑单元与所述ID别名逻辑相关联,则所述ID别名逻辑可操作来: (a)以预先确定的标识符代替该事务的事务标识符,并且然后连同所述预先确定的标识符一起把该事务的地址传输转发至所述从属逻辑单元; (b)对于由所述从属逻辑单元利用所述预先确定的标识符所发布的任意响应传输,以所述步骤(a)中所去除的事务标识符代替所述预先确定的标识符,以使该响应传输能通过所述互连逻辑的连接路径上路由至与该事务相关联的主逻辑单元。...
【技术特征摘要】
...
【专利技术属性】
技术研发人员:AC布鲁斯,
申请(专利权)人:ARM有限公司,
类型:发明
国别省市:GB[英国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。