JP2012243176A - 半導体装置及び制御方法 - Google Patents

半導体装置及び制御方法 Download PDF

Info

Publication number
JP2012243176A
JP2012243176A JP2011114344A JP2011114344A JP2012243176A JP 2012243176 A JP2012243176 A JP 2012243176A JP 2011114344 A JP2011114344 A JP 2011114344A JP 2011114344 A JP2011114344 A JP 2011114344A JP 2012243176 A JP2012243176 A JP 2012243176A
Authority
JP
Japan
Prior art keywords
cpu
dma
speed
processing speed
processing
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.)
Withdrawn
Application number
JP2011114344A
Other languages
English (en)
Inventor
Naoki Nakanose
直樹 中ノ瀬
Kuniyasu Ishihara
国泰 石原
Ryoichi Yamaguchi
良一 山口
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2011114344A priority Critical patent/JP2012243176A/ja
Priority to US13/474,281 priority patent/US20120303856A1/en
Publication of JP2012243176A publication Critical patent/JP2012243176A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

【課題】DMA機能を搭載した半導体装置において、CPUの処理速度とDMA転送の速度をバランス良く制御する。
【解決手段】マイクロコンピュータ100は、CPU(Central Processing Uint)110と、DMA(Direct Memory Access)処理部120と、制御部130を備える。制御部130は、DMA処理部120に保留されたDMA転送の数である保留数に応じて、該保留数が多いほど、処理速度が速くなるようにCPU110の処理速度を制御する。
【選択図】図1

Description

本発明は、半導体装置、具体的には、CPU(Central Processing Unit)と、DMA転送を行うDMA転送処理部とを備える半導体装置における制御技術に関する。
近年、処理の高速化と、消費電力の削減は、マイクロコンピュータの開発者が常に直面している2つの課題であり、様々な視点からの技術が提案されている(特許文献1、特許文献2)。
例えば、特許文献2には、CPU(マイクロプロセッサ)が演算処理を行う際に、演算処理に伴って累積される演算遅延が大きくなったときにマイクロプロセッサのメインクロックの周波数を高くし、演算遅延が小さくなったときにメインクロックの周波数を低くする技術が開示されている。
CPUの処理速度が速ければ、CPUによる消費電力も大きくなるため、CPUの処理速度を調整することにより、CPUの消費電力を調整することができる。
また、CPUに供給する電圧を調整することによりCPUの処理速度を調整する技術も知られている。例えば、特許文献3には、非同期式回路により構成されたCPU(以下非同期式CPUという)に対して、非同期式回路の処理速度を計測し、計測した処理速度に応じて、処理速度が目標速度より速い場合には電圧を下げ、処理速度が目標速度より遅い場合には電圧を上げるように、非同期式回路に供給する電圧を調整する。こうすることにより、該非同期式回路により構成されたCPUの処理速度は、目標速度に一定に保たれる。
また、CPUの低速処理時の補助技術としてDMA(Direct Memory Access)が知られている。DMAは、CPUを介さずに直接メモリへアクセスする技術であり、CPU処理のバックグランドで実行することが可能であるため、CPU処理が低速であっても、マイクロコンピュータ全体の処理速度を高めることができる。さらに、CPUがスタンバイ状態であっても、DMAによるメモリアクセスが可能であるため、DMAを適用することは、マイクロコンピュータの消費電力の削減にも有効である。
特開2010−015233号公報 特開平11−024782号公報 特開2009−260612号公報
CPUの動作中にDMA転送を行う場合、CPUからのメモリアクセスとDMA転送の競合を回避するため、CPUによるメモリアクセスと、DMAによるメモリアクセスとでバスの占有権を調停しながら動作する必要がある。一般的に、CPUの処理速度が低下すると、CPUによるバス占有時間が長くなるため、DMA転送の速度も低下する。
本発明は、上記事情に鑑みてなされたものであり、DMA機能を搭載した半導体装置において、CPUの処理速度とDMA転送の速度をバランス良く制御する技術を提供する。
本発明の一つの態様は、制御方法である。この制御方法は、DMA転送を行うDMA処理部を有する半導体装置に対して、DMA処理部に保留されたDMA転送の数である保留数に応じて、該保留数が多いほど、処理速度が速くなるようにCPUの処理速度を制御する。
なお、上記態様の方法を実行する回路や装置、該装置を含むシステムなども、本発明の態様としては有効である。
本発明にかかる技術によれば、DMA機能を搭載した半導体装置において、CPUの処理速度とDMA転送の速度をバランス良く制御できる。
本発明の第1の実施の形態にかかるマイクロコンピュータを示す図である。 図1に示すマイクロコンピュータにおける制御部の処理を示すフローチャートである。 本発明の第2の実施の形態にかかるマイクロコンピュータを示す図である。 図3に示すマイクロコンピュータにおける処理の流れを示すフローチャートである。
以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
<第1の実施の形態>
図1は、本発明の第1の実施の形態にかかるマイクロコンピュータ100を示す。マイクロコンピュータ100は、CPU110と、DMA転送を行うDMA処理部120と、制御部130を備える。なお、マイクロコンピュータに通常備えられるメモリやバスなどの図示は、省略している。
制御部130は、例えば図示しないバスによりCPU110と接続されており、CPU110の処理速度を制御する。制御部130によるCPU110の処理速度制御手法は、従来知られているいかなる方法であってもよく、例えば、CPU110に供するクロックの周波数や、電圧を調整することにより、CPU110の処理速度を制御する。なお、この制御は、DMA処理部120に保留されたDMA転送の数(以下「保留数NUM」という)に応じてなされる。
CPU110は、DMA処理部120にDMA転送を行わせる際に、DMA処理部120にDMA転送要求信号D1を出力する。DMA処理部120は、DMA転送要求信号D1を受信すると、該DMA転送が可能なときに、CPU110にDMA転送許可信号D2を返送する。
本実施の形態において、DMA処理部120は、さらに、転送要求フラグF1及び転送完了フラグF2を制御部130に出力する。転送要求フラグF1は、DMA処理部120がCPU110からDMA転送が要求される度に出力するフラグであり、転送完了フラグF2は、DMA処理部120がDMA転送を完了する度に出力するフラグである。すなわち、転送要求フラグF1の数の総和は、DMA処理部120に対してなされたDMA転送要求の数であり、転送完了フラグF2の数の総和は、DMA処理部120により完了したDMA転送の数である。
制御部130は、DMA処理部120からの転送要求フラグF1の総和と、転送完了フラグF2の総和を求め、転送要求フラグF1の総和から転送完了フラグF2の総和を減算して得た値を上述した保留数NUMとして算出する。
そして、制御部130は、該保留数NUMが大きいほど、CPU110の処理速度が速くなるように制御を行う。
本実施の形態において、制御部130は、3段階にCPU110の処理速度を制御する。具体的には、保留数NUMが閾値T1より小さいときには処理速度V1になり、保留数NUMが閾値T1以上閾値T2より小さいときには処理速度V2になり、保留数NUMが閾値T2以上であるときには処理速度V3になりように、CPU110の処理速度を制御する。なお、閾値T2はT1より大きく、処理速度は、V1、V2、V3の順に大きくなる。
図2は、マイクロコンピュータ100における制御部130の制御処理を示すフローチャートの例である。なお、図2に示す例において、制御部130の初期設定は、CPU110の処理速度が最も低い処理速度V1になるようにされている。
図2に示すように、マイクロコンピュータ100の動作開始直後には、制御部130は、初期設定に従って、CPU110の処理速度が処理速度V1になるように制御する(S100)。その後、制御部130は、転送要求フラグF1の総和と転送完了フラグF2の総和の差分となる保留数NUMを算出する(S102)。
保留数NUMが閾値T1より小さいと、制御部130は、CPU110の処理速度を変えずに処理速度V1に維持する(S104:Yes、S106)。そして、保留数NUMを算出するステップS102に戻る。
保留数NUMが閾値T1以上閾値T2より小さいと、制御部130は、CPU110の処理速度が処理速度V2になるように制御する(S104:No、S108:Yes、S110)。そして、保留数NUMを算出するステップS102に戻る。
保留数NUMがT2以上であると、制御部130は、CPU110の処理速度が処理速度V3になるように制御する(S104:No、S108:No、S112)。そして、保留数NUMを算出するステップS102に戻る。
その後、保留数NUMの算出と、算出した保留数NUMに基づいたCPU110の処理速度の調整が繰り返される(S102〜)
このように、本実施の形態のマイクロコンピュータ100において、制御部130は、DMA処理部120によりDMA転送の保留数NUMに基づいて、保留数NUMが多いほどCPU110の処理速度を速くするように制御を行う。そのため、保留数NUMが少ないときにはCPU110の処理速度を下げることにより消費電流を抑制する一方、保留数NUMが多いときにはCPU110の処理速度を上げることによりマイクロコンピュータ100全体の処理速度の過度の低下を回避する。
<第2の実施の形態>
図3は、本発明の第2の実施の形態にかかるマイクロコンピュータ200を示す。マイクロコンピュータ200は、CPU210と、DMA処理部120と、制御部230を有する。
DMA処理部120は、第1の実施の形態にかかるマイクロコンピュータ100におけるDMA処理部120と同一のものである。
CPU210は、CPUコア212と、速度維持回路214を備える。
CPUコア212は、非同期式回路により構成された非同期式のものである。
非同期式回路は、温度などの環境要因やチップ製造上のばらつきなどにより、処理速度がばらつくことが知られている。従って、CPUコア212も、処理速度が一定ではない。
速度維持回路214は、CPUコア212の処理速度を一定に保つものである。例えば、特許文献3に記載されたように、CPUコア212の処理速度を計測し、計測した処理速度に応じて、処理速度が目標速度より速い場合には電圧を下げ、処理速度が目標速度より遅い場合には電圧を上げるように、CPUコア212に供給する電圧を調整する。こうすることにより、CPUコア212の処理速度は、目標速度に一定に保たれる。
本実施の形態のマイクロコンピュータ200において、速度維持回路214は、CPUコア212の処理速度のばらつく範囲内の最も遅い速度以下の所定の速度にCPUコア212の処理速度を保つものである。
速度維持回路214が動作するか否かは、制御部230からの制御信号CTRにより制御される。速度維持回路214が動作しない場合には、CPUコア212は、通常の非同期式CPUと同様に処理速度がばらつくが、速度維持回路214が動作すると、CPUコア212は、処理速度が上記所定の速度に一定に保たれる。
以下の説明において、速度維持回路214が動作するか否かを、CPU210のモードとして表現する。速度維持回路214が動作しない場合をCPU210の「非同期モード」といい、速度維持回路214が動作する場合をCPU210の「速度一定モード」という。CPU210が「速度一定モード」にある場合には、CPUコア212の処理速度は、CPU210が「非同期モード」にある場合の最も遅い速度以下である。
制御部230は、保留数算出回路232、比較器234、制御信号出力回路236を備える。
保留数算出回路232は、DMA処理部120から転送要求フラグF1の総和と、転送完了フラグF2の総和との差分を保留数NUMとして算出して比較器234に出力する。
比較器234は、保留数算出回路232からの保留数NUMを閾値と比較し、比較の結果を制御信号出力回路236に出力する。本実施の形態において、比較器234は、CPU210のモードに応じて異なる閾値を用いる。CPU210が「速度一定モード」にある場合に、比較器234は、所定の閾値T1(例えば5)を用い、CPU210が「非同期モード」にある場合に、比較器234が、閾値T1より小さい閾値T2(例えば3)を用いる。
制御信号出力回路236は、比較器234による比較の結果に応じて、CPU210のモードを切り換えるか否かの制御を行う。
図4は、マイクロコンピュータ200における処理を示すフローチャートの例である。なお、図4に示す例において、制御部230の初期設定は、CPU210が「速度一定モード」になるようにされている。
図4に示すように、マイクロコンピュータ200は、動作開始直後は、「速度一定モード」で動作し、すなわち、速度維持回路214は、動作する(S200)。
比較器234により、保留数NUMが得た保留数NUMと閾値T1(5)とを比較した結果、保留数NUMが5より小さいときには、制御信号出力回路236は、制御信号CTRをONにしない。これにより、速度維持回路214は、引き続き動作し、CPU210は、引き続き「速度一定モード」で動作する(S202:Yes、S204)。
一方、ステップS202において、保留数NUMが5以上になったときには(S202:No)、制御信号出力回路236は、制御信号CTRをONにする。これにより、速度維持回路214は動作を停止し、CPU210は、「速度一定モード」から「非同期モード」に切り換わる(S210、S212)。
CPU210の「非同期モード」での動作中に、保留数NUMが閾値T2(3)以上であれば(S214:No)、制御信号出力回路236は、制御信号CTRをONにしない。これにより、速度維持回路214は、動作を停止したままになり、CPU210は、引き続き「非同期モード」で動作する(S212)。
一方、ステップS214において、保留数NUMが「3」以下になったときには(S214:No)、制御信号出力回路236は、制御信号CTRをONにする。これにより、速度維持回路214は動作を開始し、CPU210は、「非同期モード」から「速度一定モード」に切り換わる(S220、S204)。
このように、本実施の形態のマイクロコンピュータ200において、CPU210が処理速度の遅い「速度一定モード」で動作中に、DMA処理部120の保留数NUMが「5」以上になったときに、制御部230は、CPU210の動作モードを処理速度の速い「非同期モード」に切り換える。また、CPU210が処理速度の速い「非同期モード」で動作中に、DMA処理部120の保留数NUMが3より小さくなったときに、制御部230は、CPU210の動作モードを処理速度の遅い「速度一定モード」に切り換える。そのため、保留数NUMが少ないときには消費電流を抑制する一方、保留数NUMが多いときにはマイクロコンピュータ200全体の処理速度の過度の低下を回避できる。
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述した実施の形態に対してさまざまな変更、増減を行ってもよい。これらの変更、増減が行われた変形例も本発明の範囲にあることは当業者に理解されるところである。
例えば、マイクロコンピュータ100において、CPU110の処理速度を調整する手法としてCPU110へ供給するクロックの周波数や電圧を例挙しましたが、本発明にかかる技術は、いかなる手法でCPUの処理を調整する場合にも適用することができる。
また、マイクロコンピュータ200において、速度維持回路214が、非同期式回路により構成されたCPUコア212に供給する電圧を調整することによりCPUコア212の処理速度を一定に保つようになっているが、いかなる手法で非同期式のCPUコアの処理速度を一定に保つモードを有するCPUに対しても本発明にかかる技術を適用することができる。
100 マイクロコンピュータ
110 CPU
120 DMA処理部
130 制御部
200 マイクロコンピュータ
210 CPU
212 CPUコア
214 速度維持回路
230 制御部
232 保留数算出回路
234 比較器
236 制御信号出力回路
D1 DMA転送要求信号
D2 DMA転送許可信号
F1 転送要求フラグ
F2 転送完了フラグ
NUM 保留数
CTR 制御信号

Claims (4)

  1. CPU(Central Processing Uint)と、
    DMA(Direct Memory Access)転送を行うDMA処理部と、
    前記CPUの処理速度を制御する制御部とを有し、
    該制御部は、前記DMA処理部に保留されたDMA転送の数である保留数に応じて、該保留数が多いほど、処理速度が速くなるように前記CPUの処理速度を制御することを特徴とする半導体装置。
  2. 前記制御部は、前記DMA処理部に対してなされたDMA転送要求の数と、前記DMA処理部により完了したDMA転送の数との差分を、前記保留数として求めることを特徴とする請求項1に記載の半導体装置。
  3. 前記CPUは、処理速度が異なる複数の動作モードを有し、
    前記制御部は、前記保留数に応じて前記CPUの動作モードを切り換えることを特徴とする請求項1または2に記載の半導体装置。
  4. CPU(Central Processing Uint)と、DMA(Direct Memory Access)転送を行うDMA処理部とを有する半導体装置に対して、
    前記DMA処理部に保留されたDMA転送の数である保留数に応じて、該保留数が多いほど、処理速度が速くなるように前記CPUの処理速度を制御することを特徴とする制御方法。
JP2011114344A 2011-05-23 2011-05-23 半導体装置及び制御方法 Withdrawn JP2012243176A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011114344A JP2012243176A (ja) 2011-05-23 2011-05-23 半導体装置及び制御方法
US13/474,281 US20120303856A1 (en) 2011-05-23 2012-05-17 Semiconductor device and method of controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011114344A JP2012243176A (ja) 2011-05-23 2011-05-23 半導体装置及び制御方法

Publications (1)

Publication Number Publication Date
JP2012243176A true JP2012243176A (ja) 2012-12-10

Family

ID=47221605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011114344A Withdrawn JP2012243176A (ja) 2011-05-23 2011-05-23 半導体装置及び制御方法

Country Status (2)

Country Link
US (1) US20120303856A1 (ja)
JP (1) JP2012243176A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016012339A (ja) * 2014-06-02 2016-01-21 セイコーエプソン株式会社 情報処理装置、印刷装置、及び、制御方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9423866B2 (en) * 2014-07-16 2016-08-23 Eta Compute, Inc. Asynchronous processor that adjusts a respective operating voltage for causing a task to consume substantially all of a respective allocated time interval for the task

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4837677A (en) * 1985-06-14 1989-06-06 International Business Machines Corporation Multiple port service expansion adapter for a communications controller
US4987529A (en) * 1988-08-11 1991-01-22 Ast Research, Inc. Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters
JP2822986B2 (ja) * 1996-06-28 1998-11-11 日本電気株式会社 Dma内蔵シングルチップマイクロコンピュータ
JPH10207826A (ja) * 1997-01-23 1998-08-07 Mitsubishi Electric Corp データ処理装置
JPH11184554A (ja) * 1997-12-24 1999-07-09 Mitsubishi Electric Corp クロック制御タイプ情報処理装置
US6763448B1 (en) * 1999-02-16 2004-07-13 Renesas Technology Corp. Microcomputer and microcomputer system
US6865653B2 (en) * 2001-12-18 2005-03-08 Intel Corporation System and method for dynamic power management using data buffer levels
WO2004053708A1 (en) * 2002-12-06 2004-06-24 Telecom Italia S.P.A. A method for direct memory access, related architecture and computer program product
US7203811B2 (en) * 2003-07-31 2007-04-10 International Business Machines Corporation Non-fenced list DMA command mechanism
US20050149771A1 (en) * 2003-11-07 2005-07-07 Seiko Epson Corporation Processor control circuit, information processing apparatus, and central processing unit
US9323571B2 (en) * 2004-02-06 2016-04-26 Intel Corporation Methods for reducing energy consumption of buffered applications using simultaneous multi-threading processor
US7281148B2 (en) * 2004-03-26 2007-10-09 Intel Corporation Power managed busses and arbitration
US20070162643A1 (en) * 2005-12-19 2007-07-12 Ivo Tousek Fixed offset scatter/gather dma controller and method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016012339A (ja) * 2014-06-02 2016-01-21 セイコーエプソン株式会社 情報処理装置、印刷装置、及び、制御方法

