访问公共源的制作方法

文档序号:6442541阅读:149来源:国知局
专利名称:访问公共源的制作方法
技术领域
本发明涉及一组功能部件访问公共源。尤其是,本发明涉及用于按照优先权的顺序访问公共源的方案。实际上,本发明涉及一个包括一组将要访问一个公共源的功能部件的功能系统。本发明能够被用于例如一种包括几个将要访问一个公共存储器的处理器的数据处理设备中。例如一个MPEG解码器就是这样的一种设备(MPEG是运动图像专家组的缩写)。
背景技术
对公共源的访问可以通过接口来控制。接口使用访问方案,功能部件能够按照访问方案来访问公共源。
一种可能的访问方案的特征在于按照优先权的顺序。一个功能部件必须做出访问公共源的请求。接口收集所有的请求。在具有一个当前请求的所有请求中,能够使具有最高优先权的功能部件访问公共源。再次假定一个功能系统中包括三个功能部件A,B和C。优先权的顺序可以是A,B,C。在这种情况下,功能部件A将能够访问公共源,而不管事实上来自于B或者C的请求是当前请求。如果来自于A的请求不是当前请求,那么功能部件B将访问公共源。如果来自于A或者B的请求都不是当前请求,那么功能部件C将访问公共源。这样的访问方案在下文中将被称为优先权访问方案。
优先权访问方案在公开号为1081603-A1的欧洲专利申请中有所涉及。原则上,每一个功能部件都应该能够满意的访问公共源,以便使其能够正确的被执行。任何功能部件对公共源的访问都是由两个因素决定的首先是公共源所提供的访问可能性;其次是所应用的访问方案。
原则上,通过保证公共源提供一个相对较高的访问可能性,就有可能保证每一个功能部件的满意访问。但是,公共源所提供的访问可能性(带宽,速度)越大,通常公共源也就越昂贵。
功能部件的访问的请求是随着时间变化的。有可能某一个功能部件在一个特定的时间要密集的访问公共源,而该功能部件在另一个时间就不需要如此密集的访问。优先访问方案按需提供对公共源的访问。因此这种方案具有灵活性并且因此更为有效的使用了公共源。事实上,与固定访问方案相比较,对于公共源来说,优先访问方案需要较小的访问可能性,在固定访问方案中,访问模块包括几个时间段,每个时间段都被分配给了一个特定的功能部件。因此原则上优先权访问方案提供了对于公共源而言的成本的降低。

发明内容
但是,优先权访问方案具有一些缺点, 在本发明中有所考虑。通常检查每个功能部件是否满意的访问了功能源以及检查一个功能部件是否经常在一个请求之后在一个临界时间段内获得访问是很困难的。检查一个特定的优先权访问方案是否提供了正确的功能需要对统计特性的模拟进行复杂的计算。这本身已经造成了开发成本的一定数量上的增加。
接下来的例子表明了在优先权方案中可能发生的锁定问题。这里有按照优先权顺序的三个功能部件A,B和C。在一个特定的时刻,功能部件A访问了公共源。在这一访问的过程中,功能部件B和C提交了访问请求。功能部件A的访问结束以后,功能部件B访问公共源。来自于功能部件C的请求保持等待。功能部件A在功能部件B访问公共源的过程中提交了请求。这通常是发生在为了向公共源写入数据,在特定的处理时间之后,当数据被功能部件A所处理然后发射的情况下。功能部件B的访问结束以后,功能部件A则再次访问公共源。如果这种持续下去,功能部件A在功能部件B的访问过程中提交请求,或者相反,那么功能部件C对公共源的访问就被有效的锁定。这种锁定将持续直到功能部件A或者B,或者两者降低它们访问的频率。
此外还应注意,具有这样的锁定,功能部件A首先完成了它的任务。然后是功能部件B,当功能部件C访问公共源的时候,可能其没有在使用提供给它的整个带宽的位置上。结果是,对于这三个功能部件来说,可用的访问被较差的分配。
本发明的一个目的是允许公共源的更好的使用以及相应的降低成本。
根据本发明(附图9),在介绍段落中描述了一个系统,包括一个用于执行一种访问方案(AS)的接口(INT),该访问方案包括至少一个由优先权顺序定义的用于仲裁的状态(I),功能部件(F,F’)据此能够访问公共源(RSRC),状态(I)的特征在于,对于至少两个功能部件(F)构成的至少一组功能部件,在读状态(F_R)的访问可能性与写状态(F_W)的访问可能性具有不同的优先权级别,在读状态的访问可能性具有高于在写状态下的访问可能性的优先权级别的连续的优先权级别。
这样本发明就能够保证功能部件在读和写时具有不同的行为。这使得通过特别使用数据处理的持续时间来调整功能部件的操作以及分配访问成为可能。这是因为,在读状态的优先级高于写状态,每个功能部件为了向公共源写入处理数据,在输出处理数据之前,接收将被处理的数据。这样本发明就能够尽可能的使将被处理的数据持续平行的进行,并能够使它们更为的规则的使用它们的访问,由于处理数据的输出被限制,并且在写状态调整对公共源的访问。
在一个优选实施例中,浏览几个状态(I),状态(I)是由优先权顺序定义的,其中至少一个优先权级别构成了属于在几个状态(I)下共享同一优先权级别的功能部件的子集中的一个功能部件的访问可能性。这样,在优选实施例中,通过在功能部件的子集的写状态下的访问可能性之间浏览几个状态(I),从而使同一相同的优先权级别构成在共享写状态下的访问可能性。
这使得功能部件能够平行的工作,而不会产生任何锁定。其优势在于,当接口从根据优先权顺序的仲裁,访问可能性被提供给功能部件子集中的一个功能部件的状态(I)跳到下一个状态的时候,访问可能性就被提供给了所述子集的另一个部件。这样无论具有同样优先权级别的子集中的一个部件进行访问或者不进行访问,子集中的下一个功能部件都能够具有访问可能性,而不会造成任何锁定。因此本发明提供了存储器的更好的利用。这使得公共源与固定访问方案相比具有较小的访问可能性。这样本发明就提供了与固定访问方案相比的较小的成本。
本发明将参照附图中的实施例做进一步的描述,但是本发明并不局限于此。


附图1表示根据本发明的信号处理设备;附图2表明该设备的存储器接口的一般操作;附图3表明该设备的信号处理单元;附图4表明该设备的存储器接口;附图5表明在某单元的写状态下的访问;附图6和7表明根据本发明的用于管理不同进程的对公共存储器的访问的仲裁器的两个实施例;附图8a和8b表明根据本发明的图7所示的第二实施例中执行的对公共存储器的访问仲裁;附图9表明根据本发明的基本结构。
具体实施例方式
接下来的描述与参考标记相关。在所有的附图中同样的部件具有相同的字母表示。几个类似的部件可以出现在一张图中。在这种情况下,为了区分类似的部件将在字母上加上数字或者下标。为了方便,字母或者数字可以被省略。这适用于说明书和权利要求的描述。
附图1表明了数据处理设备。该设备包括一个公共存储器SDRAM,一个存储接口INT以及三个数据处理单元B1,B2,B3。在后面的描述中将被称为“单元”。每一个单元B都通过专用读总线BBR和专用写总线BBW与存储接口INT相连。每一个专用读总线BBR和每一个专用写总线BBW都被专用于特定的单元B。存储接口INT通过公共总线BM连接到公共存储器SDRAM。单元B,专用读总线BBR,专用写总线BBW以及存储接口INT构成了一个单片集成电路的部分,而公共存储器SDRAM是一个外部电路。
数据处理设备通常按照下面的方式操作。作为一个一般规则,单元B应请求接收将被处理的并存储在SDRAM中的数据。在处理了这些数据以后,单元B通过存储接口INT将处理过的数据发送给公共存储器SDRAM。存储接口INT调整各个单元B对公共存储器SDRAM的访问。
存储接口INT具有两个基本的功能。第一,相对于对公共存储器SDRAM的访问而言,它执行在各个单元B之间的仲裁。一次只能有一个单元B能够访问公共存储器SDRAM,在写状态或者在读状态。这意味着一个单元B只能以触发方式访问存储器。第二,在读的情况下,存储接口INT将来自于公共存储器SDRAM并且去往指定的单元B的数据脉冲转换成基本稳定的数据流。该数据流就是这样通过专用读总线BBR传送到单元B。在写的情况下,存储接口INT将来自于特定单元B的基本稳定的数据转换成将要写入在公共存储器SDRAM中的数据脉冲。
附图2表明在一个简单的优先权访问方案中的存储接口INT的操作,其中单元B1具有优于B2的优先权,单元B2具有优于B3的优先权。该方案与艺术(art)状态的操作相应。T(BM)表示在公共存储器SDRAM与存储器接口INT之间的公共总线BM上的数据传输。T(BBR1),T(BBR2)和T(BBR3)分别表示在存储器接口INT与单元B1,B2,B3之间的专用读总线BBR1,BBR2和BBR3上的数据传输。T(BBW1),T(BBW2)以及T(BBW3)分别表示在存储器接口INT与单元B1,B2,B3之间的专用写总线上的数据传输。
数据传输T(BM)是由数据脉冲DB构成的。每一个数据脉冲DB与在写状态或者在读状态下的单元B对公共存储器SDRAM的访问相应。跟在DB之后的括号内的参考符号表明脉冲中的数据属于哪一个单元B,此外还有访问的类型写(W)或者读(R)。例如DB1(B1/R)表明数据脉冲涉及B1以读的方式对公共存储器SDRAM的访问。
附图2表明存储接口INT对来自于公共存储器SDRAM并属于特定单元B的数据脉冲进行平滑。相反的,该图也表明了存储器接口INT对来自于单元B的数据进行时间集中,以便将这些数据以脉冲的形式(数据压缩)写入到公共存储器SDRAM。通过专用读总线BBR和专用写总线BBW的数据传送具有相对较低的速率。因此这使得专用读总线BBR和专用写总线BBW具有相对较小的带宽,这样就使得这些总线具有相对较小的宽度。对此需要注意的是,总线的尺寸不需要与包含在在这种总线中传送的数据的比特数目相应。例如,本身包含16比特位的数据项能够被分成4比特的字。这样,就能够通过具有4比特尺寸的总线以4字的序列的形式传送该数据。
附图3表明一个单元B。该单元B包括一个处理器P和一个通用寻址电路AGA。处理器P做出逻辑请求LRQ。假设单元B处理视频数据,以及逻辑请求例如是对当前图像的特定行的像素的请求。通用寻址电路AGA将逻辑请求LRQ转换成物理请求PRQ。物理请求PRQ定义了在公共存储器SDRAM中的物理地址,请求数据被存储在该地址上。物理请求PRQ具有下面的形式起始地址,当数据被寻找的时候,从该地址开始将被寻找的地址的数目以及可能将被应用的方案。该方案可以被定义成下面的形式将被读取的连续地址的数目,将被跳过的地址的数目以及“读和跳”循环的数目。AGA能够被编程从而使得翻译参数定义了从逻辑请求LRQ到物理请求PRQ的翻译。这实现了在公共存储器SDRAM上的数据存储的灵活性。
附图4表明存储器接口INT。存储器接口INT包括一个仲裁器ARB,一个访问接口SIF,一个缓冲设备BUF以及宏命令寻址电路AGB。对于每一个单元B都有一个宏命令寻址电路AGB。
存储器接口INT的内部功能通常是这样的。每一个宏命令寻址电路AGB将来自于其相关单元B的物理请求划分为宏命令。一个宏命令表示一个对存储器的特定行的访问请求。在宏命令被提交给仲裁器AGB之前,宏命令寻址单元AGB检查在缓冲设备BUF中是否有足够的空间。为此,首先将宏命令提交给缓冲设备BUF。如果缓冲设备BUF确定具有空间能够存储由宏命令确定的数据的数目,宏命令寻址电路AGB将宏命令提供给仲裁器ARB。仲裁器ARB收集来自于每个宏命令寻址电路AGB的宏命令并且选择一个宏命令用于发送到访问接口SIF。这种选择是根据下面将要描述的仲裁方案进行的。访问接口SIF以它们的接收顺序处理来自于仲裁器ARB的宏命令。这样访问接口SIF就能够访问公共存储器SDRAM,访问是由当前正被处理的宏命令定义的。
宏命令使得访问X组地址成为可能,每个组都包括Y个地址,各地址组由Z个字所分隔,X,Y和Z都是整数。因此宏命令包括下列信息-将被访问的第一地址;-在一组地址中从第一地址开始将要访问的地址的数目(Y-1);-在两个连续的地址组中将被跳过的地址的数目(Z);-除了第一组之外将要访问的地址组的数目(X-1);-访问的类型读或者写。
一个比特级的宏命令的例子如下。假设存储在公共存储器SDRAM中的数据是32比特的宽度并且公共存储器SDRAM具有256M比特的最大尺寸。这意味着地址以23位比特表示。也可以假设,访问被限制在16个地址的最大尺寸。从延迟的观点来看,这样的限制是可以的。因此X-1和Y-1等于15,为最大值,它们能够被编码成4个比特。最后根据公共存储器SDRAM的结构,一行最多包含512个地址。这样,能够被跳过的地址的数目不能够超过511,因此其可以用9个比特来编码。这样宏命令就具有23+2*4+9+1=41个比特。地址可以被编码在比特40-18,访问类型在比特17,将要读的字的数目(Y-1)在比特16-13,跳过的字的数目(Z)在比特12到14,以及字组的数目(X-1)在比特3-0。
用于读和写的缓冲设备以及存储器接口的缓冲设备的存储器接口的访问接口的例子是已知的并且在先前引用的专利文献中有所记载。
附图5表明了由特定的单元B以读状态访问公共存储器SDRAM的处理过程。水平方向表示时间。该图的垂直方向表示涉及的各个功能元件。该图包括箭头。这些箭头表示用于访问接口存储器SDRAM的过程的各个步骤S。
S1=有关单元B的处理器P向通用寻址电路AGA提交逻辑请求LQR。该逻辑请求LQR指令数据的子集,例如在一组将被处理的数据,例如一幅图像中的一行的亮度像素。
S2=通用寻址电路AGA将逻辑请求LQR转换成物理请求PQR。
S3=通用寻址电路AGA向宏命令寻址电路AGB提交物理请求PQR。
S4=宏命令寻址电路AGB将物理请求PQR转换成宏命令。
S5=宏命令寻址电路AGB将从物理请求PQR中导出的第一个宏命令提交给缓冲存储器BUF。
S6=缓冲设备BUF检查是否具有空间用于存储宏命令所指令的数据的数目。
S7=缓冲设备BUF向宏命令寻址电路AGB确定具有空间(“确认”)。
S8=表示特定数量的延迟。
S9=宏命令地址电路AGB向仲裁器ARB提交宏命令。
S10=仲裁器ARB按照适用于任何由任何单元对公共存储器SDRAM的任何访问的仲裁方案来处理请求存储公共存储器SDRAM的宏命令。本发明涉及仲裁框图的结构。
S11=仲裁器ARB将宏命令提交给访问接口SIF。
S11a=仲裁器ARB向缓冲设备BUF发送表示已经将宏命令提交给存储接口SIF的应答(“确认”)。
S12=宏命令在存储接口SIF中排队,存储接口SIF先处理一前接收到的宏命令。
S13=存储接口SIF根据宏命令为公共存储器SDRAM产生控制信号。这些控制信号造成了由宏命令指定的地址的数据被连续的读出。
S14=从公共存储器SDRAM连续读出的数据被传送到缓冲设备BUF。
S15=数据被暂时存储在缓冲设备BUF中。
S16=缓冲设备BUF以基本稳定的方式将数据传送到处理器。
对于步骤S1中提出的逻辑请求之后的每个宏命令,重复步骤S5-S15。
下面的步骤在图5中没有表示。在步骤S1之后,通用寻址电路AGA向处理器P发送一个确认信号(“确认”)S。该信号表明逻辑请求LQR已经被接收并且将被处理。响应于该确认信号,处理器P做出了一个新的逻辑请求并且保持它,直到一个新的顺序开始。当宏命令地址电路AGB应逻辑请求LQR提交最后一个宏命令的时候,逻辑请求LRQ的处理就完成了。在这种情况下,宏命令寻址电路AGB向通用寻址电路AGA发送一个确认信号(“确认”)向后者表明对逻辑请求LRQ的处理已经完成。据此,通用寻址电路AGA将以与步骤1中的逻辑请求LRQ的处理相似的方式开始处理信号的逻辑请求LRQ。换句话说,重复自身的过程。在写状态,除了步骤S13与S14之外,访问处理的过程是相似的,其中数据被写入而不是被读出,此外,宏命令是写状态类型的访问,而不是读状态类型的访问。
在介绍段落中描述的功能系统中,能够分辨访问公共源的几种不同类型的功能部件。
主要存在两种功能部件。第一,当它们读或者存储数据的时候对延迟(两个访问之间的等待)敏感的部件;这些部件当它们没有访问的时候停止(这是具有CPU的情况)。这些部件能够通常在读状态获得访问,并且通过专用读总线BBR和专用写总线BBW连接到存储器接口。第二,能够预先知道哪些数据是必需的并且这些数据位于什么位置的功能部件,这些功能部件能够由包含用于使这些功能部件对延迟不敏感的缓冲器的单元来执行。在这些对延迟不敏感并且符合特定的带宽获得对公共源的访问的后面的功能部件中,存在两种功能部件。首先,临界功能部件,它通常在写状态或者在读状态获得访问,并且通常由一个单一的专用总线,或者在读状态BBR或者在写状态BBW下连接到公共源,其不能长时间的等待数据。这是在具有例如显示功能部件的情况下,其在存储器中读取像素并且将它们提交给功能系统的输出端。如果数据没有按时的被访问,像素就不能被显示,系统就出现了一个重要错误。接下来,非临界功能部件,通常其从写状态存储器到读状态存储器利用两者之间的数据处理来操作。通常,这些功能部件通过一个专用读总线BBR和一个专用写总线BBW被连接到存储器接口INT。这些功能部件涉及例如解码器,其中解码器能够每40ms解码一幅图像。这样的功能部件的结构在附图3中以点划线表示。实际上,非临界处理器利用了一种内部传送管道IPL,数据在其中被处理。这些处理当它们的管道永久的充满并且不包含任何其中没有数据的“泡沫”的时候能够有效的获得。
容易理解,这些不同类型的单元需要不同的频率和规则来访问公共源。已经存在用于仲裁对延迟敏感的单元以及临界单元的访问的访问方案。这样的访问方案例如在公开号为EP1081603A1的欧洲专利申请中已经提到。在后面的申请中提到的访问方案能够容易的与本发明相结合,在那个申请中的方案用于具有较高的优先权的功能部件,在本发明中的方案用于具有稍低优先权的功能部件。本发明适于所有优先权类型的访问方案。这样的访问方案将对延迟敏感的功能部件以及临界功能部件以优先权的顺序被放置在最高的优先权级别上。可能的,如前所述,优先权功能部件的访问是根据专利申请EP1081603-A1中的方案进行调整的。然后是非临界功能部件,位于最低的优先权上。本发明的目的是调整存储器的使用从而避免在没有功能部件访问公共源的过程中出现锁定或者“泡沫”,因此避免在此过程中对公共源的访问可能性被最坏的使用。这种情况尤其在具有最低优先权的功能部件中容易遇到,因为没有一个具有较低优先权的功能部件能够利用空闲存储器的访问。这样,本发明尤其涉及非临界单元的功能被优化设置的情况。
例如,对于一个具有三个非临界处理器B1,B2,B3的简单的优先权访问方案,这三个非临界处理分享三个最低级的优先权级别,那么将会发生下面的情况B1首先结束了自己的工作,然后是B2,最后B3能够利用存储器访问,但是B3不能单独的使用所有提供给它的存储器。为了避免这种情况,B3必须能够使用整个的剩余带宽,或者三个处理器必须或多或少的平行工作,这样就能够在同时完成它们的工作从而能够最大程度的在时间上分配它们的访问。在这种情况下,三个处理器B1,B2,B3必须能够利用整个的剩余带宽。这是因为由于限制条件的减少,一个组合的非临界功能部件能够利用剩余带宽的系统比只有B3能够利用剩余带宽的系统要便宜。这就是本发明要通过使写状态和读状态处理器具有不同的行为而要解决的情况的类型。
本发明使用了一个仲裁器ARB来管理上述描述的不同的处理器P对SDRAM的访问。仲裁器从所有的处理器P中选择访问请求并从中选择其中的一个。所选的请求使作出该请求的处理器向SDRAM写入或者从中读出32比特的16字。当对SDRAM的访问以后,仲裁器选择另一个请求,等。
附图6和7表明了根据本发明用于管理不同的处理器对公共源的访问的仲裁器的两个实施例。根据本发明,功能系统包括一个用于实现访问方案的接口,该访问方案包括至少一个按照优先权顺序对仲裁器所定义的状态,根据这种状态,功能部件能够访问公共源,该状态的特征在于,对于由至少两个功能部件构成的至少一组功能部件,在读状态的访问可能性与在写状态的访问可能性具有不同的优先权级别,在读状态的访问可能性比在写状态的访问可能性具有连续的较高的优先权级别。
本发明保证了功能部件在写状态和读状态具有不同的行为。这使得通过特别使用数据处理的持续时间来调整功能部件的操作以及分配访问成为可能。数据处理的持续时间是在写状态下的访问与读状态下的访问之间的持续时间,在这一过程中,读取了数据的功能部件对其进行处理。根据本发明,在读状态的优先级高于写状态,每个功能部件为了向公共源写入处理数据,在输出处理数据之前,接收将被处理的数据。这样本发明就能够尽可能的使将被处理的数据持续平行的进行,并能够使它们更为的平稳的使用它们的访问,这是由于处理数据的输出被限制,并且在写状态调整对公共源的访问。本发明对于控制非临界功能部件对公共源的访问尤为有效。
图6表示本发明的第一实施例,使用了一个包括了具有1到M+5的M+5个输入端的固定优先权选择器FPS的仲裁器,M大于等于2。处理器P1-PN-1对SDRAM的访问请求根据传统的优先权顺序,也可以根据在先前引用的专利文献中涉及的最优化管理方法来执行。在两个处理器P之间的-符号表示参考符号被包含在这两个处理器的参考符号之间的所有处理器。这些处理器P1-PN-1最好是延迟敏感处理器或者临界处理器。仲裁阶段是通过同时测试在每个优先权级别上的请求,并且选择其中具有最高优先权级别的请求来进行的。这样,作为优先权,仲裁器从所有的处理器中选择了一个处理器P1-PN-1。如果这些处理器中没有一个做出请求,就是说没有向仲裁器提交任何宏命令,那么就移交给非临界处理器;根据本发明,这里有三个非临界处理器,PN,PN+1,PN+2,在读状态向具有访问类型的宏命令提交优先权。这三个处理器构成了至少有两个功能部件的一组。接下来,移交给在写状态做出请求的非临界处理器。在图6中通过在非临界处理器PN,PN+1,PN+2的后面加上字母R和W表示。组合PN-R,PN-W定义了两个功能部件的子集。这样将清楚地看到,在写状态和读状态的访问可能性具有不同的优先权级别。三个处理器PN,PN+1,PN+2在写状态的优先权级别被插入到在这三个处理器的读状态的优先权级别之后的传统的优先级别顺序当中。这是本发明的本质特征。由于读状态的宏命令仅能够在管道中具有空间的时候由处理器产生,因此本发明不会在所述的处理中造成锁定。接下来所选的请求被传送到SIF。这里应当能够理解在图2中所描述的对存储器进行访问的方案是如何变化的。首先,处理器将逐一的在读状态进行访问,然后逐一的在写状态进行访问。但是本实施例仍然会造锁定塞并且不可能避免存储器访问被使用不当的所有情况。这是因为在后面的实施例中使用的优先权的严格的顺序可能会导致锁定从而阻碍第三处理器在写状态的访问。这样,这个实施例就不能使由至少两个功能部件构成的一组处理器同时完成它们的工作。
在附图7中示出了一个优选实施例,在该实施例中使用了一个包括具有从1到M+3的M+3个固定优先权选择器FPS的仲裁器,M大于等于2,以及一个处理选择器MPS。处理器P1-PN-1对SDRAM的访问请求根据传统的优先权顺序,也可以根据在先前引用的专利文献中涉及的最优化管理方法来执行。这些处理器P1-PN-1最好是延迟敏感处理器或者临界处理器。仲裁阶段是通过同时测试在每个优先权级别上的请求,并且选择其中具有最高优先权级别的请求来进行的。这是由于请求被同时提交给固定优先权选择器FPS的输入端(当它们存在的时候)。这样,作为优先权,仲裁器从所有的处理器中选择了一个处理器P1-PN-1。如果这些处理器中没有一个做出请求,就是说没有向仲裁器提交任何宏命令,那么就移交给非临界处理器;根据本发明,这里有三个非临界处理器,PN,PN+1,PN+2,定义了至少由两个功能部件构成的一个组,在读状态向具有访问类型的宏命令提交优先权。接下来,移交给在写状态做出请求的非临界处理器。在图7中通过在非临界处理器PN,PN+1,PN+2的后面加上字母R和W表示。组合PN-R,PN-W定义了两个功能部件的子集。在图7所示的实施例中,只有一个优先权级别M+3被分配给了写状态的三个非临界处理器。换句话说,功能部件PN-W的子集彼此共享同一个优先权级别M+3。这一优先权级别被提供给在处理选择器MPS中所选择的处理器,其中MPS接收处理器PN-PN+2在写状态对SDRAM的访问请求。它从这些处理器中选择了一个处理器P。这种选择是根据在下文中将要详细描述的方案而进行的。如果所选的处理器P已经在写状态做出了请求,该请求将被传送到固定优先权选择器FPS的输入端M+3。否则,则没有请求向仲裁器传送到输入端。因此,如果没有任何具有较高优先权级别的处理器做出请求,三个非临界处理器在读状态没有做出任何请求并且处理选择器MPS所选择的处理器P做出了请求,那么该请求就被选择。如果没有这样的请求,访问可能性就不被使用。在仲裁器为优先权级别M+3提供访问可能性的所有情况中,无论是否访问,在处理选择器MPS中的处理选择都会改变,以便从子集PN_W-PN+2_W中选择另外的一个处理器。这里有几个状态(I)被浏览,状态(I)是由向仲裁器所提供的优先权顺序所定义的,其中至少一个优先权级别构成了一个属于一个功能部件的子集中的一个功能部件的访问可能性,这里在几个状态(I)中,PN_W-PN+2_W共享同一优先权级别,M+3。这是由于每个仲裁器都可以向相应的优先权顺序附加一个状态I,这里包括P1到PN-1,PN_R到PN+2_R以及在PN_W到PN+2_W中处理器的选择。在浏览几个状态(I)的过程中,每一个处理器PN_W到PN+2_W被依次选择,状态(I)的数字被浏览,从而使得在写状态下处理器的整个“旅行”依赖于提供给优先权级别M+3的访问频率。这是由于提供给级别M+3的频率决定了在选择器MPS中选择改变的频率。这种共享的优先权级别已经被证明对于在读状态集合处理器的访问可能性具有较小的优势。
这一优选实施例能够在少于先前的实施例的优先权级别上执行仲裁,因此更为快速和简便。此外,本实施例使功能部件能够在写状态平行操作而不造成任何锁定,从而优化了对公共源的访问的使用。这是由于,根据后面的优选实施例,非临界功能部件同时完成它们的工作。
下面将参照附图8a和8b详细描述处理选择器的操作。
在优选实施例中,同一优先权级别M+3构成了在共享写状态下的访问可能性,这是通过在功能部件PN_W到PN+2_W的子集中在写状态下的访问可能性之间,对几个状态I,进行浏览而实现的。附图8a表明了处理选择器MPS的操作可能性。对于状态I在优先权级别M+3被询问的地方,在每一仲裁中都考虑一个寄存器REG,询问是在处理选择器MPS中进行的,而且包括处理器PN-PN+2的至少由两个功能部件构成的一组功能具有相同的优先权级别M+3。每个寄存器的值都与一个功能部件相应,这里是PN_W,PN+1_W或PN+2_W。寄存器能够以一,二,三或者更多的比特实现,根据期望平行看到功能部件的方法的数目和/或期望看到给定的处理器出现在寄存器的值的整个“旅行”中的数目。这样附图8a以圆的形式描述了5个寄存器的值1-5。根据本发明,在写状态只有一个非临界处理器在每个状态进行考虑,在写状态能够具有同一非临界处理器的几个连续的状态将在仲裁器中被考虑。这是因为寄存器并不是在每一个变化状态下增加而是仅在涉及的优先权级别具有访问可能性的时候增加。这些值周期性的逐个被浏览。每一个值表示做选择的一个处理器。在写状态在每个处理器之间的访问的相对分配使能够通过寄存器的结构来控制的。这是因为,通过假设三个处理器PN_W,PN+1_W,PN+2_W彼此共享同一优先权级别M+3,它们的写总线的带宽分别是40Mbyte/s,20Mbyte/s和40Mbyte/s,那么通常将2/5的带宽分配给处理器PN_W和PN+2_W,1/5分配给PN+1_W。这种分配如图8A所示,PN_W为2,PN+2_W为2,以及PN+1_W为1。这种分配的其它的优点在于,当其中的一个处理器不需要访问的时候(例如PN+1),非临界处理器的可用的带宽将自然的在PN_W和PN+2_W之间平均分配。如果PN不需要访问,带宽将三分之一分配给PN+1,三分之二分配给PN+2。这是基于即使在MPS中选择的处理器不进行访问,寄存器的值也会增加的事实。因此这里寄存器最后使用3比特。在附图8a中通过圆周来浏览所需的状态(I)的数目依赖于在写状态下非临界功能部件的访问频率,就是说,在该实施例中优先权级别M+3被询问的频率。
附图8b更为精确的显示了在选择器MPS中是如何进行选择的,以及在附图8a中从一个状态到另一个状态的运动是如何进行的。在该图中,认为处理器P1到PN-1的访问是以简单的优先权顺序进行管理的,其中选择了最高级别的优先权。步骤SA1是从状态I跳到状态I+1之后进行的第一个步骤。这样在第一步骤SA1中,在当前状态I下,对于仲裁器而言,固定的优先权选择器FPS选择了优先权级别PRIOR(I)。如果优先权级别1到M+3之间存在至少一个请求,就选择与最小数字相应的优先权级别,否则级别M+3就是一个错误的选择。在步骤SA2,优先权级别与M+3相比较。如果优先权级别不是M+3,在步骤SA5中,对存储器的访问就被提供给宏命令MC,然后在步骤SA6中就进入下一个状态I+1进行一个新的仲裁,其重复图8b所述的过程。如果优先权级别等于M+3,在步骤SA3中就查询当前状态I下寄存器REG(I)的值,并且察看与存储器的值相应的处理器是否提交了宏命令MC。如果处理器已经提交了一个宏命令MC,在步骤SA5中访问就被提供给与优先权级别PRIOR(I)相应的宏命令MC并且在步骤SA4中,寄存器增加为J+1以5为模,这样在下一状态,访问就被提供给另一个处理器,并且在步骤SA6,系统进行下一个状态I+1。
利用在优选实施例中提出的仲裁器,能够最大限度的使用公共源,如果所有的处理器(延迟敏感,临界,非临界)利用的带宽小于可用的带宽,并且所有的非临界处理器的峰值带宽(瞬时带宽)大于可用的带宽。
在优选实施例中,本发明的优点在于不会浪费访问可能性,非临界处理器通常预备利用空闲的访问可能性,所有的非临界处理器能够同时完成它们的工作,并且非临界功能部件的管道是充满的。
附图9示出了如在本发明的“发明概述”部分中所描述的本发明的基本特征结构。一个功能系统包括一组将要访问公共源(RSRC)的功能部件F,F’,。该系统包括至少一个由仲裁器的优先权顺序定义的状态(I),根据该状态功能部件(F,F’)能够访问公共源(RSRC)。状态(I)的特征在于,对于至少有两个功能部件构成的至少一组功能部件,在读状态F_R的访问能与在写状态F_W的访问可能性具有不同的优先权级别,在写状态的访问可能性比在写状态的访问可能性具有连续的较高的优先权级别。
上面参照图1到图8所描述的数据处理设备是图9所示的基本特征结构的实现的一个例子。图9中所示的公共源RSRC在图1中以公共存储器的形式表示。图9中所示的功能部件F,F’在图1中以单元B的形式表示。图1中所示的存储器接口INT执行图8a和8b所示的访问方法。这种访问方案的特征在于图8a中所示的浏览寄存器的值的多个可变的状态。使用宏命令的访问可能性的限度是16个存储器地址。每个状态通过被执行的仲裁来定义优先权的顺序,根据这种仲裁,单元B能够访问公共存储器SDRAM。优先权的顺序可以在所有的状态(I)中是相同的,如图6所示,或者如图7所示,能够根据访问可能性被提供给最低的优先权级别的情况进行修改。
本发明能够被应用于包含有一个MPEG解码器的集成电路和其它用于处理和显示图像的电路中。在这样的一个集成电路中进行了多个处理,一个处理等效于一个功能部件。存在多个处理器P将去访问SDRAM类型的公共存储器,下文中将SDRAM类型的公共存储器成为SDRAMP1DISP(显示)P2OCD(屏上显示)P3BCKGND(背景)P4CCIR656P5VMIX(视频混合器)P6AUDIOFIFO(音频FIFO读和写)P7AUDIOBUF(音频缓冲器读和写)P8VFW(视频FIFO写)P9VFR(视频FIFO读)P10MC(运动补偿)P11DMUP12INTERP
处理过程P1(DISP)涉及被解码的图像的显示。处理过程P2(OSD)涉及在显示的解码的图像上叠加的图像数据的显示。处理过程P3(BCKGND)涉及作为屏幕背景或透过解码和处理过的图像显示的固定图像。处理过程P4(CCIR656)涉及能够接收已经解码的图像并将其存储在存储器中的集成电路的一个输入端。这些图像能够通过处理过程P1(DISP)取代来自于MPEG解码器的图像来显示。处理过程P5(VMIX)涉及来自于处理过程P1(DISP),P2(OSD)和P3(BCKGND)的三个数据流的混合。处理过程P8(VFW),P9(VFR)和P6(AUDIOFIFO)涉及通过解扰/解复用设备对从MPEG数据流中抽取编码的视频和音频数据进行读和写。处理过程P7(AUDIOFIFO)涉及音频处理器的中间产生数据的读和写。处理过程P(10)涉及构成在MPEG视频解码器中的一个步骤的运动补偿。处理过程P11(DMU)涉及一种加速设备,其对SDRAM中的数据进行比较复杂的操作,诸如移动一个或者多个数据块或者滤波操作。处理过程P12(INTERP)涉及MPEG解码器的最后一个部分,其提供将要被写入到SDRAM中的解码图像,以便显示它们或者将它们作为参考图像,或者既显示它们又作为参考图像。处理过程P8到P12不是临界的,因此它们对公共源的访问能够根据本发明来管理。如果前面的处理过程P1到P7是按照访问方案中的传统的优先前权顺序的话,那么M=8,处理过程P8到P12在写状态的访问的优先权级别是8-12,然后处理过程P8到P12在写状态下的访问被如图8a所示以一个圆的形式组成小组,其优先权级别为13。
上面参照附图的描述是为了解释本发明,并不对其进行限制。很清楚在随后附加的权利要求的范围内存在着多种变换。根据这一点,提出了一些解释。
本发明可以应用于任何功能系统。附图1只是示出了根据本发明应用于一个数据处理设备中的一个实施例。其也可以应用于例如一个包括一个中央服务器和多个终端的通信系统当中。本发明能够被用来以有效的方式来管理终端对中央服务器的访问。
实现功能部件存在许多方法,可以利用物理器件(硬件项)或者软件或者二者的结合来实现。在这点上,附图只是高度的示意,每个附图仅表示一个实施例。因此,尽管附图以分离单元的形式表明了各个功能部件,这并不排除以一个单个的物理器件或者软件项来实现若干个功能部件。无法排除一个功能部件能够通过一组物理器件或者软件项来实现的事实。
例如在图4中所示的存储器接口包括多个单元,其组合起来控制对公共源的访问,以及控制包含在存储器接口中的存储器。原则上通过合适编程的计算机电路是能够实现这些单元的。一套包含在一个可编程存储器中的指令能够令计算机电路执行上面参照附图1-8描述的各种操作。这套指令能够通过对诸如包含该套指令的盘这样的数据载体进行读取而被下载到可编程存储器中。读取可以通过诸如互联网的通信网络来执行。在这种情况下,服务提供商将感兴趣的人得到这套指令。
权利要求的括号中的参考符号不应当被限制性的解释。动词“包括”不排除列举在权利要求中的其它的元件或者步骤的出现。元件或者步骤前面的不定冠词也不排除多个这样的元件或者步骤的出现。
权利要求
1.一种包括一组将要访问一个公共源(RSRC)的功能部件(F,F’)的功能系统,该系统包括一个适合实现访问方案(AS)的接口(INT),该访问方案包括至少一个由优先权顺序定义的用于仲裁的状态(I),功能部件(F,F’)据此能够访问公共源(RSRC),状态(I)的特征在于,对于至少两个功能部件(F)构成的至少一组功能部件,读状态(F_R)的访问可能性与写状态(F_W)的访问可能性具有不同的优先权级别,在读状态的访问可能性具有高于在写状态下的访问可能性的优先权级别的连续的优先权级别。
2.如权利要求1所述的功能系统,其特征在于浏览几个状态(I),状态(I)是由优先权顺序定义的,其中至少一个优先权级别构成了属于在几个状态(I)共享同一优先权级别的功能部件(F_W)的一个子集中的一个功能部件对公共源的访问可能性。
3.如权利要求2所述的功能系统,其特征在于通过在写状态下在功能部件组F的访问可能性之间,浏览几个状态(I),使至少有一个同一优先权级别被共享。
4.如权利要求3所述的功能系统,其特征在于,当接口从在写状态下访问可能性被提供给属于一组功能部件中的一个功能部件的状态跳到下一个状态的时候,对于至少一个下一个状态,在写状态下访问可能性被提供给功能部件组的另一个功能部件。
5.一种用于管理一种包括一组功能部件(F,F’)以及功能部件(F,F’)将要访问的公共源(RSRC)的功能系统的方法,其特征在于该方法包括下述步骤根据不同的优先权级别,管理至少两个功能部件(F)构成的一组功能部件在写状态的访问可能性以及在读状态的访问可能性,读状态的访问可能性比写状态的访问可能性具有较高的连续的优先权级别。
6.一种包括一组将要访问一个公共存储器(MEM)的一组处理器(P)的数据处理设备,该设备包括一个适合实现访问方案(AS)的接口(INT),该访问方案包括至少一个由优先权顺序定义的用于仲裁的状态(I),处理器(P)据此能够访问公共源(RSRC),状态(I)的特征在于,对于至少两个处理器(P)构成的至少一组处理器,读状态的访问可能性与写状态的访问可能性具有不同的优先权级别,在读状态的访问可能性具有高于在写状态下的访问可能性的优先权级别的连续的优先权级别。
7.用于包括一组功能部件(F,F’)以及该功能部件(F,F’)将要访问的公共源(RSRC)的功能系统的计算机程序产品,其特征在于计算机程序产品包括一套指令,当指令被下载到功能系统的时候,令功能系统执行权利要求5所述的方法。
全文摘要
本发明涉及一种包括将要访问一个公共源(RSRC)的一组功能部件(F,F’)的功能系统,该系统包括一个适合实现访问方案(AS)的接口(INT),该访问方案包括至少一个由优先权顺序定义的用于仲裁的状态(I),功能部件(F,F’)据此能够访问公共源(RSRC),状态(I)的特征在于,对于至少两个功能部件(F)构成的至少一组功能部件,读状态(F_R)的访问可能性与写状态(F_W)的访问可能性具有不同的优先权级别,在读状态的访问可能性具有高于在写状态下的访问可能性的优先权级别的连续的优先权级别。
文档编号G06F13/16GK1441361SQ0310664
公开日2003年9月10日 申请日期2003年2月21日 优先权日2002年2月26日
发明者H·德佩尔图伊斯, E·德斯米希特 申请人:皇家菲利浦电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1