JP4117685B2 - Fault-tolerant computer and its bus selection control method - Google Patents

Fault-tolerant computer and its bus selection control method Download PDF

Info

Publication number
JP4117685B2
JP4117685B2 JP2004369378A JP2004369378A JP4117685B2 JP 4117685 B2 JP4117685 B2 JP 4117685B2 JP 2004369378 A JP2004369378 A JP 2004369378A JP 2004369378 A JP2004369378 A JP 2004369378A JP 4117685 B2 JP4117685 B2 JP 4117685B2
Authority
JP
Japan
Prior art keywords
control unit
bus
cpu
synchronization
address
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.)
Expired - Fee Related
Application number
JP2004369378A
Other languages
Japanese (ja)
Other versions
JP2006178614A (en
Inventor
基浩 杉本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2004369378A priority Critical patent/JP4117685B2/en
Publication of JP2006178614A publication Critical patent/JP2006178614A/en
Application granted granted Critical
Publication of JP4117685B2 publication Critical patent/JP4117685B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Description

本発明は、複数のCPUサブシステムがクロック同期して同じ命令列を処理するロックステップ方式のフォルトトレラント・コンピュータシステムに関する。   The present invention relates to a lockstep fault tolerant computer system in which a plurality of CPU subsystems process the same instruction sequence in clock synchronization.

従来、2つの情報処理装置に同期化装置を接続し、各情報処理装置からのデータをバッファに保持して同期化回路で照合し、同期をとるシステムがある(例えば、特許文献1参照)。   Conventionally, there is a system in which a synchronization device is connected to two information processing devices, data from each information processing device is held in a buffer, collated by a synchronization circuit, and synchronized (for example, see Patent Document 1).

ここで、複数のCPUサブシステム(CPUとそれに対応するメインメモリ及びメモリコントローラ等から構成)がクロック同期して同じ命令列を処理するロックステップ方式のフォルトトレラント・コンピュータシステムにおいて、自サブシステム系の内部情報や、自系に接続されるデバイス情報、他サブシステム系の内部情報、他系に接続されるデバイス情報等にアクセスの際に、単純に命令を発行し、同期制御部で同期状態の監視をおこなっていると同期はずれを起こしてしまう。   Here, in a fault-tolerant computer system of a lock step system in which a plurality of CPU subsystems (consisting of a CPU and a main memory and a memory controller corresponding thereto) process the same instruction sequence in clock synchronization, When accessing internal information, device information connected to the local system, internal information of other subsystems, device information connected to other systems, etc., simply issue a command and the synchronization control unit When monitoring is performed, synchronization is lost.

このための対策として、内部情報などを参照するための命令を実行する際に、一旦同期状態を止めてからアクセスし、命令実行終了後、再同期するなど同期状態を意識して命令を実行するとなると、ハードウェアの構成だけではなく、ソフトウェアの構成の複雑化を招くことになる。
特開2002−14943号公報
As a countermeasure for this, when executing an instruction to refer to internal information, etc., execute the instruction in consideration of the synchronization state, such as accessing after stopping the synchronization state, and resynchronizing after the instruction execution is completed. Then, not only the hardware configuration but also the software configuration becomes complicated.
JP 2002-14943 A

しかしながら、従来のロックステップ方式のフォルトトレラント・コンピュータシステムの場合、各CPUサブシステムが自系にローカルに割り当てられたアドレス空間へのアクセスが同期制御部を通過すると、同期制御部には他系からのアクセスがないために同期外れをおこす問題がある。   However, in the case of a conventional lockstep fault-tolerant computer system, when each CPU subsystem accesses the address space allocated locally to its own system through the synchronous control unit, the synchronous control unit receives from the other system. There is a problem of out of sync due to lack of access.

また、このような自系のローカル・アドレス空間へのアクセスの場合、システムが同期を維持するためには同期制御部においてアクセスのアドレスや命令の種別を意識して命令の監視を行い、命令による例外処理を設けなければならず同期制御部における処理を複雑化してしまう。   In the case of access to the local address space of this system, in order for the system to maintain synchronization, the synchronization control unit monitors the instruction in consideration of the access address and the instruction type, and depends on the instruction. Exception processing must be provided, which complicates the processing in the synchronization control unit.

また、同期制御部に命令、アドレス等による例外処理を持たない場合には、同期外れを防ぐために、同期動作中は特定のアクセスを禁止するなどのアクセス制限を設ける必要が生じ、同期状態を管理するなどの制御の複雑化やリアルタイム・アクセスが不可能となるなどの制限が発生するという問題がある。   Also, if the synchronization control unit does not have exception handling by instructions, addresses, etc., to prevent loss of synchronization, it is necessary to provide access restrictions such as prohibiting specific access during synchronization operation, and managing the synchronization status There is a problem that restrictions such as complicated control and real-time access become impossible.

そこで本発明は、同期状態を意識することなく、自系、他系のサブシステムへのアクセスが容易にでき、かつ同期外れを起こすことのないフォルトトレラント・コンピュータとそのバス選択制御方法を提供することを目的とする。   Therefore, the present invention provides a fault-tolerant computer and its bus selection control method that can easily access the local system and other subsystems without being aware of the synchronization state and that does not cause loss of synchronization. For the purpose.

上述の課題を解決するため、本発明は、複数のCPUサブシステムがクロック同期して同じ命令列を処理するロックステップ方式のコンピュータシステムのフォルトトレラント・コントローラであって、各CPUサブシステムに対応して、CPUバスの制御を行うCPUバス制御部と、CPUバス制御部からの命令をどのバスを経由して発行するのか選択するバス経路制御部と、各CPUサブシステムのクロック毎の同期状態を監視する同期制御部と、メモリアクセス又はIOアクセスのアドレス制御を行うIOアドレス制御部と、CPUバス制御部からの命令を、同期制御部を介してIOアドレス制御部へ転送する第1のバスと、CPUバス制御部からの命令を、同期制御部を介さずにIOアドレス制御部へ転送する第2のバスと、各CPUサブシステム毎に割り当てられた共有アドレス空間と、CPUサブシステムが自系内でローカルにアクセスするためのローカル・アドレス空間とを備え、前記バス経路制御部は、命令がアクセスする対象アドレスが共有アドレス空間の場合、前記第1のバスを選択し、命令がアクセスする対象アドレスがローカル・アドレス空間の場合、前記第2のバスを選択して、その命令を前記IOアドレス制御部へ転送することを特徴とする。 In order to solve the above-described problems, the present invention is a fault-tolerant controller of a lockstep type computer system in which a plurality of CPU subsystems process the same instruction sequence in clock synchronization, and each CPU subsystem is compatible with each CPU subsystem. The CPU bus control unit that controls the CPU bus, the bus path control unit that selects which bus the command from the CPU bus control unit is issued through, and the synchronization state for each clock of each CPU subsystem A synchronization control unit to be monitored, an IO address control unit that performs address control of memory access or IO access, and a first bus that transfers a command from the CPU bus control unit to the IO address control unit via the synchronization control unit an instruction from the CPU bus controller, and a second bus for transferring to the IO address control unit without using the synchronization controller, each CP A shared address space allocated for each subsystem, and a local address space for the CPU subsystem to access locally in its own system, and the bus path control unit is configured such that the target address accessed by the instruction is a shared address for spatial, select the first bus, when the target address instruction is accessed in the local address space, by selecting the second bus, to transfer the instruction to the IO address controller Features.

以上の構成によって、同期状態を意識することなく、自系、他系のサブシステムへのアクセスが容易にできるようになり、かつ同期外れを起こすこともなくなる。バス経路制御部ではメモリ又はIOに割り当てられたアドレス空間に応じてアクセスするバスを選択することにより、同期制御部には必ず同期した命令のみが転送されることになり、例外処理の必要性がなくなり、同期監視のための機能を簡素化することが可能となる。   With the above configuration, it becomes possible to easily access the subsystems of the own system and other systems without being aware of the synchronization state, and the synchronization is not lost. By selecting the bus to be accessed according to the address space allocated to the memory or IO in the bus path control unit, only the synchronized instruction is transferred to the synchronization control unit, and there is a need for exception processing. Thus, the function for synchronization monitoring can be simplified.

本発明による第1効果は、サブシステムに割り当てられたアドレス空間毎に命令を転送するバスを切り替えることにより、どのようなアクセスに対しても、同期制御部において同期外れを起こすことがなくなるため、サブシステムの同期状態を意識することなく命令を実行することが可能となる。   According to the first effect of the present invention, by switching the bus for transferring an instruction for each address space allocated to the subsystem, the synchronization control unit does not cause loss of synchronization for any access. Instructions can be executed without being aware of the synchronization status of the subsystem.

また、サブシステムに割り当てられたアドレス空間により命令を転送するバスを切り替えることにより、同期制御部は同期命令のみが転送されるため、命令内容やアクセス先を意識することなく、同期外れをチェックすることができるようになり、同期制御回路を簡素化することが可能となる。   In addition, by switching the bus for transferring instructions according to the address space allocated to the subsystem, the synchronization control unit only transfers synchronous instructions, so it checks for out-of-synchronization without being conscious of instruction contents or access destinations. As a result, the synchronization control circuit can be simplified.

その理由は、同期制御部に転送される命令が、必ず同期が取れる命令だけに保障されているからである。これにより同期制御部では、各CPUから発行された命令に差異があった場合には、同期外れとして容易に判断することが可能となる。   This is because the instructions transferred to the synchronization control unit are guaranteed only to the instructions that can always be synchronized. As a result, the synchronization control unit can easily determine that the synchronization has been lost if there is a difference in the commands issued from the CPUs.

第2の効果は、自系サブシステムのローカル・アドレス空間、サブシステム別に固有に割り当てられた共有アドレス空間を用意することにより、自系の内部へのアクセスや、自系に接続されるデバイスへのアクセス、または他系サブシステムの内部情報へのアクセスや、他系に接続されるデバイスの内部情報を、アドレス空間のみを意識して命令を実行することが可能となり、同期状態を意識する必要がなく、アクセスが容易にできるようになる。   The second effect is that the local address space of the own subsystem and the shared address space uniquely assigned to each subsystem are prepared, thereby allowing access to the inside of the own system and devices connected to the own system. Access to internal information of other subsystems and internal information of devices connected to other subsystems can be executed only in the address space, and it is necessary to be aware of the synchronization status It becomes easy to access.

その理由は、アドレス空間別にハードウェアが自動的にアクセスするバスを選択するので、同期状態を意識する必要がないからである。また、サブシステム別に固有の共有メモリ空間を実装することによる効果として、他系のデバイスのエラー情報の参照が容易となり、同期外れの原因などデバイスのエラー情報の参照が容易にでき、障害情報等の特定も容易にできるようになることがあげられる。   The reason is that it is not necessary to be aware of the synchronization state because the hardware automatically selects the bus to be accessed for each address space. In addition, as a result of implementing a unique shared memory space for each subsystem, it is easy to refer to error information of other system devices, it is possible to easily refer to device error information such as the cause of out-of-synchronization, fault information, etc. It will be possible to easily identify.

第3の効果は、サブシステムに割り当てられたアドレス空間の一部を固有デバイスのアドレス空間へのアクセスとして実装することにより、他系サブシステムのメモリアクセスとして利用することが可能となる。また、他に他系サブシステムへの命令発行用としてメモリ空間を割り当てることにより、他系への命令の発行を容易に行うことも可能になる。この機能はエラー時などの要因の特定等に利用することができる。   The third effect is that a part of the address space allocated to the subsystem is implemented as an access to the address space of the unique device, so that it can be used as a memory access of another subsystem. In addition, by allocating a memory space for issuing instructions to other subsystems, it is possible to easily issue instructions to other systems. This function can be used to identify factors such as errors.

その理由は、同期制御部で同期外れを検出した場合などサブシステムでエラーを検出した際に、全てのCPUサブシステムからそれぞれの固有に割り当てられた共有アドレス空間へアクセスを発行することにより、どのサブシステムで最初にエラーを検出したかを調べることができるためである。   The reason for this is that when an error is detected in the subsystem, such as when synchronization is detected by the synchronization controller, all CPU subsystems issue access to each uniquely assigned shared address space. This is because it can be checked whether the subsystem first detected an error.

次に、本発明の最良の形態について図面を参照して説明する。   Next, the best mode of the present invention will be described with reference to the drawings.

図1は、本発明を適用したロックステップ方式のフォルトトレラント・コンピュータシステムの概略構成を示す。サブシステム11,12の各フォルトトレラント(FT)・コントローラは、CPU、メインメモリ、IO(Input/Output)ブリッジの制御部と、CPUから発行される命令をチェックする同期制御部と、CPUから発行された命令を他系の同期制御部へ転送するデータ転送部から構成される。CPUから発行された命令は内部のパスもしくはデータ転送部を通過し、いずれかのコントローラの同期制御部に送られ、データの差異のチェックを実施している。同期制御部内でデータの差異が検出された場合には、同期外れのエラーとなり、エラーを起こしたシステム側を切り離して動作する。   FIG. 1 shows a schematic configuration of a lockstep type fault tolerant computer system to which the present invention is applied. Each fault-tolerant (FT) controller of subsystems 11 and 12 is a CPU, main memory, IO (Input / Output) bridge control unit, a synchronous control unit that checks instructions issued by the CPU, and a CPU issue The data transfer unit is configured to transfer the received instruction to the synchronous control unit of the other system. A command issued from the CPU passes through an internal path or data transfer unit, and is sent to a synchronization control unit of any controller to check a data difference. When a difference in data is detected in the synchronization control unit, an error occurs in synchronization, and the system side that caused the error is disconnected and operated.

図2は、本発明によるフォルトトレラント・コントローラの要部概略構成を示す。CPUバス制御部111,121は、CPU(図示省略)に接続されてCPUバスの制御を行う。バス経路制御部112,122は、CPUバス制御部111,121からの命令をどのバスを経由して発行するのか選択する。バス115,116及び125,126は、同期制御部113,123を通過させるバスである。バス117,127は、同期制御部を通過させずIOアドレス制御部114、124を直接アクセスするためのバスである。   FIG. 2 shows a schematic configuration of a main part of a fault tolerant controller according to the present invention. The CPU bus control units 111 and 121 are connected to a CPU (not shown) and control the CPU bus. The bus route control units 112 and 122 select via which bus the instruction from the CPU bus control units 111 and 121 is issued. The buses 115, 116 and 125, 126 are buses that allow the synchronization control units 113, 123 to pass through. The buses 117 and 127 are buses for directly accessing the IO address control units 114 and 124 without passing through the synchronization control unit.

バス経路制御部112,122では、各CPUから発行される命令に対し、命令の対象アドレスから通常に行われるデバイスへの命令の場合、同期動作が必要な命令としてバス115,116及び125,126を経由して同期制御部113,123に送る。同期制御部113,123では、各CPUから発行された命令のチェックを行い、IOアドレス制御部114,124へ命令を転送する。IOアドレス制御部114,124では、メモリアクセス又はIOアクセスのアドレス制御を行い、IO(又はメモリ)コントローラ118,128にアクセスする。   In the bus path control units 112 and 122, in the case of an instruction issued from each CPU and an instruction to a device that is normally performed from an instruction target address, the buses 115, 116, 125, and 126 are instructions that require a synchronous operation. To the synchronization control units 113 and 123 via The synchronization control units 113 and 123 check the instruction issued from each CPU and transfer the instruction to the IO address control units 114 and 124. The IO address control units 114 and 124 perform memory access or IO access address control, and access the IO (or memory) controllers 118 and 128.

同期外れを起こす自系内のローカル・アドレス空間へのアクセスでは、同期制御部113,123を通過しないバックドアパスであるバス117,127を経由してIOアドレス制御部114,124へ命令を発行することにより、同期制御部での同期外れを防ぐことが可能となる。また同期制御部113,123は同期命令のみが転送されるため、命令の内容などを意識することなく同期状態を監視することが可能となる。   When accessing the local address space in the local system that causes loss of synchronization, issue an instruction to the IO address control units 114 and 124 via the buses 117 and 127 that are backdoor paths that do not pass through the synchronization control units 113 and 123. By doing so, it is possible to prevent loss of synchronization in the synchronization control unit. In addition, since only the synchronization command is transferred to the synchronization control units 113 and 123, it is possible to monitor the synchronization state without being conscious of the content of the command.

図3は、本発明によるロックステップ方式のフォルトトレラント・コンピュータシステムの動作例を示す。CPU110,120から発行されたIOコントローラ128への命令は、CPUバス制御部111,121を通過し、バス経路制御部112,122によって命令の転送先の決定を行う。CPU110から発行された命令は、バス経路制御部112において他系のデバイスへの命令として認識され、データ転送部(図示省略)を経由して同期制御部123へと転送される。   FIG. 3 shows an example of the operation of the lockstep fault tolerant computer system according to the present invention. A command issued from the CPUs 110 and 120 to the IO controller 128 passes through the CPU bus control units 111 and 121, and the bus path control units 112 and 122 determine a transfer destination of the command. The command issued from the CPU 110 is recognized as a command to another device in the bus path control unit 112 and transferred to the synchronization control unit 123 via a data transfer unit (not shown).

CPU120から発行された命令は、バス経路制御部122で自系のデバイスへの命令としてデコードされ、コントローラ内部のインターフェースを通り同期制御部123に送られる。同期制御部123では、CPU110,120から発行されたそれぞれの命令の比較を行い、命令に差異がない場合にIOアドレス制御部124に命令を転送する。この同期制御部で差異を検出した場合には、エラーとして、エラーを起こしたシステムを切り離し、残りのシステムで動作する。   The instruction issued from the CPU 120 is decoded as an instruction to the self-system device by the bus path control unit 122 and sent to the synchronization control unit 123 through the interface inside the controller. The synchronization control unit 123 compares the commands issued from the CPUs 110 and 120 and transfers the command to the IO address control unit 124 when there is no difference between the commands. When a difference is detected by this synchronization control unit, the system causing the error is disconnected as an error, and the system operates in the remaining system.

図4は、本発明によるアドレス空間割り当てを示す。システム内部情報のアクセスのために、サブシステム11用に割り当てた共有空間211と、サブシステム12用に割り当てた共有空間212と、それぞれのサブシステム内でローカルに割り当てた空間210を用意する。これらのそれぞれの空間へアクセスする際の手段として、IOアドレス制御部にアクセスするバスは、同期制御部を経由するバス115,116及び125,126と、同期制御部を経由せず直接IOアドレス制御部をアクセスできるバス117,127を実装している。バス経路制御部では、アクセスされたアドレス空間から、どのバスを経由してアクセスすべきか判断し、命令の転送を行う。   FIG. 4 illustrates address space allocation according to the present invention. In order to access the system internal information, a shared space 211 allocated for the subsystem 11, a shared space 212 allocated for the subsystem 12, and a space 210 allocated locally in each subsystem are prepared. As means for accessing each of these spaces, the buses that access the IO address control unit are the buses 115, 116 and 125, 126 that pass through the synchronization control unit, and the direct IO address control without going through the synchronization control unit. The buses 117 and 127 that can access the sections are mounted. The bus path control unit determines which bus is to be accessed from the accessed address space, and transfers an instruction.

図5は、サブシステム内のローカル空間へのアクセスを示す。ローカル・サブシステムへ割り当てられた空間210へ命令が発行された場合、バス経路制御部112,122は同期制御部113,123を経由しないバス117,127を選択して、それぞれのサブシステム内にあるIOアドレス制御部114,124にアクセスする。バス117,127を経由することにより、他系の同期制御部には命令が転送されないので、サブシステムのローカル空間への命令の際の同期外れを防ぐことができる。   FIG. 5 illustrates access to local space within the subsystem. When an instruction is issued to the space 210 allocated to the local subsystem, the bus route control units 112 and 122 select the buses 117 and 127 that do not pass through the synchronization control units 113 and 123, and are included in the respective subsystems. A certain IO address control unit 114 or 124 is accessed. By passing through the buses 117 and 127, no instruction is transferred to the synchronization control unit of the other system, so that loss of synchronization at the time of an instruction to the local space of the subsystem can be prevented.

もし、バス経路制御部112,122がバス115,125を経由して同期制御部113,123に命令を転送すると、サブシステム内のローカル・アドレスに割り当てられた空間のため、各CPUから発行された命令は自系の同期制御部に送られ、同期制御部には他系のCPUからの命令が転送されず、同期外れを引き起こす。   If the bus path control units 112 and 122 transfer instructions to the synchronization control units 113 and 123 via the buses 115 and 125, they are issued from each CPU because of the space allocated to the local address in the subsystem. The command is sent to the own synchronization control unit, and the instruction from the CPU of the other system is not transferred to the synchronization control unit, which causes loss of synchronization.

図6は、各サブシステムの共有空間へのアクセスを示す。IOアドレス制御部114に対応してサブシステム11に割り当てられたアドレス空間211、もしくはIOアドレス制御部124に対応してサブシステム12に割り当てられたアドレス空間212にアクセスする場合、片側のサブシステムにしか実装されていない空間のため、他系のCPUからのアクセスも同期制御部を通過することになり、同期外れを起こすことはない。   FIG. 6 shows access to the shared space of each subsystem. When accessing the address space 211 assigned to the subsystem 11 corresponding to the IO address control unit 114 or the address space 212 assigned to the subsystem 12 corresponding to the IO address control unit 124, the subsystem on one side is accessed. Since this space is only mounted, access from CPUs of other systems also passes through the synchronization control unit, and no synchronization is lost.

この場合、CPU110から発行された命令は、バス経路制御部112よりバス115を経由して同期制御部113に送られる。CPU120から発行された命令は、バス経路制御部122よりバス126を経由して同期制御部113に命令が転送され、同期制御部113により命令の同期チェックが実施される。   In this case, a command issued from the CPU 110 is sent from the bus path control unit 112 to the synchronization control unit 113 via the bus 115. The instruction issued from the CPU 120 is transferred from the bus path control unit 122 to the synchronization control unit 113 via the bus 126, and the synchronization control unit 113 performs instruction synchronization check.

IOアドレス制御部114に送られた命令は、割り当てられたアドレス空間211をアクセスし、内部情報のアクセスが可能となる。また、システム固有のメモリ空間を使用することにより、外部の特定のデバイスにアクセスすることも可能である。この場合固有に割り当てたメモリ空間を特定のアドレスに振り替える機能を実装することによりアクセスが可能となる。   The instruction sent to the IO address control unit 114 accesses the allocated address space 211 and can access internal information. It is also possible to access a specific external device by using a memory space unique to the system. In this case, it is possible to access by installing a function of transferring the memory space uniquely assigned to a specific address.

このようにバス経路制御部では、CPUから発行された命令をアドレス別に経路を選択し、同期外れの原因となるアドレスへの命令を別のバス(バックドアパス)を利用することにより、同期制御部での同期外れを起こすことなく自系、他系のサブシステムへのアクセスを容易にすることができる。また、システムに固有に割り当てられたメモリ空間を利用することによりデバイス情報だけではなく、他系のメインメモリの内容を読み出すことや、エラー時の処理として他系システムの命令の発行を行うことも可能である。   In this way, the bus route control unit selects a route for each instruction issued from the CPU, and uses a different bus (back door path) for instructions to the address causing the loss of synchronization. This makes it easy to access the subsystems of the own system and other systems without causing loss of synchronization. It is also possible to read not only the device information but also the contents of the main memory of another system by using the memory space uniquely assigned to the system, and issue instructions of the other system as a process at the time of error Is possible.

以上の説明では、サブシステム内で割り当てられたローカル空間、サブシステムそれぞれの共有空間をIOアドレス空間として説明したが、それぞれの空間をメモリ空間に割り当て、メモリアドレスによってバスを選択する方法も可能である。各図のIOアドレス制御部をシステムの共有メモリ空間およびローカルに割り当てたローカル・メモリ空間のアドレス制御部として扱うことにより同様の機能を実現することが可能である。   In the above description, the local space allocated in the subsystem and the shared space of each subsystem are described as the IO address space. However, it is also possible to assign each space to the memory space and select the bus by the memory address. is there. The same function can be realized by treating the IO address control unit of each figure as a shared memory space of the system and an address control unit of a local memory space allocated locally.

実施例1では、命令の対象アドレスによってバスを選択していたが、本実施例のフォルトトレラント・コントローラでは、CPUが発行したメモリアクセス又はIOアクセス命令のコマンドによって、どのバスを経由して発行するのか選択する機能を有する。このため、実施例1のIOアドレス制御部の代わりに、メモリアクセス又はIOアクセスのコマンド制御を行うIOコマンド制御部を有する。   In the first embodiment, the bus is selected according to the target address of the instruction. However, in the fault-tolerant controller of the present embodiment, the bus is issued via which bus by the memory access or IO access instruction command issued by the CPU. It has a function to select. For this reason, instead of the IO address control unit of the first embodiment, an IO command control unit that performs memory access or IO access command control is provided.

バス経路制御部では、各CPUから発行される命令に対し、命令のコマンドから通常に行われるデバイスへの命令の場合、同期動作が必要な命令として同期制御部を通過させるバスを経由して同期制御部に送る。同期制御部では、各CPUから発行された命令のチェックを行い、IOコマンド制御部へ命令を転送する。IOコマンド制御部では、メモリアクセス又はIOアクセスのコマンド制御を行い、IO(又はメモリ)コントローラにアクセスする。   In the bus route control unit, in response to an instruction issued from each CPU, in the case of an instruction to the device that is normally performed from the command of the instruction, it is synchronized via a bus that passes through the synchronization control unit as an instruction that requires synchronous operation Send to control unit. The synchronization control unit checks the instruction issued from each CPU and transfers the instruction to the IO command control unit. The IO command control unit performs memory access or IO access command control, and accesses the IO (or memory) controller.

同期外れを起こす可能性のあるコマンドでは、同期制御部を通過しないバックドアパスであるバスを経由してIOコマンド制御部へ命令を発行することにより、同期制御部での同期外れを防ぐことが可能となる。また同期制御部は同期命令のみが転送されるため、命令の内容などを意識することなく同期状態を監視することが可能となる。   For commands that may cause loss of synchronization, it is possible to prevent loss of synchronization at the synchronization control unit by issuing an instruction to the IO command control unit via a bus that is a backdoor path that does not pass through the synchronization control unit. It becomes possible. In addition, since only the synchronization command is transferred to the synchronization control unit, it is possible to monitor the synchronization state without being aware of the content of the command.

本実施例のバス経路制御部では、CPUから発行されたメモリアクセス又はIOアクセス命令のコマンド別にIOコマンド制御部への経路を選択し、同期外れの原因となるコマンドを別のバス(バックドアパス)を利用して転送することにより、同期制御部での同期外れを起こすことなく自系、他系のサブシステムへのアクセスを容易にすることができる。   In the bus route control unit of the present embodiment, a route to the IO command control unit is selected for each command of a memory access or IO access command issued from the CPU, and a command causing a loss of synchronization is transmitted to another bus (backdoor path). ) Can be used to facilitate access to the subsystems of the own system and other systems without causing the synchronization control unit to lose synchronization.

本発明を適用したフォルトトレラント・コンピュータシステムの概略構成図である。It is a schematic block diagram of a fault tolerant computer system to which the present invention is applied. 本発明によるフォルトトレラント・コントローラの要部概略構成図である。It is a principal part schematic block diagram of the fault tolerant controller by this invention. 本発明によるフォルトトレラント・コンピュータシステムの動作例を示す図である。It is a figure which shows the operation example of the fault tolerant computer system by this invention. 本発明によるアドレス空間割り当てを示す図である。FIG. 6 is a diagram illustrating address space allocation according to the present invention. 発明によるローカル・サブシステムへのアクセスを示す図である。FIG. 4 illustrates access to a local subsystem according to the invention. 発明による各サブシステムの共有空間へのアクセスを示す図である。FIG. 4 is a diagram illustrating access to a shared space of each subsystem according to the invention.

符号の説明Explanation of symbols

11,12 サブシステム
111,121 CPUバス制御部
112,122 バス経路制御部
113,123 同期制御部
114,124 IOアドレス制御部
115,116,125,126 同期制御部を通過するバス
117,127 同期制御部を通過しないバス
11, 12 Subsystem 111, 121 CPU bus control unit 112, 122 Bus route control unit 113, 123 Synchronization control unit 114, 124 IO address control unit 115, 116, 125, 126 Bus 117, 127 passing through the synchronization control unit Bus that does not pass through the control section

Claims (2)

複数のCPUサブシステムがクロック同期して同じ命令列を処理するロックステップ方式のコンピュータシステムのフォルトトレラント・コントローラであって、
各CPUサブシステムに対応して、
CPUバスの制御を行うCPUバス制御部と、
CPUバス制御部からの命令をどのバスを経由して発行するのか選択するバス経路制御部と、
各CPUサブシステムのクロック毎の同期状態を監視する同期制御部と、
メモリアクセス又はIOアクセスのアドレス制御を行うIOアドレス制御部と、
CPUバス制御部からの命令を、同期制御部を介してIOアドレス制御部へ転送する第1のバスと、
CPUバス制御部からの命令を、同期制御部を介さずにIOアドレス制御部へ転送する第2のバスと
各CPUサブシステム毎に割り当てられた共有アドレス空間と、CPUサブシステムが自系内でローカルにアクセスするためのローカル・アドレス空間とを備え、
前記バス経路制御部は、命令がアクセスする対象アドレスが共有アドレス空間の場合、前記第1のバスを選択し、命令がアクセスする対象アドレスがローカル・アドレス空間の場合、前記第2のバスを選択して、その命令を前記IOアドレス制御部へ転送することを特徴とするフォルトトレラント・コントローラ。
A fault-tolerant controller for a lockstep computer system in which a plurality of CPU subsystems process the same instruction sequence in clock synchronization,
For each CPU subsystem,
A CPU bus control unit for controlling the CPU bus;
A bus path control unit that selects which bus the command from the CPU bus control unit is issued through; and
A synchronization control unit that monitors the synchronization state for each clock of each CPU subsystem;
An IO address control unit for performing address control of memory access or IO access;
A first bus for transferring a command from the CPU bus control unit to the IO address control unit via the synchronization control unit;
A second bus for transferring a command from the CPU bus control unit to the IO address control unit without going through the synchronization control unit ;
A shared address space allocated for each CPU subsystem, and a local address space for the CPU subsystem to access locally within its own system,
The bus path control unit selects the first bus when the target address accessed by the instruction is a shared address space, and selects the second bus when the target address accessed by the instruction is a local address space. to the fault tolerant controller and transferring the instructions to the IO address controller.
CPUバスの制御を行うCPUバス制御部と、CPUバス制御部からの命令をどのバスを経由して発行するのか選択するバス経路制御部と、各CPUサブシステムのクロック毎の同期状態を監視する同期制御部と、メモリアクセス又はIOアクセスのアドレス制御を行うIOアドレス制御部と、CPUバス制御部からの命令を同期制御部を介してIOアドレス制御部へ転送する第1のバスと、CPUバス制御部からの命令を同期制御部を介さずにIOアドレス制御部へ転送する第2のバスとを備えたCPUサブシステムが、複数サブシステムでクロック同期して同じ命令列を処理するロックステップ方式のフォルトトレラント・コンピュータのバス選択制御方法であって、
前記バス経路制御部が、メモリアクセス又はIOアクセス命令の対象アドレスに応じて前記第1のバス又は第2のバスのいずれを経由して命令を発行するのか選択して、その命令をIOアドレス制御部へ転送することを特徴とするフォルトトレラント・コンピュータのバス選択制御方法。
A CPU bus control unit for controlling the CPU bus, a bus path control unit for selecting a bus from which a command from the CPU bus control unit is issued, and a synchronization state for each clock of each CPU subsystem are monitored. A synchronization control unit, an IO address control unit that performs address control of memory access or IO access, a first bus that transfers instructions from the CPU bus control unit to the IO address control unit via the synchronization control unit, and a CPU bus A lock step system in which a CPU subsystem having a second bus for transferring instructions from the control unit to the IO address control unit without passing through the synchronization control unit processes the same instruction sequence in a clock-synchronized manner in a plurality of subsystems A fault tolerant computer bus selection control method,
The bus path control unit selects whether to issue an instruction via the first bus or the second bus according to a target address of a memory access or IO access instruction, and performs IO address control on the instruction. A method for controlling the bus selection of a fault-tolerant computer, characterized by comprising:
JP2004369378A 2004-12-21 2004-12-21 Fault-tolerant computer and its bus selection control method Expired - Fee Related JP4117685B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004369378A JP4117685B2 (en) 2004-12-21 2004-12-21 Fault-tolerant computer and its bus selection control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004369378A JP4117685B2 (en) 2004-12-21 2004-12-21 Fault-tolerant computer and its bus selection control method

Publications (2)

Publication Number Publication Date
JP2006178614A JP2006178614A (en) 2006-07-06
JP4117685B2 true JP4117685B2 (en) 2008-07-16

Family

ID=36732692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004369378A Expired - Fee Related JP4117685B2 (en) 2004-12-21 2004-12-21 Fault-tolerant computer and its bus selection control method

Country Status (1)

Country Link
JP (1) JP4117685B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103443774A (en) 2007-09-25 2013-12-11 富士通株式会社 Information processor and control method
CN104461793A (en) * 2014-12-05 2015-03-25 中国航空工业集团公司第六三一研究所 High-reliability multinode fault-tolerant computer system and synchronization method

Also Published As

Publication number Publication date
JP2006178614A (en) 2006-07-06

Similar Documents

Publication Publication Date Title
US8713352B2 (en) Method, system and program for securing redundancy in parallel computing system
EP1675006A2 (en) Fault tolerant computer system and interrupt control method for the same
US7568054B2 (en) Duplicate synchronization system and method of operating duplicate synchronization system
JP7211487B2 (en) VEHICLE CONTROL SYSTEM, VEHICLE CONTROL METHOD AND VEHICLE CONTROL PROGRAM
CA2530921A1 (en) Fault tolerant system and controller, access control method, and control program used in the fault tolerant system
JP4161276B2 (en) Fault-tolerant computer device and synchronization method thereof
US8601215B2 (en) Processor, server system, and method for adding a processor
JP2009187314A (en) Duplex controller system, cpu module, and program thereof
JP4117685B2 (en) Fault-tolerant computer and its bus selection control method
JP2007334668A (en) Memory dumping method, cluster system, node constituting the system, and program
JP4829821B2 (en) Multiprocessor system and recovery method in multiprocessor system
JP2008226111A (en) Duplication controller system and operation system controller
CN111190345B (en) Redundant automation system with multiple processor units per hardware unit
EP3696627B1 (en) Distributed control system
JP2008210183A (en) Redundant control system
JP2006236371A (en) Control system
JPWO2004040451A1 (en) System controller, control system, and system control method
JP2007323190A (en) Calculation control system for performing data communication and its communication method
JP5227653B2 (en) Multiplexed computer system and processing method thereof
JP2626127B2 (en) Backup route test method
JPH0478902A (en) Bus controller
EP3907614A1 (en) Semiconductor device
JP4792958B2 (en) Data control system, shared disk device, and disk access restriction switching method used therefor
JP2946541B2 (en) Redundant control system
JP3903688B2 (en) Bank switching system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080307

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080331

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080413

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 3

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080514

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20080828

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120502

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120502

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130502

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140502

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees