JP2006293950A - プロセッサ制御装置 - Google Patents

プロセッサ制御装置 Download PDF

Info

Publication number
JP2006293950A
JP2006293950A JP2005134991A JP2005134991A JP2006293950A JP 2006293950 A JP2006293950 A JP 2006293950A JP 2005134991 A JP2005134991 A JP 2005134991A JP 2005134991 A JP2005134991 A JP 2005134991A JP 2006293950 A JP2006293950 A JP 2006293950A
Authority
JP
Japan
Prior art keywords
polling
wait
signal
processor
module
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
JP2005134991A
Other languages
English (en)
Other versions
JP3870970B2 (ja
Inventor
Shoji Hoshina
彰治 保科
Masaichi Isomura
政一 礒村
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 JP2005134991A priority Critical patent/JP3870970B2/ja
Priority to US11/375,670 priority patent/US7356630B2/en
Publication of JP2006293950A publication Critical patent/JP2006293950A/ja
Application granted granted Critical
Publication of JP3870970B2 publication Critical patent/JP3870970B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F13/285Halt processor DMA
    • 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

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)

Abstract

【課題】 プロセッサにかかる負荷を抑制しつつ、複数のモジュールのポーリング処理を行えるようにする。
【解決手段】 ポーリング処理部11c、12cは、プロセッサコア1からのアクセス要求があった時に各モジュールM1、M2がそれぞれ処理を実行中の場合、プロセッサコア1の動作を供給させるためのポーリング信号PS1、PS2をそれぞれ出力し、ポーリングセレクタ5は、シングルウェイトステータスレジスタ11bまたはマルチウェイトステータスレジスタ11aの指定に基づいて、プロセッサコア1に出力されるクロック信号CLを停止させるためのWAIT信号WAをクロック制御回路6に出力し、クロック制御回路6は、ポーリングセレクタ5から出力されたWAIT信号に基づいて、プロセッサコア1に供給するクロック信号CLを停止する。
【選択図】 図1

Description

