首页 / 专利库 / 专利权 / 第I章 / 国际申请 / 权利要求 / 从属权利要求 / 多项从属权利要求 / 用于对事务重排序来确保每个事务所规定的服务质量的仲裁方法

用于对事务重排序来确保每个事务所规定的服务质量的仲裁方法

阅读:579发布:2020-05-16

专利汇可以提供用于对事务重排序来确保每个事务所规定的服务质量的仲裁方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了用于处理数据的系统、互连和方法。该方法包括以下步骤:a)接收在主单元与从属单元之间执行数据事务的 请求 ;b)接收与所述数据事务相关联的服务 质量 要求的指示;c)在考虑到尚待发布的任何其他待决数据事务的情况下,确定在通过互连逻辑传送所述数据事务时可达到的互连服务质量等级;d)确定在一旦所述数据事务被所述从属单元从所述互连逻辑接收到就对所述数据事务进行响应时可达到的从属服务质量等级;以及e)确定组合的互连服务质量等级和从属服务质量等级是否未能达到服务质量要求,如果是的话,则对待决数据事务进行重排序,以便能够达到每个数据事务的服务质量要求。因此,数据事务之间的仲裁是在将那些事务提供给互连之前进行的。应该理解的是,这使待决数据事务能够被系统地重排序,并且这些重排序的数据事务中的每一个的服务质量等级能够被准确计算,以便确保达到这些数据事务中的每一个的服务质量要求。因此,这使得能够将服务质量的所有方面一起编入预算,并且可以为每个数据事务确定真实的端到端服务质量。,下面是用于对事务重排序来确保每个事务所规定的服务质量的仲裁方法专利的具体信息内容。

