一种向缓存系统写数据的方法、装置与流程

文档序号:19250472发布日期:2019-11-27 20:09阅读:158来源:国知局
一种向缓存系统写数据的方法、装置与流程

本发明属于缓存系统写数据技术领域,具体涉及一种向缓存系统写数据的方法及装置。



背景技术:

目前,为了增加缓存系统的适用性,通常为缓存系统中,外设和cpu(centralprocessingunit,中央处理器)对二级缓存设置相同的优先级,由于cpu的主频会明显大于外设的主频,因此,当cpu和外设都连续的向二级缓存写数据时,相同时间内,cpu写入的数据量会比外设的数据量大。则对于外设而言,在写入二级缓存的过程中,可能会因为数据排队时间过长而发生缓存区溢出。

针对上述外设在写入二级缓存的过程中,因为数据排队时间过长而发生缓存区溢出的问题,现有技术中的解决方案如下有以下几种:一是对于有时间可控的数据,尽量在不同的时间写入到二级缓存,避免形成数据流的波峰。二是对于使用频率很高数据量比较大的数据,把数据地址锁定到二级缓存上,避免缓存刷新操作,提高写入的速度。三是对于缓冲区较小的外设,给该外设增加一个较大的缓冲区,避免发生数据溢出。四是内核减少二级缓存上的监控,缓存刷新等操作,提高对二级缓存写操作的执行效率。

发明人在研究上述现有技术的过程中发现,当cpu连续向二级缓存写操作的时候,上述解决方案效果都十分有限。例如,一种比较极端的情况,cpu一直有连续的向二级缓存写数据的操作,随着时间的累积,外设在这段时间内写入到二级缓存的数据量无法满足外设传输需求,部分外设缓冲区填满等待写入到二级缓存的数据,发生数据溢出,外设无法继续工作。同时,上述解决方案基本都是基于外设前端做的优化,而这些外设的优化空间并不多,实现起来非常复杂,增加了大量的开发工作。



技术实现要素:

本发明提供的一种向缓存系统写数据的方法、装置,旨在解决,在写入二级缓存的过程中,外设数据溢出的问题。

本发明提供的一种向缓存系统写数据的方法,所述缓存系统包括:一级缓存、二级缓存、外设、中央处理器;所述二级缓存用于以第一传输速率接收数据;所述方法包括:

预设时间段内,当所述中央处理器需要连续向所述二级缓存写操作的数据量超过门限值时,向所述中央处理器发送从所述一级缓存向所述二级缓存刷新数据的操作指令,以使得所述中央处理器连续向所述二级缓存写操作暂停;

以所述门限值除以所述第一传输速率,得到所述中央处理器传输所述门限值数据需要的第一时间;

计算所述中央处理器执行所述操作指令需要的第二时间;

用所述第二时间和所述第一时间,确定第三剩余时间;

所述外设占用所述第三剩余时间,基于所述第一传输速率,向所述二级缓存写数据。

可选的,在所述当所述中央处理器需要连续向所述二级缓存写操作的数据量超过门限值时,向所述中央处理器发送从所述一级缓存向所述二级缓存刷新数据的操作指令步骤之前,所述方法还包括:

根据所述预设时间段内,所述缓存系统需要处理的数据,确定所述中央处理器需要连续向所述二级缓存写操作的最小数据量;

在所述预设时间段内的上行子帧内,将所述最小数据量,确定为所述门限值。

可选的,在所述当所述中央处理器需要连续向所述二级缓存写操作的数据量超过门限值时,向所述中央处理器发送从所述一级缓存向所述二级缓存刷新数据的操作指令步骤之前,所述方法还包括:

根据所述预设时间段内,所述缓存系统需要处理的数据,确定所述外设当前需要写入所述二级缓存的数据量;

在所述预设时间段内除所述上行子帧的其它时间段内,根据确定的所述外设当前需要写入所述二级缓存的数据量,和所述最小数据量,确定所述门限值。

可选的,所述用所述第二时间和所述第一时间,确定第三剩余时间的步骤包括:

根据所述缓存系统需要处理的数据,确定所述第二时间段内,所述缓存系统对所述二级缓存额外消耗的第四时间;

用所述第二时间减去所述第一时间和所述第四时间的和,得到所述第三剩余时间。

可选的,所述向所述中央处理器发送从所述一级缓存向所述二级缓存刷新数据的操作指令步骤之前,所述还方法包括:

