能够根据处理器的利用优先级来利用硬件的电子设备的制作方法

文档序号:13136474阅读:108来源:国知局
能够根据处理器的利用优先级来利用硬件的电子设备的制作方法

本发明涉及一种电子设备。



背景技术:

已知一种典型的电子设备,其包括处理器、连接到处理器以执行处理的外围硬件、以及利用处理器来执行处理的任务等,且降低使外围硬件执行处理的任务等对处理器进行利用的优先级。



技术实现要素:

本发明的一方面所涉及的电子设备包括中央处理单元和存储处理执行程序的存储设备,且执行多个种类的作业。所述中央处理单元执行所述处理执行程序,以作为多个处理执行部和执行控制部来发挥功能,所述多个处理执行部利用多个作为所述中央处理单元的处理器来执行处理,所述执行控制部控制多个所述处理执行部对处理的执行。所述执行控制部为多个所述处理执行部中的每一个处理执行部设定处理器利用优先级,所述处理器利用优先级作为所述处理执行部对所述处理器进行利用的优先级。所述执行控制部在特定种类的所述作业和所述特定种类以外的种类的所述作业同时执行时,将所述特定种类以外的种类的所述作业的所述处理器利用优先级变更为特定优先级以下的优先级。

附图说明

图1示出本发明的一实施方式所涉及的mfp的框图。

图2示出一实施方式所涉及的cpu利用优先级信息的一例。

图3示出一实施方式所涉及的由cpu实现的功能的框图。

图4示出设定优先作业种类时的一实施方式所涉及的mfp的操作。

图5示出在图4所示操作中显示的优先作业种类设定画面的一例。

图6示出执行作业时的一实施方式所涉及的mfp的操作。

图7示出一实施方式所涉及的利用asic来执行处理时的线程的操作。

图8示出在一实施方式所涉及的mfp中在复印作业的执行过程中执行打印作业时的一例。

图9示出在仅执行复印作业时的一实施方式所涉及的线程的一例。

图10示出在图9所示状态下的线程与asic的关系。

图11示出在执行复印作业及打印作业时复印作业的cpu利用优先级变更前的一实施方式所涉及的线程的一例。

图12示出在执行复印作业及打印作业时复印作业的cpu利用优先级变更后的一实施方式所涉及的线程的一例。

图13示出在图12所示状态下的线程与asic的关系。

具体实施方式

以下,对于本发明的一实施方式,使用附图来进行说明。

首先,对作为本实施方式所涉及的电子设备的复合机(mfp,multifunctionperipheral)的结构进行说明。

图1示出本实施方式所涉及的mfp10的框图。

如图1所示,mfp10包括:操作部11、显示部12、扫描仪13、打印机14、传真通信部15、通信部16、存储部17、以及控制部20。操作部11是输入各种操作的按钮等输入设备。显示部12是显示各种信息的液晶显示器(lcd,liquidcrystaldisplay)等显示设备。扫描仪13是从原稿读取图像的读取设备。打印机14是在纸张等记录介质上打印图像的打印设备。传真通信部15是经由公用电话线路等通信线路而与未图示的外部传真装置进行传真通信的传真设备。通信部16是经由互联网、局域网(lan)等网络而与外部装置进行通信、或者不经由网络而通过有线通信或无线通信直接与外部装置进行通信的通信设备。存储部17是存储各种信息的半导体存储器、硬盘驱动器(hdd,harddiskdrive)等非易失性存储设备。控制部20对mfp10的整体进行控制。

存储部17存储有用于执行mfp10中的处理的处理执行程序17a。处理执行程序17a可以在mfp10的制造阶段安装到mfp10,也可以从sd卡、通用串行总线(usb,universalserialbus)存储器等外部存储介质中追加安装到mfp10,还可以从网络上追加安装到mfp10。

存储部17能够存储作业优先设定信息17b,该作业优先设定信息17b示出对由mfp10所优先执行的作业种类的设定。以下,将由mfp10所优先执行的作业种类称为“优先作业种类”。作业优先设定信息17b在缺省时并不示出优先作业种类。

存储部17将cpu利用优先级存储为cpu利用优先级信息17c。cpu利用优先级是作为后述的线程21a(参考图3)对后述的中央处理单元(cpu,centralprocessingunit)21进行利用的优先级的处理器利用优先级。cpu利用优先级信息17c针对线程21a的每个种类而示出,而线程21a针对每个作业种类而设定。在此,cpu利用优先级是0以上的整数,数值越大则cpu利用优先级越高。

图2示出cpu利用优先级信息17c的一例。

在图2所示的cpu利用优先级信息17c中包含有:通过打印机14将由扫描仪13从原稿读取到的图像打印到记录介质上的“复印作业”的各线程的cpu利用优先级、以及通过打印机14将基于经由通信部16接收到的打印数据等打印数据的图像打印到记录介质上的“打印作业”的各线程的cpu利用优先级。然而,实际上,在cpu利用优先级信息17c中还包含有:经由通信部16对由扫描仪13从原稿读取到的图像等图像进行发送的“发送作业”等复印作业和打印作业以外的种类的作业的各线程的cpu利用优先级。

在图2所示的cpu利用优先级信息17c中,作为复印作业的线程,示出了线程a、b、c。线程a例如是由扫描仪13从原稿读取图像并生成与读取到的图像相应的描绘数据的线程。线程b例如是将由线程a生成的描绘数据写入到后述的随机存取存储器(ram,randomaccessmemory)23的线程。线程c例如是从ram23读出由线程b写入到ram23的描绘数据并通过打印机14打印到记录介质上的线程。对于线程a、b、c,越是在作业中后执行的线程,cpu利用优先级被设定得越高。即,线程c的cpu利用优先级被设定为高于线程b的cpu利用优先级,线程b的cpu利用优先级被设定为高于线程a的cpu利用优先级。其理由是因为例如在同一时期内执行了多个作业的情况下,如果在作业中后执行的线程总是不被执行,则在作业中先执行的线程所执行的处理的结果会在ram23中过度累积,导致发生ram23容量不足的错误。复印作业还可以包含线程a、b、c以外的线程。

在图2所示的cpu利用优先级信息17c中,作为打印作业的线程,示出了线程x、y、z。线程x例如是生成与打印数据相应的描绘数据的线程。线程y例如是将由线程x生成的描绘数据写入到后述的ram23的线程。线程z例如是从ram23读出由线程y写入到ram23的描绘数据并通过打印机14打印到记录介质上的线程。对于线程x、y、z,越是在作业中后执行的线程,cpu利用优先级被设定得越高。即,线程z的cpu利用优先级被设定为高于线程y的cpu利用优先级,线程y的cpu利用优先级被设定为高于线程x的cpu利用优先级。其理由与以上关于复印作业的线程a、b、c而描述的理由相同。打印作业还可以包含线程x、y、z以外的线程。

如图1所示,控制部20例如包括:作为处理器的多个cpu21;存储有程序及各种数据的只读存储器(rom,readonlymemory)22;作为cpu21的工作区域而使用的ram23;以及作为执行特定处理的硬件的专用集成电路(asic,applicationspecificintegratedcircuit)24、25、26。cpu21执行在rom22或存储部17中所存储的程序。

asic24例如是执行由扫描仪13从原稿读取图像的处理的硬件。此外,asic25例如是执行使由asic24读取到的图像旋转以改变图像方向的处理的硬件。此外,asic26例如是对由asic25改变方向后的图像执行颜色转换处理的硬件。由asic24~26中的每一个asic所执行的处理与通过cpu21执行软件来实现的情况相比更高速。

图3示出由cpu21所实现的功能的框图。

如图3所示,cpu21通过执行在存储部17中所存储的处理执行程序17a,从而作为:作为利用cpu21来执行处理的处理执行部的多个线程21a、控制线程21a对处理的执行的执行控制部21b、以及接受对优先作业种类的指定的种类接受部21c来发挥功能。

执行控制部21b在将与cpu利用优先级信息17c相同内容的cpu利用优先级信息写入到ram23后,为每个线程21a设定基于ram23上的cpu利用优先级信息的cpu利用优先级。执行控制部21b能够使线程21a按照cpu利用优先级从高到低的顺序来利用cpu21。即,执行控制部21b在cpu21全部被cpu利用优先级比对象线程21a高的线程21a利用时,使对象线程21a待机。此外,执行控制部21b在cpu21的数量多于cpu利用优先级比对象线程21a高的线程21a的数量,并且cpu21的数量少于cpu利用优先级与对象线程21a相同或更高的线程21a(包含对象线程21a)的数量时,设定为:使未被cpu利用优先级比对象线程21a高的线程21a利用的cpu21由cpu利用优先级与对象线程21a相同的所有线程21a(包含对象线程21a)短时间交替利用(分时);以及使未被cpu利用优先级比对象线程21a高的线程21a利用的cpu21由cpu利用优先级与对象线程21a相同的线程21a(包含对象线程21a)按顺序利用(先到先服务)中的任意一种。但是,执行控制部21b在对象线程21a的cpu利用优先级为0,且cpu21的数量多于cpu利用优先级为1以上的线程21a的数量,并且cpu21的数量少于cpu利用优先级为0以上的线程21a的数量时,使未被cpu利用优先级为1以上的线程21a利用的cpu21由cpu利用优先级为0的所有线程21a短时间交替利用(分时)。

下面对于mfp10的操作进行说明。

首先,对于在设定优先作业种类时的mfp10的操作进行说明。

图4示出在设定优先作业种类时的mfp10的操作。

当经由操作部11指示开始进行优先作业种类的设定时,控制部20执行如图4所示的操作。

如图4所示,种类接受部21c将用于设定优先作业种类的优先作业种类设定画面30(参考图5)显示在显示部12上(步骤s101)。

图5示出优先作业种类设定画面30的一例。

如图5所示,优先作业种类设定画面30包含有:用于将复印作业指定为优先作业种类的指定用区域31、用于将打印作业指定为优先作业种类的指定用区域32、用于将发送作业指定为优先作业种类的指定用区域33、用于接受通过指定用区域31~33所进行的指定的确定(ok)按钮34、以及用于中止接受通过指定用区域31~33所进行的指定的取消按钮35。

指定用区域31在每次被按下时,“开启(on)”和“关闭(off)”会发生切换。“开启”表示复印作业被指定为优先作业种类的状态。“关闭”表示复印作业未被指定为优先作业种类的状态。针对指定用区域31进行了说明,对于指定用区域32、33也是同样的。

如图4所示,种类接受部21c判断是否按下了取消按钮35(步骤s102)。

种类接受部21c当在步骤s102中判断为按下了取消按钮35时,结束图4所示的操作。

种类接受部21c当在步骤s102中判断为未按下取消按钮35时,判断是否按下了确定按钮34(步骤s103)。

种类接受部21c当在步骤s103中判断为未按下确定按钮34时,执行步骤s102的处理。

种类接受部21c当在步骤s103中判断为按下了确定按钮34时,根据通过指定用区域31~33所进行的指定来将优先作业种类设定在作业优先设定信息17b中(步骤s104),并结束图4所示的操作。

其次,对于在执行作业时的mfp10的操作进行说明。

图6示出在执行作业时的mfp10的操作。

控制部20在经由操作部11被指示或者经由通信部16接收到打印数据从而满足作业的执行条件时,开始执行作业。控制部20在完全未执行作业的情况下,当开始执行作业时,执行图6所示的操作。

如图6所示,执行控制部21b开始执行对象作业(步骤s131)。即,执行控制部21b开始按顺序执行对象作业的多个线程21a。在此,执行控制部21b在执行对象作业的线程21a时,如上所述,为对象作业的线程21a设定在ram23上的cpu利用优先级信息中设定的cpu利用优先级。在步骤s131的处理时点,ram23上的cpu利用优先级信息与cpu利用优先级信息17c为相同内容。

执行控制部21b在步骤s131的处理之后,判断是否满足了新作业的执行条件(步骤s132)。

执行控制部21b当在步骤s132中判断为满足了新作业的执行条件时,开始执行新作业(步骤s133)。即,执行控制部21b开始按顺序执行新作业的多个线程21a。在此,执行控制部21b在执行新作业的线程21a时,如上所述,为新作业的线程21a设定在ram23上的cpu利用优先级信息中设定的cpu利用优先级。

执行控制部21b在步骤s133的处理之后,判断在当前正在执行的作业中是否存在由作业优先设定信息17b所示出的优先作业种类的作业和优先作业种类以外的种类的作业这两者(步骤s134)。

执行控制部21b当在步骤s134中判断为在当前正在执行的作业中存在优先作业种类的作业和优先作业种类以外的种类的作业这两者时,在ram23上的cpu利用优先级信息中,将当前正在执行的作业之中、优先作业种类以外的种类的作业的线程21a的cpu利用优先级变更为0(步骤s135)。在此,执行控制部21b在没有正在执行需要将cpu利用优先级变更为0的作业时,在步骤s135中什么也不做,结束步骤s135的处理。此外,执行控制部21b对于当前正在执行的作业之中、优先作业种类以外的种类的作业,在执行步骤s135的处理之后,直到执行后述的步骤s139的处理为止,即使对于新执行的线程21a也基于ram23上的cpu利用优先级信息而将cpu利用优先级设为0。

