JP2005158036A - プロセッサ制御回路および情報処理装置 - Google Patents

プロセッサ制御回路および情報処理装置 Download PDF

Info

Publication number
JP2005158036A
JP2005158036A JP2004283611A JP2004283611A JP2005158036A JP 2005158036 A JP2005158036 A JP 2005158036A JP 2004283611 A JP2004283611 A JP 2004283611A JP 2004283611 A JP2004283611 A JP 2004283611A JP 2005158036 A JP2005158036 A JP 2005158036A
Authority
JP
Japan
Prior art keywords
processor
dma
operation state
predetermined process
unit
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
JP2004283611A
Other languages
English (en)
Other versions
JP4107278B2 (ja
Inventor
Mitsunari Todoroki
晃成 轟
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004283611A priority Critical patent/JP4107278B2/ja
Priority to US10/968,876 priority patent/US20050149771A1/en
Publication of JP2005158036A publication Critical patent/JP2005158036A/ja
Application granted granted Critical
Publication of JP4107278B2 publication Critical patent/JP4107278B2/ja
Expired - Fee Related 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)
  • Information Transfer Systems (AREA)

Abstract

【課題】 プロセッサによる処理効率の低下を防止しつつ、プロセッサによる消費電力を低減すること。
【解決手段】 DMA処理が実行されているときに、プロセッサ2がDMAコントローラ4の動作状態を問い合わせると、プロセッサ2へのクロック信号の供給をクロック制御部5に停止させて、プロセッサ2によるDMAコントローラ4の動作状態の問い合わせに関する動作を禁止するようにした。このような構成によれば、DMAコントローラ4でDMA処理が実行されたとしても、プロセッサ2がDMAコントローラ4の動作状態を問い合わせるまで、つまり状態通知レジスタ読み出し要求信号を出力するまでは、プロセッサ2でそれまでの処理を継続することができ、またプロセッサ2から状態通知レジスタ読み出し要求信号が出力されると、プロセッサ2へのクロック信号の供給が停止される。
【選択図】 図1

Description

本発明は、プロセッサを介さない所定処理の実行中に、プロセッサの動作状態を制御するプロセッサ制御回路およびプロセッサを介さずに所定処理を実行する情報処理装置に関する。
従来、この種の技術としては、DMA(Direct Memory Access)コントローラによるDMA処理モードの実行時、つまりI/OユニットとメモリとによるDMA処理中に、プロセッサへのクロック信号の供給を停止し、消費電力を低減する技術が知られている(例えば、特許文献1参照)。
特開平8−83133号公報
しかしながら、上記従来技術にあっては、DMA処理中は、常に、プロセッサへのクロック信号の供給を停止するようになっているため、DMA処理中にプロセッサによって処理を行うことができず、プロセッサによる処理効率が低下してしまう恐れがあった。
本発明は、上記従来の技術の未解決の課題を解決することを目的とするものであって、プロセッサによる処理効率の低下を防止しつつ、プロセッサによる消費電力を低減することができるプロセッサ制御回路および情報処理装置を提供することを課題とする。

