JP2021189919A - Information processing apparatus and control program - Google Patents
Information processing apparatus and control program Download PDFInfo
- Publication number
- JP2021189919A JP2021189919A JP2020096511A JP2020096511A JP2021189919A JP 2021189919 A JP2021189919 A JP 2021189919A JP 2020096511 A JP2020096511 A JP 2020096511A JP 2020096511 A JP2020096511 A JP 2020096511A JP 2021189919 A JP2021189919 A JP 2021189919A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- dedicated
- dedicated cpu
- inter
- information
- 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.)
- Pending
Links
Images
Landscapes
- Multi Processors (AREA)
- Stored Programmes (AREA)
Abstract
Description
本発明は、情報処理装置及び制御プログラムに関する。 The present invention relates to an information processing apparatus and a control program.
近年、サーバシステムには複数のモデルが存在し、モデルによって価格やCPU(Central Processing Unit)台数が異なる。また、サーバシステムに搭載されるハードウェアでは、部品が共通化されることでコストダウンが図られることが多い。そのため、サーバシステムでは、モデルに関係なく、システムボードに最大数のCPUが搭載されることが一般的である。 In recent years, there are a plurality of models of server systems, and the price and the number of CPUs (Central Processing Units) differ depending on the model. In addition, in the hardware installed in the server system, the cost is often reduced by standardizing the parts. Therefore, in a server system, the maximum number of CPUs is generally mounted on the system board regardless of the model.
そこで、共通部品に対して、複数のモデルに対応するため、サーバシステムにはモデルロック機構が導入される。モデルロック機構とは、モデル毎のシステム構成を差別化するため、そのモデルにおけるシステム構成以外のCPUに対して使用制限を掛ける機構である。サービスプロセッサが、モデルロック機構を管理しており、モデルのシステム構成に応じて使用することが許可されたCPUを初期化する。 Therefore, a model lock mechanism is introduced in the server system in order to support a plurality of models for common parts. The model lock mechanism is a mechanism that restricts the use of CPUs other than the system configuration in the model in order to differentiate the system configuration for each model. The service processor manages the model locking mechanism and initializes the CPU that is allowed to be used according to the system configuration of the model.
ここでは、モデルロック機構によって使用可能なCPUを「ユーザCPU」と呼ぶ。ユーザCPUは、上述したように搭載されたサーバシステムのシステム構成に含まれ、サービスプロセッサにより初期化されることで動作可能となる。また、システムボード上に搭載されえたCPUのうち、ユーザCPU以外のCPUを「余剰CPU」と呼ぶ。余剰CPUは、モデルロック機構により使用制限がなされる。余剰CPUは、システム構成に含まれず、サービスプロセッサによる初期化が行われないため動作しない。 Here, the CPU that can be used by the model lock mechanism is referred to as a "user CPU". The user CPU is included in the system configuration of the server system mounted as described above, and can be operated by being initialized by the service processor. Further, among the CPUs that can be mounted on the system board, CPUs other than the user CPU are referred to as "surplus CPUs". The surplus CPU is restricted in use by the model lock mechanism. The surplus CPU does not operate because it is not included in the system configuration and is not initialized by the service processor.
また、サーバシステムでは、暗号機能をサポートする場合がある。そして、ハードウェアに暗号チップが搭載されていないサーバシステムでは、OS(Operating System)によりソフトウェア暗号が実現される。このような暗号機能の場合、ソフトウェア暗号の処理が重いため、他のジョブ制御を圧迫して性能低下を招くおそれがある。そこで、余剰CPUの一部をソフトウェア暗号処理に有効活用することが好ましい。 In addition, the server system may support the cryptographic function. Then, in a server system in which the encryption chip is not mounted on the hardware, software encryption is realized by the OS (Operating System). In the case of such an encryption function, the processing of software encryption is heavy, which may put pressure on other job controls and cause performance deterioration. Therefore, it is preferable to effectively utilize a part of the surplus CPU for software encryption processing.
このように余剰CPUを活用する場合に、余剰CPUの使用用途を暗号処理のみに制限する。このように活用する余剰CPUを、ユーザCPUや余剰CPUとは異なる専用CPUとして従来モデルとの差別化が図られる。例えば、OSによるジョブ割り振り制御で、専用CPUに割り振るジョブを暗号化ジョブに制限することで、専用CPUに対する機能制限を実現することができる。 When utilizing the surplus CPU in this way, the usage of the surplus CPU is limited to cryptographic processing only. The surplus CPU utilized in this way can be differentiated from the conventional model as a dedicated CPU different from the user CPU and the surplus CPU. For example, by limiting the jobs allocated to the dedicated CPU to encrypted jobs by the job allocation control by the OS, it is possible to realize the function limitation for the dedicated CPU.
このような複数のCPUを管理する技術として、BIOS(Basic Input Output System)が未使用のCPUを利用して、ハードウェア管理装置との通信インタフェースをエミュレートする従来技術がある。また、サービスプロセッサが、ハードウェアリソース情報を用いて、各ハードウェアリソースのオンライン又はオフラインを管理する従来技術がある。 As a technique for managing such a plurality of CPUs, there is a conventional technique in which a BIOS (Basic Input Output System) uses an unused CPU to emulate a communication interface with a hardware management device. Further, there is a conventional technique in which a service processor manages online or offline of each hardware resource by using hardware resource information.
しかしながら、暗号機能に対応してない旧式のOSを起動した場合、専用CPUとして認識されず、通常のユーザCPUと同じ扱いになる場合がある。その場合、暗号ジョブが存在しないにもかかわらず、OSは、ジョブ割り振り制御により、他のジョブを専用CPUに割り振ってしまい、専用CPUに対する機能制限が働かなくなるおそれがある。 However, when an old OS that does not support the encryption function is started, it may not be recognized as a dedicated CPU and may be treated in the same way as a normal user CPU. In that case, even though the cryptographic job does not exist, the OS may allocate another job to the dedicated CPU by the job allocation control, and the function restriction for the dedicated CPU may not work.
このような旧式のOSがインストールされたサーバシステムで専用CPUを用いるために、専用CPUを認識させる修正を旧式のOSに対して加える方法が考えられる。しかし、この方法では、旧式のOSがインストールされたサーバシステムが出荷済みの場合、修正パッチを適用することになるが、確実な修正パッチの適用が保証されず、旧式のOSが専用CPUとして所定の余剰CPUを認識できるかは不明である。そのため、専用CPUを使用して最小限の機能を与えることは難しく、効率的なハードウェアリソースの使用は困難となる。 In order to use a dedicated CPU in a server system in which such an old-fashioned OS is installed, a method of adding a modification for recognizing the dedicated CPU to the old-fashioned OS can be considered. However, with this method, if the server system on which the old OS is installed has already been shipped, the correction patch will be applied, but reliable application of the correction patch is not guaranteed, and the old OS is specified as the dedicated CPU. It is unclear whether the surplus CPU can be recognized. Therefore, it is difficult to provide the minimum functions by using a dedicated CPU, and it is difficult to efficiently use hardware resources.
また、未使用のCPUを利用してハードウェアの管理装置との通信インタフェースをエミュレートする技術やハードウェアリソース情報を用いて各ハードウェアリソースのオンオフを制御する技術でも、旧式のOSに専用CPUを認識させることは困難である。したがって、効率的なハードウェアリソースの使用は困難となる。 In addition, the technology that emulates the communication interface with the hardware management device using an unused CPU and the technology that controls the on / off of each hardware resource by using the hardware resource information are also the technologies dedicated to the old OS. Is difficult to recognize. Therefore, efficient use of hardware resources becomes difficult.
開示の技術は、上記に鑑みてなされたものであって、ハードウェアリソースを効率的に使用させる情報処理装置及び制御プログラムを提供することを目的とする。 The disclosed technique has been made in view of the above, and an object thereof is to provide an information processing apparatus and a control program for efficiently using hardware resources.
本願の開示する情報処理装置及び制御プログラムの一つの態様において、各種機能を実行するユーザCPU及び所定機能の実行に機能が制限された専用CPUを含む複数のCPUを備える。有効化部は、オペレーティングシステムの種別を基に、前記専用CPUの状態を表す専用CPU状態情報における前記専用CPUの状態を有効にする。起動制御部11は、前記専用CPU状態情報における前記専用CPUの状態が有効の場合に、前記専用CPUをシステム構成に組み込んで起動させる。
In one aspect of the information processing apparatus and control program disclosed in the present application, a plurality of CPUs including a user CPU for executing various functions and a dedicated CPU whose functions are limited to the execution of predetermined functions are provided. The activation unit validates the state of the dedicated CPU in the dedicated CPU status information indicating the state of the dedicated CPU based on the type of the operating system. When the state of the dedicated CPU in the dedicated CPU status information is valid, the
1つの側面では、本発明は、ハードウェアリソースを効率的に使用させることができる。 In one aspect, the invention allows efficient use of hardware resources.
以下に、本願の開示する情報処理装置及び制御プログラムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置及び制御プログラムが限定されるものではない。 Hereinafter, examples of the information processing apparatus and control program disclosed in the present application will be described in detail with reference to the drawings. The information processing apparatus and control program disclosed in the present application are not limited by the following examples.
図1は、サーバシステムのハードウェア構成図である。サーバシステム1は、図1に示すように、複数のCPU10、主記憶装置20、サービスプロセッサ30、チャネルサブシステム40、スイッチ50、制御ユニット60、IO装置70及びディスク80を有する。
FIG. 1 is a hardware configuration diagram of a server system. As shown in FIG. 1, the
CPU10は、主記憶装置20及びサービスプロセッサ30とバスで接続される。CPU10は、バスを介して、主記憶装置20及びサービスプロセッサ30と信号の送受信を行う。また、CPU10及びサービスプロセッサ30は、チャネルサブシステム40とバスを介して接続される。
The
また、チャネルサブシステム40は、スイッチ50と接続される。スイッチ50は、制御ユニット60と接続される。さらに、本実施例では一方の制御ユニット60は、ディスク80と接続される。また、他方の制御ユニット60は、ディスク80以外のIO(Input Output)装置70と接続される。ディスク80は、サーバシステム1の起動時に使用する初期プログラム81を含む様々なプログラムを格納する。
Also, the channel subsystem 40 is connected to the switch 50. The switch 50 is connected to the
CPU10及びサービスプロセッサ30は、チャネルサブシステム40、スイッチ50及び制御ユニット60を介して、IO装置70及びディスク80と接続される。CPU10は、例えば、ディスク80に格納された様々なプログラムを読み出して主記憶装置20に展開して実行する。また、サービスプロセッサ30は、例えば、ディスク80に格納された初期プログラム81を読み出して主記憶装置20に展開して実行する。
The
CPU10は、主記憶装置20を用いて演算を実行する。また、各CPU10は、互いに通信を行う。CPU10は、出荷時に、それぞれユーザCPU、専用CPU又は余剰CPUのいずれかの役割が割り当てられる。ユーザCPUは、ジョブを実行して演算を行うプロセッサである。専用CPUは、予め決められた処理の実行に機能が限定されたプロセッサである。余剰CPUは、使用されないプロセッサである。
The
サービスプロセッサ30は、CPU10から独立して動作するプロセッサである。サービスプロセッサ30は、出荷時にCPU10の数及び各CPU10へのユーザCPU、専用CPU又は余剰CPUの割り当て設定を記憶する。サービスプロセッサ30は、サーバシステム1の起動時に、初期プログラム81をディスク80から読み出して、主記憶装置20上にローディングする。
The
チャネルサブシステム40は、CPU10と各チャネルとの接続を管理する。スイッチ50は、チャネルサブシステム40と制御ユニット60との接続系経路を切り替える。一方の制御ユニット60は、IO装置70に対するデータの読み出し及び書き込みを制御する。他方の制御ユニット60は、ディスク80に対するデータの読み出し及び書き込みを制御する。IO装置70は、データを保持する機能を有する。IO装置70は、制御ユニット60の指示にしたがい、データの読み出し及び書き込みを行う。ディスク80は、補助委記憶装置である。ディスク80は、制御ユニット60の指示にしたがい、データの読み出し及び書き込みを行う。
The channel subsystem 40 manages the connection between the
次に、図2を参照して、サーバシステム1の起動時の処理の詳細を説明する。図2は、サーバシステムのブロック図である。サーバシステム1では、OS101及びファームウェア102が動作する。ただし、起動時には、OS101は、その一部であるIPL(Initial Program Loading)が動作する。そして、起動後に、OS101全体が動作する。
Next, with reference to FIG. 2, the details of the processing at the time of starting the
サービスプロセッサ30は、サーバシステム1の起動時に主記憶装置20にモデル情報200を展開する。さらに、サービスプロセッサ30は、主記憶装置20が保持するモデル情報200に専用CPU情報201を登録する。主記憶装置20が、「記憶部」の一例にあたる。
The
図3は、実施例1に係る専用CPU情報の一例を示す図である。例えば、モデル情報200に含まれる専用CPU情報201は、専用CPU台数211及び専用CPU開始アドレス212を含む。
FIG. 3 is a diagram showing an example of dedicated CPU information according to the first embodiment. For example, the
ここでは、CPU#0〜#7という8つのCPU10が存在する場合で説明する。CPU#0〜#7における#0〜#7を、ここではCPU番号といい、サーバシステム1に搭載されたCPU10に連番で割り当てられた識別番号である。
Here, the case where eight
専用CPU台数211は、専用CPUとしての役割が割り当てられたCPU10の台数を表す情報である。また、専用CPU開始アドレス212は、専用CPUとしての役割が割り当てられたCPU10の先頭のアドレスを表す。本実施例では、専用CPUが複数ある場合、CPU番号が連続するCPUに専用CPUとしての役割が割り当てられる。すなわち、専用CPU開始アドレス212及び専用CPU台数211から、CPU10のうちいずれが専用CPUかを識別することが可能となる。
The number of
例えば、CPU#0〜#3がユーザCPUであり、CPU#4が専用CPUであり、CPU#5〜#7が余剰CPUであると設定された場合、専用CPU台数211の値は、1となる。また、専用CPU開始アドレス212は、#4である。この場合、専用CPU台数211及び専用CPU開始アドレス212から、CPU#4が専用CPUであると識別可能である。
For example, when
さらに、サービスプロセッサ30は、モデル情報200に登録された専用CPU情報201を参照して、専用CPUを特定し、ファームウェア102が有する専用CPU状態情報121の内の特定の専用CPUの情報を初期化して無効に設定する。
Further, the
その後、サービスプロセッサ30は、ディスク80から初期プログラム81を読み出して、主記憶装置20上にローディングする。さらに、サービスプロセッサ30は、CPU10からIPLコマンドを実行して装置の起動を制御するためのCPU10を1つ選択する。
After that, the
ここで、後述するように、本実施例に係る専用CPUは、専用CPUを使用しないOS101の場合、専用CPUの役割が割り当てられたCPU10を使用不可にする。しかし、もし専用CPUの役割が割り当てられたCPU10が、IPLコマンドを実行するCPU10として選択された場合、専用CPUの役割が割り当てられたCPU10が通常のCPUとして使用可能となってしまう。
Here, as will be described later, in the case of the OS 101 that does not use the dedicated CPU, the dedicated CPU according to the present embodiment disables the
そこで、図4に示すように、サービスプロセッサ30は、IPLコマンドを実行するCPU10として選択可能なCPU10として、ユーザCPUであるCPU10を選択するように出荷時に設定される。図4は、IPLコマンドを実行するCPUの選択方法を表す図である。例えば、図4の場合、サービスプロセッサ30は、IPLコマンドを実行するCPU10としてユーザCPUであるCPU#0〜#3を選択可能することはできるが、専用CPUであるCPU#4や余剰CPUであるCPU#5〜#7の選択は禁止される。
Therefore, as shown in FIG. 4, the
サービスプロセッサ30によりIPLコマンドを実行するCPU10として選択されたCPU10は、初期プログラム81おけるIPLコマンドを実行する。このCPU10による初期プログラム81の実行により、ファームウェア102及びOS101の起動処理の機能が動作する。このサービスプロセッサ30が、「初期化部」の一例にあたる。
The
図2に戻って説明を続ける。ファームウェア102は、サービスプロセッサ30により起動される。ファームウェア102は、専用CPU状態情報121及びCPU間通信部122を有する。
The explanation will be continued by returning to FIG. The
図5は、実施例1に係る専用CPU状態情報の一例を示す図である。専用CPU状態情報121は、専用CPUが使用可能か否かを表す情報である。専用CPU状態情報121は、例えば、サーバシステム1に搭載された全てのCPU10に対応する情報を保持する領域を有する。本実施例では、専用CPU状態情報121は、CPU#0〜#7に対応する情報を保持する領域を有する。専用CPU状態情報121は、対応する領域に有効を表す情報が格納された場合に、その領域に対応するCPU10である専用CPUが使用可能である。上述したように、専用CPUであるCPU10に対応する領域は、ファームウェア102の起動時にサービスプロセッサ30により初期化されて無効とされる。
FIG. 5 is a diagram showing an example of dedicated CPU state information according to the first embodiment. The dedicated
また、ファームウェア102が有する専用CPU状態情報121は、専用CPUを用いて所定機能を実行させる機能をOS101が有する場合、OS101により専用CPUにあたるCPU10に対応する情報が有効に設定される。
Further, in the dedicated
CPU間通信部122は、センスのためのCPU間通信命令をOS101の起動制御部111から受信する。そして、CPU間通信部122は、CPU間通信命令から通信の対象とするCPU10のCUPアドレス及び実行する処理であるセンスの情報を取得する。その後、CPU間通信部122は、対象とするCPU10に対して、以下に説明する手順でCPU間通信を実施する。
The
CPU間通信部122は、モデル情報200を用いて通信対象のCPU10が余剰CPUであるか否かを判定する。通信対象のCPU10が余剰CPUである場合、CPU間通信部122は、通信失敗を起動制御部111に通知する。具体的には、CPU間通信部122は、CPU間通信命令に対して条件コード3を応答する。
The
これに対して、通信対象のCPU10が余剰CPUでない場合、CPU間通信部122は、モデル情報200に含まれる専用CPU情報201を参照して、通信対象のCPU10が専用CPUか否かを判定する。
On the other hand, when the
通信対象のCPU10が専用CPUでなくユーザCPUの場合、CPU間通信部122は、通信の正常完了を起動制御部111に通知する。具体的には、CPU間通信部122は、CPU間通信命令に対して条件コード0を応答する。その後、CPU間通信部122は、オーダで指定された処理であるセンスを実行する。これにより、CPU間通信部122は、ユーザCPUである通信対象のCPU10を検出する。
When the
一方、通信対象のCPU10が専用CPUの場合、CPU間通信部122は、専用CPU状態情報121を参照して、専用CPUである通信対象のCPU10が有効か否かを判定する。通信対象のCPU10が無効の場合、CPU間通信部122は、通信失敗を起動制御部111に通知する。具体的には、CPU間通信部122は、CPU間通信命令に対して条件コード3を応答する。
On the other hand, when the
これに対して、通信対象のCPU10が有効の場合、CPU間通信部122は、通信の正常完了を起動制御部111に通知する。具体的には、CPU間通信部122は、CPU間通信命令に対して条件コード0を応答する。その後、CPU間通信部122は、オーダで指定された処理であるセンスを実行する。これにより、CPU間通信部122は、専用CPUである通信対象のCPU10を検出する。
On the other hand, when the
その後、CPU間通信部122は、起動のためのCPU間通信命令を起動制御部111から受信する。そして、CPU間通信部122は、CPU間通信命令から通信の対象とするCPU10のCUPアドレス及び実行する処理である起動の情報を取得する。この場合、センスで検出されたユーザCPU及び専用CPUであるCPU10が通信対象となる。
After that, the
その後、CPU間通信部122は、センスの場合と同じ手順で、対象とするCPU10に対してCPU間通信を実施して起動する。指定されたCPU10とCPU間通信して起動を行うと、CPU間通信部122は、CPU間通信命令に対して条件コード0を応答して、通信対象のCPU10の起動完了を起動制御部111に通知する。
After that, the
また、ファームウェア102は、後述するように、OS101からモデル情報の取得命令を受ける。そして、ファームウェア102は、主記憶装置20からモデル情報200のコピーを取得してOS101へ送信する。
Further, the
OS101では、IPLコマンドが実行されると、起動制御部111、有効化部112、システム組込部113及び占有メモリ管理部114が動作する。また、起動後には、OS101では、ジョブ割振制御部115及びジョブ実行部116が動作する。
In the OS 101, when the IPL command is executed, the
起動制御部111は、IPLコマンドの実行開始を受けて、暗号機能などの予め決められた専用CPUを用いて所定機能を実行させる機能をOS101が有するか否かを判定する。以下では、専用CPUを用いて所定機能を実行させる機能を有するOS101を、専用CPU対応OSと呼ぶ。逆に、専用CPUを用いて所定機能を実行させる機能を有さないOS101を、専用CPU非対応OSと呼ぶ。
Upon receiving the start of execution of the IPL command, the
OS101が専用CPU対応OSの場合、起動制御部111は、専用CPUの有効化を有効化部112に指示する。一方、OS101が専用CPU非対応OSの場合、起動制御部111は、専用CPUの有効化の指示を行わない。
When the OS 101 is an OS compatible with a dedicated CPU, the
また、起動制御部111は、CPU間通信命令を送信して、使用可能なCPU10の検出処理であるセンスを行うためのCPU間通信の実行をファームウェア102のCPU間通信部122に指示する。
Further, the
図6は、CPU間通信命令のフォーマットの一例を示す図である。CPU間送信命令(SIGP:Signal Processor)は、図6に示すフォーマット301を有する。CPU間送信命令は、レジスタ#R3に格納されたCPUアドレスで操作対象のCPU10を指定し、第2オペランドが示すメモリアドレスに格納されたオーダコードにより実施する操作を指定する。オーダコードでは、例えば、センスや起動といった操作が指定される。また、CPU間送信命令におけるレジスタ#(R1+1)に格納されるパラメータにより、指定した操作で用いる追加情報が指定される。追加情報としては、例えばメモリアドレスなどがある。また、CPU間送信命令おけるレジスタ#R1には、CPU間通信命令の実行結果を表すStatusが格納される。
FIG. 6 is a diagram showing an example of the format of the inter-CPU communication instruction. The inter-CPU transmission instruction (SIGP: Signal Processor) has the
そして、CPU間通信命令の実行条件には、以下の0から3の4つの条件コード(Condition Code)が設定される。条件コード0は、指定したオーダコードが正常に実行されたことを表す。条件コード0の場合、レジスタ#R1のStatusには0値が格納される。条件コード1は、指定したオーダコードの操作に失敗したことを表す。条件コード1の場合、レジスタ#R1のStatusには、失敗した要因が格納される。条件コード2は、CPUアドレスがビジーのため操作が完了しなかったことを表す。条件コード3は、CPUアドレスに対する通信に失敗したことを表す。本実施例では、通信の失敗には、CPUアドレスに使用可能なCPU10が搭載されていない場合、及び、CPUアドレスが示すCPU10が専用CPUであり且つ無効である場合が含まれる。CPUアドレスに使用可能なCPU10が搭載されていない場合には、CPUアドレスが示すCPU10が余剰CPUである場合も含まれる。
Then, the following four condition codes (Condition Codes) 0 to 3 are set as the execution conditions of the inter-CPU communication instruction.
その後、起動制御部111は、CPU間通信によるセンスの結果をCPU間通信部122から取得する。ここで、起動制御部111は、図4のCPU間通信命令の応答に含まれる実行結果を取得する。起動制御部111は、使用可能なCPU10として検出されないCPU10については通信失敗の応答をCPU間通信部122から受け取り、使用可能なCPU10として検出されたCPUについては通信成功の通知を受け取る。
After that, the
次に、起動制御部111は、検出されたCPU10の情報をシステム組込部113へ通知してシステム構成の実行を指示する。その後、起動制御部111は、占有メモリの確保完了の通知を占有メモリ管理部114から受ける。
Next, the
そして、起動制御部111は、各CPU10の起動のためのCPU間通信の実行をCPU間通信部122に指示する。この場合も、起動制御部111は、図5に示したフォーマットを用いてCPU間通信命令をCPU間通信部122へ送信して、そのCPU間通信命令に対する応答を受け取る。その後、起動制御部111は、CPU間通信部122から起動完了の通知を受けると起動処理を終了して、ジョブ割振制御部115及びジョブ実行部116の動作を開始させる。
Then, the
有効化部112は、専用CPUの有効化の指示を起動制御部111から受ける。そして、有効化部112は、主記憶装置20に格納されたモデル情報200のコピーを取得する。
The
ここで、主記憶装置20に格納されたモデル情報200はハードウェア専用領域に格納されるため、ファームウェア102であれば直接参照することが可能であるが、ソフトウェアであるOS101は参照することが困難である。そこで、有効化部112は、図7に示すモデル情報を取得するためのモデル情報取得命令(OBMI:Obtain Model Information)を使用してファームウェア102を介してモデル情報200を取得する。図7は、モデル情報取得命令の一例を示す図である。
Here, since the
モデル情報取得命令は、図7に示すフォーマット302を有する。モデル情報取得命令の第2オペランドは、フォーマット303を有する。フォーマット303の紙面に向かって左側の数字は、16進数で表した相対アドレスである。フォーマット303における領域304にモデル情報200のコピーが格納される。有効化部112は、ファームウェア102からのモデル情報取得命令の応答に格納されたモデル情報200のコピーを取得することで、モデル情報200に含まれる専用CPU情報201を確認する。
The model information acquisition instruction has the
そして、有効化部112は、専用CPU情報201から専用CPUであるCPU10を特定する。そして、有効化部112は、図8に示すフォーマット305を有する専用CPU有効化命令(EXCPU:Enable eXtended CPU)を生成する。図8は、専用CPU有効化命令の一例を示す図である。
Then, the
専用CPU有効化命令は、新たに追加された命令であり、専用CPUを有効にする命令である。専用CPUは、専用CPU情報201の専用CPU開始アドレス212に格納された値以上のCPUアドレスを有する専用CPU台数211で示される台数のCPU10である。専用CPU有効化命令は、条件コード0及び3を有する。条件コード0は、専用CPUが有効化され、そのCPU10をターゲットにしたCPU間通信命令が実行可能となったことを表す。条件コード3は、専用CPUに未対応であり、指定された処理が実行されなかったことを表す。
The dedicated CPU activation command is a newly added command and is a command to enable the dedicated CPU. The dedicated CPU is the number of
有効化部112は、図5に示すように、専用CPU有効化命令を実行することで、ファームウェア102に、専用CPU状態情報121の専用CPUの情報の有効化を依頼する。
As shown in FIG. 5, the
システム組込部113は、センスにより検出されたCPU10の情報を起動制御部111から取得し、システム構成の実行の指示を受ける。そして、システム組込部113は、センスにより検出されたCPU10をシステム構成に組み込む。その後、システム組込部113は、システム構成に組み込まれたCPU10の情報を占有メモリ管理部114に通知する。
The system built-in
占有メモリ管理部114は、システム構成に組み込まれたCPU10の情報の入力をシステム組込部113から受ける。そして、占有メモリ管理部114は、システム構成に組み込まれたCPU10のそれぞれに対して主記憶装置20に占有メモリ領域を確保する。次に、占有メモリ管理部114は、各CPU10の占有メモリを初期化する。その後、占有メモリ管理部114は、占有メモリの確保完了の通知を起動制御部111へ送信する。
The occupied memory management unit 114 receives input of information of the
ジョブ割振制御部115は、モデル情報取得命令を用いて主記憶装置20に格納されたモデル情報200のコピーを、ファームウェア102を介して取得する。ここで、本実施例では、ジョブ割振制御部115は、ファームウェア102を介して新たにモデル情報200のコピーを取得したが、これに限らず、有効化部112が取得したモデル情報200のコピーを取得しても良い。また、ジョブ割振制御部115は、起動完了が完了すると動作を開始する。ジョブ割振制御部115は、実行するジョブの入力を受ける。
The job
図9は、専用CPU対応OSによるジョブの割り当てを表す図である。OS101が専用CPU対応OSの場合、ジョブ割振制御部115は、主記憶装置20に格納されたモデル情報200を取得する。そして、ジョブ割振制御部115は、入力されたジョブが所定機能のジョブ312か否かを判定する。
FIG. 9 is a diagram showing job allocation by a dedicated CPU-compatible OS. When the OS 101 is an OS compatible with a dedicated CPU, the job
入力されたジョブが所定機能のジョブ312の場合、ジョブ割振制御部115は、モデル情報200に含まれる専用CPU情報201から専用CPUの位置を特定する。その後、ジョブ割振制御部115は、特定した専用CPUであるCPU10のジョブ実行部116に対して所定機能のジョブ312を割り当てて実行させる。例えば、図9示すように専用CPUがCPU#4の場合、ジョブ割振制御部115は、所定機能のジョブ312をCPU#4に割り当てる。
When the input job is a
これに対して、入力されたジョブが所定機能のジョブ以外の通常のジョブ311の場合。ジョブ割振制御部115は、通常のジョブ311をユーザCPUであるCPU10に割り当てる。例えば、図9示すようにユーザCPUがCPU#0〜3の場合、ジョブ割振制御部115は、通常のジョブ311をCPU#0〜#3のいずれかに割り当てる。
On the other hand, when the input job is a normal job 311 other than the job of the predetermined function. The job
一方、OS101が専用CPU非対応OSの場合、ジョブ割振制御部115は、入力されたジョブを所定機能のジョブか否かにかかわらず、動作するCPU10に割り振る。この場合は、専用CPUが動作しないので、所定機能のジョブを含む全てのジョブが、ユーザCPUであるCPU10に割り振られる。
On the other hand, when the OS 101 is an OS that does not support a dedicated CPU, the job
ジョブ実行部116は、ジョブの割り当てをジョブ割振制御部115から受ける。そして、ジョブ実行部116は、割り当てられたジョブを実行する。
The job execution unit 116 receives job allocation from the job
次に、図10及び11を参照して、専用CPU対応OS及び専用CPU非対応OSにおけるCPU10の起動時のそれぞれの動作を比較する。図10は、専用CPU対応OSにおけるCPUの起動時の処理を示した図である。図11は、専用CPU非対応OSにおけるCPUの起動時の処理を示した図である。
Next, with reference to FIGS. 10 and 11, the operations of the
図10を参照して、専用CPU対応OSにおけるCPU10の起動時の処理を説明する。サービスプロセッサ30により選択されたCPU#0で、IPLコマンドの実行開始される(ステップS1)。
With reference to FIG. 10, the processing at the time of starting the
IPLコマンド実行開始時に、専用CPU状態情報121おいて、専用CPUであるCPU#4の情報がサービスプロセッサ30により無効に設定される(ステップS2)。
At the start of IPL command execution, the information of
その後、有効化部112は、専用CPU有効化命令を実行して、専用CPU状態情報121におけるCPU#4の情報を有効に設定するよう依頼する(ステップS3)。
After that, the
その後、CPU間通信部122が、CPU間通信でセンスを実行する(ステップS4)。この際、CPU間通信部122は、ユーザCPU及び専用CPUであるCPU#1〜#4については条件コード0(CC=0)を応答し、余剰CPUであるCPU#5〜#7については条件コード3(CC=3)を応答する。すなわち、実行元のCPU#0を含め、CPU#0〜#4が検出される。
After that, the
その後、CPU間通信部122は、検出されたCPU#1〜#4に対してCPU間通信を行い起動させる(ステップS5)。これにより、実行元のCPU#0を含め、CPU#0〜#4が起動して、ジョブの実行が開始される。
After that, the
次に、図11を参照して、専用CPU非対応OSにおけるCPU10の起動時の処理を説明する。サービスプロセッサ30により選択されたCPU#0で、IPLコマンドの実行開始される(ステップS11)。
Next, with reference to FIG. 11, the processing at the time of starting the
IPLコマンド実行開始時に、専用CPU状態情報121おいて、専用CPUであるCPU#4の情報がサービスプロセッサ30により無効に設定される(ステップS12)。この場合、専用CPU状態情報121におけるCPU#4の情報は無効の状態がその後も維持される。
At the start of IPL command execution, the information of
その後、CPU間通信部122が、CPU間通信でセンスを実行する(ステップS13)。この際、CPU間通信部122は、ユーザCPUであるCPU#1〜#3については条件コード0(CC=0)を応答し、無効な専用CPU及び余剰CPUであるCPU#4〜#7については条件コード3(CC=3)を応答する。すなわち、実行元のCPU#0を含め、CPU#0〜#3が検出される。
After that, the
その後、CPU間通信部122は、検出されたCPU#1〜#3に対してCPU間通信を行い起動させる(ステップS14)。これにより、実行元のCPU#0を含め、CPU#0〜#3が起動して、ジョブの実行が開始される。
After that, the
このように、専用CPU状態情報121が専用CPU対応OSにおいては有効化され、専用CPU非対応OSにおいては無効化されるため、専用CPU対応OSでは専用CPUが動作するのに対して、専用CPU非対応OSでは専用CPUが動作しない。
In this way, the dedicated
次に、図12を参照して、専用CPU対応OSにおけるCPU起動処理の流れについて説明する。図12は、専用CPU対応OSにおけるCPU起動処理のフローチャートである。 Next, with reference to FIG. 12, the flow of the CPU startup process in the dedicated CPU-compatible OS will be described. FIG. 12 is a flowchart of CPU startup processing in a dedicated CPU-compatible OS.
サービスプロセッサ30は、初期プログラム81を主記憶装置20上にローディングする(ステップS101)。
The
次に、サービスプロセッサ30は、起動させたファームウェア102が有する専用CPU状態情報121の専用CPUの情報を初期化して無効に設定する(ステップS102)。
Next, the
次に、サービスプロセッサ30は、ユーザCPUであるCPU10の中から起動処理を行わせるCPU10を1つ起動させる(ステップS103)。
Next, the
起動したCPU10の起動制御部111は、専用CPU有効化命令を有効化部112に発行する(ステップS104)。有効化部112は、専用CPU有効化命令を実行して、ファームウェア102が有する専用CPU状態情報121の専用CPUの情報を有効に変更するよう依頼する。
The
次に、起動制御部111は、センスのCPU間通信命令をCPU間通信部122へ送信する。CPU間通信部122は、CPU間通信命令を受けて、CPU間通信を実施してCPU10の検出を実行する(ステップS105)。その後、CPU間通信部122は、応答したCPU10を起動制御部111に通知する。
Next, the
起動制御部111は、応答があったCPU10の情報とともにシステム構成への組み込みをシステム組込部113に指示する。システム組込部113は、応答したCPU10をシステム構成に組み込む(ステップS106)。その後、システム組込部113は、システム構成に組み込んだCPU10の情報を占有メモリ管理部114に通知する。
The
占有メモリ管理部114は、システム構成に組み込まれたCPU10の情報の入力をシステム組込部113から受ける。そして、占有メモリ管理部114は、システム構成に組み込まれた各CPU10の占有メモリを主記憶装置20に確保し、さらに、確保した占有メモリの初期化を行う(ステップS107)。
The occupied memory management unit 114 receives input of information of the
起動制御部111は、占有メモリの確保完了の通知を占有メモリ管理部114から受ける。そして、起動制御部111は、起動のCPU間通信命令をCPU間通信部122へ送信する。CPU間通信部122は、CPU間通信命令を受けて、起動のためのCPU間通信を応答したCPU10に対して実施する(ステップS108)。
The
CPU間通信部122による起動のためのCPU間通信により、検出されたCPU10が起動して、システム構成内の全てのCPU10の起動が完了する(ステップS109)。
The detected
次に、図13を参照して、本実施例に係るサーバシステム1によるCPU間通信処理の流れについて説明する。図13は、実施例1に係るサーバシステムによるCPU間通信処理のフローチャートである。この図13のフローチャートで示した処理は、図12のステップS105及びS108で実施される処理の一例にあたる。
Next, with reference to FIG. 13, the flow of inter-CPU communication processing by the
CPU間通信部122は、モデル情報200の中の専用CPU情報201を参照する(ステップS201)。
The
次に、CPU間通信部122は、通信対象のCPU10が余剰CPUか否かを判定する(ステップS202)。通信対象のCPU10が余剰CPUの場合(ステップS202:肯定)、CPU間通信部122は、ステップS209へ進む。
Next, the
これに対して、通信対象のCPU10が余剰CPUでない場合(ステップS202:否定)、CPU間通信部122は、通信対象のCPU10が専用CPUか否かを判定する(ステップS203)。通信対象のCPU10が専用CPUでなくユーザCPUの場合(ステップS203:否定)、CPU間通信部122は、ステップS206へ進む。
On the other hand, when the
これに対して、通信対象のCPU10が専用CPUの場合(ステップS203:肯定)、CPU間通信部122は、専用CPU状態情報121を参照する(ステップS204)。
On the other hand, when the
そして、CPU間通信部122は、通信対象のCPU10が無効か否かを判定する(ステップS205)。通信対象のCPU10が無効の場合(ステップS205:肯定)、CPU間通信部122は、ステップS209へ進む。
Then, the
これに対して、通信対象のCPU10が有効の場合(ステップS205:否定)、CPU間通信部122は、ステップS206に進む。
On the other hand, when the
その後、CPU間通信部122は、CPU間通信命令で指定された命令が有効な命令か否かを判定する(ステップS206)。
After that, the
命令が有効な命令の場合(ステップS206:肯定)、CPU間通信部122は、命令に応じた処理を実行する(ステップS207)。例えば、CPU間通信部122は、命センスの命令であれば、センスのCPU間通信を実行し、起動の命令であれば起動のCPU間通信を実行する。
When the instruction is a valid instruction (step S206: affirmative), the
これに対して、命令が無効な命令の場合(ステップS206:否定)、CPU間通信部122は、命令が無効であることを表す無効命令を起動制御部111に応答する(ステップS208)。具体的には、CPU間通信部122は、CPU間通信命令の応答として条件コード1(cc=1)を応答する。
On the other hand, when the instruction is an invalid instruction (step S206: negation), the
また、通信対象のCPU10が余剰CPUの場合(ステップS202:肯定)、又は、通信対象のCPU10が無効の場合(ステップS205:肯定)、CPU間通信部122は、通信失敗を応答する(ステップS209)。具体的には、CPU間通信部122は、CPU間通信命令の応答として条件コード3(cc=3)を応答する。
If the
次に、図14を参照して、専用CPU非対応OSにおけるCPU起動処理の流れについて説明する。図14は、専用CPU非対応OSにおけるCPU起動処理のフローチャートである。 Next, with reference to FIG. 14, the flow of CPU startup processing in an OS that does not support a dedicated CPU will be described. FIG. 14 is a flowchart of CPU startup processing in an OS that does not support a dedicated CPU.
サービスプロセッサ30は、初期プログラム81を主記憶装置20上にローディングする(ステップS301)。
The
次に、サービスプロセッサ30は、起動させたファームウェア102が有する専用CPU状態情報121の専用CPUの情報を初期化して無効に設定する(ステップS302)。
Next, the
次に、サービスプロセッサ30は、ユーザCPUであるCPU10の中から起動処理を行わせるCPU10を1つ起動させる(ステップS303)。
Next, the
次に、起動制御部111は、センスのCPU間通信命令をCPU間通信部122へ送信する。CPU間通信部122は、CPU間通信命令を受けて、CPU間通信を実施してCPU10の検出を実行する(ステップS304)。その後、CPU間通信部122は、応答したCPU10を起動制御部111に通知する。
Next, the
起動制御部111は、応答があったCPU10の情報とともにシステム構成への組み込みをシステム組込部113に指示する。システム組込部113は、応答したCPU10をシステム構成に組み込む(ステップS305)。その後、システム組込部113は、システム構成に組み込んだCPU10の情報を占有メモリ管理部114に通知する。
The
占有メモリ管理部114は、システム構成に組み込まれたCPU10の情報の入力をシステム組込部113から受ける。そして、占有メモリ管理部114は、システム構成に組み込まれた各CPU10の占有メモリを主記憶装置20に確保し、さらに、確保した占有メモリの初期化を行う(ステップS306)。
The occupied memory management unit 114 receives input of information of the
起動制御部111は、占有メモリの確保完了の通知を占有メモリ管理部114から受ける。そして、起動制御部111は、起動のCPU間通信命令をCPU間通信部122へ送信する。CPU間通信部122は、CPU間通信命令を受けて、起動のためのCPU間通信を応答したCPU10に対して実施する(ステップS307)。
The
CPU間通信部122による起動のためのCPU間通信により、検出されたCPU10が起動して、システム構成内の全てのCPU10の起が完了する(ステップS308)。
The detected
図15は、暗号処理を行う場合の一例のシステム構成図である。所定処理として暗号処理を行う場合、例えば、サーバシステム1は、各種ソフトウェア製品401を動作させるともに、AES(Advanced Encryption Standard)暗号機能402を動作させる。ユーザCPUであるCPU10が、各種ソフトウェア製品401を動作される。また、専用CPUであるCPU10が、AES暗号機能402を動作させる。
FIG. 15 is a system configuration diagram of an example in the case of performing encryption processing. When performing encryption processing as a predetermined processing, for example, the
各種ソフトウェア製品401は、ユーザの入力情報やユーザ通知情報などをクライアント装置3から取得する。また、各種ソフトウェア製品401は、通信データなどを外部サーバ4から取得する。そして、各種ソフトウェア製品401は、AES暗号機能402と連動して、取得したデータを暗号化して取り扱う。
The
また、サーバシステム1は、ストレージ装置2と接続される。ストレージ装置2は、AES暗号機能402により暗号化されたパスワードやシステム情報といった個人情報を格納する。
Further, the
また、各種ソフトウェア製品401は、AES暗号機能402により暗号化されたバックアップデータや保管データなどを外部保管装置5に格納する。さらに、各種ソフトウェア製品401は、AES暗号機能402により暗号化された性能情報や運用記録を出力データ6として出力する。
Further, the
以上に説明したように、本実施例に係るサーバシステムは、専用CPU対応OSが動作する場合は、専用CPUを有効にしてCPU間通信で応答させ、専用CPUを起動させる。そして、起動させた専用CPUを用いて所定機能を行わせる。これに対して、専用CPU非対応OSが動作する場合は、本実施例に係るサーバシステムは、専用CPUを無効にしてCPU間通信に応答しないようにして起動を抑制する。 As described above, in the server system according to the present embodiment, when the dedicated CPU-compatible OS operates, the dedicated CPU is enabled, a response is made by inter-CPU communication, and the dedicated CPU is started. Then, a predetermined function is performed using the activated dedicated CPU. On the other hand, when an OS that does not support a dedicated CPU operates, the server system according to this embodiment disables the dedicated CPU so that it does not respond to inter-CPU communication and suppresses startup.
より詳しくは、ハードウェア及びOSともに専用CPUに対応しない場合、専用CPUは存在しなく、専用CPUは使用されない。 More specifically, when neither the hardware nor the OS corresponds to the dedicated CPU, the dedicated CPU does not exist and the dedicated CPU is not used.
また、OSが専用CPUに対応するが、ハードウェアが専用CPUに対応しない場合、専用CPUは存在しなく、モデル情報に専用CPUが登録されない。そのため、OSは専用CPUを使用しない。 Further, when the OS corresponds to the dedicated CPU but the hardware does not correspond to the dedicated CPU, the dedicated CPU does not exist and the dedicated CPU is not registered in the model information. Therefore, the OS does not use a dedicated CPU.
また、ハードウェアが専用CPUに対応するが、OSが専用CPUに対応しない場合、専用CPU有効化命令が実行されないため、専用CPUは無効のままとなる。そして、専用CPUを通信対象としたCPU間通信は失敗し、専用CPUはシステム構成に組み込まれない。 Further, if the hardware corresponds to the dedicated CPU but the OS does not correspond to the dedicated CPU, the dedicated CPU activation instruction is not executed, so that the dedicated CPU remains invalid. Then, the inter-CPU communication with the dedicated CPU as the communication target fails, and the dedicated CPU is not incorporated into the system configuration.
また、ハードウェア及びOSともに専用CPUに対応する場合、専用CPU有効化命令が実行されるため、専用CPUは有効になる。そして、専用CPUを通信対象としたCPU間通信が成功し、専用CPUはシステム構成に組み込まれる。 Further, when both the hardware and the OS correspond to the dedicated CPU, the dedicated CPU activation command is executed, so that the dedicated CPU becomes valid. Then, the inter-CPU communication with the dedicated CPU as the communication target is successful, and the dedicated CPU is incorporated into the system configuration.
以上により、共通化されたハードウェアリソースを有する場合に、専用CPUを使用して最小限の機能を与えることが可能となり、効率的なハードウェアリソースの使用することができる。 As described above, when having a common hardware resource, it is possible to provide a minimum function by using a dedicated CPU, and it is possible to efficiently use the hardware resource.
次に、実施例2について説明する。本実施例に係るサーバシステムは、複数の機能を別個に専用CPUに実行させることが実施例1と異なる。本実施例に係るサーバシステムも図2のブロック図で表される。以下の説明では、実施例1と同様の各部の機能については説明を省略する場合がある。 Next, Example 2 will be described. The server system according to the present embodiment is different from the first embodiment in that a plurality of functions are separately executed by a dedicated CPU. The server system according to this embodiment is also represented by the block diagram of FIG. In the following description, the description of the functions of the same parts as in the first embodiment may be omitted.
本実施例に係るサーバシステム1は、搭載されたCPU10の中で、第1機能を実行する第1専用CPU及び第2機能を実行する第2専用CPUが設定される。すなわち、第1専用CPUであるCPU10は、実行可能な処理が第1機能の処理に制限される。また、第2専用CPUであるCPU10は、実行可能な処理が第2機能の処理に制限される。
In the
図16は、実施例2に係る専用CPU情報の一例を示す図である。例えば、モデル情報200は、第1専用CPU情報201A及び第2専用CPU情報201Bを含む。第1専用CPU情報201Aは、第1専用CPU台数211A及び第1専用CPU開始アドレス212Aを含む。第2専用CPU情報201Bは、第2専用CPU台数211B及び第2専用CPU開始アドレス212Bを含む。
FIG. 16 is a diagram showing an example of dedicated CPU information according to the second embodiment. For example, the
サービスプロセッサ30は、図16に示す第1専用CPU情報201A及び第2専用CPU情報201Bをモデル情報200に登録する。
The
図17は、実施例2に係る専用CPU状態情報の一例を示す図である。サービスプロセッサ30は、モデル情報200の第1専用CPU情報201A及び第2専用CPU情報201Bを用いて、ファームウェア102が有する専用CPU状態情報121における第1専用CPU及び第2専用CPUのCPU10の位置を特定する。そして、サービスプロセッサ30は、特定した位置を用いて、専用CPU状態情報121の中の第1専用CPU及び第2専用CPUの情報を無効に設定する。
FIG. 17 is a diagram showing an example of dedicated CPU state information according to the second embodiment. The
CPU間通信部122は、通信対象のCPU10が余剰CPUでなければ、第1専用CPU情報201A及び第2専用CPU情報201Bを参照して、通信対象のCPU10が第1専用CPU又は第2専用CPUいずれかであるかを判定する。
If the
通信対象のCPU10が第1専用CPU又は第2専用CPUいずれかである場合、CPU間通信部122は、ファームウェア102が有する専用CPU状態情報121を参照して、通信対象のCPU10が無効か否かを判定する。
When the
通信対象のCPU10が有効であれば、CPU間通信部122は、CPU間通信命令で指定された命令を実行する。
If the
有効化部112は、第1専用CPU有効化命令を実行することで、ファームウェア102に対して、モデル情報200の第1専用CPU情報201Aを用いた第1専用CPUであるCPU10の位置特定および第1専用CPUであるCPU10の第1機能の有効化を依頼する。
By executing the first dedicated CPU activation command, the
また、有効化部112は、第2専用CPU有効化命令を実行することで、ファームウェア102に対して、モデル情報200の第2専用CPU情報201Bを用いた第2専用CPUであるCPU10の位置特定及び第2専用CPUであるCPU10の第2機能の有効化を依頼する。
Further, the
ジョブ割振制御部115は、入力されたジョブが第1機能を行うジョブか、第2機能を行うジョブか、その他の通常のジョブかを判定する。そして、ジョブ割振制御部115は、入力されたジョブが第1機能を行うジョブの場合、第1専用CPUであるCPU10にそのジョブを割り振る。また、ジョブ割振制御部115は、入力されたジョブが第2機能を行うジョブの場合、第2専用CPUであるCPU10にそのジョブを割り振る。これに対して、入力されたジョブが第1機能又は第2機能以外を行う通常のジョブの場合、ジョブ割振制御部115は、ユーザCPUであるCPU10にそのジョブを割り振る。
The job
次に、図18を参照して、本実施例に係るサーバシステム1によるCPU間通信によるセンス処理の流れについて説明する。図18は、実施例2に係るサーバシステムによるCPU間通信によるセンス処理のフローチャートである。
Next, with reference to FIG. 18, a flow of sense processing by inter-CPU communication by the
CPU間通信部122は、モデル情報200の中の第1専用CPU情報201A及び第2専用CPU情報201Bを参照する(ステップS401)。
The
次に、CPU間通信部122は、通信対象のCPU10が余剰CPUか否かを判定する(ステップS402)。通信対象のCPU10が余剰CPUの場合(ステップS402:肯定)、CPU間通信部122は、ステップS409へ進む。
Next, the
これに対して、通信対象のCPU10が余剰CPUでない場合(ステップS402:否定)、CPU間通信部122は、通信対象のCPU10が第1専用CPU又は第2専用PCUであるか否かを判定する(ステップS403)。通信対象のCPU10が第1専用CPU又は第2専用CPUのいずれでもなくユーザCPUの場合(ステップS403:否定)、CPU間通信部122は、ステップS406へ進む。
On the other hand, when the
これに対して、通信対象のCPU10が第1専用CPU又は第2専用PCUのいずれかの場合(ステップS403:肯定)、CPU間通信部122は、ファームウェア102が有する専用CPU状態情報121を参照する(ステップS404)。
On the other hand, when the
そして、CPU間通信部122は、通信対象のCPU10が無効か否かを判定する(ステップS405)。通信対象のCPU10が無効の場合(ステップS405:肯定)、CPU間通信部122は、ステップS409へ進む。
Then, the
これに対して、通信対象のCPU10が有効の場合(ステップS405:否定)、CPU間通信部122は、ステップS406に進む。
On the other hand, when the
その後、CPU間通信部122は、CPU間通信命令で指定された命令が有効な命令か否かを判定する(ステップS406)。
After that, the
命令が有効な命令の場合(ステップS406:肯定)、CPU間通信部122は、命令に応じた処理を実行する(ステップS407)。
When the instruction is a valid instruction (step S406: affirmative), the
これに対して、命令が無効な命令の場合(ステップS406:否定)、CPU間通信部122は、命令が無効であることを表す無効命令を起動制御部111に応答する(ステップS408)。具体的には、CPU間通信部122は、CPU間通信命令の応答として条件コード1(cc=1)を応答する。
On the other hand, when the instruction is an invalid instruction (step S406: negation), the
また、通信対象のCPU10が余CPUの場合(ステップS402:肯定)、又は、通信対象のCPU10が無効の場合(ステップS405:肯定)、CPU間通信部122は、通信失敗を応答する(ステップS409)。具体的には、CPU間通信部122は、CPU間通信命令の応答として条件コード3(cc=3)を応答する。
Further, when the
以上に説明したように、本実施例に係るサーバシステムは、予め決められた異なる機能を異なる専用CPUに割り当てて、その割り当てた機能に制限して処理を実行させる。その場合にも、本実施例に係るサーバシステムは、専用CPU対応OSが動作する場合には専用CPUを起動させ、専用CPU非対応OSが動作する場合には専用CPUの起動を抑制する。これにより、共通化されたハードウェアリソースを有し、複数の機能を各機能に制限して専用CPUに実行させる場合に、専用CPUを使用して最小限の機能を与えることが可能となり、効率的なハードウェアリソースの使用することができる。 As described above, in the server system according to the present embodiment, different predetermined functions are assigned to different dedicated CPUs, and the processing is limited to the assigned functions. Even in that case, the server system according to the present embodiment starts the dedicated CPU when the dedicated CPU compatible OS operates, and suppresses the startup of the dedicated CPU when the dedicated CPU non-compatible OS operates. As a result, when having common hardware resources and limiting multiple functions to each function and causing a dedicated CPU to execute, it is possible to provide the minimum functions using the dedicated CPU, which is efficient. Hardware resources can be used.
1 サーバシステム
10 CPU
20 主記憶装置
30 サービスプロセッサ
40 チャネルサブシステム
50 スイッチ
60 制御ユニット
70 IO装置
80 ディスク
81 初期プログラム
111 起動制御部
112 有効化部
113 システム組込部
114 占有メモリ管理部
115 ジョブ割振制御部
116 ジョブ実行部
121 専用CPU状態情報
122 CPU間通信部
200 モデル情報
201 専用CPU情報
211 専用CPU台数
212 専用CPU開始アドレス
201A 第1専用CPU情報
201B 第2専用CPU情報
211A 第1専用CPU台数
211B 第2専用CPU台数
212A 第1専用CPU開始アドレス
212B 第2専用CPU開始アドレス
1
20
Claims (7)
オペレーティングシステムの種別を基に、前記専用CPUの状態を表す専用CPU状態情報における前記専用CPUの状態を有効にする有効化部と、
前記専用CPU状態情報における前記専用CPUの状態が有効の場合に、前記専用CPUをシステム構成に組み込んで起動させる起動制御部と
を備えたことを特徴とする情報処理装置。 Multiple CPUs, including a user CPU that executes various functions and a dedicated CPU whose functions are limited to the execution of predetermined functions,
Based on the type of operating system, the activation unit that enables the state of the dedicated CPU in the dedicated CPU status information indicating the state of the dedicated CPU, and
An information processing device including a start control unit that incorporates the dedicated CPU into a system configuration and activates the dedicated CPU when the state of the dedicated CPU in the dedicated CPU status information is valid.
前記起動制御部は、前記CPU間通信部に前記専用CPUとの通信を行わせ、前記CPU間通信部が前記専用CPUと通信を行った場合、前記専用CPUを前記システム構成に組み込んで起動させ、前記CPU間通信部が前記専用CPUと通信を行わない場合、前記専用CPUを前記システム構成に組み込まない
ことを特徴とする請求項1に記載の情報処理装置。 Further, an inter-CPU communication unit that communicates with the dedicated CPU when the dedicated CPU is valid in the dedicated CPU status information and does not communicate with the dedicated CPU when the dedicated CPU is not valid is provided.
The start control unit causes the CPU-to-CPU communication unit to communicate with the dedicated CPU, and when the CPU-to-CPU communication unit communicates with the dedicated CPU, the dedicated CPU is incorporated into the system configuration and started. The information processing device according to claim 1, wherein the dedicated CPU is not incorporated into the system configuration when the inter-CPU communication unit does not communicate with the dedicated CPU.
前記有効化部は、前記記憶部に格納された前記専用CPU情報を基に、前記専用CPU状態情報における前記専用CPUの位置を特定する
ことを特徴とする請求項1〜4のいずれか一つに記載の情報処理装置。 Further, a storage unit for storing dedicated CPU information for identifying the dedicated CPU from the CPU is provided.
One of claims 1 to 4, wherein the activation unit specifies the position of the dedicated CPU in the dedicated CPU status information based on the dedicated CPU information stored in the storage unit. The information processing unit described in.
オペレーティングシステムの種別を基に、前記専用CPUの状態を表す専用CPU状態情報における前記専用CPUの状態を有効にし、
前記専用CPU状態情報における前記専用CPUの状態が有効の場合に、前記専用CPUをシステム構成に組み込んで起動させる
処理をコンピュータに実行させることを特徴とする制御プログラム。 A control program for an information processing unit having a plurality of CPUs including a user CPU that executes various functions and a dedicated CPU whose functions are limited to the execution of predetermined functions.
Based on the type of operating system, enable the state of the dedicated CPU in the dedicated CPU status information indicating the state of the dedicated CPU.
A control program characterized by causing a computer to execute a process of incorporating the dedicated CPU into a system configuration and starting the dedicated CPU when the state of the dedicated CPU in the dedicated CPU status information is valid.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020096511A JP2021189919A (en) | 2020-06-02 | 2020-06-02 | Information processing apparatus and control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020096511A JP2021189919A (en) | 2020-06-02 | 2020-06-02 | Information processing apparatus and control program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021189919A true JP2021189919A (en) | 2021-12-13 |
Family
ID=78848434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020096511A Pending JP2021189919A (en) | 2020-06-02 | 2020-06-02 | Information processing apparatus and control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021189919A (en) |
-
2020
- 2020-06-02 JP JP2020096511A patent/JP2021189919A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4487920B2 (en) | Boot control method, computer system and processing program therefor | |
JP4921384B2 (en) | Method, apparatus and system for dynamically reallocating memory from one virtual machine to another | |
US6496893B1 (en) | Apparatus and method for swapping devices while a computer is running | |
JP6458146B2 (en) | Computer and memory area management method | |
EP3495938B1 (en) | Raid configuration | |
JP5149732B2 (en) | Virtual computer system | |
JP2004220218A (en) | Information processor | |
EP2926239A1 (en) | Bootability with multiple logical unit numbers | |
WO2005101205A1 (en) | Computer system | |
US7523229B2 (en) | Memory protection during direct memory access | |
US7886095B2 (en) | I/O space request suppressing method for PCI device | |
TW201106271A (en) | Method of switching different operating systems in computer | |
KR100767905B1 (en) | Computer system | |
JP2010282585A (en) | Power management circuit, power management method and power management program | |
JP4692912B2 (en) | Resource allocation system and resource allocation method | |
JP2021189919A (en) | Information processing apparatus and control program | |
JP3202647B2 (en) | Information processing device | |
US20120284711A1 (en) | Method and Arrangement for Configuring a Resource for a Virtual Runtime Environment | |
JP4841371B2 (en) | Computer system and its I / O space resource allocation method | |
JP7318799B2 (en) | Information processing device, operation control method and operation control program | |
WO2021181537A1 (en) | Information processor, information processing method, and information processing program | |
JP5481508B2 (en) | Computer, virtualization mechanism, computer system, and virtual machine activation management method | |
JP5553851B2 (en) | Computer, virtualization mechanism, and virtual machine activation management method | |
JP6364819B2 (en) | Information processing apparatus, information processing system, activation control method, and program | |
JP2003177929A (en) | Master machine, slave machine, and clustering system having them |