JP2015022556A - Processor system and semiconductor integrated circuit - Google Patents

Processor system and semiconductor integrated circuit Download PDF

Info

Publication number
JP2015022556A
JP2015022556A JP2013150680A JP2013150680A JP2015022556A JP 2015022556 A JP2015022556 A JP 2015022556A JP 2013150680 A JP2013150680 A JP 2013150680A JP 2013150680 A JP2013150680 A JP 2013150680A JP 2015022556 A JP2015022556 A JP 2015022556A
Authority
JP
Japan
Prior art keywords
processor
controller
ready queue
task
state
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2013150680A
Other languages
Japanese (ja)
Other versions
JP6309216B2 (en
Inventor
正臣 寺西
Masaomi Teranishi
正臣 寺西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Spansion LLC
Original Assignee
Spansion LLC
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 Spansion LLC filed Critical Spansion LLC
Priority to JP2013150680A priority Critical patent/JP6309216B2/en
Publication of JP2015022556A publication Critical patent/JP2015022556A/en
Application granted granted Critical
Publication of JP6309216B2 publication Critical patent/JP6309216B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Abstract

PROBLEM TO BE SOLVED: To efficiently suppress the power consumption of a system.SOLUTION: A processor 101 executes an executable task 110 registered in a ready queue 103. If the executable task 110 is not registered in the ready queue 103, the processor 101 shifts into a first power saving state. On the other hand, a controller 102 receives timer interrupts at predetermined intervals and updates the ready queue 103. If the executable task 110 is registered in the ready queue 103, the controller 102 transmits a processor start interrupt to the processor 101. Upon receiving the processor start interrupt, the processor 101 transitions to a first activation state to execute the executable tasks 110 registered in the ready queue.

Description

本発明は、プロセッサシステムおよび半導体集積回路に関する。   The present invention relates to a processor system and a semiconductor integrated circuit.

スマートフォン、携帯電話機、タブレット型PC(Personal Computer)などのバッテリに充電された電力により動作する携帯型情報端末では、駆動時間を長くするために、待機時間中の消費電力を抑えることが重要である。待機時間中の消費電力を抑える技術として、例えば、実行する処理が存在しない場合に、消費電力がより少ない省電力状態に遷移させるものがある。   In a portable information terminal that operates with electric power charged in a battery such as a smartphone, a mobile phone, and a tablet PC (Personal Computer), it is important to suppress power consumption during standby time in order to increase the driving time. . As a technique for reducing the power consumption during the standby time, for example, when there is no process to be executed, there is a technique for shifting to a power saving state with less power consumption.

関連する先行技術として、例えば、マルチタスク・オペレーティング・システムの下で最下位の優先度で走るプログラムによって、プロセッサへのクロック信号の供給を停止させる、または周波数を低下させるものがある。また、クロックの供給を停止するスタンバイタスクを、最も優先順位が低いタスクとして用意しておき、他のタスク処理が終了した後に、スタンバイタスクを実行させる技術がある。   Related prior art includes, for example, stopping the supply of a clock signal to the processor or reducing the frequency by a program running at the lowest priority under a multitasking operating system. In addition, there is a technique in which a standby task for stopping clock supply is prepared as a task with the lowest priority, and the standby task is executed after the other task processing is completed.

特開平4−278612号公報JP-A-4-278612 特開平11−212662号公報Japanese Patent Laid-Open No. 11-212661

しかしながら、従来技術によれば、システムの十分な省電力化を図ることが難しい。例えば、システムの消費電力を抑えるために、実行するタスクが存在しない場合にプロセッサに供給するクロック信号の周波数を低下させても、周期的にプロセッサにタイマ割り込みが入る。このため、タイマ割り込みが入るたびにプロセッサが起動されて省電力状態が中断することになり、十分な省電力化を図ることが難しい。   However, according to the prior art, it is difficult to achieve sufficient power saving of the system. For example, in order to reduce the power consumption of the system, even if the frequency of the clock signal supplied to the processor is decreased when there is no task to be executed, a timer interrupt periodically enters the processor. For this reason, each time a timer interrupt occurs, the processor is started and the power saving state is interrupted, making it difficult to achieve sufficient power saving.

また、一定時間後に実行する実行待ちタスクがあるときに、プロセッサに供給するクロック信号の周波数を低下させると、指定した時間にプロセッサにタイマ割り込みを出力することができない場合がある。この場合、一定時間後に実行待ちタスクが実行されず、システムのリアルタイム性を保証できなくなる。   In addition, when there is a task waiting to be executed after a certain time, if the frequency of the clock signal supplied to the processor is lowered, a timer interrupt may not be output to the processor at a specified time. In this case, the task waiting for execution is not executed after a certain time, and the real-time property of the system cannot be guaranteed.

一つの側面では、本発明は、システムの消費電力を効率的に抑えることができるプロセッサシステムおよび半導体集積回路を提供することを目的とする。   In one aspect, an object of the present invention is to provide a processor system and a semiconductor integrated circuit capable of efficiently suppressing power consumption of the system.

本発明の一側面によれば、実行を開始することができる状態にある実行可能タスクを登録するレディキューを有する記憶装置と、前記レディキューに前記実行可能タスクが登録されていない場合に、前記実行可能タスクを実行する第1の起動状態より消費電力が少ない第1の省電力状態に遷移するプロセッサと、タイマ割り込みを受け付けた場合に前記レディキューを更新する更新処理と、前記レディキューに前記実行可能タスクが登録された場合に前記プロセッサを前記第1の起動状態に遷移させる遷移処理を実行するコントローラと、前記コントローラに所定周期で前記タイマ割り込みを出力するクロック信号制御回路とを有するプロセッサシステムおよび半導体集積回路が提案される。   According to one aspect of the present invention, a storage device having a ready queue for registering an executable task in a state where execution can be started, and when the executable task is not registered in the ready queue, A processor that transitions to a first power saving state that consumes less power than a first startup state that executes an executable task, an update process that updates the ready queue when a timer interrupt is received, and A processor system comprising: a controller that executes a transition process for causing the processor to transition to the first activation state when an executable task is registered; and a clock signal control circuit that outputs the timer interrupt to the controller at a predetermined cycle And semiconductor integrated circuits are proposed.

本発明の一態様によれば、システムの消費電力を効率的に抑えることができるという効果を奏する。   According to one aspect of the present invention, there is an effect that the power consumption of the system can be efficiently suppressed.

図1は、実施の形態1にかかるプロセッサシステム100の一実施例を示す説明図である。FIG. 1 is an explanatory diagram of an example of the processor system 100 according to the first embodiment. 図2は、プロセッサシステム100のハードウェア構成例を示すブロック図である。FIG. 2 is a block diagram illustrating a hardware configuration example of the processor system 100. 図3は、レディキュー103の一例を示す説明図である。FIG. 3 is an explanatory diagram illustrating an example of the ready queue 103. 図4は、コントローラ102の機能的構成例を示すブロック図である。FIG. 4 is a block diagram illustrating a functional configuration example of the controller 102. 図5は、実施の形態1にかかるプロセッサシステム100のタスク処理手順の一例を示すフローチャートである。FIG. 5 is a flowchart of an example of a task processing procedure of the processor system 100 according to the first embodiment. 図6は、実施の形態2にかかるプロセッサシステム100の一実施例を示す説明図である。FIG. 6 is an explanatory diagram of an example of the processor system 100 according to the second embodiment. 図7は、タイマキュー601の一例を示す説明図である。FIG. 7 is an explanatory diagram showing an example of the timer queue 601. 図8は、実施の形態2にかかるプロセッサシステム100のタスク処理手順の一例を示すフローチャートである。FIG. 8 is a flowchart of an example of a task processing procedure of the processor system 100 according to the second embodiment. 図9は、タイマキュー601、レディキュー103の更新処理手順の一例を示すフローチャートである。FIG. 9 is a flowchart illustrating an example of an update process procedure of the timer queue 601 and the ready queue 103.

以下に図面を参照して、本発明にかかるプロセッサシステムおよび半導体集積回路の実施の形態を詳細に説明する。   Embodiments of a processor system and a semiconductor integrated circuit according to the present invention will be described below in detail with reference to the drawings.

(実施の形態1)
(プロセッサシステム100の一実施例)
図1は、実施の形態1にかかるプロセッサシステム100の一実施例を示す説明図である。プロセッサシステム100は、コンピュータにおいて、OS(Operating System)およびアプリケーションの処理を実行するハードウェアである。図1において、プロセッサシステム100は、プロセッサ101と、コントローラ102と、レディキュー103と、クロック信号制御回路104とを有する。
(Embodiment 1)
(One Example of Processor System 100)
FIG. 1 is an explanatory diagram of an example of the processor system 100 according to the first embodiment. The processor system 100 is hardware that executes an OS (Operating System) and application processing in a computer. In FIG. 1, the processor system 100 includes a processor 101, a controller 102, a ready queue 103, and a clock signal control circuit 104.

プロセッサ101は、アプリケーションのタスク等の負荷の高い処理を実行するプロセッサである。例えば、プロセッサ101は、コントローラ102に比べて処理能力が高く、タスクを実行しないコントローラ102に比べて消費電力量が多いプロセッサである。プロセッサ101は、実行するタスクが存在しない場合、タスクを実行する第1の起動状態(以下、単に「起動状態」と称する)より消費電力が少ない第1の省電力状態(以下、単に「省電力状態」と称する)に遷移することが可能である。例えば、プロセッサ101は、供給される電圧を低下させること、またはプロセッサ101が動作する周波数を落とすことで、省電力状態に遷移する。プロセッサ101は、タスクを実行するための回路へのクロック信号の供給を止めること、またはタスクを実行するための回路への電源を遮断することで、省電力状態に遷移することもできる。なお、クロック信号とは、周期的に電圧が高い状態と低い状態をとる信号であり、デジタル回路が動作する時に、複数の回路のタイミングを合わせるために供給される。   The processor 101 is a processor that executes high-load processing such as application tasks. For example, the processor 101 is a processor that has a higher processing capability than the controller 102 and consumes more power than the controller 102 that does not execute a task. When there is no task to be executed, the processor 101 uses a first power saving state (hereinafter simply referred to as “power saving”) that consumes less power than a first activation state in which the task is executed (hereinafter simply referred to as “activation state”). It is possible to transition to a “state”. For example, the processor 101 transitions to a power saving state by reducing the supplied voltage or reducing the frequency at which the processor 101 operates. The processor 101 can also shift to a power saving state by stopping the supply of a clock signal to a circuit for executing a task, or by cutting off power to the circuit for executing a task. Note that a clock signal is a signal that periodically takes a high voltage state and a low voltage condition, and is supplied to synchronize the timing of a plurality of circuits when the digital circuit operates.

コントローラ102は、OSの割り込み応答等の負荷の低い処理を実行するプロセッサである。なお、割り込みとは、プロセッサに現在実行中の処理を中断させて、強制的に指定された処理を実行させることであり、割り込み応答とは、強制的に指定された処理のことである。また、コントローラ102は、プロセッサ101と通信することが可能であり、プロセッサ間で割り込みを起こす機構を有する。この機構を使用して、コントローラ102は、プロセッサ101を省電力状態から起動状態に遷移させるプロセッサ起動割り込みをプロセッサ101に送信することができる。   The controller 102 is a processor that executes low-load processing such as an OS interrupt response. Note that an interrupt is to cause a processor to interrupt a process that is currently being executed and to forcibly specify a process, and an interrupt response is a process that is forcibly specified. The controller 102 can communicate with the processor 101 and has a mechanism for causing an interrupt between the processors. Using this mechanism, the controller 102 can transmit to the processor 101 a processor activation interrupt that causes the processor 101 to transition from the power saving state to the activation state.

レディキュー103は、プロセッサ101で実行を開始することができる状態にある実行可能タスク110を優先度の順に並べて登録するOSのデータである。優先度とは、プロセッサ101が実行可能タスク110を選択するための指標であり、プロセッサ101は優先度の高い実行可能タスク110から実行する。プロセッサ101がレディキュー103を参照することで、次に実行するタスクの有無を確認することができる。レディキュー103に実行可能タスク110が登録されている場合、プロセッサ101は、レディキュー103から実行可能タスク110を取り出して、取り出したタスクを実行するディスパッチ処理を行う。   The ready queue 103 is OS data for registering the executable tasks 110 that can be executed by the processor 101 in order of priority. The priority is an index for the processor 101 to select the executable task 110, and the processor 101 executes from the executable task 110 having a high priority. By referring to the ready queue 103, the processor 101 can confirm whether there is a task to be executed next. When the executable task 110 is registered in the ready queue 103, the processor 101 extracts the executable task 110 from the ready queue 103 and performs a dispatch process for executing the extracted task.

クロック信号制御回路104は、プロセッサ101とコントローラ102にクロック信号を供給する装置である。また、クロック信号制御回路104は、コントローラ102に、所定周期でタイマ割り込みを送信する装置でもある。   The clock signal control circuit 104 is a device that supplies a clock signal to the processor 101 and the controller 102. The clock signal control circuit 104 is also a device that transmits a timer interrupt to the controller 102 at a predetermined cycle.

本実施例では、プロセッサ101は、レディキュー103に登録された実行可能タスク110を実行する。プロセッサ101は、レディキュー103に実行可能タスク110が登録されていない場合、省電力状態に遷移する。一方、コントローラ102は、所定周期でタイマ割り込みを受信し、レディキュー103を更新する。コントローラ102は、実行可能タスク110がレディキュー103に登録された場合、プロセッサ起動割り込みをプロセッサ101に送信する。プロセッサ起動割り込みを受信したプロセッサ101は、起動状態に遷移し、レディキュー103に登録された実行可能タスク110を実行する。以下、プロセッサシステム100のタスク処理手順について詳細に説明する。   In this embodiment, the processor 101 executes the executable task 110 registered in the ready queue 103. When the executable task 110 is not registered in the ready queue 103, the processor 101 shifts to the power saving state. On the other hand, the controller 102 receives a timer interrupt at a predetermined cycle and updates the ready queue 103. When the executable task 110 is registered in the ready queue 103, the controller 102 transmits a processor activation interrupt to the processor 101. The processor 101 that has received the processor activation interrupt makes a transition to the activation state and executes the executable task 110 registered in the ready queue 103. Hereinafter, a task processing procedure of the processor system 100 will be described in detail.

(1)プロセッサ101は、レディキュー103に登録された実行可能タスク110を実行する。図1の例では、プロセッサ101は、レディキュー103に登録された実行可能タスク110を取り出して、実行可能タスク110を実行する。   (1) The processor 101 executes the executable task 110 registered in the ready queue 103. In the example of FIG. 1, the processor 101 extracts the executable task 110 registered in the ready queue 103 and executes the executable task 110.

(2)プロセッサ101は、レディキュー103に実行可能タスク110が登録されていない場合、省電力状態に遷移する。プロセッサ101は、実行の処理を終了した後、レディキュー103に実行可能タスク110が登録されているか確認する。図1の例では、実行可能タスク110が登録されていなく、プロセッサ101は、起動状態から省電力状態に遷移する。   (2) When the executable task 110 is not registered in the ready queue 103, the processor 101 shifts to the power saving state. After completing the execution process, the processor 101 checks whether the executable task 110 is registered in the ready queue 103. In the example of FIG. 1, the executable task 110 is not registered, and the processor 101 transitions from the activated state to the power saving state.

(3)コントローラ102は、所定周期でタイマ割り込みを受信し、レディキュー103を更新する。コントローラ102は、クロック信号制御回路104から所定周期でタイマ割り込みを受信する。タイマ割り込みを受信したコントローラ102は、実行可能タスク110が存在するか確認する。存在しない場合、コントローラ102は、次のタイマ割り込みを待つ。   (3) The controller 102 receives a timer interrupt at a predetermined cycle and updates the ready queue 103. The controller 102 receives a timer interrupt from the clock signal control circuit 104 at a predetermined cycle. The controller 102 that has received the timer interrupt confirms whether the executable task 110 exists. If not, the controller 102 waits for the next timer interrupt.

(4)コントローラ102は、実行可能タスク110がレディキュー103に登録された場合、プロセッサ起動割り込みをプロセッサ101に送信する。タイマ割り込みを受信したコントローラ102は、実行可能タスク110が存在する場合、レディキュー103に実行可能タスク110を登録する。次に、コントローラ102は、プロセッサ起動割り込みをプロセッサ101に送信し、次のタイマ割り込みを待つ。   (4) When the executable task 110 is registered in the ready queue 103, the controller 102 transmits a processor activation interrupt to the processor 101. The controller 102 that has received the timer interrupt registers the executable task 110 in the ready queue 103 when the executable task 110 exists. Next, the controller 102 transmits a processor start interrupt to the processor 101 and waits for the next timer interrupt.

(5)プロセッサ起動割り込みを受信したプロセッサ101は、起動状態に遷移し、レディキュー103に登録された実行可能タスク110を実行する。図1の例では、プロセッサ101は、省電力状態から起動状態に遷移し、レディキュー103に登録された実行可能タスク110を取り出して、実行可能タスク110を実行する。   (5) The processor 101 that has received the processor activation interrupt makes a transition to the activation state and executes the executable task 110 registered in the ready queue 103. In the example of FIG. 1, the processor 101 transitions from the power saving state to the activated state, extracts the executable task 110 registered in the ready queue 103, and executes the executable task 110.

以上説明したように、プロセッサシステム100は、実行を開始することができる状態にある実行可能タスク110を登録するレディキュー103を有する。プロセッサ101は、レディキュー103に実行可能タスク110が登録されていない場合に、実行可能タスク110を実行する起動状態より消費電力が少ない省電力状態に遷移する。コントローラ102は、タイマ割り込みを受け付けた場合にレディキュー103を更新する。ここで、レディキュー103に実行可能タスク110が登録された場合、コントローラ102は、プロセッサ101を起動状態に遷移させる。クロック信号制御回路104は、コントローラ102に所定周期でタイマ割り込みを出力する。   As described above, the processor system 100 includes the ready queue 103 that registers the executable task 110 in a state where the execution can be started. When the executable task 110 is not registered in the ready queue 103, the processor 101 shifts to a power saving state in which the power consumption is lower than the activation state in which the executable task 110 is executed. The controller 102 updates the ready queue 103 when a timer interrupt is accepted. Here, when the executable task 110 is registered in the ready queue 103, the controller 102 causes the processor 101 to transition to an activated state. The clock signal control circuit 104 outputs a timer interrupt to the controller 102 at a predetermined cycle.

これにより、コントローラ102は、レディキュー103の更新を行い、プロセッサ101はレディキュー103の更新を行わない。従って、プロセッサシステム100は、実行待ちタスクが存在する場合でも、実行可能タスク110が存在しない時に省電力状態に遷移して、システム全体の消費電力を抑えることができる。   As a result, the controller 102 updates the ready queue 103, and the processor 101 does not update the ready queue 103. Therefore, even when there is an execution waiting task, the processor system 100 can transition to the power saving state when the executable task 110 does not exist, and suppress the power consumption of the entire system.

また、クロック信号制御回路104がプロセッサ101にタイマ割り込みを出力しないため、プロセッサ101はタイマ割り込みを処理するために所定周期で省電力状態から起動状態に遷移することはない。従って、プロセッサ101は、長時間継続的に省電力状態を維持しシステム全体の消費電力を抑えることができる。   Further, since the clock signal control circuit 104 does not output a timer interrupt to the processor 101, the processor 101 does not transit from the power saving state to the activated state at a predetermined cycle in order to process the timer interrupt. Therefore, the processor 101 can maintain the power saving state continuously for a long time and suppress the power consumption of the entire system.

(プロセッサシステム100のハードウェア構成例)
図2は、プロセッサシステム100のハードウェア構成例を示すブロック図である。図2において、プロセッサシステム100は、プロセッサ101と、コントローラ102と、クロック信号制御回路104と、クロック信号発生回路201と、メモリ202と、I/O(Input/Output)インターフェース203とを有する。また、各構成部は、バス200によってそれぞれ接続される。
(Hardware configuration example of the processor system 100)
FIG. 2 is a block diagram illustrating a hardware configuration example of the processor system 100. In FIG. 2, a processor system 100 includes a processor 101, a controller 102, a clock signal control circuit 104, a clock signal generation circuit 201, a memory 202, and an I / O (Input / Output) interface 203. Each component is connected by a bus 200.

ここで、プロセッサ101とコントローラ102はプロセッサシステム100の全体の制御を司る。メモリ202は、レディキュー103を記憶することができる。また、メモリ202は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがプロセッサ101とコントローラ102のワークエリアとして使用される。メモリ202に記憶されるプログラムは、プロセッサ101とコントローラ102にロードされることで、コーディングされている処理をプロセッサ101とコントローラ102に実行させる。   Here, the processor 101 and the controller 102 control the entire processor system 100. The memory 202 can store the ready queue 103. The memory 202 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), a flash ROM, and the like. Specifically, for example, a flash ROM or ROM stores various programs, and the RAM is used as a work area for the processor 101 and the controller 102. The program stored in the memory 202 is loaded into the processor 101 and the controller 102 to cause the processor 101 and the controller 102 to execute the coded processing.

