基于传送方向及耗用带宽的加权总线仲裁的制作方法

文档序号:6569231阅读:164来源:国知局

专利名称::基于传送方向及耗用带宽的加权总线仲裁的制作方法
技术领域
:本发明一般来说涉及处理器领域,且更特定来说涉及一种考虑数据传送方向及总线信道带宽耗用的总线仲裁方法。
背景技术
:便携式电子装置的复杂性及计算能力持续增加,从而向用户提供日益增加的功能性。现代便携式电子装置可包括无线数据及语音通信;摄影及视频捕获和重放;位置确定及地理路由;具有复杂图形的游戏;高保真音频接收及重放;及诸如此类。在不远的将来,预期便携式电子装置能够支援普遍存在的特别数据通信(例如,正EE802.11、蓝牙及类似通信)、虚拟现实用户接口、及诸多其他进步。在许多情况下,此种多样功能性是用一个或一个以上主处理器再加上专用处理电路来实施的。举例来说,图形协处理器、MPEG视频编码/解码器、GPS接收处理器及/或其他专用处理器可驻留于便携式电子装置中,且可共享系统资源(例如,存储器、用户接口元件及诸如此类)。在功能单元之间有效传送数据是包括便携式电子装置在内的任何数字系统的基本操作。将一程序从磁盘传送到处理器的存储器;将数据从图形引擎发送到视频显示电路的帧缓冲器;且将输入从键盘、鼠标或触摸式屏幕发送到处理器均是计算系统内数据传送的常见实例。图1描绘熟知的系统总线体系结构(其一般由数字10指示)的简化图。系统总线12使各系统单元互连。系统总线12可包括地址、数据及控制信道,且可这些双向(例如,读及写)数据传送。主装置(例如,CPU14或DMA引擎16)起始跨越一个或一个以上总线12往来于从装置(例如,存储器18及输入/输出电路20)的数据传送(本文中称作总线事务)。当两个或两个以上独立主装置14、16连接至总线12时,仲裁器22控制其对所述总线的接入。如此项技术中已知,一个或一个以上主装置14、16向仲裁器22断言总线请求。仲裁器22监视总线12上的活动,且当总线12变得可用时,向请求主装置14、16中的一者发送总线准许。然后,经准许的主装置14、16可起始跨越总线12的一个或一个以上信道的事务,例如,定向到一个或一个以上从装置18、20的读取或写入循环。诸多总线仲裁算法在此项技术中是已知的。2004年4月27日提出申请的同在申请中的第10/833,716,号美国专利申请案揭示了一种其中初始给每一主装置指派一可编程加权的总线仲裁方案,第10/833,716,号美国专利申请案受让于本发明受让人且以全文应用的方式并入本文中。当每一主装置均被准许接入所述总线时,其加权寄存器会递减,从而有效地降低所述主装置相对于其他具有未决请求的主装置的请求优先权。所述仲裁器实施加权循环仲裁算法,其中具有较高加权的主装置所具有的优先权超过具有较低加权的主装置,而在具有相同加权的主装置中则循环选择。一旦所有主装置已将其加权寄存器递减至零,即刻在加权间隔的持续时间期间实施公平的循环仲裁,再所述加权间隔到期时所有主装置均被重新指派其初始的可编程加权。在一个实施例中,可界定两个或两个以上主装置层。可以比较低层主装置的频率高的频率更新较高层主装置的可编程加权。因此,由于在所述加权间隔期间当准许每一主装置一总线事务循环时所述主装置的加权递减,因此可更频繁地将所述较高层主装置重设至其初始加权,从而有效地赋予所述较高层主装置总体较高的优先权。此仲裁方案对于以一公正方式在多个主装置中共享总线资源是有效的。仅偶尔接入所述总线的主装置会保持较高的优先权,而执行大量总线事务的装置则会快速地耗尽其相对优先权。然而,主装置所执行的总线事务的数量仅是对所述主装置所耗用的可用总线带宽的粗略概算。举例来说,一包括十六个数据传送循环或"节拍"(beat)(即,对于64-位数据总线为128个字节)的读取突发所耗用的总线带宽远大于仅需一个总线节拍的字节读取所耗用的总线带宽。然而,上述仲裁方案将在任一情形下使主装置的加权寄存器递减相同的量。另外,现代高性能总线可包括独立的读取及写入总线信道,其中主装置以不同的量利用所述读取及写入信道。由于上述仲裁算法考虑主装置正使用哪一个信道,因此其仲裁加权方案并不能准确地反映主装置的实际总线带宽耗用。
发明内容在一个或一个以上实施例中,总线仲裁算法通过考虑总线事务的方向及/或所述总线事务所耗用的总线信道带宽来精确地控制指派给每一主装置的相对总线信道带宽。至少一个加权寄存器与每一主装置相关联;在一个实施例中,每一总线信道一个加权寄存器。周期性地给寄存器加载可用总线带宽的比例份额。一旦被准许在总线信道上进行总线事务,使对应的加权寄存器递减一反映所述事务所耗用总线信道带宽的量,所述量是以所传送的数据量或完成所述事务所需的总线数据传送循环数量来测量的。在均等初始分配相对带宽份额的情况下,耗用总线信道带宽的主装置将具有相对低的优先权;不耗用总线信道带宽的主装置保持相对高的优先权。一个实施例涉及一种在多个主装置之间实施总线仲裁的方法。给每一主装置分配总线带宽的一比例份额。通过响应所述主装置所实施总线事务的长度递减其所分配份额来追踪每一主装置所耗用的总线带宽。每一主装置的剩余带宽份额用作仲裁中所述总线的优先权。另一实施例涉及一种在具有分离的传输及接收信道的总线上的多个主装置之间实施仲裁的方法。针对所述传输及接收信道将仲裁优先权独立地指派给每一主装置。响应于每一主装置在每一相应信道上所实施的总线事务而独立地递减所述主装置的传输及接收信道优先权。再一实施例涉及一种在具有单独传输及接收信道的总线上的多个主装置之间实施仲裁的方法,其中每一主装置均与对应于每一信道的加权寄存器相关联。与每一主装置相关联的传输信道加权寄存器及接收信道加权寄存器在各自信道上加载有带宽的相对比例份额。基于所述加权寄存器的内容所反映的当前带宽份额,在多个请求总线信道上总线事务的主装置之间实施仲裁。当主装置被准许接入总线信道时,使对应于所述信道的与经准许的主装置相关联的加权寄存器递减经准许总线事务中所耗用的总线信道带宽。又一实施例涉及一种电子装置。所述装置包括一数据传送总线、至少两个以数据传送关系连接至所述总线的主装置、及至少一个以数据传送关系连接至所述总线的从装置。所述装置还包括与每一主装置相关联的仲裁优先权寄存器,所述仲裁优先权寄存器操作以被加载初始值且操作以响应于主装置被准许在所述总线上进行总线事务而递减反映所述总线事务所耗用总线带宽的量。所述装置另外包括总线仲裁器,所述总线仲裁器操作以将所述总线准许给在其相关联仲裁优先权寄存器中具有最高值的请求主装置。又一实施例涉及一种电子装置,所述电子装置包括至少两个主装置及至少一个从装置。所述装置包括传输总线信道,其操作以将信息从主装置传送至从装置;及接收总线信道,其操作以将信息从从装置传送至主装置。所述装置还包括用于与每一主装置相关联的每一传输及接收总线信道的仲裁优先权寄存器。所述仲裁优先权寄存器操作以被加载初始值且操作以响应于主装置被准许在各自总线信道上进行总线事务而递减。所述装置进一步包括总线仲裁器,所述总线仲裁器操作以将总线信道准许给在其用于所述信道的相关联仲裁优先权寄存器中具有最高值的请求主装置。图1是现有技术总线的框图;图2是电子装置的功能框图。图3是可縮放总线体系结构的框图。图4是实施所述可缩放总线体系结构的单片计算机的框图。图5是总线仲裁方法的流程图。具体实施例方式图2描绘电子装置100,其具有四个主装置处理器102、图形协处理器104、DMA引擎106、及MPEG编码/解码引擎108。所描绘的主装置仅为代表性,且电子装置100可包括任何数量的具有不同功能性的主装置。主装置102,104,106,108从例如存储器110及I/O电路112等代表性从装置中进行读取且对例如存储器110及I/O电路112等代表性从装置进行写入。数据跨越通常由115所指示的系统总线在主装置与从装置之间传送。在图2中所描绘的实施例中,系统总线115包括写入总线信道114,所述写入总线信道将数据从主装置102、104、106、108传送至从装置110、112。系统总线115还另外包括读取总线信道116,所述读取总线信道将数据从从装置110、112传送至主装置102、104、106、108。为清楚起见,图2中省却了单独的地址及控制信号信道。系统总线115划分成写入信道114及读取信道116仅为代表性而并非限定性。举例来说,可将所述地址信道(未显示)与写入信道114统一。另一选择是,可将总线信道114、116统一成单个双向信道。当每一主装置102、104、106、108希望跨越系统总线115实施总线事务时,所述主装置均会将请求信号传输至总线仲裁器118。在此情况下,总线仲裁器针对两个总线信道114、116在主装置102、104、106、108之间实施仲裁且针对每一总线信道114、116向一个主装置102、104、106、108发出专用准许信号。图2中对请求及准许信号的描绘仅为代表性。在任一特定实施方案中,这些逻辑信号可包括任何数量的实际信号线。处理器102包括读取信道仲裁加权寄存器120及写入信道仲裁加权寄存器122。类似地,主装置104包括读取信道加权寄存器124及写入信道加权寄存器126;主装置106包括读取信道加权寄存器128及写入信道加权寄存器130;且主装置108包括读取信道加权寄存器132及写入信道加权寄存器134。读取信道加权寄存器120、124、128、132及写入信道加权寄存器122、126、130、134实行一种在执行总线115仲裁中既考虑数据传送方向(即,哪一总线信道114、116)也考虑跨越相关信道114、116传送的数据量的发明性总线仲裁机制。在许多计算系统中,并非均等地使用写入信道114及读取信道116。明确地说,读取信道116活动起主导作用。此外,许多主装置102、104、106、108可具有特性上不同的利用率的写入信道114与读取信道116。举例来说,直接耦合至显示器的图形协处理器104或MPEG解码器108可从存储器读取大量数据但写入相对少。通过使写入信道114与读取信道16及对应的写入信道加权寄存器122、126、130、134与读取信道加权寄存器120、124、128、132分离,可在每一信道114、116上单独地控制每一主装置102、104、106、108的相对仲裁优先权,从而允许更精细地调谐系统性能。根据一个实施例,通过分别写入至读取信道加权寄存器120、124、128、132的值周期性地按比例分配读取信道116带宽给主装置102、104、106、108。举例来说,读取信道加权寄存器120可接收一40的值,而读取信道加权寄存器124、128及132各自接收一20的值。对于100个读取信道116总线节拍的仲裁间隔,此将40%的读取信道116带宽分配给主装置102,而将20%的读取信道116带宽分配给每一个主装置104、106及108。当请求主装置102、104、106、108被准许在读取信道116上进行总线事务时,使所述主装置的读取信道加权寄存器120、124、128、132递减一对应于所述总线事务所耗用读取信道116带宽的量。因此,主装置102、104、106、108在读取信道116仲裁中的优先权降低,因为所述主装置由于从从装置IIO、112传输大量数据而耗用了读取信道116带宽。周期性地或交替地,当所有加权寄存器120、124、128、132均已到期时,可将所述寄存器重设至其初始值(或重设至读取信道116带宽的不同的相对比例份额)。在一个实施例中,在主装置102、104、106、108被准许进行读取信道116总线事务之后,使对应的读取信道加权寄存器120、124、128、132递减数据传送的大小(例如,以字节为单位)。然而,在此情况下,对于具有64-位宽数据路径的读取总线信道116来说,介于1至8个字节之间的传送将耗用相同总线信道116带宽量,S卩,一单个数据传送循环或"节拍"。如本文中使用,数据传送循环或节拍是跨越总线信道114、116将数据从来源传送至目的地所需的持续时间。最佳地,一总线节拍包括一单个总线时钟循环;然而,单个总线节拍可跨越两个或两个以上总线时钟循环。根据另一实施例,通过以总线信道114、116节拍(而不以字节)来测量所耗用带宽,将主装置102、104、106、108在总线事务中所耗用的相关总线信道114、116的实际带宽反映在主装置的相对仲裁优先权中。也就是说,被准许读取一至八个字节的读取信道116总线事务的主装置102、104、106、108将均使其读取信道加权寄存器120、124、128、132递减1,因为所有总线事务均耗用了读取信道116中的一个节拍的带宽。因此,在一个实施例中,当主装置102、104、106、108被准许接入总线信道116时,其读取信道加权寄存器120、124、128、132会递减跨越读取总线信道116完成所请求事务所需的节拍数。举例来说,读取一至八个字节(其需要读取总线信道116上的一个节拍)将使相关读取信道加权寄存器120、124、128、132递减1。一个十六(节拍)的突发将使相关读取信道加权寄存器120、124、128、132递减16。以此方式,每一主装置102、104、106、108的仲裁优先权加权既反映最初分配给所述主装置的相关读取信道116带宽也反映主装置对读取信道116的实际利用。在操作中,在读取信道116上执行长突发或大量总线事务(在任一情况下,均耗用读取信道116带宽)的主装置102、104、106、108相对于其他主装置具有较低的主装置优先权。不频繁利用读取信道116的主装置102、104、106、108相对于频繁利用读取信道116的主装置将保持较高优先权。此可确保主装置102、104、106、108能接入与其所分配相对比例带宽份额及其读取信道116上所实际耗用带宽相匹配的读取信道116。类似地,通过向写入信道加权寄存器122、126、130、134分别写入一值,给每一主装置102、104、106、108初始(周期性地)分配写入信道114的一比例份额。主装置相对于写入信道114的初始优先权可不同于其相对于读取信道116的初始优先权。每一主装置102、104、106、108的写入信道加权寄存器122、126、130、134在其被准许在写入信道114上进行总线事务之后递减,在一个实施例中递减完成所准许的总线事务所需的节拍数。因此,在任一既定时间,主装置在写入信道114及读取总线信道116上的相对优先权将既反映其初始被指派的相对带宽份额也反映其对相关总线信道114、116带宽的实际利用率。当与请求主装置102、104、106、108相关联的所有读取信道加权寄存器120、124、128、132或写入信道加权寄存器122、126、130、134均具有相同值时,仲裁器118可切换至循环仲裁算法。特定来说,如果所有主装置均被指派信道114、116中一者或两者的一相等比例带宽,那么此可能会在重新装载加权寄存器120—134时发生。另外,可在所有读取信道加权寄存器120、124、128、132或写入信道加权寄存器122、126、130、134全部递减至零时使用所述循环仲裁。可在一仲裁间隔到期时将读取信道加权寄存器120、124、128、132及写入信道加权寄存器122、126、130、134更新至其初始值,其可以时间或总线节拍数来测量。在一个实施例中,可将一个或一个以上主装置102、104、106、108界定为较高层主装置,且以高于其他主装置的频率来更新其读取及写入信道加权寄存器120—134。也就是说,所述较高层主装置的仲裁间隔可能短于较低层主装置的仲裁间隔。一般来说,可界定具有对应的相关仲裁间隔的任何数量的层。以此方式,可利用每一总线事务的方向(即,对写入信道114及读取信道116维持单独的优先权)及所耗用带宽(例如,以字节为单位)来调节每一总线信道114、116上的每一主装置102、104、106、108的仲裁优先权。此可提供对分配给每一主装置的系统总线115带宽的相对份额的更大控制。以下表格描绘四个主装置(M0-M3)中每一者的读取及写入信道加权寄存器120—134的内容,其提供了根据一个实施例的仲裁算法操作的代表性实例<table>tableseeoriginaldocumentpage12</column></row><table><table>tableseeoriginaldocumentpage13</column></row><table>在以上实例中,在对五个读取信道116事务及五个写入信道114事务进行仲裁之后,主装置M3(108)会因准许给其的总线115事务而具有对写入信道114的最高仲裁优先权及对读取信道116的最低仲裁优先权。其他主装置102、104、106具有对总线信道114、116的多个仲裁优先权,所述仲裁优先权反映了其对信道114、116的实际利用(如在本实例中,其初始所分配到的用于信道114、116两者的比例带宽份额是相等的)。如果所有读取信道加权寄存器120、124、128、132或写入信道加权寄存器122、126、130、134在所述仲裁间隔到期之前均被耗尽,那么仲裁器118可实施循环仲裁算法、或某种其他此项技术中所熟知的仲裁算法。在一个实施例中,可通过所有各自的加权寄存器完全递减(其表示所有主装置102、104、106、108完全耗用其所分配的信道114、116带宽份额)来触发以其初始值重新加载读取信道加权寄存器120、124、128、132或写入信道加权寄存器122、126、130、134。在一个实施例中,在仲裁器118将总线事务准许给对应的主装置102、104、106、108之后,使读取信道加权寄存器120、124、128、132及写入信道加权寄存器122、126、130、134递减总线115事务中的节拍数量。所属领域的技术人员将易于认识到,另一选择是可在总线传送完成之后或在总线传送的每一节拍完成时使加权寄存器120一134递减,在此情况下,被中断或者未完成的总线事务不会好像所述总线事务已完成那样递减主装置的仲裁优先权。另外,尽管图2将加权寄存器120—134描绘成位于主装置102—108内,但在替代实施例中,加权寄存器120—134可驻留在总线仲裁器118中、驻留在互连矩阵(未显示)、或驻留在电子装置100内的其他位置。在另一实施例中,对于每一所准许的总线115事务,仅使信道加权寄存器120、124、128、132和写入信道加权寄存器122、126、130、134递减一次。在此实施例中,单独地追踪每一主装置102、104、106、108对写入信道114及读取信道116的利用;然而,不基于数据传送的长度进行任何区别且因此不考虑实际的带宽耗用。在再一实施例中,每一主装置102、104、106、108均仅包括一单个信道加权寄存器(未显示),无论所述数据传送是读取还是写入操作,所述信道加权寄存器均会针对每一数据传送节拍而递减。在此实施例中,追踪总的总线115带宽的主装置的份额并相应地调节其仲裁优先权,而不管所述传送发生至哪一个信道(即,沿哪一个方向)。此实施例可尤其适合于具有统一数据总线(例如,图1中所示的数据总线)的系统总线,在所述统一数据总线中读取及写入传送两者均使用相同的数据线。上文所述及图2中所描绘的电子装置100利用单独的写入信道114、读取信道116、及地址信道(未显示)。在各个实施例中,可将考虑传送方向及/或所耗用带宽的仲裁算法有利地运用于各种总线结构。举例来说,同在申请中的第10/921,053号美国专利申请案(其于2004年8月17日提出申请并转让给本发明受让人且以全文引用的方式并入本文中)揭示了一种用于芯片上系统(SOC)设计的总线体系结构,所述总线体系结构使用共用总线体系结构及独立于总线特定实施方案的带宽要求的信令协议。所述体系结构在本文中被称作可縮放总线体系结构。所述可縮放总线在总线宽度及时钟频率两个方面均可縮放,且其信令协议独立于任何所使用的较高级总线协议。此是通过将总线的信令协议减至仅跨越所述总线传输或接收信息所需的必要信号来实现的。从所述信令协议自身移除较高级协议细节允许使用同一基本信令协议来实施任一总线体系结构。另外,所述体系结构的可缩放性允许使用同一信令协议实现各种实施方案。现有技术的芯片上总线体系结构通常包括一地址总线、传送限定符总线、写入数据总线、多个写入数据总线启用及一读取数据总线。这些总线中的每一者均可实施为具有其自身信令协议、总线宽度及传送协议的独立信道。每一总线信道均包括允许必要的信号交换以控制数据跨越所述总线的流动的数个控制信号。在图3中所示的可縮放总线体系结构中,地址、传送限定符、写入数据及写入数据启用均被视为从发送装置150传送到接收装置152的信息。此信息均是使用同一传送协议在所描绘的单个传送信道154或多个传送信道上传送的。读取数据是使用同一信令协议在接收信道156上从接收装置152传送到发送装置150的。每一总线传送协议均可细分成发送装置150及接收装置152的基本操作,所述发送装置及所述接收装置是通过跨越传输信道154及接收信道156传输信息来进行通信。在时分多路复用方式中,可将不同类型的信息从发送装置150广播到接收装置152。在所述可縮放体系结构中,发送装置150可在传输信道154上传输包括地址、传送限定符、写入数据或写入数据启用的信息以通过在地址占有(addresstenure)期间在传输信道154上广播所述地址来启始读取或写入传送或其任一组合。在写入传送的情况下,所述地址、传送限定符、写入数据及写入数据启用均在传输信道154上传送而不使用接收信道152。在读取传送的情况下,所述地址、传送限定符均在传输信道154上传输。接收装置152确认所述广播并随后通过在接收信道156上广播所述读取数据来提供所述请求数据。图4描绘利用可縮放总线体系结构的代表性SOC设计。系统160包括从从装置DRAM(控制器168)读取数据及向从装置DRAM(控制器168)写入数据的两个主装置CPU162及DMA控制器164。所述数据传送跨越芯片上总线互连166而发生。CPU162通过传输信道172及接收信道174连接到芯片上总线166。类似地,DMA控制器164通过传输信道176及接收信道178连接到芯片上总线166。伺样,芯片上总线166经由传输信道180及接收信道182连接到从属DRAM控制器。DRAM控制器168经由一包括地址总线184、控制信号186及双向数据总线188的常规接口读取并写入芯片外DRAM170。传输信道172、176及180传输所述地址占有、传送限定符及地址数据占有。接收信道174、187、及182载送读取数据占有。芯片上总线166是将所准许的主装置162、164的总线信道172、174或176、178分别连接到从装置168的对应总线信道180、182的互连。可(例如)驻留在芯片上总线互连166内的仲裁器(未显示)在主装置162、164之间执行仲裁,从而通过考虑传送方向及/或所耗用的总线信道带宽而在主装置162、164之间精确地分配芯片上总线166带宽。在一个实施例中,CPU162包括传输信道加权寄存器190及接收信道加权寄存器192。类似地,DMA控制器164包括传输信道加权寄存器194及接收信道加权寄存器196。加权寄存器190—196中的值确定主装置162、164对相应传输总线信道及接收总线信道的仲裁优先权。周期性地给加权寄存器190—196加载初始值,所述初始值反映每一主装置的被分配用于每一信道的芯片上总线166带宽的相对比例份额。在一个实施例中,在将总线166准许给主装置162、164以执行写入操作之后,使所准许的主装置的传送信道加权寄存器190、194针对地址占有而递减1、针对传送限定符传送而第二次递减并且然后针对跨越传输信道172、176、180的每一写入数据传送或节拍而递减一次。对于读取操作,所准许的主装置的接收信道加权寄存器192、196针对接收信道174、178、182上的每一数据节拍而递减1。另外,所准许的主装置的传输信道加权寄存器190、194针对地址占有而递减1且针对跨越传输信道172、176、180的传送限定符传送而递减1。以此方式,基于完成所述总线事务所需的跨越传输信道172、176、180及接收信道174、178、182每一者的精确传送数目使传输及接收信道加权寄存器190—196递减。在以此方式递减加权寄存器190—196时,所述系统可精确地控制在传输及接收信道172-182两者上分配到每一主装置的带宽。在另一实施例中,对于写入操作,所准许的主装置的传输信道加权寄存器190、194仅针对跨越传输信道172、176、180的写入数据节拍而递减,且其接收信道加权寄存器192、196仅针对跨越接收信道174、178、182的读取数据节拍而递减。在此实施例中,将传输信道172、176、180上用于读取及写入操作的地址占有及传送限定符传送视为系统开销且在实施总线仲裁中在主装置162、164之间分配总线带宽时不对其进行特定追踪。此提供不太准确的带宽分配控制机制,但可简化实施方案且降低控制开销。在一个实施例中,每一主装置162、164中的单个总线寄存器可针对每一信息传送节拍或仅针对在任一方向上跨越芯片上总线166的每一数据节拍而递减,因此可追踪总的总线利用而非传输信道172、176、180及接收信道174、178、182的单独利用。在另一实施例中,每一主装置162、164均可包括一单独的传输信道加权寄存器190、194及接收信道加权寄存器192、196。然而,寄存器190—194在各自主装置162、164被准许芯片上总线166以进行相关数据传送时仅递减一次。在此实施例中,针对每一数据传送方向而不是每一此类传送的长度单独地追踪所述主装置对芯片上总线166的利用,且因而不追踪主装置对总线166带宽的实际耗用。图5以流程图的形式描绘根据一个实施例的仲裁方法。给每一总线信道的加权寄存器加载总线信道带宽的一相对比例份额(块200)。此可包括加载(例如)用于统一总线的单个加权寄存器、或用于传输(写入)及接收(读取)总线信道的单独加权寄存器。一个或一个以上寄存器与每一主装置相关联,所述一个或一个以上寄存器可参加对各自总线信道上的总线事务的仲裁。所述寄存器保持有比例带宽份额。当主装置请求在所述信道上进行总线事务时,所述仲裁器在所述主装置之间执行仲裁以将所请求的总线信道准许给具有当前最高分配带宽份额的主装置(块202)。在请求总线信道的所有主装置均具有相同的当前分配带宽份额的情况下,则可使用循环仲裁算法。当主装置被准许在请求总线信道上进行总线事务时,会使相关联的分配带宽份额递减所述总线事务所耗用的信道带宽(块204),或者以所传送的数据量或以总线信道节拍递减。在仲裁间隔到期时,或替代地当所有主装置的总线信道分配带宽份额均已完全递减时(块206),给所述寄存器重新加载主装置的相对比例分配带宽份额(块200)。否则,总线仲裁继续(块202)。本文关于一个或一个以上实施例所阐述的仲裁方法呈现出诸多胜过现有技术总线系统及仲裁方法的优点。所述仲裁允许单独及独立地对读取及写入数据信道带宽进行加权。在许多系统中,所述数据读取信道是整体系统性能中的限制性因子。提供仅在准许读取传送时递减的单独加权因子可实现对读取数据信道上带宽分配更精确水平的控制,且因此可改善整体系统性能。在许多芯片上总线体系结构中,可借助单个请求占用来请求读取或写入数据信道上的多个节拍传送(例如,读取及写入"突发")。使相关加权因子递减所请求的节拍数量允许所述加权因子代表读取或写入数据总线上所需的数据占用数量而非代表地址占用数量。所述加权因子与每一总线信道上的实际带宽更加密切对准且可在主装置请求具有各种不同数据传送大小的总线事务时提供均等化效应。在某些实施例中,将单独的加权寄存器用于读取及写入总线信道并结合基于以所请求数据节拍的数量测量的所耗用带宽来递减所述加权寄存器,可提供编程到主装置内的加权因子与将分配到所述主装置的实际读取及写入总线信道带宽之间的直接相关性。此使得带宽的分配更加精确且允许程序员更好地控制分配到每一主装置的实际带宽。在许多利用突发协议的具有单独地址、读取数据及写入数据信道的现代芯片上总线结构中,所述地址信道未被充分利用且在确定所述系统中最大可实现带宽中不是限制因子。相反,所述读取数据信道经常是所述限制因子。因此,具有更加精确地控制所述读取数据信道带宽的能力可实现导致更高总体系统性能的更佳的仲裁方案。尽管本文已针对本发明的特定特征、方面及实施例对本发明进行了阐述,但将明显看出在本发明的广阔范畴内许多改变、修改及其他实施例是可能的,且因此所有改变、修改及实施例均被视为属于本发明的范畴。因此,应将本发明实施例解释为在所有方面是说明性的而非限制性的,且属于随附权利要求书的含义及等效范围内的所有变化均意欲包含在所述权利要求书中。权利要求1.一种在多个主装置之间执行总线仲裁的方法,其包括将总线带宽的一比例份额分配给每一主装置;通过响应于所述主装置所执行的总线事务的长度递减其所分配的份额来追踪每一主装置的总线带宽耗用;及将每一主装置的剩余带宽份额用作对所述总线的仲裁中的优先权。2、如权利要求1所述的方法,其中所述总线包括单独的传输信道及接收信道,且其中将每一信道的所述带宽的比例份额单独分配给每一主装置、响应于每一信道上所执行的总线事务的长度而递减每一信道的所述带宽的比例份额并且在对每一信道上总线事务的仲裁中使用每一信道的所述带宽的比例份额。3、如权利要求2所述的方法,其中写入操作发生在所述传输信道上,而读取操作发生在所述接收信道上。4、如权利要求2所述的方法,其中所述总线进一步包括单独的地址信道。5、如权利要求2所述的方法,其中在所述传输信道上传输地址信息及写入数据。6、如权利要求1所述的方法,其中以所述总线事务中所传送的数据数量测量所述主装置所执行的总线事务的长度。7、如权利要求1所述的方法,其中以在所述总线上执行所述总线事务所需的信息传送循环的数量来测量所述主装置所执行的总线事务的长度。8、如权利要求7所述的方法,其中以在所述总线上执行所述总线事务所需的数据传送循环的数量来测量所述主装置所执行的总线事务的长度。9、如权利要求1所述的方法,其进一步包括将总线带宽的一比例份额重新分配给每一主装置。10、如权利要求9所述的方法,其中所述重新分配在仲裁间隔到期时发生。11、如权利要求10所述的方法,其中所述仲裁间隔是总线数据传送循环中所有主装置的所分配份额的总和。12、如权利要求IO所述的方法,其中所述重新分配给至少一个主装置以比重新分配给至少一个其他主装置高的频率发生。13、如权利要求9所述的方法,其中在所有主装置均己完全递减其总线带宽的分配份额时发生所述重新分配。14、如权利要求l所述的方法,其中当所有主装置的剩余带宽份额均相等时,在循环基础上执行仲裁。15、一种在具有单独传输信道及接收信道的总线上的多个主装置之间执行仲裁的方法,其包括将用于所述传输信道及所述接收信道的仲裁优先权独立地指派给每一主装置;及响应于每一主装置在每一各自信道上所执行的总线事务独立地递减所述主装置的传输及接收信道优先权。16、如权利要求15所述的方法,其中指派给每一主装置的用于每一信道的所述仲裁优先权是所述信道带宽的相对比例份额。17、如权利要求16所述的方法,其中响应于所述主装置所耗用的信道带宽量递减每一主装置的每一信道优先权。18、如权利要求17所述的方法,其中以在所述总线事务中在所述信道上传送的数据量测量所述耗用的带宽。19、如权利要求17所述的方法,其中以在所述信道上执行所述总线事务所需的信息传送循环测量所述耗用的带宽。20、如权利要求19所述的方法,其中以在所述信道上执行所述总线事务所需的数据传送循环测量所述耗用的带宽。21、如权利要求15所述的方法,其进一步包括将用于所述传输信道及所述接收信道的仲裁优先权重新指派给每一主装置。22、如权利要求21所述的方法,其中在仲裁间隔到期时重新指派用于每一信道的所述仲裁优先权。23、如权利要求22所述的方法,其中以比将所述信道优先权重新指派给至少一个不同主装置高的频率将用于至少一个信道的所述仲裁优先权重新指派给至少一个主装置。24、如权利要求21所述的方法,其中当所有主装置中用于所述传输或接收信道的所述优先权完全递减时,将所述仲裁优先权重新指派给每一主装置。25、如权利要求15所述的方法,其中所述总线包括传送写入数据和写入启用的传输信道、传送读取数据的接收信道及传送地址和传送限定符信息的地址信道。26、如权利要求25所述的方法,其中所述总线包括传送写入数据、写入启用、地址和传送限定符信息的传输信道及传送读取数据的接收信道。27、如权利要求15所述的方法,其进一步包括当所有请求主装置的各自信道优先权均相同时,使用循环仲裁算法在请求所述传输信道或接收信道的主装置之间进行仲裁。28、一种在具有单独传输信道及接收信道的总线上的多个主装置之间执行仲裁的方法,每一主装置与对应于每一信道的加权寄存器相关联,所述方法包括-给与每一主装置相关联的所述传输信道加权寄存器及接收信道加权寄存器加载所述各自信道上带宽的一相对比例份额;基于所述加权寄存器的内容所反映的当前带宽份额,在请求所述总线信道的总线事务的主装置之间进行仲裁;当主装置被准许接入总线信道时,使对应于与所述经准许的主装置相关联的所述信道的所述加权寄存器递减所述经准许的总线事务中耗用的总线信道带宽。29、如权利要求28所述的方法,其中在请求主装置之间进行仲裁包括如果对应于所请求总线信道的所有加权寄存器均相等,那么使用循环仲裁算法。30、如权利要求28所述的方法,其进一步包括给所述加权寄存器周期性地重新加载所述各自信道上带宽的一相对比例份额。31、如权利要求30所述的方法,其中在仲裁间隔到期时重新加载所述加权寄存器o32、如权利要求30所述的方法,其中当总线信道的所有加权寄存器完全递减时,重新加载所述加权寄存器。33、一种电子装置,其包括数据传送总线;至少两个主装置,其以数据传送关系连接至所述总线;至少一个从装置,其以数据传送关系连接至所述总线;仲裁优先权寄存器,其与每一主装置相关联,所述仲裁优先权寄存器操作以被加载初始值,且操作以响应于所述主装置被准许在所述总线上进行总线事务而递减一反映所述总线事务所耗用总线带宽的量;及总线仲裁器,其操作以将所述总线准许给在其相关联仲裁优先权寄存器中具有最高值的请求主装置。34、如权利要求33所述的装置,其中所述总线仲裁器进一步操作以当与所有请求主装置相关联的仲裁优先权寄存器中的值均相等时,在循环基础上将所述总线准许给请求主装置。35、如权利要求33所述的装置,其中所述数据传送总线包括操作以传送写入数据的传输信道及操作以传送读取数据的接收信道,且进一步包括用于与每一主装置相关联的每一信道的单独仲裁优先权寄存器,每一寄存器操作以递减反映一总线事务所耗用信道带宽的量,且其中所述仲裁器对每一信道进行仲裁。36、如权利要求35所述的装置,其中所述传输信道进一步操作以传送地址。37、如权利要求33所述的装置,其中所述仲裁优先权寄存器进一步操作以被重新加载。38、如权利要求37所述的装置,其中在仲裁间隔到期时所述仲裁优先权寄存器操作以被重新加载。39、如权利要求37所述的装置,其中当用于所述传输信道或所述接收信道的所有所述仲裁优先权寄存器均完全递减时,所述仲裁优先权寄存器操作以被重新加载。40、一种电子装置,其包括至少两个主装置;至少一个从装置;传输总线信道,其操作以将信息从主装置传送至从装置;接收总线信道,其操作以将信息从从装置传送至主装置;仲裁优先权寄存器,其用于与每一主装置相关联的所述传输总线信道及接收总线信道中的每一者,所述仲裁优先权寄存器操作以被加载初始值,且操作以响应于所述主装置被准许在所述各自总线信道上进行总线事务而递减;及总线仲裁器,其操作以将总线信道准许给在其用于所述信道的相关联仲裁优先权寄存器中具有最高值的请求主装置。41、如权利要求40所述的装置,其中用于每一信道的所述仲裁优先权寄存器操作以递减一反映相关联的主装置在所准许的总线事务中在所述信道上所耗用带宽的量。42、如权利要求40所述的装置,其中在所述传输信道上从主装置传输至从装置的所述信息包括地址。全文摘要本发明揭示一种总线仲裁算法,其可通过考虑总线事务的方向及/或所耗用的总线信道带宽精确地控制分配到每一主装置的相对总线信道带宽。至少一个加权寄存器与每一主装置相关联;在一个实施例中,每个总线信道具有一个加权寄存器。给所述寄存器周期性地加载可用总线带宽的比例份额。一旦准许在总线信道上进行总线事务,使所述对应的加权寄存器递减一反映所述事务所耗用总线信道带宽的量,所述量是以所传送的数据量或完成所述事务所需的总线数据传送循环数量来测量的。在初始分配相对带宽份额相等的情形下,耗用总线信道带宽的主装置将具有相对低的优先权;不耗用总线信道带宽的主装置会保持相对高的优先权。文档编号G06F13/36GK101288057SQ200680038274公开日2008年10月15日申请日期2006年8月18日优先权日2005年8月19日发明者理查德·杰拉尔德·霍夫曼,贾亚·普拉喀什·苏布拉马尼亚姆·贾纳桑,马克·迈克尔·谢弗申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1