本発明はプロセッサ制御装置に関し、特に、ポーリング処理をハードウェアに分担させる方法に適用して好適なものである。
従来のCPUの省電力技術として、DMA(Direct Memory Access)コントローラによるDMA処理モードの実行時、つまりI/OユニットとメモリとによるDMA処理中に、CPUへのクロック信号の供給を停止し、消費電力を低減する技術が知られている(特許文献1参照)。
特開平8−83133号公報
しかしながら、従来の省電力技術では、複数のDMAが存在する場合、DMA転送をかけた時には、CPUはソフトウェアにてポーリング処理を実行し、DMA転送の終了を待つ必要があった。このため、複数のDMAが存在し、同時に複数のDMA転送をかけた時には、DMA転送が終了するまで、ステータスレジスタの値を読みに行ったり、ステータスレジスタの値に基づいて分岐処理の判断を行ったり、ステータスレジスタの値に応じて分岐処理を実行したりする動作を何回も繰り返す必要があり、CPUの負荷が増大するという問題があった。
そこで、本発明の目的は、プロセッサにかかる負荷を抑制しつつ、複数のモジュールのポーリング処理を行うことが可能なプロセッサ制御装置を提供することである。
上述した課題を解決するために、本発明の一態様に係るプロセッサ制御装置によれば、命令を実行するプロセッサと、前記プロセッサとバスを介して接続され、前記プロセッサと独立して処理を行うことが可能な複数のモジュールと、前記モジュール側にそれぞれ設けられ、前記プロセッサからのアクセス要求があった時の前記モジュールの処理の実行状態に基づいて、前記プロセッサの動作を停止させるポーリング処理部とを備えることを特徴とする。
これにより、プロセッサがモジュールにアクセスする際にモジュール動作が終了しているかをプロセッサ側で判断することなく、モジュール動作が終了するまでプロセッサの動作を停止させることができる。このため、複数のモジュールがバスを介してプロセッサと接続されている場合においても、ポーリング処理に伴う分岐処理の判断や分岐処理の実行をプロセッサ側で行う必要がなくなり、プロセッサにかかる負荷を抑制しつつ、プロセッサの省電力化を図ることができる。
また、本発明の一態様に係るプロセッサ制御装置によれば、前記プロセッサにクロック信号を供給するクロック制御回路をさらに備え、前記ポーリング処理部は、前記プロセッサからのアクセス要求があった時に前記モジュールが処理を実行中の場合、前記プロセッサに供給されるクロック信号を停止させるためのポーリング信号を前記クロック制御回路に出力することを特徴とする。
これにより、プロセッサがモジュールにアクセスする際にモジュールが動作を実行していう場合、モジュール側からプロセッサの動作を停止させることが可能となり、プロセッサにかかる負荷を抑制しつつ、プロセッサの省電力化を図ることができる。
また、本発明の一態様に係るプロセッサ制御装置によれば、前記モジュールは、単独のモジュールの処理の実行状態に基づいて前記プロセッサの動作を停止させるための指定を行うシングルウェイトステータスレジスタと、複数のモジュールの処理の実行状態に基づいて前記プロセッサの動作を停止させるための指定を行うマルチウェイトステータスレジスタとを備えることを特徴とする。
これにより、複数のモジュールの処理の実行結果を待たなければプロセッサが次の処理に進めないか、あるいは複数のモジュールの処理の実行結果を待たなくてもプロセッサが次の処理に進めるかに応じてプロセッサの動作を停止させることができるように、モジュール側に指定することができる。このため、複数のモジュールがバスを介してプロセッサと接続されている場合においても、単独のモジュールの実行状態に基づいてプロセッサの動作が一律に停止されることを防止することが可能となり、プロセッサの稼動効率の劣化を抑制しつつ、プロセッサの省電力化を図ることができる。
また、本発明の一態様に係るプロセッサ制御装置によれば、前記シングルウェイトステータスレジスタまたは前記マルチウェイトステータスレジスタの指定に基づいて、前記ポーリング処理部からそれぞれ出力されたポーリング信号を有効化または無効化するポーリングセレクタをさらに備えることを特徴とする。
これにより、複数のモジュールがバスを介してプロセッサと接続されている場合においても、モジュールごとに独立してプロセッサの動作を停止させたり、複数のモジュールが協働してプロセッサの動作を停止させたりすることができる。このため、個々のモジュールが単独で動作している場合においても、プロセッサの動作が一律に停止されることを防止することが可能となり、プロセッサの稼動効率の劣化を抑制しつつ、プロセッサの省電力化を図ることができる。
また、本発明の一態様に係るプロセッサ制御装置によれば、前記モジュールは、自分のモジュールが処理を実行中に前記シングルウェイトステータスレジスタの読み出しが前記プロセッサにて行われると、前記シングルウェイトステータスレジスタの読み出しが行われたことを示すシングルウェイト選択信号を前記ポーリングセレクタに出力し、前記モジュールは、自分のモジュールが処理を実行中に前記マルチウェイトステータスレジスタの読み出しが前記プロセッサにて行われると、前記マルチウェイトステータスレジスタの読み出しが行われたことを示すマルチウェイト選択信号を前記ポーリングセレクタに出力し、前記ポーリングセレクタは、前記モジュールから前記シングルウェイト選択信号が送られた場合、単独のモジュールから出力されたポーリング信号に基づいて、前記クロック信号を停止させるためのWAIT信号を前記クロック制御回路に出力し、前記ポーリングセレクタは、前記モジュールから前記マルチウェイト選択信号が送られた場合、複数のモジュールから出力されたポーリング信号に基づいて、前記クロック信号を停止させるためのWAIT信号を前記クロック制御回路に出力することを特徴とする。
これにより、プロセッサがシングルウェイトステータスレジスタの読み出しを行ったかあるいはプロセッサがマルチウェイトステータスレジスタの読み出しを行ったかに応じて、クロック信号を停止させるためのWAIT信号をクロック制御回路に出力することが可能となる。このため、単独のモジュールが処理を実行している場合においても、プロセッサの動作を停止させたり、プロセッサをそのまま動作させたりすることをモジュール側に行わせることが可能となる。この結果、複数のモジュールがバスを介してプロセッサと接続されている場合においても、単独のモジュールの実行状態に基づいてプロセッサの動作が一律に停止されることを防止することが可能となり、プロセッサの稼動効率の劣化を抑制しつつ、プロセッサの省電力化を図ることができる。
また、本発明の一態様に係るプロセッサ制御装置によれば、前記モジュールは、単独のモジュールの処理の実行状態に基づいて前記プロセッサの動作を停止させるための指定を行うウェイトステータスレジスタと、前記モジュールの処理の実行状態に依存することなく、前記プロセッサの動作を継続させるための指定を行うセットウェイトステータスレジスタとを備えることを特徴とする。
これにより、自分のモジュールの処理の実行結果を待たなければプロセッサが次の処理に進めないか、あるいは自分のモジュールの処理の実行結果を待たなくてもプロセッサが次の処理に進めるかに応じてプロセッサの動作を停止させることができるように、モジュール側に指定することができる。このため、複数のモジュールがバスを介してプロセッサと接続されている場合においても、単独のモジュールの実行状態に基づいてプロセッサの動作が一律に停止されることを防止することが可能となり、プロセッサの稼動効率の劣化を抑制しつつ、プロセッサの省電力化を図ることができる。
また、本発明の一態様に係るプロセッサ制御装置によれば、前記ウェイトステータスレジスタまたは前記セットウェイトステータスレジスタの指定に基づいて、前記ポーリング処理部から出力されたポーリング信号を有効化または無効化するポーリングセレクタをさらに備えることを特徴とする。
これにより、複数のモジュールがバスを介してプロセッサと接続されている場合においても、特定のモジュールの実行状態に応じてプロセッサの動作を停止させたり、プロセッサの動作を継続させたりすることができる。このため、個々のモジュールが単独で動作している場合においても、プロセッサの動作が一律に停止されることを防止することが可能となり、プロセッサの稼動効率の劣化を抑制しつつ、プロセッサの省電力化を図ることができる。
また、本発明の一態様に係るプロセッサ制御装置によれば、前記モジュールは、自分のモジュールが処理を実行中に前記ウェイトステータスレジスタの読み出しが前記プロセッサにて行われると、前記ウェイトステータスレジスタの読み出しが行われたことを示すウェイト選択信号を前記ポーリングセレクタに出力し、前記モジュールは、自分のモジュールが処理を実行中に前記セットウェイトステータスレジスタの読み出しが前記プロセッサにて行われると、前記セットウェイトステータスレジスタの読み出しが行われたことを示すセットウェイト選択信号を前記ポーリングセレクタに出力し、前記ポーリングセレクタは、前記モジュールから前記ウェイト選択信号が送られた場合、単独のモジュールから出力されたポーリング信号に基づいて、前記クロック信号を停止させるためのWAIT信号を前記クロック制御回路に出力し、前記ポーリングセレクタは、前記モジュールから前記セットウェイト選択信号が送られた場合、前記モジュールの処理の実行状態に依存することなく、前記クロック信号を停止させるためのWAIT信号が前記クロック制御回路に出力されないようにすることを特徴とする。
これにより、プロセッサがウェイトステータスレジスタの読み出しを行ったかあるいはプロセッサがセットウェイトステータスレジスタの読み出しを行ったかに応じて、クロック信号を停止させるためのWAIT信号をクロック制御回路に出力させたり停止させたりすることが可能となる。このため、単独のモジュールが処理を実行している場合においても、プロセッサの動作を停止させたり、プロセッサをそのまま動作させたりすることをモジュール側に行わせることが可能となる。この結果、複数のモジュールがバスを介してプロセッサと接続されている場合においても、単独のモジュールの実行状態に基づいてプロセッサの動作が一律に停止されることを防止することが可能となり、プロセッサの稼動効率の劣化を抑制しつつ、プロセッサの省電力化を図ることができる。
以下、本発明の実施形態に係るプロセッサ制御装置について図面を参照しながら説明する。
図1は、本発明の第1実施形態に係るプロセッサ制御装置の概略構成を示すブロック図である。
図1において、プロセッサコア1はインストラクションキャッシュ3に接続されている。そして、インストラクションキャッシュ3は、メモリ制御回路4を介してメモリにアクセスすることにより、プロセッサコア1に実行させる命令を取得し、プロセッサコア1に出力することができる。そして、プロセッサコア1は、インストラクションキャッシュ3から出力された命令を実行することで、その命令が記述されたプログラムを実行することができる。
また、プロセッサコア1は、バス制御回路2を介して複数のモジュールM1、M2に接続されるとともに、モジュールM1、M2はメモリ制御回路4に接続されている。なお、モジュールM1、M2としては、DMA(Direct Memory Access)コントローラやI/Oコントローラなどのプロセッサコア1と独立して処理を行うことが可能な周辺回路を挙げることができる。
ここで、各モジュールM1、M2には、マルチウェイトステータスレジスタ11a、12a、シングルウェイトステータスレジスタ11b、12bおよびポーリング処理部11c、12cがそれぞれ設けられている。そして、マルチウェイトステータスレジスタ11a、12aは、複数のモジュールM1、M2の処理の実行状態に基づいてプロセッサコア1の動作を停止させるための指定を各モジュールM1、M2上でそれぞれ行うことができる。また、シングルウェイトステータスレジスタ11b、12bは、単独のモジュールM1、M2の処理の実行状態に基づいてプロセッサコア1の動作を停止させるための指定を各モジュールM1、M2上でそれぞれ行うことができる。また、ポーリング処理部11c、12cは、プロセッサコア1からのアクセス要求があった時に各モジュールM1、M2がそれぞれ処理を実行中の場合、プロセッサコア1の動作を供給させるためのポーリング信号PS1、PS2をそれぞれ出力することができる。
また、プロセッサ制御装置には、ポーリングセレクタ5およびクロック制御回路6が設けられている。ここで、ポーリングセレクタ5は、マルチウェイトステータスレジスタ11a、12aまたはシングルウェイトステータスレジスタ11b、12bの指定に基づいて、ポーリング処理部11c、12cからそれぞれ出力されたポーリング信号PS1、PS2を有効化または無効化し、プロセッサコア1に出力されるクロック信号CLを停止させるためのWAIT信号WAをクロック制御回路6に出力することができる。また、クロック制御回路6は、プロセッサコア1にクロック信号CKを供給するとともに、ポーリングセレクタ5から出力されたWAIT信号WAに基づいて、プロセッサコア1に供給するクロック信号CLを停止することができる。
図2は、図1のポーリングセレクタ5の概略構成を示すブロック図である。
図2において、ポーリングセレクタ5には、OR回路21、AND回路22、デコーダ23およびセレクタ24が設けられている。ここで、OR回路21には、各モジュールM1、M2から出力されたポーリング信号PS1、PS2がそれぞれ入力される。そして、OR回路21は、これらのポーリング信号PS1、PS2の論理和演算を行い、その演算結果をセレクタ24に入力する。また、AND回路22には、各モジュールM1、M2から出力されたポーリング信号PS1、PS2がそれぞれ入力される。そして、AND回路22は、これらのポーリング信号PS1、PS2の論理積演算を行い、その演算結果をセレクタ24に入力する。
また、各モジュールM1、M2からは、マルチウェイトステータスレジスタ11a、12aがプロセッサコア1にてそれぞれ読み出されたことを示すマルチウェイト選択信号SSA1、SSA2がデコーダ23にそれぞれ出力される。また、各モジュールM1、M2からは、シングルウェイトステータスレジスタ11b、12bがプロセッサコア1にてそれぞれ読み出されたことを示すシングルウェイト選択信号SSO1、SSO2がデコーダ23にそれぞれ出力される。
そして、デコーダ23は、いずれか少なくとも一方のモジュールM1、M2からマルチウェイト選択信号SSA1、SSA2が送られた場合、AND回路22の出力を選択させる選択信号AOSLTをセレクタ24に供給する。また、デコーダ23は、いずれか少なくとも一方のモジュールM1、M2からシングルウェイト選択信号SSO1、SSO2が送られた場合、OR回路21の出力を選択させる選択信号AOSLTをセレクタ24に供給する。
また、セレクタ24は、デコーダ23から出力された選択信号AOSLTに基づいて、OR回路21またはAND回路22のいずれか一方の出力を選択し、その選択された出力をWAIT信号WAとしてクロック制御回路6に出力する。
図3は、図2のデコーダ23の動作を示す図である。
図3において、マルチウェイトステータスレジスタ11a、12aがプロセッサコア1にてそれぞれ読み出されると、ポーリング処理部11c、12cは、マルチウェイト選択信号SSA1、SSA2をそれぞれ“1”に設定する。そして、デコーダ23は、マルチウェイト選択信号SSA1、SSA2の少なくともいずれか一方が“1”に設定されると、選択信号AOSLTを“0”に設定する。そして、セレクタ24は、選択信号AOSLTが“0”に設定されると、AND回路22の出力をWAIT信号WAとしてクロック制御回路6に出力する。
一方、シングルウェイトステータスレジスタ11b、12bがプロセッサコア1にてそれぞれ読み出されると、ポーリング処理部11c、12cは、シングルウェイト選択信号SSO1、SSO2をそれぞれ“1”に設定する。そして、デコーダ23は、シングルウェイト選択信号SSO1、SSO2の少なくともいずれか一方が“1”に設定されると、選択信号AOSLTを“1”に設定する。そして、セレクタ24は、選択信号AOSLTが“1”に設定されると、OR回路21の出力をWAIT信号WAとしてクロック制御回路6に出力する。
図4は、図1のマルチウェイトステータスレジスタ11a、12aおよびシングルウェイトステータスレジスタ11b、12bの選択方法を示す図である。
図4において、例えば、マルチウェイトステータスレジスタ11a、12aおよびシングルウェイトステータスレジスタ11b、12bは、バスのアドレス線に対応させることができる。例えば、プロセッサコア1は、バスのアドレス線の“0x1000014”というアドレスを指定することで、マルチウェイトステータスレジスタ11a、12aを選択することができる。また、プロセッサコア1は、バスのアドレス線の“0x1000018”というアドレスを指定することで、シングルウェイトステータスレジスタ11b、12bを選択することができる。
そして、図1において、プロセッサコア1からのアクセス要求が各モジュールM1、M2に対してそれぞれ行われると、ポーリング処理部11c、12cは、モジュールM1、M2が処理を実行中であるかをそれぞれ判断する。そして、各モジュールM1、M2が処理を実行中でない場合、各モジュールM1、M2が処理を実行中でないことを示す非実行中フラグをプロセッサコア1にそれぞれ読み出させる。そして、プロセッサコア1は、非実行中フラグが各モジュールM1、M2から読み出されると、そのモジュールM1、M2に対してアクセスを行うことができる。
一方、各ポーリング処理部11c、12cは、プロセッサコア1からのアクセス要求が各モジュールM1、M2に対してそれぞれ行われた時に、モジュールM1、M2がそれぞれ処理を実行中であると判断すると、ポーリング信号PS1、PS2をポーリングセレクタ5にそれぞれ出力することができる。ここで、プロセッサコア1は、各モジュールM1、M2にアクセス要求を行う時に、マルチウェイトステータスレジスタ11a、12aまたはシングルウェイトステータスレジスタ11b、12bのいずれか一方を選択して読み出しを行うことができる。なお、プロセッサコア1は、今回アクセス要求を行なったモジュールM1、M2だけでなく、それ以外のモジュールM1、M2の処理の実行結果を待たなければ、次の処理に進めない場合、マルチウェイトステータスレジスタ11a、12aの読み出しを行うことができる。一方、プロセッサコア1は、今回アクセス要求を行なったモジュールM1、M2の処理の実行結果を待てば、それ以外のモジュールM1、M2の処理の実行結果を待たなくても、次の処理に進める場合、シングルウェイトステータスレジスタ11b、12bの読み出しを行うことができる。
そして、マルチウェイトステータスレジスタ11a、12aがプロセッサコア1にてそれぞれ読み出されると、図3に示すように、ポーリング処理部11c、12cは、マルチウェイト選択信号SSA1、SSA2をそれぞれ“1”に設定する。そして、デコーダ23は、マルチウェイト選択信号SSA1、SSA2の少なくともいずれか一方が“1”に設定されると、選択信号AOSLTを“0”に設定する。そして、セレクタ24は、選択信号AOSLTが“0”に設定されると、AND回路22の出力をWAIT信号WAとしてクロック制御回路6に出力する。
一方、シングルウェイトステータスレジスタ11b、12bがプロセッサコア1にてそれぞれ読み出されると、ポーリング処理部11c、12cは、シングルウェイト選択信号SSO1、SSO2をそれぞれ“1”に設定する。そして、デコーダ23は、シングルウェイト選択信号SSO1、SSO2の少なくともいずれか一方が“1”に設定されると、選択信号AOSLTを“1”に設定する。そして、セレクタ24は、選択信号AOSLTが“1”に設定されると、OR回路21の出力をWAIT信号WAとしてクロック制御回路6に出力する。
そして、WAIT信号WAがクロック制御回路6に出力されると、クロック制御回路6は、プロセッサコア1に供給するクロック信号CLを停止する。そして、ポーリング処理部11c、12cは、自分のモジュールM1、M2の処理の実行状態をそれぞれ監視し、自分のモジュールM1、M2の処理の実行が完了すると、ポーリング信号PS1、PS2の出力をそれぞれ停止する。
そして、ポーリングセレクタ5は、マルチウェイトステータスレジスタ11a、12aがプロセッサコア1にてそれぞれ読み出された場合、各モジュールM1、M2からそれぞれ出力された全てのポーリング信号PS1、PS2の出力が停止された時に、WAIT信号WAの出力を停止する。
一方、ポーリングセレクタ5は、シングルウェイトステータスレジスタ11b、12bがプロセッサコア1にてそれぞれ読み出された場合、そのモジュールM1、M2から出力されたポーリング信号PS1、PS2の出力が停止された時に、WAIT信号WAの出力を停止する。そして、WAIT信号WAの出力がポーリングセレクタ5にて停止されると、クロック制御回路6は、プロセッサコア1へのクロック信号CLの供給を再開する。
これにより、プロセッサコア1がモジュールM1、M2にそれぞれアクセスする際にモジュールM1、M2の動作が終了しているかをプロセッサコア1側で判断することなく、モジュールM1、M2の動作が終了するまでプロセッサコア1の動作を停止させることができる。このため、複数のモジュールM1、M2がバスを介してプロセッサコア1と接続されている場合においても、ポーリング処理に伴う分岐処理の判断や分岐処理の実行をプロセッサコア1側で行う必要がなくなり、プロセッサコア1にかかる負荷を抑制しつつ、プロセッサコア1の省電力化を図ることができる。
また、単独のモジュールM1、M2の処理の実行状態に基づいてプロセッサコア1の動作を停止させるための指定を行うシングルウェイトステータスレジスタ11b、12bと、複数のモジュールM1、M2の処理の実行状態に基づいてプロセッサコア1の動作を停止させるための指定を行うマルチウェイトステータスレジスタ11a、12aとを、各モジュールM1、M2にそれぞれ設けることにより、複数のモジュールM1、M2がバスを介してプロセッサコア1と接続されている場合においても、モジュールM1、M2ごとに独立してプロセッサコア1の動作を停止させたり、複数のモジュールM1、M2が協働してプロセッサコア1の動作を停止させたりすることができる。このため、個々のモジュールM1、M2が単独で動作している場合においても、プロセッサコア1の動作が一律に停止されることを防止することが可能となり、プロセッサコア1の稼動効率の劣化を抑制しつつ、プロセッサコア1の省電力化を図ることができる。
図5は、図1のプロセッサ制御装置のポーリング処理方法の一例を示すタイミングチャートである。
図5の時刻t1において、図1のプロセッサコア1が動作中にモジュールM1が処理を実行しているものとする。そして、時刻t2において、モジュールM2が処理の実行を開始したものとする。そして、時刻t3において、モジュールM1、M2が処理を実行中に、プロセッサコア1がモジュールM1にアクセス要求を出し、マルチウェイトステータスレジスタ11aの読み出しを行ったものとする。
すると、モジュールM1のポーリング処理部11cは、ポーリング信号PS1をポーリングセレクタ5に出力するとともに、マルチウェイト選択信号SSA1を“1”に設定する。そして、デコーダ23は、マルチウェイト選択信号SSA1が“1”に設定されると、選択信号AOSLTを“0”に設定する。そして、セレクタ24は、選択信号AOSLTが“0”に設定されると、AND回路22の出力をWAIT信号WAとしてクロック制御回路6に出力する。ここで、AND回路22では、ポーリング信号PS1がポーリングセレクタ5に出力されても、ポーリング信号PS2がポーリングセレクタ5に出力されていないので、AND回路22からの出力は“0”となり、WAIT信号WAがクロック制御回路6に出力されることはない。このため、時刻t3においては、クロック制御回路6は、プロセッサコア1にクロック信号CLを供給し続け、プロセッサコア1は動作状態を維持する。
次に、時刻t4において、モジュールM1、M2が処理を実行中に、プロセッサコア1がモジュールM2にアクセス要求を出し、シングルウェイトステータスレジスタ12bの読み出しを行ったものとする。
すると、モジュールM2のポーリング処理部12cは、ポーリング信号PS2をポーリングセレクタ5に出力するとともに、シングルウェイト選択信号SSO2を“1”に設定する。そして、デコーダ23は、シングルウェイト選択信号SSO2が“1”に設定されると、選択信号AOSLTを“1”に設定する。そして、セレクタ24は、選択信号AOSLTが“1”に設定されると、OR回路21の出力をWAIT信号WAとしてクロック制御回路6に出力する。ここで、ポーリング信号PS2がポーリングセレクタ5に出力されると、OR回路21からの出力は“1”となり、WAIT信号WAがクロック制御回路6に出力される。このため、時刻t4において、クロック制御回路6は、プロセッサコア1に供給されるクロック信号CLを停止し、プロセッサコア1の動作を停止させる。
次に、時刻t5において、モジュールM1の処理が終了すると、ポーリング処理部11cはポーリング信号PS1の出力を停止する。ここで、モジュールM1からのポーリング信号PS1の出力が停止されても、モジュールM2からのポーリング信号PS2は未だ出力されているため、OR回路21からの出力は“1”のままである。さらに、シングルウェイト選択信号SSO2が“1”に設定されているので、OR回路21の出力がWAIT信号WAとしてクロック制御回路6に出力される。このため、モジュールM1の処理が終了しても、クロック制御回路6からプロセッサコア1に供給されるクロック信号CLは停止されたままとなり、プロセッサコア1の動作は停止されたままとなる。
次に、時刻t6において、モジュールM2の処理が終了すると、ポーリング処理部12cはポーリング信号PS2の出力を停止する。そして、モジュールM2からのポーリング信号PS2の出力が停止されると、OR回路21からの出力は“0”となるので、クロック制御回路6からのWAIT信号WAの出力が停止される。このため、時刻t6において、クロック制御回路6は、プロセッサコア1へのクロック信号CLの供給を再開し、プロセッサコア1を動作させる。
図6は、図1のプロセッサ制御装置のポーリング処理方法のその他の例を示すタイミングチャートである。
図6の時刻t11において、図1のプロセッサコア1が動作中にモジュールM1が処理を実行しているものとする。そして、時刻t12において、モジュールM2が処理の実行を開始したものとする。そして、時刻t13において、モジュールM1、M2が処理を実行中に、プロセッサコア1がモジュールM1にアクセス要求を出し、マルチウェイトステータスレジスタ11aの読み出しを行ったものとする。
すると、モジュールM1のポーリング処理部11cは、ポーリング信号PS1をポーリングセレクタ5に出力するとともに、マルチウェイト選択信号SSA1を“1”に設定する。そして、デコーダ23は、マルチウェイト選択信号SSA1が“1”に設定されると、選択信号AOSLTを“0”に設定する。そして、セレクタ24は、選択信号AOSLTが“0”に設定されると、AND回路22の出力をWAIT信号WAとしてクロック制御回路6に出力する。ここで、AND回路22では、ポーリング信号PS1がポーリングセレクタ5に出力されても、ポーリング信号PS2がポーリングセレクタ5に出力されていないので、AND回路22からの出力は“0”となり、WAIT信号WAがクロック制御回路6に出力されることはない。このため、時刻t13においては、クロック制御回路6は、プロセッサコア1にクロック信号CLを供給し続け、プロセッサコア1は動作状態を維持する。
次に、時刻t14において、モジュールM1、M2が処理を実行中に、プロセッサコア1がモジュールM2にアクセス要求を出し、シングルウェイトステータスレジスタ12bの読み出しを行ったものとする。
すると、モジュールM2のポーリング処理部12cは、ポーリング信号PS2をポーリングセレクタ5に出力するとともに、シングルウェイト選択信号SSO2を“1”に設定する。そして、デコーダ23は、シングルウェイト選択信号SSO2が“1”に設定されると、選択信号AOSLTを“1”に設定する。そして、セレクタ24は、選択信号AOSLTが“1”に設定されると、OR回路21の出力をWAIT信号WAとしてクロック制御回路6に出力する。ここで、ポーリング信号PS2がポーリングセレクタ5に出力されると、OR回路21からの出力は“1”となり、WAIT信号WAがクロック制御回路6に出力される。このため、時刻t14において、クロック制御回路6は、プロセッサコア1に供給されるクロック信号CLを停止し、プロセッサコア1の動作を停止させる。
次に、時刻t15において、モジュールM2の処理が終了すると、ポーリング処理部12cはポーリング信号PS2の出力を停止する。ここで、モジュールM2からのポーリング信号PS2の出力が停止されても、モジュールM1からのポーリング信号PS1は未だ出力されているため、OR回路21からの出力は“1”のままである。さらに、シングルウェイト選択信号SSO2が“1”に設定されているので、OR回路21の出力がWAIT信号WAとしてクロック制御回路6に出力される。このため、モジュールM2の処理が終了しても、クロック制御回路6からプロセッサコア1に供給されるクロック信号CLは停止されたままとなり、プロセッサコア1の動作は停止されたままとなる。
次に、時刻t16において、モジュールM1の処理が終了すると、ポーリング処理部11cはポーリング信号PS1の出力を停止する。そして、モジュールM1からのポーリング信号PS1の出力が停止されると、OR回路21からの出力は“0”となるので、クロック制御回路6からのWAIT信号WAの出力が停止される。このため、時刻t16において、クロック制御回路6は、プロセッサコア1へのクロック信号CLの供給を再開し、プロセッサコア1を動作させる。
図7は、図1のプロセッサ制御装置のポーリング処理方法のその他の例を示すタイミングチャートである。
図7の時刻t21において、図1のプロセッサコア1が動作中にモジュールM1が処理を実行しているものとする。そして、時刻t22において、モジュールM2が処理の実行を開始したものとする。そして、時刻t23において、モジュールM1、M2が処理を実行中に、プロセッサコア1がモジュールM1にアクセス要求を出し、マルチウェイトステータスレジスタ11aの読み出しを行ったものとする。
すると、モジュールM1のポーリング処理部11cは、ポーリング信号PS1をポーリングセレクタ5に出力するとともに、マルチウェイト選択信号SSA1を“1”に設定する。そして、デコーダ23は、マルチウェイト選択信号SSA1が“1”に設定されると、選択信号AOSLTを“0”に設定する。そして、セレクタ24は、選択信号AOSLTが“0”に設定されると、AND回路22の出力をWAIT信号WAとしてクロック制御回路6に出力する。ここで、AND回路22では、ポーリング信号PS1がポーリングセレクタ5に出力されても、ポーリング信号PS2がポーリングセレクタ5に出力されていないので、AND回路22からの出力は“0”となり、WAIT信号WAがクロック制御回路6に出力されることはない。このため、時刻t23においては、クロック制御回路6は、プロセッサコア1にクロック信号CLを供給し続け、プロセッサコア1は動作状態を維持する。
次に、時刻t24において、モジュールM1、M2が処理を実行中に、プロセッサコア1がモジュールM2にアクセス要求を出し、マルチウェイトステータスレジスタ12aの読み出しを行ったものとする。
すると、モジュールM2のポーリング処理部12cは、ポーリング信号PS2をポーリングセレクタ5に出力するとともに、マルチウェイト選択信号SSA2を“1”に設定する。そして、デコーダ23は、マルチウェイト選択信号SSA2が“1”に設定されると、選択信号AOSLTを“0”に設定する。そして、セレクタ24は、選択信号AOSLTが“0”に設定されると、AND回路22の出力をWAIT信号WAとしてクロック制御回路6に出力する。ここで、ポーリング信号PS1がポーリングセレクタ5に既に出力されているので、ポーリング信号PS2がポーリングセレクタ5に出力されると、AND回路22からの出力は“1”となり、WAIT信号WAがクロック制御回路6に出力される。このため、時刻t24において、クロック制御回路6は、プロセッサコア1に供給されるクロック信号CLを停止し、プロセッサコア1の動作を停止させる。そして、時刻t25において、プロセッサコア1の動作を停止された状態で、モジュールM1、M2が動作を継続中の場合、プロセッサコア1に供給されるクロック信号CLは停止されたままとなり、プロセッサコア1の動作は停止されたままとなる。
次に、時刻t26において、モジュールM2の処理が終了すると、ポーリング処理部12cはポーリング信号PS2の出力を停止する。ここで、各モジュールM1、M2において、マルチウェイトステータスレジスタ11a、12aの読み出しが行われたので、選択信号AOSLTは“0”に設定され、AND回路22の出力がWAIT信号WAとしてクロック制御回路6に出力される。このため、モジュールM2からのポーリング信号PS2の出力が停止されると、AND回路22からの出力は“0”となり、クロック制御回路6からのWAIT信号WAの出力が停止される。このため、時刻t26において、クロック制御回路6は、プロセッサコア1へのクロック信号CLの供給を再開し、プロセッサコア1を動作させる。
次に、時刻t27において、モジュールM1が処理を実行中に、プロセッサコア1がモジュールM1のシングルウェイトステータスレジスタ11bの読み出しを行ったものとする。
すると、モジュールM1のポーリング処理部11cは、シングルウェイト選択信号SSO1を“1”に設定する。そして、デコーダ23は、シングルウェイト選択信号SSO1が“1”に設定されると、選択信号AOSLTを“1”に設定する。そして、セレクタ24は、選択信号AOSLTが“0”に設定されると、OR回路21の出力をWAIT信号WAとしてクロック制御回路6に出力する。ここで、モジュールM1は動作の継続中であり、モジュールM1からのポーリング信号PS1がポーリングセレクタ5に出力されたままになっているので、OR回路21からの出力は“1”となっている。このため、OR回路21の出力がクロック制御回路6に出力されると、WAIT信号WAがクロック制御回路6に出力される。このため、時刻t27において、クロック制御回路6は、プロセッサコア1に供給されるクロック信号CLを停止し、プロセッサコア1の動作を停止させる。
次に、時刻t28において、モジュールM1の処理が終了すると、ポーリング処理部11cはポーリング信号PS1の出力を停止する。そして、モジュールM1からのポーリング信号PS1の出力が停止されると、OR回路21からの出力は“0”となるので、クロック制御回路6からのWAIT信号WAの出力が停止される。このため、時刻t28において、クロック制御回路6は、プロセッサコア1へのクロック信号CLの供給を再開し、プロセッサコア1を動作させる。
図8は、図1のプロセッサ制御装置のポーリング処理方法のその他の例を示すタイミングチャートである。
図8の時刻t31において、図1のプロセッサコア1が動作中にモジュールM1が処理を実行し、時刻t32においても、モジュールM1が動作を継続しているものとする。そして、時刻t33において、モジュールM1が処理を実行中に、プロセッサコア1がモジュールM1にアクセス要求を出し、シングルウェイトステータスレジスタ11bの読み出しを行ったものとする。
すると、モジュールM1のポーリング処理部11cは、ポーリング信号PS1をポーリングセレクタ5に出力するとともに、シングルウェイト選択信号SSO1を“1”に設定する。そして、デコーダ23は、シングルウェイト選択信号SSO1が“1”に設定されると、選択信号AOSLTを“1”に設定する。そして、セレクタ24は、選択信号AOSLTが“1”に設定されると、OR回路21の出力をWAIT信号WAとしてクロック制御回路6に出力する。ここで、ポーリング信号PS1がポーリングセレクタ5に出力されると、OR回路21からの出力は“1”となり、WAIT信号WAがクロック制御回路6に出力される。このため、時刻t33において、クロック制御回路6は、プロセッサコア1に供給されるクロック信号CLを停止し、プロセッサコア1の動作を停止させる。
次に、時刻t34において、モジュールM1の処理が終了すると、ポーリング処理部11cはポーリング信号PS1の出力を停止する。そして、モジュールM1からのポーリング信号PS1の出力が停止されると、OR回路21からの出力は“0”となるので、クロック制御回路6からのWAIT信号WAの出力が停止される。このため、時刻t34において、クロック制御回路6は、プロセッサコア1へのクロック信号CLの供給を再開し、プロセッサコア1を動作させる。
図9は、図1のプロセッサ制御装置のポーリング処理方法のその他の例を示すタイミングチャートである。なお、図9の実施形態では、図1のモジュールM1、M2の他にモジュールM3が別途設けられているものとする。また、モジュールM3においても、モジュールM1、M2と同様に、マルチウェイトステータスレジスタ13a、シングルウェイトステータスレジスタ13bおよびポーリング処理部13cが設けられているものとする。さらに、モジュールM3は、図2のOR回路21およびAND回路22にポーリング信号PS3を出力するとともに、マルチウェイト選択信号SSA3およびシングルウェイト選択信号SSO3をデコーダ23に出力するものとする。
図9の時刻t41において、図1のプロセッサコア1が動作中にモジュールM1が処理を実行しているものとする。そして、時刻t42において、モジュールM2、M3が処理の実行を開始したものとする。そして、時刻t43において、モジュールM1、M2、M3が処理を実行中に、プロセッサコア1がモジュールM1にアクセス要求を出し、マルチウェイトステータスレジスタ11aの読み出しを行ったものとする。
すると、モジュールM1のポーリング処理部11cは、ポーリング信号PS1をポーリングセレクタ5に出力するとともに、マルチウェイト選択信号SSA1を“1”に設定する。そして、デコーダ23は、マルチウェイト選択信号SSA1が“1”に設定されると、選択信号AOSLTを“0”に設定する。そして、セレクタ24は、選択信号AOSLTが“0”に設定されると、AND回路22の出力をWAIT信号WAとしてクロック制御回路6に出力する。ここで、AND回路22では、ポーリング信号PS1がポーリングセレクタ5に出力されても、ポーリング信号PS2、PS3がポーリングセレクタ5に出力されていないので、AND回路22からの出力は“0”となり、WAIT信号WAがクロック制御回路6に出力されることはない。このため、時刻t43においては、クロック制御回路6は、プロセッサコア1にクロック信号CLを供給し続け、プロセッサコア1は動作状態を維持する。
次に、時刻t44において、モジュールM1、M2、M3が処理を実行中に、プロセッサコア1がモジュールM2にアクセス要求を出し、マルチウェイトステータスレジスタ12aの読み出しを行ったものとする。
すると、モジュールM2のポーリング処理部12cは、ポーリング信号PS2をポーリングセレクタ5に出力するとともに、マルチウェイト選択信号SSA2を“1”に設定する。そして、デコーダ23は、マルチウェイト選択信号SSA2が“1”に設定されると、選択信号AOSLTを“0”に設定する。そして、セレクタ24は、選択信号AOSLTが“0”に設定されると、AND回路22の出力をWAIT信号WAとしてクロック制御回路6に出力する。ここで、AND回路22では、ポーリング信号PS2がポーリングセレクタ5に出力されても、ポーリング信号PS3がポーリングセレクタ5に出力されていないので、AND回路22からの出力は“0”となり、WAIT信号WAがクロック制御回路6に出力されることはない。このため、時刻t44においては、クロック制御回路6は、プロセッサコア1にクロック信号CLを供給し続け、プロセッサコア1は動作状態を維持する。
次に、時刻t45において、モジュールM1、M2、M3が処理を実行中に、プロセッサコア1がモジュールM3にアクセス要求を出したものとする。
すると、ポーリング信号PS1、PS2がポーリングセレクタ5に既に出力されているので、ポーリング信号PS3がポーリングセレクタ5に出力されると、AND回路22からの出力は“1”となり、WAIT信号WAがクロック制御回路6に出力される。このため、時刻t45において、クロック制御回路6は、プロセッサコア1に供給されるクロック信号CLを停止し、プロセッサコア1の動作を停止させる。
次に、時刻t46において、モジュールM2、M3の処理が終了すると、ポーリング処理部12c、13cはポーリング信号PS2、PS3の出力をそれぞれ停止する。ここで、各モジュールM1、M2において、マルチウェイトステータスレジスタ11a、12aの読み出しが行われたので、選択信号AOSLTは“0”に設定され、AND回路22の出力がWAIT信号WAとしてクロック制御回路6に出力される。このため、モジュールM2、M3からのポーリング信号PS2、PS3の出力がそれぞれ停止されると、AND回路22からの出力は“0”となり、クロック制御回路6からのWAIT信号WAの出力が停止される。このため、時刻t46において、クロック制御回路6は、プロセッサコア1へのクロック信号CLの供給を再開し、プロセッサコア1を動作させる。
次に、時刻t47において、モジュールM1が処理を実行中に、プロセッサコア1がモジュールM1のシングルウェイトステータスレジスタ11bの読み出しを行ったものとする。
すると、モジュールM1のポーリング処理部11cは、シングルウェイト選択信号SSO1を“1”に設定する。そして、デコーダ23は、シングルウェイト選択信号SSO1が“1”に設定されると、選択信号AOSLTを“1”に設定する。そして、セレクタ24は、選択信号AOSLTが“1”に設定されると、OR回路21の出力をWAIT信号WAとしてクロック制御回路6に出力する。ここで、モジュールM1は動作の継続中であり、モジュールM1からのポーリング信号PS1がポーリングセレクタ5に出力されたままになっているので、OR回路21からの出力は“1”となっている。このため、OR回路21の出力がクロック制御回路6に出力されると、WAIT信号WAがクロック制御回路6に出力される。このため、時刻t47において、クロック制御回路6は、プロセッサコア1に供給されるクロック信号CLを停止し、プロセッサコア1の動作を停止させる。
次に、時刻t48において、モジュールM1の処理が終了すると、ポーリング処理部11cはポーリング信号PS1の出力を停止する。そして、モジュールM1からのポーリング信号PS1の出力が停止されると、OR回路21からの出力は“0”となるので、クロック制御回路6からのWAIT信号WAの出力が停止される。このため、時刻t48において、クロック制御回路6は、プロセッサコア1へのクロック信号CLの供給を再開し、プロセッサコア1を動作させる。
図10は、本発明の第2実施形態に係るプロセッサ制御装置の概略構成を示すブロック図である。
図10おいて、プロセッサコア31はインストラクションキャッシュ33に接続されている。そして、インストラクションキャッシュ33は、メモリ制御回路34を介してメモリにアクセスすることにより、プロセッサコア31に実行させる命令を取得し、プロセッサコア31に出力することができる。そして、プロセッサコア31は、インストラクションキャッシュ33から出力された命令を実行することで、その命令が記述されたプログラムを実行することができる。
また、プロセッサコア31は、バス制御回路32を介して複数のモジュールM11、M12に接続されるとともに、モジュールM11、M12はメモリ制御回路34に接続されている。ここで、各モジュールM11、M12には、セットウェイトステータスレジスタ41a、42a、ウェイトステータスレジスタ41b、42bおよびポーリング処理部41c、42cがそれぞれ設けられている。そして、セットウェイトステータスレジスタ41a、42aは、モジュールM11、M12の処理の実行状態に依存することなく、プロセッサ31の動作を継続させるための指定を各モジュールM11、M12上でそれぞれ行うことができる。また、ウェイトステータスレジスタ41b、42bは、単独のモジュールM11、M12の処理の実行状態に基づいてプロセッサコア31の動作を停止させるための指定を各モジュールM11、M12上でそれぞれ行うことができる。また、ポーリング処理部41c、42cは、プロセッサコア31からのアクセス要求があった時に各モジュールM11、M12がそれぞれ処理を実行中の場合、プロセッサコア31の動作を供給させるためのポーリング信号PS11、PS12をそれぞれ出力することができる。
また、プロセッサ制御装置には、ポーリングセレクタ35およびクロック制御回路36が設けられている。ここで、ポーリングセレクタ35は、セットウェイトステータスレジスタ41a、42aまたはウェイトステータスレジスタ41b、42bの指定に基づいて、ポーリング処理部41c、42cからそれぞれ出力されたポーリング信号PS11、PS12を有効化または無効化し、プロセッサコア31に出力されるクロック信号CL2を停止させるためのWAIT信号WA2をクロック制御回路36に出力したり停止させたりすることができる。また、クロック制御回路36は、プロセッサコア31にクロック信号CK2を供給するとともに、ポーリングセレクタ35から出力されたWAIT信号WA2に基づいて、プロセッサコア31に供給するクロック信号CL2を停止することができる。
図11は、図10のポーリングセレクタ35の概略構成を示すブロック図である。
図11において、ポーリングセレクタ35には、OR回路51、0セット回路52、デコーダ53およびセレクタ54が設けられている。ここで、OR回路51には、各モジュールM11、M12から出力されたポーリング信号PS11、PS12がそれぞれ入力される。そして、OR回路51は、これらのポーリング信号PS11、PS12の論理和演算を行い、その演算結果をセレクタ54に入力する。また、0セット回路22は、WAIT信号WA2を無効にするための信号をセレクタ54に入力する。
また、各モジュールM11、M12からは、セットウェイトステータスレジスタ41a、42aがプロセッサコア31にてそれぞれ読み出されたことを示すセットウェイト選択信号SSA11、SSA12がデコーダ53にそれぞれ出力される。また、各モジュールM11、M12からは、ウェイトステータスレジスタ41b、42bがプロセッサコア31にてそれぞれ読み出されたことを示すウェイト選択信号SSO11、SSO12がデコーダ53にそれぞれ出力される。
そして、デコーダ53は、いずれか少なくとも一方のモジュールM11、M12からセットウェイト選択信号SSA11、SSA12が送られた場合、0セット回路52の出力を選択させる選択信号AOSLT2をセレクタ54に供給する。また、デコーダ53は、いずれか少なくとも一方のモジュールM11、M12からウェイト選択信号SSO11、SSO12が送られた場合、OR回路51の出力を選択させる選択信号AOSLT2をセレクタ54に供給する。
また、セレクタ54は、デコーダ53から出力された選択信号AOSLT2に基づいて、OR回路51または0セット回路52のいずれか一方の出力を選択し、その選択された出力をWAIT信号WA2としてクロック制御回路36に出力する。
なお、図11のデコーダ53は図2のデコーダ23と同様に動作することができる。すなわち、セットウェイトステータスレジスタ41a、42aがプロセッサコア31にてそれぞれ読み出されると、ポーリング処理部41c、42cは、セットウェイト選択信号SSA11、SSA12をそれぞれ“1”に設定する。そして、デコーダ53は、セットウェイト選択信号SSA11、SSA12の少なくともいずれか一方が“1”に設定されると、選択信号AOSLTを“0”に設定する。そして、セレクタ24は、選択信号AOSLTが“0”に設定されると、0セット回路52の出力をWAIT信号WA2としてクロック制御回路36に出力する。
一方、ウェイトステータスレジスタ41b、42bがプロセッサコア31にてそれぞれ読み出されると、ポーリング処理部41c、42cは、ウェイト選択信号SSO11、SSO12をそれぞれ“1”に設定する。そして、デコーダ53は、ウェイト選択信号SSO11、SSO12の少なくともいずれか一方が“1”に設定されると、選択信号AOSLT2を“1”に設定する。そして、セレクタ54は、選択信号AOSLT2が“1”に設定されると、OR回路51の出力をWAIT信号WA2としてクロック制御回路36に出力する。
図12は、図10のセットウェイトステータスレジスタ41a、42aおよびウェイトステータスレジスタ41b、42bの選択方法を示す図である。
図12において、例えば、セットウェイトステータスレジスタ41a、42aおよびウェイトステータスレジスタ41b、42bは、バスのアドレス線に対応させることができる。例えば、プロセッサコア31は、バスのアドレス線の“0x1000014”というアドレスを指定することで、セットウェイトステータスレジスタ41a、42aを選択することができる。また、プロセッサコア31は、バスのアドレス線の“0x1000018”というアドレスを指定することで、ウェイトステータスレジスタ41b、42bを選択することができる。
そして、図10において、プロセッサコア31からのアクセス要求が各モジュールM11、M12に対してそれぞれ行われると、ポーリング処理部41c、42cは、モジュールM11、M12が処理を実行中であるかをそれぞれ判断する。そして、各モジュールM11、M12が処理を実行中でない場合、各モジュールM11、M12が処理を実行中でないことを示す非実行中フラグをプロセッサコア31にそれぞれ読み出させる。そして、プロセッサコア31は、非実行中フラグが各モジュールM11、M12から読み出されると、そのモジュールM11、M12に対してアクセスを行うことができる。
一方、各ポーリング処理部41c、42cは、プロセッサコア31からのアクセス要求が各モジュールM11、M12に対してそれぞれ行われた時に、モジュールM11、M12がそれぞれ処理を実行中であると判断すると、ポーリング信号PS11、PS12をポーリングセレクタ35にそれぞれ出力することができる。ここで、プロセッサコア31は、各モジュールM11、M12にアクセス要求を行う時に、セットウェイトステータスレジスタ41a、42aまたはウェイトステータスレジスタ41b、42bのいずれか一方を選択して読み出しを行うことができる。なお、プロセッサコア31は、今回アクセス要求を行なったモジュールM11、M12の処理の実行結果に依存することなく、次の処理に進める場合、セットウェイトステータスレジスタ41a、42aの読み出しを行うことができる。一方、プロセッサコア31は、今回アクセス要求を行なったモジュールM11、M12の処理の実行結果を待てば、それ以外のモジュールM11、M12の処理の実行結果を待たなくても、次の処理に進める場合、ウェイトステータスレジスタ41b、42bの読み出しを行うことができる。
そして、セットウェイトステータスレジスタ41a、42aがプロセッサコア31にてそれぞれ読み出されると、図3に示すように、ポーリング処理部41c、42cは、セットウェイト選択信号SSA11、SSA12をそれぞれ“1”に設定する。そして、デコーダ53は、セットウェイト選択信号SSA11、SSA12の少なくともいずれか一方が“1”に設定されると、選択信号AOSLT2を“0”に設定する。そして、セレクタ54は、選択信号AOSLT2が“0”に設定されると、0セット回路52の出力をWAIT信号WA2としてクロック制御回路36に出力する。
一方、ウェイトステータスレジスタ41b、42bがプロセッサコア31にてそれぞれ読み出されると、ポーリング処理部41c、42cは、ウェイト選択信号SSO11、SSO12をそれぞれ“1”に設定する。そして、デコーダ53は、ウェイト選択信号SSO11、SSO12の少なくともいずれか一方が“1”に設定されると、選択信号AOSLT2を“1”に設定する。そして、セレクタ54は、選択信号AOSLT2が“1”に設定されると、OR回路51の出力をWAIT信号WA2としてクロック制御回路36に出力する。
そして、WAIT信号WA2がクロック制御回路36に出力されると、クロック制御回路36は、プロセッサコア31に供給するクロック信号CL2を停止する。そして、ポーリング処理部41c、42cは、自分のモジュールM11、M12の処理の実行状態をそれぞれ監視し、自分のモジュールM11、M12の処理の実行が完了すると、ポーリング信号PS11、PS12の出力をそれぞれ停止する。
そして、ポーリングセレクタ35は、セットウェイトステータスレジスタ41a、42aがプロセッサコア31にてそれぞれ読み出された場合、各モジュールM11、M12からのポーリング信号PS11、PS12の出力の有無に関わらず、WAIT信号WA2の出力を停止する。
一方、ポーリングセレクタ35は、ウェイトステータスレジスタ41b、42bがプロセッサコア31にてそれぞれ読み出された場合、そのモジュールM11、M12から出力されたポーリング信号PS11、PS12の出力が停止された時に、WAIT信号WA2の出力を停止する。そして、WAIT信号WA2の出力がポーリングセレクタ35にて停止されると、クロック制御回路36は、プロセッサコア31へのクロック信号CL2の供給を再開する。
これにより、プロセッサコア31がモジュールM11、M12にそれぞれアクセスする際にモジュールM11、M12の動作が終了しているかをプロセッサコア31側で判断することなく、モジュールM11、M12の動作が終了するまでプロセッサコア31の動作を停止させることができる。このため、複数のモジュールM11、M12がバスを介してプロセッサコア31と接続されている場合においても、ポーリング処理に伴う分岐処理の判断や分岐処理の実行をプロセッサコア1側で行う必要がなくなり、プロセッサコア31にかかる負荷を抑制しつつ、プロセッサコア31の省電力化を図ることができる。
また、単独のモジュールM11、M12の処理の実行状態に基づいてプロセッサコア31の動作を停止させるための指定を行うウェイトステータスレジスタ41b、42bと、モジュールM11、M12の処理の実行状態に依存することなく、プロセッサ31の動作を継続させるための指定を行うセットウェイトステータスレジスタ41a、42aとを、各モジュールM11、M12にそれぞれ設けることにより、複数のモジュールM11、M12がバスを介してプロセッサコア31と接続されている場合においても、モジュールM11、M12ごとに独立してプロセッサコア31の動作を停止させたり、プロセッサコア31の動作を継続させたりすることができる。このため、個々のモジュールM11、M12が単独で動作している場合においても、プロセッサコア31の動作が一律に停止されることを防止することが可能となり、プロセッサコア31の稼動効率の劣化を抑制しつつ、プロセッサコア31の省電力化を図ることができる。
図13は、図1のプロセッサ制御装置のポーリング処理方法の一例を示すタイミングチャートである。
図13の時刻t101において、図10のプロセッサコア31が動作中にモジュールM11が処理を実行しているものとする。そして、時刻t102において、モジュールM12が処理の実行を開始したものとする。そして、時刻t103において、モジュールM11、M12が処理を実行中に、プロセッサコア31がモジュールM11にアクセス要求を出し、セットウェイトステータスレジスタ41aの読み出しを行ったものとする。
すると、モジュールM11のポーリング処理部41cは、ポーリング信号PS11をポーリングセレクタ35に出力するとともに、セットウェイト選択信号SSA11を“1”に設定する。そして、デコーダ53は、セットウェイト選択信号SSA11が“1”に設定されると、選択信号AOSLT2を“0”に設定する。そして、セレクタ54は、選択信号AOSLT2が“0”に設定されると、0セット回路52の出力をWAIT信号WA2としてクロック制御回路36に出力する。ここで、0セット回路52からは常に“0”が出力され、WAIT信号WA2がクロック制御回路36に出力されることはない。このため、時刻t103においては、クロック制御回路36は、プロセッサコア31にクロック信号CL2を供給し続け、プロセッサコア31は動作状態を維持する。
次に、時刻t104において、モジュールM11、M12が処理を実行中に、プロセッサコア31がモジュールM12にアクセス要求を出し、ウェイトステータスレジスタ42bの読み出しを行ったものとする。
すると、モジュールM12のポーリング処理部42cは、ポーリング信号PS12をポーリングセレクタ35に出力するとともに、ウェイト選択信号SSO12を“1”に設定する。そして、デコーダ53は、ウェイト選択信号SSO12が“1”に設定されると、選択信号AOSLT2を“1”に設定する。そして、セレクタ54は、選択信号AOSLT2が“1”に設定されると、OR回路51の出力をWAIT信号WA2としてクロック制御回路36に出力する。ここで、ポーリング信号PS12がポーリングセレクタ35に出力されると、OR回路51からの出力は“1”となり、WAIT信号WA2がクロック制御回路36に出力される。このため、時刻t104において、クロック制御回路36は、プロセッサコア31に供給されるクロック信号CL2を停止し、プロセッサコア31の動作を停止させる。
次に、時刻t105において、モジュールM11の処理が終了すると、ポーリング処理部41cはポーリング信号PS11の出力を停止する。ここで、モジュールM11からのポーリング信号PS11の出力が停止されても、モジュールM12からのポーリング信号PS12は未だ出力されているため、OR回路51からの出力は“1”のままである。さらに、ウェイト選択信号SSO12が“1”に設定されているので、OR回路51の出力がWAIT信号WA2としてクロック制御回路36に出力される。このため、モジュールM11の処理が終了しても、クロック制御回路36からプロセッサコア31に供給されるクロック信号CL2は停止されたままとなり、プロセッサコア31の動作は停止されたままとなる。
次に、時刻t106において、モジュールM12の処理が終了すると、ポーリング処理部42cはポーリング信号PS12の出力を停止する。そして、モジュールM12からのポーリング信号PS12の出力が停止されると、OR回路51からの出力は“0”となるので、クロック制御回路36からのWAIT信号WA2の出力が停止される。このため、時刻t106において、クロック制御回路36は、プロセッサコア31へのクロック信号CL2の供給を再開し、プロセッサコア31を動作させる。
図14は、図10のプロセッサ制御装置のポーリング処理方法のその他の例を示すタイミングチャートである。
図14の時刻t111において、図10のプロセッサコア31が動作中にモジュールM11が処理を実行しているものとする。そして、時刻t112において、モジュールM12が処理の実行を開始したものとする。そして、時刻t113において、モジュールM11、M12が処理を実行中に、プロセッサコア31がモジュールM11にアクセス要求を出し、セットウェイトステータスレジスタ41aの読み出しを行ったものとする。
すると、モジュールM11のポーリング処理部41cは、ポーリング信号PS11をポーリングセレクタ35に出力するとともに、セットウェイト選択信号SSA11を“1”に設定する。そして、デコーダ53は、セットウェイト選択信号SSA11が“1”に設定されると、選択信号AOSLT2を“0”に設定する。そして、セレクタ54は、選択信号AOSLT2が“0”に設定されると、0セット回路52の出力をWAIT信号WA2としてクロック制御回路36に出力する。ここで、0セット回路52からは常に“0”が出力され、WAIT信号WA2がクロック制御回路36に出力されることはない。このため、時刻t113においては、クロック制御回路36は、プロセッサコア31にクロック信号CL2を供給し続け、プロセッサコア31は動作状態を維持する。
次に、時刻t114において、モジュールM11、M12が処理を実行中に、プロセッサコア31がモジュールM12にアクセス要求を出し、ウェイトステータスレジスタ42bの読み出しを行ったものとする。
すると、モジュールM12のポーリング処理部42cは、ポーリング信号PS12をポーリングセレクタ35に出力するとともに、ウェイト選択信号SSO12を“1”に設定する。そして、デコーダ53は、ウェイト選択信号SSO12が“1”に設定されると、選択信号AOSLT2を“1”に設定する。そして、セレクタ54は、選択信号AOSLT2が“1”に設定されると、OR回路51の出力をWAIT信号WA2としてクロック制御回路36に出力する。ここで、ポーリング信号PS12がポーリングセレクタ35に出力されると、OR回路51からの出力は“1”となり、WAIT信号WA2がクロック制御回路36に出力される。このため、時刻t114において、クロック制御回路36は、プロセッサコア31に供給されるクロック信号CL2を停止し、プロセッサコア31の動作を停止させる。
次に、時刻t115において、モジュールM12の処理が終了すると、ポーリング処理部42cはポーリング信号PS12の出力を停止する。ここで、モジュールM12からのポーリング信号PS12の出力が停止されても、モジュールM11からのポーリング信号PS11は未だ出力されているため、OR回路51からの出力は“1”のままである。さらに、ウェイト選択信号SSO12が“1”に設定されているので、OR回路51の出力がWAIT信号WA2としてクロック制御回路36に出力される。このため、モジュールM12の処理が終了しても、クロック制御回路36からプロセッサコア31に供給されるクロック信号CL2は停止されたままとなり、プロセッサコア31の動作は停止されたままとなる。
次に、時刻t116において、モジュールM11の処理が終了すると、ポーリング処理部41cはポーリング信号PS11の出力を停止する。そして、モジュールM11からのポーリング信号PS11の出力が停止されると、OR回路51からの出力は“0”となるので、クロック制御回路36からのWAIT信号WA2の出力が停止される。このため、時刻t116において、クロック制御回路36は、プロセッサコア31へのクロック信号CL2の供給を再開し、プロセッサコア31を動作させる。
図15は、図10のプロセッサ制御装置のポーリング処理方法のその他の例を示すタイミングチャートである。
図15の時刻t131において、図1のプロセッサコア31が動作中にモジュールM11が処理の実行を開始したものとする。そして、時刻t132において、モジュールM11が処理を実行中に、プロセッサコア31がモジュールM11にアクセス要求を出し、ウェイトステータスレジスタ41bの読み出しを行ったものとする。
すると、モジュールM11のポーリング処理部41cは、ポーリング信号PS11をポーリングセレクタ35に出力するとともに、ウェイト選択信号SSO11を“1”に設定する。そして、デコーダ53は、ウェイト選択信号SSO11が“1”に設定されると、選択信号AOSLT2を“1”に設定する。そして、セレクタ54は、選択信号AOSLT2が“1”に設定されると、OR回路51の出力をWAIT信号WA2としてクロック制御回路36に出力する。ここで、ポーリング信号PS11がポーリングセレクタ35に出力されると、OR回路51からの出力は“1”となり、WAIT信号WA2がクロック制御回路36に出力される。このため、時刻t132において、クロック制御回路36は、プロセッサコア31に供給されるクロック信号CL2を停止し、プロセッサコア31の動作を停止させる。
次に、時刻t133において、モジュールM11の処理が終了すると、ポーリング処理部41cはポーリング信号PS11の出力を停止する。そして、モジュールM11からのポーリング信号PS11の出力が停止されると、OR回路51からの出力は“0”となるので、クロック制御回路36からのWAIT信号WA2の出力が停止される。このため、時刻t134において、クロック制御回路36は、プロセッサコア31へのクロック信号CL2の供給を再開し、プロセッサコア31を動作させる。
図16は、図10のプロセッサ制御装置のポーリング処理方法のその他の例を示すタイミングチャートである。なお、図16の実施形態では、図10のモジュールM11、M12の他にモジュールM13が別途設けられているものとする。また、モジュールM13においても、モジュールM11、M12と同様に、セットウェイトステータスレジスタ43a、ウェイトステータスレジスタ43bおよびポーリング処理部43cが設けられているものとする。さらに、モジュールM13は、図11のOR回路51および0セット回路52にポーリング信号PS13を出力するとともに、セットウェイト選択信号SSA13およびウェイト選択信号SSO13をデコーダ53に出力するものとする。
図16の時刻t141において、図1のプロセッサコア31が動作中にモジュールM11が処理を実行しているものとする。そして、時刻t142において、モジュールM12、M13が処理の実行を開始したものとする。そして、時刻t143において、モジュールM11、M12、M13が処理を実行中に、プロセッサコア31がモジュールM11にアクセス要求を出し、セットウェイトステータスレジスタ41aの読み出しを行ったものとする。
すると、モジュールM11のポーリング処理部41cは、ポーリング信号PS11をポーリングセレクタ35に出力するとともに、セットウェイト選択信号SSA11を“1”に設定する。そして、デコーダ53は、セットウェイト選択信号SSA11が“1”に設定されると、選択信号AOSLT2を“0”に設定する。そして、セレクタ54は、選択信号AOSLT2が“0”に設定されると、0セット回路52の出力をWAIT信号WA2としてクロック制御回路36に出力する。ここで、0セット回路52からは常に“0”が出力され、WAIT信号WA2がクロック制御回路36に出力されることはない。このため、時刻t143においては、クロック制御回路36は、プロセッサコア31にクロック信号CL2を供給し続け、プロセッサコア31は動作状態を維持する。
次に、時刻t144において、モジュールM11、M12、M13が処理を実行中に、プロセッサコア31がモジュールM12にアクセス要求を出し、セットウェイトステータスレジスタ42aの読み出しを行ったものとする。
すると、モジュールM12のポーリング処理部42cは、ポーリング信号PS12をポーリングセレクタ35に出力するとともに、セットウェイト選択信号SSA12を“1”に設定する。そして、デコーダ53は、セットウェイト選択信号SSA12が“1”に設定されると、選択信号AOSLT2を“0”に設定する。そして、セレクタ54は、選択信号AOSLT2が“0”に設定されると、0セット回路52の出力をWAIT信号WA2としてクロック制御回路36に出力する。ここで、0セット回路52からは常に“0”が出力され、WAIT信号WA2がクロック制御回路36に出力されることはない。このため、時刻t144においては、クロック制御回路36は、プロセッサコア31にクロック信号CL2を供給し続け、プロセッサコア31は動作状態を維持する。
次に、時刻t145において、モジュールM11、M12、M13が処理を実行中に、プロセッサコア31がモジュールM13にアクセス要求を出し、ウェイトステータスレジスタ43bの読み出しを行ったものとする。
すると、モジュールM13のポーリング処理部41cは、ウェイト選択信号SSO13を“1”に設定する。そして、デコーダ53は、ウェイト選択信号SSO13が“1”に設定されると、選択信号AOSLT2を“1”に設定する。そして、セレクタ54は、選択信号AOSLT2が“1”に設定されると、OR回路51の出力をWAIT信号WA2としてクロック制御回路36に出力する。ここで、モジュールM13は動作の継続中であり、モジュールM13からのポーリング信号PS13がポーリングセレクタ35に出力されたままになっているので、OR回路51からの出力は“1”となっている。このため、OR回路51の出力がクロック制御回路36に出力されると、WAIT信号WA2がクロック制御回路36に出力される。このため、時刻t145において、クロック制御回路36は、プロセッサコア31に供給されるクロック信号CL2を停止し、プロセッサコア31の動作を停止させる。
次に、時刻t146において、モジュールM12、M13の処理が終了すると、ポーリング処理部42c、43cはポーリング信号PS12、PS13の出力をそれぞれ停止する。ここで、モジュールM12、M13からのポーリング信号PS12、PS13の出力が停止されても、モジュールM11からのポーリング信号PS11は未だ出力されているため、OR回路51からの出力は“1”のままである。さらに、ウェイト選択信号SSO13が“1”に設定されているので、OR回路51の出力がWAIT信号WA2としてクロック制御回路36に出力される。このため、モジュールM12、M13の処理が終了しても、クロック制御回路36からプロセッサコア31に供給されるクロック信号CL2は停止されたままとなり、プロセッサコア31の動作は停止されたままとなる。
次に、時刻t147において、モジュールM11の処理が終了すると、ポーリング処理部41cはポーリング信号PS11の出力を停止する。そして、モジュールM11からのポーリング信号PS11の出力が停止されると、OR回路51からの出力は“0”となるので、クロック制御回路36からのWAIT信号WA2の出力が停止される。このため、時刻t147において、クロック制御回路36は、プロセッサコア31へのクロック信号CL2の供給を再開し、プロセッサコア31を動作させる。
本発明の第1実施形態に係るプロセッサ制御装置の構成を示すブロック図。 図1のポーリングセレクタ5の概略構成を示すブロック図。 図2のデコーダ23の動作を示す図。 図1のマルチウェイトステータスレジスタ11a、12aおよびシングルウェイトステータスレジスタ11b、12bの選択方法を示す図。 図1のプロセッサ制御装置のポーリング処理方法の一例を示す図。 図1のプロセッサ制御装置のポーリング処理方法のその他の例を示す図。 図1のプロセッサ制御装置のポーリング処理方法のその他の例を示す図。 図1のプロセッサ制御装置のポーリング処理方法のその他の例を示す図。 図1のプロセッサ制御装置のポーリング処理方法のその他の例を示す図。 本発明の第2実施形態に係るプロセッサ制御装置の構成を示すブロック図。 図10のポーリングセレクタ35の概略構成を示すブロック図。 図10のセットウェイトステータスレジスタ41a、42aおよびウェイトステータスレジスタ41b、42bの選択方法を示す図。 図10のプロセッサ制御装置のポーリング処理方法の一例を示す図。 図10のプロセッサ制御装置のポーリング処理方法の他の例を示す図。 図10のプロセッサ制御装置のポーリング処理方法の他の例を示す図。 図10のプロセッサ制御装置のポーリング処理方法の他の例を示す図。
符号の説明
1、31 プロセッサコア、2、32 バス制御回路、3、33 インストラクションキャッシュ、4、34 メモリ制御回路、5、35 ポーリングセレクタ、6、36 クロック制御回路、M1、M2、M11、M12 モジュール、11a、12a マルチウェイトステータスレジスタ、11b、12b シングルウェイトステータスレジスタ、11c、12c、41c、42c ポーリング処理部、21、51 OR回路、22 AND回路、23、53 デコーダ、24、54 セレクタ、41a、42a セットウェイトステータスレジスタ、41b、42b ウェイトステータスレジスタ、52 0セット回路