Also Published As

Publication number Publication date
US20120303856A1 (en) 2012-11-29

Similar Documents

Publication Publication Date Title
EP3430496B1 (en) System and method for intelligent thermal management in a system on a chip having a heterogeneous cluster architecture
US9977439B2 (en) Energy efficiency aware thermal management in a multi-processor system on a chip
JP6591971B2 (ja) チップ上のマルチプロセッサシステムにおけるアイドル状態最適化のためのシステムおよび方法
EP2962169B1 (en) System and method for thermal management in a portable computing device using thermal resistance values to predict optimum power levels
JP5189921B2 (ja) コンピュータの放熱システム
US9411403B2 (en) System and method for dynamic DCVS adjustment and workload scheduling in a system on a chip
US9785157B2 (en) Method for controlling circuit modules within chip and associated system on chip
JP2018505460A (ja) ライセンス状態に基づくコア低下緩和のためのシステムおよび方法
JP2002215599A (ja) マルチプロセッサシステムおよびその制御方法
US20150046729A1 (en) Semiconductor apparatus and control method therof
KR20120040819A (ko) 디지털 시스템에서 동적 클럭 제어 장치 및 방법
US11231758B2 (en) Semiconductor device, thermo-control device, and methods
US9323301B2 (en) Computing system voltage control
JP2012243176A (ja) 半導体装置及び制御方法
US11372464B2 (en) Adaptive parameterization for maximum current protection
US20100070793A1 (en) Clock supply device
KR102573772B1 (ko) 데이터 프로세서에 대한 프로그래밍 가능 전압 조절
KR101863578B1 (ko) 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치 및 그 방법
US8675444B2 (en) Synchronized command throttling for multi-channel duty-cycle based memory power management
JP2009110385A (ja) データ処理システム
WO2023004816A1 (zh) 一种功耗调节方法及装置
JP2009199421A (ja) 割込み制御装置
CN115056624A (zh) 一种网关控制器的温度调控方法、装置、设备及介质
CN117707266A (zh) 电压调整方法及电子设备
US20130326454A1 (en) Apparatus and method for reducing peak power using asynchronous circuit design technology

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140805