WO2010097885A1 - 携帯端末 - Google Patents

携帯端末 Download PDF

Info

Publication number
WO2010097885A1
WO2010097885A1 PCT/JP2009/053253 JP2009053253W WO2010097885A1 WO 2010097885 A1 WO2010097885 A1 WO 2010097885A1 JP 2009053253 W JP2009053253 W JP 2009053253W WO 2010097885 A1 WO2010097885 A1 WO 2010097885A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
cpu
clock
clock level
usage rate
Prior art date
Application number
PCT/JP2009/053253
Other languages
English (en)
French (fr)
Inventor
健一 中村
Original Assignee
株式会社東芝
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 株式会社東芝 filed Critical 株式会社東芝
Priority to PCT/JP2009/053253 priority Critical patent/WO2010097885A1/ja
Publication of WO2010097885A1 publication Critical patent/WO2010097885A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0251Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
    • H04W52/0258Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity controlling an operation mode according to history or models of usage information, e.g. activity schedule or time of day
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0287Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level changing the clock frequency of a controller in the equipment
    • H04W52/029Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level changing the clock frequency of a controller in the equipment reducing the clock frequency of the controller
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Definitions

  • the present invention relates to an electronic device, and more particularly to an electronic device that suitably controls an operation clock of a CPU.
  • Electronic devices driven by built-in batteries such as mobile phones are widely used on the go or on the move.
  • electronic devices are equipped with a web browser function that allows users to browse websites designed for personal computers, playback functions such as video data and music data, and 1Seg broadcast viewing and recording functions. Is planned.
  • Such an electronic device is required to have a high-performance processor as its functionality increases.
  • the performance of the processor increases, the power consumption increases, and there is a problem that the driving time of the built-in battery is shortened.
  • Patent Document 1 Since the CPU operating frequency control technology disclosed in Patent Document 1 sets the operating frequency according to the usage rate of the CPU, it is preferable to reduce power consumption by suppressing an unnecessary increase in the operating frequency. I was able to.
  • the processing capability may not be sufficient at the set operating frequency, and the user feels poor responsiveness and poor operability of the entire electronic device. There was a problem of making it happen.
  • the present invention has been made in view of such circumstances, and is suitable for suppressing power consumption and operating conditions by suitably controlling the operation clock of the CPU in accordance with the contents of processing to be executed.
  • An object of the present invention is to provide an electronic device capable of realizing CPU processing.
  • An electronic apparatus includes a CPU, a usage rate acquisition unit that acquires the usage rate of the CPU, an application monitoring unit that monitors an application operating in the foreground based on the processing of the CPU, and a predetermined operation for operating the CPU.
  • the storage means for storing the clock level selected when a specific application operates in the foreground from among a plurality of clock levels to which the frequency is assigned, and is operating in the foreground monitored by the application monitoring means
  • a determination unit that determines whether or not the acquired application is the specific application in which the clock level is stored in the storage unit; and the CPU acquired by the usage rate acquisition unit Based on the usage rate of While the clock level is controlled stepwise, the clock level stored in the storage means is determined regardless of the usage rate of the CPU when the application acquired by the determination means is determined to be the specific application.
  • a control means for controlling for controlling.
  • the electronic apparatus can realize CPU processing suitable for the suppression of power consumption and the operation state by suitably controlling the operation clock of the CPU according to the content of the processing to be executed.
  • FIG. 1 It is a perspective view which shows the mobile telephone which shows embodiment of the electronic device which concerns on this invention. It is a figure which shows the internal structure of the mobile telephone in this embodiment. It is a schematic functional block diagram implement
  • (A) is a graph for explaining a transition example of the clock level when the operation application is changed from the browser application to the setting menu application
  • (B) is a diagram for explaining the transition of the running application.
  • (A) is a graph for explaining a transition example of a clock level when an operation application is sequentially changed from a setting menu application, an application operated due to a user event, and a browser application
  • (B) is an explanation of a transition of an active application. It is a figure to do.
  • FIG. 1 is a perspective view showing a mobile phone 1 showing an embodiment of an electronic apparatus according to the present invention.
  • the mobile phone 1 includes a rectangular plate-shaped casing 11 as shown in FIG.
  • One surface of the housing 11 includes a touch screen 12 that occupies most of the surface.
  • the touch screen 12 has a display (display 51 in FIG. 2) provided with an area for displaying a screen made up of characters, images, and the like, and an operation key having a touch sensor that receives an input by detecting a contact operation on the display. (Operation key 52 in FIG. 2) Both functions are provided.
  • the touch screen 12 is formed by, for example, arranging a plurality of elements for detecting contact of the display surface on the upper surface of a display made of, for example, an LCD (Liquid Crystal Display), and further laminating a transparent screen thereon. Yes.
  • a pressure-sensitive method for detecting a change in pressure an electrostatic method for detecting an electric signal due to static electricity, and other methods can be applied.
  • a speaker 13 for outputting sound and a microphone 14 for inputting sound are arranged on the upper and lower parts of the touch screen 12 in the figure.
  • a power button 15 is disposed on the side surface of the housing 11.
  • the power button 15 is pressed in the internal direction of the mobile phone 1 to switch the power ON / OFF state of the mobile phone 1. If the power button 15 is detected to be pressed for less than a certain time while the power is on, the touch screen 12 is switched to the sleep state in which the display on the touch screen 12 is turned off, and the power button 15 is detected to be pressed for a certain time or more. Then, the power may be turned off.
  • the side surface of the mobile phone 1 is provided with a memory card slot 16 and an external connection terminal 17.
  • the memory card slot 16 is a slot into which a memory card (not shown) can be attached and detached.
  • the memory card to be attached to and detached from the memory card slot 16 is a type of flash memory card represented by a NAND flash memory card, a NOR flash memory card, and the like, and various types of images, sounds, music, and the like via a 10-pin terminal. Data can be written and read.
  • the external connection terminal 17 is connected to various external devices such as a charging cable used when charging the battery (battery 43 in FIG. 2), a USB cable used when connecting the personal computer or the like to the mobile phone 1. Terminal.
  • FIG. 2 is a diagram showing an internal configuration of the mobile phone 1 in the present embodiment.
  • a radio signal transmitted from a base station (not shown) is received by an antenna 31 and then input to a receiving circuit (RX) 33 via an antenna duplexer (DUP) 32.
  • the receiving circuit 33 mixes the received radio signal with the local oscillation signal output from the frequency synthesizer (SYN) 34 and converts the frequency into an intermediate frequency signal (down-conversion). Then, the reception circuit 33 orthogonally demodulates the down-converted intermediate frequency signal and outputs a reception baseband signal.
  • the frequency of the local oscillation signal generated from the frequency synthesizer 34 is instructed by a control signal SYC output from the control unit 41.
  • the received baseband signal from the receiving circuit 33 is input to the CDMA signal processing unit 36.
  • the CDMA signal processing unit 36 includes a RAKE receiver (not shown).
  • a RAKE receiver a plurality of paths included in the received baseband signal are subjected to despreading processing using respective spreading codes (that is, the same spreading code as the spread code of the spread received signal).
  • the signals of the paths subjected to the despreading process are subjected to coherent Rake synthesis after the phase is adjusted.
  • the data sequence after Rake combining is subjected to deinterleaving and channel decoding (error correction decoding), and then binary data determination is performed. Thereby, received packet data of a predetermined transmission format is obtained.
  • the received packet data is input to the compression / decompression processing unit 37.
  • the compression / decompression processing unit 37 is configured by a DSP (Digital Signal Processor) or the like, and the received packet data output from the CDMA signal processing unit 36 is separated for each medium by a demultiplexing unit (not shown), and for each separated medium Each is decrypted. For example, in the call mode, audio data corresponding to call voice included in the received packet data is decoded by a speech codec. If the received packet data includes moving image data, the moving image data is decoded by a video codec. Further, if the received packet data is a download content, the download content is decompressed, and then the decompressed download content is output to the control unit 41.
  • DSP Digital Signal Processor
  • the digital audio signal obtained by the decoding process is supplied to the PCM codec 38.
  • the PCM codec 38 PCM-decodes the digital audio signal output from the compression / decompression processing unit 37 and outputs the analog audio data signal after PCM decoding to the reception amplifier 39.
  • the analog audio signal is amplified by the reception amplifier 39 and then output from the speaker 13.
  • the digital moving image signal decoded by the video codec by the compression / decompression processing unit 37 is input to the control unit 41.
  • the control unit 41 displays a moving image based on the digital moving image signal output from the compression / decompression processing unit 37 on the display 51 via a video RAM (for example, a VRAM) (not shown).
  • a video RAM for example, a VRAM
  • the compression / decompression processing unit 37 supplies the electronic mail to the control unit 41.
  • the control unit 41 stores the electronic mail supplied from the compression / decompression processing unit 37 in the storage unit 42. Then, the control unit 41 reads out the electronic mail stored in the storage unit 42 in accordance with the operation of the operation key 52 by the user, and causes the display 51 to display the read electronic mail.
  • the voice signal (analog audio signal) of the speaker (user) input to the microphone 14 is amplified to an appropriate level by the transmission amplifier 40 and then PCM encoded by the PCM codec 38.
  • the PCM encoded digital audio signal is input to the compression / decompression processing unit 37.
  • an e-mail that is text data created by the control unit 41 is also input to the compression / decompression processing unit 37.
  • the compression / decompression processing unit 37 compresses and encodes the digital audio signal output from the PCM codec 38 in a format corresponding to a predetermined transmission data rate. Thereby, audio data is generated.
  • the compression / expansion processing unit 37 compresses and encodes the digital moving image signal output from the control unit 41 to generate moving image data. Then, the compression / decompression processing unit 37 multiplexes these audio data and moving image data by a demultiplexing unit (not shown) according to a predetermined transmission format, and then packetizes the data, and transmits the packetized transmission packet data to the CDMA signal processing unit. To 36.
  • the compression / decompression processing unit 37 also multiplexes the e-mail into transmission packet data even when the e-mail is output from the control unit 41.
  • the CDMA signal processing unit 36 performs spread spectrum processing on the transmission packet data output from the compression / decompression processing unit 37 using the spread code assigned to the transmission channel, and transmits the output signal after the spread spectrum processing to the transmission circuit (TX) 35.
  • the transmission circuit 35 modulates the signal after the spread spectrum processing using a digital modulation method such as a QPSK (Quadrature Phase Shift Keying) method.
  • the transmission circuit 35 combines the digitally modulated transmission signal with a local oscillation signal generated from the frequency synthesizer 34 and frequency-converts (up-converts) the signal into a radio signal. Then, the transmission circuit 35 amplifies the radio signal generated by this up-conversion with high frequency so that the transmission power level instructed by the control unit 41 is obtained.
  • the radio signal amplified by the high frequency is supplied to the antenna 31 via the antenna duplexer 32 and transmitted from the antenna 31 to a base station (not shown).
  • the power supply circuit 44 generates a predetermined operating power supply voltage Vcc based on the output of the battery 43 and supplies it to each circuit unit.
  • the clock supply circuit 45 generates an operation clock (signal) having a predetermined frequency and supplies it to each circuit of the mobile phone 1.
  • the control unit 41 includes a CPU (central processing unit) 46, a ROM (Read Only Memory) 47, and a RAM (Random Access Memory) 48.
  • the CPU 46 is stored in the ROM 47 from the program or storage unit 42 to the RAM 48.
  • Various processes are executed in accordance with the loaded various application programs, and various control signals are generated and supplied to the respective units, whereby the cellular phone 1 is comprehensively controlled.
  • the CPU 46 is provided with an operation clock control circuit 49 that controls an operation clock for operating the CPU 46.
  • the operation clock control circuit 49 controls the operation clock supplied from the clock supply circuit 45, generates an operation clock having a predetermined frequency, and supplies it to the CPU 46.
  • the operation clock control circuit 49 can control between a plurality of stages (clock levels) to which a predetermined frequency is assigned.
  • the operation clock control circuit 49 controls the clock level based on the clock level set by a CPU clock control unit (CPU clock control unit 65 in FIG. 3) described later.
  • the RAM 48 appropriately stores data necessary for the CPU 46 to execute various processes.
  • the control unit 41 also includes a video RAM 50 and temporarily stores information related to the video displayed on the display 51.
  • the storage unit 42 includes, for example, a flash memory element that is an electrically rewritable and erasable nonvolatile memory, an HDD (Hard Disc Drive), and the like, and various application programs executed by the CPU of the control unit 41 and various types The data group is stored.
  • a flash memory element that is an electrically rewritable and erasable nonvolatile memory
  • an HDD Hard Disc Drive
  • FIG. 3 is a schematic functional block diagram realized by the control unit 41 of the mobile phone 1 in the present embodiment.
  • the task management unit 61 manages tasks (processes) to be executed by the CPU 46.
  • the task management unit 61 always manages a sleep task, which is a special task having the lowest execution priority, as an execution waiting state.
  • the state in which the sleep task is executed indicates that the CPU 46 is in a sleep state in which no other task is being executed or is waiting to be executed.
  • the state in which the sleep task is executed in the CPU 46 is referred to as “the CPU is in a sleep state”.
  • a state in which a task other than the sleep task is being executed in the CPU 46 is referred to as “the CPU is busy”.
  • Tasks other than the sleep task managed by the task management unit 61 are broadly classified into processes caused by user event-induced processes and processes caused by non-user events.
  • the user event processing is performed when the memory card is inserted into or removed from the memory card slot 16 or when an external device such as a USB cable is inserted into or removed from the external connection terminal 17. This corresponds to a process executed by the user, which occurs in the case of an error.
  • the user event is a process that is loaded from the outside of the mobile phone 1 and can be regarded as a process that can be considered to have occurred due to an operation that the user intentionally performed on the mobile phone 1. It is not restricted to the process mentioned above.
  • Non-user event-induced processes include all incoming events other than user events, such as voice / videophone incoming call processing, email reception processing from an email server, and alarm notification processing associated with the arrival of a preset alarm notification time. This process is applicable.
  • the task management unit 61 has a so-called multitask function for executing a plurality of (multi) processes (tasks) while switching.
  • the task management unit 61 when an application running in the foreground (operational application) among the active applications is changed, notifies the operation application change notification that the operation application has been changed. To do.
  • an application that operates in the foreground is an application that operates for that application when a key is received, and the display screen of the application in the foreground is displayed on the entire screen. It is not limited to, and may occupy almost the majority of screen displays).
  • the user event detection unit 63 detects a user event performed on the mobile phone 1 by the user.
  • the user event detection unit 63 notifies the task management unit 61 when a user event is detected.
  • the task management unit 61 manages a task based on processing that has occurred in accordance with a user event, and notifies the CPU usage rate acquisition unit 64 that a user event has occurred.
  • the operation application monitoring unit 62 monitors applications operating in the foreground based on the processing of the CPU 46.
  • the operation application monitoring unit 62 confirms information related to the changed operation application with respect to the task management unit 61.
  • the operation application monitoring unit 62 notifies the CPU clock control unit 65 of information related to the acquired operation application.
  • the CPU usage rate acquisition unit 64 acquires the usage rate of the CPU 46 and supplies it to the CPU clock control unit 65.
  • the CPU usage rate acquisition unit 64 refers to, for example, a task currently being executed from the task management unit 61 and acquires whether the CPU 46 is in a sleep state or a busy state as an operation state. Note that the CPU usage rate acquisition unit 64 acquires the operation state every predetermined time (for example, every 5 msec).
  • the CPU usage rate acquisition unit 64 holds a predetermined acquired operation state for a predetermined number of times (for example, 128 times) as an operation state history in time series.
  • the CPU usage rate acquisition unit 64 appropriately updates the operation state history so as to delete the oldest operation state when the latest operation state is acquired. Then, the CPU usage rate acquisition unit 64 acquires the usage rate of the CPU 46 from the ratio of the operation state indicating the busy state in the operation state history currently held.
  • the operating state history held by the CPU usage rate acquisition unit 64 repeats acquisition of the latest operating state and deletion of the oldest operating state history with time transition. For this reason, the usage rate of the CPU 46 also changes stepwise (continuously) with time.
  • the CPU usage rate acquisition unit 64 records the operation state history regardless of the usage rate of the CPU 46 based on information related to the operation application received from the operation application monitoring unit 62 when processing due to a user event occurs. Control.
  • the CPU usage rate acquisition unit 64 acquires an application operating in the foreground monitored by the operation application monitoring unit 62, and the acquired application is a specific application whose clock level is stored in the required operation clock table. It functions as a determination means for determining whether or not.
  • the CPU clock control unit 65 Based on the usage rate of the CPU 46 acquired by the CPU usage rate acquisition unit 64, the CPU clock control unit 65 sets one clock level from among a plurality of clock levels to which a predetermined frequency for operating the CPU 46 is assigned. It is like that.
  • the CPU clock control unit 65 controls the operation clock control circuit 49 to supply the CPU 46 with an operation clock corresponding to the set clock level.
  • the necessary operation clock table 66 stores a clock level selected when a specific application operates in the foreground.
  • the necessary operation clock table 66 is stored in a storage area of the storage unit 42, for example.
  • the required operation clock table 66 stores a clock level selected when a browser application (browser application) as a specific application and a setting menu application (setting menu application) operate.
  • the “browser application” is an application for browsing a web page.
  • the “setting menu application” is an application for performing settings related to the function of the mobile phone 1. For example, the volume of sound output from the speaker 13 of the mobile phone 1 is set, or the sound output when a voice call is received. It is an application that selects data.
  • the clock level of the browser application stored in the necessary operation clock table 66 in the present embodiment is a high clock (HIGH Clock).
  • the clock level of the setting menu application is a low clock (LOW Clock).
  • the high clock is the first clock level, and is the clock level to which, for example, the highest frequency is assigned among the clock levels set by the CPU clock controller 65.
  • the low clock is a second clock level to which a frequency lower than the first clock level is assigned.
  • the low clock is one lower than the clock level to which the lowest frequency is assigned. This is the next clock level.
  • the clock level control process is normally performed based on the usage rate of the CPU 46.
  • processing for controlling the clock level to a predetermined level is performed regardless of the usage rate of the CPU 46.
  • “normal time” means other than when a user event occurs and when a specific application is not operating in the foreground.
  • FIG. 4 is a flowchart for explaining an example of the clock level control process based on the usage rate of the CPU 46, which is executed by the mobile phone 1 in the present embodiment.
  • This clock level control process is a process that is performed every predetermined time (for example, every 5 msec), and is a process that is repeatedly executed during the operation of the mobile phone 1 (for example, when the power is turned on).
  • step S1 the CPU usage rate acquisition unit 64 acquires the type of task currently being executed from the task management unit 61. That is, information regarding whether the task currently being executed by the CPU 46 is a sleep task or a task other than the sleep task is acquired.
  • step S2 the CPU usage rate acquisition unit 64 determines whether the task currently being executed by the CPU 46 is a sleep task. If the CPU usage rate acquisition unit 64 determines that the currently executing task is a sleep task, the CPU usage rate acquisition unit 64 adds the sleep state to the latest operation state history in step S3. On the other hand, if the CPU usage rate acquisition unit 64 determines that the task currently being executed is a task other than the sleep task, the CPU usage rate acquisition unit 64 adds a busy state to the latest operation state history in step S4.
  • step S5 the CPU usage rate acquisition unit 64 adds the latest operation state to the operation state history in operation state addition step S3 and step S4, and deletes the oldest operation state.
  • step S6 the CPU usage rate acquisition unit 64 refers to the operation state history currently held and acquires the usage rate of the CPU 46.
  • the usage rate of the CPU 46 is obtained as a ratio of the busy state in the operation state history.
  • the CPU usage rate acquisition unit 64 supplies the acquired usage rate to the CPU clock control unit 65.
  • step S7 the CPU clock controller 65 sets a clock level to which a predetermined frequency is assigned based on the obtained usage rate of the CPU 46.
  • the CPU clock control unit 65 controls the operation clock control circuit 49 to supply the CPU 46 with an operation clock corresponding to the set clock level. This is the end of the description of the clock level control process at the normal time.
  • the CPU clock controller 65 increases or decreases the clock level when, for example, the usage rate changes from a predetermined value to another predetermined value. For this reason, the clock level set by the CPU clock controller 65 is also changed (or maintained) stepwise (continuously).
  • FIG. 5 is a diagram conceptually illustrating an example in which the clock level transitions by the clock level control process in the normal time executed by the CPU clock control unit 65.
  • FIG. 6 is a graph showing a clock level transition state by a clock level control process in a normal state. 5 and 6, five clock levels are provided, and each interval between times t1 to t17 has a predetermined interval (for example, 5 msec).
  • ⁇ in FIG. 5 indicates a case where the operation state of the CPU 46 acquired by the CPU usage rate acquisition unit 64 is a sleep state, and ⁇ indicates a case where it is a busy state.
  • the operation state history shows an example in which one operation state is acquired / updated every predetermined time by the CPU usage rate acquisition unit 64 during the time t1 to t17.
  • the operation state history is assumed to be a new operation state history from left to right, and here, for convenience of explanation, an example in the case of storing the history for the past eight times will be applied.
  • the CPU 46 is executing the sleep task, and all past operation states stored are the sleep state. Further, in the clock level transition example of FIG. 5, processing other than the processing associated with the user event and the processing related to the specific application occurs at time ta (t1 ⁇ ta ⁇ t2), and the execution of tasks other than the sleep task is started. Shall. Furthermore, at time tb (t9 ⁇ tb ⁇ t10), the execution of a series of tasks started at time ta is ended.
  • transition of the clock level according to the usage rate shown in FIG. 5 and FIG. 6 is an example, and the timing for raising and lowering the clock level is not limited to this.
  • the CPU usage rate acquisition unit 64 acquires the usage rate of the CPU 46 at time t1, that is, the busy state ratio in the entire operation status history as 0/8.
  • the CPU clock controller 65 sets the clock level at this time to 1 as shown in FIG.
  • the CPU usage rate acquisition unit 64 acquires the usage rate of the CPU 46 at time t2 as 1/8.
  • the CPU clock controller 65 sets the clock level from 1 to 2 because the usage rate has changed from 0/8 to 1/8 (FIG. 6).
  • the CPU usage rate acquisition unit 64 acquires the usage rate of the CPU 46 at time t3 as 2/8.
  • the CPU clock control unit 65 maintains the clock level at this time at 2 (FIG. 6).
  • the CPU usage rate acquisition unit 64 acquires the usage rate of the CPU 46 at time t4 as 3/8.
  • the CPU clock controller 65 sets the clock level at this time from 2 to 3 (FIG. 6).
  • the busy state is sequentially added to the operation state history, and at time t9, the entire operation state history is busy (FIG. 5). Thereafter, the CPU usage rate acquisition unit 64 acquires the usage rate of the CPU 46 at time t9 as 8/8. Further, the CPU clock control unit 65 sequentially increases the clock level from time t5 to time t8, and at time t8, the clock level is set to clock level 5, which is the clock level to which the highest frequency is assigned (FIG. 6). ).
  • the CPU 46 starts executing the sleep task. Accordingly, at time t10, the sleep state is added to the operation state history (FIG. 5). At this time, the CPU usage rate acquisition unit 64 acquires the usage rate of the CPU 46 at time t10 as 7/8. Further, the CPU clock control unit 65 maintains the state of 5 without changing the clock level (FIG. 6).
  • the clock level is set according to the transition of the usage rate, and stepwise control of the operating frequency of the CPU 46 is executed. Since the clock level transition after time t11 is substantially symmetric with the clock level transition at time t1 to t9, detailed description thereof is omitted.
  • FIG. 7 is a flowchart for explaining an example of a clock level control process when a user event occurs, which is executed by the CPU clock control unit 65 of the mobile phone 1 in the present embodiment.
  • the clock level control process when this user event occurs is a process that is always executed in the same way as the normal clock level control process in FIG. Further, although not particularly described in the clock level control process when a user event occurs, it is assumed that the clock level control process based on the usage rate of the CPU 46 at the normal time described with reference to FIG. 4 is always executed.
  • step S11 the CPU usage rate acquisition unit 64 determines whether or not processing due to the user event has occurred.
  • the user event detection unit 63 receives a notification that the user event has been detected via the task management unit 61
  • the CPU usage rate acquisition unit 64 determines that processing due to the user event has occurred.
  • the processing caused by the user event is performed when the operation key 52 receives an input in a specific situation, when a memory card is inserted into or removed from the memory card slot 16, and various external devices such as a USB cable are connected to the external connection terminal 17. This is a process that occurs when the card is inserted or removed.
  • Non-user event-induced processing includes all processing that occurs other than the operation intended by the user, such as voice / videophone incoming call processing, e-mail reception processing, alarm notification processing associated with arrival of a preset alarm notification time, etc. Applicable.
  • the process waits until a process caused by a user event occurs. During this period, the clock level control process based on the usage rate of the CPU 46 in the normal state of FIG. 4 is repeatedly executed every predetermined time.
  • step S12 the CPU usage rate acquisition unit 64 performs a process of rewriting the entire operation state history for a predetermined number of times currently held to a busy state.
  • step S ⁇ b> 13 the CPU usage rate acquisition unit 64 acquires the usage rate based on the operation state history and supplies the usage rate to the CPU clock control unit 65. As for the usage rate acquired by the CPU usage rate acquisition unit 64, since the entire operation state history is busy, the maximum usage rate is acquired and supplied to the CPU clock control unit 65.
  • step S14 the CPU clock controller 65 sets the clock level to which the highest frequency is assigned based on the usage rate of the CPU 46, which is the acquired maximum value.
  • the CPU clock control unit 65 controls the operation clock control circuit 49 to supply the CPU 46 with an operation clock corresponding to the set clock level. This is the end of the description of the clock level control process when a user event occurs.
  • the clock level control process in the normal state of FIG. 4 is executed every predetermined time, and the usage rate corresponding to the operating state of the CPU 46 is acquired.
  • the CPU clock controller 65 sets and controls the clock level based on this usage rate.
  • the CPU clock control unit 65 instantaneously raises the clock level to which the highest frequency is assigned regardless of the operation state history based on the usage rate of the CPU 46. Since the cellular phone 1 can operate at a high clock level regardless of the usage rate of the CPU 46, it can exhibit sufficient processing capability for processing associated with a user event.
  • control is performed so that the usage rate becomes the maximum value with the occurrence of the user event.
  • the usage rate is not limited to this, and the usage rate is lower than the maximum value (for example, the usage rate value). It may be controlled so as to be a relatively high value within the range.
  • the clock level set by the CPU clock controller 65 is also lower than the clock level to which the highest frequency is assigned (for example, one or more lower than the maximum clock level). Will be set.
  • FIG. 8 is a diagram for conceptually explaining an example in which the clock level transitions due to the clock level control process at the time of occurrence of the user event executed by the CPU clock control unit 65.
  • FIG. 9 is a graph showing a clock level transition state by clock level control processing when a user event occurs. Since the outline of FIG. 8 and FIG. 9 is almost the same as that of FIG. 5 and FIG. 6, detailed description is omitted.
  • the CPU usage rate acquisition unit 64 acquires the usage rate of the CPU 46 at time t21, that is, the number of busy states in the entire operation status history as 0/8.
  • the CPU clock controller 65 sets the clock level at this time to 1 as shown in FIG.
  • the CPU usage rate acquisition unit 64 performed a process of rewriting the current operation state history for 8 times to be in a busy state (Ste S12). At this time, the CPU usage rate acquisition unit 64 acquires 8/8 of the usage rate of the CPU 46 and notifies the CPU clock control unit 65 of it. The CPU clock control unit 65 sets the clock level at this time to 5 as shown in FIG.
  • the normal clock level control process in FIG. 4 is executed every predetermined time (for example, every 5 msec), and the usage rate corresponding to the operating state of the CPU 46 is acquired. .
  • the CPU clock control unit 65 controls the clock level based on this usage rate.
  • the CPU 46 starts executing the sleep task. Accordingly, at time t22, a sleep state is added to the operation state history (FIG. 8). At this time, the usage rate of the CPU 46 at time t22 was acquired as 7/8 by the CPU usage rate acquisition unit 64. Further, the CPU clock control unit 65 maintains the state of 5 without changing the clock level (FIG. 9).
  • This clock level control process for changing the clock level in stages is a voice / videophone incoming process, which is a process caused by a non-user event, an e-mail receiving process from an e-mail server, and a preset alarm notification time. For processing that does not require responsiveness or high processing capability, such as alarm notification processing that accompanies arrival, it is effective in that power saving can be realized.
  • a user event for example, key operation input
  • a low clock level for example, clock level 1 in FIG. 6
  • the processing capacity of the CPU 46 is reduced
  • the clock level is normally increased stepwise.
  • a certain time is required until a high clock level with high processing capability (for example, clock level 5 in FIG. 6) is set. For this reason, it will cause the user to feel poor responsiveness and operability.
  • the clock level control process when a user event occurs, when a user event occurs, it can be immediately raised to a high clock level. That is, for a process caused by a user event that requires responsiveness, the clock level is set to the clock level (clock level 5) to which the highest frequency is assigned at the start of the process (time tc in FIG. 8). It is possible to provide sufficient responsiveness to processing caused by a user event.
  • the clock level control process described with reference to FIG. 7 can execute the process caused by the user event at a high clock level, so that the time required for the process can be shortened.
  • FIG. 10 is a flowchart for explaining an example of the clock level control process during the specific application operation, which is executed by the CPU clock control unit 65 of the mobile phone 1 in the present embodiment.
  • the clock level control process during the operation of the specific application is a process that is always executed, like the clock level control process in the normal state of FIG.
  • step S21 the operation application monitoring unit 62 determines whether or not an application (operation application) operating in the foreground has been changed.
  • the operation application monitoring unit 62 determines whether or not an operation application change notification has been received from the task management unit 61. If the operation application monitoring unit 62 determines that the operation application has not been changed, the operation application monitoring unit 62 waits for processing until the operation application is changed.
  • the operation application monitoring unit 62 checks with the task management unit 61 what application the operation application is in step S22. Further, the operation application monitoring unit 62 acquires an application in operation and notifies the CPU usage rate acquisition unit 64 of the application.
  • step S23 the CPU usage rate acquisition unit 64 determines whether the notified operation application is a specific application whose clock level is stored in the necessary operation clock table 66.
  • the specific application in this embodiment corresponds to a browser application and a setting menu application.
  • step S24 the CPU usage rate acquisition unit 64 determines that the operation application is not a specific application, in step S24, the CPU usage rate acquisition unit 64 does not particularly perform the process associated with the change of the operation application, and the clock level control process in the normal state of FIG. Based on the above, the clock level is set. That is, the clock level is controlled stepwise based on the usage rate of the CPU 46 acquired by the CPU usage rate acquisition unit 64. Alternatively, the clock level is set based on the clock level control process when the user event of FIG. 7 occurs.
  • the CPU usage rate acquisition unit 64 determines that the application is a specific application, in step S25, the CPU usage rate acquisition unit 64 refers to the necessary operation clock table 66 and stores the operation state history so that the clock level corresponding to the operation application is set.
  • Rewrite change usage rate
  • the CPU usage rate acquisition unit 64 rewrites the operation state history (changes the usage rate) so that a high clock is set based on the required operation clock table 66.
  • the CPU usage rate acquisition unit 64 rewrites the operation state history (changes the usage rate) so that a low clock is set based on the required operation clock table 66. Details of the process of rewriting the operation state history according to the application will be described later.
  • the CPU usage rate acquisition unit 64 determines that the operation application is a browser application or a setting menu app, a clock level control process based on the usage rate of the CPU 46 in a normal state of FIG. 4 and a user event occurrence of FIG.
  • the clock level control process at the time becomes invalid, and the clock level control process during the specific application operation is preferentially executed.
  • step S26 the CPU usage rate acquisition unit 64 acquires the usage rate based on the operation state history and supplies it to the CPU clock control unit 65.
  • the usage rate acquired by the CPU usage rate acquisition unit 64 has its operating state history rewritten so as to correspond to the clock level stored in the required operating clock table 66. Obtained and supplied to the CPU clock controller 65. That is, the clock level stored in the clock table is controlled regardless of the usage rate of the CPU 46.
  • step S27 the CPU clock controller 65 sets a clock level to which a predetermined frequency is assigned based on the obtained usage rate of the CPU 46.
  • the CPU clock control unit 65 controls the operation clock control circuit 49 to supply the CPU 46 with an operation clock corresponding to the set clock level.
  • the clock level set in the level setting step S27 is, for example, determined that the application has been changed in the application change determination step S21 of the clock level control process restarted, and whether or not the application is the specific application in the application determination step S23. This is maintained until a determination is made.
  • the maintenance method (1) it is determined that the application has been changed in the application change determination step S21 of the clock level control process restarted, and in the application determination step S23, it is determined whether or not the application is a specific application. Until it is done, the operation state history in step S25 may be continuously rewritten (the process in step S25 is continued), or (2) the application is determined in the application change determination step S21 of the clock level control process that is started again.
  • the control of the clock level of the CPU clock controller 65 is not based on the usage rate of the CPU 46, but in the level setting step S27.
  • Set Kkureberu may be performed by a method for controlling to maintain. This is the end of the description of the clock level control process during the specific application operation.
  • FIG. 11 is a diagram conceptually illustrating an example in which the clock level transitions due to the clock level control process during the specific application (browser application) operation executed by the CPU clock control unit 65.
  • FIG. 12 is a graph showing the transition state of the clock level by the clock level control process during the operation of the specific application (browser application).
  • the outline of FIGS. 11 and 12 is substantially the same as that of FIGS. 5 and 6, and thus detailed description thereof is omitted.
  • the clock level transition timing based on the usage rate of the CPU 46 is the same as the timing described in FIGS. 5 and 6.
  • the CPU usage rate acquisition unit 64 acquires the usage rate of the CPU 46 at times t41 and t42, that is, the number of busy states in the entire operation status history, as 0/8, respectively.
  • the CPU clock control unit 65 sets the clock level at times t41 and t42 to 1, as shown in FIG.
  • the browser application whose clock level is stored in the necessary operation clock table 66 is an operation application (YES in step S23 in FIG. 10).
  • the CPU usage rate acquisition unit 64 rewrites all the operation state histories for eight times currently held to a busy state so that a high clock (clock level 5 in FIGS. 11 and 12) is set based on the required operation clock table 66. Processing was performed (step S25).
  • the CPU usage rate acquisition unit 64 acquires 8/8 of the usage rate of the CPU 46 and notifies the CPU clock control unit 65 of it.
  • the CPU clock control unit 65 sets the clock level at this time to 5 as shown in FIG.
  • the high clock (clock level 5) set at time te is changed from the browser application to another application, and the changed operation application Until it is determined whether or not is a specific application, that is, until step S23 in FIG. 10 (until time tf + ⁇ ( ⁇ is the time required from step S21 YES to step S23)).
  • the illustration in FIG. 12 is an example in which the clock level control based on the usage rate acquired from the CPU usage rate acquisition unit 64 is resumed for the first time at the time t47 after the browser application operation ends, but is not limited thereto.
  • the clock level control based on the usage rate acquired from the CPU usage rate acquisition unit 64 at the time point when NO is determined in step S23 (before time t47) may be resumed.
  • the clock level control process based on the usage rate of the CPU 46 in the normal state of FIG. 4 and the clock level control process at the time of occurrence of the user event in FIG.
  • the clock level control process in is preferentially executed.
  • the operation application is changed from the browser application (the browser application is terminated), and the task to be executed (task other than the sleep task) does not exist, so the CPU 46 starts executing the sleep task. Accordingly, at time t47, a sleep state is added to the operation state history (FIG. 11). At this time, the usage rate of the CPU 46 at time t47 was acquired as 7/8 by the CPU usage rate acquisition unit 64. Further, the CPU clock control unit 65 maintains the state of 5 without changing the clock level (FIG. 12).
  • the CPU 46 emphasizes improvement of responsiveness and processing capability by instantaneously raising the clock to a high clock rate. Processing using the clock level can be executed. This is the end of the description of the clock level control processing during the operation of the specific application (browser application).
  • FIG. 13 is a diagram conceptually illustrating an example in which the clock level transitions due to the clock level control process during the operation of the specific application (setting menu application) executed by the CPU clock control unit 65.
  • FIG. 14 is a graph showing a clock level transition state by clock level control processing during operation of a specific application (setting menu application). The outline of FIGS. 13 and 14 is substantially the same as that of FIGS. 5 and 6, and thus detailed description thereof is omitted. 13 and 14, the clock level transition timing based on the usage rate of the CPU 46 is the same as the timing described in FIGS. 5 and 6.
  • the CPU 46 operates based on the normal clock level control process executed by the CPU clock control unit 65 described with reference to FIGS. It shall be. Further, in the clock level transition example of FIG. 13, the setting menu application becomes an application (operation application) that operates in the foreground at time tg (t52 ⁇ tg ⁇ t53), and execution of tasks other than the sleep task is started. To do. Furthermore, at time th (t56 ⁇ th ⁇ t57), the operation of the setting menu application started at time tg is finished, and the execution of the task related to the setting menu application is finished.
  • the operation is based on the normal clock level control process described in FIG. In the example of FIG. 13, since the usage rate of the CPU 46 is acquired as 7/8 at time t51, the clock level is set to 5. At time t52, the usage rate of the CPU 46 decreased to 6/8, so the clock level was set to 4.
  • the setting menu application whose clock level is stored in the necessary operation clock table 66 is an operation application (YES in step S23 in FIG. 10).
  • the CPU usage rate acquisition unit 64 sets only two old histories among the operation state histories currently held so that a low clock (clock level 2 in FIGS. 13 and 14) is set based on the necessary operation clock table 66. Is rewritten to the busy state, and other history is rewritten to the sleep state (step S25).
  • the CPU usage rate acquisition unit 64 acquires 2/8 of the usage rate of the CPU 46 and notifies the CPU clock control unit 65 of it.
  • the CPU clock control unit 65 sets the clock level at this time to 2 as shown in FIG.
  • the operation state history to be rewritten at this time is not limited to the two old histories, but other histories (for example, two new histories) may be rewritten to the busy state, and the other six histories may be rewritten to the sleep state.
  • the low clock (clock level 2) set at time tg changes the operation application from the setting menu application to another application, and the operation after the change It is maintained until it is determined whether or not the application is a specific application, that is, until step S23 in FIG. 10 (until time tg + ⁇ ).
  • 14 shows an example in which the clock level control based on the usage rate acquired from the CPU usage rate acquisition unit 64 is resumed for the first time after the setting menu application operation ends at time t57, but is not limited thereto. Instead, the clock level control based on the usage rate acquired from the CPU usage rate acquisition unit 64 at the time point when NO is determined in step S23 (before time t57) may be resumed.
  • the clock level control process based on the usage rate of the CPU 46 in the normal state of FIG. 4 and the clock level control process at the time of occurrence of the user event in FIG.
  • the clock level control process in is preferentially executed.
  • the operation application is changed from the setting menu application (the setting menu application is terminated), and there is no task to execute (a task other than the sleep task), so the CPU 46 starts executing the sleep task. Accordingly, at time t57, a sleep state is added to the operation state history (FIG. 13). At this time, the CPU usage rate acquisition unit 64 acquires the usage rate of the CPU 46 at time t57 as 1/8. Further, the CPU clock control unit 65 maintains the state 2 without changing the clock level (FIG. 13).
  • FIG. 15 is another schematic functional block diagram realized by the control unit 41 of the mobile phone 1 in the present embodiment. 15 that are different from those in FIG. 3 are denoted by reference numerals different from those in FIG.
  • the functional block diagram of FIG. 15 is different from the functional block diagram of FIG. 3 in that the operational application is directly notified from the operational application monitoring unit 62a to the CPU clock control unit 65a.
  • Other configurations are substantially the same as those in the functional block diagram of FIG. 3, and thus detailed description thereof is omitted.
  • FIG. 16 is a flowchart for explaining another example of the clock level control process during the specific application operation, which is executed by the CPU clock control unit 65a of the mobile phone 1 in the present embodiment.
  • the clock level control process during the operation of the specific application is a process that is always executed, like the clock level control process in the normal state of FIG.
  • Step S31 is substantially the same as step S21 of the clock level control process during the specific application operation of FIG.
  • the operation application monitoring unit 62a determines that the operating application has been changed in the change determination step S31, the operation application monitoring unit 62a checks with the task management unit 61 in step S32 what application the operation application is. In addition, the operation application monitoring unit 62a acquires an operating application and notifies the CPU clock control unit 65a.
  • step S33 the CPU clock controller 65a determines whether or not the notified operation application is a specific application whose clock level is stored in the necessary operation clock table 66.
  • the CPU clock control unit 65a determines that the operation application is not a specific application, in step S34, the CPU clock control unit 65a does not particularly perform the process associated with the change of the operation application, and the normal clock level control process in FIG. Based on this, the clock level is set by the CPU usage rate acquisition unit 64a. That is, the clock level is controlled stepwise based on the usage rate of the CPU 46 acquired by the CPU usage rate acquisition unit 64a. Alternatively, the clock level is set based on the clock level control process when the user event of FIG. 7 occurs.
  • the CPU clock controller 65a determines that the application is a specific application, in step S35, the CPU clock controller 65a refers to the required operation clock table 66 and reads the clock level corresponding to the operation application. For example, when the operation application is a browser application, the CPU clock control unit 65a reads a high clock set when the browser application is operating from the necessary operation clock table 66. In addition, when the operation application is a setting menu application, the CPU clock control unit 65a reads a low clock set during operation of the setting menu application from the necessary operation clock table 66.
  • the CPU clock control unit 65a determines that the operation application is a browser application or a setting menu application, the clock level control process based on the usage rate of the CPU 46 in the normal state of FIG. 4 and the user event generation of FIG. The clock level control process at the time becomes invalid, and the clock level control process during the specific application operation is preferentially executed.
  • step S36 the CPU clock controller 65a sets the operation clock level read according to the operation application.
  • the CPU clock control unit 65a controls the operation clock control circuit 49 to supply the CPU 46 with an operation clock corresponding to the set clock level.
  • the CPU usage rate acquisition unit 64a acquires the type of task currently being executed from the task management unit 61 even while the clock level control process based on the usage rate of the CPU 46 in the normal state of FIG. 4 is disabled. In addition, it is desirable to update the operating state history of the CPU every predetermined time. This is because when the operation application is changed from a specific application to an application other than the specific application, it is possible to immediately shift to the control of the clock level according to the operation state history.
  • the clock level set in the level setting step S36 is similar to the clock level control process during the specific application operation of FIG. 10, for example, that the application is changed in the application change determination step S31 of the clock level control process restarted. It is determined and maintained until it is determined whether or not it is a specific application in the application determination step S33. This is the end of the description of another example of the clock level control process during the specific application operation.
  • FIG. 17 is a diagram conceptually illustrating an example in which the clock level transitions due to the clock level control process during the browser application operation executed by the CPU clock control unit 65a.
  • FIG. 18 is a graph showing a clock level transition state by clock level control processing during operation of a specific application (browser application). The outline of FIG. 17 and FIG. 18 is substantially the same as FIG. 5 and FIG. In FIG. 17 and FIG. 18, the clock level transition timing based on the usage rate of the CPU 46 is the same as the timing described in FIG. 5 and FIG.
  • an application other than the specific application is an operation application, and the CPU 46 is executing a sleep task. Therefore, a sleep state is newly added to the operation state history as shown in FIG. At this time, the oldest operating state history (not shown) is deleted.
  • the CPU usage rate acquisition unit 64a acquires the usage rate of the CPU 46 at times t61 and t62, that is, the number of busy states in the entire operation status history, as 0/8, respectively. As shown in FIG. 18, the CPU clock controller 65a sets the clock level at times t61 and t62 to 1.
  • the browser application whose clock level is stored in the necessary operation clock table 66 becomes an operation application (YES in step S33 in FIG. 16).
  • the CPU clock controller 65a sets a high clock (clock level 5 in FIGS. 17 and 18) based on the necessary operation clock table 66 (steps S35 and S36).
  • the high clock (clock level 5) set at time ti is changed from the browser application to another application, and the changed operation application 16 is maintained until it is determined whether or not it is a specific application, that is, until step S33 in FIG. 16 (until time tj + ⁇ ( ⁇ is the time required from step S31 YES to step S33)).
  • 18 shows an example in which the clock level control based on the usage rate acquired from the CPU usage rate acquisition unit 64a is resumed only at time t67 after the browser application operation ends.
  • the clock level control based on the usage rate acquired from the CPU usage rate acquisition unit 64a at the time point when NO is determined in step S33 (before time t67) may be resumed.
  • the clock level control process based on the usage rate of the CPU 46 in the normal state of FIG. 4 and the clock level control process at the time of occurrence of the user event in FIG.
  • the clock level control process in is preferentially executed.
  • the CPU usage rate acquisition unit 64a acquires the usage rate based on the operating state of the CPU 46 at predetermined time intervals even while the high clock is maintained.
  • the CPU usage rate acquisition unit 64a added a busy state to the operation state history because the CPU 46 was performing a process (task) related to the browser application.
  • the CPU usage rate acquisition unit 64a added the sleep state to the operation state history because the CPU 46 was executing the sleep task. Even when the browser application is an operation application, the sleep task is executed when there is no task to be executed by the CPU 46, such as when the input by the user is not accepted.
  • the numbers shown in the clock level column of FIG. 17 indicate the clock levels actually controlled by the CPU clock controller 65a.
  • the numbers shown in parentheses indicate clock levels that are not actually used based on the usage rate acquired by the CPU usage rate acquisition unit 64a.
  • the operation application was changed from the browser application to an application other than the specific application. Further, from time t67 to time t70, the CPU 46 starts executing the sleep task. Accordingly, the sleep state is added to the operation state history at times t67 to t70 (FIG. 17).
  • the CPU usage rate acquisition unit 64a acquires the usage rate as 2/8 based on the operating state history of the CPU 46 acquired while the browser application was an operating application (time ti to time j). did. Further, the CPU clock controller 65a sets the clock level from 5 to 2 based on the usage rate acquired from the CPU usage rate acquisition unit 64a (FIG. 18).
  • clock level control processing from time t67 to time t70 is substantially the same as the clock level transition described with reference to FIGS. 5 and 6, detailed description thereof is omitted. This is the end of the description of the clock level control processing during the operation of the specific application (browser application).
  • FIG. 19 is a diagram conceptually illustrating an example in which the clock level transitions by the clock level control process during the setting menu application operation executed by the CPU clock control unit 65a.
  • FIG. 20 is a graph showing a transition state of the clock level by the clock level control process during the operation of the setting menu application.
  • the outline of FIGS. 19 and 20 is substantially the same as that of FIGS. 5 and 6, and thus detailed description thereof is omitted. In addition, detailed description of the same description as in FIGS. 17 and 18 is omitted.
  • the CPU 46 is operating based on the clock level control processing in the normal time executed by the CPU clock control unit 65 described in FIGS. And
  • the setting menu application becomes an application (operation application) that operates in the foreground at time tk (t72 ⁇ tk ⁇ t73). Further, at time tl (t76 ⁇ tl ⁇ t77), the setting menu application started at time tk is terminated, and the operation application becomes an application other than the specific application (or no operation application).
  • the operation is based on the normal clock level control process described in FIG. In the example of FIG. 19, since the usage rate of the CPU 46 is acquired as 7/8 at time t71, the clock level is set to 5. At time t72, the usage rate of the CPU 46 decreased to 6/8, so the clock level was set to 4.
  • the setting menu application whose clock level is stored in the necessary operation clock table 66 becomes an operation application (YES in step S33 in FIG. 16).
  • the CPU clock controller 65a sets a low clock (clock level 2 in FIGS. 19 and 20) based on the necessary operation clock table 66 (steps S35 and S36).
  • the low clock (clock level 2) set at time tk is changed from the setting menu application to another application and the changed application It is maintained until it is determined whether or not the operation application is a specific application, that is, until step S33 in FIG. 16 (until time tj + ⁇ ).
  • the illustration in FIG. 20 is an example in which the clock level control based on the usage rate acquired from the CPU usage rate acquisition unit 64a is resumed for the first time at time t77 after the setting menu application operation ends, but this is not limitative. Instead, the clock level control based on the usage rate acquired from the CPU usage rate acquisition unit 64a at the time when NO is determined in step S33 (before t77) may be resumed.
  • the CPU usage rate acquisition unit 64a added a busy state to the operation state history because the CPU 46 was performing a process (task) related to the browser application.
  • the operation application was changed from the setting menu application to an application other than the specific application at time tl.
  • the CPU usage rate acquisition unit 64a sets the usage rate to 6/8 based on the operating state history of the CPU 46 acquired while the setting menu application was an operation application (time tk to time l). I got it.
  • the CPU clock controller 65a sets the clock level from 2 to 4 based on the usage rate acquired from the CPU usage rate acquisition unit 64a (FIG. 20).
  • the sleep state or the busy state is appropriately added to the operation state history according to the operation state of the CPU 46.
  • the clock level control process from time t77 to time t80 is substantially the same as the clock level transition described with reference to FIG. 5 and FIG. This is the end of the description of the clock level control process during the operation of the specific application (setting menu application).
  • the CPU usage rate acquisition unit 64a determines the usage rate every predetermined time. Get to get. For this reason, in addition to the effect produced by the processing of FIG. 10, it is effective in that the clock level can be immediately controlled to reflect the actual operation state performed by the CPU 46 even after the specific application is terminated.
  • FIG. 21A is a graph for explaining a clock level transition example when the operation application is changed from the browser application to the setting menu application.
  • FIG. 21B is a diagram for explaining the transition of a running application.
  • the browser application which is a specific application, has become an application (operation application) that operates in the foreground. Therefore, the clock level is controlled to a high clock (clock level 5) based on the necessary operation clock table 66.
  • the operation application that operates in the foreground is changed from the browser application to the setting menu application that is a specific application. Therefore, the clock level is controlled to a low clock (clock level 2) based on the necessary operation clock table 66.
  • the browser application is still running, but the operating application, that is, the application that operates in the foreground is changed to the setting menu application, so the clock level is also controlled to a low clock corresponding to the setting menu application. .
  • the clock level is controlled according to the normal clock level control process of FIG. 4 after time tC.
  • FIG. 22A is a graph for explaining an example of clock level transition when the operation application is sequentially changed from the setting menu application, the application operated due to the user event, and the browser application.
  • FIG. 22B is a diagram for explaining the transition of a running application.
  • the setting menu application which is a specific application, becomes an application (operation application) that operates in the foreground, and therefore the clock level is controlled to a low clock (clock level 2) based on the necessary operation clock table 66. .
  • the operation application is changed from the setting menu application to an application (user event application) other than the specific application that is operated due to the user event. For this reason, the clock level is raised to the clock level (clock level 5) to which the highest frequency is assigned based on the clock level control process at the time of occurrence of the user event in FIG.
  • the clock level is controlled based on the usage rate of the CPU 46 in accordance with the normal clock level control process of FIG. In the example of FIG. 22A, the usage rate of the CPU 46 has decreased, so that the clock level has decreased stepwise.
  • the operation application is changed from the user event application to the browser application that is a specific application. Therefore, the clock level is controlled to a high clock (clock level 5) based on the necessary operation clock table 66.
  • the clock level is controlled according to the normal clock level control process of FIG. 4 after time tG.
  • the clock level control process at the time of occurrence of the user event in FIG. 7 is also invalid.
  • the setting menu application is an operation application and a low clock is set, even if a user event occurs, the clock level is not increased and the low clock is maintained with the intention of reducing power consumption. Is done.
  • the browser application is an operation application and a high clock is set, even if the usage rate of the CPU 46 decreases, the high clock is maintained with an emphasis on increasing the processing speed. Further, since the browser application is operated with a high clock in order to improve responsiveness to processing input by the user, the browser application is not operated with a high clock when operating in the background.
  • the operation clock of the CPU 46 can be controlled in accordance with the application being operated. For this reason, the operation clock of the CPU 46 can be controlled in consideration of the required processing amount according to the application in operation.
  • the CPU 46 is operated at a high clock so that the processing speed is high without giving the user a feeling of insufficient processing speed. Can be executed. Further, since the entire processing time can be shortened by operating the CPU 46 with a high clock, it is also effective in that the power consumption can be reduced.
  • the CPU 46 can be operated at a low clock to suitably save power. Can be planned.
  • the cellular phone 1 in the present embodiment can suitably realize both improvement in operability and reduction in power consumption.
  • the browser application and the setting menu application are applied to the specific application.
  • the present invention is not limited to this, and other applications may be applied.
  • a music playback application or a one-segment viewing application may be applied to an application that operates at a high clock.
  • CPU 46 usage rate acquisition method and the clock level transition timing based on the usage rate described in the present embodiment are merely examples, and are not limited thereto.
  • the clock level stored in the necessary operation clock table 66 and set when the specific application becomes the operation application is an example, and is not limited to this.
  • a medium clock level may be provided, or the high clock level may be set to one lower level or two lower levels than the clock level to which the highest frequency is assigned. .
  • the responsiveness and operability of the CPU 46 and the reduction in power consumption are realized by suitably controlling the operation clock (clock level) of the CPU 46.
  • the operating voltage may be suitably controlled.
  • the present invention can be applied to a PDA (Personal Digital Assistant), a personal computer, a portable game machine, a portable music player, a portable video player, and other electronic devices in addition to the cellular phone.
  • PDA Personal Digital Assistant

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)

Abstract

 消費電力の抑制と動作状況に適したCPU処理を実現することができる電子機器を提供する。CPUの使用率を取得する使用率取得手段64と、フォアグラウンドで動作中のアプリケーションを監視するアプリケーション監視手段62と、特定のアプリケーションがフォアグラウンドで動作する際に選択されるクロックレベルを記憶した記憶手段66と、フォアグラウンドで動作中のアプリケーションを取得し、取得したアプリケーションが特定のアプリケーションであるか否かを判定する判定手段64と、使用率取得手段64により取得されたCPUの使用率に基づきクロックレベルを段階的に制御する一方、判定手段64により取得したアプリケーションが特定のアプリケーションであると判定された場合、CPU46の使用率に係わらず記憶手段66に記憶されたクロックレベルに制御する制御手段64とを備えた。

Description

携帯端末
 本発明は、電子機器に係り、特にCPUの動作クロックを好適に制御する電子機器に関する。
 携帯電話機を代表とする内蔵バッテリで駆動される電子機器は、外出先や移動中において広く使用されている。近年においては、電子機器には、パーソナルコンピュータ向けに設計されたウェブサイトを閲覧できるWebブラウザ機能、動画データや音楽データなどの再生機能、ワンセグ放送の視聴・録画機能などが備えられ、高機能化が図られている。
 このような電子機器は、高機能化に伴ってプロセッサの高性能化が必須となっている。しかし、プロセッサの高性能化に伴い、消費電力は大きくなるため、内蔵バッテリの駆動時間が短くなるという課題があった。
 そこで、CPUの動作周波数および電源電圧を簡易に制御して省電力効果を得ることができる電子機器が知られている(例えば、特許文献1参照。)。
特開2008-77563号公報
 特許文献1などに開示されたCPUの動作周波数制御技術は、CPUの使用率に応じて動作周波数を設定するため、動作周波数の不要な上昇を抑制することにより消費電力の低減を好適に図ることができた。
 しかし、CPUにおいて実行される処理の内容によっては、設定された動作周波数では処理能力が不十分である場合があり、ユーザに対しては応答性の悪さ、電子機器全体の操作性の悪さを感じさせるという課題があった。
発明の開示
 本発明はこのような事情を考慮してなされたもので、実行される処理の内容に応じてCPUの動作クロックを好適に制御することにより、消費電力の抑制と動作状況に適したCPU処理を実現することができる電子機器を提供することを目的とする。
 本発明に係る電子機器はCPUと、前記CPUの使用率を取得する使用率取得手段と、前記CPUの処理に基づきフォアグラウンドで動作中のアプリケーションを監視するアプリケーション監視手段と、前記CPUを動作させる所定の周波数が割り当てられた複数のクロックレベルの中から、特定のアプリケーションがフォアグラウンドで動作する際に選択される前記クロックレベルを記憶した記憶手段と、前記アプリケーション監視手段により監視されているフォアグラウンドで動作中のアプリケーションを取得し、取得した前記アプリケーションが、前記記憶手段に前記クロックレベルが記憶された前記特定のアプリケーションであるか否かを判定する判定手段と、前記使用率取得手段により取得された前記CPUの使用率に基づき、前記クロックレベルを段階的に制御する一方、前記判定手段により取得した前記アプリケーションが前記特定のアプリケーションであると判定された場合、前記CPUの使用率に係わらず前記記憶手段に記憶された前記クロックレベルに制御する制御手段とを備えたことを特徴とする。
 本発明に係る電子機器は、実行される処理の内容に応じてCPUの動作クロックを好適に制御することにより、消費電力の抑制と動作状況に適したCPU処理を実現することができる。
