先进先出缓冲器的存取方法及其控制器的制作方法

文档序号:6465809阅读:186来源:国知局
专利名称:先进先出缓冲器的存取方法及其控制器的制作方法
技术领域
本发明涉及一种用以存取先进先出(First-in-first out, FIFO)緩冲器的方 法及控制器的装置,且特别涉及 一 种用以降低执行从 一 时钟域(Clock Domain)跨越至另 一个时钟域的数据传输操作所需的传输时间。
背景技术
先进先出(First-in-first out, FIFO緩冲器时常被应用在具有多个不同时 钟域(Clock Domain)的系统中,FIFO緩冲器用以暂存从一个时钟域传送至 另 一个时钟域的数据,以执行使不同时钟域间的数据传输同步化 (Synchronization)的操作。在传统FIFO緩沖器存取方案中,仅使用满标志 (Full Flag)及空标志(Empty Flag)来分别指示FIFO緩沖器是满状态及是空状 态。FIFO緩冲器中存储的数据只有在FIFO緩冲器为满状态时才会被输出。 因此, 一笔数据从一个时钟域被输出的时点及此笔数据在另 一个时钟域被 接收的时点间的时间延迟非常长。这样一来,使得系统的数据传输的效率 较差。
为了降低将数据由一个时钟域传输到另一个时钟域所需的传输时间, 两个额外的标志, 一个半满(Half-fbll)标志及一个半空(Half-empty)标志被应 用在另一个传统FIFO緩冲器数据存取方案中。然而,可产生此两个额外标 志的控制逻辑电路远较前述仅产生满标志及空标志的控制逻辑电路复杂。 因此,具有高数据传输效率且具有低硬件复杂度的FIFO緩冲器存取方法为 业界不断至力的方向之一。

发明内容
本发明涉及一种方法,用以存取先进先出(First-in-first out, FIFO)緩沖 器。无论此FIFO緩冲器为单端口 (Single-port)緩沖器或双端口 (Dual-port)緩 冲器,无论此FIFO緩冲器的数据突发(Burst of Data)的数据突发长度为固定 或为非固定,通过使用此方法,可有效地降低将数据突发由一个时钟域传输到另一个时钟域所需的传输时间。如此,使应用此方法的系统具有高数 据传输效率。
根据本发明提出一种存取方法,用以存取FIFO緩冲器,存取方法包括 下列的步骤当FIFO緩冲器中暂存的数据数目超过临界值时,提供请求事 件来存取存储器;当请求事件被允许时,输出(P叩pedout)FIFO缓冲器中暂 存的数据,以存取存储器。其中,当FIFO暂存器为单端口(Single-port)FIFO 緩冲器时,根据一次数据突发(Burst of Data)的突发长度来设定该临界值; 当FIFO緩冲器为双端口(Dual-port)FIFO緩冲器时,根据数据填入(Pushed in)FIFO緩沖器的速度及数据从FIFO緩冲器输出的速度来设定临界值。
根据本发明提出一种先进先出緩冲器的控制器,用以存取FIFO緩沖 器。控制器包括第一手段装置及第二手段装置。第一手段装置用以在FIFO 暂存器中暂存的数据数目超过临界值时,产生请求事件来存取存储器。第 二手段装置用以在请求事件被允许时输出FIFO緩冲器中暂存的数据,以存 取存储器。其中,当FIFO暂存器为单端口 FIFO緩冲器时,根据一次数据 突发的突发长度来设定临界值。当FIFO緩冲器为双端口 FIFO缓冲器时, 根据数据填入FIFO緩冲器的速度及数据从FIFO緩冲器输出的速度来设定 临界值。
为让本发明的上述内容能更明显易懂,下文特举一优选实施例,并配 合附图,作详细说明如下


图1绘示在时钟域(ClockDomain)中的FIFO緩冲器110、 FIFO控制器 120、存储器控制器130及存储器140的方块图。
图2绘示本发明实施例的用以存取FIFO緩冲器110的存取方法的流程图。
图3A绘示应用传统FIFO緩沖器存取方案存取一个单端口 FIFO緩沖 器时,对应的数据緩冲状态的时序图。
图3B绘示应用本实施例的方法存取一个单端口 FIFO緩冲器时,对应 的数据緩冲状态的一时序图。
图3C绘示应用本实施例的方法存取一个单端口 FIFO緩冲器时,对应 的数据緩沖状态的另 一 时序图。图4A绘示应用传统FIFO存取方案来存取FIFO緩沖器110时相关数
据存取状态的时序图。
图4B绘示应用本实施例的方法来存取FIFO緩冲器110时相关数据存取状态的时序图。
图5A绘示数据触发的触发长度的机率分部图。
图5B绘示请求事件被产生的时点与被允许的时点所定义出的等待时间的机率分部图。
主要元件符号说明
110先进先出緩冲
120先进先出控制
130存储器控制器
140存储器
150存储器总线
具体实施例方式
本实施例的用以存取先进先出(First-in-first out, FIFO)緩冲器的方法包括两个步骤。首先,当FIFO緩沖器中暂存的数据数目超过一个临界值时,提供用以存取存储器的请求事件。接着,当此请求事件被允许时,输出(Popped out)FIFO缓冲器中暂存的数据,以存取此存储器。当FIFO暂存器为单端口 (Single-port)FIFO缓冲器时,根据一次数据突发(Burst of Data)的突发长度来设定此临界值。当FIFO緩冲器为双端口(Dual-port)FIFO緩冲器时,根据数据填入(Pushed in)FIFO緩冲器的速度及数据从FIFO緩冲器输出的速度来设定此临界值。
请参照图1,其绘示在时钟域(Clock Domain)中的FIFO緩冲器110、FIFO控制器120、存储器控制器130及存储器140的方块图。FIFO緩冲器110用以对从时钟域Ca传送而来的数据进行暂存。本发明实施例的FIFO控制器120用以存取FIFO緩冲器110。存储器控制器130用以通过存储器总线150存取存储器140。图2绘示本发明实施例的用以存取FIFO緩沖器110的存取方法的流程图。
请参考图1及图2,在步骤210中,当FIFO緩冲器110中暂存的数据的数目超过此临界值时,FIFO控制器120提供请求事件来存取存储器14在本实施例中,FIFO控制器120提供请求事件至存储器控制器130。在接收到此请求事件后,存储器控制器130判断存储器总线150是否为闲置。当存储器总线150为闲置时,存储器控制器130允许此请求事件。
接着如步骤220,当请求事件被允许时,FIFO控制器120通过存储器总线150将FIFO緩冲器110中暂存的数据输出,以存取存储器140。
在本实施例中,适用于不同形式的FIFO緩冲器,此临界值被设定为不同的数值,如此,当请求事件被允许时,至少一个数据突发可有效地自时钟域Ca传输至时钟域Cb。接下来,对适用于各种不同形式的FIFO緩沖器的临界值进行进一步地论述。
若FIFO緩冲器110为单端口 (Single-port)緩冲器,临界值根据一个数据突发的突发长度来设定。当暂存于FIFO緩冲器110中的数据数量超过一个数据突发的突发长度时,即当一个数据突发已完整地暂存在FIFO緩冲器110中时,FIFO控制器120提供请求事件,以将FIFO緩沖器110中的此数据突发输出。
以图3A、 3B及3C所绘示的方法为例,在存取的在FIFO緩冲器同为单端口緩冲器的条件下,对本实施例的方法与传统FIFO緩沖器存取方案进行比较。图3A绘示应用传统FIFO緩冲器存取方案存取一个单端口 FIFO緩冲器时,对应的数据緩冲状态的时序图。其中,传统FIFO存取方案在此单端口 FIFO緩冲器(例如是FIFO緩冲器110)为满状态的时候提供一个请求事件。
请参照图3A,信号311指示FIFO緩冲器110中暂存的数据数量,信号312指示请求事件是否被提供,信号313指示请求事件是否被允许,信号314指示存储器140是否被存取。FIFO緩沖器110的存储容量为n字节(Byte)/比特(Bit)/字(Word)等等。
参考信号311 ,数据持续地被填入至FIFO缓冲器110,直到FIFO緩冲器110变成满状态,即FIFO緩冲器110中暂存的数据数目等于n。 FIFO緩冲器110接收数据的时间为期间Tal。当FIFO緩冲器110为满状态时信号312为高电平,以指示请求事件被产生。在请求事件被产生后及请求事件被允许之前具有等待期间Tbl。在期间TM结束后,信号313在期间Tcl中为高电平,以指示请求事件被允许。接着信号314被提升为高电平,以指示存储器140被存取,即FIFO緩沖器110中暂存的数据被输出至存储器140。如此,直到FIFO缓冲器110变为空状态而信号311对应地具有数值0之前,FIFO緩冲器110中暂存的数据数目持续地被降低。当FIFO缓冲器110变成空状态时,请求事件被终止,并释放存储器总线150的传输控制。图3B绘示应用本实施例的方法存取一个单端口 FIFO緩冲器时,对应的数据緩冲状态的一时序图。信号311' 314'例如分别具有与信号311 314相同的定义。
请参照信号312',当第一数据突发被暂存在FIFO緩冲器110中时,请求事件被产生。图3B中请求事件被产生的时点实质上早于图3A中请求事件被产生的时点。在期间Tb2之后,请求事件被允许。因此,在期间Tc2中,第一数据突发被输出至存储器140。
请回头参照图3A,在应用传统数据存取方案的情形中,只有FIFO緩冲器110处于满状态时,请求事件才会被产生。换句话说,在第一数据触发被填入至FIFO緩沖器110的时点,请求事件未被产生。在请求事件被产生且被允许之前,第一数据触发被暂存在FIFO緩冲器110中。
相对地,请参照图3B,在应用本实施例的方法的情形中,请求事件在第一数据触发被填入至FIFO緩冲器110的同时被产生。因此,相较于图3A的操作例子,在图3B的操作例子中,请求事件在较早的时点被允许,第一数据触发在较早的时点被输出。在图3B中,请求事件等待被允许的期间Tb2被假定为具有与期间Tbl相同的长度。请参照第3A及图3B,在应用本实施例的方法的情形中,第一数据触发可有效地在较早的时点被输出至FIFO緩冲器110。
图3C绘示应用本实施例的方法存取一个单端口 FIFO緩冲器时,对应的数据緩沖状态的另一时序图。信号311" 314"例如分别具有与信号311 314相同的定义。
请参照信号312",当第一数据突发被暂存在FIFO緩冲器110时,请求事件被产生。图3C中请求事件被产生的时点实质上早于图3A中请求事件被产生的时点。在期间Tb3中,第二数据触发被填入至FIFO緩沖器110,并填满FIFO緩冲器110。同时,请求事件等待被允许。因此,在期间Tc3中,请求事件被允许,FIFO緩冲器110中暂存的数据(包括第一数据触发及第二数据触发)被输出至存储器140。
在图3C中,请求事件在第一数据触发被暂存在FIFO緩冲器IIO的时点被产生。由于第一数据触发被暂存在FIFO緩冲器110的时点早于FIFO緩冲器110处于满状态的时点,相较于图3A的操作例子,在图3C的操作例子中,请求事件在较早的时点被允许。在图3C中,请求事件等待被允许的期间Tb3被假定为具有与期间Tbl相同的长度。相较于图3A中所绘示的传统FIFO暂存器存取方案,在图3C所示的应用本实施例的方法存取FIFO緩冲器110的例子中,FIFO緩冲器110中所暂存的数据可有效地在较早的时点被输出。
此外,在此临界值等于一个数据突发的条件下,至少一个数据突发可有效地在请求事件被允许的期间中被完整地自时钟域Ca传送至时钟域Cb。因此,FIFO援冲器在请求事件被允许时不会处于空状态,如此,以有效地避免因存取到空状态的FIFO緩冲器导致发生操作错误。
请参照图3A至图3C,期间Ta3、 Tb3及Tc3的时间总和小于期间Tal、TM及Tbl的时间总和。由于在图3A及图3B中FIFO缓沖器110均处于满状态,自时钟域Ca传送至时钟域Cb的总传输数据量均等于n。如此,当FIFO緩冲器110为单端口緩冲器时,相较于传统FIFO緩冲器存取方案,本实施例的存取FIFO緩沖器110的方法具有较高的数据传输效率。
若FIFO緩冲器110为可同时地进行数据填入及数据输出的双端口(Dual-port)緩冲器,根据数据填入FIFO緩沖器110的速度及数据从FIFO緩冲器110输出的速度来设定此临界值。换句话说,根据时钟域ca的频率及时钟域Cb的频率来设定此临界值。
若数据填入FIFO緩冲器110的速度高于数据从FIFO緩冲器IIO输出的速度,此临界值等于零。换句话说,无论一个数据突发的突发长度为固定或为非固定,请求事件在有任何数据被填入FIFO緩沖器110的同时被产生。
由于数据填入FIFO緩沖器110的速度高于数据从FIFO緩沖器110输出的速度,在请求事件被允许时,FIFO緩冲器110中永远有正等待被输出的数据。因此,在此临界值被设为零的条件下,至少一个数据触发可在请求事件被允许时被完全地自时钟域Ca传输至时钟域Cb。
请求事件在有任何数据被填入FIFO緩沖器110的时候被产生。由于有任何数据被填入FIFO緩冲器110的时点早于FIFO緩沖器110处于满状态的时点,请求事件被产生及被允许的时点被提早,而存储器可对应地被提早存取。如此,相较于传统FIFO緩冲器存取方案,本实施例的方法可在较 短的传输时间中完成相同数量的数据传输。
当数据从FIFO緩冲器110输出的速度高于数据填入FIFO緩冲器110 的速度时,根据数据从緩冲器110输出的速度与数据填入FIFO緩冲器110 的速度的比值来设定此临界值。在本实施例中,在数据突发的突发长度为 固定的情形及非为固定的情形中,此临界值被设定具有不同的数值。
若数据突发的突发长度为固定,根据FIFO緩沖器110的长度及前述段 落定义的相关于数据从緩冲器110输出的速度与数据填入FIFO緩冲器110 的速度的比值来设定此临界值。在本实施例中,FIFO缓冲器110中暂存的 数据由FIFO缓冲器110输出的速度等于速度Sr,数据填入FIFO緩冲器110 的速度等于速度St。对应的比值N等于Sr/St。 FIFO緩冲器110的长度等 于Lm。在本实施例中,此临界值被设定为
以图4A及图4B的例子来对应用本实施例的方法存取FIFO緩沖器 110(其为双端口(Dual-port)缓冲器)及应用传统FIFO缓沖器存取方案存取 FIFO緩沖器110的操作进行比较可知,本实施例的方法可经由较高的速度 来将FIFO缓沖器中暂存的数据输出,其中数据突发的突发长度为固定。在 这个例子中,假设FIFO緩冲器110的长度为4个字节(Byte), FIFO緩冲器 110中暂存的数据输出的速度Sr等于每单位时间2个字节,数据填入FIFO 缓冲器110的速度St等于每单位时间l个字节。如此,比值N等于2。
图4A绘示应用传统FIFO存取方案来存取FIFO緩冲器110时相关数 据存取状态的时序图。其中,FIFO緩冲器110为双端口 FIFO緩冲器,在 传统数据存取方案在FIFO缓冲器110处于满状态时产生请求事件。信号 411~414例如分别具有与信号311 314相同的定义。期间Ta4、 Rb4及Tc4 分别相似于图3A中的期间Tal、 Tbl及Tcl。参照信号411的波形可知, FIFO緩冲器110中暂存的数据量在期间Tc4中下降的速度为其在期间Ta4 中上升的速度的两倍,如此,表示数据由FIFO緩冲器110输出的速度为数 据填入FIFO緩冲器110的速度的两倍。
图4B绘示应用本实施例的方法来存取FIFO緩冲器110时相关数据存 取状态的时序图。其中,FIFO緩冲器110为双端口 FIFO緩冲器,信号411' 414'分别与信号411 414具有相同的定义。 在图4B中,此临界值被设定为
2
即此临界值被设定为2。在期间Ta5中,数据持续地被填入FIFO緩沖 器110。当FIFO缓冲器110中暂存的数据量高于此临界值(=等于2个字节) 时,请求事件被产生。在期间Tb5中,请求事件等待被允许。同时,数据 持续地被填入FIFO緩冲器110。在期间Tb5之后,请求事件被允许。在期 间Tc5中,FIFO緩冲器110中暂存的数据被输出。FIFO緩冲器110中暂存 的数据量被下降。
由于请求事件在早于FIFO緩冲器110处于满状态的时点之前被允许, 请求事件在较早的时点被允许,且存储器在较早的时点被存取。参考图4A 及图4B,被填入FIFO緩冲器110的数据量及从FIFO緩冲器110中输出的 数据量为实质上相等,其均等于4个数据突发。假设期间Tb5(即请求事件 等待被允许的期间)的长度实质上等于期间Tb4的长度。如此,图4B所绘 示的从时钟域Ca传输四个数据突发至时钟域Cb的传输时间较图4A中绘 示的对应的传输时间来得短。这样一来,在FIFO緩冲器110为双端口 FIFO 緩冲器且数据突发的突发长度为固定的情况下,相较于传统FIFO缓冲器存 取方案,本实施例的方法可更有效地对FIFO緩沖器110进行存取。
另夕卜,当数据自FIF缓冲器110输出的速度高于数据被填入FIFO緩冲 器110的速度时,会导致请求事件过早地被产生且过早地被允许。如此, 在一个数据突发被完全地填入FIFO緩冲器110之前,FIFO緩冲器110中 的数据可能已经被输出,导致FIFO緩冲器110处于空状态。这样一来,在 请求事件被允许时, 一个数据触发系未被完整地输出。另一个请求事件被 用来存取此数据触发中剩余的数据,如此,将导致使用存储器总线的效率较差。
因此,在本实施例中,FIFO控制器120仅在FIFO緩冲器110中暂存 的数据量实质上大于临界值
时才进行将暂存的数据输出的操作。如此,当请求事件被允许时,永
远有数据被暂存在FIFO緩冲器110中。这样一来,至少一个数据触发可完整地自时钟域Ca被传输至时钟域Cb。
在FIFO缓冲器110为双端口 FIFO緩冲器、数据从FIFO緩沖器110 输出的速度高于数据填入FIFO緩冲器110的速度且数据突发的突发长度非 为固定时,根据突发长度的最频繁触发长度、比值N及请求事件被产生的 时点与被允许的时点所定义出的等待时间(Waiting Time)的最频繁触发等待 时间来设定此临界值。
图5A绘示数据触发的触发长度的机率分部图。x轴表示突发长度,y 轴表示对应的突发长度发生的机率。请参照图5A,触发长度La为触发长 度中的最频繁触发长度。
图5B绘示请求事件被产生的时点与被允许的时点所定义出的等待时 间的机率分部图。x轴表示等待时间,y轴表示对应的等待时间发生的机率。
请参照图5B,等待时间Ta为等待时间中的最频繁触发等待时间。
在本实施例中,根据一个参考数值设定此临界值,此参考数值根据触 发长度La、比值N及等待时间Ta设定。更进一步的说,此参考数值等于 ^ x Zo - (r" x
其中速度St为数据填入FIFO緩冲器110的速度。
当各数据触发被填入FIFO緩冲器110时,设定一个临界值来与各数据 触发对应。在本实施例中,当触发数据B1的触发长度小于此参考数值时, 表示数据触发Bl之处的触发长度不具有足够的长度,如此,与数据触发 Bl对应的临界值被设定为触发数据Bl的触发长度。以参考数值为4个字 节的情形为例作说明。当数据触发B1被完全地填入FIFO缓冲器IIO且数 据触发B1的触发长度小于4个字节时,请求事件被产生。由于无法得知何 时下一个数据触发会被填入至FIFO緩冲器110,而可能需要一段相当长度 的等待时间后FIFO緩冲器110中暂存的数据量才会超过4个字节。因此, 请求事件在数据触发Bl被完整地填入FIFO緩冲器110的当下被产生,如 此,以避免使传输数据触发B1的操作发生延迟。
在本实施例中,当数据触发B2的触发长度不小于此参考数值时,与数 据触发b2对应的此临界值被设定为此参考数值。以此参考数值等于4个字 节的情形为例作说明。当数据触发B2被填入FIFO緩冲器110,而FIFO緩 沖器110中暂存的数据触发B2的数据量达到4个字节(即当数据触发B2的触发长度不小于4个字节)时,请求事件被产生。当数据触发的触发长度具
有足够的长度时,FIF控制器120在数据触发被完整地填入FIFO緩冲器110 之前产生请求事件,如此,请求事件可造较早的时点被允许。这样一来, 相较于应用传统FIFO緩冲器存取方案的操作,应用本实施例的方法的操作 系可缩短传输各数据触发的传输时间。
因此,当各数据触发的触发长度非为固定时,各数据触发对应至一个 临界值,此临界值根据各数据触发的触发长度来决定。
如此,无论欲存取的FIFO缓沖器为单端口或双端口 FIFO緩冲器,且 无论欲传输的数据触发的触发长度是否为固定,通过应用本实施例的方法 来存取FIFO缓冲器可有效地缩短将各个数据触发从一个时钟域传输至另 一个时钟域的传输时间。因此,应用本实施例的方法的系统具有较佳的传 输效率。更进一步而言,由于本实施例的方法仅需要用以指示满状态及空 状态的满标志及空标志,应用本实施例的方法的系统系可通过低复杂程度 的控制逻辑来实现。
综上所述,虽然本发明已以一优选实施例公开如上,然其并非用以限 定本发明。本发明本领域技术人员,在不脱离本发明的精神和范围内,当 可作各种的更动与润饰。因此,本发明的保护范围当视所附权利要求书所 界定者为准。
权利要求
1. 一种存取方法,用以存取一先进先出FIFO缓冲器,该存取方法包括当该FIFO缓冲器中暂存的一数据数目超过一临界值时,提供一请求事件来存取一存储器;以及当该请求事件被允许时,输出该FIFO缓冲器中暂存的数据,以存取该存储器;其中,当该FIFO暂存器为一单端口FIFO缓冲器时,根据一次数据突发的一突发长度来设定该临界值;其中,当该FIFO缓冲器为一双端口FIFO缓冲器时,根据数据填入该FIFO缓冲器的速度及数据从该FIFO缓冲器输出的速度来设定该临界值。
2. 如权利要求l所述的方法,其中当该FIFO緩冲器为该单端口 FIFO 緩沖器时,该临界值等于该突发长度。
3. 如权利要求1所述的方法,其中当该FIFO緩冲器为该双端口 FIFO 緩冲器,且数据填入该FIFO緩冲器的速度高于数据从该FIFO緩冲器输出 的速度时,该临界值等于零。
4. 如权利要求l所述的方法,其中当该FIFO緩沖器为该双端口 FIFO 緩冲器时,且数据从该FIFO緩冲器输出的速度高于数据填入该FIFO緩冲 器的速度时,根据数据从该FIFO緩沖器输出的速度与数据填入该FIFO缓 冲器的速度的 一 比值来设定该临界值。
5. 如权利要求4所述的方法,其中当该FIFO緩沖器为一双端口 FIFO 緩沖器,数据从该FIFO缓冲器输出的速度高于数据填入该FIFO緩冲器的 速度,且该突发长度为固定时,根据该FIFO緩冲器的长度及该比值来设定 该临界值。
6. 如权利要求5所述的方法,其中当该FIFO緩沖器为双端口 FIFO缓 冲器,数据从该FIFO緩冲器输出的速度高于数据填入该FIFO緩沖器的速 度,且该突发长度为固定时,该临界值等于<formula>formula see original document page 2</formula>其中,Lm为该FIFO緩冲器的长度,N为该比值。
7. 如权利要求4所述的方法,其中当该FIFO緩冲器为双端口 FIFO緩 冲器,数据从该FIFO缓沖器输出的速度高于数据填入该FIFO緩冲器的速 度,且该突发长度为不固定时,根据该突发长度的一最频繁触发长度、该 比值及该请求事件被产生的时点与被允许的时点所定义出的 一等待时间的 一最频繁触发等待时间,设定该临界值。
8. 如权利要求7所述的方法,其中当该突发长度小于一参考数值时, 设定该临界值等于该突发长度,其中,根据该最频繁触发长度、该比值及 该最频繁触发等待时间来设定该参考数值。
9. 如权利要求8所述的方法,其中当该突发长度大于该参考数值时, 设定该临界值等于该参考数值。
10. 如权利要求7所述的方法,其中该参考数值等于其中,N等于该比值,La等于该最频繁触发长度,Ta等于该最频繁触 发等待时间,St等于该数据突发被填入该FIFO緩沖器的速度。
11. 一种先进先出緩冲器的控制器,用以存取一FIFO緩冲器,该控制 器包括一第一手段装置,当该FIFO暂存器中暂存的一数据数目超过一临界值 时,产生一请求事件来存取一存储器;以及一第二手段装置,当该请求事件被允许时,输出该FIFO緩冲器中暂存 的数据,以存取该存储器; '其中,当该FIFO暂存器为一单端口 FIFO緩沖器时,根据一次数据突 发的 一 突发长度来设定该临界值;其中,当该FIFO緩冲器为一双端口 FIFO緩冲器时,根据数据填入该 FIFO緩沖器的速度及数据从该FIFO緩沖器输出的速度来设定该临界值。
12. 如权利要求11所述的控制器,其中当该FIFO緩冲器为该单端口 FIFO缓沖器时,该临界值等于该突发长度。
13. 如权利要求11所述的控制器,其中当该FIFO緩冲器为该双端口 FIFO緩沖器,且数据填入该FIFO緩沖器的速度高于数据从该FIFO緩冲器 输出的速度时,该临界值等于零。
14. 如权利要求11所述的控制器,其中当该FIFO緩冲器为该双端口FIFO緩冲器时,且数据从该FIFO緩冲器输出的速度高于数据填入该FIFO 緩冲器的速度时,根据数据从该FIFO緩冲器输出的速度与数据填入该FIFO 緩冲器的速度的 一 比值来设定该临界值。
15. 如权利要求14所述的控制器,其中当该FIFO緩冲器为一双端口 FIFO緩沖器,数据从该FIFO緩冲器输出的速度高于数据填入该FIFO緩沖 器的速度,且该突发长度为固定时,根据该FIFO緩冲器的长度及该比值来 设定该临界值。
16. 如权利要求15所述的控制器,其中当该FIFO緩冲器为双端口 FIFO 緩冲器,数据从该FIFO緩冲器输出的速度高于数据填入该FIFO緩冲器的 速度,且该突发长度为固定时,该临界值等于<formula>formula see original document page 4</formula>其中,Lm为该FIFO緩冲器的长度,N为该比值。
17. 如权利要求14所述的控制器,其中当该FIFO緩冲器为双端口 FIFO 緩冲器,数据从该FIFO緩冲器输出的速度高于数据填入该FIFO緩冲器的 速度,且该突发长度为不固定时,根据该突发长度的一最频繁触发长度、 该比值及该请求事件被产生的时点与被允许的时点所定义出的一等待时间 的 一 最频繁触发等待时间设定该临界值。
18. 如权利要求17所述的控制器,其中当该突发长度小于一参考数值 时,设定该临界值等于该突发长度,其中,根据该最频繁触发长度、该比 值及该最频繁触发等待时间来设定该参考数值。
19. 如权利要求18所述的控制器,其中当该突发长度非小于该参考数 值时,设定该临界值等于该参考数值。
20. 如权利要求17所述的控制器,其中该参考数值等于<formula>formula see original document page 4</formula>其中,N等于该比值,La等于该最频繁触发长度,Ta等于该最频繁触 发等待时间,St等于该数据突发被填入该FIFO緩冲器的速度。
全文摘要
一种先进先出缓冲器的存取方法及其控制器。该存取方法,用以存取FIFO(First-in-first-out)缓冲器,此存取方法包括下列的步骤当FIFO缓冲器中暂存的数据数目超过临界值时,提供请求事件来存取存储器;当请求事件被允许时,输出(Popped out)FIFO缓冲器中暂存的数据,以存取存储器。其中,当FIFO暂存器为单端口(Single-port)FIFO缓冲器时,根据一次数据突发(Burst of Data)的突发长度来设定该临界值;当FIFO缓冲器为双端口(Dual-port)FIFO缓冲器时,根据数据填入(Pushed in)FIFO缓冲器的速度及数据从FIFO缓冲器输出的速度来设定临界值。
文档编号G06F5/06GK101520722SQ20081013434
公开日2009年9月2日 申请日期2008年7月24日 优先权日2008年2月27日
发明者王宗仁, 许慕贤 申请人:奇景光电股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1