《对先行载入值检查的增强.pdf》由会员分享,可在线阅读,更多相关《对先行载入值检查的增强.pdf(16页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN103336682A43申请公布日20131002CN103336682ACN103336682A21申请号201310141701222申请日2006080911/202,77020050812US200680037497820060809G06F9/3820060171申请人高通股份有限公司地址美国加利福尼亚州72发明人博胡斯拉夫雷赫利克74专利代理机构北京律盟知识产权代理有限责任公司11287代理人刘国伟54发明名称对先行载入值检查的增强57摘要本发明涉及对先行载入值检查的增强。特别地,本发明揭示用于实施已重新排序计算机指令的系统和方法。计算机处理器从第一存储器地址中载。
2、入第一值,并将所述第一值和所述第二值两者记录在表格或队列中。所述处理器将第二值存储到相同的存储器地址,并驱逐先前的表格条目或将所述第二值添加到先前的表格条目。在随后检测已驱逐的表格条目或不一致的第二值时,所述处理器产生异常,所述异常触发恢复对所述第一值的推测性使用。30优先权数据62分案原申请数据51INTCL权利要求书2页说明书7页附图6页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书7页附图6页10申请公布号CN103336682ACN103336682A1/2页21一种计算机系统,包括存储器,用于在多个位置存储数据,每一位置具有相应的存储器地址;耦合到所述存储器的硬。
3、件处理器,用于将载入指令提前到中间存储指令之后;从第一存储器地址载入第一值;将所述第一存储器地址记录在表格的第一表格条目的地址部分,其中,所述表格存储在所述存储器中,所述表格包括一个或多个表格条目,所述一个或多个表格条目包括所述第一表格条目,其中每一表格条目包括对应的地址部分、对应的第一值部分以及对应的第二值部分,其中,所述对应的第一值部分与所述对应的第二值部分与所述对应的地址部分相关联;将所述第一值记录在所述第一表格条目的所述第一值部分;记录所述第一值之后,将第二值存储到第二存储器地址;确定所述第一存储器地址与所述第二存储器地址是相同的;将先前记录的第一值移至所述第一表格条目的所述第二值部分。
4、,并将随后存储的第二值记录在所述第一表格条目的所述第一值部分;以及在通过比较所述第一值和所述第二值而确定所述第一值与所述第二值不相同的情况下,产生异常。2根据权利要求1所述的计算机系统,其中,所述计算机系统包括基站。3根据权利要求1所述的计算机系统,其中,将先前记录的第一值移至所述第一表格条目的所述第二值部分并将随后存储的第二值记录在所述第一表格条目的所述第一值部分使用随后存储的第二值替代先前记录的第一值。4一种计算机系统,包括用于存储数据的装置,其中,所述数据包括具有多个条目的表格,每一条目包括对应的地址部分、对应的当前值部分以及对应的先前值部分,每一条目用于存储于存储器地址相关联的至少两个。
5、值;硬件处理器,用于从第一存储器地址载入第一值;在所述表格的第一条目记录所述第一存储器地址;在所述第一条目的所述当前值部分记录所述第一值;记录所述第一值之后,将第二值存储到第二存储器地址;确定所述第一存储器地址与所述第二存储器地址是相同的;将先前记录的第一值移至所述第一条目的所述先前值部分;以及在所述第一条目的所述当前值部分记录随后存储的第二值。5根据权利要求4所述的计算机系统,其中,所述计算机系统包括基站。6根据权利要求4所述的计算机系统,其中,所述硬件处理器用于对处理指令进行重新排序以将载入指令提前到中间存储指令之后。7根据权利要求4所述的计算机系统,其中,所述硬件处理器还用于对待结合编译。
6、程序来运行的指令进行重新排序。8根据权利要求7所述的计算机系统,其中,所述硬件处理器还用于在时钟周期期间权利要求书CN103336682A2/2页3并行运行多个指令。9根据权利要求4所述的计算机系统,其中,在所述第一条目的所述当前值部分记录随后存储的第二值使用所述第一条目的所述当前值部分中的随后存储的第二值替代先前记录的第一值。权利要求书CN103336682A1/7页4对先行载入值检查的增强0001分案申请的相关信息0002本申请为发明名称为“对先行载入值检查的增强”的原中国发明专利申请的分案申请。原申请的申请号为2006800374978;原申请的申请日为2006年8月9日。技术领域000。
7、3本发明所揭示实施例大体来说涉及计算,且更特定来说涉及在处理器中实施先行预取操作。背景技术0004计算机程序是在执行时可导致计算机以预定的方式运转的指令列表。一般来说,程序可含有变量列表及告知所述计算机如何处理所述变量的语句列表。程序设计员可以用人类容易理解的“高级”编程语言来编写计算机程序。这种形式的程序称作“源代码”。然而,为了在计算机上执行程序,必须将源代码转变为机器语言,所述机器语言是可由所述计算机使用的“低级”语言。0005这个转换过程的第一步通常由称作编译程序的实用程序来实施,所述编译程序将源代码解释为更接近机器语言的形式。编译程序可具有除这种解释功能之外的额外功能。例如,编译程序。
8、可查看源代码且对其中的某些指令重新排序以及实施其它优化。所述编译程序将源代码转变为称作“目标代码”的形式。有时所述目标代码和机器语言相同,有时在准备由计算机执行之前其需要进行进一步处理。0006编译程序可实施的一种优化是,对计算机程序中的指令进行重新排序来比简单转化已产生的程序设计员的源代码版本更有效地操作。0007例如,程序可处理变量。变量通常位于存储器中且必须在其可供使用之前存取。在处理器中,存储器的这种存取占用有限量的时间。如果在程序准备使用变量时还没有从存储器中获得所述变量,则将变量传送到存储器中时可能会遇到延迟。0008计算机指令的两个常见类型为载入指令(“载入”)和存储指令(“存储。
9、”)。“载入”可存取存储器以提取由程序需要的数据。“存储”通常认为是次要的,因为其只将最终数据存储到存储器,例如随后程序不需要的最终计算结果。因此,可通过将“载入”提前到“存储”之前来改善程序效率。0009遗憾的是,这个技术会导致称作“载入/存储混叠”的重大问题。当“存储”将数据写入到与“载入”从其中读取的存储器地址相同的存储器地址时,将会发生“载入”/“存储”混叠。图1图解说明这种情况的实例。处理器寄存器100可含有来自正在执行的计算机程序的一连串指令。程序设计员可能在紧接“使用”指令(“使用”)104之前已经将“载入”102A包含在源代码中。所述“使用”104可以是利用由“载入”102A所。
10、检索的数据来进行的计算。如上文解释,编译程序可通过将“载入”102A提升得高于“使用”104上方程序设计员最初在源代码中放置其的地方(由箭头106所指示)在运行时间改善整体程序效率。一个原因是,存取计算机存储器的过程有时是缓慢的,且如果“载入”102A和“使用”104彼说明书CN103336682A2/7页5此太接近,则当所述计算机遇到“使用”104时,其可能需要等待“载入”102A检索实施“使用”104所需的数据。如果编译程序可将“载入”102A更早地放置在(例如)位置102B处,则计算机将更有可能在遇到“使用”104时就已经得到了检索到的数据。因此,通过将“载入”提升到“使用”指令上方,编。
11、译程序可减少等待时间并提高程序效率。0010然而,如果将“载入”102提升到“使用”104上方过远,则其可能会被提升到中间“存储”110上方,如箭头108所指示。如果中间“存储”110恰巧将新数据写入到由“载入”102存取的相同存储器地址,则发生“载入”/“存储”混叠。在操作中,“载入”102C将从指定的存储器地址中读取数据(例如值“0”),然后中间“存储”110将把新数据(例如值“1”)保存到那个相同存储器地址。当遇到“使用”104时,其将接收到“0”而不是“1”,因为“0”是由“载入”102C读取的值。然而,程序设计员可能原打算让“使用”104接收值“1”,这也是他为什么在编写源代码时就已。
12、将中间“存储”110(其存储值“1”)放置在“载入”102A和“使用”104之前的原因。因而,通过将“载入”102A移动到高于中间“存储”110的任何位置,编译程序可导致“使用”104接收不正确的数据。因此,虽然将“载入”提升到“存储”上方通常可以是有益的,但是多数编译程序受限于中间“存储”。这会带来高性能微处理器及并行编译程序中的重大性能问题。0011一种用于处理这个问题的方法称作“数据推测”。数据推测采用称作“先行载入”(“LDA”)和“检查先行载入”(“CHKA”)的专用指令。先行载入是一种如下的“载入”当从存储器地址中检索数据时,将那个存储器地址插入称作“先行载入地址表”(“ALAT”。
13、)的表格中。然后由其它程序指令推测性地使用已载入的数据。同时,所有的“存储”在将数据存储到存储器地址时均将所述地址与先行载入地址表中所登记的地址进行比较。从先行载入地址表中驱逐任何匹配条目(别名)。当随后的检查先行载入检测到已经从先行载入地址表中驱逐值时,其可产生异常。0012异常是指导致程序或微处理器分支到不同的例程的状态,且通常指示错误状态。在这种情况下,当检测到先行载入地址表驱逐时所产生的异常触发对先前由先行载入所检索的数据的推测性使用的恢复。那个数据证明是不正确的数据(由混叠导致),所以在所述由异常触发的恢复过程中必须调整其使用。这种恢复需要大量的工作和处理时间,且大大地妨碍了性能。因。
14、此,异常的产生是不合需要的,且过量的异常首先会显著地抵销编译程序在对指令重新排序时所实现的任何增益。发明内容0013在本发明的一个方面中,执行已重新排序的程序指令的方法包含从第一存储器地址中载入第一值;将所述第一存储器地址记录在经配置以记录存储器地址与值之间的关联的表格中;将所述第一值记录在所述表格中以使所述第一值与所述第一存储器地址相关联;将第二值存储到第二存储器地址;及确定所述第一和第二存储器地址是相同的。0014在本发明的另一方面中,一种计算机可读媒体具体化可由计算机执行以实施用于执行已重新排序程序指令的方法的指令程序,所述方法包含从第一存储器地址载入第一值;将所述第一存储器地址记录在经。
15、配置以记录存储器地址与值之间的关联的表格中;将所述第一值记录在所述表格中,以使所述第一值与所述第一存储器地址相关联;将第二值存储到第二存储器地址;及确定所述第一和第二存储器地址是相同的。说明书CN103336682A3/7页60015在本发明的另一方面中,计算机系统包含存储器,其经配置以将数据存储在由不同地址表示的多个位置中;及处理器,其耦合到所述存储器且经配置以从所述存储器地址的第一个地址中载入第一值,将所述第一存储器地址记录在经配置以记录存储器地址与值之间的关联的表格中;将所述第一值记录在所述表格中以使所述第一值与所述第一存储器地址相关联,将第二值存储到所述存储器地址的第二个地址,及确定所。
16、述第一和第二存储器地址是相同的。0016在本发明的再一个方面中,一种计算机系统包含用于存储数据的装置;及用于以下的装置从第一存储器地址中载入第一值;将所述第一存储器地址记录在经配置以记录存储器地址与值之间的关联的表格中;将所述第一值记录在所述表格中以使所述第一值与所述第一存储器地址相关联;将第二值存储到第二存储器地址;及确定所述第一和第二存储器地址是相同的。附图说明0017图1图解说明“载入”/“存储”混叠的实例;0018图2图解说明无线通信系统;0019图3是图解说明电话系统的各组件的方块图;0020图4图解说明包含对已存储值进行检查的过程的实例;0021图5是图解说明用于确定在中间“存储”。
17、之后是否应该产生异常的逻辑顺序的流程图;0022图6图解说明包含对已存储值进行检查的替代过程的实例;且0023图7是图解说明用于确定在中间“存储”之后是否应该产生异常的替代逻辑顺序的流程图。具体实施方式0024图2图解说明其中可采用本文中描述的各种实施例的无线通信系统。所属技术领域的技术人员应认识到,各种实施例并不限于通信系统中的使用,其还可替代地具有许多其它的实际应用,且所述无线通信系统仅用作说明性实例。无线通信系统200可包含订户台202,订户台202通过在反向链路上将数据传输到基站206来与地面数据网络204通信。基站206可接收数据并将其通过基站控制器(“BSC”)208路由到地面网络。
18、204。相反,可将到订户台202的通信从地面网络204经由BSC208路由到基站206并在正向链路上将所述通信从基站206传输到订户单元202。所属技术领域的技术人员应了解,可在基站206与一个或多个订户台202(其它订户台未图示)之间发生正向链路传输。类似地,可在一个订户台202与一个或多个基站206(其它的基站未图示)之间发生反向链路传输。0025图3是图解说明其中可使用本发明教示的电话系统的一部分的各种组件的方块图。计算机系统300可包括处理器302、存储器304及其它电路306。计算机系统300可以是包含(例如)服务器、客户机、个人计算机、基站或订户台的任何类型的计算机系统。所属技术领。
19、域的技术人员应了解,本文中的教示适用于包含耦合到存储器的处理器的许多其它类型的计算机系统。处理器302可包括(例如)EPIC微处理器。所述微处理器可以是(例如)INTELITANIUM微处理器。所属技术领域的技术人员应了解,本文中的教示同样可适用说明书CN103336682A4/7页7于其它处理器,所述处理器能够与编译程序结合来对指令重新排序并将“载入”提前到中间“存储”以上。处理器302可包括用于提前计算机程序中的指令的寄存器或与所述寄存器通信。处理器302可与存储器304通信以按照计算机程序指令的引导检索和存储数据。处理器302可经配置以允许编译程序根据本文中的教示重新排序计算机程序中的计。
20、算指令。0026如上所述,数据推测是利用专用先行载入和检查先行载入指令来减轻与“载入”/“存储”混叠相关联的问题的方法。因为每当“存储”存取已经记录在先行载入地址表中的存储器地址时数据推测都驱逐先行载入地址表中的条目,所以检查先行载入指令将引起大量的异常。除了在出现异常之后恢复推测性数据使用的效率损失外,这个方法的不可预测性也是由于在产生异常时所需要的例程分支和随后的同步化。因此,根据本文中的教示,并不是在每一次“存储”存取已经记录在先行载入地址表中的存储器地址时都将先行载入地址表条目删除。0027当执行计算机程序时,往往将某些值一贯地或至少经常地存储到特定地址。换句话说,即使单独地且独立地执。
21、行“存储”,也可由所述“存储”的不同实例将某个值经常地存储到相同的特定地址。当第一“存储”将第一值写入到某个地址,且然后第二“存储”将第二值写入到那个相同的地址时,如果所述第一和第二值是相等的,则不必产生异常来恢复所述第一值的推测性使用。如果中间“存储”用相同的数据来改写数据,则任何先前使用原始数据的指令都不需要校正,因为甚至在所述中间“存储”之前所述数据的值是正确的。0028根据这些教示,先行载入地址表可经配置以存储存储器地址和已存储值两者。同样,除了将“存储”地址与先行载入地址表中所记录的地址进行比较之外,还可修改检查先行载入例程来将已存储值与先行载入地址表中所记录的值进行比较。处理器可经。
22、配置以只在满足以下两个条件时驱逐先行载入地址表中的条目“存储”地址与先行载入地址表中所记录的地址相匹配,且已存储值与先行载入地址表中所记录的与已记录地址相关联的值不相等。通过针对这种情况进行检查,本文中所揭示的处理器配置可消除不必要的异常并改善整体程序效率。如果“存储”地址与先行载入地址表中所记录的地址相匹配,而已存储值与先行载入地址表中所记录的与已记录地址相关联的值相同,则先行载入地址表条目可保留在先行载入地址表中以使后来不会由搜索并发现未驱逐的先行载入地址表条目的检查先行载入产生异常。0029图4图解说明包含对已存储值进行检查的过程的实例。当执行计算机处理器的寄存器400中的程序时,根据本。
23、文中描述的过程来实施所述寄存器中的程序指令。当实施某些指令时,可存取“先行载入地址及值表格”(“ALAVT”)402。可将“先行载入地址及值表格”402存储在(例如)可由所述处理器存取的存储器中,或可维持在所述处理器本身中。随着程序操作的继续进行,可遇到先行载入(LDA)指令404。如图4中所图解说明,这可表示为LDAB,Y,其指示处理器将实施从存储器地址“B”中载入值“Y”的指令。与载入这个值结合或在所述载入发生之前或之后,处理器还可存取“先行载入地址及值表格”402并将与值“Y”相关联的地址“B”记录在条目406处。0030接下来,处理器可遇到额外指令,其中包含STB,X指令408。根据这。
24、个指令,处理器可将值“X”存储到存储器地址“B”。处理器还可存取“先行载入地址及值表格”402以确定是否先前已从刚刚写入到的地址“B”中载入。在检查“先行载入地址及值表格”402时,处理器将遇到先前将地址“B”记录在其中的条目406。然后处理器可询问新存储的值“X”说明书CN103336682A5/7页8是否等于先前所载入的值“Y”。如果相等,则处理器可继续进行正常的程序执行。然而,如果已确定“X”和“Y”不相等,则处理器可如驱逐410所指示来驱逐条目406。通过从“先行载入地址及值表格”402中驱逐这个条目,处理器正在提供以下指示由于中间“存储”408,可能已经不正确地使用了先前从地址“B”。
25、中载入的值“Y”。因此,当处理器遇到CHKAB指令414时,其将针对具有地址“B”的条目来检查“先行载入地址及值表格”402。然而,由于那个条目已被驱逐,因此所述处理器将不会遇到这种条目,如416处所指示。检测不到地址“B”可导致处理器产生异常,从而触发恢复由“载入”404载入的值“Y”的先前使用,由于中间“存储”408,所述值“Y”可能会是不正确的。0031图5图解说明包含对已存储值进行检查的替代过程的实例。在方块500处,可在计算机处理器的寄存器中将“先行载入”提前。指令LDAA,X命令处理器从存储器地址“A”中载入值“X”。当值“X”已经载入时,则处理器可向“先行载入地址及值表格”存取与。
26、已载入值“X”相关联的地址“A”的记录,如方块502处所指示。随后处理器可在方块504处遇到“存储”。指令STB,Y指令处理器将值“Y”存储到存储器地址“B”。在决策方块506处,处理器可与所述“存储”结合来询问“存储”存储器地址“B”是否与先前在方块500处存取的“载入”存储器地址“A”相同。如果不相同,则处理器可继续进行正常的程序执行,如方块508处所指示。然而,如果所述地址匹配,则处理器可在决策方块510处检查先前从所述地址载入的值(方块500处的值“X”)是否与刚刚存储的值(方块504处的值“Y”)相等。如果所述值相等,则处理器可继续进行正常的程序操作,如方块512处所指示。然而,如果。
27、所述值不相等,则处理器可遵循不同的例程。0032如果在决策方块510处检查的值不相等,则在方块514处,处理器可驱逐“先行载入地址及值表格”中使存储器地址“A”与值“X”相关联的记录。随后,当处理器在方块516遇到“先行载入”指令时,处理器可存取“先行载入地址及值表格”并搜索具有已记录存储器地址“A”的条目。因为这个条目在方块514处被驱逐,所以处理器不会在“先行载入地址及值表格”中定位到“A”条目,这将会导致在方块518处产生异常。所述异常可触发处理器分支到不同的例程或指令集以恢复在将值“X”从存储定位“A”中载入之后可能已由不同的指令使用的那个值“X”的任何先前使用,。这在方块520处有所。
28、指示。在所述恢复之后,处理器可再一次回到正常的程序操作。0033图6是图解说明用于确定中间“存储”之后是否应该产生异常的逻辑顺序的流程图。可与存取存储器中的“先行载入地址及值表格”602结合来实施处理器的寄存器600中的指令。最初,“先行载入”指令604LDAB,Y可命令处理器从存储器地址“B”中载入值“Y”。处理器可通过创建使地址“B”和当前值“Y”相关联的条目606来将这个“载入”记录在“先行载入地址及值表格”602中。随后,“存储”608STB,X可命令处理器将值“X”存储到存储器地址“B”。处理器可通过用新存储的当前值“X”代替“Y”及将“Y”移动到先前值位置来将这个动作记录在“先行载。
29、入地址及值表格”602中。这在条目610处有所指示。然后,另一“存储”612可命令处理器将值“Y”存储到存储器地址“B”。这将导致“Y”成为当前值且“X”成为先前值,如条目614处所指示。0034需要来自存储器位置“B”的数据的随后“使用”指令616将使用由“载入”指令604所载入的先前已载入值“Y”。虽然存在中间“存储”608和612,但是因为存储在地址“B”处的数据的当前值是已经载入的相同值“Y”,所以处理器可拒绝产生异常。这可由先行检查说明书CN103336682A6/7页9指令618CHKAB来确定,CHKAB命令处理器将地址“B”定位在“先行载入地址及值表格”602中。可将所述地址连。
30、同其相关联当前值“Y”一起定位在条目620处。处理器可将当前值“Y”与先前由“载入”604所载入的同样为“Y”的值进行比较,并确定它们是相等的。所属技术领域的技术人员应了解,如果所比较的值不相等,则处理器可产生异常以触发恢复由中间指令(例如“使用”指令616)对值“Y”的推测性使用。0035图7是图解说明用于确定在中间“存储”之后是否应该产生异常的替代逻辑顺序的流程图。将新存储的值添加到“先行载入地址及值表格”条目,而不是将其值不与中间“存储”匹配的“先行载入地址及值表格”条目清空。确定值是否匹配可最终和“先行载入”指令一起发生。这个程序适用于每个地址包含一个以上值条目的“先行载入地址及值表格。
31、”。虽然这个实例涉及其中每个地址具有两个值条目的“先行载入地址及值表格”(例如图6中的“先行载入地址及值表格”602),但本文中的教示可适用于每个地址具有任何数量值条目的“先行载入地址及值表格”。0036在方块700处,“先行载入”LDAA,X可命令计算机处理器从存储器地址“A”中载入值“X”。在方块702可通过将与地址“A”相关联的值“X”记录在“先行载入地址及值表格”中来将记录所述“载入”。然后可在方块704实施“存储”。指令STB,Y可导致处理器将值“Y”存储到存储器地址“B”。在决策方块706处,处理器可检查存储器地址“A”是否和存储器地址“B”相同。如果不相同,则在方块707处,处理。
32、器可继续进行程序操作。然而,如果所述地址相同,则在方块708处,所述处理器可添加先前的“先行载入地址及值表格”条目。处理器可将先前载入的值“X”移动到“先行载入地址及值表格”条目的“先前值”位置中,并将新存储的值“Y”记录到“先行载入地址及值表格”条目的“当前值”位置,这两个值均与“先行载入地址及值表格”条目中的存储器地址“A”相关联。0037在方块710处,“先行载入”指令CHKAA可命令处理器针对记录存储器地址“A”的条目来检查“先行载入地址及值表格”。在本实例中,将由处理器在方块712处定位条目“A,Y,X,“,其中“X”是先前值且“Y”是当前值。在决策方块714处,处理器可检验当前值“。
33、Y”是否与在方块700处所载入的先前值“X”相等。如果相等,则在方块716处,处理器可继续进行程序操作,因为先前值“X”的任何中间使用都会不受新载入的且相等的值“Y”影响。然而,如果确定所述值不同,则在方块718处,处理器可产生异常。在方块720处,所述异常可触发处理器恢复对值“X”的先前使用中,值“X”随后变为“Y”,从而导致先前使用不正确。0038因此,揭示一种用于对计算指令进行重新排序的新颖的且经改善的方法和设备。所属技术领域中的技术人员应了解,在整个上述说明中可能提到的数据、指令、命令、信息、信号、位、符号及码片可有利地表示为电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合。。
34、所属技术领域中的技术人员应进一步了解,结合本文所揭示实施例描述的各种说明性逻辑块、模块、电路及算法步骤可实施为电子硬件、计算机软件或二者的组合。已经根据其功能大体地描述了各种说明性组件、块、模块、电路及步骤。所述功能实施为硬件还是软件取决于特定的应用及施加在整个系统上的设计限制。所属技术领域的技术人员应认识到,在这些情况下硬件和软件的可交换性,及如何针对每一特定应用最好地实施所述功能。作为实例,可借助数字信号处理器(“DSP”)、专用集成电路(“ASIC”)、现场可编程门阵列(“FPGA”)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件(例如,寄存器说明书CN103336682A7/7。
35、页10及FIFO)、执行一组固件指令的处理器、任何常规的可编程软件模块及处理器或经设计以实施本文所述功能的其任何组合来实施或执行结合本文所揭示实施例来描述的各种说明性逻辑块、模块、电路及算法步骤。所述处理器可有利地为微处理器,但是另一选择为,所述处理器可以是任何常规的处理器、控制器、微控制器、可编程逻辑装置、逻辑元件阵列或状态机。所述软件模块可驻留在RAM存储器、闪速存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬磁盘、可装卸磁盘、CDROM、或此项技术中已知的任何其它形式的存储媒体中。实例性处理器有利地耦合到所述存储媒体,以从所述存储媒体中读取信息并将信息写入到所述存储。
36、媒体中。另一选择为,所述存储媒体可以是处理器的组成部分。处理器和存储媒体可驻留在ASIC中。所述ASIC可驻留在电话或其它用户终端中。另一选择为,处理器及存储媒体可驻留在电话或其它用户终端中。处理器可实施为DSP与微处理器的组合,或实施为与DSP核心结合的两个微处理器。0039因此已显示并描述了本发明的说明性实施例。然而,所属技术领域中的技术人员应明了,可在不脱离本发明精神或范畴的情况下对本文中所揭示的实施例做出大量改变。因此,仅根据随附权利要求书来限制本发明。说明书CN103336682A101/6页11图1说明书附图CN103336682A112/6页12图2图3说明书附图CN103336682A123/6页13图4说明书附图CN103336682A134/6页14图5说明书附图CN103336682A145/6页15图6说明书附图CN103336682A156/6页16图7说明书附图CN103336682A16。