执行控制部21b当在步骤s132中判断为未满足新作业的执行条件、或者在步骤s134中判断为在当前正在执行的作业中不存在优先作业种类的作业和优先作业种类以外的种类的作业中的至少一方、或者步骤s135的处理结束时,判断是否结束了任意一个作业的执行(步骤s136)。

执行控制部21b当在步骤s136中判断为结束了任意一个作业的执行时,判断是否结束了所有作业的执行(步骤s137)。

执行控制部21b当在步骤s137中判断为任意一个作业的执行未结束时,判断在当前正在执行的作业中是否存在由作业优先设定信息17b示出的优先作业种类的作业和优先作业种类以外的种类的作业这两者(步骤s138)。

执行控制部21b当在步骤s138中判断为在当前正在执行的作业中不存在优先作业种类的作业和优先作业种类以外的种类的作业中的至少一方时,使优先作业种类以外的种类的作业的线程21a的cpu利用优先级恢复为原来的优先级(步骤s139)。即,执行控制部21b将ram23上的cpu利用优先级信息设为与cpu利用优先级信息17c相同的内容。

执行控制部21b当在步骤s136中判断为无论哪个作业的执行都未结束、或者在步骤s138中判断为在当前正在执行的作业中存在优先作业种类的作业和优先作业种类以外的种类的作业这两者、或者步骤s139的处理结束时,执行步骤s132的处理。

执行控制部21b当在步骤s137中判断为结束了所有作业的执行时,结束图6所示的操作。

图7示出利用asic24~26来执行处理时的线程a的操作。

复印作业的线程a在利用asic24~26来执行处理时,执行图7所示的操作。

如图7所示,线程a判断线程a自身的cpu利用优先级是否为0(步骤s161)。

线程a当在步骤s161中判断为线程a自身的cpu利用优先级不为0时,指示asic24~26执行联合操作(步骤s162),并指示asic24执行处理(步骤s163)。

因此,asic24执行由扫描仪13从原稿读取图像的处理,并将从原稿读取到的图像按照图像中的每个区带(バンド)而发送到asic25。接着,asic25针对每个区带使从asic24接收到的图像旋转以改变图像的方向,并按照每个区带而发送到asic26。接着,asic26对从asic25接收到的图像执行颜色转换处理。此外,asic24~26之间的数据传递使用ram23来实现。

线程a在步骤s163的处理之后,从asic26接收asic24~26的联合操作所执行的处理的结果,即,颜色转换后的图像(步骤s164),并结束图7所示的操作。此外,asic26和线程a之间的数据传递使用ram23来实现。

线程a当在步骤s161中判断为线程a自身的cpu利用优先级为0时,指示asic24~26解除联合操作(步骤s165),并指示asic24执行处理(步骤s166)。

因此,asic24执行由扫描仪13从原稿读取图像的处理。

线程a在步骤s166的处理之后,从asic24接收asic24所执行的处理的结果,即,由asic24从原稿读取到的图像(步骤s167)。此外,asic24和线程a之间的数据传递使用ram23来实现。

接着,线程a指示asic25对在步骤s167中接收到的图像中的一个区带进行处理(步骤s168)。此外,线程a和asic25之间的数据传递使用ram23来实现。

因此,asic25使从线程a接收到的一个区带的图像旋转以改变图像的方向。

线程a在步骤s168的处理之后,从asic25接收asic25所执行的处理的结果,即,由asic25改变了方向后的一个区带的图像(步骤s169)。此外,asic25和线程a之间的数据传递使用ram23来实现。

接着,线程a指示asic26对在步骤s169中接收到的一个区带的图像进行处理(步骤s170)。此外,线程a和asic26之间的数据传递使用ram23来实现。

因此,asic26对从线程a接收到的一个区带的图像执行颜色转换处理。

线程a在步骤s170的处理之后,从asic26接收asic26所执行的处理的结果,即,由asic26进行了颜色转换后的一个区带的图像(步骤s171)。此外,asic26和线程a之间的数据传递使用ram23来实现。

接着,线程a判断是否结束了针对在步骤s167中接收到的图像的所有区带的处理(步骤s172)。

线程a当在步骤s172中判断为针对至少一部分区带的处理未结束时,对于处理尚未结束的区带执行步骤s168的处理。

线程a当在步骤s172中判断为结束了针对所有区带的处理时,结束图7所示的操作。

以下对优先作业种类为打印作业的情况下如图8所示在复印作业执行过程中执行打印作业时的一例进行说明。

在图8中,时间t1是开始执行复印作业的时间。时间t2是开始执行打印作业的时间。时间t3是结束执行打印作业的时间。时间t4是结束执行复印作业的时间。

首先,从时间t1到时间t2,通过步骤s131的处理,如图9所示,仅执行复印作业。此时,由于线程a的cpu利用优先级为5(在步骤s161中为“否”),因此通过步骤s162~s164的处理,如图10所示,执行asic24~26的联合操作。

接着,从图8所示的时间t2到时间t3,首先,通过步骤s133的处理,如图11所示,执行打印作业。然后,由于存在优先作业种类的作业即打印作业和优先作业种类以外的种类的作业即复印作业这两者(在步骤s134中为“是”),因此如图12所示,将优先作业种类以外的种类的作业即复印作业的线程21a即线程a~c的cpu利用优先级变更为0(步骤s135)。此时,由于线程a的cpu利用优先级为0(在步骤s161中为“是”),因此通过步骤s165~s172的处理,如图13所示,解除asic24~26的联合操作并执行处理。

接着,从时间t3到时间t4,再次如图9所示,仅执行复印作业。此时,由于线程a的cpu利用优先级通过步骤s139的处理被恢复为5(在步骤s161中为“否”),因此通过步骤s162~s164的处理,如图10所示,执行asic24~26的联合操作。

如上所述,mfp10在利用asic24~26来执行处理的情况下,当cpu利用优先级超过0时(在步骤s161中为“否”),使asic24~26执行联合操作(步骤s162),指示asic24执行处理(步骤s163)并从asic26接收联合操作所执行的处理的结果(步骤s164),因此在指示asic24执行处理之后,能够高速地接收到asic24~26的联合操作所执行的高速处理的结果。

此外,mfp10在利用asic24~26来执行处理的情况下,当cpu利用优先级为0时(在步骤s161中为“是”),解除asic24~26的联合操作(步骤s165),指示asic24~26中的每一个asic执行处理(步骤s166、s168、s170)并从asic24~26中的每一个asic接收处理的结果(步骤s167、s169、s171),因此即使由于cpu利用优先级低而不能高速地接收到asic24~26所执行的处理的结果,也能够抑制asic24~26所执行的处理的结果在ram23中过度累积而发生ram23容量不足的错误。

因此,mfp10能够根据cpu利用优先级而适当地利用asic24~26来执行处理。

mfp10在利用asic24~26来执行处理的情况下,当cpu利用优先级为0时,指示asic25、26以图像中的区带为单位来执行处理(步骤s168、s170),因此能够抑制asic24~26所执行的处理的结果在ram23中过度累积而发生ram23容量不足的错误。如此,mfp10能够以与在cpu利用优先级超过特定优先级(在本例中为0)时指示多个硬件(在本例中为asic24~26)中的任意一个硬件执行处理的图像单位相比更小的单位(本例中为区带单位)来执行图像的处理。

mfp10在步骤s135中将cpu利用优先级变更为在可设定范围内最低的优先级即0。通过该结构,mfp10仅在指示asic24~26执行处理的速度或接收asic24~26所执行的处理的结果的速度为最低时,指示asic24~26中的每一个asic执行处理并从asic24~26中的每一个asic接收处理的结果,因此能够抑制处理的执行不必要地变为低速。

mfp10在优先作业种类的作业和优先作业种类以外的种类的作业同时执行时(在步骤s134中为“是”),将优先作业种类以外的种类的作业的cpu利用优先级降低(步骤a135),因此能够优先执行特定种类的作业。

mfp10在步骤s135中将cpu利用优先级降低到在可设定范围内最低的优先级即0。因此,mfp10将优先作业种类以外的种类的作业的执行速度设为最低,故而能够确实地优先执行优先作业种类的作业。

mfp10由于接受对优先执行的作业种类的指定(步骤s104),因此能够优先执行用户所期望的种类的作业。

mfp10在优先作业种类的作业和优先作业种类以外的种类的作业变为不同时执行时(在步骤s138中为“否”),将降低了cpu利用优先级的作业的cpu利用优先级恢复(步骤s139),因此能够抑制优先作业种类以外的种类的作业的执行结束时间不必要地延迟。

mfp10在本实施方式中包括多个cpu21以作为本发明的处理器。因此,mfp10能够增加可同时处理的线程21a的数量,因此能够作为mfp10整体而使处理的执行高速化。此外,mfp10也可以包括具备多个cpu内核的多核处理器以作为本发明的处理器,还可以仅包括一个cpu21以作为本发明的处理器。

本发明的电子设备在本实施方式中为mfp,但也可以是打印专用机、扫描专用机、复印专用机等除了mfp之外的图像形成装置,还可以是pc等除了图像形成装置之外的电子设备。

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