JP7316902B2 - 情報処理装置、その制御方法、及びプログラム - Google Patents

情報処理装置、その制御方法、及びプログラム Download PDF

Info

Publication number
JP7316902B2
JP7316902B2 JP2019189652A JP2019189652A JP7316902B2 JP 7316902 B2 JP7316902 B2 JP 7316902B2 JP 2019189652 A JP2019189652 A JP 2019189652A JP 2019189652 A JP2019189652 A JP 2019189652A JP 7316902 B2 JP7316902 B2 JP 7316902B2
Authority
JP
Japan
Prior art keywords
control means
clock
circuit
verification process
power
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
JP2019189652A
Other languages
English (en)
Other versions
JP2021064278A (ja
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 JP2019189652A priority Critical patent/JP7316902B2/ja
Priority to US17/067,224 priority patent/US11698668B2/en
Publication of JP2021064278A publication Critical patent/JP2021064278A/ja
Application granted granted Critical
Publication of JP7316902B2 publication Critical patent/JP7316902B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/81Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer by operating on the power supply, e.g. enabling or disabling power-on, sleep or resume operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Stored Programmes (AREA)
  • Microcomputers (AREA)

Description

本発明は、ASICやCPU等のチップの起動時にブートデータの正当性を検証する情報処理装置、その制御方法、及びプログラムに関する。
近年、中央演算処理装置(以降CPUとする)のブートアップに対するセキュリティが重要視されてきている。そこで、電源投入の直後に、サブCPUの制御により、システムのメインCPUのブートデータが改竄又は経年劣化によるブートデータが変化していないことのチェックを行ってから、メインCPUのブートアップを行っている。これらの改竄又は経年劣化による変化の検証を総称して、以下では正当性の検証処理と称する。当該検証処理は、基本的には電源投入時の処理であるため、ユーザの利便性を考えると、できるだけ早く完了させ、電源立ち上げ時間を短縮することが望ましい。
特許文献1には、検証が不要なデータに関して改竄検知を行わないことで、改竄検知処理を短時間で完了させる方法が提案されている。
特願2015-151988号公報
しかしながら、上記従来技術には以下に記載する課題がある。例えば、上記従来技術では、正当性の検証処理(改竄検知処理)を行うプログラムをBIOS等の上流のソフトだけでなく、アプリケーション等の下流のプログラムに関してまで、実施する動きがあり、検証処理を実施するデータ量も多くなっていく傾向にある。それに対して、検証処理時の動作時のクロック周波数を高くして、検証処理を短時間で完了させる等の方法も考えられている。しかし、そのチップの許容電力を超えない範疇で、できる限り動作時のクロック周波数を高くするには、検証処理に使用しない回路に関しては、できる限り消費電力を低減する必要がある。
使用しない回路での消費電力を低減する方法として、電源遮断により電力の供給を行わないことが考えられるが、一般的な電源遮断の制御用回路では、制御可能な電源ブロック数に限りがある。つまり、各機能モジュール(回路)ごとの細かな粒度での電源制御はできない状況にある。
本発明は、上述の問題の少なくとも一つに鑑みて成されたものであり、検証処理に使用しない回路などの細かい粒度でクロックの停止制御を行うことで、検証処理の消費電力を低減する仕組みを提供する。
本発明は、例えば、情報処理装置であって、ブートデータを記憶する記憶手段と、それぞれが1以上の回路を有する複数のブロックに電源を供給する電源制御手段と、発振器から各ブロックの各回路へのクロックの供給を制御するクロック制御手段と、前記記憶手段に記憶されたブートデータの正当性を検証する検証処理を実行する第1制御手段と、前記第1制御手段によって正当性の検証が成功したブートデータを用いて起動し、前記情報処理装置を制御する第2制御手段とを備え、前記第1制御手段は、前記電源制御手段によって、前記検証処理において少なくとも1つの回路が使用されるブロックへ電源を供給させ、前記検証処理において全ての回路が使用されないブロックへの電源供給を遮断させ、前記クロック制御手段によって、前記検証処理において使用される回路へクロックを供給させ、前記検証処理において使用されない回路へのクロックの供給を停止させ、前記検証処理を実行することを特徴とする。
本発明によれば、検証処理に使用しない回路などの細かい粒度でクロックの停止制御を行うことで、検証処理の消費電力を低減することができる。
一実施形態に係るデータ処理システムを表したブロック図。 一実施形態に係る電源制御部122内の構成と電源制御の詳細な構成を表したブロック図。 一実施形態に係るデータ処理システムの基本的な動作フローを表した図である。 一実施形態に係る検証処理時の内部動作を示したブロック図。 一実施形態に係る検証処理時の詳細フローチャート。 一実施形態に係る通常動作時のASIC100の消費電力を示す図。 一実施形態に係る検証処理時に未使用の回路に対して電源の遮断制御を行った場合のASIC100の消費電力を示す図。 一実施形態に係る検証処理時に未使用の回路に対しての電源遮断制御、及び使用する回路に対しての周波数アップを行った場合のASIC100の消費電力を示す図。 一実施形態に係る検証処理時に未使用の回路に対して電源の遮断制御、及びクロックの停止制御を行った場合のASIC100の消費電力を示す図。 一実施形態に係る検証処理時に未使用の回路に対しての電源遮断制御、及びクロックの停止制御を行い、且つ使用する回路に対しての周波数アップを行った場合のASIC100の消費電力を示す図。
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
<データ処理システムの構成>
以下では、本発明の一実施形態について説明する。まず、図1を参照して、本実施形態におけるデータ処理システムの構成例を説明する。本データ処理システムは、電源投入時やスリープ復帰時などに、メインCPUのブートデータの正当性の検証処理を行った上で、データ処理動作を実行することを特徴としたシステムとなる。本実施形態では、データ処理システムの一例として一つの情報処理装置を例に説明する。しかし、本発明を限定する意図はなく、複数の装置を含むシステムとして構成してもよい。
100はデータ処理システムにおける動作の中心となるASICである。101は、本データ処理システムのメイン制御を行うメインCPU(第2制御手段)である。102は、本データ処理システムにおいて、メインCPU101の補助的な制御を行うサブCPU(第1制御手段)である。107は、メインCPU101のブートアップを行う際のプログラムが格納されているメインCPU用のブートデータ格納部である。本実施形態においてはメモリデバイスを使用していることとする。108は、サブCPU102のブートアップを行う際のプログラムが格納されているサブCPU用のブートデータ格納部である。本実施形態においてはメモリデバイスを使用していることとする。
本実施形態において、サブCPU102は、電源投入時にメインCPU101に先行してブートアップされ、サブCPU用のブートデータ格納部108に格納されているプログラムに従って動作を行う。当該動作では、メインCPU用のブートデータ格納部107に格納されているブートデータが改竄又は経年劣化によって変化していないかどうかの正当性の検証動作が行われる。以下では、正当性の検証動作により、メインCPU101のブートアップデータに問題がなければ、メインCPU用のブートデータ格納部107内のプログラムを使用してメインCPU101のブートアップを行う。
本システムでは、ASIC100に接続されているメモリとして、メインCPU用のブートデータ格納部107、サブCPU用のブートデータ格納部108以外にも、メモリ109が接続されている。メモリ109に関しては、検証処理時にそのメモリデバイスは使用しないこととする。
103は、IO制御部であり、ASIC100に接続されているメモリや各種I/Fとのデータの受け渡しを行うI/Fモジュールが下位モジュールとして含まれている部分となる。104は、IO制御部103内のI/F用モジュールであり、メインCPU用のブートデータ格納部107とのデータ受け渡しのI/FとなるメモリI/F・1である。105は、IO制御部103内のI/F用モジュールであり、サブCPU用のブートデータ格納部108とのデータ受け渡しのI/FとなるメモリI/F・2である。106は、IO制御部103内のI/F用モジュールであり、メモリ109とのデータ受け渡しのI/FとなるメモリI/F・3である。
110は、本システムにおいて、取り扱うデータに対して所定の処理を行うための第1のデータ処理回路となるデータ処理部・1となる。データ処理部110に関しては、検証処理時にその回路を使用しないこととする。111は、本システムにおいて、取り扱うデータに対して所定の処理を行うための第2のデータ処理回路となるデータ処理部・2となる。データ処理部111の内部回路は、サブモジュール単位としてモジュール112、モジュール113と分けられている。モジュール112に関しては、検証処理時にその回路を使用して、ASIC100に接続されているLEDへと制御信号の出力を行う。モジュール113に関しては、検証処理時にその回路を使用しないこととする。
123は、LEDであり、モジュール112からのLED制御信号により点灯、消灯が制御される。本実施形態においては、正当性の検証処理の結果、メインCPU101用のブートデータが変化していないと判定された場合には、LED123はデフォルト状態の消灯のままの状態に維持される。一方、ブートデータが変化していたと判定された場合には、それをユーザに報知するためにLED123は消灯状態から点灯状態に変更される。
115は、ASIC100の動作を行うためのクロック(CLK-OSC)を供給するための発振器である。本実施形態においては10MHzのクロックを供給することとする。116は、ASIC100の内部動作を行うための各回路へ供給するクロックを生成するクロック生成部である。クロック生成部116には、PLL(phase-locked loop)、分周回路、及びクロックゲート回路が少なくとも含まれる。PLLは、発振器115から入力されたクロックから高速クロックを生成する。分周回路は、PLLによって生成された高速クロックを元に、各回路で必要とする周波数のクロックを生成する。クロックゲート回路(以下、CGと略記する。)は、各回路に対してクロックの供給及び停止の制御を行う回路である。クロック生成部116から出力されるクロックに関して、CLK-Aはデータ処理部110に、CLK-Bはデータ処理部111内のモジュール112に供給される。また、CLK-Cはデータ処理部111内のモジュール113に、CLK-DはIO制御部103内のメモリI/F104に供給される。CLK-EはIO制御部103内のメモリI/F105に、CLK-FはIO制御部103内のメモリI/F106に、CLK-GはメインCPU101に、CLK-HはサブCPU102に、CLK-Iは後に説明を行うクロック制御部114に供給される。
以下に、クロック生成部116の内部構成に関しての説明を行う。117は、ASIC100の内部動作を行うための高速クロック(CLK-PLL)を、発振器115からの入力クロック(CLK-OSC)から生成するためのPLLである。本実施形態の通常動作時においては、入力クロックである10MHzのクロックの120倍の1200MHzのクロックを生成し、出力することとする。118は、周波数分周部であり、PLL117から出力された高速クロック(CLK-PLL)の入力を行い、ASIC100内の各回路の動作周波数に併せた周波数のクロックを分周回路・Aから分周回路・Iによって生成する。本実施形態において、本ASIC100が通常動作を行う際の、周波数分周部118により生成されるクロックの周波数に関しては、CLK-Aは12分周で100MHzとし、CLK-Bは12分周で100MHzとする。また、CLK-Cは24分周で50MHzとし、CLK-Dは24分周で50MHzとし、CLK-Eは24分周で50MHzとし、CLK-Fは24分周で50MHzとする。さらに、CLK-Gは8分周で150MHzとし、CLK-Hは12分周で100MHzとし、CLK-Iは12分周で100MHzとする。
119は、クロック出力制御部であり、周波数分周部118から出力された各処理回路の動作周波数に分周されたクロックの入力を行う。また、クロック出力制御部119は、ASIC100内の動作モード等、内部動作状態によって、クロックの供給及び停止の制御を、CG回路・AからCG回路・Iによって行う。本実施形態において、本ASIC100が通常動作を行う際、クロック出力制御部119のCG回路は全てのクロックに関して、クロックの供給を行う状態とする。
114は、クロック制御部であり、内部にはレジスタを持ち、メインCPU101又はサブCPU102からのアクセスにより、レジスタに設定された値を、クロック生成部116内の各種回路の制御用信号として出力を行う。クロック生成部116内のPLL117に対しては、PLL制御信号の出力を行うこととする。図を用いた詳細な記載は行っていないが、PLL制御信号に関しては、逓倍数の設定を行うために複数ビットからなるPLL制御信号の出力を行うこととする。また、周波数分周部118内の各分周回路に対しては、それぞれのクロック生成を行うための分周比の設定となる分周回路制御信号の出力を行うこととする。分周回路制御信号に関しては、各分周回路ごとに複数ビットの信号が出力されることとなる。また、クロック出力制御部119内の各CG回路に対しては、それぞれのクロックの供給、停止の制御を行うためのクロック出力制御信号の出力を行うこととする。クロック出力制御信号に関しては、各CG回路ごとに1ビットの信号が出力されることとなる。
120は、DATAバスであり、先に説明を行ってきた各種CPUや、データ処理部、各種制御部間のデータの受け渡しを担うデータバスとなる。121は、リセット制御部であり、図1において詳細な接続は省略しているが、ASIC100内の各種CPU、及びデータ処理部や各種制御部のリセット信号を供給している。リセット制御部121は、電源投入後、内部回路によって組まれたハードウェアシーケンスを元に、サブCPU102のリセットの解除を行う。さらに、リセット制御部121は、サブCPU102やメインCPU101の制御によりASIC100内の各種CPU、及びデータ処理部や各種制御部のリセット制御を行う。リセット制御部121は、電源投入時に他の各種CPUや他の回路が動く前に、各種リセットの制御を行う必要があるため、発振器から出力されるクロック(CLK-OSC)により動作する構成をとる。
電源制御部122は、図1において詳細な図示はしていないが、ASIC100の電源端子から、ASIC100内の回路で使用する電源の入力を行う。さらに、電源制御部122は、メインCPU101又はサブCPU102による制御で、ASIC100内の各回路に対する電源の供給・遮断の制御を行う。但し、一般的なものと同様に、電源制御部122には電源の供給・遮断の制御を行うブロック数に限りがあり、多くの処理モジュールに対して、細かい電源制御が可能な回路ではない。本実施形態に係る電源制御部122では、データ処理部110、データ処理部111、IO制御部103、メインCPU101、及びサブCPU102の5ブロックの電源制御が可能なものとする。また、電源制御部122の動作用クロックに関しては、発振器115から入力されるCLK-OSCを使用することとする。
<電源制御部>
次に、図2を参照して、本実施形態に係る電源制御部122の内部の構成を説明する。ASIC100には内部の回路を動作させるための電源として、電源供給回路201から1.0Vの電源の供給を行うこととする。供給された電源は電源制御部122へ入力される。
電源制御部122内の構成は、電源制御用レジスタ部202と、複数の電源供給スイッチ(以下、SWと略記する。)から構成されている。電源供給SWは、電源の供給・遮断の制御を行うブロックの数だけ用意されており、本実施形態においては、5つの電源供給SWを持つこととなる。データ処理部110の電源制御は、電源供給SW-1(203)にて、データ処理部111の電源制御は、電源供給SW-2(204)にて、IO制御部103の電源制御は、電源供給SW-3(205)にて、それぞれ行われる。メインCPU101の電源制御は、電源供給SW-4(206)にて、サブCPU102の電源制御は、電源供給SW-5(207)にて、それぞれ行われる。つまり、モジュール112、及びモジュール113に関しては、データ処理部111として1つの電源供給SW-2(204)にて電源の制御が実施される。メモリI/F104、メモリI/F105、及びメモリI/F106に関しても1つの電源供給SW-3(205)にて電源の制御が実施される。
図2において詳細な図示は行っていないが、各電源供給SWに対して、電源制御用レジスタ部202からは各電源供給SWそれぞれに、電源のON・OFFの操作を行う、1ビットずつの電源SW制御信号が接続されている。電源制御用レジスタ部202は、DATAバス(120)に接続されており、内部には各電源SW制御用信号の出力を制御するためのレジスタを持っている。レジスタはメインCPU101又はサブCPU102からのアクセスにより、値を切り替えることで、電源供給及び電源遮断の制御を行うこととなる。
<基本的な動作フロー>
次に、図3を参照して、本実施形態における本システムの基本的な動作フローについて説明する。
S301で、本システムは電源投入によって、ASIC100の起動が開始される。ASIC100起動時にはまず、ブートデータ(プログラムコード等を含む)の正当性の検証動作モードとなる。S302で、サブCPU102、メインCPU用のブートデータ格納部107内に格納されているメインCPU101のブートデータが変化しているか否かの判断を行う正当性の検証処理を実行する。
S303で、サブCPU102は、正当性の検証処理の結果に基づき、メインCPU101のブートデータが変化しているか否かを判断する。変化していると判断した(検証処理が失敗した)場合(S303のYesの場合)には、本システムは使用できないとの通知をLED123を点灯することにより行い、本システムの動作を停止する。なお、検証処理の詳細については省略するが、公開鍵暗号方式を応用した電子署名技術を使用して確認を行うものであり、信頼のある署名データとの比較により検証が行われる。後述する図5の処理においても同様である。
一方、検証処理の結果、メインCPU101のブートデータが変化していないと判断した(検証処理が成功)場合(S303のNoの場合)はS305に進む。S305で、サブCPU102は、サブCPU102による正当性の検証動作モードから、メインCPU101のコントロールによる通常動作モードへ移行するための処理を実行する。その後、S306で、メインCPU101の制御による、通常動作モードへ移行し、本フローチャートを終了する。
<検証処理時の内部動作>
次に、図4を参照して、本システムの正当性の検証処理時の内部動作状態に関して詳細に説明する。検証処理時に使用しない回路は、データ処理部110、データ処理部111内のモジュール113、IO制御部103内のメモリI/F106、メインCPU101となる。データ処理部111内のモジュール112に関しては、検証処理の結果をASIC100に接続されたLED123にてユーザに知らせるためのLED制御信号を生成するために、検証処理時に動作させる必要がある。メモリI/F104に関しては、検証処理を行う際に、ASIC100に接続されたメインCPU用のブートデータ格納部107から、メインCPU用のブートデータを入力するために、検証処理時に動作させる必要がある。メモリI/F105に関しては、検証処理を行う際に、ASIC100に接続されたサブCPU用のブートデータ格納部108から、サブCPU用のブートデータを入力するために、検証処理時に動作させる必要がある。サブCPU102に関しては、検証処理を行う際に本ASIC100の各処理部の制御を行うこととなるため、検証処理時に動作させる必要がある。
クロック制御部114、クロック生成部116、リセット制御部121、及び電源制御部122に関しては、起動時から検証処理時に至るまで、各回路への電源、クロック、リセットの供給、及び制御を行うため、電源及びクロック供給の停止は行わないこととなる。ここでの検証処理時には、検証処理に使用しない回路に対する電源の遮断及びクロック供給停止の両方の省電力対応を行うことにより、より細かい粒度での省電力制御を行う。なお、本発明を限定する意図はなく、システム構成(特に、回路構成)に合わせて、電源の遮断及びクロック供給停止の少なくとも一方の省電力対応を行うように制御することが望ましい。
(電源遮断)
まず、使用しない回路に対する電源遮断に関しての説明を行う。上述したように、一般的な電源制御部122には電源の供給・遮断の制御を行うブロック数に限りがある。本実施形態に係る電源制御部122では、データ処理部110、データ処理部111、IO制御部103、メインCPU101、及びサブCPU102の5ブロックの電源制御が可能なものとなっている。
本実施形態において、検証処理に使用しない回路は、データ処理部110、データ処理部111内のモジュール113、IO制御部103内のメモリI/F106、メインCPU101である。このうち、電源の遮断が実施可能なブロックは、データ処理部110と、メインCPU101の2か所のみとなる。データ処理部111のモジュール113に関しては検証処理には使用しない回路となるが、モジュール112は使用することとなっているため、電源を遮断することができない。また、IO制御部103に関しても、メモリI/F106に関しては検証処理には使用しない回路となるが、メモリI/F104とメモリI/F105は使用することとなっているため、電源を遮断することができない。
(クロックの供給停止)
次に、クロックの供給停止に関しての説明を行う。クロックの供給停止の対応は、検証処理に使用しないデータ処理部110、データ処理部111内のモジュール113、IO制御部103内のメモリI/F106、メインCPU101の全てに対して行う。データ処理部110と、メインCPU101に関しては、電源の遮断が行われているため、それぞれの回路内の消費電力はゼロということとなる。しかし、クロック生成部116からのクロックの出力を停止することで、クロック生成部116からデータ処理部110と、メインCPU101までのクロックラインに関して、途中のバッファ等の論理回路の駆動が行われないこととなる。そのため、クロックを停止した方が、微少ながらも消費電力は少なくすることができる。
以上のように検証処理時に使用しない回路のブロックに対して電源の供給の停止を行うこと、また、電源の停止ができないブロック内の検証処理に使用しない回路に対して、クロックを停止する。これにより、ASIC100の消費電力を通常動作時の消費電力より低くすることが可能となる。
<本実施形態による効果>
図6乃至図10を参照して、本実施形態による具体的な効果の例について説明する。本実施形態に係る情報処理装置(データ処理システム)は、当該装置の起動時において、ブートコードの生成を検知する。その際、情報処理装置は、正当性の検証処理において処理を実行しないブロックに対して、省電力制御として、電源遮断制御及びクロックゲート制御の少なくとも1つを実行する。さらに、本情報処理装置は、省電力制御で余った電力を正当性の検証処理を実行する処理ブロックへの動作クロックの周波数を高くすることにより、当該検証処理を高速に行う。これらの制御を段階的に適用した場合の周波数や消費電力についての検証結果について以下では説明する。
まず、図6を参照して、ASIC100の通常動作時における消費電力の合計の算出値について説明する。図6では、各処理モジュールと、そのモジュールが使用するクロックの種類、その周波数、及び各処理モジュールの回路規模を示したうえで、周波数と回路規模からの演算により各モジュールの消費電力を算出している。さらに、それらの合計をASIC100全体の消費電力として算出している。ここでは、1Kゲートの回路が、10MHzの周波数で動作する時に、1mWの電力を消費するとして、消費電力の算出を行うこととする。また、本実施形態においては、ASIC100のパッケージの許容電力が8100mWとされていることとする。図6より、通常動作時のASIC100全体の消費電力の合計は8053mWとなり、通常動作時の消費電力は許容電力を下回っていることとなる。
次に、図7を参照して、本実施形態における検証処理時に電源遮断のみ実施した時のASIC100の消費電力について説明する。図7においては、各モジュールの消費電力に関して、検証処理に使用する回路での消費電力と、検証処理に使用しない回路での消費に欄を分けて記載している。この場合、電源遮断が実施されているデータ処理部110、及びメインCPU101に関しては、消費される電力はゼロとなる。
また、データの処理は行っていないが、電源が供給され、クロックが供給されている状態となるデータ処理部111内のモジュール113、及びIO制御部103内のメモリI/F106に関しては、通常動作時の消費電力より低くなる。本実施形態においては、上記場合は、通常のデータ処理を行っている状態の2分の1の消費電力となる。よって、データ処理部111内のモジュール113での消費電力は1250mW、IO制御部103内のメモリI/F106での消費電力は125mWとなる。それにより、ASIC100全体の消費電力は2977mWまで下がることとなる。
以上のように、正当性検知時に使用しない回路に対して、電源の遮断を行うことで、余分な電力の削減を行うことが可能となる。それにより、ASIC100の許容消費電力を越えない範疇であれば、検証処理を行う回路の動作クロックの周波数を高くすることが可能となる。
図8は、検証処理時のASIC100の動作において、正当性検知時に使用しない回路に対して、電源の遮断を行うことで、余分な電力の削減を行い、その分、検証処理を行う回路の動作クロックの周波数を高くして動作させた場合の消費電力を示す。
上述したように、本実施形態においては、ASIC100のパッケージの許容電力が8100mWとされている。よって、パッケージの許容電力である8100mWを越えない範疇であれば、正当性検知時に使用する回路の周波数を高くして動作させてもよいこととなる。ここでは、モジュール112で使用するCLK-B、IO制御部103内のメモリI/F104で使用するCLK-D、IO制御部103内のメモリI/F105で使用するCLK-E、サブCPU102で使用するCLK-Hの周波数を4倍に上げて動作させる。つまり、CLK-Bは100MHzから400MHzに、CLK-Dは50MHzから200MHzに、CLK-Eは50MHzから200MHzに、CLK-Hは100MHzから400MHzへと、周波数を上げて動作させることとする。この場合、クロック制御部114にて使用するCLK-Iに関しては、レジスタ設定によるクロック生成部116の制御となるため、高速動作の必要は無いものとして、通常動作時の周波数のままで使用することとする。
上述のような各クロックの周波数アップにより、データ処理部111内のモジュール112での消費電力は2000mW、IO制御部103内のメモリI/F104での消費電力は100mWと、それぞれ高くなる。さらに、IO制御部103内のメモリI/F105での消費電力は100mW、サブCPU102での消費電力は4000mWと、それぞれ高くなる。しかし、ASIC100全体の消費電力の合計は7627mWとなり、パッケージの許容電力である8100mWを下回っていることとなり、問題なく使用可能となる。
一方、正当性検知に使用する回路の動作周波数を5倍に上げて動作させた場合に関しては、表などでの詳細な説明は省くこととするが、上記同様に消費電力の算出を行うと、9177mWとなり、パッケージの許容電力を越えることとなる。よって電源遮断の対応だけでは、正当性検知に使用する回路の動作クロックの周波数を5倍として使用することはできないことがわかる。
次に、図9を参照して、検証処理時に電源供給の遮断制御と、CG制御の両方を行った時のASIC100の消費電力について説明する。図9においても、各モジュールの消費電力に関して、検証処理に使用する回路での消費電力と、検証処理に使用しない回路での消費に欄を分けて記載している。
この場合、電源遮断が実施されているデータ処理部110、及びメインCPU101に関しては、消費される電力はゼロとなる。また、データの処理は行っていないが、電源が供給され、クロックの供給が停止されている状態となるデータ処理部111内のモジュール113、及びIO制御部103内のメモリI/F106に関しては、クロック供給時の消費電力より更に低くなる。ここでは、このような場合、通常のデータ処理を行っている状態の20分の1の消費電力となることとする。よって、データ処理部111内のモジュール113での消費電力は125mW、IO制御部103内のメモリI/F106での消費電力は12.5mWとなる。それにより、ASIC100全体の消費電力は1739.5mWまで下がることとなる。
以上のように、正当性検知時に使用しない回路に対して、電源の遮断が可能なブロックに対しては電源供給の停止を行う。また、電源供給の停止ができないブロックであっても、内部に使用しない回路がある場合には、CG制御によるクロックの停止を行うことで、電源遮断のみの時の対応と比べて、更に余分な電力の削減を行うことが可能となる。
それにより、ASIC100の許容消費電力を越えない範疇であれば、検証処理を行う回路の動作クロックの周波数を電源遮断のみの時と比べて、更に高くすることが可能となる。
図10を参照して、検証処理時において、使用しない回路に対して、電源の遮断及びクロック供給の停止を行って余分な電力を削減し、検証処理を行う回路の動作クロックの周波数を高くして動作させた場合の消費電力について説明する。先に述べたように、本実施形態においては、ASIC100のパッケージの許容電力が8100mWとされている。よって、パッケージの許容電力である8100mWを越えない範疇であれば、正当性検知時に使用する回路の周波数を高くして動作させてもよいこととなる。
そこで、本実施形態では、データ処理部111内のモジュール112で使用するCLK-B、IO制御部103内のメモリI/F104で使用するCLK-Dの周波数を5倍に上げて動作させる。さらに、IO制御部103内のメモリI/F105で使用するCLK-E、サブCPU102で使用するCLK-Hの周波数を5倍に上げて動作させる。つまり、CLK-Bは100MHzから500MHzに、CLK-Dは50MHzから250MHzに、CLK-Eは50MHzから250MHzに、CLK-Hは100MHzから500MHzへと、周波数を上げて動作させる。この場合、クロック制御部114にて使用するCLK-Iに関しては、レジスタ設定によるクロック生成部116の制御となるため、高速動作の必要は無いものとして、通常動作時の周波数のままで使用することとする。
上述のような各クロックの周波数アップにより、データ処理部111内のモジュール112での消費電力は2500mW、IO制御部103内のメモリI/F104での消費電力は125mWと、それぞれ高くなる。また、IO制御部103内のメモリI/F105での消費電力は125mW、サブCPU102での消費電力は5000mWと、それぞれ高くなる。
しかし、ASIC100全体の消費電力の合計は7939.5mWとなり、パッケージの許容電力である8100mWを下回っていることとなり、問題なく使用可能となる。つまり、電源遮断のみを行って省電力対応をした場合より、更に高い周波数のクロックで、検証処理を行うことが可能となるのである。
<詳細な動作フロー>
次に、図5を参照して、本実施形態に係る電源遮断制御、及びクロックゲート制御を含めた、本システムの起動時の詳細な動作フローの説明を行う。また、本フローチャートの処理では、電源遮断制御、及びクロックゲートによる電力削減に対して、検証処理に使用する回路の動作クロックの周波数を上げて、検証処理に掛かる時間の削減を行う場合を想定している。もちろん、本発明においては、省電力制御のみを適用し、上記周波数を上げて処理時間を低減する制御については適用しなくてもよい。
S501で、本システムは電源投入によって、ASIC100の起動が開始される。続いて、S502で、発振器115からのクロックの動作により、リセット制御部121の動作が開始され、リセット制御部121内のハードウェアシーケンスにより、クロック制御部114及びクロック生成部116のリセットが解除される。この際、クロック制御部114からのPLL制御信号、及び分周回路制御信号は、リセット解除後の初期設定値により、通常動作時のクロックを生成する設定が行われることとなる。
次に、S503で、クロック出力制御部119は、クロック出力制御信号について、リセット解除後の初期設定値により、通常動作時と同様に、全てのクロックが各回路に対して供給される設定を行う。その後、S504で、リセット制御部121内のハードウェアシーケンスにより、検証処理で使用される、サブCPU102、メモリI/F104、メモリI/F105、及びモジュール112のリセットが解除される。各回路がリセット解除されると、S505で、サブCPU102は、メモリI/F105を介して、サブCPU用のブートデータ格納部108から、ブートデータの読み出しを行い、ブートを完了する。
その後、S506で、サブCPU102は、検証処理に使用しない回路に対する電源供給の遮断を行う。本実施形態においては、サブCPU102は、データ処理部110、及びメインCPU101の電源を遮断する。具体的には、サブCPU102からの電源制御部122内の電源制御用のレジスタの書き換えにより、データ処理部110、及びメインCPU101の電源を遮断する。
その後、S507で、サブCPU102は、検証処理に使用しない回路に対するクロック供給の停止(クロックゲート)を行う。サブCPU102は、データ処理部110で使用するCLK-A、データ処理部111のモジュール113で使用するCLK-C、IO制御部103内のメモリI/F106で使用するCLK-F、メインCPU101で使用するCLK-Gへのクロックを停止する。具体的には、サブCPU102は、クロック制御部114のクロック出力制御信号用のレジスタを書き換え、クロック生成部116内のCG回路の動作を切り替えることにより、各クロックに対する供給を停止させる。
クロックの停止制御が完了すると、S508で、サブCPU102は、検証処理を行う回路に対するクロックの周波数を上げる制御を行う。本実施形態では、データ処理部111内のモジュール112で使用するCLK-B、IO制御部103内のメモリI/F104で使用するCLK-Dの周波数を通常時の5倍に上げて動作させる。さらに、IO制御部103内のメモリI/F105で使用するCLK-E、サブCPU102で使用するCLK-Hの周波数を通常時の5倍に上げて動作させる。
5倍の周波数のクロック供給を実現するためには、PLL117から出力されるクロック(CLK-PLL)の周波数をデフォルト設定の1200MHzから高くする必要がある。そのため、検証処理に使用するクロック以外のクロックに関しても、初期設定値で生成されるクロックの周波数を維持させるためには、分周比の変更を行う必要がある。但し、データ処理部110で使用するCLK-A、IO制御部103内のメモリI/F106で使用するCLK-F、メインCPU101で使用するCLK-Gに関しては、分周比の変更を行う必要はない。これは、クロック生成部116内のクロック出力制御部119にて既にクロック出力が停止されているためである。よって、本実施形態においては、クロック制御部114のみ分周比を変更して、初期設定値で生成されるクロックの周波数を維持させることとなる。詳細には、サブCPU102は、クロック制御部114のPLL制御信号用のレジスタ及び分周回路制御信号用のレジスタを書き換え、PLL117からのクロック(CLK-PLL)の周波数、及び各クロックの分周比を通常動作時の分周比から変更する。
まず、PLL117の設定に関しては、リセット解除後の初期値にて、入力されるCLK-OSCの120逓倍で、1200MHzの周波数でCLK-PLLを出力されることとなっている。しかし、本実施形態における検証処理の際には、入力されるCLK-OSCの300逓倍で、3000MHzの周波数でCLK-PLLを出力する。また、検証処理に使用するデータ処理部111内のモジュール112で使用するCLK-Bに関しては、1200MHzの12分周から3000MHzの6分周にすることで、100MHzから500MHzに周波数を上げる。また、IO制御部103内のメモリI/F104で使用するCLK-Dに関しては、1200MHzの24分周から3000MHzの12分周にすることで、50MHzから250MHzに周波数を上げる。IO制御部103内のメモリI/F105で使用するCLK-Eに関しても、1200MHzの24分周から3000MHzの6分周にすることで、50MHzから250MHzに周波数を上げる。サブCPU102で使用するCLK-Hに関しては、1200MHzの12分周から3000MHzの6分周にすることで、100MHzから500MHzに周波数を上げる。このように、それぞれ分周比を変更することにより各周波数を上げる。また、クロック制御部114に関しては、通常処理時と同じ100MHzの周波数を維持するため、1200MHzの12分周から3000MHzの30分周に分周比を変更する。
使用するクロックの分周に対する制御が完了した後、S509で、サブCPU102は、検証処理を実行する。検証処理の内容に関する詳細な説明は省略するが、サブCPU102からの制御により、メインCPU用のブートデータ格納部107に格納されたメインCPU用のブートデータを、メモリI/F104を介して取り込み、データが変化しているか否かの判断を行う。検証処理の結果、メインCPU101のブートデータが変化しているとの判断がされた(検証処理が失敗)場合(S510のYesの場合)には、S511で、サブCPU102は、本システムが使用できないとの通知をLED123を点灯することにより行う。その後、本システムの動作を停止し、本フローチャートを終了する。具体的には、サブCPU102は、データ処理部111内のモジュール112から出力されるLED制御信号を消灯状態から点灯状態へと切り替える。なお、ここでは、一例としてLED123の点灯制御について例示しているが、起動停止を行う際の報知制御としては、種々の形態で行われてよい。例えば、音声の出力、所定装置への情報通知(電子メール、FAXなど)、所定の記憶領域への履歴情報としての記録、印刷出力、表示出力などによって行われてもよい。
一方、検証処理の結果、メインCPU101のブートデータが変化していないと判断した(検証処理が成功)場合(S510のNoの場合)には、S512に進む。ここでは、サブCPU102による正当性の検証動作モードから、メインCPU101のコントロールによる通常動作モード移行するための処理が実施される。S512で、サブCPU102は、通常動作モード移行するための処理として、まず、データ処理部111内のモジュール112で使用するCLK-Bと、IO制御部103内のメモリI/F104で使用するCLK-Dとの周波数を通常動作の周波数に戻す。さらに、サブCPU102は、IO制御部103内のメモリI/F105で使用するCLK-Eと、サブCPU102で使用するCLK-Hとの周波数を通常動作時の周波数に戻す。具体的には、検証処理の前に、クロックの周波数切り替えにて設定の変更を行った部分を、元に戻すこととなる。つまり、サブCPU102は、クロック制御部114のPLL制御信号用のレジスタを書き換え、PLL117の逓倍数を通常動作時の値に戻す。さらに、サブCPU102は、サブCPU102からのクロック制御部114の分周回路制御信号用のレジスタを書き換え、各クロックに対する分周比を検証処理時の分周比から、通常動作時の分周比に戻す。
その後、S513で、サブCPU102は、検証処理に使用しない回路に対するクロックの供給を復帰する。本実施形態によれば、検証処理時に停止させていた、データ処理部110で使用するCLK-Aと、データ処理部111内のモジュール113で使用するCLK-Cと、に対するクロック供給の復帰を行う。さらに、IO制御部103内のメモリI/F106で使用するCLK-Fと、メインCPU101で使用するCLK-Gとに対するクロック供給の復帰を行う。具体的には、サブCPU102は、クロック制御部114のクロック出力制御信号用もレジスタを書き換え、クロック生成部116のCG回路の動作を切り替えることにより、各クロックに対する供給を復帰させる。
その後、S514で、サブCPU102は、検証処理に使用しない回路に対する電源供給の復帰を行う。本実施形態においては、データ処理部110、及びメインCPU101の電源を復帰することとなる。具体的には、サブCPU102は、電源制御部122内の電源制御用のレジスタを書き換え、データ処理部110、及びメインCPU101の電源を復帰させる。
以上の処理が完了すると、S515で、サブCPU102は、リセット制御部121からのメインCPU101、及びデータ処理部110、データ処理部111内のモジュール113、IO制御部103内のメモリI/F106等のリセットを解除する。当該リセット解除を契機にして、S516で、メインCPU101は、メインCPU用のブートデータ格納部107から、メモリI/F104を介して、メインCPUブート用データの読み込みを行い起動し、本フローチャートを終了する。以上のフローにより、システム起動時の処理は完了し、通常動作へと進むこととなる。
以上説明したように、本情報処理装置は、ブートデータを記憶する記憶部と、それぞれが1以上の回路を有する複数のブロックに電源を供給する電源制御部と、発振器から各ブロックの各回路へのクロックの供給を制御するクロック制御部とを備える。また、本情報処理装置は、記憶部に記憶されたブートデータの正当性を検証する検証処理を実行するサブCPUと、サブCPUによって正当性の検証が成功したブートデータを用いて起動し、情報処理装置を制御するメインCPUとを備える。サブCPUは、電源制御部によって、検証処理において少なくとも1つの回路が使用されるブロックへ電源を供給させ、検証処理において全ての回路が使用されないブロックへの電源供給を遮断させる。また、サブCPUは、クロック制御部によって、検証処理において使用される回路へクロックを供給させ、検証処理において使用されない回路へのクロックの供給を停止させ、その後、検証処理を実行する。このように、本実施形態によれば、正当性の検証処理時に使用しない回路に対して、供給する電源の遮断、及び供給するクロックを停止することにより、正当性検知時の消費電力削減を行うことができる。またその結果、チップの許容消費電力の上限を守りつつ、検証処理を高速で完了することが可能となる。
なお、検証処理を高速で完了させる必要が無い場合に関しては、正当性検知時の動作クロックを上げる必要はなく、消費電力を抑えた処理を行うことも可能となる。また、上記実施形態では、省電力制御として、電力の遮断及びクロック供給の停止の両方を行う制御について説明したが、システムの構成や仕様等に応じて、例えばクロック供給の停止のみを行うような制御としてもよい。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
100:ASIC、101:メインCPU、102:サブCPU、103:IO制御部、104:メモリI/F・1、105:メモリI/F・2、106:メモリI/F・3、107:メインCPU用のブートデータ格納部、108:サブCPU用のブートデータ格納部、109:メモリ・3、110:データ処理部・1、111:データ処理部・2、112:モジュール・1、113:モジュール・2、114:クロック制御部、115:発振器、116:クロック生成部、117:PLL、118:周波数分周部、119:クロック出力制御部、120:DATAバス、121:リセット制御部、122:電源制御部、123:LED

Claims (11)

  1. 情報処理装置であって、
    ブートデータを記憶する記憶手段と、
    それぞれが1以上の回路を有する複数のブロックに電源を供給する電源制御手段と、
    発振器から各ブロックの各回路へのクロックの供給を制御するクロック制御手段と、
    前記記憶手段に記憶されたブートデータの正当性を検証する検証処理を実行する第1制御手段と、
    前記第1制御手段によって正当性の検証が成功したブートデータを用いて起動し、前記情報処理装置を制御する第2制御手段と
    を備え、
    前記第1制御手段は、
    前記電源制御手段によって、前記検証処理において少なくとも1つの回路が使用されるブロックへ電源を供給させ、前記検証処理において全ての回路が使用されないブロックへの電源供給を遮断させ、
    前記クロック制御手段によって、前記検証処理において使用される回路へクロックを供給させ、前記検証処理において使用されない回路へのクロックの供給を停止させ、
    前記検証処理を実行することを特徴とする情報処理装置。
  2. 前記第1制御手段は、さらに、前記電源制御手段及び前記クロック制御手段によって各ブロックへの電源の供給及び各回路へのクロックの供給を制御した後に、前記検証処理において使用される回路へ供給されるクロックの分周比を通常動作時から変更することにより、該通常動作時よりも供給されるクロックの周波数を上げるように前記クロック制御手段によって制御し、その後に前記検証処理を実行することを特徴とする請求項1に記載の情報処理装置。
  3. 前記第1制御手段、前記第2制御手段、前記電源制御手段、及び前記クロック制御手段は、前記複数のブロックに含まれ、
    前記第1制御手段は、少なくとも前記複数のブロックを含むパッケージの許容電力を超えない範囲で、前記クロック制御手段によって前記クロックの周波数を上げさせることを特徴とする請求項2に記載の情報処理装置。
  4. 前記第1制御手段は、
    正当性の検証が成功すると、少なくとも前記第2制御手段への電源の供給及びクロックの供給を復帰させることを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
  5. 前記第1制御手段は、
    正当性の検証が失敗すると、その旨を報知して前記情報処理装置の起動を停止することを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  6. 前記第1制御手段は、
    前記情報処理装置に設けられた所定のLEDを消灯状態から点灯状態に制御することにより、前記その旨を報知することを特徴とする請求項5に記載の情報処理装置。
  7. 情報処理装置であって、
    ブートデータを記憶する記憶手段と、
    発振器から各ブロックの各回路へのクロックの供給を制御するクロック制御手段と、
    前記記憶手段に記憶されたブートデータの正当性を検証する検証処理を実行する第1制御手段と、
    前記第1制御手段によって正当性の検証が成功したブートデータを用いて起動し、前記情報処理装置を制御する第2制御手段と
    を備え、
    前記第1制御手段は、
    前記クロック制御手段によって、前記検証処理において使用される回路へクロックを供給させ、前記検証処理において使用されない回路へのクロックの供給を停止させ、
    前記検証処理を実行することを特徴とする情報処理装置。
  8. ブートデータを記憶する記憶手段と、
    それぞれが1以上の回路を有する複数のブロックに電源を供給する電源制御手段と、
    発振器から各ブロックの各回路へのクロックの供給を制御するクロック制御手段と、
    前記記憶手段に記憶されたブートデータの正当性を検証する検証処理を実行する第1制御手段と、
    前記第1制御手段によって正当性の検証が成功したブートデータを用いて起動し、情報処理装置を制御する第2制御手段と
    を備える情報処理装置の制御方法であって、
    前記第1制御手段が、
    前記電源制御手段によって、前記検証処理において少なくとも1つの回路が使用されるブロックへ電源を供給させ、前記検証処理において全ての回路が使用されないブロックへの電源供給を遮断させる工程と
    前記クロック制御手段によって、前記検証処理において使用される回路へクロックを供給させ、前記検証処理において使用されない回路へのクロックの供給を停止させる工程と、
    前記検証処理を実行する工程と
    を含むことを特徴とする情報処理装置の制御方法。
  9. ブートデータを記憶する記憶手段と、
    発振器から各ブロックの各回路へのクロックの供給を制御するクロック制御手段と、
    前記記憶手段に記憶されたブートデータの正当性を検証する検証処理を実行する第1制御手段と、
    前記第1制御手段によって正当性の検証が成功したブートデータを用いて起動し、情報処理装置を制御する第2制御手段と
    を備える情報処理装置の制御方法であって、
    前記第1制御手段が、
    前記クロック制御手段によって、前記検証処理において使用される回路へクロックを供給させ、前記検証処理において使用されない回路へのクロックの供給を停止させる工程と、
    前記検証処理を実行する工程と
    を含むことを特徴とする情報処理装置の制御方法。
  10. ブートデータを記憶する記憶手段と、
    それぞれが1以上の回路を有する複数のブロックに電源を供給する電源制御手段と、
    発振器から各ブロックの各回路へのクロックの供給を制御するクロック制御手段と、
    前記記憶手段に記憶されたブートデータの正当性を検証する検証処理を実行する第1制御手段と、
    前記第1制御手段によって正当性の検証が成功したブートデータを用いて起動し、情報処理装置を制御する第2制御手段と
    を備える情報処理装置の制御方法における各工程をコンピュータに実行させるためのプログラムであって、前記制御方法は、
    前記第1制御手段が、
    前記電源制御手段によって、前記検証処理において少なくとも1つの回路が使用されるブロックへ電源を供給させ、前記検証処理において全ての回路が使用されないブロックへの電源供給を遮断させる工程と
    前記クロック制御手段によって、前記検証処理において使用される回路へクロックを供給させ、前記検証処理において使用されない回路へのクロックの供給を停止させる工程と、
    前記検証処理を実行する工程と
    を含むことを特徴とするプログラム。
  11. ブートデータを記憶する記憶手段と、
    発振器から各ブロックの各回路へのクロックの供給を制御するクロック制御手段と、
    前記記憶手段に記憶されたブートデータの正当性を検証する検証処理を実行する第1制御手段と、
    前記第1制御手段によって正当性の検証が成功したブートデータを用いて起動し、情報処理装置を制御する第2制御手段と
    を備える情報処理装置の制御方法における各工程をコンピュータに実行させるためのプログラムであって、前記制御方法は、
    前記第1制御手段が、
    前記クロック制御手段によって、前記検証処理において使用される回路へクロックを供給させ、前記検証処理において使用されない回路へのクロックの供給を停止させる工程と、
    前記検証処理を実行する工程と
    を含むことを特徴とするプログラム。
JP2019189652A 2019-10-16 2019-10-16 情報処理装置、その制御方法、及びプログラム Active JP7316902B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019189652A JP7316902B2 (ja) 2019-10-16 2019-10-16 情報処理装置、その制御方法、及びプログラム
US17/067,224 US11698668B2 (en) 2019-10-16 2020-10-09 Information processing apparatus and control method for selectively supplying power and clocks to module circuits used for verification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019189652A JP7316902B2 (ja) 2019-10-16 2019-10-16 情報処理装置、その制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2021064278A JP2021064278A (ja) 2021-04-22
JP7316902B2 true JP7316902B2 (ja) 2023-07-28

Family

ID=75487983

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019189652A Active JP7316902B2 (ja) 2019-10-16 2019-10-16 情報処理装置、その制御方法、及びプログラム

Country Status (2)

Country Link
US (1) US11698668B2 (ja)
JP (1) JP7316902B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108260A (ja) 2001-09-28 2003-04-11 Hitachi Ltd 情報処理装置及び情報処理装置の制御方法
JP2006293768A (ja) 2005-04-12 2006-10-26 Univ Waseda マルチプロセッサシステム及びマルチグレイン並列化コンパイラ
JP2012078952A (ja) 2010-09-30 2012-04-19 Kyocera Mita Corp 改ざん検知装置及び改ざん検知方法
JP2017033492A (ja) 2015-08-06 2017-02-09 セイコーエプソン株式会社 情報処理装置、情報処理システム、及び、情報処理装置の制御方法
JP2018197991A (ja) 2017-05-24 2018-12-13 キヤノン株式会社 改竄検知装置、その制御方法、並びにプログラム
JP2019175331A (ja) 2018-03-29 2019-10-10 キヤノン株式会社 画像形成装置、画像形成装置の制御方法及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9836637B2 (en) * 2014-01-15 2017-12-05 Google Llc Finger print state integration with non-application processor functions for power savings in an electronic device
JP6422059B2 (ja) 2015-07-31 2018-11-14 パナソニックIpマネジメント株式会社 処理装置、車載端末装置、処理装置の起動方法、及び処理装置の起動プログラム
US20180253556A1 (en) * 2017-03-02 2018-09-06 Qualcomm Incorporated Selective restoration and authentication of a secure image
US11455397B2 (en) * 2018-11-13 2022-09-27 Microchip Technology Incorporated Secure boot assist for devices, and related systems, methods and devices
JP7166884B2 (ja) * 2018-11-14 2022-11-08 キヤノン株式会社 ソフトウェアの改ざんを検知することが可能な情報処理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108260A (ja) 2001-09-28 2003-04-11 Hitachi Ltd 情報処理装置及び情報処理装置の制御方法
JP2006293768A (ja) 2005-04-12 2006-10-26 Univ Waseda マルチプロセッサシステム及びマルチグレイン並列化コンパイラ
JP2012078952A (ja) 2010-09-30 2012-04-19 Kyocera Mita Corp 改ざん検知装置及び改ざん検知方法
JP2017033492A (ja) 2015-08-06 2017-02-09 セイコーエプソン株式会社 情報処理装置、情報処理システム、及び、情報処理装置の制御方法
JP2018197991A (ja) 2017-05-24 2018-12-13 キヤノン株式会社 改竄検知装置、その制御方法、並びにプログラム
JP2019175331A (ja) 2018-03-29 2019-10-10 キヤノン株式会社 画像形成装置、画像形成装置の制御方法及びプログラム

Also Published As

Publication number Publication date
US11698668B2 (en) 2023-07-11
JP2021064278A (ja) 2021-04-22
US20210116980A1 (en) 2021-04-22

Similar Documents

Publication Publication Date Title
JP4974202B2 (ja) 半導体集積回路
JP4535170B2 (ja) マイクロコンピュータシステム
JP4924223B2 (ja) 半導体装置
JP2009200739A (ja) 半導体集積回路
US7702944B2 (en) Dynamic frequency scaling sequence for multi-gigahertz microprocessors
JP2005190483A (ja) 遊休モードでの電力消費が減少したプロセッサシステムおよびその方法
JP5610566B2 (ja) 半導体装置及びデータ処理システム
CN105388989B (zh) 利用硬件电源管理单元调节时钟信号的应用处理器及装置
JP4255841B2 (ja) 直線電流ランプ
US7817488B2 (en) Load balancing by using clock gears
JPH11312026A (ja) クロック信号切替方法およびクロック信号切替システム
JP2016206765A (ja) 半導体集積回路
US10304506B1 (en) Dynamic clock control to increase stutter efficiency in the memory subsystem
US7219248B2 (en) Semiconductor integrated circuit operable to control power supply voltage
JP7316902B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP2006244382A (ja) マイクロプロセッサ
US20040260960A1 (en) Method for pulse train reduction of clocking power when switching between full clocking power and nap mode
JP3701100B2 (ja) クロック生成回路及びクロック生成方法
JP4355648B2 (ja) 複数cpuクロック制御システム、その制御方法及びそのプログラム
JP5574461B2 (ja) 半導体集積回路
CN112416677B (zh) 一种具有软关机功能的服务器和软关机方法
US8677164B2 (en) Microcomputer and control method thereof
JP5408743B2 (ja) 携帯電話
JP3906865B2 (ja) 低消費電力マイクロプロセッサおよびマイクロプロセッサシステム
KR20230127824A (ko) 시스템 온 칩, 그것의 버스 파워 게이팅 방법 및 시스템

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230613

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230718

R151 Written notification of patent or utility model registration

Ref document number: 7316902

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151