[发明专利]事件插入方法无效
申请号: | 200710110746.8 | 申请日: | 2007-06-06 |
公开(公告)号: | CN101060679A | 公开(公告)日: | 2007-10-24 |
发明(设计)人: | 龚尤岗 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04Q7/32 | 分类号: | H04Q7/32;H04B1/38 |
代理公司: | 北京康信知识产权代理有限责任公司 | 代理人: | 尚志峰;吴孟秋 |
地址: | 518057广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 事件 插入 方法 | ||
技术领域
本发明涉及通信领域,更具体地涉及一种事件插入方法。
背景技术
在目前的手机设计中,事件处理单元(Time Processing Unit,简称TPU)作为整个系统的精确定时装置,所有精确定时的事件都是通过向TPU注册事件来实现的。
在一般终端中,都要求最少128个事件,分为等待事件与下发事件,占用的存储空间比较大。在移动终端中,由于存储空间有限,对于处理事件需要的存储空间采用了静态分配、动态使用的方式。然后使用了双指针链管理同一片事件空间,其中,一个链管理已使用的事件列表;一个链管理空闲的事件列表。当有新的事件需要插入时,首先从空闲链中获取一块事件空间,填入需要的事件信息,然后根据时间信息,插入事件到已使用事件链中。反之,如果需要释放一块事件空间,顺序刚好相反。
这种方法对于空间的使用非常巧妙,既保证了事件的存储空间,又不会对其他内存空间的使用提出约束。由于避免了排序过程中的存储空间拷贝操作,所以插入和搜索的速度也还算比较快。
事件注册后,需要按照事件的先后顺序进行排序。在现有的设计中,如果一次注册很多事件,软件处理的搜索次数变得很多,处理时间变得相当长。在最极端的情况下,同时插入128个事件,且每个事件插入的位置都需要最多的搜索次数,则需要的搜索次数为128*127/2=8128次。所以,TPU占用了大量的中央处理单元(CentralProcessing Unit,简称CPU)处理时间。
另外,CPU的中断资源有限,不可能给每个事件分配一个中断,为节约资源,所有的TPU中断事件使用相同的一个中断。这就可能造成中断拥挤,为了避免中断处理冲突,可以采用以下两种处理策略:
一、硬件使用一个寄存器记录最近发生的几个事件。由软件辨别当前事件分布状况,如果新事件插入点事件过于紧密,超过了CPU的处理能力,则搜索最近的满足事件处理能力的位置,调整插入事件生效时间,插入事件。
二、增加额外的随机存取存储器(Random Access Memory,简称RAM)资源,用于中断嵌套时的压栈处理。对于来不及处理的中断事件,压入栈中保存,处理完前面的事件后,再从栈中取出需要处理的事件。
但这两种处理方法都有其不可避免的弱点。第一种处理策略的弱点在于,其不能够直接通过单向链表实现,如果采用双向链表,则功能上能够实现,但运算量太大,在处理时间受约束的终端处理上无法完成。第二种处理策略的弱点在于,尽管其速度快,操作简单,但占用硬件资源太大,在功耗至上的终端上,实现这样一个功能,损失功耗,得不偿失。
发明内容
鉴于以上所述的一个或多个问题,本发明提供了一种事件插入方法。
根据本发明的一种事件插入方法,包括以下步骤:S102,判断将要插入事件的事件链表中的头事件和尾事件的时间;S104,根据待插入事件的时间与头事件的时间和尾事件的时间之间的关系,确定待插入事件在事件链表中的插入位置;以及S106,将待插入事件插入所确定的插入位置中。
其中,在步骤S104中,在待插入事件的时间早于头事件的时间或晚于尾事件的时间的情况下,确定待插入事件在事件链表中的插入位置在头事件之前或在尾事件之后。
其中,在待插入事件的时间在头事件的时间和尾事件的时间之间的情况下,步骤S104包括以下步骤:S1042,判断头事件和尾事件之间的时间差是否小于特定值;S1044,在头事件和尾事件之间的时间差小于特定值的情况下,确定头事件在事件链表中的位置为待处理事件在事件链表中的插入位置,否则进行步骤S1046;S1046,判断头事件和尾事件之间的中间事件的时间是否晚于待插入事件的时间;以及S1048,在中间事件的时间晚于待插入事件的时间的情况下,将头事件的时间变为中间事件的时间,否则将尾事件的时间变为中间事件的时间,然后返回步骤S1042。
其中,用事件序号来表示事件时间。事件序号用事件指针数组的下标表示。
根据本发明的另一种事件插入方法,包括以下步骤:S302,确定处理系统对特定数目的事件进行处理所需的最小时间;S304,根据插入待插入事件后的事件链表中的事件数目,确定待插入事件在事件链表中的插入位置;以及S306,将待插入事件插入所确定的插入位置中。
其中,在步骤S304中,在插入待插入事件后的事件链表中的事件数目小于特定数目的情况下,确定待插入事件的预插入位置为其在事件链表中的最终插入位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710110746.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:水处理催化氧化用催化剂
- 下一篇:一种基于激活的零功耗待机电源控制装置