CN102077527B - 用以在多处理器装置中在数据发射及接收期间减少上下文切换的方法及设备 - Google Patents
用以在多处理器装置中在数据发射及接收期间减少上下文切换的方法及设备 Download PDFInfo
- Publication number
- CN102077527B CN102077527B CN200980124420.8A CN200980124420A CN102077527B CN 102077527 B CN102077527 B CN 102077527B CN 200980124420 A CN200980124420 A CN 200980124420A CN 102077527 B CN102077527 B CN 102077527B
- Authority
- CN
- China
- Prior art keywords
- processor
- bao shu
- data
- queue
- shu
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9036—Common buffer combined with individual queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种用于在具有共享存储器的第一与第二处理器之间有效地传送数据的方法及设备。在所述第一处理器处将多个数据包聚集成包束。接着使用所述共享存储器将所述包束从所述第一处理器传送到所述第二处理器,其中在所述第一处理器处在单一上下文切换中执行所述包束的所述传送。接着在所述第二处理器处将所述包束拆分成个别数据包,其中归因于所述由所述第一处理器将所述数据包聚集成所述包束,所述第二处理器的处理负荷得以减少。
Description
优先权的主张
如在35U.S.C.§119中所提供,本申请案主张2008年6月26日申请的题目为“用以在双处理器接入终端中在数据连网期间减少上下文切换的方法及设备(METHODSAND APPARATUSES TO REDUCE CONTEXT SWITCHING DURING DATANETWORKING IN DUAL PROCESSOR ACCESS TERMINALS)”的第61/076,088号临时申请案的优先权,所述临时申请案转让给本申请案的受让人,所述临时申请案的内容以引用的方式并入本文献中。
技术领域
一个特征涉及通信系统,且更明确地说,涉及一种用于在两个或两个以上处理器之间进行数据传送期间减少处理器的上下文切换及中断的方法。
背景技术
随着消费者寻求一切可能的较移动技术及便利,较多内容及服务正被递送到移动及/或紧凑装置。同时,例如移动电话等接入终端的尺寸越来越小或为紧凑的,以允许用户便利地将其携带到用户去往的任何地方。归因于其小尺寸,接入终端常常具有有限处理能力及/或电源(例如,电池)。常常在处理性能与电池寿命之间做出折衷。较大功率处理器消耗较多电力,进而缩短充电之间的电池寿命。然而,较小功率处理器可能不提供较新应用所需要的足够处理能力。举例来说,随着基于国际电信联盟(ITU)的第三代(3G)及第四代(4G)电信标准的到来,正针对无线网络实施高速数据应用(例如,因特网接入、IP语音、视频递送等)。由3G及4G网络提供的较高数据速率将不断增加的压力置于具有用以支持这些较高数据速率的有限时钟速率的处理器核心上。对于并入有无线通信芯片及芯片组的手持机制造商及其它原始设备(OEM)制造商来说,这些因素导致增加的压力以通过使用现成(OTS)商业移动操作系统(例如,视窗移动(WindowsMobile)、哩纳克斯(Linux)或塞班(Symbian))来支持高速数据应用。遗憾的是,所述移动操作系统频繁地消耗大量处理时间来切换上下文,从而对于有效支持下一代高数据速率(尤其是对于OTS移动操作系统所需的分层软件架构)呈现主要障碍。此外,移动装置硬件通常试图减小处理器核心的时钟速率以企图节省或另外最小化功率消耗。
因此,需要在不牺牲用于较高数据速率的处理性能的情况下减少有限时钟速率处理器的功率消耗的技术。
发明内容
以下呈现一个或一个以上实施例的简化概述以便提供对一些实施例的基本理解。此概述并非为所有所预期实施例的广泛综述,且既不希望识别所有实施例的关键或重要元素,也不希望描绘任何或所有实施例的范围。其唯一目的在于以简化形式呈现一个或一个以上实施例的一些概念以作为稍后呈现的更详细描述的序言。
根据一个特征,提供一种用于将数据传送到第二处理器的在第一处理器中操作的方法。可由第一处理器将数据包聚集成包束。当经由共享存储器将所述包束传送到第二处理器时,第一处理器可接着在单一上下文切换中处理所述包束,其中归因于将数据包聚集成包束,第一处理器的处理负荷得以减少。另外,归因于将数据包聚集成包束,第二处理器的处理负荷也可得以减少。将数据包聚集成包束还可减少第二处理器处的上下文切换。上下文切换可包括由多个功能对处理资源的交错共享。可依靠将数据包聚集成包束以使得由第一处理器针对相同量的数据包执行较少数据传送操作来减少第一处理器处的上下文切换。
可在一个或一个以上触发器发生后即刻将包束传送到第二处理器。举例来说,所述一个或一个以上触发器可包括以下各项中的至少一者:(a)基于包束从第一处理器到第二处理器的连续传送之间的最大时间量的超时触发器;(b)基于数据包聚集成包束所在的发射队列的大小的队列水平触发器;(c)基于在用以在第一处理器与第二处理器之间传送包束的共享存储器内的传送缓冲器的使用的缓冲器使用触发器;(d)基于第二处理器的负荷的负荷触发器;或(e)基于第二处理器经由无线网络发射信息所使用的数据速率的最小数据速率触发器。
第一处理器可跨越多个层实施功能且在所述功能之间执行上下文切换。所述功能可包括经由发射队列及接收队列在彼此之间传送数据的功能驱动器及互连驱动器。在一个实例中,互连驱动器可控制在发射队列中聚集数据包且对将包束传送到第二处理器进行调度。在替代实例中,功能驱动器可控制在发射队列中聚集数据包且对将包束传送到第二处理器进行调度。
根据一个特征,一种用于从第二处理器接收数据传送的在第一处理器中操作的方法。第一处理器可接收指示数据束正从第二处理器传送的中断。接着在单一上下文切换中经由共享存储器从第二处理器获得包束,其中所述包束包括经聚集数据包。第一处理器可接着将所述包束拆分成多个数据包,其中归因于由第二处理器将数据包聚集成包束,第一处理器的处理负荷得以减少。归因于将数据包聚集成包束,第二处理器的处理负荷也可得以减少。第一处理器可跨越多个层实施功能且可在所述功能之间执行上下文切换。所述功能可包括经由发射队列及接收队列在彼此之间传送数据的功能驱动器及互连驱动器。
还提供一种接入终端,其包含第一处理器及第二处理器且适于将数据从第一处理器传送到第二处理器。多个数据包可在第一处理器处聚集成包束。接着使用共享存储器将所述包束从第一处理器传送到第二处理器,其中所述包束的传送是在第一处理器处在单一上下文切换中执行。第二处理器可接收指示包束正从第一处理器传送的中断,其中归因于在第一处理器处聚集数据包,第二处理器处的中断数目得以减少。所述包束可在第二处理器处经拆分成个别数据包,其中归因于由第一处理器将所述数据包聚集成包束,第二处理器的处理负荷得以减少。第一处理器及第二处理器可各自跨越多个层实施功能,其中第一及第二处理器中的每一者处的功能可包括经由发射队列及接收队列在彼此之间传送数据的功能驱动器及互连驱动器。
类似地,可在第二处理器处将第二多个数据包聚集成第二包束。第二处理器接着使用共享存储器将第二包束传送到第一处理器,其中所述包束的传送是在第二处理器处在单一上下文切换中执行。第一处理器接着将第二包束拆分成个别数据包,其中归因于由第二处理器将数据包聚集成第二包束,第一处理器的处理负荷得以减少。
在一个实例中,第一处理器可为应用程序处理器且第二处理器可为调制解调器处理器,所述两个处理器在无线通信装置内操作。或者,第二处理器可为应用程序处理器且第一处理器可为调制解调器处理器,所述两个处理器在无线通信装置内操作。
附图说明
图1为说明一个或一个以上接入终端可如何在通信网络内进行操作的框图。
图2为说明接入终端的一个实例的框图。
图3说明可适于执行数据聚集的双处理器架构。
图4为说明根据一个实例的数据聚集的概念的框图。
图5说明可由用于利用队列水平的智能型调度器及用于数据聚集的超时定时器使用的方法。
图6说明可适于执行数据聚集的双处理器架构的另一实例。
图7为说明包括第一处理器及第二处理器且适于使用共享存储器在所述两个处理器之间有效地传送数据包的装置的框图。
图8说明用以将经捆束数据传送到第二处理器的在第一处理器中操作的方法。
图9说明用以从第二处理器接收经捆束数据的在第一处理器中操作的方法。
图10说明用以在双处理器之间更有效地传送数据包的在双处理器接入终端中操作的方法。
具体实施方式
在以下描述中,给出特定细节以提供对实施例的透彻理解。然而,所属领域的一般技术人员将理解,可在没有这些特定细节的情况下实践所述实施例。举例来说,电路可以框图展示或根本不展示,以免以不必要的细节混淆所述实施例。在其它例子中,可能不会详细地展示众所周知的电路、结构及技术,以免混淆所述实施例。
如本文中所使用,术语“接入终端”可指代(但不限于)移动电话、蜂窝式电话、通信装置、无线装置、卫星无线电、个人数字助理、膝上型计算机及/或具有无线通信能力的掌持式计算装置。术语“数据”指代可在处理器之间或经由网络发射的所有类型的信息及/或内容。
综述
一个特征提供一种用于当在同一装置上的第一处理器与第二处理器之间传送数据时减少中断及/或上下文切换的数据聚集方案。第一处理器将数据包聚集或累积成待传送到第二处理器的包束。经聚集数据包接着在单一上下文切换中且至少部分地基于一个或一个以上触发器而从第一处理器传送到第二处理器。第一处理器及第二处理器两者可存取的共享存储器或传送缓冲器可用以传送经聚集数据包。第二处理器接收指示数据正从第一处理器传送的中断。通过在第一处理器处聚集数据包,第一及/或第二处理器处的上下文切换的数目得以减少。经聚集数据包可接着在第二处理器处拆分且发送到更高应用层或用于经由无线网络或系留装置发射。
可执行数据聚集以与通信信道(例如,用于无线网络的发射信道)的信道特性匹配且有效地减少上下文切换,进而改进(减少)处理器利用且增加处理器闲置时间。在第一与第二处理器之间的经聚集数据传送的智能型调度可基于在用于数据传送的队列中的低及高队列水平的计算。可针对不同网络数据速率调整这些相关队列水平。还可利用超时定时器以保证经聚集数据包在预定义时间周期内的传送。另外,可利用其它触发器以确定何时应传送经聚集数据。举例来说,可使用缓冲器使用触发器,其中所述缓冲器使用触发器是基于用以在第一处理器与第二处理器之间传送经聚集数据的传送缓冲器的使用或容量。类似地,还可使用负荷触发器,其中所述负荷触发器可基于第二处理器的处理负荷。在另一实例中,最小数据速率触发器基于第二处理器经由无线网络发射信息所使用的数据速率。
通信系统
图1为说明一个或一个以上接入终端可如何在通信网络内进行操作的框图。通信网络100可包括以通信方式耦合到服务网络108的一个或一个以上接入点AP-A 104及AP-B 110。所述服务网络108可包括促进订户验证、会话设立、呼叫路由、数据或内容递送等的一个或一个以上网络基础结构装置。服务网络108还可耦合到其它网络以跨越不同地域及/或网络提供服务。
一个或一个以上接入终端AT-A 102、AT-B 106及AT-C 112可经由接入点AP-A 104及AP-B 110在服务网络108上获得服务及/或通信。尽管仅描绘三个接入终端AT-A 102、AT-B 106及AT-C 112,但应了解,通信网络系统100可为任何数目的接入终端服务。根据各种实施方案,服务网络可支持去往/来自接入终端AT-A 102、AT-B 106及AT-C 112的高数据速率服务。在一个实例中,接入终端AT-A 102、AT-B 106及AT-C 112可包括可再充电电源(例如,电池)且适于执行一种或一种以上技术以减少上下文切换,进而增加一个或一个以上处理器的闲置时间且节省电池功率。
注意,从接入点到接入终端的通信链路或信道常常被称作前向链路或下行链路。从接入终端到接入点的通信链路或信道可被称作反向链路或上行链路。
图2为说明接入终端的一个实例的框图。接入终端202可包括处理电路204,所述处理电路204可包括例如在接入终端上执行应用程序的应用程序处理器216等一个或一个以上处理器。处理电路204可耦合到调制解调器处理器206,所述调制解调器处理器206耦合到收发器208(例如,发射器218及接收器220模块),所述收发器208耦合到天线210。由应用程序处理器216及调制解调器处理器206界定的处理器架构可被称作双处理器系统。
处理电路204、调制解调器处理器206及收发器208可形成发射链及/或接收链,其操作以对一个或一个以上并行或串行数据流进行处理、将数据流发射到接入终端202及/或从接入终端202接收数据流。在一个实例中,可经由相应发射天线发射每一数据流。对于待发射的数据,调制解调器处理器206可通过基于经选择以供每一数据流提供经编码数据的特定编码方案对每一数据流的业务数据进行格式化、编码及/或交错来调制所述数据。类似地,对于所接收的数据,调制解调器处理器206可通过基于正使用的特定编码方案对每一数据流的业务数据进行解交错、解码及/或提取来解调所述数据。在收发器208处,发射器模块218可处理数据流以提供一个或一个以上模拟信号且可进一步调节(例如,放大、滤波及/或上变频转换)所述模拟信号以提供适合于经由天线210发射的经调制信号。类似地,接收器模块220可从天线210接收经调制信号且可调节(例如,滤波、放大及/或下变频转换)所接收信号,对经调节信号进行数字化以提供样本,且进一步处理所述样本以提供对应所接收数据流。
处理电路204还可耦合到存储器装置212及一个或一个以上输入/输出接口214。所述存储器装置212可用以存储信息、数据及/或由处理电路204执行的应用程序。在任选实施方案中,存储器装置212可任选地耦合到调制解调器处理器206且充当应用程序处理器与调制解调器处理器之间的传送缓冲器。输入/输出接口214可包括显示屏幕、麦克风、扬声器、小键盘、触摸屏幕以及其它接口。注意,在其它实施方案中,处理电路204、应用程序处理器216及/或调制解调器处理器可耦合到共用数据总线。
在一个实例中,调制解调器处理器206及应用程序处理器216可驻留于接入终端202的同一电路或板上。在另一实例中,调制解调器处理器206及应用程序处理器216可在单独电路板上。举例来说,调制解调器处理器206可为插到接入终端202中的独立或可装卸式通信卡的部分。此外,调制解调器处理器206及/或应用程序处理器216中的每一者可经实施为一个或多个处理器。
根据一些特征,接入终端202可适于遵守使用高速数据接入技术的3G及/或4G通信标准。然而,处理电路204(或应用程序处理器216)及/或调制解调器处理器206可相对于达到3G及/或4G通信的高数据速率所需的处理开销具有有限时钟速率。
处理电路204及/或应用程序处理器216可执行例如视窗移动(Windows Mobile)、哩纳克斯(Linux)或塞班(Symbian)等商业移动操作系统。所述操作系统频繁地消耗大量处理时间来进行上下文切换,从而对于有效支持下一代高数据速率(尤其是对于由许多移动操作系统使用的分层软件架构)呈现主要障碍。
术语“上下文切换”指代存储及恢复处理器的状态(上下文)以使得多个过程可共享单一处理器资源的计算过程。多任务操作系统可使用上下文切换以通过共享或交错处理资源而在看似并行的基础上执行多个操作。上下文切换通常为计算密集的且操作系统的许多设计将使上下文切换的使用优化。根据各种实例,上下文切换可意指寄存器上下文切换、线程上下文切换及/或过程/功能上下文切换。可由正使用的处理器及/或操作系统来确定什么构成上下文。
为了以可能的最具能量效益的方式实现最高性能,接入终端可适于减小时钟速率及/或减少处理电路204(或应用程序处理器216)及/或调制解调器处理器206的闲置循环以便节省功率或另外最小化电池消耗。
数据聚集实例
根据一个特征,可在处理器内使用数据聚集以与通信信道的信道特性匹配且有效地减少上下文切换,进而改进(减少)处理器利用且增加处理器闲置时间。
图3说明可适于执行数据聚集的双处理器架构。双处理器架构300可包括第一处理器302及第二处理器304。所述双处理器架构300可经实施(例如)为接入终端的部分。第一处理器302可为(例如)调制解调器处理器以用于针对特定无线通信标准(例如,空中接口)实施无线电堆栈。第二处理器304可为(例如)应用程序处理器以用于执行一个或一个以上应用程序348。第一处理器302及第二处理器304可通过使用传送缓冲器306(例如,共享存储器等)来交换数据。第一处理器302还可耦合到无线电堆栈308及天线310以用于经由无线网络接收及发射数据。
第一处理器302可包括或实施功能驱动器312、拆分模块314、发射(Tx)队列316、接收(Rx)队列318及/或互连驱动器320。功能驱动器312可包括或实施拆分模块314。互连驱动器320可包括或实施定时器322、数据聚集模块324及/或智能型调度器326。
第二处理器304可包括或实施功能驱动器330、发射(Tx)队列334、接收(Rx)队列336及/或互连驱动器338、操作系统连网堆栈346及/或一个或一个以上应用程序348。功能驱动器330可包括或实施拆分模块332。互连驱动器338可包括或实施数据聚集模块340、智能型调度器342及/或定时器344。
针对第一处理器302及第二处理器304所说明的元件及/或模块可为在每一处理器内操作的功能组件且/或可与其它组件组合。在一个实例中,传送缓冲器306可为可由第一处理器302及第二处理器304存取的共享存储器空间或装置。在一些实例中,第一处理器302及/或第二处理器304可包括其中实施TX队列及RX队列的内部存储器。在其它实施方案中,TX队列及RX队列可经实施于共享存储器(例如,共享存储器装置中的同一存储器空间或存储器装置中的不同存储器空间)中。在一个实例中,传送缓冲器306可针对第一处理器302及第二处理器304两者实施TX队列及RX队列,使得第一处理器将经聚集数据包发射到第二处理器在被第一处理器通知时从中读取经聚集数据包的同一存储器空间中。
对于在前向链路或下行链路上所接收的数据(即,在接入终端处所接收的数据)来说,所述数据是经由天线310而接收且在无线电堆栈308处被收集。第一处理器302的功能驱动器312接着将数据从无线电堆栈308传送到Tx队列316中。数据聚集模块324及智能型调度器326基于一个或一个以上因子或参数而选择性地将经捆束或经聚集数据包(还被称作包束)从Tx队列316传送到传送缓冲器306。这些因子或参数可包括(但不限于)定时器322的超时值、Tx队列316的大小、一个或一个以上Tx队列水平(例如,其中“水平”可经界定为队列中所含有的特定数据量,其以字节、包或与数据传送类型有关的其它单位来测量)、传送缓冲器306的大小、从无线电堆栈308所预期的数据速率的一个或一个以上指示符、处理器负荷指示符(例如,第二处理器304的负荷)或其组合。当智能型调度器326确定数据将从Tx队列316读取且写入到传送缓冲器306时,执行读取操作(从Tx队列316)及写入操作(到发射缓冲器306),且产生对第二处理器304的中断。互连驱动器338在响应于所述中断时从传送缓冲器306读取经聚集数据包且将所述数据写入到Rx队列336中。功能驱动器330接着从Rx队列336读取数据包且拆分模块332将经捆束包分成个别包以用于发送到上部层(例如,最终到应用程序348)。
注意,在此实例中,中断信令路径或机制317可存在于第一处理器302与第二处理器304之间。在其它实施方案中,当将从传送缓冲器306读取数据时,可对处理器实施不同技术。
类似地,对于待在反向链路或上行链路上发射的数据(即,待从接入终端发射到接入点或基站的数据)来说,从上部层(例如,应用程序348)所接收的数据被写入到Tx队列334中。数据聚集模块340及智能型调度器342基于一个或一个以上因子或参数而选择性地将经捆束或经聚集数据包从Tx队列334传送到传送缓冲器306。这些因子或参数可包括(但不限于)定时器344的超时值、Tx队列334的大小、一个或一个以上Tx队列水平、传送缓冲器306的大小、负荷指示符(例如,第一处理器302的负荷)、从应用程序348所预期的数据速率的一个或一个以上指示符或其组合。当智能型调度器342确定数据将从Tx队列334读取且写入到传送缓冲器306时,执行读取操作及写入操作,且产生对第一处理器302的中断。互连驱动器320在响应于所述中断时从传送缓冲器306读取经聚集数据包且将所述数据写入到Rx队列318中。功能驱动器312接着从Rx队列318读取数据包且拆分模块314将经捆束包分成个别包以用于发送到无线电堆栈308。
根据一个特征,数据可在Tx队列(334或316)处聚集以用于在所述两个处理器302与304之间传送。即,智能型调度器(326及/或342)致使Tx队列(316或334)累积数据包直到累积足够大数目的包为止,而非随着每一数据包到达Tx队列(316或334)而发送每一数据包。经累积的数据包接着经分组或经捆束为单一包以用于传送到传送缓冲器306。
根据一个实例,智能型调度器(326或342)可利用低及高队列水平来确定数据传送何时应传送。可针对不同3G数据速率或4G数据速率调整这些水印队列水平。低及高队列水平可用以确定累积于Tx队列(316/334)中的数据包何时可传送到传送缓冲器306。举例来说,低队列水平可指示应保留于Tx队列(316/334)中的最小数据量,而高队列水平可指示应保留于Tx队列中的最大数据量。
另外,定时器(322或344)还可用以促进在上下文之间的传送之前的数据聚集。可利用最大超时值(如由定时器322或344追踪)以使得数据不会长时间地保留于Tx队列316/334中。在一个实例中,可通过将拐点定位于标绘定时器超时值对所实现数据通过量的曲线图上而以经验为根据确定或调谐超时值(由定时器322/344追踪)。在一种情况下,通过量的峰值用以获得产生改进的处理器闲置时间性能(例如,对于在双处理器架构中的第一处理器302及/或第二处理器304)的最佳超时值。
图4为说明根据一个实例的数据聚集的概念的框图。发射队列402可在(例如)先进先出基础上收集多个数据包(数据包A到F)。即,处理器收集多个数据包且将其捆束或聚集成包束404,而非随着数据包到达发射队列402而发射数据包。包束404的大小及/或包束404经发射的频率可基于一个或一个以上触发器。举例来说,所述一个或一个以上触发器可包括:
(a)基于包束从第一处理器到第二处理器的连续传送之间的最大时间量的超时触发器;
(b)基于发射队列402(即,数据包聚集成包束所在的队列)的大小的队列水平触发器;
(c)基于在用以在第一处理器与第二处理器之间传送包束的共享存储器内的传送缓冲器(即,图3中的缓冲器306)的使用或容量的缓冲器使用触发器;
(d)基于第二处理器(即,包束正发送到的处理器)的处理负荷的负荷触发器;及/或
(e)基于第二处理器经由无线网络发射信息所使用的数据速率的最小数据速率触发器。
接着在单一上下文切换中将包束404传送到接收队列406。即,数据包经分组(例如,通过例如功能驱动器或互连驱动器等低水平功能)为包束406,且单一上下文切换由发射处理器利用以发射所述包束404,且单一上下文切换由接收处理器利用以接收所述包束404,而非利用多个上下文切换以传送每一个别数据包。包束404在接收队列406中经接收且包束经拆分以提取个别数据包408。注意,即使可采取一些操作来捆束及/或拆分数据包,仍可在无额外上下文切换(或使用较少上下文切换)的情况下执行所述操作,因此使传送更有效。
在一个实例中,数据包的“捆束”可仅仅涉及用指向每一数据包的适当指针将个别数据包一起或作为群组(在单一上下文切换中)进行传送,使得接收处理器可读取所述数据包。在其它实施方案中,经聚集数据包可包封成具有一些开销数据以识别其内容的较大包。
许多移动操作系统强加使OEM驱动器层与本机操作系统组件之间的上下文切换成为必要的软件架构,此向数据连网功能性固有地添加处理开销且可能限制消除上下文切换要求或优化总体代码路径的机会。此外,当第一处理器302与第二处理器304的操作系统不同时,可能需要协调不同操作系统接口的额外步骤以实施数据连网功能性,进而添加其它处理器开销。然而,本文中所描述的数据聚集技术有助于使针对所述操作系统的昂贵上下文切换最小化。即,多个包在第一处理器302与第二处理器304之间并行的数据传送的智能型调度。在另一方面中,智能型调度器可在第一过程、线程或上下文与第二过程、线程或上下文之间并行传送多个包。如本文中所描述的智能型调度器减少在处理器或过程之间传送相同数据量所需要的上下文切换的数目,进而改进处理器性能且减少开销。
队列水平及超时定时器操作
参看图3,根据智能型调度器(326/342)的操作的一个实例,队列水平(例如,图4中的高水平及低水平)及超时定时器可用以确定累积于Tx队列(316/334)中的数据包何时应移动到传送缓冲器306。举例来说,数据聚集模块338可将多个包数据单元的经捆束聚集写入到传送缓冲器306。定时器(322/344)用以通过即使在尚未实现触发聚集队列水平(例如,高队列水平)时仍触发写入过程来解决及处置低大小数据交换(例如,用于呼叫设立的数据)。定时器(322/344)还可确保满足任何最大等待时间要求且数据以符合那些等待时间要求的方式在第一处理器302与第二处理器306之间流动。
图5说明可由用于利用队列水平的智能型调度器及用于数据聚集的超时定时器使用的方法。首先确定或获得针对预定义时间量(例如,X毫秒)而待接收的预期数据量(502)。可通过考虑例如针对特定通信架构的信道特性(例如,所使用的特定通信标准及针对所述特定标准的典型数据速率)等因素而进行所述确定。举例来说,可确定或获得平均数据速率及最大数据速率(504)。接着基于平均数据速率及最大数据速率而确定或获得更多队列水平(包括高队列水平)中的一者(506)。这些队列水平可为(例如)可存储于队列(例如,Tx队列)中的数据的低水平、高水平及最大水平,其至少部分地基于在预定义时间周期期间待从无线电堆栈所接收的预期数据量。注意,队列多满或多空的其它指示符可经维持以支持特定应用程序所需要的特定粒度。
在一个实施例中,当第一包数据单元(PDU)进入Tx队列时,起始具有相关联超时值的定时器(508)。在Tx队列中累积或聚集或堆叠数据(510)。注意,在此实施例中,经聚集数据可在过程(或处理器)之间传送,而非每次一个包数据单元地将单一包数据单元(例如,单一数据包)发送到上部(接下来的)层。可基于队列深度及避免阻塞或使网络侧元件超载的考虑而通过公式来配置超时值,因为一旦充满,队列内容便可在可施加流动控制之前被发射。
在一个实例中,发射队列大小可等于最大数据速率(bps)除以定时器超时值。在另一实例中,由于数据速率可随时间变化,所以发射队列大小可能大于最大链路速度的平均数据速率。然而,由于存储器常常限制于接入终端上,所以以下步骤可适应存储器限制。在一个方面中,定时器经配置以用于极短持续时间(例如,大约为约1毫秒到约255毫秒),且针对各种定时器超时值来测量处理器闲置时间及通过量。在达到最大支持通过量时的等待时间(定时器超时)对处理器使用减少的最佳折衷可确定超时值的理想值。
在一些情况下,在定时器达到特定阈值之后,处理器闲置时间可增加,但通过速率可减小,所述特定阈值可(例如)由使定时器阈值变化及测量对应通过量的特性过程以经验为根据来确定。在此方面,数据包的堆叠或聚集适合于短数据突发,尤其适合于例如TCP等数据协议,其维持状态信息且具有用于提供对应于所发送及接收的数据的反馈的规定。在一个实施例中,数据包持续大约数毫秒的时间周期或持续时间的堆叠实现处理器利用的改进,进而产生处理器闲置时间的改进。一个考虑为超时值经配置以使得其小于通信协议指定的最小超时值以便避免如在下文中更详细描述的可由针对低大小数据交换的数据堆叠(例如,在连接设立期间)产生的超时问题。另一考虑为端到端等待时间要求可影响超时值的选择,使得超时值对总等待时间相对无意义。
当定时器已达到超时值或达到高队列水平(512)时,但在所述队列完全充满之前(例如,经填充预定义百分比,例如队列的80%为充满的),经聚集数据可从发射队列传送到另一处理器(514)。举例来说,经聚集数据可从其由另一处理器检索之处传送到传送缓冲器且随后可能以经聚集形式提供到另一处理器上的上部层。注意,队列水平及定时器值可经不同地配置或调整,以便实现适合特定通信标准或特定通信技术的最佳配置。进一步注意,可重复此过程,且可针对可具有不同数据速率的不同通信技术而定制不同参数或因子(例如,超时值、队列水平及处理器负荷指示符)中的一者或一者以上。
减少双处理器架构中的中断
注意,本文中所描述的数据包聚集方案减少双处理器架构中的中断,进而改进所述处理器的效率。
在一个配置中,第一处理器可经由中间传送缓冲器或共享存储器装置而将数据传送到第二处理器。在现有技术方法中,第一处理器可每次一个包地将数据写入到传送缓冲器。举例来说,当在第一处理器的发射队列中存在数据包时,互连驱动器从所述发射队列读取所述数据包且接着将所述数据包写入到传送缓冲器。在无论何时数据由第一处理器的互连驱动器写入到传送缓冲器时,均针对第二处理器产生硬中断。因此,由于针对放置于传送缓冲器中的每一包产生中断(不管所述包有多小),所以此方法具有降低第二处理器的效率的不合意特性。类似地,当存在待从第二处理器传送到第一处理器的数据时,由于在第二处理器上执行的互连驱动器在无论何时其将数据写入到传送缓冲器时均中断第一处理器,所以第一处理器的效率降低。
为了改进包在第一与第二处理器之间的传送,使用数据聚集。如先前所描述,由发送处理器基于一个或一个以上因子而聚集数据包,且接着将所述经聚集数据(即,每次一个以上数据包)写入到传送缓冲器,进而使对接收处理器的中断数目得以减少。举例来说,如果使用此经聚集数据传送技术以用于将数据从第一处理器传送到第二处理器,则对第二处理器的中断数目得以减少,进而增加第二处理器的效率。
减少上下文切换
当处理器中止或停止过程或线程时,上下文切换发生,以便执行针对另一过程或线程的操作。举例来说,在图3中,随着将所接收数据从互连驱动器传递到应用程序,上下文切换可在上下文1与上下文2之间、上下文2与上下文3之间及上下文3与上下文4之间发生。注意,上下文切换(例如,正在处理器上执行的不同过程或线程之间的切换)招致开销,进而增加处理器的等待时间。因此,在可能时但在不引入不可接受的延迟的情况下减少上下文切换是有利的。
如上文所描述,出于从一个处理器发射到另一处理器的目的,数据聚集可用以将多个数据包捆束或分组成单一包。即,将经聚集数据包一起发送(进而仅触发一个上下文切换或中断),而非将个别数据包从一个处理器跨越边界发送到另一处理器(即,进而引起多个上下文切换及/或中断)。以此方式,数据束作为需要或利用单一上下文切换的经聚集数据包而在实体之间传送,而非在多个上下文切换中传送个别数据包。换句话说,用以传送固定数据量的上下文切换的数目通过本文中所描述的数据聚集技术而减少。
在替代方法中,减少上下文切换的另一方式在于实施拖延信令机制。举例来说,数据的发源方(例如,具有数据要传送或发送的线程或过程)可将拖延信号发送到数据的接收器。所述拖延信号指令接收器(例如,接收线程或过程)直到预定义数据量已被累积(例如,写入到存储位置(例如,存储队列))才从特定存储器位置进行读取。以此方式,用以处置给定数据量的上下文切换的数目可通过以单一上下文切换处理多个包而减少。注意,可通过利用驻留于边界的不同侧上的实体(例如,过程、线程、驱动器等)之间的预定义接口(例如,应用程序编程接口(API))跨越所述边界(例如,在图3中的处理器302与304之间)来实施信令。
替代性数据聚集实例
图6说明可适于执行数据聚集的双处理器架构的另一实例。双处理器架构600类似于图3的双处理器架构且可包括第一处理器602及第二处理器604。第一处理器602及第二处理器604可通过使用传送缓冲器606(例如,共享存储器等)来交换数据。第一处理器602还可耦合到无线电堆栈608及天线610以用于经由无线网络接收及发射数据。
在此实例中,数据聚集分别由第一及第二处理器602/604的功能驱动器612/630控制而非由互连驱动器620/638控制。
第一处理器602可包括或执行功能驱动器612、发射(Tx)队列616、接收(Rx)队列618及/或互连驱动器620。功能驱动器612可包括或实施数据聚集模块624、拆分模块614、定时器622及/或智能型调度器626。
第二处理器604可包括或实施功能驱动器630、发射(Tx)队列634、接收(Rx)队列636、互连驱动器638、操作系统连网堆栈646及/或一个或一个以上应用程序648。功能驱动器630可包括或实施数据聚集模块640、拆分模块632、智能型调度器642及/或定时器644。
针对第一处理器602及第二处理器604所说明的元件及/或模块可为在每一处理器内操作的功能组件且/或可与其它组件组合。
对于在前向链路或下行链路上所接收的数据(即,在接入终端处所接收的数据)来说,所述数据是经由天线610而接收且在无线电堆栈608处经收集。第一处理器602的功能驱动器612接着将数据从无线电堆栈608传送到Tx队列616中。功能驱动器612可控制何时将数据从Tx队列616传送出。即,数据聚集模块624可将数据捆束或聚集于Tx队列616中且智能型调度器626可基于一个或一个以上因子或参数向互连驱动器620指示何时应将经聚集数据传送到传送缓冲器606中。这些因子或参数可包括(但不限于)定时器622的超时值、Tx队列616的大小、一个或一个以上Tx队列水平、传送缓冲器606的大小、从无线电堆栈608所预期的数据速率的一个或一个以上指示符、处理器负荷指示符(例如,第二处理器604的负荷)或其组合。当智能型调度器626确定数据将从Tx队列616读取且写入到传送缓冲器606时,其向互连驱动器620指示执行读取操作(从Tx队列616)及写入操作(到发射缓冲器606)。还产生对第二处理器604的中断。互连驱动器638在响应于所述中断时从传送缓冲器606读取经聚集数据包且将数据写入到Rx队列636中。功能驱动器630接着从Rx队列636读取数据包且拆分模块632将经捆束包分成个别包以用于发送到上部层(例如,最终到应用程序648)。
类似地,对于待在反向链路或上行链路上发射的数据(即,待从接入终端发射到接入点或基站的数据)来说,从上部层(例如,应用程序648)所接收的数据被写入到Tx队列634中。在此实施方案中,功能驱动器630控制数据聚集及从Tx队列634的传送。即,数据聚集模块640将数据包捆束或聚集于Tx队列634中且智能型调度器642基于一个或一个以上因子或参数向互连驱动器638指示何时应将经聚集数据包从Tx队列634传送到传送缓冲器606。这些因子或参数可包括(但不限于)定时器644的超时值、Tx队列634的大小、一个或一个以上Tx队列水平、传送缓冲器606的大小、负荷指示符(例如,第一处理器602的负荷)、从应用程序648所预期的数据速率的一个或一个以上指示符或其组合。当智能型调度器642确定数据将从Tx队列634读取且写入到传送缓冲器606时,其向互连驱动器638指示执行从Tx队列634的读取操作及到传送缓冲器606的写入操作。还产生对第一处理器602的中断。互连驱动器620在响应于所述中断时从传送缓冲器606读取经聚集数据包且将所述数据写入到Rx队列618中。功能驱动器612接着从Rx队列618读取数据包且拆分模块614将经捆束包分成个别包以用于发送到无线电堆栈608。
根据一个特征,数据可在Tx队列(634或616)处聚集以供在所述两个处理器602与604之间传送。即,智能型调度器(626及/或642)致使Tx队列(616或634)累积数据包直到累积足够大数目的包为止,而非随着每一个别数据包到达Tx队列(616或634)而发送每一个别数据包。经累积的数据包接着经分组或被捆束为单一包以供传送到传送缓冲器606。
根据一个实例,智能型调度器(626或642)可利用低及高队列水平来确定数据传送何时应传送。可针对不同3G数据速率或4G数据速率调整这些水印队列水平。低及高队列水平可用以确定累积于Tx队列(616/634)中的数据包何时可传送到传送缓冲器606。举例来说,低队列水平可指示应保留于Tx队列(616/634)中的最小数据量,而高队列水平可指示应保留于Tx队列中的最大数据量。
另外,定时器(622或644)还可用以促进在上下文之间的传送之前的数据聚集。可利用最大超时值(如由定时器622或644所追踪),使得数据不会长时间地保留于Tx队列616/634中。在一个实例中,可通过将拐点定位于标绘定时器超时值对所实现数据通过量的曲线图上而根据经验确定或调谐超时值(由定时器622/644追踪)。在一种情况下,通过量的峰值用以获得产生改进的处理器闲置时间性能(例如,对于在双处理器架构中的第一处理器602及/或第二处理器604)的最佳超时值。
图7为说明包括第一处理器702及第二处理器704且适于使用共享存储器706在所述两个处理器之间有效地传送数据包的装置的框图。举例来说,装置700可为例如无线通信装置等接入终端。第一处理器702可包括耦合到通信接口714的处理电路708。处理电路708可实施或包括可利用发射队列716及/或接收队列718在彼此之间传送数据的功能驱动器710及互连驱动器712。注意,发射队列716及接收队列718可在第一处理器702内实施,可在外部存储器装置中或甚至在共享存储器706中实施。类似地,第二处理器704可包括耦合到通信接口726的处理电路720。处理电路720可实施或包括可利用发射队列730及/或接收队列728在彼此之间传送数据的功能驱动器722及互连驱动器724。注意,发射队列730及接收队列728可在第二处理器704内实施,可在外部存储器装置中或甚至在共享存储器706中实施。
根据一个特征,处理电路708可适于:(a)将数据包聚集成包束及/或(b)当将所述包束经由共享存储器706传送到第二处理器704时在单一上下文切换中处理所述包束,其中归因于将数据包聚集成包束,第一处理器702的处理负荷得以减少。注意,第一处理器702可跨越多个层实施功能且在所述功能之间执行上下文切换。处理电路702可实施经由发射队列716及接收队列718在彼此之间传送数据的功能驱动器710及互连驱动器712。在此实例中,并非利用多个上下文切换在功能驱动器710与互连驱动器714之间传送数据包,单一上下文切换(例如,从上下文A到上下文B)可用以传送包束,进而减少第一处理器702的处理负荷。注意,包束的使用还允许在第二处理器702处的功能驱动器722与互连驱动器724之间的单一上下文切换(例如,上下文C到/从上下文D)的使用,进而减少第二处理器702的处理负荷。
在一个实施方案中,互连驱动器712可控制在发射队列716中聚集数据包且对将包束传送到第二处理器704进行调度。在另一实例中,功能驱动器710可控制在发射队列716中聚集数据包且对将经聚集数据包传送到第二处理器704进行调度。注意,在功能驱动器722及/或互连驱动器724处指导或控制数据包聚集的一个益处在于所述聚集在操作系统的低层级或层处发生。因此,所述聚集对较高层级处的应用程序及/或连网堆栈为透明的。
发射队列716及/或接收队列718可在共享存储器706内实施或可在第一处理器708内实施。
根据另一特征,处理电路708可适于:(a)在单一上下文切换中经由共享存储器706从第二处理器704获得包束,其中所述包束包括经聚集数据包;及/或(b)将所述包束拆分成多个数据包,其中归因于由第二处理器704将所述数据包聚集成包束,第一处理器702的处理负荷得以减少。在一个实例中,所述处理电路可适于接收指示数据束正从第二处理器704传送的中断。归因于将数据包聚集成包束,第二处理器704的处理负荷得以减少。
因此,提供包含第一处理器702、第二处理器704及共享存储器706的接入终端。第一处理器702可适于将多个数据包聚集成包束。共享存储器可耦合到第一处理器且可由第一处理器使用以将包束传送到第二处理器704,其中所述包束的传送是由第一处理器702在单一上下文切换中执行。第二处理器704也可耦合到共享存储器且可适于从共享存储器获得包束并将所述包束拆分成个别数据包,其中归因于由第一处理器702将所述数据包聚集成包束,第二处理器704的处理负荷得以减少。
另外,第二处理器704可进一步适于将第二多个数据包聚集成第二包束且使用共享存储器706将所述第二包束从第二处理器704传送到第一处理器702,其中所述包束的传送是由第二处理器704在单一上下文切换中执行。第一处理器702可进一步适于在第一处理器702处将第二包束拆分成个别数据包,其中归因于由第二处理器704将所述数据包聚集成第二包束,第一处理器702的处理负荷得以减少。
注意,本文中所描述的数据聚集技术可在多处理器系统、电路或装置中实施。因此,所述数据聚集可在N个处理器当中实施,其中N为二或二以上。
图8说明用以将经捆束数据传送到第二处理器的在第一处理器中操作的方法。第一处理器可将数据包聚集成包束(802)。可当经由共享存储器将所述包束传送到第二处理器时在单一上下文切换中处理所述包束,其中归因于将数据包聚集成包束,第一处理器的处理负荷得以减少(804)。第一处理器可产生指示数据束正传送到第二处理器的中断(806)。归因于将数据包聚集成包束,第二处理器的处理负荷可得以减少。将数据包聚集成包束还减少在第一处理器及/或第二处理器处的上下文切换。举例来说,可依靠将数据包聚集成包束以使得由第一处理器针对相同量的数据包执行较少数据传送操作来减少第一处理器处的上下文切换。上下文切换可为由多个功能对处理资源的交错共享。
包束可在一个或一个以上触发器发生后即刻传送到第二处理器,其中所述一个或一个以上触发器包括以下各项中的至少一者:
(a)基于包束从第一处理器到第二处理器的连续传送之间的最大时间量的超时触发器;
(b)基于数据包聚集成包束所在的发射队列的大小的队列水平触发器;
(c)基于在用以在第一处理器与第二处理器之间传送包束的共享存储器内的传送缓冲器的使用的缓冲器使用触发器;
(d)基于第二处理器的负荷的负荷触发器;或
(e)基于第二处理器经由无线网络发射信息所使用的数据速率的最小数据速率触发器。
根据一个实例,第一处理器可跨越多个层实施功能且在所述功能之间执行上下文切换。所述功能可包括经由发射队列及接收队列在彼此之间传送数据的功能驱动器及互连驱动器。在一个实施方案中,互连驱动器可控制在发射队列中聚集数据包且对将包束传送到第二处理器进行调度。在另一实例中,功能驱动器可控制在发射队列中聚集数据包且对将包束传送到第二处理器进行调度。
图9说明在第一处理器中操作的用以从第二处理器接收经捆束数据的方法。第一处理器可接收指示数据束正从第二处理器传送的中断(902)。响应于所述中断,第一处理器可在单一上下文切换中经由共享存储器从第二处理器获得包束,其中所述包束包括经聚集数据包(904)。第一处理器可接着将所述包束拆分成多个数据包,其中归因于由第二处理器将数据包聚集成包束,第一处理器的处理负荷得以减少(906)。归因于将数据包聚集成包束,第二处理器的处理负荷也可得以减少。第一处理器可跨越多个层实施功能且在所述功能之间执行上下文切换,且所述功能包括经由发射队列及接收队列在彼此之间传送数据的功能驱动器及互连驱动器。
图10说明在双处理器接入终端中操作的用以在双处理器之间更有效地传送数据包的方法。根据第一特征,可在第一处理器处将多个数据包聚集成包束(1002)。第一处理器接着使用共享存储器将所述包束传送到第二处理器,其中在第一处理器处在单一上下文切换中执行所述包束的传送(1004)。第一处理器可产生指示包束正从第一处理器传送的中断,第二处理器可接收所述中断,其中归因于在第一处理器处聚集数据包,第二处理器处的中断数目得以减少(1006)。第二处理器可接着将所述包束拆分成个别数据包,其中归因于由第一处理器将所述数据包聚集成包束,第二处理器的处理负荷得以减少(1008)。注意,在一个实施方案中,第一处理器可为应用程序处理器且第二处理器可为调制解调器处理器,所述两个处理器均在无线通信装置内操作。在另一实施方案中,第二处理器可为应用程序处理器且第一处理器可为调制解调器处理器,其均与无线通信装置一起操作。
根据又一特征,包束可在一个或一个以上触发器发生后即刻被传送到第二处理器。所述一个或一个以上触发器可包括以下各项中的至少一者:
(a)基于包束从第一处理器到第二处理器的连续传送之间的最大时间量的超时触发器;
(b)基于数据包聚集成包束所在的发射队列的大小的队列水平触发器;
(c)基于用以在第一处理器与第二处理器之间传送包束的共享存储器内的传送缓冲器的使用的缓冲器使用触发器;
(d)基于第二处理器的负荷的负荷触发器;或
(e)基于第二处理器经由无线网络发射信息所使用的数据速率的最小数据速率触发器。
第一处理器及第二处理器可各自跨越多个层实施功能,第一及第二处理器中的每一者处的功能可包括经由发射队列及接收队列在彼此之间传送数据的功能驱动器及互连驱动器。在第一实例中,互连驱动器可控制在发射队列中聚集数据包且对将包束传送到第二处理器进行调度。在第二实例中,功能驱动器可控制在发射队列中聚集数据包且对将包束传送到第二处理器进行调度。
所述方法可进一步包含在第二处理器处将第二多个数据包聚集成第二包束(1010)。接着使用共享存储器将所述第二包束从第二处理器传送到第一处理器,其中在第二处理器处在单一上下文切换中执行所述包束的传送(1012)。第二处理器可接着产生指示包束正从第二处理器传送的中断,且第一处理器可接收所述中断,其中归因于在第二处理器处聚集第二多个数据包,第一处理器处的中断数目得以减少(1014)。第一处理器可接着将第二包束拆分成个别数据包,其中归因于由第二处理器将数据包聚集成第二包束,第一处理器的处理负荷得以减少(1016)。
应认识到,大体来说,可以类似型式来实施本发明中所描述的大多数处理。电路或电路区段中的任一者可单独或组合地实施为具有一个或一个以上处理器的集成电路的部分。可在集成电路、高级RISC机器(ARM)处理器、数字信号处理器(DSP)、通用处理器等上实施所述电路中的一者或一者以上。
而且,注意,可将所述实施例描述为过程,所述过程经描绘为流程框图、流程图、结构图或框图。尽管流程框图可将操作描述为顺序过程,但所述操作中的许多操作可并行或同时执行。另外,可重新布置操作的次序。当过程的操作完成时,终止所述过程。过程可对应于方法、函数、程序、子例程、子进程等。当过程对应于函数时,其终止对应于所述函数返回到调用函数或主函数。
如本申请案中所使用,术语“组件”、“模块”、“系统”及其类似者既定指代计算机相关实体:硬件、固件、硬件与软件的组合、软件或执行中的软件。举例来说,组件可为(但不限于)在处理器上运行的过程、处理器、对象、可执行体、执行线程、进程及/或计算机。借助于说明,在计算装置上运行的应用程序及所述计算装置两者可为组件。一个或一个以上组件可驻留于过程及/或执行线程内,且组件可定位于一个计算机上及/或分布于两个或两个以上计算机之间。另外,这些组件可从各种计算机可读媒体执行,所述计算机可读媒体具有存储于其上的各种数据结构。所述组件可例如根据具有一个或一个以上数据包的信号(例如,来自借助于所述信号与在本地系统、分布式系统中的另一组件及/或跨越例如因特网等网络与其它系统交互的一个组件的数据)借助于本地及/或远程过程而通信。
此外,存储媒体可表示用于存储数据的一个或一个以上装置,包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储媒体、光学存储媒体、快闪存储器装置及/或用于存储信息的其它机器可读媒体。术语“机器可读媒体”包括(但不限于)便携式或固定存储装置、光学存储装置、无线信道及能够存储、含有或携载指令及/或数据的各种其它媒体。
此外,实施例可由硬件、软件、固件、中间件、微码或其任何组合来实施。当以软件、固件、中间件或微码实施时,可将用以执行必要任务的程序代码或代码片段存储于例如存储媒体或其它存储装置等机器可读媒体中。处理器可执行必要任务。代码片段可表示程序、函数、子进程、进程、例程、子例程、模块、软件包、类别,或指令、数据结构或程序语句的任何组合。可通过传递及/或接收信息、数据、自变量、参数或存储器内容而将代码片段耦合到另一代码片段或硬件电路。可经由包括存储器共享、消息传递、权标传递、网络发射等的任何合适方式来传递、转发或发射信息、自变量、参数、数据等。
图式中所说明的组件、步骤及/或功能中的一者或一者以上可重新布置及/或组合成单一组件、步骤或功能或者体现于若干组件、步骤或功能中。在不脱离本发明的情况下,还可添加额外元件、组件、步骤及/或功能。图式中所说明的设备、装置及/或组件可经配置以执行图式中所描述的方法、特征或步骤中的一者或一者以上。在一些实施方案中,可以软件及/或嵌入式硬件有效地实施本文中所描述的新颖算法。
所属领域的技术人员将进一步了解,结合本文中所揭示的实施例所描述的各种说明性逻辑块、模块、电路及算法步骤可实施为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件与软件的此可互换性,上文已大体上依据其功能性描述了各种说明性组件、块、模块、电路及步骤。将所述功能性实施为硬件还是软件取决于特定应用及强加于整个系统的设计约束。
在不脱离本发明的情况下,本文中所描述的各种特征可在不同系统中实施。应注意,上述实施例仅为实例且不应被解释为具限制性。对实施例的描述既定为说明性的,且不限制权利要求书的范围。因而,本发明的教示可容易地应用于其它类型的设备且许多替代方案、修改及变型对于所属领域的技术人员来说将为显而易见的。
Claims (38)
1.一种在第一处理器中操作的用于将数据传送到第二处理器的方法,所述方法包含:
将数据包聚集成包束;
当经由共享存储器将所述包束传送到所述第二处理器时在单一上下文切换中处理所述包束,其中归因于所述将所述数据包聚集成所述包束,所述第一处理器的处理负荷得以减少;
中止与传送所述包束相关的所述处理;及
切换上下文以执行对于另一处理的操作。
2.根据权利要求1所述的方法,其中归因于所述将所述数据包聚集成所述包束,所述
第二处理器的处理负荷得以减少。
3.根据权利要求1所述的方法,其中将数据包聚集成所述包束还减少所述第二处理器处的上下文切换。
4.根据权利要求1所述的方法,其中上下文切换为由多个功能对处理资源的交错共享,其中所述功能包括经由发射队列及接收队列在彼此之间传送数据的功能驱动器及互连驱动器。
5.根据权利要求1所述的方法,其中凭借将所述数据包聚集成包束以使得由所述第一处理器针对相同量的数据包执行较少数据传送操作来减少所述第一处理器处的上下文切换。
6.根据权利要求1所述的方法,其中在一个或一个以上触发器发生后即刻将所述包束传送到所述第二处理器,其中所述一个或一个以上触发器包括以下各项中的至少一者:
(a)基于包束从所述第一处理器到所述第二处理器的连续传送之间的最大时间量的超时触发器;
(b)基于所述数据包被聚集成所述包束所在的发射队列的大小的队列水平触发器;
(c)基于用以在所述第一处理器与第二处理器之间传送所述包束的所述共享存储器内的传送缓冲器的使用的缓冲器使用触发器;
(d)基于所述第二处理器的所述负荷的负荷触发器;或
(e)基于所述第二处理器经由无线网络发射信息所使用的数据速率的最小数据速率触发器。
7.根据权利要求1所述的方法,其中所述第一处理器跨越多个层实施功能且在所述功能之间执行上下文切换,其中所述功能包括经由发射队列及接收队列在彼此之间传送数据的功能驱动器及互连驱动器。
8.根据权利要求7所述的方法,其中所述互连驱动器控制所述在所述发射队列中聚集所述数据包且对所述将所述包束传送到所述第二处理器进行调度。
9.根据权利要求7所述的方法,其中所述功能驱动器控制所述在所述发射队列中聚集数据包且对所述将所述包束传送到所述第二处理器进行调度。
10.一种第一处理器,其包含:
通信接口,其用于与第二处理器交换数据;
耦合到所述通信接口的处理电路,其中所述处理电路适于
将数据包聚集成包束;
当经由共享存储器将所述包束传送到所述第二处理器时在单一上下文切换中处理所述包束,其中归因于所述将所述数据包聚集成所述包束,所述第一处理器的处理负荷得以减少;
中止与传送所述包束相关的所述处理;及
切换上下文以执行对于另一处理的操作。
11.根据权利要求10所述的第一处理器,其中所述第一处理器跨越多个层实施功能且在所述功能之间执行上下文切换,其中所述功能包括经由发射队列及接收队列在彼此之间传送数据的功能驱动器及互连驱动器。
12.根据权利要求10所述的第一处理器,其中所述处理电路实施经由发射队列及接收队列在彼此之间传送数据的功能驱动器及互连驱动器。
13.根据权利要求12所述的第一处理器,其中所述互连驱动器控制所述在所述发射队列中聚集所述数据包且对所述将所述包束传送到所述第二处理器进行调度。
14.根据权利要求12所述的第一处理器,其中所述功能驱动器控制所述在所述发射队列中聚集所述数据包且对所述将经聚集数据包传送到所述第二处理器进行调度。
15.根据权利要求12所述的第一处理器,其中所述发射队列及接收队列是在所述共享存储器内实施。
16.根据权利要求12所述的第一处理器,其中所述发射队列及接收队列是在所述第一处理器内实施。
17.一种第一处理器,其包含:
用于与第二处理器交换数据的装置;
用于将数据包聚集成包束的装置;
用于当经由共享存储器将所述包束传送到所述第二处理器时在单一上下文切换中处理所述包束的装置,其中归因于所述将所述数据包聚集成所述包束,所述第一处理器的处理负荷得以减少;
用于中止与传送所述包束相关的所述处理的装置;及
用于切换上下文以指定对于另一处理的操作的装置。
18.一种在第一处理器中操作的用于从第二处理器接收数据传送的方法,所述方法包含:
在单一上下文切换中经由共享存储器从所述第二处理器获得包束,其中所述包束包括经聚集数据包;
切换到另一上下文;及
将所述包束拆分成多个数据包,其中归因于由所述第二处理器将所述数据包聚集成所述包束,所述第一处理器的处理负荷得以减少。
19.根据权利要求18所述的方法,其进一步包含:
接收指示所述包束正从所述第二处理器传送的中断。
20.根据权利要求18所述的方法,其中归因于所述将所述数据包聚集成所述包束,所述第二处理器的处理负荷得以减少。
21.根据权利要求18所述的方法,其中所述第一处理器跨越多个层实施功能且在所述功能之间执行上下文切换,且所述功能包括经由发射队列及接收队列在彼此之间传送数据的功能驱动器及互连驱动器。
22.一种第一处理器,其包含:
通信接口,其用于与第二处理器交换数据;及
耦合到所述通信接口的处理电路,其中所述处理电路适于
在单一上下文切换中经由共享存储器从所述第二处理器获得包束,其中所述包束包括经聚集数据包;
切换到另一上下文;及
将所述包束拆分成多个数据包,其中归因于由所述第二处理器将所述数据包聚集成所述包束,所述第一处理器的处理负荷得以减少。
23.根据权利要求22所述的第一处理器,其中所述处理电路进一步适于接收指示所述包束正从所述第二处理器传送的中断。
24.根据权利要求22所述的第一处理器,其中归因于所述将所述数据包聚集成所述包束,所述第二处理器的处理负荷得以减少。
25.根据权利要求22所述的第一处理器,其中所述第一处理器实施经由发射队列及接收队列在彼此之间传送数据的功能驱动器及互连驱动器。
26.一种第一处理器,其包含:
用于与第二处理器交换数据的装置;
用于在单一上下文切换中经由共享存储器从所述第二处理器获得包束的装置,其中所述包束包括经聚集数据包;
用于切换到另一上下文的装置;及
用于将所述包束拆分成多个数据包的装置,其中归因于由所述第二处理器将所述数据包聚集成所述包束,所述第一处理器的处理负荷得以减少。
27.一种用于将数据从第一处理器传送到第二处理器的方法,所述方法包含:
在所述第一处理器处将多个数据包聚集成包束;
使用共享存储器将所述包束从所述第一处理器传送到所述第二处理器,其中在中止与所述包束的所述传送相关的过程之前在所述第一处理器处在单一上下文切换中执行所述包束的所述传送,以执行对于另一过程的处理;及
在所述第二处理器处将所述包束拆分成个别数据包,其中归因于所述由所述第一处理器将所述数据包聚集成所述包束,所述第二处理器的处理负荷得以减少。
28.根据权利要求27所述的方法,其进一步包含:
在所述第二处理器处接收指示所述包束正从所述第一处理器传送的中断,其中归因于所述在所述第一处理器处聚集所述数据包,所述第二处理器处的中断数目得以减少。
29.根据权利要求27所述的方法,其中所述第一处理器为应用程序处理器且所述第二处理器为调制解调器处理器,所述两个处理器均在无线通信装置内操作。
30.根据权利要求27所述的方法,其中所述第二处理器为应用程序处理器且所述第一处理器为调制解调器处理器,所述两个处理器均在无线通信装置内操作。
31.根据权利要求27所述的方法,其中在一个或一个以上触发器发生后即刻将所述包束传送到所述第二处理器,其中所述一个或一个以上触发器包括以下各项中的至少一者:
(a)基于包束从所述第一处理器到所述第二处理器的连续传送之间的最大时间量的超时触发器;
(b)基于所述数据包聚集成所述包束所在的发射队列的大小的队列水平触发器;
(c)基于用以在所述第一处理器与第二处理器之间传送所述包束的所述共享存储器内的传送缓冲器的使用的缓冲器使用触发器;
(d)基于所述第二处理器的所述负荷的负荷触发器;或
(e)基于所述第二处理器经由无线网络发射信息所使用的数据速率的最小数据速率触发器。
32.根据权利要求27所述的方法,其中所述第一处理器及第二处理器各自跨越多个层实施功能,所述第一及第二处理器中的每一者处的所述功能包括经由发射队列及接收队列在彼此之间传送数据的功能驱动器及互连驱动器。
33.根据权利要求32所述的方法,其中所述互连驱动器控制所述在所述发射队列中聚集数据包且对所述将所述包束传送到所述第二处理器进行调度。
34.根据权利要求32所述的方法,其中所述功能驱动器控制所述在所述发射队列中聚集数据包且对所述将所述包束传送到所述第二处理器进行调度。
35.根据权利要求27所述的方法,其进一步包含:
在所述第二处理器处将第二多个数据包聚集成第二包束;
使用所述共享存储器将所述第二包束从所述第二处理器传送到所述第一处理器,其中在所述第二处理器处在单一上下文切换中执行所述包束的所述传送;及
在所述第一处理器处将所述第二包束拆分成个别数据包,其中归因于所述由所述第二处理器将所述数据包聚集成所述第二包束,所述第一处理器的处理负荷得以减少。
36.一种接入终端,其包含:
第一处理器,其适于将多个数据包聚集成包束;
耦合到所述第一处理器的共享存储器,所述共享存储器由所述第一处理器用以将所述包束传送到另一处理器,其中所述包束的所述传送是在中止与所述包束的所述传送相关的过程之前在所述第一处理器处在单一上下文切换中执行,以执行对于另一过程的处理;及
耦合到所述共享存储器的第二处理器,所述第二处理器适于从所述共享存储器获得所述包束且将所述包束拆分成个别数据包,其中归因于所述由所述第一处理器将所述数据包聚集成所述包束,所述第二处理器的处理负荷得以减少。
37.根据权利要求36所述的接入终端,其中
所述第二处理器进一步适于将第二多个数据包聚集成第二包束且使用所述共享存储器将所述第二包束从所述第二处理器传送到所述第一处理器,其中所述包束的所述传送是由所述第二处理器在单一上下文切换中执行,且
所述第一处理器进一步适于在所述第一处理器处将所述第二包束拆分成个别数据包,其中归因于所述由所述第二处理器将所述数据包聚集成所述第二包束,所述第一处理器的处理负荷得以减少。
38.一种接入终端,其包含:
用于在第一处理器处将多个数据包聚集成包束的装置;
用于将所述包束从所述第一处理器传送到第二处理器的存储器装置,其中所述包束的所述传送是在中止与所述包束的所述传送相关的过程之前在所述第一处理器处在单一上下文切换中执行,以执行对于另一过程的处理;及
用于从共享存储器获得所述包束且在第二处理器处将所述包束拆分成个别数据包的装置,其中归因于所述由所述第一处理器将所述数据包聚集成所述包束,所述第二处理器的处理负荷得以减少。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US7608808P | 2008-06-26 | 2008-06-26 | |
US61/076,088 | 2008-06-26 | ||
US12/491,993 | 2009-06-25 | ||
US12/491,993 US8588253B2 (en) | 2008-06-26 | 2009-06-25 | Methods and apparatuses to reduce context switching during data transmission and reception in a multi-processor device |
PCT/US2009/048962 WO2009158680A1 (en) | 2008-06-26 | 2009-06-26 | Methods and apparatuses to reduce context switching during data transmission and reception in a multi-processor device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102077527A CN102077527A (zh) | 2011-05-25 |
CN102077527B true CN102077527B (zh) | 2014-10-29 |
Family
ID=41360106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980124420.8A Expired - Fee Related CN102077527B (zh) | 2008-06-26 | 2009-06-26 | 用以在多处理器装置中在数据发射及接收期间减少上下文切换的方法及设备 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8588253B2 (zh) |
EP (1) | EP2314024B1 (zh) |
JP (2) | JP5507556B2 (zh) |
KR (1) | KR101266324B1 (zh) |
CN (1) | CN102077527B (zh) |
TW (1) | TW201032532A (zh) |
WO (1) | WO2009158680A1 (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8295308B2 (en) * | 2008-08-15 | 2012-10-23 | Vmware, Inc. | Systems and methods of configuring a resource pool as a network end point |
US8880696B1 (en) | 2009-01-16 | 2014-11-04 | F5 Networks, Inc. | Methods for sharing bandwidth across a packetized bus and systems thereof |
JP5645928B2 (ja) * | 2009-06-19 | 2014-12-24 | コーダ ワイヤレス ピーティーワイ リミテッドCohda Wireless Pty Ltd | 無線通信システムにおける環境評価 |
US9313047B2 (en) | 2009-11-06 | 2016-04-12 | F5 Networks, Inc. | Handling high throughput and low latency network data packets in a traffic management device |
US9167618B2 (en) | 2010-11-16 | 2015-10-20 | At&T Mobility Ii Llc | Data bundling and fast dormancy based upon intelligent application learning |
US10135831B2 (en) | 2011-01-28 | 2018-11-20 | F5 Networks, Inc. | System and method for combining an access control system with a traffic management system |
US9197981B2 (en) * | 2011-04-08 | 2015-11-24 | The Regents Of The University Of Michigan | Coordination amongst heterogeneous wireless devices |
US9060375B2 (en) * | 2012-11-23 | 2015-06-16 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and apparatuses for uplink resource utilization in a telecommunications system |
WO2014112975A1 (en) | 2013-01-15 | 2014-07-24 | Hewlett-Packard Development Company, L.P. | Vertically-tiered client-server architecture |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
US9864606B2 (en) | 2013-09-05 | 2018-01-09 | F5 Networks, Inc. | Methods for configurable hardware logic device reloading and devices thereof |
KR20150044330A (ko) * | 2013-10-16 | 2015-04-24 | 삼성전자주식회사 | 디바이스가 AP(Access Point)로 동작하는 방법, 디바이스의 데이터 전송 방법 및 디바이스 |
USRE49652E1 (en) | 2013-12-16 | 2023-09-12 | Qualcomm Incorporated | Power saving techniques in computing devices |
US9635024B2 (en) | 2013-12-16 | 2017-04-25 | F5 Networks, Inc. | Methods for facilitating improved user authentication using persistent data and devices thereof |
US10015143B1 (en) | 2014-06-05 | 2018-07-03 | F5 Networks, Inc. | Methods for securing one or more license entitlement grants and devices thereof |
US9462571B2 (en) | 2014-10-21 | 2016-10-04 | At&T Intellectual Property I, L.P. | Adaptive and selective bundling of downlink paging messages |
US9860781B2 (en) | 2014-10-21 | 2018-01-02 | At&T Intellectual Property I, L.P. | Dynamic bundling of uplink data sessions based upon network signaling conditions and application interactivity states |
EP3016333B1 (en) * | 2014-10-31 | 2017-12-06 | F5 Networks, Inc | Handling high throughput and low latency network data packets in a traffic management device |
US9801030B2 (en) | 2015-07-15 | 2017-10-24 | Qualcomm Incorporated | Internal data transfer in EMBMS reception |
WO2017023661A1 (en) * | 2015-08-03 | 2017-02-09 | Marvell World Trade Ltd. | Systems and methods for transmitting interrupts between nodes |
US10474597B2 (en) | 2015-08-03 | 2019-11-12 | Marvell World Trade Ltd. | Systems and methods for performing unknown address discovery in a MoChi space |
KR102407917B1 (ko) * | 2015-11-12 | 2022-06-10 | 삼성전자주식회사 | 멀티 프로세서에 의해 공유되는 메모리를 포함하는 멀티 프로세서 시스템 및 상기 시스템의 동작 방법 |
US10972453B1 (en) | 2017-05-03 | 2021-04-06 | F5 Networks, Inc. | Methods for token refreshment based on single sign-on (SSO) for federated identity environments and devices thereof |
US11855898B1 (en) | 2018-03-14 | 2023-12-26 | F5, Inc. | Methods for traffic dependent direct memory access optimization and devices thereof |
US11537716B1 (en) | 2018-11-13 | 2022-12-27 | F5, Inc. | Methods for detecting changes to a firmware and devices thereof |
CN114228725A (zh) * | 2021-11-23 | 2022-03-25 | 深圳元戎启行科技有限公司 | 车载控制系统以及无人驾驶车辆 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6987961B1 (en) * | 2004-06-28 | 2006-01-17 | Neomagic Corp. | Ethernet emulation using a shared mailbox between two processors in a feature phone |
CN1833444A (zh) * | 2003-08-05 | 2006-09-13 | 皇家飞利浦电子股份有限公司 | 媒体内容的共享体验 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05298119A (ja) | 1992-04-17 | 1993-11-12 | Mitsubishi Electric Corp | マイクロプロセッサのコンテキストスイッチ機構 |
US5883722A (en) * | 1994-09-20 | 1999-03-16 | Oce Printing Systems Gmbh | Controller for editing encoded image data |
US6487190B1 (en) | 1996-06-27 | 2002-11-26 | Interdigital Technology Corporation | Efficient multichannel filtering for CDMA modems |
US6438137B1 (en) * | 1997-12-22 | 2002-08-20 | Nms Communications Corporation | Packet-based trunking |
JP2000332817A (ja) * | 1999-05-18 | 2000-11-30 | Fujitsu Ltd | パケット処理装置 |
US7136377B1 (en) * | 2000-03-31 | 2006-11-14 | Cisco Technology, Inc. | Tunneled datagram switching |
US7136935B2 (en) * | 2001-06-22 | 2006-11-14 | Inktomi Corporation | Efficient data transmissions based on a policy |
US7305492B2 (en) * | 2001-07-06 | 2007-12-04 | Juniper Networks, Inc. | Content service aggregation system |
US6957281B2 (en) * | 2002-01-15 | 2005-10-18 | Intel Corporation | Ingress processing optimization via traffic classification and grouping |
EP1469542A1 (en) * | 2003-04-09 | 2004-10-20 | Matsushita Electric Industrial Co., Ltd. | Polymer electrolyte fuel cell |
JP2006525578A (ja) | 2003-05-08 | 2006-11-09 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データパケットのパスによりブロックされている処理ノードをアンブロックする閾値 |
US7613109B2 (en) | 2003-06-05 | 2009-11-03 | Nvidia Corporation | Processing data for a TCP connection using an offload unit |
US20040252721A1 (en) * | 2003-06-16 | 2004-12-16 | International Business Machines Corporation | Bundled internet protocol packets |
US7418585B2 (en) * | 2003-08-28 | 2008-08-26 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US20050080930A1 (en) * | 2003-10-14 | 2005-04-14 | International Business Machines Corporation | Method and apparatus for processing service requests in a service-oriented architecture |
US7634500B1 (en) * | 2003-11-03 | 2009-12-15 | Netlogic Microsystems, Inc. | Multiple string searching using content addressable memory |
US7529924B2 (en) * | 2003-12-30 | 2009-05-05 | Intel Corporation | Method and apparatus for aligning ciphered data |
JP2005352839A (ja) * | 2004-06-11 | 2005-12-22 | Matsushita Electric Ind Co Ltd | データ通信装置 |
US7694312B2 (en) * | 2004-09-10 | 2010-04-06 | Pleora Technologies Inc. | Methods and apparatus for enabling bus connectivity over a data network |
US7752325B1 (en) * | 2004-10-26 | 2010-07-06 | Netapp, Inc. | Method and apparatus to efficiently transmit streaming media |
US20060277267A1 (en) * | 2005-05-16 | 2006-12-07 | Simon Lok | Unified memory IP packet processing platform |
JP4645325B2 (ja) * | 2005-06-30 | 2011-03-09 | ソニー株式会社 | 通信装置および通信システム |
US7610330B1 (en) * | 2006-03-30 | 2009-10-27 | Packeteer, Inc. | Multi-dimensional computation distribution in a packet processing device having multiple processing architecture |
US20080101355A1 (en) * | 2006-10-31 | 2008-05-01 | Nokia Corporation | Transmission scheme dependent control of a frame buffer |
JP5022691B2 (ja) * | 2006-12-12 | 2012-09-12 | キヤノン株式会社 | 通信装置、その制御方法及びプログラム |
US8014387B2 (en) * | 2007-08-27 | 2011-09-06 | International Business Machines Corporation | Providing a fully non-blocking switch in a supernode of a multi-tiered full-graph interconnect architecture |
US8196140B2 (en) * | 2008-01-11 | 2012-06-05 | Microsoft Corporation | Service function redirection for avoiding function evaluation blockages |
US8214845B2 (en) * | 2008-05-09 | 2012-07-03 | International Business Machines Corporation | Context switching in a network on chip by thread saving and restoring pointers to memory arrays containing valid message data |
-
2009
- 2009-06-25 US US12/491,993 patent/US8588253B2/en active Active
- 2009-06-26 EP EP09771211.1A patent/EP2314024B1/en not_active Not-in-force
- 2009-06-26 CN CN200980124420.8A patent/CN102077527B/zh not_active Expired - Fee Related
- 2009-06-26 WO PCT/US2009/048962 patent/WO2009158680A1/en active Application Filing
- 2009-06-26 TW TW098121704A patent/TW201032532A/zh unknown
- 2009-06-26 JP JP2011516740A patent/JP5507556B2/ja not_active Expired - Fee Related
- 2009-06-26 KR KR1020117002045A patent/KR101266324B1/ko not_active IP Right Cessation
-
2013
- 2013-08-16 JP JP2013169286A patent/JP5746283B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1833444A (zh) * | 2003-08-05 | 2006-09-13 | 皇家飞利浦电子股份有限公司 | 媒体内容的共享体验 |
US6987961B1 (en) * | 2004-06-28 | 2006-01-17 | Neomagic Corp. | Ethernet emulation using a shared mailbox between two processors in a feature phone |
Also Published As
Publication number | Publication date |
---|---|
TW201032532A (en) | 2010-09-01 |
JP2014013583A (ja) | 2014-01-23 |
EP2314024A1 (en) | 2011-04-27 |
JP5507556B2 (ja) | 2014-05-28 |
WO2009158680A1 (en) | 2009-12-30 |
KR101266324B1 (ko) | 2013-05-22 |
JP2011526476A (ja) | 2011-10-06 |
US20090323686A1 (en) | 2009-12-31 |
US8588253B2 (en) | 2013-11-19 |
JP5746283B2 (ja) | 2015-07-08 |
KR20110034652A (ko) | 2011-04-05 |
EP2314024B1 (en) | 2016-05-18 |
CN102077527A (zh) | 2011-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102077527B (zh) | 用以在多处理器装置中在数据发射及接收期间减少上下文切换的方法及设备 | |
US9832132B2 (en) | Transmission of delay tolerant data | |
EP3352049B1 (en) | Power saving techniques in computing devices | |
CN103975630A (zh) | 使用无线广域网协议信息来管理处理器的性能水平 | |
CN101621833A (zh) | 一种报文流量控制方法和基站控制器 | |
EP2406924B1 (en) | Process of audio data exchanges of information between a central unit and a bluetooth controller | |
CN103686956A (zh) | 移动终端及其数据网络通信方法和数据网络请求代理装置 | |
CN108668319B (zh) | 数据传输方法、装置及终端 | |
CN109391929A (zh) | 低功耗蓝牙数据传输方法及电子设备 | |
CN102523161A (zh) | 跨以太网交换网云的流控方法及系统 | |
US20220174785A1 (en) | Data processing and communication methods, memory, communication terminal, apparatus, and device | |
USRE49591E1 (en) | Power saving techniques in computing devices | |
US12028938B2 (en) | Data processing and communication methods, memory, communication terminal, apparatus, and device | |
US20140032757A1 (en) | Method for adaptive application behavior based on cellular network statistics | |
WO2023247407A1 (en) | A method of controlling communication of data packets of a communication device and a communication device |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141029 Termination date: 20190626 |