Claims (8)

  1. 命令を実行するプロセッサと、
    前記プロセッサとバスを介して接続され、前記プロセッサと独立して処理を行うことが可能な複数のモジュールと、
    前記モジュール側にそれぞれ設けられ、前記プロセッサからのアクセス要求があった時の前記モジュールの処理の実行状態に基づいて、前記プロセッサの動作を停止させるポーリング処理部とを備えることを特徴とするプロセッサ制御装置。
  2. 前記プロセッサにクロック信号を供給するクロック制御回路をさらに備え、
    前記ポーリング処理部は、前記プロセッサからのアクセス要求があった時に前記モジュールが処理を実行中の場合、前記プロセッサに供給されるクロック信号を停止させるためのポーリング信号を前記クロック制御回路に出力することを特徴とする請求項1記載のプロセッサ制御装置。
  3. 前記モジュールは、
    単独のモジュールの処理の実行状態に基づいて前記プロセッサの動作を停止させるための指定を行うシングルウェイトステータスレジスタと、
    複数のモジュールの処理の実行状態に基づいて前記プロセッサの動作を停止させるための指定を行うマルチウェイトステータスレジスタとを備えることを特徴とする請求項2記載のプロセッサ制御装置。
  4. 前記シングルウェイトステータスレジスタまたは前記マルチウェイトステータスレジスタの指定に基づいて、前記ポーリング処理部から出力されたポーリング信号を有効化または無効化するポーリングセレクタをさらに備えることを特徴とする請求項3記載のプロセッサ制御装置。
  5. 前記モジュールは、自分のモジュールが処理を実行中に前記シングルウェイトステータスレジスタの読み出しが前記プロセッサにて行われると、前記シングルウェイトステータスレジスタの読み出しが行われたことを示すシングルウェイト選択信号を前記ポーリングセレクタに出力し、
    前記モジュールは、自分のモジュールが処理を実行中に前記マルチウェイトステータスレジスタの読み出しが前記プロセッサにて行われると、前記マルチウェイトステータスレジスタの読み出しが行われたことを示すマルチウェイト選択信号を前記ポーリングセレクタに出力し、
    前記ポーリングセレクタは、前記モジュールから前記シングルウェイト選択信号が送られた場合、単独のモジュールから出力されたポーリング信号に基づいて、前記クロック信号を停止させるためのWAIT信号を前記クロック制御回路に出力し、
    前記ポーリングセレクタは、前記モジュールから前記マルチウェイト選択信号が送られた場合、複数のモジュールから出力されたポーリング信号に基づいて、前記クロック信号を停止させるためのWAIT信号を前記クロック制御回路に出力することを特徴とする請求項4記載のプロセッサ制御装置。
  6. 前記モジュールは、
    単独のモジュールの処理の実行状態に基づいて前記プロセッサの動作を停止させるための指定を行うウェイトステータスレジスタと、
    前記モジュールの処理の実行状態に依存することなく、前記プロセッサの動作を継続させるための指定を行うセットウェイトステータスレジスタとを備えることを特徴とする請求項2記載のプロセッサ制御装置。
  7. 前記ウェイトステータスレジスタまたは前記セットウェイトステータスレジスタの指定に基づいて、前記ポーリング処理部から出力されたポーリング信号を有効化または無効化するポーリングセレクタをさらに備えることを特徴とする請求項6記載のプロセッサ制御装置。
  8. 前記モジュールは、自分のモジュールが処理を実行中に前記ウェイトステータスレジスタの読み出しが前記プロセッサにて行われると、前記ウェイトステータスレジスタの読み出しが行われたことを示すウェイト選択信号を前記ポーリングセレクタに出力し、
    前記モジュールは、自分のモジュールが処理を実行中に前記セットウェイトステータスレジスタの読み出しが前記プロセッサにて行われると、前記セットウェイトステータスレジスタの読み出しが行われたことを示すセットウェイト選択信号を前記ポーリングセレクタに出力し、
    前記ポーリングセレクタは、前記モジュールから前記ウェイト選択信号が送られた場合、単独のモジュールから出力されたポーリング信号に基づいて、前記クロック信号を停止させるためのWAIT信号を前記クロック制御回路に出力し、
    前記ポーリングセレクタは、前記モジュールから前記セットウェイト選択信号が送られた場合、前記モジュールの処理の実行状態に依存することなく、前記クロック信号を停止させるためのWAIT信号が前記クロック制御回路に出力されないようにすることを特徴とする請求項7記載のプロセッサ制御装置。
