一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

对功率节省模式中的主处理器进行操作的制作方法

2022-10-26 19:13:33 来源:中国专利 TAG:

对功率节省模式中的主处理器进行操作


背景技术:

1.当诸如绘图仪、打印机、扫描仪和复印机的成像装置在从客户端装置接收到作业时,在兼容的介质上呈现内容。成像装置也可以被实现为多功能成像装置。例如,多功能打印机除了打印内容的能力之外,还可以结合扫描仪的功能和/或传真机的功能。在另一示例中,扫描仪还可以创建文档的物理副本,从而展示复印装置的功能。
2.诸如多功能打印机的装置可以被部署在组织中,用于通过网络为连接到相应的多功能打印机的某些用户提供服务。这些装置满足多个用户的需求,并作为可以向多个用户提供诸如打印、扫描和传真的各种服务的服务器。相应地,这种装置通常具有高的网络存在度,以允许服务运行。
附图说明
3.以下详细描述参考了附图,在附图中:
4.图1图示了根据本主题的示例实施方式的包括成像装置和耦接到成像装置的多个用户装置的网络化环境;
5.图2图示了根据本主题的示例实施方式的包括处理器的装置,该处理器用于从功率节省模式转换到活动模式;
6.图3图示了根据本主题的示例实施方式的实现动态功率管理技术以对功率节省模式中的处理器进行操作的成像装置;
7.图4图示了根据本发明主题的另一示例实施方式的成像装置,该成像装置实现了对功率节省模式中的处理器进行操作的技术;
8.图5图示了根据本主题的另一示例实施方式的多处理器核;
9.图6图示了根据本主题的示例的将处理器从功率节省模式转换到活动模式的方法;
10.图7图示了根据本主题的示例的通信流程,该通信流程是为了在方法的步骤618处做出将处理器从功率节省模式转换到活动模式的确定而发生的;
11.图8图示了根据本主题的示例的通信流程,该通信流程是在相应的处理器的第一应用和第二应用协同处理从物理网络接收的数据分组的场景下发生的;
12.图9图示了根据本主题的示例的实现用于对功率节省模式中的处理器进行操作的非暂时性计算机可读介质的计算环境。
具体实施方式
13.根据现有的静态功率管理(pm)技术,诸如多功能打印机的装置作为整体来唤醒或休眠,保持应用驱动的功率状态。例如,如果多功能打印机中负责打印操作的部件正在操作,则多功能打印机的其他部件(诸如负责扫描或传真操作的部件)无法保持在休眠状态中。然而,这种pm技术在结合了异构多处理的装置的情况下可能是没有效率的,其中,结合了专业化处理能力以处理专用操作的一种以上的处理器核被用于获得性能或能量,静态pm
技术可能是效率低的。
14.动态pm模型通常被实现在结合了异构多处理的装置中,其中各个部件可以在没有应用驱动的功率状态的情况下执行各自的能量节省。例如,在具有用于网络分组过滤、扫描、传真、复印和打印的专用处理器核的多功能打印机中,动态功率管理技术可以被实现在固件中,以优化功耗。
15.在异构多核处理的大小处理器架构中,相对节省能量且较慢的(小)处理器核与性能相对更强且功率更密集的(大)处理器核耦接。在示例中,大处理器核和小处理器核也可以分别作为主从处理架构的主处理器和从处理器,其中,主处理器可以比从处理器性能更强,并且被提供对从处理器的控制。
16.在这种架构中,网络分组过滤的任务通常被卸载到消耗低功率的小处理器核。小处理器核监视网络分组并实施网络分组过滤技术。小处理器核运行网络栈和能够响应网络请求的较少的服务。在接收到小处理器核无法处理的数据分组时,小处理器核唤醒大处理器核。这允许大处理器处理数据分组,并避免诸如拒绝服务等无意中出现的场景。唤醒大处理器核的过程可能涉及将数据分组从小处理器核传送到大处理器核。这个过程导致冗余,这是由于数据分组在多个实体处被复制,例如由小处理器复制然后由大处理器核复制。这又使得功率管理过程效率低。
17.根据本主题的示例,本文描述了在具有多处理器核的装置(诸如多功能打印机)中的动态功率管理的技术。在本文中描述的动态功率管理技术提供了对功率节省模式中的大处理器核(也被称为主处理器)进行操作,使得主处理器从功率节省模式转换到活动模式的过程消除了数据分组的丢失并最小化所涉及的转换时间。
18.根据本发明的示例实施方式,描述了包括多处理器核的装置。在示例中,从术语“多处理器核”可以明显看出,装置的多处理器核的每个核可以具有多个处理器。例如,装置可以包括专用集成电路,专用集成电路包含主处理器和从处理器。与主处理器相比,从处理器消耗更低的功率。主处理器被可互换地称为第一处理器或主核,并且类似地,从处理器被可互换地称为第二处理器或从核。术语处理器、处理器核和核也可以被互换使用。
19.在实施方式中,主处理器可以操作在活动模式和功率节省模式中的一种中。在功率节省模式中,主处理器保持在低能量或断电状态中,而消耗低功率的从处理器保持活动,以保证装置的服务可用性。
20.装置可以进一步包括以太网控制器,以太网控制器包括:分别用于向主处理器和从处理器传输数据的第一专用直接存储器访问(dma)通道和第二dma通道;以及将该装置交互到物理网络的装置端口。以太网控制器还包括媒体访问控制(mac)层模块。mac层模块通过物理网络从其他装置接收数据分组。基于确定主处理器操作在活动模式中并且数据分组被寻址到主处理器,mac层模块将数据分组传送到第一dma通道,并且当确定主处理器操作在功率节省模式中时,mac层模块将数据分组传送到第二dma通道。
21.第一dma通道和第二dma通道中的每一个具有专用数据结构。第一dma通道的第一数据结构存储从mac层模块接收的数据分组,并且由主处理器可访问。同样地,第二dma通道的第二数据结构存储从mac层模块接收的数据,并且由从处理器可访问。在示例实施方式中,第二dma通道的第二数据结构也由主处理器可访问。
22.主处理器包括第一驱动器,第一驱动器与从处理器和以太网控制器通信。从处理
器还包括第二驱动器,第二驱动器与主处理器和以太网控制器通信。当主处理器决定从活动模式切换到功率节省模式时,第一驱动器向第二驱动器发送通知,第二驱动器又向mac层模块发送通知。当主处理器操作在功率节省模式中时,在通过第二dma通道从mac层模块接收到数据分组时,确定所接收的数据分组要由主处理器处理还是由从处理器处理。如果确定数据分组要由主处理器处理,则第二驱动器向第一驱动器发送指针,该指针指向存储数据分组的第二数据结构的地址。
23.因此,分别运行在主处理器和从处理器上的两个不同的驱动器能够控制在mac层模块与主处理器或从处理器之间的数据传输。由于专用通道被用于不同的处理器,并且从处理器的数据结构由主处理器可访问,所以可以避免在分组从从处理器转换到主处理器期间可能发生的分组丢失。此外,减少了将数据分组传输到主处理器所涉及的转换时间,这是由于将指向与数据分组相对应的数据结构的指针传输到主处理器而不是将整个数据分组传输到主处理器,并且主处理器可以直接从相应的位置访问数据分组。
24.上述技术参照图1至图7进一步描述。应当注意的是,说明书和附图仅图示了本主题的原理以及在本文中描述的示例,并且不应当被解释为对本主题的限制。因此,应当理解的是,尽管在本文中没有明确描述或示出,但是体现了本主题的原理的各种布置可以被设计。此外,在本文中列举的本主题的原理、方面和实施方式的所有陈述以及其具体示例旨在涵盖其等同物。
25.图1示出了根据本主题的示例的网络化环境100,网络化环境100包括成像装置102和耦接到成像装置102的多个用户装置104-1、104-2、

和104-n。成像装置102的示例包括绘图仪、打印机、扫描仪、数字发送器、单功能打印机(sfp)、多功能打印机(mfp)和复印机。在示例中,在网络化环境100中可以存在多个成像装置,然而,为了简单起见,在图1中仅示出了成像装置102。
26.成像装置102可以由多个用户装置104-1、104-2、

和104-n经由网络106访问,以使用成像装置102的功能。用户装置104-1、104-2、

和104-3的示例可以包括但不限于诸如台式计算机、膝上型电脑、智能电话、个人数字助理(pda)和平板电脑的电子装置。多个用户装置104-1、104-2、

和104-n可以将作业发布到向成像装置102,以利用成像装置102的功能。作业的示例可以包括打印作业、扫描作业或通过扫描文档以及通过将扫描内容打印到介质上以创建文档的副本的作业。
27.在示例中,成像装置102可以通过网络106从多个用户装置104-1、104-2、

和104-n接收请求。此外,用户装置104-1、104-2、

和104-n可以通过网络106交换信息。在示例中,网络106可以是单个网络或多个网络的组合,并且可以使用各种不同的通信协议。网络106可以是无线网络或有线网络,或者它们的组合。这种单独网络的示例包括但不限于全球移动通信系统(gsm)网络、通用移动电信系统(umts)网络、个人通信服务(pcs)网络、时分多址(tdma)网络、码分多址(cdma)网络、下一代网络(non)、公共交换电话网络(pstn)。根据技术,网络106可以包括诸如网关、路由器等各种网络实体;然而,出于本描述的简洁的目的,已经省略了这些细节。
28.将服务提供到用户装置104-1、104-2、

和104-n的成像装置102可以具有高网络存在度,以保证服务的可用性。此外,通过网络106交换信息的用户装置104-1、104-2、

和104-n可能需要高网络存在度,例如,以为了避免任何数据丢失。然而,将不间断的网络可用
性提供到成像装置102和用户装置104-1、104-2、

和104-n也增加了这些装置的功耗。相应地,动态功率管理技术可以被实现在装置中,以实现功率节省。应当理解的是,在本文中描述的动态功率管理技术可以被实现在多个成像装置中的任何一个(例如,成像装置102)中,或者被实现在可以包括具有多处理器核的多核处理架构的多个用户装置104-1、104-2、

和104-n中的任何一个中。
29.例如成像装置102或用户装置104-1的装置包括多个处理器。多个处理器在功能和配置方面可以相似或不相似。根据本主题的示例实施方式,在包括多核处理器的装置中的动态功率管理提供了:为了节省能量,多核处理器的多个处理器中的至少一个处理器与多核处理器的其他处理器无关地保持在功率节省模式中。
30.例如,装置可以实现包括多个处理器的异构多处理器核,这些处理器具有不同种类的处理能力,以处理专用任务。例如,考虑装置是被配置为多功能打印机的成像装置102。成像装置102能够执行打印操作、扫描操作和传真操作,其中,各种操作中的每一个可以由包括在多处理器核中的专用处理器处理,比如说,一个处理器用于打印操作、扫描操作和传真操作中的每一个。
31.在异构多处理器核中,一些处理器可能消耗比其他处理器更多的功率。相应地,过滤网络分组的任务可以被分配到消耗较少功率的处理器,使得该处理器可以被操作,以保持成像装置102可用于服务,而其他处理器(诸如消耗较高功率的处理器)可以被置于功率节省模式中,以节省功率。
32.可能存在消耗较高功率的处理器(或处理器的组)操作在功率节省模式中的情况,该处理器被称为第一处理器108。在这种情况下,在接收到指向第一处理器108的数据分组时,被分配过滤网络分组的任务的消耗较少功率的处理器(被称为第二处理器110)可以调用第一处理器108。根据本主题的示例实施方式,第一处理器108从功率节省模式转换到活动模式的过程使得转换花费明显更少的时间并且不会发生数据分组丢失。
33.当第一处理器108操作在功率节省状态中时,第二处理器110接收指向第一处理器108的数据分组,并且基于确定数据分组要由第一处理器108处理,将数据分组存储在由第一处理器108可访问的数据结构中。数据结构可以被实现在成像装置102的存储器的缓冲区中。数据结构表示缓冲区中的数据分组的组织,并决定从缓冲区中检索数据分组。在示例中,数据结构可以被实现为环。第二处理器110可以然后通知第一处理器108,并将指向存储数据的数据结构的地址的指针发送到第一处理器108。第一处理器108可以然后从相应的位置检索数据以处理数据。因此,减少了将整个分组发送到第一处理器108所涉及的转换时间,并且还可以避免传输中数据丢失的风险。
34.参照图2来解释根据本主题的一个实施方式的装置200的处理器从功率节省模式到活动模式的转换。
35.图2示出了根据本主题的示例的装置200。装置200可以包括专用集成电路(asic)202。asic 202可以是为预定义任务设计的集成电路芯片。asic 202包括主处理器204和通信地耦接到主处理器204的从处理器206。根据asic 202要执行的任务,主处理器204可以操作在功率节省模式或活动模式中。主处理器204可以被配置为执行与从处理器206所执行的操作不同的操作。主处理器204可以具有比从处理器206的计算能力更高的计算能力。
36.装置200可以进一步包括通信地耦接到asic 202的以太网控制器208。以太网控制
器208将装置与物理网络210交互。物理网络210可以与上述网络类似,装置200可以通过该网络与其他装置(诸如上述用户装置104-1、104-2、

和104-n或成像装置102)通信。以太网控制器208可以包括通过物理网络210接收数据分组的媒体访问控制(mac)层模块212。数据分组可以被指向主处理器204或从处理器206,并且因此将被相对应的处理器处理。
37.在示例实施方式中,以太网控制器208可以进一步包括第一直接存储器访问(dma)通道214和第二直接存储器访问(dma)通道216。第一dma通道214和第二dma通道216将由mac层模块212接收的数据分组传输到装置200的存储器,相应的处理器可以从该存储器消耗该数据分组。第一dma通道214可以与由主处理器204可访问的第一数据结构相关联,并且第二dma通道216可以与由可主处理器204和从处理器206两者访问的第二数据结构相关联。
38.在示例中,从处理器206和mac层模块212可以感知主处理器204是操作在活动模式中还是功率节省模式中。如果主处理器204操作在活动模式中,则当数据分组被寻址到主处理器204时,mac层模块212将数据分组传送到第一dma通道214。在数据分组被寻址到从处理器206的情况下,数据分组被传送到第二dma通道216。然而,如果基于来自从处理器206的指示而确定主处理器204操作在功率节省模式中,则mac层模块212可以将数据分组传送到第二dma通道216。在这种情况下,每个数据分组与该数据分组是被寻址到主处理器204还是从处理器206无关地被传送到第二dma通道216。
39.第一dma通道214将从mac层模块212接收的数据分组存储在第一数据结构中(图2中未描绘),而第二dma通道216将从mac层模块212接收的数据分组存储在第二数据结构中。由于与第二dma通道216相关联的数据结构由主处理器204可访问,所以当主处理器204唤醒或进入活动模式时,在主处理器204处于休眠模式的持续时间内传送到第二dma通道216的、与主处理器204相对应的数据可以被从第二数据结构中检索并被主处理器204处理。这提供了主处理器204从功率节省模式到活动模式的有效转换。
40.图3示出了根据本主题的示例的成像装置300。成像装置300包括以太网控制器308和耦接到以太网控制器308的多处理器核302。以太网控制器308处理在成像装置300的存储器与物理网络312之间的数据分组的传输。根据本主题的示例,以太网控制器308包括mac层模块310。mac层模块310从物理网络312接收数据分组。物理网络312可以与如上所述的网络106类似。
41.在示例中,多处理器核302是至少包括具有不相似的配置的第一处理器304和第二处理器306的异构核。例如,第一处理器304可能比第二处理器306更消耗功率。第一处理器304和第二处理器306可以分别包括驱动器,即第一驱动器314和第二驱动器316,以将相应的处理器304、306交互到以太网控制器308。第一驱动器314和第二驱动器316可以被理解为以太网驱动器,其通过将相应的处理器304、306交互到以太网控制器308(以太网控制器308又耦接到物理网络312)从而使得成像装置300能够通过物理网络312与其他装置通信。
42.在操作中,当第一处理器304进入功率节省模式时,第一驱动器314可以通知第二驱动器316第一处理器304已经进入功率节省模式。第二驱动器316又可以将该通知通知到mac层模块310。当第一处理器304进入功率节省模式时,第二驱动器316开始处理来自mac层模块310的指向多处理器核302的数据分组。由第二驱动器316接收的数据分组可以被指向第一处理器304或第二处理器306。第二驱动器316将数据分组存储在数据结构中。
43.在示例中,在确定从mac层模块310接收的数据分组要由第一处理器304处理的情
况下,第二驱动器316调用第一驱动器314,并将存储数据分组的数据结构的地址提供到第一驱动器314。如前所述,数据结构由第一驱动器314可访问,以检索和处理数据分组。由于第二驱动器316的数据结构由第一驱动器314可访问,因此避免了在第一处理器304恢复活动状态期间可能发生的分组丢失。
44.图4图示了根据本主题的另一个示例的成像装置300,成像装置300实现了对功率节省模式中的处理器进行操作的技术。如上所述,成像装置300可以包括以太网控制器308和耦接到以太网控制器308的多处理器核302。多处理器核302可以包括第一处理器304和第二处理器306,第一处理器304和第二处理器306分别与上述主处理器204和从处理器206类似。将理解的是,尽管所图示的实施方式描绘了单独的第二处理器,但是多处理器核302可以包括一个以上的第二处理器或从处理器。
45.在示例中,第一处理器304和第二处理器306可以被实现为微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令操纵信号的任何装置。在示例中,第一处理器304和第二处理器306可以具有相似或不相似的配置。例如,第一处理器304可能比第二处理器306性能更强并且更消耗功率。第一处理器304和第二处理器306中的每一个都可以被分配专用任务。例如,如果成像装置300是多功能打印机,则第一处理器304和第二处理器306中的每一个可以被配置为执行网络分组过滤、打印、扫描或传真操作中的一个。
46.根据本主题的示例实施方式,第一处理器304和第二处理器306可以分别包括第一驱动器314和第二驱动器316。如上所述,第一驱动器314和第二驱动器316可以将各自的处理器与以太网控制器308交互,以太网控制器308与物理网络312耦接,以允许成像装置300通过物理网络312与其他装置通信。第一驱动器314和第二驱动器316促进在第一处理器304与第二处理器306之间的通信。成像装置300的存储器(图中未示出)中的独立缓冲空间被分配到第一驱动器314和第二驱动器316中的每一个,以分别用于第一驱动器314和第二驱动器316的第一数据结构和第二数据结构。第一数据结构和第二数据结构提供了用于组织缓冲区中的数据分组的存储格式,并且提供了访问数据分组的方式。存储器可以包括任何计算机可读存储器,例如,易失性存储器(例如ram)和/或非易失性存储器(例如eprom、闪存等)。存储器也可以是诸如闪存驱动、光盘驱动或外部硬盘驱动等的外部存储单元。
47.在示例中,以太网控制器308还包括mac层模块310,mac层模块310通过物理网络312从其他装置接收数据分组。模块可以包括例程、程序、对象、部件、数据结构等,它们执行特定的任务或实现特定的抽象数据类型。除了mac层模块310之外,成像装置300可以包括补充成像装置300上的应用的其他模块(例如,操作系统的模块)。在一个示例中,mac层模块310和其他模块可以驻留在成像装置300的存储器中。
48.mac层模块310的mac接收器420可以从物理网络312接收数据分组。mac层模块310还包括mac发送器418,用于通过物理网络312将从第一处理器304和第二处理器306接收的数据分组传输到其他装置。
49.在示例中,以太网控制器308包括第一dma通道402和第二dma通道404,它们分别实现在第一处理器304或第二处理器306与成像装置300的装置端口之间的数据分组的传输,该装置端口将以太网控制器308与物理网络312交互。第一dma通道402和第二dma通道404中的每一个又可以实现通道的对,其中,该通道的对可以包括一个接收数据的通道和一个传
输数据分组的通道。在示例实施方式中,第一dma通道402和第二dma通道404中的每一个包括传输环和接收器环的对,称为:tx第一dma通道406;rx第一dma通道408,以及tx第二dma通道410;rx第二dma通道412。第一dma通道402和第二dma通道404的接收器环408、412(即rx第一dma通道408和rx第二dma通道412)接收由mac接收器420接收的数据分组。同样地,第一dma通道402和第二dma通道404的传输环406、410(即tx第一dma通道406和tx第二dma通道410)分别将来自第一处理器304和第二处理器306的数据分组传送到mac层模块310,mac层模块310可以进一步通过物理网络312将数据分组传输到其他装置。第一dma通道402和第二dma通道404中的每一个保持相对应的数据结构,该数据结构映射到第一驱动器314和第二驱动器316的相对应的数据结构。mac层模块310的mac调度器414可以存储(尽管是暂时性的)从第一dma通道402和第二dma通道404接收的并且将被传输到其他装置的数据分组。
50.在一个示例实施方式中,可以使第一处理器304能够访问第二dma通道404的接收rx环412。在示例中,在驱动器314、316的初始化/重新初始化期间,握手操作可以通过处理器间通信技术(例如消息传递协议)在第一驱动器314和第二驱动器316之间执行。握手允许第二驱动器316将其数据结构与第一驱动器314共享。相应地,第一处理器304变得可以感知第二dma通道404的接收器rx环412。因此,在第二dma通道404的rx环412中接收的数据分组可以由第一驱动器314访问。
51.在示例中,mac层模块310可以进一步包括mac仲裁器416。mac仲裁器416可以基于处理器的操作状态、数据分组的目标地址和处理器处理数据分组的能力,将由mac接收器420接收的数据分组路由到多处理器核302的合适的处理器。mac仲裁器416可以通过执行特定任务或实现特定抽象数据类型的例程、程序、对象、部件和数据结构等被实现。
52.在操作中,当第一处理器304操作在活动模式中时,基于确定由mac接收器420接收的数据分组被寻址到第一处理器304,mac仲裁器416将寻址到第一处理器304的数据分组发送到第一dma通道402。第一dma通道402的接收器环408将数据分组存储在第一驱动器314的第一数据结构中。第一处理器304可以从第一数据结构中检索数据分组。此外,如果确定所接收的数据分组被寻址到第二处理器306,则mac仲裁器416将数据分组发送到第二dma通道404,并且相应地,第二dma通道404的接收环412将数据分组存储在第二驱动器316的第二数据结构中。
53.此外,根据本主题的示例实施方式,第一处理器304可以被操作在功率节省模式中,以节约功率。在示例中,成像装置300可以基于预定时间段实现用于功率节省的策略。相应地,对于预定时间段,多处理器核302的处理器可以被置于功率节省模式中。在另一示例中,可以基于历史数据实现用于功率节省的策略。例如,如果历史数据显示在给定的日期(诸如周末)或在任何一天期间的给定持续时间(例如组织的非工作时间)没有从用户装置接收到请求,则策略可以被实现,以在该这种时间期间将处理器置于功率节省模式中。
54.当第一处理器304启动功率节省模式时,第一处理器304的第一驱动器314通过处理器间通信技术将指示发送到第二驱动器316。第二驱动器316又将第一处理器304操作在功率节省模式中的指示发送到mac层模块310。当mac层模块310接收到这样的指示时,mac层模块310的仲裁器416开始将寻址到第一处理器304的数据分组传输到第二dma通道404。
55.在第一处理器304操作在功率节省模式中时,由mac接收器420接收的数据分组被指向第二dma通道404。由mac接收器420接收并且寻址到第二处理器306的数据分组当被指
向第二dma通道404时由第二驱动器316处理,这与处于功率节省模式的第一处理器304无关。然而,当寻址到第一处理器304的数据分组被指向第二dma通道404,同时第一处理器304处于功率节省模式时,第二处理器306估计是否要调用第一处理器304来处理该数据分组。例如,第二驱动器316基于数据分组的配置和第二处理器306处理数据分组的能力,调用第一驱动器314。在示例中,一旦第二处理器306决定调用第一处理器304,则第二处理器306停止对数据分组的任何进一步处理,并且可以进入功率节省模式并等待来自第一处理器304的进一步指令。指令可以是第一处理器304进入或操作在功率节省模式中的指示。
56.在第二处理器306确定在第一处理器304处于功率节省模式时接收的数据分组要由第一处理器304在该实例中处理的情况下,第二处理器306对第二驱动器316的控制被暂停,并被传送到第一驱动器314。该事件促使第一处理器304被调用。第一处理器304因此从功率节省模式转换到活动模式,以恢复其操作。一旦第一处理器304处于活动模式,则第一驱动器314遍历第二dma通道404的接收器环412,并检索存在于第二dma通道404的数据结构中的数据分组。此后,第一处理器304继续其在活动模式中的操作,并处理存在于第一dma通道402的数据结构中的数据分组。
57.参照图5,其图示了根据示例实施方式的多处理器核302。如在成像装置300的多处理器核302中所实现的,参考图5描述的技术也可以被实现在装置200的asic 202中。如前所述,多处理器核302包括第一处理器304和第二处理器306。除了第一驱动器314之外,第一处理器304还可以包括耦接到第一驱动器314的第一传输模块502以及第一处理器间通信(ipc)模块508。在示例中,第一传输模块502可以被理解为包括在网络层上的层,该层提供在源与目的之间的端到端数据传送。
58.在示例实施方式中,第一处理器304可以包括用于处理从物理网络312接收的数据分组的第一应用。在示例中,第一应用512包括管理应用516和发现应用518。管理应用516可以促进由诸如成像装置300等装置提供的各种服务。
59.管理应用的示例包括基于简单网络管理协议(snmp)的应用,该应用收集和组织关于物理网络312上的其他装置的信息,并且例如基于其他装置的状态,修改该信息,以改变成像装置300的行为。管理应用的其他示例包括但不限于web服务(ws);诸如云打印、appsocket/jetdirect打印和行式打印机守护进程(line printer daemon)的打印协议;以及诸如web扫描的扫描协议。ws可以是用于在应用或装置之间交换数据的协议的集合。在示例中,成像装置300(例如,打印机)可以支持基于简单对象访问协议(soap)的网络服务(该网络服务是基于xml的网络服务协议),以通过超文本传输协议(http)或简单邮件传输协议(smtp)交换数据和文档。在另一示例中,打印机可以支持基于表述性状态转移(rest)的网络服务,该网络服务为基于api的任务提供在装置与互联网之间的通信和连接。
60.在示例实施方式中,发现应用518收集和组织关于连接到物理网络312的装置的信息。此外,发现应用518处理数据分组,这些数据分组帮助装置(诸如成像装置300或其上安装有发现应用的装置200)被其他连接到物理网络312的装置发现。在示例中,基于广播/多播的网络协议(诸如llmnr(链路本地多播名称解析)、bonjour(mdns)、slp(服务定位协议))可以被用于这种目的。
61.与第一处理器304类似,第二处理器306可以包括耦接到第二驱动器316和第二ipc模块510的第二传输模块504。当第一处理器304操作在功率节省模式中时,第二传输模块
504确定从mac层模块310接收的数据分组要由第一处理器304处理还是由第二处理器306处理。为此,第二传输模块504可以实现执行这种确定的子模块(被称为分组检查模块506)。分组检查模块506检查传送到第二dma通道404的数据分组,以确定该数据分组要由第一处理器304处理还是由第二处理器306处理。此外,第二处理器306还包括诸如管理应用520和发现应用522的第二应用514。
62.在示例实施方式中,第一应用512和第二应用514具有分布式架构,即应用的特征可以驻留在第一处理器304和第二处理器306中。例如,消耗更多存储器和处理资源的相应的应用的特征可以驻留在第一处理器304中,第一处理器304在处理能力方面可以比第二处理器306更强。
63.第一传输模块502和第二传输模块504共同形成处理器间通信通道,该通道促进在第一处理器304与第二处理器306之间的通信。第一驱动器314和第二驱动器316通过该处理器间通信通道彼此通信。在示例中,形成该ipc通道的第一ipc模块508和第二ipc模块510可以通过处理器间通信的技术(例如消息传递协议)被实现。
64.在示例中,第一处理器304保持过滤规则或模式,以过滤从物理网络312接收的数据分组。过滤规则由第一处理器304定义,以指示要由第二处理器306处理的数据分组的类型。过滤规则可以是预设的,也可以是动态配置(基于通过数据分组的处理而收集的信息)的。也就是说,过滤规则由第一处理器在成像装置300运行时可修改。在示例中,预设的过滤规则可以包括第一处理器304的mac地址,该mac地址由厂商在处理器板或芯片的制造期间设置。mac地址可以由第一处理器304传递到第二处理器306,或者可替代地,第二处理器306可以从硬件(即多处理器核)读取第一处理器304的mac地址。在示例中,动态过滤规则可以基于连接到物理网络312的装置的ip地址。
65.动态规则也可以基于简单网络管理协议(snmp)的对象标识符(oid),如前所述,该协议收集和组织关于物理网络312上的被管理的装置的信息,并且例如基于被管理的装置的状态修改信息以改变成像装置300的行为。snmp oid可以是用于识别装置及其状态或行为的地址。此外,snmp oid指向存储在称为管理信息库(mib)的数据库中的网络对象,在示例中,该数据库可以是基于树的结构。例如,用于打印机的snmp的oid(即“1.3.6.1.2.43.11.1.1.6.0.2”)可以表示打印机中的黄色墨水的级别。相应地,在示例中,第一处理器304可以为第二处理器306定义动态过滤规则,以基于成像装置300中的黄色墨水的级别执行数据分组的类型的预定义处理。
66.第一驱动器314将过滤规则或模式发送到第二处理器306的传输模块(即第二传输模块504)。在示例中,在已经将过滤规则提供到第二处理器306的传输模块504的情况下,当第一处理器304决定进入功率节省模式时,第一驱动器314将指示发送到第二处理器306。在示例中,该指示可以由第一驱动器314通过由第一ipc模块508和第二ipc模块510形成的ipc通道发送到第二驱动器36。第二驱动器316又可以将第一处理器304启动功率节省模式的指示通信到mac层模块310。基于所述所接收的指示,mac层模块310的仲裁器416可以将通过物理网络312接收的所有数据分组发送到第二dma通道404。相应地,当第一处理器304操作在功率节省模式中时,由第二驱动器316从物理网络接收的并且寻址到第一处理器304的数据分组被转发到第二传输模块504,并且又被转发到分组检查模块506。第二传输模块504基于指示要由第二处理器306处理的数据分组的类型的过滤规则,确定所接收的数据分组要由
第一处理器304处理还是由第二处理器306处理。基于过滤规则,如果确定数据分组要由第二处理器306处理,则第二传输模块504将数据分组发送到第二应用514中的相应的应用。取决于如上所解释的实现在第二处理器306处的相对应的第二应用的特征,第二应用514中的相对应的第二应用可以处理数据分组,或向第二传输模块504返回其无法处理数据分组的指示。
67.如果确定数据分组要由第一处理器304处理,或在接收到第二应用无法处理数据分组的指示时,第二传输模块504促使主处理器204被调用,以处理数据分组。在这种情况下,第二传输模块504将调用第一处理器304的指示发送到第二驱动器316,第二驱动器316又通过ipc通道发送调用第一处理器304的指令。如前所述,第二驱动器316还将存储数据分组的数据结构的地址提供到第一驱动器314,该地址由第一驱动器314在进入活动模式时可访问。第一处理器304然后可以检索并处理该数据分组。
68.图6图示了根据本主题的示例的将处理器从功率节省模式转换到活动模式的方法600。尽管方法600可以被实现在诸如装置200、用户装置104-1、104-2、

和104-n以及成像装置300的各种装置中,但是为了便于说明,示例方法600的当前描述是参照上述成像装置300提供的。
69.所描述的方法600的顺序不旨在被解释为限制,并且任何数量的所描述的方法块可以以任何顺序组合,以实现方法600或可替代的方法。
70.可以理解的是,方法600的块可以基于存储在非暂时性计算机可读介质中的指令被执行,如将容易理解的。非暂时性计算机可读介质可以包括例如数字存储器、诸如磁盘和磁带的磁存储介质、硬盘驱动或光学可读数字数据存储介质。
71.参照图6,在块602处,以太网控制器(诸如成像装置300的以太网控制器308)从物理网络312接收数据分组。在示例中,以太网控制器的mac层模块(诸如成像装置300的以太网控制器308的mac层模块310)接收数据分组。数据分组可以由另一装置(诸如用户装置104-1、104-2、

和104-n)通过物理网络312发送。
72.在块604处,确定第一处理器304是活动的还是操作在功率节省模式中。第一处理器304可以结合在耦接到成像装置300的以太网控制器308的多处理器核中。在示例中,第二处理器306的驱动器(诸如第二驱动器316)被配置为执行该确定,第二处理器306又将关于第一处理器304的操作状态通知mac层模块310。
73.如果在块604处的确定是肯定的,则在块606处,进一步确定所接收的数据分组要由成像装置300的第一处理器304处理还是由第二处理器306处理。第二处理器306也可以被结合在多处理器核302中。在示例中,mac层模块310可以执行该确定。
74.基于确定数据分组要由第一处理器304处理,方法600进行到块608。在块608处,数据分组被发送到以太网控制器308的第一dma通道。第一dma通道可以是结合在成像装置300的以太网控制器308中的第一dma通道402。在示例中,mac仲裁器416可以将数据分组发送到第一dma通道402。方法600进一步进行到块610,在块610中,数据分组通过第一dma通道402被检索,并由第一处理器304处理。
75.返回参考块606,基于确定数据分组要由第二处理器(诸如多处理器核302的第二处理器306)处理而不是由第一处理器304处理,方法600进行到块612。在块612处,数据分组被发送到以太网控制器的第二dma通道(诸如以太网控制器308的第二dma通道404)。在示例
中,mac仲裁器416可以将数据分组发送到第二dma通道404。在块614处,数据分组从第二dma通道404被检索,并由第二处理器306处理。
76.再次参照块604,否定的确定指示第一处理器304正操作在功率节省模式中。相应地,该方法进行到块616,在块616中,数据分组被发送到第二dma通道404。在示例中,mac仲裁器416可以将数据分组发送到第二dma通道404。在块618处,确定发送到第二dma通道404的数据分组是否要由第一处理器304处理。在示例中,为了执行这种确定,第二处理器306可以从第二dma通道404检索数据分组并对其进行分析。当确定该数据分组不是要由第一处理器304处理而是要由第二处理器306处理时,方法进行到块614,在块614中,该数据分组由第二处理器306处理。否则,如果确定从第二dma通道404检索的数据分组要由第一处理器304处理,则在块620处,将数据分组存储在与第二dma通道404相关联的数据结构中,其中,该数据结构由第一处理器304可访问。
77.第二处理器306在块622处调用第一处理器304,并且在块624处将指向存储数据分组的数据结构的指针提供到第一处理器304。方法然后进行到块626,在块626中,第一处理器304从数据结构中检索数据分组。最后,在块628处,第一处理器304处理数据分组。相应地,第一处理器304从功率节省模式到活动模式的转换是在最小转换时间内执行的,并且不会丢失数据分组。
78.现在参照图7,其图示了根据本主题的示例实现的通信流程,该通信流程是为了在图6的步骤618处做出确定而发生的,即确定当第一处理器304操作在功率节省模式中时,从物理网络312接收的数据分组是否要由第一处理器304处理。最初在步骤702处,第一处理器304的第一驱动器314将过滤规则发送到第一处理器304的第一ipc模块508。如上所述,过滤规则由第一处理器304动态配置和定义,以指示要由第二处理器306处理的数据分组的类型。在步骤704处,第一ipc模块508将过滤规则传输到第二处理器306的第二ipc模块510,第二处理器306的第二ipc模块510在步骤706处又将过滤规则传输到第二处理器306的第二传输模块504,以使第二传输模块504能够确定数据分组是否要由第一处理器304处理。在步骤708处,第二驱动器316从mac层模块310接收数据分组。
79.此外,在步骤710处,第二驱动器316将数据分组发送到第二传输模块504。第二传输模块504然后分析数据分组,并且基于过滤规则,确定数据分组要由第一处理器304还是由第二处理器306处理。如果确定第二处理器306不能处理该数据分组并且该数据分组要由第一处理器304处理,则在步骤712处,第二传输模块504将其无法处理该数据分组的指示发送到第二驱动器316。在接收到这种指示时,第二驱动器316在步骤714处将数据分组发送到第二ipc模块510,第二ipc模块510又在步骤716处将数据分组发送到第一ipc模块508。第一ipc模块508在步骤718处将数据分组发送到第一驱动器314。第一处理器304然后可以处理数据分组。然而,如果第二传输模块504确定第二处理器306可以处理该数据分组,则第二传输模块504可以将此通知第二驱动器316,并且第二处理器306可以相应地处理该数据分组。由于第一处理器304并非总是需要在接收到被寻址到第一处理器304的数据分组时由第二驱动器316调用,因此这促使节省了由第一处理器304消耗的功率,其中第一处理器304比第二处理器306性能更强并且消耗更多的功率。
80.现在参照图8,其图示了根据本主题的示例实施方式的通信流程,该通信流程是在相应的处理器的第一应用512和第二应用514协同处理从物理网络312接收的数据分组的场
景下发生的。在过程开始时,在步骤802处,第一处理器304的第一驱动器314将过滤规则发送到第二处理器306的第二传输模块504,以配置分组检查模块506。如上参照图7所解释的,在步骤702至706之后,过滤规则被传输到分组检查模块506。如上所解释的,第一驱动器314通过由第一处理器304的第一ipc模块508和第二处理器306的第二ipc模块510形成的ipc通道将过滤规则发送到第二传输模块504。为了简单起见,图8中省略了这些部件以及发生在这些部件当中的通信。
81.在步骤804处,第二驱动器316从物理网络312接收数据分组,并且在步骤806处将数据分组传输到第二传输模块504,第二传输模块504分析数据分组并且基于从第一驱动器314接收的过滤规则,确定数据分组要由第一处理器304处理还是由第二处理器306处理。如果确定数据分组要由第二处理器306处理,则第二传输模块504在步骤808处将数据分组发送到安装在第二处理器306中的第二应用514中的合适的应用。如前所述,第二应用514可以包括管理应用520和发现应用522。第二应用514中的相应的应用然后确定它是否能够处理该数据分组。如前所述,第一应用512和第二应用514具有分布式架构,即第二应用514中的应用与第一应用512中的对应应用相比可以具有有限的特征。相应地,第二应用514中的相应的应用可以基于其处理数据分组的能力确定它是否能够处理该数据分组。例如,如果在第二应用514中的发现应用522接收到发现分组,则它将其能力与该数据分组的配置进行比较并确定它是否能够处理和响应该数据分组。如果第二应用514无法处理数据分组,则在步骤810处,它将其无法处理数据分组的指示发送到第二传输模块504。相应地,在步骤812处,第二传输模块504将调用第一处理器304和数据分组的指示发送到第二驱动器316。最后,在步骤814处,第二驱动器316将调用第一处理器304的命令以及数据分组发送到第一驱动器314。
82.图9图示了根据本主题的示例的实现用于对功率节省模式中的处理器进行操作的非暂时性计算机可读介质902的计算环境900。
83.在示例中,计算环境900可以包括任何上面所解释的成像装置300。计算环境900包括通过通信链路906通信地耦接到非暂时性计算机可读介质902的处理资源904。在示例中,处理资源904可以是成像装置300的处理器,该处理器从非暂时性计算机可读介质902获取并执行计算机可读指令。
84.非暂时性计算机可读介质902可以是例如内部存储装置或外部存储装置。在示例中,通信链路906可以是诸如任何存储器读/写接口的直接通信链路。在另一示例中,通信链路906可以是诸如网络接口的间接通信链路。在这种情况下,处理资源904可以通过网络908访问非暂时性计算机可读介质902。网络908可以是单个网络或多个网络的组合,并且可以使用各种不同的通信协议。
85.处理资源904和非暂时性计算机可读介质902也可以被通信地耦接到数据源910。在示例中,数据源910可以被用于存储诸如数据分组的资料。在示例中,非暂时性计算机可读介质902包括用于对功率节省模式中的处理器进行操作的计算机可读指令912。例如,非暂时性计算机可读介质902可以包括计算机可读指令912,计算机可读指令912可以被执行以实现先前描述的mac层模块310以及第一驱动器314和第二驱动器316。
86.在示例中,计算机可读指令912可以使处理资源904接收过滤规则,以确定成像装置300的以太网控制器308通过物理网络312接收的数据分组要由主处理器(诸如第一处理
器304)处理还是由从处理器(诸如第二处理器306)处理。如前所解释的,以太网控制器308可以被耦接到包括主处理器和从处理器(诸如成像装置300的第一处理器304和第二处理器306)的多处理器核302。此外,如上所述,过滤规则由主处理器304定义,以指示要由从处理器306处理的数据分组的类型。
87.计算机可读指令912可以进一步促使处理资源904接收主处理器304已经激活功率节省模式的指示。如前所解释的,主处理器304的驱动器(诸如成像装置300的第一处理器304的第一驱动器314)可以发送这种指示。
88.此外,计算机可读指令912可以促使处理资源904基于过滤规则,确定在激活功率节省模式之后接收到的数据分组要由主处理器304来处理。该指令可以进一步促使处理资源904将数据分组存储在与从处理器306相关联的并且由主处理器304可访问的数据结构中。
89.在示例实施方式中,当主处理器304操作在功率节省模式中,并且如果确定数据分组要由主处理器304处理时,则计算机可读指令912可以促使处理资源904调用主处理器304,以处理数据分组,并且将存储数据的数据结构的地址提供到主处理器304。相应地,主处理器304可以检索和处理数据分组。
90.相应地,成像装置300的处理器可以操作在功率节省模式中并且不会丢失寻址到它的数据分组,并且可以在最小时间段内经历从功率节省模式到活动模式的转换。
91.因此,本主题的方法和装置提供了用于在具有多处理器核的装置中的动态功率管理的技术。尽管已经利用特定于结构特征和/或方法的语言描述了实施方式,但是应当理解的是,所附权利要求不一定限于所描述的具体特征或方法。相反,这些具体特征和方法是作为以下的示例而公开的:对装置的在功率节省模式中的主处理器进行操作,使得主处理器从功率节省模式转换到活动模式的过程消除了数据分组的丢失并最小化所涉及的转换时间。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献