JP5390967B2 - Processor system and control method thereof - Google Patents

Processor system and control method thereof Download PDF

Info

Publication number
JP5390967B2
JP5390967B2 JP2009161239A JP2009161239A JP5390967B2 JP 5390967 B2 JP5390967 B2 JP 5390967B2 JP 2009161239 A JP2009161239 A JP 2009161239A JP 2009161239 A JP2009161239 A JP 2009161239A JP 5390967 B2 JP5390967 B2 JP 5390967B2
Authority
JP
Japan
Prior art keywords
processor
memory
communication
memory controller
main processor
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.)
Active
Application number
JP2009161239A
Other languages
Japanese (ja)
Other versions
JP2011018138A (en
JP2011018138A5 (en
Inventor
哲也 山本
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2009161239A priority Critical patent/JP5390967B2/en
Publication of JP2011018138A publication Critical patent/JP2011018138A/en
Publication of JP2011018138A5 publication Critical patent/JP2011018138A5/ja
Application granted granted Critical
Publication of JP5390967B2 publication Critical patent/JP5390967B2/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

Landscapes

  • Power Sources (AREA)
  • Memory System (AREA)

Description

本発明はプロセッサシステム及びその制御方法に関し、特に、複数のCPUを具備するプロセッサシステムの電力を制御する技術に関する。   The present invention relates to a processor system and a control method thereof, and more particularly to a technique for controlling the power of a processor system including a plurality of CPUs.

プロセッサシステムの性能向上のために、複数のCPUを内蔵するマルチCPU方式が知られている(特許文献1)。   In order to improve the performance of a processor system, a multi-CPU system incorporating a plurality of CPUs is known (Patent Document 1).

一方、プロセッサシステムにおいて、メモリ制御に関する要求が多様化、複雑化してきていることに伴い、メモリを制御するメモリコントローラの回路規模が増大している(特許文献2)。シングルCPUのプロセッサシステムにおいては、このメモリコントローラの消費電力を抑制するために、メモリコントローラへの供給クロックを制御する構成が知られている(特許文献3)。   On the other hand, with the diversification and complexity of memory control requirements in processor systems, the circuit scale of memory controllers that control memory is increasing (Patent Document 2). In a single-CPU processor system, a configuration is known in which a clock supplied to the memory controller is controlled in order to suppress power consumption of the memory controller (Patent Document 3).

特開平6-231088号公報Japanese Patent Laid-Open No. 6-231088 特開平2-280259号公報JP-A-2-280259 特開2003-308246号公報JP 2003-308246 A

しかしながら、マルチCPU方式のプロセッサシステムにおいては、あるCPUがメモリコントローラを使用していないが、その他のCPUがメモリコントローラを使用しているという場合がある。このため、従来の消費電力抑制手法を、そのままマルチCPU方式のプロセッサシステムに適用すると、一方のCPUのみの制御によってメモリコントローラへの供給クロックが制御される。従って、もう一方のCPUがメモリコントローラを使用したい場合に、これを使用できない状況が発生する場合があった。   However, in a multi-CPU processor system, a certain CPU does not use a memory controller, but other CPUs may use a memory controller. For this reason, when the conventional power consumption suppression method is applied to a multi-CPU processor system as it is, the clock supplied to the memory controller is controlled by controlling only one CPU. Therefore, when the other CPU wants to use the memory controller, a situation in which it cannot be used may occur.

そこで、本発明は、マルチCPUのプロセッサシステムにおいても適用可能な、メモリコントローラの消費電力を抑制する技術を提供することを目的とする。   SUMMARY An advantage of some aspects of the invention is that it provides a technique for suppressing power consumption of a memory controller, which can be applied to a multi-CPU processor system.

上記目的を達成するため、本発明によれば、
外部メモリに接続されたプロセッサシステムであって、
メインプロセッサと、
内部メモリ及び通信インタフェースを備えた通信プロセッサと、
前記メインプロセッサ及び前記通信プロセッサが共通にアクセス可能な、前記外部メモリの使用の可否を制御するメモリ制御手段と、
を備え、
前記メモリ制御手段は、
前記メインプロセッサと前記通信プロセッサとのいずれからもアクセスがない場合は省電力状態をとり、
前記通信プロセッサの通信インタフェースを用いる処理が前記内部メモリの使用だけでは実行できない場合に、起動状態となり、前記通信プロセッサによる前記外部メモリの使用を可能にする
ことを特徴とするプロセッサシステムが提供される。
In order to achieve the above object, according to the present invention,
A processor system connected to an external memory,
A main processor;
A communication processor having an internal memory and a communication interface;
Memory control means for controlling whether or not to use the external memory, which is accessible to the main processor and the communication processor in common;
With
The memory control means includes
If there is no access from either the main processor or the communication processor, take a power saving state,
Provided is a processor system which is activated when processing using the communication interface of the communication processor cannot be executed only by using the internal memory, and allows the communication processor to use the external memory. .

本発明によれば、マルチCPUのプロセッサシステムにおいても適用可能な、メモリコントローラの消費電力を抑制する技術を提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, the technique which suppresses the power consumption of a memory controller applicable also in the processor system of multi CPU can be provided.

プロセッサシステムを含むハードウェア構成例を示す図。The figure which shows the hardware structural example containing a processor system. ハードウェアシステムのメモリマップ例を示す図。The figure which shows the memory map example of a hardware system. 通信プロセッサの動作を説明するフローチャート。The flowchart explaining operation | movement of a communication processor. メインプロセッサの動作を説明するフローチャート。The flowchart explaining operation | movement of a main processor. メモリコントローラのクロック入力回路を示す図。The figure which shows the clock input circuit of a memory controller. メモリコントローラの動作状態を示す図。The figure which shows the operation state of a memory controller. メインプロセッサの動作を説明するフローチャート。The flowchart explaining operation | movement of a main processor.

<<第1実施形態>>
(プロセッサシステム)
本発明の第1実施形態に係るプロセッサシステムを含むハードウェア構成を、図1を参照して説明する。図1中の1は、本実施形態に係るプロセッサシステムである。2は、通信I/F(通信インタフェース)である。通信I/F2は、USB等のバス通信、有線ネットワーク、無線ネットワーク等のネットワーク通信を行うためのインターフェースである。3は外部メモリである。図1のように、プロセッサシステム1は、通信I/F2及び外部メモリ3に接続されている。
<< First Embodiment >>
(Processor system)
A hardware configuration including the processor system according to the first embodiment of the present invention will be described with reference to FIG. 1 in FIG. 1 is a processor system according to the present embodiment. Reference numeral 2 denotes a communication I / F (communication interface). The communication I / F 2 is an interface for performing network communication such as bus communication such as USB, wired network, and wireless network. Reference numeral 3 denotes an external memory. As shown in FIG. 1, the processor system 1 is connected to the communication I / F 2 and the external memory 3.

図1中の11は、通信I/Fに関する情報を処理するための通信プロセッサである。12は、プロセッサシステム1の処理の中心を担うメインプロセッサ(汎用プロセッサ)である。13は、通信プロセッサ11とメインプロセッサ12との間で情報を共有するための共有レジスタである。14は、外部メモリを制御するためのメモリコントローラである。メモリコントローラ14は、メインプロセッサ12及び通信プロセッサ11が共通にアクセス可能であり、外部メモリ3の使用の可否を制御するメモリ制御を行う。15は、プロセッサシステム1において、通信プロセッサ11、メインプロセッサ12、共有レジスタ13、及びメモリコントローラ14を接続するためのバスである。16は、プロセッサシステム1の中の各ブロックからのバス使用要求に応じて、バスの使用権をどちらに与えるかを決定するバスアービタである。   Reference numeral 11 in FIG. 1 denotes a communication processor for processing information related to the communication I / F. Reference numeral 12 denotes a main processor (general-purpose processor) that plays a central role in the processing of the processor system 1. Reference numeral 13 denotes a shared register for sharing information between the communication processor 11 and the main processor 12. Reference numeral 14 denotes a memory controller for controlling the external memory. The memory controller 14 is accessible to the main processor 12 and the communication processor 11 in common, and performs memory control for controlling whether or not the external memory 3 can be used. Reference numeral 15 denotes a bus for connecting the communication processor 11, the main processor 12, the shared register 13, and the memory controller 14 in the processor system 1. Reference numeral 16 denotes a bus arbiter that determines which bus use right is given in response to a bus use request from each block in the processor system 1.

図1中の111は、通信プロセッサ11において計算処理をおこなう通信CPU(Central Processing Unit)である。112は、通信CPU111から外部メモリ3へのアクセスに伴う計算処理遅延を短縮するための、内部メモリとしての通信CPU用キャッシュメモリである。113は、通信I/Fを制御するための通信I/Fコントローラである。   Reference numeral 111 in FIG. 1 denotes a communication CPU (Central Processing Unit) that performs calculation processing in the communication processor 11. Reference numeral 112 denotes a communication CPU cache memory as an internal memory for shortening a calculation processing delay accompanying access from the communication CPU 111 to the external memory 3. 113 is a communication I / F controller for controlling the communication I / F.

なお、本発明の目的は、コンピュータプログラムやコンピュータプログラムを格納したコンピュータ読み取り可能な記録媒体によっても実現可能である。   The object of the present invention can also be realized by a computer program or a computer-readable recording medium storing the computer program.

(メモリマップ)
図2(a)は、第1実施形態におけるハードウェアシステムのメモリマップである。00000000番地以上10000000番地未満は、外部メモリ3用に割り当てられた空間である。10000000番地以上10001000番地未満は、共有レジスタ13用に割り当てられた空間である。この内、10000010番地はメモリコントローラ管理/制御用フィールドである。
(Memory map)
FIG. 2A is a memory map of the hardware system in the first embodiment. The space from the address 00000000 to the address less than 10000000 is a space allocated for the external memory 3. The space from 10000000 address to less than 10001000 address is a space allocated for the shared register 13. Of these, address 10000010 is a memory controller management / control field.

図2(b)は、第1実施形態に係るメモリコントローラ管理/制御用フィールドの各ビット割り当てを示す図である。ビット0(301)は、メインプロセッサ12からメモリコントローラにアクセス中か否かを表す。ビット1(302)は、通信プロセッサ11からメモリコントローラにアクセス中か否かを表す。ビット0(301)及びビット1(302)は、メモリコントローラにアクセス中の場合に値1が設定され、アクセス中でない場合に値0が設定される。   FIG. 2B is a diagram showing bit allocation in the memory controller management / control field according to the first embodiment. Bit 0 (301) indicates whether or not the main processor 12 is accessing the memory controller. Bit 1 (302) indicates whether or not the communication processor 11 is accessing the memory controller. Bit 0 (301) and bit 1 (302) are set to a value of 1 when the memory controller is being accessed, and set to a value of 0 when the memory controller is not being accessed.

ビット2(303)は、メモリコントローラ14の状態(メモリコントローラ設定)を表す。図5を参照して後述するように、「メモリコントローラ設定」ビット303に値1が設定されているときはメモリコントローラ14は起動状態となり、値0が設定されているときは省電力状態となる。メインプロセッサ12と通信プロセッサ11との少なくともいずれかがメモリコントローラ14にアクセスするときは、「メモリコントローラ設定」ビット303に値1が設定される。なお、ビット3からビット15(304)は、未使用領域である。このように、共有レジスタ13においては、少なくとも以下の情報が保持される。
・メモリコントローラ14に設定すべき動作モードを示す設定情報(303)。
・メインプロセッサ12からのメモリコントローラ14へのアクセスの有無を示す情報(301)。
・通信プロセッサ11からのメモリコントローラ14へのアクセスの有無を示す情報(302)。
Bit 2 (303) represents the state of the memory controller 14 (memory controller setting). As will be described later with reference to FIG. 5, when the value “1” is set in the “memory controller setting” bit 303, the memory controller 14 is activated, and when the value 0 is set, the memory controller 14 is in the power saving state. . When at least one of the main processor 12 and the communication processor 11 accesses the memory controller 14, a value 1 is set in the “memory controller setting” bit 303. Bits 3 to 15 (304) are unused areas. As described above, at least the following information is held in the shared register 13.
Setting information (303) indicating an operation mode to be set in the memory controller 14.
Information (301) indicating whether or not the main processor 12 has accessed the memory controller 14.
Information (302) indicating whether or not the communication controller 11 has accessed the memory controller 14.

(プロセッサシステムの処理)
第1実施形態に係るプロセッサシステムは、以下のように動作する。通信I/F2を介して外部から通信プロセッサ11へデータが届くと、これに接続した通信I/Fコントローラ113から通信CPU111に対して処理依頼が送られる。このような場合の通信プロセッサ11とメインプロセッサ12の処理を以下に説明する。
(Processing of processor system)
The processor system according to the first embodiment operates as follows. When data arrives from the outside to the communication processor 11 via the communication I / F 2, a processing request is sent from the communication I / F controller 113 connected thereto to the communication CPU 111. Processing of the communication processor 11 and the main processor 12 in such a case will be described below.

●通信プロセッサ11の処理
通信プロセッサ11は図3のように動作する。最初に、ステップS401で、この処理が、外部メモリ3を使わずに、通信CPU用キャッシュメモリ112だけで処理可能かどうかを判定する。もし処理可能(ステップS401でYES)であれば、キャッシュメモリ112を用いて処理を実行(S402)し、終了する。
Processing of communication processor 11 The communication processor 11 operates as shown in FIG. First, in step S401, it is determined whether or not this process can be performed only by the communication CPU cache memory 112 without using the external memory 3. If the process is possible (YES in step S401), the process is executed using the cache memory 112 (S402), and the process ends.

もし処理可能でない場合(ステップS401でNO)は、メモリコントローラ14の制御を介して外部メモリ3を使用するために、以下の処理を行う。まず、共有レジスタ13にアクセスするために、バスアービタ16に対してバス使用要求を出し(S403)、バスアービタ16からアクセス使用許可を得るまで待機する(S404)。   If the processing is not possible (NO in step S401), the following processing is performed in order to use the external memory 3 through the control of the memory controller 14. First, in order to access the shared register 13, a bus use request is issued to the bus arbiter 16 (S403), and the process waits until an access use permission is obtained from the bus arbiter 16 (S404).

バスアービタ16からバスアクセス許可を得ると(S404でYES)、S405へ進む。S405では、メモリマップ中の共有レジスタ13に割り当てられた領域内の、メモリコントローラ管理/制御フィールドである、10001010番地の「通信プロセッサからアクセス中」ビット(302)を1に設定する(S405)。   If the bus access permission is obtained from the bus arbiter 16 (YES in S404), the process proceeds to S405. In S405, the “accessing from communication processor” bit (302) at address 10001010, which is a memory controller management / control field in the area allocated to the shared register 13 in the memory map, is set to 1 (S405).

次に、同10001010番地の、「メインプロセッサからアクセス中」ビット(301)が0かどうかを確認(S406)する。「メインプロセッサからアクセス中」ビット(301)が0の場合(S406でYES)は、メインプロセッサ12がメモリコントローラ14にアクセスしていない状態に該当する。すなわち、メモリコントローラ14は省電力状態にあるため、アクセス可能な起動状態に切り替える必要がある。このため、今からメモリコントローラ14にアクセスするために、同10001010番地の、「メモリコントローラ設定」ビット303を1に設定する(S407)。そうでなければ(S406でNO)、メインプロセッサ12がメモリコントローラ14にアクセスしている状態に該当するので、S407をスキップする。   Next, it is confirmed whether or not the “accessing from main processor” bit (301) at the address 10001010 is 0 (S406). When the “accessing from the main processor” bit (301) is 0 (YES in S406), this corresponds to a state where the main processor 12 is not accessing the memory controller. That is, since the memory controller 14 is in the power saving state, it is necessary to switch to an accessible startup state. Therefore, in order to access the memory controller 14 from now on, the “memory controller setting” bit 303 at the address 10001010 is set to 1 (S407). Otherwise (NO in S406), this corresponds to a state in which the main processor 12 is accessing the memory controller 14, and S407 is skipped.

次に、メモリコントローラ14にアクセスするために、バスアービタ16に対してバス使用要求を出し(S408)、バスアービタ16からアクセス使用許可を得るまで待機する(S409)。バスアービタ16からバスアクセス許可を得ると(S409でYES)、メモリコントローラ14の制御の下で外部メモリ3に対するメモリアクセスを開始し、処理を実行する(S410)。   Next, in order to access the memory controller 14, a bus use request is issued to the bus arbiter 16 (S408), and the process waits until access permission is obtained from the bus arbiter 16 (S409). When the bus access permission is obtained from the bus arbiter 16 (YES in S409), the memory access to the external memory 3 is started under the control of the memory controller 14 and the process is executed (S410).

この処理が完了(S411)すると、同10001010番地の、「通信プロセッサからアクセス中」ビット(302)を0に設定する(S412)。続いて、同10001010番地の、「メインプロセッサからアクセス中」ビット(301)が0かどうかを確認する(S413)。「メインプロセッサからアクセス中」ビット(301)が0の場合(S413でYES)は、メインプロセッサ12もメモリコントローラ14にアクセスしていない状態に該当するので、メモリコントローラ14を省電力状態にする必要がある。このため、同10001010番地の、「メモリコントローラ設定」ビット303を0に設定する(S414)。そうでなければ、メインプロセッサ12がメモリコントローラ14にアクセスしている状態に該当するので、S414をスキップする。そして、処理を終了する。   When this process is completed (S411), the “accessing from communication processor” bit (302) at the address 10001010 is set to 0 (S412). Subsequently, it is confirmed whether or not the “accessing from main processor” bit (301) at address 10001010 is 0 (S413). When the “accessing from the main processor” bit (301) is 0 (YES in S413), this corresponds to the state where the main processor 12 is not accessing the memory controller 14, and therefore the memory controller 14 needs to be put into a power saving state. There is. Therefore, the “memory controller setting” bit 303 at the address 10001010 is set to 0 (S414). Otherwise, this corresponds to a state in which the main processor 12 is accessing the memory controller 14, and S414 is skipped. Then, the process ends.

●メインプロセッサの処理
一方、メインプロセッサ12は図4のように動作する。まず、共有レジスタ13にアクセスするために、バスアービタ16に対してバス使用要求を出し(S501)、バスアービタ16からアクセス使用許可を得るまで待機する(S502)。バスアービタ16からバスアクセス許可を得ると(S502でYES)、S503へ進む。
Main Processor Processing On the other hand, the main processor 12 operates as shown in FIG. First, in order to access the shared register 13, a bus use request is issued to the bus arbiter 16 (S501), and the process waits until an access use permission is obtained from the bus arbiter 16 (S502). If the bus access permission is obtained from the bus arbiter 16 (YES in S502), the process proceeds to S503.

S503では、メモリマップ中の共有レジスタ13に割り当てられた領域内の、メモリコントローラ管理/制御フィールドである、10001010番地の「メインプロセッサからアクセス中」ビット(301)を1に設定する。   In S503, the “accessing from main processor” bit (301), which is a memory controller management / control field in the area allocated to the shared register 13 in the memory map, is set to 1.

次に、同10001010番地の、「通信プロセッサからアクセス中」ビット(302)が0かどうかを確認する(S504)。0の場合(S504でYES)は、通信プロセッサ11がメモリコントローラ14にアクセスしておらず、メモリコントローラ14は省電力状態にあることに該当する。このため、今からメモリコントローラ14にアクセスできるようにするために、同10001010番地の、「メモリコントローラ設定」ビット303を1に設定する(S505)。そうでなければ(S504でNO)、通信プロセッサ11がメモリコントローラ14にアクセスしている状態に該当するので、S505をスキップする。   Next, it is confirmed whether or not the “accessing from communication processor” bit (302) at the address 10001010 is 0 (S504). In the case of 0 (YES in S504), the communication processor 11 is not accessing the memory controller 14, and the memory controller 14 is in the power saving state. Therefore, in order to enable access to the memory controller 14 from now on, the “memory controller setting” bit 303 at the address 10001010 is set to 1 (S505). Otherwise (NO in S504), this corresponds to a state in which the communication processor 11 is accessing the memory controller 14, and thus S505 is skipped.

次に、メモリコントローラ14にアクセスするために、バスアービタ16に対してバス使用要求を出し(S506)、バスアービタ16からアクセス使用許可を得るまで待つ(S507)。バスアービタ16からバスアクセス許可を得ると、メモリコントローラ14の制御の下で外部メモリ3へのメモリアクセスを開始し、処理を実行する(S508)。この処理が完了(S509)すると、同10001010番地の、「メインプロセッサからアクセス中」ビット(301)を0に設定する(S510)。   Next, in order to access the memory controller 14, a bus use request is issued to the bus arbiter 16 (S506), and the process waits until an access use permission is obtained from the bus arbiter 16 (S507). When the bus access permission is obtained from the bus arbiter 16, memory access to the external memory 3 is started under the control of the memory controller 14 and processing is executed (S508). When this processing is completed (S509), the “accessing from main processor” bit (301) at the address 10001010 is set to 0 (S510).

続いて、同10001010番地の、「通信プロセッサからアクセス中」ビット(302)が0かどうかを確認する(S511)。「通信プロセッサからアクセス中」ビット(302)が0の場合は、通信プロセッサ11もメモリコントローラ14にアクセスしていない状態に該当する。このため、メモリコントローラ14を省電力状態にするために、同10001010番地の、「メモリコントローラ設定」ビット303を0に設定する(S512)。そうでなければ、通信プロセッサ11がメモリコントローラ14にアクセスしている状態に該当するので、S512をスキップする。そして、処理を終了する。   Subsequently, it is confirmed whether or not the “accessing from communication processor” bit (302) at the address 10001010 is 0 (S511). When the “accessing from the communication processor” bit (302) is 0, this corresponds to a state where the communication processor 11 is not accessing the memory controller 14 either. Therefore, in order to put the memory controller 14 in the power saving state, the “memory controller setting” bit 303 at the address 10001010 is set to 0 (S512). Otherwise, this corresponds to the state in which the communication processor 11 is accessing the memory controller 14, so S512 is skipped. Then, the process ends.

(「メモリコントローラ設定」ビット)
図5に示すように、10001010番地の、「メモリコントローラ設定」ビット303の値及び、プロセッサシステムのクロック信号は、AND回路の入力に接続されている。そして、このAND回路の出力は、メモリコントローラのクロック入力に接続されている。このため、同10001010番地の、「メモリコントローラ設定」ビット303が0になると、メモリコントローラのクロック入力が0になる。クロック入力が変化しないため、メモリコントローラは動作せず、省電力状態になる。
("Memory controller setting" bit)
As shown in FIG. 5, the value of the “memory controller setting” bit 303 at the address 10001010 and the clock signal of the processor system are connected to the input of the AND circuit. The output of the AND circuit is connected to the clock input of the memory controller. Therefore, when the “memory controller setting” bit 303 at the address 10001010 becomes 0, the clock input of the memory controller becomes 0. Since the clock input does not change, the memory controller does not operate and enters a power saving state.

通信プロセッサ11及びメインプロセッサ12が上記のように動作することで、図6(a)のように、メモリコントローラ14は、少なくともどちらかのプロセッサがアクセスしている間だけONになる。図6は、通信プロセッサ11又はメインプロセッサ12からのメモリコントローラ14へのアクセスの有無と、メモリコントローラ14の動作状態との関係を示す図である。これによって、メモリコントローラ14の省電力が達成される。   As the communication processor 11 and the main processor 12 operate as described above, as shown in FIG. 6A, the memory controller 14 is turned on only while at least one of the processors is accessing. FIG. 6 is a diagram showing the relationship between the presence / absence of access to the memory controller 14 from the communication processor 11 or the main processor 12 and the operation state of the memory controller 14. Thereby, the power saving of the memory controller 14 is achieved.

上記のように、メモリコントローラ14は、メインプロセッサ12と通信プロセッサ11とのいずれからもアクセスがない場合は省電力状態をとる。一方、通信プロセッサ11の通信I/F2を用いる処理が通信CPU用キャッシュメモリ112の使用だけでは実行できない場合に、起動状態となり、通信プロセッサ11による外部メモリ3の使用を可能にする。このため、本実施形態によれば、マルチCPU方式のプロセッサシステムにおいて、各プロセッサが必要としていない期間は、メモリコントローラを省電力状態にすることができ、全体としてメモリコントローラの消費電力を抑制することが可能となる。   As described above, the memory controller 14 is in a power saving state when there is no access from either the main processor 12 or the communication processor 11. On the other hand, when the processing using the communication I / F 2 of the communication processor 11 cannot be executed only by using the communication CPU cache memory 112, the communication processor 11 is activated, and the communication processor 11 can use the external memory 3. For this reason, according to the present embodiment, in a multi-CPU processor system, the memory controller can be put into a power saving state during a period when each processor is not required, and the power consumption of the memory controller is suppressed as a whole. Is possible.

また、メモリコントローラ14の動作モードは共有レジスタ13が保持する情報を介して制御される。特に、本実施形態では、メインプロセッサ12と通信プロセッサ11との少なくともいずれかからメモリコントローラ14へアクセスがある場合に、起動状態とするための情報(「メインコントローラ設定」ビット”1”)が設定される。このため、本実施形態は容易に実装することが可能である。   The operation mode of the memory controller 14 is controlled via information held in the shared register 13. In particular, in the present embodiment, information (“main controller setting” bit “1”) for setting the activation state when at least one of the main processor 12 and the communication processor 11 accesses the memory controller 14 is set. Is done. For this reason, this embodiment can be easily mounted.

<<第2実施形態>>
第1実施形態では、通信プロセッサ11とメインプロセッサ12との少なくともいずれかがメモリコントローラ14にアクセスしている間は「メモリコントローラ設定」ビットを1に設定して、メモリコントローラ14を動作させていた。しかし、用途によっては、メインプロセッサ12による外部メモリ3の使用が完了した時点で、通信プロセッサ11からのアクセスの有無にかかわらず、メモリコントローラ14を省電力モードに移行させることが望ましい場合がある。そこで、本発明の第2実施形態では、メインプロセッサ12からのアクセスの終了に応じて、メモリコントローラ14を省電力モードに移行させる構成を説明する。
<< Second Embodiment >>
In the first embodiment, while at least one of the communication processor 11 and the main processor 12 is accessing the memory controller 14, the “memory controller setting” bit is set to 1 to operate the memory controller 14. . However, depending on the application, when the use of the external memory 3 by the main processor 12 is completed, it may be desirable to shift the memory controller 14 to the power saving mode regardless of whether there is an access from the communication processor 11. Therefore, in the second embodiment of the present invention, a configuration will be described in which the memory controller 14 is shifted to the power saving mode in accordance with the end of access from the main processor 12.

本実施形態に係るプロセッサシステムを含むハードウェアシステムの構成、ハードウェアシステムのメモリマップ、メモリコントローラ管理/制御用フィールドのビット割当て、及び通信プロセッサの動作は、前述の第1実施形態で説明したものと同様である。すなわち、プロセッサシステム1のハードウェア構成は図1で表され、メモリマップ、ビット割り当ては図2(a)、図2(b)で表され、通信プロセッサ11の動作は図3のフローチャートで表される。   The configuration of the hardware system including the processor system according to the present embodiment, the memory map of the hardware system, the bit assignment of the memory controller management / control field, and the operation of the communication processor have been described in the first embodiment. It is the same. That is, the hardware configuration of the processor system 1 is represented by FIG. 1, the memory map and bit allocation are represented by FIGS. 2 (a) and 2 (b), and the operation of the communication processor 11 is represented by the flowchart of FIG. The

第2実施形態に係るプロセッサシステム中、メインプロセッサ12は、図7のように動作する。図7のS801〜S810の各ステップの処理は、図4のS501〜S510と同様であるため、説明を省略する。   In the processor system according to the second embodiment, the main processor 12 operates as shown in FIG. 7 is the same as S501 to S510 in FIG. 4, and thus description thereof is omitted.

本実施形態では、S810の処理を終了すると、「通信プロセッサからアクセス中」ビット302の値を確認せずに、S811へ進む。S811では、メモリコントローラ14を省電力状態にするために、同10001010番地の、「メモリコントローラ設定」ビット303を0に設定する。   In the present embodiment, when the processing of S810 ends, the process proceeds to S811 without checking the value of the “accessing from communication processor” bit 302. In S811, the “memory controller setting” bit 303 at the address 10001010 is set to 0 in order to put the memory controller 14 in the power saving state.

図5に示すように、同10001010番地の、「メモリコントローラ設定」ビット303の値及び、プロセッサシステムのクロック信号は、AND回路の入力に接続されている。そして、このAND回路の出力は、メモリコントローラのクロック入力に接続されている。このため、同10001010番地の、「メモリコントローラ設定」ビット303が0になると、メモリコントローラのクロック入力が0になる。クロック入力が変化しないため、メモリコントローラは動作せず、省電力状態になる。   As shown in FIG. 5, the value of the “memory controller setting” bit 303 at the address 10001010 and the clock signal of the processor system are connected to the input of the AND circuit. The output of the AND circuit is connected to the clock input of the memory controller. Therefore, when the “memory controller setting” bit 303 at the address 10001010 becomes 0, the clock input of the memory controller becomes 0. Since the clock input does not change, the memory controller does not operate and enters a power saving state.

通信プロセッサ11及びメインプロセッサ12が上記のように動作することで、図6(b)のように、メモリコントローラ14は、どちらかのプロセッサがアクセスすればONになる。   As the communication processor 11 and the main processor 12 operate as described above, as shown in FIG. 6B, the memory controller 14 is turned on when either processor accesses.

また、プロセッサシステム1の中心であるメインプロセッサ12の処理が完了すると、プロセッサシステム1としての処理も終了する。従って、通信プロセッサ11がメモリコントローラ14へアクセスしていたとしても、メインプロセッサからメモリコントローラ14へのアクセスが無くなれば、メモリコントローラ14はOFFになる。これによって、メモリコントローラ14の省電力が達成される。   Further, when the processing of the main processor 12 which is the center of the processor system 1 is completed, the processing as the processor system 1 is also ended. Therefore, even if the communication processor 11 is accessing the memory controller 14, the memory controller 14 is turned off if there is no access to the memory controller 14 from the main processor. Thereby, the power saving of the memory controller 14 is achieved.

メモリコントローラ14は、メインプロセッサ12による外部メモリ3の使用が完了したことに応じて、通信プロセッサ11からのアクセスの有無にかかわらず省電力状態へ移行する。このため、メインプロセッサ12の処理を優先的に実行する必要がある用途において、好適に適用することができる。   The memory controller 14 shifts to the power saving state regardless of the presence or absence of access from the communication processor 11 in response to the use of the external memory 3 by the main processor 12 being completed. Therefore, the present invention can be suitably applied in applications where the processing of the main processor 12 needs to be executed with priority.

<<その他の実施形態>>
上記の構成では、通信プロセッサ11のみが専用の内部メモリ(通信CPU用キャッシュメモリ112)を備えていたが、メインプロセッサも専用メモリを備えてもよい。この場合、メモリコントローラ14は、メインプロセッサ12の処理が専用メモリの使用だけでは実行できない場合に、起動状態となって、メインプロセッサ12による外部メモリ3の使用を可能にしてもよい。このような構成によれば、メインプロセッサ12が外部メモリ3の使用を必要とする場合にだけメモリコントローラ14を起動状態にすることができ、システム全体の省電力効果を効果的に高めることができる。
<< Other Embodiments >>
In the above configuration, only the communication processor 11 includes the dedicated internal memory (communication CPU cache memory 112), but the main processor may also include the dedicated memory. In this case, when the processing of the main processor 12 cannot be executed only by using the dedicated memory, the memory controller 14 may be activated to enable the main processor 12 to use the external memory 3. According to such a configuration, the memory controller 14 can be activated only when the main processor 12 needs to use the external memory 3, and the power saving effect of the entire system can be effectively enhanced. .

また、メモリコントローラ14の動作モードの変更は、通信インタフェースからの情報に基づいて行ってもよい。例えば、以下のような構成とすることができる。
(構成例1):内部キャッシュだけでは処理できない事象を、通信I/F2(例えば、LAN,WLAN,USB)を用いて検出する。この通信I/F2において、特定の信号/パケット/プロトコルを検出した場合にメモリコントローラ14をONにする。
(構成例2):内部キャッシュだけでは処理できない事象を、バスアービタ16やバスアドレスデコーダ(不図示)等のハードウェアにて検出する。検出結果は、メモリコントローラ14のクロック供給部に直接接続(クロックゲーティング)し、かつ、共有レジスタ13も設定する。
(構成例3):内部キャッシュだけでは処理できない事象を、ソフトウェアにて検出する。すなわち、メモリコントローラ14をOFFする前に、当該プロセッサの内部キャッシュに特定のプログラム(キャッシュされたコードの中から外れて外部メモリ3にアクセスしに行く直前に、共有レジスタ13を設定する)をロードしておく。
The operation mode of the memory controller 14 may be changed based on information from the communication interface. For example, the following configuration can be adopted.
(Configuration example 1): An event that cannot be processed only by the internal cache is detected using the communication I / F 2 (for example, LAN, WLAN, USB). In this communication I / F2, the memory controller 14 is turned ON when a specific signal / packet / protocol is detected.
(Configuration Example 2): An event that cannot be processed only by the internal cache is detected by hardware such as a bus arbiter 16 or a bus address decoder (not shown). The detection result is directly connected (clock gating) to the clock supply unit of the memory controller 14 and the shared register 13 is also set.
(Configuration example 3): An event that cannot be processed only by the internal cache is detected by software. That is, before turning off the memory controller 14, a specific program (the shared register 13 is set immediately before going to access the external memory 3 out of the cached code) is loaded into the internal cache of the processor. Keep it.

なお、上記の構成は、通信プロセッサとメインプロセッサとの組み合わせだけでなく、複数のプロセッサを備えた構成ならばどのような構成にも適用することができる。すなわち、外部メモリに接続されたプロセッサシステムであって、第1及び第2のプロセッサと、第1及び第2のプロセッサが共通に使用可能な、外部メモリへのアクセスを制御するメモリコントローラとを備えたプロセッサシステムにも適用できる。この場合、メモリコントローラは、第1及び第2のプロセッサの少なくともいずれかによるアクセスがあるときのみ起動状態をとり、それ以外は省電力状態をとることで、マルチプロセッサシステムにおける省電力化を効果的に実現することが可能である。   The above configuration can be applied not only to a combination of a communication processor and a main processor, but also to any configuration as long as the configuration includes a plurality of processors. That is, a processor system connected to an external memory, including a first and second processor, and a memory controller that controls access to the external memory that can be used in common by the first and second processors. It can also be applied to other processor systems. In this case, the memory controller takes an activated state only when there is an access by at least one of the first and second processors, and takes the power saving state in other cases, thereby effectively reducing the power consumption in the multiprocessor system. Can be realized.

Claims (7)

外部メモリに接続されたプロセッサシステムであって、
メインプロセッサと、
内部メモリ及び通信インタフェースを備えた通信プロセッサと、
前記メインプロセッサ及び前記通信プロセッサが共通にアクセス可能な、前記外部メモリの使用の可否を制御するメモリ制御手段と、
を備え、
前記メモリ制御手段は、
前記メインプロセッサと前記通信プロセッサとのいずれからもアクセスがない場合は省電力状態をとり、
前記通信プロセッサの通信インタフェースを用いる処理が前記内部メモリの使用だけでは実行できない場合に、起動状態となり、前記通信プロセッサによる前記外部メモリの使用を可能にする
ことを特徴とするプロセッサシステム。
A processor system connected to an external memory,
A main processor;
A communication processor having an internal memory and a communication interface;
Memory control means for controlling whether or not to use the external memory, which is accessible to the main processor and the communication processor in common;
With
The memory control means includes
If there is no access from either the main processor or the communication processor, take a power saving state,
A processor system, wherein when the processing using the communication interface of the communication processor cannot be executed only by using the internal memory, the processor system is activated and the communication processor can use the external memory.
前記メモリ制御手段に設定すべき動作モードを示す設定情報を保持する保持手段をさらに備え、
前記メモリ制御手段の動作モードは前記保持手段が保持する情報を介して制御される
ことを特徴とする請求項1に記載のプロセッサシステム。
Further comprising holding means for holding setting information indicating an operation mode to be set in the memory control means;
2. The processor system according to claim 1, wherein an operation mode of the memory control unit is controlled through information held by the holding unit.
前記保持手段は、前記メインプロセッサからの前記メモリ制御手段へのアクセスの有無を示す情報と、前記通信プロセッサからの前記メモリ制御手段へのアクセスの有無を示す情報と、をさらに保持し、
前記設定情報は、前記メインプロセッサと前記通信プロセッサとの少なくともいずれかから前記メモリ制御手段へアクセスがある場合に、起動状態とするための情報が設定される
ことを特徴とする請求項2に記載のプロセッサシステム。
The holding means further holds information indicating presence / absence of access to the memory control means from the main processor and information indicating presence / absence of access to the memory control means from the communication processor,
3. The setting information is set to information for setting an activation state when at least one of the main processor and the communication processor accesses the memory control unit. Processor system.
前記メインプロセッサは専用メモリを備え、
前記メモリ制御手段は、前記メインプロセッサの処理が前記専用メモリの使用だけでは実行できない場合に、起動状態となり、前記メインプロセッサによる前記外部メモリの使用を可能にする
ことを特徴とする請求項1から3のいずれか1項に記載のプロセッサシステム。
The main processor includes a dedicated memory,
The memory control means is activated when the processing of the main processor cannot be executed only by using the dedicated memory, and allows the main processor to use the external memory. 4. The processor system according to any one of 3 above.
前記メモリ制御手段は、前記メインプロセッサによる前記外部メモリの使用が完了したことに応じて、前記通信プロセッサからのアクセスの有無にかかわらず省電力状態へ移行することを特徴とする請求項1から4のいずれか1項に記載のプロセッサシステム。   5. The memory control unit shifts to a power saving state regardless of whether or not there is an access from the communication processor in response to completion of use of the external memory by the main processor. The processor system according to any one of the above. 前記通信インタフェースからの情報に基づいて、前記メモリ制御手段の動作モードが変更されることを特徴とする請求項1に記載のプロセッサシステム。   2. The processor system according to claim 1, wherein an operation mode of the memory control unit is changed based on information from the communication interface. 外部メモリに接続されたプロセッサシステムの制御方法であって、
前記プロセッサシステムは、
メインプロセッサと、
内部メモリ及び通信インタフェースを備えた通信プロセッサと、
前記メインプロセッサ及び前記通信プロセッサが共通にアクセス可能な、前記外部メモリの使用の可否を制御するメモリ制御手段と、
を備え、
前記メモリ制御手段は、
前記メインプロセッサと前記通信プロセッサとのいずれからもアクセスがない場合は省電力状態をとり、
前記通信プロセッサの通信インタフェースを用いる処理が前記内部メモリの使用だけでは実行できない場合に、起動状態となり、前記通信プロセッサによる前記外部メモリの使用を可能にする
ことを特徴とするプロセッサシステムの制御方法。
A method for controlling a processor system connected to an external memory, comprising:
The processor system includes:
A main processor;
A communication processor having an internal memory and a communication interface;
Memory control means for controlling whether or not to use the external memory, which is accessible to the main processor and the communication processor in common;
With
The memory control means includes
If there is no access from either the main processor or the communication processor, take a power saving state,
A control method for a processor system, wherein when a process using a communication interface of the communication processor cannot be executed only by using the internal memory, the communication processor enters an activated state and allows the communication processor to use the external memory.
JP2009161239A 2009-07-07 2009-07-07 Processor system and control method thereof Active JP5390967B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009161239A JP5390967B2 (en) 2009-07-07 2009-07-07 Processor system and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009161239A JP5390967B2 (en) 2009-07-07 2009-07-07 Processor system and control method thereof

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013213219A Division JP5715670B2 (en) 2013-10-10 2013-10-10 Communication device

Publications (3)

Publication Number Publication Date
JP2011018138A JP2011018138A (en) 2011-01-27
JP2011018138A5 JP2011018138A5 (en) 2012-08-16
JP5390967B2 true JP5390967B2 (en) 2014-01-15

Family

ID=43595893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009161239A Active JP5390967B2 (en) 2009-07-07 2009-07-07 Processor system and control method thereof

Country Status (1)

Country Link
JP (1) JP5390967B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6038699B2 (en) 2013-03-22 2016-12-07 シャープ株式会社 Electronics

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02257249A (en) * 1989-02-01 1990-10-18 Nec Corp Information processing system
JPH11161778A (en) * 1997-11-26 1999-06-18 Ricoh Co Ltd Digital picture processing system
JP2002229692A (en) * 2001-02-06 2002-08-16 Canon Inc Information processing device
JP4773693B2 (en) * 2004-06-07 2011-09-14 キヤノン株式会社 Memory control system
US7613941B2 (en) * 2005-12-29 2009-11-03 Intel Corporation Mechanism for self refresh during advanced configuration and power interface (ACPI) standard C0 power state

Also Published As

Publication number Publication date
JP2011018138A (en) 2011-01-27

Similar Documents

Publication Publication Date Title
JP6321807B2 (en) Control device for vehicle
JP4715801B2 (en) Memory access control device
JPWO2008087779A1 (en) Array type processor and data processing system
JP2006268801A (en) Memory access control circuit
KR101380364B1 (en) Sharing bandwidth of a single port sram between at least one dma peripheral and a cpu operating with a quadrature clock
US20140344512A1 (en) Data Processing Apparatus and Memory Apparatus
JP5715670B2 (en) Communication device
JP6546479B2 (en) Information processing device
JP4642531B2 (en) Arbitration of data requests
JP5390967B2 (en) Processor system and control method thereof
JP2007172112A (en) Memory controller
JP3870970B2 (en) Processor control unit
JP4693843B2 (en) Memory control device and memory control method
JP5932261B2 (en) Memory control device and memory control method
JP5783348B2 (en) Control device, control program, and image forming apparatus
US10025730B2 (en) Register device and method for software programming
JP6416488B2 (en) Semiconductor device
JP2015014962A (en) Arithmetic device, arithmetic method, and program
JP2005107873A (en) Semiconductor integrated circuit
JP2007108858A (en) Pin sharing device and pin sharing method
JP2007304830A (en) Arbitrating method and device based on information previous acquisition
JP2006293836A (en) Multiprocessor system
JP2022127418A (en) Controller, method, program, and vehicle
WO2011030498A1 (en) Data processing device and data processing method
JPH0449457A (en) Direct memory access transfer control device

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120629

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130812

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130823

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: 20130913

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131011

R151 Written notification of patent or utility model registration

Ref document number: 5390967

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151