1.一种通过使用互连逻辑在多个主单元与多个从属单元之间对数 据事务进行排序的方法,其中所述互连逻辑将主逻辑单元与从逻辑单元 相耦合,以便能够进行每个数据事务,所述方法包括以下步骤:
a)接收在主单元与从属单元之间执行数据事务的请求;
b)接收与所述数据事务相关联的服务质量要求的指示;
c)在考虑到尚待发布的任何其他待决数据事务的情况下,确定在 通过互连逻辑传送所述数据事务时可达到的互连服务质量等级;
d)确定在一旦所述数据事务被所述从属单元从所述互连逻辑接收 到就对所述数据事务进行响应时可达到的从属服务质量等级;以及
e)确定组合的互连服务质量等级和从属服务质量等级是否未能达 到服务质量要求,如果是的话,则对待决数据事务进行重排序,以便能 够达到每个数据事务的服务质量要求。
2.如权利要求1所述的方法,其中所述多个从属单元中的至少一 个对于与该从属单元相关联的所有数据事务具有恒定的预定从属服务 质量等级。
3.如权利要求1或2所述的方法,其中所述多个从属单元中的至 少一个对于与该从属单元相关联的不同数据事务具有不同的预定从属 服务质量等级。
4.如前述任一权利要求所述的方法,其中根据所述互连逻辑的利 用率来确定所述互连服务质量等级。
5.如前述任一权利要求所述的方法,其中根据互连资源的状态或 配置来确定所述互连服务质量等级。
6.如前述任一权利要求所述的方法,其中根据该从属单元的状态 或配置来确定所述从属服务质量等级。
7.如前述任一权利要求所述的方法,其中在考虑到尚待发布的任 何其他待决数据事务的情况下确定所述从属服务质量等级。
8.如前述任一权利要求所述的方法,其中所述重排序步骤包括: 最大程度地将未能满足其服务质量要求的数据事务提升至所述待决数 据事务中的较早位置。
9.如前述任一权利要求所述的方法,其中把与所述数据事务相关 联的服务质量要求的所述指示与所述数据事务一起提供。
10.如权利要求1-8中任何一项所述的方法,其中根据发起所述 数据事务的主单元的预定服务质量要求来确定与所述数据事务相关联 的服务质量要求的所述指示。
11.如前述任一权利要求所述的方法,其中服务质量要求的所述指 示包括事务等待时间段的指示,其中数据事务要在所述事务等待时间段 内完成,所述互连服务质量等级包括在考虑到尚待发布的任何其他待决 数据事务的情况下在通过互连逻辑传送所述数据事务时所产生的互连 等待时间段,所述从属服务质量等级包括在一旦所述数据事务被所述从 属单元从所述互连逻辑接收到就对所述数据事务进行响应时所产生的 从属等待时间段,并且所述步骤(e)包括:确定组合的互连等待时间 段和从属等待时间段是否超出事务等待时间段,并且如果是的话,则对 待决数据事务进行重排序,以便能够实现每个数据事务的组合的互连等 待时间段。
12.如权利要求11所述的方法,其中所述多个从属单元中的至少 一个对于与该从属单元相关联的所有数据事务具有恒定的预定从属等 待时间段。
13.如权利要求11或12所述的方法,其中所述多个从属单元中的 至少一个对于与该从属单元相关联的不同数据事务具有不同的预定从 属等待时间段。
14.如权利要求11-13中任何一项所述的方法,其中所述多个从 属单元中的至少一个对于与该从属单元相关联并且落入第一地址范围 的集合内的数据事务具有第一预定从属等待时间段,并且对于与该从属 单元相关联的所有其他数据事务具有第二预定从属等待时间段。
15.如权利要求11-14中任何一项所述的方法,其中所述多个从 属单元中的至少一个包括SDRAM,所述SDRAM对于与所述SDRAM的活动 存储区域相关联的数据事务具有第一预定从属等待时间段,并且对于与 所述SDRAM的非活动存储区域相关联的数据事务具有第二预定从属等待 时间段。
16.如权利要求15所述的方法,其中重排序步骤包括把与活动存 储区域相关联的任何所述待决数据事务集中在一起。
17.如权利要求11-16中任何一项所述的方法,其中所述互连逻 辑可操作来在任一时刻支持预定数量的数据事务。
18.如权利要求11-17中任何一项所述的方法,其中根据未解决 数据事务的数量以及所述互连逻辑在任一时刻支持的数据事务的数量 来确定所述互连等待时间段。
19.如权利要求11-18中任何一项所述的方法,其中所述重排序 步骤包括最大程度地将未能满足其事务等待时间段的数据事务提升至 所述待决数据事务中的较早位置。
20.如前述任一权利要求所述的方法,其中服务质量要求的所述指 示包括支持该事务所需带宽的指示,所述互连服务质量等级包括在考虑 到尚待发布的任何其他待决数据事务的情况下在通过互连逻辑传送所 述数据事务时所利用的互连带宽,所述从属服务质量等级包括在一旦所 述数据事务被所述从属单元从所述互连逻辑接收到就对所述数据事务 进行响应时所利用的从属带宽;并且所述步骤(e)包括:确定互连带 宽或从属带宽是否未能支持所述所需带宽,如果是的话,则对待决数据 事务进行重排序,以便支持所述所需带宽。
21.如权利要求20所述的方法,其中服务质量要求的所述指示包 括支持该事务所需最小带宽的指示,所述互连服务质量等级包括在考虑 到尚待发布的任何其他待决数据事务的情况下在通过互连逻辑传送所 述数据事务时所利用的互连带宽,所述从属服务质量等级包括在一旦所 述数据事务被所述从属单元从所述互连逻辑接收到就对所述数据事务 进行响应时所利用的从属带宽;并且所述步骤(e)包括:确定互连带 宽或从属带宽是否未能达到所述所需最小带宽,如果是的话,则对待决 数据事务进行重排序,以便支持所述所需最小带宽。
22.如前述任一权利要求所述的方法,进一步包括以下步骤:
f)在重排序的待决数据事务达到服务质量要求的情况下,对待决 数据事务进行重排序,以便提高事务效率。
23.如前述任一权利要求所述的方法,其中所述重排序步骤包括将 至少一个待决数据事务拆分成多个子事务,以及对所述待决数据事务和 子事务进行重排序以满足服务质量要求。
24.一种互连,可操作来将多个主逻辑单元与多个从属逻辑单元相 耦合以便能够在主逻辑单元与从属逻辑单元之间进行数据事务,所述互 连包括:
接收逻辑,可操作来接收在主单元与从属单元之间执行数据事务的 请求,每个请求都具有与所述数据事务相关联的服务质量要求的指示;
互连服务质量确定逻辑,可操作来在考虑到尚待发布的任何其他待 决数据事务的情况下,确定在通过互连逻辑传送所述数据事务时可达到 的互连服务质量等级;
从属服务质量确定逻辑,可操作来确定在一旦所述数据事务被所述 从属单元从所述互连逻辑接收到就对所述数据事务进行响应时可达到 的从属服务质量等级;以及
仲裁逻辑,可操作来确定组合的互连服务质量等级和从属服务质量 等级是否未能达到服务质量要求,如果是的话,则对待决数据事务进行 重排序,以便能够达到每个数据事务的服务质量要求。
25.如权利要求24所述的互连,其中所述多个从属单元中的至少 一个对于与该从属单元相关联的所有数据事务具有恒定的预定从属服 务质量等级。
26.如权利要求24或25所述的互连,其中所述多个从属单元中的 至少一个对于与该从属单元相关联的不同数据事务具有不同的预定从 属服务质量等级。
27.如权利要求24-26中任何一项所述的互连,其中所述互连服 务质量等级是根据互连逻辑的利用率来确定的。
28.如权利要求24-27中任何一项所述的互连,其中所述互连服 务质量等级是根据互连资源的状态或配置来确定的。
29.如权利要求24-28中任何一项所述的互连,其中所述从属服 务质量等级是根据该从属单元的状态或配置来确定的。
30.如权利要求24-29中任何一项所述的互连,其中所述从属服 务质量等级是在考虑到尚待发布的任何其他待决数据事务的情况下确 定的。
31.如权利要求24-30中任何一项所述的互连,其中所述仲裁逻 辑可操作来最大程度地将未能满足其服务质量要求的数据事务提升至 所述待决数据事务中的较早位置。
32.如权利要求24-26中任何一项所述的互连,其中与所述数据 事务相关联的服务质量要求的所述指示是与所述数据事务一起提供的。
33.如权利要求24-31中任何一项所述的互连,其中与所述数据 事务相关联的服务质量要求的所述指示是根据发起所述数据事务的主 单元的预定服务质量要求来确定的。
34.如权利要求24-33中任何一项所述的互连,其中服务质量要 求的所述指示包括事务等待时间段的指示,其中所述数据事务要在所述 事务等待时间段之内完成,所述互连服务质量等级包括在考虑到尚待发 布的任何其他待决数据事务的情况下在通过互连逻辑传送所述数据事 务时所产生的互连等待时间段,所述从属服务质量等级包括在一旦所述 数据事务被所述从属单元从所述互连逻辑接收到就对所述数据事务进 行响应时时所产生的从属等待时间段,并且所述仲裁逻辑可操作来确定 组合的互连等待时间段和从属等待时间段是否超出事务等待时间段,如 果是的话,则对待决数据事务进行重排序,以便能够实现每个数据事务 的组合的互连等待时间段。
35.如权利要求34所述的互连,其中所述多个从属单元中的至少 一个对于与该从属单元相关联的所有数据事务具有恒定的预从属等待 时间段。
36.如权利要求34或35所述的互连,其中所述多个从属单元中的 至少一个对于与该从属单元相关联的不同数据事务具有不同的预定从 属等待时间段。
37.如权利要求34-36中任何一项所述的互连,其中所述多个从 属单元中的至少一个对于与该从属单元相关联并且落入第一地址范围 的集合内的数据事务具有第一预定从属等待时间段,并且对于与该从属 单元相关联的所有其他数据事务具有第二预定从属等待时间段。
38.如权利要求34-37中任何一项所述的互连,其中所述多个从 属单元中的至少一个包括SDRAM,所述SDRAM对于与所述SDRAM的活动 存储区域相关联的数据事务具有第一预定从属等待时间段,并且对于与 所述SDRAM的非活动存储区域相关联的数据事务具有第二预定从属等待 时间段。
39.如权利要求38所述的互连,其中所述仲裁逻辑还可操作来把 与活动存储区域相关联的任何所述待决数据事务集中在一起。
40.如权利要求34-39中任何一项所述的互连,其中所述互连逻 辑可操作来在任一时刻支持预定数量的数据事务。
41.如权利要求34-40中任何一项所述的互连,其中所述互连等 待时间段是根据未解决数据事务的数量以及所述互连逻辑在任一时刻 支持的数据事务数量来确定的。
42.如权利要求34-41中任何一项所述的互连,其中所述仲裁逻 辑还可操作来最大程度地将未能满足其事务等待时间段的数据事务提 升至所述待决数据事务中的较早位置。
43.如权利要求34-42中任何一项所述的互连,其中服务质量要 求的所述指示包括支持该事务所需带宽的指示,所述互连服务质量等级 包括在考虑到尚待发布的任何其他待决数据事务的情况下在通过互连 逻辑传送所述数据事务时所利用的互连带宽,所述从属服务质量等级包 括在一旦所述数据事务被所述从属单元从所述互连逻辑接收到就对所 述数据事务进行响应时所利用的从属带宽,并且所述仲裁逻辑可操作来 确定互连带宽或从属带宽是否未能支持所述所需带宽,如果是的话,则 对待决数据事务进行重排序,以便支持所述所需带宽。
44.如权利要求43所述的互连,其中服务质量要求的所述指示包 括支持该事务所需最小带宽的指示,所述互连服务质量等级包括在考虑 到尚待发布的任何其他待决数据事务的情况下在通过互连逻辑传送所 述数据事务时所利用的互连带宽,所述从属服务质量等级包括在一旦所 述数据事务被所述从属单元从所述互连逻辑接收到就对所述数据事务 进行响应时所利用的从属带宽,并且所述仲裁逻辑可操作来确定互连带 宽或从属带宽是否未能达到所述所需最小带宽,如果是的话,则对待决 数据事务进行重排序,以便支持所述所需最小带宽。
45.如权利要求34-44中任何一项所述的互连,其中所述仲裁逻 辑还可操作来在重排序的待决数据事务达到服务质量要求的情况下对 待决数据事务进行重排序,以便提高事务效率。
46.如权利要求34-45中任何一项所述的互连,其中所述仲裁逻 辑还可操作来将至少一个待决数据事务拆分成多个子事务,以及对所述 待决数据事务和子事务进行重排序以满足服务质量要求。
47.一种用于处理数据的系统,包括:
多个主单元;
多个从属单元;以及
互连装置,用于将所述多个主逻辑单元与所述多个从属逻辑单元相 耦合,以便能够在主逻辑单元与从属逻辑单元之间进行数据事务,所述 互连包括:
接收装置,用于接收在主单元与从属单元之间执行数据事务的 请求,每个请求都具有与所述数据事务相关联的服务质量要求的指 示;
互连服务质量确定装置,用于在考虑到尚待发布的任何其他待 决数据事务的情况下,确定在通过互连逻辑传送所述数据事务时可 达到的互连服务质量等级;
从属服务质量确定装置,用于确定在一旦所述数据事务被所述 从属单元从所述互连逻辑接收到就对所述数据事务进行响应时可 达到的从属服务质量等级;以及
仲裁装置,用于确定组合的互连服务质量等级和从属服务质量等级 是否未能达到服务质量要求,如果是的话,则对待决数据事务进行重排 序,以便能够达到每个数据事务的服务质量要求。

说明书全文

发明领域

本发明涉及用于处理数据的互连(interconnect)、方法和系统。

发明背景

互连是公知的。通常,互连被用于将一个或多个主单元(maser unit) 与一个或多个从属单元(slave unit)相耦合。当在主单元与从属单元 之间发生数据事务(transaction)时,该互连可以被配置成将这两个 单元耦合在一起。一旦被耦合,那么数据事务就能够进行。
互连内的连接性可以被限制以使得在任一时刻都仅可以将预定数 量的主单元与预定数量的从属单元相耦合。应理解的是,这会为互连吞 吐量提供有限的界限,而这将会限制该互连对每个数据事务进行响应的 能
所希望的是提供改进的互连。
发明概述
根据第一方面,本发明提供了一种通过使用互连逻辑在多个主单元 与多个从属单元之间对数据事务进行排序的方法,其中所述互连逻辑将 主逻辑单元与从逻辑单元相耦合,以便能够进行每个数据事务,所述方 法包括以下步骤:a)接收在主单元与从属单元之间执行数据事务的请 求;b)接收与所述数据事务相关联的服务质量要求的指示;c)在考虑 到尚待发布(issue)的任何其他待决数据事务的情况下,确定在通过 互连逻辑传送所述数据事务时可达到的互连服务质量等级;d)确定在 一旦所述数据事务被所述从属单元从所述互连逻辑接收到就对所述数 据事务进行响应时可达到的从属服务质量等级;以及e)确定组合的互 连服务质量等级和从属服务质量等级是否未能达到服务质量要求,如果 是的话,则对待决数据事务进行重排序,以便能够达到每个数据事务的 服务质量要求。
本发明认为,对一些数据事务来说,达到相对较高的服务质量等级 是可接受的,而对其他数据事务来说,即使为其提供相对较低的服务质 量等级也是可以接受的。
本发明还认为,虽然在一些现有技术的方法中能够将互连安排成在 支持较低服务质量的数据事务的情况下通过互连传送较高服务质量的 数据事务,但是由于该互连不了解目的地从属单元响应于数据事务可达 到的服务质量等级,所以端到端的服务质量要求未必能得到保证。同样, 虽然能够将从属单元安排成在支持较低服务质量的请求的情况下对较 高服务质量的数据事务请求做出响应,但是由于从属单元并不了解互连 可达到的服务质量等级,所以端到端服务质量要求仍旧未必能得到保 证。
本发明还认为,互连和从属单元通常是分离的项目,并且它们的实 施方式通常受限于标准接口协议,其中所述协议通常并不支持互连与从 属单元之间的服务质量信息传递。这限制了使用标准接口来提供一般互 连的能力,其能够对接在主单元与从属单元之间并且能够在任何时间针 对任何数据事务达到所请求的端到端服务质量。虽然在从属单元和互连 轻度负载(lightly loaded)时未必存在问题,但是当从属单元和互连 重度负载(heavily loaded)时,端到端服务质量等级有会降低到无法 接受的等级。
因此提供了用于表明与该数据事务相关联的服务质量要求的指示。 互连和从属单元的状态是通过检查(review)在对该数据事务进行响应 时由互连和从属单元所提供的可能服务质量等级来确定的。如果确定可 达到的可能服务质量等级未能满足服务质量要求,那么该数据事务和任 何其他待决数据事务的排序将被改变,直至确定每个数据事务都将在达 到其服务质量要求的情况下完成。
因此,数据事务之间的仲裁(arbitration)是在将那些事务提供 给互连之前进行的。假设一旦已将数据事务发给互连,那么该数据事务 将很可能达到预期的服务质量等级。这是因为在将数据事务发给互连之 前,互连所提供的服务质量将是已知的,并且针对该数据事务的从属单 元的服务质量也将是已知的。应该理解的是,这使待决数据事务能够被 系统地重排序,并且那些重排序的数据事务中的每一个的服务质量等级 能够被准确计算,以便确保达到那些数据事务中的每一个的服务质量要 求。因此,这使得能够将服务质量的所有方面一起编入预算(budget), 并且可以为每个数据事务确定真实的端到端服务质量。
实施例中,所述多个从属单元中的至少一个对于与该从属单元相 关联的所有数据事务具有恒定的预定从属服务质量等级。
因此,无论所服务的数据事务的性质如何,一些从属单元都将达到 相同的服务质量等级。应该理解的是,在某些情况下,所有从属单元都 可以达到恒定的服务质量等级。此外,对于其中确定确切的服务质量等 级很难实现的一些从属单元来说,应该理解的是,所希望是为该从属单 元假设恒定但却最为保守(pessimistic)的服务质量等级。
在实施例中,所述多个从属单元中的至少一个对于与该从属单元相 关联的不同数据事务具有不同的预定从属服务质量等级。
因此,从属单元对于每个不同的数据事务可以达到不同的服务质量 等级。
在实施例中,根据互连逻辑的利用率来确定所述互连服务质量等 级。
因此,可以在考虑到任何未解决(outstanding)事务的情况下, 根据互连资源的当前利用率、其带宽以及互连容量来确定服务质量等 级。
在实施例中,根据互连资源的状态或配置来确定所述互连服务质量 等级。
在实施例中,根据该从属单元的状态或配置来确定所述从属服务质 量等级。
在实施例中,在考虑到尚待发布的任何其他待决数据事务的情况下 确定所述从属服务质量等级。
在实施例中,所述重排序步骤包括:最大程度地将未能满足其服务 质量要求的数据事务提升(elevate)至所述待决数据事务中的较早位 置。
这样一来,最不可能达到其服务质量要求的数据事务被较早处理, 由此增加了达到服务质量要求的可能性。
在实施例中,把与所述数据事务相关联的服务质量要求的所述指示 与所述数据事务一起提供。
在实施例中,根据发起所述数据事务的主单元的预定服务质量要求 来确定与所述数据事务相关联的服务质量要求的所述指示。
因此,任何数据事务的服务质量要求可以随着每个数据事务而动态 改变,或者可替换地,可以根据与产生该数据事务的主单元相关联的预 先设置的恒定服务质量要求而改变。
在实施例中,服务质量要求的所述指示包括事务等待时间段 (latency period)的指示,其中数据事务要在所述事务等待时间段内 完成,所述互连服务质量等级包括在考虑到尚待发布的任何其他待决数 据事务的情况下在通过互连逻辑传送数据事务时所产生的互连等待时 间段,所述从属服务质量等级包括在一旦数据事务被从属单元从互连逻 辑接收到就对所述数据事务进行响应时所产生的从属等待时间段,并且 所述步骤(e)包括:确定组合的互连等待时间段和从属等待时间段是 否超出事务等待时间段,并且如果是的话,则对待决数据事务进行重排 序,以便能够实现每个数据事务的组合的互连等待时间段。
因此,对一些数据事务来说,以相对短的事务等待时间段来完成数 据事务是可接受的,而对其他数据事务来说,以较长的事务等待时间段 来完成数据事务是可接受的。
因此,在一些现有技术的方法中,虽然能够将互连安排成在支持较 低优先级数据事务的情况下通过互连传送较高优先级数据事务,但是由 于互连并不知道目的地从属单元响应数据事务的速度有多快,所以端到 端等待时间段是无法得到保证的。同样,虽然能够将从属单元安排成在 支持较低优先级请求的情况下对较高优先级数据事务请求做出响应,但 是由于从属单元并不了解由互连将会引入的等待时间段,所以端到端等 待时间段仍旧无法保证。
而且,如先前所述,互连和从属单元通常是分离的项目,并且它们 的实施方式通常会受到标准接口协议的限制,所述协议通常不支持互连 与从属单元之间的调度信息传递。这限制了使用标准接口提供一般互连 的能力,其能够对接在主单元与从属单元之间并且能够在任何时间针对 任何数据事务达到所请求的端到端服务质量。虽然在从属单元和互连轻 度负载时未必存在问题,但是当从属单元和互连重度负载时,端到端等 待时间段会增加到无法接受的程度。
因此,提供了用于表明完成数据事务所需要的最大事务等待时间段 的指示。互连和从属单元的状态是通过检查互连和从属单元在对该数据 事务进行响应时的可能等待时间段来确定的。如果确定可能的等待时间 段将超出最大事务等待时间段,则改变该数据事务和任何其他待决数据 事务的排序,直至确定每个数据事务都将在其最大可允许事务等待时间 段之内完成。
因此,数据事务之间的仲裁是在将那些事务提供给互连之前进行 的。假设一旦已将数据事务发给互连,那么按照预期完成该数据事务比 无法完成的可能性更大。这是因为在将数据事务发给互连之前,互连的 等待时间将是已知的,并且针对该数据事务的从属单元的等待时间也是 已知的。应该理解的是,这使待决数据事务能够被系统地重排序,并且 使这些重排序的数据事务中的每一个的等待时间能够被准确计算,以便 确保不会超出这些数据事务中的每一个的可允许等待时间。因此,这使 得能够将服务质量的所有方面一起编入预算,并且可以为每个数据事务 确定真实的端到端服务质量。
在实施例中,所述多个从属单元中的至少一个对于与该从属单元相 关联的所有数据事务具有恒定的预定从属等待时间段。
因此,无论所服务的数据事务的性质如何,一些从属单元都会表现 出相同的从属等待时间段。应该理解的是,在一些情况下,所有从属单 元都可以达到恒定的从属等待时间段。而且,对其中确定确切的等待时 间段很难实现的一些从属单元来说,应该理解的是,所希望的是为该从 属单元假设恒定但却最为保守的从属等待时间段。
在实施例中,所述多个从属单元中的至少一个对于与该从属单元相 关联的不同数据事务具有不同的预定从属等待时间段。
因此,从属单元对于每个不同数据事务可以实现不同的从属等待时 间段。
在实施例中,所述多个从属单元中的至少一个对于与该从属单元相 关联并且落入第一地址范围的集合内的数据事务具有第一预定从属等 待时间段,并且对于与该从属单元相关联的所有其他数据事务具有第二 预定从属等待时间段。
因此,对一些从属单元来说,与一个地址范围集合相关联的任何数 据事务都会表现出一个从属等待时间段,而与任何其他地址范围相关联 的数据事务将会表现出不同的从属等待时间段。
在实施例中,所述多个从属单元中的至少一个包括SDRAM,所述 SDRAM对于与所述SDRAM的活动存储区域相关联的数据事务具有第一预 定从属等待时间段,并且对于与所述SDRAM的非活动存储区域相关联的 数据事务具有第二预定从属等待时间段。
因此,从属等待时间段将会根据作为数据事务对象的存储区域活动 与否而变化。
在实施例中,重排序步骤包括把与活动存储区域相关联的任何待决 数据事务集中在一起。
这样一来,与相同存储区域相关联的数据事务可以一起发布,这通 常会改进从属单元在对那些数据事务进行响应时的性能,并且改善从属 等待时间段。
在实施例中,互连逻辑可操作来在任一时刻支持预定数量的数据事 务。
因此,该互连可操作来在任何一个周期中支持一个或多个数据事 务。应该理解的是,可支持的数据事务的数量可能会根据互连可用的资 源和带宽及其当前配置而变化。
在实施例中,互连等待时间段是根据互连资源的当前利用率以及互 连总容量来确定的,其中所述总容量是用多个未解决的事务和带宽来表 示的。
在实施例中,重排序步骤包括最大程度地将未能满足其事务等待时 间段的数据事务提升至所述待决数据事务中的较早位置
通过对数据事务进行重排序以使得那些最不可能实现事务等待时 间段的数据事务被较早发布,由此将会增加实现该事务等待时间段的可 能性。
在实施例中,服务质量要求的指示包括支持该事务所需带宽的指 示,所述互连服务质量等级包括在考虑到尚待发布的任何其他待决数据 事务的情况下在通过互连逻辑传送数据事务时所利用的互连带宽,所述 从属服务质量等级包括在一旦所述数据事务被从属单元从互连逻辑接 收到就对所述数据事务进行响应时所利用的从属带宽;并且所述步骤 (e)包括:确定互连带宽或从属带宽是否未能支持所需带宽,如果是 的话,则对待决数据事务进行重排序,以便支持所需带宽。
在实施例中,服务质量要求的指示包括支持该事务所需最小带宽的 指示,所述互连服务质量等级包括在考虑到尚待发布的任何其他待决数 据事务的情况下在通过互连逻辑传送所述数据事务时所利用的互连带 宽,所述从属服务质量等级包括在一旦所述数据事务被从属单元从互连 逻辑接收到就对所述数据事务进行响应时所利用的从属带宽;并且所述 步骤(e)包括:确定互连带宽或从属带宽是否未能达到所需最小带宽, 如果是的话,则对待决数据事务进行重排序,以便支持所需最小带宽。
在实施例中,所述方法进一步包括步骤f)在重排序的待决数据事 务达到服务质量要求的情况下,对待决数据事务进行重排序,以便提高 事务效率。
因此,即使在达到所需服务质量等级时,也可以认为,可以进一步 提高对例如SDRAM的存取(access)效率,这是因为所选的事务次序即 使满足服务质量等级,也会不断激活并选择相同库(bank)中的地址区 域。对服务质量观点而言,这种低效率(inefficiency)是可接受的, 但是它有可能导致高功耗。通过对待决数据事务进一步执行重排序,能 够兼顾服务质量和效率这二者。这些效率考虑因素可以作为服务效率要 求被编程到服务质量仲裁器(arbiter)中,其中服务效率要求的优先 级要低于任何服务质量要求的优先级。然后,服务效率要求向服务质量 仲裁器提示对事务进行重排序,以便在不违反服务质量要求的情况下提 高效率。
在实施例中,重排序步骤包括将至少一个待决数据事务拆分成多个 子事务,以及对待决数据事务和子事务进行重排序以满足服务质量要 求。
可以认为,每个主单元都可以发布包含长数据突发(burst)的事 务请求。服务质量仲裁器可以将这些长突发拆分成“子事务”,然后, 这些子事务可以与来自另一主单元的事务交错。这有助于减少其他主单 元的存取等待时间(以使得它们能够在来自另一主单元的长突发期间发 布事务)。服务质量仲裁器通常被最佳放置,以使作出这些类的判定, 即它可以在一个主单元的服务质量等待时间要求(借助于拆分其他主单 元突发)与另一个主单元的服务质量最小带宽要求(借助于将其突发保 持在一起)之间达到平衡。
根据第二个方面,本发明提供了一种互连,可操作来将多个主逻辑 单元与多个从属逻辑单元相耦合以便能够在主逻辑单元与从属逻辑单 元之间进行数据事务,所述互连包括:接收逻辑,可操作来接收在主单 元与从属单元之间执行数据事务的请求,每个请求都具有与所述数据事 务相关联的服务质量要求的指示;互连服务质量确定逻辑,可操作来在 考虑到尚待发布的任何其他待决数据事务的情况下,确定在通过互连逻 辑传送所述数据事务时可达到的互连服务质量等级;从属服务质量确定 逻辑,可操作来确定在一旦所述数据事务被所述从属单元从所述互连逻 辑接收到就对所述数据事务进行响应时可达到的从属服务质量等级;以 及仲裁逻辑,可操作来确定组合的互连服务质量等级和从属服务质量等 级是否未能达到服务质量要求,如果是的话,则对待决数据事务进行重 排序,以便能够达到每个数据事务的服务质量要求。
根据第三方面,本发明提供了一种用于处理数据的系统,包括:多 个主单元;多个从属单元;以及互连装置,用于将多个主逻辑单元与多 个从属逻辑单元相耦合,以便能够在主逻辑单元与从属逻辑单元之间进 行数据事务,所述互连包括:接收装置,用于接收在主单元与从属单元 之间执行数据事务的请求,每个请求都具有与所述数据事务相关联的服 务质量要求的指示;互连服务质量确定装置,用于在考虑到尚待发布的 任何其他待决数据事务的情况下,确定在通过互连逻辑传送所述数据事 务时可达到的互连服务质量等级;从属服务质量确定装置,用于确定在 一旦所述数据事务被所述从属单元从所述互连逻辑接收到就对所述数 据事务进行响应时可达到的从属服务质量等级;以及仲裁装置,用于确 定组合的互连服务质量等级和从属服务质量等级是否未能达到服务质 量要求,如果是的话,则对待决数据事务进行重排序,以便能够达到每 个数据事务的服务质量要求。
附图简述
图1图示了包括根据本发明实施例的互连的数据处理系统;
图2图示了要通过互连来传送的数据事务请求的时序图;
图3图示了由服务质量仲裁器为所接收的数据事务请求的一个排序 所执行的分析;
图4是图示出用于另一排序的数据事务定时的时序图;
图5是示出对所接收的数据事务的另一排序的时序图;
图6是示出对事务请求的进一步排序的时序图;以及
图7图示出具有根据本发明另一个实施例的互连的数据处理系统
实施例描述
图1图示了包括根据本发明实施例的互连20的数据处理设备10。 该互连20将多个主单元(概括为30)与多个从属单元(概括为40)相 耦合。在本例中提供了第一主单元M1和第二主单元M2。但是,应该理解 的是,可以提供两个以上的主单元和/或两个以上的从属单元。
互连20包括多个端口50、60,服务质量仲裁器70,互连逻辑80 以及存储器控制器110。与主单元M1、M2中的每一个相耦合的是该互连 20的相应端口50、60。每个端口50、60又与服务质量仲裁器70相耦 合。服务质量仲裁器70又与互连逻辑80相耦合。互连逻辑80直接与 从属单元90相耦合,并且经由存储器控制器110而与片外SDRAM 100 相耦合。将互连逻辑80与QoS仲裁器70相耦合的路径85向QoS仲裁 器70提供关于互连逻辑80的当前状态或配置的信息。将存储器控制器 110与QoS仲裁器70相耦合的路径115向QoS仲裁器70提供关于存储 器控制器110的当前状态或配置的信息。
在本例中,服务质量仲裁器70被集于中心,并且尤其适合所有主 单元M1、M2都在相同时钟域中运行的方案。来自主单元M1、M2的所有数 据事务首先被路由到该服务质量仲裁器70,然后,该服务质量仲裁器按 照适当顺序将它们转发到互连逻辑80。
每个主单元M1、M2都规定了服务质量要求。虽然在本例中,该服务 质量要求指示的是主单元能够接受的从发布数据事务请求的时间到与 该事务相关联的数据可用的时间的最大等待时间段,但是应该理解的 是,服务质量要求还可以包括数据处理设备性能的其他方面,例如在给 定主单元与给定从属单元之间提供具有预定带宽的信道(例如最小或最 大数据带宽)。此外,虽然在本例中每个主单元M1、M2被提供有与该主 单元相关联的相应的恒定的预定服务质量要求,但是应该理解的是,每 个数据事务自身也可以被提供有与之相关联的服务质量要求指示。
此外,虽然在这里示出单独的主单元,但是应该理解的是,这些主 单元中的每一个主单元未必只表示单个物理主单元。取而代之,一个或 多个主单元可以是虚拟主单元。每个虚拟主单元是从一个物理主单元发 布的事务组群(grouping),但是它能够被标识为属于不同的虚拟事务 组群。
在本例中,其中为每个主单元预先确定了服务质量要求,并且所述 要求被存储在服务质量仲裁器70内。通常,在正常操作开始之前,在 初始设置或引导阶段由控制主单元对所存储的配置进行编程。在正常操 作期间,所述要求将被静态存储在服务质量仲裁器70内。如果数据事 务自身提供了服务质量要求,那么这些要求必须连同事务自身一起从主 单元动态提供到服务质量仲裁器70。在虚拟主单元的情况下,服务质量 仲裁器70能够静态存储与单个物理主单元相对应的多个虚拟主单元的 服务质量要求。
主单元M1或主单元M2提供的每个数据事务都会在其关联的端口被 接收,并且被转发到服务质量仲裁器70。如下文更详细描述的那样,服 务质量仲裁器70将会检查已接收的数据事务请求。服务质量仲裁器70 将确定该数据事务请求旨在送往(intend for)哪个从属单元。服务质 量仲裁器70将检查互连逻辑80的当前状态,并且将在考虑到互连逻辑 80的当前配置的情况下考虑互连逻辑80如何能够对接收到的请求以及 任何其他待决请求进行响应。服务质量仲裁器70还将检查目的地从属 单元对数据事务的响应能力。通过检查互连的当前状态及其关联的服务 质量等级这二者,加上目的地从属单元对数据事务的响应能力及其关联 的服务质量等级,可以判定所选的事务排序对由互连逻辑与从属单元的 组合提供给事务的服务质量等级的影响,由此能够判定哪个事务排序将 使得所有规定的服务质量要求都得以满足。
在本例中,服务质量仲裁器70将假设:在任何一个周期中,互连 逻辑80都只能够支持一个数据事务,并且一旦将每个数据事务发到互 连逻辑80,那么该数据事务就被立即转移到目的地从属单元(没有额外 的等待时间)。然而,应该理解的是,服务质量仲裁器70也可以改为 保持互连逻辑80的互连性指示,并且可以确定互连逻辑80是否可以在 任何一个周期中转移一个以上事务请求。此外,在一些情况下,互连逻 辑80有可能增加一个或多个周期的等待时间,以用于数据事务转移通 过互连逻辑80。
互连的特性包括如下因素,例如它可以在每个周期中仅仅发布一个 数据事务还是可以发布多个数据事务,或者它可以用一个周期还是多个 周期来将数据转移到目的地从属单元。互连的特性取决于该互连所使用 的路由机制以及在路由机制之间实施的路由拓扑。不包含存储或流线 寄存器的组合路由机制将会使数据转移在单个周期中发生。包含存储器 或流水线寄存器的顺序路由机制可以使数据转移占用(take)多个周期。 基本的线性路由拓扑有可能强加这样的限制:在一个周期中只可以发布 一个数据事务。更复杂的并行路由拓扑则有可能允许在给定周期中发布 多个数据事务。
虽然在本例中,互连中的所有点都是同步的,并且周期定时是从用 于整个互连的单个基准时钟获取的,但是应该理解的是,在主单元、从 属单元以及互连内的点之间可以具有异步定时关系。在这种情况下,服 务质量要求必须在不同的定时域之间转换。如在本领域中所理解的那 样,由于在具有异步定时关系的部件之间没有“周期数”的全局概念, 所以这样做将会导致要在不同单元中测量时间。
服务质量仲裁器70保持关于未解决事务及其经由互连逻辑80的路 径的记录。服务质量仲裁器70询问互连逻辑80,以便确定任何数据转 移的当前状态。服务质量仲裁器70利用了从属规则集(未示出),所 述规则集允许仲裁器在给定了数据事务的地址范围、未解决事务的记 录、互连的当前状态以及所预测的从属单元90或SDRAM 100等待时间 的情况下预测互连等待时间。
在本例中,服务质量仲裁器70假设从属单元90对于所有数据事务 具有恒定的等待时间段。但是,假设SDRAM 100具有根据SDRAM 100的 状态以及特定存取所使用的地址区域而变化的等待时间段。因此,在这 里提供了存储器控制器110,服务质量仲裁器70询问该存储器控制器, 以便确定SDRAM 100的当前状态以及存储器控制器110的当前配置。该 服务质量仲裁器70保持SDRAM行为的模型(未示出),该模型允许它 在给定未解决事务的记录以及存储器控制器110的配置和当前状态的情 况下预测SDRAM 100的存取等待时间。
为了更详细地说明互连20的操作,现在将会参考图2来描述数据 事务的示例性序列。如图2所示,主单元M1和M2这二者都发起对SDRAM 100的数据事务请求。服务质量仲裁器70被提供指示:由主单元M1发起 的数据事务的最大可接受等待时间是10个周期,而由主单元M2发起的 数据事务的最大可允许等待时间则是14个周期。
从存储器控制器110向服务质量仲裁器70提供指示:它能够接收 数据事务请求,落入第一地址范围以内(也就是落入当前并不活动的 SDRAM 100的存储区域以内)的任何数据事务请求都要占用5个周期来 激活,然后要占用8个周期来存取,此外,由于不需要发布命令来激活 第二地址范围,所以处于第二地址范围以内(也就是落入当前活动的 SDRAM100的存储区域以内)的任何事务请求将只占用8个周期来存取。
来自主单元M1和M2的数据事务请求由服务质量仲裁器70接收。该 服务质量仲裁器70对与数据事务请求相关联的地址进行解码。并且该 服务质量仲裁器70根据所述地址确定这两个数据事务都旨在送往 SDRAM 100。服务质量仲裁器70确定请求1落入第二地址范围以内而请 求2落入第一地址范围以内。
服务质量仲裁器70检查每个主单元M1和M2的服务质量要求,并且 将其与互连逻辑80的可用性以及SDRAM 100对事务请求进行响应的能 力相比较。在本例中,假设互连逻辑80可用,并且由此将不会增加任 何额外的等待时间。但是,在本例中,在任何一个周期中,在互连逻辑 80上都只能发送一个请求。
因此,服务质量仲裁器70必须选择何时向互连逻辑80发布请求1 以及何时向其发布请求2。在本例中,如图3和4所示,服务质量仲裁 器70具有两个可能的选项。
图3图示了在先发布请求1且之后发布请求2时由服务质量仲裁器 70计算得到的等待时间段。
当互连逻辑80可用时,请求1能够在周期0中发布,并且将在周 期0中到达存储器控制器110。由于请求1处于第二地址范围中,所以 不需要使SDRAM 100准备存取。因此,对与请求1相关联的数据进行存 取将会占用8个周期,并且数据会在第九个周期中可用。
同时,在周期1中将会发布与请求2相关联的命令,并且存储器控 制器110将在周期1中接收到该命令。由于请求2与第一地址范围相关 联,所以将需要使SDRAM 100准备好存取该地址范围。因此,存储器控 制器110将会发布激活命令,以便使SDRAM 100准备存取第一地址范围 内的地址。该激活命令将会占用5个周期来完成,此后,存储器控制器 110能够向SDRAM 100发布存取命令。针对SDRAM 100的存取将会占用 8个周期来完成。因此,与请求2相关联的数据将会在第15个周期中可 用。
由此,虽然主单元M1的数据事务将在九个周期内完成(少于其10 个周期的最大可允许等待时间段),但是主单元M2在15个周期之后完 成其数据存取,这就违反了其服务质量要求。
因此,服务质量仲裁器70将对接收到的请求进行重排序。虽然在 本例中交换的是两个请求,并且其中请求2是在请求1之前发布的,但 是应该理解的是,服务质量仲裁器70可能需要考虑更多的未解决请求, 而这将会需要在更大数量的请求排序可能性之间做出决定。服务质量仲 裁器70必须包括足够资源,以便在互连20的正常操作期间可能出现最 大数量的未解决请求的情况下管理其功能。
图4图示了在首先发布请求2且之后发布请求1时由服务质量仲裁 器70计算得到的等待时间段。
如果服务质量仲裁器70首先发布请求2,那么该请求将在周期0中 到达存储器控制器110。由于请求2与第一地址范围相关联,所以SDRAM 100将会占用5个周期来激活和准备该存取。因此,针对第一地址范围 的激活命令被发布。此后,针对请求2的存取命令被发布,并且数据在 8个周期之后可用。因此,与请求2相关联的数据将在周期14中可用。
同时,请求1会在请求2之后在周期1中发布。由于请求1落入了 其中存取占用8个周期的第二地址范围内。因此,与请求1相关联的数 据将在10个周期之后可用。
因此,利用该交替排序(alternate ordering),与主单元M1相关 联的数据事务在10个周期内可用,而与主单元M2相关联的数据事务在 14个周期内可用。因此,满足了主单元M1和主单元M2这二者的服务质 量要求,并且请求2将由服务质量仲裁器70发布,继之以请求1。
虽然上述实例所考虑的是对与相同从属单元有关的数据事务进行 的排序,但是如下文参考图5、6更详细地描述的那样,相同的技术能 够被用于与不同从属单元有关的数据事务。
现在考虑包括SDRAM 100和从属单元90这二者的数据事务的可替 换集合。在本例中,主单元M2发起与从属单元90的数据事务,而主单 元M1发起与SDRAM 100的数据事务。
服务质量仲裁器70被提供指示:由主单元M1发起的数据事务的最 大可接受等待时间是10个周期,而由主单元M2发起的数据事务的最大 可允许等待时间则是14个周期。
服务质量仲裁器70还被提供指示:与从属单元90进行的每个数据 事务都要占用13个周期来完成。如上所述,该存储器控制器110向服 务质量仲裁器70指示:第一地址范围将占用5个周期来准备,而第二 地址范围可用于存取。
另外,在本例中,服务质量仲裁器70被提供指示:互连逻辑80在 任何一个周期中只能支持一个数据转移。
服务质量仲裁器70从主单元M1接收用于存取来自SDRAM 100的第 二地址范围中的地址的请求1。服务质量仲裁器70还从主单元M2接收用 于存取从属单元90中的地址的请求2。
同样,在本例中,服务质量仲裁器70具有用于向互连逻辑80发布 两个请求的两个可能选项。
在这里考虑第一种可能性,如图5所示,如果服务质量仲裁器70 首先发布请求1,那么存储器控制器110在周期0中接收到该请求。由 于地址落入第二地址范围内,所以该请求将会占用另外8个周期,以使 与请求1相关联的数据可用。因此,请求1是在9个周期之后完成的。
同时,请求2将在请求1之后被发布,并且针对从属单元90的存 取将会占用13个周期来完成。因此,与请求2相关联的数据将在15个 周期后可用。
因此,虽然主单元M1所请求的数据将在9个周期内可用,但主单元 M2所请求的数据将在15个周期后可用,这比该主单元的服务质量要求要 长。
因此,服务质量仲裁器70将会考虑对所接收的请求进行交替排序。
如图6所示,服务质量仲裁器70将会考虑在请求1之前发布请求2 时的定时。如果首先发布请求2,那么从属单元90将在周期0中接收到 该请求。该从属单元90将会占用13个周期来执行数据存取,并且与请 求2相关联的数据将会在14个周期后可用。
同时,请求1将在请求2之后的周期中发布,由于与请求1相关联 的地址落入第二地址范围内,所以与请求1相关联的数据将在8个周期 后可用。因此,与请求1相关联的数据将在10个周期后可用。
因此,在该交替排序中,与主单元M1相关联的数据事务将在10个 周期内可用,而与存储单元M2相关联的数据事务将在14个周期内可用。 因此,利用该排序,将会达到主单元M1和主单元M2这二者的服务质量要 求。因此,请求2会在请求1之前由服务质量仲裁器70发布。
虽然在所有上述实例中执行的都是两个数据事务的简单交换,但是 应该理解的是,在存在两个以上待决数据事务的情况下,可以采用更复 杂的重排列。例如,服务质量仲裁器70可以对待决事务进行重排序, 以便最大程度地提升未能达到服务质量要求的数据事务,从而较早发布 这些事务。而且,当某个事务排序已经满足所有的服务质量要求时,服 务质量仲裁器70可以选择对事务进行重排序,以便提高系统效率。其 一实例是把由每个主单元发布的数据事务集中于激活的存储区域,原因 在于这将会避免由于必须关闭以及之后重新激活存储区域所引起的功 率开销。但是,在该方案中,将会保持用于满足服务质量要求的重排序 优先于用于满足任何效率要求的重排序。
此外,如果主单元M1发布长突发事务,而主单元M2发布短突发事务, 那么对这两个存取而言可能很难满足非常短的等待时间要求。在这种情 况下,服务质量仲裁器70可以选择把来自主单元M1的长突发事务拆分 成一系列的两个或更多较小事务。由此,这将会允许服务质量仲裁器70 在来自主单元M1的经拆分的(split up)突发事务内调度来自主单元M2 的事务。这种改进的调度灵活性将会增加服务质量仲裁器70找到满足 所有服务质量要求的排序的概率。
虽然在上述实例中,服务质量要求指示事务的最大等待时间段,但 是应该理解的是,服务质量要求可以包括由特定主单元发起的事务所携 带的预定带宽的要求,例如最大或最小数据带宽。因此,服务质量要求 还可以涉及对于特定主单元必须可用的最小数据带宽。
如先前所述,图1中的服务质量仲裁器70保持了未解决事务的记 录,及它们的经由互连逻辑80的路径的指示。服务质量仲裁器70还提 供了这样的机制,该机制确保为每个事务提供在预先确定的固定时段转 移最小数据量的机会。而且,虽然最小数据带宽要求可以覆盖特定主单 元的所有事务,但是应该理解的是,最小数据带宽要求可能只适用于在 特定主单元与特定从属单元之间发生的事务。
因此,服务质量仲裁器70询问互连逻辑80,以便确定任何数据转 移的当前状态。在给定了数据事务的地址范围、未解决事务的记录、某 个固定时段上的进程、互连的当前状态以及从属单元90或SDRAM 100 的当前状态的情况下,该服务质量仲裁器70还确定事务的调度。
在一个方案中,服务质量仲裁器70分配重复时段内的时隙以作为 在其内调度事务的共享资源。这保留了互连逻辑80或共享的从属单元 90或共享的SDRAM 100中的任何共享资源,以使得能够调度事务来满足 数据带宽要求。
在另一个方案中,服务质量仲裁器70跟踪主单元在重复时段内转 移的数据量。然后,对事务进行调度,以便在重复时段内分发这些事务, 从而在该时段中转移所需的数据量。
在上述实例中,尽管对最小数据带宽要求来说,在重复时段内的经 计算的时间处调度事务,但是应该理解的是,该调度能够通过将最小数 据带宽要求动态地转换成每个事务的最小等待时间要求来进行。这实现 了对依照一些主单元的等待时间以及依照其他主单元的最小带宽所规 定的混合服务质量要求的使用。
虽然在上述所有例子中执行的都是两个数据事务的简单交换,但是 应该理解的是,如果有两个以上数据事务待决,那么可以进行更复杂的 重排列。例如,服务质量仲裁器70可以对待决事务进行重排序,以便 最大程度地提升未能达到服务质量要求的数据事务,以便较早发布这些 事务。而且,当某一事务排序已经满足所有服务质量要求时,服务质量 仲裁器70可以选择对事务进行重排序,以便提高系统效率。其一实例 是把由每个主单元发布的任何数据事务集中于激活的存储区域,原因在 于这将会避免由于必须关闭以及之后重新激活存储区域所引起的功率 开销。但是该本方案中,将会保持用于满足服务质量要求的重排序的优 先级而不是用于满足任何效率要求的重排序。
此外,如果主单元M1发布长突发事务,而主单元M2发布短突发事务, 那么对这两个存取而言可能很难满足非常短的等待时间要求。在这种情 况下,服务质量仲裁器70可以选择将来自主单元M1的长突发事务拆分 成一系列的两个或更多较小事务。由此,这将会允许服务质量仲裁器70 在来自主单元M1的经拆分的突发事务内调度来自主单元M2的事务。这种 改进的调度灵活性将会增加服务质量仲裁器70找到满足所有服务质量 要求的排序的概率。
图7图示了具有根据第二实施例的互连20′的数据处理设备,概括 为10′。在本例中提供了四个主单元(概括为30′),其中每个主单元 都经由端口50′与相应的服务质量仲裁器70′耦合。
服务质量仲裁器70′是分布式的,其中每个服务质量仲裁器都专用 于每个主单元。在本例中,服务质量仲裁器70′能够在物理上邻近于每 个主单元,并且主单元可以在不同的时钟频率下运行。
服务质量仲裁器70′彼此进行通信,还与互连80′以及存储器控制 器110进行通信。存储器控制器110与SDRAM 100相耦合。在这里提供 了多个从属单元90a-90n。每个主单元30′都可操作来经由互连80′与 每个从属单元90a-90n或者存储器控制器110相连接。
每个服务质量仲裁器都从相应的主单元接收数据事务,并且为该数 据事务确定目的地从属单元所支持的服务质量等级,以及互连逻辑80 所提供的服务质量等级。
与图1所示的方案一样,服务质量仲裁器70′提供指示,即:其关 联的主单元所发起的数据事务的最大可接受等待时间的指示。服务质量 仲裁器70′还被提供指示:与从属单元90a-90n的每个数据事务都会占 用预定数量的周期来完成。存储器控制器110向每个服务质量仲裁器 70′指示SDRAM 100的当前状态和配置。这使服务质量仲裁器70′能够根 据所选的请求排序来预测存取SDRAM 100中的不同地址范围所要占用的 周期数。互连80′向每个服务质量仲裁器70′指示路由器的当前状态以 及互连内待决的任何事务。这使服务质量仲裁器70′能够确定可用于对 事务进行路由的互连的容量以及事务穿过互连所需的等待时间。
服务质量仲裁器70′均保持事务队列的拷贝,并且每个服务质量仲 裁器70′都需要理解在队列中待决数据事务之间哪些依存性 (dependency)是相关的(即,两个主单元能够同时向互连20′发布新 的事务,但是如果将其对准相同的从属单元,那么该从属单元必须在一 个事务之前接收另一个事务)。因此,服务质量仲裁器70′可操作来相 互通信,由此确定尚待发布的待决请求队列内的正确排序,这样做能够 满足每个主单元的服务质量要求。
应该理解的是,服务质量仲裁器70或70′通常将通过把每个主单元 所发布的任何数据事务集中于SDRAM 100的激活的存储区域来利用 SDRAM 100的特定性能特性,以便能够达到SDRAM 100的最大性能或利 用率。
此外,通过引入对在主单元与从属单元之间传送的数据事务的服务 质量约束,可以在不影响数据处理设备10或10′的总体性能的情况下经 由互连20或20′路由其他的非必要数据。例如,可以把与数据处理设备 的操作性能直接相关联的数据事务与高服务质量(低等待时间)要求相 关联,而可以将辅助数据事务(例如与跟踪或调试相关联的那些事务) 与较低服务质量(较高等待时间)相关联。这样一来,就能够消除对提 供单独资源来传送非必要数据的需求。因此,就可以确保任何非必要数 据传输都不会影响其他数据的服务质量,由此能够保证数据处理系统的 正常行为不会被扰乱。
对任何互连方案来说,应该理解的是,可以静态或动态评估互连20 或20′的性能,以便确保可以在互连结构的物理约束以及主单元和从属 单元的能力之内满足所有服务质量要求。
图8更详细地图示了示例性服务质量仲裁器70′的方案。
每个数据事务都由接收逻辑110接收。接收逻辑110将数据事务放 置在事务队列120中。每个数据事务都与服务质量要求相关联。事务队 列120提供指示,即:要由服务质量仲裁器70′发到互连逻辑的所有待 决数据事务及其关联的服务质量要求的指示。事务队列120的状态是在 经由事务队列相干系统160与每个其他服务质量仲裁器70′相通信的过 程中更新的。
从属等待时间确定逻辑140提供与每个从属单元相关联的等待时间 的指示,这实现了针对任何特定事务确定从属单元的等待时间。同样, 互连等待时间确定逻辑150为任何特定事务提供与互连逻辑相关联的等 待时间的指示。
仲裁逻辑130检查事务队列120内的事务,并且根据从属等待时间 确定逻辑140以及互连等待时间确定逻辑150来确定达到每个服务质量 要求的事务队列120的适当排序。事务队列相干系统160与其他服务质 量仲裁器70′交换该排序,以便确保每一个都保持相同的事务队列120。 但是一般来说,每个单独的仲裁器70′都将仅仅引起与耦合于仲裁器70′ 的主单元相关联的事务升级或降级。
虽然以上所示出的实例假设服务质量仲裁器70、70′可操作来确定 与每个未解决的数据事务相关联的服务质量等级,以及确定单个周期内 的正确排序,但是应该理解的是,在更为复杂的方案中,该确定可以占 用额外的周期,但是所占用的该额外时间可以很容易被构建到该确定 中。
虽然在这里参考附图对本发明的说明性实施例进行了详细描述,但 是应该理解,本发明并不局限于这些确切的实施例,并且在不脱离所附 权利要求所限定的本发明范围的情况下,本领域技术人员是能够实现各 种改变和修改
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