クロック信号発生回路201は、所定周期のクロック信号をクロック信号制御回路104に供給する。クロック信号制御回路104は、プロセッサ101とコントローラ102にクロック信号を供給する装置である。クロック信号制御回路104は、設定値を変更することで、プロセッサ101とコントローラ102に供給するクロック信号の周波数を落とし、プロセッサ101とコントローラ102を省電力化することが可能である。また、クロック信号制御回路104は、コントローラ102に、所定周期でタイマ割り込みを送信する装置でもある。   The clock signal generation circuit 201 supplies a clock signal having a predetermined cycle to the clock signal control circuit 104. The clock signal control circuit 104 is a device that supplies a clock signal to the processor 101 and the controller 102. The clock signal control circuit 104 can reduce the frequency of the clock signal supplied to the processor 101 and the controller 102 by changing the setting value, and can save power in the processor 101 and the controller 102. The clock signal control circuit 104 is also a device that transmits a timer interrupt to the controller 102 at a predetermined cycle.

メモリ202は、プロセッサ101とコントローラ102の両方からアクセスできる共有メモリであることもできる。また、メモリ202は、プロセッサ101からアクセスできる部分と、コントローラ102からアクセスできる部分に分けられる分散メモリであることもできる。この場合、プロセッサシステム100は、プロセッサ101とコントローラ102を介すことなくデータ転送を行う、図示しないDMAC(Direct Memory Access Controller)を有する。DMACは、レディキュー103等のプロセッサ101とコントローラ102の両方で使用するデータを転送する。   The memory 202 can also be a shared memory that can be accessed from both the processor 101 and the controller 102. The memory 202 can also be a distributed memory that is divided into a part that can be accessed from the processor 101 and a part that can be accessed from the controller 102. In this case, the processor system 100 includes a DMAC (Direct Memory Access Controller) (not shown) that performs data transfer without passing through the processor 101 and the controller 102. The DMAC transfers data used by both the processor 101 such as the ready queue 103 and the controller 102.

I/Oインターフェース203は、磁気ディスクドライブ等の入出力機器に接続される。磁気ディスクドライブは、プロセッサ101とコントローラ102の制御にしたがって磁気ディスクに対するデータのリード/ライトを制御する。磁気ディスクは、磁気ディスクドライブの制御で書き込まれたデータを記憶する。   The I / O interface 203 is connected to an input / output device such as a magnetic disk drive. The magnetic disk drive controls reading / writing of data with respect to the magnetic disk according to the control of the processor 101 and the controller 102. The magnetic disk stores data written under the control of the magnetic disk drive.

プロセッサシステム100は、上述した構成部のほか、例えば、SSD(Solid State Drive)などを有することにしてもよい。   The processor system 100 may include, for example, an SSD (Solid State Drive) in addition to the components described above.

(レディキュー103の一例)
図3は、レディキュー103の一例を示す説明図である。レディキュー103は、複数の優先度のキューを有することができる。図3の例では、レディキュー103は、優先度1キュー301、優先度2キュー302、および優先度3キュー303の3つのキューを有する。優先度は、優先度1キュー301が最も高く、次に、優先度2キュー302が高く、優先度3キュー303が最も低い。優先度1キュー301には、実行可能タスク311が登録され、優先度2キュー302には、実行可能タスクが登録されず、優先度3キュー303には、実行可能タスク321、322、323が登録される。プロセッサ101は、優先度にしたがって、実行可能タスク311を最初に実行する。
(An example of the ready queue 103)
FIG. 3 is an explanatory diagram illustrating an example of the ready queue 103. The ready queue 103 can have a plurality of priority queues. In the example of FIG. 3, the ready queue 103 has three queues: a priority 1 queue 301, a priority 2 queue 302, and a priority 3 queue 303. The priority is highest in the priority 1 queue 301, next in the priority 2 queue 302, and lowest in the priority 3 queue 303. The executable task 311 is registered in the priority 1 queue 301, the executable task is not registered in the priority 2 queue 302, and the executable tasks 321, 322, and 323 are registered in the priority 3 queue 303. Is done. The processor 101 first executes the executable task 311 according to the priority.

(コントローラ102の機能的構成例)
図4は、コントローラ102の機能的構成例を示すブロック図である。図4において、コントローラ102は、受付部401と、更新部402と、判断部403と、出力部404とを含む構成である。各機能部は、具体的には、例えば、図2に示したメモリ202などの記憶装置に記憶されたプログラムをコントローラ102に実行させることにより、その機能を実現する。各機能部の処理結果は、例えば、図2に示したメモリ202などの記憶装置に記憶される。また、各機能部は、例えば、ハードウェアにより実現されてもよい。具体的には、例えば、各機能部は、論理積回路であるAND、否定論理回路であるINVERTER、論理和回路であるOR、論理和否定回路であるNORや、ラッチ回路であるFF(Flip Flop)などの素子によって形成されてもよい。
(Functional configuration example of the controller 102)
FIG. 4 is a block diagram illustrating a functional configuration example of the controller 102. In FIG. 4, the controller 102 includes a reception unit 401, an update unit 402, a determination unit 403, and an output unit 404. Specifically, each function unit realizes its function by causing the controller 102 to execute a program stored in a storage device such as the memory 202 illustrated in FIG. 2, for example. The processing result of each functional unit is stored in, for example, a storage device such as the memory 202 illustrated in FIG. Each functional unit may be realized by hardware, for example. Specifically, for example, each functional unit includes AND as a logical product circuit, INVERTER as a negative logical circuit, OR as a logical sum circuit, NOR as a logical sum negation circuit, and FF (Flip Flop) as a latch circuit. ) Or the like.

受付部401は、クロック信号制御回路104が送信したタイマ割り込みを受け付ける機能を有する。タイマ割り込みを受け付けた後、受付部401は更新部402に更新処理を実行させる。   The accepting unit 401 has a function of accepting a timer interrupt transmitted from the clock signal control circuit 104. After accepting the timer interrupt, the accepting unit 401 causes the updating unit 402 to execute an update process.

更新部402は、レディキュー103を更新する機能を有する。更新部402は、実行可能タスク110が存在する場合はレディキュー103に実行可能タスク110を登録する。この後、更新部402は判断部403に判断処理を実行させる。   The update unit 402 has a function of updating the ready queue 103. The update unit 402 registers the executable task 110 in the ready queue 103 when the executable task 110 exists. Thereafter, the update unit 402 causes the determination unit 403 to execute determination processing.

判断部403は、レディキュー103に実行可能タスク110が登録されているか否か判断する機能を有する。レディキュー103に実行可能タスク110が登録されている場合、判断部403は出力部404に出力処理を実行させる。登録されていない場合、判断部403は、受付部401に次のタイマ割り込みの受け付け処理を実行させる。   The determination unit 403 has a function of determining whether or not the executable task 110 is registered in the ready queue 103. When the executable task 110 is registered in the ready queue 103, the determination unit 403 causes the output unit 404 to execute output processing. If not registered, the determination unit 403 causes the reception unit 401 to execute a next timer interrupt reception process.

出力部404は、プロセッサ起動割り込みをプロセッサ101に出力する機能を有する。プロセッサ起動割り込み出力後、出力部404は受付部401に次のタイマ割り込みの受け付け処理を実行させる。   The output unit 404 has a function of outputting a processor activation interrupt to the processor 101. After the processor activation interrupt is output, the output unit 404 causes the reception unit 401 to execute a next timer interrupt reception process.

図5は、実施の形態1にかかるプロセッサシステム100のタスク処理手順の一例を示すフローチャートである。左側のフローチャートは、プロセッサ101によって実行され、右側のフローチャートは、コントローラ102によって実行される。   FIG. 5 is a flowchart of an example of a task processing procedure of the processor system 100 according to the first embodiment. The flowchart on the left side is executed by the processor 101, and the flowchart on the right side is executed by the controller 102.

図5のフローチャートにおいて、まず、プロセッサ101は、レディキュー103に実行可能タスク110が登録されているかを確認する(ステップS501)。実行可能タスク110が登録されていない場合(ステップS502:No)、プロセッサ101は、省電力状態に遷移する(ステップS503)。   In the flowchart of FIG. 5, first, the processor 101 confirms whether or not the executable task 110 is registered in the ready queue 103 (step S501). When the executable task 110 is not registered (step S502: No), the processor 101 shifts to a power saving state (step S503).

次に、コントローラ102は、クロック信号制御回路104から所定周期でタイマ割り込みを受信し、実行可能タスク110が存在するか確認する。コントローラ102は、実行可能タスク110が存在する場合にレディキュー103に実行可能タスク110を登録する(ステップS511)。次に、コントローラ102は、レディキュー103に実行可能タスク110が登録されているか確認する(ステップS512)。レディキュー103に実行可能タスク110が登録されていない場合(ステップS512:No)、コントローラ102は、次のタイマ割り込みの受け付けを待つ。   Next, the controller 102 receives a timer interrupt from the clock signal control circuit 104 at a predetermined cycle, and checks whether there is an executable task 110. If the executable task 110 exists, the controller 102 registers the executable task 110 in the ready queue 103 (step S511). Next, the controller 102 checks whether or not the executable task 110 is registered in the ready queue 103 (step S512). When the executable task 110 is not registered in the ready queue 103 (step S512: No), the controller 102 waits for reception of the next timer interrupt.

レディキュー103に実行可能タスク110が登録されている場合(ステップS512:Yes)、コントローラ102は、プロセッサ起動割り込みをプロセッサ101に送信する(ステップS513)。プロセッサ起動割り込み送信後、コントローラ102は、次のタイマ割り込みの受け付けを待つ。   When the executable task 110 is registered in the ready queue 103 (step S512: Yes), the controller 102 transmits a processor activation interrupt to the processor 101 (step S513). After transmitting the processor activation interrupt, the controller 102 waits for acceptance of the next timer interrupt.

コントローラ102からプロセッサ起動割り込みを受信した場合、プロセッサ101は、起動状態に遷移する(ステップS504)。この後、プロセッサ101は、ステップS501に移行する。   When the processor activation interrupt is received from the controller 102, the processor 101 transitions to the activation state (step S504). After that, the processor 101 moves to step S501.

また、レディキュー103に実行可能タスク110が存在する場合(ステップS502:Yes)、プロセッサ101は、レディキュー103から実行可能タスク110を取り出して、取り出したタスクを実行するディスパッチ処理を行う(ステップS505)。これにより、本フローチャートによる一連の処理は終了する。本フローチャートを実行することにより、プロセッサ101は、レディキュー103に実行可能タスク110が存在する場合、実行可能タスク110を実行し、実行可能タスク110が存在しない場合、省電力状態となる。   If the executable task 110 exists in the ready queue 103 (step S502: Yes), the processor 101 takes out the executable task 110 from the ready queue 103 and performs a dispatch process for executing the extracted task (step S505). ). Thereby, a series of processing by this flowchart is complete | finished. By executing this flowchart, the processor 101 executes the executable task 110 when the executable task 110 exists in the ready queue 103, and enters the power saving state when the executable task 110 does not exist.

以上説明したように、実施の形態1にかかるプロセッサシステム100では、プロセッサ101は、レディキュー103に実行可能タスク110が登録されていない場合に省電力状態に遷移する。また、コントローラ102は、タイマ割り込みを受け付けた場合にレディキュー103の更新を行い、レディキュー103に実行可能タスクが登録された場合にプロセッサ101を起動状態に遷移させる。これにより、実行待ちタスクが存在する場合でも、実行可能タスク110が存在しない時にプロセッサ101を省電力状態に遷移させて、システム全体の消費電力を抑えることができる。   As described above, in the processor system 100 according to the first embodiment, the processor 101 shifts to the power saving state when the executable task 110 is not registered in the ready queue 103. In addition, the controller 102 updates the ready queue 103 when a timer interrupt is received, and transitions the processor 101 to an activated state when an executable task is registered in the ready queue 103. As a result, even when there is an execution waiting task, the processor 101 can be shifted to the power saving state when the executable task 110 does not exist, thereby reducing the power consumption of the entire system.

また、クロック信号制御回路104がプロセッサ101にタイマ割り込みを出力しないため、プロセッサ101はタイマ割り込みを処理するために所定周期で省電力状態から起動状態に遷移することはない。従って、プロセッサ101は、長時間継続的に省電力状態を維持しシステム全体の消費電力を抑えることができる。   Further, since the clock signal control circuit 104 does not output a timer interrupt to the processor 101, the processor 101 does not transit from the power saving state to the activated state at a predetermined cycle in order to process the timer interrupt. Therefore, the processor 101 can maintain the power saving state continuously for a long time and suppress the power consumption of the entire system.

また、コントローラ102が、レディキュー103に実行可能タスクが登録された場合にプロセッサ101にプロセッサ起動割り込みを送信することにより、プロセッサ101を省電力状態から起動状態に遷移させることができる。   Further, when the executable task is registered in the ready queue 103, the controller 102 can transition the processor 101 from the power saving state to the activated state by transmitting a processor activation interrupt to the processor 101.

すなわち、実施の形態1にかかるプロセッサシステム100は、プロセッサ101を長時間省電力状態にすることができ、レディキュー103の管理を消費電力量の少ないコントローラ102で行うため、システム全体の消費電力を効率的に抑えることができる。   In other words, the processor system 100 according to the first embodiment can keep the processor 101 in the power saving state for a long time, and the ready queue 103 is managed by the controller 102 with a small amount of power consumption. It can be suppressed efficiently.

(実施の形態2)
図6は、実施の形態2にかかるプロセッサシステム100の一実施例を示す説明図である。図6において、プロセッサシステム100は、タイマキュー601をさらに有する。なお、実施の形態1で説明した箇所と同一箇所については、図示および説明を省略する。
(Embodiment 2)
FIG. 6 is an explanatory diagram of an example of the processor system 100 according to the second embodiment. In FIG. 6, the processor system 100 further includes a timer queue 601. Note that illustration and description of the same portions as those described in Embodiment 1 are omitted.

プロセッサ101は、省電力状態で入出力割り込みの受信が可能である。入出力割り込みとは、磁気ディスクドライブ等の入出力装置が入出力処理を終了したときに、プロセッサ101に送信される割り込みである。入出力割り込みにより、入出力処理の終了を待っている実行待ちタスク111は、実行可能タスク110になることができる。   The processor 101 can receive an input / output interrupt in a power saving state. The input / output interrupt is an interrupt transmitted to the processor 101 when an input / output device such as a magnetic disk drive ends input / output processing. Due to the input / output interrupt, the execution waiting task 111 waiting for the end of the input / output processing can become the executable task 110.

コントローラ102は、実行する処理が存在しない場合、処理実行中の第2の起動状態(以下、単に「起動状態」と称する)よりも消費電力が少ない第2の省電力状態(以下、単に「省電力状態」と称する)に遷移することが可能である。なお、コントローラ102が実行する処理は、例えば、タイマ割り込みを受信したときに実行するレディキュー103およびタイマキュー601を更新する処理、プロセッサ101を省電力状態から起動状態に遷移させる処理である。コントローラ102は、例えば、プロセッサ101と同じ方法で省電力状態に遷移することが可能である。   When there is no process to be executed, the controller 102 uses a second power saving state (hereinafter simply referred to as “power saving”) that consumes less power than a second activation state during processing (hereinafter simply referred to as “activation state”). It is possible to transition to a “power state”. The process executed by the controller 102 is, for example, a process for updating the ready queue 103 and the timer queue 601 executed when a timer interrupt is received, and a process for causing the processor 101 to transition from the power saving state to the activated state. For example, the controller 102 can transition to the power saving state in the same manner as the processor 101.

クロック信号制御回路104は、コントローラ102が省電力状態でも、起動状態と同じ所定周期で、コントローラ102にタイマ割り込みを送信する。   Even when the controller 102 is in the power saving state, the clock signal control circuit 104 transmits a timer interrupt to the controller 102 at the same predetermined cycle as in the activated state.

タイマキュー601は、所定の時間経過後に実行を開始することができる状態になる実行待ちタスク111を登録するOSのデータである。タイマキュー601は、メモリ202に記憶することができる。タイマキュー601は、実行待ちタスク111を所定の時間が少ない順に並べて管理する。実行待ちタスク111は、所定の時間経過後、実行可能タスク110となり、タイマキュー601から削除され、レディキュー103に登録される。また、プロセッサ101で実行中のタスクが、所定の時間待つAPI(Application Program Interface)を発行することで、実行中のタスクは、実行待ちタスク111になり、タイマキュー601に登録される。ここで、APIとは、OSが提供する機能をアプリケーションが利用するための手続きである。   The timer queue 601 is OS data for registering an execution waiting task 111 that is ready to start execution after a predetermined time has elapsed. The timer queue 601 can be stored in the memory 202. The timer queue 601 manages the execution waiting tasks 111 by arranging them in the order of a predetermined time. The waiting task 111 becomes an executable task 110 after a predetermined time elapses, is deleted from the timer queue 601, and is registered in the ready queue 103. In addition, the task being executed in the processor 101 issues an API (Application Program Interface) that waits for a predetermined time, whereby the task being executed becomes the execution waiting task 111 and is registered in the timer queue 601. Here, the API is a procedure for an application to use a function provided by the OS.

本実施例では、プロセッサ101は、レディキュー103に登録された実行可能タスク110を実行する。プロセッサ101は、レディキュー103に実行可能タスク110が登録されていない場合、省電力状態に遷移する。一方、コントローラ102は所定周期でタイマ割り込みを受信し、タイマキュー601とレディキュー103を更新する。コントローラ102は、実行可能タスク110がレディキュー103に登録された場合、プロセッサ起動割り込みをプロセッサ101に送信する。プロセッサ起動割り込みを受信したプロセッサ101は、起動状態に遷移し、レディキュー103に登録された実行可能タスク110を実行する。以下、プロセッサシステム100のタスク処理手順について詳細に説明する。   In this embodiment, the processor 101 executes the executable task 110 registered in the ready queue 103. When the executable task 110 is not registered in the ready queue 103, the processor 101 shifts to the power saving state. On the other hand, the controller 102 receives a timer interrupt at a predetermined cycle, and updates the timer queue 601 and the ready queue 103. When the executable task 110 is registered in the ready queue 103, the controller 102 transmits a processor activation interrupt to the processor 101. The processor 101 that has received the processor activation interrupt makes a transition to the activation state and executes the executable task 110 registered in the ready queue 103. Hereinafter, a task processing procedure of the processor system 100 will be described in detail.

(1)プロセッサ101は、レディキュー103に登録された実行可能タスク110を実行する。図6の例では、プロセッサ101は、レディキュー103に登録された実行可能タスク110を取り出して、実行可能タスク110を実行する。   (1) The processor 101 executes the executable task 110 registered in the ready queue 103. In the example of FIG. 6, the processor 101 extracts the executable task 110 registered in the ready queue 103 and executes the executable task 110.

(2)プロセッサ101は、レディキュー103に実行可能タスク110が登録されていない場合、省電力状態に遷移する。図6の例では、プロセッサ101で実行中のタスクは所定の時間(10msec)待つAPIを実行する。これにより、該タスクは、タイマキュー601に実行待ちタスク111として登録される。この後、プロセッサ101は、レディキュー103に実行可能タスク110が登録されているか確認する。図6の例では、実行可能タスク110が登録されていなく、プロセッサ101は、起動状態から省電力状態に遷移する。   (2) When the executable task 110 is not registered in the ready queue 103, the processor 101 shifts to the power saving state. In the example of FIG. 6, the task being executed by the processor 101 executes an API that waits for a predetermined time (10 msec). As a result, the task is registered in the timer queue 601 as the execution waiting task 111. Thereafter, the processor 101 confirms whether the executable task 110 is registered in the ready queue 103. In the example of FIG. 6, the executable task 110 is not registered, and the processor 101 transitions from the activated state to the power saving state.