上記課題を解決するために、第1の発明であるプロセッサ制御回路は、プロセッサを介さずに所定処理を実行可能な機能部と、その所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサによる前記機能部の動作状態の問い合わせに関する動作を抑制する抑制部とを備えたことを特徴とする。
なお、機能部の動作状態の問い合わせに関する動作を抑制する方法としては、問い合わせの頻度を低くする方法や、問い合わせを禁止する方法等を挙げることができる。
また、第2の発明であるプロセッサ制御回路は、前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサによる前記機能部の動作状態の問い合わせに関する動作を遅延させることを特徴とする。
さらに、第3の発明であるプロセッサ制御回路は、前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサに供給するクロック信号の周波数を低くすることを特徴とする。
この第1〜第3の発明によれば、機能部で所定処理が実行されたとしても、プロセッサが機能部の動作状態を問い合わせるまでは、プロセッサでそれまでの処理を継続することができ、またプロセッサによって機能部の動作状態の問い合わせがされると、プロセッサによる機能部の動作状態の問い合わせが抑制されるようにしたため、プロセッサによる処理効率の低下を防止しつつ、プロセッサによる消費電力を低減することができる。
また、第4の発明であるプロセッサ制御回路は、前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサへのクロック信号の供給を停止することを特徴とする。
この第4の発明によれば、プロセッサの内部を構成するトランジスタのスイッチング動作が停止され、プロセッサによる消費電力をより低減することができる。
また、第5の発明であるプロセッサ制御回路は、前記抑制部は、前記クロック信号の供給が停止されているときに、前記クロック信号の供給を一時的に再開可能としたことを特徴とする。
さらに、第6の発明であるプロセッサ制御回路は、前記機能部は、DMA処理を実行可能であり、前記抑制部は、前記クロック信号の供給が停止されているときには、所定長のデータがDMA転送されるたびに前記クロック信号の供給を一時的に再開することを特徴とする。
これら第5及び第6の発明によれば、例えば、DMA処理中に、プロセッサへのクロック信号の供給が停止されても、そのDMA処理が終了するまえ、つまりDMA処理中にクロック信号の供給を一時的に再開することができる。
また、第7の発明であるプロセッサ制御回路は、前記機能部は、該機能部の動作状態を示す実行状態情報を記憶する状態記憶部を備え、前記プロセッサによって該実行状態情報を読み出すことによる前記動作状態の問い合わせが行われると、前記実行状態情報の読み出しが完了したことを示す読み出し完了信号を前記プロセッサに出力することによって、前記機能部における所定処理が終了したことを通知することを特徴とする。
この第7の発明によれば、プロセッサによる実行状態情報の読み出し動作によって、前記動作状態の問い合わせを行うことができるため、所定処理の実行状態を検出する処理のためのプログラミングを容易なものとすることができる。
また、上記課題を解決するために、第8の発明である情報処理装置は、所定の演算処理を実行するプロセッサと、該プロセッサを介さずに所定処理を実行可能な機能部と、その所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサによる前記機能部の動作状態の問い合わせに関する動作を抑制する抑制部とを備えたことを特徴とする。
なお、機能部の動作状態の問い合わせに関する動作を抑制する方法としては、第1の発明と同様に、問い合わせの頻度を低くする方法や、問い合わせを禁止する方法等を挙げることができる。
また、第9の発明である情報処理装置は、前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサによる前記機能部の動作状態の問い合わせに関する動作を遅延させることを特徴とする。
さらに、第10の発明である情報処理装置は、前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサに供給するクロック信号の周波数を低くすることを特徴とする。
この第8〜第10の発明によれば、機能部で所定処理が実行されたとしても、プロセッサが機能部の動作状態を問い合わせるまでは、プロセッサでそれまでの処理を継続することができ、またプロセッサによって機能部の動作状態の問い合わせがされると、プロセッサによる機能部の動作状態の問い合わせが抑制されるようにしたため、プロセッサによる処理効率の低下を防止しつつ、プロセッサによる消費電力を低減することができる。
また、第11の発明である情報処理装置は、前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサへのクロック信号の供給を停止することを特徴とする。
この第11の発明によれば、プロセッサの内部を構成するトランジスタのスイッチング動作が停止され、プロセッサによる消費電力をより低減することができる。
また、第12の発明である情報処理装置は、前記抑制部は、前記クロック信号の供給が停止されているときに、前記クロック信号の供給を一時的に再開可能としたことを特徴とする。
また、第13の発明である情報処理装置は、前記機能部は、DMA処理を実行可能であり、前記抑制部は、前記クロック信号の供給が停止されているときには、所定長のデータがDMA転送されるたびに前記クロック信号の供給を一時的に再開することを特徴とする。
これら第12及び第13の発明によれば、例えば、DMA処理中に、プロセッサへのクロック信号の供給が停止されても、そのDMA処理が終了するまえ、つまりDMA処理中にクロック信号の供給を一時的に再開することができる。
また、第14の発明である情報処理装置は、前記機能部は、該機能部の動作状態に関する検出条件を示す検出条件情報を記憶する検出条件記憶部を備え、前記プロセッサは、動作状態の検出における所定条件が設定された前記検出条件情報を前記検出条件記憶部に書き込むことにより、前記動作状態の問い合わせを行い、前記機能部は、前記動作状態が前記検出条件情報の示す条件を充足した場合に、前記検出条件情報の書き込みが完了したことを示す書き込み完了信号を前記プロセッサに出力することによって、前記機能部における所定処理が終了したことを通知することを特徴とする。
さらに、第15の発明である情報処理装置は、前記機能部は、前記所定処理を複数実行可能であり、前記プロセッサは、前記所定処理それぞれを特定する情報と、複数の前記所定処理の間に設定された動作状態の検出条件とを含む前記検出条件情報を前記検出条件記憶部に書き込み、前記機能部は、前記検出条件情報に示される所定処理間において動作状態が検出条件と一致した場合に、前記書き込み完了信号を前記プロセッサに出力することを特徴とする。
これら第14及び第15の発明によれば、プロセッサが前記機能部の動作状態を問い合わせる際に、その動作状態に関する検出条件を示す検出条件情報が前記検出条件記憶部に書き込まれる。そのため、DMAのチャネルが複数ある場合等、前記機能部において所定処理が複数実行される場合に、それらの間における複雑な条件を設定して動作状態を問い合わせることができるため、ソフトウェアの効率的な実行制御を行うことが可能となる。
このように、本発明によれば、プロセッサによる処理効率の低下を防止しつつ、プロセッサによる消費電力を低減することができるプロセッサ制御回路および情報処理装置を提供することが可能となる。
以下、本発明の実施形態を図面に基づいて説明する。
(第1の実施の形態)
初めに、本発明のプロセッサ制御回路の実施形態を説明する。
図1は、本発明の第1の実施の形態におけるプロセッサ制御回路を備えた情報処理装置1の概略構成を示すブロック図である。この図1に示すように、情報処理装置1は、プロセッサ2、RAM(Random Access Memory)3、状態通知レジスタ7を有するDMA(D irect Memory Access)コントローラ4、及びクロック制御部5で構成され、クロック制御部5を除く各部は、データバス6で互いにデータ授受可能に接続されている。
これらのうちプロセッサ2は、図示しない記憶装置に格納されている基本制御プログラムやアプリケーションプログラム等の各種プログラム及びデータを読み込み、それら各種プログラム及びデータをRAM3内に設けられるワークエリアに展開実行する。そして、情報処理装置1が備える各部の制御や演算処理等といった、各種処理を実行する。
さらに、プロセッサ2は、図2のフローチャートに示すように、DMA処理のためのパラメータ(DMAパラメータ)を設定し(ステップS101)、DMAコントローラ4にDMA処理を開始させるDMAスタートコマンドを出力する(ステップS102)。そして、DMAの動作状態を取得するために、状態通知レジスタ読み出し要求信号をDMAコントローラ4に出力する。その後、DMAコントローラ4からDMA処理中でないことを示すDMA実行状態フラグが読み出されると、状態通知レジスタ読み出し要求信号の出力を停止し、状態通知レジスタの読み出しが完了する(ステップS103)。なお、プロセッサ2は、状態通知レジスタ読み出し要求信号の出力中にクロック信号の供給が停止されても、状態通知レジスタ読み出し要求信号の出力を継続するようになっている。
また、RAM3は、プロセッサ2が各種プログラムに従って上記処理を実行するときに、各種プログラムを展開するワークエリアを形成するとともに、プロセッサ2により実行される各種処理に係るデータを展開するためのメモリ領域を形成する。
さらに、DMAコントローラ4は、プロセッサ2からDMAスタートコマンドが出力されるとDMA処理を開始する。
また、DMAコントローラ4は、プロセッサ2から状態通知レジスタ読み出し要求信号が入力されると、DMA処理中であるか否かを判定し、DMA処理中でない場合には状態通知レジスタ7に格納されているDMA処理中でないことを示すDMA実行状態フラグをプロセッサ2に読み出させ、DMA処理中である場合にはプロセッサ2に対するクロック信号の供給が停止された状態とさせるWAIT信号をクロック制御部5に出力する。
さらに、クロック制御部5は、DMAコントローラ4からWAIT信号が出力されているか否かを判定し、WAIT信号が出力されていない場合にはプロセッサ2にクロック信号を供給し、WAIT信号が出力されている場合にはクロック信号の供給を停止する。
次に、本実施形態の情報処理装置1の動作を詳細に説明する。
まず、図3に示すように、サイクル「2」で、DMAコントローラ4にDMAの開始を要求するDMA要求信号が出力されたとする。すると、サイクル「3」で、DMAコントローラ4からDMA転送処理中であることを通知する信号を出力する。プロセッサ2で所定の処理が実行され、図2に示すように、まずそのステップS101で、DMAパラメータが設定され、ステップS102で、図3(b)に示すように、DMAスタートコマンドがDMAコントローラ4に出力される。そして、サイクル「3」で、図3(c)に示すように、DMAコントローラの動作状態が「動作中」とされ、DMAコントローラ4によってDMA処理が開始される。
また、DMA処理が継続されるうちに、サイクル「4」〜「6」を経て、サイクル「7」で、図3(d)に示すように、プロセッサ2からDMAコントローラ4に状態通知レジスタ読み出し要求信号が出力される。すると、サイクル「8」で、図3(f)に示すように、DMAコントローラ4からクロック制御部5にハイレベルのWAIT信号が出力され、サイクル「9」で、図3(h)に示すように、クロック制御部5によってプロセッサ2に供給していた動作クロック信号が停止される。
さらに、サイクル「10」〜「13」を経て、サイクル「14」で、図3(c)に示すように、DMAコントローラ4の動作状態がローレベルとされ、DMA処理が終了したとする。
すると、サイクル「15」で、DMAコントローラ4によって、DMA処理中でないことを示すDMA実行状態フラグがプロセッサ2に読み出され、WAIT信号が停止状態とされ、クロック制御部5からプロセッサ2にクロック信号の供給が再開され、前記DMA実行状態フラグが読み出されると状態通知レジスタ読み出し要求信号が停止され、サイクル「16」で、プロセッサ2の処理が再開される。
このように、本実施形態の情報処理装置1によれば、DMAコントローラ4でDMA処理が実行されたとしても、プロセッサ2がDMAコントローラ4の動作状態を問い合わせるまで、つまり状態通知レジスタ読み出し要求信号を出力するまでは、プロセッサ2でそれまでの処理を継続することができ、またプロセッサ2から状態通知レジスタ読み出し要求信号が出力されると、プロセッサ2へのクロック信号の供給が停止されるようにしたため、プロセッサ2による処理効率の低下を防止しつつ、プロセッサ2による消費電力を低減することができる。
また、DMA処理が終了するまでクロック信号の供給を停止するようにしたため、DMA処理の実行中に、DMAコントローラ4の動作状態の問い合わせが何度も実行されてしまうことを防止でき、プロセッサ2による消費電力をより低減することができる。
ちなみに、図15に示すように、DMA処理が実行されているときにプロセッサ2に自身の動作を停止させる従来の方法では、DMA処理の実行中に、DMAコントローラ4の動作状態の問い合わせをプロセッサ2自身に何度も実行させなければならず、プロセッサ2による消費電力が大きくなってしまう。
また、本実施形態の情報処理装置1によれば、プロセッサ2が状態通知レジスタ7を読み出す動作によってDMAコントローラ4の動作状態を問い合わせることができるため、DMAの実行状態を検出する処理のためのプログラミングを容易なものとすることができる。
(第2の実施の形態)
次に、本発明のプロセッサ制御回路の第2の実施の形態について説明する。
この実施形態は、プロセッサ2へのクロック信号の供給が停止されているときには、所定長のデータがDMA転送されるたびにクロック信号の供給を一時的に再開するようにした点が前記第1の実施の形態とは異なる。具体的には、図4に示すように、DMA転送するデータ長を設定する転送データ長設定部8がDMAコントローラ4に設けられ、DMAコントローラ4に、そのデータ長がデータ転送されるたびに、DMA実行状態フラグをプロセッサ2に読み出させるようにした。また、前記第1実施形態のプロセッサ2で行われる図2の処理に代えて、図5のステップS201〜S207の制御処理が行われる。なお、この実施形態は、前記第1実施形態と同等の構成を多く含んでおり、同等の構成には同等の符号を付して、その詳細な説明を省略する。
まずそのステップS201では、DMAパラメータを設定する。
次にステップS202に移行して、連続してDMA転送するデータ長、つまりプロセッサ2へのクロック信号の供給を一時的に再開するためのデータ長を転送データ長設定部8に設定させる。
次にステップS203に移行して、DMAコントローラ4にDMAスタートコマンドを出力する。
次にステップS204に移行して、状態通知レジスタ読み出し要求信号をDMAコントローラ4に出力する。
次にステップS205に移行して、転送データ長設定部8で設定されたデータ長がDMA転送されたのちに、状態通知レジスタ7からDMAの転送状態を読み出し、DMA転送処理が終了している場合には図5の制御フローを終了し、DMA転送が終了していない場合には、プロセッサ2において所定処理を実行する必要があるか否かを判定する(ステップS206)。所定処理実行が必要ない場合には、ステップS204に制御が戻り、所定処理実行が必要な場合にはステップS207において処理を行う。そして、ステップS207の所定処理の実行が完了した時点でステップS204に移行する。
次に、本実施形態の情報処理装置1の動作を詳細に説明する。
まず、図6に示すように、サイクル「1」で、DMAコントローラ4にDMAの開始を要求するDMA要求信号が出力されたとする。すると、サイクル「2」で、DMAコントローラ4からDMA転送処理中であることを通知する信号を出力する。プロセッサ2で所定の処理が実行され、図5に示すように、まずそのステップS201で、DMAパラメータが設定され、ステップS202で、連続してDMA転送するデータ長が転送データ長設定部8で設定され、ステップS203で、図6(b)に示すように、ハイレベルのDMAスタートコマンドがDMAコントローラ4に出力され、DMAコントローラ4によってDMA処理が開始される。
また、DMA処理が継続されるうちに、サイクル「3」を経て、サイクル「4」で、プロセッサ2から、図6(d)に示すように、ステップS204によって、プロセッサ2からDMAコントローラ4にハイレベルの状態通知レジスタ読み出し要求信号が出力されたとする。すると、サイクル「5」で、図6(f)に示すように、DMAコントローラ4からクロック制御部5にハイレベルのWAIT信号が出力され、サイクル「6」で、図6(h)に示すように、クロック制御部5によってプロセッサ2に供給していた動作クロック信号が停止される。
さらに、サイクル「7」を経て、サイクル「8」で、図6(c)に示すように、転送データ長設定部8で設定されたデータ長がDMA転送され、DMAコントローラの動作状態がローレベルとされたとする。すると、DMAコントローラ4によって、DMA実行状態フラグがプロセッサ2に読み出され、WAIT信号が停止状態とされ、クロック制御部5からプロセッサ2にクロック信号の供給が一時的に再開され、前記DMA実行状態フラグが読み出されると状態通知レジスタ読み出し要求信号が停止され、DMA転送が終了していないのでステップS205の判定が「No」となり、またステップS206の判定が「Yes」となると、ステップS207で所定処理を実行する。サイクル「9」で、ステップS204によって、プロセッサ2からDMAコントローラ4にハイレベルの状態通知レジスタ読み出し要求信号が再び出力される。
このように、本実施形態にあっては、DMA処理中に、プロセッサ2へのクロック信号の供給が停止されても、そのDMA処理が終了する前、つまりDMA処理中にクロック信号の供給を一時的に再開することができる。
なお、上記実施形態では、DMAコントローラ4が機能部を構成し、クロック制御部5が抑制部を構成し、状態通知レジスタ7が状態記憶部を構成する。
また、上記実施形態は、本発明に係るプロセッサ制御回路の一例を示したものであり、その構成等を限定するものではない。
例えば、上記実施形態では、プロセッサ2から状態通知レジスタ読み出し要求信号が出力されると、プロセッサ2へのクロック信号の供給を停止する例を示したが、これに限られるものではなく、例えば、プロセッサ2に供給するクロック信号の周波数を低くし、状態通知レジスタ7の読み出しの頻度が低くなるようにしてもよい。
また、プロセッサ2へのクロック信号の供給を停止し、プロセッサ2の機能を完全に停止する(WAIT状態とする)例を示したが、これに限られるものではなく、例えば、プロセッサ2へのクロック信号の供給を停止しつつ、外部からの割り込みによって割り込み処理プログラムを起動可能とする(スリープ状態とする)ようにしてもよい。
さらに、クロック制御部5によって、プロセッサ2へのクロック信号の供給状態を制御する例を示したが、これに限られるものではなく、例えば、DMA処理が終了するまで、単に、プロセッサ2によるDMAコントローラ4の動作状態の問い合わせに関する動作を遅延させるようにしてもよい。そのようにすれば、プロセッサ2によってDMA処理中にポーリングを行う方法に比べ、プロセッサ2によって実行するプログラムを簡潔なものとすることができ、プロセッサ2による処理効率を向上させることができる。
(第3の実施の形態)
次に、本発明の情報処理装置の実施形態を説明する。
この実施形態は、第1の実施形態においてプロセッサ2がDMAコントローラ4の動作状態を問い合わせる際に、状態通知レジスタ7を読み出すのに対し、後述するプロセッサ102がDMAコントローラ104の動作状態を問い合わせる際に、条件設定レジスタ107に所定情報(後述する検出条件情報)を書き込む点が前記第1の実施の形態とは異なる。
図7は、本発明の第3の実施の形態における情報処理装置100の概略構成を示すブロック図である。この図7に示すように、情報処理装置100は、プロセッサ102、RAM103、条件設定レジスタ107を有するDMAコントローラ104、及びクロック制御部105で構成され、クロック制御部105を除く各部は、データバス106で互いにデータ授受可能に接続されている。
これらのうちプロセッサ102は、図示しない記憶装置に格納されている基本制御プログラムやアプリケーションプログラム等の各種プログラム及びデータを読み込み、それら各種プログラム及びデータをRAM103内に設けられるワークエリアに展開実行する。そして、情報処理装置100が備える各部の制御や演算処理等といった、各種処理を実行する。
さらに、プロセッサ102は、図8のフローチャートに示すように、DMA処理のためのパラメータ(DMAパラメータ)を設定し(ステップS301)、DMAコントローラ104にDMA処理を開始させるDMAスタートコマンドを出力する(ステップS302)。そして、DMAの動作状態を取得するために、条件設定レジスタ書き込み要求信号および検出条件情報(書き込みデータ)をDMAコントローラ104に出力する。その後、DMAコントローラ104から条件設定レジスタ107への書き込みが完了したことを示す書き込み完了信号が出力されると、条件設定レジスタ107への書き込みが完了する(ステップS303)。
ここで、検出条件情報について説明する。
本実施の形態において、DMAコントローラ104には複数のチャネルが用意され複数のハードウェアモジュールにおけるDMAを実行可能である。そのため、同時に複数のDMA転送が行われる場合等には、図9に示すように、DMAの動作状態を示すステートマシンが複数動作している状態となる。検出条件情報は、これら複数のステートマシンSM0〜SMnにおける動作状態を検出する際の検出条件を示している。
図10は、検出条件情報のデータ構成例を示す図である。
図10において、検出条件情報は、8ビットのデータによって構成されており、下位4ビットは、4つのステートマシンSM0〜SM3それぞれの指定状態(DMA転送状態の確認対象であることを示す“1”およびDMA転送の確認対象でないことを示す“0”)を示すビットデータ(以下、「確認対象設定データ」と言う。)、上位4ビットは、下位4ビットのビットデータについて設定された検出条件(ビットデータに対してAND条件が設定されていることを示す“1000”およびビットデータに対してOR条件が設定されていることを示す“1100”)を示すビットデータ(以下、「条件設定データ」と言う。)である。
即ち、検出条件情報の条件設定データ(上位4ビット)が“1000”である場合には、確認対象設定データ(下位4ビット)において“1”が設定されているステートマシン(ハードウェアモジュール)の全てがDMA転送中でなければ、DMAコントローラ104から書き込み完了信号が出力される。また、検出条件情報の上位4ビットが“1100”である場合には、確認対象設定データ(下位4ビット)において“1”が設定されているステートマシン(ハードウェアモジュール)のいずれかがDMA転送中でなければ、DMAコントローラ104から書き込み完了信号が出力される。
図7に戻り、RAM103は、プロセッサ102が各種プログラムに従って上記処理を実行するときに、各種プログラムを展開するワークエリアを形成するとともに、プロセッサ102により実行される各種処理に係るデータを展開するためのメモリ領域を形成する。
DMAコントローラ104は、プロセッサ102からDMAスタートコマンドが出力されるとDMA処理を開始する。
また、DMAコントローラ104は、DMA処理の状態を管理する状態通知部104aを備えている。そして、状態通知部104aは、プロセッサ102から条件設定レジスタ書き込み要求信号および検出条件情報がDMAコントローラ104に入力されると、検出条件情報に基づいて、DMA処理の状態、即ち、複数のDMAチャネルにおけるステートマシンの動作状態を判定する。そして、状態通知部104aは、各ステートマシンの動作状態が検出条件情報に示される検出条件に適合する場合には、条件設定レジスタ107に対する書き込みが完了したことを示す書き込み完了信号をプロセッサ102に出力し、各ステートマシンの動作状態が検出条件情報に示される検出条件に適合しない場合には、WAIT信号をクロック制御部105に出力する。
図11は、状態通知部104aの概略構成を示すブロック図である。
図11において、状態通知部104aは、上述の条件設定レジスタ107と、AND回路104bと、OR回路104cと、選択回路104dとを備えている。
AND回路104bには、DMA転送を行っているハードウェアモジュールにおけるステートマシンそれぞれから、DMA転送中であるか否かを示す信号(busy_ready信号)が入力される。なお、このbusy_ready信号は、DMA転送中である場合には“1”とされ、DMA転送中でない場合には“0”とされる。また、AND回路104bには、条件設定レジスタ107が記憶しているビットデータ(確認対象設定データ)が入力される。
そして、AND回路104bは、各ハードウェアモジュールのbusy_ready信号を基に、確認対象設定データにおいて“1”が設定されているハードウェアモジュール(ステートマシン)の動作状態を確認し、確認対象設定データにおいて“1”が設定されているハードウェアモジュールから入力されるbusy_ready信号の全てが“0”である場合(いずれもDMA転送中でないことを示す場合)には、AND回路104bにおける検出条件が充足されたことを示すAND条件結果(ここでは“1”とする)を選択回路104dに出力する。一方、確認対象設定データにおいて“1”が設定されているハードウェアモジュールから入力されるbusy_ready信号の全ては“0”でない場合(いずれかがDMA転送中であることを示す場合)には、AND回路104bにおける検出条件が充足されていないことを示すAND条件結果(ここでは“0”とする)を選択回路104dに出力する。
OR回路104cには、AND回路104bと同様に、DMA転送を行っているハードウェアモジュールにおけるステートマシンそれぞれから、DMA転送中であるか否かを示す信号(busy_ready信号)が入力される。また、OR回路104cには、条件設定レジスタ107が記憶しているビットデータ(確認対象設定データ)が入力される。
そして、OR回路104cは、各ハードウェアモジュールのbusy_ready信号を基に、確認対象設定データにおいて“1”が設定されているハードウェアモジュール(ステートマシン)の動作状態を確認し、確認対象設定データにおいて“1”が設定されているハードウェアモジュールから入力されるbusy_ready信号のいずれかが“0”である場合(いずれかがDMA転送中でないことを示す場合)には、OR回路104cにおける検出条件が充足されたことを示すOR条件結果(ここでは“1”とする)を選択回路104dに出力する。一方、確認対象設定データにおいて“1”が設定されているハードウェアモジュールから入力されるbusy_ready信号の全てが“1”である場合(いずれもDMA転送中であることを示す場合)には、OR回路104cにおける検出条件が充足されていないことを示すOR条件結果(ここでは“0”とする)を選択回路104dに出力する。
選択回路104dには、プロセッサ102から入力された検出条件情報における条件設定データが入力される。
また、選択回路104dには、AND回路104bからAND条件結果が入力されると共に、OR回路104cからOR条件結果が入力される。
そして、選択回路104dは、条件設定データによって示される検出条件(即ち、AND条件あるいはOR条件)に応じて、AND条件結果とOR条件結果とのいずれかを選択し、選択結果をプロセッサ102に出力する。この選択結果は、条件が充足されたことを示すAND条件結果あるいはOR条件結果である場合には書き込み完了信号となり、条件が充足されていないことを示すAND条件結果あるいはOR条件結果である場合にはプロセッサ102に対するWAIT信号となる。
図7に戻り、クロック制御部105は、DMAコントローラ104からWAIT信号が出力されているか否かを判定し、WAIT信号が出力されていない場合にはプロセッサ102にクロック信号を供給し、WAIT信号が出力されている場合にはクロック信号の供給を停止する。
次に、本実施形態の情報処理装置100の動作を詳細に説明する。
まず、図12に示すようにサイクル「2」で、DMAコントローラ104にDMAの開始を要求するDMA要求信号が出力されたとする。
すると、サイクル「3」で、DMAコントローラ104からDMA転送処理中であることを通知する信号が出力される。プロセッサ102で所定の処理が実行され、図8に示すように、まずそのステップS301で、DMAパラメータが設定され、ステップS302で、図12(b)に示すように、DMAスタートコマンドがDMAコントローラ104に出力される。そして、サイクル「3」で、図12(c)に示すように、DMAコントローラの動作状態が「動作中」とされ、DMAコントローラ104によってDMA処理が開始される。
また、DMA処理が継続されるうちに、サイクル「4」〜「6」を経て、サイクル「7」で、図12(d)に示すように、プロセッサ102からDMAコントローラ104に条件設定レジスタ書き込み要求信号および書き込みデータ(検出条件情報)が出力される。
すると、サイクル「8」で、図12(f)に示すように、DMAコントローラ104からクロック制御部105にハイレベルのWAIT信号が出力され、サイクル「9」で、図12(h)に示すように、クロック制御部105によってプロセッサ102に供給していた動作クロック信号が停止される。
さらに、サイクル「10」〜「13」を経て、サイクル「14」で、図12(c)に示すように、DMAコントローラ104の動作状態がローレベルとされ、DMA処理が終了したとする。
すると、サイクル「15」で、DMAコントローラ104によって、DMA処理中でないことを示す書き込み完了信号がプロセッサ102に出力され、WAIT信号が停止状態とされる。また、クロック制御部105からプロセッサ102にクロック信号の供給が再開され、前記書き込み完了信号が出力されると条件設定レジスタ書き込み要求信号が停止され、サイクル「16」で、プロセッサ102の処理が再開される。
このように、本実施形態の情報処理装置100によれば、DMAコントローラ104でDMA処理が実行されたとしても、プロセッサ102がDMAコントローラ104の動作状態を問い合わせるまで、つまり条件設定レジスタ書き込み要求信号を出力するまでは、プロセッサ102でそれまでの処理を継続することができ、またプロセッサ102から条件設定レジスタ書き込み要求信号が出力されると、プロセッサ102へのクロック信号の供給が停止されるようにしたため、プロセッサ102による処理効率の低下を防止しつつ、プロセッサ102による消費電力を低減することができる。
また、DMA処理が終了するまでクロック信号の供給を停止するようにしたため、DMA処理の実行中に、DMAコントローラ104の動作状態の問い合わせが何度も実行されてしまうことを防止でき、プロセッサ102による消費電力をより低減することができる。
さらに、プロセッサ102が条件設定レジスタ書き込み要求信号を出力する際に、DMAコントローラ104の動作状態に対する検出条件を示す検出条件情報が書き込みデータとして出力される。そのため、DMAのチャネルが複数ある場合に、それらのチャネルにおける複雑な条件を設定してDMAコントローラ104の動作状態を問い合わせることができるため、上記の効果に加え、ソフトウェアの効率的な実行制御を行うことが可能となる。具体的には、プログラムにおける条件判断の回数を軽減することができるため、実行速度の向上を図ることが可能となる。また、DMAコントローラに対するポーリングのために条件判断を繰り返す従来の方法に比し、無用な消費電力を削減することが可能となる。さらに、DMAコントローラ104における種々の条件を検出する処理が、書き込み要求信号および検出条件情報(書き込みデータ)の出力のみで実行できるため、このような処理を実現するためのプログラムの作成が容易なものとなる。
なお、本実施形態において、DMAコントローラ104は、検出条件情報に示されるAND条件あるいはOR条件を判定するものとして説明したが、AND条件およびOR条件以外の条件(XOR条件等)を設定することも可能であるとともに、DMAコントローラ104がAND条件あるいはOR条件等のいずれか1つのみを判定することとしても良い。DMAコントローラ104において1つの固定的な条件のみが判定される場合、検出条件情報の上位4ビットのビットデータが不要となり、プロセッサ102による書き込みデータが削減されると共に、状態通知部104aの構成を、例えば図13および図14に示すように簡略なものとすることができる。
また、本実施形態において、プロセッサ102によって条件設定レジスタ書き込み要求信号が出力された場合、DMAコントローラ104から書き込み完了信号が出力されるまで、プロセッサ102に対するクロックの供給が継続して停止されるものとして説明したが、第2の実施の形態に示すように、所定長のデータがDMA転送されるたびにクロック信号の供給を一時的に再開するようにしても良い。
また、上記実施形態では、プロセッサ102が特許請求の範囲におけるプロセッサを構成し、DMAコントローラ104が機能部を構成し、クロック制御部105が抑制部を構成し、条件設定レジスタ107が検出条件記憶部を構成する。
本発明のプロセッサ制御回路の第1実施形態を示す概略構成図である。 図1のプロセッサで実行される演算処理のフローチャートである。 図1の情報処理装置の動作を示すタイミングチャートである。 本発明のプロセッサ制御回路の第2実施形態を示す概略構成図である。 図4のプロセッサで実行される演算処理のフローチャートである。 図4の情報処理装置の動作を示すタイミングチャートである。 本発明の第3の実施の形態における情報処理装置100の概略構成を示すブロック図である。 図7のプロセッサで実行される演算処理のフローチャートである。 DMAの動作状態を示すステートマシンが複数動作している状態を示すフローチャートである。 検出条件情報のデータ構成例を示す図である。 状態通知部104aの概略構成を示すブロック図である。 図7の情報処理装置の動作を示すタイミングチャートである。 AND条件のみを判定する場合の状態通知部104aの構成例を示す図である。 OR条件のみを判定する場合の状態通知部104aの構成例を示す図である。 従来のプロセッサで実行される演算処理のフローチャートである。
符号の説明
1,100は情報処理装置、2,102はプロセッサ、3,103はRAM、4,104はDMAコントローラ、5,105はクロック制御部、6,106はデータバス、7は状態通知レジスタ、107は条件設定レジスタ、8は転送データ長設定部

Claims (15)

  1. プロセッサを介さずに所定処理を実行可能な機能部と、その所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサによる前記機能部の動作状態の問い合わせに関する動作を抑制する抑制部とを備えたことを特徴とするプロセッサ制御回路。
  2. 前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサによる前記機能部の動作状態の問い合わせに関する動作を遅延させることを特徴とする請求項1に記載のプロセッサ制御回路。
  3. 前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサに供給するクロック信号の周波数を低くすることを特徴とする請求項1に記載のプロセッサ制御回路。
  4. 前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサへのクロック信号の供給を停止することを特徴とする請求項1に記載のプロセッサ制御回路。
  5. 前記抑制部は、前記クロック信号の供給が停止されているときに、前記クロック信号の供給を一時的に再開可能としたことを特徴とする請求項4に記載のプロセッサ制御回路。
  6. 前記機能部は、DMA処理を実行可能であり、前記抑制部は、前記クロック信号の供給が停止されているときには、所定長のデータがDMA転送されるたびに前記クロック信号の供給を一時的に再開することを特徴とする請求項5に記載のプロセッサ制御回路。
  7. 前記機能部は、該機能部の動作状態を示す実行状態情報を記憶する状態記憶部を備え、前記プロセッサによって該実行状態情報を読み出すことによる前記動作状態の問い合わせが行われると、前記実行状態情報の読み出しが完了したことを示す読み出し完了信号を前記プロセッサに出力することによって、前記機能部における所定処理が終了したことを通知することを特徴とする請求項1から6のいずれか1項に記載のプロセッサ制御回路。
  8. 所定の演算処理を実行するプロセッサと、該プロセッサを介さずに所定処理を実行可能な機能部と、その所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサによる前記機能部の動作状態の問い合わせに関する動作を抑制する抑制部とを備えたことを特徴とする情報処理装置。
  9. 前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサによる前記機能部の動作状態の問い合わせに関する動作を遅延させることを特徴とする請求項8に記載の情報処理装置。
  10. 前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサに供給するクロック信号の周波数を低くすることを特徴とする請求項8に記載の情報処理装置。
  11. 前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサへのクロック信号の供給を停止することを特徴とする請求項8に記載の情報処理装置。
  12. 前記抑制部は、前記クロック信号の供給が停止されているときに、前記クロック信号の供給を一時的に再開可能としたことを特徴とする請求項11に記載の情報処理装置。
  13. 前記機能部は、DMA処理を実行可能であり、前記抑制部は、前記クロック信号の供給が停止されているときには、所定長のデータがDMA転送されるたびに前記クロック信号の供給を一時的に再開することを特徴とする請求項12に記載の情報処理装置。
  14. 前記機能部は、該機能部の動作状態に関する検出条件を示す検出条件情報を記憶する検出条件記憶部を備え、
    前記プロセッサは、動作状態の検出における所定条件が設定された前記検出条件情報を前記検出条件記憶部に書き込むことにより、前記動作状態の問い合わせを行い、
    前記機能部は、前記動作状態が前記検出条件情報の示す条件を充足した場合に、前記検出条件情報の書き込みが完了したことを示す書き込み完了信号を前記プロセッサに出力することによって、前記機能部における所定処理が終了したことを通知することを特徴とする請求項8から13のいずれか1項に記載の情報処理装置。
  15. 前記機能部は、前記所定処理を複数実行可能であり、
    前記プロセッサは、前記所定処理それぞれを特定する情報と、複数の前記所定処理の間に設定された動作状態の検出条件とを含む前記検出条件情報を前記検出条件記憶部に書き込み、
    前記機能部は、前記検出条件情報に示される所定処理間において動作状態が検出条件と一致した場合に、前記書き込み完了信号を前記プロセッサに出力することを特徴とする請求項14に記載の情報処理装置。
