硬件中的可配置存储器分区的制作方法

文档序号:6422602阅读:78来源:国知局
专利名称:硬件中的可配置存储器分区的制作方法
技术领域
本发明涉及电子技术领域,尤其涉及一种存储器系统,该系统可被配置为提供多个独立的读/写缓冲器。
当数据从数据源传送至目的地时,缓冲器通常用来临时存储数据。这种临时的数据存储允许数据源和目的地之间的异步操作以及数据源和目的地之间的短暂的速度失配周期,并且提供一种在不丢失数据的前提下调整数据源的数据传输速率的有效措施等等。
最初,来自数据源的数据以数据源所能提供的速度被写入缓冲器,并且以目的地能够接受的速度被读出缓冲器。如果数据源的速度比目的地的速度慢,目的地就必须等待缓冲器中有可用数据。如果数据源的速度比目的地的速度快,则数据源持续为缓冲器提供数据直至缓冲器变满或者几乎变满,此时,数据源被命令停止数据传送,直到目的地从缓冲器中移走数据,以便为源数据腾出空间。通过允许以数据源的传输速率从数据源接收数据直至缓冲器变满,就可支持间歇的高于平均速率的传输速率,并且目的地处的间歇的接收延迟也就不必传播到数据源。可以在不影响整体数据传输速率的前提下所允许的、在数据源和目的地间的间歇的传输速度差的总量取决于缓冲器的大小,较大的缓冲器能够比较小的缓冲器允许更大的速度差。
缓冲器的大小通常基于数据源或者目的地的特性决定,或者基于二者的特性决定,尤其与它们的数据传输速度的间歇特性有关。如果数据源和目的地各具有均匀的传输速率,就几乎不用缓冲。如果数据源提供数据脉冲串,或者目的地分块处理数据,则缓冲器的大小通常被设置成可以容纳所述脉冲串或块的大小。
大部分系统都包含多个数据源和目的地,并且用多个缓冲器来便于每个数据源和目的地之间的数据传输。多数情况下,存储器的总量是有限的,而分配给每个缓冲器的存储器量的大小是基于上面提及的数据源和目的地的特性来确定的,并且也取决于与维持特定数据源和目的地之间的高传输速率相关联的相对优先权和其他性能因素。然而,在许多情况下,在其上运行应用程序的系统并没有利用系统设计所支持的所有数据源和/或目的地,而与这些数据源和/或目的地相关联的缓冲器也并未被使用。同样,不同的应用程序可能将不同的优先权与特定的数据源和目的地之间的传输相关联,而缓冲器大小的分配可能与希望的优先权不一致。
通过向应用程序提供整个缓冲器的存储器空间并且让应用程序将存储器逻辑分区为各单独设置大小的缓冲器,就可向应用程序提供完全可配置的存储器分区。但是,这种方法通常要求应用程序处理缓冲器管理的所有方面。可供选择地,系统可以保留处理缓冲器管理的职责,同时也允许可编程的缓冲器大小。然而在这样一个实施例中,与管理可变缓冲器大小的未知组合相关联的系统开销会造成系统成本过高,并且/或者会引入处理延迟以致降低系统性能。
本发明的一个目的在于提供一种缓冲器管理系统,该系统允许以最小的开销进行可配置的存储器分区。本发明的另一个目的在于提供一种易于控制和使用的缓冲器管理系统。而本发明的另外一个目的在于提供一种适合于在硬件设备上实现的缓冲器管理系统。
通过提供一个缓冲器管理系统来达到这些和其他目的,该系统将整个存储器空间分区成可编程数量的大小基本一致的缓冲器。一个应用程序将所需的缓冲器数量传送到缓冲器管理系统,然后将这些缓冲器分配在由该应用程序使用的数据传输路径之间。可选地,能将多个大小一致的缓冲器合并以形成单个逻辑缓冲器。通过将全部存储器空间分区成大小一致的缓冲器,管理多个缓冲器所需的开销被最小化。通过将选定数量的受管理的缓冲器提供给一个应用程序,该应用程序能够根据需要分配这些缓冲器,而不必考虑缓冲器管理的细节。
参照下面的附图,以举例的方式对本发明进行更详细地解释,其中

图1示例了根据本发明的缓冲器管理系统的方框图。
图2示例了根据本发明将存储器空间分区成大小一致的缓冲器的示例分区。
图3示例了用于在根据本发明的已分区的缓冲器系统中使用的一种缓冲器编址方案的示例结构。
在所有附图中,同样的附图标记表示相似或相应的特征或功能。
图1示例了根据本发明的缓冲器管理系统100的示例方框图。缓冲器管理系统100包含控制器150,被配置为对写入控制逻辑130和读出控制逻辑140进行控制,以便于从一个或多个数据源110到一个或多个目的地120的数据传输。尽管为了便于理解,图中示例了分离的控制块130、140和150,但是,控制块130和140典型地是控制器150的组件。正如现有技术所公知的,一个可以发送和接收数据的设备可以作为数据源110和目的地120。为了便于参照,本文中数据源一目的地路径被定义为一个管道,该管道实现从一个特定数据源到一个特定目的地、或从多个数据源到一个特定目的地、或从一个特定数据源到多个目的地、或从多个数据源到多个目的地的数据传输。也就是说,在一个数据源一目的地路径上的缓冲器,可以接收到仅从一个数据源到一个目的地的数据,或可以接收编址到同一目的地的所有数据,或可以接收从一个数据源发送出来的所有数据,或可以接收从多个数据源发送到多个目的地的所有数据。
一个或多个应用程序(未示出)初始化在数据源110和目的地140之间的数据传输。取决于特定的应用程序,可以定义不同的数据源-目的地路径,可以为每一条路径分配不同的优先权,并且可以展现出不同的通信量模式等等。根据本发明,取决于一个或多个应用程序对于在不同的数据源-目的地路径上进行高效数据传输的需要,控制器150负责安排把缓冲存储器200分区为各独立的缓冲器。
鉴于本申请公开,对本领域普通技术人员而言可明确的是,本发明特别适合于以下实现方式其中将通过不同的数据源-目的地路径传输数据的应用程序是先验已知的,但是目的地端口的总数则由应用程序在运行时确定。例如,在硬件设计系统中,缓冲存储器200、写入控制逻辑130、读出控制逻辑140和控制器150可以体现为预先定义的“库”元件。当用这些库元件生成定制设计的集成电路时,控制器150实现对缓冲存储器200的分区,以支持体现在集成电路中或者体现在包含了该集成电路的系统中的应用程序。在另一个例子中,缓冲器管理系统100可以被包含在一个能运行多个应用程序的可编程设备或系统中,当特定的应用程序集被编程到这个可编程设备中时,控制器150对缓冲存储器200进行分区。
在本发明的一个优选实施例中,控制器150接收一个参数,该参数指定了从缓冲存储器200中所需的缓冲器数量。基于该参数(在下文中称之为分区参数),控制器150将缓冲存储器200分区为多个大小相同的缓冲器,其中缓冲器的相同大小k为2的幂。在本发明的一个优选实施例中,分区的数量也是2的幂,如图2所示。
在图2中,存储器200a包含一个单独的缓冲器B0,对应于分区参数1;存储器200b包含两个缓冲器B0 210和B1 211,对应于分区参数2。存储器200c包含4个缓冲器220、221、222、223,对应于分区参数3或4。通常情况下,如存储器200d所示,图1中的存储器200被分区为“n”个大小相同的缓冲器,这里“n”为2的整数幂(n=2N),对应的分区参数在2N-1+1到n之间。
为便于理解,本发明最初是针对分区参数等于n的示例情况提出的,其中n是2的幂(n=2N)。下文中,将提出分区参数小于2N的例子。
来自数据源的数据被插入或写入到下一个可用的写入位置,并从最后未读出的位置被移走或读出至目的地。写入控制逻辑130确保下一个可用的写入位置未被使用,这里“未被使用”被定义为不包含将要被读出至目的地的数据。如果缓冲器已满,从而整个缓冲器都包含了将要被读出至目的地的数据,则对缓冲器的写入将被延迟,直至最早的或最后未读出的数据被读出至目的地,从而释放缓冲器中的可用空间。读出控制逻辑140确保尚未被读出至目的地的数据是可用的,否则迟延读操作。
在传统的缓冲器系统中,和在本发明中一样,每个缓冲器B0,B1,...都被配置为循环缓冲器,其中缓冲器的“终止(end)”或“顶部(top)”之后的“下一个”位置为缓冲器的“起始(start)”或“底部(bottom)”。写入控制逻辑130和读出控制逻辑140被配置为同时在多个缓冲器中实现该循环编址。下列伪代码实现用于单个缓冲器的循环递增函数function next_address(current_address,buffer_start,buffer_end)if current_address<buffer_endthen next_address=current_address+1else next_address=buffer_start.
在具有n个缓冲器的缓冲存储器200的例子中,函数next_address可被如下定义function next_address(current_address,buffer_index)if current_address<buffer_end[buffer_index]then next_address=current_address+1else next_address=buffer_start[buffer_index];其中buffer_start和buffer_end数组包含每一个缓冲器的起始和终止位置,并且对于函数是局部已知的。使用这种函数形式,对n个缓冲器中的缓冲器“j”的写指针(wp)的递增可用下列命令实现wp[j]=next_address(wp[j],j).
以类似的方法,对缓冲器“j”的读指针(rp)的递增可用下列命令实现rp[j]=next_address(rp[j],j).
对缓冲器j的写入可以通过下列伪代码定义function write(data,j)if OK_to_write(j)thenbuffer[wp[j]]==datawp[j]==next_address(wp[j],j)write==SUCCESS;elsewrite==FAILURE;其中在这个模块中,写指针wp指向缓冲器中的下一个用来存放数据的可用位置,并且对于该函数是局部已知的。OK_to_write函数是一个传统的检查函数,其基于比较读指针和写指针来验证缓冲器未满。在该实例中,如果写入函数返回失败(FAILURE),则指示数据源不要再发送其它数据,并且写入函数被应用程序重复调用直至返回成功(SUCCESS),然后使数据源能够再次发送另一个数据项。正如本领域公知的那样,在数据源和缓冲器之间如果有一个显著的时间迟后,则只要缓冲器变得“几乎已满(nearly full)”,数据源就可能被禁止发送其它数据,其中使用一个数据槽阈值数量来定义“几乎已满”。
从缓冲器j的读出可以用下面的伪代码定义function read(j)loop here until OK_to_read(j);read=buffer[rp[j]]rp[j]=next_address(rp[i],j]);其中在该模块中,读指针rp指向缓冲器中的要从中读出数据的下一个可用位置。OK_to_read(j)函数是一个传统的检查函数,它验证已被写入到缓冲器中的数据尚未被读出。在该实施例中,读出函数在其内部循环中等待,直到OK_to_read函数指示在缓冲器中有数据可供读出。
注意,在上面给出的例子中,由应用程序向n个缓冲器中的一个缓冲器进行写入或从中进行读出只需一次函数调用,从而使应用程序的复杂度保持最小。根据本发明,应用程序仅将它对缓冲器的需求通知控制器150,随后只需使用前面提及的缓冲器索引(上面例子中提到的“j”)把每个缓冲器分配到每个数据源—目的地路径上。通过对相应地索引的缓冲器执行读出或写入,实现沿着各条路径的每个读出或写入。如图1中的虚线箭头所示,数据传输的路径标识通常包含在被传输的数据内部,例如通过在数据中使用目的地字段。在该例中,控制器150提供正确的映射给写入控制逻辑130,以实现从数据中的目的地字段到与被标识的目的地相对应的缓冲器索引的转换。在这个实施例中,在应用程序中无需包含显式的“写入”函数调用,当包含目的地字段的数据包到达时,写入函数被隐含地调用,并且从数据本身自动计算出缓冲器索引。
同样需要注意,在上面的例子中,无论是显式的还是隐含的,每个读出或写入操作都需要调用一次next_address函数。因此,next_address函数的复杂度将直接影响缓冲器管理系统100可达到的吞吐量。上述的next_address函数需要基于buffer_start和buffer_end数组的所索引的内容进行条件测试、比较和赋值。而且,上述next_address函数需要存储这些数组或类似结构。本领域普通技术人员也认识到,上面的next_address函数并不特别适合在硬件中实施。
根据本发明,next_address函数被优化,以删除基于buffer_start和buffer_end数组的所索引的内容而进行的条件测试、比较和赋值,从而提供一个特别适合于在硬件中实施的函数。在一个优选实施例中,buffer_start和buffer_end数组同样被删除。
如上所述,依照本发明,n个相同大小的缓冲器中的每个缓冲器的大小都为“k”,k为2的整数幂(k=2Z)。定义大小为2M的缓冲存储器200的开头为地址0,并且假设n个相同大小的缓冲器中的每一个在缓冲存储器200中是连续的(缓冲存储器200起始于地址0,终止于地址2M-1),限制每一个缓冲器大小为k(k=2Z)具有下列优点地址中的低Z位将对应于每个缓冲器中一个唯一的位置(从0到2Z-1),并且地址中的高M-Z位将对应于上述每个缓冲器的索引(从0到n-1)。
图3是示例在根据本发明的在被分区划分的缓冲器系统中使用的缓冲器编址方案的示例结构。如上所述,假设缓冲存储器200大小为2M,因此M位被用来唯一编址缓冲存储器200中的每一个存储器位置。在这M位中,需要N位来对多达2N个缓冲器进行索引。剩余的M-N位于是可用来在2N个缓冲器中的每一个缓冲器内直接进行编址,因为如上所述,地址中的低Z(=M-N)位与大小为2Z的缓冲器中的一个唯一的位置相对应。
应用图3中示例的结构,用于实现循环递增函数的伪代码如下所示function next_address(current_address,buffer_index)next_address=current_address+1next_address{upper N bits}=buffer_index;其中括号表示next_address的高N位被给定的buffer_index代替。
本领域普通技术人员会认识到,上述函数非常适合于在硬件中实施。第一个语句仅对应于地址递增(address-increment)函数,其应用于current_address的全部内容。如果current_address处于缓冲存储器200中的所分配的缓冲器空间的末端,则该递增函数将引起对图3结构中的缓冲器索引字段(高N位)的‘进位’,如果缺少下一个语句的话,其可能导致next_address错误地与下一个相邻缓冲器相关联。但是,第二个语句是位重写(bit-overwrite)函数,它通过确保next_address与缓冲器索引字段中的正确的buffer_index一起被返回而自动纠正该错误关联。在硬件中,可以用一次或两次位屏蔽(bit-masking)操作来实现该语句。
本领域普通技术人员还会认识到,图3的结构还给每个相同大小的缓冲器提供最大的可用存储器。如图2所示,如果只需要1个缓冲器,则N等于0,并且整个缓冲存储器200都被分配给这个缓冲器;如果需要2个缓冲器,则N等于1,并且每个缓冲器拥有缓冲存储器200的一半大小;而如果需要4个缓冲器,则N等于2,并且每个缓冲器拥有缓冲存储器200的四分之一大小,等等。
在一个典型的硬件实施例中,上述的“库”元件将包含一个大的缓冲存储器200。在包含少数数据源-数据路径的应用程序中,每一个数据源-数据路径都被分配了该缓冲存储器200的较大部分,因此潜在地提供了高吞吐率。而在包含多个数据源-数据路径的应用程序中,每一条路径只被提供了该缓冲存储器的较小部分,而吞吐量也就同样被限制了,如同在通常本来就有许多数据源-数据路径的应用程序中那样,但是该应用程序仍将得到支持,而无需重新设计库元件。
也就是说,通过将存储器空间分区成大小为2的整数幂的大小相同的缓冲器,可以提供一个高效的缓冲器管理系统,其中管理多个循环缓冲器所需的开销以及对整个可用缓冲存储器进行分区和分配的开销都是最小的。
本领域普通技术人员会认识到,虽然缓冲器具有相同的物理大小,但应用程序可以逻辑地将多个相同物理大小的缓冲器关联到一个逻辑缓冲器,并且将这个较大的逻辑缓冲器分配到一个特定的数据源—目的地路径上。例如,应用程序可能把图2中的缓冲存储器200c的缓冲器B0、B1和B2分配给一条路径,而把缓冲器B3分配给另一条路径。通过对每个缓冲器进行轮叫写入或读出(B0,B1,B2,B0,B1等等),就可实现在第一条路径上的数据传输。可替换地,如果缓冲器比数据源-目的地路径多,则应用程序可以被配置为保持一个或多个“备用的”缓冲器,并且当特定的路径由于突然的通信量骤增发生高级别的写入错误时,可根据需要动态地分配这些备用缓冲器。用于利用本发明所提供的优势的这些和其他技术对于本领域普通技术人员来说是显而易见的。
本发明的原理也可以通过使用不同大小的缓冲器体现,虽然复杂度稍微增加。例如,考虑把缓冲存储器200分区为3个缓冲器。在将存储器200c分区为4个缓冲器的例子中,需要用两位来做缓冲器索引,即使用组合00,01,10和11。其中每一组合唯一地标识了200c的其中一个缓冲器B0、B1、B2和B3。而3个缓冲器同样要用两位来做缓冲器索引,但是使用上面详细描述的算法,其中一个索引比位组合将不被使用,这样,其中有一个分区就无法使用。
但是,在这个替换实施例中,缓冲器索引可以与多个位组合相对应。换句话说,例如缓冲器B0可能对应于索引位组合00,缓冲器B1对应于索引位组合01,缓冲器B2可能对应于索引位组合10或11。这样,缓冲器B0和B1各被分配了缓冲存储器200的四分之一,而缓冲器B2将被分配予缓冲存储器200的一半。这种索引位组合的多重分配可以通过引入现有技术中公知的“无关(don’t care)”位屏蔽(bit-masking)操作来实现。也就是说,使用符号“-”来标识“无关”位,这样,将上面给出的索引位分配规定为B0=00,B1=01,B2=1-。使用这个规定,把上面的将缓冲器索引存储入next_address的高N位中的位分配语句修改成只替换所规定的位,而不管“无关”位。下列的示例伪代码示例了这种技术,其用于对缓冲器管理系统的硬件描述,该系统允许将具有8位(0-7)地址空间的缓冲存储器分区为1、2、3或4个缓冲器地址递增
case(no.of buffers)1ptr[7:0]+1;2case(buffer index)0ptr0[7:0]<={0,ptr0[6:0]+1};1ptr1[7:0]<={1,ptr1[6:0]+1};endcase3case(buffer index)0ptr0[7:0]<={00,ptr0[5:0]+1};1ptr1[7:0]<={01,ptr1[5:0]+1};2ptr2[7:0]<={1,ptr2[6:0]+1};endcase4case(buffer index)0ptr0[7:0]<={00,ptr0[5:0]+1};1ptr1[7:0]<={01,ptr1[5:0]+1};2ptr2[7:0]<={10,ptr2[5:0]+1};3ptr3[7:0]<={11,ptr3[5,0]+1};endcaseendcase.
在这个伪代码示例中,“<=”符号表示符号右边的内容被传送到符号左边的寄存器中,花括号表示面向位(bit-oriented)的操作,其中第一个参数表示各最高有效位接收到的值,第二个参数表示各最低有效位接收到的值。
在上面的伪代码的3个缓冲器的情况中,当指向缓冲器B0的指针(ptr0)递增时,指针的高两位被强置为00;当指向缓冲器B1的指针(ptr1)递增时,指针的高两位被强置为01;但是当指向缓冲器B2的指针(ptr2)递增时,只有指针的最高位被强置为1,第二有效位被面向位的操作的第二个参数控制。也就是说,指向缓冲器B2的指针(ptr2)的低7位(从第6位到第0位)行进通过一个普通的计数循环,而只有指向B0和B1的指针(ptr0和ptr1)的低6位(从第5位到第0位)行进通过一个普通计数循环增加。“无关”索引位的其它组合可以被容易地定义来提供不相等的缓冲器大小。例如,一组索引(00-,01-,1-0,101,111)对应于整个缓冲存储器200的(1/4,1/4,1/4,1/8,1/8)大小。
以上只示例了本发明的原理。但是,本领域普通技术人员会理解,能够设计出各种各样的安排,尽管没有在此明确地描述或显示,但是所述安排也体现本发明的原理从而落在下面的权利要求书的精神和范围内。
权利要求
1.一种缓冲器管理系统(100),包含缓冲存储器(200)和适于耦合到缓冲存储器(200)的控制器(150),该控制器被配置为根据分区参数将缓冲存储器(200)分区为多个独立缓冲器(220-223),所述分区参数确定所述多个缓冲器的数量,其中所述多个独立缓冲器(220-223)中的每一个的大小都为2的整数幂,以便于对缓冲器进行循环访问。
2.如权利要求1所述的缓冲器管理系统(100),其中控制器(150)被配置为包含一个循环递增函数,该循环递增函数仅需一个地址递增函数和一个位重写函数,以实现指向所述多个独立缓冲器(220-223)中的所选定缓冲器的指针的循环递增。
3.如权利要求1所述的缓冲器管理系统(100),其中所述多个独立缓冲器(220-223)的缓冲器大小是相等的。
4.如权利要求1所述的缓冲器管理系统(100),其中控制器(150)被进一步配置为在多个数据源-目的地路径之间分配所述多个独立缓冲器(220-223)。
5.如权利要求1所述的缓冲器管理系统(100),其中控制器(150)被进一步配置成为一个或多个应用程序提供写入接口(130)和读出接口(140),写入接口(130)只需要将被存储的数据的标识和所述多个独立缓冲器(220-223)中的用来存储该数据的选定缓冲器的标识,读出接口(140)只需要该选定缓冲器的标识。
6.如权利要求1所述的缓冲器管理系统(100),其中缓冲存储器(200)由M位地址编址,所述多个独立缓冲器(220-223)中的每个缓冲器由N位索引来索引,该索引形成M位地址中的一组N个最高有效位,每一个缓冲器的大小至少为2M-N。
7.一种管理缓冲存储器(200)的方法,包含接收一个分区参数,把存储器缓冲器分区为多个独立缓冲器(220-223),其中所述多个缓冲器的数量由分区参数确定,并且所述多个独立缓冲器(220-223)中的每个缓冲器的大小都为2的整数幂,从而便于对每个缓冲器进行循环编址。
8.如权利要求7所述的方法,其中所述多个独立缓冲器(220-223)的大小是相等的。
9.如权利要求7所述的方法,进一步包含对每一个缓冲器提供循环编址,其中循环编址包含递增缓冲存储器(200)的地址,并重写缓冲存储器(200)中的对应于该缓冲器索引的选定地址位。
10.如权利要求7所述的方法,进一步包含提供写入接口(130),该写入接口只需要将被存储的数据的标识和所述多个独立缓冲器(220-223)中的用来存储该数据的选定缓冲器的标识,并提供读出接口(140),该读出接口只需要该选定缓冲器的标识。
11.如权利要求7所述的方法,其中缓冲存储器(200)由M位地址编址,所述多个独立缓冲器(220-223)中的每个缓冲器由N位索引来索引,该索引形成M位地址中的一组N个最高有效位,每一个缓冲器的大小至少为2M-N。
12.一种集成电路,包含缓冲存储器(200)和控制器(150),该控制器包含写入控制逻辑(130)和读出控制逻辑(140),其中控制器(150)被配置为根据被提供给它的分区参数把缓冲存储器(200)分区为多个缓冲器(220-223),所述多个缓冲器(220-223)中的每个缓冲器的大小都为2的整数幂,并且写入控制逻辑(130)和读出控制逻辑(140)各被配置为便于将每一个缓冲器用作循环缓冲器。
13.如权利要求12所述的集成电路,其中所述多个缓冲器(220-223)的大小是相等的。
14.如权利要求12所述的集成电路,其中将每个缓冲器用作循环缓冲器需要循环编址,并且控制器(150)被配置为通过一个递增器和一个位屏蔽器来实现循环编址,该递增器被配置成递增缓冲存储器(200)的地址,并且该位屏蔽器被配置为重写对应于缓冲存储器(200)中的缓冲器索引的选定地址位。
15.如权利要求12所述的集成电路,其中写入控制逻辑(130)仅根据数据值的标识和选定缓冲器的标识来将数据值存储到所述多个缓冲器(220-223)中的选定缓冲器,而读出控制逻辑(140)则仅根据选定缓冲器的标识来获取数据值。
16.如权利要求12所述的集成电路,其中缓冲存储器(200)用M位地址编址,所述多个独立缓冲器(220-223)中的每个缓冲器由N位索引来索引,该索引形成M位地址中的一组N个最高有效位,每一个缓冲器的大小至少为2M-N。
全文摘要
一种缓冲器管理系统(100),它将整个存储器空间(200)分区成可编程数量的大小基本一致的缓冲器(220-223)。应用程序将所需缓冲器的数量传送给缓冲器管理系统(200),然后在由应用程序所使用的各数据传输路径之间分配这些缓冲器。可选地,多个大小一致的缓冲器可以合并形成单个逻辑缓冲器。通过将整个存储器空间(200)分区成大小一致的缓冲器(220-223),管理多个缓冲器所需的开销被最小化。通过提供所选数量的被管理缓冲器给应用程序,应用程序就可以根据需要分配这些缓冲器,而不用去关心缓冲器管理的细节。
文档编号G06F5/06GK1726457SQ200380105793
公开日2006年1月25日 申请日期2003年12月9日 优先权日2002年12月12日
发明者S·杜特塔 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1