(3)コントローラ102は、所定周期でタイマ割り込みを受信し、タイマキュー601とレディキュー103を更新する。コントローラ102は、所定周期でタイマ割り込みを受信し、起動状態に遷移する。コントローラ102は、タイマキュー601に登録された実行待ちタスク111の所定の時間から所定周期を減算する。図6の例では、コントローラ102は、1msecの所定周期でタイマ割り込みを受信する。この場合、実行待ちタスク111の所定の時間は、減算により9msecになる。コントローラ102は、実行可能タスク110が存在するか確認する。存在しない場合、コントローラ102は、省電力状態に遷移し、次のタイマ割り込みを待つ。   (3) The controller 102 receives a timer interrupt at a predetermined cycle, and updates the timer queue 601 and the ready queue 103. The controller 102 receives a timer interrupt at a predetermined cycle, and transitions to an activated state. The controller 102 subtracts a predetermined period from a predetermined time of the execution waiting task 111 registered in the timer queue 601. In the example of FIG. 6, the controller 102 receives a timer interrupt at a predetermined period of 1 msec. In this case, the predetermined time of the execution waiting task 111 is 9 msec by subtraction. The controller 102 confirms whether the executable task 110 exists. If not, the controller 102 transitions to a power saving state and waits for the next timer interrupt.

(4)コントローラ102は、実行可能タスク110がレディキュー103に登録された場合、プロセッサ起動割り込みをプロセッサ101に送信する。図6の例では、コントローラ102がタイマ割り込みを10回受信すると実行待ちタスク111の所定の時間は、残り0msecとなる。実行待ちタスク111の所定の時間が経過したため、コントローラ102は、実行待ちタスク111をタイマキュー601から削除し、実行可能タスク110として、レディキュー103に登録する。次に、コントローラ102は、プロセッサ起動割り込みをプロセッサ101に送信する。コントローラ102は、省電力状態に遷移し、次のタイマ割り込みを待つ。   (4) When the executable task 110 is registered in the ready queue 103, the controller 102 transmits a processor activation interrupt to the processor 101. In the example of FIG. 6, when the controller 102 receives the timer interrupt 10 times, the predetermined time of the execution waiting task 111 is 0 msec. Since the predetermined time of the execution waiting task 111 has elapsed, the controller 102 deletes the execution waiting task 111 from the timer queue 601 and registers it as the executable task 110 in the ready queue 103. Next, the controller 102 transmits a processor activation interrupt to the processor 101. The controller 102 transitions to the power saving state and waits for the next timer interrupt.

(5)プロセッサ起動割り込みを受信したプロセッサ101は、起動状態に遷移し、レディキュー103に登録された実行可能タスク110を実行する。プロセッサ101は、省電力状態から起動状態に遷移し、レディキュー103に登録された実行可能タスク110を取り出して、実行可能タスク110を実行する。   (5) The processor 101 that has received the processor activation interrupt makes a transition to the activation state and executes the executable task 110 registered in the ready queue 103. The processor 101 transitions from the power saving state to the activated state, extracts the executable task 110 registered in the ready queue 103, and executes the executable task 110.

以上説明したように、プロセッサシステム100は、実行を開始することができる状態にある実行可能タスク110を登録するレディキュー103を有する。さらに、プロセッサシステム100は、所定の時間経過後に実行を開始することができる状態になる実行待ちタスク111を登録するタイマキュー601を有する。プロセッサ101は、レディキュー103に実行可能タスク110が登録されていない場合に、実行可能タスク110を実行する起動状態より消費電力が少ない省電力状態に遷移する。コントローラ102は、タイマ割り込みを受け付けた場合にレディキュー103とタイマキュー601を更新する。コントローラ102は、所定の時間が経過し、実行を開始することができる状態になった実行待ちタスク111を実行可能タスク110として、レディキュー103に登録する。ここで、レディキュー103に実行可能タスク110が登録された場合、コントローラ102は、プロセッサ101を起動状態に遷移させる。クロック信号制御回路104は、コントローラ102に所定周期で発生するタイマ割り込みを出力させる。   As described above, the processor system 100 includes the ready queue 103 that registers the executable task 110 in a state where the execution can be started. Furthermore, the processor system 100 has a timer queue 601 for registering an execution waiting task 111 that is ready to start execution after a predetermined time has elapsed. When the executable task 110 is not registered in the ready queue 103, the processor 101 shifts to a power saving state in which the power consumption is lower than the activation state in which the executable task 110 is executed. The controller 102 updates the ready queue 103 and the timer queue 601 when a timer interrupt is accepted. The controller 102 registers, in the ready queue 103, an execution waiting task 111 that has been in a state where a predetermined time has elapsed and can start execution as an executable task 110. Here, when the executable task 110 is registered in the ready queue 103, the controller 102 causes the processor 101 to transition to an activated state. The clock signal control circuit 104 causes the controller 102 to output a timer interrupt generated at a predetermined cycle.

これにより、コントローラ102はタイマキュー601の更新を行い、プロセッサ101はタイマキュー601の更新を行わない。従って、プロセッサシステム100は、所定の時間経過後に実行を開始することができる状態になる実行待ちタスク111が存在する場合でも、実行可能タスク110が存在しない時に省電力状態に遷移して、システム全体の消費電力を抑えることができる。   As a result, the controller 102 updates the timer queue 601 and the processor 101 does not update the timer queue 601. Therefore, the processor system 100 shifts to the power saving state when the executable task 110 does not exist even when there is an execution waiting task 111 in which the execution can be started after a predetermined time has elapsed. Power consumption can be reduced.

また、クロック信号制御回路104は、コントローラ102が省電力状態でも、起動状態と同じ所定周期で、コントローラ102にタイマ割り込みを送信する。このため、コントローラ102は、省電力状態でも、タイマキュー601に登録された実行待ちタスク111を所定の時間後に起動できる。従って、プロセッサシステム100は、リアルタイム性を保つことができる。   Further, the clock signal control circuit 104 transmits a timer interrupt to the controller 102 at the same predetermined cycle as that in the activated state even when the controller 102 is in the power saving state. For this reason, the controller 102 can start the execution waiting task 111 registered in the timer queue 601 after a predetermined time even in the power saving state. Therefore, the processor system 100 can maintain real-time characteristics.

また、コントローラ102は、レディキュー103とタイマキュー601の更新処理、およびプロセッサ101の遷移処理の後、次のタイマ割り込み受信まで省電力状態に遷移することが可能である。従って、プロセッサシステム100は、さらに省電力化することが可能となる。   The controller 102 can transition to the power saving state until the next timer interrupt is received after the update process of the ready queue 103 and the timer queue 601 and the transition process of the processor 101. Therefore, the processor system 100 can further save power.

(タイマキュー601の一例)
図7は、タイマキュー601の一例を示す説明図である。タイマキュー601は、所定の時間経過後に実行を開始することができる状態になる実行待ちタスク111を登録する。実行待ちタスク111は、所定の時間を記憶する。図7の例では、タイマキュー601は、実行待ちタスク711,712,713を登録する。例えば、実行待ちタスク711は、所定の時間として、5msecを記憶する。実行待ちタスク711は、5msec後に実行可能タスク110となり、レディキュー103に登録される。
(Example of timer queue 601)
FIG. 7 is an explanatory diagram showing an example of the timer queue 601. The timer queue 601 registers an execution waiting task 111 that is ready to start execution after a predetermined time has elapsed. The execution waiting task 111 stores a predetermined time. In the example of FIG. 7, the timer queue 601 registers waiting tasks 711, 712, and 713. For example, the execution waiting task 711 stores 5 msec as the predetermined time. The waiting task 711 becomes an executable task 110 after 5 msec and is registered in the ready queue 103.

図8は、実施の形態2にかかるプロセッサシステム100のタスク処理手順の一例を示すフローチャートである。左側のフローチャートは、プロセッサ101によって実行され、右側のフローチャートは、コントローラ102によって実行される。   FIG. 8 is a flowchart of an example of a task processing procedure of the processor system 100 according to the second embodiment. The flowchart on the left side is executed by the processor 101, and the flowchart on the right side is executed by the controller 102.

図8のフローチャートにおいて、まず、プロセッサ101は、レディキュー103に実行可能タスク110が登録されているかを確認する(ステップS801)。実行可能タスク110が登録されていない場合(ステップS802:No)、プロセッサ101は、省電力状態に遷移する(ステップS803)。   In the flowchart of FIG. 8, first, the processor 101 confirms whether or not the executable task 110 is registered in the ready queue 103 (step S801). When the executable task 110 is not registered (step S802: No), the processor 101 shifts to the power saving state (step S803).

次に、コントローラ102は、クロック信号制御回路104から所定周期でタイマ割り込みを受信し、起動状態に遷移する(ステップS811)。次に、コントローラ102は、タイマキュー601とレディキュー103を更新する(ステップS812)。なお、タイマキュー601とレディキュー103の更新処理手順は、図9で詳細に説明される。次に、コントローラ102は、レディキュー103に実行可能タスク110が登録されているかを確認する(ステップS813)。レディキュー103に実行可能タスク110が登録されていない場合(ステップS813:No)、コントローラ102は、ステップS815に移行する。   Next, the controller 102 receives a timer interrupt from the clock signal control circuit 104 at a predetermined cycle, and transitions to an activated state (step S811). Next, the controller 102 updates the timer queue 601 and the ready queue 103 (step S812). The update processing procedure of the timer queue 601 and the ready queue 103 will be described in detail with reference to FIG. Next, the controller 102 checks whether or not the executable task 110 is registered in the ready queue 103 (step S813). When the executable task 110 is not registered in the ready queue 103 (step S813: No), the controller 102 proceeds to step S815.

レディキュー103に実行可能タスク110が登録されている場合(ステップS813:Yes)、コントローラ102は、プロセッサ起動割り込みをプロセッサ101に送信する(ステップS814)。プロセッサ起動割り込み送信後、コントローラ102は、省電力状態に遷移し(ステップS815)、次のタイマ割り込みの受け付けを待つ。   When the executable task 110 is registered in the ready queue 103 (step S813: Yes), the controller 102 transmits a processor activation interrupt to the processor 101 (step S814). After transmitting the processor activation interrupt, the controller 102 transitions to a power saving state (step S815) and waits for acceptance of the next timer interrupt.

コントローラ102からプロセッサ起動割り込みを受信した場合、または、入出力割り込みを受信した場合、プロセッサ101は、起動状態に遷移する(ステップS804)。この後、プロセッサ101は、ステップS801に移行する。   When a processor activation interrupt is received from the controller 102 or when an input / output interrupt is received, the processor 101 transitions to an activation state (step S804). After that, the processor 101 moves to step S801.

また、レディキュー103に実行可能タスク110が存在する場合(ステップS802:Yes)、プロセッサ101は、レディキュー103から実行可能タスク110を取り出して、取り出したタスクを実行するディスパッチ処理を行う(ステップS805)。これにより、本フローチャートによる一連の処理は終了する。本フローチャートを実行することにより、プロセッサ101は、レディキュー103に実行可能タスク110が存在する場合、実行可能タスク110を実行し、実行可能タスク110が存在しない場合、省電力状態となる。   If the executable task 110 exists in the ready queue 103 (step S802: Yes), the processor 101 takes out the executable task 110 from the ready queue 103 and performs a dispatch process for executing the extracted task (step S805). ). Thereby, a series of processing by this flowchart is complete | finished. By executing this flowchart, the processor 101 executes the executable task 110 when the executable task 110 exists in the ready queue 103, and enters the power saving state when the executable task 110 does not exist.

図9は、タイマキュー601、レディキュー103の更新処理手順の一例を示すフローチャートである。   FIG. 9 is a flowchart illustrating an example of an update process procedure of the timer queue 601 and the ready queue 103.

図9のフローチャートにおいて、まず、コントローラ102はタイマキュー601に実行待ちタスク111が登録されているか確認する(ステップS901)。登録されていない場合(ステップS901:No)、コントローラ102はタイマキュー601、レディキュー103の更新処理を終了する。登録されている場合(ステップS901:Yes)、コントローラ102は、タイマキュー601に登録された実行待ちタスク111の所定の時間から、タイマ割り込みの周期を減算する(ステップS902)。   In the flowchart of FIG. 9, first, the controller 102 checks whether or not the execution waiting task 111 is registered in the timer queue 601 (step S901). If not registered (step S901: No), the controller 102 ends the update processing of the timer queue 601 and the ready queue 103. If registered (step S901: Yes), the controller 102 subtracts the timer interrupt period from the predetermined time of the execution waiting task 111 registered in the timer queue 601 (step S902).

次に、コントローラ102は、実行待ちタスク111の所定の時間が0になったかどうか確認する(ステップS903)。0になった場合(ステップS903:Yes)、実行待ちタスク111の所定の時間は経過したことになる。このため、コントローラ102は、実行待ちタスク111をタイマキュー601から削除し、実行可能タスク110として、レディキュー103に登録する(ステップS904)。0でない場合(ステップS903:No)、コントローラ102は、ステップS905に移行する。   Next, the controller 102 checks whether or not the predetermined time of the execution waiting task 111 has become 0 (step S903). When it becomes 0 (step S903: Yes), the predetermined time of the execution waiting task 111 has elapsed. Therefore, the controller 102 deletes the execution waiting task 111 from the timer queue 601 and registers it as the executable task 110 in the ready queue 103 (step S904). If it is not 0 (step S903: No), the controller 102 proceeds to step S905.

コントローラ102は、タイマキュー601に次のタスクが登録されているか確認する(ステップS905)。登録されている場合(ステップS905:Yes)、コントローラ102は、ステップS902に戻り、次のタスクの所定の時間を減算する。登録されていない場合(ステップS905:No)、コントローラ102はタイマキュー601、レディキュー103の更新処理を終了する。これにより、本フローチャートによる一連の処理は終了する。本フローチャートを実行することにより、コントローラ102が、タイマキュー601、レディキュー103を更新し、実行可能タスク110をレディキュー103に登録する。   The controller 102 confirms whether the next task is registered in the timer queue 601 (step S905). When registered (step S905: Yes), the controller 102 returns to step S902 and subtracts a predetermined time of the next task. When not registered (step S905: No), the controller 102 ends the update process of the timer queue 601 and the ready queue 103. Thereby, a series of processing by this flowchart is complete | finished. By executing this flowchart, the controller 102 updates the timer queue 601 and the ready queue 103 and registers the executable task 110 in the ready queue 103.

なお、タイマキュー601の更新は、以下の手順で行うことも可能である。コントローラ102が、実行待ちタスク111がタイマキュー601に登録された後のタイマ割り込みの回数を記憶する。タイマ割り込み受信後、コントローラ102は、タイマ割り込みの回数とタイマ割り込みの周期との積と、所定の時間との比較を行う。積が大きい場合、実行待ちタスク111の所定の時間は経過したため、コントローラ102は、実行待ちタスク111をタイマキュー601から削除し、実行可能タスク110として、レディキュー103に登録する。   The timer queue 601 can be updated by the following procedure. The controller 102 stores the number of timer interruptions after the execution waiting task 111 is registered in the timer queue 601. After receiving the timer interrupt, the controller 102 compares the product of the number of timer interrupts and the timer interrupt period with a predetermined time. When the product is large, since the predetermined time of the waiting task 111 has elapsed, the controller 102 deletes the waiting task 111 from the timer queue 601 and registers it as the executable task 110 in the ready queue 103.

以上説明したように、実施の形態2にかかるプロセッサシステム100では、コントローラ102は、タイマキュー601の更新を行い、プロセッサ101はタイマキュー601の更新を行わない。従って、プロセッサシステム100は、所定の時間経過後に実行を開始することができる状態になる実行待ちタスク111が存在する場合でも、実行可能タスク110が存在しない時に省電力状態に遷移して、システム全体の消費電力を抑えることができる。   As described above, in the processor system 100 according to the second embodiment, the controller 102 updates the timer queue 601 and the processor 101 does not update the timer queue 601. Therefore, the processor system 100 shifts to the power saving state when the executable task 110 does not exist even when there is an execution waiting task 111 in which the execution can be started after a predetermined time has elapsed. Power consumption can be reduced.

また、クロック信号制御回路104は、コントローラ102が省電力状態でも、起動状態と同じ所定周期で、コントローラ102にタイマ割り込みを送信する。このため、コントローラ102は、省電力状態でも、タイマキュー601に登録された実行待ちタスク111を所定の時間後に起動できる。従って、プロセッサシステム100は、リアルタイム性を保つことができる。   The clock signal control circuit 104 also transmits a timer interrupt to the controller 102 at the same predetermined cycle as that in the activated state even when the controller 102 is in the power saving state. For this reason, the controller 102 can start the execution waiting task 111 registered in the timer queue 601 after a predetermined time even in the power saving state. Therefore, the processor system 100 can maintain real-time characteristics.

また、コントローラ102は、レディキュー103とタイマキュー601の更新処理、およびプロセッサ101の遷移処理の後、次のタイマ割り込み受信まで省電力状態に遷移することが可能である。従って、プロセッサシステム100は、さらに省電力化することが可能となる。   The controller 102 can transition to the power saving state until the next timer interrupt is received after the update process of the ready queue 103 and the timer queue 601 and the transition process of the processor 101. Therefore, the processor system 100 can further save power.

また、プロセッサ101は、省電力状態で入出力割り込みの受信が可能である。これにより、プロセッサ101は、入出力処理の終了により、レディキュー103に登録された実行可能タスク110を、コントローラ102を介すことなく実行可能になる。   Further, the processor 101 can receive an input / output interrupt in a power saving state. As a result, the processor 101 can execute the executable task 110 registered in the ready queue 103 without passing through the controller 102 when the input / output processing ends.

すなわち、本実施例のプロセッサシステム100は、プロセッサ101を長時間省電力状態にしておくことができる。また、本実施例のプロセッサシステム100は、タイマキュー601、レディキュー103の管理を消費電力量の少ないコントローラ102で行うため、システム全体として省電力化することが可能となる。また、タイマキュー601の管理をコントローラ102で行うため、プロセッサシステム100は、リアルタイム性を保つことができる。   That is, the processor system 100 of this embodiment can leave the processor 101 in a power saving state for a long time. In addition, since the processor system 100 according to the present embodiment manages the timer queue 601 and the ready queue 103 by the controller 102 with a small amount of power consumption, the power consumption of the entire system can be reduced. In addition, since the controller 102 manages the timer queue 601, the processor system 100 can maintain real-time characteristics.

これらのことから、実施の形態2にかかるプロセッサシステム100によれば、リアルタイム性を保証しながら、システム全体の省電力化を図ることができる。   For these reasons, according to the processor system 100 according to the second embodiment, it is possible to achieve power saving of the entire system while guaranteeing real-time performance.

(実施の形態3)
実施の形態1および2では、プロセッサシステム100にプロセッサ101が1つ存在する場合について説明したが、実施の形態3では、プロセッサシステム100に複数のプロセッサ101が存在する場合について説明する。
(Embodiment 3)
In the first and second embodiments, the case where one processor 101 exists in the processor system 100 has been described. In the third embodiment, a case where a plurality of processors 101 exist in the processor system 100 will be described.

ここで、複数のプロセッサ101を有するプロセッサシステム100の形態として、プロセッサシステム100が1つのOSを実行する形態がある。本形態では、OSのレディキュー103は1つで、複数のプロセッサ101が共有する。また、レディキュー103に実行可能タスク110が登録された場合に、コントローラ102は、複数のプロセッサ101を起動状態に遷移させる。これにより、1つのプロセッサ101が実行可能タスク110を実行し、残りのプロセッサ101は、省電力状態に遷移する。   Here, as a form of the processor system 100 having the plurality of processors 101, there is a form in which the processor system 100 executes one OS. In this embodiment, there is one ready queue 103 for the OS, which is shared by a plurality of processors 101. Further, when the executable task 110 is registered in the ready queue 103, the controller 102 causes the plurality of processors 101 to transition to the activated state. As a result, one processor 101 executes the executable task 110, and the remaining processors 101 shift to the power saving state.

また、複数のプロセッサ101を有するプロセッサシステム100の形態として、プロセッサシステム100が複数のOSを実行する形態がある。本形態では、OSのレディキュー103は複数で、複数のプロセッサ101がそれぞれ対応するレディキュー103を有する。また、1つのレディキュー103に実行可能タスク110が登録された場合に、コントローラ102は、実行可能タスク110が登録されたレディキュー103に対応するプロセッサ101を起動状態に遷移させる。これにより、1つのプロセッサ101が実行可能タスク110を実行し、残りのプロセッサ101は、省電力状態のままである。   Further, as a form of the processor system 100 having the plurality of processors 101, there is a form in which the processor system 100 executes a plurality of OSs. In this embodiment, there are a plurality of ready queues 103 for the OS, and each of the plurality of processors 101 has a corresponding ready queue 103. Further, when the executable task 110 is registered in one ready queue 103, the controller 102 causes the processor 101 corresponding to the ready queue 103 in which the executable task 110 is registered to transition to an activated state. As a result, one processor 101 executes the executable task 110, and the remaining processors 101 remain in the power saving state.

なお、複数のプロセッサ101を有するプロセッサシステム100が、複数のOSを実行する形態で、コントローラ102は、1つであることも、プロセッサ101の数に対応した複数であることもできる。コントローラ102が1つである場合、コントローラ102は、複数のレディキュー103を更新する。コントローラ102が複数である場合、コントローラ102は、対応するレディキュー103を更新する。   It should be noted that the processor system 100 having a plurality of processors 101 executes a plurality of OSs, and there may be one controller 102 or a plurality corresponding to the number of processors 101. When there is one controller 102, the controller 102 updates the plurality of ready queues 103. When there are a plurality of controllers 102, the controller 102 updates the corresponding ready queue 103.

以上説明したように、実施の形態3にかかるプロセッサシステム100によれば、プロセッサ101が複数存在する場合でも、リアルタイム性を保証しながら、システム全体の省電力化を図ることができる。   As described above, according to the processor system 100 according to the third embodiment, even when there are a plurality of processors 101, it is possible to achieve power saving of the entire system while guaranteeing real-time performance.

上述した実施の形態に関し、さらに以下の付記を開示する。   The following additional notes are disclosed with respect to the embodiment described above.

(付記1)実行を開始することができる状態にある実行可能タスクを登録するレディキューを有する記憶装置と、
前記レディキューに前記実行可能タスクが登録されていない場合に、前記実行可能タスクを実行する第1の起動状態より消費電力が少ない第1の省電力状態に遷移するプロセッサと、
タイマ割り込みを受け付けた場合に前記レディキューを更新する更新処理と、前記レディキューに前記実行可能タスクが登録された場合に前記プロセッサを前記第1の起動状態に遷移させる遷移処理を実行するコントローラと、
前記コントローラに所定周期で前記タイマ割り込みを出力するクロック信号制御回路と、
を有することを特徴とするプロセッサシステム。
(Supplementary note 1) a storage device having a ready queue for registering an executable task in a state where execution can be started;
A processor that transitions to a first power saving state that consumes less power than a first activation state that executes the executable task when the executable task is not registered in the ready queue;
A controller for executing an update process for updating the ready queue when a timer interrupt is received, and a transition process for causing the processor to transition to the first activation state when the executable task is registered in the ready queue; ,
A clock signal control circuit for outputting the timer interrupt to the controller at a predetermined cycle;
A processor system comprising:

(付記2)前記記憶装置は、所定の時間経過後に実行を開始することができる状態になる実行待ちタスクを登録するタイマキューをさらに有し、
前記コントローラは、前記タイマ割り込みを受け付けた場合さらに、前記所定の時間を経過し、実行を開始することができる状態になった前記実行待ちタスクを前記実行可能タスクとして、前記レディキューに登録することを特徴とする付記1に記載のプロセッサシステム。
(Supplementary Note 2) The storage device further includes a timer queue for registering an execution waiting task that is in a state where the execution can be started after a predetermined time has elapsed.
When the controller accepts the timer interrupt, the controller registers the waiting task that has been in a state where the predetermined time has passed and can start execution as the executable task in the ready queue. The processor system according to appendix 1, characterized by:

(付記3)前記コントローラは、前記更新処理と前記遷移処理を実行した場合に前記更新処理と前記遷移処理を実行する第2の起動状態より消費電力が少ない第2の省電力状態に遷移し、前記タイマ割り込みを受け付けた場合に前記第2の起動状態に遷移することを特徴とする付記1または2に記載のプロセッサシステム。 (Additional remark 3) When the said update process and the said transition process are performed, the said controller changes to the 2nd power saving state with less power consumption than the 2nd starting state which performs the said update process and the said transition process, The processor system according to appendix 1 or 2, wherein when the timer interrupt is accepted, the state transits to the second activation state.

(付記4)前記コントローラは、前記プロセッサにプロセッサ間割り込みを出力することにより、前記プロセッサを前記第1の起動状態に遷移させることを特徴とする付記1〜3のいずれか一つに記載のプロセッサシステム。 (Supplementary note 4) The processor according to any one of supplementary notes 1 to 3, wherein the controller causes the processor to transition to the first activation state by outputting an interprocessor interrupt to the processor. system.

(付記5)前記プロセッサは、入出力割り込みを受け付けた場合に、前記第1の起動状態に遷移することを特徴とする付記1〜4のいずれか一つに記載のプロセッサシステム。 (Supplementary Note 5) The processor system according to any one of Supplementary Notes 1 to 4, wherein the processor transitions to the first activation state when an input / output interrupt is received.

(付記6)前記コントローラは、前記プロセッサが複数存在し、複数のプロセッサが前記レディキューを共有する際、前記レディキューに前記実行可能タスクが登録された場合に前記複数のプロセッサを前記第1の起動状態に遷移させることを特徴とする付記1〜5のいずれか一つに記載のプロセッサシステム。 (Supplementary Note 6) When there are a plurality of the processors and the plurality of processors share the ready queue, the controller moves the plurality of processors to the first processor when the executable task is registered in the ready queue. The processor system according to any one of appendices 1 to 5, wherein the processor system is shifted to an activated state.

(付記7)前記コントローラは、前記プロセッサが複数存在し、複数のプロセッサがそれぞれ対応する前記レディキューを有する際、前記レディキューに前記実行可能タスクが登録された場合に前記実行可能タスクが登録された前記レディキューに対応するプロセッサを前記第1の起動状態に遷移させることを特徴とする付記1〜5のいずれか一つに記載のプロセッサシステム。 (Supplementary note 7) When the controller has a plurality of processors and each of the processors has the corresponding ready queue, the executable task is registered when the executable task is registered in the ready queue. The processor system according to any one of appendices 1 to 5, wherein a processor corresponding to the ready queue is shifted to the first activation state.

(付記8)実行を開始することができる状態にある実行可能タスクを登録するレディキューを有する記憶部と、
前記レディキューに前記実行可能タスクが登録されていない場合に、前記実行可能タスクを実行する第1の起動状態より消費電力が少ない第1の省電力状態に遷移する第1の制御部と、
タイマ割り込みを受け付けた場合に前記レディキューを更新する更新処理と、前記レディキューに前記実行可能タスクが登録された場合、前記第1の制御部を前記第1の起動状態に遷移させる遷移処理を実行する第2の制御部と、
前記第2の制御部に所定周期で前記タイマ割り込みを出力するクロック信号制御部と、
を有することを特徴とする半導体集積回路。
(Supplementary note 8) a storage unit having a ready queue for registering an executable task in a state where execution can be started;
A first control unit that transitions to a first power saving state that consumes less power than a first activation state that executes the executable task when the executable task is not registered in the ready queue;
An update process for updating the ready queue when a timer interrupt is received, and a transition process for transitioning the first control unit to the first activation state when the executable task is registered in the ready queue. A second control unit to execute;
A clock signal control unit that outputs the timer interrupt to the second control unit at a predetermined cycle;
A semiconductor integrated circuit comprising:

(付記9)前記記憶部は、所定の時間経過後に実行を開始することができる状態になる実行待ちタスクを登録するタイマキューをさらに有し、
前記第2の制御部は、前記タイマ割り込みを受け付けた場合さらに、前記所定の時間を経過し、実行を開始することができる状態になった前記実行待ちタスクを前記実行可能タスクとして、前記レディキューに登録することを特徴とする付記8に記載の半導体集積回路。
(Supplementary Note 9) The storage unit further includes a timer queue for registering an execution waiting task that is in a state where execution can be started after a predetermined time has elapsed,
When the second control unit receives the timer interrupt, the second control unit further sets the ready queue as the executable task after the predetermined time has passed and is ready to start execution. 9. The semiconductor integrated circuit according to appendix 8, wherein

(付記10)前記第2の制御部は、前記更新処理と前記遷移処理を実行した場合に前記更新処理と前記遷移処理を実行する第2の起動状態より消費電力が少ない第2の省電力状態に遷移し、前記タイマ割り込みを受け付けた場合に前記第2の起動状態に遷移することを特徴とする付記8または9に記載の半導体集積回路。 (Additional remark 10) When the said 2nd control part performs the said update process and the said transition process, the 2nd power saving state with less power consumption than the 2nd starting state which performs the said update process and the said transition process 10. The semiconductor integrated circuit according to appendix 8 or 9, wherein when the timer interrupt is accepted, the transition to the second activation state is made.

(付記11)前記第2の制御部は、前記第1の制御部に割り込みを出力することにより、前記第1の制御部を前記第1の起動状態に遷移させることを特徴とする付記8〜10のいずれか一つに記載の半導体集積回路。 (Supplementary Note 11) The second control unit causes the first control unit to transition to the first activation state by outputting an interrupt to the first control unit. 10. The semiconductor integrated circuit according to claim 10.

100 プロセッサシステム
101 プロセッサ
102 コントローラ
103 レディキュー
104 クロック信号制御回路
201 クロック信号発生回路
202 メモリ
203 I/Oインターフェース
401 受付部
402 更新部
403 判断部
404 出力部
601 タイマキュー
DESCRIPTION OF SYMBOLS 100 Processor system 101 Processor 102 Controller 103 Ready queue 104 Clock signal control circuit 201 Clock signal generation circuit 202 Memory 203 I / O interface 401 Reception part 402 Update part 403 Determination part 404 Output part 601 Timer queue

Claims (11)

実行を開始することができる状態にある実行可能タスクを登録するレディキューを有する記憶装置と、
前記レディキューに前記実行可能タスクが登録されていない場合に、前記実行可能タスクを実行する第1の起動状態より消費電力が少ない第1の省電力状態に遷移するプロセッサと、
タイマ割り込みを受け付けた場合に前記レディキューを更新する更新処理と、前記レディキューに前記実行可能タスクが登録された場合に前記プロセッサを前記第1の起動状態に遷移させる遷移処理を実行するコントローラと、
前記コントローラに所定周期で前記タイマ割り込みを出力するクロック信号制御回路と、
を有することを特徴とするプロセッサシステム。
A storage device having a ready queue for registering an executable task in a state where execution can be started;
A processor that transitions to a first power saving state that consumes less power than a first activation state that executes the executable task when the executable task is not registered in the ready queue;
A controller for executing an update process for updating the ready queue when a timer interrupt is received, and a transition process for causing the processor to transition to the first activation state when the executable task is registered in the ready queue; ,
A clock signal control circuit for outputting the timer interrupt to the controller at a predetermined cycle;
A processor system comprising:
前記記憶装置は、所定の時間経過後に実行を開始することができる状態になる実行待ちタスクを登録するタイマキューをさらに有し、
前記コントローラは、前記タイマ割り込みを受け付けた場合さらに、前記所定の時間を経過し、実行を開始することができる状態になった前記実行待ちタスクを前記実行可能タスクとして、前記レディキューに登録することを特徴とする請求項1に記載のプロセッサシステム。
The storage device further includes a timer queue for registering a task waiting to be executed in a state where execution can be started after a predetermined time has elapsed,
When the controller accepts the timer interrupt, the controller registers the waiting task that has been in a state where the predetermined time has passed and can start execution as the executable task in the ready queue. The processor system according to claim 1.
前記コントローラは、前記更新処理と前記遷移処理を実行した場合に前記更新処理と前記遷移処理を実行する第2の起動状態より消費電力が少ない第2の省電力状態に遷移し、前記タイマ割り込みを受け付けた場合に前記第2の起動状態に遷移することを特徴とする請求項1または2に記載のプロセッサシステム。   When the controller executes the update process and the transition process, the controller makes a transition to a second power saving state that consumes less power than a second startup state that executes the update process and the transition process, and 3. The processor system according to claim 1, wherein the processor system shifts to the second activation state when the reception is accepted. 4. 前記コントローラは、前記プロセッサにプロセッサ間割り込みを出力することにより、前記プロセッサを前記第1の起動状態に遷移させることを特徴とする請求項1〜3のいずれか一つに記載のプロセッサシステム。   The processor system according to claim 1, wherein the controller causes the processor to transition to the first activation state by outputting an inter-processor interrupt to the processor. 前記プロセッサは、入出力割り込みを受け付けた場合に、前記第1の起動状態に遷移することを特徴とする請求項1〜4のいずれか一つに記載のプロセッサシステム。   5. The processor system according to claim 1, wherein, when an input / output interrupt is received, the processor transitions to the first activation state. 6. 前記コントローラは、前記プロセッサが複数存在し、複数のプロセッサが前記レディキューを共有する際、前記レディキューに前記実行可能タスクが登録された場合に前記複数のプロセッサを前記第1の起動状態に遷移させることを特徴とする請求項1〜5のいずれか一つに記載のプロセッサシステム。   The controller transitions the plurality of processors to the first activation state when the executable task is registered in the ready queue when the plurality of processors exist and the plurality of processors share the ready queue. The processor system according to any one of claims 1 to 5, wherein: 前記コントローラは、前記プロセッサが複数存在し、複数のプロセッサがそれぞれ対応する前記レディキューを有する際、前記レディキューに前記実行可能タスクが登録された場合に前記実行可能タスクが登録された前記レディキューに対応するプロセッサを前記第1の起動状態に遷移させることを特徴とする請求項1〜5のいずれか一つに記載のプロセッサシステム。   The controller includes the ready queue in which the executable task is registered when the executable task is registered in the ready queue when the plurality of processors are present and the plurality of processors have the corresponding ready queues. The processor system according to claim 1, wherein a processor corresponding to is transitioned to the first activation state. 実行を開始することができる状態にある実行可能タスクを登録するレディキューを有する記憶部と、
前記レディキューに前記実行可能タスクが登録されていない場合に、前記実行可能タスクを実行する第1の起動状態より消費電力が少ない第1の省電力状態に遷移する第1の制御部と、
タイマ割り込みを受け付けた場合に前記レディキューを更新する更新処理と、前記レディキューに前記実行可能タスクが登録された場合、前記第1の制御部を前記第1の起動状態に遷移させる遷移処理を実行する第2の制御部と、
前記第2の制御部に所定周期で前記タイマ割り込みを出力するクロック信号制御部と、
を有することを特徴とする半導体集積回路。
A storage unit having a ready queue for registering an executable task in a state where execution can be started;
A first control unit that transitions to a first power saving state that consumes less power than a first activation state that executes the executable task when the executable task is not registered in the ready queue;
An update process for updating the ready queue when a timer interrupt is received, and a transition process for transitioning the first control unit to the first activation state when the executable task is registered in the ready queue. A second control unit to execute;
A clock signal control unit that outputs the timer interrupt to the second control unit at a predetermined cycle;
A semiconductor integrated circuit comprising:
前記記憶部は、所定の時間経過後に実行を開始することができる状態になる実行待ちタスクを登録するタイマキューをさらに有し、
前記第2の制御部は、前記タイマ割り込みを受け付けた場合さらに、前記所定の時間を経過し、実行を開始することができる状態になった前記実行待ちタスクを前記実行可能タスクとして、前記レディキューに登録することを特徴とする請求項8に記載の半導体集積回路。
The storage unit further includes a timer queue for registering a task waiting to be executed in a state where execution can be started after a predetermined time has elapsed,
When the second control unit receives the timer interrupt, the second control unit further sets the ready queue as the executable task after the predetermined time has passed and is ready to start execution. 9. The semiconductor integrated circuit according to claim 8, wherein the semiconductor integrated circuit is registered.
前記第2の制御部は、前記更新処理と前記遷移処理を実行した場合に前記更新処理と前記遷移処理を実行する第2の起動状態より消費電力が少ない第2の省電力状態に遷移し、前記タイマ割り込みを受け付けた場合に前記第2の起動状態に遷移することを特徴とする請求項8または9に記載の半導体集積回路。   When the second control unit executes the update process and the transition process, the second control unit transitions to a second power saving state that consumes less power than a second startup state that executes the update process and the transition process. 10. The semiconductor integrated circuit according to claim 8, wherein when the timer interrupt is accepted, the state transits to the second activation state. 前記第2の制御部は、前記第1の制御部に割り込みを出力することにより、前記第1の制御部を前記第1の起動状態に遷移させることを特徴とする請求項8〜10のいずれか一つに記載の半導体集積回路。   The said 2nd control part makes the said 1st control part change to the said 1st starting state by outputting interruption to the said 1st control part, The any one of Claims 8-10 characterized by the above-mentioned. A semiconductor integrated circuit according to any one of the above.
JP2013150680A 2013-07-19 2013-07-19 Processor system and semiconductor integrated circuit Active JP6309216B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013150680A JP6309216B2 (en) 2013-07-19 2013-07-19 Processor system and semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013150680A JP6309216B2 (en) 2013-07-19 2013-07-19 Processor system and semiconductor integrated circuit

Publications (2)

Publication Number Publication Date
JP2015022556A true JP2015022556A (en) 2015-02-02
JP6309216B2 JP6309216B2 (en) 2018-04-11

Family

ID=52486941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013150680A Active JP6309216B2 (en) 2013-07-19 2013-07-19 Processor system and semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP6309216B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6031648A (en) * 1983-07-29 1985-02-18 Sharp Corp Controlling method of multitask
JPH03113563A (en) * 1989-09-28 1991-05-14 Hitachi Ltd Multiprocessor scheduling method
JP2000132285A (en) * 1998-10-29 2000-05-12 Mitsubishi Electric Corp Low power consumption type computer
JP2001075822A (en) * 1999-09-08 2001-03-23 Nec Ic Microcomput Syst Ltd Memory area of real time os and task managing method using the memory area
JP2010160565A (en) * 2009-01-06 2010-07-22 Ricoh Co Ltd Task scheduling apparatus, control method for task scheduling, and control program for task scheduling
WO2011118012A1 (en) * 2010-03-25 2011-09-29 富士通株式会社 Multi-core processor system, control program, and control method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6031648A (en) * 1983-07-29 1985-02-18 Sharp Corp Controlling method of multitask
JPH03113563A (en) * 1989-09-28 1991-05-14 Hitachi Ltd Multiprocessor scheduling method
JP2000132285A (en) * 1998-10-29 2000-05-12 Mitsubishi Electric Corp Low power consumption type computer
JP2001075822A (en) * 1999-09-08 2001-03-23 Nec Ic Microcomput Syst Ltd Memory area of real time os and task managing method using the memory area
JP2010160565A (en) * 2009-01-06 2010-07-22 Ricoh Co Ltd Task scheduling apparatus, control method for task scheduling, and control program for task scheduling
WO2011118012A1 (en) * 2010-03-25 2011-09-29 富士通株式会社 Multi-core processor system, control program, and control method

Also Published As

Publication number Publication date
JP6309216B2 (en) 2018-04-11

Similar Documents

Publication Publication Date Title
US10649935B2 (en) Deferred inter-processor interrupts
EP3155521B1 (en) Systems and methods of managing processor device power consumption
US20200272219A1 (en) Platform power consumption reduction via power state switching
TWI656479B (en) Migrating threads between asymmetric cores in a multiple core processor
JP6038699B2 (en) Electronics
CN107924225B (en) System and method for dynamically adjusting memory state transition timers
US9477293B2 (en) Embedded controller for power-saving and method thereof
CN104951044B (en) Dynamic voltage and frequency adjustment method, system on chip and device
CN104969142A (en) System and method for controlling central processing unit power with guaranteed transient deadlines
US20160124481A1 (en) Methods and systems for detecting undervolting of processing cores
US9507641B1 (en) System and method for dynamic granularity control of parallelized work in a portable computing device (PCD)
US20160147577A1 (en) System and method for adaptive thread control in a portable computing device (pcd)
US20160378551A1 (en) Adaptive hardware acceleration based on runtime power efficiency determinations
TWI762448B (en) Clock management circuit, and integrated circuit including the clock management circuit
US9760145B2 (en) Saving the architectural state of a computing device using sectors
JP6309216B2 (en) Processor system and semiconductor integrated circuit
US10055193B2 (en) Data transfer between clock domains
US10802832B2 (en) Information processing device and method of controlling computers
CN113366458A (en) System, apparatus and method for adaptive interconnect routing
JP4355648B2 (en) Multiple CPU clock control system, control method thereof, and program thereof
US10338665B2 (en) Microcontroller power reduction system and method
WO2023287436A1 (en) Power sequencer for power state management

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20160118

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170720

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20171002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180314

R150 Certificate of patent or registration of utility model

Ref document number: 6309216

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250