JP2005134991A 2005-03-15 2005-05-06 プロセッサ制御装置 Expired - Fee Related JP3870970B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005134991A JP3870970B2 (ja) 2005-03-15 2005-05-06 プロセッサ制御装置
US11/375,670 US7356630B2 (en) 2005-03-15 2006-03-14 Processor control device for stopping processor operation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005072429 2005-03-15
JP2005134991A JP3870970B2 (ja) 2005-03-15 2005-05-06 プロセッサ制御装置

Publications (2)

Publication Number Publication Date
JP2006293950A true JP2006293950A (ja) 2006-10-26
JP3870970B2 JP3870970B2 (ja) 2007-01-24

Family

ID=37011707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005134991A Expired - Fee Related JP3870970B2 (ja) 2005-03-15 2005-05-06 プロセッサ制御装置

Country Status (2)

Country Link
US (1) US7356630B2 (ja)
JP (1) JP3870970B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3870970B2 (ja) * 2005-03-15 2007-01-24 セイコーエプソン株式会社 プロセッサ制御装置
JP4222370B2 (ja) * 2006-01-11 2009-02-12 セイコーエプソン株式会社 デバッグ支援装置及びデバッグ処理方法をコンピュータに実行させるためのプログラム
US20080155296A1 (en) * 2006-12-22 2008-06-26 Fujitsu Limited Apparatus for controlling clock signals to processor circuit
JP5321691B2 (ja) * 2009-11-16 2013-10-23 富士通株式会社 並列計算装置、並列計算方法、および並列計算プログラム
US11940855B2 (en) * 2019-10-14 2024-03-26 Intel Corporation Apparatus and method for dynamic reallocation of processor power by throttling processor to allow an external device to operate

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4015243A (en) * 1975-06-02 1977-03-29 Kurpanek Horst G Multi-processing computer system
US4851987A (en) * 1986-01-17 1989-07-25 International Business Machines Corporation System for reducing processor power consumption by stopping processor clock supply if a desired event does not occur
JP2988781B2 (ja) * 1992-05-22 1999-12-13 シャープ株式会社 コンピュータシステム用電力制御装置
JPH0883133A (ja) 1994-09-12 1996-03-26 Toshiba Corp コンピュータシステム及びそのクロック制御方法
US5555413A (en) * 1995-02-17 1996-09-10 International Business Machines Corporation Computer system and method with integrated level and edge interrupt requests at the same interrupt priority
US6324599B1 (en) * 1999-01-11 2001-11-27 Oak Technology Computer system and method for tracking DMA transferred data within a read-ahead local buffer without interrupting the host processor
US6668287B1 (en) * 1999-12-15 2003-12-23 Transmeta Corporation Software direct memory access
US6985980B1 (en) * 2000-11-03 2006-01-10 Xilinx, Inc. Diagnostic scheme for programmable logic in a system on a chip
JP3905703B2 (ja) * 2000-11-29 2007-04-18 株式会社ルネサステクノロジ データプロセッサ及びデータ処理システム
GB2370131C (en) * 2000-12-12 2006-09-06 Advanced Risc Mach Ltd Exclusive access control to a processing resource
US6993674B2 (en) 2001-12-27 2006-01-31 Pacific Design, Inc. System LSI architecture and method for controlling the clock of a data processing system through the use of instructions
JP2004199630A (ja) 2001-12-27 2004-07-15 Pacific Design Kk データ処理装置
JP3991999B2 (ja) 2004-02-13 2007-10-17 セイコーエプソン株式会社 中央処理ユニット及びプロセッサ制御方法
JP4107278B2 (ja) 2003-11-07 2008-06-25 セイコーエプソン株式会社 プロセッサ制御回路および情報処理装置
JP3870970B2 (ja) * 2005-03-15 2007-01-24 セイコーエプソン株式会社 プロセッサ制御装置

