经由较高频仲裁器的每一循环进行多个总线仲裁的开关矩阵系统的制作方法

文档序号:6567051阅读:112来源:国知局
专利名称:经由较高频仲裁器的每一循环进行多个总线仲裁的开关矩阵系统的制作方法
技术领域
本发明大体上涉及电子数据处理领域,且确切地说,涉及一种高性能总线仲裁系统 和方法。
背景技术
功能单元之间的数据传送是计算机系统的一种常见操作。将程序从磁盘传送到存储 器再传送到处理器、将数据从图形引擎发送到帧缓冲器再发送到视频卡和将输入从键盘 或鼠标发送到处理器均是计算机系统内的数据传送的常见实例。图1描绘系统总线结构的简化图,所述系统总线结构大体上由标号IO指示。系统总 线12将各个系统单元互连,所述系统总线12可划分成地址通道、数据通道、控制通道 等。例如CPU 14或DMA引擎16的主装置指示去往或来自从属装置(例如存储器18和 /或输入/输出电路20)的跨越总线12的数据传送一一本文中称为总线事务。当两个或两 个以上独立主装置14、 16连接到总线12时,由仲裁器22来控制所述主装置对总线的存 取。如此项技术中已知的, 一个或一个以上主装置14、 16断定针对仲裁器22的总线请 求。仲裁器22监视总线12上的活动,且当总线12变得可用时,仲裁器22向请求的主 装置14、 16中的一者发送总线许可。经许可的主装置14、 16接着可起始在总线12上进 行的事务,例如被引导到一个或一个以上从属装置18、 20的读取或写入循环。虽然系统总线IO在将几个主装置14、16与多个从属装置18、 20连接方面工作良好, 但其强加了一次只能有一个主装置14、 16可访问从属装置18、 20的限制。在高性能处 理器中,事实上常可能有两个或两个以上主装置14、 16希望独立地访问一个或一个以上 从属装置18、 20。图2描绘高性能数据传送系统,其大体上由标号30指示。开关矩阵32 (也称为纵 横开关)将多个主装置34互连到多个从属装置36,其中在最一般的情况下,任何主装 置可访问任何从属装置。举例来说,图2描绘主装置1访问从属装置1,且同时主装置2 访问从属装置O。在有些实施方案中,从属装置36中的一者或一者以上可包含两个或两 个以上地址总线,从而允许一个以上主装置34同时进行访问。对于包括n个主装置34和单个从属装置36的总线系统30来说,开关矩阵32内仅
必需一个仲裁器来对于对从属装置36的竞争访问进行仲裁。对于具有n个主装置34和 m个从属装置36的nXm纵横系统30来说,可能实施一个到m个仲裁器。使用m个仲 裁器将实现最高性能,其中每个仲裁器专用于一个从属装置36。如果仲裁器少于m个(也 就是说,至少一个仲裁器针对两个或两个以上从属装置36执行仲裁),则性能将降级, 因为每个仲裁器每次或在任何给定总线循环内仅可针对一个从属装置36进行仲裁。然 而,实施许多仲裁器会消耗芯片面积、使路由复杂化并且增加功率消耗。 发明内容根据一个或一个以上实施例,总线中的仲裁器通过以大于总线频率的仲裁器频率操 作,而在单个总线频率时钟循环中对多个总线事务请求进行仲裁。在一个实施例中, 一种系统包含以总线频率操作的总线。至少一个主装置连接到所 述总线并请求进行总线事务。至少一个从属装置连接到所述总线并从事总线事务。仲裁 器通过以大于总线频率的仲裁器频率操作,而在单个总线频率时钟循环中对一个以上事 务请求进行仲裁。在另一实施例中, 一种在以总线频率操作的总线中对多个总线事务请求进行仲裁的方法包括以大于总线频率的仲裁器频率操作仲裁器;并在一个总线频率时钟循环中对多个总线事务请求进行仲裁。


图1是现有技术计算机总线的功能方框图。图2是纵横总线的功能方框图。 图3是纵横总线仲裁循环的时序图。
具体实施方式
图3描绘纵横矩阵系统30中的代表性总线事务请求和仲裁的时序图。在此实例中, 总线以10毫微秒的时钟循环以100 MHz的总线频率操作,且两个从属装置A和B共用 单个仲裁器。两个从属装置MO、 Ml在总线循环1中同时发出对被引导到两个从属装置 A和B的总线事务的请求。在具有常规仲裁器的系统30中,将如虚线所指示在总线循环2中对从属装置A进行 仲裁并在总线循环3中对从属装置B进行仲裁。仲裁器将如虚线所指示在总线循环3中 对从属装置A发出请求并在总线循环4中对从属装置B发出请求。从属装置将分别在总 线循环4和5中确认,且主装置M0和M1可在接收到每个相应从属装置确认时继续进行 总线事务。
在一个或一个以上实施例中,通过以大于总线频率的仲裁器频率操作仲裁器,在一 个总线频率时钟循环中执行多个仲裁循环。如图3的实线信号中所描绘,仲裁器通过两 倍于总线频率的仲裁器频率运行(在此实施例中)而在总线循环2中针对从属装置A和 B两者执行仲裁。因此,仲裁器能够在总线循环3中向从属装置A和B两者发出请求, 且从属装置A和B两者均可在总线循环4中确认。M0和Ml两者均可在总线循环5中 开始总线事务,其中总线循环5在M1的情况下比上述情况早整个循环,且在图3中以 虚线所描绘,其中仲裁器以总线频率操作。类似地,通过以总线频率的3倍、4倍或其 它倍数运行仲裁器,可在单个总线频率时钟循环中对被引导到三个、四个或四个以上的 从属装置的请求进行仲裁,从而允许各个总线事务并行进行。在这些实施例中,单个仲裁器实例可并行地仲裁对多个从属装置的多个总线事务请 求,而不需要加倍的仲裁逻辑实例。如本文中所使用,单个仲裁器实例包括对被引导到 从属装置36的一个或一个以上总线事务请求执行仲裁所必需的逻辑和配置信息。通过以 高于总线频率的仲裁器频率操作仲裁器,可使用仅一个仲裁逻辑实例在单个总线频率时 钟循环中对多个总线事务请求进行仲裁,而不是针对每个从属装置36复制仲裁逻辑。这 节省硅面积、降低路由复杂性并节省功率,而代价是产生和路由至少两个具有不同频率 的时钟信号。在大多实施例中,仲裁器频率将是总线频率的倍数,但未必是2M咅(例如,仲裁器 频率可以是总线频率的3倍或5倍)。这允许向每个仲裁操作投入最大量的时间。然而, 仲裁器频率是总线频率的精确倍数并非限制本文揭示的本发明。 一般来说,仲裁器频率 可能仅充分大于总线频率以允许在单个总线频率时钟循环中对至少两个总线事务请求进 行仲裁。图3的时序图描绘两个主装置M0、 Ml同时请求被引导向共用单个本发明仲裁器的 两个不同从属装置36的总线事务。如果单个主装置34同时请求被引导向共用一个仲裁 器的两个不同从属装置36的总线事务,会出现相同的时序关系。举例来说,主装置34 可将读取事务引导到一个从属装置36且将写入事务引导到另一从属装置。或者,主装置 34可能了解从属装置36具有不同的响应等待时间,且了解对相似总线事务的同时请求 将不会在事务发生时导致总线冲突。在另一实施例中,两个或两个以上主装置34可同时请求进行被引导到同一从属装置 36的总线事务。如果从属装置36具有足够的地址总线容量,其可能能够同时从事两个 或两个以上总线事务。高地址总线容量的一个实例是共用通道总线结构。为了节省硅面
积并降低路由复杂性,总线30的地址通道功能性可与数据传送通道合并。举例来说,地 址总线可与写入数据总线共用通道。如果系统具有32位的实际(硬件)地址空间和128 位的写入数据总线,则将地址和写入数据功能性多路复用到单个的128位总线通道允许 在一个地址传送循环期间传送多达四个单独地址。在此情况下,多达四个主装置34 (或 者如果一个或一个以上主装置34发出多个总线请求则少于四个)可在同一循环期间请求 总线事务并发出地址,其中有两个或两个以上地址是被引导到同一从属装置36。如果从 属装置36有能力,则其可接受所有请求并从事多个同时的总线事务。在此实施例中,单 个仲裁器可通过以大于总线频率的仲裁器频率操作,而在单个总线频率时钟循环中对全 部被引导到同一从属装置36的多个总线事务请求进行仲裁。在一个或一个以上实施例中,仲裁器频率可能是可变的。当只有一个总线事务请求 未完成时,仲裁器频率可等于总线频率。在此实施例中,仲裁器与常规仲裁器一样,每 个总线频率时钟循环执行一个仲裁。这会比以高于总线的频率操作仲裁器节省功率,此 时以高于总线的频率操作仲裁器并不提供性能益处。在一个实施例中,对仲裁器频率作出预测。所述预测可基于(例如)近来的总线活 动。在一个或一个以上主装置34正发出多个总线事务请求的时期期间,可针对多个仲裁 (不论是从不同主装置34到同一从属装置36还是到共用一个仲裁器的不同从属装置36) 的可能性提高仲裁器频率。举例来说,在一个实施例中,可存储在前n个总线循环期间 待决的总线事务请求的数目,并对其进行检查,以预测一个或一个以上随后的总线循环 的仲裁频率。在另一实施例中,多个待决总线事务请求的事实可能会使饱和计数器递增, 这在处理器分支预测实施方案中是众所周知的。不具有多个待决总线事务请求的延长周 期可能会使计数器递减。计数器的MSB可用作对是否应使用较高仲裁器频率的预测。所 属领域的技术人员将认识到,可使用各种技术来预测仲裁器频率。在一个实施例中,仲裁器可利用循序仲裁的串行性质通过考虑先前仲裁的结果来提 高"后续"仲裁的"智能性"。举例来说,如果第一仲裁操作许可主装置34对从属装置 36的写入请求,那么在同一总线频率时钟循环期间执行的后续仲裁可拒绝许可另一主装 置34对同一从属装置36的写入请求(原本会许可),以防止在从属装置36处出现写入 数据冲突。在一个实施例中,仲裁器可包含待决的总线状态寄存器,例如给从每个主装置34到 每个从属装置36的读取和写入事务的每一可能组合分配一个位。仲裁器作出的早期仲裁 决策可设定相关的待决总线状态位,且仲裁器中的逻辑可利用这些仲裁决策的结果(例
如,更新的待决总线状态)来更加智能地在同一总线频率时钟循环内作出后续的仲裁决 策。这可通过优化总线流量并避免冲突和瓶颈而实现较高的性能(超越每个总线频率时 钟循环多个仲裁的性能改进)。通过以高于总线频率的仲裁器频率运行仲裁器而在单个总线频率时钟循环中执行多 个总线事务请求仲裁,可通过允许并行仲裁而提高性能,而无需付出具有多个仲裁器逻 辑实例的代价。多个仲裁的串行性质允许进行更加智能的仲裁决策,因为以后的仲裁操 作以先前仲裁决策的操作作为输入。为了节省功率,可在没有多个请求未完成时将仲裁 频率压制回总线频率。为了平衡低总线利用率期间的功率节省与高总线利用率期间的改 进性能,可对仲裁器频率进行预测。虽然已在本文就本发明的特定特征、方面和实施例描述了本发明,但将容易了解, 在本发明的广泛范围内可能有许多更改、修改和其它实施例,且相应地,将所有更改、 修改和实施例视为在本发明的范围内。因此,当前实施例在所有方面均应理解为说明性 的而不是限制性的,且期望所有属于所附权利要求书的含义和均等范围内的变化均包含 在其中。
权利要求
1.一种系统,其包括总线,其以总线频率操作;至少一个主装置,其连接到所述总线并请求总线事务;至少一个从属装置,其连接到所述总线并从事总线事务;以及仲裁器,其通过以大于所述总线频率的仲裁器频率操作而在单个总线频率时钟循环中对一个以上事务请求进行仲裁。
2. 根据权利要求1所述的方法,其中所述仲裁器包括单个仲裁逻辑示例。
3. 根据权利要求l所述的方法,其中所述仲裁器频率是所述总线频率的倍数。
4. 根据权利要求1所述的方法,其中所述从属装置至少包含至少两个地址路径; 两个主装置同时向所述从属装置请求总线事务;且所述仲裁器在单个总线频率时钟循环中发出对所述两个主装置的许可。
5. 根据权利要求I所述的方法,其中所述主装置同时向两个从属装置请求总线事务;且所述仲裁器在单个总线频率总线循环中针对所述两个从属装置发出对所述主装 置的许可。
6. 根据权利要求l所述的方法,其中,如果断定不多于一个总线事务请求,则所述仲 裁器频率等于所述总线频率。
7. 根据权利要求1所述的方法,其中响应于总线事务请求活动来预测所述仲裁器频率。
8. 根据权利要求l所述的方法,其中所述仲裁器在单个总线频率时钟循环中循序地对 至少第一和第二总线事务请求进行仲裁,且其中对所述第二请求的仲裁包含对所述第一请求的仲裁的结果。
9. 根据权利要求8所述的方法,其中所述仲裁器维持待决总线事务的状态。
10. —种在以总线频率操作的总线中对多个总线事务请求进行仲裁的方法,其包括以大于所述总线频率的仲裁器频率操作仲裁器,以及 在一个总线频率时钟循环中对多个总线事务请求进行仲裁。
11. 根据权利要求10所述的方法,其中所述仲裁器频率是所述总线频率的倍数。
12. 根据权利要求11所述的方法,其中所述仲裁器在每个仲裁器频率时钟循环中对总线事务请求进行仲裁。
13. 根据权利要求12所述的方法,其中所述仲裁器在单个总线频率时钟循环中循序地 对至少第一和第二总线事务请求进行仲裁,且其中对所述第二请求的仲裁包含对所 述第一请求的仲裁的结果。
14. 根据权利要求13所述的方法,其中所述仲裁器维持待决总线事务的状态。
15. 根据权利要求IO所述的方法,其中所述仲裁器频率是可变的。
16. 根据权利要求15所述的方法,其中基于总线活动预测所述仲裁器频率。
17. 根据权利要求10所述的方法,其中如果只有一个总线请求待决,则所述仲裁器频 率等于所述总线频率。
全文摘要
开关矩阵系统中的一种仲裁器通过以大于总线频率的频率操作而在单个总线频率时钟循环中对多个总线事务请求进行仲裁。这允许用一个仲裁逻辑实例在单个总线频率时钟循环中进行两个或两个以上仲裁操作。所述仲裁器可针对两个或两个以上从属装置进行仲裁,或者可对被引导到同一从属装置的多个主装置请求进行仲裁。仲裁器频率可以是可变的,且可基于例如先前的总线活动进行预测。如果只有一个总线事务请求待决,则所述仲裁器频率可等于所述总线频率。可利用早期仲裁决策的结果在同一总线频率时钟循环中更加智能地作出后续的仲裁决策。
文档编号G06F13/40GK101160572SQ200680011984
公开日2008年4月9日 申请日期2006年2月24日 优先权日2005年2月24日
发明者贾亚·普拉喀什·苏布拉马尼亚姆·贾纳桑 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1