[go: up one dir, main page]

WO2006013857A1 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
WO2006013857A1
WO2006013857A1 PCT/JP2005/014116 JP2005014116W WO2006013857A1 WO 2006013857 A1 WO2006013857 A1 WO 2006013857A1 JP 2005014116 W JP2005014116 W JP 2005014116W WO 2006013857 A1 WO2006013857 A1 WO 2006013857A1
Authority
WO
WIPO (PCT)
Prior art keywords
cpu
main cpu
sub cpu
execute
processing
Prior art date
Application number
PCT/JP2005/014116
Other languages
English (en)
French (fr)
Inventor
Shuichi Mitarai
Original Assignee
Matsushita Electric Industrial Co., Ltd.
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 Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to US11/658,088 priority Critical patent/US7725749B2/en
Priority to JP2006531490A priority patent/JP4607884B2/ja
Publication of WO2006013857A1 publication Critical patent/WO2006013857A1/ja
Priority to US12/726,654 priority patent/US8341438B2/en

Links

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/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • 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/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Definitions

  • the present invention relates to an information processing apparatus, and more specifically, relates to an information processing apparatus capable of reducing power consumption.
  • Patent Document 1 an information processing apparatus including a main CPU and a sub CPU that consumes less power than the main CPU has been proposed (see Patent Document 1).
  • the main CPU and the peripheral device in charge of the main CPU are directly connected, and the sub CPU and the peripheral device in charge of the sub CPU are directly connected.
  • the conventional information processing apparatus can cause the sub CPU to execute processing with a low load such as waiting for a user's key input or a timer event. Therefore, the main CPU is not executed unnecessarily while a process with a small load is being executed, so that the power consumption can be reduced.
  • Patent Document 1 Japanese Patent Laid-Open No. 4-309110
  • an object of the present invention is to provide an information processing apparatus in which it is not fixed whether a main CPU or a sub CPU executes a processing request from a peripheral device while realizing low power consumption. That is.
  • a first aspect of the present invention is an information processing apparatus for controlling an internal or external peripheral device, which is a main CPU that can take at least two states of an operation state and a stop state, and consumes more than the main CPU.
  • a process that determines whether the main CPU can execute the processing related to requests from the sub CPU and peripheral devices that can take at least two states: an operating state with low power and a stopped state.
  • a request determination unit which determines whether the main CPU is in a stopped state or an operating state, and allows the sub CPU to execute processing when the main CPU is in a stopped state. If the main CPU is in the operating state, determine whether the main CPU can execute processing, and depending on the result of the determination, process the main CPU or sub CPU. And wherein the Rukoto to row.
  • the main CPU when the main CPU is in a stopped state, the sub CPU is processed. Therefore, if the sub CPU can execute the process, the sub CPU executes the process. Therefore, the main CPU can be stopped for a long time, so that the power consumption is reduced.
  • the main CPU when the main CPU is in an operating state, it is determined whether or not the main CPU can execute the process. If the main CPU can execute the process, the main CPU executes the process. . Therefore, the response speed is improved.
  • an information processing device is provided in which it is not fixed whether the processing request from the peripheral device is executed by the main CPU or the sub CPU while realizing low power consumption.
  • the processing request determination unit causes the sub CPU to execute processing when the main CPU is in a stopped state, and causes the main CPU to execute processing when the main CPU is in an operating state.
  • the processing request determination unit determines whether or not the sub CPU is capable of accepting the processing, and if so, executes the processing to the sub CPU. If it is not acceptable, it is better to let the main CPU execute the process, and if the main CPU is in the operating state, let the main CPU execute the process.
  • the processing request determination unit determines whether or not the sub CPU is capable of accepting the processing, and if so, executes the processing to the sub CPU. If the main CPU is in the operating state, it is determined whether the main CPU can accept the process. If it is not possible to accept the process, determine whether the sub CPU can execute the process.
  • a processing request destination specifying unit that predefines a desired CPU that the processing is desired to be performed as the specified CPU information in correspondence with the processing in the peripheral device is further provided, and the processing request determination
  • the unit may determine whether the main CPU is in a stopped state or an operating state.
  • the processing request destination specifying unit further defines whether or not the processing is executed using a CPU other than the CPU defined in the specified CPU information as the other CPU useability information.
  • the processing request determination unit refers to the other CPU availability information to determine whether or not the sub CPU may execute the process. If it is OK to execute the process, it is determined that the sub CPU is to execute the process, and the sub CPU is allowed to execute the process. In this case, the main CPU is determined to execute the process.
  • the processing request determination unit determines whether the main CPU is capable of accepting processing when the main CPU is in an operating state, and when the main CPU is capable of accepting processing, the main CPU If the main CPU cannot accept the process, refer to the other CPU availability information to determine whether the sub CPU is allowed to execute the process. If it is allowed to execute the process, it is determined that the sub CPU is to execute the process, and if the sub CPU is not allowed to execute the process, it is determined that the main CPU is to execute the process.
  • the processing request determination unit is specified by the CPU information specified by the processing request destination specifying unit.
  • the CPU is a sub CPU, it is determined whether the sub CPU is in a stopped state or an operating state, and it is determined whether to execute the process on the main CPU or the sub CPU. Yo ⁇ .
  • the processing request destination designating unit further defines whether or not the processing is executed using a CPU other than the CPU defined in the designated CPU information as the other CPU availability information.
  • the processing request determination unit determines whether or not the main CPU can execute processing by referring to the other CPU availability information when the sub CPU is in a stopped state. If it is okay to execute the process, it is determined that the main CPU executes the process, and the main CPU executes the process. In this case, it is determined that the sub CPU executes the process.
  • the processing request determination unit determines whether or not the sub CPU is capable of accepting processing when the sub CPU is in an operating state, and when the sub CPU is capable of accepting processing, If the CPU decides to execute the process and the sub CPU cannot accept the process, refer to the information on the availability of other CPUs to determine whether the main CPU can execute the process. In this case, it may be determined that the main CPU executes the process, and if the main CPU should not execute the process, it may be determined that the sub CPU executes the process.
  • a processing request destination specifying unit that predefines a desired CPU that the processing is desired to be executed as the specified CPU information in correspondence with the processing in the peripheral device is further provided, and the processing request determination
  • the main CPU may refer to the specified CPU information to determine whether or not the sub CPU is allowed to execute processing, and may cause the sub CPU to execute processing. If this is not the case, let the sub CPU execute the process, and if the sub CPU should not execute the process, the main CPU should execute the process.
  • the main CPU when the main CPU is in a stopped state, it is determined whether or not the sub CPU may execute the process.
  • the processing request determination unit determines whether or not the main CPU is capable of accepting processing when the main CPU is in an operating state, and designates if the main CPU is not capable of accepting processing. Refer to the CPU information to determine whether or not the main CPU can execute the process. If the main CPU can execute the process, the main CPU executes the process and the main CPU performs the process. If it is not allowed to execute the process, let the sub CPU execute the process, and if the main CPU can accept the process, let the sub CPU execute the process.
  • the main CPU when the main CPU is in an operating state, it is determined whether or not the main CPU may execute the process.
  • the sub CPU and the main CPU cause the main CPU to take over the process executed by the sub CPU. It is advisable to execute processing for
  • the main CPU can take over the processing in the sub CPU.
  • the second aspect of the present invention includes a main CPU that can take at least two states of an operating state and a stopped state, and at least two states of an operating state and a stopped state that consume less power than the main CPU.
  • the main feature is that the main CPU or sub CPU executes the process according to the determination result.
  • the third aspect of the present invention includes a main CPU that can take at least two states of an operating state and a stopped state, and at least two states of an operating state and a stopped state that consume less power than the main CPU.
  • a main CPU that can take at least two states of an operating state and a stopped state, and at least two states of an operating state and a stopped state that consume less power than the main CPU.
  • An integrated circuit for controlling the main CPU is in a stopped state or an operating state, and when the main CPU is in a stopped state, the sub CPU executes processing related to a request from a peripheral device. If the main CPU is in an operating state, determine whether the main CPU can execute processing, and depending on the result of the determination, process the main CPU or sub CPU. It is made to perform.
  • the fourth aspect of the present invention includes a main CPU that can take at least two states of an operating state and a stopped state, and at least two states of an operating state and a stopped state that consume less power than the main CPU.
  • the main CPU is made to judge whether the sub CPU can execute processing related to the request for peripheral device power.
  • the main CPU is Let the computer device determine whether or not processing can be executed, and use the computer device to determine whether the main CPU or sub CPU uses the result of the determination. Characterized in that to perform the management.
  • the information processing apparatus of the present invention among the events that occur frequently, processing with a relatively small processing amount in the entire system is performed by low-frequency operation using a sub CPU with low power consumption. As a result, the main CPU with high power consumption can be stopped for a longer time.
  • the sub CPU can be used as an auxiliary CPU, so the CPU of the information processing device can be used effectively and power consumption can be reduced. It is.
  • FIG. 1 shows a hardware configuration of an information processing apparatus 100 according to the first embodiment of the present invention.
  • FIG. 1 shows a hardware configuration of an information processing apparatus 100 according to the first embodiment of the present invention.
  • FIG. 2 is a block diagram showing a functional configuration of the information processing apparatus 100 according to the first embodiment of the present invention.
  • FIG. 3 is a flowchart showing the operation of the information processing apparatus 100 according to the first embodiment.
  • FIG. 4 is a block diagram showing a functional configuration of an information processing apparatus 200 according to the second embodiment of the present invention.
  • FIG. 5 is a flowchart showing the operation of the information processing apparatus 200 according to the second embodiment of the present invention.
  • FIG. 6 is a block diagram showing a functional configuration of an information processing apparatus 300 according to the third embodiment of the present invention.
  • FIG. 7A is a flowchart showing the operation of the information processing apparatus 300 according to the third embodiment of the present invention.
  • FIG. 7B is a flowchart showing the operation of the information processing apparatus 300 according to the third embodiment of the present invention.
  • FIG. 7C is a flowchart showing the operation of the information processing apparatus 300 according to the third embodiment of the present invention.
  • FIG. 7D is a flowchart showing the operation of the information processing apparatus 300 according to the third embodiment of the present invention.
  • FIG. 8 is a sequence diagram illustrating in detail an example of a bow I-joining method for processing the sub CPU 2b force to the main CPU lb.
  • FIG. 9 is a block diagram showing a functional configuration of an information processing apparatus 400 according to the fourth embodiment of the present invention.
  • FIG. 10 is a flowchart showing the operation of the information processing apparatus 400 according to the fourth embodiment of the present invention.
  • FIG. 11 is a block diagram showing a functional configuration of an information processing apparatus 500 according to a fifth embodiment of the present invention.
  • FIG. 12 is a diagram showing an example of information stored in a processing request destination designating unit 36
  • FIG. 13A is a flowchart showing the operation of the information processing apparatus 500 according to the fifth embodiment of the present invention.
  • FIG. 13B is a flowchart showing an operation of the information processing apparatus 500 according to the fifth embodiment of the present invention.
  • FIG. 13C is a flowchart showing an operation of the information processing apparatus 500 according to the fifth embodiment of the present invention.
  • FIG. 13D is a flowchart showing an operation of the information processing apparatus 500 according to the fifth embodiment of the present invention.
  • FIG. 14 is a flowchart showing the operation of the information processing apparatus according to the sixth embodiment of the present invention.
  • FIG. 15 is a diagram showing another example of a table defined in the processing request destination designating unit 36.
  • FIG. 1 is a block diagram showing a hardware configuration of the information processing apparatus 100 according to the first embodiment of the present invention.
  • the information processing apparatus 100 includes a main CPU (Ml), a sub CPU (M2), an access arbitration circuit (M3), an interrupt controller (M4), peripheral devices (M5 to M7), RAM (M8 to M9).
  • Ml main CPU
  • M2 sub CPU
  • M3 access arbitration circuit
  • M4 interrupt controller
  • peripheral devices M5 to M7
  • RAM M8 to M9
  • the number of peripheral devices (M5 to M7) and RAM (M8 to M9) is not limited to the example shown in Figure 1! ,.
  • the main CPU (Ml) is a CPU that can take two states: an operating state and a stopped state.
  • the sub CPU (M2) is a CPU that can take two states: an operating state and a stopped state that consume less power than the main CPU (Ml).
  • the access arbitration circuit (M3) manages contention arbitration when accesses to the bus from the main CPU (Ml) and sub CPU (M2) occur simultaneously.
  • RAM (M8, M9) can restrict the access of main CPU (Ml) and sub CPU (M2) depending on the setting.
  • the peripheral devices (M5 to M7) are, for example, HDDs, timers, keyboards, button switches, liquid crystal displays, MPEG decoders, etc., and are connected to the main CPU (Ml) and sub CPU (M2) via a bus. ! ⁇ .
  • the peripheral devices (M5 to M7) may be devices provided outside the force information processing device 100 shown as being devices provided inside the information processing device 100.
  • Both the main CPU (Ml) and the sub CPU (M2) can access the peripheral devices (M5 to M7).
  • the peripheral devices (M5 to M7) send an interrupt signal to the interrupt controller (M4) when they want to execute a certain process.
  • the interrupt controller (M4) receives an interrupt signal from the peripheral device (M5 to M7), the interrupt controller (M4) is based on the state of the main CPU (Ml)! Send an interrupt signal to (M2), and if the main CPU (Ml) is operating, interrupt signal to the main CPU (Ml) Is sent out.
  • the main CPU (Ml) has an operating state and a stopped state.
  • the interrupt controller (M4) writes the status to the register (main CPU status determination register) in the interrupt controller (M4) whenever the status of the main CPU (Ml) changes.
  • FIG. 2 is a block diagram showing a functional configuration of the information processing apparatus 100 according to the first embodiment of the present invention.
  • the information processing apparatus 100 includes a main CPU 1, a sub CPU 2, a processing request determination unit 3, and peripheral devices 41 to 43.
  • the main CPU 1 corresponds to the main CPU (Ml) in FIG.
  • the sub CPU 2 corresponds to the sub CPU (M2) in FIG.
  • the processing request determination unit 3 corresponds to the interrupt controller (M4) in FIG.
  • the peripheral devices 41 to 43 correspond to the peripheral devices (M5 to M7) in FIG.
  • the main CPU 1 includes an interrupt determination unit 11.
  • the sub CPU 2 includes an interrupt determination unit 21.
  • the processing request determination unit 3 includes a main CPU state determination register 31, an interrupt request register 32, and a sub CPU state determination register 33.
  • the main CPU 1 can take two states, an operating state and a stopped state.
  • the main CPU 1 sends a notification of whether it is in a stopped state or an operating state to the main CPU state determination register 31.
  • the main CPU state determination register 31 stores whether the main CPU 1 is in a stopped state or whether it is in an operating state.
  • the main CPU state determination register 31 changes the value of the flag by a write process from the main CPU 1, and writes a stop flag when the main CPU 1 transitions to the stop state and an operation flag when the main CPU 1 transitions to the operation state.
  • the sub CPU 2 can take two states, an operating state and a stopped state.
  • the sub CPU 2 sends a notification of whether it is in the stopped state or the operating state to the sub CPU state determination register 33.
  • the sub CPU status determination register 33 stores whether the sub CPU 2 is in a stopped state or whether it is in an operating state.
  • the sub CPU status determination register 33 changes the value of the flag by the write processing from the sub CPU 2, and writes the stop flag when the sub CPU 2 transits to the stop state and the operation flag when transits to the operation state.
  • the main CPU1 and the sub CPU2 can control the peripheral devices 41 to 43, respectively.
  • the main CPU1 and the sub CPU2 automatically stop when necessary processing is completed. Become.
  • the main CPU 1 performs a process for entering an operation state, and writes an operation flag in the main CPU state determination register 31 when the operation state is entered.
  • the interrupt request register 32 accepts an interrupt signal from the peripheral devices 41 to 43 and stores the interrupt signal.
  • the processing request determination unit 3 determines whether the main CPU 1 or the sub CPU 2 is to execute processing, and determines whether the main CPU 1 interrupt determination unit 11 or the sub CPU 2
  • the interrupt signal is sent to the interrupt determination unit 21.
  • the interrupt determination unit 11 detects an interrupt signal from the processing request determination unit 3.
  • the interrupt determination unit 21 detects the interrupt signal from the processing request determination unit 3.
  • FIG. 3 is a flowchart showing the operation of the information processing apparatus 100 according to the first embodiment.
  • the operation of the information processing apparatus 100 according to the first embodiment will be described with reference to FIG.
  • the processing request determination unit 3 indicates that the interrupt signal has been generated, in the peripheral device 41, 42, Remember by setting a flag at the location corresponding to 43 (step S1
  • the processing request determination unit 3 refers to the main CPU state determination register 31 and determines whether or not the main CPU 1 is in a stopped state (step S2).
  • the processing request determination unit 3 refers to the sub CPU state determination register 33 to determine whether or not the sub CPU 2 is in a stopped state (step S3).
  • the processing request determination unit 3 causes the sub CPU 2 to transition to the operating state, causes the sub CPU state determination register 33 to store that the sub CPU 2 is in the operating state (step S4), and step Proceed to S5.
  • the processing request determination unit 3 proceeds to the operation of step S5.
  • step S5 the processing request determination unit 3 sends an interrupt signal to the interrupt determination unit 21 of the sub CPU 2 (step S5).
  • step S6 the sub CPU 2 executes an interrupt process corresponding to the transmitted interrupt signal (step S6), and proceeds to the operation of step S7.
  • step S7 the sub CPU 2 checks whether or not a new interrupt is requested to the sub CPU 2 during the execution of step S6. If a new interrupt is requested, the sub CPU2 returns to the operation of step S6 and executes a new interrupt process. On the other hand, when a new interrupt is not requested, the sub CPU 2 transitions to a stopped state (step S8). The sub CPU2 notifies the main CPU state determination register 31 that it has transitioned to the stopped state. In response to this, the main CPU state determination register 31 stores that the main CPU 1 is in a stopped state.
  • step S2 If it is determined in step S2 that the main CPU 1 is not in a stopped state, that is, is in an operating state, the processing request determination unit 3 sends an interrupt signal to the interrupt determination unit 11 of the main CPU 1 ( Step S9).
  • the main CPU 1 executes interrupt processing corresponding to the transmitted interrupt signal (step S10), and proceeds to the operation of step S11.
  • step S11 the main CPU 1 checks whether or not a new interrupt is requested to the main CPU 1 during the execution of step S10. When a new interrupt is requested, the main CPU 1 returns to the operation of step S10 and executes a new interrupt process. On the other hand, when a new interrupt is not requested, the main CPU 1 transitions to a stopped state (step S12). The main CPU 1 notifies the main CPU state determination register 31 that it has transitioned to the stopped state. In response to this, the main CPU state determination register 31 stores that the main CPU 1 is in a stopped state.
  • the information processing apparatus 100 determines whether or not the main CPU 1 is in a stopped state when an interrupt signal is transmitted by the peripheral device.
  • the information processing apparatus 100 determines that the sub CPU 2 can execute interrupt processing, and causes the sub CPU 2 to execute interrupt processing. Therefore, if the main CPU 1 is in the stopped state, the information processing apparatus 100 can execute the interrupt processing without starting up the main CPU 1, so that the main CPU 1 can be kept in the stopped state for a long time. , Power consumption can be reduced.
  • the information processing apparatus 100 determines that the main CPU 1 can execute interrupt processing, and causes the main CPU 1 to execute interrupt processing.
  • the CPU to be used is selected according to the operating state of the main CPU 1. Therefore, the CPU that processes the request for the peripheral power is fixed while realizing the reduction in power consumption.
  • the information processing apparatus 100 that is not assigned is provided. In this embodiment, it is only necessary to determine which CPU is to process the processing request from the peripheral device according to the operating state of the CPU. Therefore, as in the past, each CPU and the peripheral device are directly connected, There is no need to clarify the correspondence. Therefore, even in an information processing apparatus with a different hardware configuration, if the processing request determination unit 3 according to the present embodiment is used, a processing request from a peripheral device can be processed by either the main CPU or the sub CPU while achieving low power consumption. Therefore, it is possible to provide an information processing apparatus that is not fixedly executed.
  • the interrupt determination units 11 and 21 may be in the CPU or in the processing request determination unit 3. Further, the main CPU state determination register 31 and the sub CPU state determination register 33 may be in the CPU or the processing request determination unit 3.
  • interrupt signal recording method in the interrupt request register 32 may be other than the recording method described above.
  • FIG. 4 is a block diagram showing a functional configuration of the information processing apparatus 200 according to the second embodiment of the present invention.
  • the information processing device 200 includes a main CPU 1, a sub CPU 2a, a processing request determination unit 3a, and peripheral devices 41 to 43.
  • the processing request determination unit 3a includes a main CPU state determination register 31, an interrupt request register 32, a sub CPU state determination register 33, and a sub CPU processing request completion determination register 34.
  • the sub CPU processing request completion determination register 34 stores whether or not the sub CPU 2a is disabled for interrupts. When the sub CPU 2a accepts the interrupt request, it writes a flag indicating that the sub CPU 2a is performing interrupt processing in the sub CPU processing request completion determination register 34. Include. When the sub CPU 2a finishes the interrupt process, the sub CPU 2a performs the interrupt process and writes a flag indicating that it is in the sub CPU process request completion determination register 34.
  • FIG. 5 is a flowchart showing the operation of the information processing apparatus 200 according to the second embodiment of the present invention.
  • the operation of the information processing apparatus 200 according to the second embodiment of the present invention will be described with reference to FIG.
  • the processing request determination unit 3a indicates that the interrupt signal has been generated, in the peripheral device 41, 42, Remember by setting a flag at the location corresponding to 43 (Step S2 Do)
  • the processing request determination unit 3a refers to the main CPU state determination register 31 and determines whether or not the main CPU 1 is in a stopped state (step S22).
  • the processing request determination unit 3a proceeds to the operation of step S32.
  • the processing request determination unit 3a refers to the sub CPU state determination register 33 to determine whether or not the sub CPU 2a is in the stopped state (step S23).
  • the processing request determination unit 3a changes the sub CPU 2a to the operation state, rewrites the sub CPU state determination register 33 (step S24), and proceeds to the operation of step S25.
  • the processing request determination unit 3a proceeds to the operation of step S25.
  • step S25 the processing request determination unit 3a refers to the sub CPU processing request completion determination register 34, and determines whether or not the sub CPU 2a is capable of accepting an interrupt request. If the sub CPU 2a cannot accept the interrupt request, that is, if the sub CPU 2a is executing the interrupt request, the processing request determination unit 3a proceeds to the operation of step S26. On the other hand, when the sub CPU 2a can accept the interrupt request, that is, when the sub CPU 2a is not executing the interrupt request, the processing request determination unit 3a proceeds to the operation of step S27.
  • step S26 the processing request determination unit 3a determines whether or not the main CPU 1 is in a stopped state.
  • the processing request determination unit 3a CPUl is changed to the operation state, the main CPU state determination register is rewritten (step S31), and the operation proceeds to step S32.
  • the processing request determination unit 3a proceeds to the operation of step S32.
  • step S27 the process request determination unit 3a sends an interrupt signal to the interrupt determination unit 21, and proceeds to the operation of step S28.
  • step S28 the sub CPU 2a executes interrupt processing.
  • the sub CPU 2a writes a flag indicating that the sub CPU 2a is processing interrupt processing to the sub CPU processing request completion determination register 34.
  • the sub CPU 2a performs the interrupt process and writes a flag indicating that to the sub CPU process request completion determination register 34.
  • it is checked again during step S28 whether or not the interrupt is generated to the sub CPU 2a (step S29) .
  • the interrupt signal is detected again by the interrupt determination unit 21, the process goes to step S28. If it does not return, transition to the stop state (step S30).
  • the sub CPU 2a notifies the sub CPU state determination register 33 that it has transitioned to the stopped state. In response to this, the sub CPU state determination register 33 stores that the sub CPU 2a is in a stopped state.
  • step S32 the processing request determination unit 3a sends an interrupt signal to the interrupt determination unit 11 of the main CPU1.
  • step S33 the main CPU 1 executes interrupt processing corresponding to the transmitted interrupt signal (step S33), and proceeds to the operation of step S34.
  • step S33 the main CPU 1 requests a new interrupt from the main CPU 1 during the execution of step S33! Check if you speak. A new interrupt is requested! When speaking, the main CPU 1 returns to the operation of step S33 and executes a new interrupt process.
  • step S35 the main CPUl notifies the main CPU state determination register 31 that it has transitioned to the stopped state. In response to this, the main CPU state determination register 31 stores that the main CPU 1 is in a stopped state.
  • the information processing apparatus 200 determines whether or not the main CPU 1 is in a stopped state when an interrupt signal is transmitted by the peripheral device.
  • Main C When PU1 is in the stopped state, the information processing apparatus 200 determines whether or not the sub CPU 2a can execute interrupt processing.
  • the information processing apparatus 200 causes the sub CPU 2a to execute interrupt processing. Therefore, if the main CPU 1 is in the stopped state and the sub CPU 2a can execute the interrupt processing, the interrupt processing can be executed without starting up the main CPU 1. Therefore, the main CPU 1 is stopped for a long time. Power consumption can be reduced.
  • the information processing apparatus 200 causes the main CPU 1 to execute the interrupt process by shifting the main CPU 1 to the operating state. . If the main CPU 1 is in an operating state, the information processing apparatus 200 determines that the main CPU 1 can execute interrupt processing, and causes the main CPU 1 to execute interrupt processing. Therefore, the response speed of interrupt processing is improved. As described above, in this embodiment, the CPU to be used is selected according to the operating state of the main CPU 1 and the sub CPU 2a. Therefore, the CPU that processes the request from the peripheral device while reducing the power consumption is realized. The information processing apparatus 200 that is not fixedly assigned is provided.
  • the interrupt determination units 11 and 21 may be in the CPU or in the processing request determination unit 3a. Further, the main CPU state determination register 31 and the sub CPU state determination register 33 may be in the CPU or in the processing request determination unit 3a. The sub CPU processing request completion determination register 34 may also be in the CPU or in the processing request determination unit 3.
  • the recording method of the interrupt signal in the interrupt request register 32 may be other than the recording method as shown in FIG. [0076] (Third embodiment)
  • FIG. 6 is a block diagram showing a functional configuration of the information processing apparatus 300 according to the third embodiment of the present invention.
  • the information processing device 300 includes a main CPU lb, a sub CPU 2b, a processing request determination unit 3b, peripheral devices 41 to 43, a main CPU activation request transmission unit 44, a storage area determination unit 51, A storage area 61 is provided.
  • parts having the same functions as those in the first and second embodiments are denoted by the same reference numerals, and detailed description thereof is omitted.
  • the storage area 61 is a storage area that can be referred to by the main CPU 1 and the sub CPU 2.
  • the storage area 61 corresponds to the RAM (M8, M9) in FIG.
  • the storage area determination unit 51 stores whether or not the storage area 61 is used by the sub CPU 2b.
  • the storage area determination unit 51 manages the usage status of the storage area 61 by the sub CPU 2b using the Lock variable.
  • the storage area determination unit 51 corresponds to the RAM (M8, M9) in FIG.
  • the storage area determination unit 51 stores a flag indicating that the storage area 61 is being referred to in the Lock variable while the storage area 61 is being referenced by the sub CPU 2. This flag is set by the sub CPU 2b when the sub CPU 2 refers to the storage area 61. If this flag is set, the Lock variable is locked. If the flag is set, the Lock variable is released.
  • the main CPU activation request sending unit 44 sends an interrupt signal for setting the main CPUlb to an operating state.
  • the main CPUlb and the sub CPU2b are the same as the main CPU1 and the sub CPU2 and 2b according to the first and second embodiments, except that the storage area determination unit 51 and the storage area 61 are accessible. It has a function.
  • the storage area 61 and the storage area determination unit 51 corresponding to the storage area 61 and the storage area determination unit 51 corresponding to the storage area 61 and the corresponding storage area determination unit 51 do not matter how many pairs exist.
  • FIGS. 7A to 7D are flowcharts showing the operation of the information processing apparatus 300 according to the third embodiment of the present invention.
  • the processing request determination unit 3b indicates that the interrupt signal has been generated, in the peripheral device 41, 42, Remember by setting a flag at the location corresponding to 43 (Step S4 Do)
  • the processing request determination unit 3b refers to the main CPU state determination register 31 and determines whether or not the main CP Ulb is in a stopped state (step S42).
  • the processing request determination unit 3b proceeds to the operation of step S49.
  • the processing request determination unit 3b refers to the sub CPU state determination register 33 and determines whether or not the sub CPU 2b is in the stopped state (step S43).
  • the processing request determination unit 3b changes the sub CPU 2b to the operating state, rewrites the sub CPU state determination register 33 (step S44), and proceeds to the operation of step S45.
  • the processing request determination unit 3b proceeds to the operation of step S45.
  • step S45 the processing request determination unit 3b refers to the sub CPU processing request completion determination register 34, and determines whether or not the sub CPU 2b can accept the interrupt request. If the sub CPU 2b cannot accept the interrupt request, the processing request determination unit 3b proceeds to the operation of step S47. On the other hand, when the sub CPU 2b can accept the interrupt request, the processing request determination unit 3b proceeds to the operation of step S46.
  • step S47 the processing request determination unit 3b determines whether or not the main CPUlb is in a stopped state.
  • the processing request determination unit 3b changes the main CPU lb to the operation state, rewrites the main CPU state determination register (step S48), and proceeds to the operation of step S49.
  • the processing request determination unit 3b proceeds to the operation of step S49.
  • step S46 the processing request determination unit 3b sends an interrupt signal to the interrupt determination unit 21 of the sub CPU 2b, and proceeds to the operation of step S100.
  • step S49 the processing request determination unit 3b sends an interrupt signal to the interrupt determination unit 11 of the main CPUlb, and proceeds to the operation of step S200.
  • FIG. 7B is a flowchart showing the operation of the information processing apparatus 300 in step S100 of FIG. 7A. Yat. Hereinafter, the operation of the information processing apparatus 300 in step S100 of FIG. 7A will be described with reference to FIG. 7B.
  • the sub CPU 2b starts the sub CPU interrupt routine upon detection of the interrupt signal (step S101), writes the interrupt disable flag to the sub CPU processing request completion determination register 34 (step S102), and executes the interrupt processing. (Step S103).
  • the processing request determination unit 3b determines whether or not a main CPUlb activation request has been made during execution of the interrupt processing by the sub CPU 2b (step S104).
  • the processing request determination unit 3b executes a processing change routine (step S300), and proceeds to the operation of step S106.
  • the processing request determination unit 3b writes the interrupt enable flag to the sub CPU processing request completion determination register 34 after completion of the interrupt processing (step S105), and step S Proceed to 106 actions.
  • step S 106 the processing request determination unit 3 b determines whether a new interrupt request is generated for the sub CPU 2 during the interrupt processing. If a new interrupt request has occurred, the processing request determination unit 3b returns to the operation of step S102. On the other hand, if a new interrupt request has not occurred, the processing request determination unit 3b transitions the sub CPU 2b to the stopped state (step S107) and ends the sub CPU interrupt routine (step S 108).
  • FIG. 17C is a flowchart showing the operation of the information processing apparatus 300 in step S200.
  • the main CPUlb detects an interrupt signal by the interrupt determination unit 11
  • the main CPUlb starts a main CPU interrupt routine (step S201).
  • the main CPUlb executes an interrupt process corresponding to the interrupt signal (step S202).
  • the main CPUlb determines whether or not a new interrupt request for the main CPUlb is generated during step S202 (step S203). If a new interrupt request has occurred, the main CP Ulb returns to step S202 and processes the new interrupt request.
  • FIG. 17D is a flowchart showing the operation of the information processing apparatus 300 in step S300.
  • the sub CPU 2b transmits the interrupt processing number (hereinafter referred to as the interrupt number) that the sub CPU 2b currently accepts to the main CPU activation request sending unit 44.
  • the main CPU activation request transmission unit 44 transmits an interrupt signal including the interrupt number to the processing request determination unit 3b (step S303).
  • the processing request determination unit 3b sends the interrupt signal to the main CPU lb (step S304).
  • the main CPUlb performs a busy loop until the lock variable can be acquired from the storage area determination unit 51 (step S305), and when the lock variable is acquired, the subsequent processing of the sub CPU 2b is started (step S306). ), The processing change routine is terminated (step S307).
  • FIG. 8 is a sequence diagram showing in detail an example of a method for taking over the processing of the sub CPU 2b power to the main CPU lb.
  • the main CPUlb is in a stopped state (step S40)
  • Do sub CPU2b executes interrupt processing in response to the interrupt signal sent (step S501) (step S502), and the storage area determination unit
  • the lock variable is acquired from 51 (step S503)
  • the sub CPU 2b transmits an activation request to the main CPU 1b to the main CPU activation request sending unit 44 (step S504).
  • the main CPU start request sending unit 44 sends an interrupt signal to the main CPUlb, and the main CPUlb start interrupt is executed (step S505).
  • the main CPUlb executes a startup process for entering an operating state (step S402).
  • the main CPUlb sets the main CPU status determination register 31 to the operating status.
  • the processing request determination unit 3b sends an interrupt signal to the main CPUlb (step S601) and sends a main CPU start completion interrupt signal as a start completion trigger to the sub CPU2b. Send out (step S403).
  • the sub CPU 2b flushes the cache data stored in the storage area 61 (step S506), and stores the register information in the storage area 61 (step S507).
  • the main CPUlb (Step S404).
  • the main CPUlb exits the busy loop, acquires the lock variable (step S405), and acquires the register information stored by the sub CPU 2b from the storage area 61.
  • the continuation of the interrupt processing that has been executed by the sub CPU 2b is started (step S407).
  • the start completion trigger of the main CPUlb described in the above example is realized by changing the main CPU state determination register 31.
  • the event for the start completion trigger may be executed by a dedicated peripheral device for notifying the sub CPU 2b of the event.
  • the information processing apparatus 300 determines whether or not the main CPUlb is in a stopped state when an interrupt signal is transmitted by the peripheral device.
  • the information processing apparatus 300 determines whether or not the sub CPU 2b can execute interrupt processing.
  • the information processing apparatus 300 causes the sub CPU 2b to execute interrupt processing. Therefore, if the main CPUlb is in the stopped state and the sub CPU 2b can execute the interrupt processing, the interrupt processing can be executed without starting up the main CPUlb. Power consumption can be reduced.
  • the information processing apparatus 300 causes the main CPU lb to execute the interrupt processing by shifting the main CPU lb to the operating state. If the main CPUlb is in an operating state, the information processing apparatus 300 causes the main CPUlb to execute an interrupt process. Therefore, the response speed of interrupt processing is improved.
  • the information processing device 300 operates so that the processing of the sub CPU 2b is continued by the main CPU lb. To do. Therefore, the response speed of interrupt processing is further improved.
  • the CPU to be used is selected according to the operation state of the main CPU lb and the sub CPU 2b, so that the CPU that processes the request from the peripheral device while reducing the power consumption is realized.
  • the information processing apparatus 300 is provided.
  • the processing request from the peripheral device is sent to which CPU. Therefore, it is not necessary to connect the CPUs directly to peripheral devices and to clarify the correspondence between them. Therefore, even in an information processing device with a different hardware configuration, if the processing request determination unit 3b according to the present embodiment is used, processing requests from peripheral devices can be transferred to the main CPU or sub-processor while realizing low power consumption. It is possible to provide an information processing device whose CPU is not fixed.
  • the interrupt determination units 11 and 21 may be in the CPU or in the processing request determination unit 3b. Further, the main CPU state determination register 31 and the sub CPU state determination register 33 may be in the CPU or in the processing request determination unit 3b. The sub CPU processing request completion determination register 34 may also be in the CPU or in the processing request determination unit 3b.
  • the interrupt signal recording method in the interrupt request register 32 may be other than the recording method shown in FIG.
  • FIG. 9 is a block diagram showing a functional configuration of an information processing apparatus 400 according to the fourth embodiment of the present invention.
  • the information processing device 400 includes a main CPUlc, a sub CPU 2a, a processing request determination unit 3c, and peripheral devices 41 to 43.
  • the processing request determination unit 3c includes a main CPU state determination register 31, a main CPU processing request completion determination register 35, an interrupt request register 32, a sub CPU state determination register 33, and a sub CPU processing request completion determination register 34. Including.
  • the main CPU processing request completion determination register 35 stores whether or not the main CPUlc is disabled for interrupts.
  • the main CPUlc When the main CPUlc receives the interrupt request, the main CPUlc writes a flag indicating that the main CPUlc is processing an interrupt in the main CPU processing request completion determination register 35.
  • the main CPUlc displays a flag indicating that the main CPU Ulc is not performing interrupt processing, indicating that the main CPU processing request has been completed. Write to constant register 35.
  • the information processing apparatus 400 according to the fourth embodiment has a configuration in which the main CPU processing request completion determination register 35 is added to the information processing apparatus 200 according to the second embodiment.
  • FIG. 10 is a flowchart showing the operation of the information processing apparatus 400 according to the fourth embodiment of the present invention.
  • the operation of the information processing apparatus 400 according to the fourth embodiment of the present invention will be described with reference to FIG.
  • step S51 the processing request determination unit 3c executes the operation in step S51.
  • step S51 the processing request determination unit 3c refers to the register V, which is stored in the main CPU processing request completion determination register 35, and determines whether or not the main CPUlc can accept an interrupt. If the main CPUlc is not capable of accepting an interrupt, the information processing apparatus 400 proceeds to the operation of step S23. On the other hand, if the main CPUlc can accept an interrupt, the information processing apparatus 400 proceeds to the operation of step S32.
  • the subsequent processing procedure is the same as in the second embodiment.
  • the sub CPU 2a executes the interrupt process, so that the main CPU 1 can be stopped for a long time.
  • the sub CPU 2a can also perform the interrupt processing in parallel, so that the response speed of the information processing device 400 is improved as compared with the second embodiment. . Therefore, an information processing apparatus capable of improving the response speed while reducing power consumption is provided.
  • FIG. 11 is a block diagram showing a functional configuration of an information processing apparatus 500 according to the fifth embodiment of the present invention.
  • the information processing device 500 includes a main CPUlc, a sub CPU 2a, a processing request determination unit 3d, and peripheral devices 41 to 43.
  • parts having the same functions as those in the fourth embodiment are denoted by the same reference numerals, and description thereof is omitted.
  • the processing request determination unit 3d includes a main CPU status determination register 31, a main CPU processing request completion determination register 35, an interrupt request register 32, a sub CPU status determination register 33, and a sub CPU processing request completion determination register 34. And a processing request destination designating unit 36.
  • the processing request destination specifying unit 36 associates the interrupt number with information on whether the processing request determination unit 3d should send an interrupt signal to the main CPUlc or the sub CPU 2a (hereinafter referred to as specified CPU information). And information on whether or not a CPU other than the designated CPU may be used (information on availability of other CPUs) is stored.
  • FIG. 12 is a diagram showing an example of information stored in the processing request destination designating unit 36.
  • the processing request determination unit 3d should send an interrupt signal to the main CPUlc. It is defined that an interrupt signal may be sent to the sub CPU 2a. Also, for example, when interrupt processing from the peripheral device 42 (or 43) is assigned as an interrupt number, the processing request determination unit 3d should send an interrupt death cause to the sub CPU 2a. It is defined, and an interrupt signal is sent to the main CPUlc!
  • the definition content of the processing request destination designation unit 36 is defined, for example, when the information processing apparatus 500 is activated.
  • FIGS. 13A to 13D are flowcharts showing the operation of the information processing apparatus 500 according to the fifth embodiment of the present invention.
  • the operation of the information processing apparatus 500 according to the fifth embodiment of the present invention will be described with reference to FIGS. 13A to 13D.
  • the processing request determination unit 3d indicates that the interrupt signal has been generated, in the peripheral device 41, 42, Remember by setting a flag at the location corresponding to 43 (Step S6 D o
  • the processing request determination unit 3d executes a processing request destination determination function to determine a CPU on which interrupt processing is to be executed (step S700).
  • step S700 when the sub CPU 2a is designated as the CPU that executes the interrupt processing, the processing request determination unit 3d refers to the sub CPU status determination register 33 and determines whether the sub CPU 2a is in the stopped state. (Step S62). If the sub CPU 2a is in the stopped state, the processing request determination unit 3d shifts the sub CPU 2a to the operating state (step S63), and proceeds to the operation of step S64. On the other hand, when the sub CPU 2a is in the operating state, the processing request determination unit 3d proceeds to the operation of step S64. In step S64, the processing request determination unit 3d refers to the sub CPU processing request completion determination register 34 to determine whether or not the sub CPU 2a is capable of accepting interrupt processing.
  • step S64 If the sub CPU 2a cannot accept the interrupt process, the process request determination unit 3d returns to the operation of step S64. On the other hand, if the sub CPU 2a can accept interrupt processing, the processing request determination unit 3d sends an interrupt signal to the interrupt determination unit 21 (step S65) and executes the sub CPU interrupt processing routine (step S900). Execute.
  • step S700 when the main CPUlc is designated as the CPU that executes the interrupt processing, the processing request determination unit 3d refers to the main CPU state determination register 31 and determines whether the main CPUlc is in the stopped state. (Step S66). If the main CPUlc is in the stopped state, the processing request determination unit 3d changes the main CPUlc to the operating state (step S67), and proceeds to the operation of step S68. On the other hand, when the main CPUlc is in the operating state, the processing request determination unit 3d proceeds to the operation of step S68. In step S68, the processing request determination unit 3d refers to the main CPU processing request completion determination register 35 to determine whether or not the main CPUlc is capable of accepting interrupt processing.
  • step S68 If the main CPUlc cannot accept the interrupt process, the process request determination unit 3d returns to the operation of step S68. On the other hand, if the main CPUlc can accept interrupt processing, the processing request determination unit 3d sends an interrupt signal to the interrupt determination unit 11 (step S69) and executes the main CPU interrupt processing routine (step S800). To do.
  • FIG. 13B is a flowchart showing details of the process in step S700 in FIG. 13A. is there. Hereinafter, the details of the processing in step S700 in FIG. 13A will be described with reference to FIG. 13B.
  • the processing request determination unit 3d refers to the specified CPU information of the processing request destination specifying unit 36, and which CPU is corresponding to the interrupt signal. It is confirmed whether it is specified! (Step S702).
  • the processing request determination unit 3d refers to the main CPU state determination register 31 to determine whether or not the main CPUlc is in a stopped state (step S707). . If the main CPUlc is in the operating state, the processing request determination unit 3d proceeds to the operation of step S709. On the other hand, when the main CPUlc is in the stopped state, the processing request determination unit 3d refers to the other CPU availability information of the processing request destination specifying unit 36 and determines whether or not to send an interrupt signal to the sub CPU 2a. Is determined (step S708).
  • the processing request determination unit 3d selects the sub CPU 2a as the processing request destination CPU and ends the processing request destination determination function (step S711). On the other hand, if an interrupt signal should not be sent to the sub CPU 2a, the processing request determination unit 3d proceeds to the operation of step S709.
  • the processing request determination unit 3d refers to the main CPU processing request completion determination register 35 to determine whether or not the main CPUlc is capable of accepting an interrupt. If the main CPUlc can accept interrupts, the processing request determination unit 3d selects the main CPUlc as the processing request destination CPU and ends the processing request destination determination function (step S712). On the other hand, if the main CPUlc is not capable of accepting an interrupt, the processing request determination unit 3d determines whether or not an interrupt signal may be sent to the sub CPU 2a in the same manner as in step S708 (step S710).
  • the processing request determination unit 3d selects the sub CPU 2a as the processing request destination CPU and ends the processing request destination determination function (step S711). On the other hand, if the interrupt signal should not be sent to the sub CPU 2a, the processing request determination unit 3d selects the main CPUlc as the processing request destination CPU and ends the processing request destination determination function (step S712).
  • step S702 when the designated CPU is the sub CPU 2a, the processing request determination unit 3d refers to the sub CPU state determination register 33 and the sub CPU 2a is in the stopped state. It is determined whether or not the force is sufficient (step S703). When the sub CPU 2a is in the operating state, the processing request determination unit 3d proceeds to the operation of step S705. On the other hand, when the sub CPU 2a is in the stopped state, the processing request determination unit 3d refers to the other CPU availability information of the processing request destination designation unit 36 and determines whether or not an interrupt signal may be sent to the main CPUlc. Judgment is made (step S7 04).
  • the processing request determination unit 3d selects the main CPUlc as the processing request destination CPU and ends the processing request destination determination function (step S712). On the other hand, if an interrupt signal should not be sent to the main CPUlc, the processing request determination unit 3d proceeds to the operation of step S705.
  • step S705 the processing request determination unit 3d refers to the sub CPU processing request completion determination register 34 to determine whether the sub CPU 2a is capable of accepting an interrupt. If the sub CPU 2a can accept interrupts, the processing request determination unit 3d selects the sub CPU 2a as the processing request destination CPU and ends the processing request destination determination function (step S711). On the other hand, if the sub CPU 2a is not capable of accepting an interrupt, the processing request determination unit 3d determines whether or not an interrupt signal may be sent to the main CPUlc in the same manner as in step S704 (step S706).
  • the processing request determination unit 3d selects the main CPUlc as the processing request destination CPU and ends the processing request destination determination function (step S712). On the other hand, when the interrupt signal cannot be sent to the main CPUlc, the processing request determination unit 3d selects the sub CPU 2a as the processing request destination CPU and ends the processing request destination determination function (step S711).
  • FIG. 13C is a flowchart showing details of the main CPU interrupt processing routine in step S800 in FIG. 13A. The details of the main CPU interrupt processing routine in step S800 in FIG. 13A will be described below with reference to FIG. 13C.
  • step S801 When the main CPU interrupt processing routine is started and the interrupt determination unit 11 detects an interrupt signal (step S801), the main CPUlc writes an interrupt disable flag to the main CPU processing request completion determination register 35 ( In step S802, interrupt processing corresponding to the interrupt number is executed (step S803). When interrupt processing is completed, the main CPUlc writes an interrupt enable flag in the main CPU processing request completion determination register 35 (step S804). Next, the main CPUlc refers to the interrupt determination unit 11 to allocate It is determined whether or not there is a request for inclusion (step S805). If there is an interrupt request, the main CPUlc returns to the operation of step S802. On the other hand, if there is no interrupt request, the main CPUlc transitions to a stopped state (step S806) and ends the main CPU interrupt processing routine (step S807).
  • FIG. 13D is a flowchart showing details of the sub CPU interrupt processing routine in step S900 in FIG. 13A.
  • the details of the sub CPU interrupt processing routine in step S900 in FIG. 13A will be described with reference to FIG. 13D.
  • step S901 When the sub CPU interrupt processing routine is started and the interrupt determination unit 21 detects an interrupt signal (step S901), the sub CPU 2a writes an interrupt disable flag to the sub CPU processing request completion determination register 34 (step S901). (S902), the interrupt process corresponding to the interrupt number is executed (step S903). When the interrupt processing is completed, the sub CPU 2a writes an interrupt permission flag in the sub CPU processing request completion determination register 34 (step S904). Next, the sub CPU 2a refers to the interrupt determination unit 21 to determine whether or not there is an interrupt request (step S905). If there is an interrupt request, the sub CPU2a returns to the operation of step S902. On the other hand, if there is no interrupt request, the sub CPU 2a transitions to the stop state (step S906) and ends the sub CPU interrupt processing routine (step S907).
  • the information processing apparatus 500 when the main CPUlc is specified by the processing request destination specifying unit 36, the information processing apparatus 500 first determines whether or not the main CPUlc is in a stopped state (FIG. (See step S707 of 13B) o When the main CPUlc is in the stopped state, the information processing apparatus 500 determines whether or not the sub CPU 2a can execute the interrupt process (see step S708 of FIG. 13B).
  • the information processing apparatus 500 causes the sub CPU 2a to execute interrupt processing. Therefore, if the main CPUlc is stopped and the sub CPU 2a can execute interrupt processing, the main CPUlc is started. Since the interrupt process can be executed without raising it, the main CPUlc can be stopped for a long time, and the power consumption can be reduced. On the other hand, when the main CPUlc is in an operating state, the processing request determination unit 3d determines whether or not the main CPUlc can execute interrupt processing. When the interrupt processing can be executed by the main CPUlc, the interrupt processing is executed by the main CPUlc, so that the response speed is improved.
  • the interrupt determination units 11 and 21 may be in the CPU or in the processing request determination unit 3d. Further, the main CPU state determination register 31 and the sub CPU state determination register 33 may be in the CPU or in the processing request determination unit 3d. The sub CPU processing request completion determination register 34 may also be in the CPU or in the processing request determination unit 3d.
  • interrupt signal recording method in the interrupt request register 32 may be other than the recording method shown in FIG.
  • a busy loop is used as a process until an interrupt can be accepted. Therefore, the processing request determination unit 3d accumulates the interrupt processing in a time series in a queue-like data structure, and sends subsequent interrupt signals while monitoring the interrupt determination units 11 and 21. Good.
  • steps S709 and S703, and ⁇ to S705 may be omitted.
  • FIG. 14 is a flowchart showing the operation of the information processing apparatus according to the sixth embodiment of the present invention.
  • the information processing apparatus according to the sixth embodiment of the present invention will be described with reference to FIG. The operation will be explained.
  • the processing request determination unit 3d refers to the main CPU state determination register 31 to determine whether or not the main CPU 1 is in a stopped state (step S72).
  • the processing request determination unit 3d refers to the main CPU processing request completion determination register 35 to determine whether or not the main CPUlc can accept an interrupt. Is determined (step S73). If the interrupt can be accepted, the processing request determination unit 3d refers to the specified CPU information in the table defined in the processing request destination specification unit 36, and determines whether the main CPUlc is specified as the specified CPU. Based on the above, it is determined whether or not an interrupt signal may be sent to the main CPUlc (step S74).
  • the processing request destination specifying unit 36 as shown in FIG. 15 in addition to FIG. 12, only the specified CPU information is defined corresponding to the interrupt number. May be used.
  • step S74 when an interrupt signal should not be sent to the main CPUlc, the processing request determination unit 3d proceeds to the operation of step S75. On the other hand, if an interrupt signal may be sent to the main CPUlc, the processing request determination unit 3d proceeds to the operation of step S81.
  • step S75 the processing request determination unit 3d refers to the sub CPU state determination register 33 and determines whether or not the sub CPU 2a is in a stopped state.
  • step S76 When the sub CPU 2a is in the stopped state, the processing request determination unit 3d shifts the sub CPU 2a to the operating state (step S76), and proceeds to the operation of step S77. On the other hand, when the sub CPU 2a is not in the stopped state, the processing request determination unit 3d proceeds to the operation of step S77.
  • step S77 the processing request determination unit 3d refers to the sub CPU processing request completion determination register 34 to determine whether or not the sub CPU 2a can accept the interrupt signal.
  • step S7 Returning to the operation in step 7, while it is determined that interrupts cannot be accepted, a busy loop is performed and waits until an interrupt can be accepted. If the sub CPU 2a can accept the interrupt signal, the processing request determination unit 3d sends an interrupt signal to the interrupt determination unit 21 (step S78), and executes the sub CPU interrupt processing routine (step S900). Since the sub CPU interrupt processing routine is the same as that of the fifth embodiment, description thereof is omitted with the aid of FIG. 13D.
  • the processing request determination unit 3d refers to the specified CPU information in the table defined in the processing request destination specification unit 36, and sends it to the sub CPU 2a. It is determined whether or not an interrupt signal may be transmitted (step S79). 0 When the interrupt signal may be transmitted to the sub CPU 2a, the processing request determination unit 3d proceeds to the operation of step S75. On the other hand, when determining that the interrupt signal should not be sent to the sub CPU 2a, the processing request determination unit 3d shifts the main CPUlc to the operating state (step S80), and proceeds to the operation of step S81.
  • step S81 the processing request determination unit 3d refers to the main CPU processing request completion determination register 35 to determine whether or not the main CPUlc can accept an interrupt. If the main CPUlc is not capable of accepting an interrupt, the processing request determination unit 3d returns to the operation of step S81 and performs a busy wait until the interrupt can be accepted. If the interrupt can be accepted, the processing request determination unit 3d sends an interrupt signal to the interrupt determination unit 11 (step S82), and executes the main CPU interrupt processing routine (step S900). Since the main CPU interrupt processing routine is the same as that of the fifth embodiment, description thereof is omitted with the aid of FIG. 13C.
  • the information processing apparatus first determines whether or not the main CPUlc is in a stopped state (see step S72 in FIG. 14). When the main CPUlc is in the stopped state, it is determined whether or not the sub CPU 2a can execute interrupt processing (see step S79 in FIG. 14). Sub CPU2a If the interrupt process can be executed, the information processing apparatus causes the sub CPU 2a to execute the interrupt process.
  • step S74 in FIG. 14 it is determined whether or not the main CPUlc can execute interrupt processing.
  • the information processing apparatus causes the main CPUla to execute interrupt processing. Therefore, the response speed is improved.
  • the interrupt determination units 11 and 21 may be in the CPU or in the processing request determination unit 3d. Further, the main CPU state determination register 31 and the sub CPU state determination register 33 may be in the CPU or in the processing request determination unit 3d. The sub CPU processing request completion determination register 34 may also be in the CPU or in the processing request determination unit 3d.
  • interrupt signal recording method in the interrupt request register 32 may be other than the recording method shown in FIG.
  • a busy loop is used as a process until an interrupt can be accepted. Therefore, the processing request determination unit 3d accumulates the interrupt processing in a time series in a queue-like data structure, and sends subsequent interrupt signals while monitoring the interrupt determination units 11 and 21. Good.
  • the interrupt controller (M4) is a general-purpose computer device such as a microcomputer, the program stored in the storage device is read into the computer device, and the operation described in the above embodiment is executed on the computer device.
  • the processing request determination unit may be realized.
  • the program may be built in the information processing apparatus in advance, It may be installed on the information processing device.
  • the functional blocks for example, the processing request determination unit necessary for realizing the information processing apparatus of the present invention may be realized as an LSI that is an integrated circuit. These functional blocks may be integrated into a single chip, or may be integrated into a single chip to include some or all of them.
  • LSI degree of power integration
  • it may be called IC, system LSI, super LSI, or ultra LSI.
  • the method of circuit integration is not limited to LSI, and circuit integration may be performed using a dedicated circuit or a general-purpose processor.
  • FPGA Field Programmable Gate
  • the information processing apparatus can perform processing using a low-power-consumption sub CPU that does not frequently cause a high-performance, high-power-consumption main CPU to be in an operating state. Therefore, the information processing apparatus according to the present invention is useful in a mobile terminal apparatus driven by a battery. Further, the information processing apparatus according to the present invention can be used not only for mobile terminal apparatuses but also for various home appliances, information processing equipment, industrial equipment and the like that are expected to have a power reduction effect.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

 本発明の情報処理装置は、動作状態および停止状態の少なくとも2つの状態を取り得るメインCPUと、メインCPUよりも消費電力が少なく、動作状態および停止状態の少なくとも2つの状態を取り得るサブCPUと、周辺装置からの要求に関する処理を、メインCPUに実行させるか、それともサブCPUに実行させるかを判定する処理要求判定部とを備える。処理要求判定部は、メインCPUが停止状態であるかそれとも動作状態であるかを判断し、メインCPUが停止状態である場合、サブCPUに処理を実行させることができるか否かを判断し、メインCPUが動作状態である場合、メインCPUに処理を実行させることができるか否かを判断し、判断結果に応じて、メインCPUまたはサブCPUに処理を実行させる。

Description

明 細 書
情報処理装置
技術分野
[0001] 本発明は、情報処理装置に関し、より特定的には、消費電力の低減化を図ることが できる情報処理装置に関する。
背景技術
[0002] 近年、移動可能な情報処理装置は、目覚ましく普及して!/、る。携帯型電話装置、携 帯型パーソナルコンピュータ、携帯型電子手帳などが、その代表である。これら携帯 型端末装置は、いずれもノ ッテリー駆動によって連続的に動作する。したがって、より 長時間の使用が可能となるように、消費電力を削減するための開発が行われてきた。
[0003] とりわけ、携帯型電話装置では、搭載機能が豊富になる(以下、搭載機能のリッチ 化という)と共に、 CPUの性能も飛躍的に向上してきている。そのため、年々、装置全 体に占める CPUの消費電力の割合が増大しており、 CPUの省電力技術が必要とな つてきている。また、搭載機能のリッチ化は、同時に、システム要件において、高い要 件と低 、要件との格差を生んで 、る。
[0004] たとえば、携帯型電話装置での待ち受け画面のための処理や、時計表示の処理な ど、従来から存在する処理は、システム要件が低い。一方、動画表示のための処理 や、テレビ電話などの新規追加機能のための処理は、システム要件が高い。これらの 例から明らかなように、システム要件が低い処理の CPU処理量とシステム要件が高 い処理の CPU処理量との差は、大きい。 CPUは、システム要件が高い処理も低い処 理も実行できなければならな 、ので、全てのシステム要件を満たしうる性能を持って いなければならない。し力し、 CPUの性能を使い切る機能は、システム全体の中で、 ほんの一握りである。
[0005] そのため、メイン CPUと、メイン CPUよりも消費電力が少ないサブ CPUとを具備す る情報処理装置が提案されている (特許文献 1参照)。特許文献 1に記載の従来の情 報処理装置において、メイン CPUとメイン CPUが担当する周辺装置とが直接結線さ れ、サブ CPUとサブ CPUが担当する周辺装置とが直接結線されている。これにより、 従来の情報処理装置は、たとえば、ユーザのキー入力待ちやタイマイベントのような 負荷の小さな処理をサブ CPUに実行させることができる。したがって、負荷の小さな 処理が実行されている間、メイン CPUは無駄に実行されないので、消費電力の削減 力 S図られることとなる。
特許文献 1 :特開平 4— 309110号公報
発明の開示
発明が解決しょうとする課題
[0006] しかし、特許文献 1に記載の従来技術では、各 CPUと各 CPUが担当する周辺装置 とが直接結線されているので、周辺装置の処理を担当する CPUが固定的であり、装 置の状態に合わせて、柔軟に、 2つの CPUリソースを有効に活用することができなか つた。また、ハードウェア構成が異なる毎に、どの CPUとどの周辺装置とを結線しな ければならな 、かを再度設計する必要があった。
[0007] それゆえ、本発明の目的は、低消費電力化を実現しつつ、周辺装置からの処理要 求をメイン CPUまたはサブ CPUのどちらに実行させるかが固定的でない情報処理 装置を提供することである。
課題を解決するための手段
[0008] 上記課題を解決するために、本発明は、以下のような特徴を有する。本発明の第 1 の局面は、内部または外部の周辺装置を制御するための情報処理装置であって、動 作状態および停止状態の少なくとも 2つの状態を取り得るメイン CPUと、メイン CPU よりも消費電力が少なぐ動作状態および停止状態の少なくとも 2つの状態を取り得る サブ CPUと、周辺装置からの要求に関する処理を、メイン CPUに実行させる力、そ れともサブ CPUに実行させるかを判定する処理要求判定部とを備え、処理要求判定 部は、メイン CPUが停止状態であるかそれとも動作状態であるかを判断し、メイン CP Uが停止状態である場合、サブ CPUに処理を実行させることができる力否かを判断 し、メイン CPUが動作状態である場合、メイン CPUに処理を実行させることができる か否かを判断し、判断結果に応じて、メイン CPUまたはサブ CPUに処理を実行させ ることを特徴とする。
[0009] 本発明の第 1の局面によれば、メイン CPUが停止状態である場合、サブ CPUに処 理を実行させることができるか否かが判断されるので、サブ CPUに処理を実行させる ことができる場合、サブ CPUによって処理が実行される。したがって、メイン CPUを長 時間停止状態にしておくことができるので、消費電力が低減されることとなる。一方、 メイン CPUが動作状態である場合、メイン CPUに処理を実行させることができる力否 かが判断されるので、メイン CPUに処理を実行させることができる場合、メイン CPU によって処理が実行される。したがって、応答速度が向上することとなる。このように、 低消費電力化を実現しつつ、周辺装置からの処理要求をメイン CPUまたはサブ CP Uのどちらに実行させるかが固定的でない情報処理装置が提供されることとなる。
[0010] 好ましくは、処理要求判定部は、メイン CPUが停止状態である場合、サブ CPUに 処理を実行させ、メイン CPUが動作状態である場合、メイン CPUに処理を実行させ るとよ 、。
[0011] これにより、メイン CPUが停止状態である場合、必ずサブ CPUが処理を実行し、メ イン CPUが動作状態である場合、必ずメイン CPUが処理を実行することとなる。
[0012] 好ましくは、処理要求判定部は、メイン CPUが停止状態である場合、サブ CPUが 処理を受付可能である力否かを判断し、受付可能である場合、サブ CPUに処理を実 行させ、受付可能でない場合、メイン CPUに処理を実行させ、メイン CPUが動作状 態である場合、メイン CPUに処理を実行させるとよい。
[0013] これにより、サブ CPUが処理を受付可能でない場合、メイン CPUによって処理が実 行されることとなるので、応答速度が向上することとなる。
[0014] 好ましくは、処理要求判定部は、メイン CPUが停止状態である場合、サブ CPUが 処理を受付可能である力否かを判断し、受付可能である場合、サブ CPUに処理を実 行させ、受付可能でない場合、メイン CPUに処理を実行させ、メイン CPUが動作状 態である場合、メイン CPUが処理を受付可能であるか否かを判断し、受付可能であ る場合、メイン CPUに処理を実行させ、受付可能でない場合、サブ CPUに処理を実 行させることができるか否かを判断するとよ 、。
[0015] これにより、メイン CPUが動作状態である場合、メイン CPUが処理を受付可能であ る力否かが判断され、受付可能でない場合、サブ CPUに処理を実行させることがで きる力否かが判断されることとなる。したがって、メイン CPUとサブ CPUとで並列的に 処理を実行することができるので、消費電力低減を図りながらも、応答速度を向上さ せることができる。
[0016] 好ましくは、周辺装置での処理に対応させて、指定 CPU情報として、当該処理を実 行して欲しい所望の CPUを予め定義している処理要求先指定部をさらに備え、処理 要求判定部は、処理要求先指定部の指定 CPU情報によって指定されている CPU がメイン CPUである場合、メイン CPUが停止状態であるかそれとも動作状態であるか を判断するとよい。
[0017] これにより、メイン CPUでの処理が指定されている場合に、メイン CPUが停止状態 であるかそれとも動作状態であるかが判断されることとなる。
[0018] 好ましくは、処理要求先指定部は、他 CPU使用可否情報として、指定 CPU情報に 定義されて 、る CPU以外の CPUを用いて処理が実行されてもょ 、か否かをさらに定 義しており、処理要求判定部は、メイン CPUが停止状態である場合、他 CPU使用可 否情報を参照して、サブ CPUに処理を実行させてもよいか否かを判断し、サブ CPU に処理を実行させてもよい場合、サブ CPUに処理を実行させると決定し、サブ CPU に処理を実行させては 、けな 、場合、メイン CPUに処理を実行させると決定するとよ い。
[0019] これにより、メイン CPUが停止状態の場合、状況に応じては、サブ CPUに処理を実 行させることができるので、消費電力の低減を図ることができる。
[0020] 好ましくは、処理要求判定部は、メイン CPUが動作状態である場合、メイン CPUが 処理を受付可能である力否かを判断し、メイン CPUが処理を受付可能である場合、 メイン CPUに処理を実行させると決定し、メイン CPUが処理を受付可能でな 、場合 、他 CPU使用可否情報を参照して、サブ CPUに処理を実行させてもよいか否かを 判断し、サブ CPUに処理を実行させてもよい場合、サブ CPUに処理を実行させると 決定し、サブ CPUに処理を実行させてはいけない場合、メイン CPUに処理を実行さ せると決定するとよい。
[0021] これにより、メイン CPUが動作状態である場合においても、状況に応じては、サブ C
PUを動作させることができるので、消費電力の低減を図ることができる。
[0022] 好ましくは、処理要求判定部は、処理要求先指定部の指定 CPU情報によって指定 されて 、る CPUがサブ CPUである場合、サブ CPUが停止状態であるかそれとも動 作状態であるかを判断して、処理をメイン CPUに実行させるかそれともサブ CPUに 実行させるかを決定するとよ ヽ。
[0023] これにより、サブ CPUの使用が指定されている状況において、サブ CPUが停止状 態の場合、サブ CPUを使用する力 メイン CPUを使用するかが選択されることとなる
[0024] 好ましくは、処理要求先指定部は、他 CPU使用可否情報として、指定 CPU情報に 定義されて 、る CPU以外の CPUを用いて処理が実行されてもょ 、か否かをさらに定 義しており、処理要求判定部は、サブ CPUが停止状態の場合、他 CPU使用可否情 報を参照して、メイン CPUに処理を実行させてよいか否かを判断し、メイン CPUに処 理を実行させてもよい場合、メイン CPUに処理を実行させると決定し、メイン CPUに 処理を実行させては 、けな 、場合、サブ CPUに処理を実行させると決定するとよ ヽ
[0025] これにより、サブ CPUが停止状態の場合、状況によっては、メイン CPUが使用され ることとなるので、応答速度が向上することとなる。
[0026] 好ましくは、処理要求判定部は、サブ CPUが動作状態である場合、サブ CPUが処 理を受付可能である力否かを判断し、サブ CPUが処理を受付可能である場合、サブ CPUに処理を実行させると決定し、サブ CPUが処理を受付可能でない場合、他 CP U使用可否情報を参照して、メイン CPUに処理を実行させてもよいか否かを判断し、 メイン CPUに処理を実行させてもょ 、場合、メイン CPUに処理を実行させると決定し 、メイン CPUに処理を実行させてはいけない場合、サブ CPUに処理を実行させると 決定するとよい。
[0027] これにより、サブ CPUが受付不可能である場合、状況によっては、メイン CPUが使 用されることとなるので、並列処理が可能となり、応答速度が向上することとなる。
[0028] 好ましくは、周辺装置での処理に対応させて、指定 CPU情報として、当該処理を実 行して欲しい所望の CPUを予め定義している処理要求先指定部をさらに備え、処理 要求判定部は、メイン CPUが停止状態である場合、指定 CPU情報を参照して、サブ CPUに処理を実行させてもょ ヽか否かを判断し、サブ CPUに処理を実行させてもよ い場合、サブ CPUに処理を実行させ、サブ CPUに処理を実行させてはいけない場 合、メイン CPUに処理を実行させるとよい。
[0029] これにより、メイン CPUが停止状態の場合、サブ CPUに処理を実行させてもよいか 否かが判断されることとなる。
[0030] 好ましくは、処理要求判定部は、メイン CPUが動作状態である場合、メイン CPUが 処理を受付可能である力否かを判断し、メイン CPUが処理を受付可能でな 、場合、 指定 CPU情報を参照して、メイン CPUに処理を実行させてもよいか否かを判断し、メ イン CPUに処理を実行させてもよい場合、メイン CPUに処理を実行させ、メイン CP Uに処理を実行させてはいけない場合、サブ CPUに処理を実行させ、メイン CPUが 処理を受付可能である場合、サブ CPUに処理を実行させるとよ 、。
[0031] これにより、メイン CPUが動作状態の場合、メイン CPUに処理を実行させてもよい か否かが判断されることとなる。
[0032] 好ましくは、サブ CPUに処理を実行させている間に、メイン CPUに対する起動要求 がなされれば、サブ CPUおよびメイン CPUは、サブ CPUで実行されていた処理をメ イン CPUに引き継がせるための処理を実行するとよい。
[0033] これにより、サブ CPUでの処理をメイン CPUが引き継ぐことが可能となる。
[0034] 本発明の第 2の局面は、動作状態および停止状態の少なくとも 2つの状態を取り得 るメイン CPUと、メイン CPUよりも消費電力が少なぐ動作状態および停止状態の少 なくとも 2つの状態を取り得るサブ CPUとを備える、内部または外部の周辺装置を制 御するための情報処理装置での処理方法であって、メイン CPUが停止状態であるか それとも動作状態であるかを判断し、メイン CPUが停止状態である場合、サブ CPU に周辺装置力もの要求に関する処理を実行させることができる力否かを判断し、メイ ン CPUが動作状態である場合、メイン CPUに処理を実行させることができる力否か を判断し、判断結果に応じて、メイン CPUまたはサブ CPUに処理を実行させることを 特徴とする。
[0035] 本発明の第 3の局面は、動作状態および停止状態の少なくとも 2つの状態を取り得 るメイン CPUと、メイン CPUよりも消費電力が少なぐ動作状態および停止状態の少 なくとも 2つの状態を取り得るサブ CPUとを用いて、内部または外部の周辺装置を制 御するための集積回路であって、メイン CPUが停止状態であるかそれとも動作状態 であるかを判断し、メイン CPUが停止状態である場合、サブ CPUに周辺装置からの 要求に関する処理を実行させることができるか否かを判断し、メイン CPUが動作状態 である場合、メイン CPUに処理を実行させることができるか否かを判断し、判断結果 に応じて、メイン CPUまたはサブ CPUに処理を実行させることを特徴とする。
[0036] 本発明の第 4の局面は、動作状態および停止状態の少なくとも 2つの状態を取り得 るメイン CPUと、メイン CPUよりも消費電力が少なぐ動作状態および停止状態の少 なくとも 2つの状態を取り得るサブ CPUとに、内部または外部の周辺装置を制御させ るためのコンピュータ装置で実行されるプログラムであって、メイン CPUが停止状態 であるかそれとも動作状態であるかをコンピュータ装置に判断させ、メイン CPUが停 止状態である場合、サブ CPUに周辺装置力 の要求に関する処理を実行させること ができるか否力をコンピュータ装置に判断させ、メイン CPUが動作状態である場合、 メイン CPUに処理を実行させることができるか否かをコンピュータ装置に判断させ、 判断結果に応じて、コンピュータ装置を用いて、メイン CPUまたはサブ CPUに処理 を実行させることを特徴とする。
発明の効果
[0037] 本発明の情報処理装置によれば、頻繁に発生するイベントのうち、システム全体の 中で比較的処理量が少ない処理は、消費電力の小さなサブ CPUを用いて低周波数 動作によって行われることとなるので、消費電力の大きなメイン CPUをより長時間停 止状態とすることができる。また、メイン CPUが動作状態である間は、サブ CPUを補 助的な CPUとして利用することもできるので、情報処理装置の CPUを効果的に使用 し、かつ、消費電力を低減することが可能である。このように、本発明によれば、低消 費電力化を実現しつつ、周辺装置からの処理要求をメイン CPUまたはサブ CPUの どちらに実行させるかが固定的でない情報処理装置が提供されることとなる。
[0038] 本発明のこれらおよび他の目的、特徴、局面、効果は、添付図面と照合して、以下 の詳細な説明から一層明らかになるであろう。
図面の簡単な説明
[0039] [図 1]図 1は、本発明の第 1の実施形態に係る情報処理装置 100のハードウェア構成 を示すブロック図である。
[図 2]図 2は、本発明の第 1の実施形態に係る情報処理装置 100の機能的構成を示 すブロック図である。
圆 3]図 3は、第 1の実施形態に係る情報処理装置 100の動作を示すフローチャート である。
[図 4]図 4は、本発明の第 2の実施形態に係る情報処理装置 200の機能的構成を示 すブロック図である。
[図 5]図 5は、本発明の第 2の実施形態に係る情報処理装置 200の動作を示すフロ 一チャートである。
[図 6]図 6は、本発明の第 3の実施形態に係る情報処理装置 300の機能的構成を示 すブロック図である。
圆 7A]図 7Aは、本発明の第 3の実施形態に係る情報処理装置 300の動作を示すフ ローチャートである。
[図 7B]図 7Bは、本発明の第 3の実施形態に係る情報処理装置 300の動作を示すフ ローチャートである。 圆 7C]図 7Cは、本発明の第 3の実施形態に係る情報処理装置 300の動作を示すフ ローチャートである。
[図 7D]図 7Dは、本発明の第 3の実施形態に係る情報処理装置 300の動作を示すフ ローチャートである。
[図 8]図 8は、サブ CPU 2b力もメイン CPU lbへの処理の弓 Iき継ぎ方法の一例を詳し く示すシーケンス図である。
[図 9]図 9は、本発明の第 4の実施形態に係る情報処理装置 400の機能的構成を示 すブロック図である。
[図 10]図 10は、本発明の第 4の実施形態に係る情報処理装置 400の動作を示すフ ローチャートである。
[図 11]図 11は、本発明の第 5の実施形態に係る情報処理装置 500の機能的構成を 示すブロック図である。
[図 12]図 12は、処理要求先指定部 36に記憶されている情報の一例を示す図である [図 13A]図 13Aは、本発明の第 5の実施形態に係る情報処理装置 500の動作を示す フローチャートである。
[図 13B]図 13Bは、本発明の第 5の実施形態に係る情報処理装置 500の動作を示す フローチャートである。
[図 13C]図 13Cは、本発明の第 5の実施形態に係る情報処理装置 500の動作を示す フローチャートである。
[図 13D]図 13Dは、本発明の第 5の実施形態に係る情報処理装置 500の動作を示 すフローチャートである。
[図 14]図 14は、本発明の第 6の実施形態に係る情報処理装置の動作を示すフロー チャートである。
[図 15]図 15は、処理要求先指定部 36に定義されて 、るテーブルの他の例を示す図 である。
符号の説明
100, 200, 300, 400, 500 情報処理装置
Ml, 1, lb, lc メイン CPU
M2, 2, 2a, 2b サブ CPU
M3 アクセス調停回路
M4 割り込みコントローラ
M5〜M7, 41〜43 周辺装置
M8, M9 RAM
11 割り込み判定部
21 割り込み判定部
3, 3a 処理要求判定部
31 メイン CPU状態判定レジスタ
32 割り込み要求レジスタ
33 サブ CPU状態判定レジスタ
34 サブ CPU処理要求完了判定レジスタ 35 メイン CPU処理要求完了判定レジスタ
36 処理要求先指定部
44 メイン CPU起動要求送出部
51 記憶領域判定部
61 記憶領域
発明を実施するための最良の形態
[0041] (第 1の実施形態)
図 1は、本発明の第 1の実施形態に係る情報処理装置 100のハードウェア構成を 示すブロック図である。図 1において、情報処理装置 100は、メイン CPU (Ml)と、サ ブ CPU (M2)と、アクセス調停回路 (M3)と、割り込みコントローラ(M4)と、周辺装 置(M5〜M7)と、 RAM (M8〜M9)とを備える。周辺装置(M5〜M7)および RAM (M8〜M9)の数は、図 1に示す例に限定されな!、。
[0042] メイン CPU (Ml)は、動作状態および停止状態の 2つの状態を取り得る CPUであ る。サブ CPU (M2)は、メイン CPU (Ml)よりも消費電力が少なぐ動作状態および 停止状態の 2つの状態を取り得る CPUである。アクセス調停回路 (M3)は、メイン CP U (Ml)およびサブ CPU (M2)から、バスに対するアクセスが同時に発生した場合、 競合調停を管理する。 RAM (M8, M9)は、設定によって、メイン CPU (Ml)および サブ CPU (M2)力ものアクセスを制限することができる。周辺装置(M5〜M7)は、た とえば HDDやタイマ、キーボード、ボタンスィッチ、液晶ディスプレイ、 MPEGデコー ダ等であって、メイン CPU (Ml)およびサブ CPU (M2)にバスを介して接続されて!ヽ る。図 1では、周辺装置 (M5〜M7)は、情報処理装置 100の内部に設けられた装置 であるように示した力 情報処理装置 100の外部に設けられた装置であってもよい。
[0043] メイン CPU (Ml)およびサブ CPU (M2)は、両方とも、周辺装置(M5〜M7)にァ クセスすることができる。周辺装置 (M5〜M7)は、ある処理を実行したい場合、割り 込み信号を、割り込みコントローラ (M4)に送信する。割り込みコントローラ(M4)は、 周辺装置 (M5〜M7)力 の割り込み信号を受け付けると、メイン CPU (Ml)の状態 に基づ!/、て、メイン CPU (Ml)が停止状態の場合はサブ CPU (M2)に割込み信号 を送出し、メイン CPU (Ml)が動作状態の場合はメイン CPU (Ml)に割り込み信号 を送出する。なお、先述のように、メイン CPU (Ml)の状態には、動作状態と停止状 態とがある。割り込みコントローラ (M4)は、メイン CPU (Ml)の状態が変化する度に 、割り込みコントローラ(M4)内のレジスタ (メイン CPU状態判定レジスタ)に状態を書 き込む。
[0044] 図 2は、本発明の第 1の実施形態に係る情報処理装置 100の機能的構成を示すブ ロック図である。図 2において、情報処理装置 100は、メイン CPU1と、サブ CPU2と、 処理要求判定部 3と、周辺装置 41〜43とを備える。メイン CPU1は、図 1におけるメ イン CPU (Ml)に対応する。サブ CPU2は、図 1におけるサブ CPU (M2)に対応す る。処理要求判定部 3は、図 1における割り込みコントローラ(M4)に対応する。周辺 装置 41〜43は、図 1における周辺装置(M5〜M7)に対応する。
[0045] メイン CPU1は、割り込み判定部 11を含む。サブ CPU2は、割り込み判定部 21を 含む。処理要求判定部 3は、メイン CPU状態判定レジスタ 31と、割り込み要求レジス タ 32と、サブ CPU状態判定レジスタ 33とを含む。
[0046] メイン CPU1は、動作状態および停止状態の 2つの状態を取り得る。メイン CPU1 は、停止状態であるか、動作状態であるかの通知をメイン CPU状態判定レジスタ 31 に送る。メイン CPU状態判定レジスタ 31は、メイン CPU 1が停止状態である力、それ とも、動作状態であるかを記憶する。メイン CPU状態判定レジスタ 31は、メイン CPU 1からの書き込み処理によってフラグの値を変更し、メイン CPU1が停止状態に遷移 する際に停止フラグ、動作状態に遷移する際に動作フラグを書き込む。
[0047] サブ CPU2は、動作状態および停止状態の 2つの状態を取り得る。サブ CPU2は、 停止状態であるか、動作状態であるかの通知をサブ CPU状態判定レジスタ 33に送 る。サブ CPU状態判定レジスタ 33は、サブ CPU2が停止状態である力、それとも、動 作状態であるかを記憶する。サブ CPU状態判定レジスタ 33は、サブ CPU2からの書 き込み処理によってフラグの値を変更し、サブ CPU2が停止状態に遷移する際に停 止フラグ、動作状態に遷移する際に動作フラグを書き込む。
[0048] メイン CPU1およびサブ CPU2は、周辺装置 41〜43を、それぞれ制御することが できる。
[0049] メイン CPU1およびサブ CPU2は、必要な処理が終了すると自動的に停止状態に なる。メイン CPU1は、処理要求判定部 3から割り込み信号が割り込み判定部 11に 送出されると、動作状態となるための処理を行い、動作状態となると、メイン CPU状態 判定レジスタ 31に動作フラグを書き込む。
[0050] 割り込み要求レジスタ 32は、周辺装置 41〜43からの割り込み信号を受け付け、当 該割り込み信号を記憶する。処理要求判定部 3は、周辺装置 41〜43から割り込み 信号が送られてきた場合、メイン CPU1またはサブ CPU2のどちらに処理を実行させ るか判断し、メイン CPU1の割り込み判定部 11またはサブ CPU2の割り込み判定部 21に、当該割り込み信号を送る。割り込み判定部 11は、処理要求判定部 3からの割 り込み信号を検出する。割り込み判定部 21は、処理要求判定部 3からの割り込み信 号を検出する。
[0051] 図 3は、第 1の実施形態に係る情報処理装置 100の動作を示すフローチャートであ る。以下、図 3を参照しながら、第 1の実施形態に係る情報処理装置 100の動作につ いて説明する。
[0052] 周辺装置 41、 42、 43のいずれかによつて割り込み信号が送出されると、処理要求 判定部 3は、割り込み信号が発生したことを、割り込み要求レジスタ 32における周辺 装置 41、 42、 43に対応する箇所にフラグを立てることによって記憶する (ステップ S1
) o
[0053] 次に、処理要求判定部 3は、メイン CPU状態判定レジスタ 31を参照し、メイン CPU 1が停止状態である力否かを判断する (ステップ S2)。
[0054] メイン CPU1が停止状態である場合、処理要求判定部 3は、サブ CPU状態判定レ ジスタ 33を参照して、サブ CPU2が停止状態である力否かを判断する(ステップ S3) 。サブ CPU2が停止状態である場合、処理要求判定部 3は、サブ CPU2を動作状態 に遷移させ、サブ CPU状態判定レジスタ 33にサブ CPU2が動作状態である旨を記 憶させ (ステップ S4)、ステップ S5の動作に進む。一方、サブ CPU2が動作状態であ る場合、処理要求判定部 3は、ステップ S5の動作に進む。
[0055] ステップ S5において、処理要求判定部 3は、サブ CPU2の割り込み判定部 21に割 り込み信号を送出する (ステップ S5)。それに応じて、サブ CPU2は、送出された割り 込み信号に対応した割り込み処理を実行し (ステップ S6)、ステップ S7の動作に進む [0056] ステップ S7において、サブ CPU2は、ステップ S6の実行中に、新たな割り込みがサ ブ CPU2に対して要求されているか否かを確認する。新たな割り込みが要求されて いる場合、サブ CPU2は、ステップ S6の動作に戻り、新たな割り込み処理を実行する 。一方、新たな割り込みが要求されていない場合、サブ CPU2は、停止状態に遷移 する (ステップ S8)。サブ CPU2は、停止状態に遷移した旨をメイン CPU状態判定レ ジスタ 31に通知する。それに応じて、メイン CPU状態判定レジスタ 31は、メイン CPU 1が停止状態である旨を記憶する。
[0057] ステップ S2にお 、て、メイン CPU1が停止状態でな 、、すなわち動作状態であると 判断した場合、処理要求判定部 3は、メイン CPU1の割り込み判定部 11に割り込み 信号を送出する (ステップ S9)。メイン CPU1は、送出された割り込み信号に対応した 割り込み処理を実行し (ステップ S 10)、ステップ S 11の動作に進む。
[0058] ステップ S11において、メイン CPU1は、ステップ S10の実行中に、新たな割り込み がメイン CPU 1に対して要求されて 、るか否かを確認する。新たな割り込みが要求さ れている場合、メイン CPU1は、ステップ S10の動作に戻り、新たな割り込み処理を 実行する。一方、新たな割り込みが要求されていない場合、メイン CPU1は、停止状 態に遷移する (ステップ S12)。メイン CPU1は、停止状態に遷移した旨をメイン CPU 状態判定レジスタ 31に通知する。それに応じて、メイン CPU状態判定レジスタ 31は 、メイン CPU1が停止状態である旨を記憶する。
[0059] このように、第 1の実施形態によれば、情報処理装置 100は、周辺装置によって割り 込み信号が送出されると、メイン CPU1が停止状態である力否かを判断する。メイン C PU1が停止状態である場合、情報処理装置 100は、サブ CPU2に割り込み処理を 実行させることができると判断して、サブ CPU2に割り込み処理を実行させる。したが つて、メイン CPU 1が停止状態であれば、情報処理装置 100は、メイン CPU1を立ち 上げることなく割り込み処理を実行することができるので、メイン CPU1を長時間停止 状態にしておくことができ、消費電力を低減することができる。一方、メイン CPU1が 動作状態である場合、情報処理装置 100は、メイン CPU1に割り込み処理を実行さ せることができると判断して、メイン CPU1に割り込み処理を実行させる。したがって、 割り込み処理の応答速度が向上することとなる。このように、本実施形態では、メイン CPU1の動作状態に応じて、使用される CPUが選択されるので、消費電力の低減を 実現しつつ、周辺機器力 の要求を処理する CPUが固定的に割り当てられていない 情報処理装置 100が提供されることとなる。本実施形態では、周辺装置からの処理 要求をどちらの CPUで処理するかを CPUの動作状態に応じて判断すればよいので 、従来のように、各 CPUと周辺装置とを直接結線して、対応関係を明確にしておく必 要がない。よって、ハードウェア構成が異なる情報処理装置においても、本実施形態 に係る処理要求判定部 3を用いれば、低消費電力化を実現しつつ、周辺装置からの 処理要求をメイン CPUまたはサブ CPUのどちらに実行させるかが固定的でない情 報処理装置を提供することができる。
[0060] なお、第 1の実施形態において、割り込み判定部 11、 21は、 CPU内にあってもよ いし、処理要求判定部 3内にあってもよい。また、メイン CPU状態判定レジスタ 31お よびサブ CPU状態判定レジスタ 33も、 CPU内にあってもよいし、処理要求判定部 3 内にあってもよい。
[0061] なお、割り込み要求レジスタ 32における割り込み信号の記録方式は、上述のような 記録方式以外であってもよ 、。
[0062] (第 2の実施形態)
本発明の第 2の実施形態において、情報処理装置のハードウェア構成は、第 1の 実施形態と同様であるので、図 1を援用する。図 4は、本発明の第 2の実施形態に係 る情報処理装置 200の機能的構成を示すブロック図である。図 4において、情報処 理装置 200は、メイン CPU1と、サブ CPU2aと、処理要求判定部 3aと、周辺装置 41 〜43とを備える。図 4において、第 1の実施形態と同様の機能を有する部分について は、同一の参照符号を付し、説明を省略する。処理要求判定部 3aは、メイン CPU状 態判定レジスタ 31と、割り込み要求レジスタ 32と、サブ CPU状態判定レジスタ 33と、 サブ CPU処理要求完了判定レジスタ 34とを含む。
[0063] サブ CPU処理要求完了判定レジスタ 34は、サブ CPU2aが割り込み禁止であるか 否かを記憶する。サブ CPU2aは、割り込み要求を受け付けると、サブ CPU2aが割り 込み処理中であることを表すフラグをサブ CPU処理要求完了判定レジスタ 34に書き 込む。サブ CPU2aは、サブ CPU2aが割り込み処理を終了すると、サブ CPU2aが割 り込み処理を行って ヽな 、ことを表すフラグをサブ CPU処理要求完了判定レジスタ 3 4に書き込む。
[0064] 図 5は、本発明の第 2の実施形態に係る情報処理装置 200の動作を示すフローチ ヤートである。以下、図 5を参照しながら、本発明の第 2の実施形態に係る情報処理 装置 200の動作にっ 、て説明する。
[0065] 周辺装置 41、 42、 43のいずれかによつて割り込み信号が送出されると、処理要求 判定部 3aは、割り込み信号が発生したことを、割り込み要求レジスタ 32における周辺 装置 41、 42、 43に対応する箇所にフラグを立てることによって記憶する (ステップ S2 D o
[0066] 次に、処理要求判定部 3aは、メイン CPU状態判定レジスタ 31を参照し、メイン CP U1が停止状態である力否かを判断する(ステップ S22)。
[0067] メイン CPU1が動作状態の場合、処理要求判定部 3aは、ステップ S32の動作に進 む。一方、メイン CPU 1が停止状態の場合、処理要求判定部 3aは、サブ CPU状態 判定レジスタ 33を参照し、サブ CPU2aが停止状態である力否かを判断する(ステツ プ S23)。サブ CPU2aが停止状態である場合、処理要求判定部 3aは、サブ CPU2a を動作状態に遷移させ、サブ CPU状態判定レジスタ 33を書換え (ステップ S24)、ス テツプ S25の動作に進む。一方、サブ CPU2aが動作状態である場合、処理要求判 定部 3aは、ステップ S25の動作に進む。
[0068] ステップ S25において、処理要求判定部 3aは、サブ CPU処理要求完了判定レジ スタ 34を参照し、サブ CPU2aが割り込み要求を受付可能である力否かの判断する。 サブ CPU2aが割り込み要求を受付可能でない場合、すなわち、サブ CPU2aが割り 込み要求を実行中である場合、処理要求判定部 3aは、ステップ S26の動作に進む。 一方、サブ CPU2aが割り込み要求を受付可能である場合、すなわち、サブ CPU2a が割り込み要求を実行中でない場合、処理要求判定部 3aは、ステップ S27の動作に 進む。
[0069] ステップ S26において、処理要求判定部 3aは、メイン CPU 1が停止状態であるか 否かを判断する。メイン CPU 1が停止状態である場合、処理要求判定部 3aは、メイン CPUlを動作状態に遷移させて、メイン CPU状態判定レジスタを書換え (ステップ S3 1)、ステップ S32の動作に進む。一方、メイン CPU1が動作状態である場合、処理要 求判定部 3aは、ステップ S32の動作に進む。
[0070] ステップ S27において、処理要求判定部 3aは、割り込み判定部 21に割り込み信号 を送出し、ステップ S28の動作に進む。
[0071] ステップ S28において、サブ CPU2aは、割り込み処理を実行する。ステップ S28に おける割り込み処理の開始時、サブ CPU2aは、サブ CPU2aが割り込み処理中であ ることを表すフラグをサブ CPU処理要求完了判定レジスタ 34に書き込む。ステップ S 28における割り込み処理の終了時、サブ CPU2aは、サブ CPU2aが割り込み処理を 行って 、な 、ことを表すフラグをサブ CPU処理要求完了判定レジスタ 34に書き込む 。当該割り込み処理終了後、ステップ S28中に再び割り込みがサブ CPU2aに対して 発生している力否かを確認し (ステップ S29)、再び割り込み信号が割り込み判定部 2 1によって検出されたら、ステップ S28に戻り、なければ停止状態に遷移する (ステツ プ S30)。サブ CPU2aは、停止状態に遷移した旨をサブ CPU状態判定レジスタ 33 に通知する。それに応じて、サブ CPU状態判定レジスタ 33は、サブ CPU2aが停止 状態である旨を記憶する。
[0072] ステップ S32において、処理要求判定部 3aは、メイン CPU1の割り込み判定部 11 に割り込み信号を送出する。次に、メイン CPU1は、送出された割り込み信号に対応 した割り込み処理を実行し (ステップ S33)、ステップ S34の動作に進む。ステップ S3 3において、メイン CPU1は、ステップ S33の実行中に、新たな割り込みがメイン CPU 1に対して要求されて!ヽるか否かを確認する。新たな割り込みが要求されて!ヽる場合 、メイン CPU1は、ステップ S33の動作に戻り、新たな割り込み処理を実行する。一方 、新たな割り込みが要求されていない場合、メイン CPU1は、停止状態に遷移する( ステップ S35)。メイン CPUlは、停止状態に遷移した旨をメイン CPU状態判定レジ スタ 31に通知する。それに応じて、メイン CPU状態判定レジスタ 31は、メイン CPU1 が停止状態である旨を記憶する。
[0073] このように、第 2の実施形態によれば、情報処理装置 200は、周辺装置によって割り 込み信号が送出されると、メイン CPU1が停止状態である力否かを判断する。メイン C PU1が停止状態である場合、情報処理装置 200は、サブ CPU2aに割り込み処理を 実行させることができるか否かを判断する。サブ CPU2aに割り込み処理を実行させ ることが可能な場合、情報処理装置 200は、割り込み処理をサブ CPU2aに実行させ る。したがって、メイン CPU 1が停止状態であり、かつサブ CPU2aが割り込み処理を 実行可能であれば、メイン CPU1を立ち上げることなく割り込み処理を実行することが できるので、メイン CPU1を長時間停止状態にしておくことができ、消費電力を低減 することができる。一方、メイン CPU1が停止状態であり、かつサブ CPU2aが割り込 み処理を実行不可能な場合、情報処理装置 200は、メイン CPU 1を動作状態に遷移 させて、割り込み処理をメイン CPU1に実行させる。また、メイン CPU1が動作状態で あれば、情報処理装置 200は、メイン CPU1に割り込み処理を実行させることができ ると判断して、メイン CPU1に割り込み処理を実行させる。したがって、割り込み処理 の応答速度が向上することとなる。このように、本実施形態では、メイン CPU1および サブ CPU2aの動作状態に応じて、使用される CPUが選択されるので、消費電力の 低減を実現しつつ、周辺機器からの要求を処理する CPUが固定的に割り当てられ ていない情報処理装置 200が提供されることとなる。本実施形態では、周辺装置から の処理要求をどちらの CPUで処理するかを CPUの動作状態に応じて判断すればよ いので、従来のように、各 CPUと周辺装置とを直接結線して、対応関係を明確にして おく必要がない。よって、ハードウェア構成が異なる情報処理装置においても、本実 施形態に係る処理要求判定部 3aを用いれば、低消費電力化を実現しつつ、周辺装 置からの処理要求をメイン CPUまたはサブ CPUのどちらに実行させるかが固定的で な 、情報処理装置を提供することができる。
[0074] なお、第 2の実施形態において、割り込み判定部 11、 21は、 CPU内にあってもよ いし、処理要求判定部 3a内にあってもよい。また、メイン CPU状態判定レジスタ 31、 サブ CPU状態判定レジスタ 33も、 CPU内にあってもよいし、処理要求判定部 3a内 にあってもよい。サブ CPU処理要求完了判定レジスタ 34も、 CPU内にあってもよい し、処理要求判定部 3内にあってもよい。
[0075] なお、割り込み要求レジスタ 32における割り込み信号の記録方式は、図 2に示すよ うな記録方式以外であってもよ 、。 [0076] (第 3の実施形態)
本発明の第 3の実施形態において、情報処理装置のハードウェア構成は、第 1の 実施形態と同様であるので、図 1を援用する。図 6は、本発明の第 3の実施形態に係 る情報処理装置 300の機能的構成を示すブロック図である。図 6において、情報処 理装置 300は、メイン CPUlbと、サブ CPU2bと、処理要求判定部 3bと、周辺装置 4 1〜43と、メイン CPU起動要求送出部 44と、記憶領域判定部 51と、記憶領域 61とを 備える。図 6において、第 1および第 2の実施形態と同様の機能を有する部分につい ては、同一の参照符号を付し、詳しい説明を省略する。
[0077] 記憶領域 61は、メイン CPU 1およびサブ CPU2が参照可能な記憶領域である。記 憶領域 61は、図 1における RAM (M8, M9)に対応する。
[0078] 記憶領域判定部 51は、記憶領域 61がサブ CPU2bによって使用されているか否か を記憶する。記憶領域判定部 51は、サブ CPU2bによる記憶領域 61の使用状況を、 Lock変数によって、管理している。記憶領域判定部 51は、図 1における RAM (M8 , M9)に対応する。記憶領域判定部 51は、記憶領域 61がサブ CPU2で参照されて いる間、参照中である旨のフラグを Lock変数内に記憶する。なお、当該フラグは、サ ブ CPU2が記憶領域 61を参照する際、サブ CPU2bによって設定される。当該フラグ が設定されている場合、 Lock変数は、ロックされているものとする。当該フラグが設定 されて 、な 、場合、 Lock変数は解放されて 、るとする。
[0079] メイン CPU起動要求送出部 44は、メイン CPUlbを動作状態にするための割り込 み信号を送出する。
[0080] メイン CPUlbおよびサブ CPU2bは、記憶領域判定部 51および記憶領域 61にァ クセス可能ある点を除いては、第 1および第 2の実施形態に係るメイン CPU1および サブ CPU2, 2bと同様の機能を有する。
[0081] なお、記憶領域 61とそれに対応する記憶領域判定部 51とは、図 6では、 1組だけ 示している力 何組存在していてもカゝまわない。
[0082] 図 7A〜図 7Dは、本発明の第 3の実施形態に係る情報処理装置 300の動作を示 すフローチャートである。以下、図 7A〜図 7Dを参照しながら、本発明の第 3の実施 形態に係る情報処理装置 300の動作について説明する。 [0083] 周辺装置 41、 42、 43のいずれかによつて割り込み信号が送出されると、処理要求 判定部 3bは、割り込み信号が発生したことを、割り込み要求レジスタ 32における周辺 装置 41、 42、 43に対応する箇所にフラグを立てることによって記憶する (ステップ S4 D o
[0084] 次に、処理要求判定部 3bは、メイン CPU状態判定レジスタ 31を参照し、メイン CP Ulbが停止状態であるか否かを判断する (ステップ S42)。
[0085] メイン CPU1が動作状態の場合、処理要求判定部 3bは、ステップ S49の動作に進 む。一方、メイン CPUlbが停止状態の場合、処理要求判定部 3bは、サブ CPU状態 判定レジスタ 33を参照し、サブ CPU2bが停止状態であるか否かを判断する (ステツ プ S43)。サブ CPU2bが停止状態である場合、処理要求判定部 3bは、サブ CPU2b を動作状態に遷移させ、サブ CPU状態判定レジスタ 33を書換え (ステップ S44)、ス テツプ S45の動作に進む。一方、サブ CPU2bが動作状態である場合、処理要求判 定部 3bは、ステップ S45の動作に進む。
[0086] ステップ S45において、処理要求判定部 3bは、サブ CPU処理要求完了判定レジ スタ 34を参照し、サブ CPU2bが割り込み要求を受付可能であるか否かの判断する。 サブ CPU2bが割り込み要求を受付可能でない場合、処理要求判定部 3bは、ステツ プ S47の動作に進む。一方、サブ CPU2bが割り込み要求を受け付け可能である場 合、処理要求判定部 3bは、ステップ S46の動作に進む。
[0087] ステップ S47において、処理要求判定部 3bは、メイン CPUlbが停止状態であるか 否かを判断する。メイン CPU 1が停止状態である場合、処理要求判定部 3bは、メイン CPUlbを動作状態に遷移させて、メイン CPU状態判定レジスタを書換え (ステップ S 48)、ステップ S49の動作に進む。一方、メイン CPUlbが動作状態である場合、処 理要求判定部 3bは、ステップ S49の動作に進む。
[0088] ステップ S46において、処理要求判定部 3bは、サブ CPU2bの割り込み判定部 21 に割り込み信号を送出し、ステップ S 100の動作に進む。
[0089] ステップ S49において、処理要求判定部 3bは、メイン CPUlbの割り込み判定部 11 に割り込み信号を送出し、ステップ S200の動作に進む。
[0090] 図 7Bは、図 7Aのステップ S100における情報処理装置 300の動作を示すフローチ ヤートである。以下、図 7Bを参照しながら、図 7Aのステップ S100における情報処理 装置 300の動作にっ 、て説明する。
[0091] サブ CPU2bは、割り込み信号の検出によってサブ CPU割り込みルーチンを開始 し (ステップ S 101)、サブ CPU処理要求完了判定レジスタ 34に割り込み禁止フラグ を書き込み (ステップ S 102)、割り込み処理を実行する (ステップ S 103)。次に、処理 要求判定部 3bは、サブ CPU2bによる割り込み処理の実行中、メイン CPUlbの起動 要求がなされたか否かを判断する (ステップ S 104)。メイン CPUlbの起動要求がな された場合、処理要求判定部 3bは、処理交代ルーチンを実行し (ステップ S 300)、 ステップ S106の動作に進む。一方、メイン CPUlbの起動要求がなされていない場 合、処理要求判定部 3bは、当該割り込み処理終了後、サブ CPU処理要求完了判 定レジスタ 34に割り込み許可フラグを書き込み (ステップ S 105)、ステップ S 106の動 作に進む。
[0092] ステップ S 106において、処理要求判定部 3bは、割り込み処理の間に、新たな割り 込み要求がサブ CPU2に対して発生しているか否かを判断する。新たな割り込み要 求が発生している場合、処理要求判定部 3bは、ステップ S102の動作に戻る。一方、 新たな割り込み要求が発生していない場合、処理要求判定部 3bは、サブ CPU2bを 停止状態に遷移させ (ステップ S107)、サブ CPU割り込みルーチンを終了する (ステ ップ S 108)。
[0093] 図 17Cは、ステップ S200における情報処理装置 300の動作を示すフローチャート である。メイン CPUlbは、割り込み判定部 11によって割り込み信号を検出すると、メ イン CPU割り込みルーチンを開始する (ステップ S 201)。次に、メイン CPUlbは、割 り込み信号に対応した割り込み処理を実行する (ステップ S202)。メイン CPUlbは、 ステップ S202中に、メイン CPUlbに対する新たな割り込み要求が発生している力否 かを判断する (ステップ S 203)。新たな割り込み要求が発生している場合、メイン CP Ulbは、ステップ S202に戻り、当該新たな割り込み要求を処理する。一方、新たな 割り込み要求が発生していない場合、メイン CPUlbは、停止状態に遷移し、その旨 をメイン CPU状態判定レジスタに通知し (ステップ S 204)、メイン CPU状態判定レジ ッタ割り込みルーチンを終了する (ステップ S205)。 [0094] 図 17Dは、ステップ S300における情報処理装置 300の動作を示すフローチャート である。まず、サブ CPU2bは、処理交代ルーチンが開始すると (ステップ S301)、メ イン CPU起動要求送出部 44に対して、サブ CPU2bが現在受け付けて 、る割り込み 処理の番号 (以下、割り込み番号という)を送信する (ステップ S302)。次に、メイン C PU起動要求送出部 44は、処理要求判定部 3bに対して、当該割り込み番号を含む 割り込み信号を送出する (ステップ S303)。次に、処理要求判定部 3bは、メイン CPU lbに、当該割り込み信号を送出する (ステップ S304)。当該割り込み信号に応じて、 メイン CPUlbは、記憶領域判定部 51から Lock変数を取得できるまでビジーループ し (ステップ S305)、 Lock変数を取得したら、サブ CPU 2bの続きの処理を開始し (ス テツプ S306)、処理交代ルーチンを終了する(ステップ S307)。
[0095] 図 8は、サブ CPU2b力もメイン CPUlbへの処理の引き継ぎ方法の一例を詳しく示 すシーケンス図である。まず、メイン CPUlbは、停止状態であるとする(ステップ S40 D oサブ CPU2bは、送られてくる割り込み信号 (ステップ S501)に応じて、割り込み 処理を実行し (ステップ S 502)、記憶領域判定部 51から Lock変数を取得する (ステ ップ S503)。次に、サブ CPU2bは、メイン CPU起動要求送出部 44に、メイン CPU1 bへの起動要求を送信する(ステップ S504)。これに応じて、メイン CPU起動要求送 出部 44がメイン CPUlbへの割り込み信号を送出し、メイン CPUlbの起動割り込み が実行される (ステップ S505)。
[0096] メイン CPUlbは、当該割り込み信号に応じて、動作状態になるための起動処理を 実行する (ステップ S402)。メイン CPUlbは、起動処理が完了したら、メイン CPU状 態判定レジスタ 31を動作状態に設定する。メイン CPU状態判定レジスタ 31が動作 状態になったら、処理要求判定部 3bは、メイン CPUlbに割り込み信号を送出する( ステップ S601)と共に、サブ CPU2bに対して起動完了トリガーとしてメイン CPU起動 完了割り込み信号を送出する (ステップ S403)。
[0097] サブ CPU2bは、起動完了トリガーに応じて、記憶領域 61に記憶されているキヤッ シュデータをフラッシュし (ステップ S506)、レジスタ情報を記憶領域 61にストアする( ステップ S507)。
[0098] Lock変数が解放されるまでの間、メイン CPUlbは、 Lock変数を取得するための
Figure imgf000024_0001
、る(ステップ S404)。サブ CPU 2bによって Lock変数が解 放されると(ステップ S508)、メイン CPUlbは、ビジーループから抜け、 Lock変数を 取得し (ステップ S405)、サブ CPU 2bがストアしたレジスタ情報を記憶領域 61から取 得して (ステップ S406)、サブ CPU2bで実行されていた割り込み処理の続きを開始 する(ステップ S407)。ここで、上記の例で説明したメイン CPUlbの起動完了トリガ 一は、メイン CPU状態判定レジスタ 31が変更されたことによって実現された。しかし、 起動完了トリガーのためのイベントは、当該イベントをサブ CPU2bに通知するための 専用の周辺装置によって実行されてもよい。
このように、第 3の実施形態によれば、情報処理装置 300は、周辺装置によって割り 込み信号が送出されると、メイン CPUlbが停止状態である力否かを判断する。メイン CPU1が停止状態である場合、情報処理装置 300は、サブ CPU2bに割り込み処理 を実行させることができるか否かを判断する。サブ CPU2bに割り込み処理を実行さ せることが可能な場合、情報処理装置 300は、割り込み処理をサブ CPU2bに実行さ せる。したがって、メイン CPUlbが停止状態であり、かつサブ CPU2bが割り込み処 理を実行可能であれば、メイン CPUlbを立ち上げることなく割り込み処理を実行する ことができるので、メイン CPUlbを長時間停止状態にしておくことができ、消費電力 を低減することができる。一方、メイン CPU lbが停止状態であり、かつサブ CPU2b が割り込み処理を実行不可能な場合、情報処理装置 300は、メイン CPUlbを動作 状態に遷移させて、割り込み処理をメイン CPUlbに実行させる。また、メイン CPUlb が動作状態であれば、情報処理装置 300は、メイン CPUlbに割り込み処理を実行さ せる。したがって、割り込み処理の応答速度が向上することとなる。さらに、サブ CPU 2bによって割り込み処理が実行中の場合に、メイン CPUlbに対する起動要求がな されたら、情報処理装置 300は、サブ CPU 2bでの処理の続きをメイン CPU lbで実 行するように動作する。したがって、割り込み処理の応答速度がさらに向上することと なる。このように、本実施形態では、メイン CPUlbおよびサブ CPU2bの動作状態に 応じて、使用される CPUが選択されるので、消費電力の低減を実現しつつ、周辺機 器からの要求を処理する CPUが固定的に割り当てられて 、な 、情報処理装置 300 力 S提供されることとなる。本実施形態では、周辺装置からの処理要求をどちらの CPU で処理するかを CPUの動作状態に応じて判断すればよいので、従来のように、各 C PUと周辺装置とを直接結線して、対応関係を明確にしておく必要がない。よって、ハ 一ドウ ア構成が異なる情報処理装置においても、本実施形態に係る処理要求判定 部 3bを用いれば、低消費電力化を実現しつつ、周辺装置からの処理要求をメイン C PUまたはサブ CPUのどちらに実行させるかが固定的でない情報処理装置を提供す ることがでさる。
[0100] なお、第 3の実施形態において、割り込み判定部 11、 21は、 CPU内にあってもよ いし、処理要求判定部 3b内にあってもよい。また、メイン CPU状態判定レジスタ 31、 サブ CPU状態判定レジスタ 33も、 CPU内にあってもよいし、処理要求判定部 3b内 にあってもよい。サブ CPU処理要求完了判定レジスタ 34も、 CPU内にあってもよい し、処理要求判定部 3b内にあってもよい。
[0101] なお、割り込み要求レジスタ 32における割り込み信号の記録方式は、図 6に示すよ うな記録方式以外であってもよ 、。
[0102] (第 4の実施形態)
本発明の第 4の実施形態において、情報処理装置のハードウェア構成は、第 1の 実施形態と同様であるので、図 1を援用する。図 9は、本発明の第 4の実施形態に係 る情報処理装置 400の機能的構成を示すブロック図である。図 9において、情報処 理装置 400は、メイン CPUlcと、サブ CPU2aと、処理要求判定部 3cと、周辺装置 4 1〜43とを備える。図 9において、第 2の実施形態と同様の機能を有する部分につい ては、同一の参照符号を付し、説明を省略する。処理要求判定部 3cは、メイン CPU 状態判定レジスタ 31と、メイン CPU処理要求完了判定レジスタ 35と、割り込み要求 レジスタ 32と、サブ CPU状態判定レジスタ 33と、サブ CPU処理要求完了判定レジス タ 34とを含む。
[0103] メイン CPU処理要求完了判定レジスタ 35は、メイン CPUlcが割り込み禁止である か否かを記憶する。メイン CPUlcは、割り込み要求を受け付けると、メイン CPUlcが 割り込み処理中であることを表すフラグをメイン CPU処理要求完了判定レジスタ 35 に書き込む。メイン CPUlcは、メイン CPUlcが割り込み処理を終了すると、メイン CP Ulcが割り込み処理を行っていないことを表すフラグをメイン CPU処理要求完了判 定レジスタ 35に書き込む。このように、第 4の実施形態に係る情報処理装置 400は、 第 2の実施形態に係る情報処理装置 200に、メイン CPU処理要求完了判定レジスタ 35が加わった構成となっている。
[0104] 図 10は、本発明の第 4の実施形態に係る情報処理装置 400の動作を示すフロー チャートである。以下、図 10を参照しながら、本発明の第 4の実施形態に係る情報処 理装置 400の動作にっ 、て説明する。
[0105] 情報処理装置 400の動作は、第 2の実施形態に係る情報処理装置 200の動作と、 重複する箇所が多い。図 10のフローチャートにおけるステップにおいて、第 2の実施 形態に係る情報処理装置 200と同様の動作を行うステップに関しては、図 5と同様の ステップ番号を付し、説明を省略する。
[0106] 図 10に示すフローチャートにおいて、ステップ S22からステップ S32へ遷移する途 中に、ステップ S51の動作が加わった点力 第 2の実施形態に係る図 5に示すフロー チャートと異なる。ステップ S22において、メイン CPUlcが動作状態であると判断した 場合、処理要求判定部 3cは、ステップ S51の動作を実行する。ステップ S51におい て、処理要求判定部 3cは、メイン CPU処理要求完了判定レジスタ 35に記憶されて V、るレジスタを参照して、メイン CPUlcが割り込み受付可能であるか否かを判断する 。メイン CPUlcが割り込み受付可能でない場合、情報処理装置 400は、ステップ S2 3の動作に進む。一方、メイン CPUlcが割り込み受付可能である場合、情報処理装 置 400は、ステップ S32の動作に進む。その後の処理手順は、第 2の実施形態と同 様である。
[0107] このように、第 4の実施形態によれば、メイン CPUlcが停止状態である場合、サブ CPU2aが割り込み処理を実行することとなるので、メイン CPU1を長時間停止状態 にすることができる。一方、メイン CPUlcが動作状態である場合、サブ CPU2aも割り 込み処理を並列処理することができるので、第 2の実施形態と比較して、情報処理装 置 400の応答速度が向上することとなる。したがって、消費電力の低減を図りながらも 、応答速度を向上させることができる情報処理装置が提供されることとなる。
[0108] (第 5の実施形態)
本発明の第 5の実施形態において、情報処理装置のハードウェア構成は、第 1の 実施形態と同様であるので、図 1を援用する。図 11は、本発明の第 5の実施形態に 係る情報処理装置 500の機能的構成を示すブロック図である。図 11において、情報 処理装置 500は、メイン CPUlcと、サブ CPU2aと、処理要求判定部 3dと、周辺装置 41〜43とを備える。図 11において、第 4の実施形態と同様の機能を有する部分につ いては、同一の参照符号を付し、説明を省略する。処理要求判定部 3dは、メイン CP U状態判定レジスタ 31と、メイン CPU処理要求完了判定レジスタ 35と、割り込み要 求レジスタ 32と、サブ CPU状態判定レジスタ 33と、サブ CPU処理要求完了判定レ ジスタ 34と、処理要求先指定部 36とを含む。
[0109] 処理要求先指定部 36は、割り込み番号に対応させて、メイン CPUlcまたはサブ C PU2aのどちらに割り込み信号を処理要求判定部 3dが送出すべきかに関する情報( 以下、指定 CPU情報という)と、指定 CPU以外の CPUを使用しても良いか否かに関 する情報 (他 CPU使用可否情報)とを記憶している。
[0110] 図 12は、処理要求先指定部 36に記憶されている情報の一例を示す図である。図 1 2では、たとえば、割り込み番号として、周辺装置 41からの割り込み処理が割り当てら れている場合、処理要求判定部 3dは、メイン CPUlcに割り込み信号を送出すべき であることが定義されており、サブ CPU2aに割り込み信号を送出してもよい旨が定義 されている。また、たとえば、割り込み番号として、周辺装置 42 (または 43)からの割り 込み処理が割り当てられている場合、処理要求判定部 3dは、サブ CPU2aに割り込 み死因号を送出すべきであることが定義されており、メイン CPUlcに割り込み信号を 送出しては!、けな!/、旨が定義されて 、る。
[0111] 処理要求先指定部 36の定義内容は、たとえば、情報処理装置 500の起動時に定 義される。
[0112] 図 13A〜図 13Dは、本発明の第 5の実施形態に係る情報処理装置 500の動作を 示すフローチャートである。以下、図 13A〜図 13Dを参照しながら、本発明の第 5の 実施形態に係る情報処理装置 500の動作について説明する。
[0113] 周辺装置 41、 42、 43のいずれかによつて割り込み信号が送出されると、処理要求 判定部 3dは、割り込み信号が発生したことを、割り込み要求レジスタ 32における周辺 装置 41、 42、 43に対応する箇所にフラグを立てることによって記憶する (ステップ S6 D o
[0114] 次に、処理要求判定部 3dは、処理要求先決定関数を実行して、割り込み処理を実 行すべき CPUを決定する(ステップ S 700)。
[0115] ステップ S700において、割り込み処理を実行する CPUとしてサブ CPU2aが指定 された場合、処理要求判定部 3dは、サブ CPU状態判定レジスタ 33を参照して、サ ブ CPU2aが停止状態であるか否かを判断する (ステップ S62)。サブ CPU2aが停止 状態である場合、処理要求判定部 3dは、サブ CPU2aを動作状態に遷移させて (ス テツプ S63)、ステップ S64の動作に進む。一方、サブ CPU2aが動作状態である場 合、処理要求判定部 3dは、ステップ S64の動作に進む。ステップ S64において、処 理要求判定部 3dは、サブ CPU処理要求完了判定レジスタ 34を参照して、サブ CP U2aが割り込み処理を受付可能である力否かを判断する。サブ CPU2aが割り込み 処理を受付可能でない場合、処理要求判定部 3dは、ステップ S64の動作に戻る。一 方、サブ CPU2aが割り込み処理を受付可能である場合、処理要求判定部 3dは、割 り込み判定部 21に割り込み信号を送出して (ステップ S65)、サブ CPU割り込み処理 ルーチン (ステップ S900)を実行する。
[0116] ステップ S700において、割り込み処理を実行する CPUとしてメイン CPUlcが指定 された場合、処理要求判定部 3dは、メイン CPU状態判定レジスタ 31を参照して、メ イン CPUlcが停止状態であるか否かを判断する (ステップ S66)。メイン CPUlcが停 止状態である場合、処理要求判定部 3dは、メイン CPUlcを動作状態に遷移させて( ステップ S67)、ステップ S68の動作に進む。一方、メイン CPUlcが動作状態である 場合、処理要求判定部 3dは、ステップ S68の動作に進む。ステップ S68において、 処理要求判定部 3dは、メイン CPU処理要求完了判定レジスタ 35を参照して、メイン CPUlcが割り込み処理を受付可能である力否かを判断する。メイン CPUlcが割り 込み処理を受付可能でない場合、処理要求判定部 3dは、ステップ S68の動作に戻 る。一方、メイン CPUlcが割り込み処理を受付可能である場合、処理要求判定部 3d は、割り込み判定部 11に割り込み信号を送出して (ステップ S69)、メイン CPU割り込 み処理ルーチン (ステップ S800)を実行する。
[0117] 図 13Bは、図 13Aにおけるステップ S700での処理の詳細を示すフローチャートで ある。以下、図 13Bを参照しながら、図 13Aにおけるステップ S700での処理の詳細 について説明する。
[0118] 処理要求関数が開始されると (ステップ S701)、処理要求判定部 3dは、処理要求 先指定部 36の指定 CPU情報を参照して、当該割り込み信号に対して、どちらの CP Uが指定されて!、るかを確認する(ステップ S702)。
[0119] 指定されている CPU力メイン CPUlcの場合、処理要求判定部 3dは、メイン CPU 状態判定レジスタ 31を参照して、メイン CPUlcが停止状態であるカゝ否かを判断する (ステップ S707)。メイン CPUlcが動作状態である場合、処理要求判定部 3dは、ス テツプ S709の動作に進む。一方、メイン CPUlcが停止状態である場合、処理要求 判定部 3dは、処理要求先指定部 36の他 CPU使用可否情報を参照して、サブ CPU 2aへ割り込み信号を送出してもよいか否かを判断する (ステップ S708)。サブ CPU2 aへ割り込み信号を送出してもよい場合、処理要求判定部 3dは、処理要求先 CPUと して、サブ CPU2aを選択し、処理要求先決定関数を終了する (ステップ S711)。一 方、サブ CPU2aへ割り込み信号を送出してはいけない場合、処理要求判定部 3dは 、ステップ S709の動作に進む。
[0120] ステップ S709において、処理要求判定部 3dは、メイン CPU処理要求完了判定レ ジスタ 35を参照して、メイン CPUlcが割り込み受付可能である力否かを判断する。メ イン CPUlcが割り込み受付可能である場合、処理要求判定部 3dは、処理要求先 C PUとして、メイン CPUlcを選択し、処理要求先決定関数を終了する (ステップ S712 )。一方、メイン CPUlcが割り込み受付可能でない場合、処理要求判定部 3dは、ス テツプ S708と同様にして、サブ CPU2aへ割り込み信号を送出してもよいか否かを判 断する (ステップ S710)。サブ CPU2aへ割り込み信号を送出してもよい場合、処理 要求判定部 3dは、処理要求先 CPUとして、サブ CPU2aを選択し、処理要求先決定 関数を終了する (ステップ S711)。一方、サブ CPU2aへ割り込み信号を送出しては いけない場合、処理要求判定部 3dは、処理要求先 CPUとして、メイン CPUlcを選 択し、処理要求先決定関数を終了する (ステップ S712)。
[0121] ステップ S702において、指定されている CPUがサブ CPU2aの場合、処理要求判 定部 3dは、サブ CPU状態判定レジスタ 33を参照して、サブ CPU2aが停止状態であ る力否かを判断する (ステップ S 703)。サブ CPU2aが動作状態である場合、処理要 求判定部 3dは、ステップ S705の動作に進む。一方、サブ CPU2aが停止状態である 場合、処理要求判定部 3dは、処理要求先指定部 36の他 CPU使用可否情報を参照 して、メイン CPUlcへ割り込み信号を送出してもよいか否かを判断する (ステップ S7 04)。メイン CPUlcへ割り込み信号を送出してもよい場合、処理要求判定部 3dは、 処理要求先 CPUとして、メイン CPUlcを選択し、処理要求先決定関数を終了する( ステップ S712)。一方、メイン CPUlcへ割り込み信号を送出してはいけない場合、 処理要求判定部 3dは、ステップ S705の動作に進む。
[0122] ステップ S705において、処理要求判定部 3dは、サブ CPU処理要求完了判定レジ スタ 34を参照して、サブ CPU2aが割り込み受付可能である力否かを判断する。サブ CPU2aが割り込み受付可能である場合、処理要求判定部 3dは、処理要求先 CPU として、サブ CPU2aを選択し、処理要求先決定関数を終了する (ステップ S711)。一 方、サブ CPU2aが割り込み受付可能でない場合、処理要求判定部 3dは、ステップ S704と同様にして、メイン CPUlcへ割り込み信号を送出してもよいか否かを判断す る (ステップ S706)。メイン CPUlcへ割り込み信号を送出してもよい場合、処理要求 判定部 3dは、処理要求先 CPUとして、メイン CPUlcを選択し、処理要求先決定関 数を終了する (ステップ S712)。一方、メイン CPUlcへ割り込み信号を送出してはい けない場合、処理要求判定部 3dは、処理要求先 CPUとして、サブ CPU2aを選択し 、処理要求先決定関数を終了する (ステップ S711)。
[0123] 図 13Cは、図 13Aにおけるステップ S800でのメイン CPU割り込み処理ルーチンの 詳細を示すフローチャートである。以下、図 13Cを参照しながら、図 13Aにおけるス テツプ S800でのメイン CPU割り込み処理ルーチンの詳細について説明する。
[0124] メイン CPU割り込み処理ルーチンが開始され、割り込み判定部 11によって割り込 み信号が検出されると (ステップ S801)、メイン CPUlcは、メイン CPU処理要求完了 判定レジスタ 35に割り込み禁止フラグを書き込み (ステップ S802)、割り込み番号に 対応した割り込み処理を実行する (ステップ S803)。割り込み処理が終了したら、メイ ン CPUlcは、メイン CPU処理要求完了判定レジスタ 35に割り込み許可フラグを書き 込む (ステップ S804)。次に、メイン CPUlcは、割り込み判定部 11を参照して、割り 込み要求があるカゝ否かを判断する (ステップ S805)。割り込み要求がある場合、メイ ン CPUlcは、ステップ S802の動作に戻る。一方、割り込み要求がない場合、メイン CPUlcは、停止状態に遷移し (ステップ S806)、メイン CPU割り込み処理ルーチン を終了する(ステップ S807)。
[0125] 図 13Dは、図 13Aにおけるステップ S900でのサブ CPU割り込み処理ルーチンの 詳細を示すフローチャートである。以下、図 13Dを参照しながら、図 13Aにおけるス テツプ S900でのサブ CPU割り込み処理ルーチンの詳細について説明する。
[0126] サブ CPU割り込み処理ルーチンが開始され、割り込み判定部 21によって割り込み 信号が検出されると(ステップ S901)、サブ CPU2aは、サブ CPU処理要求完了判 定レジスタ 34に割り込み禁止フラグを書き込み (ステップ S902)、割り込み番号に対 応した割り込み処理を実行する (ステップ S903)。割り込み処理が終了したら、サブ C PU2aは、サブ CPU処理要求完了判定レジスタ 34に割り込み許可フラグを書き込む (ステップ S904)。次に、サブ CPU2aは、割り込み判定部 21を参照して、割り込み要 求があるカゝ否かを判断する (ステップ S905)。割り込み要求がある場合、サブ CPU2 aは、ステップ S902の動作に戻る。一方、割り込み要求がない場合、サブ CPU2aは 、停止状態に遷移し (ステップ S906)、サブ CPU割り込み処理ルーチンを終了する( ステップ S907)。
[0127] このように、第 5の実施形態によれば、割り込み単位で、どちらの CPUに処理させる のかを柔軟に決定することができ、処理量が比較的少なく短周期で実行されるィベン トはサブ CPU2aへ、それ以外はメイン CPUlcへなどという設定が可能になるので、 消費電力を削減することが可能である。また、第 5の実施形態において、処理要求先 指定部 36によって、メイン CPUlcが指定されている場合、情報処理装置 500は、ま ず、メイン CPUlcが停止状態であるか否かを判断する(図 13Bのステップ S707参照 ) oメイン CPUlcが停止状態である場合、情報処理装置 500は、サブ CPU2aに割り 込み処理を実行させることができるか否かを判断する(図 13Bのステップ S708参照) 。サブ CPU2aに割り込み処理を実行させることが可能な場合、情報処理装置 500は 、割り込み処理をサブ CPU2aに実行させる。したがって、メイン CPUlcが停止状態 であり、かつサブ CPU2aが割り込み処理を実行可能であれば、メイン CPUlcを立ち 上げることなく割り込み処理を実行することができるので、メイン CPUlcを長時間停 止状態にしておくことができ、消費電力を低減することができる。一方、メイン CPUlc が動作状態である場合、処理要求判定部 3dは、メイン CPUlcによって割り込み処理 を実行することができる力否かを判断する。メイン CPUlcによって割り込み処理を実 行することができる場合、割り込み処理は、メイン CPUlcによって実行されるので、 応答速度が向上することとなる。
[0128] なお、第 5の実施形態において、割り込み判定部 11、 21は、 CPU内にあってもよ いし、処理要求判定部 3d内にあってもよい。また、メイン CPU状態判定レジスタ 31、 サブ CPU状態判定レジスタ 33も、 CPU内にあってもよいし、処理要求判定部 3d内 にあってもよい。サブ CPU処理要求完了判定レジスタ 34も、 CPU内にあってもよい し、処理要求判定部 3d内にあってもよい。
[0129] なお、割り込み要求レジスタ 32における割り込み信号の記録方式は、図 11に示す ような記録方式以外であってもよ 、。
[0130] なお、第 5の実施形態では、割り込み受付可能になるまでの処理として、図 13Aの ステップ S64および S68に示すように、ビジーループを用いることとした。し力し、処理 要求判定部 3dは、割り込み処理をキューのようなデータ構造に時系列で並べて蓄積 しておき、割り込み判定部 11および 21を監視しながら、以降の割り込み信号を送出 してちよい。
[0131] なお、第 5の実施形態においても、第 3の実施形態と同様、サブ CPU2aでの処理 をメイン CPUlcへ引き継ぐような機構を導入することも可能である。この実現可能方 法は、第 3の実施形態の図 7B〜図 7D、および図 8より明らかである。
[0132] なお、図 13Bに示すフローチャートにお!/ヽて、ステップ S709、 S703、また ίま S705 の少なくとも 1つの処理は、なくてもよい。
[0133] (第 6の実施形態)
本発明の第 6の実施形態に係る情報処理装置の構成要素は、第 5の実施形態と同 様であるので、図 1、図 11および図 12を援用することとする。
[0134] 図 14は、本発明の第 6の実施形態に係る情報処理装置の動作を示すフローチヤ ートである。以下、図 14を参照しながら、本発明の第 6の実施形態に係る情報処理装 置の動作にっ 、て説明する。
[0135] 周辺装置 41、 42、 43のいずれかによつて割り込み信号が送出されると、処理要求 判定部 3dは、割り込み信号が発生したことを、割り込み要求レジスタ 32における周辺 装置 41、 42、 43に対応する箇所にフラグを立てることによって記憶する (ステップ S7 D o
[0136] 次に、処理要求判定部 3dは、メイン CPU状態判定レジスタ 31を参照して、メイン C PU1が停止状態である力否かを判断する(ステップ S72)。
[0137] ステップ S72において、メイン CPU1が動作状態であると判断した場合、処理要求 判定部 3dは、メイン CPU処理要求完了判定レジスタ 35を参照して、メイン CPUlcが 割り込み受付可能であるか否かを判断する (ステップ S73)。割り込み受付可能であ る場合、処理要求判定部 3dは、処理要求先指定部 36に定義されているテーブルに おける指定 CPU情報を参照して、指定 CPUとして、メイン CPUlcが指定されている か否かに基づいて、メイン CPUlcに割り込み信号を送出してもよいか否かを判断す る (ステップ S74)。ここで、処理要求先指定部 36に定義されているテーブルの例とし て、図 12の他、図 15に示すように、割り込み番号に対応して、指定 CPU情報のみが 定義されて 、るテーブルが用いられてもよ 、。
[0138] ステップ S74において、メイン CPUlcに割り込み信号を送出してはいけない場合、 処理要求判定部 3dは、ステップ S75の動作に進む。一方、メイン CPUlcに割り込み 信号を送出してもよい場合、処理要求判定部 3dは、ステップ S81の動作に進む。
[0139] ステップ S75において、処理要求判定部 3dは、サブ CPU状態判定レジスタ 33を参 照して、サブ CPU2aが停止状態であるか否かを判断する。
[0140] サブ CPU2aが停止状態である場合、処理要求判定部 3dは、サブ CPU2aを動作 状態に遷移させ (ステップ S76)、ステップ S77の動作に進む。一方、サブ CPU2aが 停止状態でない場合、処理要求判定部 3dは、ステップ S77の動作に進む。
[0141] ステップ S77において、処理要求判定部 3dは、サブ CPU処理要求完了判定レジ スタ 34を参照して、サブ CPU2aが割り込み信号を受付可能であるか否かを判断す る。
[0142] サブ CPU2aが割り込み受付可能でな 、場合、処理要求判定部 3dは、ステップ S7 7の動作に戻り、割り込み受付不可能と判断されている間、ビジーループを行い、割 り込み受付可能になるまでウェイトする。サブ CPU2aが割り込み信号受付可能であ る場合、処理要求判定部 3dは、割り込み判定部 21に割り込み信号を送出し (ステツ プ S78)、サブ CPU割り込み処理ルーチンを実行する(ステップ S900)。サブ CPU 割り込み処理ルーチンは、第 5の実施形態と同様であるので、図 13Dを援用して、説 明を省略する。
[0143] ステップ S72において、メイン CPUlcが停止状態であると判断した場合、処理要求 判定部 3dは、処理要求先指定部 36に定義されているテーブルの指定 CPU情報を 参照して、サブ CPU2aに割り込み信号を送出してもよいか否かを判断する (ステップ S79) 0サブ CPU2aに割り込み信号を送出してもよい場合、処理要求判定部 3dは、 ステップ S75の動作に進む。一方、サブ CPU2aに割り込み信号を送出してはいけな いと判断した場合、処理要求判定部 3dは、メイン CPUlcを動作状態に遷移させ (ス テツプ S80)、ステップ S81の動作に進む。
[0144] ステップ S81において、処理要求判定部 3dは、メイン CPU処理要求完了判定レジ スタ 35を参照して、メイン CPUlcが割り込み受付可能であるか否かを判断する。メイ ン CPUlcが割り込み受付可能でない場合、処理要求判定部 3dは、ステップ S81の 動作に戻り、割り込み受付可能になるまでビジーウェイトを行う。割り込み受付可能で ある場合、処理要求判定部 3dは、割り込み判定部 11に割り込み信号を送出し (ステ ップ S82)、メイン CPU割り込み処理ルーチンを実行する(ステップ S900)。メイン CP U割り込み処理ルーチンは、第 5の実施形態と同様であるので、図 13Cを援用して、 説明を省略する。
[0145] このように、第 6の実施形態によれば、割り込み単位で、どちらの CPUに処理させる のかを柔軟に決定することができ、処理量が比較的少なく短周期で実行されるィベン トはサブ CPU2へ、それ以外はメイン CPU1へなどという設定が可能になるのでで、 消費電力を削減することが可能である。また、第 6の実施形態において、情報処理装 置は、まず、メイン CPUlcが停止状態である力否かを判断する(図 14のステップ S7 2参照)。メイン CPUlcが停止状態である場合で、サブ CPU2aに割り込み処理を実 行させることができるか否かを判断する(図 14のステップ S79参照)。サブ CPU2aに 割り込み処理を実行させることが可能な場合、情報処理装置は、割り込み処理をサ ブ CPU2aに実行させる。したがって、メイン CPUlcが停止状態であり、かつサブ CP U2aが割り込み処理を実行可能であれば、メイン CPUlcを立ち上げることなく割り込 み処理を実行することができるので、メイン CPUlcを長時間停止状態にしておくこと ができ、消費電力を低減することができる。一方、メイン CPUlcが動作状態である場 合、メイン CPUlcに割り込み処理を実行させることができる力否かが判断される(図 1 4のステップ S74)。メイン CPUlcに割り込み処理を実行させることが可能な場合、情 報処理装置は、割り込み処理をメイン CPUlaに実行させる。したがって、応答速度 が向上する。
[0146] なお、第 6の実施形態において、割り込み判定部 11、 21は、 CPU内にあってもよ いし、処理要求判定部 3d内にあってもよい。また、メイン CPU状態判定レジスタ 31、 サブ CPU状態判定レジスタ 33も、 CPU内にあってもよいし、処理要求判定部 3d内 にあってもよい。サブ CPU処理要求完了判定レジスタ 34も、 CPU内にあってもよい し、処理要求判定部 3d内にあってもよい。
[0147] なお、割り込み要求レジスタ 32における割り込み信号の記録方式は、図 11に示す ような記録方式以外であってもよ 、。
[0148] なお、第 6の実施形態では、割り込み受付可能になるまでの処理として、図 14のス テツプ S77および S81に示すように、ビジーループを用いることとした。し力し、処理 要求判定部 3dは、割り込み処理をキューのようなデータ構造に時系列で並べて蓄積 しておき、割り込み判定部 11および 21を監視しながら、以降の割り込み信号を送出 してちよい。
[0149] なお、第 6の実施形態においても、第 3の実施形態と同様、サブ CPU2aでの処理 をメイン CPUlcへ引き継ぐような機構を導入することも可能である。この実現可能方 法は、第 3の実施形態の図 7B〜図 7D、および図 8より明らかである。
[0150] なお、割り込みコントローラ (M4)をマイコン等の汎用のコンピュータ装置として、記 憶装置に格納されたプログラムを当該コンピュータ装置に読み込んで、上記実施形 態に示した動作を当該コンピュータ装置に実行させて、処理要求判定部を実現して もよい。当該プログラムは、予め情報処理装置内に内蔵されていてもよいし、後から、 情報処理装置にインストールされてもょ 、。
[0151] なお、本発明の情報処理装置を実現するために必要な機能ブロック (たとえば、処 理要求判定部)は、集積回路である LSIとして実現されてもよい。これらの機能ブロッ クは、 1チップ化されていてもよいし、一部又は全てを含むように 1チップ化されていて もよい。ここでは、 LSIといった力 集積度の違いによっては、 IC、システム LSI、スー パー LSI、ウルトラ LSIと称呼されることもある。また、集積回路化の手法は、 LSIに限 られるものではなぐ専用回路または汎用プロセッサで集積回路化を行ってもよい。ま た、 LSI製造後にプログラムすることが可能な FPGA (Field Programmable Gate
Array)や、 LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブ ル.プロセッサーを用いてもよい。さらには、半導体技術の進歩または派生する別技 術により LSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用い て機能ブロックを集積ィ匕してもょ 、。バイオ技術の適応等が可能性としてあり得る。
[0152] 以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明 の例示にすぎず、その範囲を限定しょうとするものではない。本発明の範囲を逸脱す ることなく種々の改良や変形を行うことができることは言うまでもな 、。
産業上の利用可能性
[0153] 本発明に係る情報処理装置は、高性能な消費電力の大きいメイン CPUを頻繁に 動作状態にさせることなぐ低消費電力なサブ CPUを用いて処理を行うことが可能と なる。したがって、本発明に係る情報処置装置は、バッテリー駆動する移動体端末装 置などで有用である。また、本発明に係る情報処理装置は、移動体端末装置のみな らず、電力削減効果を期待するような各種家電機器、情報処理機器、産業機器など でも利用可能である。

Claims

請求の範囲
[1] 内部または外部の周辺装置を制御するための情報処理装置であって、
動作状態および停止状態の少なくとも 2つの状態を取り得るメイン CPUと、 前記メイン CPUよりも消費電力が少なぐ動作状態および停止状態の少なくとも 2 つの状態を取り得るサブ CPUと、
前記周辺装置からの要求に関する処理を、前記メイン CPUに実行させる力、それと も前記サブ CPUに実行させるかを判定する処理要求判定部とを備え、
前記処理要求判定部は、前記メイン CPUが停止状態であるかそれとも動作状態で あるかを判断し、前記メイン CPUが停止状態である場合、前記サブ CPUに前記処理 を実行させることができるか否かを判断し、前記メイン CPUが動作状態である場合、 前記メイン CPUに前記処理を実行させることができるか否かを判断し、判断結果に 応じて、前記メイン CPUまたは前記サブ CPUに前記処理を実行させることを特徴と する、情報処理装置。
[2] 前記処理要求判定部は、
前記メイン CPUが停止状態である場合、前記サブ CPUに前記処理を実行させ、 前記メイン CPUが動作状態である場合、前記メイン CPUに前記処理を実行させ ることを特徴とする、請求項 1に記載の情報処理装置。
[3] 前記処理要求判定部は、
前記メイン CPUが停止状態である場合、前記サブ CPUが前記処理を受付可能 であるか否かを判断し、受付可能である場合、前記サブ CPUに前記処理を実行させ 、受付可能でない場合、前記メイン CPUに前記処理を実行させ、
前記メイン CPUが動作状態である場合、前記メイン CPUに前記処理を実行させ ることを特徴とする、請求項 1に記載の情報処理装置。
[4] 前記処理要求判定部は、
前記メイン CPUが停止状態である場合、前記サブ CPUが前記処理を受付可能 であるか否かを判断し、受付可能である場合、前記サブ CPUに前記処理を実行させ 、受付可能でない場合、前記メイン CPUに前記処理を実行させ、
前記メイン CPUが動作状態である場合、前記メイン CPUが前記処理を受付可能 であるか否かを判断し、受付可能である場合、前記メイン CPUに前記処理を実行さ せ、受付可能でない場合、前記サブ CPUに前記処理を実行させることができる力否 かを判断することを特徴とする、請求項 1に記載の情報処理装置。
[5] 前記周辺装置での処理に対応させて、指定 CPU情報として、当該処理を実行して 欲しい所望の CPUを予め定義している処理要求先指定部をさらに備え、
前記処理要求判定部は、前記処理要求先指定部の前記指定 CPU情報によって 指定されて 、る CPUが前記メイン CPUである場合、前記メイン CPUが停止状態であ るかそれとも動作状態であるかを判断することを特徴とする、請求項 1に記載の情報 処理装置。
[6] 前記処理要求先指定部は、他 CPU使用可否情報として、前記指定 CPU情報に定 義されて!/、る CPU以外の CPUを用いて前記処理が実行されてもょ 、か否かをさらに 定義しており、
前記処理要求判定部は、
前記メイン CPUが停止状態である場合、前記他 CPU使用可否情報を参照して、 前記サブ CPUに前記処理を実行させてもよいか否かを判断し、
前記サブ CPUに前記処理を実行させてもよ ヽ場合、前記サブ CPUに前記処理 を実行させると決定し、
前記サブ CPUに前記処理を実行させては ヽけな 、場合、前記メイン CPUに前記 処理を実行させると決定することを特徴とする、請求項 5に記載の情報処理装置。
[7] 前記処理要求判定部は、
前記メイン CPUが動作状態である場合、前記メイン CPUが前記処理を受付可能 であるか否かを判断し、
前記メイン CPUが前記処理を受付可能である場合、前記メイン CPUに前記処理 を実行させると決定し、
前記メイン CPUが前記処理を受付可能でない場合、前記他 CPU使用可否情報 を参照して、前記サブ CPUに前記処理を実行させてもよ 、か否かを判断し、
前記サブ CPUに前記処理を実行させてもよ ヽ場合、前記サブ CPUに前記処理 を実行させると決定し、 前記サブ CPUに前記処理を実行させては ヽけな 、場合、前記メイン CPUに前記 処理を実行させると決定することを特徴とする、請求項 6に記載の情報処理装置。
[8] 前記処理要求判定部は、前記処理要求先指定部の前記指定 CPU情報によって 指定されて 、る CPUが前記サブ CPUである場合、前記サブ CPUが停止状態である かそれとも動作状態であるかを判断して、前記処理を前記メイン CPUに実行させる かそれとも前記サブ CPUに実行させるかを決定することを特徴とする、請求項 5に記 載の情報処理装置。
[9] 前記処理要求先指定部は、他 CPU使用可否情報として、前記指定 CPU情報に定 義されて!/、る CPU以外の CPUを用いて前記処理が実行されてもょ 、か否かをさらに 定義しており、
前記処理要求判定部は、
前記サブ CPUが停止状態の場合、前記他 CPU使用可否情報を参照して、前記 メイン CPUに前記処理を実行させてよいか否かを判断し、
前記メイン CPUに前記処理を実行させてもよ 、場合、前記メイン CPUに前記処 理を実行させると決定し、
前記メイン CPUに前記処理を実行させては 、けな 、場合、前記サブ CPUに前記 処理を実行させると決定することを特徴とする、請求項 8に記載の情報処理装置。
[10] 前記処理要求判定部は、
前記サブ CPUが動作状態である場合、前記サブ CPUが前記処理を受付可能で あるカゝ否かを判断し、
前記サブ CPUが前記処理を受付可能である場合、前記サブ CPUに前記処理を 実行させると決定し、
前記サブ CPUが前記処理を受付可能でない場合、前記他 CPU使用可否情報を 参照して、前記メイン CPUに前記処理を実行させてもよ ヽか否かを判断し、
前記メイン CPUに前記処理を実行させてもよ 、場合、前記メイン CPUに前記処 理を実行させると決定し、
前記メイン CPUに前記処理を実行させては 、けな 、場合、前記サブ CPUに前記 処理を実行させると決定することを特徴とする、請求項 9に記載の情報処理装置。
[11] 前記周辺装置での処理に対応させて、指定 CPU情報として、当該処理を実行して 欲しい所望の CPUを予め定義している処理要求先指定部をさらに備え、
前記処理要求判定部は、
前記メイン CPUが停止状態である場合、前記指定 CPU情報を参照して、前記サ ブ CPUに前記処理を実行させてもよいか否かを判断し、
前記サブ CPUに前記処理を実行させてもよ ヽ場合、前記サブ CPUに前記処理 を実行させ、
前記サブ CPUに前記処理を実行させては ヽけな 、場合、前記メイン CPUに前記 処理を実行させることを特徴とする、請求項 1に記載の情報処理装置。
[12] 前記処理要求判定部は、
前記メイン CPUが動作状態である場合、前記メイン CPUが前記処理を受付可能 であるか否かを判断し、
前記メイン CPUが前記処理を受付可能でな ヽ場合、前記指定 CPU情報を参照 して、前記メイン CPUに前記処理を実行させてもょ ヽか否かを判断し、
前記メイン CPUに前記処理を実行させてもよ 、場合、前記メイン CPUに前記処 理を実行させ、
前記メイン CPUに前記処理を実行させては 、けな 、場合、前記サブ CPUに前記 処理を実行させ、
前記メイン CPUが前記処理を受付可能である場合、前記サブ CPUに前記処理 を実行させることを特徴とする、請求項 11に記載の情報処理装置。
[13] 前記サブ CPUに前記処理を実行させている間に、前記メイン CPUに対する起動 要求がなされれば、前記サブ CPUおよび前記メイン CPUは、前記サブ CPUで実行 されていた処理を前記メイン CPUに引き継がせるための処理を実行することを特徴と する、請求項 1に記載の情報処理装置。
[14] 動作状態および停止状態の少なくとも 2つの状態を取り得るメイン CPUと、前記メイ ン CPUよりも消費電力が少なぐ動作状態および停止状態の少なくとも 2つの状態を 取り得るサブ CPUとを備える、内部または外部の周辺装置を制御するための情報処 理装置での処理方法であって、 前記メイン CPUが停止状態であるかそれとも動作状態であるかを判断し、 前記メイン CPUが停止状態である場合、前記サブ CPUに前記周辺装置からの要 求に関する処理を実行させることができるか否かを判断し、
前記メイン CPUが動作状態である場合、前記メイン CPUに前記処理を実行させる ことができる力否かを判断し、
判断結果に応じて、前記メイン CPUまたは前記サブ CPUに前記処理を実行させる ことを特徴とする、方法。
[15] 動作状態および停止状態の少なくとも 2つの状態を取り得るメイン CPUと、前記メイ ン CPUよりも消費電力が少なぐ動作状態および停止状態の少なくとも 2つの状態を 取り得るサブ CPUとを用いて、内部または外部の周辺装置を制御するための集積回 路であって、
前記メイン CPUが停止状態であるかそれとも動作状態であるかを判断し、 前記メイン CPUが停止状態である場合、前記サブ CPUに前記周辺装置からの要 求に関する処理を実行させることができるか否かを判断し、
前記メイン CPUが動作状態である場合、前記メイン CPUに前記処理を実行させる ことができる力否かを判断し、
判断結果に応じて、前記メイン CPUまたは前記サブ CPUに前記処理を実行させる ことを特徴とする、集積回路。
[16] 動作状態および停止状態の少なくとも 2つの状態を取り得るメイン CPUと、前記メイ ン CPUよりも消費電力が少なぐ動作状態および停止状態の少なくとも 2つの状態を 取り得るサブ CPUとに、内部または外部の周辺装置を制御させるためのコンピュータ 装置で実行されるプログラムであって、
前記メイン CPUが停止状態であるかそれとも動作状態である力を前記コンピュータ 装置に判断させ、
前記メイン CPUが停止状態である場合、前記サブ CPUに前記周辺装置からの要 求に関する処理を実行させることができるか否力を前記コンピュータ装置に判断させ 前記メイン CPUが動作状態である場合、前記メイン CPUに前記処理を実行させる ことができる力否かを前記コンピュータ装置に判断させ、
判断結果に応じて、前記コンピュータ装置を用いて、前記メイン CPUまたは前記サ ブ CPUに前記処理を実行させることを特徴とする、プログラム。
PCT/JP2005/014116 2004-08-05 2005-08-02 情報処理装置 WO2006013857A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US11/658,088 US7725749B2 (en) 2004-08-05 2005-08-02 Information processing device for assigning processes to a main CPU or sub-CPU based on a sleeping state
JP2006531490A JP4607884B2 (ja) 2004-08-05 2005-08-02 情報処理装置
US12/726,654 US8341438B2 (en) 2004-08-05 2010-03-18 Information processing device for assigning interrupts to a first CPU or a second CPU based on a sleeping state

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004229634 2004-08-05
JP2004-229634 2004-08-05

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US11/658,088 A-371-Of-International US7725749B2 (en) 2004-08-05 2005-08-02 Information processing device for assigning processes to a main CPU or sub-CPU based on a sleeping state
US12/726,654 Division US8341438B2 (en) 2004-08-05 2010-03-18 Information processing device for assigning interrupts to a first CPU or a second CPU based on a sleeping state

Publications (1)

Publication Number Publication Date
WO2006013857A1 true WO2006013857A1 (ja) 2006-02-09

Family

ID=35787140

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/014116 WO2006013857A1 (ja) 2004-08-05 2005-08-02 情報処理装置

Country Status (4)

Country Link
US (2) US7725749B2 (ja)
JP (1) JP4607884B2 (ja)
CN (1) CN100474214C (ja)
WO (1) WO2006013857A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009527828A (ja) * 2006-02-17 2009-07-30 クゥアルコム・インコーポレイテッド マルチプロセッサのアプリケーションサポートのためのシステムおよび方法
JP2010072794A (ja) * 2008-09-17 2010-04-02 Nec Personal Products Co Ltd 情報処理装置
GB2505274A (en) * 2012-08-21 2014-02-26 Lenovo Singapore Pte Ltd Scheduling in big and little cores based on interrupt policy
JP2014528115A (ja) * 2011-09-06 2014-10-23 インテル・コーポレーション 電力効率の優れたプロセッサアーキテクチャ
JP2016066129A (ja) * 2014-09-22 2016-04-28 カシオ計算機株式会社 情報処理装置及び動作制御方法
JP2016201139A (ja) * 2016-08-04 2016-12-01 インテル・コーポレーション 電力効率の優れたプロセッサアーキテクチャ
JP2016212907A (ja) * 2016-08-04 2016-12-15 インテル・コーポレーション 電力効率の優れたプロセッサアーキテクチャ
JP2017021811A (ja) * 2016-08-04 2017-01-26 インテル・コーポレーション 電力効率の優れたプロセッサアーキテクチャ

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7882369B1 (en) * 2002-11-14 2011-02-01 Nvidia Corporation Processor performance adjustment system and method
WO2006013857A1 (ja) * 2004-08-05 2006-02-09 Matsushita Electric Industrial Co., Ltd. 情報処理装置
US9134782B2 (en) 2007-05-07 2015-09-15 Nvidia Corporation Maintaining optimum voltage supply to match performance of an integrated circuit
US8370663B2 (en) * 2008-02-11 2013-02-05 Nvidia Corporation Power management with dynamic frequency adjustments
CN101661304B (zh) * 2008-08-25 2011-07-27 联想(北京)有限公司 一种计算机及其输入设备共用方法
JP4644747B1 (ja) * 2009-11-02 2011-03-02 パナソニック株式会社 情報処理装置、制御方法および制御プログラム
US9256265B2 (en) 2009-12-30 2016-02-09 Nvidia Corporation Method and system for artificially and dynamically limiting the framerate of a graphics processing unit
US9830889B2 (en) 2009-12-31 2017-11-28 Nvidia Corporation Methods and system for artifically and dynamically limiting the display resolution of an application
US8839006B2 (en) 2010-05-28 2014-09-16 Nvidia Corporation Power consumption reduction systems and methods
CN102385562A (zh) * 2010-08-31 2012-03-21 联想(北京)有限公司 计算机和数据交互方法
US8988710B2 (en) * 2011-03-10 2015-03-24 Canon Kabushiki Kaisha Printing apparatus
GB2491666A (en) * 2011-06-08 2012-12-12 Inst Information Industry Green computing heterogeneous computer system
JP5817287B2 (ja) * 2011-07-25 2015-11-18 株式会社リコー 情報処理装置と情報処理方法とプログラム
CN106020424B (zh) * 2011-09-06 2019-08-06 英特尔公司 有功率效率的处理器体系结构
CN106095046A (zh) * 2011-09-06 2016-11-09 英特尔公司 有功率效率的处理器体系结构
TWI454905B (zh) * 2011-09-30 2014-10-01 Intel Corp 在多核心平台中之受限制的啓動技術
US20140223061A1 (en) * 2011-12-19 2014-08-07 Keng Lai Yap System and deterministic method for servicing msi interrupts using direct cache access
US9009508B2 (en) * 2012-08-28 2015-04-14 Advanced Micro Devices, Inc. Mechanism for reducing interrupt latency and power consumption using heterogeneous cores
US9152211B2 (en) * 2012-10-30 2015-10-06 Google Technology Holdings LLC Electronic device with enhanced notifications
US9329667B2 (en) * 2012-11-21 2016-05-03 Completecover, Llc Computing device employing a proxy processor to learn received patterns
US10082858B2 (en) * 2014-06-23 2018-09-25 Mellanox Technologies, Ltd. Peripheral device assistance in reducing CPU power consumption
US10324513B2 (en) 2014-08-31 2019-06-18 Mellanox Technologies, Ltd. Control of peripheral device data exchange based on CPU power state
CN104391744A (zh) * 2014-09-23 2015-03-04 深圳市金立通信设备有限公司 一种终端
US9678903B1 (en) * 2014-10-15 2017-06-13 Intel Corporation Systems and methods for managing inter-CPU interrupts between multiple CPUs
JP6398666B2 (ja) * 2014-12-03 2018-10-03 株式会社リコー 機能制御装置、情報処理装置、画像処理装置及び通信確立方法
JP6415385B2 (ja) * 2015-05-27 2018-10-31 ルネサスエレクトロニクス株式会社 半導体装置
FR3061565B1 (fr) * 2017-01-04 2019-04-26 Stmicroelectronics (Rousset) Sas Fonctionnement d'un microcontroleur en mode basse puissance
EP4290378A4 (en) * 2021-05-31 2024-03-06 Samsung Electronics Co., Ltd. Electronic device and method for processing sensor data of electronic device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001109729A (ja) * 1999-10-12 2001-04-20 Nec Corp マルチプロセッサシステムにおける消費電力制御装置および方法
JP2002215597A (ja) * 2001-01-15 2002-08-02 Mitsubishi Electric Corp マルチプロセッサ装置
JP2002288150A (ja) * 2001-03-28 2002-10-04 Matsushita Electric Ind Co Ltd 半導体集積回路装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0496856A (ja) * 1990-08-13 1992-03-30 Matsushita Electric Ind Co Ltd 情報処理装置
JP3049804B2 (ja) 1991-04-08 2000-06-05 松下電器産業株式会社 情報処理装置
US5867704A (en) * 1995-02-24 1999-02-02 Matsushita Electric Industrial Co., Ltd. Multiprocessor system shaving processor based idle state detection and method of executing tasks in such a multiprocessor system
JPH08292932A (ja) * 1995-02-24 1996-11-05 Matsushita Electric Ind Co Ltd マルチプロセッサシステムおよびマルチプロセッサシステムにおいてタスクを実行する方法
JPH117344A (ja) 1997-06-18 1999-01-12 Nec Shizuoka Ltd 省電力パソコン
US6772241B1 (en) * 2000-09-29 2004-08-03 Intel Corporation Selective interrupt delivery to multiple processors having independent operating systems
US6986066B2 (en) * 2001-01-05 2006-01-10 International Business Machines Corporation Computer system having low energy consumption
JP2004072352A (ja) * 2002-08-05 2004-03-04 Nec Corp 携帯端末システム、該システムに用いられる監視制御方法及び監視制御プログラム、並びに携帯端末
US7117379B2 (en) * 2002-08-14 2006-10-03 Intel Corporation Method and apparatus for a computing system having an active sleep mode
US7191349B2 (en) * 2002-12-26 2007-03-13 Intel Corporation Mechanism for processor power state aware distribution of lowest priority interrupt
JP4090908B2 (ja) * 2003-02-21 2008-05-28 シャープ株式会社 画像処理装置および画像形成装置
JP2004280378A (ja) * 2003-03-14 2004-10-07 Handotai Rikougaku Kenkyu Center:Kk 半導体装置
US7493435B2 (en) * 2003-10-06 2009-02-17 Intel Corporation Optimization of SMI handling and initialization
US7363411B2 (en) * 2003-10-06 2008-04-22 Intel Corporation Efficient system management synchronization and memory allocation
US20050132239A1 (en) * 2003-12-16 2005-06-16 Athas William C. Almost-symmetric multiprocessor that supports high-performance and energy-efficient execution
US7251746B2 (en) * 2004-01-21 2007-07-31 International Business Machines Corporation Autonomous fail-over to hot-spare processor using SMI
WO2006013857A1 (ja) * 2004-08-05 2006-02-09 Matsushita Electric Industrial Co., Ltd. 情報処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001109729A (ja) * 1999-10-12 2001-04-20 Nec Corp マルチプロセッサシステムにおける消費電力制御装置および方法
JP2002215597A (ja) * 2001-01-15 2002-08-02 Mitsubishi Electric Corp マルチプロセッサ装置
JP2002288150A (ja) * 2001-03-28 2002-10-04 Matsushita Electric Ind Co Ltd 半導体集積回路装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009527828A (ja) * 2006-02-17 2009-07-30 クゥアルコム・インコーポレイテッド マルチプロセッサのアプリケーションサポートのためのシステムおよび方法
JP2010072794A (ja) * 2008-09-17 2010-04-02 Nec Personal Products Co Ltd 情報処理装置
US9864427B2 (en) 2011-09-06 2018-01-09 Intel Corporation Power efficient processor architecture
JP2014528115A (ja) * 2011-09-06 2014-10-23 インテル・コーポレーション 電力効率の優れたプロセッサアーキテクチャ
US9360927B2 (en) 2011-09-06 2016-06-07 Intel Corporation Power efficient processor architecture
US10664039B2 (en) 2011-09-06 2020-05-26 Intel Corporation Power efficient processor architecture
US10048743B2 (en) 2011-09-06 2018-08-14 Intel Corporation Power efficient processor architecture
US9870047B2 (en) 2011-09-06 2018-01-16 Intel Corporation Power efficient processor architecture
GB2505274A (en) * 2012-08-21 2014-02-26 Lenovo Singapore Pte Ltd Scheduling in big and little cores based on interrupt policy
US8984200B2 (en) 2012-08-21 2015-03-17 Lenovo (Singapore) Pte. Ltd. Task scheduling in big and little cores
GB2505274B (en) * 2012-08-21 2016-03-02 Lenovo Singapore Pte Ltd Interrupt handling in big and little cores
JP2016066129A (ja) * 2014-09-22 2016-04-28 カシオ計算機株式会社 情報処理装置及び動作制御方法
JP2017021811A (ja) * 2016-08-04 2017-01-26 インテル・コーポレーション 電力効率の優れたプロセッサアーキテクチャ
JP2016212907A (ja) * 2016-08-04 2016-12-15 インテル・コーポレーション 電力効率の優れたプロセッサアーキテクチャ
JP2016201139A (ja) * 2016-08-04 2016-12-01 インテル・コーポレーション 電力効率の優れたプロセッサアーキテクチャ

Also Published As

Publication number Publication date
US7725749B2 (en) 2010-05-25
US20100185886A1 (en) 2010-07-22
CN1993670A (zh) 2007-07-04
US8341438B2 (en) 2012-12-25
CN100474214C (zh) 2009-04-01
US20070245164A1 (en) 2007-10-18
JP4607884B2 (ja) 2011-01-05
JPWO2006013857A1 (ja) 2008-05-01

Similar Documents

Publication Publication Date Title
JP4607884B2 (ja) 情報処理装置
JP5388864B2 (ja) クロック制御装置、クロック制御方法、クロック制御プログラム及び集積回路
CN1118760C (zh) 计算机系统中处理器性能和功率的动态管理
US8806502B2 (en) Batching resource requests in a portable computing device
KR101799253B1 (ko) 다중 클러스터 이종 프로세서 아키텍처에서 동적 캐시 확장을 제공하기 위한 시스템 및 방법
JP6038699B2 (ja) 電子機器
US20060200826A1 (en) Processor and information processing method
JPH077317B2 (ja) システム再起動装置
KR101483897B1 (ko) 휴대용 컴퓨팅 디바이스의 프로세서들에 대한 슬립 상태들로의 신속한 진입 및 슬립 상태들로부터의 신속한 퇴장을 위한 방법 및 시스템
JP2010262621A (ja) 電源制御付きコンピュータシステム及び電源制御方法
US8943504B2 (en) Tracking and releasing resources placed on a deferred unlock list at the end of a transaction
JP2001202155A (ja) 低消費電力処理装置
KR20150106144A (ko) 메모리 스왑 오퍼레이션 제어 방법 및 이를 적용하는 데이터 처리 시스템
JP2004199684A (ja) プリフェッチ・バッファを用いたメモリ電力管理
CN111541825B (zh) 电子装置及其控制方法
US8166105B2 (en) Portable terminal, server, and method for realizing function of portable terminal using network
JP5783348B2 (ja) 制御装置、制御プログラム、画像形成装置
JPH10143274A (ja) Cpuのクロック制御装置
JP2004287761A (ja) 半導体装置、半導体回路、電子機器及びクロック供給制御方法
JP2003150283A (ja) 電力制御装置及び電力制御方法
US11606316B2 (en) System and method for modem stabilization when waiting for AP-driven link recovery
CN101194235A (zh) 存储器控制装置及存储器控制方法
JP5017784B2 (ja) プロセッサ及びこのプロセッサ適用される割込み処理制御方法
JPH09138720A (ja) 表示制御装置
JP2000039983A (ja) コンピュータシステムおよび表示装置切り替え制御方法

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 11658088

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2006531490

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 200580026615.0

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 11658088

Country of ref document: US

122 Ep: pct application non-entry in european phase