Also Published As

Publication number Publication date
JP3870970B2 (ja) 2007-01-24
US7356630B2 (en) 2008-04-08
US20060212630A1 (en) 2006-09-21

Similar Documents

Publication Publication Date Title
JPWO2008087779A1 (ja) アレイ型プロセッサおよびデータ処理システム
JP6161301B2 (ja) 割り込みスプレッド方法、割り込み要求信号スプレッダ回路、及びそれを備えるシステムオンチップ
US7724984B2 (en) Image processing apparatus
JP2007133456A (ja) 半導体装置
JP3870970B2 (ja) プロセッサ制御装置
US7822952B2 (en) Context switching device
JP4325685B2 (ja) メモリを制御するメモリコントローラ、メモリモジュール、メモリの制御方法、および、コンピュータ。
JP6151465B1 (ja) プロセッサコアの電力モードを制御するためのレイテンシベースの電力モードユニット、ならびに関連する方法およびシステム
JP2008165746A (ja) アクセラレータ、情報処理装置及び情報処理方法
JP2005250650A (ja) マルチレイヤシステム及びクロック制御方法
JP2014038652A (ja) 通信装置及びその制御方法、プログラム
JP2013161484A (ja) 再構成可能コンピューティング装置、その第1メモリ制御器及び第2メモリ制御器、並びにそのデバッギング用のトレースデータを処理する方法
JP2008102599A (ja) プロセッサ
JP4869301B2 (ja) 画像処理装置
JP2005346513A (ja) 半導体装置
JP2007164250A (ja) アクセス制御回路及び情報処理装置
JP5390967B2 (ja) プロセッサシステム及びその制御方法
JP4107278B2 (ja) プロセッサ制御回路および情報処理装置
JP2011233006A (ja) 電子回路、画像形成装置およびddr−sdramの初期化方法
JP2005063351A (ja) データ転送装置およびデータ転送方法
JP2006285719A (ja) 情報処理装置および情報処理方法
JPWO2007004323A1 (ja) 情報処理装置
JP2011034324A (ja) メモリシステム
JP2003228546A (ja) ダイレクト・メモリ・アクセス制御装置
JP2005228103A (ja) 中央処理ユニット及びプロセッサ制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060904

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061009

R150 Certificate of patent or registration of utility model

Ref document number: 3870970

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101027

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101027

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111027

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121027

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121027

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131027

Year of fee payment: 7

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees