CN101271387B - 数据缓存器溢出的自动解除方法和装置 - Google Patents
数据缓存器溢出的自动解除方法和装置 Download PDFInfo
- Publication number
- CN101271387B CN101271387B CN2008101053138A CN200810105313A CN101271387B CN 101271387 B CN101271387 B CN 101271387B CN 2008101053138 A CN2008101053138 A CN 2008101053138A CN 200810105313 A CN200810105313 A CN 200810105313A CN 101271387 B CN101271387 B CN 101271387B
- Authority
- CN
- China
- Prior art keywords
- fifo
- clock
- read
- width
- adjustment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000004907 flux Effects 0.000 title 1
- 230000008569 process Effects 0.000 claims description 15
- 230000009467 reduction Effects 0.000 claims description 3
- 238000011084 recovery Methods 0.000 claims description 2
- 230000003247 decreasing effect Effects 0.000 abstract 1
- 230000001360 synchronised effect Effects 0.000 abstract 1
- 238000002474 experimental method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Landscapes
- Communication Control (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了一种数据缓存器溢出的自动解除方法,该方法在检测到作为数据存储器的先进先出存储器(FIFO)溢出时,通过调整FIFO参数,增加对该FIFO执行读操作的频率。其中,对同步FIFO,调整FIFO参数为减小FIFO读宽度;对异步FIFO,调整FIFO参数为减小FIFO读宽度、提高FIFO读时钟和降低FIFO写时钟这三种方式中的一种或任意组合。本发明还公开了一种数据缓冲器溢出的自动解除装置。使用本发明能够自动解除FIFO溢出,而且方式灵活。
Description
技术领域
本发明涉及缓存器技术,具体涉及数据缓存器溢出的自动解除方法和自动解除装置。
背景技术
FIFO的含义是先进先出(First In First Out),在缓存器的技术领域中,通常将先进先出的数据缓存器称为FIFO。
FIFO的读写数据是同时进行的,即写数据一端一直往FIFO写,读数据一端一直从FIFO读取数据。FIFO的读写操作分别由两个时钟控制,分别为:FIFO读时钟和FIFO写时钟。对于读操作来说,在FIFO读时钟的有效沿到来时,判断FIFO中的数据位是否大于或等于设定的FIFO读宽度,如果是,则执行读操作,否则等待FIFO读时钟下一个有效沿的到来,再次执行上述判断操作。其中,FIFO读宽度(WIDTH)是FIFO的一个重要参数,它是指执行读操作时一次读取数据位的大小,而且只有FIFO中的数据量大于FIFO读宽度,才能将FIFO中的数据读走。而写操作与读操作不同,写操作执行频率是根据所写数据的大小而定的。通常,在FIFO写时钟有效沿到来时,只要有待写数据就会执行写操作。而对于应用于图像处理的FIFO来说,对每两个像素(Pix)进行写操作时,都会停顿一个间隔时间。同样,当图像换行,图像换帧时,不会连续执行写操作,也会停顿一个间隔时间。
通常,在设计时会计算好FIFO所要处理的数据量,使其不会发生溢出。但是当某个瞬间输入的数据量增大时,FIFO就可能被填满,从而发生溢出。例如,在某个时刻执行了将待处理图像放大操作,在这个瞬间输入的数据量突增。由于写FIFO没变时钟,为了尽量减少输入时间,则FIFO所在芯片会控制减小像素与像素之间、行与行之间以及帧与帧之间的间隔时间,间隔时间的减小导致实际执行写操作的频率加快,在这种情况下,就会发生溢出。FIFO的溢出将导致其所在芯片的执行程序发生错误,芯片不能正常工作。为了保证FIFO不溢出,芯片开发人员在开发调试过程中,通过实验确定FIFO宽度、FIFO读时钟和FIFO写时钟这些FIFO参数值,使其尽量能够保证FIFO在使用过程中不发生溢出。但是,当芯片做成产品后其FIFO参数值就固化在芯片中,不能再进行调整。开发调制时确定的FIFO参数并不能保证FIFO在任何情况下都不溢出,一旦溢出将无法自动解除。
可见,目前还没有一种自动解除FIFO溢出的方案能够应用于使用FIFO的芯片中。
发明内容
有鉴于此,本发明提供了一种FIFO数据缓存器溢出的自动解除方法,能够自动解除FIFO溢出。
该方法包括:
A、预先设置调整操作参数;该调整操作参数包括:FIFO类型和调整方式;
B、数据流按照FIFO写时钟写入FIFO;
C、在检测到作为数据存储器的FIFO溢出时,执行步骤D;
D、依据该FIFO的FIFO类型,判断FIFO是同步FIFO还是异步FIFO;如果是同步FIFO,则执行步骤E;如果是异步FIFO,则执行步骤F;
E、减小FIFO读宽度操作,执行步骤G;
F、根据设定的调整方式,对所述FIFO执行减小FIFO读宽度操作、提高FIFO读时钟操作和降低FIFO写时钟操作中的一种或任意组合,以增加对所述FIFO执行读操作的频率,执行步骤G;
G、继续检测所述FIFO是否溢出,如果是,则执行步骤D;否则,判定FIFO溢出解除,退出本流程。
较佳地,所述增加对FIFO执行读操作的频率之后,进一步包括:等待设定的溢出判断间隔,再次判断是否仍然溢出,如果是,则继续执行所述增加对FIFO执行读操作的频率的操作,否则判定FIFO溢出解除,退出本流程。
本发明还提供了一种FIFO数据存储器溢出的自动解除装置,能够自动解除FIFO溢出。
该装置包括:
溢出检测单元,用于在检测到FIFO溢出时,通知溢出解除单元;
溢出解除单元,用于在所述溢出检测单元的通知下,通过调整FIFO参数,增加对所述FIFO执行读操作的频率。
其中,所述溢出解除单元包括:
存储模块,用于接收来自外部的调整操作参数并存储;
执行模块,用于在接收到来自所述溢出检测单元的通知时,对于同步FIFO,减小所述FIFO的FIFO读宽度;对于异步FIFO,根据从存储模块获取的所述调整操作参数中的调整方式参数,对所述FIFO执行减小FIFO读宽度操作、提高FIFO读时钟操作和降低FIFO写时钟操作中的一种或任意组合。
根据以上技术方案可见,本发明检测FIFO是否发生溢出,并在检测到溢出的情况下,自动提高FIFO读数据操作的执行频率,使得FIFO中的数据尽快被读出去,从而留下一定的空闲数据位,以解除FIFO溢出。由于调整过程是自动的,无需人工参与,因此不仅可以在开发调试过程中使用,以降低开发调试人员的工作量,还可以在产品中使用。
而且,对于异步FIFO,提高FIFO读数据执行频率的方式不只一种,多种方式的单独使用,和混合使用都可以实现FIFO读数据频率的提高,从而提高了解决方式的灵活性,而且多种调整方式混合使用进一步保证了溢出问题的有效解决。
附图说明
图1为本发明实施例中FIFO溢出的自动解除方法的流程图。
图2为本发明实施例中FIFO溢出的自动解除装置的结构示意图。
具体实施方式
为了解决FIFO溢出的问题,本发明实施例对溢出事件进行检测,当检测到溢出时,通过调整FIFO参数,增加对FIFO执行的读操作频率,使得FIFO中的数据尽快被读出去,从而留下一部分空闲数据位,以解除FIFO溢出的情况。
需要说明的是,本发明实施例中对FIFO执行读操作的频率,并非FIFO读时钟上升沿到来的频率,而是实际从FIFO中读取出数据这一动作的执行频率。
对FIFO执行读操作的频率与FIFO读时钟这一FIFO参数直接相关:在FIFO写时钟不变的情况下,通过提高FIFO读时钟,可以直接增加读操作的执行频率。
对FIFO执行读操作的频率与FIFO写时钟这一FIFO参数间接相关:在FIFO读时钟不变的情况下,通过降低FIFO写时钟,使FIFO写速度变慢,相当于间接增加了读操作的执行频率。
但是,以上调整FIFO读写时钟的方式只适用于读写时钟互相独立的异步FIFO。而同步FIFO的读写操作共享同一个时钟,因此无法采用时钟调整方式来解除溢出。
另外一个重要的FIFO参数是FIFO宽度。FIFO读操作的执行频率与FIFO读宽度也有关系。FIFO读宽度较小时,只要FIFO中的数据量满足较小的FIFO读宽度,就可以进行实际的读操作,两次读取FIFO之间的等待时间较少,那么读取FIFO的执行频率加快。在读宽度减小且读频率加快的情况下,可以将FIFO尽可能的读空,那么,当有数据写入时,不会因为空闲数据位较小,而再次发生溢出问题。反之,如果FIFO读宽度较大,那么在FIFO里的数据量不足FIFO读宽度的情况下,该FIFO中的数据不能被读取,如果此时继续往FIFO里写较多数据,就又造成了FIFO的溢出。而且,这种方式适用于同步FIFO和异步FIFO。
为了便于理解减小FIFO读宽度与提高读操作执行频率之间的关系,下面举一个实例。
假设FIFO能够容纳80字节的数据,通常FIFO的读宽度为略大于总长度的50%或25%,这里,以读宽度略大于FIFO总长度的25%为例,假设FIFO读宽度分别为30字节那么,当FIFO溢出时且读时钟有效沿到来时,执行读操作,会连续执行两次读操作,读取出60字节的数据,剩余20字节,由于不够读宽度,因此读操作停止。读操作停止后,如果一下子写入60字节的数据,那么又会造成突然的溢出。可见,溢出并未真正退出。
而如果采用本发明实施例中的处理方案,会在检测到溢出后,自动减少读宽度,此时,假设将读宽度减小到20字节,则FIFO溢出后,读操作会连续执行4次,读取80字节的数据,由于FIFO空,才停止读取操作。如果此时一下子写入60字节的数据,则不会造成溢出。退出了溢出。以上实例只是为例说明本发明实施例效果而例举的一种情况。实验发现,采用改变读宽度来解除溢出的方案,有时需要读写操作执行几个循环,然后才能退出溢出状态。如果读宽度减小幅度不够大,则可以经过几轮调整,达到最佳的状态,从而达到退出溢出的效果。
通常,由于溢出后FIFO中的数据也不能在后续操作中被使用,为了尽快的退出溢出,可以在调整读宽度之前或同时,将FIFO清空。然后,再应用调整后的读宽度。
鉴于以上分析,本发明实施例在检测到溢出时,可以采用如下3种方式增加对FIFO执行读操作的频率,从而解决溢出问题:
方式1)、通过提高FIFO读时钟,使得FIFO读操作执行频率直接加快;
方式2)、通过降低FIFO写时钟,使得FIFO写速度变慢,令FIFO读操作执行频率相对加快;
方式3)、通过减小FIFO读宽度使得FIFO的读操作执行频率间接加快。
对于同步FIFO,可以使用方式3)来解决溢出问题。对于异步FIFO,可以使用以上3种方式中的一种或任意组合来解决溢出问题。在实际中,可以预先配置解决溢出的方式。
在实际应用中,为了提高解决溢出问题的有效性,在调整时,可以采用多次少量的调整策略,分多次完成FIFO参数的调整。由于FIFO读宽度和读写时钟的缺省值都是在开发过程中经过多次实验确定下来的较为合理的数值,因此,在调整时,可以每次进行小幅度调整,调整后判断是否仍溢出,如果仍溢出,再进行一次小幅度调整,直到解除溢出。
从以上所述可见,本发明实施例的FIFO溢出自动解除方法,能够在检测到FIFO溢出时,自动增加对FIFO执行读操作的频率,使得FIFO中的数据尽快被读出去,从而留下一部分空闲数据位,以解决FIFO溢出的情况。由于调整过程是自动的,无需人工参与,因此不仅可以在开发调试过程中使用,以降低调试人员的工作量,还可以在产品中使用。
而且,对于异步FIFO,提高FIFO读数据执行频率的方式不只一种,多种方式的单独使用,和混合使用都可以实现FIFO读数据速度的提高,提高了解除溢出方式的灵活性,而且多种调整方式混合使用进一步保证了溢出问题的有效解决。
下面结合附图并举实施例,对本发明进行详细描述。考虑到在实际设计芯片时,通常将FIFO写宽度固定,因此本发明实施例只将FIFO读宽度、FIFO读时钟和FIFO写时钟作为调整对象。
图1为本发明实施例中FIFO溢出的自动解除方法的流程图。如图1所示,该方法包括以下步骤:
步骤101:预先设置调整操作参数。
本步骤中,调整操作参数包括:FIFO类型、调整方式、FIFO宽度调整步长、FIFO宽度区间;如果是异步FIFO还可设置时钟调整步长、时钟区间、调整优先级等。其中,
FIFO类型参数,指示待调整FIFO是同步FIFO还是异步FIFO;
调整方式参数,指示通过减小FIFO读宽度、提高读时钟和降低写时钟中的哪一种或任哪几种方式,增加FIFO读操作执行频率。对于同步FIFO只能选择一种,即减小FIFO读宽度;对于异步FIFO,可以选择任意一种或任意两种,或三种同时使用。
调整优先级参数,用于指示FIFO读宽度、读时钟和写时钟的优先级。当对溢出FIFO执行减小FIFO读宽度操作、提高FIFO读时钟操作和降低FIFO写时钟操作中的2种或3种时,根据设定的调整优先级,顺序执行对各FIFO参数的调整操作。具体来说,当判定溢出时,根据调整方式,按调整优先级,执行对各FIFO参数的调整操作,然后判定是否仍溢出,如果溢出,则再次执行同样的调整操作。或者,当判定溢出时,先调整优先级高的参数(宽度、读时钟和写时钟的一种),然后判断是否溢出,如果溢出,再调整优先级中的参数,判断是否溢出,如果仍溢出,继续调整优先级低的参数,如此按照高中低的优先等级循环,直到不再溢出,确定本次调整成功。
FIFO宽度调整步长,是指对FIFO宽度进行调整时的粒度,可以用数值表示,也可以用步长占FIFO总长度的百分比表示。为了实现多次少量的调整,可以将FIFO宽度调整步长设置的比较小。但是,由于太多次的调整可能导致调整时间过长,因此FIFO宽度调整步长可以通过实验确定。
FIFO宽度区间,是指所允许的FIFO宽度最大值和最小值,设置调整区间保证FIFO在硬件要求的范围内进行调整。
时钟调整步长,是指对FIFO读时钟和写时钟进行调整时的粒度,可以用数值表示,也可以用步长占允许的最大时钟数值的百分比表示。
时钟区间,是指所允许的FIFO读时钟和写时钟的最大值和最小值,设置调整区间保证FIFO在硬件要求的范围内进行调整。其中,读写时钟可以共享相同的调整步长和调整区间,也可以为读、写时钟设置不同的时钟调整步长和时钟区间。
以上调整操作参数可以是在调试之前,或投产之前设置好的。这些调整操作参数均可以设置在可擦写存储器中,并通过人机接口对这些参数进行修改。所述的可擦写存储器是位于FIFO所在芯片中的存储器,或者说是FIFO所在环境中的存储器。
步骤102:数据流按照FIFO写时钟写入FIFO。
步骤103:检测到FIFO溢出。
本步骤中,FIFO所在芯片会实时监测FIFO的状态,例如监测FIFO数据指针,通过指针位置判断FIFO是否溢出;或者,在检测到FIFO给出满信号后,判定FIFO溢出。在检测到FIFO溢出后,FIFO所在芯片发出中断信号。
步骤104:依据溢出FIFO的类型,判断FIFO是同步FIFO还是异步FIFO;如果是同步FIFO则执行步骤105;否则执行步骤106。这里,溢出FIFO的类型可以从预设调整操作参数中获取。
步骤105:根据FIFO宽度调整步长参数和FIFO宽度区间参数,将当前FIFO读宽度减少一个FIFO宽度调整步长,构成新FIFO读宽度,同时保证新FIFO读宽度在FIFO宽度区间内。继续执行步骤107。
其中,FIFO读宽度通常是保存在寄存器中,在调整前从寄存器中读取宽度值,构成新FIFO读宽度后,写入寄存器。
步骤106:根据设定的调整方式参数选择减小FIFO读宽度、提高读时钟和降低写时钟中的一种方式或至少两种方式的组合,从而增加对FIFO执行读操作的频率。继续执行步骤107。
本步骤中,调整方式可以有多种组合,包括:只减小FIFO读宽度;或,只提高FIFO读时钟;或,只降低FIFO写时钟;或,提高FIFO读时钟的同时降低FIFO写时钟;或,减小FIFO读宽度的同时,提高FIFO读时钟;或,减小FIFO读宽度的同时,降低FIFO写时钟;或,减小FIFO读宽度的同时,提高FIFO读时钟和降低FIFO写时钟。
其中,减小FIFO读宽度的具体方式已经在前述步骤105中详细描述;
提高读时钟的具体方式为:根据设定的时钟调整步长参数和时钟区间参数,将当前读时钟值增加一个时钟调整步长,构成新的读时钟值,同时保证新的读时钟值在设定的时钟区间内。
降低写时钟的具体方式为:根据设定的时钟调整步长参数和时钟区间参数,将当前写时钟值减少一个时钟调整步长,构成新的写时钟值,同时保证新的写时钟值在设定的时钟区间内。
步骤107:继续检测FIFO是否溢出,如果是,则执行步骤104;否则判定FIFO溢出解除,结束本流程。
以上流程可以适用于同步FIFO和异步FIFO。当然,由于FIFO类型可以预先知道,因此,在实际应用时,可以省略步骤104的判断操作,对于同步FIFO直接采用步骤105进行溢出处理,对于异步FIFO采用步骤106进行溢出处理。
经调整,对FIFO数据的读操作频率加快。较佳地,在溢出解除后的一段设定时间内,不再出现溢出,则可以将被调整的参数恢复为缺省值。缺省值是预先设置的。还可以在FIFO上电时将FIFO读写宽度和FIFO读写时钟设置为缺省值。
为了实现本发明实施例中的FIFO溢出的自动解除方法,本发明实施例还提供了一种FIFO溢出的自动解除装置。
图2为本发明实施例中FIFO溢出的自动解除装置的结构示意图。如图2所示,该装置包括溢出检测单元210和溢出解除单元220。
其中,溢出检测单元210,用于实时监测FIFO的状态,在检测到FIFO溢出时,通知溢出解除单元220。
溢出解除单元220,用于在所述溢出检测单元210的通知下,通过调整FIFO参数,增加对FIFO执行读操作的频率。进一步地,该溢出解除单元220在调整完成后,向所述溢出检测单元查询所述溢出FIFO的状态,在查询结果显示所述溢出FIFO仍溢出时,继续调整所述FIFO参数;在查询结果显示所述溢出FIFO不溢出时,判定溢出解除。
溢出解除单元220具体包括存储模块221和执行模块222;其中,
存储模块221,用于接收来自外部的用于调整FIFO的调整操作参数并存储。调整操作参数包括FIFO类型、调整方式、FIFO宽度调整步长、FIFO宽度区间;如果是异步FIFO还可设置时钟调整步长、时钟区间、调整优先级等。
执行模块222,用于在接收到来自溢出检测单元210的溢出通知时,根据溢出FIFO类型,调整与FIFO类型对应的FIFO参数调整操作,从而增加对FIFO执行读操作的频率;调整完毕后,向溢出检测单元210发送查询请求,查询FIFO当前状态是否仍为溢出,如果溢出检测单元210返回的查询结果显示溢出,则继续执行FIFO参数调整操作;否则,确定溢出成功解除。
具体来说,对于同步FIFO,执行模块222通过减小FIFO读宽度实现读操作执行频率的增加。具体实现为:执行模块222根据从存储模块221获取的FIFO宽度调整步长参数和FIFO宽度区间参数,将当前FIFO读宽度减少一个FIFO宽度调整步长,构成新的FIFO读宽度,同时保证新的FIFO读宽度在设定的FIFO宽度区间内。
对于异步FIFO,执行模块222根据设定的调整方式选择减小FIFO读宽度、提高FIFO读时钟和降低FIFO写时钟中的一种或多种方式,实现读操作执行频率的增加,具体实现为:
减小FIFO读宽度的具体方式已经在对同步FIFO的说明中描述;
提高读时钟的具体方式为:根据从参数设备模块221获取的时钟调整步长参数和时钟区间参数,将当前读时钟值增加一个时钟调整步长,构成新的读时钟值,同时保证新的读时钟值在设定的时钟区间内。
降低写时钟的具体方式为:根据从参数设备模块221获取的时钟调整步长参数和时钟区间参数,将当前写时钟值减少一个时钟调整步长,构成新的写时钟值,同时保证新的写读时钟值在设定的时钟区间内。
较佳地,该溢出自动解除装置进一步包括恢复单元230,用于在溢出解除单元220中的执行单元222判定溢出解除后,计算当前时刻到溢出解除时刻之间的时间段长度,并在该时间段长度达到预设长度后,将被调整的FIFO参数恢复为缺省值。
由以上所述可以看出,本发明所提供的FIFO溢出的自动解除方案,能够通过调整FIFO参数自动解除溢出。由于调整过程是自动的,无需人工参与,因此不仅可以在开发调试过程中使用,以降低调试人员的工作量,还可以在产品中使用,在产品使用过程中根据实际情况自动调整,保证使用FIFO的芯片在使用过程中发生的溢出情况能够得到有效的解决。而且,可以用多种方式解决溢出问题,解决方式灵活。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种数据缓存器溢出的自动解除方法,其特征在于,该方法包括:
A、预先设置调整操作参数;该调整操作参数包括:FIFO类型和调整方式;
B、数据流按照FIFO写时钟写入FIFO;
C、在检测到作为数据存储器的FIFO溢出时,执行步骤D;
D、依据该FIFO的FIFO类型,判断FIFO是同步FIFO还是异步FIFO;如果是同步FIFO,则执行步骤E;如果是异步FIFO,则执行步骤F;
E、减小FIFO读宽度操作,执行步骤G;
F、根据设定的调整方式,对所述FIFO执行减小FIFO读宽度操作、提高FIFO读时钟操作和降低FIFO写时钟操作中的一种或任意组合,以增加对所述FIFO执行读操作的频率,执行步骤G;
G、继续检测所述FIFO是否溢出,如果是,则执行步骤D;否则,判定FIFO溢出解除,退出本流程。
2.如权利要求1所述的方法,其特征在于,所述减小FIFO读宽度之前或同时,进一步包括:将所述FIFO清空。
3.如权利要求1所述的方法,其特征在于,所述调整操作参数进一步包括FIFO宽度调整步长和FIFO宽度区间;所述减小FIFO读宽度为:根据设定的FIFO宽度调整步长和FIFO宽度区间,将当前FIFO读宽度减少一个FIFO宽度调整步长,构成新的FIFO读宽度,且所述新的FIFO读宽度在所述FIFO宽度区间内。
4.如权利要求3所述的方法,其特征在于,对于异步FIFO,所述调整操作参数进一步包括:时钟调整步长和时钟区间;
所述提高FIFO读时钟为:根据设定的时钟调整步长和时钟区间,将当前FIFO读时钟值增加一个时钟调整步长,构成新的读时钟值,且所述新的读时钟值在所述时钟区间内。
5.如权利要求3所述的方法,其特征在于,对于异步FIFO,所述调整操作参数进一步包括:时钟调整步长和时钟区间;
所述降低FIFO写时钟为:根据设定的时钟调整步长和时钟区间,将当前写时钟值减少一个时钟调整步长,构成新的写时钟值,同时保证所述新的写读时钟值在所述时钟区间内。
6.如权利要求4或5所述的方法,其特征在于,对于异步FIFO,所述调整操作参数进一步包括:调整优先级;
当对所述FIFO执行减小FIFO读宽度操作、提高FIFO读时钟操作和降低FIFO写时钟操作中的两种或两种以上的操作时,根据设定的调整优先级,顺序执行对各FIFO参数的调整操作。
7.如权利要求1所述的方法,其特征在于,所述判定FIFO溢出解除之后,进一步包括:当判定当前时刻到判定溢出解除时刻之间的时间段达到预设长度时,将被调整的FIFO参数恢复为缺省值。
8.一种数据缓存器溢出的自动解除装置,用于解除FIFO的数据溢出,其特征在于,该装置包括:
溢出检测单元,用于在检测到FIFO溢出时,通知溢出解除单元;
溢出解除单元,用于在所述溢出检测单元的通知下,通过调整FIFO参数,增加对FIFO执行读操作的频率;
所述溢出解除单元包括:
存储模块,用于接收来自外部的调整操作参数并存储;该调整操作参数包括:FIFO类型和调整方式;
执行模块,用于在接收到来自所述溢出检测单元的通知时,依据该FIFO的FIFO类型,判断FIFO是同步FIFO还是异步FIFO;如果是同步FIFO,则减小FIFO读宽度;如果是异步FIFO,根据从存储模块获取的调整方式参数,对所述FIFO执行减小FIFO读宽度操作、提高FIFO读时钟操作和降低FIFO写时钟操作中的一种或任意组合;
所述溢出解除单元进一步用于,在FIFO参数调整完成后,等待设定的溢出判断间隔,然后向所述溢出检测单元查询所述FIFO的当前状态,在查询结果显示溢出时,继续调整所述FIFO参数;在查询结果显示不溢出时,判定溢出解除。
9.如权利要求8所述的装置,其特征在于,该装置进一步包括恢复单元,用于在溢出解除单元判定溢出解除后,计算当前时刻到溢出解除时刻之间的时间段长度,并在该时间段长度达到预设长度后,将被调整的FIFO参数恢复为缺省值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101053138A CN101271387B (zh) | 2008-04-28 | 2008-04-28 | 数据缓存器溢出的自动解除方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101053138A CN101271387B (zh) | 2008-04-28 | 2008-04-28 | 数据缓存器溢出的自动解除方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101271387A CN101271387A (zh) | 2008-09-24 |
CN101271387B true CN101271387B (zh) | 2010-06-09 |
Family
ID=40005381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101053138A Expired - Fee Related CN101271387B (zh) | 2008-04-28 | 2008-04-28 | 数据缓存器溢出的自动解除方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101271387B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102487330B (zh) * | 2010-12-02 | 2015-06-10 | 中兴通讯股份有限公司 | 运行、管理和维护报文的发送方法及装置 |
CN102510487A (zh) * | 2011-10-18 | 2012-06-20 | 北京淳中视讯科技有限公司 | 一种图像信号的传输方法、接收终端和传输*** |
CN103049706B (zh) * | 2012-11-21 | 2015-06-17 | 飞天诚信科技股份有限公司 | 一种提高数据操作速率的方法 |
CN106886383A (zh) * | 2017-02-20 | 2017-06-23 | 硅谷数模半导体(北京)有限公司 | 触发显示端口读操作的控制方法和装置 |
CN109388370B (zh) * | 2017-08-03 | 2023-06-27 | 深圳市中兴微电子技术有限公司 | 一种实现先入先出队列的方法及装置 |
CN111367495B (zh) * | 2020-03-06 | 2023-03-28 | 电子科技大学 | 一种异步先入先出的数据缓存控制器 |
CN113612518B (zh) * | 2021-07-30 | 2022-08-09 | 南京控维通信科技有限公司 | 卫星调制解调器同步接口数据处理***及数据处理方法 |
CN114422654A (zh) * | 2021-12-23 | 2022-04-29 | 西安诺瓦星云科技股份有限公司 | Sdi输出方法、装置、视频处理设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6678756B1 (en) * | 1999-09-10 | 2004-01-13 | Via Technologies, Inc. | Method for controlling a first-in-first-out array to facilitate data transmissions between a lower frequency domain and a higher frequency domain of a computer system |
CN1677946A (zh) * | 2004-04-02 | 2005-10-05 | 华为技术有限公司 | 一种缓存分配方法及装置 |
CN1976422A (zh) * | 2005-11-29 | 2007-06-06 | 株式会社东芝 | 接收*** |
CN101001228A (zh) * | 2007-01-16 | 2007-07-18 | 陈培 | 一种数字异步时钟重建装置 |
CN101056165A (zh) * | 2006-04-10 | 2007-10-17 | 明基电通股份有限公司 | 数据处理***中降低时脉差别的方法 |
-
2008
- 2008-04-28 CN CN2008101053138A patent/CN101271387B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6678756B1 (en) * | 1999-09-10 | 2004-01-13 | Via Technologies, Inc. | Method for controlling a first-in-first-out array to facilitate data transmissions between a lower frequency domain and a higher frequency domain of a computer system |
CN1677946A (zh) * | 2004-04-02 | 2005-10-05 | 华为技术有限公司 | 一种缓存分配方法及装置 |
CN1976422A (zh) * | 2005-11-29 | 2007-06-06 | 株式会社东芝 | 接收*** |
CN101056165A (zh) * | 2006-04-10 | 2007-10-17 | 明基电通股份有限公司 | 数据处理***中降低时脉差别的方法 |
CN101001228A (zh) * | 2007-01-16 | 2007-07-18 | 陈培 | 一种数字异步时钟重建装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101271387A (zh) | 2008-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101271387B (zh) | 数据缓存器溢出的自动解除方法和装置 | |
DE102010019487B4 (de) | Speichervorrichtung, Datenverarbeitungsvorrichtung und Verfahren | |
DE60031404T2 (de) | Verfahren und vorrichtung zur dynamischen änderung der grössen von pools, die die leistungsaufnahme von speichern steuern | |
US8695008B2 (en) | Method and system for dynamically controlling power to multiple cores in a multicore processor of a portable computing device | |
US8996824B2 (en) | Memory reorder queue biasing preceding high latency operations | |
CN101116310B (zh) | 用于连接保持激活的自主调整的装置和方法 | |
JP5427775B2 (ja) | 低パワーキャッシュアクセスモードを備えたデータ処理デバイス | |
US20160195913A1 (en) | Optimizing power usage by factoring processor architectural events to pmu | |
CN107870732B (zh) | 从固态存储设备冲刷页面的方法和设备 | |
US8705307B2 (en) | Memory system with dynamic refreshing | |
US9535607B2 (en) | Semiconductor system performing status read for semiconductor device and operating method thereof | |
CN107786583A (zh) | 一种文件下载方法及装置 | |
US9069881B2 (en) | Adaptation of probing frequency for resource consumption | |
CN104185083A (zh) | 一种自适应丢帧方法与装置 | |
EP2241969A2 (en) | Program and data annotation for hardware customization and energy optimization | |
US11615022B2 (en) | Apparatus and method for handling accesses targeting a memory | |
CN101241391B (zh) | 降低计算机***耗能的方法、控制装置、及计算机*** | |
CN104869073B (zh) | 一种流量控制方法及装置 | |
US7469349B2 (en) | Computer system and method of signal transmission via a PCI-Express bus | |
CN103543982B (zh) | 一种时钟频率管理方法及移动设备 | |
DE102014117564A1 (de) | Adaptive teilweise bildschirmaktualisierung mit dynamischer hintergrundbeleuchtungssteuerungsmöglichkeit | |
CN103838694A (zh) | 一种fpga高速读取usb接口数据的方法 | |
US20130346701A1 (en) | Replacement method and apparatus for cache | |
JP2006172198A (ja) | 磁気ディスク装置の電力制御方法、プログラム、電力制御装置、および電子情報機器 | |
CN103593305A (zh) | 信息处理设备、信息处理方法以及程序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100609 Termination date: 20120428 |