基于与流事务有关的信息来仲裁流事务的制作方法

文档序号:6362197阅读:167来源:国知局
专利名称:基于与流事务有关的信息来仲裁流事务的制作方法
技术领域
本发明的技术大体上涉及基于处理器的系统中的通信总线上的总线事务的仲裁。
背景技术
现代数字系统和基于处理器的设计通常采用通信总线。所述通信总线经配置以促进充当主控装置的装置或外围设备将通信发送到充当从属装置的接收外围设备或装置。举例来说,如果主控装置希望将读取请求发送到从属装置,那么主控装置在通信总线上提供包含地址和读取命令的控制信息。所述通信总线根据控制信息将所述命令引导到耦合到通信总线的适当从属装置。另外,耦合到通信总线的主控和从属装置可在单一芯片上与通信总线一起提供,以提供系统芯片(SOC)。SOC对于便携式电子装置尤其有用,因为便携式装置集成了多个子系统,所述多个子系统可在单一芯片上提供多个特征和应用。可为通信总线提供仲裁器以引导或仲裁从主控装置到耦合到通信总线的从属装置的总线事务。总线仲裁可例如防止总线事务冲突。举例来说,包括耦合到通信总线的计算机处理单元(CPU)、数字信号处理器(DSP)和直接存储器存取(DMA)控制器的系统均可存取也耦合到通信总线的共享存储器系统。仲裁器仲裁从这些装置到共享存储器系统的存储器存取请求,以使得在来自主控装置的竞争性请求之间分配总线资源。然而,需要仲裁器经配置以不消耗通信总线上的路由资源来处理来自一个主控装置的请求,消耗路由资源会引起其它主控装置的其它请求的等待时间的不可接受的增加。

发明内容
详细描述中所揭示的实施例包含用于基于与流事务有关的信息来仲裁流事务的装置、系统、方法和计算机可读媒体。流事务是用以促进有效的大批数据转移的突发存取类型的超集。与流事务有关的 目息在本文中还称“流事务 目息”。在本文所揭不的实施例中,提供一种仲裁器,其仲裁耦合到总线的争夺可通过总线存取的资源的多个装置之间的总线事务,所述总线可为总线互连件。为有效地仲裁在总线上请求的流事务,仲裁器经配置以使用与所述流事务有关的信息来提供总线上的未来总线业务的展望。举例来说,各流事务可具有用于完成的时间和/或其它优先级参数。仲裁器经配置以使用此流事务信息来评估和/或应用总线仲裁策略,从而仲裁所述流事务。在此实例中,如果有必要,可基于流事务信息调整或更改用于流事务的总线仲裁 策略,以使仲裁器试图满足用于完成流事务的参数。
在此方面,在一个实施例中,提供总线仲裁器。所述总线仲裁器包含控制器,所述控制器经配置以在总线上接收来自耦合到所述总线的装置的流事务。所述仲裁器仲裁总线上的所述流事务。为试图基于请求所述流事务的装置的参数来仲裁所述流事务,所述仲裁器中的控制器经配置以基于与所述流事务有关的信息来评估总线仲裁策略,以仲裁总线上的流事务。所述控制器还可进一步经配置以基于所述评估应用总线仲裁策略。在另一实施例中,提供一种仲裁在总线上传递的总线事务的方法。所述方法包含在总线上接收来自耦合到所述总线的装置的流事务。所述方法还包含在经配置以仲裁所述总线上的流事务的控制器处基于与流事务有关的信息来评估总线仲裁策略以用于仲裁总线上的流事务。所述方法还可进一步包括所述控制器基于所述评估应用总线仲裁策略。在另一实施例中,提供一种计算机可读媒体,其上存储有计算机可执行指令以致使仲裁器在总线上从耦合到所述总线的装置接收流事务。所述计算机可执行指令还致使所述仲裁器仲裁所述总线上的所述流事务的总线业务。所述计算机可执行指令还致使所述仲裁器基于与流事务有关的信息来评估总线仲裁策略以仲裁所述总线上的所述流事务。所述计算机可执行指令还可致使所述仲裁器基于所述评估应用总线仲裁策略。


图1为包含总线互连件和仲裁器的示范性系统的框图,所述仲裁器经配置以仲裁并路由多个主控装置与多个从属装置之间的事务;图2是响应于从主控装置到从属装置的流事务请求而来自从属装置的示范性流事务响应的框图;图3是说明仲裁器基于与未决流事务有关的信息来针对未决流事务评估并应用总线仲裁策略的示范性过程的流程图;图4是在图1的总线互连件中的主控装置与从属装置之间的通信路径中的示范性电路子系统的框图;图5是用于作为在总线互连件上传递的请求的部分的总线协议的示范性控制块的框图,所述总线协议支持流事务信息且可由图1的总线互连件支持;图6是在图5的示范性控制块中提供以识别请求主控装置的示范性主控装置识别字的框图;图7是在图5的示范性控制块中提供以支持图1的总线互连件上的流事务的示范性流识别符块的框图;图8是经配置以存储未决总线事务(包含图7的流识别符块)的示范性从属端口队列的图;图9是说明可由仲裁器执行以基于与流事务相关联的最后期限信息来针对流事务评估并应用总线仲裁策略的示范性过程的流程图;图10是说明可由仲裁器执行以在给定从属端口的两个或两个以上未决流事务具有相关联的最后期限时评估并应用总线仲裁策略的示范性过程的流程图;图11是说明对于示范性未决最后期限流事务的示范性可行性因子计算的图表;以及图12是可包含图1的总线互连件的示范性基于处理器的系统的框图。
具体实施例方式现参看图式,描述本发明的若干示范性实施例。词语“示范性”在本文中用以意味着“充当实例、例子或说明”。本文中被描述为“示范性的”任何实施例不必须被理解为比其它实施例优选或有利。详细描述中所揭示的实施例包含用于基于与流事务有关的信息来仲裁流事务的装置、系统、方法和计算机可读媒体。流事务是用以促进有效的大批数据转移的突发存取类型的超集。与流事务有关的 目息在本文中还称“流事务 目息”。在本文所揭不的实施例中,提供一种仲裁器,其仲裁争夺可通过总线存取的资源的多个装置之间的总线事务。为有效地仲裁在总线上请求的流事务,仲裁器经配置以使用与所述流事务有关的信息来提供总线上的未来总线业务的展望。举例来说,各流事务可具有用于完成的时间和/或其它优先级参数。仲裁器经配置以使用此流事务信息来评估和/或应用总线仲裁策略,从而仲裁所述流事务。在此实例中,如果有必要,可基于流事务信息调整或更改用于流事务的总线仲裁策略,以使仲裁器试图满足用于完成流事务的参数。在论述在图3处开始的基于与流事务有关的信息来评估并应用总线仲裁策略来仲裁流事务的实例之前,首先提供并论述图1和2。图1说明包含仲裁器12的示范性系统10,仲裁器12经配置以在总线互连件上接收并仲裁总线事务,包含流事务。在此实例中,在仲裁总线事务的仲裁器12中提供控制器13。例如存储器等计算机可读媒体15可包含于仲裁器12中以存储由控制器13执行以评估并应用总线仲裁策略并仲裁总线事务的指令。系统10包含经由通信总线18互连到一个或一个以上从属装置16 (O-N)的多个主控装置14 (O-M),通信总线18在本文中还称“总线互连件18”。作为实例,总线互连件18可由现场可编程门阵列(FPGA)、异步同步集成电路(ASIC)、控制器、可执行软件指令的微控制器或微处理器或其任何组合来提供。图1中将仲裁器12说明为在总线互连件18内部提供。或者,可在总线互连件18外部提供仲裁器12。总线互连件18可经 配置以允许连接到总线互连件18的主控装置14 (O-M)中的一者或一者以上与耦合到总线互连件18的一些或所有从属装置16 (O-N)通信。在此实施例中,总线互连件18经配置以允许连接到总线互连件18的主控装置14(0-Μ)中的一者或一者以上与耦合到总线互连件18的从属装置16(0-Ν)中的任一者通信。然而,总线互连件18可经配置以允许连接到总线互连件18的主控装置14(0-Μ)中的一者或一者以上与耦合到总线互连件18的从属装置16 (O-N)中的仅一者或子集通信。作为一实例,总线互连件18可提供于半导体裸片24中,且在需要时可提供于系统芯片(SOC)集成电路设计中。主控装置14(0-Μ)和从属装置16(0-Ν)分别经由在此实例中提供于总线互连件18中的主控端口20 (O-M)与从属端口 22 (O-N)连接到总线互连件18。仲裁器12可仲裁从主控装置14 (O-M)到从属装置16 (O-N)的多个总线事务请求。从属装置16 (O-N)可与主控装置14 (O-M)共享资源。主控装置14(0-Μ)和从属装置16(0-Ν)可为任何类型的所需的电子装置或子系统。如图1中所说明,主控装置H(O-M)可为任何类型的电子装置,包含(不限于)中央处理单元(CPU) 14(0)、数字信号处理器(DSP) 14(1)、控制提供到显示器26的信息的显示器处理器14(2),以及直接存储器存取(DMA)控制器14 (M)。DMA控制器14 (M)可充当主控装置14(M)与从属装置16(N)两者。从属装置16(0-N)的另一实例是也说明于图1中的存储器系统28。存储器系统28连接到总线互连件18以允许主控装置14(0-M)中的任一者将读取和写入存储器存取请求提供到存储器系统28中的存储器30,并接收读取和写入响应。在此方面,存储器系统28包含存储器控制器32,存储器控制器32将总线互连件18介接到存储器30,且控制响应于由主控装置14(0-M)经由总线互连件18提供的去往存储器系统28的存储器存取请求而到存储器30和从存储器30的数据的流动。如下文将更详细论述,将以控制块(CTRL_BL0CK)的形式提供的存储器存取信息提供到存储器控制器32以请求对存储器30的存储器存取事务。存储器总线34经提供以将存储器30介接到存储器控制器32,存储器控制器32包含若干芯片选择CS (O-A),针对每一存储器单兀36 (O-A)提供一个芯片选择CS (O-A)。每一存储器单兀36 (O-A)可为单独的存储器芯片。芯片选择CS(O-A)由存储器控制器32选择性地启用以使得能够存取含有所需存储器位置的存储器单元36 (O-A)。存储器控制器32 —次启用一个存储器单元36 (O-A)以避免数据冲突。图1的主控装置14(O-M)可将单拍或突发事务提供到总线互连件18以由连接到总线互连件18的从属装置16 (O-N)服务。图1的主控装置14 (O-M)还可将流事务提供到总线互连件18以由从属装置16 (O-N)服务。流事务可用以有效地移动大量数据。流事务可由用以提供作为单一事务请求的部分而转移较大量数据的突发超集组成。图2说明流事务的实例。在图2中的此实例中,存在两百五十六(256)个数据突发,其中每一突发包括四
(4)个数据拍(data beat)。从属装置16(0_N)响应于先前由主控装置14(0-M)向从属装置16 (O-N)请求的流事务而在总线互连件18上提供包括突发数据事务40的超集的数据流
38。举例来说,此实例中的主控装置14 (O-M)可为图1中的DMA控制器14 (M),其经配置以从存储器系统28接收大量数据并将其转移到耦合到DMA控制器14 (M)的其它装置。因为流事务可在比突发和数据拍事务长的时间周期内经由总线互连件18移动大量数据,因此路由流事务可在服务于其它总线事务中引入延迟。因此,为了有效地仲裁总线互连件18上的流事务而并不过度地导致其它总线事务违反其请求主控装置14 (O-M)所需的等待时间参数,本文提供的实施例允许仲裁器12基于与流事务有关的信息来评估总线仲裁策略以仲裁总线互连件18上的流事务。与流事务有关的信息向仲裁器12提供对总线互连件18上的总线业务的未来展望。举例来说,流事务可具有由请求主控装置14(0-M)提供的用于完成的时间和/或其它优先级参数。仲裁器12经配置以使用此流事务信息来评估总线仲裁策略,以用于仲裁所述流事务。仲裁器12还可经配置以基于所述评估应用总线仲裁策略。举例来说,如果有必要,可基于流事务信息调整或更改用于流事务的总线仲裁策略,以使仲裁器试图满足用于完成流事务的参数。在此方面,图3是说明可由图1的仲裁器12执行以基于与流事务有关的信息评估并应用总线仲裁策略的示范性过程的流程图。如此处所说明,仲裁器12的控制器13在总线互连件18上接收由主控装置14(0-M)请求的流事务(框42)。对流事务的请求包含流事务信息。控制器13可应用初始或默认总线仲裁策略来仲裁总线互连件18上的流事务(框44)。控制器13处理下一未决流事务(框46)。举例来说,多个流事务可待由耦合到总线互连件18的从属装置16 (O-N)完成。控制器13接着基于从最初请求流事务的主控装置H(O-M)接收的流事务信息来评估和/或应用用于未决流事务的总线仲裁策略(框48)。可采用不同的总线仲裁策略。所述过程重复,由此仲裁器12可连续地或以周期性间隔、动态地和/或逐个流事务地接收新流事务(框42)并处理未决的流事务(框46)。
如下文将于图9到11中关于由仲裁器12应用的实例总线仲裁策略所详细论述的,总线仲裁策略可基于是否有一个或一个以上流事务未决及给定从属装置16 (O-N)的一个或一个以上流事务是否具有完成的最后期限。在论述基于流事务信息评估并应用总线仲裁策略的进一步实例之前,下文提供且论述图4到8。图4到8提供与接收总线事务请求和有关信息(包含流事务信息)以及仲裁和路由从主控装置14 (O-M)到从属装置16 (O-N)的总线事务相关的额外示范性细节。
图4说明图1中的总线互连件18中的仲裁器12和路由资源的更详细实例。仲裁器12仲裁耦合到总线互连件18的主控装置14(0-M)与从属装置16(0-N)之间的总线事务(包含流事务)。如图4中所说明,主控装置14(0-M)与总线互连件18之间的通信经由耦合到主控端口 20 (O-M)的主控端口总线50 (O-M)而受到支持。类似地,从属装置16 (O-N)与总线互连件18之间的通信经由耦合到从属端口 22(0-N)的从属端口总线52 (O-N)而受到支持。总线互连件18包含计时电路(clocked circuitry),例如门(gate)、锁存器和寄存器,其可配置以设置所需主控装置14 (O-M)与所需从属装置16 (O-N)之间的通信路径。举例来说,如图4中所说明,说明总线互连件18中所提供的示范性组件,其可配置以提供主控装置14(0-M)中的一者与从属装置16(0-N)中的一者之间的通信路径。
继续参看图4,主控端口 20 (O-M)各自包含连接到主控端口总线50 (O-M)以从主控装置14 (O-M)接收总线事务的主控端口接口 53 (O-M)。主控端口队列54 (O-M)经提供以存储总线事务或命令,所述总线事务或命令被提供到仲裁器12以仲裁主控端口队列54 (O-M)与从属端口队列56(0-N)之间的总线事务。仲裁器12可包含与从属端口 22 (O-N)相关联的单独寻址仲裁器58 (O-N)以仲裁到从属装置16 (O-N)的总线事务,和与主控端口 20 (O-M)相关联的数据(读取/写入)仲裁器60 (O-M),以仲裁来自从属装置22 (O-N)的读取数据和写入完成响应。从属端口队列56(0-N)将总线事务提供到连接到从属端口总线52 (O-N)的从属端口接口 61 (O-N)。注意,尽管图4说明主控端口 20 (O-M)中的耦合到主控装置14 (O-M)中的一者的一个主控端口 20 (O-M)与从属端口 22 (O-N)中的耦合到从属装置16 (O-N)中的一者的一个从属端口 22 (O-N)之间的通信路径,但总线互连件18中提供的仲裁器58 (O-N)、60 (O-M)可经配置以仲裁可能由总线互连件18在主控端口 20 (O-M)与从属端口 22 (O-N)之间形成的通信路径。
继续参看图4,还可针对每一从属端口 22 (O-N)提供计数器62 (0_N)。计数器62 (O-N)分别对由从属端口接口 61 (O-N)完成的事务进行计数。计数器62 (O-M)可将计数信息64 (O-N)提供到仲裁器12,以使得仲裁器12可监控多拍事务(包含流事务)的完成进展。举例来说,仲裁器12可使用计数信息64 (O-N)来评估流事务的完成是提前、按时还是在最后期限之后,且对流事务应用总线仲裁策略来作出响应。
下文参看图9到11更详细地论述关于针对流事务评估并应用总线仲裁策略而监控流事务进展的实例。在论述这些实例之前,下文首先关于图5到8论述主控装置14 (O-M)将总线事务信息提供到总线互连件18以作为总线事务请求的部分的实例,所述总线事务信息可由仲裁器12用来仲裁总线事务,包含流事务。总线事务信息允许仲裁器12确定用于总线事务的总线仲裁策略,且将总线事务引导到适当从属装置16(0-N)。对于流事务,总线事务信息包含流事务信息,所述流事务信息被提供到仲裁器12以基于与流事务有关的信息来评估总线仲裁策略。在此方面,图5是用于由图1的总线互连件18支持的总线协议的示范性控制块(CTRL_BL0CK)70的框图,所述总线协议用以允许主控装置14(0_M)请求总线事务以提供用于所请求的总线事务的信息(包含流事务信息)。
参看图5,控制块70含有允许仲裁器12执行来自主控装置14(0-M)的事务请求的控制信息。举例来说,控制块70包含含有与到仲裁器12的总线事务请求的请求者(requestor)相关联的识别符的主控装置识别符(M_ID)72。仲裁器12使用主控装置识别符72来确定哪一主控装置14 (O-M)将接收从从属装置16 (O-N)接收的响应。在地址字段(ADDRESS) 74中提供将在从属装置16 (O-N)中寻址的地址(例如在从属装置16 (O-N)是存储器的情况下)。如果总线事务请求是存储器存取请求,那么在读取/写入字段(R/W) 76中提供存储器存取请求是读取事务还是写入事务。流识别符块(STREAM_ID_BLOCK) 78经提供以提供用于总线事务的流事务信息。
图6是示范性主控装置识别符72的框图,主控装置识别符72可由主控装置14(O-M)在总线事务请求中提供到总线互连件18。在此实例中,主控装置识别符72是10位字。上部两位(FpFci)含有构造识别符(fabric identifier)80,其允许识别特定存储器存取请求中所涉及的四⑷个不同构造。中间四位軋為為為)是主控装置识别符82,其识别主控装置H(O-M)。因此,在此实例中,可能有十六(16)个唯一的主控装置14(0-M)。接下来的两位(Sp S0)含有子主控装置识别符84,其识别耦合到所提供或适用的主控装置14(O-M)的子主控装置。因此,在此实例中,可能有四(4)个唯一的子主控装置。下部两位(ApAtl)含有属性识别符86,其可用以允许主控装置14 (O-M)和/或子主控装置提供所需的任何属性信息。举例来说,软件处理或线程的识别可提供于属性识别符86中以允许主控装置14 (O-M)和/或子主控装置识别负责存储器存取请求的软件进程或线程。所需的任何其它信息可包含于属性识别符86中。
图7是可用作图5中的控制块70中的流识别符块78的示范性流识别符块。流识别符块78含有与流事务有关的示范性信息,其被提供到图1的仲裁器12以允许仲裁器12基于与流事务有关的信息来评估总线仲裁策略以仲裁总线互连件18上的流事务。主控装置14(0-M)在请求总线互连件18上的流事务时提供流识别符块78中的信息。
继续参看图7,流识别符块78包含识别流事务的流识别符字段(STREAM_ID) 88。转移数目字段(N0_TRANSFERS)90提供与流事务相关联的突发转移的数目。拍数目字段(N0_BEATS) 92提供将针对每一突发转移执行的数据转移拍的数目。字节数目字段94 (N0_BYTES)提供将针对每一拍转移执行的数据字节的数目。字节数目字段94可取决于总线互连件18和从属装置16(0-N)的架构而为可配置的或固定的值。
如果存在与流事务相关联的最后期限,那么最后期限信息可存储于最后期限字段(DEADLINE)96中。举例来说,主控装置14(O-M)可请求在某一时序内完成特定流事务,所述时序可以根据时钟循环、拍或其它相对或绝对时序。还提供优先级字段(PRIORITY)98以允许优先级与流事务相关联。优先级字段98可为可配置的,以取决于设计而由主控装置14 (O-M)、仲裁器12或从属装置16 (O-N)供应和/或更改。任何此流信息可由仲裁器12用来针对流事务评估并应用总线仲裁策略以仲裁所述流事务。
图1中的仲裁器12接收来自包含图5中的控制块70的主控装置14(0_M)的总线事务请求。如先前所论述,响应于总线事务请求(包含流事务请求)而将来自从属装置16 (O-N)的总线事务响应放在从属端口队列56 (O-N)中。仲裁器12可基于存储在从属端口队列56 (O-N)中的流事务的流事务信息来评估总线仲裁策略以用于流事务响应。在此方面,图8是从属端口队列56 (O-N)的图,从属端口队列56 (O-N)由仲裁器12存取以支持基于图7中的流识别符块78来评估并应用总线仲裁策略以仲裁流事务。从属端口队列56(0-N)可提供于可由仲裁器12存取且在总线互连件18内部或外部的内部寄存器或其它存储器中。
如图8中所说明,从属端口队列56(0_N)包括经配置以保持零(O)到“X”数目个总线事务请求响应的表格。队列数目字段(QUEUE_N0)100用以为存储在从属端口队列56 (O-N)中的总线事务响应编索引。在此实例中,从属端口队列56(0-N)中的每一总线事务响应包含主控装置识别符字段72 (图5)以识别用以接收总线事务响应的主控装置14(0-M)。如果总线事务请求涉及请求数据,那么响应数据可存储在数据字段(DATA)102中。还针对每一存储器存取请求条目提供流识别符块78,以在总线事务请求是流事务的情况下存储流事务信息。
还提供剩余转移数目字段(NO_TRANS_REMAIN) 104以允许仲裁器12确定流事务的进展以用于评估并应用总线仲裁策略来用于总线事务响应。最初,仲裁器12基于转移数目字段90来设置剩余转移数目字段104,转移数目字段90是针对图7中的流识别符块78中的转移数目字段90中的流事务请求而提供。图4中说明的计数器62(0-N)对从从属装置16 (O-N)的针对未决流事务的已完成转移的数目进行计数,以减小剩余转移数目字段104。还提供等级字段(RANK) 106和权重字段(WEIGHT) 108以允许在由仲裁器12采用的总线仲裁策略中使用等级和/或权重来在竞争性流事务响应之间进行仲裁。作为非限制性实例,权重字段108可用于加权轮转总线仲裁策略中。作为另一非限制性实例,等级字段106可用于固定优先级总线仲裁策略中。可采用其它总线仲裁策略。
用于由主控装置14(0-M)向总线互连件18请求的流事务的参数中的一者可为在最后期限内完成流事务。如上文关于图7中的流识别符块78所论述,最后期限信息可包含于最后期限字段96中以请求在最后期限内完成流事务。在此方面,图9是说明可由图1的仲裁器12应用以评估用于具有相关联最后期限的未决流事务(“有最后期限的未决流事务”)的总线仲裁策略的示范性过程的流程图。所述过程可由仲裁器12基于存在于从属端口队列56(0-N)中的未决流事务而周期性地或连续地执行。举例来说,仲裁器12可基于在从属端口队列56 (O-N)中的存在次序而针对每一从属端口队列56 (O-N)中的每一未决流事务执行图9中的过程。
继续参看图9,仲裁器12确定针对下一有最后期限的未决流事务实际移动的数据量是否小于为了满足所述流事务的最后期限将要移动的数据(框110)。在此实例中,仲裁器12咨询从属端口队列56 (O-N)中的剩余转移数目字段104。如果针对下一有最后期限的未决流事务实际移动的数据量小于为了满足所述最后期限将要移动的数据,这意味着有最后期限的未决流事务基于所述流事务的预期数据转移速率在其最后期限之后。在此方面,仲裁器12确定在增加所述有最后期限的未决流事务的优先级的情况下是否可满足有最后期限的未决流事务最后期限(框112)。如果增加所述有最后期限的未决流事务的优先级可允许未决流事务满足其最后期限,那么仲裁器12可增加有最后期限的未决流事务在从属端口队列56(0-N)中的优先级(框114)。举例来说,增加有最后期限的未决流事务的优先级可包含改变在从属端口队列56 (O-N)中的优先级。举例来说,如图8中所说明,可更新等级字段106和/或权重字段108以增加有最后期限的未决流事务在总线仲裁策略中的优先级。作为非限制性实例,等级字段106可用于固定优先级总线仲裁策略中。作为另一非限制性实例,权重字段108中的权重可用于加权轮转总线仲裁策略中。
如果增加有最后期限的未决流事务的优先级将不允许仲裁器12满足有最后期限的未决流事务的最后期限,那么仲裁器12可终止所述有最后期限的未决流事务(框116)。在此方面,仲裁器12可从从属端口队列56 (O-N)移除所述有最后期限的未决流事务。仲裁器12可接着针对未决流事务执行错误处置过程以向最初请求有最后期限的流事务的主控装置H(O-M)指示终止状态(框118)。注意,终止并移除有最后期限的未决流事务可从总线互连件18移除不必要使用的带宽,从而增加总线互连件18的性能。
如果在框110中的决策中,仲裁器12确定针对有最后期限的未决流事务实际移动的数据量不小于为了满足有最后期限的未决流事务的最后期限将要移动的数据,那么仲裁器12确定针对有最后期限的未决流事务实际移动的数据量大于为了满足最后期限将要移动的数据(框120)。如果如此,那么仲裁器12可降低有最后期限的未决流事务的优先级(框122),以使得包含其它未决流事务的其它未决总线事务可接收由总线互连件18中的路由资源进行的更多处理时间。如果并非如此,那么仲裁器12并不调整有最后期限的未决流事务的优先级,且检视下一有最后期限的未决流事务(框110)。
可连续地执行检视有最后期限的未决流事务及调整由仲裁器12应用的总线仲裁策略以作出响应的过程。所述过程还可对于每一有最后期限的未决流事务的周期性完成间隔(也称“流水印”)(例如,以完成25%、完成50%,及完成75%,或其它间隔)来执行。可基于查阅有最后期限的未决流事务和在必要时相应地更新其总线仲裁策略所需的粒度来提供所使用的流水印的数目。
如果对于给定从属端口 22 (O-N)只有一个未决流事务有最后期限,那么仲裁器12可根据图9的示范性过程将优先级给予所述有最后期限的未决流事务。然而,如果对于给定从属端口 22 (O-N)有两个或两个以上未决流事务具有最后期限,那么仲裁器12在所述有最后期限的未决流事务之间确定优先级。在此方面,图10是说明可由仲裁器12执行以在给定从属端口 22 (O-N)的两个或两个以上未决流事务具有相关联的最后期限时评估总线仲裁策略的示范性过程的流程图。可连续地或按对于有最后期限的未决流事务所指定的流水印来针对每一从属端口队列56(0-N)执行图10中的过程。如图10中所说明,仲裁器12针对每一从属端口 22 (O-N)确定是否对于给定从属端口 22 (O-N)有两个或两个以上未决流事务具有相关联的最后期限(框130)。如果没有,那么所述过程结束(框132)。如果对于给定从属端口 22 (O-N)有两个或两个以上未决流事务具有相关联的最后期限,那么在此实例中,仲裁器12针对从属端口队列56 (O-N)中的每一有最后期限的未决流事务计算可行性因子(框134)。
可行性因子用以确定有最后期限的未决流事务在其最后期限内完成的可行性。可采用任何可行性因子,且其可为取决于特定实施方案的任意计算。在此实例中,可行性因子是完成有最后期限的未决流事务所剩余的时间和对于有最后期限的未决流事务所剩余的转移数目的函数。举例来说,在完成对有最后期限的未决流事务的转移时,由仲裁器12更新从属端口队列56 (O-N)中的剩余转移数目字段104。
如果给定有最后期限的未决流事务的可行性因子指示在最后期限前完成是不可能的(框136),那么仲裁器12可终止所述未决流事务(框138)。可执行错误处置过程以向请求被终止的流事务的主控装置14 (O-M)指示流事务已在完成之前被终止(框140)。如果确定完成有最后期限的未决流事务是可行的(框136),那么仲裁器12可基于可行性因子改变或调整用于有最后期限的未决流事务的总线仲裁策略(框142)。作为非限制性实例,仲裁器12可将总线仲裁策略从加权轮转总线仲裁策略改变为固定优先级方案,或反之亦然。一旦给定从属端口 22(0-N)从处置多个有最后期限的未决流事务转变为仅一个有最后期限的未决流事务,那么仲裁器12可返回到基于图9中的过程(作为非限制性实例)来评估对有最后期限的未决流事务的总线仲裁策略。
图11是用以说明可由仲裁器12用以确定完成有最后期限的未决流事务的可行性的示范性可行性因子的图表144。在此实例中,展示六(6)个有最后期限的未决流事务,图表144的每一行中一个。用于每一有最后期限的未决流事务的在时钟循环方面所剩余的时间展示于剩余时间(Tk)栏146中。每一有最后期限的未决流事务所剩余的事务数目展示于事务数目(Xk)栏148中。针对每一有最后期限的未决流事务所计算以确定总线仲裁策略的可行性因子展示于可行性因子(Ff)栏150中。
继续参看图11中的实例,如果用于有最后期限的未决流事务的剩余时间(Tk)小于用于所述有最后期限的未决流事务的剩余转移数目(Xk),那么将可行性因子确定为“O”。这意味着完成有最后期限的未决流事务是不可能或不可行的。如果用于有最后期限的未决流事务的剩余时间(Tk)与用于所述有最后期限的未决流事务的剩余转移数目(Xk)相同,那么将可行性因子确定为“I”。在此情况下,完成有最后期限的未决流事务仍然可行。如果用于有最后期限的未决流事务的剩余时间(Tk)大于用于所述有最后期限的未决流事务的剩余转移数目(Xk),那么将可行性因子确定为Τκ-Χκ。
注意,仲裁器12可经配置以在对于给定从属端口 22(0_Ν)只有一个未决流事务有最后期限时才计算可行性因子,如图9中所提供。如果可行性因子指示在最后期限内完成有最后期限的未决流事务是不可行的,那么仲裁器12可及早终止所述有最后期限的未决流事务。终止并移除有最后期限的未决流事务可从总线互连件18移除不必要使用的带宽,从而增加总线互连件18的性能。
注意,每当确定有最后期限的未决流事务无法在其最后期限前完成或在其最后期限前完成是不可行的时,除了终止流事务之外,还可采取其它行动。举例来说,可将流事务的终止记录于校验子寄存器(syndrome register)中。作为另一非限制性实例,流事务的终止可作为中断被路由到系统10中的可采取适当动作的一个或一个以上智能系统代理,包含(不限于)主控装置14(0-M)。所传递的关于被终止的流事务的消息可由仲裁器12嵌入于响应通道中。
注意,本文的总线仲裁策略实例可根据需要单独提供或以任何组合一起提供。而且,本文揭示的任一或所有总线仲裁策略可由仲裁器12中的电路实行,所述电路可包含或可不包含控制器13,且所述电路可执行或可不执行如图1中所说明的计算机可读媒体15中的软件指令。其它总线仲裁策略可由仲裁器12用以基于与流事务有关的信息来针对流事务评估和/或应用总线仲裁策略。
根据本文所揭示的实施例的用于基于与流事务有关的信息来仲裁流事务的装置、系统、方法和计算机可读媒体可提供于或集成于任何基于处理器的装置中。非限制性实例包含机顶盒、娱乐单元、导航装置、通信装置、固定位置数据单元、移动位置数据单元、移动电话、蜂窝式电话、计算机、便携式计算机、桌上型计算机、个人数字助理(PDA)、监视器、计算机监视器、电视机、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频光盘(DVD)播放器,和便携式数字视频播放器。
在此方面,图12说明可采用图11所说明的系统10的组件的基于处理器的系统160的实例。在此实例中,基于处理器的系统160包含一个或一个以上中央处理单元(CPU) 162,每一 CPU162包含一个或一个以上处理器164。CPU162可为主控装置。CPU162可具有耦合到处理器164以用于快速存取临时存储的数据的高速缓冲存储器166。CPU162耦合到系统总线170,且将包含于基于处理器的系统160中的主控装置与从属装置相互耦合。系统总线170可为总线互连件,与图1中所说明的总线互连件18—样。如众所周知,CPU162通过经由系统总线170交换地址、控制和数据信息而与这些其它装置通信。举例来说,CPU162可将总线事务请求传递到作为从属装置的实例的存储器控制器32。尽管未在图12中说明,但可提供多个系统总线170,其中每一系统总线170构成一不同构造。
其它主控装置和从属装置可连接到系统总线170。如图12中所说明,这些装置可包含(作为实例)存储器系统28、一个或一个以上输入装置174、一个或一个以上输出装置176、一个或一个以上网络接口装置178,和一个或一个以上显示器控制器180。输入装置174可包含任何类型的输入装置,包含(但不限于)输入键、开关、语音处理器等。输出装置176可包含任何类型的输出装置,包含(但不限于)音频、视频、其它视觉指示器等。网络接口装置178可为经配置以允许交换去往和来自网络182的数据的任何装置。网络182可为任何类型的网络,包含(但不限于)有线或无线网络、私人或公共网络、局域网(LAN)、广局域网(WLAN),和因特网。网络接口装置178可经配置以支持所需的任何类型的通信协议。存储器系统28可包含一个或一个以上存储器单元36 (O-A)。仲裁器12可提供于系统总线170与耦合到系统总线170的主控装置和从属装置(例如提供于存储器系统28中的存储器单元36 (O-A))之间。
CPU162还可经配置以经由系统总线170存取显示器控制器180以控制发送到一个或一个以上显示器184的信息。显示器控制器180经由一个或一个以上视频处理器186将信息发送到显示器184以进行显示,处理器186将待显示的信息处理成适于显示器184的格式。显示器184可包含任何类型的显示器,包含(但不限于)阴极射线管(CRT)、液晶显示器(IXD)、等离子显示器等。
CPU162和显示器控制器180可充当主控装置以经由系统总线170作出对仲裁器12的存储器存取请求。CPU162和显示器控制器180内的不同线程可作出对仲裁器12的请求。CPU162和显示器控制器180可如前所述将主控装置识别符72提供到仲裁器12以作为总线事务请求的部分。
任何类型的主控装置14 (O-M)和从属装置16 (O-N)可用于基于处理器的系统160中以请求并响应于流事务。作为非限制性实例,如果请求有最后期限的流事务的主控装置14 (O-M)是如图12中所说明的DMA控制器14 (M),那么DMA控制器14 (M)可利用描述符字段中提供的任何必要的最后期限参数来解析描述符。可向CPU162所进行的描述设置提供最后期限参数。DMA控制器14 (M)可稍后解析此最后期限参数,并经由系统总线170来广播此最后期限以作为新流事务请求的部分。在此方面,作为一实例,最后期限参数可由DMA控制器14(M)提供于图7中的流识别符块78中的最后期限字段96中。在流事务转移的整个过程中,仲裁器12可动态地调整用于流事务的总线仲裁策略,以试图实现由描述符传达的最后期限。
所述领域的技术人员将进一步了解,结合本文所揭示的实施例而描述的各种说明性逻辑块、模块、电路和算法可实施为电子硬件、存储在存储器或另一计算机可读媒体中且可由处理器或其它处理装置执行的指令,或两者的组合。本文描述的仲裁器、主控装置、子主控装置和从属装置可(作为实例)用于任何电路、硬件组件、集成电路(IC)或IC芯片中。本文所揭示的存储器可为任何类型和大小的存储器,且可经配置以存储任何类型的所需信息。为清楚地说明此互换性,上文已大致关于其功能性而描述了各种说明性组件、块、模块、电路及步骤。实施所述功能性的方式取决于特定应用、设计选择和/或强加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但所述实施方案决定不应被解释为会导致脱离本发明的范围。
可利用经设计以执行本文所描述的功能的处理器、DSP、专用集成电路(ASIC)、FPGA或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行结合本文中所揭示的实施例而描述的各种说明性逻辑块、模块和电路。处理器可为微处理器,但在替代例中,处理器可为任何常规的处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器的组合、一个或一个以上微处理器与DSP核心的联合,或任何其它此配置。
本文所揭示的实施例可体现于硬件和存储在硬件中的指令中,且可驻留在例如随机存取存储器(RAM)、闪存存储器、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、寄存器、硬盘、可装卸磁盘、CD-ROM,或此项技术中已知的任何其它形式的计算机可读媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息并将信息写入到存储媒体。在替代方案中,存储媒体可与处理器成一体式。处理器及存储媒体可驻留于ASIC中。ASIC可驻留在远程站中。在替代例中,处理器和存储媒体可作为离散组件驻留在远程站、基站或服务器中。
还应注意,本文中的示范性实施例中的任一者中所描述的操作步骤经描述以提供实例和论述。所描述的操作可以不同于所说明顺序的众多不同顺序执行。另外,单个操作步骤中所描述的操作实际上可在许多不同步骤中执行。另外,示范性实施例中所论述的一个或一个以上操作步骤可进行组合。应理解,如所属领域的技术人员将容易了解的,流程图中所说明的操作步骤可经受众多不同修改。所属领域的技术人员还将理解,可使用多种不同技术和技艺中的任一者来表不信息和信号。举例来说,可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示贯穿以上描述所参考的数据、指令、命令、信息、信号、位、符号及码片。
提供本发明的先前描述以使所属领域的技术人员能够制造或使用本发明。所属领域的技术人员将容易了解对本发明的各种修改,且本文中界定的一般原理可应用于其它变化而不背离本发明的精神或范围。因此,不希望本发明限于本文中描述的实例和设计,而是将赋予其与本文中揭示的原理和新颖特征相一致的最广范围。
权利要求
1.一种总线仲裁器,其包括: 控制器,其经配置以在总线上接收来自耦合到所述总线的装置的流事务,并仲裁所述总线上的所述流事务; 其中所述控制器经配置以基于与所述流事务有关的信息来评估总线仲裁策略以仲裁所述总线上的所述流事务。
2.根据权利要求1所述的总线仲裁器,其中所述控制器进一步经配置以基于所述评估应用总线仲裁策略。
3.根据权利要求1所述的总线仲裁器,其中所述控制器进一步经配置以基于所述评估应用默认总线仲裁策略。
4.根据权利要求1所述的总线仲裁器,其中与所述流事务有关的所述信息为选自由以下各者组成的群组的信息:主控装置识别符、流识别符、与所述流事务相关联的优先级,和与所述流事务相关联的最后期限。
5.根据权利要求1所述的总线仲裁器,其中所述总线仲裁策略包括用于仲裁流事务的优先级方案。
6.根据权利要求5所述的总线仲裁器,其中所述优先级方案选自由对所述流事务评级和对所述流事务加权组成的群组。
7.根据权利要求1所述的总线仲裁器,其中所述控制器经配置以在所述流事务未决期间基于与所述流事务有关的所述信息连续地评估用于所述流事务的所述总线仲裁策略。
8.根据权利要求1所述的总线仲裁器,其中所述控制器经配置以基于与所述流事务相关联的最后期限来评估所述总线仲裁策略。`
9.根据权利要求8所述的总线仲裁器,其中与所述流事务相关联的所述最后期限被嵌入于与所述流事务相关联的直接存储器存取DMA描述符中。
10.根据权利要求8所述的总线仲裁器,其中所述控制器经配置以在与所述流事务相关联的所述最后期限内以周期性间隔来评估所述总线仲裁策略。
11.根据权利要求8所述的总线仲裁器,其中所述控制器经配置以在针对所述流事务转移的数据量在与所述流事务相关联的所述最后期限之前的情况下降低所述流事务的优先级。
12.根据权利要求8所述的总线仲裁器,其中所述控制器经配置以在针对所述流事务转移的数据量在与所述流事务相关联的所述最后期限之后的情况下增加所述流事务的优先级。
13.根据权利要求8所述的总线仲裁器,其中所述控制器经配置以在无法满足与所述流事务相关联的所述最后期限的情况下终止所述流事务。
14.根据权利要求1所述的总线仲裁器,其中所述控制器经配置以基于具有最后期限的多个流事务来评估所述总线仲裁策略。
15.根据权利要求14所述的总线仲裁器,其中所述控制器进一步经配置以确定所述多个流事务中的每一者的可行性因子以评估用于所述多个流事务的所述总线仲裁策略。
16.根据权利要求14所述的总线仲裁器,其中所述控制器进一步经配置以基于针对所述多个流事务中的每一者确定的所述可行性因子来调整所述多个流事务的优先级。
17.根据权利要求1所述的总线仲裁器,其被集成到半导体裸片中。
18.根据权利要求1所述的总线仲裁器,其进一步包括选自由以下各者组成的群组的装置:机顶盒、娱乐单元、导航装置、通信装置、固定位置数据单元、移动位置数据单元、移动电话、蜂窝式电话、计算机、便携式计算机、桌上型计算机、个人数字助理PDA、监视器、计算机监视器、电视机、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频光盘DVD播放器,和便携式数字视频播放器,所述总线仲裁器被集成到所述装置中。
19.一种仲裁在总线上传递的流事务的方法,其包括: 在总线上接收来自耦合到所述总线的装置的流事务; 在经配置以仲裁所述总线上的流事务的控制器处基于与所述流事务有关的信息来评估总线仲裁策略以用于仲裁所述总线上的所述流事务。
20.根据权利要求19所述的方法,其进一步包括所述控制器基于所述评估应用总线仲裁策略。
21.根据权利要求19所述的方法,其进一步包括所述控制器基于所述评估应用默认总线仲裁策略。
22.根据权利要求19所述的方法,其中评估所述总线仲裁策略是基于所述流事务的优先级。
23.根据权利要求19所述的方法,其进一步包括在所述流事务未决期间基于与所述流事务有关的所述信息连续地评估用于所述流事务的所述总线仲裁策略。
24.根据权利要求19所述的方法,其中评估所述总线仲裁策略是基于与所述流事务相关联的最后期限。`
25.根据权利要求24所述的方法,其中将与所述流事务相关联的所述最后期限嵌入于与所述流事务相关联的直接存储器存取DMA描述符中。
26.根据权利要求24所述的方法,其进一步包括在与所述流事务相关联的所述最后期限内以周期性间隔评估所述总线仲裁策略。
27.根据权利要求24所述的方法,其进一步包括在针对所述流事务转移的数据量在与所述流事务相关联的所述最后期限之前的情况下降低所述流事务的优先级。
28.根据权利要求24所述的方法,其进一步包括在针对所述流事务转移的数据量在与所述流事务相关联的所述最后期限之后的情况下增加所述流事务的优先级。
29.根据权利要求24所述的方法,其中评估所述总线仲裁策略是基于具有最后期限的多个流事务。
30.根据权利要求29所述的方法,其进一步包括确定所述多个流事务中的每一者的可行性因子以评估用于所述多个流事务的所述总线仲裁策略。
31.根据权利要求30所述的方法,其进一步包括基于针对所述多个流事务中的每一者确定的所述可行性因子来调整所述多个流事务的优先级。
32.—种上面存储有计算机可执行指令的计算机可读媒体,所述计算机可执行指令致使总线仲裁器: 在总线上接收来自耦合到所述总线的装置的流事务,且仲裁所述总线上的所述流事务;以及 基于与所述流事务有关的信息来评估总线仲裁策略以仲裁所述总线上的所述流事务。
33.根据权利要求32所述的计算机可读媒体,其中所述计算机可执行指令进一步致使所述仲裁器基于所述评估应用总线仲裁策略。
34.根据权利要求32所述的计算机可读媒体,其中所述计算机可执行指令进一步致使所述仲裁器基于所述评估应用默认总线仲裁策略。
35.根据权利要求32所述的计算机可读媒体,其中所述总线仲裁策略包括用于仲裁流事务的优先级方案。
36.根据权利要求32所述的计算机可读媒体,其中所述计算机可执行指令进一步致使所述仲裁器在所述流事务未决期间基于与所述流事务有关的所述信息连续地评估用于所述流事务的所述总线仲裁策略。
37.根据权利要求32所述的计算机可读媒体,其中所述计算机可执行指令致使所述仲裁器基于与所述流事务相关联的最后期限评估所述总线仲裁策略。
38.根据权 利要求32所述的计算机可读媒体,其中所述计算机可执行指令致使所述仲裁器基于具有最后期限的多个流事务评估所述总线仲裁策略。
全文摘要
本发明揭示用于基于与流事务有关的信息来仲裁流事务的装置、系统、方法和计算机可读媒体。流事务是用以促进有效的大批数据转移的突发存取类型的超集。在一个实施例中,提供一种仲裁器,其仲裁耦合到总线的争夺可通过所述总线存取的资源的多个装置之间的总线事务。为有效地仲裁在所述总线上请求的流事务,所述仲裁器经配置以使用与所述流事务有关的信息来提供所述总线上的未来总线业务的展望。所述仲裁器经配置以使用此流事务信息来应用总线仲裁策略来用于仲裁流事务。在此实例中,如果有必要,可基于所述流事务信息调整用于流事务的所述总线仲裁策略,以使所述仲裁器试图满足用于完成所述流事务的参数。
文档编号G06F13/362GK103201728SQ201180053070
公开日2013年7月10日 申请日期2011年10月10日 优先权日2010年10月8日
发明者马丁·瑞安·雪伦, 理查德·杰拉尔德·霍夫曼, 马克·迈克尔·谢弗 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1