JP2004283611A 2003-11-07 2004-09-29 プロセッサ制御回路および情報処理装置 Expired - Fee Related JP4107278B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004283611A JP4107278B2 (ja) 2003-11-07 2004-09-29 プロセッサ制御回路および情報処理装置
US10/968,876 US20050149771A1 (en) 2003-11-07 2004-10-21 Processor control circuit, information processing apparatus, and central processing unit

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003378367 2003-11-07
JP2004283611A JP4107278B2 (ja) 2003-11-07 2004-09-29 プロセッサ制御回路および情報処理装置

Publications (2)

Publication Number Publication Date
JP2005158036A true JP2005158036A (ja) 2005-06-16
JP4107278B2 JP4107278B2 (ja) 2008-06-25

Family

ID=34741497

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004283611A Expired - Fee Related JP4107278B2 (ja) 2003-11-07 2004-09-29 プロセッサ制御回路および情報処理装置

Country Status (1)

Country Link
JP (1) JP4107278B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356630B2 (en) 2005-03-15 2008-04-08 Seiko Epson Corporation Processor control device for stopping processor operation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356630B2 (en) 2005-03-15 2008-04-08 Seiko Epson Corporation Processor control device for stopping processor operation

Also Published As

Publication number Publication date
JP4107278B2 (ja) 2008-06-25

