用以减少存取等待时间的总线仲裁技术的制作方法

文档序号:6360155阅读:179来源:国知局
专利名称:用以减少存取等待时间的总线仲裁技术的制作方法
技术领域
所掲示的实施例涉及总线仲裁技木。特定来说,所掲示的实施例是针对用以在共享存储器系统中减少存储器存取等待时间的技术。
背景技术
具有共享存储器结构的系统架构在所属领域中是众所周知的。可通过多个处理器或处理元件经由总线或互连系统来存取共享或全局存储器空间。所述处理元件概念上被称为互连系统的“总线主控器”,且共享存储器结构驻留于“受控器”端。总线主控器向共享存储器资源发出读取/写入请求。由受控器端处的“存储器控制器”来服务所述请求。一般来说,在互连系统中,存储器控制器完成总线主控器与共同存储器空间之间的点对点连接,以便促进数据传送。因为在任何给定时间仅可有一个存取请求可被服务,所以多个总线主控器为存取共享存储器空间而彼此竞争很常见。因此,同步对共享存储器的存取以使得在正服务ー总线主控器时,另ー总线主控器不被授予存取权。使用调度机制或“仲裁方案”来同步且调度来自不同总线主控器的请求以便避免争用。“总线仲裁器”执行仲裁任务。总线仲裁器決定,在任何给定时间可授权哪ー总线主控器来存取存储器。在两个或两个以上总线主控器试图同时存取总线时,仅有一个总线主控器被授予存取权,而其它处理器必须等待。仲裁器所遇到的挑战中的ー者为,确保排定某些总线主控器的优先权以使其能够存取存储器不会导致具有较低优先权的总线主控器被无限期地锁定或在获得存取权时遭受不合理的延迟。ー常见仲裁方案为循环仲裁方案,其中在所有总线主控器间均匀地分配可用带宽。根据预定次序授予存储器存取权而不考虑各个总线主控器的等待时间要求。举例来说,处理语音通信的数字信号处理器(DSP)可能要求低等待时间通信,但基本循环方案可证实在适应这些等待时间特性方面效率极低。另ー众所周知的途径为基于令牌的途径,其中环绕网络传递“令牌”,且仅有处理所述令牌的总线主控器可被允许存取。如果特定处理元件不要求存取,则其可将所述令牌传递到相邻处理元件。将优先权及等待时间要求的概念建置于这些方案的实施方案中。基于令牌的仲裁方案试图通过基于总线主控器的等待时间特性分配优先权来保证等待时间要求。然而,这些及其它众所周知的仲裁方案未考虑互连系统的受控器端处的事务。举例来说,考虑ー种使用常规仲裁方案的存储器系统。存储器系统中的总线仲裁器在特定时刻向第一总线主控器授予存取权。所请求的数据驻留于存储器的第一页中,所述第一页在第一总线主控器的存取持续时间中保持开放。接着,授予第二总线主控器存取权。但第二总线主控器请求在第一页中未中的数据,且页未中发生。在提取含有所请求的数据的第二页时造成相当大的延迟。接着授予请求第一页中的数据的第三总线主控器存取权,且在提取第一页时遭受又ー页未中。在以上实例中,如果总线仲裁器已不同地调度请求,使得连续地调度存取相同页的第一及第三事务,则其将已导致第三事务的页命中。但现有技术不能够前瞻审视以预测将导致页命中的事务。因此,所属领域中需要可通过考虑受控器端处的已调度的事务以便改良页命中率且平衡读取与写入而减少存储器存取等待时间的技木。

发明内容
示范性实施例是针对用于仲裁技术以在共享存储器系统中减少存储器事务的存 取等待时间的系统及方法。举例来说,示范性实施例是针对一种在处理系统中仲裁用于存取共享存储器的来自总线主控器的请求的方法,所述方法包含前瞻审视当前已调度的对共享存储器的存取;基于当前已调度的存取的特性而预测来自总线主控器的请求的等待时间;及至少部分基于所述所预测的等待时间而调度来自总线主控器的请求。另一不范性实施例是针对一种处理系统,所述处理系统包含共享存储器系统;经配置以产生用以存取所述共享存储器系统的未来请求的总线主控器;经配置以服务当前已调度的请求的存储器控制器;经配置以基于所述存储器控制器的当前已调度的请求的特性而预测等待时间的等待时间预测器;及经配置以至少部分基于所述所预测的等待时间而选择未来请求的至少一子集的仲裁器。又一示范性实施例是针对一种用于仲裁用于存取共享存储器的来自总线主控器的请求的处理系统,所述处理系统包含用于前瞻审视当前已调度的对所述共享存储器的存取的装置;用于基于当前已调度的存取的特性而预测来自总线主控器的请求的等待时间的装置;及用于至少部分基于所述所预测的等待时间而调度来自总线主控器的请求的装置。示范性实施例也是针对在处理系统中仲裁用于存取的共享存储器的来自总线主控器的请求的方法,所述方法包含用于前瞻审视当前已调度的对共享存储器的存取的步骤;用于基于当前已调度的存取的特性而预测来自总线主控器的请求的等待时间的步骤;及用于至少部分基于所述所预测的等待时间而调度来自总线主控器的请求的步骤。


呈现随附图式以有助于描述实施例,并且仅为了说明实施例且不作为对实施例的限制而提供所述随附图式。图I说明常规共享存储器系统。图2说明根据示范性实施例的具有基于存储器存取等待时间的对总线仲裁技术的改良的共享存储器系统。图3为描绘根据示范性实施例的本发明技术的流程图。
具体实施例方式在针对特定实施例的以下描述及相关图式中掲示本发明的方面。在不脱离本发明的范畴的情况下可设计出替代实施例。另外,将不详细描述或将省略各种实施例的众所周知的元件以使得不会混淆各种实施例的相关细节。词“示范性”在本文中用以意谓“充当实例、例子或说明”。不必将本文中描述为“示范性”的任何实施例解释为比其它实施例优选或有利。同样,术语“实施例”或“本发明的实施例”并不要求所有实施例包括所论述的特征、优势或操作模式。本文中使用的术语仅为实现描述特定实施例的目的,且并不希望限制各种实施例。如本文中所使用,単数形式“一”及“所述”希望也包括复数形式,除非上下文另外清楚地指示。应进一歩理解,术语“包含”、“包括”在本文中使用时指定所陈述的特征、整数、步 骤、操作、元件及/或组件的存在,但不排除ー个或ー个以上其它特征、整数、步骤、操作、元件、组件及/或其群组的存在或添加。另外,许多实施例是依据待由(例如)计算装置的元件执行的动作序列来描述。应认识到,本文中所描述的各种动作可由特定电路(例如,专用集成电路(ASIC))、由ー个或ー个以上处理器所执行的程序指令或由两者的组合来执行。另外,可认为本文中所描述的这些动作序列完全体现于任何形式的计算机可读存储媒体内,所述计算机可读存储媒体中存储有在执行时将引起相关联的处理器执行本文中所描述的功能性的计算机指令的对应集合。因此,本发明的各种方面可以许多不同形式体现,已预期其均在所主张的标的物的范畴内。另外,对于本文中所描述的实施例中的每ー者来说,任何这些实施例的对应形式可在本文中被描述为(例如)“经配置以”执行所描述的动作的“逻辑”。图I说明常规共享存储器系统100。总线主控器Ml至丽经由互连件102的媒介而发出存储器存取请求。总线仲裁器104根据例如循环调度或基于令牌的调度等技术来调度所述请求。受控器存储器控制器106通过与共享存储器资源(例如双倍数据速率(DDR)存储器108,如图所示)通信而服务已调度的请求。有时存储器控制器106维护ー队列,在服务已调度的事务之前将已调度的事务维持于所述队列中。总线仲裁器104可试图通过指派较高优先权给具有低等待时间要求的总线主控器而适应总线主控器Ml至MN的等待时间要求。然而,系统100在调度过程中未考虑已调度的事务的上下文或页未中所牵连的等待时间。根据本文中所描述的本发明技术,仲裁过程至少部分基于从当前已调度的存储器事务导出的等待时间预測。图2说明示范性实施例。除例如系统100等常规系统的组件外,存储器系统200还包括等待时间预测器205。等待时间预测器205将关于当前已调度的事务的信息传达到总线仲裁器204。如图所示,存储器控制器206包括命令队列210、重排序単元212及存储器队列214。下文将在非限制说明性实例的上下文中描述这些组件的操作及细节。假定初始条件未反映当前已调度的存储器事务。如先前所描述,总线仲裁器204接收来自总线主控器Ml至MN的存储器存取请求,且选择所述请求的至少一子集进行调度以供存储器存取。在所述实例中,仲裁器204选择待调度的来自M2、MO及M3的存储器请求。来自M2的请求经调度以首先得到服务,MO接着得到服务且M3最后得到服务。基于请求的存储器地址,已知服务这些请求将需要分别存取共享存储器208中的页P3、PO及P2。一般来说,所选择的请求进入命令队列210,经过重排序单元212且进入存储器队列214。存储器队列214为保持当前正得到服务的事务的集结区(staging area)。在服务存储器队列214中的事务会调出存储器208中的页PO的情况下,接着调度对页P2的请求(对应于M2)将导致页未中。一般所属领域的技术人员应理解,页未中导致额外延迟,且这些延迟尤其不利于具有低等待时间特性的总线主控器。然而,通过在命令队列210中将所选择的请求重排序,使得首先调度来自MO的请求,将需要存取页PO,从而导致页命中。重排序单元212执行不按从命令队列210接收所选择的请求的次序将所述请求重排序的功能,使得重排序将引起比按照来自命令队列210的次序服务所述请求低的等待时间。重排序单元212结合等待时间预测器205行动以用于在存储器控制器206中将所选择的请求重排序。
等待时间预测器205前瞻审视存储器队列214以确定当前正被服务的请求及存储器中的对应页。接着,等待时间预测器205检查命令队列210以确定命令队列210中的所选择的请求是否会引起页命中。如果存在此已调度的事务(例如,来自总线主控器MO的对页PO的请求),且其并非行列中的第一个,则重排序单元212将请求从行列中取出,且在存储器队列214中调度所述请求以接下来进行存储器存取。因此,基于页命中率在存储器控制器中将存储器存取的优先权指派给所选择的请求,从而引起低的总等待时间。在系统达到稳态操作模式时,其中所选择的请求的初始集合是在存储器控制器206的调度管线中,等待时间预测器205产生对于从总线主控器Ml至MN到总线仲裁器204的未来请求有用的信息。等待时间预测器205将关于受控器侧存储器控制器206中的事务的预期等待时间的信息传达到总线仲裁器204。总线仲裁器204现在配备有此信息来仲裁且调度来自总线主控器Ml至MN的未来存储器请求。总线仲裁器根据常规仲裁方案以及基于来自等待时间预测器205的信息的存储器请求的所预测的等待时间值来权衡指派给存储器请求的优先权值。针对每一存储器请求产生ー综合优先权值,且相应地调度存储器请求。应理解,对初始条件及稳态操作模式的以上描述仅为说明性目的,且系统不限于在等待预定数目的待调度的所选择请求之后才利用等待时间预测信息来仲裁未来请求。在又一示范性实施例中,等待时间预测器205还考虑关于读取请求与写入请求的信息以有助于平衡由受控器存储器控制器206服务的读取存取与写入存取。所属领域的技术人员应了解平衡系统总线上的读取业务与写入业务以有效率地管理负载的价值。图3说明描绘根据示范性实施例的稳态中的本发明技术的流程图。在方框302处,由总线主控器Ml至MN发出存储器存取请求。在方框304处,总线仲裁器204至少部分基于来自等待时间预测器205的等待时间预测而选择请求的至少一子集且指派优先权给所述请求。在方框305处,将所选择的请求发送到受控器存储器控制器206以用于调度。在方框306处,通过前瞻审视存储器队列214及命令队列210中的请求而确定如果接下来调度命令队列中调度的请求中的任一者所述请求是否会引起页命中。在方框307处,用此信息更新等待时间预测器205。如果确定不按次序调度来自命令队列的请求将引起页未中,则重排序单元不按次序地将所述请求发送到存储器队列以接下来进行调度(方框308)。另一方面,如果确定命令队列中的已调度的请求都不会引起页命中,则维持所述调度。在方框310处,在存储器队列214中集结存储器请求以用于存储器存取。所掲示的实施例通过促进存储器调度同时提供可调度的更多事务从而引起较少的存储器存取等待时间及更好的读取写入平衡而提供胜于常规仲裁方案的优势。因此,着眼于改良页命中率而调度请求的总线仲裁方案还改良了存储器系统的带宽利用。所属领域的技术人员应了解,可使用各种不同技术及技艺中的任一者来表示信息及信号。举例来说,可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示可遍及以上描述所引用的数据、指令、命令、信息、信号、位、符号及码片。另外,所属领域的技术人员应了解,结合本文中所掲示的实施例所描述的各种说明性逻辑块、模块、电路及算法步骤可实施为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件与软件的此可互換性,上文已大体上在功能性方面描述各种说明性组件、块、模块、电路及步骤。此功能性是实施为硬件还是软件视特定应用及强加于整个系统上的设 计约束而定。虽然所属领域的技术人员可对于每一特定应用以变化的方式实施所描述的功能性,但这些实施决策不应被解释为会引起脱离本发明的范畴。结合本文中所掲示的实施例所描述的方法、序列及/或算法可直接体现于硬件中、由处理器执行的软件模块中,或两者的组合中。软件模块可驻留于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可装卸磁盘、CD-ROM或此项技术中已知的任何其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息及将信息写入到存储媒体。在替代例中,存储媒体可与处理器形成一体。因此,实施例可包括一种计算机可读媒体,所述计算机可读媒体体现ー种用于总线仲裁以减少存储器存取等待时间的方法。因此,各种实施例不限于所说明的实例且用于执行本文中所描述的功能性的任何装置包括于各种实施例中。虽然前述掲示内容展示说明性实施例,但应注意,可在本文中进行各种改变及修改而不脱离如由所附权利要求书界定的本发明的范畴。无需以任何特定次序执行根据本文中所描述的实施例的方法权利要求的功能、步骤及/或动作。此外,虽然各种实施例的要素可用単数形式描述或主张,但预期复数形式,除非明确地陈述限于単数形式。
权利要求
1.一种在处理系统中仲裁来自总线主控器的存取共享存储器的请求的方法,所述方法包含前瞻审视当前已调度的对所述共享存储器的存取;基于所述当前已调度的存取的特性而预测来自总线主控器的所述请求的等待时间;及至少部分基于所述所预测的等待时间而调度来自总线主控器的所述请求。
2.根据权利要求I所述的方法,其中所述当前已调度的存取的所述特性为需要存取以便服务所述请求的所述共享存储器的一页。
3.根据权利要求I所述的方法,其中至少部分基于所述所预测的等待时间而调度来自总线主控器的所述请求包含调度来自总线主控器的所述请求以增加页命中率。
4.根据权利要求I所述的方法,其中至少部分基于所述所预测的等待时间而调度来自总线主控器的所述请求包含调度来自总线主控器的所述请求以平衡对所述共享存储器的读取事务与写入事务。
5.根据权利要求I所述的方法,其中至少部分基于所述所预测的等待时间而调度来自总线主控器的所述请求包含选择来自总线主控器的所述请求的子集。
6.根据权利要求5所述的方法,其进一步包含在开始存取所述共享存储器之前在计算系统的受控器侧将所述请求的所述所选择的子集重排序。
7.一种处理系统,其包含共享存储器系统;总线主控器,其经配置以产生用以存取所述共享存储器系统的未来请求;存储器控制器,其经配置以服务当前已调度的请求;等待时间预测器,其经配置以基于所述存储器控制器的当前已调度的请求的特性而预测等待时间;及仲裁器,其经配置以至少部分基于所述所预测的等待时间而选择所述未来请求的至少一子集。
8.根据权利要求7所述的处理系统,其中当前已调度的请求的所述特性为需要存取以便服务所述请求的所述共享存储器的一页。
9.根据权利要求7所述的处理系统,其中所述仲裁器经配置以至少部分基于所述所预测的等待时间而选择所述未来请求的至少一子集以使得所述所选择的子集增加页命中率。
10.根据权利要求7所述的处理系统,其中所述仲裁器经配置以至少部分基于所述所预测的等待时间而选择所述未来请求的至少一子集以使得所述所选择的子集平衡对所述共享存储器的读取事务与写入事务。
11.根据权利要求7所述的处理系统,其中所述存储器控制器进一步包含用于按照从所述仲裁器接收所述请求的次序而存储所述所选择的请求的命令队列;用于将存储于所述命令队列中的请求的次序重排序以使得增加页命中率的重排序单元及用于集结对所述共享存储器的当前存取的存储器队列。
12.一种用于仲裁来自总线主控器的存取共享存储器的请求的处理系统,所述处理系统包含用于前瞻审视当前已调度的对所述共享存储器的存取的装置;用于基于所述当前已调度的存取的特性而预测来自总线主控器的所述请求的等待时间的装置 '及用于至少部分基于所述所预测的等待时间而调度来自总线主控器的所述请求的装置。
13.根据权利要求12所述的处理系统,其中所述当前已调度的存取的所述特性为所述共享存储器的一页。
14.根据权利要求12所述的处理系统,其中用于至少部分基于所述所预测的等待时间而调度来自总线主控器的所述请求的装置包含用于调度来自总线主控器的所述请求以增加页命中率的装置。
15.根据权利要求12所述的处理系统,其中用于至少部分基于所述所预测的等待时间而调度来自总线主控器的所述请求的装置包含用于调度来自总线主控器的所述请求以平衡对所述共享存储器的读取事务与写入事务的装置。
16.根据权利要求12所述的处理系统,其进一步包含用于在开始存取所述共享存储器之前在计算系统的受控器侧将所述请求的所述所选择的子集重排序的装置。
17.—种在处理系统中仲裁来自总线主控器的存取共享存储器的请求的方法,所述方法包含用于前瞻审视当前已调度的对所述共享存储器的存取的步骤;用于基于所述当前已调度的存取的特性而预测来自总线主控器的所述请求的等待时间的步骤;及用于至少部分基于所述所预测的等待时间而调度来自总线主控器的所述请求的步骤。
18.根据权利要求17所述的方法,其中所述当前已调度的存取的所述特性为所述共享存储器的一页。
19.根据权利要求17所述的方法,其中用于至少部分基于所述所预测的等待时间而调度来自总线主控器的所述请求的步骤包含用于调度来自总线主控器的所述请求以增加页命中率的步骤。
20.根据权利要求17所述的方法,其中用于至少部分基于所述所预测的等待时间而调度来自总线主控器的所述请求的步骤包含用于调度来自总线主控器的所述请求以平衡对所述共享存储器的读取事务与写入事务的步骤。
21.根据权利要求17所述的方法,所述方法进一步包含用于在开始存取所述共享存储器之前在计算系统的受控器侧将所述请求的所述所选择的子集重排序的步骤。
全文摘要
本发明提供一种仲裁来自总线主控器的存取共享存储器的请求以便减少存取等待时间的方法,所述方法包含前瞻审视当前已调度的对所述共享存储器的请求;及基于所述当前已调度的请求的特性(例如增加页命中率或平衡读取业务与写入业务)而预测所述请求的等待时间。至少部分基于所述所预测的等待时间而调度所述请求。
文档编号G06F13/16GK102834816SQ201180018226
公开日2012年12月19日 申请日期2011年4月14日 优先权日2010年4月14日
发明者王风 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1