本発明に係る電子機器の実施形態を示す携帯電話機を示す斜視図である。 本実施形態における携帯電話機の内部の構成を示す図である。 本実施形態における携帯電話機の制御部により実現される概略的な機能ブロック図である。 本実施形態における携帯電話機により実行される、CPUの使用率に基づくクロックレベル制御処理の一例を説明するフローチャートである。 CPUクロック制御部により実行される通常時におけるクロックレベル制御処理により、クロックレベルが遷移する例を概念的に説明する図である。 通常時におけるクロックレベル制御処理によるクロックレベルの遷移状態を示すグラフである。 本実施形態における携帯電話機のCPUクロック制御部により実行される、ユーザイベント発生時におけるクロックレベル制御処理の一例を説明するフローチャートである。 CPUクロック制御部により実行されるユーザイベント発生時におけるクロックレベル制御処理により、クロックレベルが遷移する例を概念的に説明する図である。 ユーザイベント発生時におけるクロックレベル制御処理によるクロックレベルの遷移状態を示すグラフである。 本実施形態における携帯電話機のCPUクロック制御部により実行される、特定アプリケーション動作中におけるクロックレベル制御処理の一例を説明するフローチャートである。 CPUクロック制御部により実行される特定アプリケーション(ブラウザアプリ)動作中におけるクロックレベル制御処理により、クロックレベルが遷移する例を概念的に説明する図である。 特定アプリケーション(ブラウザアプリ)動作中におけるクロックレベル制御処理によるクロックレベルの遷移状態を示すグラフである。 CPUクロック制御部により実行される特定アプリケーション(設定メニューアプリ)動作中におけるクロックレベル制御処理により、クロックレベルが遷移する例を概念的に説明する図である。 特定アプリケーション(設定メニューアプリ)動作中におけるクロックレベル制御処理によるクロックレベルの遷移状態を示すグラフである。 本実施形態における携帯電話機の制御部により実現される概略的な他の機能ブロック図である。 本実施形態における携帯電話機のCPUクロック制御部により実行される特定アプリケーション動作中におけるクロックレベル制御処理の他の例を説明するフローチャートである。 CPUクロック制御部により実行されるブラウザアプリ動作中におけるクロックレベル制御処理により、クロックレベルが遷移する例を概念的に説明する図である。 ブラウザアプリ動作中におけるクロックレベル制御処理によるクロックレベルの遷移状態を示すグラフである。 CPUクロック制御部により実行される設定メニューアプリ動作中におけるクロックレベル制御処理により、クロックレベルが遷移する例を概念的に説明する図である。 設定メニューアプリ動作中におけるクロックレベル制御処理によるクロックレベルの遷移状態を示すグラフである。 (A)は動作アプリケーションがブラウザアプリから設定メニューアプリに変更された場合のクロックレベルの遷移例を説明するグラフ、(B)は起動中のアプリケーションの遷移を説明する図である。 (A)は動作アプリケーションが設定メニューアプリ、ユーザイベント起因で動作したアプリケーションおよびブラウザアプリと順次変更された場合のクロックレベルの遷移例を説明するグラフ、(B)は起動中のアプリケーションの遷移を説明する図である。
 本発明に係る電子機器の実施形態を添付図面に基づいて説明する。本発明に係る電子機器として、カード型に形成され、ユーザがディスプレイを指で触れることで操作することができる携帯電話機1を例に挙げて説明する。図1は、本発明に係る電子機器の実施形態を示す携帯電話機1を示す斜視図である。
 携帯電話機1は、図1に示すように、矩形の板状の筐体11を備えている。筐体11の一方の表面には、表面の大部分を占めるタッチスクリーン12を備える。
 タッチスクリーン12は、文字や画像などからなる画面を表示する領域が設けられたディスプレイ(図2のディスプレイ51)と、このディスプレイの接触操作を検知することにより入力を受け付けるタッチセンサを備えた操作キー(図2の操作キー52)との双方の機能を備える。タッチスクリーン12は、例えばLCD(Liquid Crystal Display)からなるディスプレイの上面に、ディスプレイ表面の接触を検知するための素子が複数配置され、さらにその上に透明なスクリーンが積層されることにより形成されている。また、タッチスクリーン12上での接触を検知する方法は、圧力の変化を感知する感圧式、静電気による電気信号を感知する静電式、その他の方法を適用することができる。
 タッチスクリーン12の図示上部および下部には音声を出力するためのスピーカ13と、音声を入力するためのマイクロフォン14とが配置される。
 筐体11の側面には、電源ボタン15が配置される。電源ボタン15は、携帯電話機1の内部方向に押下されることにより、携帯電話機1の電源のON/OFF状態を切り替える。なお、電源がONの状態で、電源ボタン15を一定時間未満の押下を検出すると、タッチスクリーン12の表示を消すスリープの状態に移行するようにして、電源ボタン15を一定時間以上の押下を検出すると、電源OFFに移行するようにしてもよい。
 また、携帯電話機1の側面には、メモリカードスロット16および外部接続端子17を備える。メモリカードスロット16は、メモリカード(図示せず)を着脱することが可能なスロットである。メモリカードスロット16に着脱されるメモリカードは、NAND型フラッシュメモリカードやNOR型フラッシュメモリカードなどに代表されるフラッシュメモリカードの一種であり、10ピン端子を介して画像や音声、音楽などの各種データの書き込みおよび読み出しが可能となっている。
 外部接続端子17は、バッテリ(図2のバッテリ43)の充電を行う際に用いられる充電ケーブル、パーソナルコンピュータなどと携帯電話機1とを接続させる際に用いられるUSBケーブルなどの各種外部機器と接続される端子である。
 図2は、本実施形態における携帯電話機1の内部の構成を示す図である。図示せぬ基地局から送信されてきた無線信号は、アンテナ31で受信された後、アンテナ共用器(DUP)32を介して受信回路(RX)33に入力される。受信回路33は、受信された無線信号を周波数シンセサイザ(SYN)34から出力された局部発振信号とミキシングして中間周波数信号に周波数変換(ダウンコンバート)する。そして、受信回路33は、このダウンコンバートされた中間周波数信号を直交復調して受信ベースバンド信号を出力する。なお、周波数シンセサイザ34から発生される局部発振信号の周波数は、制御部41から出力される制御信号SYCによって指示される。
 受信回路33からの受信ベースバンド信号は、CDMA信号処理部36に入力される。CDMA信号処理部36は、図示せぬRAKE受信機を備える。このRAKE受信機では、受信ベースバンド信号に含まれる複数のパスがそれぞれの拡散符号(すなわち、拡散された受信信号の拡散符号と同一の拡散符号)で逆拡散処理される。そして、この逆拡散処理された各パスの信号は、位相が調停された後、コヒーレントRake合成される。Rake合成後のデータ系列は、デインタリーブおよびチャネル復号(誤り訂正復号)が行われた後、2値のデータ判定が行われる。これにより、所定の伝送フォーマットの受信パケットデータが得られる。この受信パケットデータは、圧縮/伸張処理部37に入力される。
 圧縮/伸張処理部37は、DSP(Digital Signal Processor)などにより構成され、CDMA信号処理部36から出力された受信パケットデータを図示せぬ多重分離部によりメディアごとに分離し、分離されたメディアごとに対してそれぞれ復号処理を行う。例えば通話モードにおいては、受信パケットデータに含まれる通話音声などに対応するオーディオデータをスピーチコーデックにより復号する。また、受信パケットデータに動画像データが含まれていれば、この動画像データをビデオコーデックにより復号する。さらに、受信パケットデータがダウンロードコンテンツであれば、このダウンロードコンテンツを伸張した後、伸張されたダウンロードコンテンツを制御部41に出力する。
 復号処理により得られたディジタルオーディオ信号はPCMコーデック38に供給される。PCMコーデック38は、圧縮/伸張処理部37から出力されたディジタルオーディオ信号をPCM復号し、PCM復号後のアナログオーディオデータ信号を受話増幅器39に出力する。このアナログオーディオ信号は、受話増幅器39にて増幅された後、スピーカ13により出力される。
 圧縮/伸張処理部37によりビデオコーデックにて復号されたディジタル動画像信号は、制御部41に入力される。制御部41は、圧縮/伸張処理部37から出力されたディジタル動画像信号に基づく動画像を、図示せぬビデオRAM(例えばVRAMなど)を介してディスプレイ51に表示させる。
 また、圧縮/伸張処理部37は、受信パケットデータが電子メールである場合、この電子メールを制御部41に供給する。制御部41は、圧縮/伸張処理部37から供給された電子メールを記憶部42に記憶させる。そして、制御部41は、ユーザによる操作キー52の操作に応じて、記憶部42に記憶されているこの電子メールを読み出し、読み出された電子メールをディスプレイ51に表示させる。
 一方、通話モードにおいて、マイクロフォン14に入力された話者(ユーザ)の音声信号(アナログオーディオ信号)は、送話増幅器40により適正レベルまで増幅された後、PCMコーデック38によりPCM符号化される。このPCM符号化後のディジタルオーディオ信号は、圧縮/伸張処理部37に入力される。さらに、制御部41にて作成されたテキストデータである電子メールも、圧縮/伸張処理部37に入力される。
 圧縮/伸張処理部37は、PCMコーデック38から出力されたディジタルオーディオ信号を所定の送信データレートに応じたフォーマットで圧縮符号化する。これにより、オーディオデータが生成される。また、圧縮/伸張処理部37は、制御部41から出力されたディジタル動画像信号を圧縮符号化して動画像データを生成する。そして、圧縮/伸張処理部37は、これらのオーディオデータや動画像データを図示せぬ多重分離部で所定の伝送フォーマットに従って多重化した後にパケット化し、パケット化後の送信パケットデータをCDMA信号処理部36に出力する。なお、圧縮/伸張処理部37は、制御部41から電子メールが出力された場合にも、この電子メールを送信パケットデータに多重化する。
 CDMA信号処理部36は、圧縮/伸張処理部37から出力された送信パケットデータに対し、送信チャネルに割り当てられた拡散符号を用いてスペクトラム拡散処理を施し、スペクトラム拡散処理後の出力信号を送信回路(TX)35に出力する。送信回路35は、スペクトラム拡散処理後の信号をQPSK(Quadrature Phase Shift Keying)方式などのディジタル変調方式を使用して変調する。送信回路35は、ディジタル変調後の送信信号を、周波数シンセサイザ34から発生される局部発振信号と合成して無線信号に周波数変換(アップコンバート)する。そして、送信回路35は、制御部41により指示される送信電力レベルとなるように、このアップコンバートにより生成された無線信号を高周波増幅する。この高周波増幅された無線信号は、アンテナ共用器32を介してアンテナ31に供給され、このアンテナ31から図示せぬ基地局に向けて送信される。
 電源回路44は、バッテリ43の出力を元に所定の動作電源電圧Vccを生成して各回路部に供給する。クロック供給回路45は、所定周波数を持った動作クロック(信号)を生成し、携帯電話機1の各回路に供給する。
 制御部41は、CPU(central Processing Unit)46、ROM(Read Only Memory)47、およびRAM(Random Access Memory)48などからなり、CPU46は、ROM47に記憶されているプログラムまたは記憶部42からRAM48にロードされた各種のアプリケーションプログラムに従って各種の処理を実行するとともに、種々の制御信号を生成し、各部に供給することにより携帯電話機1を統括的に制御する。
 CPU46には、CPU46を動作させる動作クロックを制御する動作クロック制御回路49が設けられる。動作クロック制御回路49は、クロック供給回路45より供給される動作クロックを制御し、所定の周波数を持った動作クロックを生成してCPU46内に供給する。動作クロック制御回路49は、所定の周波数が割り当てられた複数の段階(クロックレベル)間を制御可能なようになっている。動作クロック制御回路49は、後述するCPUクロック制御部(図3のCPUクロック制御部65)により設定されたクロックレベルに基づきクロックレベルを制御する。
 RAM48は、CPU46が各種の処理を実行する上において必要なデータなどを適宜記憶する。また、制御部41はビデオRAM50も備え、ディスプレイ51に表示される映像に関する情報が一時的に格納される。
 記憶部42は、例えば、電気的に書換えや消去が可能な不揮発性メモリであるフラッシュメモリ素子やHDD(Hard Disc Drive)などからなり、制御部41のCPUにより実行される種々のアプリケーションプログラムや種々のデータ群を格納している。
 ここで、本実施形態における携帯電話機1は、制御部41のCPU46の動作クロックが動的に制御可能となっている。以下、CPU46の動作クロック制御について具体的に説明する。図3は、本実施形態における携帯電話機1の制御部41により実現される概略的な機能ブロック図である。タスク管理部61は、CPU46に実行させるタスク(処理)を管理する。
 タスク管理部61は、実行の優先度が最も低い特別なタスクであるスリープタスクを、常時実行待ち状態として管理している。このスリープタスクが実行された状態は、CPU46において実行中または実行待ち状態の他のタスクが存在しない状態であるスリープ状態であることを示している。本実施形態においては、CPU46においてこのスリープタスクが実行されている状態を「CPUがスリープ状態である」という。また、CPU46においてスリープタスク以外のタスクが実行されている状態を「CPUがビジー状態である」という。
 タスク管理部61において管理されるスリープタスク以外のタスクは、ユーザイベント起因の処理によるものと、非ユーザイベント起因の処理によるものに大別される。ユーザイベント起因の処理は、メモリカードスロット16に対しメモリカードが挿抜された場合、外部接続端子17にUSBケーブルなどの各種外部機器が挿抜された場合、特定の状況における操作キー52が入力を受け付けた場合などに発生した、ユーザにより実行された処理が該当する。ここで、ユーザイベントとは、携帯電話機1の外部から負荷された処理であって、ユーザが意図して携帯電話機1に対して行った操作が起因となり発生したとみなすことができる処理をいい、上述した処理に限らない。
 非ユーザイベント起因の処理は、例えば音声・テレビ電話着信処理や、電子メールサーバからの電子メール受信処理、予め設定されたアラーム通知時刻の到来に伴うアラーム通知処理など、ユーザイベント以外で発生した全ての処理が該当する。また、タスク管理部61は、複数(マルチ)の処理(タスク)を切り替えながら実行する、いわゆるマルチタスク機能を備える。タスク管理部61は、起動中のアプリケーションのうち、フォアグラウンドで動作中のアプリケーション(動作アプリケーション)が変更された場合、動作アプリケーションが変更された旨の通知である動作アプリケーション変更通知を動作アプリケーション監視部62に行うようになっている。なお、フォアグラウンドで動作するアプリケーションとは、キーを受け付けた場合にそのアプリケーションに対して動作し、表示がなされているアプリケーション(通常は画面の全体にフォアグラウンドのアプリケーションの表示画面が表示されるが、これには限定されず、ほぼ大多数の画面表示を占めるものであってもよい)。
 ユーザイベント検出部63は、ユーザにより携帯電話機1に対して行われたユーザイベントを検出する。ユーザイベント検出部63は、ユーザイベントを検出した場合には、タスク管理部61に通知を行う。なお、タスク管理部61は、ユーザイベントに伴い発生した処理に基づくタスクを管理し、かつユーザイベントが発生したことをCPU使用率取得部64に通知する。
 動作アプリケーション監視部62は、CPU46の処理に基づきフォアグラウンドで動作中のアプリケーションを監視する。動作アプリケーション監視部62は、タスク管理部61より動作アプリケーション変更通知を受け取った場合、タスク管理部61に対して変更後の動作アプリケーションに関する情報を確認する。動作アプリケーション監視部62は、取得した動作アプリケーションに関する情報をCPUクロック制御部65に通知するようになっている。
 CPU使用率取得部64は、CPU46の使用率を取得してCPUクロック制御部65に供給する。CPU使用率取得部64は、例えばタスク管理部61より現在実行中のタスクを参照し、CPU46がスリープ状態であるかビジー状態であるかを動作状態として取得する。なお、CPU使用率取得部64は、動作状態を所定時間毎に取得するようになっている(例えば、5msec毎)。
 CPU使用率取得部64は、所定の取得した所定回数分(例えば128回分)の動作状態を動作状態履歴として時系列に保持する。CPU使用率取得部64は、最新の動作状態を取得した場合には最古の動作状態を削除するように動作状態履歴の更新を適宜行う。そして、CPU使用率取得部64は、現在保持する動作状態履歴におけるビジー状態を示す動作状態の割合から、CPU46の使用率を取得する。
 CPU使用率取得部64で保持される動作状態履歴は、時間遷移と共に一の最新の動作状態の取得および最古の動作状態履歴の削除を繰り返す。このため、CPU46の使用率も時間遷移と共に段階的(連続的)に遷移するようになっている。
 また、CPU使用率取得部64は、ユーザイベントを起因とした処理が発生した場合、および動作アプリケーション監視部62より受け付けた動作アプリケーションに関する情報に基づき、CPU46の使用率に係わらずに動作状態履歴を制御する。
 特に、CPU使用率取得部64は、動作アプリケーション監視部62で監視されているフォアグラウンドで動作中のアプリケーションを取得し、取得したアプリケーションが必要動作クロックテーブルにクロックレベルが記憶された特定のアプリケーションであるか否かを判定する判定手段として機能する。
 CPUクロック制御部65は、CPU使用率取得部64により取得されたCPU46の使用率に基づき、CPU46を動作させる所定の周波数が割り当てられた複数のクロックレベルの中から、一のクロックレベルを設定するようになっている。
 CPUクロック制御部65は、動作クロック制御回路49を制御することにより、設定したクロックレベルに対応した動作クロックをCPU46に供給させる。
 必要動作クロックテーブル66は、特定のアプリケーションがフォアグラウンドで動作する際に選択されるクロックレベルを記憶する。必要動作クロックテーブル66は、例えば記憶部42の記憶領域に記憶される。本実施形態においては、必要動作クロックテーブル66には、特定アプリケーションとしてのブラウザアプリケーション(ブラウザアプリ)および設定メニューアプリケーション(設定メニューアプリ)が動作する際に選択されるクロックレベルが記憶される。「ブラウザアプリ」は、Webページを閲覧するためのアプリケーションである。「設定メニューアプリ」は、携帯電話機1の機能に関する設定を行うアプリケーションであり、例えば、携帯電話機1のスピーカ13より出力される音の音量を設定したり、音声通話着信時などに出力される音声データを選択したりするアプリケーションである。
 本実施形態における必要動作クロックテーブル66に記憶されるブラウザアプリのクロックレベルは、高クロック(HIGH Clock)である。また、設定メニューアプリのクロックレベルは、低クロック(LOW Clock)である。高クロックは第一のクロックレベルであり、CPUクロック制御部65により設定されるクロックレベルのうち、例えば最も高い周波数が割り当てられたクロックレベルをいう。低クロックは第一のクロックレベルよりも低い周波数が割り当てられた第二のクロックレベルであり、CPUクロック制御部65により設定されるクロックレベルのうち、例えば最も低い周波数が割り当てられたクロックレベルより一つ上のクロックレベルをいう。
 本実施形態における携帯電話機1が実行するCPU46のクロックレベル制御処理の一例について説明する。クロックレベル制御処理は、通常時においてはCPU46の使用率に基づいて行われる。これに対し、ユーザイベント発生時および特定のアプリケーションの動作中においては、CPU46の使用率に係わらず、クロックレベルを所定レベルに制御する処理が行われる。なお、「通常時」は、ユーザイベント発生時以外、および特定のアプリケーションのフォアグラウンドでの動作中以外をいう。
 はじめに、通常時におけるクロックレベル制御処理について説明する。図4は、本実施形態における携帯電話機1により実行される、CPU46の使用率に基づくクロックレベル制御処理の一例を説明するフローチャートである。このクロックレベル制御処理は、所定時間毎(例えば5msec毎)に行われる処理であり、携帯電話機1の動作時(例えば電源がONのとき)に繰り返し実行される処理である。
 ステップS1において、CPU使用率取得部64は、タスク管理部61より現在実行中のタスクの種類を取得する。すなわち、現在CPU46で実行されているタスクが、スリープタスクであるか、またはスリープタスク以外のタスクであるかに関する情報を取得する。
 ステップS2において、CPU使用率取得部64は、CPU46で現在実行中のタスクが、スリープタスクであるか否かの判定を行う。CPU使用率取得部64は、現在実行中のタスクがスリープタスクであると判定した場合、ステップS3において最新の動作状態履歴にスリープ状態を追加する。一方、CPU使用率取得部64は、現在実行中のタスクがスリープタスク以外のタスクであると判定した場合、ステップS4において最新の動作状態履歴にビジー状態を追加する。
 ステップS5において、CPU使用率取得部64は、動作状態追加ステップS3およびステップS4において動作状態履歴に最新の動作状態を追加すると共に、最古の動作状態を削除する。
 ステップS6において、CPU使用率取得部64は、現在保持する動作状態履歴を参照し、CPU46の使用率を取得する。CPU46の使用率は、動作状態履歴におけるビジー状態の全体における割合で求められる。CPU使用率取得部64は、取得した使用率をCPUクロック制御部65に供給する。
 ステップS7において、CPUクロック制御部65は、取得したCPU46の使用率に基づいて、所定の周波数が割り当てられたクロックレベルを設定する。CPUクロック制御部65は、動作クロック制御回路49を制御して設定したクロックレベルに対応した動作クロックをCPU46に供給させる。以上で、通常時におけるクロックレベル制御処理の説明は終了する。
 CPU46の使用率は、通常時においては所定時間毎に更新されるため、時間遷移と共に段階的に遷移(または維持)するようになっている。また、CPUクロック制御部65は、例えば使用率が所定値から他の所定値まで遷移した場合に、クロックレベルを上昇させたり低下させたりするようになっている。このため、CPUクロック制御部65により設定されるクロックレベルも、段階的(連続的)に遷移(または維持)するようになっている。
 図5は、CPUクロック制御部65により実行される通常時におけるクロックレベル制御処理により、クロックレベルが遷移する例を概念的に説明する図である。図6は、通常時におけるクロックレベル制御処理によるクロックレベルの遷移状態を示すグラフである。図5および図6においては、クロックレベルが5段階設けられ、時間t1~t17の各間隔は、所定の間隔(例えば5msec)を有している。
 図5における○は、CPU使用率取得部64により取得されたCPU46の動作状態がスリープ状態であった場合を示し、●はビジー状態であった場合を示す。また、動作状態履歴には、CPU使用率取得部64によって時間t1~t17の間において、所定時間毎に一の動作状態が取得・更新された場合の例が示されている。さらに、動作状態履歴は、左から右にかけて新しい動作状態履歴が示されているものとし、ここでは説明の便宜上、過去8回分の履歴を記憶した場合の例を適用して説明する。
 図5のクロックレベルの遷移例では、時間t1においては、CPU46がスリープタスクの実行中であり、かつ記憶されている過去の全動作状態がスリープ状態であるものとする。また、図5のクロックレベルの遷移例では、時間ta(t1<ta<t2)においてユーザイベントに伴う処理および特定アプリケーションに関する処理以外の処理が発生し、スリープタスク以外のタスクの実行が開始されるものとする。さらに時間tb(t9<tb<t10)においては、時間taで開始された一連のタスクの実行が終了されるものとする。
 なお、図5および図6に示す使用率に応じたクロックレベルの遷移は一例を示したものであり、クロックレベルを上昇および下降させるタイミングはこれに限らない。
 時間t1において、CPU46はスリープタスクの実行中であったため、図5に示すように動作状態履歴にはスリープ状態が新たに追加された。このとき、図示しない最古の動作状態履歴は削除される。CPU使用率取得部64により、時間t1におけるCPU46の使用率、すなわち動作状態履歴全体におけるビジー状態の割合が0/8と取得された。CPUクロック制御部65は、図6に示すように、このときのクロックレベルを1に設定した。
 時間taでユーザイベントに伴う処理および特定アプリケーションに関する処理以外の処理が発生したことに伴い、時間t2においてはCPU46はスリープタスク以外のタスクの実行中であったため、動作状態履歴にはビジー状態が新たに追加された(図5)。このとき、時間t1における最古の動作状態履歴は削除される。CPU使用率取得部64により、時間t2におけるCPU46の使用率が1/8と取得された。CPUクロック制御部65は、使用率が0/8から1/8に遷移したため、クロックレベルを1から2に設定した(図6)。
 時間t3においては、CPU46はスリープタスク以外のタスクの実行中であったため、動作状態履歴にビジー状態が新たに追加された(図5)。また、CPU使用率取得部64により、時間t3におけるCPU46の使用率が2/8と取得された。CPUクロック制御部65は、このときのクロックレベルを2に維持する(図6)。
 時間t4においては、CPU46はスリープタスク以外のタスクの実行中であったため、動作状態履歴にビジー状態が新たに追加された(図5)。また、CPU使用率取得部64により、時間t4におけるCPU46の使用率が3/8と取得された。CPUクロック制御部65は、このときのクロックレベルを2から3に設定した(図6)。
 時間t5~t8においては、動作状態履歴に順次ビジー状態が追加されていき、時間t9においては全動作状態履歴がビジー状態となった(図5)。その後、CPU使用率取得部64により、時間t9におけるCPU46の使用率が8/8と取得された。また、CPUクロック制御部65は、時間t5~t8にかけて順次クロックレベルを上昇させていき、時間t8ではクロックレベルを最高値の周波数が割り当てられたクロックレベルであるクロックレベル5に設定した(図6)。
 時間tbでユーザイベントに伴う処理以外の処理が終了したことに伴い、CPU46ではスリープタスクの実行が開始された。これに伴い、時間t10において、動作状態履歴にはスリープ状態が追加された(図5)。このときCPU使用率取得部64により、時間t10におけるCPU46の使用率が7/8と取得された。また、CPUクロック制御部65はクロックレベルを遷移させずに5の状態を維持した(図6)。
 時間t11以降についても、上述した使用率の上昇時(時間t1~t9)と同様に、使用率の遷移に応じてクロックレベルを設定し、CPU46の動作周波数の段階的な制御が実行される。時間t11以降のクロックレベルの遷移は、時間t1~t9のクロックレベルの遷移とほぼ対称的であるため、詳細な説明を省略する。
 ここで、CPU46の使用率の上昇時(時間t1~t9)と低下時(時間t9~時間t17)においては、クロックレベルの遷移のタイミングにヒステリシス特性を与えている。このようにクロックレベルを遷移させることにより、クロックレベルの変動のばたつきを低減させることができる点で有効である。以上で通常時におけるクロックレベル制御処理の説明を終了する。
 次に、本実施形態における携帯電話機1において、ユーザイベントの発生時に実行されるクロックレベル制御処理の一例について説明する。図7は、本実施形態における携帯電話機1のCPUクロック制御部65により実行される、ユーザイベント発生時におけるクロックレベル制御処理の一例を説明するフローチャートである。
 このユーザイベント発生時におけるクロックレベル制御処理は、図4の通常時におけるクロックレベル制御処理と同様に、常時実行される処理である。また、ユーザイベント発生時におけるクロックレベル制御処理においては特に説明しないが、図4で説明した通常時におけるCPU46の使用率に基づくクロックレベル制御処理が常時実行されているものとする。
 ステップS11において、CPU使用率取得部64は、ユーザイベントを起因とした処理が発生したか否かの判定を行う。CPU使用率取得部64は、タスク管理部61を介してユーザイベント検出部63がユーザイベントを検出した通知を受け付けた場合に、ユーザイベントを起因とした処理が発生したと判定する。なお、ユーザイベント起因の処理は、特定の状況において操作キー52が入力を受け付けた場合、メモリカードスロット16に対しメモリカードが挿抜された場合、外部接続端子17にUSBケーブルなどの各種外部機器が挿抜された場合などに発生した処理である。非ユーザイベント起因の処理は、例えば音声・テレビ電話着信処理や、電子メール受信処理、予め設定されたアラーム通知時刻の到来に伴うアラーム通知処理などユーザが意図した操作以外で発生した全ての処理が該当する。
 CPU使用率取得部64により、発生した処理が非ユーザイベント起因の処理であると判定された場合、ユーザイベント起因の処理が発生するまで処理を待機する。なお、この間には図4の通常時におけるCPU46の使用率に基づくクロックレベル制御処理が所定時間毎に繰り返し実行されている。
 ユーザイベント起因の処理が発生したと判定された場合、ステップS12において、CPU使用率取得部64は現在保持する所定回数分の全動作状態履歴をビジー状態に書き換える処理を行う。また、ステップS13において、CPU使用率取得部64は動作状態履歴に基づく使用率を取得してCPUクロック制御部65に供給する。CPU使用率取得部64により取得される使用率は、全動作状態履歴がビジー状態となっているため、最大値の使用率が取得されてCPUクロック制御部65に供給される。
 ステップS14において、CPUクロック制御部65は、取得した最大値であるCPU46の使用率に基づいて、最高値の周波数が割り当てられたクロックレベルを設定する。CPUクロック制御部65は、動作クロック制御回路49を制御して設定したクロックレベルに対応した動作クロックをCPU46に供給させる。以上で、ユーザイベント発生時におけるクロックレベル制御処理の説明は終了する。
 なお、CPUクロック制御部65によりクロックレベルが引き上げられた後は、図4の通常時におけるクロックレベル制御処理が所定時間毎に実行され、CPU46の動作状態に対応した使用率が取得される。CPUクロック制御部65は、この使用率に基づいてクロックレベルの設定・制御を行う。
 このユーザイベント発生時におけるクロックレベル制御処理においては、CPUクロック制御部65は、CPU46の使用率に基づく動作状態履歴に係わらず瞬時に最高値の周波数が割り当てられたクロックレベルに引き上げる。携帯電話機1は、CPU46の使用率に係わらず高クロックレベルで動作することができるため、ユーザイベントに伴う処理に対して十分な処理能力を発揮することができる。
 図7のクロックレベル制御処理においては、ユーザイベントの発生に伴い使用率が最大値となるように制御したが、これに限らず、使用率が最大値よりも低い値(例えば、使用率の値の範囲内で相対的に高い値)になるように制御してもよい。この場合には、CPUクロック制御部65により設定されるクロックレベルについても、最高値の周波数が割り当てられたクロックレベルよりも低いクロックレベル(例えば、最大クロックレベルよりも一つまたはそれ以上低いレベル)が設定されることになる。
 図8は、CPUクロック制御部65により実行されるユーザイベント発生時におけるクロックレベル制御処理により、クロックレベルが遷移する例を概念的に説明する図である。図9は、ユーザイベント発生時におけるクロックレベル制御処理によるクロックレベルの遷移状態を示すグラフである。図8および図9の概要については、図5および図6とほぼ同様であるため、詳細な説明を省略する。
 図8のクロックレベルの遷移例では、時間t21においては、CPU46がスリープタスクの実行中であり、かつ記憶されている過去の全動作状態がスリープ状態であるものとする。また、図8のクロックレベルの遷移例では、時間tc(t21<tc<t22)においてユーザイベントに伴う処理(特定アプリケーションの動作を含まない)以外の処理が発生し、スリープタスク以外のタスクの実行が開始されるものとする。さらに時間td(t21<td<t22)においては、時間tcで開始された一連のタスクの実行が終了されるものとする。
 時間t21において、CPU46はスリープタスクの実行中であったため、図8に示すように動作状態履歴にはスリープ状態が新たに追加された。このとき、図示しない最古の動作状態履歴は削除される。CPU使用率取得部64により、時間t21におけるCPU46の使用率、すなわち動作状態履歴全体におけるビジー状態の回数が0/8と取得された。CPUクロック制御部65は、図9に示すように、このときのクロックレベルを1に設定した。
 時間tcでユーザイベントに伴う処理が発生したことに伴い(図7のステップS11YES)、CPU使用率取得部64は、現在保持する8回分の全動作状態履歴をビジー状態に書き換える処理を行った(ステップS12)。このとき、CPU使用率取得部64は、CPU46の使用率を8/8を取得し、CPUクロック制御部65に通知する。CPUクロック制御部65は図9に示すように、このときのクロックレベルを5に設定した。
 ユーザイベントに伴う処理が発生した時間tc以降においては、図4の通常時におけるクロックレベル制御処理が所定時間毎(例えば5msec毎)に実行され、CPU46の動作状態に対応した使用率が取得される。CPUクロック制御部65は、この使用率に基づいてクロックレベルの制御を行う。
 時間tdでユーザイベントに伴う処理が終了したことに伴い、CPU46ではスリープタスクの実行が開始された。これに伴い、時間t22において、動作状態履歴にはスリープ状態が追加された(図8)。このときCPU使用率取得部64により、時間t22におけるCPU46の使用率が7/8と取得された。また、CPUクロック制御部65はクロックレベルを遷移させずに5の状態を維持した(図9)。
 時間t23~時間t29におけるクロックレベルの制御処理は、図5および図6で説明したクロックレベルの遷移とほぼ同様であるため、詳細な説明を省略する。以上でユーザイベント発生時におけるクロックレベル制御処理の説明を終了する。
 図6に示す通常時のクロックレベル制御処理においては、CPU46の使用率を監視し、段階的にクロックレベルを変動させることにより、一時的な使用率の増加による動作クロックの上昇を回避することができた。このため、CPU46の動作クロックの不要な上昇に伴う消費電力を低減させることが可能である。この段階的にクロックレベルを変動させるクロックレベル制御処理は、特に非ユーザイベント起因の処理である音声・テレビ電話着信処理や、電子メールサーバからの電子メール受信処理、予め設定されたアラーム通知時刻の到来に伴うアラーム通知処理など、応答性や高い処理能力を必要としない処理に対しては、省電力化を実現可能な点で有効である。
 低クロックレベル(例えば図6のクロックレベル1)が設定されてCPU46の処理能力が低下している際に、ユーザイベント(例えばキー操作入力)が発生した場合、段階的にクロックレベルを上昇させる通常時のクロックレベル制御処理では処理能力の高い高クロックレベル(例えば図6のクロックレベル5)が設定されるまで一定時間が必要となる。このため、ユーザには応答性や操作性の悪さを感じさせる原因となってしまう。
 これに対し、ユーザイベント発生時におけるクロックレベル制御処理を実行することにより、ユーザイベントが発生すると、直ちに高クロックレベルに上昇させることができる。すなわち、応答性が求められるユーザイベント起因の処理に対しては、処理開始時(図8時間tc)においてクロックレベルを最高値の周波数が割り当てられたクロックレベル(クロックレベル5)に設定することにより、ユーザイベント起因の処理に対する応答性を十分に備えることができる。
 また、ユーザイベント起因の処理に対しては、応答性のみならず処理の実行に要する時間を短期化する高い処理能力も求められる。この点においても、図7で説明したクロックレベル制御処理は、高クロックレベルでユーザイベント起因の処理を実行することができるため、処理に要する時間も短縮することができる。
 次に、本実施形態における携帯電話機1において、特定のアプリケーションがフォアグラウンドで動作している場合に実行されるクロックレベル制御処理の一例について説明する。図10は、本実施形態における携帯電話機1のCPUクロック制御部65により実行される、特定アプリケーション動作中におけるクロックレベル制御処理の一例を説明するフローチャートである。この特定アプリケーション動作中におけるクロックレベル制御処理は、図4の通常時におけるクロックレベル制御処理と同様に、常時実行される処理である。
 ステップS21において、動作アプリケーション監視部62は、フォアグラウンドで動作しているアプリケーション(動作アプリケーション)が変更されたか否かの判定を行う。動作アプリケーション監視部62は、タスク管理部61より動作アプリケーション変更通知を受け付けたか否かにより判定を行う。動作アプリケーション監視部62は、動作アプリケーションが変更されていないと判定した場合、動作アプリケーションが変更されるまで処理を待機する。
 一方、動作アプリケーション監視部62は、動作中のアプリケーションが変更されたと判定した場合、ステップS22において、動作アプリケーションが何のアプリケーションであるかをタスク管理部61に確認する。また、動作アプリケーション監視部62は、動作中のアプリケーションを取得し、CPU使用率取得部64に通知する。
 ステップS23において、CPU使用率取得部64は、通知された動作アプリケーションが、必要動作クロックテーブル66にクロックレベルが記憶された特定のアプリケーションであるか否かを判定する。本実施形態における特定のアプリケーションは、ブラウザアプリと設定メニューアプリとが該当する。
 CPU使用率取得部64は、動作アプリケーションが特定のアプリケーションではないと判定した場合、ステップS24において、動作アプリケーションが変更されたことに伴う処理は特に行わず、図4の通常時におけるクロックレベル制御処理に基づいて、クロックレベルの設定が行われる。すなわち、CPU使用率取得部64により取得されたCPU46の使用率に基づき、クロックレベルが段階的に制御される。または図7のユーザイベント発生時におけるクロックレベル制御処理に基づいて、クロックレベルの設定が行われる。
 一方、CPU使用率取得部64は、特定のアプリケーションであると判定した場合、ステップS25において、必要動作クロックテーブル66を参照し、動作アプリケーションに対応したクロックレベルが設定されるように動作状態履歴を書き換える(使用率を変更する)。例えば、CPU使用率取得部64は、動作アプリケーションがブラウザアプリであった場合、必要動作クロックテーブル66に基づいて高クロックが設定されるように、動作状態履歴を書き換える(使用率を変更する)。また、CPU使用率取得部64は、動作アプリケーションが設定メニューアプリであった場合、必要動作クロックテーブル66に基づいて低クロックが設定されるように、動作状態履歴を書き換える(使用率を変更する)。アプリケーションに応じた動作状態履歴を書き換える処理の詳細は、後述する。
 なお、CPU使用率取得部64により動作アプリケーションがブラウザアプリまたは設定メニューアプリであると判定された場合、図4の通常時におけるCPU46の使用率に基づくクロックレベル制御処理、および図7のユーザイベント発生時におけるクロックレベル制御処理は無効となり、この特定アプリケーション動作中におけるクロックレベル制御処理が優先的に実行される。
 ステップS26において、CPU使用率取得部64は動作状態履歴に基づく使用率を取得してCPUクロック制御部65に供給する。CPU使用率取得部64により取得される使用率は、必要動作クロックテーブル66に記憶されたクロックレベルに対応するように動作状態履歴が書き換えられているため、この動作状態履歴に応じた使用率が取得されてCPUクロック制御部65に供給される。すなわち、CPU46の使用率に係わらず、クロックテーブルに記憶されたクロックレベルに制御する。
 ステップS27において、CPUクロック制御部65は、取得したCPU46の使用率に基づいて、所定の周波数が割り当てられたクロックレベルを設定する。CPUクロック制御部65は、動作クロック制御回路49を制御して設定したクロックレベルに対応した動作クロックをCPU46に供給させる。レベル設定ステップS27の後、特定アプリケーション動作中におけるクロックレベル制御処理は終了する。
 レベル設定ステップS27において設定されたクロックレベルは、例えば、再度開始されたクロックレベル制御処理のアプリ変更判定ステップS21においてアプリケーションが変更されたと判定され、アプリ判定ステップS23において特定アプリケーションであるか否かの判定がなされるまでは、維持される。なお、この維持の方法としては、(1)再度開始されたクロックレベル制御処理のアプリ変更判定ステップS21においてアプリケーションが変更されたと判定され、アプリ判定ステップS23において特定アプリケーションであるか否かの判定がなされるまで、ステップS25における動作状態履歴を書き換え続ける(ステップS25の処理をし続ける)方法で行っても良いし、(2)再度開始されたクロックレベル制御処理のアプリ変更判定ステップS21においてアプリケーションが変更されたと判定され、アプリ判定ステップS23において特定アプリケーションであるか否かの判定がなされるまで、CPUクロック制御部65のクロックレベルの制御をCPU46の使用率に基づかずに、レベル設定ステップS27で設定されたクロックレベルを維持するように制御する方法で行っても良い。以上で、特定アプリケーション動作中におけるクロックレベル制御処理の説明を終了する。
 次に、図10のクロックレベル制御処理が実行された場合のクロックレベルの遷移例などを、グラフを用いて説明する。図11は、CPUクロック制御部65により実行される特定アプリケーション(ブラウザアプリ)動作中におけるクロックレベル制御処理により、クロックレベルが遷移する例を概念的に説明する図である。図12は、特定アプリケーション(ブラウザアプリ)動作中におけるクロックレベル制御処理によるクロックレベルの遷移状態を示すグラフである。図11および図12の概要については、図5および図6とほぼ同様であるため、詳細な説明を省略する。なお、図11および12における、CPU46の使用率に基づくクロックレベルの遷移のタイミングは、図5および6において説明したタイミングと同様とする。
 図11のクロックレベルの遷移例では、時間t41においては、CPU46がスリープタスクの実行中であり、かつ記憶されている過去の全動作状態がスリープ状態であるものとする。また、図11のクロックレベルの遷移例では、時間te(t42<te<t43)においてブラウザアプリが動作アプリケーションとなり、スリープタスク以外のタスクの実行が開始されるものとする。さらに時間tf(t46<tf<t47)においては、時間teで開始されたブラウザアプリの動作が終了して、ブラウザアプリに関するタスクの実行が終了されるものとする。
 時間t41、t42において、CPU46はスリープタスクの実行中であったため、図11に示すように動作状態履歴にはそれぞれスリープ状態が新たに追加された。このとき、図示しない最古の動作状態履歴は削除される。CPU使用率取得部64により、時間t41、t42におけるCPU46の使用率、すなわち動作状態履歴全体におけるビジー状態の回数がそれぞれ0/8と取得された。CPUクロック制御部65は、図12に示すように、時間t41およびt42のクロックレベルを1に設定した。
 時間teにおいて、必要動作クロックテーブル66にクロックレベルが記憶されたブラウザアプリが動作アプリケーションとなった(図10のステップS23YES)。CPU使用率取得部64は、必要動作クロックテーブル66に基づいて高クロック(図11、12ではクロックレベル5)が設定されるように、現在保持する8回分の全動作状態履歴をビジー状態に書き換える処理を行った(ステップS25)。
 このとき、CPU使用率取得部64は、CPU46の使用率を8/8を取得し、CPUクロック制御部65に通知する。CPUクロック制御部65は図12に示すように、このときのクロックレベルを5に設定した。
 時間te~時間tfにおいて、動作アプリケーションはブラウザアプリであるため、時間teで設定された高クロック(クロックレベル5)は、動作アプリケーションがブラウザアプリからの他アプリケーションに変更され、かつ変更後の動作アプリケーションが特定アプリケーションであるか否かが判定されるまで、すなわち図10のステップS23まで(時間tf+αまで(αはステップS21YES~ステップS23の所要時間))維持される。なお、図12での図示は、ブラウザアプリ動作終了後、時間t47においてはじめて、CPU使用率取得部64より取得した使用率に基づいたクロックレベル制御を再開する例であるが、これに限定されず、ステップS23においてNOと判断された時点(時間t47以前)でCPU使用率取得部64より取得した使用率に基づいた、クロックレベル制御を再開してもよい。
 この高クロックが維持されている間は、図4の通常時におけるCPU46の使用率に基づくクロックレベル制御処理、および図7のユーザイベント発生時におけるクロックレベル制御処理は無効となり、この特定アプリケーション動作中におけるクロックレベル制御処理が優先的に実行される。
 時間tfで動作アプリケーションがブラウザアプリから変更され(ブラウザアプリが終了し)、実行するタスク(スリープタスク以外のタスク)が存在しなくなったため、CPU46ではスリープタスクの実行が開始された。これに伴い、時間t47において、動作状態履歴にはスリープ状態が追加された(図11)。このときCPU使用率取得部64により、時間t47におけるCPU46の使用率が7/8と取得された。また、CPUクロック制御部65はクロックレベルを遷移させずに5の状態を維持した(図12)。
 時間t47~t50におけるクロックレベルの制御処理は、図5および図6で説明したクロックレベルの遷移とほぼ同様であるため、詳細な説明を省略する。
 このように、処理量が大きいブラウザアプリのようなアプリケーションがフォアグラウンドで動作するアプリケーションとなっている場合には、瞬時に高クロックルまで上昇させることにより、CPU46は応答性や処理能力の向上を重視したクロックレベルを用いた処理を実行することができる。以上で特定アプリケーション(ブラウザアプリ)動作中におけるクロックレベル制御処理の説明を終了する。
 図13は、CPUクロック制御部65により実行される特定アプリケーション(設定メニューアプリ)動作中におけるクロックレベル制御処理により、クロックレベルが遷移する例を概念的に説明する図である。図14は、特定アプリケーション(設定メニューアプリ)動作中におけるクロックレベル制御処理によるクロックレベルの遷移状態を示すグラフである。図13および図14の概要については、図5および図6とほぼ同様であるため、詳細な説明を省略する。なお、図13および14における、CPU46の使用率に基づくクロックレベルの遷移のタイミングは、図5および6において説明したタイミングと同様とする。
 図13のクロックレベルの遷移例では、時間t51~時間t52においては、CPU46は、図5および図6で説明したCPUクロック制御部65により実行される通常時におけるクロックレベル制御処理に基づき動作しているものとする。また、図13のクロックレベルの遷移例では、時間tg(t52<tg<t53)において設定メニューアプリがフォアグラウンドで動作するアプリケーション(動作アプリケーション)となり、スリープタスク以外のタスクの実行が開始されるものとする。さらに時間th(t56<th<t57)においては、時間tgで開始された設定メニューアプリの動作が終了して、設定メニューアプリに関するタスクの実行が終了されるものとする。
 時間t51、t52においては図4で説明した通常時におけるクロックレベル制御処理に基づき動作している。図13の例では、時間t51においてはCPU46の使用率が7/8と取得されたため、クロックレベルが5に設定された。また、時間t52においては、CPU46の使用率が6/8と低下したため、クロックレベルが4に設定された。
 時間tgにおいて、必要動作クロックテーブル66にクロックレベルが記憶された設定メニューアプリが動作アプリケーションとなった(図10のステップS23YES)。CPU使用率取得部64は、必要動作クロックテーブル66に基づいて低クロック(図13、14ではクロックレベル2)が設定されるように、現在保持する動作状態履歴のうち、古い履歴の二つのみをビジー状態に書き換え、他の履歴はスリープ状態に書き換える処理を行った(ステップS25)。
 このとき、CPU使用率取得部64は、CPU46の使用率を2/8を取得し、CPUクロック制御部65に通知する。CPUクロック制御部65は図14に示すように、このときのクロックレベルを2に設定した。なお、このとき書き換える動作状態履歴は、古い2つの履歴に限らず他の履歴(例えば新しい2つの履歴)をビジー状態に書き換え、その他の6つの履歴をスリープ状態に書き換えてもよい。
 時間tg~時間thにおける動作アプリケーションは設定メニューアプリであるため、時間tgで設定された低クロック(クロックレベル2)は、動作アプリケーションが設定メニューアプリから他のアプリケーションに変更され、かつ変更後の動作アプリケーションが特定アプリケーションであるか否かが判定されるまで、すなわち図10のステップS23まで(時間tg+αまで)維持される。なお、図14での図示は、設定メニューアプリ動作終了後、時間t57においてはじめて、CPU使用率取得部64より取得した使用率に基づいたクロックレベル制御を再開する例であるが、これに限定されず、ステップS23においてNOと判断された時点(時間t57以前)でCPU使用率取得部64より取得した使用率に基づいた、クロックレベル制御を再開してもよい。
 この低クロックが維持されている間は、図4の通常時におけるCPU46の使用率に基づくクロックレベル制御処理、および図7のユーザイベント発生時におけるクロックレベル制御処理は無効となり、この特定アプリケーション動作中におけるクロックレベル制御処理が優先的に実行される。
 時間thで動作アプリケーションが設定メニューアプリから変更され(設定メニューアプリが終了し)、実行するタスク(スリープタスク以外のタスク)が存在しなくなったため、CPU46ではスリープタスクの実行が開始された。これに伴い、時間t57において、動作状態履歴にはスリープ状態が追加された(図13)。このときCPU使用率取得部64により、時間t57におけるCPU46の使用率が1/8と取得された。また、CPUクロック制御部65はクロックレベルを遷移させずに2の状態を維持した(図13)。
 時間t57~t60におけるクロックレベルの制御処理は、図5および図6で説明したクロックレベルの遷移とほぼ同様であるため、詳細な説明を省略する。
 このように、処理量が小さい設定メニューアプリのようなアプリケーションがフォアグラウンドで動作するアプリケーションとなっている場合には、高クロックによる処理は必要ないため、CPU46は消費電力の低減を重視したクロックレベルを用いた処理を実行することができる。以上で特定アプリケーション(設定メニューアプリ)動作中におけるクロックレベル制御処理の説明を終了する。
 次に、本実施形態における携帯電話機1において、特定のアプリケーションがフォアグラウンドで動作している場合に実行されるクロックレベル制御処理の他の例について説明する。まず、クロックレベル制御処理の他の例を実行する際の機能ブロック図について説明する。
 図15は、本実施形態における携帯電話機1の制御部41により実現される概略的な他の機能ブロック図である。なお、図15における各部は、図3の各部と異なる動作を行うものについては、図3とは異なる符号で示す。図15の機能ブロック図が図3の機能ブロック図と異なる点は、動作アプリケーション監視部62aから、直接CPUクロック制御部65aへ動作アプリケーションを通知する点である。他の構成については、図3の機能ブロック図とほぼ同様であるため、詳細な説明は省略する。
 図16は、本実施形態における携帯電話機1のCPUクロック制御部65aにより実行される、特定アプリケーション動作中におけるクロックレベル制御処理の他の例を説明するフローチャートである。この特定アプリケーション動作中におけるクロックレベル制御処理は、図4の通常時におけるクロックレベル制御処理と同様に、常時実行される処理である。
 ステップS31は、図10の特定アプリケーション動作中におけるクロックレベル制御処理のステップS21とほぼ同様であるため、説明を省略する。
 動作アプリケーション監視部62aは、変更判定ステップS31において動作中のアプリケーションが変更されたと判定した場合、ステップS32において、動作アプリケーションが何のアプリケーションであるかをタスク管理部61に確認する。また、動作アプリケーション監視部62aは、動作中のアプリケーションを取得し、CPUクロック制御部65aに通知する。
 ステップS33において、CPUクロック制御部65aは、通知された動作アプリケーションが、必要動作クロックテーブル66にクロックレベルが記憶された特定のアプリケーションであるか否かを判定する。
 CPUクロック制御部65aは、動作アプリケーションが特定のアプリケーションではないと判定した場合、ステップS34において、動作アプリケーションが変更されたことに伴う処理は特に行わず、図4の通常時におけるクロックレベル制御処理に基づいて、CPU使用率取得部64aによるクロックレベルの設定が行われる。すなわち、CPU使用率取得部64aにより取得されたCPU46の使用率に基づき、クロックレベルが段階的に制御される。または図7のユーザイベント発生時におけるクロックレベル制御処理に基づいて、クロックレベルの設定が行われる。
 一方、CPUクロック制御部65aは、特定のアプリケーションであると判定した場合、ステップS35において、必要動作クロックテーブル66を参照し、動作アプリケーションに対応したクロックレベルを読み出す。例えば、CPUクロック制御部65aは、動作アプリケーションがブラウザアプリであった場合、必要動作クロックテーブル66からブラウザアプリ動作時に設定される高クロックを読み出す。また、CPUクロック制御部65aは、動作アプリケーションが設定メニューアプリであった場合、必要動作クロックテーブル66から設定メニューアプリ動作時に設定される低クロックを読み出す。
 なお、CPUクロック制御部65aにより、動作アプリケーションがブラウザアプリまたは設定メニューアプリであると判定された場合、図4の通常時におけるCPU46の使用率に基づくクロックレベル制御処理、および図7のユーザイベント発生時におけるクロックレベル制御処理は無効となり、この特定アプリケーション動作中におけるクロックレベル制御処理が優先的に実行される。
 ステップS36において、CPUクロック制御部65aは動作アプリケーションに応じて読み出された動作クロックレベルを設定する。CPUクロック制御部65aは、動作クロック制御回路49を制御して設定したクロックレベルに対応した動作クロックをCPU46に供給させる。レベル設定ステップS36の後、特定アプリケーション動作中におけるクロックレベル制御処理は終了する。
 なお、CPU使用率取得部64aは、図4の通常時におけるCPU46の使用率に基づくクロックレベル制御処理が無効となっている間においても、タスク管理部61より現在実行中のタスクの種類を取得し、所定時間毎にCPUの動作状態履歴を更新することが望ましい。動作アプリケーションが特定のアプリケーションから特定のアプリケーション以外のアプリケーションに変更された場合に、動作状態履歴に応じたクロックレベルの制御に即座に移行できるようにするためである。
 レベル設定ステップS36において設定されたクロックレベルは、図10の特定アプリケーション動作中におけるクロックレベル制御処理と同様に、例えば、再度開始されたクロックレベル制御処理のアプリ変更判定ステップS31においてアプリケーションが変更されたと判定され、アプリ判定ステップS33において特定アプリケーションであるか否かの判定がなされるまでは、維持される。以上で、特定アプリケーション動作中におけるクロックレベル制御処理の他の例の説明を終了する。
 次に、図16のクロックレベル制御処理が実行された場合のクロックレベルの遷移例などを、グラフを用いて説明する。図17は、CPUクロック制御部65aにより実行されるブラウザアプリ動作中におけるクロックレベル制御処理により、クロックレベルが遷移する例を概念的に説明する図である。図18は、特定アプリケーション(ブラウザアプリ)動作中におけるクロックレベル制御処理によるクロックレベルの遷移状態を示すグラフである。図17および図18の概要については、図5および図6とほぼ同様であるため、詳細な説明を省略する。なお、図17および図18における、CPU46の使用率に基づくクロックレベルの遷移のタイミングは、図5および図6において説明したタイミングと同様とする。
 図17のクロックレベルの遷移例では、時間t61においては、CPU46がスリープタスクの実行中であり、かつ記憶されている過去の全動作状態がスリープ状態であるものとする。また、図17のクロックレベルの遷移例では、時間ti(t62<ti<t63)においてブラウザアプリがフォアグラウンドで動作するアプリケーション(動作アプリケーション)となるものとする。さらに時間tj(t66<tj<t67)においては、時間tiで開始されたブラウザアプリが終了され、動作アプリケーションが特定アプリケーション以外のアプリケーション(または動作アプリケーションなし)となるものとする。
 時間t61、t62においては特定アプリケーション以外のアプリケーションが動作アプリケーションであり、かつCPU46はスリープタスクの実行中であったため、図17に示すように動作状態履歴にはそれぞれスリープ状態が新たに追加された。このとき、図示しない最古の動作状態履歴は削除される。CPU使用率取得部64aにより、時間t61、t62におけるCPU46の使用率、すなわち動作状態履歴全体におけるビジー状態の回数がそれぞれ0/8と取得された。CPUクロック制御部65aは、図18に示すように、時間t61およびt62のクロックレベルを1に設定した。
 時間tiにおいて、必要動作クロックテーブル66にクロックレベルが記憶されたブラウザアプリが動作アプリケーションとなった(図16のステップS33YES)。CPUクロック制御部65aは、必要動作クロックテーブル66に基づいて高クロック(図17、18ではクロックレベル5)を設定した(ステップS35、S36)。
 時間ti~時間tjにおいて、動作アプリケーションはブラウザアプリであるため、時間tiで設定された高クロック(クロックレベル5)は、動作アプリケーションがブラウザアプリからの他アプリケーションに変更され、かつ変更後の動作アプリケーションが特定アプリケーションであるか否かが判定されるまで、すなわち図16のステップS33まで(時間tj+βまで(βはステップS31YES~ステップS33の所要時間))維持される。なお、図18での図示は、ブラウザアプリ動作終了後、時間t67においてはじめて、CPU使用率取得部64aより取得した使用率に基づいたクロックレベル制御を再開する例であるが、これに限定されず、ステップS33においてNOと判断された時点(時間t67以前)でCPU使用率取得部64aより取得した使用率に基づいた、クロックレベル制御を再開してもよい。
 この高クロックが維持されている間は、図4の通常時におけるCPU46の使用率に基づくクロックレベル制御処理、および図7のユーザイベント発生時におけるクロックレベル制御処理は無効となり、この特定アプリケーション動作中におけるクロックレベル制御処理が優先的に実行される。
 また、CPU使用率取得部64aは、高クロックが維持されている間においても、CPU46の動作状態に基づく使用率を所定時間毎に取得する。
 時間t63および時間t65において、CPU使用率取得部64aは、CPU46がブラウザアプリに関する処理(タスク)を行っていたため、動作状態履歴にビジー状態を追加した。また、時間t64および時間t66において、CPU使用率取得部64aは、CPU46がスリープタスクを実行していたため、動作状態履歴にスリープ状態を追加した。ブラウザアプリが動作アプリケーションである場合であっても、ユーザによる入力を受け付けない場合などCPU46で実行されるタスクが存在しない場合には、スリープタスクが実行される。
 なお、図17のクロックレベルの欄において示された数字は、実際にCPUクロック制御部65aにより制御されたクロックレベルを示す。また、括弧書きで示された数字は、CPU使用率取得部64aで取得された使用率に基づく、実際には用いられないクロックレベルを示す。
 時間tjにおいて、動作アプリケーションがブラウザアプリから特定アプリケーション以外のアプリケーションに変更された。また、時間t67~時間t70において、CPU46はスリープタスクの実行を開始した。これに伴い、時間t67~t70において、動作状態履歴にはスリープ状態がそれぞれ追加された(図17)。
 時間t67においては、CPU使用率取得部64aは、ブラウザアプリが動作アプリケーションであった間(時間ti~時間j)においても取得されたCPU46の動作状態履歴に基づき、使用率を2/8と取得した。また、CPUクロック制御部65aは、CPU使用率取得部64aより取得した使用率に基づいて、クロックレベルを5から2に設定した(図18)。
 時間t67~時間t70におけるクロックレベルの制御処理は、図5および図6で説明したクロックレベルの遷移とほぼ同様であるため、詳細な説明を省略する。以上で特定アプリケーション(ブラウザアプリ)動作中におけるクロックレベル制御処理の説明を終了する。
 図19は、CPUクロック制御部65aにより実行される設定メニューアプリ動作中におけるクロックレベル制御処理により、クロックレベルが遷移する例を概念的に説明する図である。図20は、設定メニューアプリ動作中におけるクロックレベル制御処理によるクロックレベルの遷移状態を示すグラフである。図19および図20の概要については、図5および図6とほぼ同様であるため、詳細な説明を省略する。また、図17および図18と重複する説明については、詳細な説明を省略する。
 図19のクロックレベルの時間t71~時間t72における遷移例は、CPU46は、図5および図6で説明したCPUクロック制御部65により実行される通常時におけるクロックレベル制御処理に基づき動作しているものとする。また、図19のクロックレベルの遷移例では、時間tk(t72<tk<t73)において設定メニューアプリがフォアグラウンドで動作するアプリケーション(動作アプリケーション)となるものとする。さらに時間tl(t76<tl<t77)においては、時間tkで開始された設定メニューアプリが終了され、動作アプリケーションが特定アプリケーション以外のアプリケーション(または動作アプリケーションなし)となるものとする。
 時間t71、t72においては図4で説明した通常時におけるクロックレベル制御処理に基づき動作している。図19の例では、時間t71においてはCPU46の使用率が7/8と取得されたため、クロックレベルが5に設定された。また、時間t72においては、CPU46の使用率が6/8と低下したため、クロックレベルが4に設定された。
 時間tkにおいて、必要動作クロックテーブル66にクロックレベルが記憶された設定メニューアプリが動作アプリケーションとなった(図16のステップS33YES)。CPUクロック制御部65aは、必要動作クロックテーブル66に基づいて低クロック(図19、20ではクロックレベル2)を設定した(ステップS35、S36)。
 時間tk~時間tlにおいて、動作アプリケーションは設定メニューアプリであるため、時間tkで設定された低クロック(クロックレベル2)は、動作アプリケーションが設定メニューアプリからの他アプリケーションに変更され、かつ変更後の動作アプリケーションが特定アプリケーションであるか否かが判定されるまで、すなわち図16のステップS33まで(時間tj+βまで)維持される。なお、図20での図示は、設定メニューアプリ動作終了後、時間t77においてはじめて、CPU使用率取得部64aより取得した使用率に基づいたクロックレベル制御を再開する例であるが、これに限定されず、ステップS33においてNOと判断された時点(t77の以前)でCPU使用率取得部64aより取得した使用率に基づいた、クロックレベル制御を再開してもよい。
 時間t73~時間t76において、CPU使用率取得部64aは、CPU46がブラウザアプリに関する処理(タスク)を行っていたため、動作状態履歴にビジー状態をそれぞれ追加した。
 時間tlで動作アプリケーションが設定メニューアプリから特定アプリケーション以外のアプリケーションに変更された。時間t77においては、CPU使用率取得部64aは、設定メニューアプリが動作アプリケーションであった間(時間tk~時間l)においても取得されたCPU46の動作状態履歴に基づき、使用率を6/8と取得した。また、CPUクロック制御部65aは、CPU使用率取得部64aより取得した使用率に基づいてクロックレベルを2から4に設定した(図20)。
 時間t77~時間t80においては、CPU46の動作状態に応じて、スリープ状態またはビジー状態が適宜動作状態履歴に追加された。時間t77~時間t80におけるクロックレベルの制御処理は、図5および図6で説明したクロックレベルの遷移とほぼ同様であるため、詳細な説明を省略する。以上で特定アプリケーション(設定メニューアプリ)動作中におけるクロックレベル制御処理の説明を終了する。
 この図16の特定アプリケーション動作中におけるクロックレベル制御処理は、必要動作クロックテーブルに基づくクロックレベルの制御が行われている間であっても、CPU使用率取得部64aが所定時間毎に使用率の取得を行うようになっている。このため、図10の処理により奏する効果に加え、特定アプリケーションが終了した後においても、CPU46で行われている実際の動作状態を反映したクロックレベルに直ちに制御することができる点で有効である。
 ここで、複数の処理が連続して発生した場合における、クロックレベルの遷移例を説明する。
 まず、フォアグラウンドで動作するアプリケーションが、特定アプリケーションであるブラウザアプリから設定メニューアプリに変更された場合のクロックレベルの遷移例を説明する。図21(A)は、動作アプリケーションがブラウザアプリから設定メニューアプリに変更された場合のクロックレベルの遷移例を説明するグラフである。図21(B)は、起動中のアプリケーションの遷移を説明する図である。
 図21の時間tAにおいて、特定アプリケーションであるブラウザアプリがフォアグラウンドで動作するアプリケーション(動作アプリケーション)となったため、必要動作クロックテーブル66に基づいてクロックレベルが高クロック(クロックレベル5)に制御された。
 時間tBにおいて、フォアグラウンドで動作する動作アプリケーションがブラウザアプリから、特定アプリケーションである設定メニューアプリに変更された。このため、必要動作クロックテーブル66に基づいて、クロックレベルが低クロック(クロックレベル2)に制御された。なお、時間tBにおいては、ブラウザアプリは依然起動しているが、動作アプリケーション、すなわちフォアグラウンドで動作するアプリケーションは設定メニューアプリに変更されたため、クロックレベルも設定メニューアプリに対応する低クロックに制御された。
 時間tCにおいて、フォアグラウンドで動作する設定メニューアプリの動作および、ブラウザアプリが終了されたため、時間tC以降においては、図4の通常時におけるクロックレベル制御処理に従ってクロックレベルの制御が行われる。
 次に、フォアグラウンドで動作するアプリケーションが、特定アプリケーションである設定メニューアプリから、ユーザイベント起因で動作したアプリケーション(特定アプリケーション以外)に変更された後、特定アプリケーションであるブラウザアプリに変更された場合のクロックレベルの遷移例を説明する。図22(A)は、動作アプリケーションが設定メニューアプリ、ユーザイベント起因で動作したアプリケーションおよびブラウザアプリと順次変更された場合のクロックレベルの遷移例を説明するグラフである。図22(B)は、起動中のアプリケーションの遷移を説明する図である。
 図22の時間tDにおいて、特定アプリケーションである設定メニューアプリがフォアグラウンドで動作するアプリケーション(動作アプリケーション)となったため、必要動作クロックテーブル66に基づいてクロックレベルが低クロック(クロックレベル2)に制御された。
 時間tEにおいて、動作アプリケーションが設定メニューアプリから、ユーザイベント起因で動作した特定アプリケーション以外のアプリケーション(ユーザイベントアプリ)に変更された。このため、図7のユーザイベント発生時におけるクロックレベル制御処理に基づいて、クロックレベルが最高周波数が割り当てられたクロックレベル(クロックレベル5)に引き上げられた。
 クロックレベルがクロックレベル5に引き上げられた後は(時間tE以降)、図4の通常時におけるクロックレベル制御処理に従い、CPU46の使用率に基づいてクロックレベルが制御される。図22(A)の例では、CPU46の使用率が低下したため、クロックレベルが段階的に下降した。
 時間tFにおいて、動作アプリケーションがユーザイベントアプリから、特定アプリケーションであるブラウザアプリに変更された。このため、必要動作クロックテーブル66に基づいて、クロックレベルが高クロック(クロックレベル5)に制御された。
 時間tGにおいて、特定アプリケーションであるブラウザアプリの動作が終了したため、時間tG以降においては、図4の通常時におけるクロックレベル制御処理に従ってクロックレベルの制御が行われる。
 図21および図22に示すように、特定アプリケーションが動作アプリケーションである場合(図21(A)の時間tA~tB、tB~tC、図22(A)の時間tD~tE、tF~tG)においては、図10の特定アプリケーション動作中におけるクロックレベル制御処理が優先的に実行され、図4の通常時におけるクロックレベル制御処理は無効となる。
 また、特定アプリケーションが動作アプリケーションである場合においては、図7のユーザイベント発生時におけるクロックレベル制御処理についても無効となる。
 特に、設定メニューアプリが動作アプリケーションであり、低クロックが設定されている場合に、ユーザイベントが発生したとしても、クロックレベルを引き上げる処理を行わず、消費電力の低減を意図して低クロックが維持される。
 また、ブラウザアプリが動作アプリケーションであり、高クロックが設定されている場合には、CPU46の使用率が低下したとしても、処理速度の高速化を重視して高クロックが維持される。また、ブラウザアプリは、ユーザから入力された処理に対する応答性の向上を図るために高クロックで動作させるため、あくまでバックグラウンドで動作している場合には高クロックで動作させない。
 この携帯電話機1によれば、特定アプリケーション動作中においては、動作中のアプリケーションに応じて、CPU46の動作クロックを制御することができる。このため、動作中のアプリケーションに応じて、必要とする処理量を考慮しつつCPU46の動作クロックを制御することができる。
 例えばブラウザアプリのようにWebページの閲覧を行うアプリケーションが動作中である場合には、ユーザからは特に処理速度の速さを備えることが求められる。このため、必要とする処理量が大きいブラウザアプリがフォアグラウンドで動作するアプリケーションである場合には、CPU46を高クロックで動作させることにより、処理速度の不足感をユーザに与えることなく、応答性よく処理を実行することができる。また、CPU46を高クロックで動作させることにより、全体の処理時間をも短縮することができるため、消費電力量を低減できる点でも有効である。
 これに対し、設定メニューアプリのように、処理量が小さく、またユーザにとっても処理速度の不足感を感じることが少ないアプリケーションに関しては、CPU46を低クロックで動作させることにより、好適に省電力化を図ることができる。
 すなわち、本実施形態における携帯電話機1は、操作性の向上および消費電力の低減の両者を好適に実現することができる。
 なお、本実施形態においては、特定アプリケーションにブラウザアプリおよび設定メニューアプリを適用した例を説明したが、これに限らず他のアプリケーションを適用してもよい。高クロックで動作させるアプリケーションには、例えば音楽再生アプリケーションや、ワンセグ視聴アプリケーションなどを適用してもよい。
 また、本実施形態において説明したCPU46の使用率の取得方法や、使用率に基づくクロックレベルの遷移のタイミングは一例であって、これに限らない。
 さらに、必要動作クロックテーブル66において記憶された、特定アプリケーションが動作アプリケーションとなった場合に設定されるクロックレベルは一例であって、これに限らない。例えば、高クロックレベル、低クロックレベルのほかに、中クロックレベルを設けてもよいし、高クロックレベルを最も高い周波数が割り当てられたクロックレベルから一つ低いレベルや、二つ低いレベルとしてもよい。
 さらにまた、本実施形態においてはCPU46の動作クロック(クロックレベル)を好適に制御することによりCPU46の応答性・操作性の向上や低消費電力化を実現したが、動作クロックと共に、または動作クロックに代えて動作電圧を好適に制御してもよい。
 また、本発明は携帯電話機以外にもPDA(Personal Digital Assistant)、パーソナルコンピュータ、携帯型ゲーム機、携帯型音楽再生機、携帯型動画再生機、その他の電子機器にも適用することができる。
 さらに、本発明の各実施形態において説明した一連の処理は、ソフトウェアにより実行させることもできるが、ハードウェアにより実行させることもできる。

