Electronic apparatus, image forming apparatus, and information processing program
By strategically allocating CPU cores for priority startup and post-startup operations, the solution addresses performance degradation issues in existing technologies, reducing startup time and improving overall device performance.
Patent Information
- Application Number
- JP2023092767
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-06-05
- Publication Date
- 2024-12-17
AI Technical Summary
Existing technologies prioritize startup processing of CPU cores, leading to reduced performance when using functions other than the initially prioritized ones, and programs that take long to start up do not necessarily match high CPU usage, resulting in overall device performance degradation.
Implementing multiple CPU cores and an execution core specifying mechanism that allocates specific cores for priority startup processing and switches to all cores for post-startup operations, ensuring efficient CPU utilization for frequently used functions.
This approach reduces startup time and enhances overall device performance by optimizing CPU allocation between startup and running processes, particularly benefiting functions that require significant CPU resources.
Smart Images

Figure 2024174759000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an electronic device, an image forming apparatus, and an information processing program. [Background technology]
[0002] Techniques for shortening the startup time and improving the processing performance of electronic devices such as image forming devices have been developed. Patent Document 1 discloses a technique for speeding up the startup of a function that is to be prioritized when starting up or returning from power saving mode by separately starting a CPU core that starts a program related to the function that is to be prioritized and a CPU core that starts a program for other functions. Summary of the Invention [Problem to be solved by the invention]
[0003] The technology described in Patent Document 1 discloses a configuration that shortens the startup time of a function that a user wants to use by changing the allocation of CPU cores at startup or when returning from power saving mode, but this is limited to startup processing and affects operations after initialization processing at startup. For example, if a user uses a function other than the one that was started with priority, performance degradation occurs when the function is used. In addition, for example, a program that takes a long time to start up is not necessarily a program that uses the CPU a lot when the function is used, so if only startup is prioritized, device performance will decrease.
[0004] The present invention has been made in consideration of the above, and aims to provide an electronic device, an image forming apparatus, and an information processing program that can achieve both a shortened startup time and improved performance of the entire device by changing the CPU allocation of each process between startup processing and running processing. [Means for solving the problem]
[0005] In order to solve the above-mentioned problems and achieve the objective, the present invention comprises a plurality of CPU cores and an execution core designation unit that designates the CPU cores that execute processes related to functions executed in an electronic device, wherein the execution core designation unit designates the CPU core that performs startup processing related to a first function that is given priority for startup processing at least one of when the electronic device is started up and when it is restarted, and the CPU core that performs startup processing related to a second function other than the first function, and after the startup processing of the first function and the second function is completed, designates all of the CPU cores as CPU cores that execute the processes. Effect of the Invention
[0006] According to the present invention, by changing the CPU allocation of each process between the startup process and the running process, it is possible to achieve both a reduction in startup time and an improvement in the performance of the entire device. [Brief description of the drawings]
[0007] [Figure 1] FIG. 1 is a diagram showing an example of a hardware configuration of an image forming apparatus to which an electronic device according to the present embodiment is applied. [Diagram 2] FIG. 2 is a diagram illustrating an example of a hardware configuration of a CPU included in the image forming apparatus according to the present embodiment. [Diagram 3] FIG. 3 is a diagram for explaining an example of a software configuration executed on the controller board of the image forming apparatus according to the present embodiment. [Figure 4] FIG. 4 is a diagram showing an example of a list of programs related to the functions of the image forming apparatus according to the present embodiment. [Diagram 5] FIG. 5 is a flowchart showing an example of a process flow for specifying a CPU core and starting a program in the image forming apparatus according to the present embodiment. [Figure 6] FIG. 6 is a diagram for explaining an example of a CPU core designation process in the image forming apparatus according to the present embodiment. [Figure 7]FIG. 7 is a diagram for explaining an example of a process for resetting the allocation of CPU cores after the start-up process in the image forming apparatus according to the present embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0008] Hereinafter, embodiments of an electronic device, an image forming apparatus, and an information processing program will be described in detail with reference to the accompanying drawings.
[0009] Fig. 1 is a diagram showing an example of the hardware configuration of an image forming apparatus to which an electronic device according to the present embodiment is applied. Fig. 2 is a diagram showing an example of the hardware configuration of a CPU included in the image forming apparatus according to the present embodiment. As shown in Fig. 1, the image forming apparatus 100 according to the present embodiment is an example of an electronic device having an image forming unit 111 and a controller board 101.
[0010] The controller board 101 includes a CPU (Central Processing Unit) 102, a ROM (Read Only Memory) 104, a RAM (Random Access Memory) 105, an image processing means 106, an FCU (Facsimile Control Unit) 107, an operation unit 108, an HDD (Hard Disk Drive) 109, a network control means 110, and the like.
[0011] The CPU 102 has a function of controlling the operation of the image forming apparatus 100 by executing an OS (Operating System) and a control program. As shown in Fig. 2, the CPU 102 is a multi-core CPU including a plurality of identical cores 102Ca, 102Cb, 102Cc, and 102Cd, an L1 cache 102L1a for the core 102Ca, an L1 cache 102L1b for the core 102Cb, an L1 cache 102L1c for the core 102Cc, an L1 cache 102L1d for the core 102Cd, an L2 cache 102L2a for the core 102Ca, an L2 cache 102L2b for the core 102Cb, an L2 cache 102L2c for the core 102Cc, an L2 cache 102L2d for the core 102Cd, and an L3 cache 102L3 common to the cores.
[0012] In this embodiment, the core 102Ca, the core 102Cb, the core 102Cc, and the core 102Cd are examples of a plurality of CPU cores. In the following description, when the core 102Ca, the core 102Cb, the core 102Cc, and the core 102Cd are not to be distinguished from each other, they will be referred to as CPU core C. In this embodiment, an example in which the CPU 102 has four CPU cores C has been shown, but this is not a limitation.
[0013] The RAM 105 is a volatile memory used as a working area for the CPU 102. The ROM 104 is a non-volatile memory in which programs executed by the CPU 102 are stored.
[0014] The operation unit 108 has a function of accepting input of operation information from a user and displaying information to the user. The HDD 109 is a large-capacity storage device that accumulates various data including image data, document data, various programs including the program according to the present embodiment that are operated on the image forming apparatus 100 such as a multifunction peripheral, font data, system information, user information, and the like.
[0015] The plotter 112 performs the function of printing out an image based on image data resulting from image processing from the controller board 101. The scanner 113 is an image reading device that scans an image recorded on a medium such as paper and transfers the image data to the controller board 101. The external device 114 performs the function of issuing print instructions and controlling the image forming device. The network control means 110 performs the function of controlling data communication with the external device 114 via a network.
[0016] Fig. 3 is a diagram for explaining an example of a software configuration executed on a controller board of the image forming apparatus according to the present embodiment. Fig. 4 is a diagram showing an example of a list of programs related to the functions of the image forming apparatus according to the present embodiment.
[0017] On the controller board 101, the BIOS or monitor program 200 starts up the OS 201. Furthermore, on the OS 201, a plurality of applications such as a copy application 202, a printer application 203, a scanner application 204, a FAX application 205, and a HDD erasure application 206 are executed in parallel. Furthermore, various daemon programs (daemon A 207, daemon B 208, daemon C 209) that provide services commonly used by these programs are executed in the background.
[0018] In this embodiment, a program (e.g., an OS: Operating System) that performs startup processing of each of the above programs has the following features (execution core designation means 210, priority function determination unit 211). Execution core designation means 210 has a function for determining which function is to be prioritized for startup processing at least when image forming apparatus 100 is started up or restarted, and a function for designating a CPU core that executes the program. In this embodiment, an example in which execution core designation means 210 and priority function determination unit 211 are applied to image forming apparatus 100 will be described, but the present invention can also be applied to electronic devices other than image forming apparatus 100, such as car navigation systems, PCs (Personal Computers), and mobile terminals, as long as the electronic devices have multiple CPU cores.
[0019] Specifically, the execution core designation means 210 is an example of an execution core designation unit that designates a CPU core that executes a process related to a function executed by the image forming apparatus 100. The execution core designation means 210 also designates a CPU core that performs startup processing related to a first function that is given priority for startup processing at least one of when the image forming apparatus 100 is started up and when it is restarted, and a CPU core that performs startup processing related to a second function other than the first function. The execution core designation means 210 is also an example of an execution core designation unit that designates all CPU cores as CPU cores that execute processes after the startup processing of the first function and the second function is completed.
[0020] This allows the processing of programs related to functions that should be prioritized when image forming device 100 is started or restarted to be executed on a specific CPU core, thereby shortening the startup time of the functions that should be prioritized, and by operating each function on all CPU cores after the functions are started, the processing performance of the entire image forming device 100, such as an MFP (Multi Function Peripheral), can be improved.
[0021] Furthermore, the execution core designation means 210 designates the use of each CPU core as either for a prioritized function or for other functions. The execution core designation means 210 then assigns the CPU core for the prioritized function to a CPU core that performs startup processing related to a first function, and assigns the CPU core for other functions to a CPU core that performs startup processing related to a second function. This allows many CPU cores to be assigned to programs related to functions that use a lot of CPU core performance, thereby improving processing performance.
[0022] For example, for functions that use the performance of the CPU cores, the use of cores 1 to 3 (cores 102Ca to 102Cc) is designated as the priority function, and the use of core 4 (core 102Cd) is designated as the other function. Also, for functions that do not require much performance of the CPU cores, the use of only core 1 (core 102Ca) is designated as the priority function, and the use of cores 2 to 4 (cores 102Cb to 102Cd) is designated as the other function.
[0023] In this embodiment, the execution core designation means 210 creates a table (list) as shown in FIG. 4 in non-volatile memory for the above functions (copy, printer, scanner, FAX, etc.) and stores the following information: Programs required to execute each function (e.g., copy application 202, printer application 203, scanner application 204, FAX application 205, HDD erasure application 206) Information on which function is to be launched with priority (for example, "Preferred" for the preferred function, or "Other" for other functions)
[0024] 4, since copy application 202 is required to use the copy function, copy application 202, daemon A 207, and daemon B 208 are designated as priority functions ("priority"), and other applications (for example, printer application 203, scanner application 204, fax application 205) are designated as other functions ("others"). Similarly, by designating in advance the programs that need to be prioritized for each function, and by having a specific CPU core process the programs required when using each function, processing performance can be improved.
[0025] The priority function determination unit 211 has a function of switching the designation of a CPU core for processing a program being executed. Specifically, the priority function determination unit 211 may set the designation of a CPU core for a program related to a function of the image forming apparatus 100, for the function startup process and for the function execution time after the function startup process. This allows a specific CPU core to be exclusively assigned to a program related to a function frequently used by the user or a program that requires a lot of CPU 102 performance after the function startup process, thereby improving the processing performance of the CPU 102.
[0026] Moreover, the priority function determination unit 211 is an example of a switching unit that switches between enabling and disabling the designation of a CPU core at least one of when the image forming apparatus 100 is started and restarted, and while the image forming apparatus 100 is in operation. Here, enabling the designation of a CPU core means that a program is executed by a specific CPU core, and disabling the designation of a CPU core means that a CPU core is not designated, that is, the OS dynamically determines the CPU core that executes the program depending on the availability of CPU cores. This allows switching to fix the CPU core only when the image forming apparatus 100 is started or restarted, and only while the image forming apparatus 100 is in operation, so that the function can be enabled only when necessary.
[0027] 5 is a flowchart showing an example of a process flow for designating a CPU core and starting a program in the image forming apparatus according to the present embodiment. As a preliminary step, a user of the image forming apparatus 100 may start the image forming apparatus 100 once, set a function (first function) to be given priority for start-up processing from the operation unit 108, and record the setting information in a non-volatile memory such as an NV-RAM. Alternatively, the execution core designation means 210 may automatically determine a function (first function) to be given priority for start-up processing based on the past usage of an electronic device such as the image forming apparatus 100.
[0028] When starting up the image forming apparatus 100 for the second or subsequent times, the execution core designation means 210 identifies a function (first function) to be given priority for startup based on the setting information saved in advance (step S501). Next, the execution core designation means 210 identifies a program related to the function to be prioritized for startup based on a correspondence table (list shown in FIG. 4) between each function and its associated program that has been created in advance in the device (image forming apparatus 100). Next, the execution core designation means 210 starts startup processing for each program (step S502).
[0029] First, when performing the start-up process of each program, the execution core designation means 210 judges whether each program is a program related to a function for which start-up process is prioritized (step S503). If each program is related to a function for which start-up process is prioritized (step S503: Yes), the execution core designation means 210 designates the core 102Ca (CPU core 0) as the CPU core for executing the program and performs the start-up process (step S504). On the other hand, if the program is not related to a function for which start-up process is prioritized (step S503: No), the execution core designation means 210 designates the core 102Cb (CPU core 1) as the CPU core for executing the program and performs the start-up process (step S505).
[0030] For example, when systemd (software that manages the startup process and services of Linux (registered trademark)) is used for startup processing, the execution core designation means 210 designates a CPU core to be executed by using the function CPUAffinity= in the setting file of the program that performs the startup process. When the copy function is given priority, the execution core designation means 210 designates CPUAffinity=1 in the setting files for systemd startup of the copy application, daemon A, and daemon B, and designates CPUAffinity=0 in the setting files of the other programs.
[0031] When the startup process is completed (step S506), the execution core designation means 210 cancels the designation of the CPU core that will execute the program and changes the settings so that the program can run on any CPU core in order to improve overall performance (step S507). The designation of the CPU core is cancelled by a system call of the OS. For example, in the case of the Linux (registered trademark) OS, the execution core designation means 210 cancels the designation of the CPU core by calling the sched_setaffinity() function. After the designation of the CPU core is cancelled, the CPU that will be used to execute the program can be selected or changed as needed by the OS scheduler.
[0032] This allows separate CPU cores to perform startup processing for programs related to functions that are given priority and programs related to other functions, so that the programs that are to be given priority are not hindered by the startup processing of other programs, and startup time delays due to insufficient processing performance of the CPU 102 can be prevented. For example, in the example shown in Fig. 4, the startup of the copy application 202 is specified to be performed by the core 102Cb, and all other program processing is specified to be performed by the core 102Ca, allowing the core 102Cb to be dedicated to processing the copy function.
[0033] Fig. 6 is a diagram for explaining an example of a CPU core designation process in the image forming apparatus according to the present embodiment. The example in Fig. 5 shows a case where there are two CPU cores, but in the case where there are four or more CPU cores, the execution core designation means 210 may create a correspondence table in advance that associates the use of each CPU core (for example, "for priority function", "for other functions") with the CPU core for that use, as shown in Fig. 6, and designate a CPU core that executes a program related to a function that performs a startup process according to the correspondence table. In this case, in the process of step S505 shown in Fig. 5, the execution core designation means 210 sets CPUFAffinity=012 in the setting file of the program that performs the startup process with priority, and sets CPUAffinity=3 in the setting file of the other programs.
[0034] As a result, for example, when the copy function is prioritized, the copy application 202, daemon A 207, and daemon B 208 are assigned to one of the cores 102Ca, 102Cb, and 102Cc by the scheduler of the OS 201, and other programs run only on the core 102Cd. Since many CPU cores are assigned to programs related to the copy function, the startup process speed of the copy function can be improved.
[0035] 7 is a diagram for explaining an example of a process of resetting the allocation of CPU cores after the start-up process in the image forming apparatus according to the present embodiment. In the process of canceling the designation of the CPU core shown in step S507 in FIG. 5, the priority function determination unit 211 performs a process of fixing the CPU core that executes the program during operation. That is, the priority function determination unit 211 sets the designation of the CPU core for the program related to the function of the image forming apparatus 100 to the start-up process of the image forming apparatus 100 (during start-up) and the function execution time after the start-up process of the image forming apparatus 100 (during operation). This can improve the processing performance of the function that the user frequently uses.
[0036] For example, in the example shown in Fig. 7, the priority function determination unit 211 gives priority to the printer function since it is a process that uses the CPU 102. Specifically, the priority function determination unit 211 performs settings to fix the printer application 203 and the daemon A 207 to the CPU core for the priority function in Fig. 6, and performs settings to fix other programs to the CPU core for other functions. The method of fixing a CPU core to a program may be the same as step S505 in Fig. 5, for example, by calling sched_setaffinity() in the case of the Linux (registered trademark) OS.
[0037] In this manner, according to the image forming apparatus 100 of the present embodiment, when the image forming apparatus 100 is started or restarted, the processing of a program related to a function that is to be given priority is executed by a specific CPU core, thereby shortening the startup time of the function that is to be given priority, and after the function is started, each function is operated by all CPU cores, thereby improving the processing performance of the entire image forming apparatus 100.
[0038] The program executed by image forming apparatus 100 of this embodiment is provided by being pre-installed in ROM 104 or the like. The program executed by image forming apparatus 100 of this embodiment may be provided by being recorded in a computer-readable recording medium such as a CD-ROM, a flexible disk (FD), a CD-R, or a digital versatile disk (DVD) in the form of an installable or executable file.
[0039] Furthermore, the program executed by image forming apparatus 100 of the present embodiment may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. Also, the program executed by image forming apparatus 100 of the present embodiment may be provided or distributed via a network such as the Internet.
[0040] The program executed by the image forming apparatus 100 of this embodiment has a modular structure including the above-mentioned units (execution core designation means 210, priority function determination unit 211), and in terms of actual hardware, an example of a processor such as the CPU 102 reads out the program from the ROM 104 and executes it, thereby loading the above-mentioned units onto the main memory device, and the execution core designation means 210 and priority function determination unit 211 are generated on the main memory device.
[0041] In the above embodiment, the image forming apparatus of the present invention is described as being applied to a multifunction peripheral having at least two of the functions of a copy function, a printer function, a scanner function, and a facsimile function. However, the image forming apparatus can be applied to any image forming apparatus such as a copier, a printer, a scanner device, or a facsimile device.
[0042] For example, aspects of the present invention are as follows. <1> Multiple CPU cores and an execution core designation unit that designates the CPU core that executes a process related to a function executed by an electronic device; Equipped with The execution core designation unit designates the CPU core that performs startup processing related to a first function that is given priority for startup processing at least one of when the electronic device is started up and when it is restarted, and the CPU core that performs startup processing related to a second function other than the first function, and after the startup processing of the first function and the second function is completed, designates all of the CPU cores as CPU cores that execute the process. <2> the execution core designation unit designates the use of each of the CPU cores as a priority function and other functions, and assigns the CPU core for the priority function to the CPU core performing the startup process related to the first function, and assigns the CPU core for the other functions to the CPU core performing the startup process related to the second function; <1> 2. The electronic device according to claim 1 . <3> the execution core designation unit designates the CPU core for a program related to the function during a start-up process of the function and during execution of the function after the start-up process of the function; <1> 2. The electronic device according to claim 1 . <4> The electronic device further includes a switching unit that switches between enabling and disabling the designation of the CPU core at least one of when the electronic device is started and when the electronic device is restarted and while the electronic device is in operation. <1> from <3> 13. The electronic device according to claim 12, <5> Multiple CPU cores and an execution core designation unit that designates the CPU core that executes a process related to a function executed by an electronic device; Equipped with The execution core designation unit designates the CPU core that performs startup processing related to a first function that is given priority when the electronic device is started up or restarted at least one of the times, and the CPU core that performs startup processing related to a second function other than the first function, and after the startup processing of the first function and the second function is completed, designates all of the CPU cores as CPU cores that execute the process. <6> Computer, an execution core designation unit that designates, among a plurality of CPU cores, a CPU core that executes a process related to a function executed by the electronic device; The information processing program, wherein the execution core designation unit designates the CPU core that performs startup processing related to a first function that is given priority for startup processing at least one of when the electronic device is started up and when it is restarted, and the CPU core that performs startup processing related to a second function other than the first function, and after the startup processing of the first function and the second function is completed, designates all of the CPU cores as CPU cores that execute the process. [Explanation of symbols]
[0043] 100 Image forming device 101 Controller Board 102 CPU 102Ca, 102Cb, 102Cc, 102Cd Core 104 ROM 105 RAM 106 Image Processing Means 107 FCU 108 Operation section 109 HDD 110 Network Control Means 111 Image forming means 112 Plotter 113 Scanner 201 OS 202 Copy App 203 Printer App 204 Scanner App 205 Fax App 206 HDD erasing app 207 Demon A 208 Demon B 209 Demon C 210 Execution core designation means 211 Priority function determination section [Prior art documents] [Patent documents]
[0044] [Patent Document 1] JP 2016-035644 A
Claims
1. A plurality of CPU cores; an execution core designation unit that designates the CPU core that executes a process related to a function executed by an electronic device; Equipped with The execution core designation unit designates the CPU core that performs startup processing related to a first function that is given priority when the electronic device is started up or restarted at least one of the times, and the CPU core that performs startup processing related to a second function other than the first function, and after the startup processing of the first function and the second function is completed, designates all of the CPU cores as CPU cores that execute the process.
2. 2. The electronic device of claim 1, wherein the execution core designation unit designates the use of each CPU core as a priority function and other functions, and assigns the CPU core for the priority function to the CPU core that performs startup processing related to the first function, and assigns the CPU core for the other functions to the CPU core that performs startup processing related to the second function.
3. 2 . The electronic device according to claim 1 , wherein the execution core designation unit designates the CPU core for a program related to the function during a startup process of the function and during execution of the function after the startup process of the function.
4. The electronic device according to claim 1 , further comprising a switching unit that switches between enabling and disabling the designation of the CPU core at least one of when the electronic device is started and when the electronic device is restarted and while the electronic device is in operation.
5. A plurality of CPU cores; an execution core designation unit that designates the CPU core that executes a process related to a function executed by an electronic device; Equipped with An image forming device, wherein the execution core designation unit designates the CPU core that performs startup processing related to a first function that is given priority for startup processing at least one of when the electronic device is started up and when it is restarted, and the CPU core that performs startup processing related to a second function other than the first function, and after the startup processing of the first function and the second function is completed, designates all of the CPU cores as CPU cores that execute the process.
6. Computer, an execution core designation unit that designates, among a plurality of CPU cores, a CPU core that executes a process related to a function executed by the electronic device; An information processing program, wherein the execution core designation unit designates the CPU core that performs startup processing related to a first function that is given priority for startup processing at least one of when the electronic device is started up and when it is restarted, and the CPU core that performs startup processing related to a second function other than the first function, and after the startup processing of the first function and the second function is completed, designates all of the CPU cores as CPU cores that execute the process.
Citation Information
Patent Citations
Electronic apparatus and information processing program
JP2016035644A