Similar Documents

Publication Publication Date Title
JP4536742B2 (ja) 優先順位によるフラッシュメモリの演算処理装置及び方法
US20130036426A1 (en) Information processing device and task switching method
JP4325685B2 (ja) メモリを制御するメモリコントローラ、メモリモジュール、メモリの制御方法、および、コンピュータ。
JP6151465B1 (ja) プロセッサコアの電力モードを制御するためのレイテンシベースの電力モードユニット、ならびに関連する方法およびシステム
JP2008165746A (ja) アクセラレータ、情報処理装置及び情報処理方法
JP2006244382A (ja) マイクロプロセッサ
JP4957283B2 (ja) メモリを制御するメモリコントローラ、メモリの制御方法。
JP3870970B2 (ja) プロセッサ制御装置
JP4107278B2 (ja) プロセッサ制御回路および情報処理装置
JP2008225608A (ja) メモリを制御するメモリコントローラ、メモリモジュール、メモリの制御方法
US20050149771A1 (en) Processor control circuit, information processing apparatus, and central processing unit
JP3991999B2 (ja) 中央処理ユニット及びプロセッサ制御方法
JP2004118300A (ja) Dmaコントローラ
JP2010128514A (ja) プラントコントロールシステム
JP4862395B2 (ja) 情報処理装置及び情報処理装置の制御方法
JP2009116445A (ja) 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ
JP2007328539A (ja) バスシステムおよびバススレーブならびにバス制御方法
JP6940283B2 (ja) Dma転送制御装置、dma転送制御方法、及び、dma転送制御プログラム
JP2013196112A (ja) メモリシステムとその省電力制御方法
JP2007164250A (ja) アクセス制御回路及び情報処理装置
JP2008305093A (ja) メモリ制御装置、メモリ制御装置の制御方法、プログラム及び記憶媒体
JP2008065512A (ja) データ処理装置
JP2006252454A (ja) メモリ制御方法及びメモリ制御回路及び同回路を有する半導体装置及び同回路を有する記憶装置
JP2019520651A (ja) 演算ユニットを駆動する方法
JP2009110150A (ja) 半導体装置および半導体装置の動作方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070821

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071022

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080121

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080128

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080324

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110411

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110411

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120411

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130411

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees