JP2009116681A - Multiprocessor system, microprocessor, and failure handling method of microprocessor - Google Patents

Multiprocessor system, microprocessor, and failure handling method of microprocessor Download PDF

Info

Publication number
JP2009116681A
JP2009116681A JP2007289928A JP2007289928A JP2009116681A JP 2009116681 A JP2009116681 A JP 2009116681A JP 2007289928 A JP2007289928 A JP 2007289928A JP 2007289928 A JP2007289928 A JP 2007289928A JP 2009116681 A JP2009116681 A JP 2009116681A
Authority
JP
Japan
Prior art keywords
microprocessor
cache
tag information
real address
failure
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.)
Granted
Application number
JP2007289928A
Other languages
Japanese (ja)
Other versions
JP5163061B2 (en
Inventor
Takeshi Koike
毅 小池
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 JP2007289928A priority Critical patent/JP5163061B2/en
Publication of JP2009116681A publication Critical patent/JP2009116681A/en
Application granted granted Critical
Publication of JP5163061B2 publication Critical patent/JP5163061B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To safely disconnect a faulty processor from a system by executing cache sweeping in handling a failure of a microprocessor from a sound processor in which no fault occurs. <P>SOLUTION: A multiprocessor system constituted of two or more microprocessors each of which has a write back cache includes: a routing circuit 20 for storing cache states of all the microprocessors; a means for reading tag information stored in the routing circuit 20; a means for specifying a real address space cached in a write-back cache 10 in at least any one of the microprocessors on the basis of the tag information; and a means for reading a specified real address space by other sound microprocessor in which no fault occurs. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、ライトバック・キャッシュを有するマイクロプロセッサで構成されたマルチプロセッサシステムに関する。   The present invention relates to a multiprocessor system including a microprocessor having a write-back cache.

近年、マイクロプロセッサに関する技術の進歩により、メインフレームに採用されていたような複雑なアドレス変換機構やメモリキャッシュなどを実装するマイクロプロセッサが多く登場するようになった。
また、マイクロプロセッサのマルチ・コア化を背景に大規模なマルチプロセッサシステムも構築されるようになった。
In recent years, due to advances in technology related to microprocessors, a large number of microprocessors that implement a complicated address translation mechanism, memory cache, and the like that have been adopted in mainframes have appeared.
In addition, a large-scale multiprocessor system has been built against the background of the multi-core microprocessor.

一方、マイクロプロセッサを制御するファームウェアは、より多種多様のチップセットで動作することを可能とするため、マイクロプロセッサ本体から独立し抽象化されるようになった。
そして、BIOSと呼ばれる制御プログラムがメモリ上に実装され、マイクロプロセッサの命令セットを組み合わせて、プロセッサの初期化や障害処理を実現する方式が一般化している。
On the other hand, the firmware for controlling the microprocessor has been abstracted independently from the microprocessor body in order to be able to operate on a wider variety of chipsets.
A control program called BIOS is mounted on a memory, and a method of realizing processor initialization and failure processing by combining microprocessor instruction sets is generalized.

例えば、インテル社のItanium2プロセッサでは、プロセッサ故障時にMCA(マシン・チェック・アボート)ハンドラと呼ばれるプログラムコードを実行し、プロセッサで実行していた処理の引き継ぎや資源の開放を行うことで、障害処理を実現している。   For example, the Intel Itanium 2 processor executes program code called MCA (Machine Check Abort) handler in the event of a processor failure, and takes over the processing that was being executed by the processor and releases resources to handle the failure. Realized.

このItanium2プロセッサでは、ライトバック方式のキャッシュが採用されている。ライトバック方式では、CPUは書き込み時にはキャッシュにだけ書き込みを行い、キャッシュの内容を書き換える必要が生じたときに、書き換え前にメイン・メモリへキャッシュの内容の書き込みが行われる。   This Itanium2 processor employs a write-back cache. In the write back method, the CPU writes only to the cache at the time of writing, and when it becomes necessary to rewrite the contents of the cache, the contents of the cache are written to the main memory before rewriting.

一般的に、Itanium2プロセッサのようなライトバック・キャッシュを有するマイクロプロセッサでは、MCAハンドラのようなプログラムコード中でキャッシュ掃き出し命令を実行し、ライトバック・キャッシュをクリーンな状態にした後、プロセッサの切り離しを実行する。   In general, in a microprocessor having a write-back cache such as an Itanium 2 processor, a cache flush instruction is executed in a program code such as an MCA handler to clean the write-back cache, and then the processor is disconnected. Execute.

しかし、プロセッサのストールに至るような障害が発生して、障害処理ハンドラが動作できない状態で停止した場合には、ダーディ・ブロックがプロセッサのキャッシュ中に取り残されるため、システム全体を再初期化しないとプロセッサの切り離しが行えないという問題があった。
すなわち、従来の技術ではマイクロプロセッサに障害が発生した場合でも、その上で実行される制御プログラムが完全に動作することを前提にしており、特にマイクロプロセッサのストール等、キャッシュ制御部以外に障害が発生し、かつキャッシュの掃き出し処理が実行できない場合の考慮が不十分であった。
However, if a failure that leads to a processor stall occurs and the failure handler is stopped in an inoperable state, the dirty block remains in the processor cache, so the entire system must be reinitialized. There was a problem that the processor could not be disconnected.
In other words, even if a failure occurs in the microprocessor, the conventional technology is based on the premise that the control program executed on the microprocessor operates completely. Insufficient consideration was given to the occurrence of cache flushing.

ここで、マイクロプロセッサの障害処理に関連する先行技術としては、例えば特許文献1に記載の計算機システムのメモリ障害回復方法、特許文献2に記載のマルチプロセッサシステム、及び特許文献3に記載のファイル制御装置のライトバック制御方式などを挙げることができる。   Here, as prior arts related to microprocessor failure processing, for example, a memory failure recovery method for a computer system described in Patent Document 1, a multiprocessor system described in Patent Document 2, and file control described in Patent Document 3 A device write-back control method can be used.

特開平09−081464号公報JP 09-084464 A 特開2005−010995号公報JP 2005-010995 A 特開昭63−045656号公報JP 63-045656 A

特許文献1に記載の計算機システムのメモリ障害回復方法は、計算機システムにおいて、メモリ障害検出手段がメモリの障害を検出した際、まずメモリ部分閉塞手段により障害ページを閉塞し、更新イメージ出力手段を起動し、更新イメージ出力手段が、トレースキャッシュフラッシュ手段によりメモリ更新トレースキャッシュからメモリで喪失した障害ページのデータのコピーを、仮想記憶手段により二次記憶装置に出力して、障害ページの復旧を行う方法である。   In the computer system memory failure recovery method described in Patent Document 1, when the memory failure detection means detects a memory failure in the computer system, the memory page is first closed by the memory partial blocking means, and the update image output means is activated. Then, the update image output means outputs a copy of the failed page data lost in the memory from the memory update trace cache by the trace cache flush means to the secondary storage device by the virtual storage means to recover the failed page. It is.

この方法によれば、障害ページを復旧するために、障害が発生したメモリを有する計算機システムにおいて、障害処理を実行する制御プログラムが正しく動くことが必要である。このため、キャッシュ制御部以外に障害が発生して、かつキャッシュの掃き出し処理が実行できない場合に、システム全体を再初期化することなく、障害ページの復旧を行えるものではなかった。   According to this method, in order to recover the faulty page, it is necessary that the control program for executing the fault processing operates correctly in the computer system having the memory in which the fault has occurred. For this reason, when a failure occurs in a part other than the cache control unit and the cache flushing process cannot be executed, the failed page cannot be recovered without reinitializing the entire system.

特許文献2に記載のマルチプロセッサシステムは、複数のプロセッサにおいて発生するライトバックの障害処理を行うシステムコントローラを備え、このシステムコントローラが、ダーティヒット信号制御回路と、各プロセッサごとに、システムバスへ発行されたメモリ読み出し命令に対応するキャッシュラインの状態を保持するキャッシュライン状態保持回路を有している。
そして、各プロセッサがダーティ状態で保持しているキャッシュラインが、メモリ読み出し命令を出力したプロセッサと、システムコントローラとに自動的に転送され、インプリシットライトバックで障害が発生した場合に、転送元のプロセッサを停止する構成となっている。
The multiprocessor system described in Patent Document 2 includes a system controller that performs failure processing of a write-back that occurs in a plurality of processors. This system controller issues a dirty hit signal control circuit and a system bus to each processor. A cache line state holding circuit for holding the state of the cache line corresponding to the read memory instruction.
The cache line that each processor holds in a dirty state is automatically transferred to the processor that issued the memory read command and the system controller. When a failure occurs during implicit write back, the transfer source The processor is configured to stop.

しかしながら、このマルチプロセッサシステムは、ダーディ・ブロックの掃き出しが終わっていないプロセッサに障害が発生した場合に、その掃き出しを完了させて、システム全体を初期化することなく、システムを復旧し得るものではない。   However, this multiprocessor system cannot recover the system without completing the sweeping and initializing the entire system when a processor that has not been swept out of the dirty block fails. .

特許文献3に記載のファイル制御装置のライトバック制御方式は、ファイル制御装置において、キャッシュメモリ、キャッシュ制御部、資源管理部に加え、それぞれプロセッサを備えたチャネルインターフェース部及びデバイスインターフェース部を有している。
そして、キャッシュ制御部の障害時に、資源管理部の指示のもと、チャネルインターフェース部又はデバイスインターフェース部に備えられたプロセッサにより、ライトバック処理を代行させる構成となっている。
The file control device write-back control method described in Patent Document 3 includes a channel interface unit and a device interface unit each including a processor in addition to a cache memory, a cache control unit, and a resource management unit. Yes.
In the event of a failure of the cache control unit, a write back process is performed by a processor provided in the channel interface unit or device interface unit under the instruction of the resource management unit.

しかしながら、このライトバック制御装置は、単なるキャッシュ制御部の二重化に関するものであり、これを実現するために複数のマイクロプロセッサを備える構成となっている。また、キャッシュ制御部に障害が発生した場合には、そのキャッシュの中身を掃き出すことはできない。
このため、キャッシュ制御部以外に障害が発生し、かつキャッシュの掃き出し処理が実行できない場合に、適切にキャッシュの掃き出しを完了させて、システム全体を初期化することなく、システムを復旧することに適用することはできない。
However, this write-back control device is simply related to the duplication of the cache control unit, and is configured to include a plurality of microprocessors in order to realize this. Further, when a failure occurs in the cache control unit, the contents of the cache cannot be swept out.
For this reason, when a failure other than the cache control unit occurs and the cache flushing process cannot be executed, the cache flushing process is properly completed and the system is restored without initializing the entire system. I can't do it.

本発明は、上記の事情にかんがみなされたものであり、マイクロプロセッサの障害処理におけるキャッシュ掃き出し処理を、障害が発生していない健全なプロセッサにより実行することによって、故障したプロセッサをシステムから安全に切り離すことの可能なマルチプロセッサシステム、マイクロプロセッサ、及びマイクロプロセッサの障害処理方法の提供を目的とする。   The present invention has been considered in view of the above circumstances, and the cache flushing process in the failure processing of the microprocessor is executed by a healthy processor in which no failure has occurred, so that the failed processor can be safely separated from the system. An object of the present invention is to provide a multiprocessor system, a microprocessor, and a failure processing method for the microprocessor.

上記目的を達成するため、本発明のマルチプロセッサシステムは、ライトバック・キャッシュをそれぞれ備えた二以上のマイクロプロセッサで構成されたマルチプロセッサシステムであって、全てのマイクロプロセッサのキャッシュ状態を記憶するルーティング回路と、ルーティング回路に記憶されているタグ情報を読み出す手段と、タグ情報にもとづいて、少なくともいずれかのマイクロプロセッサにおけるライトバック・キャッシュ内にキャッシュされている実アドレス空間を特定する手段と、特定された実アドレス空間を、障害が発生していない他の健全なマイクロプロセッサにより読み出す手段とを有する構成としてある。   In order to achieve the above object, a multiprocessor system according to the present invention is a multiprocessor system composed of two or more microprocessors each having a write-back cache, and a routing for storing cache states of all the microprocessors. A circuit, a means for reading tag information stored in the routing circuit, a means for identifying a real address space cached in a write-back cache in at least one of the microprocessors based on the tag information, and a specification The real address space is read by another healthy microprocessor in which no failure has occurred.

また、本発明のマイクロプロセッサは、マルチプロセッサシステムを構成する、ライトバック・キャッシュを備えたマイクロプロセッサであって、マルチプロセッサシステムにおける全てのマイクロプロセッサのキャッシュ状態を記憶するルーティング回路に記憶されているタグ情報を読み出す手段と、タグ情報にもとづいて、少なくともいずれかのマイクロプロセッサにおけるライトバック・キャッシュ内にキャッシュされている実アドレス空間を特定する手段と、障害が発生した他のマイクロプロセッサにおける、特定された実アドレス空間を、障害が発生していない当該マイクロプロセッサにより読み出す手段とを備えた構成としてある。   The microprocessor according to the present invention is a microprocessor having a write-back cache that constitutes a multiprocessor system, and is stored in a routing circuit that stores cache states of all the microprocessors in the multiprocessor system. Means for reading tag information, means for identifying the real address space cached in the write-back cache in at least one of the microprocessors based on the tag information, and identification in the other microprocessor in which the failure has occurred The real address space is read out by the microprocessor in which no failure has occurred.

また、本発明のマイクロプロセッサの障害処理方法は、マルチプロセッサシステムを構成する、ライトバック・キャッシュを備えたマイクロプロセッサの障害処理方法であって、マルチプロセッサシステムにおけるルーティング回路に全てのマイクロプロセッサのキャッシュ状態を記憶し、ルーティング回路に記憶されているタグ情報を読み出し、タグ情報にもとづいて、マルチプロセッサシステムにおける少なくともいずれかのマイクロプロセッサのライトバック・キャッシュ内にキャッシュされている実アドレス空間を特定し、特定された実アドレス空間を、障害が発生していない他のマイクロプロセッサにより読み出す方法としてある。   According to another aspect of the present invention, there is provided a failure processing method for a microprocessor having a write-back cache that constitutes a multiprocessor system, wherein all microprocessor caches are included in a routing circuit in the multiprocessor system. Store the state, read the tag information stored in the routing circuit, and identify the real address space cached in the write-back cache of at least one microprocessor in the multiprocessor system based on the tag information. In this method, the specified real address space is read by another microprocessor in which no failure has occurred.

本発明によれば、マイクロプロセッサのライトバック・キャッシュにダーティ・ブロックが取り残された状態でプロセッサがストールしても、他の健全なプロセッサから障害の発生したプロセッサのキャッシュ掃き出し処理を実行することができ、そのプロセッサの動的な切り離しを行うことができる。
このため、システムの可用性を向上させることが可能となる。
According to the present invention, even if a processor is stalled in a state where a dirty block is left in the write-back cache of the microprocessor, the cache flush processing of the failed processor can be executed from another healthy processor. And the processor can be dynamically disconnected.
For this reason, the availability of the system can be improved.

以下、本発明に係るマルチプロセッサシステムの好ましい実施形態について、図面を参照しつつ説明する。
[第一実施形態]
まず、本発明の第一実施形態の構成について、図1を参照して説明する。同図は、本実施形態のマルチプロセッサシステムの構成を示すブロック図である。
Hereinafter, a preferred embodiment of a multiprocessor system according to the present invention will be described with reference to the drawings.
[First embodiment]
First, the configuration of the first embodiment of the present invention will be described with reference to FIG. FIG. 2 is a block diagram showing the configuration of the multiprocessor system of this embodiment.

図1に示すように、本実施形態のマルチプロセッサシステムにおいて、マイクロプロセッサ1a〜1dは記憶制御装置2を介して記憶装置3に接続されている。
マイクロプロセッサ1a〜1dはマルチプロセッサを構成し、障害通知割り込み信号線6を使用して互いに障害の発生を通知する。
As shown in FIG. 1, in the multiprocessor system of this embodiment, the microprocessors 1 a to 1 d are connected to a storage device 3 via a storage control device 2.
The microprocessors 1a to 1d constitute a multiprocessor and notify each other of the occurrence of a failure using the failure notification interrupt signal line 6.

この障害には、マイクロプロセッサのハードウェア故障及びマイクロプロセッサにおける処理を実行させるためのソフトウェアの処理異常が含まれる。
ただし、後述するキャッシュ制御部11には、これらのハードウェア故障又はソフトウェアの処理異常のいずれの影響も及んでいないことを想定している。
This failure includes a hardware failure of the microprocessor and a software processing abnormality for executing processing in the microprocessor.
However, it is assumed that the cache control unit 11 described later is not affected by any of these hardware failures or software processing abnormalities.

マイクロプロセッサ1a〜1dはメモリバス4を使用して記憶装置3における実アドレス空間30にアクセスする。
記憶制御装置2におけるルーティング回路20は、全てのマイクロプロセッサのキャッシュ状態を格納するチップセットである。
The microprocessors 1 a to 1 d use the memory bus 4 to access the real address space 30 in the storage device 3.
The routing circuit 20 in the storage controller 2 is a chip set that stores the cache states of all the microprocessors.

このルーティング回路20は、各マイクロプロセッサが記憶装置3におけるどの実アドレス空間にアクセスしたかを監視し、マイクロプロセッサ1a〜1dにおけるライトバック・キャッシュ10(ストアイン・キャッシュとも言う)にキャッシュされているメモリブロック31の情報(以下、ルーティング情報と称する場合がある)を記憶する。
また、ルーティング回路20に記憶されているルーティング情報は、ルーティング情報読み出し信号線5を使用して任意のマイクロプロセッサ1a〜1dにより読み出すことができる。
The routing circuit 20 monitors which real address space in each storage device 3 is accessed by each microprocessor, and is cached in a write-back cache 10 (also referred to as a store-in cache) in each of the microprocessors 1a to 1d. Information of the memory block 31 (hereinafter sometimes referred to as routing information) is stored.
Further, the routing information stored in the routing circuit 20 can be read out by any of the microprocessors 1 a to 1 d using the routing information read signal line 5.

図2は、本実施形態のマイクロプロセッサにおけるライトバック・キャッシュ10と、ルーティング回路20を表したブロック図である。同図は、マイクロプロセッサ1aのライトバック・キャッシュ10、仮想アドレスレジスタ15、及びルーティング情報読み出しレジスタ16を例示しているが、他のマイクロプロセッサも同様の構成を備えている。   FIG. 2 is a block diagram showing the write-back cache 10 and the routing circuit 20 in the microprocessor of this embodiment. The figure illustrates the write-back cache 10, the virtual address register 15, and the routing information read register 16 of the microprocessor 1a, but other microprocessors have the same configuration.

マイクロプロセッサ1aの演算器からのメモリアクセス(書き込み動作)情報は仮想アドレスレジスタ15に格納され、仮想アドレス空間の特定のビットに対応付けられたタグ・フィールド、インデックス・フィールド、ライン・フィールドに分解される。   Memory access (write operation) information from the arithmetic unit of the microprocessor 1a is stored in the virtual address register 15, and is decomposed into a tag field, an index field, and a line field associated with specific bits in the virtual address space. The

このうちタグ・フィールドとインデックス・フィールドの値は、仮想アドレスレジスタ15からライトバック・キャッシュ10に出力され、それぞれ比較回路12、キャッシュ制御部11等における処理において使用される。また、ライン・フィールドの値は、無加工(無変換)でライトバック・キャッシュ10における実アドレスレジスタ13に出力される。   Among these values, the values of the tag field and the index field are output from the virtual address register 15 to the write-back cache 10 and used in the processing in the comparison circuit 12, the cache control unit 11, and the like, respectively. The value of the line field is output to the real address register 13 in the write-back cache 10 without processing (no conversion).

図2に示す本実施形態のライトバック・キャッシュ10は、セット連想マッピング方式のキャッシュの構成例である。
ライトバック・キャッシュ10は、キャッシュ制御部11、比較回路12、実アドレスレジスタ13、及びデータレジスタ14を備えている。
The write-back cache 10 of this embodiment shown in FIG. 2 is a configuration example of a set associative mapping method cache.
The write-back cache 10 includes a cache control unit 11, a comparison circuit 12, a real address register 13, and a data register 14.

キャッシュ制御部11は、記憶装置3のデータの一部を保持し、仮想アドレス及び記憶装置3における実アドレスに関連付けられたタグ情報と、そのキャッシュエントリが有効であるか否かを表す有効ビット(Vビット)と、キャッシュ上のデータへのマイクロプロセッサからの更新の有無(ダーティまたはクリーン)を表す状態ビット(Sビット)を備える。   The cache control unit 11 holds a part of the data in the storage device 3, tag information associated with the virtual address and the real address in the storage device 3, and a valid bit indicating whether or not the cache entry is valid ( V bit) and a status bit (S bit) indicating whether or not the data on the cache is updated from the microprocessor (dirty or clean).

なお、キャッシュの作りとして、一般的にプロセッサがメモリへの書き込みを行った時に、メイン・メモリあるいは他のプロセッサのキャッシュにあるメモリ空間を自プロセッサのキャッシュに取り込み更新を行った後、「システムで唯一のメモリ空間を自プロセッサが保持し、更新も行った」ということを明示するために、状態ビットをダーディとする。   In general, when creating a cache, when a processor writes to the memory, the memory space in the main memory or the cache of another processor is taken into the cache of its own processor and updated. In order to clearly indicate that the only memory space is held and updated by the own processor, the status bit is set to “dirty”.

一方、プロセッサがメモリへの読み込みしか行っていない状態で、プロセッサにキャッシュされたものの、参照しかしていなければ他のプロセッサが同じ実アドレス空間をキャッシュしても、自プロセッサのキャッシュ内容を他プロセッサのキャッシュに転送する必要はない。このような状態のことをクリーンな状態と言い、状態ビットはクリーンとされる。   On the other hand, if the processor is only reading into the memory and is cached in the processor, but the other processor caches the same real address space unless it is only referenced, the cache contents of its own processor There is no need to transfer it to the cache. Such a state is called a clean state, and the state bit is clean.

ダーティな状態(更新済)をクリーンな状態(更新未)にするためには、自発的(能動的)な方法として、自プロセッサのキャッシュ内容をメイン・メモリ(記憶装置3)に掃き出す方法がある。また、受動的な方法として、他のプロセッサによりそのキャッシュに転送する方法がある。   In order to change the dirty state (updated) to the clean state (not updated), there is a method of sweeping the cache contents of the own processor to the main memory (storage device 3) as a spontaneous (active) method. . Further, as a passive method, there is a method of transferring to the cache by another processor.

キャッシュの掃き出し処理は、有効ビットが「有効」でかつ、状態ビットが「ダーティ」のキャッシュについて行われ、有効ビットが「無効」又は状態ビットが「クリーン」のキャッシュについては行われない。   The cache flush process is performed for a cache whose valid bit is “valid” and whose status bit is “dirty”, and is not performed for a cache whose valid bit is “invalid” or whose status bit is “clean”.

比較回路12は、キャッシュ制御部11のタグと仮想アドレスレジスタ15のタグ・フィールドの値を比較する。
実アドレスレジスタ13は、キャッシュがミスヒットした場合に、記憶装置3上の実アドレス空間を指し示すアドレス情報を生成する。
The comparison circuit 12 compares the tag of the cache control unit 11 with the value of the tag field of the virtual address register 15.
The real address register 13 generates address information indicating the real address space on the storage device 3 when the cache is miss-hit.

また、実アドレスレジスタ13による出力情報(ミスヒット時)は、メモリバス4を介して記憶制御装置2のルーティング回路20に送出される。
この出力情報には、図2に示すように、キャッシュ制御部11におけるものと同一のタグ及びインデックスの値が含まれる。
データレジスタ14は、キャッシュ11上のデータまたは記憶装置3のデータを一次格納するバッファである。
The output information (at the time of a miss) by the real address register 13 is sent to the routing circuit 20 of the storage control device 2 via the memory bus 4.
The output information includes the same tag and index values as those in the cache control unit 11 as shown in FIG.
The data register 14 is a buffer that primarily stores data on the cache 11 or data in the storage device 3.

ルーティング回路20は、マイクロプロセッサ1a〜1dにそれぞれ対応するルーティング情報21a〜21dを記憶するチップセットである。
ルーティング情報21a〜21dは、ライトバック・キャッシュ10のキャッシュ制御部11と同じタグ情報と、ルーティングエントリが有効であるか否かを表す有効ビット(Vビット)を備える。
The routing circuit 20 is a chip set that stores routing information 21a to 21d corresponding to the microprocessors 1a to 1d, respectively.
The routing information 21a to 21d includes the same tag information as the cache control unit 11 of the write-back cache 10 and a valid bit (V bit) indicating whether or not the routing entry is valid.

ルーティング情報21a〜21dは、ルーティング情報読み出し信号線5を使用して各マイクロプロセッサのルーティング情報読み出しレジスタ16に接続されており、任意のマイクロプロセッサによりシステム内の全てのマイクロプロセッサのキャッシュ状態を参照することができる。
なお、本実施形態におけるマルチプロセッサシステムは、従来公知のセット連想マッピング方式を適用した例であるが、これに限定されるものではなく、直接マッピング方式や完全連想マッピング方式等の他のマッピング方式に置き換えてもよい。
The routing information 21a to 21d is connected to the routing information read register 16 of each microprocessor using the routing information read signal line 5, and refers to the cache state of all the microprocessors in the system by any microprocessor. be able to.
The multiprocessor system in the present embodiment is an example in which a conventionally known set associative mapping method is applied, but is not limited to this, and other mapping methods such as a direct mapping method and a complete associative mapping method are used. It may be replaced.

次に、本実施形態のマルチプロセッサシステムの構成及び動作について、図1及び図2を参照してさらに詳細に説明する。
図1において、本実施形態のマルチプロセッサシステムは4つのマイクロプロセッサ1a〜1dで運用されているものとし、マイクロプロセッサ1aで障害が発生して、その障害処理をマイクロプロセッサ1bで行う場合を例に説明する。
Next, the configuration and operation of the multiprocessor system of this embodiment will be described in more detail with reference to FIGS.
In FIG. 1, it is assumed that the multiprocessor system of this embodiment is operated by four microprocessors 1a to 1d, and a failure occurs in the microprocessor 1a and the failure processing is performed by the microprocessor 1b. explain.

マイクロプロセッサ1aは、ライトバック・キャッシュ10を有しており、記憶装置3への書き込みを行うと、実アドレス空間30の特定のメモリブロック31をキャッシュする。
キャッシュされたメモリブロックはダーティ・ブロックと呼ばれ、他のマイクロプロセッサが同じ実アドレス空間へアクセスした場合には、マイクロプロセッサ1aのキャッシュ上のデータとの間で一致処理を行い、メモリの一貫性(コヒーレンシ)を保つよう動作する。
The microprocessor 1 a has a write-back cache 10 and caches a specific memory block 31 in the real address space 30 when writing to the storage device 3 is performed.
The cached memory block is called a dirty block, and when another microprocessor accesses the same real address space, it performs a matching process with the data in the cache of the microprocessor 1a, thereby making the memory consistent. Operates to maintain (coherency).

メモリの一貫性とは、メイン・メモリ(記憶装置3)や個々のプロセッサのキャッシュに散在するメモリの写しのうち、どこか一つに実体が存在し、この実体をメイン・メモリやキャッシュ間で転送しあって、最新の状態を保つ制御のことをいう。   Memory consistency means that there is an entity in a copy of the memory scattered in the main memory (storage device 3) or the cache of each processor, and this entity is transferred between the main memory and the cache. This is the control that keeps up-to-date by transferring data.

通常、動的切り離し機能を有するマルチプロセッサシステムでは、メモリの一貫性を保つため、マイクロプロセッサの切り離し時にキャッシュの内容をメモリに掃き出す機構を有する。
その一例がマイクロプロセッサのキャッシュ掃き出し命令である。キャッシュ掃き出し命令はマイクロプロセッサの障害処理ハンドラによる処理や、切り離し処理中に、ソフトウェア的に実行される。
Normally, a multiprocessor system having a dynamic detachment function has a mechanism for flushing the cache contents to the memory when the microprocessor is disconnected in order to maintain the consistency of the memory.
One example is a microprocessor cache flush instruction. The cache flush instruction is executed by software during the processing by the failure handler of the microprocessor or the disconnection processing.

例えば、マイクロプロセッサ1aでプロセッサがストールに至るような障害が発生し、マイクロプロセッサ1aの障害処理ハンドラが動作できない状態で停止したとする。
この状態で、マイクロプロセッサ1aを動的にシステムから切り離してしまうと、マイクロプロセッサ1aのキャッシュに取り残されたダーティ・ブロックはシステムから欠損した状態となり、メモリの一貫性を保つことができない。
そこで、本実施形態により、マイクロプロセッサのライトバック・キャッシュに取り残されたダーティ・ブロックをそのキャッシュから掃き出す手段を提供する。
For example, it is assumed that a failure that causes the processor to stall in the microprocessor 1a occurs and the failure processing handler of the microprocessor 1a stops in a state where it cannot operate.
In this state, if the microprocessor 1a is dynamically disconnected from the system, the dirty blocks left in the cache of the microprocessor 1a are lost from the system, and the consistency of the memory cannot be maintained.
Therefore, according to the present embodiment, a means for sweeping out dirty blocks left in the write-back cache of the microprocessor from the cache is provided.

具体的には、図2に示すように、ルーティング回路20に設けた全マイクロプロセッサのキャッシュ状態を管理するルーティング情報21a〜21dと、ルーティング回路のタグ情報及び有効ビットを任意のマイクロプロセッサにより読み出すルーティング情報読み出しレジスタ16と、読み出したタグ情報から任意のマイクロプロセッサのライトバック・キャッシュ内にキャッシュされている実アドレス空間を特定するマイクロプログラムと、キャッシュされた実アドレス空間を障害の発生していない他の健全なマイクロプロセッサにより読み出す(ダミー・リード)手段により、ダーティ・ブロックの掃き出し処理を実現している。   Specifically, as shown in FIG. 2, routing information 21a to 21d for managing the cache states of all the microprocessors provided in the routing circuit 20, and routing information for reading tag information and valid bits of the routing circuit by an arbitrary microprocessor. An information read register 16, a microprogram for identifying a real address space cached in a write-back cache of an arbitrary microprocessor based on the read tag information, and the cache real address space in which no failure has occurred Dirty block sweeping processing is realized by means of reading (dummy reading) by a healthy microprocessor.

健全なマイクロプロセッサはメモリバス4に対してダミー・リードを発行し、その実体が障害の発生したマイクロプロセッサのキャッシュにあればその障害の発生したマイクロプロセッサのキャッシュから、記憶装置上にあれば記憶装置から読み出し(転送)を行うことができる。   A sound microprocessor issues a dummy read to the memory bus 4 and if the entity is in the cache of the failed microprocessor, it stores from the cache of the failed microprocessor if it is on the storage device. Reading (transfer) from the device can be performed.

本実施形態では、記憶制御装置2におけるルーティング回路20のタグ情報から障害の発生したマイクロプロセッサのキャッシュにある情報のみを選択してダミー・リードすることができるため、記憶装置から読み出すことはなく、障害の発生したマイクロプロセッサのキャッシュから読み出しを行うことになる。   In this embodiment, since only the information in the cache of the failed microprocessor can be selected from the tag information of the routing circuit 20 in the storage control device 2 and dummy read can be performed, it is not read from the storage device. Reading from the cache of the failed microprocessor is performed.

また、ダミー・リードによって、データ転送は、障害の発生したマイクロプロセッサのキャッシュ制御部11→メモリバス4→健全なマイクロプロセッサのキャッシュ制御部11→健全なマイクロプロセッサの内部レジスタの経路で行われる。   Further, the data transfer is performed by the dummy read in the path of the cache control unit 11 of the failed microprocessor → the memory bus 4 → the cache control unit 11 of the healthy microprocessor → the internal register of the healthy microprocessor.

なお、上記マイクロプログラムの格納場所は、特に限定されないため、図2においては示していない。
すなわち、マイクロプログラムの格納場所はプラットフォームに依存する。制御プログラム(ファームウェア)をプロセッサに内蔵しているのであれば、プロセッサ内のRAMやROMに格納される。また、ハードディスクから読み込んだOSの一部としてメイン・メモリ(記憶装置)に格納することもできる。
The storage location of the microprogram is not particularly limited and is not shown in FIG.
That is, the storage location of the microprogram depends on the platform. If the control program (firmware) is built in the processor, it is stored in the RAM or ROM in the processor. It can also be stored in the main memory (storage device) as part of the OS read from the hard disk.

障害が発生する前、マイクロプロセッサ1aは以下の手順でメモリアクセスを行う。
まず、マイクロプロセッサ1aの演算器からのメモリアクセス情報は、仮想アドレスレジスタ15に格納される。
Before the failure occurs, the microprocessor 1a performs memory access according to the following procedure.
First, memory access information from the arithmetic unit of the microprocessor 1 a is stored in the virtual address register 15.

仮想アドレスレジスタ15の下位ビットは、ライン・フィールドを構成する。
この下位ビットは、キャッシュライン及び記憶装置3へのメモリアクセスサイズに相当し、このサイズを1つのブロックとしてデータの転送が行われる。
The lower bits of the virtual address register 15 constitute a line field.
This lower bit corresponds to the memory access size to the cache line and the storage device 3, and data transfer is performed with this size as one block.

仮想アドレスレジスタ15の上位ビットは、タグ・フィールドとインデックス・フィールドに分解される。
タグには記憶装置3の実アドレス空間の上位ビットが含まれ、データとともにキャッシュ制御部11に蓄えられる。
インデックスは、キャッシュ内のオフセットアドレスを示す。メモリのデータを参照する場合には、このインデックスを使ってキャッシュ内のラインにアクセスすることができる。
The upper bits of the virtual address register 15 are broken down into a tag field and an index field.
The tag includes the upper bits of the real address space of the storage device 3 and is stored in the cache control unit 11 together with the data.
The index indicates an offset address in the cache. When referring to memory data, this index can be used to access a line in the cache.

次に、キャッシュラインに付随するタグが読み出され、比較回路12により仮想アドレスレジスタ15のタグ・フィールドの値との比較が行われる。比較の結果、不一致(ミスヒット)の場合には、実アドレスレジスタ13を経由して記憶装置3へのアクセスが実行され、データの書き込みが行われる。   Next, the tag associated with the cache line is read, and the comparison circuit 12 compares the tag field with the value in the virtual address register 15. As a result of the comparison, if there is a mismatch (mishit), access to the storage device 3 is executed via the real address register 13 and data is written.

実アドレスレジスタ13の上位ビットは、仮想アドレスレジスタ15のタグ・フィールド及びキャッシュ制御部11のタグと同様、記憶装置3の実アドレス空間の上位ビットを示し、マイクロプロセッサ1aのメモリアクセスと同時に、記憶制御回路2のルーティング回路20中に設けたプロセッサ1aに対応するルーティング情報21aに格納される。
以上のような処理によって、マイクロプロセッサ1aのキャッシュ制御部11と記憶制御回路20のルーティング情報21aには、同一のタグ情報およびタグの有効ビット(Vビット)が記録される。
The high-order bits of the real address register 13 indicate the high-order bits of the real address space of the storage device 3 in the same way as the tag field of the virtual address register 15 and the tag of the cache control unit 11, and are stored simultaneously with the memory access of the microprocessor 1a. It is stored in routing information 21 a corresponding to the processor 1 a provided in the routing circuit 20 of the control circuit 2.
By the processing as described above, the same tag information and the valid bit (V bit) of the tag are recorded in the cache control unit 11 of the microprocessor 1a and the routing information 21a of the storage control circuit 20.

次に、マイクロプロセッサ1aで障害が発生すると、マイクロプロセッサ1aの障害は、障害通知割り込み信号線6を使用して他の健全なマイクロプロセッサ1bに通知される。
マイクロプロセッサ1bは、ルーティング情報読み出し信号線5を使用して、故障したマイクロプロセッサ1aのルーティング情報21aを、自己のルーティング情報読み出しレジスタ16に読み出す。
Next, when a failure occurs in the microprocessor 1a, the failure of the microprocessor 1a is notified to another healthy microprocessor 1b using the failure notification interrupt signal line 6.
The microprocessor 1 b uses the routing information read signal line 5 to read the routing information 21 a of the failed microprocessor 1 a into its own routing information read register 16.

マイクロプロセッサ1bはインデックスを可変しながら、すなわちタグを上から順番にチェックして、ルーティング情報21aのタグと有効ビットを検査し、マイクロプロセッサ1aのキャッシュが実アドレス空間のどのメモリブロックをキャッシュしているかを確認する。
タグ情報にはキャッシュされたメモリブロックの先頭アドレスが含まれており、実アドレス空間は、タグ値とインデックス値、及びメモリブロックサイズにもとづいて、メモリブロックの先頭アドレスからブロックサイズ分のメモリ空間として算出することができる。
The microprocessor 1b changes the index, that is, checks the tags in order from the top, checks the tag and the valid bit of the routing information 21a, and the cache of the microprocessor 1a caches which memory block in the real address space. Make sure that
The tag information includes the start address of the cached memory block, and the real address space is defined as the memory space for the block size from the start address of the memory block based on the tag value, the index value, and the memory block size. Can be calculated.

マイクロプロセッサ1bにおけるデータレジスタ14をデータ転送路として、上記の手順により算出した実アドレスに対して、ブロックサイズ分の読み出し(ダミー・リード)が実行される。
この処理によってマイクロプロセッサ1bと1aの間でキャッシュの一貫性が保たれ、マイクロプロセッサ1aのキャッシュに取り残されていたダーティ・ブロックは記憶装置3(実際はマイクロプロセッサ1bのキャッシュ)に掃き出されて、クリーンな状態となる。
Using the data register 14 in the microprocessor 1b as a data transfer path, a block size read (dummy read) is executed for the real address calculated by the above procedure.
This process maintains the cache consistency between the microprocessors 1b and 1a, and the dirty blocks left in the microprocessor 1a cache are swept out to the storage device 3 (actually the microprocessor 1b cache). It will be in a clean state.

マイクロプロセッサ1aは、全てのダーティ・ブロックがキャッシュから掃き出されることによって、システムから安全に切り離すことが可能になる。
なお、マイクロプロセッサの動的切り離し処理については活線挿抜処理等が著名であるが、当該処理は一般的な技術であり、その構成や仕組みは従来のものと同等であるためその説明は省略する。
The microprocessor 1a can be safely disconnected from the system by flushing all dirty blocks from the cache.
Note that hot-line insertion / removal processing and the like are well-known for the dynamic disconnection processing of the microprocessor, but the processing is a general technique, and the configuration and mechanism thereof are the same as the conventional one, so the description thereof is omitted. .

以上説明したように、本実施形態のマルチプロセッサシステムによれば、マイクロプロセッサにストールなどの障害が発生してライトバック・キャッシュにダーティ・ブロックが取り残され、BIOS等の制御プログラムが動作しない場合でも、キャッシュ制御部に障害が発生していない限り、他の健全なプロセッサにより障害の発生したプロセッサのキャッシュ掃き出し処理を実行することで、そのキャッシュ制御部からダーティ・ブロックを適切に掃き出すことができる。
このため、メモリの一貫を維持しつつ、障害の発生したプロセッサをシステムから安全に切り離すことができ、システムの可用性を向上させることが可能となる。
As described above, according to the multiprocessor system of this embodiment, even when a failure such as a stall occurs in the microprocessor, a dirty block is left in the write-back cache, and a control program such as BIOS does not operate. As long as there is no failure in the cache control unit, the dirty block can be appropriately swept out from the cache control unit by executing the cache flushing process of the processor in which the failure has occurred by another healthy processor.
For this reason, while maintaining the consistency of the memory, the failed processor can be safely separated from the system, and the availability of the system can be improved.

[第二実施形態]
次に、本発明の第二実施形態について、図3を参照して説明する。同図は、本実施形態のマルチプロセッサシステムの構成を示すブロック図である。
本実施形態は、マルチプロセッサシステムが記憶装置3を二以上有する点で第一実施形態と異なる。その他の点については、第一実施形態と同様であり、本実施形態のマルチプロセッサシステムにおけるマイクロプロセッサの障害処理手順についても第一実施形態と同様のものとすることができる。
[Second Embodiment]
Next, a second embodiment of the present invention will be described with reference to FIG. FIG. 2 is a block diagram showing the configuration of the multiprocessor system of this embodiment.
This embodiment is different from the first embodiment in that the multiprocessor system has two or more storage devices 3. The other points are the same as in the first embodiment, and the failure processing procedure of the microprocessor in the multiprocessor system of this embodiment can be the same as that in the first embodiment.

すなわち、本実施形態のマルチプロセッサシステムは、図3に示すように、実アドレス空間を複数台の記憶装置3でシェアする構成となっている。
本発明のマイクロプロセッサの障害処理方法は、このようなマルチプロセッサシステムについても、第一実施形態と同様に好適に用いることが可能である。
That is, the multiprocessor system of the present embodiment is configured to share the real address space among a plurality of storage devices 3 as shown in FIG.
The microprocessor fault processing method of the present invention can be suitably used for such a multiprocessor system as in the first embodiment.

本発明は、以上の実施形態に限定されるものではなく、本発明の範囲内において、種々の変更実施が可能であることは言うまでもない。
例えば、マイクロプロセッサ1aではなく、他のマイクロプロセッサ1b〜1dに障害が発生し、キャッシュの掃き出し処理をマイクロプロセッサ1a又は他のマイクロプロセッサ1b〜1dのうち障害の発生していないものが行う構成としたり、キャッシュの方式として直接マッピング方式や完全連想マッピング方式など他の方式を用いるなど適宜変更することが可能である。
It goes without saying that the present invention is not limited to the above embodiment, and that various modifications can be made within the scope of the present invention.
For example, a failure occurs not in the microprocessor 1a but in the other microprocessors 1b to 1d, and the cache flushing process is performed by the microprocessor 1a or the other microprocessors 1b to 1d in which no failure occurs. Or other methods such as a direct mapping method or a complete associative mapping method can be used as the cache method.

本発明は、マルチプロセッサシステムに障害が発生した場合に、システム全体を停止させることなく障害処理を行う必要性の高いマルチプロセッサシステムに好適に利用することが可能である。   INDUSTRIAL APPLICABILITY The present invention can be suitably used for a multiprocessor system that is highly required to perform fault processing without stopping the entire system when a fault occurs in the multiprocessor system.

本発明の第一実施形態のマルチプロセッサシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the multiprocessor system of 1st embodiment of this invention. 本発明の第一実施形態のマルチプロセッサシステムにおけるマイクロプロセッサとルーティング回路の構成を示すブロック図である。It is a block diagram which shows the structure of the microprocessor and routing circuit in the multiprocessor system of 1st embodiment of this invention. 本発明の第二実施形態のマルチプロセッサシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the multiprocessor system of 2nd embodiment of this invention.

符号の説明Explanation of symbols

1(1a,1b,1c,1d) マイクロプロセッサ
2 記憶制御装置
3(3−1,3−2,・・・,3−n) 記憶装置
4 メモリバス
5 ルーティング情報読み出し信号線
6 障害通知割り込み信号線
10 ライトバック・キャッシュ
11 キャッシュ制御部
12 比較回路
13 実アドレスレジスタ
14 データレジスタ
15 仮想アドレスレジスタ
16 ルーティング情報読み出しレジスタ
20 ルーティング回路
21(21a,21b,21c,21d) ルーティング情報
30 実アドレス空間
31 メモリブロック
1 (1a, 1b, 1c, 1d) Microprocessor 2 Storage controller 3 (3-1, 3-2,..., 3-n) Storage device 4 Memory bus 5 Routing information read signal line 6 Fault notification interrupt signal Line 10 Write-back cache 11 Cache control unit 12 Comparison circuit 13 Real address register 14 Data register 15 Virtual address register 16 Routing information read register 20 Routing circuit 21 (21a, 21b, 21c, 21d) Routing information 30 Real address space 31 Memory block

Claims (10)

ライトバック・キャッシュをそれぞれ備えた二以上のマイクロプロセッサを含むマルチプロセッサシステムであって、
全ての前記マイクロプロセッサのキャッシュ状態を記憶するルーティング回路と、
前記ルーティング回路に記憶されているタグ情報を読み出す手段と、
前記タグ情報にもとづいて、少なくともいずれかの前記マイクロプロセッサにおけるライトバック・キャッシュ内にキャッシュされている実アドレス空間を特定する手段と、
前記特定された実アドレス空間を、障害が発生していない他の健全な前記マイクロプロセッサにより読み出す手段と、を有する
ことを特徴とするマルチプロセッサシステム。
A multiprocessor system comprising two or more microprocessors each having a write-back cache,
A routing circuit for storing a cache state of all the microprocessors;
Means for reading tag information stored in the routing circuit;
Means for identifying a real address space cached in a write-back cache in at least one of the microprocessors based on the tag information;
Means for reading out the specified real address space by another healthy microprocessor in which no failure has occurred.
請求項1記載のマルチプロセッサシステムが記憶装置を備え、
前記各マイクロプロセッサが、それぞれのマイクロプロセッサにおける演算器からのメモリアクセス情報を格納する仮想アドレスレジスタを備え、
前記各マイクロプロセッサにおける前記ライトバック・キャッシュが、
前記記憶装置のデータの一部をキャッシュとして記憶し、仮想アドレス及び前記記憶装置における実アドレスに関連付けられたタグ情報、各キャッシュエントリが有効であるか否かを表す有効判別情報、及び前記キャッシュ上のデータへのマイクロプロセッサからの更新の有無を表す状態判別情報を記憶するキャッシュ制御部と、
前記キャッシュ制御部のタグ情報と前記仮想アドレスレジスタのタグ情報を比較する比較回路と、
前記比較の結果が不一致の場合、前記記憶装置上の実アドレス空間を指し示すアドレス情報を生成し、前記キャッシュ制御部のタグ情報を前記ルーティング回路に出力する実アドレスレジスタと、
前記キャッシュ上のデータ又は前記記憶装置のデータを一次格納し、前記特定された実アドレス空間の読み出し処理を行うデータレジスタと、を備えた
ことを特徴とするマルチプロセッサシステム。
The multiprocessor system according to claim 1, further comprising a storage device.
Each of the microprocessors includes a virtual address register for storing memory access information from a computing unit in each microprocessor;
The write-back cache in each microprocessor is
A part of the data in the storage device is stored as a cache, tag information associated with a virtual address and a real address in the storage device, validity determination information indicating whether each cache entry is valid, and on the cache A cache control unit that stores state determination information indicating whether or not the data from the microprocessor is updated,
A comparison circuit for comparing tag information of the cache control unit and tag information of the virtual address register;
If the result of the comparison does not match, address information indicating a real address space on the storage device is generated, and a real address register that outputs tag information of the cache control unit to the routing circuit;
A multiprocessor system, comprising: a data register that primarily stores data on the cache or data of the storage device and performs a read process of the specified real address space.
前記マイクロプロセッサのいずれかであり障害が発生していないマイクロプロセッサにより、前記特定された実アドレス空間を、前記マイクロプロセッサのいずれかであり障害が発生したマイクロプロセッサから読み出して、前記障害が発生していないマイクロプロセッサにおける前記キャッシュ制御部に記憶させる
ことを特徴とする請求項2記載のマルチプロセッサシステム。
The specified real address space is read from a microprocessor that has failed and is one of the microprocessors by any one of the microprocessors that has not failed, and the failure has occurred. The multiprocessor system according to claim 2, wherein the cache control unit is stored in a non-microprocessor.
前記マイクロプロセッサのいずれかであり障害が発生していないマイクロプロセッサにより、前記特定された実アドレス空間を、前記マイクロプロセッサのいずれかであり障害が発生したマイクロプロセッサから読み出して、前記記憶装置に記憶させる
ことを特徴とする請求項2記載のマルチプロセッサシステム。
The specified real address space is read from a microprocessor that has failed and is one of the microprocessors by any one of the microprocessors that has not failed, and is stored in the storage device. The multiprocessor system according to claim 2, wherein:
前記障害には、前記マイクロプロセッサのハードウェア故障及び前記マイクロプロセッサにおける処理を実行させるためのソフトウェアの処理異常が含まれ、かつ、前記キャッシュ制御部には、前記ハードウェア故障又はソフトウェアの処理異常のいずれの影響も及んでいない
ことを特徴とする請求項2〜4のいずれかに記載のマルチプロセッサシステム。
The failure includes a hardware failure of the microprocessor and a software processing abnormality for executing processing in the microprocessor, and the cache control unit includes a hardware failure or a software processing abnormality. The multiprocessor system according to claim 2, wherein none of the influences are exerted.
マルチプロセッサシステムを構成する、ライトバック・キャッシュを備えたマイクロプロセッサであって、
前記マルチプロセッサシステムにおける全てのマイクロプロセッサのキャッシュ状態を記憶するルーティング回路に記憶されているタグ情報を読み出す手段と、
前記タグ情報にもとづいて、少なくともいずれかの前記マイクロプロセッサにおけるライトバック・キャッシュ内にキャッシュされている実アドレス空間を特定する手段と、
障害が発生した他のマイクロプロセッサにおける、前記特定された実アドレス空間を、障害が発生していない当該マイクロプロセッサにより読み出す手段と、を備えた
ことを特徴とするマイクロプロセッサ。
A microprocessor with a write-back cache that constitutes a multiprocessor system,
Means for reading tag information stored in a routing circuit for storing cache states of all microprocessors in the multiprocessor system;
Means for identifying a real address space cached in a write-back cache in at least one of the microprocessors based on the tag information;
Means for reading out the specified real address space in another microprocessor in which a failure has occurred by means of the microprocessor in which a failure has not occurred.
前記マイクロプロセッサが、当該マイクロプロセッサにおける演算器からのメモリアクセス情報を格納する仮想アドレスレジスタを備え、
前記ライトバック・キャッシュが、
前記マルチプロセッサシステムにおける記憶装置のデータの一部をキャッシュとして記憶し、仮想アドレス及び前記記憶装置における実アドレスに関連付けられたタグ情報、各キャッシュエントリが有効であるか否かを表す有効判別情報、及び前記キャッシュ上のデータへのマイクロプロセッサからの更新の有無を表す状態判別情報を記憶するキャッシュ制御部と、
前記キャッシュ制御部のタグ情報と前記仮想アドレスレジスタのタグ情報を比較する比較回路と、
前記比較の結果が不一致の場合、前記記憶装置上の実アドレス空間を指し示すアドレス情報を生成し、前記キャッシュ制御部のタグ情報を前記ルーティング回路に出力する実アドレスレジスタと、
前記キャッシュ上のデータ又は前記記憶装置のデータを一次格納し、前記特定された実アドレス空間の読み出し処理を行うデータレジスタと、を備えた
ことを特徴とする請求項6記載のマイクロプロセッサ。
The microprocessor includes a virtual address register for storing memory access information from a computing unit in the microprocessor;
The write-back cache is
A part of data in the storage device in the multiprocessor system is stored as a cache, tag information associated with a virtual address and a real address in the storage device, validity determination information indicating whether each cache entry is valid, And a cache control unit for storing state determination information indicating whether or not the data on the cache is updated from the microprocessor;
A comparison circuit for comparing tag information of the cache control unit and tag information of the virtual address register;
If the result of the comparison does not match, the address information indicating the actual address space on the storage device is generated, and the tag information of the cache control unit is output to the routing circuit; and
The microprocessor according to claim 6, further comprising: a data register that temporarily stores data on the cache or data of the storage device and performs a read process of the specified real address space.
当該マイクロプロセッサにおける前記データレジスタにより、前記特定された実アドレス空間を、障害が発生した他のマイクロプロセッサから読み出して、当該マイクロプロセッサにおけるキャッシュ制御部に記憶させる
ことを特徴とする請求項7記載のマイクロプロセッサ。
8. The specified real address space is read from another failed microprocessor by the data register in the microprocessor and stored in a cache control unit in the microprocessor. Microprocessor.
マルチプロセッサシステムを構成する、ライトバック・キャッシュを備えたマイクロプロセッサの障害処理方法であって、
前記マルチプロセッサシステムにおけるルーティング回路に全ての前記マイクロプロセッサのキャッシュ状態を記憶し、
前記ルーティング回路に記憶されているタグ情報を読み出し、
前記タグ情報にもとづいて、前記マルチプロセッサシステムにおける少なくともいずれかの前記マイクロプロセッサのライトバック・キャッシュ内にキャッシュされている実アドレス空間を特定し、
前記特定された実アドレス空間を、障害が発生していない他の前記マイクロプロセッサにより読み出す
ことを特徴とするマイクロプロセッサの障害処理方法。
A method of handling a failure of a microprocessor having a write-back cache that constitutes a multiprocessor system,
Storing the cache state of all the microprocessors in a routing circuit in the multiprocessor system;
Read tag information stored in the routing circuit,
Based on the tag information, identify a real address space cached in a write-back cache of at least one of the microprocessors in the multiprocessor system;
A failure processing method for a microprocessor, wherein the specified real address space is read by another microprocessor in which no failure has occurred.
前記マイクロプロセッサにおける演算器からのメモリアクセス情報を仮想アドレスレジスタに格納し、
前記ライトバック・キャッシュに、前記マルチプロセッサシステムにおける記憶装置のデータの一部をキャッシュとして記憶させるとともに、仮想アドレス及び前記記憶装置における実アドレスに関連付けられたタグ情報、各キャッシュエントリが有効であるか否かを表す有効判別情報、及び前記キャッシュ上のデータへのマイクロプロセッサからの更新の有無を表す状態判別情報を記憶させ、
前記キャッシュ制御部のタグ情報と前記仮想アドレスレジスタのタグ情報を比較し、
前記比較の結果が不一致の場合、前記記憶装置上の実アドレス空間を指し示すアドレス情報を生成し、
前記記憶装置へのアクセスを実行するとともに、前記ルーティング回路に前記キャッシュ制御部のタグ情報を出力し、
前記マルチプロセッサシステムを構成する前記マイクロプロセッサのうちの少なくともいずれかにおいて障害が発生すると、障害が発生していないマイクロプロセッサが、前記ルーティング回路に記憶されているタグ情報を読み出し、
前記タグ情報にもとづいて、前記障害が発生したマイクロプロセッサにおけるライトバック・キャッシュ内にキャッシュされている実アドレス空間を特定し、
前記特定された実アドレス空間の読み出し処理を行う
ことを特徴とする請求項9記載のマイクロプロセッサの障害処理方法。
Storing memory access information from a computing unit in the microprocessor in a virtual address register;
A part of the data in the storage device in the multiprocessor system is stored as a cache in the write-back cache, and the tag information associated with the virtual address and the real address in the storage device, and whether each cache entry is valid Storing valid discrimination information indicating whether or not, and status determination information indicating whether or not the data on the cache is updated from the microprocessor,
Compare the tag information of the cache control unit and the tag information of the virtual address register,
If the result of the comparison does not match, generate address information indicating a real address space on the storage device,
While executing access to the storage device, the tag information of the cache control unit is output to the routing circuit,
When a failure occurs in at least one of the microprocessors constituting the multiprocessor system, the microprocessor in which no failure has occurred reads the tag information stored in the routing circuit,
Based on the tag information, the real address space cached in the write-back cache in the failed microprocessor is specified,
The failure processing method for a microprocessor according to claim 9, wherein the specified real address space is read.
JP2007289928A 2007-11-07 2007-11-07 Multiprocessor system, microprocessor, and microprocessor fault processing method Expired - Fee Related JP5163061B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007289928A JP5163061B2 (en) 2007-11-07 2007-11-07 Multiprocessor system, microprocessor, and microprocessor fault processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007289928A JP5163061B2 (en) 2007-11-07 2007-11-07 Multiprocessor system, microprocessor, and microprocessor fault processing method

Publications (2)

Publication Number Publication Date
JP2009116681A true JP2009116681A (en) 2009-05-28
JP5163061B2 JP5163061B2 (en) 2013-03-13

Family

ID=40783756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007289928A Expired - Fee Related JP5163061B2 (en) 2007-11-07 2007-11-07 Multiprocessor system, microprocessor, and microprocessor fault processing method

Country Status (1)

Country Link
JP (1) JP5163061B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017033384A (en) * 2015-08-04 2017-02-09 富士通株式会社 Information processing system, information processing method, information processing program and information processing device
CN116472512A (en) * 2020-11-11 2023-07-21 超威半导体公司 Enhanced endurance of a System On Chip (SOC)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6381547A (en) * 1986-09-25 1988-04-12 Fujitsu Ltd Cache memory access system
JPH0217550A (en) * 1988-07-06 1990-01-22 Nec Corp Trouble processing system for multiprocessor system
JPH02306349A (en) * 1989-05-19 1990-12-19 Fujitsu Ltd Main storage controller
JPH0667977A (en) * 1992-08-05 1994-03-11 Nec Corp Faulty system memory data transfer control system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6381547A (en) * 1986-09-25 1988-04-12 Fujitsu Ltd Cache memory access system
JPH0217550A (en) * 1988-07-06 1990-01-22 Nec Corp Trouble processing system for multiprocessor system
JPH02306349A (en) * 1989-05-19 1990-12-19 Fujitsu Ltd Main storage controller
JPH0667977A (en) * 1992-08-05 1994-03-11 Nec Corp Faulty system memory data transfer control system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017033384A (en) * 2015-08-04 2017-02-09 富士通株式会社 Information processing system, information processing method, information processing program and information processing device
CN116472512A (en) * 2020-11-11 2023-07-21 超威半导体公司 Enhanced endurance of a System On Chip (SOC)
JP7385083B2 (en) 2020-11-11 2023-11-21 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Enhanced durability for system-on-chip (SOC)

Also Published As

Publication number Publication date
JP5163061B2 (en) 2013-03-13

Similar Documents

Publication Publication Date Title
EP1763763B1 (en) Logging of level-two cache transactions into banks of the level-two cache for system rollback
US8190951B2 (en) Handling of errors in a data processing apparatus having a cache storage and a replicated address storage
US9058195B2 (en) Virtual machines failover
US7650467B2 (en) Coordination of multiprocessor operations with shared resources
US10514990B2 (en) Mission-critical computing architecture
US20080005504A1 (en) Global overflow method for virtualized transactional memory
JP2011134327A (en) Controlling memory redundancy in system
JPH0239254A (en) Data processing system and cash memory system therefor
US9436607B2 (en) Locking a cache line for write operations on a bus
US9519502B2 (en) Virtual machine backup
JP2007011580A (en) Information processing device
KR100406575B1 (en) Method and apparatus for tolerating unrecoverable errors in a multi-processor data processing system
US10482008B2 (en) Aligned variable reclamation
TW201432436A (en) Fault tolerance in a multi-core circuit
US6490668B2 (en) System and method for dynamically moving checksums to different memory locations
JP2009205362A (en) Computer apparatus, operation continuation method and program of the apparatus
JP2009129101A (en) Fault recovery system for information processor
JP5163061B2 (en) Multiprocessor system, microprocessor, and microprocessor fault processing method
WO2012137239A1 (en) Computer system
KR102376396B1 (en) Multi-core processor and cache management method thereof
US9436613B2 (en) Central processing unit, method for controlling central processing unit, and information processing apparatus
JPH07295883A (en) Information processor
JP2968484B2 (en) Multiprocessor computer and fault recovery method in multiprocessor computer
JP3833760B2 (en) Computer system and memory state restoration device
JP6583046B2 (en) Control device, information processing device, and information processing device control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120821

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121016

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: 20121120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121203

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

Free format text: PAYMENT UNTIL: 20151228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5163061

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees