JP2021189919A - Information processing apparatus and control program - Google Patents

Information processing apparatus and control program Download PDF

Info

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
Application number
JP2020096511A
Other languages
Japanese (ja)
Inventor
靖彦 内田
Yasuhiko Uchida
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020096511A priority Critical patent/JP2021189919A/en
Publication of JP2021189919A publication Critical patent/JP2021189919A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Abstract

To provide an information processing apparatus configured to efficiently use hardware resources, and a control program.SOLUTION: A server system 1 includes a plurality of CPUs 10 including a user CPU which executes various functions and a dedicated CPU which is limited in a predetermined function. An enabling section 112 enables a state of the dedicated CPU in dedicated CPU information 201 indicating the state of the dedicated CPU, on the basis of the type of an OS 101. When the state of the dedicated CPU in the dedicated CPU information 201 is enabled, a start control unit 111 incorporates the dedicated CPU in the system configuration to start.SELECTED DRAWING: Figure 2

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.

特開2011−215751号公報Japanese Unexamined Patent Publication No. 2011-215751 特開2004−13522号公報Japanese Unexamined Patent Publication No. 2004-13522

しかしながら、暗号機能に対応してない旧式の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 start control unit 11 incorporates the dedicated CPU into the system configuration and starts it.

1つの側面では、本発明は、ハードウェアリソースを効率的に使用させることができる。 In one aspect, the invention allows efficient use of hardware resources.

図1は、サーバシステムのハードウェア構成図である。FIG. 1 is a hardware configuration diagram of a server system. 図2は、サーバシステムのブロック図である。FIG. 2 is a block diagram of the server system. 図3は、実施例1に係る専用CPU情報の一例を示す図である。FIG. 3 is a diagram showing an example of dedicated CPU information according to the first embodiment. 図4は、IPLコマンドを実行するCPUの選択方法を表す図である。FIG. 4 is a diagram showing a method of selecting a CPU for executing an IPL command. 図5は、実施例1に係る専用CPU状態情報の一例を示す図である。FIG. 5 is a diagram showing an example of dedicated CPU state information according to the first embodiment. 図6は、CPU間通信命令のフォーマットの一例を示す図である。FIG. 6 is a diagram showing an example of the format of the inter-CPU communication instruction. 図7は、モデル情報取得命令の一例を示す図である。FIG. 7 is a diagram showing an example of a model information acquisition command. 図8は、専用CPU有効化命令の一例を示す図である。FIG. 8 is a diagram showing an example of a dedicated CPU activation instruction. 図9は、専用CPU対応OSによるジョブの割り当てを表す図である。FIG. 9 is a diagram showing job allocation by a dedicated CPU-compatible OS. 図10は、専用CPU対応OSにおけるCPUの起動時の処理を示した図である。FIG. 10 is a diagram showing processing at the time of starting the CPU in the dedicated CPU compatible OS. 図11は、専用CPU非対応OSにおけるCPUの起動時の処理を示した図である。FIG. 11 is a diagram showing processing at the time of CPU startup in an OS that does not support a dedicated CPU. 図12は、専用CPU対応OSにおけるCPU起動処理のフローチャートである。FIG. 12 is a flowchart of CPU startup processing in a dedicated CPU-compatible OS. 図13は、実施例1に係るサーバシステムによるCPU間通信処理のフローチャートである。FIG. 13 is a flowchart of inter-CPU communication processing by the server system according to the first embodiment. 図14は、専用CPU非対応OSにおけるCPU起動処理のフローチャートである。FIG. 14 is a flowchart of CPU startup processing in an OS that does not support a dedicated CPU. 図15は、暗号処理を行う場合の一例のシステム構成図である。FIG. 15 is a system configuration diagram of an example in the case of performing encryption processing. 図16は、実施例2に係る専用CPU情報の一例を示す図である。FIG. 16 is a diagram showing an example of dedicated CPU information according to the second embodiment. 図17は、実施例2に係る専用CPU状態情報の一例を示す図である。FIG. 17 is a diagram showing an example of dedicated CPU state information according to the second embodiment. 図18は、実施例2に係るサーバシステムによるCPU間通信処理のフローチャートである。FIG. 18 is a flowchart of inter-CPU communication processing by the server system according to the second embodiment.

以下に、本願の開示する情報処理装置及び制御プログラムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置及び制御プログラムが限定されるものではない。 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 server system 1 includes a plurality of CPUs 10, a main storage device 20, a service processor 30, a channel subsystem 40, a switch 50, a control unit 60, an IO device 70, and a disk 80.

CPU10は、主記憶装置20及びサービスプロセッサ30とバスで接続される。CPU10は、バスを介して、主記憶装置20及びサービスプロセッサ30と信号の送受信を行う。また、CPU10及びサービスプロセッサ30は、チャネルサブシステム40とバスを介して接続される。 The CPU 10 is connected to the main storage device 20 and the service processor 30 by a bus. The CPU 10 transmits / receives signals to / from the main storage device 20 and the service processor 30 via the bus. Further, the CPU 10 and the service processor 30 are connected to the channel subsystem 40 via a bus.

また、チャネルサブシステム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 control unit 60. Further, in this embodiment, one control unit 60 is connected to the disk 80. Further, the other control unit 60 is connected to an IO (Input Output) device 70 other than the disk 80. The disk 80 stores various programs including the initial program 81 used when the server system 1 is started.

CPU10及びサービスプロセッサ30は、チャネルサブシステム40、スイッチ50及び制御ユニット60を介して、IO装置70及びディスク80と接続される。CPU10は、例えば、ディスク80に格納された様々なプログラムを読み出して主記憶装置20に展開して実行する。また、サービスプロセッサ30は、例えば、ディスク80に格納された初期プログラム81を読み出して主記憶装置20に展開して実行する。 The CPU 10 and the service processor 30 are connected to the IO device 70 and the disk 80 via the channel subsystem 40, the switch 50 and the control unit 60. For example, the CPU 10 reads various programs stored in the disk 80, expands them in the main storage device 20, and executes them. Further, the service processor 30 reads, for example, the initial program 81 stored in the disk 80, expands it into the main storage device 20, and executes it.

CPU10は、主記憶装置20を用いて演算を実行する。また、各CPU10は、互いに通信を行う。CPU10は、出荷時に、それぞれユーザCPU、専用CPU又は余剰CPUのいずれかの役割が割り当てられる。ユーザCPUは、ジョブを実行して演算を行うプロセッサである。専用CPUは、予め決められた処理の実行に機能が限定されたプロセッサである。余剰CPUは、使用されないプロセッサである。 The CPU 10 executes an operation using the main storage device 20. Further, each CPU 10 communicates with each other. At the time of shipment, the CPU 10 is assigned the role of either a user CPU, a dedicated CPU, or a surplus CPU, respectively. The user CPU is a processor that executes a job and performs an operation. The dedicated CPU is a processor whose function is limited to the execution of predetermined processing. The surplus CPU is an unused processor.

サービスプロセッサ30は、CPU10から独立して動作するプロセッサである。サービスプロセッサ30は、出荷時にCPU10の数及び各CPU10へのユーザCPU、専用CPU又は余剰CPUの割り当て設定を記憶する。サービスプロセッサ30は、サーバシステム1の起動時に、初期プログラム81をディスク80から読み出して、主記憶装置20上にローディングする。 The service processor 30 is a processor that operates independently of the CPU 10. The service processor 30 stores the number of CPUs 10 and the allocation settings of the user CPU, the dedicated CPU, or the surplus CPU to each CPU 10 at the time of shipment. When the server system 1 starts up, the service processor 30 reads the initial program 81 from the disk 80 and loads it onto the main storage device 20.

チャネルサブシステム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 CPU 10 and each channel. The switch 50 switches the connection route between the channel subsystem 40 and the control unit 60. One control unit 60 controls reading and writing of data to the IO device 70. The other control unit 60 controls reading and writing of data to the disk 80. The IO device 70 has a function of holding data. The IO device 70 reads and writes data according to the instructions of the control unit 60. The disk 80 is an auxiliary storage device. The disk 80 reads and writes data according to the instructions of the control unit 60.

次に、図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 server system 1 will be described. FIG. 2 is a block diagram of the server system. In the server system 1, OS 101 and firmware 102 operate. However, at startup, the OS 101 operates IPL (Initial Program Loading), which is a part thereof. Then, after booting, the entire OS 101 operates.

サービスプロセッサ30は、サーバシステム1の起動時に主記憶装置20にモデル情報200を展開する。さらに、サービスプロセッサ30は、主記憶装置20が保持するモデル情報200に専用CPU情報201を登録する。主記憶装置20が、「記憶部」の一例にあたる。 The service processor 30 expands the model information 200 in the main storage device 20 when the server system 1 is started. Further, the service processor 30 registers the dedicated CPU information 201 in the model information 200 held by the main storage device 20. The main storage device 20 is an example of a “storage unit”.

図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 dedicated CPU information 201 included in the model information 200 includes the number of dedicated CPUs 211 and the dedicated CPU start address 212.

ここでは、CPU#0〜#7という8つのCPU10が存在する場合で説明する。CPU#0〜#7における#0〜#7を、ここではCPU番号といい、サーバシステム1に搭載されたCPU10に連番で割り当てられた識別番号である。 Here, the case where eight CPUs 10 of CPUs # 0 to # 7 exist will be described. The # 0 to # 7 in the CPUs # 0 to # 7 are referred to as CPU numbers here, and are identification numbers assigned serially to the CPU 10 mounted on the server system 1.

専用CPU台数211は、専用CPUとしての役割が割り当てられたCPU10の台数を表す情報である。また、専用CPU開始アドレス212は、専用CPUとしての役割が割り当てられたCPU10の先頭のアドレスを表す。本実施例では、専用CPUが複数ある場合、CPU番号が連続するCPUに専用CPUとしての役割が割り当てられる。すなわち、専用CPU開始アドレス212及び専用CPU台数211から、CPU10のうちいずれが専用CPUかを識別することが可能となる。 The number of dedicated CPUs 211 is information indicating the number of CPUs 10 to which the role as a dedicated CPU is assigned. Further, the dedicated CPU start address 212 represents the start address of the CPU 10 to which the role as a dedicated CPU is assigned. In this embodiment, when there are a plurality of dedicated CPUs, a role as a dedicated CPU is assigned to CPUs having consecutive CPU numbers. That is, it is possible to identify which of the CPUs 10 is the dedicated CPU from the dedicated CPU start address 212 and the number of dedicated CPUs 211.

例えば、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 CPUs # 0 to # 3 are user CPUs, CPU # 4 is a dedicated CPU, and CPUs # 5 to # 7 are set to be surplus CPUs, the value of the number of dedicated CPUs 211 is 1. Become. Further, the dedicated CPU start address 212 is # 4. In this case, it is possible to identify that CPU # 4 is a dedicated CPU from the number of dedicated CPUs 211 and the dedicated CPU start address 212.

さらに、サービスプロセッサ30は、モデル情報200に登録された専用CPU情報201を参照して、専用CPUを特定し、ファームウェア102が有する専用CPU状態情報121の内の特定の専用CPUの情報を初期化して無効に設定する。 Further, the service processor 30 identifies the dedicated CPU by referring to the dedicated CPU information 201 registered in the model information 200, and initializes the information of the specific dedicated CPU in the dedicated CPU status information 121 of the firmware 102. To disable it.

その後、サービスプロセッサ30は、ディスク80から初期プログラム81を読み出して、主記憶装置20上にローディングする。さらに、サービスプロセッサ30は、CPU10からIPLコマンドを実行して装置の起動を制御するためのCPU10を1つ選択する。 After that, the service processor 30 reads the initial program 81 from the disk 80 and loads it onto the main storage device 20. Further, the service processor 30 executes an IPL command from the CPU 10 to select one CPU 10 for controlling the startup of the device.

ここで、後述するように、本実施例に係る専用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 CPU 10 to which the role of the dedicated CPU is assigned. However, if the CPU 10 to which the role of the dedicated CPU is assigned is selected as the CPU 10 for executing the IPL command, the CPU 10 to which the role of the dedicated CPU is assigned can be used as a normal CPU.

そこで、図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 service processor 30 is set at the time of shipment to select the CPU 10 which is the user CPU as the CPU 10 which can be selected as the CPU 10 which executes the IPL command. FIG. 4 is a diagram showing a method of selecting a CPU for executing an IPL command. For example, in the case of FIG. 4, the service processor 30 can select CPUs # 0 to # 3, which are user CPUs, as the CPU 10 for executing the IPL command, but is a dedicated CPU, CPU # 4, or a surplus CPU. Selection of CPUs # 5 to # 7 is prohibited.

サービスプロセッサ30によりIPLコマンドを実行するCPU10として選択されたCPU10は、初期プログラム81おけるIPLコマンドを実行する。このCPU10による初期プログラム81の実行により、ファームウェア102及びOS101の起動処理の機能が動作する。このサービスプロセッサ30が、「初期化部」の一例にあたる。 The CPU 10 selected as the CPU 10 for executing the IPL command by the service processor 30 executes the IPL command in the initial program 81. By executing the initial program 81 by the CPU 10, the functions of the boot processing of the firmware 102 and the OS 101 are operated. The service processor 30 corresponds to an example of the "initialization unit".

図2に戻って説明を続ける。ファームウェア102は、サービスプロセッサ30により起動される。ファームウェア102は、専用CPU状態情報121及びCPU間通信部122を有する。 The explanation will be continued by returning to FIG. The firmware 102 is started by the service processor 30. The firmware 102 has a dedicated CPU status information 121 and an inter-CPU communication unit 122.

図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 CPU status information 121 is information indicating whether or not the dedicated CPU can be used. The dedicated CPU state information 121 has, for example, an area for holding information corresponding to all the CPUs 10 mounted on the server system 1. In this embodiment, the dedicated CPU state information 121 has an area for holding information corresponding to CPUs # 0 to # 7. When the information indicating validity is stored in the corresponding area, the dedicated CPU state information 121 can be used by the dedicated CPU, which is the CPU 10 corresponding to the area. As described above, the area corresponding to the CPU 10 which is the dedicated CPU is initialized by the service processor 30 when the firmware 102 is started and is invalidated.

また、ファームウェア102が有する専用CPU状態情報121は、専用CPUを用いて所定機能を実行させる機能をOS101が有する場合、OS101により専用CPUにあたるCPU10に対応する情報が有効に設定される。 Further, in the dedicated CPU state information 121 possessed by the firmware 102, when the OS 101 has a function of executing a predetermined function by using the dedicated CPU, the information corresponding to the CPU 10 corresponding to the dedicated CPU is effectively set by the OS 101.

CPU間通信部122は、センスのためのCPU間通信命令をOS101の起動制御部111から受信する。そして、CPU間通信部122は、CPU間通信命令から通信の対象とするCPU10のCUPアドレス及び実行する処理であるセンスの情報を取得する。その後、CPU間通信部122は、対象とするCPU10に対して、以下に説明する手順でCPU間通信を実施する。 The inter-CPU communication unit 122 receives an inter-CPU communication command for sense from the startup control unit 111 of the OS 101. Then, the inter-CPU communication unit 122 acquires the CUP address of the CPU 10 to be communicated and the sense information which is the processing to be executed from the inter-CPU communication instruction. After that, the inter-CPU communication unit 122 carries out inter-CPU communication with the target CPU 10 by the procedure described below.

CPU間通信部122は、モデル情報200を用いて通信対象のCPU10が余剰CPUであるか否かを判定する。通信対象のCPU10が余剰CPUである場合、CPU間通信部122は、通信失敗を起動制御部111に通知する。具体的には、CPU間通信部122は、CPU間通信命令に対して条件コード3を応答する。 The inter-CPU communication unit 122 uses the model information 200 to determine whether or not the CPU 10 to be communicated is a surplus CPU. When the CPU 10 to be communicated is a surplus CPU, the inter-CPU communication unit 122 notifies the activation control unit 111 of the communication failure. Specifically, the inter-CPU communication unit 122 responds to the inter-CPU communication instruction with the condition code 3.

これに対して、通信対象のCPU10が余剰CPUでない場合、CPU間通信部122は、モデル情報200に含まれる専用CPU情報201を参照して、通信対象のCPU10が専用CPUか否かを判定する。 On the other hand, when the CPU 10 to be communicated is not a surplus CPU, the inter-CPU communication unit 122 refers to the dedicated CPU information 201 included in the model information 200 and determines whether or not the CPU 10 to be communicated is a dedicated CPU. ..

通信対象のCPU10が専用CPUでなくユーザCPUの場合、CPU間通信部122は、通信の正常完了を起動制御部111に通知する。具体的には、CPU間通信部122は、CPU間通信命令に対して条件コード0を応答する。その後、CPU間通信部122は、オーダで指定された処理であるセンスを実行する。これにより、CPU間通信部122は、ユーザCPUである通信対象のCPU10を検出する。 When the CPU 10 to be communicated is not a dedicated CPU but a user CPU, the inter-CPU communication unit 122 notifies the start control unit 111 of the normal completion of communication. Specifically, the inter-CPU communication unit 122 responds to the inter-CPU communication instruction with the condition code 0. After that, the inter-CPU communication unit 122 executes a sense, which is a process specified by the order. As a result, the inter-CPU communication unit 122 detects the CPU 10 to be communicated, which is the user CPU.

一方、通信対象のCPU10が専用CPUの場合、CPU間通信部122は、専用CPU状態情報121を参照して、専用CPUである通信対象のCPU10が有効か否かを判定する。通信対象のCPU10が無効の場合、CPU間通信部122は、通信失敗を起動制御部111に通知する。具体的には、CPU間通信部122は、CPU間通信命令に対して条件コード3を応答する。 On the other hand, when the CPU 10 to be communicated is a dedicated CPU, the inter-CPU communication unit 122 refers to the dedicated CPU status information 121 and determines whether or not the CPU 10 to be communicated, which is a dedicated CPU, is valid. When the CPU 10 to be communicated is invalid, the inter-CPU communication unit 122 notifies the activation control unit 111 of the communication failure. Specifically, the inter-CPU communication unit 122 responds to the inter-CPU communication instruction with the condition code 3.

これに対して、通信対象のCPU10が有効の場合、CPU間通信部122は、通信の正常完了を起動制御部111に通知する。具体的には、CPU間通信部122は、CPU間通信命令に対して条件コード0を応答する。その後、CPU間通信部122は、オーダで指定された処理であるセンスを実行する。これにより、CPU間通信部122は、専用CPUである通信対象のCPU10を検出する。 On the other hand, when the CPU 10 to be communicated is valid, the inter-CPU communication unit 122 notifies the activation control unit 111 of the normal completion of communication. Specifically, the inter-CPU communication unit 122 responds to the inter-CPU communication instruction with the condition code 0. After that, the inter-CPU communication unit 122 executes a sense, which is a process specified by the order. As a result, the inter-CPU communication unit 122 detects the CPU 10 to be communicated, which is a dedicated CPU.

その後、CPU間通信部122は、起動のためのCPU間通信命令を起動制御部111から受信する。そして、CPU間通信部122は、CPU間通信命令から通信の対象とするCPU10のCUPアドレス及び実行する処理である起動の情報を取得する。この場合、センスで検出されたユーザCPU及び専用CPUであるCPU10が通信対象となる。 After that, the inter-CPU communication unit 122 receives the inter-CPU communication command for activation from the activation control unit 111. Then, the inter-CPU communication unit 122 acquires the CUP address of the CPU 10 to be communicated and the start-up information which is the process to be executed from the inter-CPU communication command. In this case, the user CPU detected by the sense and the CPU 10 which is a dedicated CPU are the communication targets.

その後、CPU間通信部122は、センスの場合と同じ手順で、対象とするCPU10に対してCPU間通信を実施して起動する。指定されたCPU10とCPU間通信して起動を行うと、CPU間通信部122は、CPU間通信命令に対して条件コード0を応答して、通信対象のCPU10の起動完了を起動制御部111に通知する。 After that, the inter-CPU communication unit 122 performs inter-CPU communication with the target CPU 10 and starts up in the same procedure as in the case of sense. When the CPU 10 and the designated CPU 10 communicate with each other to start up, the inter-CPU communication unit 122 responds with the condition code 0 to the inter-CPU communication command and notifies the start control unit 111 of the completion of the start-up of the CPU 10 to be communicated. Notice.

また、ファームウェア102は、後述するように、OS101からモデル情報の取得命令を受ける。そして、ファームウェア102は、主記憶装置20からモデル情報200のコピーを取得してOS101へ送信する。 Further, the firmware 102 receives a model information acquisition command from the OS 101, as will be described later. Then, the firmware 102 acquires a copy of the model information 200 from the main storage device 20 and transmits it to the OS 101.

OS101では、IPLコマンドが実行されると、起動制御部111、有効化部112、システム組込部113及び占有メモリ管理部114が動作する。また、起動後には、OS101では、ジョブ割振制御部115及びジョブ実行部116が動作する。 In the OS 101, when the IPL command is executed, the start control unit 111, the activation unit 112, the system built-in unit 113, and the occupied memory management unit 114 operate. Further, after the startup, the job allocation control unit 115 and the job execution unit 116 operate in the OS 101.

起動制御部111は、IPLコマンドの実行開始を受けて、暗号機能などの予め決められた専用CPUを用いて所定機能を実行させる機能をOS101が有するか否かを判定する。以下では、専用CPUを用いて所定機能を実行させる機能を有するOS101を、専用CPU対応OSと呼ぶ。逆に、専用CPUを用いて所定機能を実行させる機能を有さないOS101を、専用CPU非対応OSと呼ぶ。 Upon receiving the start of execution of the IPL command, the activation control unit 111 determines whether or not the OS 101 has a function of executing a predetermined function using a predetermined dedicated CPU such as an encryption function. Hereinafter, the OS 101 having a function of executing a predetermined function by using a dedicated CPU is referred to as a dedicated CPU compatible OS. Conversely, an OS 101 that does not have a function of executing a predetermined function using a dedicated CPU is called an OS that does not support the dedicated CPU.

OS101が専用CPU対応OSの場合、起動制御部111は、専用CPUの有効化を有効化部112に指示する。一方、OS101が専用CPU非対応OSの場合、起動制御部111は、専用CPUの有効化の指示を行わない。 When the OS 101 is an OS compatible with a dedicated CPU, the startup control unit 111 instructs the activation unit 112 to activate the dedicated CPU. On the other hand, when the OS 101 is an OS that does not support the dedicated CPU, the start control unit 111 does not give an instruction to enable the dedicated CPU.

また、起動制御部111は、CPU間通信命令を送信して、使用可能なCPU10の検出処理であるセンスを行うためのCPU間通信の実行をファームウェア102のCPU間通信部122に指示する。 Further, the activation control unit 111 transmits an inter-CPU communication command to instruct the inter-CPU communication unit 122 of the firmware 102 to execute inter-CPU communication for performing a sense which is a detection process of the usable CPU 10.

図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 format 301 shown in FIG. In the inter-CPU transmission instruction, the CPU 10 to be operated is specified by the CPU address stored in the register # R3, and the operation to be performed by the order code stored in the memory address indicated by the second operand is specified. In the order code, for example, operations such as sense and activation are specified. Further, additional information used in the specified operation is specified by the parameter stored in the register # (R1 + 1) in the inter-CPU transmission instruction. Additional information includes, for example, a memory address. Further, the register # R1 in the inter-CPU transmission instruction stores the Status representing the execution result of the inter-CPU communication instruction.

そして、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. Condition code 0 indicates that the specified order code was executed normally. When the condition code is 0, the 0 value is stored in the Status of the register # R1. The condition code 1 indicates that the operation of the specified order code has failed. In the case of the condition code 1, the cause of failure is stored in the Status of the register # R1. The condition code 2 indicates that the operation was not completed because the CPU address is busy. The condition code 3 indicates that the communication with respect to the CPU address has failed. In the present embodiment, the communication failure includes the case where the CPU 10 that can be used is not mounted on the CPU address and the case where the CPU 10 indicated by the CPU address is a dedicated CPU and is invalid. When the CPU 10 that can be used is not mounted on the CPU address, the case where the CPU 10 indicated by the CPU address is a surplus CPU is also included.

その後、起動制御部111は、CPU間通信によるセンスの結果をCPU間通信部122から取得する。ここで、起動制御部111は、図4のCPU間通信命令の応答に含まれる実行結果を取得する。起動制御部111は、使用可能なCPU10として検出されないCPU10については通信失敗の応答をCPU間通信部122から受け取り、使用可能なCPU10として検出されたCPUについては通信成功の通知を受け取る。 After that, the start control unit 111 acquires the result of the sense by the inter-CPU communication from the inter-CPU communication unit 122. Here, the activation control unit 111 acquires the execution result included in the response of the inter-CPU communication instruction of FIG. The start control unit 111 receives a communication failure response from the inter-CPU communication unit 122 for the CPU 10 that is not detected as the usable CPU 10, and receives a communication success notification for the CPU detected as the usable CPU 10.

次に、起動制御部111は、検出されたCPU10の情報をシステム組込部113へ通知してシステム構成の実行を指示する。その後、起動制御部111は、占有メモリの確保完了の通知を占有メモリ管理部114から受ける。 Next, the start control unit 111 notifies the system built-in unit 113 of the detected information of the CPU 10 and instructs the execution of the system configuration. After that, the start control unit 111 receives a notification from the occupied memory management unit 114 of the completion of securing the occupied memory.

そして、起動制御部111は、各CPU10の起動のためのCPU間通信の実行をCPU間通信部122に指示する。この場合も、起動制御部111は、図5に示したフォーマットを用いてCPU間通信命令をCPU間通信部122へ送信して、そのCPU間通信命令に対する応答を受け取る。その後、起動制御部111は、CPU間通信部122から起動完了の通知を受けると起動処理を終了して、ジョブ割振制御部115及びジョブ実行部116の動作を開始させる。 Then, the start control unit 111 instructs the CPU-to-CPU communication unit 122 to execute the inter-CPU communication for starting each CPU 10. Also in this case, the activation control unit 111 transmits the inter-CPU communication command to the inter-CPU communication unit 122 using the format shown in FIG. 5, and receives the response to the inter-CPU communication command. After that, when the start control unit 111 receives the notification of the start completion from the inter-CPU communication unit 122, the start processing is terminated and the operations of the job allocation control unit 115 and the job execution unit 116 are started.

有効化部112は、専用CPUの有効化の指示を起動制御部111から受ける。そして、有効化部112は、主記憶装置20に格納されたモデル情報200のコピーを取得する。 The activation unit 112 receives an instruction to activate the dedicated CPU from the start control unit 111. Then, the activation unit 112 acquires a copy of the model information 200 stored in the main storage device 20.

ここで、主記憶装置20に格納されたモデル情報200はハードウェア専用領域に格納されるため、ファームウェア102であれば直接参照することが可能であるが、ソフトウェアであるOS101は参照することが困難である。そこで、有効化部112は、図7に示すモデル情報を取得するためのモデル情報取得命令(OBMI:Obtain Model Information)を使用してファームウェア102を介してモデル情報200を取得する。図7は、モデル情報取得命令の一例を示す図である。 Here, since the model information 200 stored in the main storage device 20 is stored in the hardware dedicated area, it is possible to directly refer to the firmware 102, but it is difficult to refer to the software OS 101. Is. Therefore, the activation unit 112 acquires the model information 200 via the firmware 102 by using the model information acquisition command (OBMI: Obtain Model Information) for acquiring the model information shown in FIG. 7. FIG. 7 is a diagram showing an example of a model information acquisition command.

モデル情報取得命令は、図7に示すフォーマット302を有する。モデル情報取得命令の第2オペランドは、フォーマット303を有する。フォーマット303の紙面に向かって左側の数字は、16進数で表した相対アドレスである。フォーマット303における領域304にモデル情報200のコピーが格納される。有効化部112は、ファームウェア102からのモデル情報取得命令の応答に格納されたモデル情報200のコピーを取得することで、モデル情報200に含まれる専用CPU情報201を確認する。 The model information acquisition instruction has the format 302 shown in FIG. The second operand of the model information acquisition instruction has the format 303. The numbers on the left side of the format 303 on the paper are hexadecimal relative addresses. A copy of the model information 200 is stored in the area 304 in the format 303. The activation unit 112 confirms the dedicated CPU information 201 included in the model information 200 by acquiring a copy of the model information 200 stored in the response of the model information acquisition command from the firmware 102.

そして、有効化部112は、専用CPU情報201から専用CPUであるCPU10を特定する。そして、有効化部112は、図8に示すフォーマット305を有する専用CPU有効化命令(EXCPU:Enable eXtended CPU)を生成する。図8は、専用CPU有効化命令の一例を示す図である。 Then, the activation unit 112 identifies the CPU 10 which is a dedicated CPU from the dedicated CPU information 201. Then, the activation unit 112 generates a dedicated CPU activation instruction (EXCPU: Enable eXtended CPU) having the format 305 shown in FIG. FIG. 8 is a diagram showing an example of a dedicated CPU activation instruction.

専用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 CPUs 10 represented by the number of dedicated CPUs 211 having a CPU address equal to or greater than the value stored in the dedicated CPU start address 212 of the dedicated CPU information 201. The dedicated CPU activation instruction has condition codes 0 and 3. The condition code 0 indicates that the dedicated CPU has been activated and the inter-CPU communication instruction targeting the CPU 10 can be executed. The condition code 3 indicates that the dedicated CPU is not supported and the specified process is not executed.

有効化部112は、図5に示すように、専用CPU有効化命令を実行することで、ファームウェア102に、専用CPU状態情報121の専用CPUの情報の有効化を依頼する。 As shown in FIG. 5, the activation unit 112 requests the firmware 102 to activate the information of the dedicated CPU of the dedicated CPU status information 121 by executing the dedicated CPU activation command.

システム組込部113は、センスにより検出されたCPU10の情報を起動制御部111から取得し、システム構成の実行の指示を受ける。そして、システム組込部113は、センスにより検出されたCPU10をシステム構成に組み込む。その後、システム組込部113は、システム構成に組み込まれたCPU10の情報を占有メモリ管理部114に通知する。 The system built-in unit 113 acquires the information of the CPU 10 detected by the sense from the start control unit 111, and receives an instruction to execute the system configuration. Then, the system built-in unit 113 incorporates the CPU 10 detected by the sense into the system configuration. After that, the system built-in unit 113 notifies the occupied memory management unit 114 of the information of the CPU 10 incorporated in the system configuration.

占有メモリ管理部114は、システム構成に組み込まれたCPU10の情報の入力をシステム組込部113から受ける。そして、占有メモリ管理部114は、システム構成に組み込まれたCPU10のそれぞれに対して主記憶装置20に占有メモリ領域を確保する。次に、占有メモリ管理部114は、各CPU10の占有メモリを初期化する。その後、占有メモリ管理部114は、占有メモリの確保完了の通知を起動制御部111へ送信する。 The occupied memory management unit 114 receives input of information of the CPU 10 incorporated in the system configuration from the system built-in unit 113. Then, the occupied memory management unit 114 secures an occupied memory area in the main storage device 20 for each of the CPUs 10 incorporated in the system configuration. Next, the occupied memory management unit 114 initializes the occupied memory of each CPU 10. After that, the occupied memory management unit 114 transmits a notification of the completion of securing the occupied memory to the activation control unit 111.

ジョブ割振制御部115は、モデル情報取得命令を用いて主記憶装置20に格納されたモデル情報200のコピーを、ファームウェア102を介して取得する。ここで、本実施例では、ジョブ割振制御部115は、ファームウェア102を介して新たにモデル情報200のコピーを取得したが、これに限らず、有効化部112が取得したモデル情報200のコピーを取得しても良い。また、ジョブ割振制御部115は、起動完了が完了すると動作を開始する。ジョブ割振制御部115は、実行するジョブの入力を受ける。 The job allocation control unit 115 acquires a copy of the model information 200 stored in the main storage device 20 via the firmware 102 by using the model information acquisition command. Here, in this embodiment, the job allocation control unit 115 newly acquires a copy of the model information 200 via the firmware 102, but is not limited to this, and the job allocation control unit 112 obtains a copy of the model information 200 acquired by the activation unit 112. You may get it. Further, the job allocation control unit 115 starts the operation when the start completion is completed. The job allocation control unit 115 receives the input of the job to be executed.

図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 allocation control unit 115 acquires the model information 200 stored in the main storage device 20. Then, the job allocation control unit 115 determines whether or not the input job is a job 312 having a predetermined function.

入力されたジョブが所定機能のジョブ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 job 312 having a predetermined function, the job allocation control unit 115 specifies the position of the dedicated CPU from the dedicated CPU information 201 included in the model information 200. After that, the job allocation control unit 115 assigns a job 312 having a predetermined function to the job execution unit 116 of the CPU 10 which is the specified dedicated CPU, and causes the job execution unit 115 to execute the job. For example, when the dedicated CPU is CPU # 4 as shown in FIG. 9, the job allocation control unit 115 allocates the job 312 having a predetermined function to CPU # 4.

これに対して、入力されたジョブが所定機能のジョブ以外の通常のジョブ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 allocation control unit 115 allocates a normal job 311 to a CPU 10 which is a user CPU. For example, as shown in FIG. 9, when the user CPU is CPU # 0 to 3, the job allocation control unit 115 assigns the normal job 311 to any of CPUs # 0 to # 3.

一方、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 allocation control unit 115 allocates the input job to the operating CPU 10 regardless of whether the job has a predetermined function or not. In this case, since the dedicated CPU does not operate, all the jobs including the job of the predetermined function are allocated to the CPU 10 which is the user CPU.

ジョブ実行部116は、ジョブの割り当てをジョブ割振制御部115から受ける。そして、ジョブ実行部116は、割り当てられたジョブを実行する。 The job execution unit 116 receives job allocation from the job allocation control unit 115. Then, the job execution unit 116 executes the assigned 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 CPU 10 in the dedicated CPU compatible OS and the dedicated CPU non-compatible OS at startup are compared. FIG. 10 is a diagram showing processing at the time of starting the CPU in the dedicated CPU compatible OS. FIG. 11 is a diagram showing processing at the time of CPU startup in an OS that does not support a dedicated CPU.

図10を参照して、専用CPU対応OSにおけるCPU10の起動時の処理を説明する。サービスプロセッサ30により選択されたCPU#0で、IPLコマンドの実行開始される(ステップS1)。 With reference to FIG. 10, the processing at the time of starting the CPU 10 in the dedicated CPU compatible OS will be described. CPU # 0 selected by the service processor 30 starts executing the IPL command (step S1).

IPLコマンド実行開始時に、専用CPU状態情報121おいて、専用CPUであるCPU#4の情報がサービスプロセッサ30により無効に設定される(ステップS2)。 At the start of IPL command execution, the information of CPU # 4, which is the dedicated CPU, is invalidated by the service processor 30 in the dedicated CPU status information 121 (step S2).

その後、有効化部112は、専用CPU有効化命令を実行して、専用CPU状態情報121におけるCPU#4の情報を有効に設定するよう依頼する(ステップS3)。 After that, the activation unit 112 executes the dedicated CPU activation command to request that the information of CPU # 4 in the dedicated CPU status information 121 be effectively set (step S3).

その後、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 inter-CPU communication unit 122 executes a sense in the inter-CPU communication (step S4). At this time, the inter-CPU communication unit 122 responds with the condition code 0 (CC = 0) for the user CPU and CPUs # 1 to # 4 which are dedicated CPUs, and conditions for CPUs # 5 and # 7 which are surplus CPUs. It responds with code 3 (CC = 3). That is, CPUs # 0 to # 4 are detected, including CPU # 0 of the execution source.

その後、CPU間通信部122は、検出されたCPU#1〜#4に対してCPU間通信を行い起動させる(ステップS5)。これにより、実行元のCPU#0を含め、CPU#0〜#4が起動して、ジョブの実行が開始される。 After that, the inter-CPU communication unit 122 performs inter-CPU communication with the detected CPUs # 1 to # 4 and activates them (step S5). As a result, CPUs # 0 to # 4, including the execution source CPU # 0, are started and job execution is started.

次に、図11を参照して、専用CPU非対応OSにおけるCPU10の起動時の処理を説明する。サービスプロセッサ30により選択されたCPU#0で、IPLコマンドの実行開始される(ステップS11)。 Next, with reference to FIG. 11, the processing at the time of starting the CPU 10 in the OS that does not support the dedicated CPU will be described. CPU # 0 selected by the service processor 30 starts executing the IPL command (step S11).

IPLコマンド実行開始時に、専用CPU状態情報121おいて、専用CPUであるCPU#4の情報がサービスプロセッサ30により無効に設定される(ステップS12)。この場合、専用CPU状態情報121におけるCPU#4の情報は無効の状態がその後も維持される。 At the start of IPL command execution, the information of CPU # 4, which is the dedicated CPU, is invalidated by the service processor 30 in the dedicated CPU status information 121 (step S12). In this case, the invalid state of the information of CPU # 4 in the dedicated CPU state information 121 is maintained even after that.

その後、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 inter-CPU communication unit 122 executes a sense in the inter-CPU communication (step S13). At this time, the inter-CPU communication unit 122 responds to the condition code 0 (CC = 0) for CPUs # 1 to # 3 which are user CPUs, and for CPUs # 4 to # 7 which are invalid dedicated CPUs and surplus CPUs. Responds with condition code 3 (CC = 3). That is, CPUs # 0 to # 3 are detected, including CPU # 0 of the execution source.

その後、CPU間通信部122は、検出されたCPU#1〜#3に対してCPU間通信を行い起動させる(ステップS14)。これにより、実行元のCPU#0を含め、CPU#0〜#3が起動して、ジョブの実行が開始される。 After that, the inter-CPU communication unit 122 performs inter-CPU communication with the detected CPUs # 1 to # 3 and activates them (step S14). As a result, CPUs # 0 to # 3, including the execution source CPU # 0, are started and job execution is started.

このように、専用CPU状態情報121が専用CPU対応OSにおいては有効化され、専用CPU非対応OSにおいては無効化されるため、専用CPU対応OSでは専用CPUが動作するのに対して、専用CPU非対応OSでは専用CPUが動作しない。 In this way, the dedicated CPU status information 121 is enabled in the dedicated CPU compatible OS and disabled in the dedicated CPU non-compatible OS, so that the dedicated CPU operates in the dedicated CPU compatible OS, whereas the dedicated CPU operates. The dedicated CPU does not work with non-compatible OS.

次に、図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 service processor 30 loads the initial program 81 onto the main storage device 20 (step S101).

次に、サービスプロセッサ30は、起動させたファームウェア102が有する専用CPU状態情報121の専用CPUの情報を初期化して無効に設定する(ステップS102)。 Next, the service processor 30 initializes the information of the dedicated CPU of the dedicated CPU status information 121 of the started firmware 102 and sets it to invalid (step S102).

次に、サービスプロセッサ30は、ユーザCPUであるCPU10の中から起動処理を行わせるCPU10を1つ起動させる(ステップS103)。 Next, the service processor 30 activates one CPU 10 that performs the activation process from the CPU 10 that is the user CPU (step S103).

起動したCPU10の起動制御部111は、専用CPU有効化命令を有効化部112に発行する(ステップS104)。有効化部112は、専用CPU有効化命令を実行して、ファームウェア102が有する専用CPU状態情報121の専用CPUの情報を有効に変更するよう依頼する。 The activation control unit 111 of the activated CPU 10 issues a dedicated CPU activation instruction to the activation unit 112 (step S104). The activation unit 112 executes a dedicated CPU activation command to request that the information of the dedicated CPU of the dedicated CPU status information 121 of the firmware 102 be effectively changed.

次に、起動制御部111は、センスのCPU間通信命令をCPU間通信部122へ送信する。CPU間通信部122は、CPU間通信命令を受けて、CPU間通信を実施してCPU10の検出を実行する(ステップS105)。その後、CPU間通信部122は、応答したCPU10を起動制御部111に通知する。 Next, the activation control unit 111 transmits a sense CPU-to-CPU communication command to the CPU-to-CPU communication unit 122. The CPU-to-CPU communication unit 122 receives the CPU-to-CPU communication command, performs inter-CPU communication, and executes detection of the CPU 10 (step S105). After that, the inter-CPU communication unit 122 notifies the start control unit 111 of the responding CPU 10.

起動制御部111は、応答があったCPU10の情報とともにシステム構成への組み込みをシステム組込部113に指示する。システム組込部113は、応答したCPU10をシステム構成に組み込む(ステップS106)。その後、システム組込部113は、システム構成に組み込んだCPU10の情報を占有メモリ管理部114に通知する。 The start control unit 111 instructs the system built-in unit 113 to incorporate into the system configuration together with the information of the CPU 10 that has responded. The system built-in unit 113 incorporates the responding CPU 10 into the system configuration (step S106). After that, the system built-in unit 113 notifies the occupied memory management unit 114 of the information of the CPU 10 incorporated in the system configuration.

占有メモリ管理部114は、システム構成に組み込まれたCPU10の情報の入力をシステム組込部113から受ける。そして、占有メモリ管理部114は、システム構成に組み込まれた各CPU10の占有メモリを主記憶装置20に確保し、さらに、確保した占有メモリの初期化を行う(ステップS107)。 The occupied memory management unit 114 receives input of information of the CPU 10 incorporated in the system configuration from the system built-in unit 113. Then, the occupied memory management unit 114 secures the occupied memory of each CPU 10 incorporated in the system configuration in the main storage device 20, and further initializes the reserved occupied memory (step S107).

起動制御部111は、占有メモリの確保完了の通知を占有メモリ管理部114から受ける。そして、起動制御部111は、起動のCPU間通信命令をCPU間通信部122へ送信する。CPU間通信部122は、CPU間通信命令を受けて、起動のためのCPU間通信を応答したCPU10に対して実施する(ステップS108)。 The start control unit 111 receives a notification from the occupied memory management unit 114 of the completion of securing the occupied memory. Then, the activation control unit 111 transmits the activation inter-CPU communication command to the inter-CPU communication unit 122. The inter-CPU communication unit 122 receives the inter-CPU communication command and executes the inter-CPU communication for activation with respect to the CPU 10 (step S108).

CPU間通信部122による起動のためのCPU間通信により、検出されたCPU10が起動して、システム構成内の全てのCPU10の起動が完了する(ステップS109)。 The detected CPU 10 is activated by the inter-CPU communication for activation by the inter-CPU communication unit 122, and the activation of all the CPU 10s in the system configuration is completed (step S109).

次に、図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 server system 1 according to this embodiment will be described. FIG. 13 is a flowchart of inter-CPU communication processing by the server system according to the first embodiment. The process shown in the flowchart of FIG. 13 corresponds to an example of the process performed in steps S105 and S108 of FIG.

CPU間通信部122は、モデル情報200の中の専用CPU情報201を参照する(ステップS201)。 The inter-CPU communication unit 122 refers to the dedicated CPU information 201 in the model information 200 (step S201).

次に、CPU間通信部122は、通信対象のCPU10が余剰CPUか否かを判定する(ステップS202)。通信対象のCPU10が余剰CPUの場合(ステップS202:肯定)、CPU間通信部122は、ステップS209へ進む。 Next, the inter-CPU communication unit 122 determines whether or not the CPU 10 to be communicated is a surplus CPU (step S202). When the CPU 10 to be communicated is a surplus CPU (step S202: affirmative), the inter-CPU communication unit 122 proceeds to step S209.

これに対して、通信対象のCPU10が余剰CPUでない場合(ステップS202:否定)、CPU間通信部122は、通信対象のCPU10が専用CPUか否かを判定する(ステップS203)。通信対象のCPU10が専用CPUでなくユーザCPUの場合(ステップS203:否定)、CPU間通信部122は、ステップS206へ進む。 On the other hand, when the CPU 10 to be communicated is not a surplus CPU (step S202: negative), the inter-CPU communication unit 122 determines whether or not the CPU 10 to be communicated is a dedicated CPU (step S203). When the CPU 10 to be communicated is not a dedicated CPU but a user CPU (step S203: negation), the inter-CPU communication unit 122 proceeds to step S206.

これに対して、通信対象のCPU10が専用CPUの場合(ステップS203:肯定)、CPU間通信部122は、専用CPU状態情報121を参照する(ステップS204)。 On the other hand, when the CPU 10 to be communicated is a dedicated CPU (step S203: affirmative), the inter-CPU communication unit 122 refers to the dedicated CPU status information 121 (step S204).

そして、CPU間通信部122は、通信対象のCPU10が無効か否かを判定する(ステップS205)。通信対象のCPU10が無効の場合(ステップS205:肯定)、CPU間通信部122は、ステップS209へ進む。 Then, the inter-CPU communication unit 122 determines whether or not the CPU 10 to be communicated is invalid (step S205). When the CPU 10 to be communicated is invalid (step S205: affirmative), the inter-CPU communication unit 122 proceeds to step S209.

これに対して、通信対象のCPU10が有効の場合(ステップS205:否定)、CPU間通信部122は、ステップS206に進む。 On the other hand, when the CPU 10 to be communicated is valid (step S205: negative), the inter-CPU communication unit 122 proceeds to step S206.

その後、CPU間通信部122は、CPU間通信命令で指定された命令が有効な命令か否かを判定する(ステップS206)。 After that, the inter-CPU communication unit 122 determines whether or not the instruction specified by the inter-CPU communication instruction is a valid instruction (step S206).

命令が有効な命令の場合(ステップS206:肯定)、CPU間通信部122は、命令に応じた処理を実行する(ステップS207)。例えば、CPU間通信部122は、命センスの命令であれば、センスのCPU間通信を実行し、起動の命令であれば起動のCPU間通信を実行する。 When the instruction is a valid instruction (step S206: affirmative), the inter-CPU communication unit 122 executes processing according to the instruction (step S207). For example, the inter-CPU communication unit 122 executes inter-CPU communication of sense if it is a command of life sense, and executes inter-CPU communication of activation if it is a start command.

これに対して、命令が無効な命令の場合(ステップ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 inter-CPU communication unit 122 responds to the activation control unit 111 with an invalid instruction indicating that the instruction is invalid (step S208). Specifically, the inter-CPU communication unit 122 responds with the condition code 1 (cc = 1) as a response to the inter-CPU communication instruction.

また、通信対象のCPU10が余剰CPUの場合(ステップS202:肯定)、又は、通信対象のCPU10が無効の場合(ステップS205:肯定)、CPU間通信部122は、通信失敗を応答する(ステップS209)。具体的には、CPU間通信部122は、CPU間通信命令の応答として条件コード3(cc=3)を応答する。 If the CPU 10 to be communicated is a surplus CPU (step S202: affirmative) or the CPU 10 to be communicated is invalid (step S205: affirmative), the inter-CPU communication unit 122 responds with a communication failure (step S209). ). Specifically, the inter-CPU communication unit 122 responds with the condition code 3 (cc = 3) as a response to the inter-CPU communication instruction.

次に、図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 service processor 30 loads the initial program 81 onto the main storage device 20 (step S301).

次に、サービスプロセッサ30は、起動させたファームウェア102が有する専用CPU状態情報121の専用CPUの情報を初期化して無効に設定する(ステップS302)。 Next, the service processor 30 initializes the information of the dedicated CPU of the dedicated CPU status information 121 of the started firmware 102 and sets it to invalid (step S302).

次に、サービスプロセッサ30は、ユーザCPUであるCPU10の中から起動処理を行わせるCPU10を1つ起動させる(ステップS303)。 Next, the service processor 30 activates one CPU 10 that performs the activation process from the CPU 10 that is the user CPU (step S303).

次に、起動制御部111は、センスのCPU間通信命令をCPU間通信部122へ送信する。CPU間通信部122は、CPU間通信命令を受けて、CPU間通信を実施してCPU10の検出を実行する(ステップS304)。その後、CPU間通信部122は、応答したCPU10を起動制御部111に通知する。 Next, the activation control unit 111 transmits a sense CPU-to-CPU communication command to the CPU-to-CPU communication unit 122. The CPU-to-CPU communication unit 122 receives the CPU-to-CPU communication command, performs inter-CPU communication, and executes detection of the CPU 10 (step S304). After that, the inter-CPU communication unit 122 notifies the start control unit 111 of the responding CPU 10.

起動制御部111は、応答があったCPU10の情報とともにシステム構成への組み込みをシステム組込部113に指示する。システム組込部113は、応答したCPU10をシステム構成に組み込む(ステップS305)。その後、システム組込部113は、システム構成に組み込んだCPU10の情報を占有メモリ管理部114に通知する。 The start control unit 111 instructs the system built-in unit 113 to incorporate into the system configuration together with the information of the CPU 10 that has responded. The system built-in unit 113 incorporates the responding CPU 10 into the system configuration (step S305). After that, the system built-in unit 113 notifies the occupied memory management unit 114 of the information of the CPU 10 incorporated in the system configuration.

占有メモリ管理部114は、システム構成に組み込まれたCPU10の情報の入力をシステム組込部113から受ける。そして、占有メモリ管理部114は、システム構成に組み込まれた各CPU10の占有メモリを主記憶装置20に確保し、さらに、確保した占有メモリの初期化を行う(ステップS306)。 The occupied memory management unit 114 receives input of information of the CPU 10 incorporated in the system configuration from the system built-in unit 113. Then, the occupied memory management unit 114 secures the occupied memory of each CPU 10 incorporated in the system configuration in the main storage device 20, and further initializes the reserved occupied memory (step S306).

起動制御部111は、占有メモリの確保完了の通知を占有メモリ管理部114から受ける。そして、起動制御部111は、起動のCPU間通信命令をCPU間通信部122へ送信する。CPU間通信部122は、CPU間通信命令を受けて、起動のためのCPU間通信を応答したCPU10に対して実施する(ステップS307)。 The start control unit 111 receives a notification from the occupied memory management unit 114 of the completion of securing the occupied memory. Then, the activation control unit 111 transmits the activation inter-CPU communication command to the inter-CPU communication unit 122. The inter-CPU communication unit 122 receives the inter-CPU communication command and executes the inter-CPU communication for activation with respect to the CPU 10 (step S307).

CPU間通信部122による起動のためのCPU間通信により、検出されたCPU10が起動して、システム構成内の全てのCPU10の起が完了する(ステップS308)。 The detected CPU 10 is activated by the inter-CPU communication for activation by the inter-CPU communication unit 122, and the activation of all the CPU 10s in the system configuration is completed (step S308).

図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 server system 1 operates various software products 401 and also operates an AES (Advanced Encryption Standard) encryption function 402. The CPU 10, which is the user CPU, operates various software products 401. Further, the CPU 10 which is a dedicated CPU operates the AES encryption function 402.

各種ソフトウェア製品401は、ユーザの入力情報やユーザ通知情報などをクライアント装置3から取得する。また、各種ソフトウェア製品401は、通信データなどを外部サーバ4から取得する。そして、各種ソフトウェア製品401は、AES暗号機能402と連動して、取得したデータを暗号化して取り扱う。 The various software products 401 acquire user input information, user notification information, and the like from the client device 3. Further, the various software products 401 acquire communication data and the like from the external server 4. The various software products 401 are linked with the AES encryption function 402 to encrypt and handle the acquired data.

また、サーバシステム1は、ストレージ装置2と接続される。ストレージ装置2は、AES暗号機能402により暗号化されたパスワードやシステム情報といった個人情報を格納する。 Further, the server system 1 is connected to the storage device 2. The storage device 2 stores personal information such as a password and system information encrypted by the AES encryption function 402.

また、各種ソフトウェア製品401は、AES暗号機能402により暗号化されたバックアップデータや保管データなどを外部保管装置5に格納する。さらに、各種ソフトウェア製品401は、AES暗号機能402により暗号化された性能情報や運用記録を出力データ6として出力する。 Further, the various software products 401 store the backup data, the storage data, and the like encrypted by the AES encryption function 402 in the external storage device 5. Further, the various software products 401 output the performance information and the operation record encrypted by the AES encryption function 402 as the output data 6.

以上に説明したように、本実施例に係るサーバシステムは、専用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 server system 1 according to the present embodiment, a first dedicated CPU for executing the first function and a second dedicated CPU for executing the second function are set in the mounted CPU 10. That is, in the CPU 10 which is the first dedicated CPU, the processes that can be executed are limited to the processes of the first function. Further, in the CPU 10 which is the second dedicated CPU, the process that can be executed is limited to the process of the second function.

図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 model information 200 includes the first dedicated CPU information 201A and the second dedicated CPU information 201B. The first dedicated CPU information 201A includes the number of first dedicated CPUs 211A and the first dedicated CPU start address 212A. The second dedicated CPU information 201B includes the number of second dedicated CPUs 211B and the second dedicated CPU start address 212B.

サービスプロセッサ30は、図16に示す第1専用CPU情報201A及び第2専用CPU情報201Bをモデル情報200に登録する。 The service processor 30 registers the first dedicated CPU information 201A and the second dedicated CPU information 201B shown in FIG. 16 in the model information 200.

図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 service processor 30 uses the first dedicated CPU information 201A and the second dedicated CPU information 201B of the model information 200 to determine the positions of the CPU 10 of the first dedicated CPU and the second dedicated CPU in the dedicated CPU status information 121 of the firmware 102. Identify. Then, the service processor 30 invalidates the information of the first dedicated CPU and the second dedicated CPU in the dedicated CPU status information 121 by using the specified position.

CPU間通信部122は、通信対象のCPU10が余剰CPUでなければ、第1専用CPU情報201A及び第2専用CPU情報201Bを参照して、通信対象のCPU10が第1専用CPU又は第2専用CPUいずれかであるかを判定する。 If the CPU 10 to be communicated is not a surplus CPU, the CPU-to-CPU communication unit 122 refers to the first dedicated CPU information 201A and the second dedicated CPU information 201B, and the CPU 10 to be communicated is the first dedicated CPU or the second dedicated CPU. Determine if it is either.

通信対象のCPU10が第1専用CPU又は第2専用CPUいずれかである場合、CPU間通信部122は、ファームウェア102が有する専用CPU状態情報121を参照して、通信対象のCPU10が無効か否かを判定する。 When the CPU 10 to be communicated is either the first dedicated CPU or the second dedicated CPU, the inter-CPU communication unit 122 refers to the dedicated CPU status information 121 possessed by the firmware 102 to determine whether or not the CPU 10 to be communicated is invalid. Is determined.

通信対象のCPU10が有効であれば、CPU間通信部122は、CPU間通信命令で指定された命令を実行する。 If the CPU 10 to be communicated is valid, the inter-CPU communication unit 122 executes the instruction specified by the inter-CPU communication instruction.

有効化部112は、第1専用CPU有効化命令を実行することで、ファームウェア102に対して、モデル情報200の第1専用CPU情報201Aを用いた第1専用CPUであるCPU10の位置特定および第1専用CPUであるCPU10の第1機能の有効化を依頼する。 By executing the first dedicated CPU activation command, the activation unit 112 identifies the position of the CPU 10 which is the first dedicated CPU using the first dedicated CPU information 201A of the model information 200 and the first 1 Requests activation of the first function of the CPU 10 which is a dedicated CPU.

また、有効化部112は、第2専用CPU有効化命令を実行することで、ファームウェア102に対して、モデル情報200の第2専用CPU情報201Bを用いた第2専用CPUであるCPU10の位置特定及び第2専用CPUであるCPU10の第2機能の有効化を依頼する。 Further, the activation unit 112 executes the second dedicated CPU activation command to specify the position of the CPU 10 which is the second dedicated CPU using the second dedicated CPU information 201B of the model information 200 with respect to the firmware 102. And the activation of the second function of the CPU 10 which is the second dedicated CPU is requested.

ジョブ割振制御部115は、入力されたジョブが第1機能を行うジョブか、第2機能を行うジョブか、その他の通常のジョブかを判定する。そして、ジョブ割振制御部115は、入力されたジョブが第1機能を行うジョブの場合、第1専用CPUであるCPU10にそのジョブを割り振る。また、ジョブ割振制御部115は、入力されたジョブが第2機能を行うジョブの場合、第2専用CPUであるCPU10にそのジョブを割り振る。これに対して、入力されたジョブが第1機能又は第2機能以外を行う通常のジョブの場合、ジョブ割振制御部115は、ユーザCPUであるCPU10にそのジョブを割り振る。 The job allocation control unit 115 determines whether the input job is a job that performs the first function, a job that performs the second function, or another normal job. Then, when the input job is a job that performs the first function, the job allocation control unit 115 allocates the job to the CPU 10 which is the first dedicated CPU. Further, when the input job is a job performing the second function, the job allocation control unit 115 allocates the job to the CPU 10 which is the second dedicated CPU. On the other hand, when the input job is a normal job other than the first function or the second function, the job allocation control unit 115 allocates the job to the CPU 10 which is the user CPU.

次に、図18を参照して、本実施例に係るサーバシステム1によるCPU間通信によるセンス処理の流れについて説明する。図18は、実施例2に係るサーバシステムによるCPU間通信によるセンス処理のフローチャートである。 Next, with reference to FIG. 18, a flow of sense processing by inter-CPU communication by the server system 1 according to the present embodiment will be described. FIG. 18 is a flowchart of sense processing by inter-CPU communication by the server system according to the second embodiment.

CPU間通信部122は、モデル情報200の中の第1専用CPU情報201A及び第2専用CPU情報201Bを参照する(ステップS401)。 The inter-CPU communication unit 122 refers to the first dedicated CPU information 201A and the second dedicated CPU information 201B in the model information 200 (step S401).

次に、CPU間通信部122は、通信対象のCPU10が余剰CPUか否かを判定する(ステップS402)。通信対象のCPU10が余剰CPUの場合(ステップS402:肯定)、CPU間通信部122は、ステップS409へ進む。 Next, the inter-CPU communication unit 122 determines whether or not the CPU 10 to be communicated is a surplus CPU (step S402). When the CPU 10 to be communicated is a surplus CPU (step S402: affirmative), the inter-CPU communication unit 122 proceeds to step S409.

これに対して、通信対象の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 CPU 10 to be communicated is not a surplus CPU (step S402: negation), the inter-CPU communication unit 122 determines whether or not the CPU 10 to be communicated is a first dedicated CPU or a second dedicated PCU. (Step S403). When the CPU 10 to be communicated is not a first dedicated CPU or a second dedicated CPU but a user CPU (step S403: negative), the inter-CPU communication unit 122 proceeds to step S406.

これに対して、通信対象のCPU10が第1専用CPU又は第2専用PCUのいずれかの場合(ステップS403:肯定)、CPU間通信部122は、ファームウェア102が有する専用CPU状態情報121を参照する(ステップS404)。 On the other hand, when the CPU 10 to be communicated is either the first dedicated CPU or the second dedicated PCU (step S403: affirmative), the inter-CPU communication unit 122 refers to the dedicated CPU status information 121 possessed by the firmware 102. (Step S404).

そして、CPU間通信部122は、通信対象のCPU10が無効か否かを判定する(ステップS405)。通信対象のCPU10が無効の場合(ステップS405:肯定)、CPU間通信部122は、ステップS409へ進む。 Then, the inter-CPU communication unit 122 determines whether or not the CPU 10 to be communicated is invalid (step S405). When the CPU 10 to be communicated is invalid (step S405: affirmative), the inter-CPU communication unit 122 proceeds to step S409.

これに対して、通信対象のCPU10が有効の場合(ステップS405:否定)、CPU間通信部122は、ステップS406に進む。 On the other hand, when the CPU 10 to be communicated is valid (step S405: negative), the inter-CPU communication unit 122 proceeds to step S406.

その後、CPU間通信部122は、CPU間通信命令で指定された命令が有効な命令か否かを判定する(ステップS406)。 After that, the inter-CPU communication unit 122 determines whether or not the instruction specified by the inter-CPU communication instruction is a valid instruction (step S406).

命令が有効な命令の場合(ステップS406:肯定)、CPU間通信部122は、命令に応じた処理を実行する(ステップS407)。 When the instruction is a valid instruction (step S406: affirmative), the inter-CPU communication unit 122 executes processing according to the instruction (step S407).

これに対して、命令が無効な命令の場合(ステップ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 inter-CPU communication unit 122 responds to the activation control unit 111 with an invalid instruction indicating that the instruction is invalid (step S408). Specifically, the inter-CPU communication unit 122 responds with the condition code 1 (cc = 1) as a response to the inter-CPU communication instruction.

また、通信対象のCPU10が余CPUの場合(ステップS402:肯定)、又は、通信対象のCPU10が無効の場合(ステップS405:肯定)、CPU間通信部122は、通信失敗を応答する(ステップS409)。具体的には、CPU間通信部122は、CPU間通信命令の応答として条件コード3(cc=3)を応答する。 Further, when the CPU 10 to be communicated is a surplus CPU (step S402: affirmative) or when the CPU 10 to be communicated is invalid (step S405: affirmative), the inter-CPU communication unit 122 responds with a communication failure (step S409). ). Specifically, the inter-CPU communication unit 122 responds with the condition code 3 (cc = 3) as a response to the inter-CPU communication instruction.

以上に説明したように、本実施例に係るサーバシステムは、予め決められた異なる機能を異なる専用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 server system 10 CPU
20 Main storage unit 30 Service processor 40 Channel subsystem 50 Switch 60 Control unit 70 IO device 80 Disk 81 Initial program 111 Startup control unit 112 Activation unit 113 System embedding unit 114 Occupied memory management unit 115 Job allocation control unit 116 Job execution Part 121 Dedicated CPU status information 122 Inter-CPU communication unit 200 Model information 201 Dedicated CPU information 211 Dedicated CPU number 212 Dedicated CPU start address 201A 1st dedicated CPU information 201B 2nd dedicated CPU information 211A 1st dedicated CPU number 211B 2nd dedicated CPU Number of units 212A 1st dedicated CPU start address 212B 2nd dedicated CPU start address

Claims (7)

各種機能を実行するユーザCPU及び所定機能の実行に機能が制限された専用CPUを含む複数のCPUと、
オペレーティングシステムの種別を基に、前記専用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との通信を行わせ、前記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又は2に記載の情報処理装置。 The information processing apparatus according to claim 1 or 2, wherein the activation unit activates the state of the dedicated CPU in the dedicated CPU state information when the operating system can use the dedicated CPU. .. 前記専用CPU状態情報における前記専用CPUの状態を予め無効とする初期化部をさらに備えたことを特徴とする請求項1〜3のいずれか一つに記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 3, further comprising an initialization unit that invalidates the state of the dedicated CPU in the dedicated CPU state information in advance. 前記CPUの中から前記専用CPUを特定するための専用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を前記システム構成に組み込まないことを特徴とする請求項1〜5のいずれか一つに記載の情報処理装置。 The information processing device according to any one of claims 1 to 5, wherein the activation control unit does not incorporate a CPU other than the user CPU and the dedicated CPU among the CPUs into the system configuration. 各種機能を実行するユーザCPU及び所定機能の実行に機能が制限された専用CPUを含む複数のCPUを有する情報処理装置の制御プロブラムであって、
オペレーティングシステムの種別を基に、前記専用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.
JP2020096511A 2020-06-02 2020-06-02 Information processing apparatus and control program Pending JP2021189919A (en)

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)

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