JP2003186692A - Duplex system - Google Patents

Duplex system

Info

Publication number
JP2003186692A
JP2003186692A JP2001389289A JP2001389289A JP2003186692A JP 2003186692 A JP2003186692 A JP 2003186692A JP 2001389289 A JP2001389289 A JP 2001389289A JP 2001389289 A JP2001389289 A JP 2001389289A JP 2003186692 A JP2003186692 A JP 2003186692A
Authority
JP
Japan
Prior art keywords
cpu
data
type
duplex system
tlb
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
JP2001389289A
Other languages
Japanese (ja)
Inventor
Akiomi Kadota
章臣 門田
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2001389289A priority Critical patent/JP2003186692A/en
Publication of JP2003186692A publication Critical patent/JP2003186692A/en
Pending legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Safety Devices In Control Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem that a duplex system has not been able to be constituted to perfectly copy one memory image of the two CPU modules to the other, when duplexing processing begins, if the CPUs of two CPU modules which constitute the duplex system are not the same. <P>SOLUTION: The types of the CPUs are detected, and if they are not mutually the same, data specific to the CPUs such as TLB (Translation Look-aside Buffer) data are stored to a storage in the old-type CPU format at the time of task dispatch; and when the data are read out, they are again converted to load to a register. Even if the types of the CPUs are mutually different, the duplex system can be constituted. <P>COPYRIGHT: (C)2003,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】この発明は、二重化システム
に関し、特にプロセス制御システムに用いて好適な二重
化システムに関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a duplex system, and more particularly to a duplex system suitable for use in a process control system.

【0002】[0002]

【従来の技術】図13にプロセス制御システムで用いら
れるFCU(Field Control Unit)の構成を示す。図13
において、51および52はCPUモジュール、4はI
/Oインターフェイスモジュールであり、これらは二重
化されたバックプレーンバス61、62で接続されてい
る。
2. Description of the Related Art FIG. 13 shows the configuration of an FCU (Field Control Unit) used in a process control system. FIG.
, 51 and 52 are CPU modules, 4 is I
/ O interface module, which are connected by redundant backplane buses 61 and 62.

【0003】I/Oインターフェイスモジュール4はI
/O専用バスで接続されるI/Oモジュール(図示せ
ず)とCPUモジュール51,52とのインターフェイ
スを提供する。I/Oモジュールはフィールド上のセン
サやアクチュエータなどとのデータの送受信や交換など
の機能を備えており、プラント制御では一般的なデータ
伝送プロトコルによりデータ交換を行う。
The I / O interface module 4 is an I
It provides an interface between an I / O module (not shown) connected by an I / O dedicated bus and the CPU modules 51 and 52. The I / O module has a function of transmitting / receiving data to / from a sensor or an actuator on the field and exchanging data, and in plant control, data is exchanged by a general data transmission protocol.

【0004】FCS(Field Control Station)は前述の
FCUおよびI/O専用バスによってこのFCUに接続
されるI/Oモジュールから構成されている。FCSは
プラント制御装置としてネットワーク接続されたフィー
ルド機器とのデータ交換やデータ保持およびこれらのデ
ータ間の演算などの機能を有する。
An FCS (Field Control Station) is composed of the above-mentioned FCU and an I / O module connected to this FCU by an I / O dedicated bus. The FCS has a function as a plant control device such as data exchange with field devices connected to a network, data retention, and calculation between these data.

【0005】CPUモジュール51および52はマイク
ロプロセッサを内蔵し、このマイクロプロセッサ上でO
S(Operating System)が動作する。このOSはマルチタ
スクOSであり、このマルチタスクOS上で動作するタ
スクに対するインターフェイスを実装している。このよ
うなマルチタスクOSおよびタスクを包含するソフトウ
エアモジュールをシステムプログラムという。
The CPU modules 51 and 52 have a built-in microprocessor, and the
S (Operating System) operates. This OS is a multi-task OS, and implements an interface for tasks operating on this multi-task OS. A software module including such a multi-task OS and tasks is called a system program.

【0006】図14にCPUモジュール51、52の構
成を示す。CPUモジュール51にはメモリ511が内
蔵され、CPUモジュール52にはメモリ521が内蔵
されている。これらのCPUモジュールは同じバックプ
レーンバスに接続された他のCPUモジュールとの共有
メモリアクセスのインターフェイスを有している。
FIG. 14 shows the configuration of the CPU modules 51 and 52. The CPU module 51 has a built-in memory 511, and the CPU module 52 has a built-in memory 521. These CPU modules have an interface for shared memory access with other CPU modules connected to the same backplane bus.

【0007】すなわち、2枚のCPUモジュール51、
52を実装すると、図14の矢印で示すように、お互い
のメモリ空間の一部に対してリードライトアクセスを行
うことができるようになっている。また、CPUモジュ
ール51、52の間で相互に割り込みをかけるための割
り込み信号を出力することもできる。
That is, two CPU modules 51,
When 52 is mounted, as shown by the arrow in FIG. 14, read / write access can be performed to a part of each memory space. It is also possible to output an interrupt signal for interrupting between the CPU modules 51 and 52.

【0008】このような機能を利用して、各々のCPU
モジュール上で動作するOSにより、同時実行方式で二
重化処理を行っている。すなわち、図13のシステムは
2つのCPUモジュール51,52によって二重化され
ている。
Utilizing such a function, each CPU
The OS operating on the module performs duplex processing by the simultaneous execution method. That is, the system of FIG. 13 is duplicated by the two CPU modules 51 and 52.

【0009】二重化されたCPUモジュールは制御側
(主動作側)と待機側(従動作側)に分かれて動作す
る。制御側のCPUモジュールは優先的にI/Oインタ
ーフェイスに対するアクセスが認められている。すなわ
ち、フィールド側に対する制御動作を直接実行すること
ができる。
The duplicated CPU module operates separately on the control side (main operation side) and the standby side (slave operation side). The control side CPU module is preferentially granted access to the I / O interface. That is, the control operation for the field side can be directly executed.

【0010】次に、図15に基づいてCPUモジュール
51と同52の動作を説明する。なお、CPUモジュー
ル51が待機側、CPUモジュール52が制御側とす
る。制御側のCPUモジュール52のOS522は自身
のモジュール内のメモリ521に書き込むと同時に、待
機側のCPUモジュール51内のメモリ511にも同じ
データを書き込む。すなわち、メモリ521とメモリ5
11の内容は常に同じになっている。
Next, the operation of the CPU modules 51 and 52 will be described with reference to FIG. The CPU module 51 is on the standby side and the CPU module 52 is on the control side. The OS 522 of the CPU module 52 on the control side writes the same data to the memory 521 in the CPU module 51 on the standby side at the same time as writing to the memory 521 in its own module. That is, the memory 521 and the memory 5
The contents of 11 are always the same.

【0011】図16に制御側のCPUモジュール52が
動作を停止したときの状態を示す。CPUモジュール5
2が動作を停止すると直ちに待機側のCPUモジュール
51が制御側に切り替わる。すなわち、OS512はメ
モリ511をアクセスして制御動作を継続する。もちろ
ん、待機側のCPUモジュールが動作を停止しても、制
御動作には影響しない。
FIG. 16 shows a state when the CPU module 52 on the control side stops its operation. CPU module 5
When the CPU 2 stops operating, the CPU module 51 on the standby side is immediately switched to the control side. That is, the OS 512 accesses the memory 511 and continues the control operation. Of course, even if the CPU module on the standby side stops operating, it does not affect the control operation.

【0012】このような二重化システムを構築するため
には、CPUモジュールのシステムプログラムに対する
プラットフォーム、特にOSに対するハードウエアリソ
ースのインターフェイスが同一でなければならない。
In order to construct such a duplicated system, the interfaces of the hardware resources to the platform for the system program of the CPU module, especially to the OS, must be the same.

【0013】一般のマルチタスクOSはタスク管理機能
を備えており、タスクコンテキストの論理・物理マッピ
ング機能を提供している。図17に論理・物理マッピン
グ機能の構成を示す。
A general multi-task OS has a task management function and provides a logical / physical mapping function of a task context. FIG. 17 shows the configuration of the logical / physical mapping function.

【0014】図17において、マイクロプロセッサ71
はTLB(Translation Look a side Buffer)レジスタ7
2を介してメモリ73にアクセスする。TLBレジスタ
72はマイクロプロセッサ71が出力する論理アドレス
を物理アドレスに変換する。
In FIG. 17, the microprocessor 71
Is TLB (Translation Look a side Buffer) register 7
2 to access the memory 73. The TLB register 72 converts the logical address output by the microprocessor 71 into a physical address.

【0015】TLBレジスタ72はメモリ73上に構築
されるページテーブル731を使って設定される。ペー
ジテーブル731はシステム初期化時に初期化される。
ページテーブル731にはページテーブルエントリが保
存されており、タスク実行時にマイクロプロセッサ71
の要求に従ってOSがTBLレジスタ72に論理・物理
マッピングデータをロードする。
The TLB register 72 is set by using a page table 731 constructed on the memory 73. The page table 731 is initialized when the system is initialized.
A page table entry is stored in the page table 731, and the microprocessor 71 is used when executing a task.
The OS loads the logical / physical mapping data into the TBL register 72 in accordance with the request of the above.

【0016】ページテーブルエントリはタスク毎に用意
され、各々のタスク固有の論理アドレスにマッピングさ
れる。このマッピングは予めTLBレジスタに確保され
ているカーネル予約領域を用いて行われる。
A page table entry is prepared for each task and is mapped to a logical address unique to each task. This mapping is performed using the kernel reserved area reserved in the TLB register in advance.

【0017】タスク動作時に発生するマイクロプロセッ
サの要求に対する処理は下記のように行われる。TLB
ミス発生アドレスをコンテキストレジスタに取り込み、
このミスアドレスから張り替え用ページテーブルエント
リへの論理アドレスを生成する。
The processing for the request of the microprocessor generated during the task operation is performed as follows. TLB
Capture the address of the miss in the context register,
A logical address from the miss address to the replacement page table entry is generated.

【0018】次に、この論理アドレスを用いてTLBレ
ジスタ経由で再びアクセスを行って、獲得したページテ
ーブルエントリをTLBレジスタ中のユーザ用エントリ
の任意の位置にロードし、この新しく設定されたエント
リデータを使用して、ミス発生アドレスへのアクセスを
継続させる。
Next, using this logical address, the access is made again via the TLB register to load the acquired page table entry into an arbitrary position of the user entry in the TLB register, and the newly set entry data is loaded. To continue to access the address where the error occurred.

【0019】タスクディスパッチ処理時には、TLBレ
ジスタを含むマイクロプロセッサのレジスタ群に保存さ
れている直前の実行コンテキストを直前の実行タスク管
理領域に保存し、直後に実行するタスクの管理領域から
レジスタコンテキストをリストアする。
During task dispatch processing, the immediately preceding execution context saved in the register group of the microprocessor including the TLB register is saved in the immediately preceding execution task management area, and the register context is restored from the management area of the task to be executed immediately after. To do.

【0020】TLBレジスタはマイクロプロセッサに依
存するハードウエアによる機構の一部であるために、そ
のコンテキストデータはマイクロプロセッサの仕様毎に
異なっている。これを図18を用いて説明する。
Since the TLB register is a part of a hardware mechanism that depends on the microprocessor, its context data differs depending on the specifications of the microprocessor. This will be described with reference to FIG.

【0021】図18において、タイプ1CPUはタイプ
1CPUのエントリデータを用いてTLBエントリを設
定する。同様に、タイプ2CPUはタイプ2エントリデ
ータを用いてTLBエントリを設定する。タイプ1とタ
イプ2ではCPUの仕様が異なっているので、タイプ1
CPUのエントリデータはタイプ2CPUのエントリデ
ータと一致しない。
In FIG. 18, the type 1 CPU sets the TLB entry using the entry data of the type 1 CPU. Similarly, the type 2 CPU sets the TLB entry using the type 2 entry data. Since the CPU specifications are different between type 1 and type 2, type 1
The CPU entry data does not match the type 2 CPU entry data.

【0022】図19に2つのCPUモジュールを用いた
二重化システムを示す。8は制御側のCPUモジュール
のメモリイメージであり、タスクコントロールデータ8
1およびOSコントロールデータ84が作られる。タス
クコントロールデータ81にはタスク毎に実行コンテキ
スト82が作られ、これらの実行コンテキスト82内に
はTLB保存エリア83が確保される。
FIG. 19 shows a duplex system using two CPU modules. 8 is a memory image of the CPU module on the control side, and the task control data 8
1 and OS control data 84 are created. Execution contexts 82 are created in the task control data 81 for each task, and a TLB storage area 83 is secured in these execution contexts 82.

【0023】また、OSコントロールデータ84内には
複数のページテーブルが作られる。二重化処理の開始時
にこのメモリイメージ8は他方(待機側)CPUモジュ
ールのメモリにコピーされる。
A plurality of page tables are created in the OS control data 84. At the start of the duplication process, this memory image 8 is copied to the memory of the other (standby side) CPU module.

【0024】[0024]

【発明が解決しようとする課題】しかしながら、このよ
うな二重化システムには、次のような課題があった。
However, such a duplex system has the following problems.

【0025】図19に示すように、一方のCPUモジュ
ールのデータをそのまま他方にコピーしていたが、これ
らのデータはCPUの仕様に密接に関係したデータであ
り、CPUが異なるとコンテキストの保存データやペー
ジテーブルなどのハードウエア依存の管理データが異な
る。そのため、同じCPUモジュールを用いないと二重
化システムを実現することができないという課題があっ
た。
As shown in FIG. 19, the data of one CPU module was copied to the other as it is, but these data are data closely related to the specifications of the CPU. Hardware-dependent management data such as a page table and page table is different. Therefore, there is a problem in that a duplicated system cannot be realized unless the same CPU module is used.

【0026】一般にCPUは製品寿命が短く、短時間で
頻繁に仕様が変更されることが多々ある。しかるにプロ
セス制御装置は製品サイクルが長い製品であるため、C
PUモジュールを変更しなければならない場合もある。
このような場合、システムを見直さなければならず、甚
だしい場合には全く新たなシステムを構築しなければな
らないという課題もあった。
Generally, a CPU has a short product life and its specifications are often changed in a short time. However, since the process control device is a product with a long product cycle, C
It may be necessary to change the PU module.
In such a case, there was also a problem that the system had to be reviewed, and in the worst case, a completely new system had to be constructed.

【0027】従って本発明が解決しようとする課題は、
異なるタイプのCPUを搭載したCPUモジュールを用
いて構築することが出来る二重化システムを提供するこ
とにある。
Therefore, the problem to be solved by the present invention is
An object of the present invention is to provide a duplex system that can be constructed by using CPU modules equipped with different types of CPUs.

【0028】[0028]

【課題を解決するための手段】このような課題を解決す
るために、本発明のうち請求項1記載の発明は、制御側
と待機側の2つのCPUモジュールから構成され、これ
ら2つのCPUモジュールのメモリイメージの所定の部
分を等価に保つように制御される二重化システムであっ
て、これら2つのCPUモジュールに内蔵されているC
PUのタイプを検出し、これらのCPUのタイプが異な
っているときに、これらのCPU固有のデータをメモリ
に格納する際に、予め定められたCPUのデータに変換
して格納するようにしたものである。タイプが異なるC
PUが搭載されたCPUモジュールを用いて二重化シス
テムを構築できる。
In order to solve such a problem, the invention according to claim 1 of the present invention comprises two CPU modules of a control side and a standby side, and these two CPU modules are provided. C is a dual system that is controlled so as to keep a predetermined part of the memory image of the CPU module equivalent, and the C system is built in these two CPU modules.
The type of PU is detected, and when these CPU types are different, when storing these CPU-specific data in the memory, they are converted into predetermined CPU data and stored. Is. Different type C
A duplex system can be constructed using a CPU module equipped with a PU.

【0029】請求項2記載の発明は、請求項1記載の発
明において、この二重化システム上で動作するOSはリ
アルタイムOSであり、タスクディスパッチ時に前記C
PU固有のデータをメモリに格納するようにしたもので
ある。タスクディスパッチが頻繁に発生するリアルタイ
ムOSに用いて好適である。
According to a second aspect of the present invention, in the first aspect of the invention, the OS operating on this duplex system is a real-time OS, and the C at the time of task dispatch is used.
The data unique to the PU is stored in the memory. It is suitable for use in a real-time OS in which task dispatch frequently occurs.

【0030】請求項3記載の発明は、請求項1または請
求項2記載の発明において、前記予め定められたCPU
は、前記2つのCPUモジュールに搭載されているCP
Uのうち旧型の方のCPUであることを特徴としたもの
である。処理速度の遅い旧型CPUの負荷を増加させな
い。
According to a third aspect of the invention, in the invention of the first or second aspect, the predetermined CPU
Is the CP installed in the two CPU modules
It is characterized by being the CPU of the old type of U. It does not increase the load on the old CPU, which has a slow processing speed.

【0031】請求項4記載の発明は、請求項1ないし請
求項3記載の発明において、前記CPU固有のデータ
は、TLBデータであることを特徴としたものである。
CPUの動作上最重要なデータであるTLBに用いて効
果が大きい。
According to a fourth aspect of the present invention, in the first to third aspects of the invention, the CPU-specific data is TLB data.
It is very effective when used for TLB, which is the most important data for CPU operation.

【0032】請求項5記載の発明は、請求項1ないし請
求項4記載の発明において、前記予め定められたCPU
を内蔵しないCPUモジュールは内蔵されるメモリ上に
TLBエミュレーションバッファ23を具備し、前記C
PU固有のデータを格納する際に、カーネル予約領域の
エントリデータをこのTLBエミュレーションバッファ
23にコピーするようにしたものである。ページテーブ
ルエントリの論理・物理マッピング情報が含まれるため
である。
According to a fifth aspect of the invention, in the invention according to the first to fourth aspects, the predetermined CPU
The CPU module which does not include the above-mentioned
The entry data of the kernel reserved area is copied to the TLB emulation buffer 23 when storing the data unique to the PU. This is because the logical / physical mapping information of the page table entry is included.

【0033】請求項6記載の発明は、請求項1ないし請
求項5記載の発明において、CPUモジュールは自モジ
ュールおよび相手方CPUモジュールのCPUタイプを
検出するCPUタイプハンドラ13および前記CPU固
有のデータをメモリに格納しまたメモリから取り出す各
CPUタイプに対応するインターフェイスが含まれるイ
ンターフェイス部11,12を有し、CPUタイプハン
ドラ13が検出したCPUタイプに応じてこれらのイン
ターフェイスを選択するようにしたものである。自動的
に最適のインターフェイスが選択できる。
According to a sixth aspect of the present invention, in the first to fifth aspects of the invention, the CPU module is a CPU type handler 13 for detecting the CPU types of the own module and the counterpart CPU module, and the CPU-specific data is stored in a memory. It has interface sections 11 and 12 each containing an interface corresponding to each CPU type stored in and retrieved from a memory, and selects these interfaces according to the CPU type detected by the CPU type handler 13. . The best interface can be selected automatically.

【0034】請求項7記載の発明は、請求項1ないし請
求項6記載の発明において、前記二重化システムはプロ
セス制御装置であることを特徴としたものである。製品
寿命が長く、停止できないプロセス制御装置に用いて特
に効果が大きい。
The invention according to claim 7 is characterized in that, in the invention according to claims 1 to 6, the duplex system is a process control device. It is particularly effective when used in process control equipment that has a long product life and cannot be stopped.

【0035】請求項8記載の発明は、請求項1ないし請
求項6記載の発明において、前記二重化システムはオン
ライン情報処理装置であることを特徴としたものであ
る。停止することができないオンライン情報処理装置に
用いて特に効果が大きい。
The invention described in claim 8 is characterized in that, in the invention described in claims 1 to 6, the duplex system is an online information processing device. It is particularly effective when used in an online information processing device that cannot be stopped.

【0036】請求項9記載の発明は、請求項1ないし請
求項8記載の発明において、前記CPU固有のデータ
は、例外処理または割り込み処理に関連するデータであ
ることを特徴としたものである。これらもCPUのタイ
プによって形式が異なるデータであり、効果が大きい。
According to a ninth aspect of the invention, in the first to eighth aspects of the invention, the CPU-specific data is data related to exception processing or interrupt processing. These are also data having different formats depending on the type of CPU and have a great effect.

【0037】請求項10記載の発明は、請求項1ないし
請求項8記載の発明において、前記CPU固有のデータ
は、MMUに関連するデータであることを特徴としたも
のである。これらもCPUのタイプによって形式が異な
るデータであり、効果が大きい。
According to a tenth aspect of the present invention, in the first to eighth aspects of the invention, the CPU-specific data is data related to the MMU. These are also data having different formats depending on the type of CPU and have a great effect.

【0038】[0038]

【発明の実施の形態】前述したように、異なるプラット
フォーム上で同一システムプログラムによる二重化処理
を実現することは困難であったが、本出願人による特願
2001−353101号の出願明細書には、異なるプ
ラットフォーム上で同一システムプログラムによる二重
化処理を実現する方式の基本概念が提案されている。以
下、この提案について説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS As described above, it was difficult to realize the duplication processing by the same system program on different platforms, but the application specification of Japanese Patent Application No. 2001-353101 by the present applicant shows that The basic concept of the method to realize the duplication processing by the same system program on different platforms has been proposed. The proposal will be described below.

【0039】そのためには、 (1) プラットフォーム間では、マイクロプロセッサ
で実行されるマイクロコードの互換性があること。 (2) マイクロプロセッサからプラットフォームを一
意的に識別できる機能が実装されていること。 の条件が必須になる。
To this end, (1) The microcodes executed by the microprocessors are compatible between the platforms. (2) A function that can uniquely identify the platform from the microprocessor is installed. Will be required.

【0040】これらの条件を満足していると、システム
プログラムは同一プログラムを用いて異なるプラットフ
ォーム上で動作することが可能になり、同時にOSによ
るOS自身およびタスクのコンテキストフォーマットと
ハードウエア側のインターフェイスを選択することが可
能になる。
When these conditions are satisfied, the system program can operate on different platforms by using the same program, and at the same time, the OS and the context format of the task by the OS and the interface on the hardware side are controlled. It becomes possible to choose.

【0041】本発明はこの提案にヒントを得て、TLB
機構が異なるマイクロプロセッサを実装したCPUモジ
ュール同士を使用して二重化処理を行うことができる二
重化システムを提案するものである。
The present invention was inspired by this proposal to provide TLB
The present invention proposes a duplication system that can perform duplication processing by using CPU modules each having a different mechanism mounted therein.

【0042】通常、OSにはアーキテクチャの違いをプ
ロセッサレビジョンから検出する機能が実装されてい
る。この機能により、CPUモジュールに実装されてい
るプロセッサのタイプを検出することができる。
Usually, the OS is equipped with a function for detecting a difference in architecture from the processor revision. With this function, the type of the processor mounted on the CPU module can be detected.

【0043】各CPUモジュールのメモリには、自モジ
ュールのCPUのプロセッサタイプ情報を保持してい
る。また、前述したように、相手方のモジュールのメモ
リデータを読み込む機能が備わっている。
The memory of each CPU module holds the processor type information of the CPU of its own module. Further, as described above, it has a function of reading the memory data of the other party's module.

【0044】これらの機能を利用して、自モジュールお
よび相手方モジュールのCPUタイプを知ることができ
る。このプロセッサタイプはシステムプログラムの動作
に関する他の特徴を含む識別子、すなわちOS動作モー
ドに包含される。
By utilizing these functions, the CPU types of the own module and the counterpart module can be known. This processor type is included in the OS operating mode, an identifier that contains other features related to the operation of the system program.

【0045】ここではプロセッサのタイプとしてタイプ
1とタイプ2の2つのタイプを想定し、タイプ1のCP
Uを内蔵するCPUモジュールを旧型のCPUモジュー
ル、タイプ2のCPUを内蔵するそれを新型のCPUモ
ジュールとする。これら2タイプのプロセッサのTLB
機構は異なっているものとする。
Here, it is assumed that there are two types of processors, type 1 and type 2, and a CP of type 1 is used.
A CPU module containing U is an old CPU module, and a CPU module containing a type 2 CPU is a new CPU module. TLB for these two types of processors
The mechanism is different.

【0046】この発明は、TLB機構の制御ロジックに
タスクコンテキストとTLBレジスタに対して、CPU
のタイプによって切り替える仮想的なインターフェイス
を実装するようにする。
The present invention uses the control logic of the TLB mechanism for the task context and the TLB register for the CPU.
Implement a virtual interface that switches depending on the type.

【0047】さらに、OS内のハードウエア固有のイン
ターフェイス部と、タスク管理などのハードウエアに依
存しない部分のうち、ハードウエア固有のインターフェ
イス部にもエミュレーション機能を実装する。
Further, the emulation function is implemented in the hardware-specific interface section in the OS and the hardware-specific interface section of the section not dependent on the hardware such as task management.

【0048】このようにして、前記(1)、(2)の条
件を満たさないアーキテクチャの差異を有するCPUを
内蔵したCPUモジュールを用い、各CPUモジュール
のメモリイメージ上に一部異なるコンテキストを保持し
た状態で二重化を実現する。
In this manner, CPU modules each having a built-in CPU having an architectural difference that does not satisfy the above conditions (1) and (2) are used, and partially different contexts are held on the memory image of each CPU module. Realize duplication in the state.

【0049】図1は本発明に係る二重化システムの一実
施例の動作を説明するフローチャートである。このフロ
ーチャートは例外が発生したときの動作を表したもので
ある。この実施例では各タスクのコンテキストを旧型の
CPUであるタイプ1のCPUの形式で保存するように
する。
FIG. 1 is a flow chart for explaining the operation of one embodiment of the duplex system according to the present invention. This flowchart shows the operation when an exception occurs. In this embodiment, the context of each task is saved in the form of a CPU of type 1 which is an old type CPU.

【0050】図1において、例外が発生すると、異なる
タイプのCPUが搭載されたCPUモジュールが実装さ
れているかどうかをチェックする。このために、前述し
たOSの機能を利用する。全て同一タイプのCPUであ
ると、通常の方法で例外処理を行う。
In FIG. 1, when an exception occurs, it is checked whether a CPU module equipped with a CPU of a different type is installed. For this purpose, the functions of the OS described above are used. If all CPUs are of the same type, exception processing is performed in the usual way.

【0051】異なるタイプのCPUが搭載されている
と、次に例外が発生したCPUがタイプ2のCPUであ
るかをチェックする。各タスクのコンテキストはタイプ
1の形式で保存するので、タイプ2のCPUでないと通
常の方法で例外処理を行う。
If different types of CPUs are mounted, it is checked whether the CPU in which the exception has occurred is the type 2 CPU. Since the context of each task is stored in the type 1 format, exception processing is performed in the usual manner unless the CPU is a type 2 CPU.

【0052】タイプ2のCPUであると、(1)でコンテ
キストレジスタのミスアドレスを取り出し、(2)でこの
ミスアドレスに対応するPTE(Page Table Entry)の論
理アドレスを計算する。このPTEの論理アドレスから
ページテーブルの先頭論理アドレスおよびこのページテ
ーブル内の該当するPTEへのオフセットを一意的に決
定することができる。
In the case of the type 2 CPU, the miss address of the context register is taken out in (1) and the logical address of the PTE (Page Table Entry) corresponding to this miss address is calculated in (2). The offset from the logical address of this PTE to the top logical address of the page table and the corresponding PTE in this page table can be uniquely determined.

【0053】次に、(3)でTLBエミュレーションバッ
ファを検索して、ページテーブルの先頭ポインタを取り
出し、これに求めたページテーブル内のオフセットを加
算し、PTEを取り出す。
Next, in (3), the TLB emulation buffer is searched, the head pointer of the page table is taken out, the obtained offset in the page table is added, and the PTE is taken out.

【0054】そして、(4)で該当するエントリデータを
TLBエントリデータ変換機能によりタイプ2のプロセ
ッサのネイティブモード形式に変換して、(5)でTLB
レジスタにそのエントリデータをロードとする。
Then, in (4), the corresponding entry data is converted into the native mode format of the type 2 processor by the TLB entry data conversion function, and in (5) the TLB is converted.
The entry data is loaded into the register.

【0055】このようにして、プロセッサのタイプが混
在したときに格納されているタイプ1のネイティブモー
ドのメモリイメージを元にしてタイプ2のネイティブモ
ード形式に変換することにより、タイプの異なるプロセ
ッサが混在しているシステムの二重化を実現することが
できる。なお、タイプ2のCPUモジュールのコンテキ
ストを保存するときは、タイプ1のコンテキストに変換
して保存するようにする。
In this way, by converting to the native mode format of the type 2 based on the memory image of the native mode of the type 1 stored when the processor types are mixed, the processors of different types are mixed. It is possible to realize dual system. When saving the context of the type 2 CPU module, the context is converted to the type 1 context and saved.

【0056】図2はタイプ2のCPUを有するCPUモ
ジュールの構成図である。なお、二重化を構成する相手
方はタイプ1のCPUを有するCPUモジュールである
とする。図2において、1はTLBミスハンドラであ
り、TLBミス例外が入力される。
FIG. 2 is a block diagram of a CPU module having a type 2 CPU. It is assumed that the other party configuring the duplication is a CPU module having a type 1 CPU. In FIG. 2, 1 is a TLB miss handler, and a TLB miss exception is input.

【0057】11はTLBレジスタ3に対する仮想的な
インターフェイスであり、タイプ1エミュレーション1
11が含まれている。12はエントリデータインターフ
ェイスであり、タイプ1エミュレーション121が含ま
れている。
Reference numeral 11 denotes a virtual interface for the TLB register 3, which is a type 1 emulation 1
11 are included. An entry data interface 12 includes a type 1 emulation 121.

【0058】2はメモリであり、このメモリ2内にタス
クコンテキスト21,ページテーブルエントリ22およ
びTLBエミュレーションバッファ23が構築されてい
る。13はCPUタイプハンドラであり、自身のCPU
タイプおよび前述したメモリの相互アクセスの機能を利
用して相手方CPUモジュールに内蔵されるCPUのタ
イプを検出する。
Reference numeral 2 is a memory, in which a task context 21, a page table entry 22 and a TLB emulation buffer 23 are constructed. 13 is a CPU type handler, and its own CPU
The type and the type of the CPU incorporated in the partner CPU module are detected using the mutual access function of the memory.

【0059】CPUタイプハンドラ13が自身のモジュ
ールのCPUがタイプ2であり、相手方モジュールのC
PUがタイプ1であることを検出すると、タスクコンテ
キスト21とページテーブルエントリ22からタイプ2
のエントリデータを作成し、またTLBレジスタ3のデ
ータをタイプ1のエントリデータに変換する。
The CPU of the module of the CPU type handler 13 is type 2, and the CPU of the other module is C.
If the PU is detected to be of type 1, the task context 21 and page table entry 22
Entry data is created, and the data in the TLB register 3 is converted into type 1 entry data.

【0060】タスクコンテキスト21およびTLBエミ
ュレーションバッファ23のサイズは、タイプ1または
タイプ2のCPUが必要とするサイズのうち大きい方の
サイズ分確保する。
The sizes of the task context 21 and the TLB emulation buffer 23 are as large as those required by the type 1 or type 2 CPU.

【0061】図3はタイプ1のCPUを有するCPUモ
ジュールの構成図である。なお、図2と同じ要素には同
一符号を付し、説明を省略する。前述したように、各タ
スクのコンテキストはタイプ1のCPUの形式で保存さ
れるので、タイプ1のCPUを有するCPUモジュール
は変換作業を行わない。
FIG. 3 is a block diagram of a CPU module having a type 1 CPU. The same elements as those in FIG. 2 are designated by the same reference numerals and the description thereof will be omitted. As described above, since the context of each task is stored in the form of the type 1 CPU, the CPU module having the type 1 CPU does not perform the conversion work.

【0062】図3において、112はタイプ1のTLB
インターフェイスであり、TLBインターフェイス11
に内蔵されている。タイプ1のTLBインターフェイス
112は変換を行わないでTLBレジスタ3(図示せ
ず)にデータを入出力する。
In FIG. 3, 112 is a type 1 TLB.
Interface, TLB interface 11
Is built into. The type 1 TLB interface 112 inputs / outputs data to / from the TLB register 3 (not shown) without conversion.

【0063】122はタイプ1のエントリデータインタ
ーフェイスであり、エントリデータインターフェイス1
2に内蔵されている。このタイプ1のエントリデータイ
ンターフェイス122も特に変換作業を行わないでメモ
リ2(図示せず)にデータを出力し、またメモリ2から
データを読み出す。
Reference numeral 122 is a type 1 entry data interface.
Built in 2. The type 1 entry data interface 122 also outputs data to and reads data from the memory 2 (not shown) without performing any particular conversion work.

【0064】図4は二重化されたCPUモジュールに内
蔵されているCPUがいずれもタイプ2の場合の構成図
である。なお、図2と同じ要素には同一符号を付し、説
明を省略する。この場合はCPUのタイプが同一である
ので、コンテキストデータを変換する必要はない。
FIG. 4 is a configuration diagram in the case where all the CPUs incorporated in the duplicated CPU module are type 2. The same elements as those in FIG. 2 are designated by the same reference numerals and the description thereof will be omitted. In this case, since the CPU types are the same, there is no need to convert the context data.

【0065】図4において、113はタイプ2のTLB
インターフェイスであり、TLBインターフェイス11
に内蔵されている。このタイプ2のTLBインターフェ
イス113は変換を行わないでデータをTLBレジスタ
3に入出力する。
In FIG. 4, 113 is a type 2 TLB.
Interface, TLB interface 11
Is built into. The type 2 TLB interface 113 inputs / outputs data to / from the TLB register 3 without performing conversion.

【0066】123はタイプ2のエントリデータインタ
ーフェイスであり、エントリデータインターフェイス1
2に内蔵されている。このタイプ2のエントリデータイ
ンターフェイス123も特に変換作業を行わないでメモ
リ2にデータを出力し、またメモリ2からデータを読み
出す。
Reference numeral 123 is a type 2 entry data interface.
Built in 2. The type 2 entry data interface 123 also outputs data to and reads data from the memory 2 without performing any particular conversion work.

【0067】このように、CPUタイプハンドラが自身
および相手方のCPUモジュールのCPUタイプを検出
して、自動的に最も適したTLBインターフェイスおよ
びエントリデータインターフェイスを選択する。さら
に、OS内のハードウエア固有の部分とタスク管理のハ
ードウエア固有のインターフェイス部にエミュレーショ
ン処理を行う。
In this way, the CPU type handler detects the CPU type of the CPU module of itself and the CPU module of the other party, and automatically selects the most suitable TLB interface and entry data interface. Further, emulation processing is performed on a hardware-specific part in the OS and a hardware-specific interface part for task management.

【0068】図5は図2実施例の動作を更に詳細に説明
した構成図である。なお、図2と同じ要素には同一符号
を付し、説明を省略する。図5において、メモリ2のタ
スクコンテキスト21に格納されているデータはタイプ
1CPUのエントリデータであるので、タイプ2CPU
で使用するときは変換しなければならない。
FIG. 5 is a block diagram for explaining the operation of the embodiment of FIG. 2 in more detail. The same elements as those in FIG. 2 are designated by the same reference numerals and the description thereof will be omitted. In FIG. 5, since the data stored in the task context 21 of the memory 2 is the entry data of the type 1 CPU, the type 2 CPU
Must be converted when used in.

【0069】CPUタイプハンドラ13がタイプ2CP
Uを検出するとタイプ1エミュレーションロジック12
1を選択する。タイプ1エミュレーションロジック12
1はタスクコンテキスト21およびページテーブルエン
トリ22を参照し、タイプ1エントリデータからタイプ
2エントリデータを作成してソートする。そして、タイ
プ2CPUのレジスタに出力する。
CPU type handler 13 is type 2CP
When U is detected, type 1 emulation logic 12
Select 1. Type 1 emulation logic 12
1 refers to the task context 21 and the page table entry 22 to create type 2 entry data from type 1 entry data and sort them. Then, it outputs to the register of the type 2 CPU.

【0070】図6は逆にタイプ2CPUのデータをメモ
リに格納するときの動作を説明したものである。なお、
図2と同じ要素には同一符号を付し、説明を省略する。
図6において、CPUタイプハンドラ13がタイプ2C
PUを検出すると、タイプ1エミュレーションロジック
111を選択する。
On the contrary, FIG. 6 illustrates the operation of storing the data of the type 2 CPU in the memory. In addition,
The same elements as those in FIG. 2 are designated by the same reference numerals and the description thereof will be omitted.
In FIG. 6, the CPU type handler 13 is a type 2C.
Upon detecting the PU, the type 1 emulation logic 111 is selected.

【0071】タイプ1エミュレーションロジック111
はタイプ2CPUのTLBレジスタ3からデータを読み
出し、タイプ1CPUの形式に変換してソートし、タイ
プ1エントリデータを作成する。そして、このデータを
タスクコンテキスト21に格納する。
Type 1 emulation logic 111
Reads out the data from the TLB register 3 of the type 2 CPU, converts it into the format of the type 1 CPU and sorts it, and creates the type 1 entry data. Then, this data is stored in the task context 21.

【0072】図7はタイプ2CPUに対してはタスクコ
ンテキスト21に格納されたデータをそのままでは使用
できないことを示した図である。なお、図2と同じ要素
には同一符号を付し、説明を省略する。
FIG. 7 is a diagram showing that the data stored in the task context 21 cannot be used as it is for the type 2 CPU. The same elements as those in FIG. 2 are designated by the same reference numerals and the description thereof will be omitted.

【0073】タスクコンテキスト21にはタイプ1CP
Uの形式でデータが格納されている。従って、タイプ2
CPUの場合はたとえ自身のTLBレジスタ13にロー
ドする場合であっても、このデータをそのままTLBレ
ジスタ13に出力することはできない。
The task context 21 has a type 1 CP
Data is stored in the U format. Therefore, type 2
In the case of a CPU, even if it is loaded into its own TLB register 13, this data cannot be directly output to the TLB register 13.

【0074】カーネル予約領域の各エントリデータに
は、タスク起動時に決定される各タスクのPTEの論理
・物理マッピング情報が含まれている。そのため、タイ
プ2CPUの場合はタスクのディスパッチ時にカーネル
予約領域のエントリデータをTLBレジスタにロードせ
ず、CPUモジュール上の固定領域であるTLBエミュ
レーションバッファ23にコピーしておく。
Each entry data of the kernel reserved area includes PTE logical / physical mapping information of each task determined at the time of task activation. Therefore, in the case of the type 2 CPU, the entry data of the kernel reserved area is not loaded into the TLB register at the time of task dispatch, but is copied to the TLB emulation buffer 23 which is a fixed area on the CPU module.

【0075】図8はこの動作を説明したものである。な
お、図2と同じ要素には同一符号を付し、説明を省略す
る。図8において、211,212はそれぞれタスクコ
ンテキスト21内に確保されたカーネルへのエントリお
よびユーザへのエントリである。
FIG. 8 illustrates this operation. The same elements as those in FIG. 2 are designated by the same reference numerals and the description thereof will be omitted. In FIG. 8, 211 and 212 are the entry to the kernel and the entry to the user, which are secured in the task context 21, respectively.

【0076】タスクのディスパッチ時に、TLBミスハ
ンドラ1はカーネルへのエントリ211内のデータを変
換してTLBエミュレーションバッファ23に格納し、
ユーザへのエントリ212内のデータを変換してTLB
レジスタ3のカーネル領域を除くエントリに格納する。
At the time of task dispatch, the TLB miss handler 1 converts the data in the entry 211 to the kernel and stores it in the TLB emulation buffer 23,
Convert the data in entry 212 to user to TLB
It is stored in the entry of the register 3 excluding the kernel area.

【0077】TLBエミュレーションバッファ23のサ
イズは、TLBエントリデータのうちTLBミス例外の
発生時に張り替え用のPTEを取り出す処理で使用する
カーネル予約エントリの全データサイズと同じサイズと
する。
The size of the TLB emulation buffer 23 is the same as the total data size of the kernel reserved entry used in the process of extracting the PTE for replacement when the TLB miss exception occurs in the TLB entry data.

【0078】図9はこの動作を更に詳細に説明したもの
である。なお、図2と同じ要素には同一符号を付し、説
明を省略する。次タスクのタスクコンテキスト21内の
EntryK1, Entry K2はカーネル予約領域のエントリデー
タなのでTLBエミュレーションバッファ23にコピー
する。
FIG. 9 illustrates this operation in more detail. The same elements as those in FIG. 2 are designated by the same reference numerals and the description thereof will be omitted. In the task context 21 of the next task
Since Entry K1 and Entry K2 are entry data of the kernel reserved area, they are copied to the TLB emulation buffer 23.

【0079】また、Entry U1, Entry U2はユーザへのエ
ントリなので、TLBレジスタ3に格納する。すなわ
ち、カーネル予約領域のエントリデータのみをTLBエ
ミュレーションバッファ23にコピーする。
Since Entry U1 and Entry U2 are entries to the user, they are stored in the TLB register 3. That is, only the entry data in the kernel reserved area is copied to the TLB emulation buffer 23.

【0080】図10にTLBミス例外発生時の動作を示
す。TLBミス例外が発生するとTLBミスハンドラが
コンテキストレジスタからミスアドレスを取り出す。こ
のミスアドレスは一旦CPUのレジスタあるいはスタッ
クに格納される。
FIG. 10 shows the operation when the TLB miss exception occurs. When a TLB miss exception occurs, the TLB miss handler fetches the miss address from the context register. This miss address is temporarily stored in the register or stack of the CPU.

【0081】続いてTLBミスハンドラがこのミスアド
レスを取り出し、PTEの論理アドレスを計算する。前
述したように、この論理アドレスからEntry Kxのアドレ
スであるページテーブル先頭ポインタおよびオフセット
が一意的に決定できる。
Subsequently, the TLB miss handler fetches this miss address and calculates the logical address of the PTE. As described above, the page table head pointer and offset, which are the addresses of the Entry Kx, can be uniquely determined from this logical address.

【0082】図11にEntry Kxのアドレスとオフセット
からPTEを検索する手順を示す。図11のメモリ2内
の上段はTLBエミュレーションバッファであり、下段
はKxのページテーブルである。
FIG. 11 shows the procedure for searching the PTE from the address and offset of Entry Kx. The upper part of the memory 2 in FIG. 11 is the TLB emulation buffer, and the lower part is the Kx page table.

【0083】Entry KxのアドレスをキーにしてTLBエ
ミュレーションバッファを検索してEntry Kxのページテ
ーブルの先頭アドレスを求める。ページテーブルはオフ
セットの順にPTEが並んでいるので、オフセット番目
のPTEが求めるPTEになる。
Using the address of Entry Kx as a key, the TLB emulation buffer is searched to find the start address of the page table of Entry Kx. Since the page table has PTEs arranged in the order of offsets, the PTE at the offset th is the PTE to be obtained.

【0084】図12にタイプ2CPUのTLBエントリ
データをTLBレジスタにロードする方法を示す。図1
1で求めたPTEをTLBミスハンドラに入力してタイ
プ2のPTEを求め、このPTEをTLBミスハンドラ
によって任意のTLBレジスタにロードする。
FIG. 12 shows a method of loading TLB entry data of the type 2 CPU into the TLB register. Figure 1
The PTE obtained in 1 is input to the TLB miss handler to obtain the type 2 PTE, and this PTE is loaded into an arbitrary TLB register by the TLB miss handler.

【0085】このようにして、CPUのタイプに関わら
ず旧型であるタイプ1の形式でコンテキストデータを格
納し、タイプ2CPUの場合は読み出すときにタイプ2
の形式に変換することにより、アーキテクチャが異なる
CPUを有するCPUモジュールを用いて二重化システ
ムを構築することができる。
In this way, the context data is stored in the old type 1 format regardless of the CPU type, and in the case of the type 2 CPU, the type 2 data is stored when the context data is read.
By converting the format into the above format, a duplex system can be constructed using CPU modules having CPUs having different architectures.

【0086】なお、システムプログラムのオンラインレ
ブアップ機能が開発されている。この機能を使用して、
稼働中のシステムプログラムを本発明のシステムプログ
ラムに変更すると、プラント制御装置を停止させること
なくCPUモジュールを新型CPUを搭載したCPUモ
ジュールに交換することができる。
An online revision function of the system program has been developed. Use this feature
If the running system program is changed to the system program of the present invention, the CPU module can be replaced with a CPU module equipped with a new CPU without stopping the plant control device.

【0087】また、本発明はプラント制御装置だけでな
く、オンライン情報処理装置など他の長期間連続運転、
連続運用するシステムに応用することができる。また、
TLB機構だけでなく、例外処理や割り込み処理などに
適用することができる。さらに、システムコントロー
ラ、MMU(Memory Management Unit)などの制御処理に
も適用可能である。
Further, the present invention is not limited to the plant control apparatus, but can be used for other long-term continuous operation such as an online information processing apparatus.
It can be applied to a system that operates continuously. Also,
It can be applied not only to the TLB mechanism but also to exception processing, interrupt processing, and the like. Furthermore, it is also applicable to control processing of a system controller, MMU (Memory Management Unit), and the like.

【0088】[0088]

【発明の効果】以上説明したことから明らかなように、
本発明によれば、次の効果が期待できる。 請求項1記
載の発明によれば、制御側と待機側の2つのCPUモジ
ュールから構成され、これら2つのCPUモジュールの
メモリイメージの所定の部分を等価に保つように制御さ
れる二重化システムであって、これら2つのCPUモジ
ュールに内蔵されているCPUのタイプを検出し、これ
らのCPUのタイプが異なっているときに、これらのC
PU固有のデータをメモリに格納する際に、予め定めら
れたCPUのデータに変換して格納するようにした。
As is apparent from the above description,
According to the present invention, the following effects can be expected. According to the first aspect of the present invention, there is provided a duplex system including two CPU modules on a control side and a standby side, which are controlled so as to keep a predetermined portion of a memory image of these two CPU modules equivalent. , Detects the type of CPU built in these two CPU modules, and when these CPU types are different, these C
When storing the data unique to the PU in the memory, the data is converted into the data of the predetermined CPU and stored.

【0089】タイプが異なるCPUが搭載されたCPU
モジュールを用いて二重化システムを構築できるので、
製品寿命が長いシステムであっても最新のCPUが搭載
されたCPUモジュールを使用することができ、システ
ムのパフォーマンスを向上させることが出来るという効
果がある。
CPU in which CPUs of different types are mounted
Since you can build a redundant system using modules,
Even in a system with a long product life, it is possible to use the CPU module equipped with the latest CPU, and it is possible to improve the system performance.

【0090】本発明によると、同一ノード内において一
定条件を満たす異なるプラットフォーム間で同期実行待
ち合わせ方式による二重化処理を実現することができ
る。
According to the present invention, it is possible to realize the duplication processing by the synchronous execution waiting method between different platforms satisfying a certain condition in the same node.

【0091】また、タイプの異なるCPUを混在できる
ので、CPUモジュールを交換するときに2つ同時に交
換する必要がないので、メンテナンス費用を低減できる
という効果もある。
Further, since different types of CPUs can be mixed, it is not necessary to replace two CPU modules at the same time, and therefore maintenance costs can be reduced.

【0092】また、CPUのタイプを検出して異なって
いる場合のみデータを変換するようにしたので、同一タ
イプのCPUを用いる場合はシステムのパフォーマンス
が低下しないという効果もある。
Further, since the CPU type is detected and the data is converted only when the CPU types are different, there is an effect that the system performance does not deteriorate when the CPUs of the same type are used.

【0093】近年はCPUなどの部品の進歩が著しく、
かつその製品寿命はシステムの寿命に比べて短い。その
ため、保守部品をストックしておかなければならないな
ど保守上問題が生じていた。本発明では常に最新のCP
Uモジュールを使用できるので、保守部品をストックし
ておく必要がないという効果もある。
In recent years, the progress of parts such as CPU has been remarkable,
And the product life is shorter than the system life. Therefore, maintenance problems such as having to stock maintenance parts have occurred. The present invention always has the latest CP
Since the U module can be used, there is also an effect that it is not necessary to stock the maintenance parts.

【0094】さらに、活性挿抜が可能なCPUモジュー
ルを使用して新しい高性能CPUが搭載されたCPUモ
ジュールに交換することにより、システムを停止しない
でパフォーマンスを向上させることが出来るという効果
もある。
Furthermore, there is an effect that the performance can be improved without stopping the system by replacing the CPU module with a new high-performance CPU by using the CPU module which can be hot-plugged and unplugged.

【0095】請求項2記載の発明によれば、請求項1記
載の発明において、この二重化システム上で動作するO
SはリアルタイムOSであり、タスクディスパッチ時に
前記CPU固有のデータをメモリに格納するようにし
た。
According to the invention described in claim 2, in the invention described in claim 1, O which operates on this duplex system is used.
S is a real-time OS, and the data unique to the CPU is stored in the memory at the time of task dispatch.

【0096】リアルタイムOSはタスクディスパッチが
頻繁に発生するので、効果が大きい。また、リアルタイ
ムOSを使用するシステムは一般に長期間停止すること
が出来ないシステムが多いので、保守作業が低減でき、
システムの信頼性が向上するという効果もある。
The real-time OS is highly effective because task dispatch frequently occurs. In addition, since many systems that use a real-time OS generally cannot be stopped for a long period of time, maintenance work can be reduced,
There is also an effect that the reliability of the system is improved.

【0097】請求項3記載の発明によれば、請求項1ま
たは請求項2記載の発明において、前記予め定められた
CPUは、前記2つのCPUモジュールに搭載されてい
るCPUのうち旧型の方のCPUであることを特徴とし
た。
According to the invention of claim 3, in the invention of claim 1 or 2, the predetermined CPU is one of the CPUs mounted in the two CPU modules, which is an older model. It is characterized by being a CPU.

【0098】旧型のCPUは一般に処理能力が新型に比
べて低いので、旧型CPUの負荷を増加させないことに
よりシステム全体のパフォーマンスが低下することがな
くなるという効果がある。
Since the processing capacity of the old CPU is generally lower than that of the new CPU, the performance of the entire system will not be deteriorated by not increasing the load of the old CPU.

【0099】請求項4記載の発明によれば、請求項1な
いし請求項3記載の発明において、前記CPU固有のデ
ータは、TLBデータであることを特徴とした。TLB
データはCPUの動作上最重要なデータであるので、特
に効果が大きい。
According to the invention described in claim 4, in the invention described in any one of claims 1 to 3, the CPU-specific data is TLB data. TLB
Since the data is the most important data for the operation of the CPU, it is particularly effective.

【0100】請求項5記載の発明よれば、請求項1ない
し請求項4記載の発明において、前記予め定められたC
PUを内蔵しないCPUモジュールは内蔵されるメモリ
上にTLBエミュレーションバッファ23を具備し、前
記CPU固有のデータを格納する際に、カーネル予約領
域のエントリデータをこのTLBエミュレーションバッ
ファ23にコピーするようにした。
According to the invention of claim 5, in the inventions of claims 1 to 4, the predetermined C
The CPU module which does not include the PU has the TLB emulation buffer 23 in the built-in memory, and the entry data of the kernel reserved area is copied to the TLB emulation buffer 23 when the CPU-specific data is stored. .

【0101】カーネル予約領域のエントリデータはタス
ク起動時に決定されるページテーブルエントリの論理・
物理マッピング情報が含まれるので、メモリ上に専用の
格納領域を設け、ここにコピーすることによりパフォー
マンスが低下しないという効果がある。
The entry data in the kernel reserved area is the logical value of the page table entry determined at task startup.
Since the physical mapping information is included, a dedicated storage area is provided on the memory, and copying to this area has the effect of not lowering performance.

【0102】請求項6記載の発明によれば、請求項1な
いし請求項5記載の発明において、CPUモジュールは
自モジュールおよび相手方CPUモジュールのCPUタ
イプを検出するCPUタイプハンドラ13および前記C
PU固有のデータをメモリに格納しまたメモリから取り
出す各CPUタイプに対応するインターフェイスが含ま
れるインターフェイス部11,12を有し、CPUタイ
プハンドラ13が検出したCPUタイプに応じてこれら
のインターフェイスを選択するようにした。
According to the invention described in claim 6, in the invention described in claims 1 to 5, the CPU module is a CPU type handler 13 for detecting the CPU type of its own module and the counterpart CPU module, and the C type.
It has interface units 11 and 12 that include interfaces corresponding to CPU types that store and retrieve PU-specific data from the memory, and select these interfaces according to the CPU type detected by the CPU type handler 13. I did it.

【0103】CPUのタイプに応じて自動的に最適なイ
ンターフェイスが選択されるので、搭載されているCP
Uに関わらず常に最大の能力を発揮できるという効果が
ある。また、活性挿抜が可能なCPUモジュールを用い
ることにより、システムを停止しないでCPUモジュー
ルを交換して能力を向上させることができるという効果
もある。
Since the optimum interface is automatically selected according to the CPU type, the CP installed
It has the effect of always exerting the maximum ability regardless of U. Further, by using the CPU module that can be hot-plugged and unplugged, there is an effect that the CPU module can be replaced and the performance can be improved without stopping the system.

【0104】請求項7記載の発明によれば、請求項1な
いし請求項6記載の発明において、前記二重化システム
はプロセス制御装置であることを特徴とした。プロセス
制御装置は製品寿命が長く、長期間停止できないので、
特に効果が大きい。
According to the invention of claim 7, in the invention of claims 1 to 6, the duplex system is a process control device. Since process control equipment has a long product life and cannot be stopped for a long time,
Especially effective.

【0105】請求項8記載の発明によれば、請求項1な
いし請求項6記載の発明において、前記二重化システム
はオンライン情報処理装置であることを特徴とした。長
期間停止することができないオンライン情報処理装置に
用いて特に効果が大きい。
According to the invention described in claim 8, in the invention described in any one of claims 1 to 6, the duplex system is an online information processing apparatus. It is particularly effective when used in an online information processing device that cannot be stopped for a long period of time.

【0106】請求項9記載の発明によれば、請求項1な
いし請求項8記載の発明において、前記CPU固有のデ
ータは、例外処理または割り込み処理に関連するデータ
であることを特徴とした。これらのデータもCPUによ
って大きく異なる場合が多いので、効果が大きい。
According to a ninth aspect of the present invention, in the first to eighth aspects of the invention, the CPU-specific data is data related to exception processing or interrupt processing. Since these data also differ greatly depending on the CPU, the effect is great.

【0107】請求項10記載の発明によれば、請求項1
ないし請求項8記載の発明において、前記CPU固有の
データは、MMUに関連するデータであることを特徴と
した。これらもCPUのタイプによって形式が異なるデ
ータであり、効果が大きい。
According to the invention of claim 10, claim 1
The data unique to the CPU is data related to the MMU. These are also data having different formats depending on the type of CPU and have a great effect.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例を示すフローチャートであ
る。
FIG. 1 is a flowchart showing an embodiment of the present invention.

【図2】本発明の一実施例の構成図である。FIG. 2 is a configuration diagram of an embodiment of the present invention.

【図3】タイプ1CPUのみを使用したときの構成図で
ある。
FIG. 3 is a configuration diagram when only a type 1 CPU is used.

【図4】タイプ2CPUのみを使用したときの構成図で
ある。
FIG. 4 is a configuration diagram when only a type 2 CPU is used.

【図5】データの変換を説明するための図である。FIG. 5 is a diagram for explaining data conversion.

【図6】データの変換を説明するための図である。FIG. 6 is a diagram for explaining data conversion.

【図7】データの変換を説明するための図である。FIG. 7 is a diagram for explaining data conversion.

【図8】TLBエミュレーションバッファの説明のため
の構成図である。
FIG. 8 is a configuration diagram for explaining a TLB emulation buffer.

【図9】TLBエミュレーションバッファの説明のため
の構成図である。
FIG. 9 is a configuration diagram for explaining a TLB emulation buffer.

【図10】TLBミス例外発生時の動作を示す図であ
る。
FIG. 10 is a diagram showing an operation when a TLB miss exception occurs.

【図11】PTEの検索手順を示す図である。FIG. 11 is a diagram showing a PTE search procedure.

【図12】TLBエントリデータをTLBレジスタにロ
ードする手順を示す図である。
FIG. 12 is a diagram showing a procedure for loading TLB entry data into a TLB register.

【図13】FCUの構成図である。FIG. 13 is a configuration diagram of an FCU.

【図14】共有メモリアクセスの説明図である。FIG. 14 is an explanatory diagram of shared memory access.

【図15】CPUモジュールの動作を説明する図であ
る。
FIG. 15 is a diagram illustrating an operation of a CPU module.

【図16】CPUモジュールの動作を説明する図であ
る。
FIG. 16 is a diagram illustrating an operation of a CPU module.

【図17】TLBレジスタの説明図である。FIG. 17 is an explanatory diagram of a TLB register.

【図18】エントリデータの説明図である。FIG. 18 is an explanatory diagram of entry data.

【図19】二重化システムの構成図である。FIG. 19 is a configuration diagram of a duplex system.

【符号の説明】[Explanation of symbols]

1 TLBミスハンドラ 11 TLBインターフェイス 111 121 タイプ1エミュレーションロジック 12 エントリデータインターフェイス 13 CPUタイプハンドラ 2 メモリ 21 タスクコンテキスト 22 ページテーブルエントリ 23 TLBエミュレーションバッファ 3 TLBレジスタ 1 TLB miss handler 11 TLB interface 111 121 Type 1 emulation logic 12-entry data interface 13 CPU type handler 2 memory 21 task context 22 page table entries 23 TLB emulation buffer 3 TLB register

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】制御側と待機側の2つのCPUモジュール
から構成され、これら2つのCPUモジュールのメモリ
イメージの所定の部分を等価に保つように制御される二
重化システムにおいて、前記2つのCPUモジュールに
内蔵されているCPUのタイプを検出し、これらのCP
Uのタイプが異なっているときに、これらのCPU固有
のデータをメモリに格納する際に、予め定められたCP
Uのデータに変換して格納するようにしたことを特徴と
する二重化システム。
1. A duplex system comprising two CPU modules, one on a control side and the other on a standby side, and controlled so as to keep a predetermined part of a memory image of these two CPU modules equivalent. Detects the type of built-in CPU and detects these CP
When these U-types are different, a predetermined CP is stored when storing these CPU-specific data in the memory.
A duplex system characterized in that it is converted into U data and stored.
【請求項2】前記二重化システム上で動作するOSはリ
アルタイムOSであり、タスクディスパッチ時に前記C
PU固有のデータをメモリに格納するようにしたことを
特徴とする請求項1記載の二重化システム。
2. An OS operating on the duplex system is a real-time OS, and the C at the time of task dispatch.
2. The duplex system according to claim 1, wherein the data unique to the PU is stored in the memory.
【請求項3】前記予め定められたCPUは、前記2つの
CPUモジュールに搭載されているCPUのうち旧型の
方のCPUであることを特徴とする請求項1または請求
項2記載の二重化システム。
3. The duplex system according to claim 1, wherein the predetermined CPU is an older one of the CPUs mounted on the two CPU modules.
【請求項4】前記CPU固有のデータは、TLBデータ
であることを特徴とする請求項1ないし請求項3記載の
二重化システム。
4. The duplex system according to claim 1, wherein the CPU-specific data is TLB data.
【請求項5】前記予め定められたCPUを内蔵しないC
PUモジュールは内蔵されるメモリ上にTLBエミュレ
ーションバッファを具備し、前記CPU固有のデータを
格納する際に、カーネル予約領域のエントリデータをこ
のTLBエミュレーションバッファにコピーするように
したことを特徴とする請求項1ないし請求項4記載の二
重化システム。
5. A C which does not include the predetermined CPU.
The PU module has a TLB emulation buffer on a built-in memory, and when storing the CPU-specific data, the entry data of the kernel reserved area is copied to the TLB emulation buffer. The duplex system according to any one of claims 1 to 4.
【請求項6】前記CPUモジュールは自モジュールおよ
び相手方CPUモジュールのCPUタイプを検出するC
PUタイプハンドラおよび前記CPU固有のデータをメ
モリに格納しまたメモリから取り出す各CPUタイプに
対応するインターフェイス部を有し、前記CPUタイプ
ハンドラが検出したCPUタイプに応じて前記インター
フェイス部を選択するようにしたことを特徴とする請求
項1ないし請求項5記載の二重化システム。
6. The CPU module detects the CPU types of its own module and the counterpart CPU module by C.
A PU type handler and an interface unit corresponding to each CPU type for storing and retrieving data specific to the CPU in the memory, and selecting the interface unit according to the CPU type detected by the CPU type handler The duplex system according to any one of claims 1 to 5, characterized in that
【請求項7】前記二重化システムはプロセス制御装置で
あることを特徴とする請求項1ないし請求項6記載の二
重化システム。
7. The duplex system according to claim 1, wherein the duplex system is a process control device.
【請求項8】前記二重化システムはオンライン情報処理
装置であることを特徴とする請求項1ないし請求項6記
載の二重化システム。
8. The duplex system according to claim 1, wherein the duplex system is an online information processing device.
【請求項9】前記CPU固有のデータは、例外処理また
は割り込み処理に関連するデータであることを特徴とす
る請求項1ないし請求項8記載の二重化システム。
9. The duplex system according to claim 1, wherein the CPU-specific data is data related to exception processing or interrupt processing.
【請求項10】前記CPU固有のデータは、MMUに関
連するデータであることを特徴とする請求項1ないし請
求項8記載の二重化システム。
10. The duplex system according to claim 1, wherein the CPU-specific data is data related to an MMU.
JP2001389289A 2001-12-21 2001-12-21 Duplex system Pending JP2003186692A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001389289A JP2003186692A (en) 2001-12-21 2001-12-21 Duplex system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001389289A JP2003186692A (en) 2001-12-21 2001-12-21 Duplex system

Publications (1)

Publication Number Publication Date
JP2003186692A true JP2003186692A (en) 2003-07-04

Family

ID=27597542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001389289A Pending JP2003186692A (en) 2001-12-21 2001-12-21 Duplex system

Country Status (1)

Country Link
JP (1) JP2003186692A (en)

Similar Documents

Publication Publication Date Title
CN100570563C (en) Managing computer memory in having the computing environment of Dynamic LPAR
EP0447736B1 (en) Multiprocessor system having distributed shared resources and dynamic and selective global data replication and method therefor
CN100555257C (en) The memory controller of the dma operation between the processing page replicative phase and method
EP0431467B1 (en) Multiprocessor system having distributed shared resources and dynamic global data replication
US5659798A (en) Method and system for initiating and loading DMA controller registers by using user-level programs
US7644252B2 (en) Multi-processor system and memory accessing method
TW432284B (en) Recovery mechanism for l1 data cache parity errors
US20070162640A1 (en) Method and system for efficient context swapping
US6345352B1 (en) Method and system for supporting multiprocessor TLB-purge instructions using directed write transactions
WO2018176911A1 (en) Virtual disk file format conversion method and device
CN101467136A (en) High speed nonvolatile memory device
JPH0258649B2 (en)
JPH08278918A (en) System and method for execution of endian task
JPH03135641A (en) Microprocessor
US20050033948A1 (en) Method and apparatus for providing updated system locality information during runtime
JPH0997214A (en) Information-processing system inclusive of address conversion for auxiliary processor
JP2695017B2 (en) Data transfer method
JPH0512126A (en) Device and method for address conversion for virtual computer
US5440708A (en) Microprocessor and storage management system having said microprocessor
JPH04308953A (en) Virtual address computer system
JPH0926910A (en) Information process, method therefor, information processing system and control method therefor
US6862675B1 (en) Microprocessor and device including memory units with different physical addresses
JPH1173365A (en) Method for optimizing data moving operation
JP2003186692A (en) Duplex system
US20040111569A1 (en) High speed memory cloning facility via a coherently done mechanism