生成所述从所述一级缓存向所述二级缓存刷新数据的操作指令。

本发明提供的一种向缓存系统写数据的装置,所述缓存系统包括:一级缓存、二级缓存、外设、中央处理器;所述二级缓存用于以第一传输速率接收数据;所述装置包括:

操作指令发送模块,用于预设时间段内,当所述中央处理器需要连续向所述二级缓存写操作的数据量超过门限值时,向所述中央处理器发送从所述一级缓存向所述二级缓存刷新数据的操作指令,以使得所述中央处理器连续向所述二级缓存写操作暂停;

第一时间确定模块,用于以所述门限值除以所述第一传输速率,得到所述中央处理器传输所述门限值数据需要的第一时间;

第二时间计算模块,用于计算所述中央处理器执行所述操作指令需要的第二时间;

第三剩余时间确定模块,用于用所述第二时间和所述第一时间,确定第三剩余时间;

外设数据写入模块,用于所述外设占用所述第三剩余时间,基于所述第一传输速率,向所述二级缓存写数据。

可选的,所述装置还包括:

最小数据量确定模块,用于根据所述预设时间段内,所述缓存系统需要处理的数据,确定所述中央处理器需要连续向所述二级缓存写操作的最小数据量;

门限值第一确定模块,用于在所述预设时间段内的上行子帧内,将所述最小数据量,确定为所述门限值。

可选的,所述装置还包括:

外设当前数据确定模块,用于根据所述预设时间段内,所述缓存系统需要处理的数据,确定所述外设当前需要写入所述二级缓存的数据量;

门限值第二确定模块,用于在所述预设时间段内除所述上行子帧的其它时间段内,根据确定的所述外设当前需要写入所述二级缓存的数据量,和所述最小数据量,确定所述门限值。

可选的,所述第三剩余时间确定模块包括:

第四时间确定单元,用于根据所述缓存系统需要处理的数据,确定所述第二时间段内,所述缓存系统对所述二级缓存额外消耗的第四时间;

第三剩余时间确定单元,用于用所述第二时间减去所述第一时间和所述第四时间的和,得到所述第三剩余时间。

可选的,所述装置还包括:

操作指令生成模块,用于生成所述从所述一级缓存向所述二级缓存刷新数据的操作指令。

在本发明实施例中,在预设时间段内,当cpu需要连续向二级缓存写操作的数据量超过门限值,则向cpu发送从一级缓存向二级缓存刷新数据的操作指令,执行该指令的第二时间内,cpu会停止预取指令的操作,进而会暂时减少向二级缓存写数据的数据量,在该第二时间内,将上述门限值的数据传输到二级缓存占用第一时间,由该第二时间和第一时间,确定出剩余给外设向二级缓存传输数据的第三剩余时间,进而外设占用上述第三剩余时间,基于第一传输速率向二级缓存写数据,相当于在cpu连续向二级缓存写数据时,加入一个暂停,在该暂停时间内,为外设让出向二级缓存写数据的时间,减少外设向二级缓存写数据过程中,排队的数据量,进而减少外设数据溢出;同时上述解决方案,主要从cpu端进行优化,降低了难度和工作量。

附图说明

图1是本发明实施例一中向缓存系统写数据的方法的步骤流程图;

图2是4860芯片的子帧2378作为上行子帧,系统数据量示意图;

图3是本发明实施例一中确定第三剩余时间的步骤流程图;

图4是本发明实施例二中的向缓存系统写数据的方法的步骤流程图;

图5是本发明实施例二中,一种确定门限值的步骤流程图;

图6是本发明实施例三中,向缓存系统写数据的装置的结构框图;

图7是本发明实施例三中又一种向缓存系统写数据的装置的结构框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,以下将结合本发明实施例中的附图,通过具体实施方式,完整地描述本发明的技术方案。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例,基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动的前提下获得的所有其他实施例,均落入本发明的保护范围之内。

实施例一

参照图1,图1示出了本发明实施例的一种向缓存系统写数据的方法的步骤流程图,所述缓存系统包括:一级缓存、二级缓存、外设、中央处理器;所述二级缓存用于以第一传输速率接收数据;该方法可以包括以下步骤:

步骤101、预设时间段内,当所述中央处理器需要连续向所述二级缓存写操作的数据量超过门限值时,向所述中央处理器发送从所述一级缓存向所述二级缓存刷新数据的操作指令,以使得所述中央处理器连续向所述二级缓存写操作暂停。

本发明实施例中,该缓存系统可以包括:一级缓存、二级缓存、外设、cpu,该二级缓存用于以第一传输速率接收数据。本发明实施例中,该缓存系统,可以是时分双工长期演进系统,也可以是频分双工长期演进系统,在本发明实施例中,对此不作具体限定,下面主要以时分双工长期演进系统为例进行说明,频分双工长期演进系统与此类似。

上述缓存系统有一个特点,在基站处理业务时,在每个无线帧内的处理和计算的时刻点大致是周期性的。系统数据量的波峰都一般发生在上行子帧或者cpu连续写操作的时候,这些能直接写数据到二级缓存的外设一般都是受cpu控制运行的,而且cpu和外设对二级缓存的访问量一般会同时增大或减小。

例如:飞思卡尔公司的4860芯片,它上面连接到二级缓存的外设就是天线收发单元(接收和发送时域数据)和硬件算法加速器。基于这些特点,cpu是可以估算当前访问二级缓存数据量的。一般而言对于上行子帧,使用符号作为数据的计量单位,一个子帧包括14个符号。比如子帧2378作为上行子帧,得到的系统数据量与子帧的关系示意图参照图2。

参照图2,图2示出了4860芯片的子帧2378作为上行子帧系统数据量示意图,对于该缓存系统而言,上行子帧的时刻系统数据量会远大于非上行子帧,尤其在子帧3的开始的2个符号内不仅包含这两个符号数据的常规处理,还包含子帧2收集完成所有符号数据之后启动的上行数据处理,在这个时间段cpu和外设需要写入二级缓存的数据都达到峰值,两者交替在二级缓存入口排队,如果cpu有连续向二级缓存的写操作就会导致单次排队数据过长,一段时间内外设写入到二级缓存中的数据量很少,非常容易发生数据溢出。所以在上行子帧,发生cpu需要连续写操作时刻,尤其需要确定当前写入到二级缓存的数据量,以防止外设数据溢出。

cpu有一个预取指令的功能用来提高代码执行效率,但是当有对cpu内部的从一级缓存向二级缓存刷新数据的操作的话,上述cpu连续向上述二级缓存写操作会暂停,预取指令会等到从一级缓存向二级缓存刷新数据操作完成之后才会执行。基于这个特点,本发明实施例中,可以在预设时间段内,当cpu需要连续向二级缓存写操作的数据量超过门限值的时候,插入一个对从一次缓存向二级缓存刷新数据的操作,这样相当于强制让cpu预取指令停顿一下,cpu产生数据的过程也会停顿一下。

在本发明实施例中,上述预设时间段内,可以是该系统的一个时钟周期,也可以多个时钟周期等,在本发明实施例中对此不作具体限定。

步骤102、以所述门限值除以所述第一传输速率,得到所述中央处理器传输所述门限值数据需要的第一时间。

在本发明实施例中,向cpu发送从上述一级缓存向上述二级缓存刷新数据的操作指令,cpu产生数据的过程会停顿一下,则此时,上述二级缓存需要接收的数据,就是上述需要写入二级缓存的门限值的cpu数据,以及该预设时间段内,外设需要写入二级缓存的数据。

由于通常,cpu向二级缓存写数据的优先级高于外设向二级缓存写数据的优先级,因此,首先cpu将上述门限值的数据写入到二级缓存中。而该缓存系统中,二级缓存以第一传输速率接收数据,因此,用上述门限值除以该第一传输速率,即可确定cpu将上述门限值数据写入到二级缓存需要的时间,将cpu将上述门限值数据写入到二级缓存需要的时间,定义为第一时间。

在本发明实施例中,二级缓存用于以第一传输速率接收数据,该第一传输速率通常由系统本身确定,在本发明实施例中,对此不作具体限定。

步骤103、计算所述中央处理器执行所述操作指令需要的第二时间。

在本发明实施例中,向cpu发送从上述一级缓存向上述二级缓存刷新数据的操作指令,cpu执行上述操作指令过程中,会强制让cpu预取指令停顿,进而在cpu执行上述操作指令过程中,cpu不会产生新的需要写入二级缓存的数据,因此,在cpu执行上述操作指令过程中,cpu需要写入二级缓存的数据就是上述门限值的数据量。

通过cpu的执行效率,确定cpu执行上述操作指令需要的时间,将cpu执行上述指令的时间定义为第二时间,即在第二时间内,cpu需要写入二级缓存的数据就是上述门限值的数据量。

在本发明实施例中,对如何确定cpu执行上述操作指令需要的时间,不作具体限定。

步骤104,用所述第二时间和所述第一时间,确定第三剩余时间。

在本发明实施例中,在上述第二时间内,cpu需要写入二级缓存的数据就是上述门限值的数据量。

在本发明实施例中,用上述第二时间和上述第一时间,确定第三剩余时间。

参照图3,图3示出了,确定第三剩余时间的步骤流程图。优选的,在本发明实施例中,用所述第二时间和所述第一时间,确定第三剩余时间,可以包括如下子步骤:

s41、根据所述缓存系统需要处理的数据,确定所述第二时间段内,所述缓存系统对所述二级缓存额外消耗的第四时间。

s42、用所述第二时间减去所述第一时间和所述第四时间的和,得到所述第三剩余时间。

在本木发明实施例中,根据所述缓存系统需要处理的数据,确定所述第二时间段内,所述缓存系统对所述二级缓存额外消耗的第四时间这里的第四时间。具体可以是,该第二时间段内,需要二级缓存额外消耗一定的时间,维护数据一致性和刷新操作等,在本发明实施例中,第四时间就是,该第二时间段内,为了维护数据一致性和刷新操作等,二级缓存需要额外消耗的时间。

在本发明实施例中,上述第四时间,可以根据系统的运行等情况进行确定,在本发明实施例中对此不作具体限定。

在本发明实施例中,由于上述第二时间,cpu需要占用第一时间,向二级缓存写入数据。在上述第二时间内,二级缓存除了接收cpu写入的数据,还可能接收外设写入的数据。

在本发明实施例中,上述第一时间和第四时间的和,就是上述第二时间段内,二级缓存传输cpu需要传输的数据和维护数据一致性等一共占用的时间。用上述第二时间减去上述第一时间和上述第四时间的和,即得到了该第二时间段内,二级缓存能够留给外设写入数据的时间。将上述用第二时间减去第一时间和第四时间的和,得到的时间差,定义为第三剩余时间,该第三剩余时间,即为上述第二时间段内,二级缓存能够留给外设写入数据的时间

在本发明实施例中,在cpu执行从所述一级缓存向所述二级缓存刷新数据的操作指令的第二时间段内,二级缓存需要接收cpu写入的门限值的数据,还需要维护系统数据的一致性等,除此之外,可以为外设留出时间,由外设向二级缓存写入数据。进而在cpu连续向二级缓存写入数据的过程中,留出第三剩余时间,由外设基于上述第一传输速率向二级缓存写数据,避免了外设数据溢出。

步骤105、所述外设占用所述第三剩余时间,基于所述第一传输速率,向所述二级缓存写数据。

在本发明实施例中,在cpu执行从所述一级缓存向所述二级缓存刷新数据的操作指令的第二时间段内,二级缓存需要接收cpu写入的门限值的数据,还需要维护系统数据的一致性等,在上述第二时间段内,将上述操作需要占用二级缓存的时间减去,得到第三剩余时间。

在本发明实施例中,外设占用上述第三剩余时间,基于上述第一传输速率向二级缓存写数据,进而可以在cpu连续向二级缓存写入数据的过程中,留出第三剩余时间,由外设基于上述第一传输速率向二级缓存写数据,从一定程度上缓解了外设排队的数据量,避免了外设数据溢出。

在本发明实施例中,在预设时间段内,当cpu需要连续向二级缓存写操作的数据量超过门限值,则向cpu发送从一级缓存向二级缓存刷新数据的操作指令,执行该指令的第二时间内,cpu会停止预取指令的操作,进而会减少向二级缓存写数据的数据量,在该第二时间内,将上述门限值的数据传输到二级缓存占用第一时间,由该第二时间和第一时间,确定出剩余给外设向二级缓存传输数据的第三剩余时间,进而外设占用上述第三剩余时间,基于第一传输速率向二级缓存写数据,相当于在cpu连续向二级缓存写数据时,加入一个暂停,在该暂停时间内,为外设让出向二级缓存写数据的时间,减少外设向二级缓存写数据过程中,排队的数据量,进而减少外设数据溢出。避免了cpu连续向二级缓存写数据过程中,外设数据溢出;同时上述解决方案,主要从cpu端进行优化,降低了难度和工作量,比针对外设端的优化方式更加灵活,适用性更强。

实施例二

参照图4,图4示出了本发明实施例的另一种向缓存系统写数据的方法的步骤流程图,所述缓存系统包括:一级缓存、二级缓存、外设、中央处理器;所述二级缓存用于以第一传输速率接收数据;该方法可以包括以下步骤:

步骤401、根据所述预设时间段内,所述缓存系统需要处理的数据,确定所述中央处理器需要连续向所述二级缓存写操作的最小数据量。

在本发明实施例中,可以根据预设时间段内,缓存系统需要处理的数据,确定cpu需要连续向所述二级缓存写操作的最小数据量。上述cpu需要连续向所述二级缓存写操作的最小数据量,可以是为了保证该缓存系统正常运行,cpu需要连续向上述二级缓存写操作的最小数据量。

在本发明实施例中,可以根据预设时间段内,缓存系统需要处理的数据,确定cpu需要连续向所述二级缓存写操作的最小数据量,在本发明实施例中,对该最小数据量的确定不作具体限定。

步骤402、在所述预设时间段内的上行子帧内,将所述最小数据量,确定为所述门限值。

在本发明实施例中,在基站处理业务时,在每个无线帧内的处理和计算的时刻点大致是周期性的。系统数据量的波峰都一般发生在上行子帧或者cpu连续写操作的时候,这些能直接写数据到二级缓存的外设一般都是受cpu控制运行的,而且cpu和外设对二级缓存的访问量一般会同时增大或减小。因此,在上述预设时间段内的上行子帧内,通常外设需要向二级缓存写入的数据,也达到了波峰。

在本发明实施例中,在上述预设时间段内的上述子帧内,即外设需要向二级缓存写入的数据达到波峰时,可以尽量让cpu需要连续向二级缓存写入的数据量为最小,例如,只要能够保证该缓存系统正常运行即可,进而留给外设较多的时间,由外设向二级缓存写入数据,进而避免外设数据溢出。

在本发明实施例中,通常一级缓存以一定的数据量尺寸向二级缓存刷新数据,可选的,上述门限值还可以是上述数据量尺寸的1/2,还可以是上述数据量尺寸的2/3,还可以是上述数据量尺寸的3/4,在本发明实施例中对此不作具体限定。

可选的,具体可以是,先将上述数据量尺寸的1/2与上述cpu需要连续向所述二级缓存写操作的最小数据量比较大小,若上述数据量尺寸的1/2,大于等于上述cpu需要连续向所述二级缓存写操作的最小数据量,则将上述数据量尺寸的1/2作为上述门限值;否则,若上述数据量尺寸的2/3,大于等于上述cpu需要连续向所述二级缓存写操作的最小数据量,则将上述数据量尺寸的2/3作为上述门限值;否则,若上述数据量尺寸的3/4,大于等于上述cpu需要连续向所述二级缓存写操作的最小数据量,则将上述数据量尺寸的3/4作为上述门限值;在本发明实施例中,对此不作具体限定。

可选的,将一次从一级缓存向二级缓存刷新数据的数据量减小,进而一次从一级缓存向二级缓存刷新数据占用二级缓存的时间也就减小了,进而为外设让出了时间,由外设向二级缓存写入数据,避免了外设数据溢出。

在本发明实施例中,在上述预设时间段内的上行子帧内,还可以根据外设当前需要写入二级缓存的数据量,在保证上述外设数据不溢出的情况下,将上述门限值确定为最大,进而保证外设数据不溢出的情况下,cpu运行最快,在本发明实施例中,对此不作具体限定。

可选的,参照图5,图5示出了另一种确定门限值的步骤流程图,在本发明实施例中,还可以按照以下步骤确定上述门限值。步骤11、根据所述预设时间段内,所述缓存系统需要处理的数据,确定所述外设当前需要写入所述二级缓存的数据量;步骤12、在所述预设时间段内除所述上行子帧的其它时间段内,根据确定的所述外设当前需要写入所述二级缓存的数据量,和所述最小数据量,确定所述门限值。

具体的,在本发明实施例中,根据上述预设时间段内,该缓存系统需要处理的数据,确定上述外设当前需要写入该二级缓存的数据量,在本发明实施例中,对当前外设需要写入该二级缓存的数据量的确定不作具体限定。

在本发明实施例中,由于外设向二级缓存写数据的波峰通常发生在上行子帧,因此,对于该预设时间段内除上行子帧的其它时间段内,可以根据确定的上述外设当前需要写入上述二级缓存的数据量和上述cpu需要连续向所述二级缓存写操作的最小数据量,确定上述门限值。

例如,对于该预设时间段内除上行子帧的其它时间段内,当确定的上述外设当前需要写入上述二级缓存的数据量很小,外设完全没有发生数据溢出的可能时,则不用设置该门限值,则不执行后续的步骤,使得cpu的执行效率为最大;对于该预设时间段内除上行子帧的其它时间段内,当确定的上述外设当前需要写入上述二级缓存的数据量较大,外设有发生数据溢出的可能时,则可以将根据上述cpu需要连续向所述二级缓存写操作的最小数据量,确定合适的门限值,在避免外设数据溢出的同时,还需要保证cpu较高的执行效率。在本发明实施例中,需要根据系统实际的运行情况,确定合适的门限值,对此不作具体限定。

在本发明实施例中,在上述预设时间段内除上行子帧的其它时间段内,根据确定的上述外设当前需要写入所述二级缓存的数据量,和上述cpu需要连续向所述二级缓存写操作的最小数据量,确定合适的门限值,不仅避免了外设数据溢出,还能够保证cpu较高的执行效率,提升了系统的适应性。

可选的,在本发明实施例中,在上述预设时间段内,还可以根据上述外设当前需要写入二级缓存的数据量,在保证上述外设数据不溢出的情况下,将上述门限值确定为最大,进而保证外设数据不溢出的情况下,cpu运行最快。

缓存系统中,一级缓存通常以一定的数据量尺寸向二级缓存刷新数据,可选的,例如,可以先将上述门限值直接预设置为该数量尺寸,判断外设的数据是否会发生溢出,若是,则将门限值设置为该数量尺寸,若上述判断的结果为否,则可以将上述门限值预设值为该数量尺寸的4/5,判断外设的数据是否会溢出,若不会溢出,则将该门限值设置为该数量尺寸的4/5;依次减小该门限值,判断外设数据是否会溢出,确定外设数据不会溢出情况下,最大的门限值,进而实现了外设数据不溢出的情况下,cpu运行最快。

在本发明实施例中,需要说明的是,在上述预设时间段内的上行子帧内,也可以通过依次减小门限值的预设值,根据该时间段内,外设需要写入二级缓存的数据,预判该外设数据是否会溢出,确定外设数据不会溢出情况下,最大的门限值,进而实现了外设数据不溢出的情况下,cpu运行最快。在本发明实施例中,对此不作具体限定。

步骤403、生成所述从所述一级缓存向所述二级缓存刷新数据的操作指令。

在本发明实施例中,生成从上述一级缓存向上述二级缓存刷新数据的操作指令,后续将该条指令发送给cpu。在本发明实施例,可以是cpu生成该条操作指令,在本发明实施例中,对此不作具体限定。

步骤404、预设时间段内,当所述中央处理器需要连续向所述二级缓存写操作的数据量超过门限值时,向所述中央处理器发送从所述一级缓存向所述二级缓存刷新数据的操作指令,以使得所述中央处理器连续向所述二级缓存写操作暂停。

步骤405、以所述门限值除以所述第一传输速率,得到所述中央处理器传输所述门限值数据需要的第一时间。

步骤406、计算所述中央处理器执行所述操作指令需要的第二时间。

步骤407、用所述第二时间和所述第一时间,确定第三剩余时间。

步骤408、所述外设占用所述第三剩余时间,基于所述第一传输速率,向所述二级缓存写数据。

在本发明实施例中,上述步骤404-408,可以参照上述实施例一中的步骤101-105,此处不再赘述。

在本发明实施例中,对于非小区激活时间段,在cpu连续向二级缓存写数据的时候,直接以上述cpu需要连续向所述二级缓存写操作的最小数据量作为上述门限值,保证外设不发生数据溢出。

在本发明实施例中,根据预设时间段内,该缓存系统需要处理的数据,确定cpu需要连续向二级缓存写操作的最小数据量,在需要写入二级缓存的外设数据量达到波峰的上行子帧内,可以将该最小数据量作为cpu需要连续写入二级缓存的门限值,向cpu发送从一级缓存向二级缓存刷新数据的操作指令,cpu在执行上述刷星数据的操作指令过程中,cpu连续向上述二级缓存写操作会暂停,进而在保证了系统正常运行的情况下,为外设让出了较多的第三剩余时间,外设占用该第三剩余时间,向二级缓存写入数据,避免了外设数据溢出;在需要写入二级缓存的外设数据量相对小的其它时间段内,根据外设当前需要写入二级缓存的数据量和cpu需要连续向二级缓存写操作的最小数据量,共同确定合适的门限值,不仅避免了外设数据溢出,还能够保证cpu较高的执行效率,提升了系统的适应性。同时上述解决方案,主要从cpu端进行优化,降低了难度和工作量,比针对外设端的优化方式更加灵活,适用性更强。

实施例三

参照图6,示出了本发明实施例提供的一种向缓存系统写数据装置600的结构框图。所述缓存系统包括:一级缓存、二级缓存、外设、中央处理器;所述二级缓存用于以第一传输速率接收数据;该装置600包括:

操作指令发送模块604,用于预设时间段内,当所述中央处理器需要连续向所述二级缓存写操作的数据量超过门限值时,向所述中央处理器发送从所述一级缓存向所述二级缓存刷新数据的操作指令,以使得所述中央处理器连续向所述二级缓存写操作暂停;

第一时间确定模块605,用于以所述门限值除以所述第一传输速率,得到所述中央处理器传输所述门限值数据需要的第一时间;

第二时间计算模块606,用于计算所述中央处理器执行所述操作指令需要的第二时间;

第三剩余时间确定模块607,用于用所述第二时间和所述第一时间,确定第三剩余时间;

外设数据写入模块608,用于所述外设占用所述第三剩余时间,基于所述第一传输速率,向所述二级缓存写数据。

可选的,参照图7,在图6的基础上,所述装置600还可以包括:

最小数据量确定模块601,用于根据所述预设时间段内,所述缓存系统需要处理的数据,确定所述中央处理器需要连续向所述二级缓存写操作的最小数据量;

门限值第一确定模块602,用于在所述预设时间段内的上行子帧内,将所述最小数据量,确定为所述门限值。

可选的,所述装置600还可以包括:

外设当前数据确定模块,用于根据所述预设时间段内,所述缓存系统需要处理的数据,确定所述外设当前需要写入所述二级缓存的数据量;

门限值第二确定模块,用于在所述预设时间段内除所述上行子帧的其它时间段内,根据确定的所述外设当前需要写入所述二级缓存的数据量,和所述最小数据量,确定所述门限值。

可选的,所述第三剩余时间确定模块607,可以包括:

第四时间确定单元6071,用于根据所述缓存系统需要处理的数据,确定所述第二时间段内,所述缓存系统对所述二级缓存额外消耗的第四时间;

第三剩余时间确定单元6072,用于用所述第二时间减去所述第一时间和所述第四时间的和,得到所述第三剩余时间。

可选的,所述装置600还可以包括:

操作指令生成模块603,用于生成所述从所述一级缓存向所述二级缓存刷新数据的操作指令。

本发明实施例提供的向缓存系统写数据装置,能够实现图1至图4的方法实施例中的各个过程,为避免重复,这里不再赘述。

在本发明实施例中,在预设时间段内,当cpu需要连续向二级缓存写操作的数据量超过门限值,则向cpu发送从一级缓存向二级缓存刷新数据的操作指令,执行该指令的第二时间内,cpu会停止预取指令的操作,进而会暂时减少向二级缓存写数据的数据量,在该第二时间内,将上述门限值的数据传输到二级缓存占用第一时间,由该第二时间和第一时间,确定出剩余给外设向二级缓存传输数据的第三剩余时间,进而外设占用上述第三剩余时间,基于第一传输速率向二级缓存写数据,相当于在cpu连续向二级缓存写数据时,加入一个暂停,在该暂停时间内,为外设让出向二级缓存写数据的时间,减少外设向二级缓存写数据过程中,排队的数据量,进而减少外设数据溢出。避免了cpu连续向二级缓存写数据过程中,外设数据溢出;同时上述解决方案,主要从cpu端进行优化,降低了难度和工作量,比针对外设的优化方式更加灵活,适用性更强。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种适合于高速高精度模数转换器的多通道选择电路,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1