JP7316902B2 - Information processing device, its control method, and program - Google Patents
Information processing device, its control method, and program Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/81—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Microcomputers (AREA)
- Stored Programmes (AREA)
Description
本発明は、ASICやCPU等のチップの起動時にブートデータの正当性を検証する情報処理装置、その制御方法、及びプログラムに関する。 The present invention relates to an information processing apparatus, a control method thereof, and a program for verifying the validity of boot data when a chip such as an ASIC or CPU is started.
近年、中央演算処理装置(以降CPUとする)のブートアップに対するセキュリティが重要視されてきている。そこで、電源投入の直後に、サブCPUの制御により、システムのメインCPUのブートデータが改竄又は経年劣化によるブートデータが変化していないことのチェックを行ってから、メインCPUのブートアップを行っている。これらの改竄又は経年劣化による変化の検証を総称して、以下では正当性の検証処理と称する。当該検証処理は、基本的には電源投入時の処理であるため、ユーザの利便性を考えると、できるだけ早く完了させ、電源立ち上げ時間を短縮することが望ましい。 In recent years, security against boot-up of a central processing unit (hereinafter referred to as CPU) has been emphasized. Therefore, immediately after the power is turned on, the boot data of the main CPU of the system is checked by the control of the sub CPU to ensure that the boot data has not been altered due to tampering or deterioration over time, and then the main CPU is booted up. there is Verification of changes due to falsification or aged deterioration is collectively referred to as validity verification processing below. Since the verification process is basically a process performed when the power is turned on, it is desirable to complete the verification process as soon as possible to shorten the power-on time, considering the user's convenience.
特許文献1には、検証が不要なデータに関して改竄検知を行わないことで、改竄検知処理を短時間で完了させる方法が提案されている。 Japanese Patent Application Laid-Open No. 2002-200002 proposes a method of completing the alteration detection process in a short time by not performing alteration detection on data that does not require verification.
しかしながら、上記従来技術には以下に記載する課題がある。例えば、上記従来技術では、正当性の検証処理(改竄検知処理)を行うプログラムをBIOS等の上流のソフトだけでなく、アプリケーション等の下流のプログラムに関してまで、実施する動きがあり、検証処理を実施するデータ量も多くなっていく傾向にある。それに対して、検証処理時の動作時のクロック周波数を高くして、検証処理を短時間で完了させる等の方法も考えられている。しかし、そのチップの許容電力を超えない範疇で、できる限り動作時のクロック周波数を高くするには、検証処理に使用しない回路に関しては、できる限り消費電力を低減する必要がある。 However, the conventional technology described above has the following problems. For example, in the above conventional technology, there is a movement to implement a program that performs validity verification processing (falsification detection processing) not only for upstream software such as BIOS, but also for downstream programs such as applications, and verification processing is implemented. The amount of data to be processed also tends to increase. On the other hand, methods such as increasing the operating clock frequency during the verification process to complete the verification process in a short period of time have also been considered. However, in order to increase the operating clock frequency as much as possible without exceeding the allowable power of the chip, it is necessary to reduce power consumption as much as possible for circuits not used for verification processing.
使用しない回路での消費電力を低減する方法として、電源遮断により電力の供給を行わないことが考えられるが、一般的な電源遮断の制御用回路では、制御可能な電源ブロック数に限りがある。つまり、各機能モジュール(回路)ごとの細かな粒度での電源制御はできない状況にある。 One possible way to reduce the power consumption of circuits that are not in use is to turn off the power so that power is not supplied. In other words, it is impossible to control the power supply with fine granularity for each functional module (circuit).
本発明は、上述の問題の少なくとも一つに鑑みて成されたものであり、検証処理に使用しない回路などの細かい粒度でクロックの停止制御を行うことで、検証処理の消費電力を低減する仕組みを提供する。 The present invention has been made in view of at least one of the above problems, and is a mechanism for reducing the power consumption of verification processing by performing fine-grained clock stop control for circuits that are not used for verification processing. I will provide a.
本発明は、例えば、情報処理装置であって、ブートデータを記憶する記憶手段と、それぞれが1以上の回路を有する複数のブロックに電源を供給する電源制御手段と、発振器から各ブロックの各回路へのクロックの供給を制御するクロック制御手段と、前記記憶手段に記憶されたブートデータの正当性を検証する検証処理を実行する第1制御手段と、前記第1制御手段によって正当性の検証が成功したブートデータを用いて起動し、前記情報処理装置を制御する第2制御手段とを備え、前記第1制御手段は、前記電源制御手段によって、前記検証処理において少なくとも1つの回路が使用されるブロックへ電源を供給させ、前記検証処理において全ての回路が使用されないブロックへの電源供給を遮断させ、前記クロック制御手段によって、前記検証処理において使用される回路へクロックを供給させ、前記検証処理において使用されない回路へのクロックの供給を停止させ、前記検証処理を実行することを特徴とする。 The present invention is, for example, an information processing apparatus comprising storage means for storing boot data, power supply control means for supplying power to a plurality of blocks each having one or more circuits, and an oscillator for each circuit in each block. clock control means for controlling the supply of a clock to the boot data; first control means for executing verification processing for verifying the validity of the boot data stored in the storage means; a second control means for starting up using the successful boot data and controlling the information processing apparatus, wherein the first control means uses at least one circuit in the verification process by the power supply control means. Power is supplied to a block, power supply to a block in which no circuit is used in the verification process is cut off, a clock is supplied to the circuit used in the verification process by the clock control means, and a clock is supplied to the circuit used in the verification process. The verification process is performed while stopping clock supply to unused circuits.
本発明によれば、検証処理に使用しない回路などの細かい粒度でクロックの停止制御を行うことで、検証処理の消費電力を低減することができる。 According to the present invention, it is possible to reduce the power consumption of the verification process by performing fine-grained clock stop control for circuits that are not used for the verification process.
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。 Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. In addition, the following embodiments do not limit the invention according to the scope of claims. Although multiple features are described in the embodiments, not all of these multiple features are essential to the invention, and multiple features may be combined arbitrarily. Furthermore, in the accompanying drawings, the same or similar configurations are denoted by the same reference numerals, and redundant description is omitted.
<データ処理システムの構成>
以下では、本発明の一実施形態について説明する。まず、図1を参照して、本実施形態におけるデータ処理システムの構成例を説明する。本データ処理システムは、電源投入時やスリープ復帰時などに、メインCPUのブートデータの正当性の検証処理を行った上で、データ処理動作を実行することを特徴としたシステムとなる。本実施形態では、データ処理システムの一例として一つの情報処理装置を例に説明する。しかし、本発明を限定する意図はなく、複数の装置を含むシステムとして構成してもよい。
<Configuration of data processing system>
An embodiment of the invention is described below. First, with reference to FIG. 1, a configuration example of a data processing system according to this embodiment will be described. This data processing system is characterized by performing data processing operations after verifying the validity of the boot data of the main CPU when the power is turned on or after returning from sleep. In this embodiment, one information processing apparatus will be described as an example of a data processing system. However, the present invention is not intended to be limited, and may be configured as a system including multiple devices.
100はデータ処理システムにおける動作の中心となるASICである。101は、本データ処理システムのメイン制御を行うメインCPU(第2制御手段)である。102は、本データ処理システムにおいて、メインCPU101の補助的な制御を行うサブCPU(第1制御手段)である。107は、メインCPU101のブートアップを行う際のプログラムが格納されているメインCPU用のブートデータ格納部である。本実施形態においてはメモリデバイスを使用していることとする。108は、サブCPU102のブートアップを行う際のプログラムが格納されているサブCPU用のブートデータ格納部である。本実施形態においてはメモリデバイスを使用していることとする。
100 is an ASIC which is the center of operations in the data processing system.
本実施形態において、サブCPU102は、電源投入時にメインCPU101に先行してブートアップされ、サブCPU用のブートデータ格納部108に格納されているプログラムに従って動作を行う。当該動作では、メインCPU用のブートデータ格納部107に格納されているブートデータが改竄又は経年劣化によって変化していないかどうかの正当性の検証動作が行われる。以下では、正当性の検証動作により、メインCPU101のブートアップデータに問題がなければ、メインCPU用のブートデータ格納部107内のプログラムを使用してメインCPU101のブートアップを行う。
In this embodiment, the
本システムでは、ASIC100に接続されているメモリとして、メインCPU用のブートデータ格納部107、サブCPU用のブートデータ格納部108以外にも、メモリ109が接続されている。メモリ109に関しては、検証処理時にそのメモリデバイスは使用しないこととする。
In this system, as memories connected to the ASIC 100, a
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は消灯状態から点灯状態に変更される。
An
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に供給される。
An
以下に、クロック生成部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とする。
The internal configuration of the
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ビットの信号が出力されることとなる。
A clock control unit 114 has a register inside, and outputs a value set in the register as a control signal for various circuits in the
120は、DATAバスであり、先に説明を行ってきた各種CPUや、データ処理部、各種制御部間のデータの受け渡しを担うデータバスとなる。121は、リセット制御部であり、図1において詳細な接続は省略しているが、ASIC100内の各種CPU、及びデータ処理部や各種制御部のリセット信号を供給している。リセット制御部121は、電源投入後、内部回路によって組まれたハードウェアシーケンスを元に、サブCPU102のリセットの解除を行う。さらに、リセット制御部121は、サブCPU102やメインCPU101の制御によりASIC100内の各種CPU、及びデータ処理部や各種制御部のリセット制御を行う。リセット制御部121は、電源投入時に他の各種CPUや他の回路が動く前に、各種リセットの制御を行う必要があるため、発振器から出力されるクロック(CLK-OSC)により動作する構成をとる。
A
電源制御部122は、図1において詳細な図示はしていないが、ASIC100の電源端子から、ASIC100内の回路で使用する電源の入力を行う。さらに、電源制御部122は、メインCPU101又はサブCPU102による制御で、ASIC100内の各回路に対する電源の供給・遮断の制御を行う。但し、一般的なものと同様に、電源制御部122には電源の供給・遮断の制御を行うブロック数に限りがあり、多くの処理モジュールに対して、細かい電源制御が可能な回路ではない。本実施形態に係る電源制御部122では、データ処理部110、データ処理部111、IO制御部103、メインCPU101、及びサブCPU102の5ブロックの電源制御が可能なものとする。また、電源制御部122の動作用クロックに関しては、発振器115から入力されるCLK-OSCを使用することとする。
Although not shown in detail in FIG. 1, the
<電源制御部>
次に、図2を参照して、本実施形態に係る電源制御部122の内部の構成を説明する。ASIC100には内部の回路を動作させるための電源として、電源供給回路201から1.0Vの電源の供給を行うこととする。供給された電源は電源制御部122へ入力される。
<Power supply controller>
Next, the internal configuration of the power
電源制御部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)にて電源の制御が実施される。
The internal configuration of the
図2において詳細な図示は行っていないが、各電源供給SWに対して、電源制御用レジスタ部202からは各電源供給SWそれぞれに、電源のON・OFFの操作を行う、1ビットずつの電源SW制御信号が接続されている。電源制御用レジスタ部202は、DATAバス(120)に接続されており、内部には各電源SW制御用信号の出力を制御するためのレジスタを持っている。レジスタはメインCPU101又はサブCPU102からのアクセスにより、値を切り替えることで、電源供給及び電源遮断の制御を行うこととなる。
Although not shown in detail in FIG. 2, the power
<基本的な動作フロー>
次に、図3を参照して、本実施形態における本システムの基本的な動作フローについて説明する。
<Basic operation flow>
Next, with reference to FIG. 3, a basic operational flow of the system in this embodiment will be described.
S301で、本システムは電源投入によって、ASIC100の起動が開始される。ASIC100起動時にはまず、ブートデータ(プログラムコード等を含む)の正当性の検証動作モードとなる。S302で、サブCPU102、メインCPU用のブートデータ格納部107内に格納されているメインCPU101のブートデータが変化しているか否かの判断を行う正当性の検証処理を実行する。
In S301, the
S303で、サブCPU102は、正当性の検証処理の結果に基づき、メインCPU101のブートデータが変化しているか否かを判断する。変化していると判断した(検証処理が失敗した)場合(S303のYesの場合)には、本システムは使用できないとの通知をLED123を点灯することにより行い、本システムの動作を停止する。なお、検証処理の詳細については省略するが、公開鍵暗号方式を応用した電子署名技術を使用して確認を行うものであり、信頼のある署名データとの比較により検証が行われる。後述する図5の処理においても同様である。
In S303, the
一方、検証処理の結果、メインCPU101のブートデータが変化していないと判断した(検証処理が成功)場合(S303のNoの場合)はS305に進む。S305で、サブCPU102は、サブCPU102による正当性の検証動作モードから、メインCPU101のコントロールによる通常動作モードへ移行するための処理を実行する。その後、S306で、メインCPU101の制御による、通常動作モードへ移行し、本フローチャートを終了する。
On the other hand, if it is determined that the boot data of the
<検証処理時の内部動作>
次に、図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の各処理部の制御を行うこととなるため、検証処理時に動作させる必要がある。
<Internal operation during verification processing>
Next, with reference to FIG. 4, a detailed description will be given of the internal operating state during processing for verifying the validity of this system. Circuits not used during verification processing are the
クロック制御部114、クロック生成部116、リセット制御部121、及び電源制御部122に関しては、起動時から検証処理時に至るまで、各回路への電源、クロック、リセットの供給、及び制御を行うため、電源及びクロック供給の停止は行わないこととなる。ここでの検証処理時には、検証処理に使用しない回路に対する電源の遮断及びクロック供給停止の両方の省電力対応を行うことにより、より細かい粒度での省電力制御を行う。なお、本発明を限定する意図はなく、システム構成(特に、回路構成)に合わせて、電源の遮断及びクロック供給停止の少なくとも一方の省電力対応を行うように制御することが望ましい。
Regarding the clock control unit 114, the
(電源遮断)
まず、使用しない回路に対する電源遮断に関しての説明を行う。上述したように、一般的な電源制御部122には電源の供給・遮断の制御を行うブロック数に限りがある。本実施形態に係る電源制御部122では、データ処理部110、データ処理部111、IO制御部103、メインCPU101、及びサブCPU102の5ブロックの電源制御が可能なものとなっている。
(Power off)
First, a description will be given of how to cut off power to circuits that are not in use. As described above, the general
本実施形態において、検証処理に使用しない回路は、データ処理部110、データ処理部111内のモジュール113、IO制御部103内のメモリI/F106、メインCPU101である。このうち、電源の遮断が実施可能なブロックは、データ処理部110と、メインCPU101の2か所のみとなる。データ処理部111のモジュール113に関しては検証処理には使用しない回路となるが、モジュール112は使用することとなっているため、電源を遮断することができない。また、IO制御部103に関しても、メモリI/F106に関しては検証処理には使用しない回路となるが、メモリI/F104とメモリI/F105は使用することとなっているため、電源を遮断することができない。
In this embodiment, circuits not used for verification processing are the
(クロックの供給停止)
次に、クロックの供給停止に関しての説明を行う。クロックの供給停止の対応は、検証処理に使用しないデータ処理部110、データ処理部111内のモジュール113、IO制御部103内のメモリI/F106、メインCPU101の全てに対して行う。データ処理部110と、メインCPU101に関しては、電源の遮断が行われているため、それぞれの回路内の消費電力はゼロということとなる。しかし、クロック生成部116からのクロックの出力を停止することで、クロック生成部116からデータ処理部110と、メインCPU101までのクロックラインに関して、途中のバッファ等の論理回路の駆動が行われないこととなる。そのため、クロックを停止した方が、微少ながらも消費電力は少なくすることができる。
(Stops clock supply)
Next, the stop of clock supply will be described. Stopping the clock supply is performed for all of the
以上のように検証処理時に使用しない回路のブロックに対して電源の供給の停止を行うこと、また、電源の停止ができないブロック内の検証処理に使用しない回路に対して、クロックを停止する。これにより、ASIC100の消費電力を通常動作時の消費電力より低くすることが可能となる。
As described above, power supply is stopped to blocks of circuits that are not used during verification processing, and clocks are stopped for circuits that are not used for verification processing in blocks whose power cannot be stopped. As a result, the power consumption of the
<本実施形態による効果>
図6乃至図10を参照して、本実施形態による具体的な効果の例について説明する。本実施形態に係る情報処理装置(データ処理システム)は、当該装置の起動時において、ブートコードの生成を検知する。その際、情報処理装置は、正当性の検証処理において処理を実行しないブロックに対して、省電力制御として、電源遮断制御及びクロックゲート制御の少なくとも1つを実行する。さらに、本情報処理装置は、省電力制御で余った電力を正当性の検証処理を実行する処理ブロックへの動作クロックの周波数を高くすることにより、当該検証処理を高速に行う。これらの制御を段階的に適用した場合の周波数や消費電力についての検証結果について以下では説明する。
<Effects of this embodiment>
Examples of specific effects according to the present embodiment will be described with reference to FIGS. 6 to 10. FIG. An information processing apparatus (data processing system) according to the present embodiment detects generation of boot code when the apparatus is started. At that time, the information processing apparatus executes at least one of power cutoff control and clock gate control as power saving control for blocks that do not execute processing in the validity verification processing. Further, the information processing apparatus uses power surplus from power saving control to increase the frequency of the operation clock to the processing block that executes the validity verification process, thereby performing the verification process at high speed. Verification results for frequency and power consumption when these controls are applied in stages will be described below.
まず、図6を参照して、ASIC100の通常動作時における消費電力の合計の算出値について説明する。図6では、各処理モジュールと、そのモジュールが使用するクロックの種類、その周波数、及び各処理モジュールの回路規模を示したうえで、周波数と回路規模からの演算により各モジュールの消費電力を算出している。さらに、それらの合計をASIC100全体の消費電力として算出している。ここでは、1Kゲートの回路が、10MHzの周波数で動作する時に、1mWの電力を消費するとして、消費電力の算出を行うこととする。また、本実施形態においては、ASIC100のパッケージの許容電力が8100mWとされていることとする。図6より、通常動作時のASIC100全体の消費電力の合計は8053mWとなり、通常動作時の消費電力は許容電力を下回っていることとなる。
First, with reference to FIG. 6, the calculated value of the total power consumption during normal operation of the
次に、図7を参照して、本実施形態における検証処理時に電源遮断のみ実施した時のASIC100の消費電力について説明する。図7においては、各モジュールの消費電力に関して、検証処理に使用する回路での消費電力と、検証処理に使用しない回路での消費に欄を分けて記載している。この場合、電源遮断が実施されているデータ処理部110、及びメインCPU101に関しては、消費される電力はゼロとなる。
Next, with reference to FIG. 7, the power consumption of the
また、データの処理は行っていないが、電源が供給され、クロックが供給されている状態となるデータ処理部111内のモジュール113、及びIO制御部103内のメモリI/F106に関しては、通常動作時の消費電力より低くなる。本実施形態においては、上記場合は、通常のデータ処理を行っている状態の2分の1の消費電力となる。よって、データ処理部111内のモジュール113での消費電力は1250mW、IO制御部103内のメモリI/F106での消費電力は125mWとなる。それにより、ASIC100全体の消費電力は2977mWまで下がることとなる。
Also, the
以上のように、正当性検知時に使用しない回路に対して、電源の遮断を行うことで、余分な電力の削減を行うことが可能となる。それにより、ASIC100の許容消費電力を越えない範疇であれば、検証処理を行う回路の動作クロックの周波数を高くすることが可能となる。
As described above, by shutting off power to circuits that are not used at the time of legitimacy detection, it is possible to reduce excess power. As a result, it is possible to increase the frequency of the operation clock of the circuit that performs the verification process as long as the allowable power consumption of the
図8は、検証処理時のASIC100の動作において、正当性検知時に使用しない回路に対して、電源の遮断を行うことで、余分な電力の削減を行い、その分、検証処理を行う回路の動作クロックの周波数を高くして動作させた場合の消費電力を示す。
FIG. 8 shows, in the operation of the
上述したように、本実施形態においては、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の制御となるため、高速動作の必要は無いものとして、通常動作時の周波数のままで使用することとする。
As described above, in this embodiment, the allowable power of the package of the
上述のような各クロックの周波数アップにより、データ処理部111内のモジュール112での消費電力は2000mW、IO制御部103内のメモリI/F104での消費電力は100mWと、それぞれ高くなる。さらに、IO制御部103内のメモリI/F105での消費電力は100mW、サブCPU102での消費電力は4000mWと、それぞれ高くなる。しかし、ASIC100全体の消費電力の合計は7627mWとなり、パッケージの許容電力である8100mWを下回っていることとなり、問題なく使用可能となる。
By increasing the frequency of each clock as described above, the power consumption of the
一方、正当性検知に使用する回路の動作周波数を5倍に上げて動作させた場合に関しては、表などでの詳細な説明は省くこととするが、上記同様に消費電力の算出を行うと、9177mWとなり、パッケージの許容電力を越えることとなる。よって電源遮断の対応だけでは、正当性検知に使用する回路の動作クロックの周波数を5倍として使用することはできないことがわかる。 On the other hand, regarding the case where the operating frequency of the circuit used for correctness detection is increased by 5 times, the detailed explanation in the table etc. will be omitted, but if the power consumption is calculated in the same manner as above, 9177 mW, exceeding the allowable power of the package. Therefore, it can be seen that the frequency of the operation clock of the circuit used for the validity detection cannot be increased by 5 times only by dealing with power shutdown.
次に、図9を参照して、検証処理時に電源供給の遮断制御と、CG制御の両方を行った時のASIC100の消費電力について説明する。図9においても、各モジュールの消費電力に関して、検証処理に使用する回路での消費電力と、検証処理に使用しない回路での消費に欄を分けて記載している。
Next, the power consumption of the
この場合、電源遮断が実施されているデータ処理部110、及びメインCPU101に関しては、消費される電力はゼロとなる。また、データの処理は行っていないが、電源が供給され、クロックの供給が停止されている状態となるデータ処理部111内のモジュール113、及びIO制御部103内のメモリI/F106に関しては、クロック供給時の消費電力より更に低くなる。ここでは、このような場合、通常のデータ処理を行っている状態の20分の1の消費電力となることとする。よって、データ処理部111内のモジュール113での消費電力は125mW、IO制御部103内のメモリI/F106での消費電力は12.5mWとなる。それにより、ASIC100全体の消費電力は1739.5mWまで下がることとなる。
In this case, the power consumed by the
以上のように、正当性検知時に使用しない回路に対して、電源の遮断が可能なブロックに対しては電源供給の停止を行う。また、電源供給の停止ができないブロックであっても、内部に使用しない回路がある場合には、CG制御によるクロックの停止を行うことで、電源遮断のみの時の対応と比べて、更に余分な電力の削減を行うことが可能となる。 As described above, the supply of power to circuits that are not used at the time of legitimacy detection and to blocks that can be cut off is stopped. In addition, even if the power supply cannot be stopped, if there are circuits that are not used inside the block, the clock can be stopped by CG control. Power consumption can be reduced.
それにより、ASIC100の許容消費電力を越えない範疇であれば、検証処理を行う回路の動作クロックの周波数を電源遮断のみの時と比べて、更に高くすることが可能となる。
As a result, as long as the power consumption does not exceed the allowable power consumption of the
図10を参照して、検証処理時において、使用しない回路に対して、電源の遮断及びクロック供給の停止を行って余分な電力を削減し、検証処理を行う回路の動作クロックの周波数を高くして動作させた場合の消費電力について説明する。先に述べたように、本実施形態においては、ASIC100のパッケージの許容電力が8100mWとされている。よって、パッケージの許容電力である8100mWを越えない範疇であれば、正当性検知時に使用する回路の周波数を高くして動作させてもよいこととなる。
Referring to FIG. 10, during the verification process, power is cut off and clock supply is stopped to circuits that are not used to reduce excess power, and the operating clock frequency of the circuit to be verified is increased. Power consumption in the case of operating with As described above, in this embodiment, the allowable power of the
そこで、本実施形態では、データ処理部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の制御となるため、高速動作の必要は無いものとして、通常動作時の周波数のままで使用することとする。
Therefore, in the present embodiment, the frequencies of CLK-B used in the
上述のような各クロックの周波数アップにより、データ処理部111内のモジュール112での消費電力は2500mW、IO制御部103内のメモリI/F104での消費電力は125mWと、それぞれ高くなる。また、IO制御部103内のメモリI/F105での消費電力は125mW、サブCPU102での消費電力は5000mWと、それぞれ高くなる。
By increasing the frequency of each clock as described above, the power consumption of the
しかし、ASIC100全体の消費電力の合計は7939.5mWとなり、パッケージの許容電力である8100mWを下回っていることとなり、問題なく使用可能となる。つまり、電源遮断のみを行って省電力対応をした場合より、更に高い周波数のクロックで、検証処理を行うことが可能となるのである。
However, the total power consumption of the
<詳細な動作フロー>
次に、図5を参照して、本実施形態に係る電源遮断制御、及びクロックゲート制御を含めた、本システムの起動時の詳細な動作フローの説明を行う。また、本フローチャートの処理では、電源遮断制御、及びクロックゲートによる電力削減に対して、検証処理に使用する回路の動作クロックの周波数を上げて、検証処理に掛かる時間の削減を行う場合を想定している。もちろん、本発明においては、省電力制御のみを適用し、上記周波数を上げて処理時間を低減する制御については適用しなくてもよい。
<Detailed operation flow>
Next, with reference to FIG. 5, a detailed operation flow at startup of the system, including power shutdown control and clock gate control according to the present embodiment, will be described. In addition, in the processing of this flowchart, it is assumed that the time required for verification processing is reduced by increasing the operating clock frequency of the circuit used for verification processing in response to power cutoff control and power reduction by clock gates. ing. Of course, in the present invention, only the power saving control may be applied, and the control for reducing the processing time by increasing the frequency may not be applied.
S501で、本システムは電源投入によって、ASIC100の起動が開始される。続いて、S502で、発振器115からのクロックの動作により、リセット制御部121の動作が開始され、リセット制御部121内のハードウェアシーケンスにより、クロック制御部114及びクロック生成部116のリセットが解除される。この際、クロック制御部114からのPLL制御信号、及び分周回路制御信号は、リセット解除後の初期設定値により、通常動作時のクロックを生成する設定が行われることとなる。
In S501, the
次に、S503で、クロック出力制御部119は、クロック出力制御信号について、リセット解除後の初期設定値により、通常動作時と同様に、全てのクロックが各回路に対して供給される設定を行う。その後、S504で、リセット制御部121内のハードウェアシーケンスにより、検証処理で使用される、サブCPU102、メモリI/F104、メモリI/F105、及びモジュール112のリセットが解除される。各回路がリセット解除されると、S505で、サブCPU102は、メモリI/F105を介して、サブCPU用のブートデータ格納部108から、ブートデータの読み出しを行い、ブートを完了する。
Next, in S503, the clock
その後、S506で、サブCPU102は、検証処理に使用しない回路に対する電源供給の遮断を行う。本実施形態においては、サブCPU102は、データ処理部110、及びメインCPU101の電源を遮断する。具体的には、サブCPU102からの電源制御部122内の電源制御用のレジスタの書き換えにより、データ処理部110、及びメインCPU101の電源を遮断する。
After that, in S506, the
その後、S507で、サブCPU102は、検証処理に使用しない回路に対するクロック供給の停止(クロックゲート)を行う。サブCPU102は、データ処理部110で使用するCLK-A、データ処理部111のモジュール113で使用するCLK-C、IO制御部103内のメモリI/F106で使用するCLK-F、メインCPU101で使用するCLK-Gへのクロックを停止する。具体的には、サブCPU102は、クロック制御部114のクロック出力制御信号用のレジスタを書き換え、クロック生成部116内のCG回路の動作を切り替えることにより、各クロックに対する供給を停止させる。
Thereafter, in S507, the
クロックの停止制御が完了すると、S508で、サブCPU102は、検証処理を行う回路に対するクロックの周波数を上げる制御を行う。本実施形態では、データ処理部111内のモジュール112で使用するCLK-B、IO制御部103内のメモリI/F104で使用するCLK-Dの周波数を通常時の5倍に上げて動作させる。さらに、IO制御部103内のメモリI/F105で使用するCLK-E、サブCPU102で使用するCLK-Hの周波数を通常時の5倍に上げて動作させる。
When the clock stop control is completed, in S508, the
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)の周波数、及び各クロックの分周比を通常動作時の分周比から変更する。
In order to supply a clock with five times the frequency, it is necessary to increase the frequency of the clock (CLK-PLL) output from the
まず、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分周に分周比を変更する。
First, regarding the setting of the
使用するクロックの分周に対する制御が完了した後、S509で、サブCPU102は、検証処理を実行する。検証処理の内容に関する詳細な説明は省略するが、サブCPU102からの制御により、メインCPU用のブートデータ格納部107に格納されたメインCPU用のブートデータを、メモリI/F104を介して取り込み、データが変化しているか否かの判断を行う。検証処理の結果、メインCPU101のブートデータが変化しているとの判断がされた(検証処理が失敗)場合(S510のYesの場合)には、S511で、サブCPU102は、本システムが使用できないとの通知をLED123を点灯することにより行う。その後、本システムの動作を停止し、本フローチャートを終了する。具体的には、サブCPU102は、データ処理部111内のモジュール112から出力されるLED制御信号を消灯状態から点灯状態へと切り替える。なお、ここでは、一例としてLED123の点灯制御について例示しているが、起動停止を行う際の報知制御としては、種々の形態で行われてよい。例えば、音声の出力、所定装置への情報通知(電子メール、FAXなど)、所定の記憶領域への履歴情報としての記録、印刷出力、表示出力などによって行われてもよい。
After completing control over the frequency division of the clock to be used, in S509, the
一方、検証処理の結果、メイン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の分周回路制御信号用のレジスタを書き換え、各クロックに対する分周比を検証処理時の分周比から、通常動作時の分周比に戻す。
On the other hand, if it is determined that the boot data of the
その後、S513で、サブCPU102は、検証処理に使用しない回路に対するクロックの供給を復帰する。本実施形態によれば、検証処理時に停止させていた、データ処理部110で使用するCLK-Aと、データ処理部111内のモジュール113で使用するCLK-Cと、に対するクロック供給の復帰を行う。さらに、IO制御部103内のメモリI/F106で使用するCLK-Fと、メインCPU101で使用するCLK-Gとに対するクロック供給の復帰を行う。具体的には、サブCPU102は、クロック制御部114のクロック出力制御信号用もレジスタを書き換え、クロック生成部116のCG回路の動作を切り替えることにより、各クロックに対する供給を復帰させる。
After that, in S513, the
その後、S514で、サブCPU102は、検証処理に使用しない回路に対する電源供給の復帰を行う。本実施形態においては、データ処理部110、及びメインCPU101の電源を復帰することとなる。具体的には、サブCPU102は、電源制御部122内の電源制御用のレジスタを書き換え、データ処理部110、及びメインCPU101の電源を復帰させる。
After that, in S514, the
以上の処理が完了すると、S515で、サブCPU102は、リセット制御部121からのメインCPU101、及びデータ処理部110、データ処理部111内のモジュール113、IO制御部103内のメモリI/F106等のリセットを解除する。当該リセット解除を契機にして、S516で、メインCPU101は、メインCPU用のブートデータ格納部107から、メモリI/F104を介して、メインCPUブート用データの読み込みを行い起動し、本フローチャートを終了する。以上のフローにより、システム起動時の処理は完了し、通常動作へと進むこととなる。
When the above processing is completed, in S515, the
以上説明したように、本情報処理装置は、ブートデータを記憶する記憶部と、それぞれが1以上の回路を有する複数のブロックに電源を供給する電源制御部と、発振器から各ブロックの各回路へのクロックの供給を制御するクロック制御部とを備える。また、本情報処理装置は、記憶部に記憶されたブートデータの正当性を検証する検証処理を実行するサブCPUと、サブCPUによって正当性の検証が成功したブートデータを用いて起動し、情報処理装置を制御するメインCPUとを備える。サブCPUは、電源制御部によって、検証処理において少なくとも1つの回路が使用されるブロックへ電源を供給させ、検証処理において全ての回路が使用されないブロックへの電源供給を遮断させる。また、サブCPUは、クロック制御部によって、検証処理において使用される回路へクロックを供給させ、検証処理において使用されない回路へのクロックの供給を停止させ、その後、検証処理を実行する。このように、本実施形態によれば、正当性の検証処理時に使用しない回路に対して、供給する電源の遮断、及び供給するクロックを停止することにより、正当性検知時の消費電力削減を行うことができる。またその結果、チップの許容消費電力の上限を守りつつ、検証処理を高速で完了することが可能となる。 As described above, the present information processing apparatus includes a storage unit for storing boot data, a power control unit for supplying power to a plurality of blocks each having one or more circuits, and an oscillator for supplying power to each circuit in each block. and a clock control unit for controlling the supply of the clock. In addition, the information processing apparatus is started using a sub CPU that executes verification processing for verifying the validity of the boot data stored in the storage unit, and the boot data that has been successfully verified for validity by the sub CPU. and a main CPU for controlling the processing device. The sub-CPU causes the power control unit to supply power to blocks in which at least one circuit is used in the verification process, and cut off power supply to blocks in which no circuits are used in the verification process. Further, the sub CPU causes the clock control unit to supply the clock to the circuit used in the verification process, stops the supply of the clock to the circuit not used in the verification process, and then executes the verification process. As described above, according to the present embodiment, power consumption is reduced during validity detection by shutting off the power supply and stopping the supply of the clock to circuits that are not used during the validity verification process. be able to. As a result, the verification process can be completed at high speed while keeping the upper limit of the allowable power consumption of the chip.
なお、検証処理を高速で完了させる必要が無い場合に関しては、正当性検知時の動作クロックを上げる必要はなく、消費電力を抑えた処理を行うことも可能となる。また、上記実施形態では、省電力制御として、電力の遮断及びクロック供給の停止の両方を行う制御について説明したが、システムの構成や仕様等に応じて、例えばクロック供給の停止のみを行うような制御としてもよい。 Note that when there is no need to complete the verification process at high speed, there is no need to increase the operating clock during the validity detection, and it is possible to perform the process with reduced power consumption. Further, in the above embodiment, as power saving control, control for both cutting off power and stopping clock supply has been described. It may be used as a control.
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
<Other embodiments>
The present invention supplies a program that implements one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and one or more processors in the computer of the system or device reads and executes the program. It can also be realized by processing to It can also be implemented by a circuit (for example, ASIC) that implements one or more functions.
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。 The invention is not limited to the embodiments described above, and various modifications and variations are possible without departing from the spirit and scope of the invention. Accordingly, the claims are appended to make public the scope of the invention.
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
100: ASIC, 101: main CPU, 102: sub CPU, 103: IO control unit, 104: memory I/
Claims (11)
ブートデータを記憶する記憶手段と、
それぞれが1以上の回路を有する複数のブロックに電源を供給する電源制御手段と、
発振器から各ブロックの各回路へのクロックの供給を制御するクロック制御手段と、
前記記憶手段に記憶されたブートデータの正当性を検証する検証処理を実行する第1制御手段と、
前記第1制御手段によって正当性の検証が成功したブートデータを用いて起動し、前記情報処理装置を制御する第2制御手段と
を備え、
前記第1制御手段は、
前記電源制御手段によって、前記検証処理において少なくとも1つの回路が使用されるブロックへ電源を供給させ、前記検証処理において全ての回路が使用されないブロックへの電源供給を遮断させ、
前記クロック制御手段によって、前記検証処理において使用される回路へクロックを供給させ、前記検証処理において使用されない回路へのクロックの供給を停止させ、
前記検証処理を実行することを特徴とする情報処理装置。 An information processing device,
a storage means for storing boot data;
power control means for supplying power to a plurality of blocks each having one or more circuits;
clock control means for controlling clock supply from an oscillator to each circuit in each block;
a first control means for executing verification processing for verifying the validity of the boot data stored in the storage means;
a second control means for starting up using the boot data whose validity has been successfully verified by the first control means and controlling the information processing device;
The first control means is
causing the power supply control means to supply power to a block in which at least one circuit is used in the verification process, and cut off power supply to a block in which no circuit is used in the verification process;
causing the clock control means to supply a clock to a circuit used in the verification process and stop supplying a clock to a circuit not used in the verification process;
An information processing apparatus that executes the verification process.
前記第1制御手段は、少なくとも前記複数のブロックを含むパッケージの許容電力を超えない範囲で、前記クロック制御手段によって前記クロックの周波数を上げさせることを特徴とする請求項2に記載の情報処理装置。 the first control means, the second control means, the power supply control means, and the clock control means are included in the plurality of blocks;
3. The information processing apparatus according to claim 2, wherein said first control means causes said clock control means to increase the frequency of said clock within a range not exceeding an allowable power of a package including at least said plurality of blocks. .
正当性の検証が成功すると、少なくとも前記第2制御手段への電源の供給及びクロックの供給を復帰させることを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。 The first control means is
4. The information processing apparatus according to any one of claims 1 to 3, wherein when the validity verification is successful, at least power supply and clock supply to said second control means are restored.
正当性の検証が失敗すると、その旨を報知して前記情報処理装置の起動を停止することを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。 The first control means is
5. The information processing apparatus according to any one of claims 1 to 4, wherein when verification of validity fails, the information processing apparatus is notified to that effect and the information processing apparatus is stopped from starting up.
前記情報処理装置に設けられた所定のLEDを消灯状態から点灯状態に制御することにより、前記その旨を報知することを特徴とする請求項5に記載の情報処理装置。 The first control means is
6. The information processing apparatus according to claim 5, wherein said fact is notified by controlling a predetermined LED provided in said information processing apparatus from an off state to an on state.
ブートデータを記憶する記憶手段と、
発振器から各ブロックの各回路へのクロックの供給を制御するクロック制御手段と、
前記記憶手段に記憶されたブートデータの正当性を検証する検証処理を実行する第1制御手段と、
前記第1制御手段によって正当性の検証が成功したブートデータを用いて起動し、前記情報処理装置を制御する第2制御手段と
を備え、
前記第1制御手段は、
前記クロック制御手段によって、前記検証処理において使用される回路へクロックを供給させ、前記検証処理において使用されない回路へのクロックの供給を停止させ、
前記検証処理を実行することを特徴とする情報処理装置。 An information processing device,
a storage means for storing boot data;
clock control means for controlling clock supply from an oscillator to each circuit in each block;
a first control means for executing verification processing for verifying the validity of the boot data stored in the storage means;
a second control means for starting up using the boot data whose validity has been successfully verified by the first control means and controlling the information processing device;
The first control means is
causing the clock control means to supply a clock to a circuit used in the verification process and stop supplying a clock to a circuit not used in the verification process;
An information processing apparatus that executes the verification process.
それぞれが1以上の回路を有する複数のブロックに電源を供給する電源制御手段と、
発振器から各ブロックの各回路へのクロックの供給を制御するクロック制御手段と、
前記記憶手段に記憶されたブートデータの正当性を検証する検証処理を実行する第1制御手段と、
前記第1制御手段によって正当性の検証が成功したブートデータを用いて起動し、情報処理装置を制御する第2制御手段と
を備える情報処理装置の制御方法であって、
前記第1制御手段が、
前記電源制御手段によって、前記検証処理において少なくとも1つの回路が使用されるブロックへ電源を供給させ、前記検証処理において全ての回路が使用されないブロックへの電源供給を遮断させる工程と
前記クロック制御手段によって、前記検証処理において使用される回路へクロックを供給させ、前記検証処理において使用されない回路へのクロックの供給を停止させる工程と、
前記検証処理を実行する工程と
を含むことを特徴とする情報処理装置の制御方法。 a storage means for storing boot data;
power control means for supplying power to a plurality of blocks each having one or more circuits;
clock control means for controlling clock supply from an oscillator to each circuit in each block;
a first control means for executing verification processing for verifying the validity of the boot data stored in the storage means;
A control method for an information processing device comprising: second control means for starting up using boot data whose validity has been successfully verified by the first control means and controlling the information processing device,
The first control means is
causing the power supply control means to supply power to blocks in which at least one circuit is used in the verification process, and cut off power supply to blocks in which no circuits are used in the verification process; and by the clock control means. , supplying a clock to a circuit used in the verification process and stopping the supply of a clock to a circuit not used in the verification process;
and a step of executing the verification process.
発振器から各ブロックの各回路へのクロックの供給を制御するクロック制御手段と、
前記記憶手段に記憶されたブートデータの正当性を検証する検証処理を実行する第1制御手段と、
前記第1制御手段によって正当性の検証が成功したブートデータを用いて起動し、情報処理装置を制御する第2制御手段と
を備える情報処理装置の制御方法であって、
前記第1制御手段が、
前記クロック制御手段によって、前記検証処理において使用される回路へクロックを供給させ、前記検証処理において使用されない回路へのクロックの供給を停止させる工程と、
前記検証処理を実行する工程と
を含むことを特徴とする情報処理装置の制御方法。 a storage means for storing boot data;
clock control means for controlling clock supply from an oscillator to each circuit in each block;
a first control means for executing verification processing for verifying the validity of the boot data stored in the storage means;
A control method for an information processing device comprising: second control means for starting up using boot data whose validity has been successfully verified by the first control means and controlling the information processing device,
The first control means is
causing the clock control means to supply a clock to a circuit used in the verification process and stop supplying a clock to a circuit not used in the verification process;
and a step of executing the verification process.
それぞれが1以上の回路を有する複数のブロックに電源を供給する電源制御手段と、
発振器から各ブロックの各回路へのクロックの供給を制御するクロック制御手段と、
前記記憶手段に記憶されたブートデータの正当性を検証する検証処理を実行する第1制御手段と、
前記第1制御手段によって正当性の検証が成功したブートデータを用いて起動し、情報処理装置を制御する第2制御手段と
を備える情報処理装置の制御方法における各工程をコンピュータに実行させるためのプログラムであって、前記制御方法は、
前記第1制御手段が、
前記電源制御手段によって、前記検証処理において少なくとも1つの回路が使用されるブロックへ電源を供給させ、前記検証処理において全ての回路が使用されないブロックへの電源供給を遮断させる工程と
前記クロック制御手段によって、前記検証処理において使用される回路へクロックを供給させ、前記検証処理において使用されない回路へのクロックの供給を停止させる工程と、
前記検証処理を実行する工程と
を含むことを特徴とするプログラム。 a storage means for storing boot data;
power control means for supplying power to a plurality of blocks each having one or more circuits;
clock control means for controlling clock supply from an oscillator to each circuit in each block;
a first control means for executing verification processing for verifying the validity of the boot data stored in the storage means;
and second control means for starting up using the boot data whose validity has been successfully verified by the first control means and controlling the information processing apparatus. A program, wherein the control method includes:
The first control means is
causing the power supply control means to supply power to blocks in which at least one circuit is used in the verification process, and cut off power supply to blocks in which no circuits are used in the verification process; and by the clock control means. , supplying a clock to a circuit used in the verification process and stopping the supply of a clock to a circuit not used in the verification process;
and a step of executing the verification process.
発振器から各ブロックの各回路へのクロックの供給を制御するクロック制御手段と、
前記記憶手段に記憶されたブートデータの正当性を検証する検証処理を実行する第1制御手段と、
前記第1制御手段によって正当性の検証が成功したブートデータを用いて起動し、情報処理装置を制御する第2制御手段と
を備える情報処理装置の制御方法における各工程をコンピュータに実行させるためのプログラムであって、前記制御方法は、
前記第1制御手段が、
前記クロック制御手段によって、前記検証処理において使用される回路へクロックを供給させ、前記検証処理において使用されない回路へのクロックの供給を停止させる工程と、
前記検証処理を実行する工程と
を含むことを特徴とするプログラム。 a storage means for storing boot data;
clock control means for controlling clock supply from an oscillator to each circuit in each block;
a first control means for executing verification processing for verifying the validity of the boot data stored in the storage means;
and second control means for starting up using the boot data whose validity has been successfully verified by the first control means and controlling the information processing apparatus. A program, wherein the control method includes:
The first control means is
causing the clock control means to supply a clock to a circuit used in the verification process and stop supplying a clock to a circuit not used in the verification process;
and a step of executing the verification process.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019189652A JP7316902B2 (en) | 2019-10-16 | 2019-10-16 | Information processing device, its control method, and program |
| 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 (en) | 2019-10-16 | 2019-10-16 | Information processing device, its control method, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2021064278A JP2021064278A (en) | 2021-04-22 |
| JP7316902B2 true JP7316902B2 (en) | 2023-07-28 |
Family
ID=75487983
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2019189652A Active JP7316902B2 (en) | 2019-10-16 | 2019-10-16 | Information processing device, its control method, and program |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US11698668B2 (en) |
| JP (1) | JP7316902B2 (en) |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003108260A (en) | 2001-09-28 | 2003-04-11 | Hitachi Ltd | Information processing apparatus and information processing apparatus control method |
| JP2006293768A (en) | 2005-04-12 | 2006-10-26 | Univ Waseda | Multiprocessor system and multigrain parallelizing compiler |
| JP2012078952A (en) | 2010-09-30 | 2012-04-19 | Kyocera Mita Corp | Falsification detection device and falsification detection method |
| JP2017033492A (en) | 2015-08-06 | 2017-02-09 | セイコーエプソン株式会社 | Information processing apparatus, information processing system, and information processing apparatus control method |
| JP2018197991A (en) | 2017-05-24 | 2018-12-13 | キヤノン株式会社 | Alteration detecting device, control method thereof, and program |
| JP2019175331A (en) | 2018-03-29 | 2019-10-10 | キヤノン株式会社 | Image formation device, control method of image formation device, and program |
Family Cites Families (5)
| 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 (en) | 2015-07-31 | 2018-11-14 | パナソニックIpマネジメント株式会社 | Processing device, in-vehicle terminal device, processing device activation method, and processing device activation program |
| 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 (en) * | 2018-11-14 | 2022-11-08 | キヤノン株式会社 | Information processing equipment capable of detecting falsification of software |
-
2019
- 2019-10-16 JP JP2019189652A patent/JP7316902B2/en active Active
-
2020
- 2020-10-09 US US17/067,224 patent/US11698668B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003108260A (en) | 2001-09-28 | 2003-04-11 | Hitachi Ltd | Information processing apparatus and information processing apparatus control method |
| JP2006293768A (en) | 2005-04-12 | 2006-10-26 | Univ Waseda | Multiprocessor system and multigrain parallelizing compiler |
| JP2012078952A (en) | 2010-09-30 | 2012-04-19 | Kyocera Mita Corp | Falsification detection device and falsification detection method |
| JP2017033492A (en) | 2015-08-06 | 2017-02-09 | セイコーエプソン株式会社 | Information processing apparatus, information processing system, and information processing apparatus control method |
| JP2018197991A (en) | 2017-05-24 | 2018-12-13 | キヤノン株式会社 | Alteration detecting device, control method thereof, and program |
| JP2019175331A (en) | 2018-03-29 | 2019-10-10 | キヤノン株式会社 | Image formation device, control method of image formation device, and program |
Also Published As
| Publication number | Publication date |
|---|---|
| US20210116980A1 (en) | 2021-04-22 |
| JP2021064278A (en) | 2021-04-22 |
| US11698668B2 (en) | 2023-07-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4974202B2 (en) | Semiconductor integrated circuit | |
| KR101770587B1 (en) | A method of hot plugging of multi-core processor and multi-core processor system | |
| CN100354793C (en) | Integrated circuit device | |
| JP4535170B2 (en) | Microcomputer system | |
| CN110109527B (en) | Dynamic Voltage Margin Recovery | |
| JP4924223B2 (en) | Semiconductor device | |
| US8914650B2 (en) | Dynamically adjusting power of non-core processor circuitry including buffer circuitry | |
| JP2009200739A (en) | Semiconductor integrated circuit | |
| US7702944B2 (en) | Dynamic frequency scaling sequence for multi-gigahertz microprocessors | |
| JP2002215597A (en) | Multiprocessor device | |
| CN105388989B (en) | Application processor and device for adjusting clock signal using hardware power management unit | |
| JP7834435B2 (en) | configurable reduced memory startup | |
| US10304506B1 (en) | Dynamic clock control to increase stutter efficiency in the memory subsystem | |
| US7817488B2 (en) | Load balancing by using clock gears | |
| CN101578563A (en) | Reducing idle leakage power in an IC | |
| JP4255841B2 (en) | Linear current lamp | |
| US7219248B2 (en) | Semiconductor integrated circuit operable to control power supply voltage | |
| JP7316902B2 (en) | Information processing device, its control method, and program | |
| CN112416677B (en) | Server with soft-off function and soft-off method | |
| US7243250B2 (en) | Electronic apparatus and method for controlling semiconductor integrated circuit | |
| KR20110115983A (en) | Data processor and data processing system | |
| JP4355648B2 (en) | Multiple CPU clock control system, control method thereof, and program thereof | |
| US20250060803A1 (en) | System, method and apparatus for reactive power control in a processor | |
| US20250190370A1 (en) | Reduced latency low-power state exit | |
| JP2025107892A (en) | Power Control Circuit |
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 |