Claims (7)

  1. CPUと、
     前記CPUの使用率を取得する使用率取得手段と、
     前記CPUの処理に基づきフォアグラウンドで動作中のアプリケーションを監視するアプリケーション監視手段と、
     前記CPUを動作させる所定の周波数が割り当てられた複数のクロックレベルの中から、特定のアプリケーションがフォアグラウンドで動作する際に選択される前記クロックレベルが記憶された記憶手段と、
     前記アプリケーション監視手段により監視されているフォアグラウンドで動作中のアプリケーションを取得し、取得した前記アプリケーションが、前記記憶手段に前記クロックレベルが記憶された前記特定のアプリケーションであるか否かを判定する判定手段と、
     前記使用率取得手段により取得された前記CPUの使用率に基づき、前記クロックレベルを段階的に制御する一方、前記判定手段により取得した前記アプリケーションが前記特定のアプリケーションであると判定された場合、前記CPUの使用率に係わらず前記記憶手段に記憶された前記クロックレベルに制御する制御手段と
     を備えたことを特徴とする電子機器。
  2. 前記使用率取得手段は、前記制御手段により前記CPUの使用率に係わらず前記クロックレベルが制御されている間であっても、前記CPUの使用率を取得し、
     前記制御手段は、取得した前記アプリケーションが前記特定のアプリケーションから前記特定のアプリケーション以外のアプリケーションに変更されたと前記判定手段により判定された場合、前記使用率取得手段により取得された前記CPUの使用率に基づき、前記クロックレベルを制御する請求項1記載の電子機器。
  3. 前記特定のアプリケーションは、Webページの閲覧を行うアプリケーションであるブラウザアプリケーションと、前記電子機器に備えられた機能の設定を行うアプリケーションである設定メニューアプリケーションとであり、
     前記記憶手段は、前記ブラウザアプリケーションが動作する際に選択される所定の動作クロックが割り当てられた第一のクロックレベルと、前記設定メニューアプリケーションが動作する際に選択される前記第一のクロックレベルよりも低い動作クロックが割り当てられた第二のクロックレベルを記憶した請求項1記載の電子機器。
  4. ユーザにより実行された所定の処理を検出する検出手段をさらに備え、
     前記制御手段は、前記検出手段により前記処理が検出された場合、前記CPUの使用率に係わらず所定の前記クロックレベルに制御する請求項1記載の電子機器。
  5. 前記制御手段は、前記判定手段により、取得した前記アプリケーションが前記特定のアプリケーションであると判定された場合、前記検出手段により前記処理が検出されたか否かに係わらず、前記記憶手段に記憶された前記クロックレベルに制御する請求項4記載の電子機器。
  6. 前記ユーザにより実行された前記所定の処理は、操作入力の受付、ケーブルの挿抜、メモリカードの挿抜を少なくとも含む請求項4記載の電子機器。
  7. 前記ユーザにより実行された前記所定の処理は、操作入力の受付、ケーブルの挿抜、メモリカードの挿抜を少なくとも含む請求項5記載の電子機器。
PCT/JP2009/053253 2009-02-24 2009-02-24 携帯端末 WO2010097885A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/053253 WO2010097885A1 (ja) 2009-02-24 2009-02-24 携帯端末

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/053253 WO2010097885A1 (ja) 2009-02-24 2009-02-24 携帯端末

Publications (1)

Publication Number Publication Date
WO2010097885A1 true WO2010097885A1 (ja) 2010-09-02

Family

ID=42665111

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/053253 WO2010097885A1 (ja) 2009-02-24 2009-02-24 携帯端末

Country Status (1)

Country Link
WO (1) WO2010097885A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012043827A1 (ja) * 2010-10-01 2012-04-05 シャープ株式会社 表示方法
JP2012164032A (ja) * 2011-02-03 2012-08-30 Fujitsu Ltd 計算機、制御方法及びプログラム
JP2012195941A (ja) * 2011-03-17 2012-10-11 Samsung Electronics Co Ltd 携帯端末機の電流消費減少装置及び方法
WO2013122216A1 (ja) 2012-02-16 2013-08-22 シャープ株式会社 画面表示装置、その制御方法、プログラム、およびコンピュータ読み取り可能な記録媒体
JP2014119697A (ja) * 2012-12-19 2014-06-30 Panasonic Corp 画像処理装置、および画像処理方法
JP2015191274A (ja) * 2014-03-27 2015-11-02 三菱電機株式会社 制御装置、リモートコントローラ及び動作クロック切替方法
US9336068B2 (en) 2013-06-07 2016-05-10 Apple Inc. Throttling of application access to resources
CN111857321A (zh) * 2019-04-26 2020-10-30 夏普株式会社 电子设备、控制装置、信息处理装置、信息处理系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0876874A (ja) * 1994-09-06 1996-03-22 Hitachi Ltd 中央処理装置のクロック制御装置およびクロック制御方法
JP2000004270A (ja) * 1998-06-15 2000-01-07 Ricoh Co Ltd 省電力方式およびモデム装置
WO2002021245A1 (fr) * 2000-09-08 2002-03-14 Fujitsu Limited Procede, dispositif et environnement de commande d'horloge
JP2002359874A (ja) * 2001-06-01 2002-12-13 Matsushita Electric Ind Co Ltd 携帯情報端末装置
JP2004164203A (ja) * 2002-11-12 2004-06-10 Toshiba Corp 情報処理装置および省電力制御方法
JP2004355599A (ja) * 2003-05-07 2004-12-16 Sony Corp 周波数制御装置、情報処理装置及びプログラム
JP2006268246A (ja) * 2005-03-23 2006-10-05 Fujitsu Ltd 情報処理装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0876874A (ja) * 1994-09-06 1996-03-22 Hitachi Ltd 中央処理装置のクロック制御装置およびクロック制御方法
JP2000004270A (ja) * 1998-06-15 2000-01-07 Ricoh Co Ltd 省電力方式およびモデム装置
WO2002021245A1 (fr) * 2000-09-08 2002-03-14 Fujitsu Limited Procede, dispositif et environnement de commande d'horloge
JP2002359874A (ja) * 2001-06-01 2002-12-13 Matsushita Electric Ind Co Ltd 携帯情報端末装置
JP2004164203A (ja) * 2002-11-12 2004-06-10 Toshiba Corp 情報処理装置および省電力制御方法
JP2004355599A (ja) * 2003-05-07 2004-12-16 Sony Corp 周波数制御装置、情報処理装置及びプログラム
JP2006268246A (ja) * 2005-03-23 2006-10-05 Fujitsu Ltd 情報処理装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103069476A (zh) * 2010-10-01 2013-04-24 夏普株式会社 显示方法
JPWO2012043827A1 (ja) * 2010-10-01 2014-02-24 シャープ株式会社 表示方法
WO2012043827A1 (ja) * 2010-10-01 2012-04-05 シャープ株式会社 表示方法
JP5638084B2 (ja) * 2010-10-01 2014-12-10 シャープ株式会社 表示方法
JP2012164032A (ja) * 2011-02-03 2012-08-30 Fujitsu Ltd 計算機、制御方法及びプログラム
US9544854B2 (en) 2011-03-17 2017-01-10 Samsung Electronics Co., Ltd. Apparatus and method for reducing current consumption in a portable terminal
JP2012195941A (ja) * 2011-03-17 2012-10-11 Samsung Electronics Co Ltd 携帯端末機の電流消費減少装置及び方法
WO2013122216A1 (ja) 2012-02-16 2013-08-22 シャープ株式会社 画面表示装置、その制御方法、プログラム、およびコンピュータ読み取り可能な記録媒体
EP2816461A4 (en) * 2012-02-16 2015-10-28 Sharp Kk SCREEN DISPLAY DEVICE, METHOD FOR CONTROLLING THE SAME, PROGRAM, AND COMPUTER-READABLE RECORDING MEDIUM
JP2014119697A (ja) * 2012-12-19 2014-06-30 Panasonic Corp 画像処理装置、および画像処理方法
US9336068B2 (en) 2013-06-07 2016-05-10 Apple Inc. Throttling of application access to resources
US9336070B1 (en) 2013-06-07 2016-05-10 Apple Inc. Throttling of application access to resources
JP2015191274A (ja) * 2014-03-27 2015-11-02 三菱電機株式会社 制御装置、リモートコントローラ及び動作クロック切替方法
CN111857321A (zh) * 2019-04-26 2020-10-30 夏普株式会社 电子设备、控制装置、信息处理装置、信息处理系统
JP2020184107A (ja) * 2019-04-26 2020-11-12 シャープ株式会社 電子機器、制御装置、情報処理装置、情報処理システム、及びプログラム

Similar Documents

Publication Publication Date Title
WO2010097885A1 (ja) 携帯端末
JP5365060B2 (ja) 情報処理装置
JP2010039791A (ja) 携帯端末装置
JP5133001B2 (ja) 携帯電子機器および同機器における表示方法
US7698711B2 (en) Multi-tasking apparatus and method in portable terminal
US9519321B2 (en) Apparatus and method for replacing a battery in a portable terminal
JP2010122928A (ja) 携帯端末
JP5136345B2 (ja) 電子機器
KR101725550B1 (ko) 광학식 터치 패드를 구비하는 휴대용 단말기 및 상기 휴대용 단말기의 데이터 제어방법
US8423815B2 (en) Information processing device capable of performing a timer control operation
CN1773873A (zh) 便携型电子设备
JP2007188265A (ja) 情報処理装置、情報処理装置の制御方法、制御プログラム
EP2442614A1 (en) Portable Device for Adaptive Data Communication Control and Method of Operating the same
US20080126511A1 (en) Method for Handing Off Applications for WebOS-Enabled User Devices
US20110043530A1 (en) Electronic apparatus and method of controlling display
JP5152175B2 (ja) 情報処理装置
JP4793095B2 (ja) 携帯電話機、該携帯電話機に用いられるカメラ動作休止方法及びカメラ動作休止制御プログラム
JP5125697B2 (ja) 情報端末
JP5217371B2 (ja) 携帯電話機
EP1821556B1 (en) Power control method of wireless terminal
CN106817621B (zh) 移动终端及其视频备份及播放方法和装置
JP5098836B2 (ja) 情報処理装置
JP2009251111A (ja) 情報処理装置
JP2010097277A (ja) 情報処理装置
JP5206088B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09840739

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09840739

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP